La Sucesión de Fibonacci
La sucesión de Fibonacci
surgió a partir de un problema planteado por Leonardo de Pisa, conocido como Fibonacci,
en su libro Liber Abaci (1202). Este problema trataba sobre la
reproducción de conejos bajo ciertas condiciones ideales:
1.
Se inicia con una única pareja de conejos
pequeños (una hembra y un macho).
2.
Cada pareja tiene una nueva pareja de crías (un
macho y una hembra) cada mes.
3.
Cada pareja tarda un mes en madurar, por lo que
comienzan a reproducirse recién al segundo mes.
4.
Los conejos no mueren y se reproducen
indefinidamente.
(1.1.
Figura)
Para realizar el cálculo de la
sucesión de Fibonacci se deben tener dos números anteriores y sumarlos:
an = an-1 + an-2
1.1
Ejemplo
Suponemos que n pertenece a los
números naturales tal que n se mayor o igual que 2.
Definimos: a1 = 1 y a2 = 1 |
a2 = a2-1 + a2-2
=>
a2 = 1 + 1 => a2 = 2
a3 = a2 + a1 => a3 = 2 + 1 => a3 = 3
a4 = a3 + a2 => a4 = 3 + 2 => a4 = 5
a5 = a4 + a3 => a5 = 5 + 3 => a5 = 8
Y así sucesivamente…
Sucesión: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,
377, 610, …
🌱 Aplicaciones de la sucesión de
Fibonacci
Aunque la sucesión de Fibonacci nació como un problema sobre
la reproducción de conejos, sus aplicaciones trascienden la matemática pura y
se extienden a múltiples campos del conocimiento y la naturaleza. A
continuación, exploramos algunos ejemplos fascinantes:
🌿 En la naturaleza
La sucesión de Fibonacci aparece en muchos patrones
biológicos. Por ejemplo:
- La
disposición de las hojas en un tallo (filotaxia) sigue con
frecuencia una estructura basada en números de Fibonacci, lo que permite
una mejor captación de luz solar.
- La
cantidad de pétalos en muchas flores coincide con un número de la
sucesión: lirios con 3, margaritas con 34, 55 o incluso 89 pétalos.
- Las espirales
en las piñas, los girasoles o los caracoles también tienden a formarse en
cantidades que corresponden a números de Fibonacci.
🖼️ En el arte y la
arquitectura
La sucesión está íntimamente ligada a la proporción áurea
(aproximadamente 1.618), que históricamente se ha utilizado en el diseño de
obras artísticas, templos y estructuras arquitectónicas por su estética
equilibrada. Muchos creen que artistas como Leonardo da Vinci utilizaron estas
proporciones en sus obras.
🧮 En informática
En ciencias de la computación, los números de Fibonacci se
usan en:
- Algoritmos
de búsqueda y ordenamiento.
- Diseño
de estructuras de datos como los heaps de Fibonacci, que optimizan
operaciones en grafos.
- Ejemplos
clásicos de recursividad, ideales para enseñar pensamiento
algorítmico.
📈 En finanzas
Algunos analistas técnicos utilizan herramientas llamadas retrocesos
de Fibonacci para intentar predecir puntos de soporte y resistencia en los
precios de activos financieros, basándose en proporciones derivadas de la
sucesión.
📐 Relación con la proporción áurea
(1.2.
Figura)
Una de las conexiones más sorprendentes de la sucesión de
Fibonacci es su estrecha relación con la proporción áurea, también
conocida como número áureo y representada por la letra griega φ (phi).
🔢 ¿Qué es la proporción
áurea?
La proporción áurea es un número irracional que se define
matemáticamente como:
Este número ha sido considerado desde la antigüedad como una
proporción estéticamente ideal. Se encuentra en el diseño de templos, pinturas,
esculturas, y hasta en tarjetas de crédito y logotipos modernos.
🔄 ¿Cómo se relaciona con
Fibonacci?
A medida que avanzamos en la sucesión de Fibonacci, si
dividimos un número por su anterior, el cociente se aproxima cada vez más al
número φ. Por ejemplo:
Conforme los términos crecen, el valor se va acercando a:
Es decir, el cociente entre dos términos consecutivos de
Fibonacci tiende a la proporción áurea.
🎨 ¿Y por qué importa
esto?
Esta relación explica por qué la sucesión de Fibonacci
aparece con tanta frecuencia en estructuras naturales y artísticas. La
naturaleza "prefiere" la proporción áurea porque muchas veces permite
un crecimiento eficiente, como en las espirales de una concha marina o la
organización de las semillas en un girasol.
https://www.youtube.com/watch?v=yDyMSliKsxI
🤔 Curiosidades matemáticas de la
sucesión de Fibonacci
https://www.youtube.com/watch?v=N0gr6nK6lgU
La sucesión de Fibonacci no solo es famosa por su conexión
con la naturaleza y la proporción áurea, sino también por esconder patrones
y propiedades matemáticas sorprendentes. Aquí te comparto algunas de las
más interesantes:
➕ 1. Suma de los primeros
términos
Si sumas los primeros n números de la sucesión, el
resultado siempre será igual al término número (n + 2) menos 1:
Por ejemplo:
🔁 2. Fibonacci en el
triángulo de Pascal
Si sumas las diagonales del triángulo de Pascal,
aparecen los números de Fibonacci. Esto ocurre porque ambas estructuras tienen
una relación con combinaciones y conteo.
(1.3.
Figura)
🔄 3. Patrón de paridad
Si observas la secuencia, notarás que cada tercer número
es par:
1(impar), 1(impar), 2(par), 3(impar), 5(impar), 8(par),
…
Este patrón se repite indefinidamente: impar, impar, par...
📉 4. Fibonacci y
múltiplos
- Todo
número de Fibonacci de índice múltiplo de 3 es múltiplo de 2.
- Todo
número de Fibonacci de índice múltiplo de 4 es múltiplo de 3.
- Y
así con otros números.
📐 5. Relación con el
máximo común divisor (MCD)
Los números de Fibonacci cumplen esta propiedad:
Es decir, el MCD de dos números de Fibonacci también es
un número de Fibonacci.
La sucesión
de Fibonacci es mucho más que una serie de números: es un lenguaje matemático
oculto en las formas, estructuras y relaciones del universo.
📚 ¿Quién fue Fibonacci?
Leonardo de Pisa, más conocido como Fibonacci,
fue un matemático italiano nacido alrededor del año 1170 en la ciudad de
Pisa. Es considerado uno de los matemáticos más importantes de la Edad Media.
Fibonacci fue hijo de un comerciante que trabajaba en el
norte de África, lo que le permitió entrar en contacto con las matemáticas
árabes e hindúes durante su juventud. Gracias a esto, aprendió el sistema
numérico indoarábigo (el que usamos actualmente, con cifras del 0 al 9), el
cual consideró mucho más práctico que el sistema romano.
En el año 1202, escribió su obra más influyente: el Liber
Abaci (El libro del ábaco), donde introdujo este sistema de
numeración en Europa. Dentro de ese libro planteó el famoso problema de los
conejos, que dio origen a la sucesión de Fibonacci.
Aunque su trabajo fue olvidado durante varios siglos, fue
redescubierto con el tiempo, y hoy en día su legado es valorado tanto en la
matemática como en otras disciplinas.
🛠️ Guía de Trabajos Prácticos sobre la
Sucesión de Fibonacci
1.
Escribí
los primeros 20 términos de la sucesión.
2.
Investiga
cuántos pétalos tienen flores comunes (margaritas, lirios, girasoles).
3.
La
espiral de Fibonacci:
a. Dibuja cuadrados con lados de
longitud igual a los primeros términos de la sucesión: 1×1, 1×1, 2×2, 3×3, 5×5…
b. Dentro de cada cuadrado, traza un
cuarto de circunferencia.
4.
Programar
la sucesión.
5.
Calcula
el cociente entre cada número y el anterior. (Proporción aurea).
6.
Comprueba
que la suma de los primeros n términos es igual a
Bibliografía
·
https://es.wikipedia.org/wiki/Sucesi%C3%B3n_de_Fibonacci
·
https://www2.ual.es/jardinmatema/sucesion-de-fibonacci/
·
https://es.wikipedia.org/wiki/Leonardo_de_Pisa
·
https://www.britannica.com/biography/Fibonacci
·
https://www.youtube.com/watch?v=N0gr6nK6lgU
·
https://www.youtube.com/watch?v=6HP4SidWzIY
·
http://youtube.com/watch?v=yDyMSliKsxI&t=15s
Código de la sucesión de Fibonacci en PSeInt:
Algoritmo Fibonacci_Menu
Definir MAX,
num_fibo, opcionn Como Entero
MAX <- 46
Dimension
num_fibo[MAX]
// Generar los
primeros 46 números de Fibonacci
num_fibo[1]
<- 1
num_fibo[2]
<- 1
Para i <- 3
Hasta MAX Hacer
num_fibo[i]
<- num_fibo[i - 1] + num_fibo[i - 2]
FinPara
Repetir
Escribir
""
Escribir
"---------------------------"
Escribir
"MENÚ DE OPCIONES"
Escribir
"1 - Ver los primeros 46 números de Fibonacci"
Escribir
"2 - Ver los primeros n números de Fibonacci"
Escribir
"3 - Ver los números de Fibonacci entre n y m"
Escribir
"4 - Ver un número de Fibonacci por su posición"
Escribir
"5 - Salir"
Escribir
"---------------------------"
Escribir
"Ingrese una opción:"
Leer
opcionn
Segun
opcionn Hacer
1:
Para
i <- 1 Hasta MAX Hacer
Escribir
"F(", i, ") = ", num_fibo[i]
FinPara
2:
Escribir
"Ingrese n (1 a 46):"
Leer
n
Si
n >= 1 Y n <= MAX Entonces
Para
i <- 1 Hasta n Hacer
Escribir
"F(", i, ") = ", num_fibo[i]
FinPara
Sino
Escribir
"Valor inválido. Debe estar entre 1 y 46."
FinSi
3:
Escribir
"Ingrese el límite inferior (1 a 46):"
Leer
li
Escribir
"Ingrese el límite superior (mayor o igual que ", li, " y hasta
46):"
Leer
ls
Si
li >= 1 Y li <= 46 Y ls >= li Y ls <= 46 Entonces
Para
i <- li Hasta ls Hacer
Escribir
"F(", i, ") = ", num_fibo[i]
FinPara
Sino
Escribir
"Rangos inválidos."
FinSi
4:
Escribir
"Ingrese la posición (1 a 46):"
Leer
pos
Si
pos >= 1 Y pos <= 46 Entonces
Escribir
"F(", pos, ") = ", num_fibo[pos]
Sino
Escribir
"Posición inválida."
FinSi
5:
Escribir
"Fin del programa."
De
Otro Modo:
Escribir
"Opción inválida."
FinSegun
Hasta Que
opcionn = 5
FinAlgoritmo
Código de la sucesión de Fibonacci en C:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#define MAX 94
// Prototipado
void menu(unsigned long long num_fibo[]);
void generarNumerosFibo(unsigned long long num_fibo[]);
void mostrarTodosNumerosFibo(unsigned long long num_fibo[]);
void mostrarXNumerosFibonacci(unsigned long long num_fibo[]);
void mostrarFibonacciEntreNYN(unsigned long long num_fibo[]);
void mostrarFibonacciExacto(unsigned long long num_fibo[]);
// Programa principal
int main() {
unsigned long
long num_fibo[MAX];
generarNumerosFibo(num_fibo);
menu(num_fibo);
return 0;
}
void menu(unsigned long long num_fibo[]){
int opcion = 1;
while (opcion
!= 5) {
Sleep(150);
printf("\nEscoja
una opcion: \n"
"1_Ver
los primeros 95 numeros de fibonacci. \n"
"2_Ver
los primeros n numeros de fibonacci (menor o igual de 95). \n"
"3_Ver
los numeros de Fibonacci entre n y m. \n"
"4_Ver
un numero de Fibonacci segun su posicion. \n"
"5_Salir.
\n");
scanf("%d",
&opcion);
if
(opcion < 1 || opcion > 5){
Sleep(150);
printf("\nOpcion
invalida\n");
printf("Ingrese
nuevamente\n");
Sleep(1500);
}
else
{
switch
(opcion){
case
1:
mostrarTodosNumerosFibo(num_fibo);
break;
case
2:
mostrarXNumerosFibonacci(num_fibo);
break;
case
3:
mostrarFibonacciEntreNYN(num_fibo);
break;
case
4:
mostrarFibonacciExacto(num_fibo);
break;
case
5:
exit(0);
}
}
}
}
void generarNumerosFibo(unsigned long long num_fibo[]){
num_fibo[0] =
0;
num_fibo[1] =
1;
for (int i = 2;
i < MAX; i++){
num_fibo[i]
= num_fibo[i-1] + num_fibo[i-2];
}
}
void mostrarTodosNumerosFibo(unsigned long long num_fibo[]){
printf("\n");
for (int i = 0;
i < MAX; i++){
printf("%llu
\n", num_fibo[i]);
Sleep(40);
}
}
void mostrarXNumerosFibonacci(unsigned long long num_fibo[]){
int n;
printf("\n");
printf("Ingrese
la cantidad de numeros de fibonacci que desee ver (la cantidad de numeros debe
ser menor o igual a 94): ");
scanf("%d",
&n);
printf("\n");
for (int i = 0;
i < n; i++){
printf("%llu
\n", num_fibo[i]);
Sleep(50);
}
}
void mostrarFibonacciEntreNYN(unsigned long long num_fibo[]){
int
limite_inferior = -1, limite_superior = -1;
printf("\n");
while
(limite_inferior < 0 || limite_inferior > MAX) {
printf("Ingrese
el limite inferior desde donde quiere ver los numeros de fibonacci (Mayor o
igual que 0 y menor o igual que 94)\n");
scanf("%d",
&limite_inferior);
if
(limite_inferior < 0 || limite_superior > MAX) {
printf("Limite
incorrecto. Ingrese nuevamente.\n");
}
}
printf("\n");
while
(limite_superior < limite_inferior || limite_inferior > MAX) {
printf("Ingrese
el limite superior hasta donde quiere ver los numeros de fibonacci (Mayor o
igual que el limite inferior y menor o igual que 94)\n");
scanf("%d",
&limite_superior);
if
(limite_superior < limite_inferior || limite_superior > MAX){
printf("Limite
incorrecto. Ingrese nuevamente.\n");
}
}
printf("\n");
for (int i =
limite_inferior; i <= limite_superior; i++){
printf("%llu
\n", num_fibo[i]);
Sleep(50);
}
}
void mostrarFibonacciExacto(unsigned long long num_fibo[]){
int posicion;
printf("\nIngrese
la posicion del numero de Fibonacci el cual desea ver: ");
scanf("%d",
&posicion);
printf("\nEl
numero de Fibonacci en la posicion %d es %llu\n", posicion,
num_fibo[posicion]);
Sleep(300);
}
Comentarios
Publicar un comentario