Los programas interactúan con el usuario de diversas maneras: al presionar teclas, tocar pantallas, mover el ratón, etc. Dependiendo de estos eventos, se toman unas acciones u otras.
Lo mismo sucede con los cálculos internos el programa: dependiendo del valor de ciertas variables, los programas realizan unas acciones u otras. Para tomar decisiones dentro de un programa se utiliza una sentencia fundamental, if-else, cuya sintaxis es la siguiente:
if (condición1){
Bloque 1 de sentencias
}
else{
Bloque 2 de sentencias
}
La condición1 se evalúa y, si es cierta (true en Processing), se ejecuta el Bloque 1 de sentencias. Si es falsa (false en Processing), se ejecuta el Bloque 2 de sentencias. La parte else es opcional en este tipo de estructuras; si no se utiliza, y en caso de que sea cierta la condición1, se ejecuta el Bloque 1 de sentencias y el programa prosigue en la línea siguiente, si no es cierta la condición1, no se ejecutan dichas sentencias.
Las condiciones pueden evaluarse con operadores:
Por otra parte, debemos tener en cuenta que pueden utilizarse varios if()anidados. En estas estructuras, si se da una primera condición, se evalúa si se cumple una segunda, por ejemplo:
En este programa, al haber dado al comienzo un valor de 15 a la variable temp, no cumpliéndose así la primera condición (if(temp>25)) , pasa a revisar si se cumple la segunda (if(temp>10 && temp<=25)). Al cumplirse ésta, aparece en la pantalla de color #FFEE00 (amarillo) el mensaje "Clima templado".
Nota: Como puede apreciarse en el ejemplo anterior, la sentencia if puede evaluarse sobre varias condiciones lógicas a la vez usando operadores lógicos. Son los siguientes:
TAREA
Práctica 13. Elabora un programa en el que:
- Si no pulsas ningún botón del ratón, dibuja circunferencias y deja rastro de ellas.
- Si pulsas el botón izquierdo, dibuja cuadrados y deja rastro de ellos.
- Si pulsas el botón derecho, dibuja líneas y deja rastro de ellas.
- Si pulsas el botón central, borra todos los dibujos.
NOTA: Los ratones pueden tener entre dos y tres botones. Cuando se pulsa uno de ellos, la variable de Processing mousePressed toma el valor true; en caso contrario, si no se pulsa ningún botón, toma el valor false.
Existe otra variable que indica qué botón se ha presionado. Es la variable mouseButton, que toma los valores expresados en la siguiente tabla:
Para ver cómo se utilizan esta variables, accede a https://processing.org/reference/.