Un copo de nieve, tan básico como frío y como rápido se deshace al tocarlo, está lleno de matemáticas. Aunque no lo parezca. A continuación, explicaremos las matemáticas en un copo de nieve, un programilla de Python para automatizar la parte matemática y una representación interactiva en Geogebra.
EXPLICACIÓN MATEMÁTICA
Un copo tiene seis palos largos, cada segmento sobresaliente del cual salen palitos pequeños. Cada palo largo tiene una longitud, a la que llamaremos "l". Entre cada dos palos pequeños hay una distancia de separación, a la que llamaremos "d". Sabiendo "l" y sabiendo "d", sabremos la cantidad de palos pequeños que hay en un copo.
PROGRAMA DE PYTHON
Esta es la explicación del código línea por línea:
1. Crea una lista que se llama p, haciendo referencia a los palos pequeños. En ella escribiremos las posiciones de los palos pequeños en cada palo largo. IMPORTANTE: por lo tanto, en esta lista habrá tantos elementos como pares de palos pequeños.
2. Crea una variable llamada l, que hará referencia a la longitud de cada palo largo. El valor de ella será lo que responda la persona a la pregunta: "Indica la longitud de cada palo largo del copo: ".
3. Crea una variable llamada d, que hará referencia a la distancia de separación entre cada par de palos pequeños. El valor de ella será lo que responda la persona a la pregunta: "Indica la distancia entre cada par de palos pequeños: ".
4. Repetirá la línea 5 tantas veces como sea el resultado del siguiente cálculo: l/d-1. Es decir, repetirá la línea 5 la cantidad de pares de palos pequeños que pueda haber en un palo largo, le restaremos uno para que no cuente el palo del final. Para evitar confusiones, lo truncaremos, usando la función int(), que trunca cualquier número.
5. Añade a la lista del paso 1 la posición de cada par de palos pequeños. Como bien hemos dicho antes, esta acción se repetirá tantas veces como pares entren. El cálculo que hace es d*(i+1). i es un contador que pertenece a la función for i in range () de la línea 4. Esta función lo que hace es repetir lo que viene debajo (en este caso la línea 5) mientras i sea menos que el número entre paréntesis. Al ser i parte de una función de Python, se actualiza solo al acabar cada repetición, pero también empieza en 0, no en 1. Por lo que, a i le sumaremos 1 para poder multiplicarlo correctamente. Si no, la primera vez sería 0, ya que d*i = d*0 = 0.
6. Crea una variable llamada pPalo, que hace referencia a la cantidad de palos pequeños que entren en cada palo largo. La cantidad de la variable será la longitud de la lista p*2. Recordemos que la lista p hace referencia a las posiciones de cada par de palos pequeños en cada palo largo, de forma que la longitud de la lista será el número de pares totales. Así que solo falta multiplicarlo por 2 para saber el total en vez de cada par.
7. PARTE OPCIONAL. Repite el programa de las líneas 8 y 9 tantas veces como el resultado de pPalo/2 sea. Es decir, lo que hace es repetir el programa tantas veces como pares haya.
8. PARTE OPCIONAL. Aplicamos un condicional, el famoso "if". En el caso de que el elemento i de la lista p (posición de los pares) sea un número entero, sucederá la línea 9, si no, la omitirá. Cabe recordad que i varía en cada repetición, ya que forma parte de la instrucción "for i in range ()". IMPORTANTE: al recoger al principio los datos de las dos variables con tipo "float", se añaden decimales que a veces son innecesarios, como por ejemplo el de 2.0 o 1.0... Siguen siendo enteros, pero con decimales.
9. PARTE OPCIONAL. Transformará el elemento i de la lista p (posición de los pares) en un entero sin decimales, para hacer más bonita su representación posteriormente.
10. Escribe "Número de palos pequeños por cada palo largo: " seguido del número de palos pequeños por cada palo largo, la variable pPalo.
11. Escribe "Posiciones de los palos pequeños en cada palo largo: " seguido de las posiciones de los palos pequeños en cada palo largo, la lista p.
12. Escribe "Número de palos pequeños totales: " seguido de la multiplicación de pPalo (cantidad de palos pequeños en cada palo largo) * 6 (palos largos).
REPRESENTACIÓN INTERACTIVA EN GEOGEBRA
En este programa puedes modificar los parámetros anteriormente comentados, y, con ellos, el copo de nieve.
Hola
ResponderEliminarMe ha encantado la forma de explicarlo muy didáctico y fácil de entender.
Muchas gracias, Jose. Ya sabes que aquí siempre tienes un hueco.
Eliminar