Accueil › Devoirs › Bac Maths-Sc-Tech
Devoir de contrôle n°2 : interfaces graphiques Qt Designer et PyQt5
Chaque interface est dessinée dans Qt Designer et enregistrée sous le nom interface.ui. Le programme la charge avec loadUi. Les noms des objets (objectName) imposés dans l'énoncé doivent être respectés. Barème sur 20 points.
Exercice 1 : moyenne et mention (7 pts)
Dans un lycée, la moyenne d'un élève est calculée avec les coefficients Maths 3, Informatique 2 et Physique 2. Il faut réaliser l'application suivante.
- Trois champs de saisie : txtMath, txtInfo, txtPhys (QLineEdit) pour les notes sur 20.
- Un bouton btnMoyenne (QPushButton) avec le texte « Calculer ».
- Deux étiquettes (QLabel) : lblMoyenne pour la moyenne arrondie à deux décimales et lblMention pour la mention.
Mention : 16 ou plus « Très bien », 14 ou plus « Bien », 12 ou plus « Assez bien », 10 ou plus « Passable », sinon « Ajourné ».
- 1) Dessiner l'interface : donner la liste des widgets avec leur nom et leur classe (2 pts).
- 2) Écrire le programme Python qui charge l'interface et calcule la moyenne et la mention quand on clique sur le bouton (4 pts).
- 3) Expliquer le rôle des instructions loadUi, clicked.connect, show et app.exec_() (1 pt).
Exercice 2 : choix de l'opération (7 pts)
On veut une fenêtre qui calcule, pour un entier n saisi par l'utilisateur, l'une de trois opérations choisie avec des boutons radio.
- txtN (QLineEdit) : l'entier n.
- rbFact, rbSomme et rbPuiss (QRadioButton) : respectivement n! (factorielle), 1 + 2 + … + n, et 2 puissance n. rbFact est coché au départ.
- btnExec (QPushButton) : lance le calcul.
- lblRes (QLabel) : le résultat, ou le message « Entier positif requis » si le texte saisi n'est pas un entier positif ou nul.
- 1) Dessiner l'interface (2 pts).
- 2) Écrire le programme (5 pts). On n'utilisera pas math.factorial.
Exercice 3 : trier une liste de nombres (6 pts)
L'utilisateur saisit des entiers séparés par des espaces, choisit l'ordre dans une liste déroulante, puis clique sur un bouton. Le programme affiche les nombres triés, séparés par un espace.
- txtListe (QLineEdit) : par exemple « 5 2 9 1 7 ».
- comboOrdre (QComboBox) : deux choix, « Croissant » puis « Décroissant ».
- btnTrier (QPushButton) et lblTrie (QLabel) : le résultat, par exemple « 1 2 5 7 9 ».
- 1) Écrire la fonction tri_selection(T, n, croissant) qui trie le tableau T de n éléments par la méthode de sélection, sans utiliser sorted ni sort (3 pts).
- 2) Écrire le programme complet avec l'interface (3 pts).
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.
Connecte-toi d'abord : créer un compte ou me connecter.
Il te faut un abonnement actif. Voir les tarifs ou demander un code sur WhatsApp.
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 du 2ème trimestre du bac (Qt Designer et PyQt5).
Tout le programme : Bac Mathématiques, Sciences expérimentales et Technique