Devoir de contrôle n°1 (série D) : corriger un programme, jours du mois, chiffres d'un entier
Les algorithmes s'écrivent en notation algorithmique, les programmes en Python. Barème sur 20 points.
Exercice 1 : trouver et corriger les erreurs (5 pts)
Le programme suivant doit lire deux entiers a et b, puis afficher leur somme, leur produit et dire si a est un multiple de b. Il contient quatre erreurs.
a = input()
b = int(input())
s = a + b
p = a x b
print("Somme :", s)
print("Produit :", p)
if a % b = 0:
print(a, "est un multiple de", b)
else:
print(a, "n'est pas un multiple de", b)
- 1) Trouver les quatre erreurs et expliquer chacune (2 pts).
- 2) Réécrire le programme corrigé (2 pts).
- 3) Que se passe-t-il si l'utilisateur saisit 0 pour b ? Proposer une correction (1 pt).
Pour a = 12 et b = 4, le programme corrigé affiche :
Somme : 16
Produit : 48
12 est un multiple de 4
Exercice 2 : le nombre de jours d'un mois (7 pts)
Une année est bissextile si elle est divisible par 4 mais pas par 100, ou si elle est divisible par 400. Février a 29 jours dans une année bissextile, 28 sinon. Avril, juin, septembre et novembre (mois 4, 6, 9, 11) ont 30 jours ; les autres mois ont 31 jours.
Écrire un programme qui lit un numéro de mois m (1 à 12) et une année a (a ≥ 1900), les deux saisies étant contrôlées, puis affiche le nombre de jours du mois.
- 1) Écrire l'expression booléenne qui dit si a est bissextile (1 pt).
- 2) Donner l'algorithme et le TDO (3 pts).
- 3) Traduire en Python (3 pts).
Exemples : pour m = 2 et a = 2024, le programme affiche « 29 jours » ; pour m = 2 et a = 1900 : « 28 jours » ; pour m = 9 et a = 2026 : « 30 jours ».
Exercice 3 : les chiffres d'un entier (8 pts)
Écrire un programme qui lit un entier n strictement positif (saisie contrôlée) et affiche :
- le nombre de chiffres de n ;
- son plus grand chiffre ;
- si n est un palindrome, c'est-à-dire s'il se lit de la même façon dans les deux sens (comme 12321).
On travaillera sur le nombre avec div et mod, sans le convertir en chaîne.
- 1) Donner l'algorithme et le TDO (5 pts).
- 2) Traduire en Python (3 pts).
Pour n = 12821, le programme affiche :
Nombre de chiffres : 5
Plus grand chiffre : 8
Palindrome : Oui
Correction détaillée
La correction de ce devoir est réservée aux abonnés. Elle donne l'analyse, l'algorithme en notation tunisienne, le programme Python vérifié et les erreurs fréquentes de chaque exercice. Avec un compte gratuit, tu peux ouvrir 3 corrections de ton choix.
Connecte-toi d'abord : créer un compte ou me connecter.
Tu as encore 0 correction(s) gratuite(s) à utiliser.
Il te faut un abonnement actif pour les autres corrections. Voir les tarifs ou demander un code sur WhatsApp, Instagram ou Facebook.
Mission Carthage est en période de test : le site s'ouvre avec un code d'accès. Demande ton code sur WhatsApp, Instagram ou TikTok, puis tape-le sur missioncarthage.tn.
Cette correction n'est pas encore publiée. Reviens bientôt.
Impossible de charger la correction. Vérifie ta connexion et réessaie.
Sujet original écrit pour Mission Carthage, quatrième série d'entraînement pour le devoir de contrôle du 1er trimestre.
Tout le programme : 2ème année Technologies de l'informatique (TI) · Revoir le cours · Tous les devoirs