le langage C 3
10 Recherche rapide dans un tableau trié
Écrivez un programme permettant de rechercher rapidement une valeur dans un tableau. Le programme
devra générer aléatoirement le tableau (taille et contenu), puis il utilisera le tri à bulle pour le trier et enfin,
il recherchera la valeur demandée par l’utilisateur dans le tableau.
La recherche devra être effectuée par dichotomie en exploitant le fait que les valeurs soient triées.
1. vous décomposerez l’algorithme en fonctions élémentaires (génération des tableaux, tri puis re-
cherche)
2. vous commencerez par les différents algorithme sous forme d’organigrammes
3. puis vous les traduirez en langage C
11 Multiplication matricielle
Écrivez un programme qui effectue la multiplication de deux matrices Aet B. Le résultat de la multi-
plication sera mémorisé dans une troisième matrice Cqui sera ensuite affichée.
Pour mémoire, en multipliant une matrice Ade dimensions net mavec une matrice Bde dimensions
met pon obtient une matrice Cde dimensions net p:
A(n, m)×B(m, p) = C(n, p)
La multiplication de deux matrices se fait en multipliant les composantes des deux matrices lignes par
colonnes :
ci,j =
k=m
X
k=1
(ai,k ×bk,j )
1. vous décomposerez l’algorithme en fonctions élémentaires (création des matrices, affichage des ma-
trices, produit matriciel)
2. vous commencerez par les différents algorithme sous forme d’organigrammes
3. puis vous les traduirez en langage C
12 Palindrome
L’objectif de déterminer si un mot est ou non un palindrome (mot qui peut se lire dans les deux sens).
Voici quelques exemples de palindromes : kayak, été, laval, elle, serres, erre, . . .
Écrivez une fonction qui prend en paramètre un tableau et renvoie vrai si le contenu du tableau est un
palindrome.
1. vous commencerez par écrire l’algorithme sous forme d’organigrammes
2. puis vous le traduirez en langage C
13 Quelques statistiques
Écrivez un programme qui demande à l’utilisateur de taper un texte au clavier puis qui calcule quelques
statistiques élémentaires sur ce texte :
– Lettre la plus (resp. moins) fréquente
– Nombre de lettres minuscules (resp. majuscules)
– Nombre de caractères non alphabétiques (chiffres, ponctuations, ...)
– Nombre de mots (un mot étant défini comme une chaîne de caractères situés entre deux espaces ou
ponctuations)
– Longueur moyenne des mots
1. vous décomposerez l’algorithme en autant de fonctions élémentaires que nécessaires
2. vous commencerez par les différents algorithme sous forme d’organigrammes
3. puis vous les traduirez en langage C