Vous avez appris beaucoup de choses sur la programmation de Guido. Félicitations ! Ce dont vous ne vous êtes peut-être pas rendu compte est que vous avez appris beaucoup à propos de programmation dans bien d'autres langages de programmation. La plupart des programmes sont constitués d'une succession d'étapes parsemés de branchements conditionnels et de blocs d'instructions qui se répètent.
Mettre en oeuvre les solutions des différents exercices a requis de votre part un peu plus de matière grise à chaque étape. Vous comprenez les questions et les buts recherchés, mais les moyens de d'accomplir ces objectifs n'est pas toujours immédiatement évident. Vous devriez avoir réalisé que la méthode que vous utiliseriez si vous étiez Guido est souvent la méthode que Guido doit utiliser, à l'aide des instructions disponibles.
Souvent, donc, il est préférable de vous demander comment vous accompliriez la tâche. Écrivez la succession d'étapes dans votre propre langage avec un papier et un crayon. Cette étape est souvent appelée pseudocode, parce que c'est un code qui n'est pas directment compréhensible par Guido. Mais il aide à comprendre ce qui doit se produire. Puis vous transcrivez ce pseudocode pour créer un programme GvR.
Soyez certain de bien réfléchir au prochain exercice avant de le coder. Commencez par imaginer l'algorithme, ou succession d'étapes, à employer. Puis, en regardant l'exemple, simulez mentalement l'exécution du programme que vous allez écrire. Si cela donne le résultat attendu, alors et seulement alors pourrez vous commencer à écrire le programme.
Le père de Guido est fermier. Quand Guido ne fait pas ses devoirs, il l'aide au travail dans les champs. Aujourd'hui il doit récolter le maïs. Le champ mesure toujours 6 lignes sur 6 colonnes, mais le maïs n'a pas poussé partout. Créez un monde avec un champ central 6x6 abondamment semé, comme dans l'exemple ci-dessous :
Récoltez le maïs en utilisant des boucles imbriquées - une ou plusieurs boucles à l'intérieur d'une boucle - pour accomplir la moisson. En pseudocode, ceci pourrait ressembler à cela :
répéter six fois avancer en récoltant les sonnettes retourner au début de la rangée monter d'une rangée. s'arrêter.
dans lequel "avancer en récoltant les sonnettes" est lui-même une boucle :
répéter six fois répéter six fois avancer d'une case récolter si possible retourner au début de la rangée monter d'une rangée. s'arrêter.
Notez que cepseudocode n'est pas du code GvR, mais plutôt une description en Français
de l'algorithme avec une structure ressemblant à du code. Une fois le
pseudocode écrit, transformez le en du code GvR et exécutez le pour terminer votre
exercice.
Voici un exemple de fichier monde pour ce projet, pour vous économiser un peu de dactylographie :
Robot 2 2 E 0 Beepers 3 2 1 Beepers 4 2 1 Beepers 5 2 1 Beepers 6 2 1 Beepers 7 2 1 Beepers 8 2 1 Beepers 4 3 1 Beepers 5 3 1 Beepers 6 3 1 Beepers 7 3 1 Beepers 8 3 1 Beepers 3 4 1 Beepers 4 4 1 Beepers 5 4 1 Beepers 6 4 1 Beepers 7 4 1 Beepers 8 4 1 Beepers 3 5 1 Beepers 4 5 1 Beepers 5 5 1 Beepers 8 5 1 Beepers 3 6 1 Beepers 5 6 1 Beepers 6 6 1 Beepers 7 6 1 Beepers 8 6 1 Beepers 3 7 1 Beepers 4 7 1 Beepers 5 7 1 Beepers 6 7 1 Beepers 7 7 1 Beepers 8 7 1
Copyright © 2003 Roger Frank.