DS_Java_Novembre2023 version2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 3

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université de Carthage

Institut Supérieur des Technologies de l’Information et de la Communication

Classe : GLSI-2 Programmation JAVA Nombre de pages : 3

Enseignantes : AMDOUNI Imen


Date : Vendredi 27 Novembre 2020 Durée : 1h30
& BEN OTHMAN Ibtissem

Barème approximatif : Documents : autorisé  Calculatrice : autorisée 

non autorisé non autorisée 

Partie I
1. Compléter la classe Robot (en annexe à rendre) obéissant au schéma UML ci-dessous.
Robot

#type : String
#code : long
#orientation : int
#etat : boolean

+Robot()
+Robot(type : String, code : long)
+getType(): String
+getCode(): long
+getOrientation(): int
+getEtat(): Boolean
+setOrientation(sens: int): void
+setEtat(etat : boolean): void
+tourner(sens : int) : void
+affiche() : void

 orientation : est un attribut qui désigne l’orientation du Robot (1 = Nord, 2


= Est, 3 = Sud, 4 = West)
 La méthode tourner () qui permet de tourner l’orientation du Robot.
 Les constructeurs qui permettent d’initialiser les attributs du Robot
 La méthode affiche() qui permet d’afficher l’état et l’orientation d’un Robot.
2. Redéfinir la méthode equals de la classe Object afin de vérifier si deux robots sont
identiques selon leurs codes. (en annexe à rendre avec les feuilles d’examen)
3. Ecrire une classe TestRobot qui utilise cette classe ; sa fonction main comprendra
la création d’un tableau de quatre Robot, initialiser leur attributs, les afficher, les
mettre en marche (etat=true) ainsi que les orienter vers des orientations différentes
chacun de l’autre (exemple, 30°, 90°, ….), vérifier si les deux robots sont identiques.
1
Partie II
Soit une classe RobotMobile qui hérite de Robot et ayant en plus les attributs entiers privés
abs et ord : ce sont les attributs qui définissent la positon de RobotMobile (abscisse et
ordonné) ainsi qu’une méthode void avancer(int x) qui permet d’avancer le Robot selon son
orientation :

 si on avance de x vers l’Est l’abscisse augmente de x,


 si on avance vers le West de x l’abscisse diminue de x,
 si on avance vers le nord de x l’ordonnée augmente de x,
 si on avance vers le Sud de x l’ordonnée diminue de x,
Et une méthode void affichePosition() qui retourne la position (coordonnées).
1. Ecrire un constructeur par défaut de la classe RobotMobile
2. Ecrire un constructeur à quatre arguments (type, code, abs et ord) de la classe RobotMobile
3. Redéfinissez la méthode affiche() tout en utilisant celle de la classe mère et la
méthode affichePosition().
4. Ecrire une classe testRobotMobile qui permet de créer un RobotMobile, lui afficher les
attributs et lui appliquer la séquence d’actions suivante tout en affichant chaque fois la
position du Robot ainsi que son orientation.
a. Tourner vers l’Est
b. Avancer de 4 vers le West
c. Avancer de 6 vers le Nord
d. Avancer de 14 vers l’Est
e. Reculer de 8 vers le sud
5. Vérifier s’il existe un robot identique (déjà créé) à ce robotMobile.

Bon travail 

2
Nom & prénom: ……………………………...…………. Groupe:…..……….
-------------------------------------------------------------------------------------------------
Question 1 & 2
Compléter cette classe.
public class Robot {
protected String type;
protected long code;
protected int orientation;
protected boolean etat;

// Constructors

//Getters & Setters


public String getType() {return type;}
public void setType(String type) { this.type = type;}
public long getCode() {return code;}
public void setCode(long code) {this.code = code; }
public int getOrientation() { return orientation;}
public void setOrientation(int orientation) {
this.orientation = orientation;
}
public boolean isEtat() {return etat;}
public void setEtat(boolean etat) {this.etat = etat;}

Vous aimerez peut-être aussi