0% ont trouvé ce document utile (0 vote)
41 vues2 pages

Examen POO-Java 2022 - Université Oujda

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)
41 vues2 pages

Examen POO-Java 2022 - Université Oujda

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

Département d’Informatique Année universitaire 2021/2022

Faculté des Sciences Filière SMI, Semestre 5


Université Mohammed Premier Examen de la session normale
Oujda 05 Février 2022

Examen en POO-Java
Durée : 1h30

Exercice 1 (6pts)
Soit le code suivant en Java :
public c l a s s E x e r c i c e {
s t a t i c private S t r i n g msg = null ;
s t a t i c private int n ;
public E x e r c i c e ( ) {
n = 1;
i f ( msg == null ) msg = "Rouge" ;
afficher ();
}
public E x e r c i c e ( E x e r c i c e a u t r e ) {
t h i s . msg = a u t r e . msg ;
this . n = autre . n ;
}
private void a f f i c h e r ( ) {
System . out . p r i n t l n ( n + " . " + msg ) ;
i f ( ! msg . e q u a l s ( " Vert " ) ) {
msg = " Vert " ;
new E x e r c i c e ( ) ;
}
}
public s t a t i c void main ( S t r i n g [ ] a r g s ) {
E x e r c i c e x = new E x e r c i c e ( ) ;
n++;
x. afficher ();
E x e r c i c e y = new E x e r c i c e ( x ) ;
n++;
y. afficher ();
i f ( x . e q u a l s ( y ) ) System . out . p r i n t l n ( " e g a l i t e " ) ;
e l s e System . out . p r i n t l n ( " pas d ’ e g a l i t e " ) ;
}
}

1. Qu’affiche le programme précédent ?


2. Ce programme peut-il être compilé si on supprime le mot-clé static de la deuxième
ligne ? Si oui, qu’affiche-t-il ? Si non, pourquoi ?
3. Mêmes questions en enlevant, cette fois, le mot-clé static de la troisième ligne.

1
Exercice 2 (3pts)
Soit A une classe donnée. Écrivez une classe Permutation dans laquelle :
— instanciez deux objets de Type A, référencés par a et b, respectivement ;
— permutez les deux références (a référence le deuxième objet et b référence le premier).

Exercice 3 (11pts)
Nous voulons écrire un programme en Java pour simuler le comportement d’un robot .

1. Créez une classe abstraite Robot qui contient :


— les quatres attributs privés : nom, x, y (x et y sont deux entiers pour définir la position)
et direction (qui prend uniquement une des valeurs : “Nord”, “Est”, “Sud” ou “Ouest”) ;
— un constructeur pour initialiser les différents attributs. Le programme génère une excep-
tion si l’utilisateur entre une direction différente des quatre valeurs citées ci-dessus ;
— une méthode avancer() qui incrémente x en allant vers l’Est et le décrémente dans le
sens contraire, et qui incrémente y en allant vers le Nord et le décrémente dans le sens
contraire ;
— une méthode droite() pour tourner à droite de 90° pour changer de direction (si sa
direction était “Nord” elle devient “Est”, · · ·) ;
— une méthode afficher() pour afficher les informations du robot ;
— trois méthodes abstraites gauche(), demiTour() et avancer(int pas).

2. Créez une classe RobotNG qui hérite de Robot et qui implémente les méthodes gauche()
pour tourner à gauche, demiTour() pour faire un demi-tour et avancer(int n) pour avan-
cer de n pas, en respectant les consignes suivantes :
— en appellant seulement les anciennes méthodes pour implémenter le nouveau comporte-
ment ;
— donnez, sans écrire le code, une deuxième solution plus efficace qui change directement
l’état de l’objet sans faire appel aux anciennes méthodes.

3. Créez une classe RobotExam qui contient une méthode main(), dans laquelle :
— déclarez un tableau de trois robots ;
— le premier robot avance puis tourne à droite ;
— le deuxième robot avance de trois pas puis tourne à droite ;
— le troisième robot avance de 7 pas, tourne à gauche et fait un demi-tour ;
— affichez les informations des trois robots.

Bon courage !

Vous aimerez peut-être aussi