Origen
Carpetas de Proyectos
Recursos de Profesores
Recursos de Estudiantes
En INGLÉS
¿Cómo hago?
Lectura
Foro MW
Mapa del Sitio
Búsqueda
Equipo

espirales 1 2 3 4 5 6 7 8 9
Espirales 5
Pruébalo
47 KB


Meta:   Utiliza recursión para limitar el tamaño de la espiral.


Screenshot


Vocabulario:   if, > (greater than sign), stop

Código
Mapa del Proyecto

to spiral :length
pd
if :length > howbig [stop]
setc whatcolor
setpensize howthick
fd :length rt angle
spiral :length + howtight
end

to reset
cg
end



Notas

Cuando usamos spiral como un comando en el procedimiento spiral, eso le indica a la computadora que empiece a realizar el procedimiento nuevamente.   (Un procedimiento que se llama a si mismo dentro del procedimiento es un procedimiento recursivo).   La computadora iniciará nuevamente el procedimiento por siempre a menos que le digamos que se detenga.

  1. En lugar de decir el número de giros como lo hicimos en Espirales 4, crearemos un control howbig para ponerle límite a la longitud de las líneas.

  2. En el procedimiento spiral.   if :length > howbig [stop] significa: "Si el valor de la variable length es mayor que el número del control howbig, detén el procedimiento".

    Cada vez que la computadora corre el procedimiento spiral, revisa si la condición del comando if se cumple.   Si se cumple, el procedimiento se detiene.   Si no se cumple, el procedimiento seguirá corriendo.

  3. Spiral :length + howtight significa: "Empieza a correr el procedimiento spiral nuevamente, pero incrementa el valor de length en el número indicado por el control howtight".

    Cuando la llamada recursiva se realiza al final del procedimiento, se llama recursión por la cola.

  4. Siempre debes guardar tu trabajo antes de intentar un procedimiento recursivo, en caso de que no se detenga cuando tú supones.   También, siempre puedes interrumpir un proceso seleccionando "stop all" en el menú Edit.




¿Qué pasa si?
Intenta diferentes valores para los controles angle, howtight, y howbig.


Desafío
¿Puedes poner los controles para que la tortuga dibuje espirales que lleguen hasta la parte de arriba y la parte de abajo de la página del proyecto sin sobrepasarse?




© copyright 2001 - 2008  OpenWorld Learning.   All rights reserved.