Resumen: Entrega nº39 del curso "Programación para niños de 10 a 16 años (primaria o secundaria)".
Codificación aprenderaprogramar.com: PN00539G

 

 

PENSANDO CÓMO DIBUJAR VARIAS CIRCUNFERENCIAS

¡Hola amigos! Continuamos con nuestro curso de programación para jóvenes y adolescentes. En la anterior entrega creamos un código basado en el uso de variables que nos permitía dibujar una circunferencia de cualquier diámetro. ¿Cómo podemos hacer para crear un programa que dibuje 10, 20, 50, 500 ó 5000 círculos? ¿Es posible? 

didac-prog cartesia aprender programacion niños

 

Esta entrega la catalogamos como de programación avanzada. Por tanto no es recomendada para primaria sino sólo para secundaria.

Esta entrega está dirigida a mayores de 12 años. Si tienes menos edad, sáltala.

 

EL CÓDIGO DE PARTIDA

Nuestro código de partida es el que definimos en una entrega anterior para dibujar una circunferencia usando variables y es este:

- EJEMPLO EJERCICIO RESUELTO PN00538G-1 DIBUJAR CÍRCULO paso 1

Iniciar programa

Nuevo color lápiz (1)

Nuevo grosor lápiz (2)

e nuevo valor es (4)

x nuevo valor es (-e)

a nuevo valor es (1/2)

 

Repetir ((e+e)*(1/a)) veces ejecutar bloque

Comienzo bloque

Dibujar línea desde (x,sqr(e*e-x*x)) hasta (x+a, sqr(e*e-(x+a)*(x+a)))

Dibujar línea desde (x,-sqr(e*e-x*x)) hasta (x+a, -sqr(e*e-(x+a)*(x+a)))

x nuevo valor es (x+a)

Fin bloque

Finalizar programa

 

 

Este código al ejecutarlo en Didac-Prog Cartesia dibuja una circunferencia.

Aplicación para la enseñanza visual de la programación Didac-Prog Cartesia adolescentes secundaria

 

DIBUJAR VARIAS CIRCUNFERENCIAS

Podemos dibujar 2, 3, 4, 5, 10, 15, 20, 50, 500 ó 5000 circunferencias. Una forma de dibujar varias circunferencias es repetir el código que sea necesario modificando aquello que queramos modificar. Por ejemplo podemos dibujar 3 circunferencias usando 3 veces la misma idea que hemos usado para dibujar una circunferencia, basada en una instrucción repetir que va dibujando trocitos de circunferencia hasta completar el dibujo. Antes de cada grupo de instrucciones para el dibujado de una circunferencia tendremos que indicar cúal es el valor del radio e, y cúal es el valor innicial para la x que será (-e) porque una circunferencia partirá del valor x igual a menos el radio (-e) y llegará hasta el valor del radio (e). Este programa es un ejemplo de cómo dibujar 3 circunferencias a base de repetir la misma idea 3 veces:

-- EJEMPLO EJERCICIO RESUELTO PN00539G-0 DIBUJAR CÍRCULOS paso 0

Iniciar programa

Nuevo color lápiz (1)

Nuevo grosor lápiz (2)

e nuevo valor es (4)

x nuevo valor es (-e)

a nuevo valor es (1/4)

 

--Dibujar primer círculo

Repetir ((e+e)*(1/a)) veces ejecutar bloque

Comienzo bloque

Dibujar línea desde (x,sqr(e*e-x*x)) hasta (x+a, sqr(e*e-(x+a)*(x+a)))

Dibujar línea desde (x,-sqr(e*e-x*x)) hasta (x+a, -sqr(e*e-(x+a)*(x+a)))

x nuevo valor es (x+a)

Fin bloque

 

-- Dibujar segundo círculo

Nuevo color lápiz (4)

e nuevo valor es (3)

x nuevo valor es (-e)

 

Repetir ((e+e)*(1/a)) veces ejecutar bloque

Comienzo bloque

Dibujar línea desde (x,sqr(e*e-x*x)) hasta (x+a, sqr(e*e-(x+a)*(x+a)))

Dibujar línea desde (x,-sqr(e*e-x*x)) hasta (x+a, -sqr(e*e-(x+a)*(x+a)))

x nuevo valor es (x+a)

Fin bloque

 

-- Dibujar tercer círculo

Nuevo color lápiz (5)

e nuevo valor es (5)

x nuevo valor es (-e)

 

Repetir ((e+e)*(1/a)) veces ejecutar bloque

Comienzo bloque

Dibujar línea desde (x,sqr(e*e-x*x)) hasta (x+a, sqr(e*e-(x+a)*(x+a)))

Dibujar línea desde (x,-sqr(e*e-x*x)) hasta (x+a, -sqr(e*e-(x+a)*(x+a)))

x nuevo valor es (x+a)

Fin bloque

 

Finalizar programa

 

 

Con este programa dibujamos una circunferencia azul, otra roja y otra verde, de radio 3, 4 y 5, porque hemos cambiado el color y el radio antes de las instrucciones que dan lugar a que se dibuje cada una de ellas.

Ejercicios resueltos computación para adolescentes secundaria con aplicación Didac-Prog Cartesia
 

Pero ¿qué ocurre si quisiéramos dibujar 30, 50, 500 ó 5000 circunfeencias? Usar la repetición de código no es muy buena idea en programación. ¿Por qué? Porque teniendo una instrucción repetir, cuando se quieren repetir cosas, como dibujar círculos, los programadores usan la instrucción repetir porque es mejor que estar creando largos programas donde pegamos una y otra vez un código casi igual. Estos largos programas repetitivos hacen más fácil cometer errores, más difícil saber dónde nos equivocamos y más difícil hacer cambios cuando queremos cambiar algo.

¿Cuál es entonces la solución? Pues ya que tenemos una instrucción repetir, crear las repeticiones usando esta instrucción en lugar de repitiendo una y otra vez código dentro de nuestro programa. Esto iremos viendo poco a poco cómo hacerlo.

 

EJERCICIO

a) Crea un programa basado en variables donde se dibuje un cuadrado de una longitud de lado a (el valor inicial de a tendrás que definirlo tú) cuya esquina inferior izquierda esté situada en un punto (x, y) (los valores iniciales de x e y tendrás que definirlos tú).

b) Crea un programa para dibujar 4 cuadrados todos ellos de longitud de lado a, situados en distinta posición sobre el plano cartesiano y donde cada cuadrado tenga un color distinto. Para ello puedes usar repetición de código similar a la que hemos visto para dibujar círculos.

Los resultados a obtener serán similares a esto (no tienen por qué ser iguales, ya que tus cuadrados podrán tener distinto tamaño y estar situados en distinta posición):

Ejercicios resueltos uso de bucles y variables para niños y adolescentes

 

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.

 

Descargar archivo: