Les structures Conditionnelles

 Mise à jour le : 01/11/2004

Énoncé
Écrire une marche à suivre qui fait entrer un entier N, formé de trois chiffres.
        => dans le cas où le nombre est symétrique (de la forme  XYX), 
              déterminer puis afficher le minimum et le maximum des chiffres X et Y.
         => dans le cas contraire, déterminer et afficher un message indiquant 
               si ce nombre est pair ou impair.

            Exemple 1 :       N = 252               252     est           symétrique            Min = 2          Max = 5
   
         Exemple 2 :       N = 626               626     est           symétrique            Min = 2          Max = 6
   
         Exemple 3 :       N = 278               278  n’est pas     symétrique      et    pair
   
         Exemple 4 :       N = 187               187  n’est pas     symétrique      et    impair

I) La préanalyse :




II) L'analyse :

Nom = Symetrique

Séquences Liste des définitions Explicites Objets Utilisés
5
Résultats =  
 N
 
      Si C = U
 C
                Alors D
 
                     Ecrire (N, " est symétrique")
U
 
                      Si C > = D
Max 
                                  Alors Min
 
                                       Max ß   C
 
 
                                       Min ß    D
 
 
                                Sinon
 
 
                                       Max ß    D
 
 
                                       Min ß     C
 
 
                       FinSi
 
                         Ecrire("Le maximum est : ", Max)  
                         Ecrire("Le minimum est : ", Min)  
                Sinon  
 
                       Ecrire (N, "n'est pas symétrique")
 
 
                       Si N Mod 2 = 0                        
 
 
                                      Alors
 
 
                                            Ecrire (N, " est pair")
 
 
                                      Sinon
 
 
                                            Ecrire (N, " est impair")
 
 
                         FinSi
 
 
FinSi
 
2 C ß    N Div 100  
1  Répeter  
           Lire(N)   
   Jusqu'à (N>=100) et (N<=999)  
3 D ß    N Mod 100 Div 10  
4 U ß     N Mod 10  
6 Fin Symetrique  
III) Le tableau de déclaration des objets :
Objets Utilisés Nature / Type Rôle
N variable / Entier

Recevoir la donnée

C variable / Entier Recevoir la centaine de la donnée
D variable / Entier Recevoir la dizaine de la donnée
U variable / Entier Recevoir l'unité de la donnée
Max variable / Entier

Recevoir le maximum de deux chiffres

Min variable / Entier

Recevoir le minimum de deux chiffres

IV) L'algorithme :
0-
but   Symetrique
1- Répeter
          Lire(N)
  Jusqu'à (N>=100) et (N<=999)
2-

C ß    N Div 100

3-

D ß    N Mod 100 Div 10

4-

U ß    N Mod 10

 5-

 Si C = U

                Alors
 

                     Ecrire (N, " est symétrique")

 

                     Si C > = D

                                  Alors
 

                                       Max ß    C

 

                                       Min  ß    D

 

                                Sinon

 

                                       Max ß    D

 

                                       Min  ß    C

                             Ecrire("Le maximum est : ", Max)                
                             Ecrire("Le minimum est : ", Min)
 

                       FinSi

                Sinon
 

                       Ecrire (N, "n'est pas symétrique")

 

                       Si N Mod 2 = 0                        

                                        Alors
 

                                            Ecrire (N, " est pair")

                                                   Sinon
 

                                            Ecrire (N, " est impair")

 

                         FinSi

 

FinSi

6-
Fin   Symetrique
V) La traduction en turbo pascal :
Program  Symetrique;
uses Wincrt;
Var N, C, D, U, Max , Min : Integer;
Begin

	Repeat
		Write('N=');
		Readln(N);
	Until (N>=100) And (N<=999);

	C : =  N Div 100;
	D : = N Mod 100 Div 10;
	U : = N Mod 10;

	IF  C = U
                       Then
                             Begin
                                    Writeln (N, ' est symétrique');
                                    If C > = D
                                         Then
                                             Begin
                                                     Max : = C;
                                                     Min : = D;
                                             End
                                         Else
                                             Begin
                                                     Max : = D;
                                                     Min : = C;
                                             End;
	                         Writeln('Le maximum est : ', Max);
	                         Writeln('Le minimum est : ', Min);
                             End
                       Else
                             Begin
                                      Writeln (N, ' n' 'est pas symétrique');
                                      If    N Mod 2 = 0                        
                                            Then
                                                  Writeln (N, ' est pair')
                                            Else
                                                  Writeln (N, ' est impair');

                             End;
End.

Page d'index Série structures conditionnelles Haut