Devoir de contrôle n°1 : enregistrements et fichiers texte
Les algorithmes s'écrivent en notation algorithmique avec leurs tableaux de déclaration (TDNT, TDO), les programmes en Python. En Python, un enregistrement est représenté par un dictionnaire. Barème sur 20 points.
Exercice 1 : un tableau d'enregistrements (6 pts)
On veut gérer les résultats d'une classe. Chaque élève est décrit par un enregistrement Eleve formé de deux champs : nom (chaîne) et moy (réel, la moyenne sur 20).
- 1) Déclarer le type Eleve et le type Tab, tableau de 30 éléments de type Eleve, dans un TDNT (1 pt).
- 2) Écrire la procédure Saisir qui lit n (2 ≤ n ≤ 30, saisie contrôlée) puis le nom et la moyenne de chaque élève (2 pts).
- 3) Écrire la fonction Premier qui renvoie l'indice de l'élève qui a la meilleure moyenne ; en cas d'égalité, le premier rencontré (1,5 pt).
- 4) Écrire la fonction NbAdmis qui renvoie le nombre d'élèves dont la moyenne est supérieure ou égale à 10 (1,5 pt).
Le programme principal affiche le nom et la moyenne du premier de la classe, puis le nombre d'admis. Pour n = 3 et les élèves Amine 12.5, Salma 15.25 et Yassine 9, il affiche :
Premier : Salma 15.25
Admis : 2
Exercice 2 : un fichier de mots (7 pts)
Un mot est un palindrome s'il se lit de la même façon de gauche à droite et de droite à gauche (exemple : radar).
- 1) Écrire la procédure Remplir qui lit un entier n (1 ≤ n ≤ 20, saisie contrôlée) puis n mots, et les enregistre dans le fichier texte mots.txt, un mot par ligne (2,5 pts).
- 2) Écrire la fonction Palindrome qui renvoie Vrai si un mot est un palindrome (2 pts).
- 3) Écrire la procédure Afficher qui parcourt le fichier mots.txt, affiche les palindromes qu'il contient puis leur nombre (2,5 pts).
Pour n = 4 et les mots radar, maison, ete, kayak, le programme affiche :
radar
ete
kayak
3 palindrome(s)
Exercice 3 : notes dans un fichier, liste des admis (7 pts)
Le fichier texte notes.txt contient une ligne par élève sous la forme nom;note, par exemple « Amine;12.5 ».
- 1) Écrire la procédure Creer qui lit n (n ≥ 1, saisie contrôlée) puis, pour chaque élève, son nom et sa note, et écrit la ligne nom;note dans notes.txt (2 pts).
- 2) Écrire la procédure Admis qui lit notes.txt et recopie dans le fichier admis.txt les lignes des élèves qui ont une note supérieure ou égale à 10 ; elle affiche ensuite la moyenne de la classe arrondie à deux décimales (3 pts).
- 3) Écrire la procédure Lister qui affiche le contenu de admis.txt (1 pt).
- 4) Pourquoi doit-on fermer notes.txt avant de l'ouvrir en lecture ? (1 pt)
Pour n = 3 et les élèves Amine 12.5, Salma 8 et Yassine 15, le programme affiche :
Moyenne de la classe : 11.83
Amine;12.5
Yassine;15
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 contrôle du 1er trimestre du bac Sciences de l'informatique (algorithmique et programmation).
Tout le programme : Bac Sciences de l'informatique · Revoir le cours · Tous les devoirs