4º ESO – Programación con MSWLogo – Videojuego de coches (IX)

PROCEDIMIENTOS RECURSIVOS

Hasta ahora, para conseguir que un grupo de instrucciones se repitan de manera permanente hemos
utilizado la instrucción siempre. Vamos a ver, a continuación, otra manera de hacerlo utilizando un
procedimiento recursivo; es decir, un procedimiento que, antes de finalizar, se vuelve a llamar a si
mismo.

En definitiva, las instrucciones que hay entre los corchetes de la instrucción siempre las incluimos en
un procedimiento que vamos a llamar movimiento y cambiamos la instrucción siempre por una
llamada a ese procedimiento:

para movimiento
av 1 repite 2000 []
si píxel = [0 0 0] [ponpos [-210 130]]
movimiento
fin

para juego
bp sl
ponfoco [Pantalla de MSWLogo]
ponteclado [control]
cargadib “circuito.bmp
ponpos [-210 130] gd 90
movimiento
fin

Para dar por finalizado un procedimiento recursivo o, en general, cualquier procedimiento (sin llegar a
la instrucción fin) se utiliza la instrucción alto

Ejemplo: 
Hemos modificado el procedimiento movimiento para que, si la tortuga encuentra una zona de
color rojo, se de por finalizada su ejecución. El programa regresaría al procedimiento juego en la
instrucción que sigue a movimiento, en este caso, fin.

para movimiento
av 1 repite 2000 []
si píxel = [0 0 0] [ponpos [-210 130]]
si píxel = [255 0 0] [alto]
movimiento
fin

ACTIVIDADES:
13. Realizar un programa que realice la siguiente secuencia:
– Dibuja un cuadrado de color rojo, grosor 3 y 50 puntos de lado.
– Transcurridos 4 segundos lo pone de color amarillo.
– Pasados otros 2 segundos el color cambia a verde.
– Después de 1 segundo vuelve a iniciarse el ciclo.

Siguiente

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s