📅 Nombre de jours dans un mois

📝 ÉnoncĂ© - Exercice 8

Objectif : Écrire un programme qui permet de saisir le mois et d'afficher le nombre de jours dans ce mois.

  • Saisir le numĂ©ro du mois (1 pour janvier, 2 pour fĂ©vrier, etc.)
  • Pour les mois 1,3,5,7,8,10,12 → afficher "31 jours"
  • Pour les mois 4,6,9,11 → afficher "30 jours"
  • Pour le mois 2 (fĂ©vrier) → demander l'annĂ©e pour vĂ©rifier si elle est bissextile
  • Si annĂ©e bissextile → "29 jours", sinon → "28 jours"
  • Si le numĂ©ro n'est pas entre 1 et 12 → afficher un message d'erreur

Exemples :

  • Si le mois est Mai (5) → le programme affiche "31 jours"
  • Si le mois est FĂ©vrier (2) → on demande l'annĂ©e :
    • AnnĂ©e 2020 (bissextile) → "29 jours"
    • AnnĂ©e 2021 (non bissextile) → "28 jours"
  • Si le mois est Avril (4) → "30 jours"
  • Si le mois est 13 → "n'est pas un mois valide"

Tester rapidement :

Note : L'année n'est utilisée que si le mois est février (2)

📩 Tableau de DĂ©claration des Objets (TDO)

Objet Type RĂŽle
n Entier Numéro du mois (1-12)
p Entier Année (pour février)
mois_31 Liste [1,3,5,7,8,10,12] - Mois Ă  31 jours
mois_30 Liste [4,6,9,11] - Mois Ă  30 jours
Algorithme JoursDansMois DĂ©but Écrire("=== Nombre de jours dans un mois ===") Écrire("Entrez le numĂ©ro du mois (1-12) : ") Lire(n) Si n dans [1,3,5,7,8,10,12] Alors Écrire("31 jours") Sinon Si n dans [4,6,9,11] Alors Écrire("30 jours") Sinon Si n = 2 Alors Écrire("Entrez l'annĂ©e : ") Lire(p) Si p % 4 = 0 Alors Écrire("29 jours (annĂ©e bissextile)") Sinon Écrire("28 jours") Fin Si Sinon Écrire("n n'est pas un mois valide") Fin Si Fin
Condition Résultat Exemple
n in [1,3,5,7,8,10,12] 31 jours Janvier (1), Mars (3), Mai (5)
n in [4,6,9,11] 30 jours Avril (4), Juin (6), Septembre (9)
n == 2 et p%4 == 0 29 jours Février 2020, 2024
n == 2 et p%4 != 0 28 jours Février 2021, 2022
n < 1 ou n > 12 Erreur Mois 13, 0, -5

🐍 Code Python

# Exercice 8 : Nombre de jours dans un mois print("=== Nombre de jours dans un mois ===") # Saisie du mois n = int(input("donner le mois : ")) if n in [1,3,5,7,8,10,12]: print("31 jours") elif n in [4,6,9,11]: print("30 jours") elif n == 2: p = int(input("donner l'année : ")) if p % 4 == 0: print("29 jours") else: print("28 jours") else: print("n n'est pas un mois valide")

Concepts clés :

  • if / elif / else : structure conditionnelle multiple
  • in : vĂ©rifier si un Ă©lĂ©ment est dans une liste
  • Conditions imbriquĂ©es : if dans un elif pour fĂ©vrier
  • OpĂ©rateur modulo (%) : vĂ©rifier la divisibilitĂ© par 4
  • Validation des entrĂ©es : vĂ©rifier si le mois est valide
Année bissextile simple : p % 4 == 0