Les structures Conditionnelles

 Mise à jour le : 01/11/2004

Énoncé
Écrire un programme Pascal qui lit l'ordre de mois et affiche le nombre de jours correspondant. 

Méthode 1                                                Méthode 2                                    Méthode 3

I) La préanalyse :











II) L'analyse :

Nom = NBRE_JOURS

Séquences Liste des définitions Explicites Objets Utilisés
 3
Résultat = Ecrire(NBRJ)
 
2
NBRJ =  Si M dans [1,3,5,7,8,10,12]
 
                               Alors  
 
                                      NBRJ <-- 31
 
                              Sinon M
                                        Si M dans [4,6,9,11] NBRJ
                                                  Alors  A
                                                            NBRJ ß    30  
                                                 Sinon  
                                                                      Répéter  
                                                                             Lire(A)   
                                                                     Jusqu'à A>0  
                                                                               Si A Mod 4=0  
                                                                                           Alors  
                                                                                                 NBRJ ß    29  
                                                                                           Sinon  
                                                                                                 NBRJ ß    28  
                                                                                Finsi  
                                            FinSi   
                 Finsi  
1 Répéter  
           Lire(M)  
  Jusqu'à (M>=1) et (M<=12)  
4 Fin NBRE_JOURS  
III) Le tableau de déclaration des objets :
Objets Utilisés Nature/Type Rôle
M variable/Entier

L'ordre du mois

A variable/Entier

L'année

NBRJ variable/Entier

Nombre de jours

IV) L'algorithme :
0- Début NBRE_JOURS
1-  Répéter
           Lire(M)
  Jusqu'à (M>=1) et (M<=12)
2-
       Si M dans [1,3,5,7,8,10,12]
                               Alors
 
                                      NBRJ ß    31
                              Sinon
                                       Si M dans [4,6,9,11]
                                                  Alors
                                                            NBRJ ß    30
                                                  Sinon
                                                                      Répéter
                                                                               Lire(A)
                                                                     Jusqu'à A>0
                                                                              Si A Mod 4=0
                                                                                           Alors
                                                                                                 NBRJ ß    29
                                                                                           Sinon
                                                                                                 NBRJ ß    28
                                                                                Finsi
                                            FinSi 
                 Finsi
 3- Ecrire(NBRJ)
4- Fin NBRE_JOURS
V) La traduction en turbo pascal :
Program NBRE_JOURS;
uses Wincrt;
Var M, NBRJ, A : Integer;
Begin
	Repeat
		Write('Mois :');
		Readln(M);
	Until (M>=1) And (M<=12);
             If M in [1,3,5,7,8,10,12]
                     Then
                              NBRJ : = 31
                     Else
                            Si M in [4,6,9,11]
                                     Then
                                              NBRJ : = 30
                                      Else
                                            Begin
                                                    Repeat
                                                             Write('Année :');
	                                                 Readln(A);
                                                     Until A>0;
                                                     If (A Mod 4=0)
                                                           Then
                                                                   NBRJ : = 29
                                                           Else
                                                                   NBRJ : = 28;
                                             End;
	Write('Le nombre de jours est : ',NBRJ);
End.

 

Page d'index Série structures conditionnelles Haut