Devoir de contrôle n°1 (série C) : matrices, salle de cinéma et fichier des ventes
Écris tes programmes en Python ou en algorithme et vérifie-les tout de suite, puis ouvre la correction exercice par exercice.
Les algorithmes s'écrivent en notation algorithmique avec leurs tableaux de déclaration (TDNT, TDO), les programmes en Python. Les indices des lignes et des colonnes commencent à 0. Barème sur 20 points.
Exercice 1 : transposée et symétrie (6 pts)
Soit M une matrice carrée de n lignes et n colonnes d'entiers (2 ≤ n ≤ 8). Sa transposée T est la matrice obtenue en échangeant les lignes et les colonnes : T[i][j] = M[j][i]. M est symétrique quand elle est égale à sa transposée.
- 1) Écrire la procédure Transposer(M, n, T) qui range dans T la transposée de M (2 pts).
- 2) Écrire la fonction EstSymetrique(M, n) qui renvoie Vrai si M est symétrique, en ne comparant que les cases situées au-dessus de la diagonale avec leurs symétriques (2 pts).
- 3) Écrire le programme qui lit n (saisie contrôlée) et les éléments de M ligne par ligne, affiche la transposée, puis « Symétrique » ou « Non symétrique » (2 pts).
Pour n = 2 et les lignes 1 2 et 3 4, le programme affiche :
1 3
2 4
Non symétrique
Exercice 2 : la salle de cinéma (7 pts)
Une salle de cinéma de Sousse a l rangées de c places (2 ≤ l ≤ 10, 2 ≤ c ≤ 12). Son plan est rangé dans une matrice S de l lignes et c colonnes : S[i][j] vaut 1 si la place j de la rangée i est occupée, 0 si elle est libre.
- 1) Déclarer le type Salle dans un TDNT et écrire la procédure Remplir(S, l, c) qui lit le plan, chaque case valant 0 ou 1 (saisie contrôlée) (1,5 pt).
- 2) Écrire la fonction NbLibres(S, l, c) qui renvoie le nombre de places libres (1,5 pt).
- 3) Écrire la fonction RangeeLibre(S, i, c, k) qui renvoie l'indice j de la première place de la rangée i à partir de laquelle k places voisines sont libres (les places j, j + 1, …, j + k - 1), ou -1 s'il n'y en a pas (2,5 pts).
- 4) Écrire le programme qui lit l, c, le plan et k (1 ≤ k ≤ c), avec des saisies contrôlées, affiche le nombre de places libres, puis la première rangée et la première place (numérotées à partir de 1) où un groupe de k amis peut s'asseoir côte à côte, ou « Aucune rangée » (1,5 pt).
Pour l = 3, c = 5, les rangées 1 0 0 1 1, 1 1 0 0 0 et 0 1 1 1 1, et k = 3, le programme affiche :
Places libres : 6
Rangée 2 place 3
Exercice 3 : le fichier des ventes (7 pts)
Une chaîne de 3 magasins de Sfax note ses ventes (entiers positifs ou nuls) pendant les 4 trimestres de l'année. Le fichier texte ventes.txt contient ces 12 nombres, un par ligne : les 4 trimestres du magasin 0, puis ceux du magasin 1, puis ceux du magasin 2. On les range dans une matrice V de 3 lignes et 4 colonnes : V[i][j] est la vente du magasin i au trimestre j.
- 1) Écrire la procédure Creer qui lit les 12 ventes (saisie contrôlée : chaque vente est positive ou nulle) et les écrit dans ventes.txt, une par ligne (1,5 pt).
- 2) Écrire la procédure Charger(V) qui lit ventes.txt et remplit V : le nombre de la ligne k du fichier (k à partir de 0) va dans la case V[k div 4][k mod 4] (2 pts).
- 3) Écrire la fonction TotalMagasin(V, i) qui renvoie la somme des ventes du magasin i (1 pt).
- 4) Écrire la fonction MeilleurTrimestre(V) qui renvoie l'indice du trimestre où les 3 magasins ensemble ont le plus vendu ; en cas d'égalité, le premier (1,5 pt).
- 5) Écrire le programme qui appelle Creer puis Charger, affiche le total de chaque magasin et le numéro (à partir de 1) du meilleur trimestre (1 pt).
Pour les ventes 30 40 50 20, 10 10 10 10 et 25 35 15 45, le programme affiche :
Magasin 1 : 140
Magasin 2 : 40
Magasin 3 : 120
Meilleur trimestre : 2
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, troisième série d'entraînement pour le devoir de contrôle du 1er trimestre du bac Sciences de l'informatique, centrée sur les matrices.
Tout le programme : Bac Sciences de l'informatique · Revoir le cours · Tous les devoirs