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
infoh100-projet1 [2013/11/25 21:01]
stefeppe
infoh100-projet1 [2013/12/05 06:22] (current)
stefeppe
Line 6: Line 6:
 Toutefois, pour tempérer le ton péremptoire de l'​énoncé,​ nous vous suggérons de prendre l'​éventuel dépassement de cette limite comme un signal qui devrait vous inciter à vous arrêter et à reconsidérer la manière dont vous avez construit votre fonction: fait-elle bien une seule chose bien définie? ne serait-il pas mieux (plus clair) de créer/​appeler l'une ou l'​autre fonction? Dans des cas particuliers et justifiés, un léger dépassement de cette limite peut être acceptable, voire nécessaire. Toutefois, pour tempérer le ton péremptoire de l'​énoncé,​ nous vous suggérons de prendre l'​éventuel dépassement de cette limite comme un signal qui devrait vous inciter à vous arrêter et à reconsidérer la manière dont vous avez construit votre fonction: fait-elle bien une seule chose bien définie? ne serait-il pas mieux (plus clair) de créer/​appeler l'une ou l'​autre fonction? Dans des cas particuliers et justifiés, un léger dépassement de cette limite peut être acceptable, voire nécessaire.
  
-  * **//Dois-je rédiger les commentaires (//​docstrings//​) en anglais?//​** \\+  * **//Dois-je rédiger les commentaires (//''​docstrings''​//) en anglais?//​** \\
 Si l'​anglais est l'​option préférée,​ nous ne sanctionnerons pas les commentaires en français. Mieux vaut un commentaire en français clair, qu'une description anglaise incompréhensible. Si l'​anglais est l'​option préférée,​ nous ne sanctionnerons pas les commentaires en français. Mieux vaut un commentaire en français clair, qu'une description anglaise incompréhensible.
  
-  * **//Puis-je utiliser la librairie //random// (et/ou d'​autres)?//** \\ +  * **//J'ai des problèmes pour importer le module PYC fourni avec l'​énoncé. Que dois-je faire?//** \\ 
-La librairie random ayant été vue lors des travaux pratiques, l'​utilisation de //toutes// les fonctions qui la composent ​est permiseIl en va de même pour l'ensemble des méthodes liées aux stringslistes et tuples.+Nous avons mis à disposition une version ​//non compilée// du module. Celui-ci ​est à importer de manière similaire que la version compilée:  
 +  - décompresser le fichier fourni "​boggle_mod.tar.gz",​ 
 +  - copier le fichier Boggle_mod.py dans le répertoire ​de votre projet, 
 +  - importer dans votre code avec ''​import Boggle_mod''​ (ceci //​remplace// ​l'ancien import!) 
 +Pour les étudiants ayant utilisé les modules **compilés**il n'y a **rien** à faireLes deux versions (compilée et non-compilée) fonctionnent de la même manière et contiennent les mêmes fonctions!
  
-  * **//Que font les fonctions fournies "//word_in_place//" et "//​word_on_board//"​?//** +  * **//Puis-je utiliser plus d'​un ​//''​return''​// dans une fonction?//** \\ 
-  - "​**word_on_board**"​\\ +Non: un seul ''​return''​ par fonction. Il s'agit là d'une convention adoptée ​dans ce coursCela ne devrait d'​ailleurs ​pas avoir de répercutions dramatiques sur votre code.
-Cette fonction ​renvoie True si le mot est présent ​dans la grille EN RESPECTANT LES RÈGLES DU BOGGLEDonc dans la grille ci dessous :\\ +
-A B S E\\ +
-A L U H\\ +
-M E Y T\\ +
-N R B J\\ +
-la fonction renvoie True pour "​MER"​ mais pas pour "​SALUT"​+
  
-word_on_board("​MER",​ board== True +  * **//Puis-je utiliser la librairie //''​random''// ​(et/ou d'​autres)?//** \\ 
-word_on_board("​SALUT"​board) == False+La librairie random ayant été vue lors des travaux pratiquesl'​utilisation de //toutes// les fonctions qui la composent est permise. Il en va de même pour l'​ensemble des méthodes liées aux types ''​str'',​ ''​list''​ et ''​tuple''​.
  
-EXPLICATION DE word_in_place :+  * **//Que font les fonctions fournies //''​word_in_place''//​ et //''​word_on_board''//?//​** 
 +  - "​**''​word_on_board''​**"​\\ 
 +Cette fonction renvoie ''​True''​ si le mot est présent dans la grille EN RESPECTANT LES RÈGLES DU BOGGLE. Donc dans la grille ci dessous ​:\\ 
 +''​A B S E\\ 
 +A L U H\\ 
 +**M** **E** Y T\\ 
 +N **R** B J''​\\ 
 +la fonction renvoie ''​True''​ pour "''​MER''"​ mais pas pour "''​SALUT''"​
  
-Elle fait la même chose uniquement si le mot commence dans la case donnée en paramètre (attention les indices commencent à 0 donc la case en haut à gauche est la case 0,0) +''​word_on_board("​MER",​ board) == True''​ 
-Dans l'exemple ci dessus : +''​word_on_board("SALUT", board) == False''​
-word_in_place("​MER",​ board, 0, 1) == False +
-word_in_place("​MER",​ board, 2, 0) == True +
-word_in_place("MER", board, 3, 1) == False+
  
-Le sujet sera modifié pour être plus clair pour tous.+  - "​**''​word_in_place''​**"​\\ 
 +Elle fait la même chose uniquement si le mot commence dans la case donnée en paramètre (attention les indices commencent à 0 donc la case en haut à gauche est la case 0,0) 
 +Dans l'​exemple ci dessus :\\ 
 +''​word_in_place("​MER",​ board, 0, 1) == False''​\\ 
 +''​word_in_place("​MER",​ board, 2, 0) == True''​\\ 
 +''​word_in_place("​MER",​ board, 3, 1) == False''​
  
-Il est évident que word_on_board appellera word_in_place (de la même manière que play_boggle appelera play_one_round).+Il est évident que ''​word_on_board'' ​appellera ​''​word_in_place'' ​(de la même manière que ''​play_boggle'' ​appelera ​''​play_one_round''​).
 Ce découpage imposé est là pour vous aider. Ce découpage imposé est là pour vous aider.
  
-CONSEILS:+  * **//Faut-il placer aléatoirement les dés sur le tableau?//​** \\ 
 +En d'​autres termes, //les dés du tableau doivent-ils,​ en plus d'​afficher une face aléatoire, être placés également aléatoirement sur le tableau//? La réponse estoui. Le premier dé renvoyé par ''​get_dices()''​ ne doit donc pas se retrouver systématiquement sur la première case du tableau; cette position (ainsi que celle des autres dés) doit changer aléatoirement d'une partie à l'​autre.
  
-word_in_place est la fonction la plus difficile ​du projet. +  * **//​L'​énoncé ​du projet ​spécifie qu'un jeu est composé de 5 toursA quoi alors sert la fonction ''​ask_yes_no''​ fournie?//​** \\ 
-Vous pouvez coder les fonctions dans l'ordre que vous voulez, vous pouvez ​coder par exemple word_on_board en considérant que word_in_place marche.+Il s'agit d'une ambiguïté de l'énoncé. Concrètement, vous pouvez:  
 +  - demander à l'​utilisateur s'il veut rejouer après les 5 tours, ou  
 +  - ne rien lui demander et quitter le programme après les 5 tours. ​  
 +Nous acceptons les deux possibilités.
 
infoh100-projet1.1385409680.txt.gz · Last modified: 2013/11/25 21:01 by stefeppe