![]() |
![]() |
![]() |
Les structures Simples
Mise à jour le : 01/11/2004
Énoncé
Écrire un programme Pascal qui permute trois valeurs.
Méthode 1 : avec utilisation d'une variable auxiliaire.
Méthode 2 : sans utilisation d'une variable auxiliaire.
Méthode 2
I) La préanalyse de la méthode 2 :
Exemple : Avant permutation : A=5 ; B=6 ; C=7 après permutation : A=7 ; B=5 ; C=6
Etape 1 : saisir trois valeurs
| A | B | C | ||
| 5 | 6 | 7 | ||
| Entier | Entier | Entier |
Etape 2 : sauvegarder les trois valeurs dans A
| A | B | C | ||
| 6 | 7 | |||
| tier | Entier | Entier | ||
|
A <-- A + B + C |
||||
|
Etape 3 : chercher la nouvelle valeur de B |
||||
| A | B | C | ||
| 5+6+7 | 7 | |||
| Entier | Entier | Entier | ||
|
B=5=(5+6+7) - (6+7) |
||||
|
B <-- A - (B + C) |
||||
|
Etape 4 : chercher la nouvelle valeur de C |
||||
| A | B | C | ||
| 5+6+7 | 5 | |||
| Entier | Entier | |||
|
C=6=(5+6+7) - (5+7) |
||||
|
C <-- A - (B + C) |
||||
|
Etape 4 : chercher la nouvelle valeur de A |
||||
| B | C | |||
| 5 | 6 | |||
| Entier | Entier | Entier | ||
|
A=7=(5+6+7) - (5+6) |
||||
Nom = Permut |
||
| Séquences | Liste des définitions Explicites | Objets Utilisés |
| 8 | Résultats = Écrire(A, B, C) | A |
| 7 | A ß A - (B + C) | B |
| 4 | A ß A + B + C | C |
| 1 | A = Donnée | Aux |
| 2 | B = Donnée | |
| 3 | C = Donnée | |
| 5 | B ß A - (B + C) | |
| 6 | C ß A - (B + C) | |
| 9 | Fin Permut | |
III) Le tableau de déclaration des objets :
| Objets Utilisés | Nature/Type |
| A , B, C , AUX | Variable/Entier |
IV) L'algorithme :
| 0- | Début Permut |
| 1- | Lire(A) |
| 2- | Lire(B) |
| 3- | Lire(C) |
| 4- | A ß A + B + C |
| 5- | B ß A - (B+C) |
| 6- | C ß A - (B+C) |
| 7- | A ß A - (B+C) |
| 8- | Ecrire (A, B, C) |
| 9- | Fin Permut |
V) La traduction en turbo pascal :
Program Permut;
uses Wincrt;
Var A, B,C : Integer;
Begin
Write('La première valeur :');
Readln(A);
Write('La deuxième valeur :');
Readln(B);
Write('La troisième valeur :');
Readln(C);
A : = A + B + C;
B : = A - (B + C);
C : = A - (B + C);
A : = A - (B + C);
Write('La première valeur sera :',A);
Write('La deuxième valeur sera :',B);
Write('La troisième valeur sera :',C);
End.
| Page d'index | Série structures simples | Haut |