Logo - Prise de décision

La prise de décision et les variables vont de pair. Un programme doit pouvoir changer de cap en fonction de la situation. Voici, par exemple, un cadre pour dessiner une spirale. Il a une boucle, une variation de la répétition montrée précédemment et le corps de la boucle est à nous de remplir.

to spiral
   make "n 1
   while [:n < 100] [
      make "n :n + 5
      fd :n rt 90
   ]
end

Le code ci-dessus montre plusieurs nouvelles fonctionnalités de la syntaxe du logo MSW. Nous définissons une variable sur une nouvelle valeur en tapant «make», puis le nom de la variable est précédé d'un guillemet double "plutôt que d'un deux-points": "comme indiqué ci-dessous.

make "n 1

Nous utilisons une variable, cependant, avec un deux-points ':' devant son nom.

while [:n < 100]

Le code entre crochets après le 'while [condition]' est exécuté, tandis que la condition est vraie. Quand ce n'est plus vrai, parce que (dans ce cas) la valeur de ': n' dépasse 100, le code suivant le crochet est exécuté.

La capture d'écran suivante montre l'exécution et la sortie du code ci-dessus.

Maintenant, nous allons discuter de l'utilisation des «instructions if», qui ont un code qui ne sera exécuté que lorsqu'une condition donnée est vraie.

Il montre également un logo intégré qui génère des nombres aléatoires. La déclarationrandom 3génère n'importe quel nombre 0, 1 ou 2 arbitrairement dans une séquence aléatoire. La procédure décide alors dans quelle direction aller "au hasard". Le nombre aléatoire généré sera conservé dans «r» et plus tard, selon la valeur de la variable «r», l'une des instructions if sera exécutée, ce qui satisfera la condition. Ainsi, si le -

  • La valeur de 'r' est 0, alors [fd 20] sera exécuté.
  • La valeur de 'r' est 1, alors [rt 90 fd 20] sera exécuté.
  • La valeur de 'r' est 2, alors [lt 90 fd 20] sera exécuté.

La capture d'écran suivante montre l'exécution et la sortie de la discussion ci-dessus.