L.P.M Chapitre N 3 Les structures de contrôle itératives
Dégager le traitement itératif
Problème
Nombre d’itération ??
Inc...
La boucle
Pour
Pour i de Vi à Vf faire
Traitement
Fin Pour
Nombre d’itération : Connu à l’avance
For i:=Vi To Vf Do
Begin
...
La boucle
Répéter
[init]
Répéter
Traitement
Jusqu’ Condition(s)
Nombre d’itération : Inconnu à l’avance
Nombre d’itération...
La boucle Répéter init;
Repeat
Traitement ;
Until Condition(s);
i:=0;
Repeat
i:=2*i+1 ;
until i > 7 ;
Nombre d’itérations ...
i:= 1 ;
// A
Repeat
// B
Write(i);
// C
until i > 5 ;
Où faut-il augmenter la variable i de 1
pour que cette boucle affich...
Activité 1
Ecrire un programme qui permet d’afficher le PGCD de deux entiers donnés
a et b (avec a*b >0 et a > 0)
Principe...
Constatations
Le Traitement Itératif Si a > b alors a a-b
Sinon b  b-a
Le nombre d’itérations Inconnu à l’avance
Le nomb...
[Initialisation] Tant que Condition(s) Faire
Instruction 1
Instruction 2
Instruction . . .
Instruction n
Fin Tant Que
Trai...
Initialisation;
While Condition(s) DO
Instruction 1;
Instruction 2;
Instruction . . .;
Instruction n;
End ;
En Pascal
BEGIN
Exécution de la boucle Tant que
Tant que
Si la condition
est vraie
Fin Tant que
Ré-tester la
condition
Exécution du traite...
N.B:
La délimitation de "Traitement" est faite naturellement
par les 2 termes de la structure « Tant que » et « Fin
tant q...
Pour mieux Assimiler
Tournage à la main d’une boucle Tant que
Ch := 'BAC MATH‘;
CH1:='‘;
While (pos(' ',ch) <> 0) Do
Begin...
Analyse : Activité 1
Applications
On se propose de déterminer le PGCD de deux entiers naturels m
et n. Principe de Division : Si n MOD M = 0 al...
La Boucle Tantque
Prochain SlideShare
Chargement dans…5
×

La Boucle Tantque

1 432 vues

Publié le

lycée pilote medenine

Publié dans : Formation
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 432
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
167
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

La Boucle Tantque

  1. 1. L.P.M Chapitre N 3 Les structures de contrôle itératives Dégager le traitement itératif Problème Nombre d’itération ?? Inconnu à l’avanceConnu à l’avance La structure de contrôle itérative complète La structure de contrôle à condition d’arrêt
  2. 2. La boucle Pour Pour i de Vi à Vf faire Traitement Fin Pour Nombre d’itération : Connu à l’avance For i:=Vi To Vf Do Begin Traitement ; End ; For i:=Vi DOWNTO Vf Do Begin Traitement ; End ; Type Du Compteur : Type Scalaire La valeur du compteur , valeur initiale et la valeur finale intouchable dans la boucle Nbre d’itérations (compteur Entier) = | vf – vi| +1 Nbre d’itérations (compteur caractère , booléen, TSE) = | ord(vf) – ord(vi)| +1
  3. 3. La boucle Répéter [init] Répéter Traitement Jusqu’ Condition(s) Nombre d’itération : Inconnu à l’avance Nombre d’itération Minimal : 1 La présence d’une instruction pour modifier l’état de condition est obligatoire La condition = Expression Booléenneinit; Repeat Traitement ; Until Condition(s);
  4. 4. La boucle Répéter init; Repeat Traitement ; Until Condition(s); i:=0; Repeat i:=2*i+1 ; until i > 7 ; Nombre d’itérations ? Ahlem Assala Dhekra Fadi Hamdi Hassan Marwan Nader Naji Hanen Oumayma Oussama Samar Souheil Yasmine3 f:=1 ;n:=4; Repeat f:=f*n; n:=n-1; Until n=1 ; Les Contenus Des Variables f = n = 24 1
  5. 5. i:= 1 ; // A Repeat // B Write(i); // C until i > 5 ; Où faut-il augmenter la variable i de 1 pour que cette boucle affiche 1 2 3 4 5 Ahlem Assala Dhekra Fadi Hamdi Hassan Marwan Nader Naji Hanen Oumayma Oussama Samar Souheil Yasmine i:= i + 1 ; Rôle Du Programme i:= 0 ; Repeat i:=i+1 ; Ok:= t[i]=x ; until (ok) or (i=n); X = 5 T |2|3|1|2|15] X = 5 T |2|3|5|2|15] Ok = Faux Ok = Vrai Vérifier d’existence de X dans T
  6. 6. Activité 1 Ecrire un programme qui permet d’afficher le PGCD de deux entiers donnés a et b (avec a*b >0 et a > 0) Principe : Si a <> b alors PGCD(a,b) = Si b > a PGCD(a , b-a) Sinon PGCD (a-b,b) Répéter le même traitement jusqu’à a = b Sinon PCGD = a ( ou b ) Exemple 1 : A = 12 , B= 4 PGCD (12 , 4 ) = PGCD(8,4) = PGCD (4,4) = 4 Exemple 2 : A = 13 , B= 13 A = B alors PGCD = 13 Le Traitement Itératif Si a > b alors a a-b Sinon b  b-a Le nombre d’itérations 2 Le Traitement Itératif Si a > b alors a a-b Sinon b  b-a Le nombre d’itérations 0
  7. 7. Constatations Le Traitement Itératif Si a > b alors a a-b Sinon b  b-a Le nombre d’itérations Inconnu à l’avance Le nombre d’itérations Minimal 0
  8. 8. [Initialisation] Tant que Condition(s) Faire Instruction 1 Instruction 2 Instruction . . . Instruction n Fin Tant Que Traitement itératif Analyse & Algorithme
  9. 9. Initialisation; While Condition(s) DO Instruction 1; Instruction 2; Instruction . . .; Instruction n; End ; En Pascal BEGIN
  10. 10. Exécution de la boucle Tant que Tant que Si la condition est vraie Fin Tant que Ré-tester la condition Exécution du traitement Tester La condition Si la condition est fausse Sortie de la boucle Faire
  11. 11. N.B: La délimitation de "Traitement" est faite naturellement par les 2 termes de la structure « Tant que » et « Fin tant que » La condition est évaluée avant de l’entrée dans la boucle. Condition d'arrêt est une expression booléenne  Condition d’entrée Il doit y avoir une action dans le <Traitement> qui modifie la valeur de la condition. On exécute le corps de la boucle tant que la condition est vari. Si l'expression booléenne (condition ) est fausse dès le début, le traitement n'est jamais exécutée (nombre d’itération minimal =0)
  12. 12. Pour mieux Assimiler Tournage à la main d’une boucle Tant que Ch := 'BAC MATH‘; CH1:='‘; While (pos(' ',ch) <> 0) Do Begin p:= pos(' ',ch); ch1:= copy(ch,1,p-1)+ ' ' + ch1; delete(ch,1,p); End; ch1:= ch + ' ' + ch1; Writeln(ch1); ch ch1 p Initialisation Condition = Condition = Varie BAC MATH Itération1 4Math BAC FAUSSE CH1 Math BAC Rôle : Inverser une phrase
  13. 13. Analyse : Activité 1
  14. 14. Applications On se propose de déterminer le PGCD de deux entiers naturels m et n. Principe de Division : Si n MOD M = 0 alors pgcd = b Sinon on remplace a par b et b par a mod b On se propose de déterminer le PPCM de deux entiers naturels m et n. Ecrire un programme Pascal qui permet de calculer le PPCM Ecrire un programme Pascal qui permet d’afficher les nombres premiers < = N (n entier donné ) Ecrire un programme Pascal permettant de décomposer un entier N donné (2 ≤ N ≤ 100) en produit de facteurs premiers et d'afficher N et le produit de ses facteurs trouvés. Exemple : Si n = 60 alors on affiche 60 = 2*2*3*5.

×