Logo - Toma de decisiones

La toma de decisiones y las variables van juntas. Un programa debe poder cambiar de rumbo dependiendo de la situación. Aquí, por ejemplo, hay un marco para dibujar una espiral. Tiene un bucle, una variación de la repetición que se mostró anteriormente y el cuerpo del bucle es para que lo completemos.

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

El código anterior muestra varias características nuevas de la sintaxis del logotipo de MSW. Establecemos una variable en un nuevo valor tecleando 'make', luego el nombre de la variable está precedido por comillas dobles "en lugar de dos puntos ':' como se muestra a continuación.

make "n 1

Sin embargo, usamos una variable con dos puntos ':' delante de su nombre.

while [:n < 100]

El código entre corchetes después del 'while [condición]' se ejecuta, mientras que la condición es verdadera. Cuando ya no es cierto, porque (en este caso) el valor de ': n' crece por encima de 100, se ejecuta el código que sigue al corchete.

La siguiente captura de pantalla muestra la ejecución y salida del código anterior.

Ahora, discutiremos el uso de 'sentencias if', que tienen un código que se ejecutará solo cuando una condición dada sea verdadera.

También muestra un logotipo integrado que genera números aleatorios. La declaraciónrandom 3genera cualquier número 0 o 1 o 2 arbitrariamente en una secuencia aleatoria. El procedimiento decide entonces qué camino tomar "al azar". El número aleatorio generado se mantendrá en 'r' y luego, dependiendo del valor de la variable 'r', se ejecutará una de las sentencias if, que satisfará la condición. Entonces, si el -

  • El valor de 'r' es 0, entonces [fd 20] será ejecutado.
  • El valor de 'r' es 1, entonces [rt 90 fd 20] será ejecutado.
  • El valor de 'r' es 2, entonces [lt 90 fd 20] será ejecutado.

La siguiente captura de pantalla muestra la ejecución y el resultado de la discusión anterior.