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 ß    B
 
 
                                                    Min ß     C
 
 
                                               Sinon
 
 
                                                    Max2 ß    C
 
 
                                                    Min ß     B
 
 
                                           FinSi
 
                                   Sinon  
 
                                       Si ( B > = A) et ( B > = C)                         
 
                                                    Alors  
 

                                                            Max1 ß    B

 
            
                                                             Si A > = C
 
                                                                                  Alors  
 
                                                                                      Max2 ß    A
 
 
                                                                                      Min ß    C
 
 
                                                                                Sinon
 
 
                                                                                      Max2 ß    C
 
 
                                                                                      Min ß     A
 
 
                                                                        FinSi
 
                                                    Sinon  
 

                                                            Max1 ß     C

 
            
                                                            Si (A > = B)
 
                                                                                  Alors  
 
                                                                                      Max2 ß     A
 
 
                                                                                      Min ß     B
 
 
                                                                                Sinon
 
 
                                                                                      Max2 ß    B
 
 
                                                                                      Min ß    A
 
 
                                                                        FinSi
 
 

                                                 FinSi

 
 
                                   FinSi
 
1 Lire (A)  
2 Lire (B)  
3 Lire (C)  
5 Fin Ordre  
III) Le tableau de déclaration des objets :
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 ß   A
 
                  Si B > = C
 
                        Alors
 
                               Max2 ß    B
 
                               Min ß    C
 
                       Sinon
 
                               Max2 ß    C
 
                               Min ß    B
 
                  FinSi
 
           Sinon
 
                 Si ( B > = A) et ( B > = C)                         
 
                         Alors
 
                                 Max1 ß    B
            
                                 Si A > = C
 
                                         Alors
 
                                                Max2 ß   A
 
                                                Min ß   C
 
                                         Sinon
 
                                                Max2 ß    C
 
                                                Min ß    A
 
                                   FinSi
 
                         Sinon
 
                                   Max1 ß    C
            
                                   Si A > = B
 
                                             Alors
 
                                                  Max2 ß    A
 
                                                  Min ß    B
 
                                             Sinon
 
                                                  Max2 ß   B
 
                                                  Min ß    A
 
                                   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++ :
// programme 1er maximum le 2ème maximum et le minimum de trois valeurs  
#include <stdio.h>
int main()
{int A,B,C, Max1, Max2, Min ;
    printf("A=");
    scanf("%d",&A);
    printf("B=");
    scanf("%d",&B);
    printf("C=");
    scanf("%d",&C);

    If (A > = B) && (A > = C)
                  {  Max1 = A;
                      If  (B > = C)
                              {Max2 = B;
                               Min = C;}
                         Else
                              {Max2  =  C;
                               Min = B;}
                    }
               Else
                            If (( B > = A) &&  ( B > = C))                         
                                      {      Max1 =  B;
                                              If (A > = C)
                                                             {Max2 = A;
                                                               Min = C;}
                                                     Else
                                                             {Max2 = C;
                                                              Min = A;}

                                        }
                                  Else
                                      {      Max1 : = C;
                                              If (A > = B)
                                                         { Max2 = A;

                                                           Min = B;}
                                                     Else
                                                         { Max2 = B;

                                                           Min = A;}
                                        }
    
    printf("Le 1er maximum est : %d", Max1);
    printf("Le 2ème maximum est : %d", Max2);
    printf("Le minimum est : %d", Min);

 getchar();getchar();
}

 

Page d'index Série structures conditionnelles Haut