Les structures de contrôle itératives
Mise à jour le : 01/11/2004
![]()
Énoncé
Écrire un programme qui
affiche le maximum et le minimum de N entiers.
1ère Méthode : utilisation
d'une seule case pour recevoir les valeurs saisies.
2ème Méthode : utilisation d'un
Tableau
pour recevoir les valeurs saisies.
I) La préanalyse : 2ème Méthode
(utilisation d'un
Tableau
pour recevoir les valeurs saisies)
Données : - Le nombre d'éléments de T (N=6); - Un tableau T à N éléments de types entiers ;
| T | 17 | 12 | 33 | 15 | ? | ? | ? | ? | ||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
1
|
2
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
| Max | Min | |
|---|---|---|
|
Entier
|
|
Entier
|
La variable Max contient le maximum de T. La variable Min contient le minimum de T.
Étape 1 :
On
initialise Max à T[1] :
|
Max
|
||
|---|---|---|
| |
|
|
|
|
|
|
| T | ? | ? | ? | ? | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
2
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
Étape
2 :
On
compare Max et T[2] :
Max
T ? ? ? ? 1 1 2 3 4 5 N=6 7 8 9 NMAX=10
Étape 3 :
On
compare Max et T[3] :
Max
T ? ? ? ? 1 1 2 3 4 5 N=6 7 8 9 NMAX=10
|
Max
|
||
|---|---|---|
| |
|
|
|
|
|
|
Étape 4 :
On compare Max et T[4]
:
Max
T ? ? ? ? 1 1 2 3 4 5 N=6 7 8 9 NMAX=10
Étape 5 :
On
compare Max et T[5] :
Max
T ? ? ? ? 1 1 2 3 4 5 N=6 7 8 9 NMAX=10
dans cet exemple on a Max > T[5]
Étape 6 (N) :
Max
T 10 33 ? ? ? ? 1 1 2 3 4 5 N=6 7 8 9 NMAX=10dans cet exemple on a Max > T[N
2) Recherche du minimum d'un tableau :
Étape 1 :
On
initialise Min à T[1] :
|
Min
|
||
|---|---|---|
| |
|
|
|
|
|
|
| T | ? | ? | ? | ? | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
2
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
Étape
2 :
On
compare Min et T[2] :
Min
T ? ? ? ? 1 1 2 3 4 5 N=6 7 8 9 NMAX=10
|
Min
|
||
|---|---|---|
| |
|
|
|
|
|
|
Étape 3 :
On
compare Min et T[3] :
Min
T ? ? ? ? 1 1 2 3 4 5 N=6 7 8 9 NMAX=10
Min
T ? ? ? ? 1 1 2 3 4 5 N=6 7 8 9 NMAX=10
|
Min
|
||
|---|---|---|
| |
|
|
|
|
|
|
Étape 5 :
On
compare Min et T[5] :
Min
T ? ? ? ? 1 1 2 3 4 5 N=6 7 8 9 NMAX=10
dans cet exemple on a Min < T[5]
Étape 6 (N) :
Min
T 10 33 ? ? ? ? 1 1 2 3 4 5 N=6 7 8 9 NMAX=10dans cet exemple on a Min < T[N]
II) L'analyse :
Nom = MaxMin
Séquences Liste des définitions Explicites Objets Utilisés 4
3
2
1
5Résultats = Écrire(Max, Min)
Max ß T[1] ; Min ß T [1]
Pour I de 2 A N Faire
Si T [I]>Max
Alors
Max ß T [I]
Finsi
Si T [I]<Min
Alors
Min ß T [I]
Finsi
FinPour
Pour I de 1 A N Faire
Lire(T[I])
FinPourRépéter
Fin MaxMin
Lire(N)
Jusqu'à N>0N
IT
MaxMin
III) Le tableau de déclaration des objets :
| Objets Utilisés | Type / Nature | Rôle |
| T | Variable/Tableau[1..100]d'entier |
Recevoir les valeurs saisies |
| I | Variable/Entier | Compteur |
| Max | Variable/Entier | Recevoir le maximum de T |
| Min | Variable/Entier | Recevoir le minimum de T |
| N | Variable/Entier | Le nombre de valeurs à saisir dans T |
IV) L'algorithme :
| 0- | Début MaxMin |
| 1- | Répéter |
| Lire(N) | |
| Jusqu'à N>0 | |
| 2- | Pour I de 1 A N Faire |
| Lire(T[I]) | |
| FinPour | |
| 3- | Max ß T[1] ; Min ß T [1] |
| Pour I de 2 A N Faire | |
| Si T[I]>Max | |
| Alors | |
| Max ß T[I] | |
| FinSi | |
| Si T[I]<Min | |
| Alors | |
| Min ß T[I] | |
| FinSi | |
| FinPour | |
| 4- | Écrire(Max , Min) |
| 5- | Fin MaxMin |
V) La traduction en turbo pascal :
Program MAXMIN;
uses Wincrt;
Var I, N, Max, Min : Integer;
T : Array[1..100] of integer;
Begin
Repeat
Write('N :');
Readln(N);
Until N>0;
For I : = 1 To N Do
Begin
Write('T[I] :');
Readln(T[I]);
End;
Max := T[1] ; Min := T[1] ;
For I : = 2 To N Do
Begin
If T[I]>Max
Then
Max := T[I];
If T[I]<Min
Then
Min := T[I];
End;
Writeln('Le maximum est :', Max);
Writeln('Le minimum est :', Min);
End.
V) La traduction en C++ :
#include <stdio.h>
int main()
{ int N,I, Max, Min, T[100];
do
{ printf("N=");
scanf("%d",&N);}
while (N<0);
for (I=1;I<=N;I++)
{ printf("T[%d]",I);
scanf("%d",&T[I])};
Max = T[1] ; Min = T[1] ;
for (I=2;I<=N;I++)
{ If T[I]>Max
Max = T[I];
If T[I]<Min
Min = T[I]; }
printf("%5.2f",S);
getchar();getchar();
}
![]()
| Page d'index | Série Les structures de contrôle itératives | Haut |