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
2015_2016:s2:td:td_domaine_partie_2 [2016/02/20 13:27]
blay [Un robot facteur]
2015_2016:s2:td:td_domaine_partie_2 [2016/02/20 14:33] (current)
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 222: Line 234:
  ​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.1455971270.txt.gz · Last modified: 2016/02/20 13:27 by blay