¿Cómo calcular el Algoritmo de Fibonacci en Scala?

Autor: | Última modificación: 15 de febrero de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

Una de las series de números más populares que se utilizan como ejercicio de programación es la sucesión o Algoritmo de Fibonacci. En este post, conocerás de qué se trata y de lo que consta esta sucesión de números.

¿Qué es el Algoritmo de Fibonacci?

La Sucesión o Algoritmo de Fibonacci se caracteriza por el hecho de que cada número en ella es igual a la suma de los anteriores:

0, 1, 1, 2, 3, 5, 8, 13, 21….. 

Es decir que:

(0+1=1 / 1+1=2 / 1+2=3 / 2+3=5 / 3+5=8 / 5+8=13 / 8+13=21 / 13+21=34…)

Así sucesivamente, hasta el infinito. Por regla, la sucesión de Fibonacci se escribe así:

n = n-1 + n-2.

Recursividad en Scala

Simplificando, la recursividad se da cuando una función tiene la característica de poder llamarse a sí misma dentro de sus instrucciones. Gracias a esto, se puede utilizar a nuestro favor la recursividad, en lugar de la iteracción para resolver determinados tipos de problemas.

Función Fibonacci recursiva en Scala

¿Cómo calcular el Algoritmo de Fibonacci en Scala? 1

La función nos devolverá el número correspondiente a la secuencia Fibonacci en la posición ‘n’, para obtener este número tiene que calcular toda la serie, haciendo recursividad hacia atrás hasta llegar al caso base, en este caso tenemos dos casos base, uno si es cero nos devolverá 0, y si es uno, nos devolverá 1.

Estos son los dos primeros números de la sucesión, luego viene la parte recursiva que es el llamado a la suma de la función fibonacci de los dos números anteriores, o mejor dicho la suma de las dos números anteriores al actual de la sucesión, en caso el número sea menor o igual a 0 la función nos indicará el error.  

Clase Fibonacci en Scala

Ahora que tenemos nuestra función Fibonacci, vamos hacer de esta sucesión una clase para aprovechar el paradigma orientado a objetos que Java nos proporciona.

Una clase es una instancia abstracta que define un tipo de objeto especificando qué propiedades y operaciones disponibles va a tener. Una clase tiene atributos y métodos que pertenecen al objeto. Para el ejemplo tendremos los siguientes atributos y métodos.

Atributos

¿Cómo calcular el Algoritmo de Fibonacci en Scala? 2

Nombre: Para cada objeto que tengamos le asignaremos un nombre específico para poder identificarla, este atributo será de tipo String que indica que es una cadena.

Tamaño: Cada sucesión tendrá un tamaño que indica cuántos elementos va a tener nuestra sucesión, este atributo es un entero.

Métodos

Tendremos dos constructores, el constructor vacío y otro predefinido por nosotros instanciando la clase pasándole valor a nuestros atributos.

  

¿Cómo calcular el Algoritmo de Fibonacci en Scala? 3

Además de un método que nos permite imprimir la sucesión del tamaño que le especificamos, y que hace uso de la función fibonacci recursiva.

¿Cómo calcular el Algoritmo de Fibonacci en Scala? 4

Como cada clase agregamos sus respectivos métodos Getter and setter para los atributos de la clase, NetBeans nos proporciona una opción que genera estos métodos automáticamente.

¿Cómo calcular el Algoritmo de Fibonacci en Scala? 5

Ya tenemos nuestra clase fibonacci lista, ahora desde el principal instanciamos esta clase en dos objetos de manera diferente, pero podemos observar que el resultado será el mismo.

Para el primer caso, instanciamos la clase enviando los parámetros por el constructor y luego llamando a su método para mostrar la serie.

¿Cómo calcular el Algoritmo de Fibonacci en Scala? 6

En el segundo caso, instanciamos la clase con el constructor vacío y, luego, enviando los parámetros por los métodos Setter. Finalmente llamando a su método para mostrar la serie.

¿Cómo calcular el Algoritmo de Fibonacci en Scala? 7

Como resultado obtenemos:

¿Cómo calcular el Algoritmo de Fibonacci en Scala? 8

Hemos explicado la sucesión o algoritmo de Fibonacci y lo hemos hecho a través de un sencillo ejemplo donde se puede ver el uso que se le puede dar.

¿Por dónde seguir?

Ahora que sabes de qué se trata el algoritmo de Fibonacci, ¿quieres seguir formándote en esta apasionante área profesional? En KeepCoding puedes con nuestro Bootcamp Full Stack en Big Data, Inteligencia Artificial & Machine Learning con el que dominarás todo el ecosistema de lenguajes y herramientas de Big Data en tan solo 9 meses. ¡Apúntate ahora!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Sabías que hay más de 5.000 vacantes para desarrolladores de Big Data sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!