2. Guia 2: autòmats

2.4. Impredictibilitat

2.4.2. Condicionals

En la programació hi ha unes instruccions molts importants anomenades condicionals. Ens serveixen per a fer que es produeixin determinades accions si es compleixen unes condicions.

Snap! té dues instruccions condicionals. Són les següents:

La primera ens permet fer que s’executi una seqüència d’instruccions si es compleix una condició que hem d’establir. La segona fa el mateix, però podem establir una seqüència d’instruccions que s’executaran si no es compleix la condició.

Els blocs que podem posar dins els espais per a les condicions els trobem en el menú «Operadors». Són els següents:

La millor manera d’entendre-ho és provant-ho directament amb Snap!. Tornarem a l’exemple anterior i farem alguna modificació. Dibuixarem les línies només de dos colors (blau fosc i blau clar). Per a triar quin color utilitzarem en cada iteració, farem servir un condicional. Ho farem de la manera següent:

Li direm, doncs, que, cada cop que dibuixi una línia, «si el nombre a l’atzar que escull entre 1 i 3 és igual a 1», dibuixi fent servir el blau fosc; altrament (és a dir, si el valor és igual a 2 o 3), que dibuixi amb blau clar.

Com que aquesta instrucció és dins d’un bucle que es repeteix molt, la probabilitat ens diu que més o menys una tercera part de les vegades que el programa generi un nombre a l’atzar entre 1 i 3 el valor serà 1. Així, un terç dels segments dibuixats aproximadament seran de color blau fosc i dos terços de color blau clar. Però hi ha una impredictibilitat total per a saber de quin color serà cada segment concret.

Vegem el programa sencer i el resultat d’una execució.

Codi del programa

Amb l’aleatorietat, els condicionals i els operadors, ja podem fer projectes d’art generatiu força complexos. Vegem alguns exemples detingudament amb exercicis pràctics.