Chapitre 4 Les Structures De Contrôles Itératives I. STRUCTURE ITÉRATIVE COMPLÈ
Chapitre 4 Les Structures De Contrôles Itératives I. STRUCTURE ITÉRATIVE COMPLÈTE : LA BOUCLE « POUR » 1 Activité Pré-analyse BUT : Afficher à l’écran la moyenne de la classe. La tâche de ce programme consiste à : 1) Répéter le traitement suivant : saisir dans un tableau de 10 éléments les moyennes de 10 élèves, d’ajouter la moyenne de chaque élève à la variable SOM. 2) Calculer MC SOM/10. Analyse Grille d’analyse NOM : MOY_CLASSE S L.D.E O.U 4 3 2 1 5 Résultat = Écrire ("La moyenne de la classe est : ", MC :5 :2) MC SOM/10 SOM = [ SOM0] Pour i de 1 à 10 répéter SOMSOM+ MOY[i] FinPour MOY= [ ] Pour i de 1 à 10 répéter MOY[i] = Donnée ("Saisir l'élément N° ",i) FinPour Fin MOY_CLASSE MC SOM i MOY Tableau de déclaration de nouveaux types TYPE TAB= tableau de nmax réels Tableau de déclaration des objets Objet Nature / Type MC SOM i MOY Réel Réel Entier. TAB - 1 - On se propose d’écrire un programme pascal intitulé MOY_CLASSE permettant de calculer et d’afficher la moyenne d’une classe de 10 élèves. Pour résoudre ce problème, on a déjà proposé de déclarer un tableau de 10 éléments pour saisir les moyennes au lieu d'utiliser 10 variables différentes. Mais nous avons vu aussi que la lecture d'un tableau se fait élément par élément, ce qui demande de répéter 10 fois l'écriture des instructions de lecture. Quelle est donc la solution ? On doit utiliser une structure répétitive pour réduire le nombre d'instructions de lecture. LYCEE DISCIPLINE : Informatique PROFESSEUR : Les Structures De Contrôles Les Structures De Contrôles Itératives Itératives Chapitre 4 Chapitre 4 Nmax est une constante = 10 Chapitre 4 Les Structures De Contrôles Itératives Algorithme 0) Début MOY_CLASSE 1) Pour i de 1 à 10 répéter Faire Ecrire ("Saisir l'élément N° ", i) Lire (MOY[i]) Fin Pour 2) SOM0 Pour i de 1 à 10 répéter SOMSOM+MOY[i] FinPour 3) MC SOM/10 4) Ecrire ("La moyenne de la classe est : ", MC :5 :2) 5) Fin MOY_CLASSE Traduction en Pascal PROGRAM MOY_CLASSE; USES WINCRT; CONST Nmax=10; TYPE TAB= ARRAY [1. .nmax] OF REAL; VAR MC: REAL; I: INTEGER; MOY: TAB; BEGIN FOR i: =1 TO 10 DO BEGIN WRITELN ('Saisir l'élément N° ',i); READLN (MOY[i]); END; SOM:= 0; FOR i: = 1 TO 10 DO BEGIN SOM := SOM+ MOY [i]; END; MC := SOM/10; WRITELN ('La moyenne de la classe est : ', MC :5 :2); END. - 2 - Chapitre 6 Les structures de contrôle itératives 2 Définition 3 Vocabulaire et syntaxe Au niveau de l’analyse et de l’algorithme Au niveau de Turbo Pascal [Init] Pour compteur de Vi à Vf Faire Instruction 1 Instruction 2 ….. Instruction N FinPour ...... ; {Init}; For compteur := Vi To Vf Do Begin Instruction 1 ; Instruction 2 ; ……..... ; Instruction N ; End ; Remarques : • Vi : Valeur initiale du compteur. • Vf : Valeur finale du compteur. • Le compteur doit être de type scalaire (Entier, caractère). • Le traitement de la boucle « Pour » s’arrête lorsque le compteur atteint la valeur finale (Vf). • Les instructions entre « Pour » et « FinPour » représentent le traitement à répéter. • Dans la boucle « Pour », le nombre de répétitions est fini. • Dans le cas où Vi > Vf, pour qu’il aura exécution du traitement de cette boucle, on utilise en Pascal « DOWNTO » au lieu de « TO » Exemple : For i := 8 Downto 2 Do … OU For i := 2 to 8 Do … • A chaque répétition, le compteur de la boucle sera automatiquement - Incrémenté (augmenté) d’une unité si Vi < Vf - Décrémenté (retranché) d’une unité si Vi > Vf II. STRUCTURE ITÉRATIVE A CONDITION D’ARRÊT 1 La boucle « Répéter » a /Activité Pré-analyse BUT : Afficher à l’écran la moyenne de la classe. La tâche de ce programme consiste à: 1) Répéter le traitement suivant : Remplir le tableau Moy par des moyennes entre 0 et 20. Si la moyenne saisie ne vérifie pas la condition (0<=moy<=20), alors le programme redemande la saisie et ainsi de suite jusqu’à ce qu’une bonne valeur soit donnée. Parcourir le tableau MOY élément par élément, ajouter la moyenne de chaque élève à la variable SOM. - 3 - Un résultat a une structure itérative complète si le nombre de répétition est connu à l’avance. On se propose d’écrire un programme Pascal intitulé MOY_CLASSE permettant de calculer et d’afficher la moyenne d’une classe de 10 élèves. La moyenne des élèves varie entre 0 et 20. Chapitre 6 Les structures de contrôle itératives 2) Calculer MC SOM/10. Analyse Grille d’analyse NOM : MOY_CLASSE S L.D.E O.U 4 3 2 1 5 Résultat = Écrire ("La moyenne de la classe est : ", MC :5 :2) MC SOM/10 SOM = [ SOM0] Pour i de 1 à 10 répéter SOMSOM+MOY[i] FinPour MOY= [ ] Pour i de 1 à 10 répéter MOY= [ ] Répéter MOY[i] = Donnée ("Saisir l'élément N° ",i) Jusqu’à (MOY[i]>=0) ET (MOY[i] <=20) FinPour Fin MOY_CLASSE MC SOM i MOY Tableau de déclaration de nouveaux types TYPE TAB= tableau de nmax réels Tableau de déclaration des objets Objet Nature / Type MC SOM i MOY Réel Réel Entier. TAB Algorithme 0) Début MOY_CLASSE 1) Pour i de 1 à 10 répéter Répéter Ecrire ("Saisir l'élément N° ",i) Lire (MOY[i]) Jusqu’à (MOY[i]>=0) ET (MOY[i] <=20) FinPour 2) SOM0 Pour i de 1 à 10 répéter SOMSOM+MOY[i] FinPour 3) MC SOM/10 4) Ecrire ("La moyenne de la classe est : ", MC :5 :2) 5) Fin MOY_CLASSE - 4 - Nmax est une constante = 10 Chapitre 6 Les structures de contrôle itératives Traduction en Pascal PROGRAM MOY_CLASSE; USES WINCRT; CONST Nmax=10; TYPE TAB= ARRAY[1. .nmax] OF REAL; VAR MC : REAL ; i : INTEGER; MOY : TAB; BEGIN FOR i :=1 TO 10 DO BEGIN Repeat WRITELN ('Saisir l'élément N° ',i); READLN (MOY[i]) ; Until (MOY[i]>=0) AND (MOY[i] <=20); END; SOM:= 0; FOR i := 1 TO 10 DO BEGIN SOM := SOM+ MOY [i] END; MC := SOM/10; WRITELN ('La moyenne de la classe est : ', MC :5 :2); END. a / Définition b /Vocabulaire et syntaxe Au niveau de l’analyse et de l’algorithme Au niveau de Turbo Pascal [Init] Répéter Instruction 1 Instruction 2 ….. Instruction N Jusqu’à Condition ...... ; {Init}; Repeat Instruction 1 ; Instruction 2 ; ….. ; Instruction N ; - 5 - Un résultat a une structure itérative à condition d’arrêt (Répéter) si le nombre de répétition n’est pas connu à l’avance et l’action devance la condition. Dans cette boucle, les instructions du traitement seront tout d’abord exécutées puis la condition sera évaluée. Si la condition est VRAI alors le traitement de la boucle ne se répète plus (la boucle s’arrête) sinon ce traitement sera de nouveau exécuté et ainsi de suite. Chapitre 6 Les structures de contrôle itératives Until Condition ; c / Application Pré-analyse BUT : Afficher à l’écran le factoriel de N. La tâche de ce programme consiste à: 1) Saisir un entier N en faisant un contrôle. Si N n’est pas positif alors le programme redemande la saisie et ainsi de suite jusqu’à ce qu’une bonne valeur soit donnée. 2) Tester N : Si N= 1, alors Fact1, Si N>1 , alors Fact N*(N-1)*(N-2)*…*1 Analyse Grille d’analyse NOM : Factorielle S L.D.E O.U 3 1 2 4 Résultat = Écrire (N, " != ", Fact) N= [ ] Répéter N = Donnée ("Taper un entier") Jusqu’à (N>=0) Fact = [ ] Si N= 0 alors Fact1 Sinon [Fact1] Pour i de N à 1 répéter FactFact*i FinPour Finsi Fin Factorielle N Fact i Tableau de déclaration des objets Objet Nature / Type N Fact i Entier. Entier. Entier. Algorithme 0) Début Factorielle 1) Répéter Ecrire ("Taper un entier ") Lire (N) Jusqu’à (N>=0) 2) Si N= 0 alors Fact1 Sinon Fact1 - 6 - Ecrire un programme Pascal intitulé Factorielle permettant de calculer et d’afficher le factoriel d’un entier N positif. Exemple : N= 4 N != 4*3*2*1=24. Chapitre 6 Les structures de contrôle itératives Pour i de N à 1 répéter FactFact*i FinPour Finsi 3) Écrire (N, " != ", Fact) 4) Fin Factorielle Traduction en Pascal PROGRAM Factorielle; USES WINCRT; VAR N,Fact,i : INTEGER; BEGIN Repeat WRITELN ('Taper un entier '); READLN (N) ; Until (N>=0); IF N=0 THEN Fact:= 1 ELSE BEGIN Fact:= 1; FOR i := 1 TO N DO BEGIN Fact := Fact*i; END; END; WRITELN (N, ' != ', Fact); END. 2 La boucle « Tant que » a /Activité Pré-analyse BUT : Afficher à l’écran la somme d’une série d’entiers positifs La tâche de ce programme consiste à répéter la saisie d’une série d’entiers positifs, d’ajouter l’entier saisi à la variable SOM tant que on n’a pas uploads/Management/ ch4-structure-de-controle-iteratives.pdf
Documents similaires










-
34
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 07, 2023
- Catégorie Management
- Langue French
- Taille du fichier 0.1726MB