Chapitre 4 Les structures de contrôle itératives Leçon 1 " La

publicité
Chapitre 4
Les structures de contrôle itératives
Leçon 1
" La structure de contrôle itératives complètes "
Activité :
Ecrire un programme qui calcule et affiche la somme de 5
Analyse
Grille d'analyse
Nom : somme
Résultat = Écrire (la somme est =, " S)
S= [S  0]
Pour i de 1 à 5 faire
Lire (N)
SS+N
Fin pour
Fin Somme
T.D.O
Objets
Nature / type
N
Var / entier
S
Var / entier
i
Var / entier
entiers
Algorithme
0) Début somme
1) S  0
Pour i de 1 à 5 faire
Lire (N)
SS+N
Fin pour
2) écrire (la somme est =, " S)
3) Fin Somme
Rôle
Saisi une valeur
Pour contenir la somme
Compteur
1) Définition :
Une structure itérative est dite complète s’il y a une répétition d’une suite d’instructions de nombre fini et
connu à l’avance
2) Vocabulaire et syntaxe:
Notation Algorithmique
[initialisation]
Pour compteur de Vi à Vf faire
Instruction 1
Instruction 2
…
…
Instruction n
Fin Pour
Notation Pascal
[initialisation]
For compteur := Vi
Begin
Instruction
Instruction
… ;
Instruction
End ;
to Vf do
1;
2;
n ;
Remarque:
 Le compteur doit être de type scalaire (entier, caractère,....)
Exemple : Si on a un tableau a affiché contenant 5 éléments de type entier
Pour i de 1 à 5 Faire
Écrire (T[i])
Fin Pour
Pour i de ‘a’ à ‘e’ Faire
Écrire (T[i])
Fin Pour
 Si on a un tableau a affiché contenant 5 éléments de type entier dans l'ordre inverse
La valeur initiale du compteur vi est supérieur à la valeur finale vf: le compteur doit se décrémenter au lieu de
s’incrémenter càd il diminue par pas de un.
Pour i de 5 à 1 pas (-1) Faire
Ecrire (t[i])
Fin Pour
For i := 5 Down to 1 do
Writeln (t[i]);
 A quoi égal le nombre d’itération ? Le nombre d’itérations est égale |Vf – Vi|+1
Pour le compteur de type caractère le nombre d’itérations =|ORD (Vf) – ORD (Vi)| +1
 En Pascal, le module à répéter sera délimité par Begin et End;
3) Applications :
Exercice1
Écrire un algorithme intitulé NEGA_POS, qui transfère les éléments positifs et les éléments négatifs d'un
tableau T dans deux tableaux TP et TN.
Analyse
Algorithme
Grille d'analyse
0) début nega_pos
Nom : nega_pos
1) lire (N)
Résultat = nega_pos
2) pour i de 1 à N faire
J1 ; K  1
Lire(T[i])
pour i de 1 à N faire
fin pour
Si T[i]>=0 Alors
3) j←1
TP[j]←T[i]
K←1
j←j+1
pour i de 1 à N faire
Sinon
Si T[i]>=0
TN[K]←T[i]
Alors
K←K+1
TP[j]←T[i]
Fin si
j←j+1
fin pour
Sinon
pour i de 1 à N faire
TN[K]←T[i]
T[i] = donnée ("Donner le contenu du
K←K+1
case", i)
Fin si
fin pour
fin pour
n=donnée ("Donner la taille du tableau")
4) fin nega_pos
Fin nega_pos
T.D.N.T
Type
u de 30 entiers Tab=table
T.D.O
Objets
J, k
T
i
Nature / type
Var / entier
Tab
Var / entier
Rôle
Compteurs des tableaux
le tableau a saisi
Compteur
Exercice2
Écrire un algorithme et sa traduction en pascal nommé « maximum » qui permet de remplir un tableau T de N
entier, qui détermine le maximum et sa position dans le tableau.
Analyse
Algorithme
Grille d'analyse
0) début Maximum
Nom : Maximum
1) écrire ("Donner la taille du tableau")
Résultat = Ecrire("le maximum dans le tableau est:",
lire (N)
max , "sa position est:" , Pos)
2) pour i de 1 à N faire
Max,pos=[Max←T[1],Pos←1]
Écrire ("Donner le contenu du case", i)
pour i de 2 à N faire
Lire (T[i])
Si T[i]>Max Alors
fin pour
Max←T[i]
3) Max←T[1]
Pos← i
Pos←1
Finsi
pour i de 2 à N faire
fin pour
Si T[i]>Max Alors
pour i de 1 à N faire
Max←T[i]
T[i] = donnée ("Donner le contenu du case", i)
Pos← i
fin pour
Finsi
n=donnée ("Donner la taille du tableau")
fin pour
Fin Maximum
4) Ecrire("le maximum dans le tableau est:", max ,
"sa position est:" , Pos)
5) fin Maximum
Téléchargement