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
5+6+7 6 7
tier Entier Entier

A <-- A + B + C

Etape 3 : chercher la nouvelle valeur de B

A B C
5+6+7 5 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 6
Entier Entier

C=6=(5+6+7) - (5+7)

C <-- A - (B + C)

Etape 4 : chercher la nouvelle valeur de A 

B C
7 5 6
Entier Entier Entier

A=7=(5+6+7) - (5+6)
A <-- A - (B + C)
II) Analyse :

 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

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.

 VI) La traduction en langage C++ :
// somme de deux entiers
#include <stdio.h>
int main()
{int A,B,C;
    printf("La première valeur :");
    scanf("%d",&A);
    printf("La deuxième valeur :");
    scanf("%d",&B);
    printf("La troisième valeur :");
    scanf("%d",&C);
    A  =  A + B + C;
    B  =  A - (B + C);
   
C  =  A - (B + C);
    A  =  A - (B + C);    
   
printf("La première valeur sera :%d",A);
    printf("La deuxième valeur sera :%d",B);
    printf("La troisième valeur sera :%d",C);
    getchar();getchar();
}

Page d'index Série structures simples Haut