Devoir pratique n°7 : nombres heureux et tombola des numéros heureux
Écris tes programmes en Python ou en algorithme et vérifie-les tout de suite, puis ouvre la correction exercice par exercice.
Le travail se fait sur ordinateur : chaque programme Python est enregistré sous le nom donné. Barème sur 20 points.
Exercice 1 : les nombres heureux (8 pts)
On remplace un entier n ≥ 1 par la somme des carrés de ses chiffres, et on recommence. Si on arrive à 1, n est un nombre heureux ; sinon la suite finit par passer par 4 et tourner en rond. Exemple : 7 → 49 → 97 → 130 → 10 → 1, 7 est heureux ; 4 → 16 → 37 → 58 → 89 → 145 → 42 → 20 → 4, 4 ne l'est pas.
- 1) Créer un programme Python et l'enregistrer sous le nom Heureux.py (1 pt).
- 2) Écrire la fonction SommeCarres(n) qui renvoie la somme des carrés des chiffres de n (2 pts).
- 3) Écrire la fonction Heureux(n) qui renvoie Vrai si n est heureux : on applique SommeCarres jusqu'à obtenir 1 ou 4 (2 pts).
- 4) Écrire le programme principal en Python qui lit n (n ≥ 1, saisie contrôlée) puis affiche « n est un nombre heureux » ou « n n'est pas un nombre heureux » (3 pts).
Exemple : pour 19, le programme affiche :
19 est un nombre heureux
Exercice 2 : la tombola des nombres heureux (12 pts)
Pour la fête du lycée, chaque élève achète un ticket de tombola. Un ticket est un enregistrement Ticket formé du nom de l'élève (chaîne) et du numéro du ticket (entier ≥ 1, saisie contrôlée). Un ticket gagne si son numéro est un nombre heureux, reconnu avec les fonctions SommeCarres et Heureux de l'exercice 1.
On recopie dans ce programme les fonctions SommeCarres et Heureux de l'exercice 1.
- 1) Créer un programme Python et l'enregistrer sous le nom Tombola.py (1 pt).
- 2) Écrire la procédure Remplir(T, n) qui lit le nom et le numéro de chacun des n tickets (3 pts).
- 3) Écrire la fonction NbGagnants(T, n) qui renvoie le nombre de tickets gagnants, en appelant la fonction Heureux, qui appelle SommeCarres (3 pts).
- 4) Écrire la procédure AfficherGagnants(T, n) qui affiche, un par ligne, le nom et le numéro de chaque ticket gagnant sous la forme de l'exemple (2 pts).
- 5) Écrire le programme principal en Python qui lit n (1 ≤ n ≤ 30, saisie contrôlée), remplit T, puis affiche « Aucun ticket gagnant », ou le nombre de tickets gagnants suivi de la liste des gagnants (3 pts).
Exemple : pour 4 tickets Rim 19, Sami 20, Omar 7 et Lina 42, le programme affiche :
Tickets gagnants : 2
Rim (19)
Omar (7)
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.
Les corrections gratuites de cet appareil ont déjà été utilisées, avec ce compte ou un autre : chaque appareil a droit à 3 corrections gratuites, quel que soit le nombre de comptes. Pour les autres corrections, il faut un abonnement. Voir les tarifs ou écrire sur WhatsApp.
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.
Toutes les corrections jusqu'au devoir de synthèse3 mois pour 20 TND, offre jusqu'au 30 novembre 2026 Envoyer à un parent pour qu'il paieSujet original écrit pour Mission Carthage, dans le format d'un devoir pratique d'informatique (3ème Sciences de l'informatique). Ce n'est pas un sujet officiel.
Tout le programme : 3ème année Sciences de l'informatique · Revoir le cours · Tous les devoirs