0% ont trouvé ce document utile (0 vote)
3 vues4 pages

Examen Java 23

Ce document présente un examen de programmation orientée objet pour des étudiants en génie informatique, axé sur la création d'un programme de gestion d'examens avec différentes types de questions. Il décrit les classes nécessaires, telles que Question, QuestionRepCourte, Quizz, Choix, et Examen, ainsi que leurs attributs et méthodes. L'examen évalue la capacité des étudiants à implémenter ces concepts en écrivant un programme principal qui gère les questions et les réponses.

Transféré par

rekikemna01
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues4 pages

Examen Java 23

Ce document présente un examen de programmation orientée objet pour des étudiants en génie informatique, axé sur la création d'un programme de gestion d'examens avec différentes types de questions. Il décrit les classes nécessaires, telles que Question, QuestionRepCourte, Quizz, Choix, et Examen, ainsi que leurs attributs et méthodes. L'examen évalue la capacité des étudiants à implémenter ces concepts en écrivant un programme principal qui gère les questions et les réponses.

Transféré par

rekikemna01
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Nord-Américaine privée

République Tunisienne Institut International de Technologie


Ministère de l’Enseignement Supérieur ‫المدرسة العليا الدولية الخاصة للتكنولوجيا بصفاقس‬
et de la Recherche Scientifique

Matière : Discipline : Semestre : 2


Programmation Orientée Objet 1 Génie Informatique
Enseignant : Année universitaire : 2022-2023 Date : 05/06/2023
Slim Kallel & Saïd Taktak
Documents : Autorisés Nombre de pages : 3 Durée : 2h

© ‫إمتحان الدورة األساسية‬ Examen session Principale

 Les étudiants doivent répondre sur une feuille d’examen

Problème (20 pts)


Le but de cet exercice est d’écrire un programme permettant de préparer un examen avec des
questions notées.
Les questions peuvent êtres de différents types : des questions à réponse courte ou des quizz. On
peut même imaginer d'autres types de questions. Il est donc naturel ici de penser à une structure de
classes avec de l'abstraction.
Il est à noter que tout le long de cet exercice les attributs des classes à définir ne doivent pas être
publiques. N’oubliez pas également d’ajouter les constructeurs qui initialisent les attributs de classe.
Pour les accesseurs et les modificateurs des attributs des classes vous pouvez les utiliser, en cas
de besoin, sans les implémenter.
La figure ci-dessous présente le diagramme de classes de cet énoncé.

Page 1 / 4
Université Nord-Américaine privée
République Tunisienne Institut International de Technologie
Ministère de l’Enseignement Supérieur ‫المدرسة العليا الدولية الخاصة للتكنولوجيا بصفاقس‬
et de la Recherche Scientifique

Matière : Discipline : Semestre : 2


Programmation Orientée Objet 1 Génie Informatique
Enseignant : Année universitaire : 2022-2023 Date : 05/06/2023
Slim Kallel & Saïd Taktak
Documents : Autorisés Nombre de pages : 3 Durée : 2h

I. Partie 1 : les questions


a. Question (2pts)
Chaque question est définie par
• le numéro de la question (numQ) de type entier,
• le texte de la question (txtQ) de type chaine de caractères.
• la note (noteQ) de type float : représente la note obtenue si la réponse est correcte.
Et contient les méthodes suivantes
• poser() : méthode abstraite permettant d’afficher la question sur l’écran.
• verifierQuestion(String rep) : méthode abstraite qui vérifie la validité de la réponse passée en
paramètre sous forme de chaine de caractère et retourne un nombre réel qui représente la
note obtenue pour cette question.
b. Question à réponse courte (2 pts)
Les questions à réponse courte sont des questions qui ne contiennent pas une liste de choix
prédéfinis. Ce type de question permet à l’utilisateur de fournir une réponse d’un ou quelque mot,
qui sera comparée par la suite avec la réponse correcte. Ainsi une question à réponse courte est
caractérisée en plus d’une question par un attribut « réponseCorrecte » de type chaine de
caractères est qui contient la réponse correcte de la question.
La classe QuestionRepCourte offre les méthodes suivantes
• poser() permettant d’afficher sur l’écran le texte de la question sans afficher bien évidemment
la réponse correcte.
• verifierQuestion() : permet de vérifier que la valeur de « réponseCorrecte » correspond à la
réponse passée en paramètre. Si on la trouve, on retourne la noteQ complète sinon zéro.
c. Quizz (5 pts)
Les Quizz sont des questions permettant de choisir une seule réponse à partir d’un tableau
prédéfini de réponse. Ainsi un Quiz est caractérisé en plus d’une question par un tableau de type
Choix contenant l’ensemble de choix possibles. On suppose qu’un quizz ne peut pas avoir plus que
5 choix possibles. Il faut donc penser à implémenter la classe Choix.
La classe Quizz implémente l’interface Melangeable qui contient la méthode mélanger.
La classe Quizz offre essentiellement les méthodes :
• poser() : permettant d’afficher sur l’écran le texte de la question ainsi que les différents choix
possibles.
• ajouterChoix() : permettant d’ajouter un choix passé en paramètre à la liste des choix
possibles. Cette méthode lève une exception de type « Quizz_Multi_Rep » si le tableau des
choix contient plus qu’une valeur « True »
• mélanger () : permettant de modifier l’ordre des choix de façon aléatoire. Vous pouvez utiliser
la méthode [Link]() qui retourne un nombre réel aléatoire entre 0 et 1.

Page 2 / 4
Université Nord-Américaine privée
République Tunisienne Institut International de Technologie
Ministère de l’Enseignement Supérieur ‫المدرسة العليا الدولية الخاصة للتكنولوجيا بصفاقس‬
et de la Recherche Scientifique

Matière : Discipline : Semestre : 2


Programmation Orientée Objet 1 Génie Informatique
Enseignant : Année universitaire : 2022-2023 Date : 05/06/2023
Slim Kallel & Saïd Taktak
Documents : Autorisés Nombre de pages : 3 Durée : 2h

• verifierQuestion() : prend en paramètre (sous forme de chaine de caractères) le numéro de


choix sélectionnés et retourne la note obtenue pour cette question. La note complète si le
choix sélectionné a comme valeur « True » sinon 0.
d. Choix (1 pt)
La classe Choix contient les attributs suivants :
• Le texte du choix (txtC) de type chaine de caractères
• L’état du choix (valeurC) de type booléen.
II. Partie 2 : Examen (7 pts)
Dans cette partie on s’intéresse à la création des examens à partir des questions définies dans la
première partie.
La classe Examen implémente l’interface Melangeable
Un examen est caractérisé par :
• Un nom de l’examen (nonEx) de type chaine de caractère
• Un ArrayList (listeQ) qui contient les différents types de questions qui forment l’examen.
• Un ArrayList (listeR) de type chaine de caractère qui contient les réponses saisies par
l’utilisateur pour chaque question au moment de passage de l’examen.
La classe Examen offre les méthodes suivantes :
• ajouterQuestion() : permet d’ajouter à l’examen une question passée en paramètre.
• ajouterReponse() : permet d’ajouter une réponse passée en paramètre à la listeR.
• Mélanger () : permet de modifier l’ordre des questions de façon aléatoire. S’il s’agit d’une
question de type Quizz il faut penser également à mélanger les choix.
• lancerExamen() : permet de parcourir la liste des questions de l’examen, afficher pour
chaque itération la question et invoquer la méthode lire() retournant une chaine de
caractère qui représente la réponse saisie au clavier par l’utilisateur pour l’ajouter à
listeR. Vous pouvez utiliser la méthode lire sans l’implémenter.
La méthode LancerExamen lève une exception de type Examen_vide si l’examen ne
contient pas de questions.
• verifierExamen() : permet de retourner la note finale de l’examen suite à la vérification de
toutes les questions de l’examen.

III. Partie 3 : programme principal (3 pts)


Définir la classe Test qui contient la méthode main () :
• Créer 2 questions de types différents (question à réponse courte et un quizz),
• Créer un examen et lui ajouter ces 2 questions.
• Mélanger les questions de l’examen.
• Lancer l’examen puis afficher la note finale.

Page 3 / 4
Page 2 / 4

Vous aimerez peut-être aussi