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:02]
stefeppe
infoh100-projet1 [2013/12/05 06:22]
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 cours. Cela 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 BOGGLE. Donc dans la grille ci dessous :\\ + 
-A B S E\\+  * **//Puis-je utiliser la librairie //''​random''//​ (et/ou d'​autres)?//​** \\ 
 +La librairie random ayant été vue lors des travaux pratiques, l'​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''​. 
 + 
 +  ​* **//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\\ A L U H\\
 **M** **E** Y T\\ **M** **E** Y T\\
-N **R** B J\\ +N **R** B J''​\\ 
-la fonction renvoie True pour "​MER"​ mais pas pour "​SALUT"​+la fonction renvoie ​''​True'' ​pour "''​MER''​" mais pas pour "''​SALUT''​"
  
-word_on_board("​MER",​ board) == True +''​word_on_board("​MER",​ board) == True''​ 
-word_on_board("​SALUT",​ board) == False +''​word_on_board("​SALUT",​ board) == False''​
- +
-EXPLICATION DE word_in_place :+
  
 +  - "​**''​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) 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 : +Dans l'​exemple ci dessus :\\ 
-word_in_place("​MER",​ board, 0, 1) == False +''​word_in_place("​MER",​ board, 0, 1) == False''​\\ 
-word_in_place("​MER",​ board, 2, 0) == True +''​word_in_place("​MER",​ board, 2, 0) == True''​\\ 
-word_in_place("​MER",​ board, 3, 1) == False +''​word_in_place("​MER",​ board, 3, 1) == False''​
- +
-Le sujet sera modifié pour être plus clair pour tous.+
  
-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.txt · Last modified: 2013/12/05 06:22 by stefeppe