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

 

 

CURVAS Y ECUACIONES EN DIDAC-PROG CARTESIA

¡Hola! Soy Paula, y continuamos con una nueva entrega del curso de programación para niños de aprenderaprogramar.com. En la anterior entrega del tutorial vimos cómo trazar curvas uniendo segmentos después de haber extraído puntos de la curva gráficamente. Vamos a ver ahora cómo dibujar curvas más precisas usando ecuaciones. 

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.

 

TRAZAR CURVAS COMO LA CIRCUNFERENCIA A PARTIR DE SU ECUACIÓN

En Cartesia podemos dibujar curvas más precisas usando fórmulas matemáticas. La fórmula matemática que describe una circunferencia (“círculo”) podemos consultarla en internet o preguntársela a un profesor. Esta fórmula, si la circunferencia está centrada sobre el origen de coordenadas, es x2 + y2 = r2 donde x e y son los valores de coordenada horizontal y vertical, y la r es el radio. La fórmula también puede escribirse como x*x + y*y = r*r, o también puede escribirse como y = raíz cuadrada de (r2 – x2) ó y = sqr (r2 – x2). Esta forma de expresión es la que a nosotros nos va a resultar útil porque nos dice el valor de y para un valor de x y un radio.

Sabiendo esto, para cualquier valor de x que tomemos, el valor de y será la raíz cuadrada de r2 – x2. En nuestro ejemplo estamos dibujando un círculo de radio 4 por lo que la fórmula queda y = sqr (16 - x2) = sqr (16 – x*x)

Para un valor de x el punto a dibujar sería sqr (16 – x*x)

Si creamos la variable x, con valor inicial x = - 4, el siguiente punto a dibujar sería x+1 (nuevo valor de x es -3), el siguiente x+2 (nuevo valor de x es -2) y así sucesivamente hasta llegar a la x igual a cuatro.

Por tanto tendríamos:

Primer punto de la circunferencia con valor de x igual a menos cuatro: (x, sqr(16 – x*x) ) y para x=-4 resulta (-4, sqr (16 -4*4))= = (-4, sqr (16-16)) = (-4, sqr(0)) = (-4, 0)

Segundo punto de la circunferencia: usamos la misma fórmula pero en vez de x utilizamos x+1 con lo cual el punto quedaría así: (x+1, sqr ( 16 - (x+1)*(x+1) ) = (-4+1, sqr (16 - (-3*-3)) ) = (-3, sqr (16-9) ) = (-3, sqr(7))

Calculamos la raíz cuadrada de 7 y obtenemos 2.65 por tanto el punto es (-3, 2.65)

Tercer punto de la circunferencia: usamos la misma fórmula pero en vez de -3 usamos -3+1, es decir, ahora la x valdría -2 y realizaríamos la misma sustitución.

Cuarto punto de la circunferencia: usamos la misma fórmula pero en vez de -2 usamos -2+1, es decir, ahora la x valdría -1 y realizaríamos la misma sustitución.

Vamos a escribir el código para unir los dos primeros puntos del círculo con una línea usando variables:

-- EJEMPLO EJERCICIO RESUELTO PN00537G-0 DIBUJAR CÍRCULO paso 0

Iniciar programa

Nuevo color lápiz (1)

Nuevo grosor lápiz (2)

x nuevo valor es (-4)

Dibujar línea desde (x,sqr(16-x*x)) hasta (x+1, sqr(16-(x+1)*(x+1)))

Finalizar programa

 

 

Nota: en lugar de x*x podemos escribir x^2 y en lugar de (x+1)*(x+1) podemos escribir (x+1)^2

Como la raíz cuadrada en realidad admite valores +2.65 (positivo, "hacia arriba") y -2.65 (negativo, "hacia abajo") pero el operador sqr sólo nos devuelve el valor positivo, podemos incluir también la línea que tenemos que dibujar hacia abajo simplemente dibujando otra línea y poniéndole un negativo delante de los valores de la y. La incluimos en el código copiando la línea y poniendo un menos delante de los valores de la y:

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

Iniciar programa

Nuevo color lápiz (1)

Nuevo grosor lápiz (2)

x nuevo valor es (-4)

Dibujar línea desde (x,sqr(16-x*x)) hasta (x+1, sqr(16-(x+1)*(x+1)))

Dibujar línea desde (x,-sqr(16-x*x)) hasta (x+1, -sqr(16-(x+1)*(x+1)))

Finalizar programa

 

 

Con esto hemos dibujado la primera línea "hacia arriba" y "hacia abajo" para empezar a dibujar el círculo.

Programación visual para niños dibujar circunferencia a partir de su ecuación

 

Ahora tendríamos que repetir el proceso cambiando el valor de la x al siguiente valor para seguir uniendo puntos del círculo. Esto lo hacemos introduciendo una instrucción de repetición en la que:

- Ponemos las instrucciones de dibujar línea dentro del bloque de repetición para poder repetirlas.

- Antes de repetir establecemos como nuevo valor de x el siguiente valor que nos interesa que es x+1

- El número de repeticiones que nos interesa para tomar como valores de x los números -4, -3, -2, -1, 0, 1, 2, 3, 4 es 8 repeticiones ya que usamos -4, -3, -2, -1, 0, 1, 2, 3 y vamos en cada repetición hasta los siguientes que son -3, -2, -1, 0, 1, 2, 3, 4.

El código queda así:

-- EJEMPLO EJERCICIO RESUELTO PN00537G-2 DIBUJAR CÍRCULO paso 2

Iniciar programa

Nuevo color lápiz (1)

Nuevo grosor lápiz (2)

x nuevo valor es (-4)

Repetir (8) veces ejecutar bloque

Comienzo bloque

Dibujar línea desde (x,sqr(16-x*x)) hasta (x+1, sqr(16-(x+1)*(x+1)))

Dibujar línea desde (x,-sqr(16-x*x)) hasta (x+1, -sqr(16-(x+1)*(x+1)))

x nuevo valor es (x+1)

Fin bloque

Finalizar programa

 

 

El resultado que obtenemos es muy parecido al que habíamos obtenido antes, pero este es un poco más perfecto.

Programación gráfica para niños dibujar círculos mediante ecuación

 

Si te fijas el código en el que usamos una tabla de puntos y manualmente fuimos dibujando cada línea nos ocupaba 20 líneas mientras que este código nos ocupa 12 líneas, así que nos hemos ahorrado unas cuantas líneas. ¿Qué ocurriría si quisiéramos hacer el círculo más perfecto y en lugar de ir incrementando x+1 usarámos x+0.5? Si usáramos el código donde manualmente señalamos los puntos al tener el doble de puntos el tamaño aumentaría aproximadamente el doble, a unas 40 líneas, lo cual nos llevaría un buen rato. Sin embargo, usando variables seguiríamos ocupando sólo 12 líneas. Lo único que tendríamos que hacer es aumentar las repeticiones a 16 y el incremento a x+0.5.

¿Qué ocurriría si quisiéramos hacer el círculo más perfecto y en lugar de ir incrementando x+0.5 usarámos x+0.25? Si usáramos el código donde manualmente señalamos los puntos el tamaño aumentaría a unas 80 líneas, lo cual nos llevaría un buen tiempo. Sin embargo, usando variables seguiríamos ocupando sólo 12 líneas y el cambio podemos hacerlo en un periquete. Lo único que tendríamos que hacer es aumentar las repeticiones a 32 y el incremento a x+0.25. El código quedaría así:

-- EJEMPLO EJERCICIO RESUELTO PN00537G-3 DIBUJAR CÍRCULO paso 3

Iniciar programa

Nuevo color lápiz (1)

Nuevo grosor lápiz (2)

x nuevo valor es (-4)

Repetir (32) veces ejecutar bloque

Comienzo bloque

Dibujar línea desde (x,sqr(16-x*x)) hasta (x+0.25, sqr(16-(x+0.25)*(x+0.25)))

Dibujar línea desde (x,-sqr(16-x*x)) hasta (x+0.25, -sqr(16-(x+0.25)*(x+0.25)))

x nuevo valor es (x+0.25)

Fin bloque

Finalizar programa

 

 

Y el resultado ahora es que el círculo se dibuja bastante perfecto:

Aplicación para la enseñanza visual de la programación Didac-Prog Cartesia niños primaria y secundaria

 

¿Y si quisiéramos dibujar 3 círculos, uno de radio 3, otro de radio 4 y otro de radio 5 con incrementos de 0.25 para hacerlos bastante perfectos? Si usáramos el código donde manualmente señalamos los puntos el tamaño aumentaría a unas 80+80+80 = 240 líneas, lo cual nos llevaría mucho tiempo. En cambio usando variables podemos hacerlo de forma más sencilla.

 

RESUMEN

Hemos llegado al final de esta entrega del curso. A modo de resumen, hemos visto que podemos dibujar curvas o cualquier otra forma a partir de sus ecuaciones. Cuando queremos usar muchos puntos, el uso de variables y repeticiones nos va a facilitar el hacer mejores dibujos tardando menos tiempo. ¡Nos vemos en la próxima entrega!

 

EJERCICIO

Crear un programa para dibujar una parábola cuya ecuación es y = x2 – 3, usando repeticiones para unir líneas entre puntos de la parábola. Usa lápiz de grosor intermedio y color verde. Como incrementos usa en cada repetición 0.25 unidades.

Te voy a dar algunas pistas.

Pista 1: debes elegir un valor de x inicial. Para elegirlo, dibuja primero la parábola sobre un papel cuadriculado y viendo las coordenadas que tiene Didac-Prog Cartesia en la pantalla, elige un valor de x de modo que la y quede dentro del panel de dibujo, o próximo al panel de dibujo. Por ejemplo para x igual a 1, la y resulta -2 por lo que no veríamos bien la parábola. Toma un valor como -6, -7 ó -8 y será más adecuado.

Pista 2: en cada repetición el punto inicial tendrá que ser (x, x*x -3). Esto también se puede escribir como (x, x^2 - 3 ). Para obtener el punto final incrementa 0.25 unidades y ten cuidado con los paréntesis.

Pista 3: tienes que elegir un número de repeticiones. Puedes calcularlo. Por ejemplo, si vas a ir de -6 a -5 te hacen falta 4 repeticiones ya que se usan -6, -5.75, -5.5, -5.25. Para ir de -6 a -4 te hacen falta 8 repeticiones. Y así sucesivamente. También puedes ir probando repeticiones hasta que se dibuje bien.

Pista 4: en cada repetición tienes que incrementar el valor de x, no lo olvides.

Pista 5: el programa no debería ocuparte más de 15 líneas de código.

Pista 6: el resultado a obtener debe ser parecido a la siguiente imagen.

Ejercicios resueltos de programación visual para niños con aplicación didáctica Didac-Prog Cartesia
 

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: