Algorithme et Langage C TDI 1*" Année 26/00/2011
Série d’exercices (n° 2)
Algorithme et Langage C
Exercice 1 : Que falt 'algorithme suivant ? Cet algorithme contient trols erraurs, corriger-les et renemmer les variables
biden et bidon2 avec des noms de variables plus signficatifs. Cet algorithme n'est pas valable pour toutes les valeurs,
pouvez-vous laméllorer ?
Var Bidont : Tableau (10) Entier
Bidon2 : Tableau (10) Entier
i entier
Debut
POUR | :=1 a 10 FAIRE
Afficher (*Saisir une valeur entiére :")
Lire (Bidont ()))
Bidon2 (i) := 1/Bidont (i)
FINPOUR POUR j := 1.8 10 FAIRE
aficher (*valeur de la", |, "ieme posttion de bidon2 :*, Bidon2 (1)
FINPOUR
FIN
Exercice 2 : Terminer 'agorithme ci-dessous de maniere a ce quill :
t Caicule et affiche la moyenne des notes de la classe obtenues dans un tableau Note tontenant 20 réels.
2. Determine et affiche la meilleure et la plus mauvaise note.
3
Var Note : Tableau (20) Réel
I entier
Debut
820 FAIRE
aicr la", i "me nate
Lire( Note (i)
FINPOUR.
Fin
Exercice 3:
Debut
N=3
Variables i, s, t(n) : entler
Pour I=1 an
Lire tq)
Finpour
Tantque Isa faire
Ecrire (« Saisir un entier »)
tre t(0)
et
fintantque
s=0
pour I=1 an
s=s+1
Ecrire s
Finpour
Fin
Le programme devrait permettre de saisir des nombres entiers dans un tableau de dimension n, et de faire ensuite la
somme de ces entiers et I'aficher a l'écran,
Datecter les erreurs qui empéchent ce programme de tourner.
Exetcice 4 : Ecrire un programme qui demande a Iutlisateur de taper 10 entlers compris entre 0 et 20 qul seront
stockés dans un tableau et qulaffiche le nombre de fots qu'on a tapé un 0, le nombre de 4, le nombre de 2, .., le
nombre de 20.
Exercice 5 : Considérons un tableau numérique « T > de N éléments, et un deuxieme tableau numérique « V » de M
elements. Concevoir un programme qui permet de poser les éléments des deux tableaux dans un troisieme tableau
numérique « R » de telle facon a I'avoirtrié en ordre croissant.
Exercice 6: Ecrire un programme de faire le tri dans ordre croissant et décrolssant et décrotssant c’une matrice de
taille NxM,
Exercice 7: Ecrire un algorithme permettant dinitaliser un tableau d'entiars de tallle N (N est connu et fixe) des trois
facons suivantes, successivement.
‘Abdellah HARCHT Page sur 4Algorithme et Langage C TDI 1*" Année 26/00/2011
Exercice @ + Les points cols d'un tableau & deux dimensions sont les éléments du tableau qui sont maximum sur leur
ligne et minimum sur leur colonne; ou minimum sur leur ligne et maximum sur leur calanne.
Ecrire la procédure qui:
4. Regolt une ligne et retourne la valeur du maximum et la case od elle existe,
2. Recoit le numéro de colonne du maximum retrouvé, et retourne un booléen "vrai" dans le cas od Il est minimum sur
sa colonne et "faux" dans le cas contraire
3. Regolt une ligne et retourne la valeur du minimum et ia case od alle existe.
4, Regait le nombre de colonne du minimum retrouvé, et retourne un booléen "vrat" dans le cas oi il est maximum sur
sa colonne ct "faux" dans le cas contralre
5. Ecrire le programme principal qui recherche dans un tableau @ deux dimensions les points cols en utlisant les
procedures précédentes.
Exercice 9 : Chaque éleve d'une classe s'est vu attribuer dix notes correspondant a dix matiéres (une nate fictive égale
3-1 correspond 4 une absence lors de I'épreuve de contréle). A chacune de ces matiéres correspond un coefficient.
(On suppose que le nombre d'éleves ne dépasse pas 50.
Pour tous les calculs de moyenne, on ne tient pas compte des absences,
= On ne calcule a moyenne effective d'un éleve que s'll a été présent au moins a un controle
- On note par -1 la moyenne d'un éléve absent 8 tous les contrdles.
Nous allons utiliser un tableau NOTE de 50 lignes et 50 colonnes. Chaque ligne correspond a un élevey'et chaque
colonne & une matiére. Le tableau MOY de 50 lignes permet de stocker ia moyenne de chaque éléve. On utilise un
‘tableau COEF de 10 lignes, dans lequel on stocke le coefficient de chaque matiére.
ordre dans COEF correspond 8 ordre des colonnes de NOTE: par exemple si la premiére,colonne de NOTE correspond
aux notes de mathématique, on doit trouver en COEF(4) le coefficient mathématique.
Ecrire un algorithme qui permettrait de calculer:
1. La moyenne de chaque éleve.
2. La moyenne generale de la classe
3. Pour chaque matiere, la moyenne de Ie classe et le pourcentage d'absentéisme,
Exercice 10 : Soit un tableau T de 10 entiers,
T-Ectire l'algorithme qui permet de remplir les k premieres cases du tableau (k <= 10)
2 Ecrire Falgorithme qui permet diinserer un zéro @ la premiere case du tableau aprés avoir décalé les
elements du tableau T dune case.
3+ Ecrire lalgorithme qui permet d'inserer p (p >= 1) zeros en tete du tableau T.
Exercice 11: Une sockté commercialise 50 produits dans 3 magasins diférents
(On desire faire les statistiques de ventes annuelles. Pour cela, on utilise trois tableaux : Vi(i), V2(i) et V3)
représentant respectivement la quantite vendue dans l'année dui" produit dans les magasins 1, 2 et 3
etude consiste a etablir les algorithmes suivants.
1) Procedure de saisie au clavier de toutes les données (remplissage des tableaux de quantités vendues V1,
V2et V3.
2). Procedure de calcul de la quantité totale vendue tout produit, tout magasin réunis.
3) Procédure de caicul de la quantité totale vendue par produit, tout magasin réunis. Stocker cas résultats
dans un tableau M.
4) Procédure de calcul de la quantité totale vendue par magasin, tout produtt réunis. Stocker ces résultats
dans un tableau P.
5). Procedure de calcul pour chaque prodult la moyenne vendue. Stocker ces résultats dans un tableau Y.
6) Procédure d’édition des résultats suivants, pour chaque produit : Numéro produit, quantité totale vendue
et moyenne vendue.
7) Pracédure d’archivage és résultats dans un fichier « PRODUITS » et qui va contenir pour tous les
produits : les numéros, les quantités totales vendues.
Exercice 12 : Statistiques AVION
Déclarar 4 Tableaux eftmémoira avec la structure Sulvante
‘Avion (CodeAVION Vitesse Croisiere Rayon Tadtion
BOING77, BO ‘300 10000
‘AIRBUSAIEO AB. 950 12000
LeaRIETa5 v. 700. 4500
Dc10. De ‘900 ‘3000
‘ANTONGWS2 AN 560. 2500
(CONCORDE CO. 1400 16000
1) Demander Le Code avion
Rechercher en table et afficher "erreur" sl non trouvé
Afficher san nom, sa vitesse, son Rayon d'action
2) afficher la moyenne des rayons d'action
3) afficher lavion qui vole le plus vite
Exercice: Les tris
Dans tous les exercices qui suivent on étudle différents algorithmes permettant de trier un tableau de 10 entiers.
Afin diexpliquer les algorithmes, on prendra en exemple le tableau sulvant =
5210 125623855323
‘Abdellah HARCHT Page 2sur 4Algorithme et Langage C TDI 1*" Année 26/00/2011
Exercice 13: Le tri par sélection
Le premier algorithme auquel on pense pour effectuer ce tri est celul-cl
on cherche le plus patit élément du tableau et on le place en ter , puls on cherche le plus petit dans ce qui reste et on le
met en second , ete.
25623855323
25 623855323,
2562.6 55323
256285523
0.25 62.55.23
2 25 62 55 23
13 52 25 62 55
3 25 52 62 55
3 25 52 62 55
3 25 52 55 62
Exercice 14:1
Le tr bulle est un tr plus astucleux. son principe est de faire remonter petit petit un élément trop grand vers le haut
du tableau en comparant les éléments deux deux. Si élément de gauche est supérieur a son voisin de droite on les
Inverse et on continue avec le suivant. Lorsque l'on est en haut du tableau on repart au début et on s'atréte lorsque tous
les éléments sont bien places.
5210 125623855323
1052 1.25 62 3855323
10 152.25 623853323
10 1.25 52.62 3855. 3.23
10 1.25 52.62 3855323
1012552 362.855 3.23,
10 1.25 52 386255323
10 1.2552 385562323
101 25 52 3855 3.6223
10 1.25 52 3855 3.2302
On a parcouru tous le tableau, on recommence, Jusqu’a ce que tout soit bien place
Ecrire 'algorithme qui réalise ce tri.
Exercice 15 ite tri par permutation
Le tri par permutation est le tri du jeu de cartes,
On parcourt le tableau jusqu'a ce que l'on trouve un element plus petit que le precedent, donc mal place. On prend cet
element et on le range a sa place dans le tableau puts on continue la lecture. On s'arréte a la fin du tableau,
52 10 1.25 6238 55 323
Exercice 16 : Le tri par comptage
Le trl par comptage consiste pour chaque élément du tableau 4 compter comblen d'éléments sont plus petits que lul,
grace 4 ce chiffre on connalt sa position dans le tableau résultat
52101 2562285522
Nombre 7406913815
Position 85171024926
1338.10 23 25 5255.62,
Exercice 17: Le tri alphabétique
Le programme consiste @ saisir des mots (au maximum 10) de 20 caracteres maximum et de les insérer dans un tableau
dans ordre alphabétique. Puis d'afficher ensuite ce tableau
Le tableau résultat est du type TABLEAU CAR [10,20].
Ecrire le programme du jeu du pendu.
Le principe est le suivant
Un premier joueur cholsit un mot de moins de 10 lettres.
Le programme affiche — avec un _ par lettre
Le deuxieme joueur props tres jusqula ce quill ait trouvé le mot ou qu'll solt pendu (11 erreurs commises).
‘A-chaque proposition le programme reaffiche le mot avec les lettres découvertes ainsi que les lettres deja annoncees et
le nombre derreurs.
Cet algorithme permet daffcher progressivement la liste des nombres premiers inférieurs & une valeur donnée: MAX.
Pour ce faire on construit un tableau de MAX éléments, vide au départ, que l'on parcourt
‘Abdellah HARCHT Page 3 sur 4