Vous êtes sur la page 1sur 21

Les Boucles

Exercice 1 : Ecrire un algorithme qui demande lutilisateur un nombre compris entre 1 et 3 jusqu ce que la rponse convienne. Exercice 2 : Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu ce que la rponse convienne. En cas de rponse suprieure 20, on fera apparatre un message : Plus petit ! , et inversement, Plus grand ! si le nombre est infrieur 10. Exercice 3: Ecrire un algorithme qui demande un nombre de dpart, et qui ensuite affiche les dix nombres suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme affichera les nombres de 18 27 Exercice 4: Ecrire un algorithme qui demande un nombre de dpart, et qui ensuite crit la table de multiplication de ce nombre, prsente comme suit (cas o l'utilisateur entre le nombre 7) : Table de 7 : 7x1=7 7 x 2 = 14 7 x 3 = 21 7 x 10 = 70 Exercice 5 : Ecrire un algorithme qui demande un nombre de dpart, et qui calcule la somme des entiers jusqu ce nombre. Par exemple, si lon entre 5, le programme doit calculer : 1 + 2 + 3 + 4 + 5 = 15 NB : on souhaite afficher uniquement le rsultat, pas la dcomposition du calcul Exercice 6 : Ecrire un algorithme qui demande un nombre de dpart, et qui calcule sa factorielle. NB : la factorielle de 8, note 8 !, vaut 1x2x3x4x5x6x7x8 Exercice 7 : Ecrire un algorithme qui demande successivement 20 nombres lutilisateur, et qui lui dise ensuite quel tait le plus grand parmi ces 20 nombres : Entrez le nombre numro 1 : 12 Entrez le nombre numro 2 : 14 etc. Entrez le nombre numro 20 : 6 Le plus grand de ces nombres est : 14 Modifiez ensuite lalgorithme pour que le programme affiche de surcrot en quelle position avait t saisie ce nombre : Ctait le nombre numro 2 Exercice :8 Rcrire lalgorithme prcdent, mais cette fois-ci on ne connat pas davance combien lutilisateur souhaite saisir de nombres. La saisie des nombres sarrte lorsque lutilisateur entre un zro. Exercice :9 Lire la suite des prix (en euros entiers et termine par zro) des achats dun client. Calculer la

somme quil doit, lire la somme quil paye, et simuler la remise de la monnaie en affichant les textes "10 Euros", "5 Euros" et "1 Euro" autant de fois quil y a de coupures de chaque sorte rendre. Exercice 10 : crire un algorithme qui permette de connatre ses chances de gagner au tierc, quart, quint et autres impts volontaires. On demande lutilisateur le nombre de chevaux partants, et le nombre de chevaux jous. Les deux messages affichs devront tre : Dans lordre : une chance sur X de gagner Dans le dsordre : une chance sur Y de gagner X et Y nous sont donns par la formule suivante, si n est le nombre de chevaux partants et p le nombre de chevaux jous (on rappelle que le signe ! signifie "factorielle", comme dans l'exercice 5.6 ci-dessus) : X = n ! / (n - p) ! Y = n ! / (p ! * (n p) !) NB : cet algorithme peut tre crit dune manire simple, mais relativement peu performante. Ses performances peuvent tre singulirement augmentes par une petite astuce. Vous commencerez par crire la manire la plus simple, puis vous identifierez le problme, et crirez une deuxime version permettant de le rsoudre. Algo Exo 5_1 Variable A : Rel Dbut Tant Que A < 1 OU A> 3 faire Afficher " donner une valeur comprise entre 1 et 3" Lire A Fin Tant Que Fin Algo Exo 5_2 Variable N : Entier Dbut N=0 Aficher "Donner un nombre entre 10 et 20" TantQue N < 10 ou N > 20 faire Lire N Si N < 10 Alors Afficher"Plus grand !" SinonSi N > 20 Alors Afficher"Plus petit !" FinSi FinTantQue Fin Algo Exo 5_3 Variables N, i : Entier Dbut Lire"donner un nombre : N"

Afficher "Les 10 nombres suivants sont : " Pour i = N + 1 N + 10 faire Afficher i Fin pour i Fin Algo Exo 5_4 Variables, i : Entier Dbut Afficher "Entrez un nombre : "Lire i Pour i = 1 10 faire " 7* " , i, "= " 7*i fin pour i Fin

Algo Exo 5_5 Variables N, i, Som : Entier Debut Afficher "donner un nombre :" Lire N Som =0 Pour i = 1 N faire Som = Som + i Fin pour i Aficher "La somme est : ", Som Fin Algo Exo 5_6 Variables N, i, F : Entier Debut Afficher "donner un nombre : " Lire N F=1 Pour i = 2 N faire F=F*i Fin pour i Afficher "La factorielle est : ", F Fin Algo Exo 5_7 Variables N, i, PG en Entier Debut PG = 0 Pour i = 1 20 faire Afficher "donner un nombre : " Lire N Si i = 1 ou N > PG Alors

PG = N Fin Si fin pour i Afficher "Le nombre le plus grand tait : ", PG Fin Algo Exo 5_8 Variables N, i, PG, IPG en Entier Debut N=1 i=0 PG = 0 TantQue N <> 0 faire Aficher "donner un nombre : " Lire N i=i+1 Si i = 1 ou N > PG Alors PG = N IPG = i FinSi FinTantQue Afficher "Le nombre le plus grand tait : ", PG Afficher "Il a t saisi en position numro ", IPG Fin Algo Exo 5_9 Variables E, somdue, M, Reste, Nb10E, Nb5E En Entier. Debut E =1 somdue =0 TantQue E <> 0 faire Afficher "donner le montant : " Lire E somdue =somdue + E FinTantQue Afficher "Vous devez :", somdue, " euros" Afficher "Montant vers :" Lire M Reste =M - somdue Nb10E =0 TantQue Reste >= 10 faire Nb10E =Nb10E + 1 Reste = Reste 10 FinTantQue Nb5E =0 Si Reste = 5 Nb5E = 1 Reste = Reste 5 FinSi Afficher "Rendu de la monnaie :"

Afficher "Billets de 10 E : ", Nb10E Afficher "Billets de 5 E : ", Nb5E Afficher "Pices de 1 E : ", reste Fin Algo Exo 5_10 Variables N, P, i, Num, Dno1, Dno2 en Entier Debut Afficher "Entrez le nombre de chevaux partants : " Lire N Afficher "Entrez le nombre de chevaux jous : " Lire P Num =1 Pour i = 2 N Num =Num * i Fin pour i Dno1 = 1 Pour i=2 N-P faire Dno1 =Dno1 * i Fin pour i Dno2 = 1 Pour i =2 P faire Dno2 = Dno2 * i Fin pour i Afficher "Dans lordre, une chance sur ", Num / Dno1 Afficher "Dans le dsordre, une sur ", Num / (Dno1 * Dno2) Fin

les tableaux
Exercice 6.1 Ecrire un algorithme qui dclare et remplisse un tableau de 7 valeurs numriques en les mettant toutes zro. Exercice 6.2 Ecrire un algorithme qui dclare et remplisse un tableau contenant les six voyelles de lalphabet latin. Exercice 6.3 Ecrire un algorithme qui dclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs par lutilisateur Exercice 6.4 Que produit lalgorithme suivant ? Tableau Nb(5) en Entier Variable i en Entier Dbut Pour i ? 0 5 Nb(i) ? i * i

i suivant Pour i ? 0 5 Ecrire Nb(i) i suivant Fin Peut-on simplifier cet algorithme avec le mme rsultat ? Exercice 6.5 Que produit lalgorithme suivant ? Tableau N(6) en Entier Variables i, k en Entier Dbut N(0) ? 1 Pour k ? 1 6 N(k) ? N(k-1) + 2 k Suivant Pour i ? 0 6 Ecrire N(i) i suivant Fin Peut-on simplifier cet algorithme avec le mme rsultat ? Exercice 6.6 Que produit lalgorithme suivant ? Tableau Suite(7) en Entier Variable i en Entier Dbut Suite(0) ? 1 Suite(1) ? 1 Pour i ? 2 7 Suite(i) ? Suite(i-1) + Suite(i-2) i suivant Pour i ? 0 7 Ecrire Suite(i) i suivant Fin Exercice 6.7 Ecrivez la fin de lalgorithme 6.3 afin que le calcul de la moyenne des notes soit effectu et affich lcran. Exercice 6.8 Ecrivez un algorithme permettant lutilisateur de saisir un nombre quelconque de valeurs, qui devront tre stockes dans un tableau. Lutilisateur doit donc commencer par entrer le nombre de valeurs quil compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie termine, le programme affichera le nombre de valeurs ngatives et le nombre de valeurs positives Exercice 6.9 Ecrivez un algorithme calculant la somme des valeurs dun tableau (on suppose que le tableau a t pralablement saisi). Exercice 6.10 Ecrivez un algorithme constituant un tableau, partir de deux tableaux de mme longueur

pralablement saisis. Le nouveau tableau sera la somme des lments des deux tableaux de dpart. Tableau 1 : 48791546 Tableau 2 : 76521374 Tableau constituer : 11 14 12 11 2 8 11 10 Exercice 6.11 Toujours partir de deux tableaux prcdemment saisis, crivez un algorithme qui calcule le schtroumpf des deux tableaux. Pour calculer le schtroumpf, il faut multiplier chaque lment du tableau 1 par chaque lment du tableau 2, et additionner le tout. Par exemple si l'on a : Tableau 1 : 4 8 7 12 Tableau 2 : 36 Le Schtroumpf sera : 3 * 4 + 3 * 8 + 3 * 7 + 3 * 12 + 6 * 4 + 6 * 8 + 6 * 7 + 6 * 12 = 279 Exercice 6.12 Ecrivez un algorithme qui permette la saisie dun nombre quelconque de valeurs, sur le principe de lex 6.8. Toutes les valeurs doivent tre ensuite augmentes de 1, et le nouveau tableau sera affich lcran Exercice 6.13 Ecrivez un algorithme permettant, toujours sur le mme principe, lutilisateur de saisir un nombre dtermin de valeurs. Le programme, une fois la saisie termine, renvoie la plus grande valeur en prcisant quelle position elle occupe dans le tableau. On prendra soin deffectuer la saisie dans un premier temps, et la recherche de la plus grande valeur du tableau dans un second temps. Exercice 6.14 Toujours et encore sur le mme principe, crivez un algorithme permettant, lutilisateur de saisir les notes d'une classe. Le programme, une fois la saisie termine, renvoie le nombre de ces notes suprieures la moyenne de la classe. Algo Exo 6_1 Variable :Tableau T(6) : entier Variable :i : entier Dbut Pour i = 0 6 faire T (i) =0 fin pour i Fin

Algo Exo 6_2 Variable : Tableau T:(6): Caractre Dbut T(1) = "a"

T(2) = "e" T(3) = "i" T(4) = "o" T(5) = "u" T(6) = "y" Fin

Algo Exo 6_3 Variable :Tableau Notes(9) : Numrique Variable i : entier Pour i = 1 9 faire Afficher "Entrez la note numro ", i + 1 Lire Notes(i) fin pour i Fin Cest un algorithme qui remplit un tableau avec six valeurs : 0, 1, 4, 9, 16, 25 Explication : T(0)=0. T(1)=1*1=1. T(2)=2*2=4. T(3)=3*3=9. T(4)=4*4=16. T(5)=5*5=25. Il les crit ensuite lcran. Simplification : Algo Exo 6_4 Variable : Tableau T(6) :Numrique Variable i : Numrique Dbut Pour i = 1 6 faire T(i) = i * i Afficher T(i) fin pour i Fin

Cest un algorithme qui un tableau avec les sept valeurs : 1, 3, 5, 7, 9, 11, 13. Explication : N(0)=1. N(1)=N(1-1)+2=N(0)+2=2. N(2)=N(2-1)+2=N(1)+2=3. N(3)=N(3-1)+2=N(2)+2=5. N(4)=N(4-1)+2=N(3)+2=7. N(5)=N(5-1)+2=N(4)+2=9. N(6)=N(6-1)+2=N(5)+2=11. N(7)=N(7-1)+2=N(6)+2=13.

Il les crit ensuite lcran. Simplification : Algo Exo 6_5 Variable :Tableau N(6) : entier Variables i, k : entier Dbut N(0) = 1 Pour k = 1 6 faire N(k) = N(k-1) + 2 fin pour k Fin Cest un algorithme qui remplit un tableau de 8 valeurs : 1, 1, 2, 3, 5, 8, 13, 21 Explication : Suite(0) = 1. Suite(1) = 1. Suite(2) = Suite(2-1) + Suite(2-2)=1+1=2. Suite(3) = Suite(3-1) + Suite(3-2)=2+1=3. Suite(4) = Suite(4-1) + Suite(4-2)=3+2=5. Suite(5) = Suite(5-1) + Suite(5-2)=5+3=8. Suite(6) = Suite(6-1) + Suite(6-2)=8+5=13. Suite(7) = Suite(7-1) + Suite(7-2)=13+8=21. Il les crit ensuite lcran. Simplification : Algo Exo 6_6 Variable : Tableau Suite(7) :Entier Variable i : Entier Dbut Suite(0) = 1 Suite(1) = 1 Pour i = 2 7 faire Suite(i) = Suite(i-1) + Suite(i-2) fin pour i Pour i = 0 7 faire Afficher Suite(i) fin pour i Fin

Algo Exo 6_7 Variable: S : entier Tableau Notes(8) : entier Debut S= 0 Pour i = 0 8 faire Afficher "Entrez la note n ", i + 1 Lire Notes(i) S = S + Notes(i) fin pour i Afficher "Moyenne :", S/9 Fin

Algo Exo 6_8 Variables :Nb, Nbpos, Nbneg : Numrique variable :Tableau T() : Numrique Dbut Afficher "Entrez le nombre de valeurs :" Lire Nb Nbpos = 0 Nbneg = 0 Pour i = 1 Nb faire Afficher "Entrez le nombre n ", i + 1 Lire T(i) Si T(i) > 0 alors Nbpos = Nbpos + 1 Sinon Nbneg = Nbneg + 1 Fin si fin pour i Afficher "Nombre de valeurs positives : ", Nbpos Afficher "Nombre de valeurs ngatives : ", Nbneg Redim T(Nb-1) Fin

Algo Exo 6_9 Variables i, Som, N : entier variable :Tableau T() :entier Debut Som = 0 Pour i = 1 N faire Som = Som + T(i) fin pour i Afficher "Somme des lments du tableau : ", Som Redim T(N-1) Fin

Algo Exo 6_10 Variables i, N : Numrique variables : Tableaux T1(8), T2(8), T3(8) : entier Dbut Afficher ("donner le nombre d lement N") Lire(N) Pour i = 1 N Afficher("donner lement T1(",i,")") Lire T1(i) fin pour i Pour i = 1 N faire Afficher("donner lement T2(",i,")")

Lire T2(i) fin pour i Pour i = 1 N faire T3(i)= T1(i) + T2(i) fin pour i Pour i = 1 N faire Afficher (T3(i)) Fin

Algo Exo 6_11 Variables :i, j, N1, N2, S : Numrique Tableaux T1(), T2() : Numrique Dbut S=0 Pour i = 0 N1 1 faire Pour j = 0 N2 1 faire S = S + T1(i) * T2(j) fin pour j fin pour i Afficher "Le schtroumpf est : ", S Fin

Algo Exo 6_12 Variables :Nb, i : entier variable :Tableau T() : entier Dbut Afficher "Entrez le nombre de valeurs : " Lire Nb Pour i = 0 Nb - 1 Afficher "Entrez le nombre n ", i + 1 Lire T(i) fin pour i Afficher "Nouveau tableau : " Pour i = 0 Nb 1 T(i) = T(i) + 1 Afficher T(i) fin pour i Redim T(Nb-1) Fin

Algo Exo 6_13 Variables Nb, Posmaxi : Numrique variable : Tableau T () : Numrique Afficher "Entrez le nombre de valeurs :" Lire Nb Pour i = 0 Nb 1 faire Afficher "Entrez le nombre n ", i + 1

Lire T(i) fin pour i Posmaxi = 0 Pour i = 0 Nb 1 faire Si T(i) > T(Posmaxi) alors Posmaxi = i Finsi fin pour i Afficher "Elment le plus grand : ", T(Posmaxi) Afficher "Position de cet lment : ", Posmaxi Redim T(Nb-1) Fin

Algo Exo 6_14 Variables Nb, i, Som, Moy, Nbsup :Numrique variable :Tableau T() : Numrique Debut Afficher "Entrez le nombre de notes saisir : " Lire Nb Pour i = 0 Nb 1 faire Afficher "Entrez le nombre n ", i + 1 Lire T(i) fin pour i Som = 0 Pour i = 0 Nb - 1 Som = Som + T(i) fin pouri Moy = Som / Nb NbSup = 0 Pour i=0 Nb - 1 Si T(i) > Moy Alors NbSup = NbSup + 1 FinSi fin pour i Afficher NbSup, " lves dpassent la moyenne de la classe" Redim T(Nb-1) Fin

les Tableaux Multi


Exercice 8.1 crivez un algorithme remplissant un tableau de 6 sur 13, avec des zros. Exercice 8.2 Quel rsultat produira cet algorithme ? Tableau X(1, 2) en Entier Variables i, j, val en Entier Dbut

Val = 1 Pour i = 0 1 faire Pour j = 0 2 faire X(i, j) = Val Val = Val + 1 fin pour j fin pour i Pour i = 0 1 faire Pour j = 0 2 faire Afficher X(i, j) fin pour j fin pour i Fin Exercice 8.3 Quel rsultat produira cet algorithme ? Tableau X(1, 2) en Entier Variables i, j, val en Entier Dbut Val = 1 Pour i = 0 1 faire Pour j = 0 2 faire X(i, j) = Val Val = Val + 1 fin pourj Fin pour i Pour j = 0 2 faire Pour i = 0 1 faire Afficher X(i, j) fin pour j Fin Exercice 8.4 Quel rsultat produira cet algorithme ? Tableau T(3, 1) en Entier Variables k, m, en Entier Dbut Pour k = 0 3 faire Pour m = 0 1 faire T(k, m) == k + m fin pour m fin pour k Pour k = 0 3 faire Pour m = 0 1 faire Afficher T(k, m) fin pour m fin pour k Fin Exercice 8.5 Mmes questions, en remplaant la ligne : T(k, m) = k + m par

T(k, m) = 2 * k + (m + 1) puis par : T(k, m) = (k + 1) + 4 * m Exercice 8.6 Soit un tableau T deux dimensions (12, 8) pralablement rempli de valeurs numriques. crire un algorithme qui recherche la plus grande valeur au sein de ce tableau Algo Exo 8_1 variable Tableau T (5, 12) : Entier Dbut Pour i =0 5 faire Pour j = 0 12 faire T (i, j) = 0 fin pour j fin pour i Fin Cet algorithme remplit un tableau de la manire suivante: X(0, 0) = 1. X(0, 1) = 2. X(0, 2) = 3. X(1, 0) = 4. X(1, 1) = 5. X(1, 2) = 6. Cet algorithme remplit un tableau de la manire suivante: X(0, 0) = 1 X(1, 0) = 4 X(0, 1) = 2 X(1, 1) = 5 X(0, 2) = 3 X(1, 2) = 6 Cet algorithme remplit un tableau de la manire suivante: T(0, 0) = 0 T(0, 1) = 1 T(1, 0) = 1 T(1, 1) = 2 T(2, 0) = 2 T(2, 1) = 3 T(3, 0) = 3 T(3, 1) = 4 Version a : cet algorithme remplit un tableau de la manire suivante: T(0, 0) = 1 T(0, 1) = 2

T(1, 0) = 3 T(1, 1) = 4 T(2, 0) = 5 T(2, 1) = 6 T(3, 0) = 7 T(3, 1) = 8 Il crit ensuite ces valeurs lcran, dans cet ordre. Version b : cet algorithme remplit un tableau de la manire suivante: T(0, 0) = 1 T(0, 1) = 5 T(1, 0) = 2 T(1, 1) = 6 T(2, 0) = 3 T(2, 1) = 7 T(3, 0) = 4 T(3, 1) = 8 Il crit ensuite ces valeurs lcran, dans cet ordre. Algo Exo 8_6 Variables i, j , posi, posj, i2, j2 : Entier Variables Correct, MoveOK : Boolen variable Tableau Damier(7, 7) : Boolen variable Mouv(3, 1) : Entier Debut Choix 0 : pion en haut droite Mouv(0, 0) = -1 Mouv(0, 1) = -1 Choix 1 : pion en haut droite Mouv(1, 0) = -1 Mouv(1, 1) = 1 Choix 2 : pion en bas gauche Mouv(2, 0) = 1 Mouv(2, 1) = -1 Choix 3 : pion en bas droite Mouv(3, 0) = 1 Mouv(3, 1) = 1 Pour i = 0 7 Pour j = 0 7 Damier(i, j) = Faux fin pour j Fin pour i Correct = Faux TantQue Non Correct faire Afficher "Entrez la ligne de votre pion: " Lire posi Si posi >= 0 et posi <= 7 Alors Correct = vrai Finsi Fintantque Correct = Faux TantQue Non Correct faire

Afficher "Entrez la colonne de votre pion: " Lire posj Si posj >= 0 et posj <= 7 Alors Correct = Vrai Finsi Fin tantque Damier(posi, posj) = Vrai Afficher "Quel dplacement ?" Afficher " - 0: en haut gauche" Afficher " - 1: en haut droite" Afficher " - 2: en bas gauche" Afficher " - 3: en bas droite" Correct = Faux TantQue Non Correct Lire Dep Si Dep >= 0 et Dep <= 3 Alors Correct = Vrai FinSi FinTantQue i2 = posi + Mouv(Dep, 0) j2 = posj + Mouv(Dep, 1) MoveOK = i2 >= 0 et i2 <= 7 et j2 >= 0 et j2 <= 7 Si MoveOK Alors Damier(posi, posj) = Faux Damier(i2, j2) = Vrai Pour i = 0 7 faire Pour j = 0 7 faire Si Damier(i, j) Alors Afficher " O "; Sinon Afficher " X "; FinSi fin pour j Afficher "" fin pour i Sinon Afficher "Mouvement impossible" FinSi Fin

Les Fonctions
Exercice.1 crivez une fonction qui renvoie la somme de cinq nombres fournis en argument. Exercice.2 crivez une fonction qui renvoie le nombre de voyelles contenues dans une chane de caractres passe en argument. Au passage, notez qu'une fonction a tout fait le droit d'appeler une autre fonction.

Exercice.3 Rcrivez la fonction Trouve, vue prcdemment, laide des fonctions Mid et Len (comme quoi, Trouve, la diffrence de Mid et Len, nest pas une fonction indispensable dans un langage). Algo Exo 11_1 Fonction Somme (A:entier, B:entier,C:entier,D:entier,E :entier) :entier var : Som:entier Dbut Som=A +B +C +D + E Renvoyer Som Fin Algo Exo 11_2 Fonction Trouve(a :entier, b :entier) :entier. Variable i : Numrique Dbut i=1 TantQue i < Len(a) - Len(b) et b <> Mid(a, i, Len(b)) faire i=i+1 Fin TantQue Si b <> Mid(a, i, Len(b)) Alors Renvoyer 0 Sinon Renvoyer i Fin Algo Exo 11_3 Fonction Trouve(a : Numrique, b : Numrique) : Numrique Variable i : Numrique Dbut i =1 TantQue i < Len(a) - Len(b) et b <> Mid(a, i, Len(b)) faire i=i+1 Fin TantQue Si b <> Mid(a, i, Len(b)) Alors Renvoyer 0 Sinon Renvoyer i Fin

Techniques Rusee_Tableaux
Exercice7.1 Ecrivez un algorithme qui permette de saisir un nombre quelconque de valeurs, et qui les range au fur et mesure dans un tableau. Le programme, une fois la saisie termine, doit dire si les lments du tableau sont tous conscutifs ou non.

Par exemple, si le tableau est : 12 13 14 15 16 17 18. ses lments sont tous conscutifs. En revanche, si le tableau est : 9 10 11 15 16 17 18. ses lments ne sont pas tous conscutifs. Exercice7.2 Ecrivez un algorithme qui trie un tableau dans lordre dcroissant. Vous crirez bien entendu deux versions de cet algorithme, l'une employant le tri par insertion, l'autre le tri bulles. Exercice7.3 Ecrivez un algorithme qui inverse lordre des lments dun tableau dont on suppose qu'il a t pralablement saisi ( les premiers seront les derniers ) Exercice7.4 Ecrivez un algorithme qui permette lutilisateur de supprimer une valeur dun tableau pralablement saisi. Lutilisateur donnera lindice de la valeur quil souhaite supprimer. Attention, il ne sagit pas de remettre une valeur zro, mais bel et bien de la supprimer du tableau lui-mme ! Si le tableau de dpart tait : 12 8 4 45 64 9 2 Et que lutilisateur souhaite supprimer la valeur dindice 4, le nouveau tableau sera : 12 8 4 45 9 2 Exercice7.5 Ecrivez l'algorithme qui recherche un mot saisi au clavier dans un dictionnaire. Le dictionnaire est suppos tre cod dans un tableau pralablement rempli et tri. Algo Exo 7_1 Variable Tableau T(8) : Entier Variables N, i : Entier Variable Flag : Booleen Debut Afficher"Donner le nombre de valeurs :" Lire N Redim T(N-1) Pour i = 0 N 1 faire Afficher "Entrez le nombre n ", i + 1 Lire T(i) fin pour i Flag = Vrai Pour i = 1 N - 1 faire Si T(i) <> T(i 1) + 1 Alors Flag = Faux Fin Si Si Flag Alors Afficher "Les nombres sont conscutifs" Sinon Afficher "Les nombres ne sont pas conscutifs" Fin Si Fin

Algo Exo 7_2 Variables N,j, i : Entier Variable posmaxi : Rel Tableau T() : Entier Dbut Pour i = 0 N 2 faire posmaxi = i Pour j = i + 1 N 1 faire Si t(j) > t(posmaxi) alors posmaxi = j Finsi Fin pour j temp = t(posmaxi) t(posmaxi) = t(i) t(i) =temp fin pour i Fin Algo Exo 7_3 Variables N, i : Entier Variable Temp : Rel Tableau R() : Entier Dbut Pour i = 0 (N-1)/2 faire Temp = R(i) R(i)= R(N-1-i) R(N-1-i) =Temp fin pour i Fin Algo Exo 7_4 Variables N, i ,Pos : Entier Tableau T(8) : Entier Dbut Afficher "Donner la position " Lire Pos Afficher"Donner le nombre lement " Lire N Pour i = 1 N faire Afficher"Donner lement t(i) " Lire (t(i)) fin pour i pour i=Pos N faire t(i)=t(i+1) fin pour i Fin Algo Exo 7_5 Variables Sup, Inf, Comp,M : Entier

Variables Fini : Boolen Dbut Afficher "Entrez le mot vrifier" Lire M Sup = N - 1 Inf = 0 Fini = Faux Tant Que Non Fini faire Comp =(Sup + Inf)/2 Si M < Dico(Comp) Alors Sup = Comp - 1 Sinon Inf = Comp + 1 FinSi Fini = M = Dico(Comp) ou Sup < Inf FinTantQue Si M = Dico(Comp) Alors Afficher"le mot existe" Sinon Afficher "Il n'existe pas" Finsi Fin

Les Fichiers
Programme notes_stagiaire Type tstagaire : enregistrement num : entier note 1 : rel note 2 :rel fin enregistrement tnote : enregistrement num : entier note 1 : rel note 2 :rel moy : rel classement : entier fin enregistrement Var stgaire_fichier : fichier squentiel du tstagiaire moystg : fichier squentiel du tnote stagiaire : tstagiaire note : tnote T[1... N] : tnote N, i ,R : entier rep : caractre Dbut ouvrir stgaire_fichier en criture afficher "donnez le nombre des stagiaire" lire ( N ) Rpter afficher "donnez le num"

lire stagiaire.num afficher "donnez le nom" lire stagiaire.nom afficher "donnez le nom" lire stagiaire.nom afficher "donnez le prnom" lire stagiaire.prnom afficher"autre stagiaire ?(O/N)" lire rep afficher(stgaire_fichier,stagiaire) Jusqu' rep <> O fermer stgaire_fichier ouvrir moystg en criture afficher "donnez le num" lire note.num afficher "donnez la note 1 " lire note.note 1 afficher "donnez la note 2" lire note.note 2 note.moy = (note.note 1 + note.note2 )/2 afficher"le moyenne de ce stagiaire est :",note.moy pour i = 1 N Si T[i].moy < T[i +1].moy Alors v = T[i] T[i] =T[i +1] T[i +1] = R fin Si T[1].classement = 1 sinon Si T[i].moy < >T[i - 1].moy Alors T[i].classement = i + 1 T[i].classement = T[i -1].classement fin Si fin pour i pour i = 1 N Si stagiaire.num = note.num Alors afficher(stgaire_fichier,stagiaire) afficher(moystg,note) fermer moystg fin

http://satdevo.0fees.net/T1.html