User Tools

Site Tools


2015_2016:s2:td:td_domaine_partie_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
2015_2016:s2:td:td_domaine_partie_2 [2016/02/20 13:25]
blay [Un robot facteur]
2015_2016:s2:td:td_domaine_partie_2 [2016/02/20 14:31]
blay [Un robot facteur]
Line 204: Line 204:
  
 Il transporte des courriers. ​ Il transporte des courriers. ​
 +
 +Suivez l'​énoncé pas à pas. Il est écrit ainsi pour vous aider.
 +Des exemples de tests sont donnés pour vous aider, en particulier à définir les méthodes associées à vos classes.
 +
 +
 +
  
  
 === Courrier === === Courrier ===
 +
 Un courrier est défini par une adresse et un contenu. Un courrier est défini par une adresse et un contenu.
 Pour des raisons de confidentialité,​ une fois créé, si on demande l'​adresse ou le contenu du courrier, on obtient un texte illisible : il est crypté en utilisant un encrypteur donné plus bas et une clef donnée à la construction du courrier. Pour des raisons de confidentialité,​ une fois créé, si on demande l'​adresse ou le contenu du courrier, on obtient un texte illisible : il est crypté en utilisant un encrypteur donné plus bas et une clef donnée à la construction du courrier.
 +
 +Voici le modèle correspondant à la classe "​Encryptor"​
 +
 +{{ :​2015_2016:​s2:​td:​capture_d_e_cran_2016-02-20_a_14.22.00.png?​direct&​200 |}}
 +
 **Le courrier ne contient pas le texte initial, ni la clef de cryptage. Elles sont seulement connues à la création du courrier.** On ne peut pas modifier l'​adresse ou le contenu d'un courrier. **Le courrier ne contient pas le texte initial, ni la clef de cryptage. Elles sont seulement connues à la création du courrier.** On ne peut pas modifier l'​adresse ou le contenu d'un courrier.
  
Line 219: Line 231:
 <​code>​ <​code>​
   ===================TESTS Courrier ===================   ===================TESTS Courrier ===================
- COurrier ​adresse illisible rEV]FVuRQA\]}ZPV + Courrier ​adresse illisible rEV]FVuRQA\]}ZPV 
- COurrier ​contenu illisible qARE\+ Courrier ​contenu illisible qARE\
 </​code>​ </​code>​
 +
 +
 +**QUESTIONS**
 +  - Commencer par créer la classe ''​Encriptor''​ en recopiant "​simplement"​ le code donné plus bas.
 +  - Dans l'​ordre que vous voulez, répondez à ces deux questions, et tester votre code.
 +      - Quel est le modèle de la classe Courrier? ​
 +      - Quel est son code ?
 +
  
 === Decrypteur === === Decrypteur ===
 Pour lire le courrier il faut utiliser un décrypteur,​ c'est un outil électrique. Pour lire le courrier il faut utiliser un décrypteur,​ c'est un outil électrique.
 Quand il est allumé, si on lui présente un courrier, et on lui donne la clef, il nous donne l'​adresse en claire, sinon il renvoie l'​adresse telle que. Quand il est allumé, si on lui présente un courrier, et on lui donne la clef, il nous donne l'​adresse en claire, sinon il renvoie l'​adresse telle que.
 +Donc à chaque lecture, un ''​encryptor''​ est créé avec la clef en paramètre.
  
 Exemple de tests et de trace :  Exemple de tests et de trace : 
Line 232: Line 253:
 System.out.println("​pas de lecture si non demarre " + decrypteur.read(c,​3));​ System.out.println("​pas de lecture si non demarre " + decrypteur.read(c,​3));​
 decrypteur.switchOn();​ decrypteur.switchOn();​
-System.out.println("​lecture efficiente " +  decrypteur.read(c,​3) + " : " +decrypteur.read(c,​3).equals(origine) ); +System.out.println("​lecture efficiente ​" +  decrypteur.read(c,​3) + " : " +decrypteur.read(c,​3).equals(origine) );
 </​code>​ </​code>​
  
Line 238: Line 259:
 ===================TESTS Decrypteur =================== ===================TESTS Decrypteur ===================
 pas de lecture si non demarre rEV]FVuRQA\]}ZPV pas de lecture si non demarre rEV]FVuRQA\]}ZPV
-lecture efficiente Avenue Fabron, Nice : true+lecture efficiente ​Avenue Fabron, Nice : true
 </​code>​ </​code>​
 +
 +**QUESTIONS**
 +  - Quelles sont les méthodes de la classe "​Decrypteur"​ ?
 +  - Implémenter la classe "​Decrypteur"​.
  
 === Facteur === === Facteur ===
Line 274: Line 299:
   
 adresse = facteur.lire();​ adresse = facteur.lire();​
-System.out.println("​Je dois aller à :" + adresse);+System.out.println("​Je dois aller à : " + adresse);
 System.out.println("​Je ne comprends pas, même pas capable de me donner la bonne clef!"​);​ System.out.println("​Je ne comprends pas, même pas capable de me donner la bonne clef!"​);​
 facteur.depose();​ facteur.depose();​
Line 288: Line 313:
 Courrier deposé à l'​adresse : Avenue Fabron, Nice Courrier deposé à l'​adresse : Avenue Fabron, Nice
 Je suis en  [20,30]: [20,30] Je suis en  [20,30]: [20,30]
-Je dois aller à :Petit Prince Planete+Je dois aller à : Petit Prince Planete
 Je prends ma fusee Je prends ma fusee
 Courrier depose à l'​adresse Petit Prince Planete Courrier depose à l'​adresse Petit Prince Planete
Line 298: Line 323:
 J'ai fini :  Rentre chez toi J'ai fini :  Rentre chez toi
 </​code>​ </​code>​
 +
 +**QUESTIONS**
 +  - Quel est le modèle de la classe Facteur? Qu'ont en commun un Facteur et un Jardinier?
 +  - Quelles sont les méthodes que doit avoir un Facteur?
 +  - Implémenter la classe ''​Facteur''​
 +
 === Encrypteur === === Encrypteur ===
  
Line 338: Line 369:
 </​code>​ </​code>​
  
-Exemple de tests de l'​encryptor+Exemple de tests de l'​encryptor ​:  
                 Encryptor d = new Encryptor(2);​                 Encryptor d = new Encryptor(2);​
  String origine = "​Avenue Fabron, Nice";  String origine = "​Avenue Fabron, Nice";
2015_2016/s2/td/td_domaine_partie_2.txt · Last modified: 2016/02/20 14:33 by blay