2015_2016:s2:td:td_domaine_partie_2
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
2015_2016:s2:td:td_domaine_partie_2 [2016/02/20 08:32] – [Déplacement d'un véhicule] blay | 2015_2016:s2:td:td_domaine_partie_2 [2016/02/20 13:33] (current) – [Un robot facteur] blay | ||
---|---|---|---|
Line 198: | Line 198: | ||
</ | </ | ||
+ | ==== Un robot facteur ==== | ||
- | Debut du travail pour le jardinier | + | Nous sommes très content de notre robot jardinier. |
- | Position du charriot attendue en (0,0): [0,0] | + | Nous décidons de construire un robot facteur. |
- | 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 | + | Il transporte des courriers. |
- | Arret du travail pour le jardinier : Merci, la journée a été dure! | + | |
- | Je suis R2-D2 : je n' | + | Suivez |
+ | Des exemples de tests sont donnés pour vous aider, en particulier à définir les méthodes associées à vos classes. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | === Courrier === | ||
+ | |||
+ | Un courrier est défini par une adresse et un contenu. | ||
+ | Pour des raisons de confidentialité, | ||
+ | |||
+ | Voici le modèle correspondant à la classe " | ||
+ | |||
+ | {{ :2015_2016: | ||
+ | |||
+ | **Le courrier ne contient | ||
+ | |||
+ | Exemple de tests et de trace : | ||
+ | <code> | ||
+ | Courrier c = new Courrier(" | ||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
</ | </ | ||
+ | < | ||
+ | ===================TESTS Courrier =================== | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | **QUESTIONS** | ||
+ | - Commencer par créer la classe '' | ||
+ | - Dans l' | ||
+ | - Quel est le modèle de la classe '' | ||
+ | - Quel est son code ? | ||
+ | |||
+ | |||
+ | === Decrypteur === | ||
+ | Pour lire le courrier il faut utiliser un décrypteur, | ||
+ | Quand il est allumé, si on lui présente un courrier, et on lui donne la clef, il nous donne l' | ||
+ | Donc à chaque lecture, un '' | ||
+ | |||
+ | Exemple de tests et de trace : | ||
+ | < | ||
+ | Decrypteur decrypteur = new Decrypteur(); | ||
+ | System.out.println(" | ||
+ | decrypteur.switchOn(); | ||
+ | System.out.println(" | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | ===================TESTS Decrypteur =================== | ||
+ | pas de lecture si non demarre rEV]FVuRQA\]}ZPV | ||
+ | lecture efficiente : Avenue Fabron, Nice : true | ||
+ | </ | ||
+ | |||
+ | **QUESTIONS** | ||
+ | - Quelles sont les méthodes de la classe '' | ||
+ | - Implémenter la classe '' | ||
+ | |||
+ | === Facteur === | ||
+ | Notre robot facteur peut avoir un véhicule pour se déplacer et un décrypteur pour lire le courrier. Quand on lui remet un courrier, on lui donne la clef pour lire le courrier. | ||
+ | |||
+ | |||
+ | Exemple de tests et de trace : | ||
+ | < | ||
+ | System.out.println(" | ||
+ | Courrier c2 = new Courrier(" | ||
+ | Courrier c3 = new Courrier(" | ||
+ | |||
+ | Facteur facteur = new Facteur(" | ||
+ | facteur.distribue(c, | ||
+ | facteur.distribue(c2, | ||
+ | facteur.distribue(c3, | ||
+ | |||
+ | String adresse = facteur.lire(); | ||
+ | System.out.println(" | ||
+ | facteur.setVehicule(charriot); | ||
+ | facteur.deplacer(" | ||
+ | Courrier courrier = facteur.depose(); | ||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
+ | |||
+ | adresse = facteur.lire(); | ||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
+ | facteur.setVehicule(fusee); | ||
+ | facteur.deplacer(" | ||
+ | courrier = facteur.depose(); | ||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
+ | |||
+ | adresse = facteur.lire(); | ||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
+ | facteur.depose(); | ||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
+ | |||
+ | adresse = facteur.lire(); | ||
+ | System.out.println(" | ||
+ | </ | ||
+ | < | ||
+ | ===================TESTS Facteur =================== | ||
+ | Je dois aller à Avenue Fabron, Nice | ||
+ | Courrier deposé à l' | ||
+ | Je suis en [20,30]: [20,30] | ||
+ | Je dois aller à : Petit Prince Planete | ||
+ | Je prends ma fusee | ||
+ | Courrier depose à l' | ||
+ | Je suis en [700,700] : [700,700] | ||
+ | Je dois aller à : | ||
+ | Je ne comprends pas, même pas capable de me donner la bonne clef! | ||
+ | Courrier perdu | ||
+ | Je suis toujours en [700,700] : [700,700] | ||
+ | J'ai fini : Rentre chez toi | ||
+ | </ | ||
+ | |||
+ | **QUESTIONS** | ||
+ | - Quel est le modèle de la classe '' | ||
+ | - Quelles sont les méthodes que doit avoir un Facteur? | ||
+ | - Implémenter la classe '' | ||
+ | |||
+ | === Encrypteur === | ||
+ | |||
+ | Voici le code pour crypter il est basé sur : [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | <code java> | ||
+ | public class Encryptor { | ||
+ | |||
+ | private final int key; | ||
+ | | ||
+ | public Encryptor(int key) { | ||
+ | super(); | ||
+ | this.key = key; | ||
+ | } | ||
+ | |||
+ | |||
+ | public String encrypt(String password){ | ||
+ | String crypte=""; | ||
+ | for (int i=0; i< | ||
+ | int c=password.charAt(i)^(48 + key); | ||
+ | crypte=crypte+(char)c; | ||
+ | } | ||
+ | return crypte; | ||
+ | } | ||
+ | |||
+ | |||
+ | public String decrypt(String password){ | ||
+ | String aCrypter=""; | ||
+ | for (int i=0; i< | ||
+ | int c=password.charAt(i)^(48 + key); | ||
+ | aCrypter=aCrypter+(char)c; | ||
+ | } | ||
+ | return aCrypter; | ||
+ | } | ||
+ | |||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | Exemple de tests de l' | ||
+ | |||
+ | Encryptor d = new Encryptor(2); | ||
+ | String origine = " | ||
+ | String sCryptee = d.encrypt(origine); | ||
+ | System.out.println(" | ||
+ | String r = d.decrypt(sCryptee); | ||
+ | System.out.println(r |
2015_2016/s2/td/td_domaine_partie_2.1455957150.txt.gz · Last modified: 2016/02/20 08:32 by blay