Devoir pratique n°7 : nombres amis et plus grande somme de diviseurs d'un tableau
É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 amis (8 pts)
Deux entiers a et b (strictement supérieurs à 1) sont amis si la somme des diviseurs de a plus petits que a est égale à b, et la somme des diviseurs de b plus petits que b est égale à a. Par exemple 220 et 284 sont amis. Chaque entier est saisi avec une saisie contrôlée.
- 1) Créer un programme Python et l'enregistrer sous le nom Amis.py (1 pt).
- 2) Écrire la fonction SommeDiv(n) qui renvoie la somme des diviseurs de n plus petits que n (3 pts).
- 3) Écrire le programme principal en Python qui lit a et b et affiche « a et b sont amis » ou « a et b ne sont pas amis », avec leurs valeurs (4 pts).
Exemple : pour a = 220 et b = 284, le programme affiche :
220 et 284 sont amis
Exercice 2 : le plus grand total de diviseurs à la fin (12 pts)
On veut lire un tableau T de n entiers (2 ≤ n ≤ 30), chacun strictement supérieur à 1 (saisie contrôlée), trouver la position du premier élément qui a la plus grande somme de diviseurs (calculée par la fonction SommeDiv de l'exercice 1, recopiée dans ce programme), l'échanger avec le dernier élément, puis afficher le tableau.
- 1) Créer un programme Python et l'enregistrer sous le nom Diviseurs.py (1 pt).
- 2) Écrire la procédure Remplir(T, n) qui lit les n éléments de T, chacun strictement supérieur à 1 (2 pts).
- 3) Écrire la fonction PosMaxDiv(T, n) qui renvoie l'indice du premier élément de T dont SommeDiv est la plus grande (3 pts).
- 4) Écrire la procédure Permuter(T, i, j) qui échange T[i] et T[j] (2 pts).
- 5) Écrire la procédure Afficher(T, n) qui affiche les éléments de T sur une ligne, séparés par un espace (1 pt).
- 6) Écrire le programme principal en Python qui lit n (saisie contrôlée), remplit T, affiche la position trouvée et la somme des diviseurs de cet élément, l'échange avec le dernier élément puis affiche T (3 pts).
Exemple : pour n = 5 et les valeurs 6, 12, 7, 9, 10, le programme affiche :
Position : 1 (somme des diviseurs : 16)
6 10 7 9 12
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 (2ème Technologies de l'informatique). Ce n'est pas un sujet officiel.
Tout le programme : 2ème année Technologies de l'informatique (TI) · Revoir le cours · Tous les devoirs