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 = Selon    M   Faire 

M
                            1,3,5,7,8,10,12 :  NBRJ ß    31  NBRJ
                            4, 6,9,11           :  NBRJ ß    30 A
                           Sinon  
                                   Répéter  
                                               Lire(A)   
                                  Jusqu'à A>0  
                                              Si (A Mod 4=0)  
                                                             Alors  
                                                                       NBRJ ß    29  
                                                             Sinon  
                                                                       NBRJ ß    28  
                                                 Finsi  
                             FinSelon  
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 Type / Nature 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-
       Selon    M   Faire
                    1,3,5,7,8,10,12 :  NBRJ ß    31           
                    4, 6,9,11           :  NBRJ ß    30
                 Sinon
                               Répéter
                                        Lire(A) 
                               Jusqu'à A>0
                                           Si A Mod 4=0
                                                   Alors
                                                            NBRJ ß    29
                                                   Sinon
                                                            NBRJ ß    28
                                            Finsi
                Finselon
 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);
             Case M Of
		1,3,5,7,8,10,12 :  NBRJ : =  31;
		4, 6,9,11           :  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;
                 End;

	Write('Le nombre de jours est : ',NBRJ);
End.
VI) La traduction en langage C++ :
// programme mois  
#include <stdio.h>
int main()
{int m,a,nbrj;
           do
                  printf("m=");
                  scanf ("%d",&m);
          while ((m<1) ÇÇ (m>12))
           
          switch (m)
           {       case 1:
                   case 3:
                   case 5:
                   case 7:
                   case 8:
                   case 10:
                   case 12: nbrj=31;
              break;
                   case 4:
                   case 6:
                   case 9:
                   case 11: nbrj=30;
              break;
            default:
                   {        printf ("a=");
                            scanf ("%d",&a);
                            if (a%4==0)
                                        nbrj=29;
                                else
                                        nbrj=28;
                     }
             }
printf ("Le nombre de jours est : %d',nbrj);
getchar();getchar();
}

 

 

Page d'index Série structures conditionnelles Haut