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

Documents pareils