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

Correction ExamenfinalJava2015final

Transféré par

nadhirtrifi05
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 vues7 pages

Correction ExamenfinalJava2015final

Transféré par

nadhirtrifi05
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

Année Universitaire : 2014-2015

Examen principal

Module : Conception par objet et programmation Java Documents autorisés : Non


Enseignants: Equipe java
Nombre de pages : 4
Date : 07/01/2015 Heure :9h Durée : 1h30
Classes : 3 info A,3 SIGMA,4INFNI

Partie1 : (3 points)

1 -Corrigez les erreurs du code ci-dessous sachant qu’il ya 4 erreurs.

2-Complétezles codes numérotés en utilisant les propositions suivantes:

getInt(“prix”),getString(1),[Link](),getString(“immatriculation”)

getString(“libelle”),getInt(1),[Link](),getInt(0),getString(2)

Indication :La table Voiture contient l’immatriculation de type varchar(20)et le prix de type int

NB : Vous n’avez pas besoin de reproduire le code,vous écrivez que les lignes à corriger ou et les
numéros àcompléter

import [Link].*;
public class ConnexionBD {

1-privatestatic String url = "jdbc:mysql://localhost:3306/esprit ;


0.5
2- privatestatic String user = "root";

3- privatestatic String pwd = "root";

4- public staticvoidmain(String[] args) {

5-try {
0.5
6- Connectioncnx = [Link](url,user, pwd);

7- Statement st = null;

8- st = [Link]();

String sqlInsertion = "insert into Voiture (immatriculation,prix)values('Tunis


2020',20000)";

9- [Link](sqlInsertion); or executeUpdate(sql 0.5


10- String sqlLecture = "Select * from Voiture ";
11- ResultSetrs = [Link](sqlLecture); executeQuery(sql) 0.5
12- ………………(1)…while([Link]())…………………………………{ 0.5
[Link]("Immatriculation :"
+[Link](1)+"Prix:"+[Link](2)); 0.5
14- }
} catch (SQLException ex) {
[Link](ex);
}

Page 1/7
}}

SYSTEME DES ÉLECTIONS PRESIDENTIELLES (17 POINTS)

En prévision des élections de 2019, le service informatique de l’ISIE souhaite mettre en place une
application gérant les données concernant les élections présidentielles.
Le diagramme declasse suivant présente les principales classes de l’application ainsi que les
différentes relations entre celles-ci :

est affecté 1

contient

est affecté

NB : On admet que les getters et les setters de toutes les classes sont déjà implémentés. Vous
pouvez ajouter des classes en cas de besoin.
Chaque électeur est affecté à un bureau de vote.
Question 1 :

Implémentez la classe Vote:

 La méthode booleanestVoteBlanc()
- Permet de déterminer si le vote est blanc. Un vote est considéré blanc lorsqu’il est
dépourvu de tout candidat.( n’est pas attribué à aucun candidat).

Page 2/7
0.25

0.75

Question 2 :

Implémentez la classe VoteImpossibleException 1

Question 3:(2,5 points)

Implémentez la classe Electeur

- Le constructeur paramétré
- Permet d’initialiser les attributs cin et nom.

0.25

0.25

0.5

 Les méthodes hashCode et equals


- Le critère d’unicité des électeurs est le cin.

Page 3/7
0.25

0.75

 La méthode toString qui permet de retourner le cin et le nom

0.25

Question 4 :(1 point)

Implémentez la classe Candidat:

 Le constructeur paramétré
 La méthode toString : elle permet de retourner le cin ,le nom, le slogan et le nombre de
votes(0.5 point)

si nbVotes est en
paramètre du
constructeur note
=0.25 else 0.5

0.5

Question 5 :

 La méthode booleanvoter(Vote vote)


- Un électeur n’a le droit de voter qu’une seule fois. Dans le cas échéant, une
exception de type VoteImpossibleException sera levée. Le vote est
Page 4/7
comptabiliséaubureau de vote auquel le lecteur appartient, et le nombre de
votesrelatif au candidat choisisera incrémenté de 1.

0.25

0.5
025
0.5
0.5

0.5

Question 6 :

Implémentez la classe BureauVote regroupantun ensemble de candidats

0.5

 Les candidats sont triés selon le nombre de votes dans l’ordre décroissant et la duplicationdes
candidats n’est pas permise.

 Le constructeur paramétré
- Permet d’initialiser les attributs codeet gouvernorat

Page 5/7
0.5

 La méthode voidafficherResultat()(1 point)


- Permet d’afficher le résultat des candidatsdu bureau

Question 7: (6.5 points)

Implémentez la classe InstitutElections (0.5 points) (voir le diagramme de classes)

0.5

 La méthode Set<BureauVote>ensembleBureauVote()
- Permet de récupérer un ensemble des bureaux de vote.

0.5

 La méthode afficherListeElecteurParBureau(BureauVote b)(1.5 points)


- Permet d’afficher la liste triée des électeurs selon leurs CIN
0.5 classe
comparator
0.5

0.5

Page 6/7
 La méthode ajouterElecteur(Electeur e, BureauVote b)(1.5 points)
- Permet d’affecter un électeur dans un bureau du vote après avoir vérifié que :
- Le bureau de vote existe réellement
- L’électeur n’est déjà affectéà aucun bureau.

0.5
0.5

0.5

 La méthode supprimerElecteur(Electeur e)(1.5 points)


- Permet de supprimer un électeur déjà inscritdans un bureau de vote.

 La méthode changerBureauVote(Electeur e, BureauVotenouveauBureau)(1 point)


- Déduire le traitement de cette méthode sachant qu’elle permet à un électeur de
changer de bureau de vote.

Bon travail 

Page 7/7

Vous aimerez peut-être aussi