đ Ă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