Saltar al contenido
EjemplosEnglishEspacio →

Sucesión de Fibonacci

Muestra los primeros términos de la sucesión de Fibonacci.

Nivel
Básico
Conceptos:
Entrada y salida
Para
Matemáticas
Abrir en Codoritmo

Ejecuta, modifica y depura este ejemplo en el navegador.

Lo que aprenderás

Dentro de un Para, dos variables avanzan juntas: cada término es la suma de los dos anteriores. Al final, la división entre términos se acerca al número de oro.

Código

fibonacci.psc · 20 líneas
Algoritmo Fibonacci    Definir n, i, a, b, siguiente Como Entero    Escribir "¿Cuántos términos?"    Leer n    a <- 0    b <- 1    Escribir Sin Saltar "Primeros ", n, " términos: "    Para i <- 1 Hasta n Hacer        Escribir Sin Saltar a, " "        siguiente <- a + b        a <- b        b <- siguiente    FinPara    Escribir ""    // a y b son ahora los dos términos que siguen al último mostrado;    // su razón se acerca al número de oro (1.618...)    Si a > 0 Entonces        Escribir "Razón entre los dos términos siguientes: ", b / a    FinSiFinAlgoritmo

Diagrama de flujo

Cada bloque del diagrama corresponde a una instrucción del código.

Algoritmo FibonacciSíNoAlgoritmo FibonacciAlgoritmo FibonacciDefinir n, i, a, b, siguiente Como EnteroDefinir n, i, a, b, siguienteComo EnteroEscribir "¿Cuántos términos?"Escribir "¿Cuántos términos?"Leer nLeer na <- 0a <- 0b <- 1b <- 1Escribir Sin Saltar "Primeros ", n, " términos: "Escribir Sin Saltar "Primeros", n, " términos: "Para i <- 1 Hasta n HacerPara i <- 1 Hasta nEscribir Sin Saltar a, " "Escribir Sin Saltar a, " "siguiente <- a + bsiguiente <- a + ba <- ba <- bb <- siguienteb <- siguienteEscribir ""Escribir ""Si a > 0 Entoncesa > 0Escribir "Razón entre los dos términos siguientes: ", b / aEscribir "Razón entre los dostérminos siguientes: ", b / aFinAlgoritmoFinAlgoritmo

Ejemplo de ejecución

Esto muestra el programa al ejecutarlo. Las respuestas escritas por el usuario aparecen resaltadas.

¿Cuántos términos?Respuesta del usuario: 15Primeros 15 términos: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 Razón entre los dos términos siguientes: 1.6180327869

Complejidad

Cuánto trabajo y memoria necesita según la cantidad de datos (n).

Complejidad
CasoCosto
MejorO(n)
PromedioO(n)
PeorO(n)
MemoriaO(1)

Desafío

Muestra solo los términos que sean pares.

Ver pista

Antes de escribir a, revisa con un Si si a MOD 2 = 0.

Abrir en Codoritmo