Examen Programmation VB.NET
Transcription
Examen Programmation VB.NET
Année Universitaire : 2015 – 2016 Université de Monastir Ecole d’Ingénieurs de Monastir ère Niveau 1 année Méc-Ener Matière Programmation VB.NET Examen Programmation VB.NET Date : 16 Decembre 2015 - Durée : 2 h Remarque : - Aucun document n’est autorisé. - il faut lire tout le problème ; les questions sont indépendantes - Nombre de pages de l'examen : 4 pages On désire réaliser une application de quizz en français. C’est un programme qui va tester le niveau de l’utilisateur en français en lui proposant des questions à choix multiples (QCM) (4 choix) auxquelles il va répondre en cochant une réponse qu’il juge correcte. Le Quizz comprend 20 questions lues à partir d’un fichier. il se termine en affichant le score (le nombre de réponses correctes) et une appréciation du niveau (4 niveaux qui seront détaillés par la suite). Dans la suite, nous vous expliquerons la démarche à suivre pour réaliser cette application. Ci-dessous, est présentée l’interface du Quizz (en phase de design). Elle comporte deux GroupBox, le premier contient les QCM, l’autre contient les réponses précédentes. LblNum BtnStart GrpAncien LblIntitule GrpReponses RdoRep1 RdoRep2 RdoRep3 RdoRep4 BtnAfficheResult BtnSuivant 1 Le fonctionnement du quizz est le suivant : Au démarrage : o GrpReponses est désactivé (la propriété « enabled » est à « False »). o Aussi le bouton « BtnSuivant ». o Le bouton « BtnAfficheResult » est invisible (propriété « visible » est à « False »). Seul est actif le bouton indiquant le commencement du test. En cliquant sur « commencer le test » : o Activer « GrpReponse » o Faire appel à la procédure non évènementielle « lecture » qui lit les informations nécessaires à la première question seulement à placer sur l’interface à partir du fichier « D:\Questions.txt » : N° de la question, la question, les 4 réponses possibles. o désactiver le bouton "Commencer le test" o décocher toute les options En cliquant sur une réponse le bouton « BtnSuivant » devient actif. Suite au clic sur « BtnSuivant » : o enregistrer la réponse dans un tableau de réponses. o écrire réponse dans un la label (ajouté comme composant dynamique programmation) et par dans le groupebox « GrpAncien». 2 o lecture de la question suivante en utilisant la procédure « Lecture ». o décocher toute les options. o désactiver le bouton « BtnSuivant ». o tester si fin du quizz (20questions traitées), si oui afficher un message indiquant la fin et rendre le bouton « BtnAfficheResult » visible. L’appui sur « BtnAfficheResult » permet de faire appel à la fonction « Resultat() » qui est responsable de déterminer le nombre de réponses correctes. Utilisera son retour pour afficher un message indiquant le nombre de réponses correctes et une appréciation de niveau. Le fichier « D:\Questions.txt » possède la structure ci-contre qui se répète pour N° de la question La question chaque question. Les 4 choix pour la réponse Pour réaliser ce quizz, nous allons déclarer un certain nombre de variables globales : NumQuestionCourante : le numéro de la question lu à partir du fichier : la 1ère lecture d’une ligne du fichier vous donnera ce numéro. TabReponse : un tableau ayant au maximum 20 entiers contenant les réponses de l’utilisateur. LblReponse : un tableau de label ayant au maximum 20 labels contenant les réponses choisies par l’utilisateur. un label est ajouté à chaque fois qu’on répond à une nouvelle question au groupbox « GrpAncien ». Fin : une variable booléenne qu’on utilisera pour détecter la fin du quizz. Initialement à false Suivre les étapes suivantes pour réaliser l’application : 1. Programmer la procédure « lecture() » qui permet de lire (ligne par ligne) les informations nécessaire à une question et les affecte aux composants correspondants sur l’interface : Numéro de la question en cours, la question et les 4 choix pour la propriété texte des 4 radio boutons. 3 2. Programmer l’évènement chargement de l’application qui fera les opérations indiquées dans l’explication du fonctionnement du quizz. 3. Programmer l’évènement clic sur « BtnStart » qui fera les opérations indiquées dans l’explication du fonctionnement du quizz. 4. Programmer l’évènnement « CheckedChanged » pour chaque RadioButton pour qu’il active le bouton « BtnSuivant ». 5. Programmer l’évènement clic sur « BtnSuivant » qui fera les opérations indiquées dans l’explication du fonctionnement du quizz. Concernant le tableau de labels, à chaque appui, allouer la mémoire nécessaire avec new, paramétrer le label (nom, texte, position) puis l’ajuter au GroupBox. 6. Programmer la fonction « Resultat() » qui lit le fichier « D:\Reponses.txt » (figure ci-contre) où sont stockées toutes les réponses aux questions. Il contient 20 lignes (réponses à 20 questions). Chaque ligne contient un nombre (1, 2, 3 ou 4). il faudra alors lire ligne par ligne le fichier et comparer à chaque fois un élément du tableau de réponse à l’élément d’indice correspondant lu à partir du fichier. 7. et effectue les opérations indiquées dans l’explication du fonctionnement du quizz. 8. Programmer l’évènement clic sur « BtnAfficheResult » qui fera les opérations indiquées dans l’explication du fonctionnement du quizz. Pour l’appréciation de niveau, ce sera comme suit : Entre 0 et 5 bonnes réponses –> Tu dois améliorer ta grammaire ! Entre 5 et 10 bonnes réponses –> C’est pas mal mais tu peux faire mieux ! Entre 10 et 15 bonnes réponses –> Un bon niveau de grammaire même si tu peux encore progresser ! Entre 15 et 20 bonnes réponses –> Impressionnant ! Très bon niveau de grammaire! 4