Repasando Processing / Condicionales y bucles

En apuntes anteriores ya hemos comentado el uso de algunos condicionales. En la carpeta Condicionales y bucles de nuestro repositorio en GitHub encontrarás ejemplosmás o menos detallados de todo. Aquí nos limitaremos a hacer un rápido resumen de este tipo de funciones.

if()

Una función condicional if() podría tener esta forma:

int a = 1;
if(a = 0){point(50, 50);}

Lo que hace es evaluar la condición expresada entre paréntesis y, si es cierta, ejecuta la función indicada entre llaves. En este caso podríamos traducirlo como: “si a es igual a 0, dibuja un punto en las coordenadas 50, 50”. Si la condición no se da, la función no se ejecuta. En este ejemplo el programa mostraría una ventana en blanco, puesto que la condición no se da.

if() / else

Este tipo de condicional sirve para ejecutar una u otra función dependiendo de si una condición se cumple o no:

int a = 1;
if(a = 0){point(50, 50);}
else {ellipse(50, 50, 100, 100);}

“Si a es igual a 0, dibuja un punto, si no lo es dibuja una circunferencia”

else if()

Evalúa una serie de condicionales:

int a = random(10);
if(a < 3){point(50, 50);}
else if(a > 6){ellipse(50, 50, 100, 100);}
else {rect(10, 10, 90, 90);}

“Si a es menor que 3, dibuja un punto; si es mayor que 6, dibuja una circunferencia; si ninguna de las dos condiciones es cierta, dibuja un cuadrado”

if() anidados

Si se da una primera condición, evalúa si se cumple una segunda

int a = random(10);
int b = random(5);
if(a < 6){
  if(b < 2.5){
    point(50, 50);
  } else {ellipse(50, 50, 100, 100);}
}

“Si a es menor que 6 y b es menor que 0.5, dibuja un punto; si a es menor que 6 y b no es menor que 2.5, dibuja una circunferencia; si a es mayor que 6, no hagas nada”

for()

Este bucle tiene una sintaxis especial:

for(int i = 0; i < 50, i++){point(random(width), random(height))}

Lo llamamos bucle y no condicional porque lo que hace es repetir una función mientras la condición se cumpla. La condición en este ejemplo sería: “i es igual a 0; mientras i sea menor que 50, añade uno a i”. Es decir, que la función indicada entre corchetes se repetiría en este caso 50 veces, dibujando cincuenta puntos aleatorios en la ventana.

while()

Es similar a for(), ejecutándose repetidas veces mientras una condición sea cierta

int i = 0;
while(int<50){
  point(random(width), random(height));
  i++;
}

El resultado es el mismo que en el anterior.

?:

Es otro modo de utilizar if()/else al asignar un valor a una variable:

a = (b == 1)? 125 : 255;

“Si el valor de b es 1, el valor de a es 125; si el valor de b no es 1, el valor de a es 255”

switch()

Muy útil si tenemos una serie larga de funciones que queremos que se ejecuten cuando el valor de una variable coincida con el que le indiquemos.

switch(selector){
  case A:
  funcion_1();
  break;
  case B:
  funcion_2();
  break;
  case C:
  funcion_3();
  break;
}

“Si el valor de la variable ‘selector’ es ‘A’, ejecuta funcion_1; si el valor es B, ejecuta funcion_2, etc…”

En todo caso esto es apenas una chuleta, recomiendo consultar los ejemplos de Condicionales y bucles en GitHub, que son más completos

Leave a Comment.