La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les dates Recherche d’un algorithme pour déterminer si une année est bissextile ou non.

Présentations similaires


Présentation au sujet: "Les dates Recherche d’un algorithme pour déterminer si une année est bissextile ou non."— Transcription de la présentation:

1 Les dates Recherche d’un algorithme pour déterminer si une année est bissextile ou non

2 Algorithme avec conditions simples (1/6)
2 Solutions : - Arbre équilibré - Arbre déséquilibré

3 Algorithme avec conditions simples (2/6)
Arbre équilibré : SI (a % 100 == 0) ALORS SI (a % 400 == 0) ALORS a est bissextile SINON a n'est pas bissextile FIN SI SINON SI (a % 4 == 0)

4 Algorithme avec conditions simples (3/6)
Arbre équilibré : vrai faux a % 100 = 0 vrai faux vrai faux a % 4 = 0 a % 400 = 0 Bissextile Non bissextile Bissextile Non bissextile

5 Algorithme avec conditions simples (4/6)
Arbre déséquilibré : SI (a % 4 == 0) ALORS SI (a % 100 == 0) SI (a % 400 == 0) ALORS a est bissextile SINON a n'est pas bissextile FIN SI SINON a est bissextile

6 Algorithme avec conditions simples (5/6)
Arbre déséquilibré : vrai faux a % 4 = 0 vrai faux Non bissextile a % 100 = 0 vrai faux a % 400 = 0 Bissextile Bissextile Non bissextile

7 Algorithme avec conditions simples (6/6)
Quand utiliser quel algorithme et pourquoi ???

8 Algorithme avec condition composée
SI (a % 4 == 0 && ((a % 100 != 0) || (a % 400 == 0))) ALORS a est bissextile SINON a n'est pas bissextile FIN SI

9 Les dates Déterminer le nombre de jours que comporte un mois (m) donné d’une année (a) donnée.

10 switch (b) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf ("31 jours\n"); break; case 4: case 6: case 9: case 11: printf ("30 jours\n"); case 2: if ((a % 4 == 0) && ((a % 100 != 0) || (a % 400 == 0))) printf ("29 jours\n"); else printf ("28 jours\n"); default: printf ("Le numero de mois est incorrect\n"); }

11 Les dates Demander le jour (j), le mois (m) et l’année (a) et déterminer si la date ainsi constituée est correcte.

12 printf ("Entrez l'annee : ");
scanf ("%d", &a); while (a < 1600 || a > 3000) { printf ("L'annee doit etre comprise entre 1600"); printf (" et Veuillez a nouveau "); printf ("entrez l'annee : "); } printf ("Entrez le mois : "); scanf ("%d", &m); while (m < 1 || m > 12) printf ("Donnez une valeur entre 1 et 12.\n"); printf ("Entrez a nouveau le mois : "); printf ("Entrez le jour : "); scanf ("%d", &j); while (j < 1 || j > 12) printf ("Donnez une valeur entre 1 et 31.\n"); printf ("Entrez a nouveau le jour : ");

13 switch (m) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf ("Date correcte\n"); break; case 4: case 6: case 9: case 11: if (j < 31) else printf ("Date incorrecte\n");

14 case 2: if ((a % 4 == 0) && ((a % 100 != 0) || (a % 400 == 0))) { if (j < 30) printf ("Date correcte\n"); else printf ("Date incorrecte\n"); } if (j < 29)


Télécharger ppt "Les dates Recherche d’un algorithme pour déterminer si une année est bissextile ou non."

Présentations similaires


Annonces Google