Evaluation et consultation – Bac pratique – Section informatique – 2024

Bac Info 22-01-26
8 0

Sujet (Python et Qt Designer- Bac 2024)

Dans le cadre d'une initiative visant à renforcer les compétences en calcul mental des jeunes élèves, on envisage de développer un système composé de deux interfaces graphiques :

~ "Interface_Evaluation" (voir Fig1 de l’annexe) : destinée aux élèves, elle leur permet de tester leurs compétences dans le calcul d’expressions arithmétiques. Les réponses sont enregistrées dans un fichier d’enregistrements nommé "Evaluations.dat". Chaque enregistrement de ce fichier est formé des champs suivants :

id : Identifiant de l'élève.

exp : Expression arithmétique à résoudre.

rep : Réponse soumise par l'élève.

valid : Validité de la réponse (vrai/faux).

~ "Interface_Consultation" (voir Fig2 de l’annexe) : destinée aux enseignants, elle permet de faire le suivi des progrès des élèves. Elle affiche, pour le type d'opérateur sélectionné (+, -, *), les identifiants des élèves, les expressions évaluées relatives à cet opérateur, les réponses fournies et les résultats obtenus. Ces informations sont extraites du fichier "Evaluations.dat".

Les expressions arithmétiques à évaluer sont enregistrées dans un fichier texte nommé "Expressions.txt", à raison d’une expression par ligne. Chaque expression comporte un ou plusieurs opérateurs de même type.

Travail demandé :

1- En se basant sur la figure Fig1 de l’annexe, compléter l'interface graphique "ui" par les éléments manquants.

2-  Apporter les modifications nécessaires au fichier "py" afin de réaliser les actions ci-après sachant que le module afficher, déjà développé, permet de vérifier la validité de l’identifiant (formé par 8 chiffres) puis d’afficher dans le label nommé labExp, une expression générée aléatoirement à partir du fichier "Expressions.txt".

a- Développer la fonction evaluer (ch) qui permet de retourner le résultat de calcul de l’expression ch. Cette dernière est une chaine de caractères représentant une expression arithmétique bien formatée, comportant uniquement des nombres et un seul type d'opérateur (+, -, *). Exemples : pour ch = "12+2000+100" ~ evaluer(ch) retourne 2112

pour ch = "200-5-50-100" ~ evaluer(ch) retourne 45

pour ch = "2*15"                         ~ evaluer(ch) retourne 30

NB : il est interdit d’utiliser les fonctions intégrées eval, exec et toute autre fonction équivalente.

b- Développer le module valide qui permet :

~ d’afficher un message d’erreur, conformément à la figure Fig3 de l’annexe, dans le cas où l'identifiant saisi est invalide ;

Ou bien

~ d’afficher un message d’erreur, conformément à la figure Fig4 de l’annexe, dans le cas où l’élève n’a pas fournie de réponse ;

Ou bien

  • d’afficher dans le label nommé labRes le message "Réponse correcte" ou "Réponse erronée" en fonction de la validité de la réponse fournie (voir la figure Fig5 de l’annexe). La validité est obtenue en comparant la réponse fournie avec le résultat retourné par la fonction evaluer appliquée à l’expression à calculer ;
  • d’ajouter à la fin du fichier "dat" l’enregistrement formé par l'identifiant saisi (id), l'expression affichée (exp), la réponse fournie par l’élève (rep) et sa validité (valid).
  • En se basant sur la figure Fig2 de l’annexe, compléter l'interface graphique "ui" par les éléments manquants.
  • Apporter les modifications nécessaires au fichier "py" afin de réaliser les actions suivantes :
  1. a) Compléter le programme principal (partie exploitation de l’interface graphique) par les noms des objets graphiques et des modules adéquats afin :
  • de charger l’interface graphique depuis le fichier "ui" ;
  • d’appeler le module nommé consulter suite au clic sur le bouton intitulé "Afficher".
  1. b) Développer le module consulter qui permet :
  • de remplir l’objet "table Widget" par les enregistrements du fichier "dat" dont le champ exp contient l'opérateur sélectionné dans la liste déroulante. Pour la colonne Résultat, afficher "réponse correcte" ou "réponse erronée" selon la valeur du champ "valid" (voir Fig6 de l’annexe).

NB : On pourra utiliser les méthodes suivantes :

- setRowCount(nbrelignes)

- insertRow(numligne)

- setItem(numligne, numcolonne, QTableWidgetItem("valeur"))

  • d’afficher dans le label nommé labNb le nombre de réponses correctes relatives à l’opérateur sélectionné dans la liste déroulante (voir Fig6 de l’annexe).

L'interface graphique avec Qt Designer

a- Ouvrez Qt Designer et créez un nouveau fichier de type Main Window.

b- Ajoutez ces widgets :

- QLabel contenant le texte "Donner la valeur de x :".

- QLineEdit : zone de saisie pour saisir une valeur de x.

- QPushButton : bouton intitulé "Ajouter".

- QPushButton : bouton intitulé "Afficher Racines".

- QTableWidget : table widget contenant deux colonnes "Nombre" et "Racine carrée" pour afficher le contenu du fichier "Approchee.dat".

 

Solution en Python

0 commentaire

laisser un commentaire

Veuillez noter s'il vous plaît*

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Passion de robotique

Atelier robotique

Construction des robots

Bras robotique

Maison intelligente

But de ce site web

La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.

Coordonnées

Zaouiet Kontech-Jemmel-Monastir-Tunisie

+216 92 886 231

medaliprof@gmail.com

Photos des articles

Site robotique réalisé par Mohamed Ali Haj Salah - Prof Info