This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2014_2015:s2:td:td_classes-code [2015/04/18 09:34] blay [Utiliser une classe (25mn)] |
2014_2015:s2:td:td_classes-code [2015/05/01 09:56] (current) blay [Utilisation d'une classe : Chemin et Trajet] |
||
---|---|---|---|
Line 99: | Line 99: | ||
//Il est possible de changer la vitesse de la tondeuse. | //Il est possible de changer la vitesse de la tondeuse. | ||
maTondeuse.switchOn(); | maTondeuse.switchOn(); | ||
- | System.out.println("Vitesse de Tondeuse au démarrage attendue "+ Vitesse.arret +"==>" + maTondeuse.getVitesse()); | + | System.out.println("Vitesse de Tondeuse au démarrage attendue "+ Vitesse.moyen +"==>" + maTondeuse.getVitesse()); |
- | maTondeuse.setVitesse(Vitesse.moyen); | + | |
- | System.out.println("Vitesse de Tondeuse attendue "+ Vitesse.moyen +"==>" + maTondeuse.getVitesse()); | + | |
maTondeuse.setVitesse(Vitesse.rapide); | maTondeuse.setVitesse(Vitesse.rapide); | ||
System.out.println("Vitesse de Tondeuse attendue "+ Vitesse.rapide +"==>" + maTondeuse.getVitesse()); | System.out.println("Vitesse de Tondeuse attendue "+ Vitesse.rapide +"==>" + maTondeuse.getVitesse()); | ||
Line 139: | Line 137: | ||
</code> | </code> | ||
+ | - Et si nous voulions représenter plusieurs sortes de Robot, que ferions-nous? Et si tout robot était un Outil Electrique ? | ||
+ | ===== Devoir facultatif pendant les vacances ===== | ||
A présent notre robot peut utiliser un véhicule. | A présent notre robot peut utiliser un véhicule. | ||
- | Un ''véhicule'' a une position (X, Y en entier). | + | Un ''véhicule'' a une ''position'' (X, Y en entier). |
- | Il peut se déplacer sur l'axe des x, de y ou XY. | + | Il peut se déplacer sur l'axe des x ou des y. |
+ | Il peut être initialisé, ce qui le place en position (0,0). | ||
- | Un ''charriot'' est un véhicule qui se déplace d'un delta de 1O à chaque demande de déplacement : s'il est en (0,0), déplacer le chariot sur X l'amène en (10,0), puis en déplacement sur XY l'amène en (20,10). | + | Un ''charriot'' est un véhicule qui se déplace d'un delta de 10 à chaque demande de déplacement : s'il est en (0,0), déplacer le chariot sur X l'amène en (10,0), puis en déplacement sur XY l'amène en (20,10). |
- | Une "fusee" est un véhicule qui se déplace d'un delta de 1O0 à chaque demande de déplacement. | + | Une ''fusee'' est un véhicule qui se déplace d'un delta de 100 à chaque demande de déplacement. |
+ | On peut donner un véhicule au robot. Il l'initialise quand il le reçoit. | ||
+ | On peut demander au robot de se déplacer selon un schéma donné : "XYXX". Le robot déplacera alors le véhicule de X puis de Y puis de X puis de X. | ||
+ | Quand le robot arrête de travailler il ramène le véhicule en position initiale. | ||
+ | |||
+ | Voici un exemple de trace obtenue en testant ce qui est demandé. | ||
+ | |||
+ | <code> | ||
+ | =========================TESTS Jardinier & Vehicule =================== | ||
+ | ===================TESTS Vehicules =================== | ||
+ | Chariot => Vehicule [position=[0,0]] | ||
+ | Avance sur X : Chariot => Vehicule [position=[10,0]] | ||
+ | Avance sur Y : Chariot => Vehicule [position=[10,10]] | ||
+ | Fusee => Vehicule [position=[0,0]] | ||
+ | Avance sur X : Fusee => Vehicule [position=[1000,0]] | ||
+ | Avance sur Y : Fusee => Vehicule [position=[1000,1000]] | ||
+ | ===================TESTS jardinier & Vehicules =================== | ||
+ | Pas de vehicule : Je suis R2-D2 : je n'ai pas d'outil je n'ai pas de vehicule | ||
+ | Avec un charriot : Je suis R2-D2 : je n'ai pas d'outil , j'ai ce vehicule Chariot => Vehicule [position=[0,0]] | ||
+ | Deplacement du jardinier en XYX, on attend (0,0),(10,0) (10,10) (20,10) | ||
+ | [0,0] | ||
+ | [10,0] | ||
+ | [10,10] | ||
+ | [20,10] | ||
+ | Debut du travail pour le jardinier : Je démarre : Tondeuse [vitesse=moyen, cadence=1000] | ||
+ | Position du charriot attendue en (0,0): [0,0] | ||
+ | Deplacement du jardinier en YYX on l'attend en (10,20) avec la tondeuse | ||
+ | Je suis R2-D2, je tiens : Tondeuse [vitesse=moyen, cadence=1000], j'ai ce vehicule Chariot => Vehicule [position=[10,20]] | ||
+ | Arret du travail pour le jardinier : Merci, la journée a été dure! | ||
+ | Je suis R2-D2 : je n'ai pas d'outil , j'ai ce vehicule Chariot => Vehicule [position=[0,0]] | ||
+ | </code> | ||
+ | |||
+ | |||
+ | <box round rgb(185,211,238) rgb(198,226,255) 95%|TD Noté facultatif: remis à votre encadreur par mail ayant pour sujet((Sans cet intitulé les rendus ne seront pas évalués!!)) "[S2] modeles : //Groupe// : //Membres du binôme//" avec en attachement un document contenant vos diagrammes et votre code. Le fichier des diagrammes sera nommé TP_N_NumeroduTP_NomEtudiant1_NomEtudiant2 sans compression : 8 mai 2015 23h59> | ||
+ | |||
+ | {{:omgl:acsi:cours7.gif|}} Rendre le diagramme de classe et le code correspondant à l'exercice, y compris les tests. | ||
+ | </box> | ||
===== Reverse et agrégation ===== | ===== Reverse et agrégation ===== | ||
Line 161: | Line 198: | ||
==== Utilisation d'une classe : Chemin et Trajet ==== | ==== Utilisation d'une classe : Chemin et Trajet ==== | ||
- | * On définit un chemin comme ayant un point de départ et un point d'arrivée et un intitulé. | + | * On définit un chemin comme ayant un point de départ, un point d'arrivée et un intitulé. |
- | * Un point peut appartenir à plusieurs segments. | + | * Un point peut appartenir à plusieurs chemins. |
- | * On veut connaitre la distance que représente un chemin. | + | * On veut connaitre la distance que représente un chemin (cf. si besoin [[http://fr.wikipedia.org/wiki/Distance_entre_deux_points_sur_le_plan_cart%C3%A9sien|Calcul de distance]]) |
* Un trajet est une suite ordonnée de chemins tels que le point de départ d'un chemin est le point d'arrivée du chemin suivant. | * Un trajet est une suite ordonnée de chemins tels que le point de départ d'un chemin est le point d'arrivée du chemin suivant. | ||
- | - Modéliser les concepts de Chemin et de Trajet et codez les. | + | - Modéliser les concepts de Chemin et de Trajet |
+ | - Codez-les. | ||
==== La classe ''Polygone'' ==== | ==== La classe ''Polygone'' ==== |