Buscar este blog

jueves, 8 de agosto de 2013

Más repeticiones

En las últimas entradas hemos visto while() y for() como estructuras de repetición, sobre ejemplos con la consola estándar, la entrada y salida por texto.

Volvamos al módulo de la tortuga. Por ejemplo, dibujar una estrella, en la que varias líneas se entrecruzan otras tantas veces, sería muy trabajoso de no conocer, o no poder emplear, la posibilidad de bucles.

Buscando el programa en logo que dibuja una estrella, es posible adaptar ese programa fácilmente a jC y su módulo de la tortuga:

/**
 @name Star
 @brief Crea una estrella utilizando la tortuga
  en un bucle.
 @author jbgarcia@uvigo.es
*/

import media.gw;
import media.turtle;

final def Distancia = 100;
final def Angulo = 160;
final def Aristas = 9;

for(def i = 0; i < Aristas; ++i) {
 turtle.forward( Distancia );
 turtle.turnRight( Angulo );
}

¡Es el momento de experimentar! Diferentes aristas, diferentes ángulos y diferentes distancias (el tamaño de cada arista) nos proporcionarán una estrella un poco diferente de cada vez (si se cambia mucho el ángulo, lo que saldrá no será una estrella: de hecho se puede obtener un cuadrado o un triángulo fácilmente.)

A continuación, se muestra un ejemplo variando un tanto las constantes dadas:

No hay comentarios:

Publicar un comentario