Logo - Processo decisionale

Il processo decisionale e le variabili vanno insieme. Un programma deve poter cambiare rotta a seconda della situazione. Ecco, ad esempio, una struttura per disegnare una spirale. Ha un loop, una variazione sulla ripetizione mostrata in precedenza e il corpo del loop è per noi da riempire.

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

Il codice sopra mostra diverse nuove funzionalità della sintassi del logo MSW. Impostiamo una variabile su un nuovo valore digitando "make", quindi il nome della variabile è preceduto da virgolette doppie "anziché da due punti": "come mostrato di seguito.

make "n 1

Tuttavia, utilizziamo una variabile con i due punti ":" davanti al nome.

while [:n < 100]

Il codice racchiuso tra parentesi dopo la 'while [condizione]' viene eseguito, mentre la condizione è vera. Quando non è più vero, perché (in questo caso) il valore di ': n' cresce maggiore di 100, viene eseguito il codice che segue la parentesi.

La seguente schermata mostra l'esecuzione e l'output del codice precedente.

Ora, discuteremo l'uso di "istruzioni if", che hanno un codice che verrà eseguito solo quando una data condizione è vera.

Mostra anche un logo integrato che genera numeri casuali. La dichiarazionerandom 3genera qualsiasi numero 0 o 1 o 2 arbitrariamente in una sequenza casuale. La procedura decide quindi da che parte andare "a caso". Il numero casuale generato verrà mantenuto in "r" e successivamente a seconda del valore della variabile "r" verrà eseguita una delle istruzioni if, che soddisferà la condizione. Quindi se il -

  • Il valore di "r" è 0, quindi [fd 20] sarà eseguito.
  • Il valore di "r" è 1, quindi [rt 90 fd 20] sarà eseguito.
  • Il valore di "r" è quindi 2 [lt 90 fd 20] sarà eseguito.

La seguente schermata mostra l'esecuzione e l'output della discussione precedente.