Devoir de synthèse n°1 : carré magique, tri de prénoms et recherche dichotomique, matrice des notes
Les algorithmes s'écrivent en notation algorithmique (DEF FN / DEF PROC), les programmes en Python. Les indices commencent à 0. Barème sur 20 points.
Exercice 1 : le carré magique (7 pts)
Une matrice carrée M de n lignes et n colonnes (3 ≤ n ≤ 6) est un carré magique si la somme de chaque ligne, la somme de chaque colonne et les sommes des deux diagonales sont toutes égales.
- 1) Écrire la procédure Remplir(M, n) qui lit les éléments ligne par ligne (1 pt).
- 2) Écrire les fonctions SommeLigne(M, n, i) et SommeColonne(M, n, j) (2 pts).
- 3) Écrire la fonction Magique(M, n) qui compare toutes les sommes à celle de la première ligne et s'arrête dès qu'une somme est différente (3 pts).
- 4) Écrire le programme principal (1 pt).
Pour n = 3 et M = [[2, 7, 6], [9, 5, 1], [4, 3, 8]], le programme affiche : Carré magique de somme 15
Sinon, il affiche : Ce n'est pas un carré magique
Exercice 2 : trier des prénoms et en chercher un (7 pts)
On veut ranger les prénoms des n élèves d'un club (2 ≤ n ≤ 30) dans l'ordre alphabétique, puis retrouver rapidement un prénom. Les prénoms sont écrits en minuscules, sans accents.
- 1) Écrire la procédure TriBulles(T, n) qui trie le tableau de chaînes T dans l'ordre alphabétique (2,5 pts).
- 2) Écrire la fonction Dicho(T, n, x) qui renvoie la position de x dans T trié, ou -1 (2,5 pts).
- 3) Écrire le programme qui lit n, les n prénoms, puis un prénom x ; il affiche les prénoms triés sur une ligne, puis « x est à la position p » ou « x n'est pas inscrit » (2 pts).
Pour n = 5, les prénoms sami, ali, rim, emna, karim, puis x = rim, le programme affiche :
ali emna karim rim sami
rim est à la position 3
Exercice 3 : la matrice des notes (6 pts)
Une matrice N de n lignes et 3 colonnes contient les notes de n élèves (2 ≤ n ≤ 20) en Algorithmique (coefficient 3), Mathématiques (coefficient 2) et STI (coefficient 1). Le tableau Nom contient leurs noms.
- 1) Écrire la fonction Moyenne(N, i) qui renvoie la moyenne pondérée de l'élève i, arrondie à 2 chiffres (2 pts).
- 2) Écrire la procédure Bilan(Nom, N, n) qui affiche la moyenne de chaque élève, puis le nom du major de la classe (le premier en cas d'égalité) (3 pts).
- 3) Écrire le programme principal ; les notes sont des entiers de 0 à 20 (saisie contrôlée) (1 pt).
Pour les élèves Rania (14, 12, 16), Omar (10, 18, 9) et Lina (17, 13, 15), le programme affiche :
Rania 13.67
Omar 12.5
Lina 15.33
Major : Lina
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, dans le style des devoirs de synthèse du 1er trimestre de 3ème Sciences de l'informatique (algorithmique et programmation).
Tout le programme : 3ème année Sciences de l'informatique · Revoir le cours · Tous les devoirs