Les structures Conditionnelles

 Mise à jour le : 01/11/2004

Énoncé
Écrire une marche à suivre qui fait entrer une chaîne alphabétique CH, formé de trois lettres.

             => dans le cas où la chaîne est symétrique (de la forme  XYX), 
                  déterminer puis afficher le minimum et le maximum des lettres X et Y.

             => dans le cas contraire, déterminer et afficher un message indiquant
                   si cette chaîne commence par une lettre majuscule ou minuscule.

            
                Exemple 1 :         CH = ICI              ICI          est  symétrique             Min = C        Max = I

                Exemple 2 :         CH = EYE           EYE       est symétrique              Min = E       Max = Y

                Exemple 3 :         CH = DEL            DEL     n’est pas symétrique  et   la 1ère lettre de la chaîne est majuscule

                Exemple 4 :         CH = cAs             cAs     n’est pas symétrique  et   la 1ère lettre de la chaîne est minuscule.

I) La préanalyse :



II) L'analyse :

Nom = Symetrique

Séquences Liste des définitions Explicites Objets Utilisés
2
Résultats =  
 
 
Si CH[1] = CH[3]
 
                Alors  
 
                     Ecrire (CH, " est symétrique")
CH
 
                      Si CH[1] > = CH[2]
Max 
                                  Alors Min
 
                                       Max ß   CH[1]
 
 
                                       Min  ß   CH[2]
 
 
                                Sinon
 
 
                                       Max ß   CH[2]
 
 
                                       Min ß    CH[1]
 
 
                       FinSi
 
                         Ecrire("Le maximum est : ", Max)  
                         Ecrire("Le minimum est : ", Min)  
                Sinon  
 
                       Ecrire (CH, "n'est pas symétrique")
 
 
                       Si CH[1] dans ["A".."Z"]                        
 
 
                             Alors
 
 
                                       Ecrire ( "la 1ère lettre de la chaîne est majuscule")
 
 
                             Sinon
 
 
                                       Ecrire ( "la 1ère lettre de la chaîne est minuscule")
 
 
                         FinSi
 
 
FinSi
 
1 Lire(CH)  
3 Fin Symetrique  
III) Le tableau de déclaration des objets :
Objets Utilisés Nature / Type Rôle
CH variable / Chaine Recevoir l'unité de la donnée
Max variable / Caractère

Recevoir le maximum de deux caractères

Min variable / Caractère

Recevoir le minimum de deux caractères

IV) L'algorithme :
0-
but   Symétrique
1-          Lire(CH)
2-

        Si CH[1] = CH[3]

                Alors
 

                     Ecrire (CH, " est symétrique")

 

                     Si CH[1] > = CH[2]

                                  Alors
 

                                       Max ß    CH[1]

 

                                       Min  ß    CH[2]

 

                                Sinon

 

                                       Max ß    CH[2]

 

                                       Min ß     CH[1]

 

                       FinSi

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

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

 

                       Si CH[1] dans ["A".."Z"]                        

 

                             Alors

 

                                  Ecrire ( " la 1ère lettre de la chaîne est majuscule")

            

                             Sinon

 

                                  Ecrire ( " la 1ère lettre de la chaîne est minuscule")

 

                         FinSi

 

FinSi

3-
Fin   Symétrique
V) La traduction en turbo pascal :
Program  Symetrique;
uses Wincrt;
Var CH, Max , Min : Integer;
Begin
        Write('CH=');
        Readln(CH);
        If CH[1] = CH[3]
              Then
                 Begin
                     Writeln(CH, ' est symétrique');
                     If CH[1] > = CH[2]
                                Then
                                   Begin
                                       Max : = CH[1];
                                       Min : = CH[2];
                                   End
                                Else
                                   Begin
                                       Max : = CH[2];
                                       Min : = CH[1];
                                   End;
                         Writeln('Le maximum est : ', Max);
                         Writeln('Le minimum est : ', Min);
                  End;
              Else
                   Begin
                          Writeln(CH, ' n''est pas symétrique');
                           If CH[1] in ['A'..'Z']                        
                                Then
                                      Writeln( 'la 1ère lettre de la chaîne est majuscule')
                                Else
                                      Writeln( 'la 1ère lettre de la chaîne est minuscule');
                   End;

End.

Page d'index Série structures conditionnelles Haut