15
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’avance Connu à l’avance La structure de contrôle itérative complète La structure de contrôle à condition d’arrêt

La Boucle Tantque

Embed Size (px)

DESCRIPTION

lycée pilote medenine

Citation preview

Page 1: La Boucle Tantque

L.P.M Chapitre N°3 Les structures de contrôle itératives

Dégager le traitement itératif Problèm

e

Nombre d’itération ??

Inconnu à l’avance Inconnu à l’avance Connu à l’avance Connu à l’avance

La structure de contrôle itérative complète

La structure de contrôle à condition d’arrêt

Page 2: La Boucle Tantque

La boucle Pour

Pour i de Vi à Vf faireTraitementFin Pour

Nombre d’itération : Connu à l’avance

For i:=Vi To Vf DoBeginTraitement ;End ;

For i:=Vi DOWNTO Vf DoBeginTraitement ;End ;

Type Du Compteur : Type Scalaire

La valeur du compteur , valeur initiale et la valeur finale intouchable dans la boucleNbre d’itérations (compteur Entier) = | vf – vi| +1 Nbre d’itérations (compteur caractère , booléen, TSE) = | ord(vf) – ord(vi)| +1

Page 3: La Boucle Tantque

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éenne init;

Repeat Traitement ; Until Condition(s);

Page 4: La Boucle Tantque

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;Repeatf:=f*n;n:=n-1;Until n=1 ;

Les Contenus Des Variables

f =n =

241

Page 5: La Boucle Tantque

i:= 1 ;// A Repeat// B Write(i);// Cuntil 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 ;Repeati:=i+1 ;Ok:= t[i]=x ;until (ok) or (i=n);

X = 5T |2|3|1|2|15]

X = 5T |2|3|5|2|15]

Ok = Faux

Ok = Vrai Vérifier d’existence de X dans T

Page 6: La Boucle Tantque

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 = bSinon 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

Page 7: La Boucle Tantque

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

Page 8: La Boucle Tantque

[Initialisation] Tant que Condition(s) Faire

Instruction 1Instruction 2

Instruction . . .

Instruction n

Fin Tant Que

Traitement itératif

Analyse & Algorithme

Page 9: La Boucle Tantque

Initialisation;

While Condition(s) DO

Instruction 1;Instruction 2;

Instruction . . .;

Instruction n;

End ;

En Pascal

BEGIN

Page 10: La Boucle Tantque

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 Tester La condition

Si la condition est fausse

Sortie de la boucle Sortie de la boucle

Faire

Page 11: La Boucle Tantque

N.B:

La délimitation de "Traitement" est faite naturellement par les 2 termes de la structure « Tant que » et « Fin tant que »

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.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 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.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.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)

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)

Page 12: La Boucle Tantque

Pour mieux Assimiler Tournage à la main d’une boucle Tant que

Ch := 'BAC MATH‘;CH1:='‘;While (pos(' ',ch) <> 0) DoBegin p:= pos(' ',ch); ch1:= copy(ch,1,p-1)+ ' ' + ch1; delete(ch,1,p);End;ch1:= ch + ' ' + ch1;Writeln(ch1);

ch ch1 pInitialisation

Condition =

Condition =

Varie

BAC MATH

Itération1 4Math BAC

FAUSSE

CH1 Math BAC

Rôle : Inverser une phrase

Page 13: La Boucle Tantque

Analyse : Activité 1

Page 14: La Boucle Tantque

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.

Page 15: La Boucle Tantque