Codificación aprenderaprogramar.com: PN00531G
CURVAS EN DIDAC-PROG CARTESIA
¡Hola a todos! Soy Paula Muñoz, y aquí continuamos con una nueva entrega del curso de programación para niños. ¿Preparados para ser los mejores programadores? ¡A por ello! En anteriores entregas hemos visto cómo dibujar rectas a base de dibujar muchos puntos muy próximos entre sí. Vamos ahora a ver cómo podemos dibujar curvas de la misma manera.
DIBUJAR LA FUNCIÓN CUADRÁTICA CON CARTESIA
En la anterior entrega representamos una recta y quedó pendiente cómo dibujar la curva llamada “cuadrática”.
Vamos a representar usando puntos muy juntos esta curva que se suele escribir como y = x2, que es lo mismo que y = x^2 o que y = x*x . Para cada valor de x que elijamos dibujaremos un punto en la coordenada (x, x*x) . Por ejemplo para x = -3 dibujaremos el punto (-3, -3*-3) que es (-3, 9) . O para x = 2 dibujaremos el punto (2, 2*2) que es (2, 4) .
Cuando dibujamos la unión de todos estos puntos se forma la figura de una parábola con una forma similar a esto:
Vamos a abrir la aplicación Didac-Prog Cartesia y a ver cómo podemos dibujar curvas usando puntos muy próximos entre sí. En primer lugar vamos a dibujar una parábola donde a cada x le corresponde una y = x*x donde vamos a ir dibujando muchos puntos repetidamente y en cada repetición vamos a incrementar en 0.25 unidades la x. Por ejemplo si empezamos en x=-3, la siguiente sería -2.75, la siguiente -2.5 y así. Si empezáramos en 3 la siguiente sería 3.25, la siguiente 3.50, la siguiente 3.75 y así. Escribe este código:
-- EJERCICIO PROBLEMA RESUELTO PN00531G Iniciar programa x nuevo valor es (-5) Repetir (700) veces ejecutar bloque Comienzo bloque Dibujar punto en (x, x^2) x nuevo valor es (x+0.25) – Incrementamos el valor de x para la siguiente repetición Fin bloque Finalizar programa
|
Pulsamos ejecutar y ¿cuál es el resultado?
Se ha dibujado la forma de la parábola, aunque vemos que los puntos están bastante separados. Lo que hemos hecho es dibujar 700 puntos. El primer valor de x es menos 5, por lo que el primer punto se dibuja en x= -5 y = -5*-5 que es 25. El siguiente valor de x será -5+0.25 que es -4.75 y se vuelve a dibujar otro punto y así hasta completar 700 repeticiones. Posiblemente no estemos viendo los 700 puntos porque parte de ellos estén fuera del área visible del panel de dibujo, pero eso no nos supone un problema porque simplemente queremos ver la forma de la parábola.
Para que se vea mejor la curva, vamos a tomar puntos más unidos entre sí, y para ello en lugar de sumar 0.25 unidades de dibujo en cada repetición, vamos a sumar 0.015. Para ello en el programa anterior donde pone x nuevo valor es (x+0.25) lo modificamos y lo dejamos como x nuevo valor es (x+0.015)
Al hacer esto en lugar de tomar valores de x (-5, -4.75, -4.5, -4.25, -3.0, -2.75, -2.50, -2.25, etc.) vamos a tomar valores más próximos entre sí: (-5, -4.985, -4.970, -4.955, -4.940, -4.925, -4.910, etc.).
Pulsamos ejecutar y ¿qué vemos? Ahora vemos dibujada la curva de la parábola. Bueno, en realidad no es que hayamos dibujado la curva, sino que hemos dibujado los puntos tan juntos que parece una curva. Dibujar puntos muy juntos es “un truco” que podemos usar para dibujar curvas o aquellas formas que queramos.
¿Por qué se ve tan distinto si en ambos casos hemos dibujado 700 puntos partiendo desde el valor -5? La diferencia está en la separación entre los puntos que controlamos mediante los incrementos de la x. El valor x en cada repetición se ha incrementado en un caso 0.25 y en otro 0.015 unidades por lo que los puntos han quedado mucho más juntos.
ANALIZANDO Y MODIFICANDO EL CÓDIGO
En ambos casos seguramente se han dibujado puntos fuera del área visible pero esto no nos preocupa. Puedes comprobarlo mirando el panel de mensajes.
Fíjate cómo pasar de un resultado a otro ha dependido de un cambio muy pequeño en el código de un programa. Sin embargo el resultado ha sido muy distinto. Prueba a hacer distintas pruebas:
a) Establece 100, 200, 300 etc. repeticiones en lugar de 700 y ejecuta los códigos. Trata de interpretar lo que ocurre.
b) En lugar de 0.25 y 0.015 usa otros valores, por ejemplo 3, 2, 1, 0.5, 0.2, 0.1, 0.05 etc. Trata de interpretar lo que ocurre.
Consulta siempre el panel de mensajes pues te puede dar orientaciones valiosas.
RESULTADOS INESPERADOS
Hay distintos factores que pueden dar lugar a que los resultados de nuestros programas no sean los esperados, pero debes prestar especial atención a:
- El número de repeticiones: puede ser demasiado pequeño o demasiado grande.
- La forma en que incrementemos (o reduzcamos) el valor de las variables. Pueden ser incrementos (o reducciones) demasiado grandes o demasiado pequeñas.
- Si las instrucciones de un condicional se ejecutan o no se ejecutan. Hay casos donde el bloque de ejecución de un condicional no se ejecuta nunca porque establecemos una condición que no se cumple nunca.
- Si dibujas cosas fuera del área visible no las verás. A veces no ocurre nada por esto, pero otras veces puede suponer algo inesperado.
- Si tu programa está mal planteado puede que se ejecute y se dibuje algo que no sea lo que esperas.
Una cosa importante es que el computador siempre hace lo que le decimos que haga con el código, no lo que nosotros hayamos pensado en nuestra imaginación. Por tanto, si no se dibuja lo que tú esperabas, revisa tu código pues seguramente tenga algo que debas corregir.
EJERCICIO
Queremos dibujar la función y = x3 que podemos escribir como y = x^3. Si empezáramos con un valor de x como -10, el primer punto tendría una y = -10*-10*-10 = -1000 con lo cual el punto sería (-10, -1000) y no lo veríamos porque está fuera del área visible. Elige un valor inicial de x que permita ver el punto en el área visible o próximo al área visible. ¿Qué valor eliges y por qué?
Ahora crea el código de un programa para dibujar la función y = x^3 sobre el panel de dibujo de cuatro maneras:
- En primer lugar, con separación entre los puntos de 0.20 unidades y 200 repeticiones.
- En segundo lugar, con separación entre los puntos de 0.20 unidades y 2000 repeticiones.
- En tercer lugar, con separación entre los puntos de 0.01 unidades y 200 repeticiones.
- En cuarto lugar, con separación entre los puntos de 0.01 unidades y 2000 repeticiones.
Dado el valor de x que has elegido, ¿cuál es el máximo valor de x que se alcanza con 200 repeticiones e incrementos de 0.20 unidades? ¿y con 2000 repeticiones e incrementos de 0.20 unidades?.
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.