2. Guía 2: autómatas

2.4. Impredecibilidad

2.4.2. Condicionales

En la programación hay unas instrucciones muy importantes denominadas condicionales. Nos sirven para hacer que se produzcan determinadas acciones si se cumplen unas condiciones.

Snap! tiene dos instrucciones condicionales. Son las siguientes:

La primera nos permite hacer que se ejecute una secuencia de instrucciones si se cumple una condición que debemos establecer. La segunda hace lo mismo, pero podemos establecer una secuencia de instrucciones que se ejecutarán si no se cumple la condición.

Los bloques que podemos poner dentro de los espacios por sus condiciones los encontramos en el menú «Operadores». Son los siguientes:

La mejor manera de entenderlo es probándolo directamente con Snap! Volveremos al ejemplo anterior y haremos alguna modificación. Dibujaremos las líneas solo de dos colores (azul oscuro y azul claro). Para elegir qué color utilizaremos en cada iteración, usaremos un condicional. Lo haremos de la siguiente manera:

Les diremos, por lo tanto, que cada vez que dibuje una línea, «si el número al azar que elige entre 1 y 3 es igual a 1», lo haga usando el azul oscuro; en caso contrario (es decir, si el valor es igual a 2 o 3), que emplee el azul claro.

Dado que esta instrucción está dentro de un bucle que se repite mucho, la probabilidad nos dice que más o menos una tercera parte de las veces que el programa genere un número al azar entre 1 y 3 el valor será 1. Así, un tercio de los segmentos dibujados aproximadamente serán de color azul oscuro y dos tercios de color azul claro. Pero hay una impredecibilidad total para saber de qué color será cada segmento concreto.

Veamos el programa entero y el resultado de una ejecución.

Código del programa

Con la aleatoriedad, los condicionales y los operadores, ya podemos realizar proyectos de arte generativo bastante complejos. Veamos detenidamente algunos ejemplos con ejercicios prácticos.