Repasemos nuestro algoritmo de cambiar una bombita de luz quemada.
Ese algoritmo comienza con decisión sobre si tengo o
no disponible una nueva bombita.
Si me falta, compramos una y luego sigue el resto del algoritmo.
Si no me falta, simplemente seguimos con el siguiente paso.
Ahora miremos un diagrama de flujo que muestra el
algoritmo para entrar a un cuarto.
De acuerdo a este algoritmo, primero se verifica si la puerta está cerrada.
Si está cerrada, la abrimos. Luego entramos.
Si está la luz apagada, la prendemos.
Finalmente, cerramos la puerta detrás nuestro.
Puedes ver que hay diferentes caminos de ejecución para este
algoritmo dependiendo del estado de la puerta y de la luz.
Por ejemplo, si la puerta está abierta y
la luz prendida, simplemente entramos al cuarto y cerramos detrás de nosotros.
Otro camino de ejecución involucra el caso que la
puerta esté cerrada y el cuarto tenga la luz apagada.
En ese caso, primero abrimos la puerta, entramos al cuarto y
prendemos la luz para finalmente cerrar la puerta detrás de nosotros.
Aquí tenemos el seudocódigo para el mismo algoritmo.
El seudocódigo es una descripción de un algoritmo que combina el
lenguaje común con algunas convenciones o formalidades.
Si la puerta está cerrada, entonces abrirla.
Entrar al cuarto. Si la luz está apagada, entonces prenderla.
Cerrar la puerta detrás de nosotros.
Observa que usamos las palabras si y entonces,
esas son las mismas que se usan en Scratch para las decisiones.
Aquí veremos una modificación de nuestro programa, el que hacía que el gato se
moviera unos pasos, rebotara, cambiara de color y maullara.
Lo que queremos hacer ahora es que el gato se mueva y
cuando llegue al borde rebote y maúlle.
¿Cómo hacemos esto?
Primero pensemos en el programa que ya tenemos.
Lo que es diferente es que no hay cambios de color y no queremos que maúlle siempre,
sólo que lo haga si toca el borde.
Además en ese caso debe rebotar.
Entonces, sacamos el bloque de cambiar color.
Y desenganchamos el bloque de tocar sonido.
E incluimos el bloque "si entonces" que está en la paleta de control.
La condición para que maúlle es que esté tocando el borde.
De la paleta de sensores seleccionamos el bloque tocando borde y
lo colocamos dentro de la condición del bloque si.