Codificación aprenderaprogramar.com: PN00526G
BUCLES O CICLOS EN PROGRAMACIÓN
¡Bienvenidos a esta nueva entrega del curso de programación para niños! Soy Paula Muñoz, desde Sevilla, España. ¿Preparados para nuevos retos con la programación? En anteriores entregas hemos creado programas y hemos aprendido cómo utilizar variables en Didac-Prog Cartesia. Las variables nos sirven para almacenar números y esas variables podemos utilizarlas en cualquier lugar de nuestro programa.
En esta entrega vamos a conocer un nuevo comando de programación: la instrucción Repetir.
Ya hemos descrito cómo se puede dibujar un triángulo u otras formas geométricas. Pero, ¿qué ocurre si queremos dibujar 20 triángulos? Quizás podríamos pensar en introducir todas las coordenadas necesarias para definir dónde se ubica cada triángulo, lo cual nos llevaría un buen rato. ¿Y si quisiéramos dibujar 200 triángulos? Si tuviéramos que definir las coordenadas de todos sus vértices una a una, podría llevarnos varias horas o un día. ¿Y si quisiéramos dibujar 2000 triángulos? Posiblemente se volvería tan cansado que nunca lo haríamos. Sin embargo, los ordenadores, tablets, smartphones, etc. tienen la capacidad para dibujar cientos o miles de triángulos en menos de un segundo gracias a los potentes procesadores que llevan incorporados ya que son capaces de realizar cálculos y ejecutar instrucciones a gran velocidad.
En Cartesia es posible dibujar 20, 200, 2000 ó más triángulos usando el comando de repetición, similar al de lenguajes de programación de ámbito profesional y académico.
La idea será: definimos las variables necesarias para dibujar el triángulo. Entramos en un comando de repetición y dibujamos el triángulo. Modificamos los valores de las variables que definen donde debe situarse el triángulo en la siguiente repetición, y repetimos tantas veces como queramos.
Vamos a tomar como código de partida el siguiente. Abre la aplicación Cartesia y escríbelo en tu panel de código, pulsa Ejecutar y comprueba que aparezca un triángulo dibujado en el panel de dibujo. Puedes usar el panel de comandos para ir más rápido:
-- PROGRAMA PARA DIBUJAR UN TRIANGULO PN00526G Iniciar programa Nuevo grosor lápiz (2) x nuevo valor es (-10) y nuevo valor es (4) a nuevo valor es (-8) b nuevo valor es (2) c nuevo valor es (-10) d nuevo valor es (2) Dibujar línea desde (x,y) hasta (a,b) Dibujar línea desde (a,b) hasta (c,d) Dibujar línea desde (c,d) hasta (x,y) Finalizar programa
|
Bien, tras pulsar ejecutar ya tenemos aquí nuestro triángulo. Perfecto. Debes ser capaz de entender este código. Si no lo entiendes repasa las anteriores entregas del curso o consulta en los foros de aprenderaprogramar.com
COMANDO REPETICIÓN EN DIDAC-PROG CARTESIA
El comando repetición se escribe de la siguiente manera:
Repetir (?) veces ejecutar bloque Comienzo bloque ??? Fin bloque |
Donde hemos de sustituir el ? por el número de repeticiones que deseamos realizar y el ??? por las instrucciones que queremos que se ejecuten en cada repetición (por ejemplo las instrucciones para dibujar un triángulo con cada repetición). El código que se ejecutará en cada repetición se llama bloque de ejecución y puede comprender tantos comandos como queramos. Vamos a verlo con un ejemplo.
A partir del código para dibujar un triángulo que vimos anteriormente, vamos a escribir el siguiente código en el que añadimos algunas líneas y pulsaremos ejecutar:
-- PROGRAMA PARA DIBUJAR 25 TRIÁNGULOS HORIZONTALES PN00526G Iniciar programa Nuevo grosor lápiz (2) --Definimos las coordenadas iniciales para el triángulo x nuevo valor es (-10) y nuevo valor es (4) a nuevo valor es (-8) b nuevo valor es (2) c nuevo valor es (-10) d nuevo valor es (2) --Vamos a dibujar 25 triángulos Repetir (25) veces ejecutar bloque Comienzo bloque --Instrucciones para dibujar un triángulo Dibujar línea desde (x,y) hasta (a,b) Dibujar línea desde (a,b) hasta (c,d) Dibujar línea desde (c,d) hasta (x,y) --Preparamos la siguiente repetición --Definimos las coordenadas para el siguiente triángulo x nuevo valor es (x+3) a nuevo valor es (a+3) c nuevo valor es (c+3) Fin bloque Finalizar programa
|
Tenemos el mismo código que teníamos para dibujar un triángulo, sólo que ampliado con algunas líneas más. El resultado que obtenemos después de haber pulsado “Ejecutar” es que se han dibujado muchos triángulos en una fila.
Vamos a ver paso a paso qué es lo que hace este código. En primer lugar se definen las variables donde vamos a tener las coordenadas de los vértices o esquinas del triángulo. En el primer triángulo las coordenadas de estos vértices son (-10, 4), (-8,2) y (-10,2). Luego introducimos una instrucción Repetir para que se produzca un ciclo de 25 repeticiones. En la primera repetición, se dibuja el primer triángulo con las instrucciones dibujar línea. Después de esto, hay que preparar las coordenadas para el siguiente triángulo. Si no hiciéramos esto, se volvería a dibujar el triángulo en el mismo sitio, pero nosotros no lo queremos en el mismo sitio. ¿Cómo decimos cuáles serán las coordenadas para la siguiente repetición? Cambiando el valor de las variables que sea necesario cambiar. Si miras las coordenadas de los vértices o esquinas son (x, y), (a, b) y (c, d). La posición horizontal del triángulo depende de los valores de x, a y c que son las coordenadas x u horizontales. La posición vertical del triángulo depende de los valores y, b, d que son las coordenadas y o verticales. Para que el triángulo se desplace en la siguiente repetición 3 unidades a la derecha, incrementamos los valores de x, a y c en tres unidades con las instrucciones
x nuevo valor es (x+3) que hace que la x que antes valía -10 pase a valer -7 ya que hemos sumado 3
a nuevo valor es (a+3) que hace que la a que antes valía -8 pase a valer -5 ya que hemos sumado 3
c nuevo valor es (c+3) que hace que la c que antes valía -10 pase a valer -7 ya que hemos sumado 3
Ahora el ordenador llega a la instrucción Fin bloque, y como sólo ha hecho una repetición y le hemos dado instrucciones para que haga 25, vuelve al comienzo del bloque para repetir las instrucciones dentro del bloque de ejecución. Ahora se dibuja otro triángulo con las coordenadas (x, y), (a, b) y (c, d) de nuevo, pero como hemos modificado los valores de x, a, y c, ya no se dibuja en el mismo sitio que antes, sino que ahora se dibuja con vértices en (-7, 4), (-5, 2) y (-7, 2). De este modo ya tenemos dibujados 2 triángulos.
Ahora el proceso se repite y se dibuja el tercer triángulo, luego el cuarto, luego el quinto, y así hasta llegar a los 25 triángulos. Cuando se han dibujado los 25 triángulos y se llega al final del bloque, el ordenador detecta que ya se ha alcanzado el número de repeticiones que habíamos programado, por lo que en lugar de volver a repetir, sigue ejecutando el programa.
Para entender mejor lo que pasa fíjate en la siguiente imagen donde están indicadas las coordenadas de uno de los vértices o esquinas del triángulo y podemos ver cómo van cambiando estas coordenadas:
En esta imagen podemos ver cómo van cambiando las coordenadas del vértice superior del triángulo: inicialmente (x, y) vale (-10, 4). Al sumarle 3 a la x, las coordenadas de este vértice en el siguiente triángulo pasan a ser (-7, 4). Al sumarle 3 de nuevo pasan a ser (-4, 4). Al sumarle 3 de nuevo pasan a ser (-1, 4). Al sumarle 3 de nuevo (2, 4) y al sumarle 3 de nuevo (5,4). Si le sumamos 3 de nuevo las coordenadas serían (8, 4) y así sucesivamente. ¿Por qué ocurre esto? Porque en el código tenemos la instrucción x nuevo valor es (x+3) de modo que en cada repetición el valor de x se incrementa en 3 unidades. Con los otros vértices ocurre lo mismo.
Vamos a cambiar el código y en lugar de sumar 3 unidades vamos a sumar 5 unidades. ¿Qué ocurre? Que los triángulos aparecen más separados entre ellos porque en cada repetición los estamos desplazando más que antes. Prueba por tu cuenta a sumar cantidades más grandes o más pequeñas para que veas lo que ocurre.
Hay un detalle que tenemos que aclarar: ¿Por qué si hemos incluido instrucciones para dibujar 25 triángulos no vemos los 25 triángulos? Posiblemente ya sepas la respuesta, pero de cualquier manera, vamos a explicarlo, pero esto lo haremos en la próxima entrega del curso.
EJERCICIO
Usando como variables para los vértices (x, y) (a, b) y (c, d) crea un programa que dibuje un triángulo con grosor de lápiz medio cuyos vértices sean (-8, -3) , (-6, -4) y (-7, -2)
Crea a continuación otro programa a partir del anterior para dibujar 25 triángulos en vertical. Pista: introduce un comando Repetir e identifica las variables que controlan las coordenadas verticales en que se sitúa el triángulo. Modifícales antes de que se produzca la repetición. Ten en cuenta que este ejercicio se puede resolver de varias maneras diferentes. La solución será algo parecido a esto:
Puedes comprobar si tus respuestas son correctas consultando en los foros aprenderaprogramar.com.
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.