![]() |
![]() |
![]() |
Les structures Conditionnelles
Mise à jour le : 01/11/2004
Énoncé
Écrire un programme Pascal qui affiche le maximum,
le deuxième maximum et
le
minimum de trois entiers .
I) La préanalyse :
II) L'analyse :
Nom = Ordre |
||
| Séquences | Liste des définitions Explicites | Objets Utilisés |
| 4 | Résultat = Ecrire(Max1, Max2, Min) |
A |
| 3 | Max,Max2,Min = Si (A > = B) et (A > = C) |
B |
| Alors | C | |
|
Max1 <-- A |
Max1 | |
( ) Si (B > = C) |
Max2 | |
| Alors | Min | |
Max2 ß
|
||
Min ß
|
||
Sinon |
||
Max2 ß
|
||
Min ß
|
||
FinSi |
||
| Sinon | ||
Si ( B > = A) et ( B > = C) |
||
| Alors | ||
|
Max1 ß |
||
Si A > = C |
||
| Alors | ||
Max2 ß
|
||
Min ß
|
||
Sinon |
||
Max2 ß
|
||
Min ß
|
||
FinSi |
||
| Sinon | ||
|
Max1 ß |
||
Si (A > = B) |
||
| Alors | ||
Max2 ß
|
||
Min ß
|
||
Sinon |
||
Max2 ß
|
||
Min ß
|
||
FinSi |
||
|
FinSi |
||
FinSi |
||
| 1 | Lire (A) | |
| 2 | Lire (B) | |
| 3 | Lire (C) | |
| 5 | Fin Ordre | |
| Objets Utilisés | Nature/Type | Rôle |
| A | variable/Entier | Recevoir la 1ère donnée |
| B | variable/Entier | Recevoir la 2ème donnée |
| C | variable/Entier | Recevoir la 3ème donnée |
| Max1 | variable/Entier | Recevoir le 1er maximum des trois valeurs |
| Max2 | variable/Entier | Recevoir le 2ème maximum des trois valeurs |
| Min | variable/Entier |
Recevoir le minimum des trois valeurs |
IV) L'algorithme :
| 0- | Début Ordre |
| 1- |
Lire (A) |
| 2- |
Lire (B) |
| 3- |
Lire (C) |
| 4- | Si (A > = B) et (A > = C) |
Alors |
|
Max1
ß
|
|
Si B > = C |
|
Alors |
|
Max2 ß
|
|
Min ß
|
|
Sinon |
|
Max2 ß
|
|
Min ß
|
|
FinSi |
|
Sinon |
|
Si ( B > = A) et ( B > = C) |
|
Alors |
|
Max1 ß
|
|
Si A > = C |
|
Alors |
|
Max2 ß
|
|
Min ß
|
|
Sinon |
|
Max2 ß
|
|
Min ß
|
|
FinSi |
|
Sinon |
|
Max1 ß
|
|
Si A > = B |
|
Alors |
|
Max2 ß
|
|
Min ß
|
|
Sinon |
|
Max2 ß
|
|
Min ß
|
|
FinSi |
|
FinSi |
|
FinSi |
|
Ecrire(Max1 , Max2, Min) |
|
| 5- |
Fin Ordre |
V) La traduction en turbo pascal :
Program Ordre;
uses Wincrt;
Var A, B, C, Max1, Max2 , Min : Integer;
Begin
Write('A=');
Readln(A);
Write('B=');
Readln(B);
Write('C=');
Readln(C);
If (A > = B) AND (A > = C)
Then
Begin
Max1 : = A;
If B > = C
Then
Begin
Max2 : = B;
Min : = C;
End
Else
Begin
Max2 : = C;
Min : = B;
End;
End
Else If ( B > = A) And ( B > = C)
Then
Begin
Max1 : = B;
If (A > = C)
Then
Begin
Max2 : = A;
Min : = C;
End
Else
Begin
Max2 : = C;
Min : = A;
End;
End
Else
Begin
Max1 : = C;
If (A > = B)
Then
Begin
Max2 : = A;
Min : = B;
End
Else
Begin
Max2 : = B;
Min : = A;
End;
End;
Writeln('Le 1er maximum est : ', Max1);
Writeln('Le 2ème maximum est : ', Max2);
Writeln('Le minimum est : ', Min);
End.
V) La traduction en langage C++ :
| Page d'index | Série structures conditionnelles | Haut |