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 50 10 33 15 ? ? ? ?
1
2
3
4
5
N=6
7
8
9
NMAX=10
Résultats :
Max   Min
50   10
Entier
Entier
La variable Max contient le maximum de T.
La variable Min contient le minimum de T.
1) Recherche du maximum d'un tableau :

Étape 1 :
On initialise Max à T[1] :

 
Max
 
 
17
 
                   
T 17           ? ? ? ?
1
1
2
3
4
5
N=6
7
8
9
NMAX=10

Étape 2 :
On compare Max et T[2] :

 
Max
 
 
17
 
                   
T   12         ? ? ? ?
1
1
2
3
4
5
N=6
7
8
9
NMAX=10
dans cet exemple on a Max > T[2] 

Étape 3 :
On compare Max et T[3] :

 
Max
 
 
17
 
                   
T     50       ? ? ? ?
1
1
2
3
4
5
N=6
7
8
9
NMAX=10
dans cet exemple on a Max < T[3] d'où Max = T[3]
 
Max
 
 
50
 

Étape 4 :
On compare Max et T[4] :

 
Max
 
 
50
 
                   
T       10     ? ? ? ?
1
1
2
3
4
5
N=6
7
8
9
NMAX=10
dans cet exemple on a Max > T[4]

Étape 5 :
On compare Max et T[5] :

 
Max
 
 
50
 
                   
T         33   ? ? ? ?
1
1
2
3
4
5
N=6
7
8
9
NMAX=10

dans cet exemple on a Max > T[5]

Étape 6 (N) :

On compare Max et T[N] :
 
Max
 
 
50
 
                   
T       10 33 15 ? ? ? ?
1
1
2
3
4
5
N=6
7
8
9
NMAX=10

dans cet exemple on a Max > T[N

2) Recherche du minimum d'un tableau :

Étape 1 :
On initialise Min à T[1] :

 
Min
 
 
17
 
                   
T 17           ? ? ? ?
1
1
2
3
4
5
N=6
7
8
9
NMAX=10

Étape 2 :
On compare Min et T[2] :

 
Min
 
 
17
 
                   
T   12         ? ? ? ?
1
1
2
3
4
5
N=6
7
8
9
NMAX=10
dans cet exemple on a Min > T[2] d'où Min = T[2]
 
Min
 
 
12
 

Étape 3 :
On compare Min et T[3] :

 
Min
 
 
12
 
                   
T     50       ? ? ? ?
1
1
2
3
4
5
N=6
7
8
9
NMAX=10
dans cet exemple on a Min < T[3] 

Étape 4 :

On compare Min et T[4]
:
 
 
Min
 
 
12
 
                   
T       10     ? ? ? ?
1
1
2
3
4
5
N=6
7
8
9
NMAX=10
dans cet exemple on a Min > T[4] d'où Min = T[4]
 
Min
 
 
10
 

Étape 5 :
On compare Min et T[5] :

 
Min
 
 
10
 
                   
T         33   ? ? ? ?
1
1
2
3
4
5
N=6
7
8
9
NMAX=10
dans cet exemple on a Min < T[5]

Étape 6 (N) :

On compare Min et T[N] :
 
Min
 
 
10
 
                   
T       10 33 15 ? ? ? ?
1
1
2
3
4
5
N=6
7
8
9
NMAX=10

dans 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



5
Ré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])

FinPour

Répéter
      
Lire(N)     
Jusqu'à N>0

Fin MaxMin
 

 N

 I

 T 

Max

Min

 

 

 

 

 

 

 

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