Il va pleuvoir

Projet

Guido est capable d'accomplir des tâches plus complexes, même lorsque le monde dans lequel il vit n'est pas complètement connu. Guido doit être en mesure de remplir son objectif en sondant son environnement et effectuer ses actions selon les résultats de ces tests. Les étapes que Guido doit suivre pour résoudre un problème sont appelées un algorithme.

Avant d'écrire un programme GvR, le programmeur doit comprendre l'algorithme. Ensuite celui-ci peut être codé, combiné avec un monde approprié et testé. Pensez à la simple mais puissante équation Algorithmes + Structures de Données = Programmes.

Dans cette leçon, la structure de donnée est un monde décrivant la maison de Guido. Celui-ci se tient devant la seule porte, regardant vers l'extérieur. Il voit une tempête arriver et décide de fermer toutes les fenêtres de la maison. Il commence par fermer la porte en déposant une sonnette là où il se tient. Ensuite, il ferme chaque fenêtre en déposant une sonnette devant chaque ouverture (représentée par un trou dans le mur). Comme il adore les tempêtes, après avoir fermé la dernière fenêtre, il sort sur le pas de sa maison pour regarder. Voici le monde initial de ce scénario :

Image a étape 14

Vous devez concevoir l'algorithme pour accomplir cette tâche et le coder, ainsi que le fichier de description du monde. Guido n'a pas vécu dans cette maison depuis fort longtemps, donc il ne se souvient plus exactement où sont les fenêtres. Vous ne pouvez donc pas coder le nombre de pas à effectuer pour atteindre une fenêtre donnée --- à la place, Guido doit vérifier s'il se trouve près d'une fenêtre en faisant le tour de sa maison. Comme pour n'importe quel algorithme, vous devez aussi vous assurer de l'accomplissement de la tâche. Par exemple, comment Guido sait-il qu'il est revenu à la porte d'entrée ?

Le monde de ce scénario devrait ressembler à cela après l'accomplissement du travail de Guido :

Image b étape 14

Appelez un professeur pour valider votre code

Précédent | Index | Suivant

Copyright © 2003 Roger Frank.