6.14.3 EP06_03 🟡 Classification des Marques sur les Feuilles de Réponses (OMR)
Après la correction de la feuille et la segmentation des cadres de réponses, le MCTest estime, pour chaque bulle, un degré de remplissage, représenté par une valeur entre \(0\) et \(100\). À partir de ces valeurs, le système doit déterminer automatiquement l’alternative marquée, en identifiant également les questions blanches et les cas de marques multiples.
Dans cet exercice, vous implémenterez cette étape de décision du pipeline OMR. La classification dépend d’un seuil de remplissage : de petites variations de cette valeur peuvent modifier le résultat de la lecture automatique.
6.14.3.1 📋 Directives d’Implémentation
- Paramètres : Lire les entiers \(Q\) (nombre de questions) et \(K\) (nombre d’alternatives par question, avec \(2 \le K \le 26\)) ainsi que le seuil de remplissage \(\mathrm{Th}\) (nombre réel entre \(0\) et \(100\)).
- Degrés de remplissage : Pour chacune des \(Q\) questions, lire les \(K\) valeurs réelles correspondant aux alternatives
A,B,C, …, dans l’ordre de saisie. - Comptage des marques : Pour chaque question, compter combien d’alternatives ont un degré de remplissage strictement supérieur à \(\mathrm{Th}\).
- Classification :
- Si aucune alternative ne dépasse \(\mathrm{Th}\), classer la question comme
BRANCO. - Si exactement une alternative dépasse \(\mathrm{Th}\), imprimer la lettre correspondante (
A,B,C, …). - Si deux alternatives ou plus dépassent \(\mathrm{Th}\), classer la question comme
DUPLA_MARCACAO.
- Si aucune alternative ne dépasse \(\mathrm{Th}\), classer la question comme
- Sortie par question : Imprimer, dans l’ordre de lecture, la classification de chaque question.
- Totaux : À la fin, imprimer le nombre de questions
OK(une seule marque),BRANCOetDUPLA_MARCACAO.
6.14.3.2 📌 Contraintes Computationnelles
- Comparaison stricte : seules les valeurs supérieures à \(\mathrm{Th}\) sont considérées comme des marques valides ; les valeurs exactement égales au seuil ne doivent pas être comptabilisées.
- Lettres des alternatives : l’indice \(0\) correspond à l’alternative
A, l’indice \(1\) à l’alternativeB, et ainsi de suite. - Marques multiples : dès que deux alternatives ou plus dépassent le seuil, la classification doit être
DUPLA_MARCACAO, indépendamment de leurs degrés de remplissage respectifs.
6.14.3.3 🧠 Fondement Théorique
| Situation | Classification | Interprétation |
|---|---|---|
| Exactement une alternative au-dessus du seuil | Lettre de l’alternative | Réponse valide |
| Aucune alternative au-dessus du seuil | BRANCO |
Question non répondue |
| Deux alternatives ou plus au-dessus du seuil | DUPLA_MARCACAO |
Réponse ambiguë |
Le seuil de remplissage contrôle la sensibilité de l’algorithme. Des valeurs très basses tendent à augmenter le nombre de DUPLA_MARCACAO, tandis que des valeurs très hautes peuvent augmenter la quantité de questions classées comme BRANCO.
6.14.3.4 📦 Spécification d’Entrée et de Sortie (VPL)
Entrée :
- Ligne 1 : Entier \(Q\).
- Ligne 2 : Entier \(K\).
- Ligne 3 : Nombre réel \(\mathrm{Th}\).
- Les \(Q\) lignes suivantes : \(K\) nombres réels, correspondant aux degrés de remplissage des alternatives.
- Ligne 1 : Entiers \(Q\) et \(K\).
Sortie :
- \(Q\) lignes, chacune contenant la classification de la question respective.
- Ligne finale :
OK: x BRANCO: y DUPLA_MARCACAO: z.
6.14.3.5 📌 Exemples
| Entrée | Sortie | Observation |
|---|---|---|
| 3 4 50 10 85 5 12 20 15 18 22 90 88 10 5 |
B BRANCO DUPLA_MARCACAO OK: 1 BRANCO: 1 DUPLA_MARCACAO: 1 |
Dans la première question, seule B dépasse le seuil ; dans la deuxième, aucune alternative ne le dépasse ; dans la troisième, A et B dépassent le seuil. |
| 1 2 50.0 50 50 |
BRANCO OK: 0 BRANCO: 1 DUPLA_MARCACAO: 0 |
Les valeurs égales au seuil ne sont pas considérées comme des marques valides. |
%%writefile EP06_03.py
# Code PythonOverwriting EP06_03.py
TestSuite("EP06_03.py").run()✔️ EP06_03.cases existe déjà dans casos/
📋 5 cas chargé(s) depuis casos/EP06_03.cases
🔍 Test de Python : EP06_03.py
⚠️ EP06_03.py : fichier vide (moins de 3 lignes). Tests ignorés.