Algoritmos

Sucesión fibonacci con recursividad y ciclos en Ruby

Siguiendo con los algoritmos y ejercicios resueltos en Ruby, vamos a ver hoy cómo obtener el número fibonacci que va en determinada posición.

Fibonacci recursivo y con ciclos en Ruby

Por ejemplo, el número de la sucesión fibonacci que va en la posición 7 (recordemos que comienza desde cero) es el 13, pues la sucesión va así:

0, 1, 1, 2, 3, 5, 8, 13

Lo que haremos con Ruby será recibir un número y regresar el número fibonacci que va en esa posición; lo haremos de forma recursiva y también usando ciclos.

Nota: las funciones no imprimen la sucesión, pero basta con que dentro de cada una de ellas se imprima el valor con puts y listo, la sucesión será impresa.

El algoritmo para obtener la sucesión fibonacci en Ruby

Se comienza en 0 y en 1, y luego, el siguiente valor es la suma de los dos anteriores. Con Ruby no se necesita una variable temporal, pues se puede hacer así:

siguiente, actual = siguiente + actual, siguiente

El ciclo se repite hasta que se alcance la posición, y se regresa el valor que esté en actual.

Fibonacci con ciclos en Ruby

Aquí está la implementación con lo que vendría siendo un ciclo for en otros lenguajes de programación:

See the gist on github.

Al final se regresa el valor actual, aunque no está la palabra reservada return, es la última expresión de la función y por lo tanto es lo que se regresa.

Fibonacci recursivo con Ruby

En este caso utilicé la fórmula que estaba en Wikipedia, la cual usa recursividad:

See the gist on github.

Forma de llamar a las funciones

Para llamarlas simplemente escribe:

fibonacci numero

Por ejemplo, fibonacci 5

También se puede llamar a la función y asignar el resultado a una variable:

numero = fibonacci 5

Descargar ejercicios

Eres libre de descargar el código fuente. Para ello, ponlo en un archivo con extensión rb, asegúrate de tener instalado Ruby, navega hasta la terminal y ejecuta:

ruby archivo.rb

Probar en línea

Aquí dejo ambas funciones que se pueden probar directamente en el navegador:

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

5 días hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

5 días hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

6 días hace

JavaScript: llenar select con arreglo

En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…

2 semanas hace

Imprimir PDF a partir de URL

En este artículo se presenta una guía para imprimir un PDF a partir de una…

2 semanas hace

Imprimir PDF a partir de base64

En este post voy a enseñarte cómo imprimir un PDF a partir de su representación…

2 semanas hace

Esta web usa cookies.