Le Jeu de João

Une petite aventure de programmation avec des enfants de troisième année du premier cycle, soit avec des âges compris entre 8 et 9 ans. Le programme est construit en LogoWriter pour MS-DOS, version 1989.

Signifié des primitives portugaises utilisées dans le texte:

mt: montrer la tortue
se: si
pos: position de la tortue sur lécran (x y)
acaso: choix arbitraire
es: écrire en mode texte
esc: écrire en mode graphique
fixaforma: changer la forme da la tortue
fixapos: fixer une position précise sur lécran (x y)
fixarumo: définir lazimut
lb: "crayon" en position de dessiner
lc: "crayon" levé
pf: en avant
to / fim: début et fin dune série dinstruction.
sentence: (anglais pour frase) construit une phrase avec les listes et les variables entre parenthèses.
ac: retire tout ce quil y a écrit dans la zone de commandes.
inserecc: écrit ce qui suit dans la zone des commandes, sans reverir au début de la ligne
membro?: évalue si quelque chose est inclue dans une liste
e: et, pour construire une double condition
ultimo: dernier élément dune liste.
mostrar: écrit en mode texte ce que lutilisateur écrit dans la zone de la tortue, déclenché par une instruction listalida.
listalida: liste de éléments introduits dans la zone de la tortue.
prim: premier élément dune liste.
faz ": nommer un variable global.
identifica?: donne le número de la tortue identifiée par la primitive quem
vd: vire à droite
ve: vire à gauche
pt: en arrière
sesenao: traduction de langlais ifelse
le: remettre lécran en aspect initial.
quem: identifie la tortue active.
et: cacher la tortue

Jeudi, 18 janvier 1990

Le jour de larrivée de la correspondance de lécole belge, João me demande sil peut construire un jeu - type jeu de loie - pour les correspondants. Il veut utiliser les possibilités de dessin en LogoWriter pour faire les carrés. Alors je lui propose de programmer un jeu, comme avant lui, David avait fait pour les correspondants portugais.

João commence à dessiner des carrés, mais il narrive quen mettre 8 sur une rangée verticale (figure 1).

Quelques jours plus tard

Guida, linstitutrice qui accompagne toutes les écoles de notre institution au niveau des ordinateurs, est chez nous, en classe. Jen profite pour lui demander daider João à mettre les carrés à lhorizontale. Le résultat se voit sur la figure 2,

obéit à la programmation suivante :

to jogo

comeca

quadrados

vd 90 pf 20 ve 90 pf 20 ve 90 pf 60 ve 90 pf 20 vd 90 pf 20

letras

regras2

boneco.inicio

fim

to comeca

lc vd 90 pf 120 pf 20 ve 180

lb

fim

to quadrado

repete 4[pf 20 ve 90]

fim

to quadrados

repete 14[quadrado pf 20]

fim

to letras

lc fixapos [-130 -10]

esc [A]

fixapos [-110 -10]

esc [B]

fixapos [-50 -10]

esc [C]

fixapos [-10 -10]

esc [D]

fixapos [30 -10]

esc [E]

fixapos [70 -10]

esc [F]

fixapos [110 -10]

esc [G]

fim

to regras

es [A avanca 3 casas]

es [B avanca 2 casas]

es [C avanca 1 casa]

es [D volta para casa de partida]

es [E recua 2 casas]

es [F avanca 1 casa]

es [G avanca 5 casas]

fim

to boneco.inicio

fixapos [-150 -10]

fixaforma 21

lc fixarumo 90

fim

Et, immédiatement, il y a un nouveau problème : comment pouvons-nous apprendre à la tortue quelle doit "jeter les dés" et avancer le nombre de cases indiqué ? Nous allons discuter de ce problème ensemble. Laprès-midi du même jour, nous demandons à toute la classe si nous pouvons aborder le problème avant de commencer le travail individuel, défini par chacun sur sa planification personnelle. Les enfants sont daccord et João explique ce quil veut.

Nous distinguons deux parties différentes du problème :

1. Les carrés ont un côté 20 (toutes les mesures sont en "pas de tortue" et par convention, dans la classe, non-explicitées), donc :

Donc, du centre dun carré au centre dun autre carré, nous mesurons 20ou encore : pour avancer dune case, la tortue fait 1x20, pour avancer 3 cases, elle fait 3x20, etc.. Pour avancer les 14 cases, elle fait 14x20, soit 280 pas.

2. La tortue doit apprendre ce que font les dés: faire apparaître un nombre arbitraire

Nous disons : choisit nimporte quel nombre jusquà 6 et avance autant de fois 20.

La tortue dit:

to escolhe

pf acaso 7 * 20

fim

(Remarque: Sept parce que nimporte quel nombre de 0 jusquà 6, donc 7 - que nous comptons - plusieurs fois - sur les doits).

Nous faisons lexpérience. Ça ne marche pas : la tortue avance nimporte combien, mais ne fait pas les petits sauts de 20 en 20.

Naturellement ! David et moi, nous le comprenons au même moment : la tortue avance un nombre quelconque de (0 x 20) ou 0 à (7 x 20) ou 140 !

Nous changeons la ligne de programmation en pf 20 * acaso 7 et ça marche !

Les autres vont au travail, et João, aidé de David et de Pedro achève le contrôle des conditions des cases avec une lettre. Cest plus facile, même avec le G : avancer 5 cases, au fait, cest avancer 1 case et reculer 4. Le programme "control" est écrit par eux, sans intervention de ma part.

to control

se pos = [-130 -10][pf 60]

se pos = [-10 -10][pf 140]

se pos = [-110 -10][pf 40]

se pos = [30 -10][pt 20]

se pos = [70 -10][pf 20]

se pos = [110 -10][pf 20 espera 2 pt 80]

fim

Il nous ne faut plus quintroduire la primitive anglaise "stop" ("para" - arrête en portugais - est une mauvaise traduction de langlais "stopall", qui signifie quelque chose de légèrement différent, et nous montons le jeu ) :

Nous disons :

Si la position de la tortue est égale à [150 -10], arrête; sinon, choisit de nouveau un nombre de cases, contrôle de nouveau si tu te trouves sur une lettre, exécute la condition, attends un moment, contrôle ta position, et continue à jouer.

La tortue dit :

to jogo1

sesenão pos = [150 -10][stop]

[escolhe control espera 5 jogo1]

fim

Et João, tout fier, présente son jeu en fin daprès-midi en commandant la tortue: le jogo jogo1, et cela, plusieurs fois.

Les autres commentent : "Tu pourrais faire une course entre plusieurs animaux." "Tu peux jouer contre lordinateur."

Entre instituteurs

Lidée mamuse, mais je ne sais pas trop bien comment my prendre. Je me vois une fois de plus pris dans des programmes faits par les enfants, avec des listes compliquées, ou il manque des [ ou des ], comme cest déjà arrivé... Je propose aux collègues instituteurs, impliqués dans même projet "ordinateur à lécole" de dédier notre réunion bi-mensuelle au sujet. Nous découvrirons:

1. Il faut, dès le début, activer deux tortues, et pour ne pas confondre, exclure la tortue 0, active dans jogo1.

2. La position [150 -10] doit "savoir" et "dire" laquelle des deux tortues est arrivée à la case finale.

Après avoir écrit un petit programme, jogar.a.dois, pour avoir une image dun chien, à trois collègues, nous arrivons à faire un programme qui identifie la tortue, et communique qui a gagné:

to identifica :num

se :num = 3 [repete 5 [ct es[o cao ganhou] espera 5]]

se :num = 2 [repete 5 [ct es[o gato ganhou] espera 5]]

fim

ce qui veut dire plus ou moins: "Identifie le numéro de la tortue: si cest la 3, clignote 5 fois le chien a gagné, si cest la 2, clignote 5 fois le chat a gagné".

Maintenant, pensions-nous, il suffit de construire un jogo2 qui en tortue sera écrit ainsi:

to jogo2

sesenao pos = [150 -10][identifica? quem stop]

[ta 2 escolhe control espera 5 ta 3 escolhe control espera 5 jogo 2]

fim

ce qui, selon ce que nous espérions, voulait dire: "Si la position dune des tortues est égale à [150 -10], identifie la tortue en cause, indique qui a gagné et arrête. Si aucune des deux tortues ne se trouve là, dit à la tortue 2 de jeter le dé, de contrôler, dattendre, après faire jeter le dé à la tortue 3, et ainsi alternativement, jusquau moment ou lune des deux répond à la première condition."

Nous essayons. Ça ne marche pas. Le programme ne sarrête que quand le chat gagne le jeu, jamais quand le chien (qui commence le jeu) se trouve dans la case darrivée. Il vaut mieux arrêter dy réfléchir et de rentrer dîner. Il se fait tard...

Mardi, 30 janvier 1990.

João demande si nous pouvons continuer le montage du jeu. Je lui raconte que nous avons essayé entre instituteurs de travailler un peu sur le problème posé, mais que nous ne sommes pas arrivés à le résoudre. David lentend, et demande tout de suite sil peut aider. Je leur montre ce que nous avons fait:

- pour mettre le chien et le chat en position de partie:

to boneco.inicio2

ta 0 et

ta 3 fixaforma 6 lc fixapos [-150 -10]

ta 2 fixaforma 21 lc fixapos [-150 -10]

ta [3 2] fixarumo 90 mt

fim

- pour préparer le jeu:

to jogar.a.dois

et comeca

quadrados vd 90 pf 20 ve 90 pf 20 ve 90 pf 60 ve 90 pf 20 ve 90 pf 20

letras regras2 boneco.inicio2

espera 40 repete 7 [es[]]

es [\ \ \ o cao pode comecar]

ta 2 fixapos [-150 -10]

fim

Je montre également jogo2. Nous constatons à nouveau que ça ne marche pas (quand nous faisons ce type dexpériences, nous avons toujours un petit espoir que lordinateur connaît la même fatigue que nous, et quaprès un bon repos, le problème disparaîtra...). Nous échangeons la tortue 2 et la tortue 3 de place, et maintenant, ce nest que le chien qui fait cesser le jeu.

David: - Le problème cest que celui qui commence, même quand il arrive, narrête jamais, donc les deux doivent commencer en même temps.

Moi: - Mais alors, ils se déplacent en même temps. Je pense plutôt que cest le contrôle des positions qui doit être fait en même temps.

Nous essayons jogo3, incluant dans une liste les deux tortues qui doivent être contrôlées:

to jogo3

sesenão pos = [150 10] [identifica? quem stop]

[ta 2 escolhe ta 3 escolhe espera 5 ta [2 3] control jogo3]

fim

Ça ne marche toujours pas.

João propose de mettre pos = [150 10] également dans le programme control vu que les autres ordres "se" fonctionnent. Nous faisons:

to control1

se pos = [-130 -10][pf 60]

se pos = [-10 -10][pf 140]

se pos = [-110 -10][pf 40]

se pos = [30 -10][pt 20]

se pos = [70 -10][pf 20]

se pos = [110 -10][pf 20 espera 2 pt 80]

se pos = [150 -10][identifica? quem stopall]

fim

Après cela, nous écrivons un jogo4 bien plus simple:

to jogo4

ta 2 escolhe control1 espera 5

ta 3 escolhe control1 espera 5

jogo4

fim

Merveille, ça marche! Dans notre enthousiasme, nous imaginons de nouvelles possibilités:

- Nous voulons que, après avoir terminé le jeu, et après que lordinateur a indiqué le gagnant, nous puissions choisir de continuer à jouer ou non (João)

- Nous voulons pouvoir faire des paris avec lordinateur qui sera gagnant (David).

- Nous voulons voir combien de fois gagne le chien, combien de fois le chat (moi).

Mais, tout de suite, nous montrons à la classe ce que nous avons fait cet après-midi de travail libre organisé, pendant que les autres se sont occupés comme suit:

Alvaro a fait des fiches,

Paulo un texte;

Pedro un texte libre à la machine à écrire;

lautre David un test pour passer de niveau en division;

Zélia et Inês des fiches de mathématiques;

Tiago une expérience avec des corps fluctuant, quil présente en fin daprès-midi;

les autres: scrabble, dessins, travaux manuels;

comme ils lavaient programmé.

Mais le même jour, après le goûter de 4 heures, nous retournons encore en salle, pour reprendre lidée de João. En fin de compte, le jeu est "à lui"...

Il faudra faire deux groupes dinstruction: Le premier, falar, est le plus facile: avec deux lignes de texte, nous demandons au joueur ce quil veut faire. Le deuxième, acabar.ou.nao, est plus compliqué: pour que la tortue puisse répondre au oui ou non du joueur, elle doit savoir "lire" ce que le joueur écrit à lécran. Jexplique que la primitive faz "... apprend des choses à la tortue. David se rappelle du jeu quil avait construit que prim listalida fait lire un mot écrit par le joueur.

Cest ainsi que acabar.ou.não prend forme:

to acabar.ou.nao

faz "aprende prim listalida

se :aprende = sim [le jogar.a.dois espera 6 jogo4]

se :aprende = nao [le es [acabou!] espera 20 stopall]

fim

to falar

le es[se quiseres jogar outra vez escreve sim]

le es[se não quiseres jogar mais escreve nao]

fim

Ce qui provoque des séquences comme celle-ci:

Mercredi, 1 février.

Fernando (collègue de luniversité, qui coördonne lexpérience des "ordinateurs à lécole primaire") est chez nous, en classe. Nous apprenons quelques nouvelles commandes en LegoLogo.

Jeudi, 2 février

Au lieu de travailler en travail libre organisé, nous avons un conflit à résoudre, ce qui prend toute laprès-midi. Pas dateliers.

Vendredi, 3 février

Atelier de langue. Lordinateur sert de machine à écrire; laprès-midi, conseil et atelier dexpressions pour toute lécole (106 enfants, 5 instituteurs).

Lundi, 5 février

Planification - musique - gymnastique - discussion des contrats de nouveaux projets: écrivains portugais (deuxième projet à ce sujet cette année), le renard, voitures et moteurs, comment fabrique-t-on du papier, la vie du Christ.

Mardi, 6 février

Nous discutons ensemble de quelques aspects. A cause du jeu de João, nous avons du chercher comment parler "tortue" avec la tortue. Une des situations les plus simples est le programme identifica.quem.

Je dessine des carrés par terre, Pedro joue la tortue 2 (le chat) et David C. joue la tortue 3 (le chien), Rui joue la tortue 0 qui doit identifier qui arrive à la fin: si cest la tortue 2, il devra dire "Pedro a gagné", si cest la 3, il dira "David a gagné". Il a tourné le dos aux deux "tortues".

Les autres disent aux "tortues" combien de cases elles peuvent avancer, sans que Rui sache qui des deux a commencé. Quand jannonce quune des deux est arrivée à la dernière case, Rui ne sais pas qui a gagné. Il ne peut rien annoncer. Nous arrivons ainsi a comprendre quil a besoin dune information supplémentaire: identifica :num fait laffaire. Quand je dis "3", Rui dit "David a gagné", quand je dis "2" il annonce "Pedro a gagné", comme nous lavions instruit.

Cela devient plus compliqué quand nous voulons dire des choses à la tortue en langage humain au lieu de langage tortue. Mais David G. tire la conclusion suivante: la tortue doit lire ce qui se trouve sur lécran. Lui et moi nous savons déjà que listalida et prim font le travail.

Nous essayons: jécris dans la zone de programmation:

to ler

mostrar listalida

fim

Jécris maintenant: ler (enter) dans la zone de commandes, et la tortue met:

et jécrit dans la zone de la tortue: Bonjour tortue, je suis Pascal.

Quand jai terminé, la tortue renvoie sur lécran: [Bonjour tortue, je suis Pascal.]

Maintenant, je change ler:

to ler

mostrar prim listalida

fim

ce qui fait le dialogue:

Bonjour tortue, je suis Pascal.

Bonjour.

Et encore:

to ler

mostrar ultimo listalida

fim

ce qui donne:

Bonjour tortue, je suis Pascal.

Pascal.

João explique maintenant comment la tortue peut comparer des mots: nous avons instruit la tortue avec faz "aprende prim listalida. Maintenant, elle se rappelle ce que nous lui avons dit, et nous pouvons ainsi lui apprendre de comparer deux choses et agir en conséquence.

Le programme acabar.ou.nao sers dexemple.

Ce jour-là, après midi, pendant les activités du travail libre, David écrit un nouveau programme qui passe des messages aux enfants de la classe. Ainsi, après avoir identifié "nome comme "Sara, la tortue écrit [David G veut se marier avec toi], mais à la sortie de lécole, le message est plus socialisé: [Jai entendu dire que quelques garçons de la classe taiment bien].

Pour ne pas avoir a sortir du programme, jaide David à la construction dun message universel, pour "les autres". Ça fait:

se nao membro? :nome [] []

Mercredi, 7 février

Aujourdhui, Guida nous rend visite. David lui montre son programme. Quand Guida lui demande pour lui introduire un message pour elle, il le fait sans hésiter. João en profite pour lui montrer les progrès dans la programmation du jeu quil a inventé. Cet après-midi là, pendant la réunion déquipe, je montre où jen suis avec ma tentative (évidemment sans résultat) pour monter le pari avec lordinateur.

To aposta

faz "animal prim listalida

jogar.a.dois

espera 5

jogo4

fim

to sem.aposta

jogar.a.dois

espera 5

jogo4

fim

Je navais plus eu le temps pour réfléchir à ce problème, parce quentre-temps nous avons commençé les essais pour la seconde partie de notre pièce de théâtre, et il y a une hypothèse de voyage pour aller voir les correspondants.

A partir des discussions entre adultes, nous concluons quil faut monter un programme qui répond à chaque possibilité (groupes de deux conditions), et nous écrivons:

to controla.quem.ganhou

se e (:animal = "chien) (quem = 3) [es[tu a gagné]]

se e (:animal = "chat) (quem = 2) [es[tu a gagné]]

se e (:animal = "chien) (quem = 2) [es[tu a perdu]]

se e (:animal = "chat) (quem = 3) [es[tu a perdu]]

fim

to ensina.animal

faz "animal prim listalida

fim

to aposta.mensagem (messages en traduction libre...)

es [Tu veux faire le pari qui gagne? Écrit oui ou non]

faz "resposta prim listalida

se :resposta = "oui [es [chat ou chien?] ensina.animal]

se :resposta = "non [es [tu a peur?] espera 40 es [] falar acabar.ou.nao]

fim

Au fait, nous nous rappelions dune primitive que personne dentre nous avait utilisé jusquà présent: e (and). Controla.quem.ganhou marche, mais nous le retirons après contrôle et impression. Nous pensons que cest bien difficile à passer aux élèves.

Jeudi, 8 février

Après le moment daccueil, rituel de tous les matins, nous avons un atelier de math. Je dis que Guida, Zé Carlos (autre instituteur à lécole) et moi avons pu résoudre le problème du pari, et que, qui veut, peu se joindre à moi. Arrivent Inês, Tiago, David G, David C. et João. Tout dabord, nous rappelons ce que nous voulons faire.

Tiago: Je veux pouvoir dire: "je parie sur le chat"

Inês: Et moi: "je parie sur le chien"

João: Nous allons faire le pari avec lordinateur.

David G: Lordinateur, lui il dit: tu veux parier, moi je dis que je pari sur le chien; après quoi il dit, alors moi, je choisis le chat.

David C: Cest ce que jallais dire.

Je propose apostar.mensagem

João: es [Nous allons faire un pari]

es [Choisis un animal]

Moi: Je propose ici un petit programme pour que la tortue puisse lire lanimal choisi: escolhe.animal

David G., expérimenté, donne le contenu:

to escolhe.animal

faz "animal prim listalida

fim

Nous continuons:

David C.: Sil choisit le chat, sil choisit le chien.

Inês: Nous voulons quil dise sur quel animal il pari.

Moi: Se?

João: se :animal = "chat [es [Alors, moi je choisis le chien]]

se :animal = "chien [es [Alors, moi je choisis le chat]]

Moi: Et si quelquun écrit mal le mot chat ou chien?

David G: se nao membro? :animal [chat chien] [es [tu ne peux écrire que chat ou chien]]

Moi: Nous le mettrons comme dernière phrase dans apostar.mensagem. Après la tortue fait jogar.a.dois et jogo4 (sem.aposta), et quand le jeu est terminé?

João: Nous mettrons identifica.quem et elle nous dit qui a gagné.

Moi: Alors, voyons ce quelle pourra dire.

David G: Par exemple: jai fait le pari sur le chat, et cest le chien qui gagne, alors elle dit: jai gagné.

Tiago: Jai fait le pari sur le chien e le chat a gagné, elle dit: "jai gagné et tu a perdu."

Moi: Et quand cest le joueur qui gagne?

Inês: Par exemple, le joueur a fait le pari sur le chat et le chat a gagné, elle dit: "Tu a gagné et moi jai perdu."

David G: Le joueur a fait le pari sur le chien et le chien gagne, elle dit: "La victoire est à toi!"

Je propose to resultado.da.aposta (résultat du pari), où nous pouvons déjà écrire les messages:

  1. [es [Jai gagné.] espera 40 le]
  2. [es [Jai gagné et tu a perdu.] espera 40 le]
  3. [es [Tu a gagné et moi jai perdu] espera 40 le]
  4. [es [La victoire est à toi!] espera 40 le]

Moi: Maintenant nous devons y mettre les conditions.

Inês: Quand lanimal sur lequel le joueur a parié, quand lanimal est le chat et cest le chien qui arrive à la fin...

David G: La tortue sait avec identifica quem

Inês: Quem est 2 ou 3

Tiago: Le numéro du chien est 3

Moi: Donc:

1. Quand lanimal est chat et celui qui est arrivé est 3

2. Quand lanimal est chien et celui qui est arrivé est 2

3. Quand lanimal est chat et celui qui est arrivé est 2

4. Quand lanimal est chien et celui qui est arrivé est 3

ou, en langage tortue:

se e (:animal = "chat) (quem = 3)

se e (:animal = "chien) (quem = 2)

David G: se e (:animal = "chat) (quem = 2)

se e (:animal = "chien) (quem = 3)

et nous voilà prêt pour écrire tout le procès. João, David, Inês et moi nous nous en occupons pendant la récrée.

to resultado.da.aposta

se e (:animal = "chat) (quem = 3)[es [Jai gagné.] espera 40 le]

se e (:animal = "chien) (quem = 2)[es [Jai gagné et tu a perdu.] espera 40 le]

se e (:animal = "chat) (quem = 2)[es [Tu a gagné et moi jai perdu] espera 40 le]

se e (:animal = "chien) (quem = 3)[es [La victoire est à toi!] espera 40 le]

fim

Ils nous faut encore monter:

to aposta

jogar.a.dois

jogo5

aposta.mensagem

sem.aposta

fim

Nous écrivons, nous changeons, mais après jogo5, la tortue nous met une ligne verticale sur lécran, au lieu de aposta.mensagem.

Dans la zone de commandes, control2, jogor.a.dois et jogo5 fonctionnent. Quand nous les employons dans un seul programme, ils ne fonctionnent plus. Nous ne savons pas pourquoi. À la pause-midi, je découvre quen retirant aposta.mensagem et sem.aposta du programme aposta et en substituant "stop" par "executa [aposta.mensagem espera 20 sem.aposta]" tout travaille. Nous avons réussi. Mais je ne comprends pas pourquoi on y est arrivé de cette façon.

Maintenant, il ne manque plus que le programme pour faire le contage des réussites de chaque joueur (utilisateur dun côté, ordinateur de lautre).

João et moi, nous commençons cette dernière étape. Il faut donner une nouvelle information à la tortue; João veut que les deux parieurs commencent chacun avec 10 points. Nous écrivons:

to contar

faz "comp 10

faz "jogador 10

fim

Ensuite nous essayons de donner des points à lordinateur. Mais chaque fois que nous écrivons dans la zone de commandes es :comp + 1, il écrit 11. Quand nous demandons faz :comp + 1, la tortue ny comprend rien du tout. Nous laissons tomber.

Laprès-midi, nous essayons encore, avec David G, Inês, David C et Tiago (qui disparaît assez vite...).

Nous devons apprendre à la tortue a donner dix points pour commencer. João lexplique aux autres.

David G: Alors, ça se fait avec faz.

João et moi, on le savait déjà. Le programme reçoit un autre nom:

to dez.pontos

faz "comp 10

faz "pessoa 10

fim

Après, il y a plusieurs possibilités que nous examinons ensemble et qui sont du genre: "Si le joueur gagne, on met un point pour le joueur, et on retire un point à lordinateur." Donc, nous avons besoin de quatre nouveaux programmes.

Inês: Un pour mettre des points à lordinateur.

João: Un pour tirer des points à lordinateur.

David G.: Et un pour donner des points au joueur.

Moi: Et un pour tirer des points au joueur.

Nous écrivons ensemble le premier programme:

to tirar.um.a.pessoa

faz "pessoa :pessoa - 1

fim

João et David écrivent les trois autres programmes, en expliquant la syntaxe de la tortue à une collègue en visite dobservation, qui ne sait rien de grammaire tortue, mais par contre, se révèle une bonne aide en orthographie humaine. Comme laprès-midi est réservé pour le travail libre organisé, je ne peu pas rester avec eux tout le temps. Les autres on besoin du maître. Les programmes sont près peu de temps après:

to tirar.um.a.computador

faz "comp :comp - 1

fim

to por.um.a.pessoa

faz "pessoa :pessoa + 1

fim

to por.um.a.comp

faz "comp :comp + 1

fim

Ils nont pas encore assemblés les programmes quils ont faits. Les choses en restent là, jusquau Carnaval. Finalement, le 1er mars, João et moi, nous pouvons faire le montage final:

Nous incluons les programmes finaux deux a deux dans resultado.da.aposta

Nous écrivons un petit programme final resultado pour inclure dans la zone de commandes le résultat du jeu. Là, une foi de plus, nous avons un petit problème avec la traduction portugaise.

Nous voulions:

to resultado

inserecc (frase [tu as] :pessoa [points, moi jai] :comp [points])

espera 40 le ac

fim

mais la tortue ne veut pas; il nous faut mettre (sentence [tu as] :pessoa [points, moi jai] :comp [points]) pour que apparaisse:

Nous changeons encore deux détails: nous donnons le nom partida au lieu de aposta au programme final, pour quil commence automatiquement quand la page du jeu est demandée. Nous changeons aussi stopall par indice dans acabar.ou.nao pour faire réapparaître lindice générale quand on quitte le jeu.


© Pascal Paulus
Portugal