En este post explicaré la resolución de la secuencia de Fibonacci con la presentación de sus términos incluidos, este tema al principio puede ser difícil de programar pero una vez que sabes la respuesta es más sencillo, además también resolveré el código para el cálculo de los años bisiestos.
A estas alturas ya se debe dominar correctamente los ciclos, estructura de control, en eso se basa el código, teniendo un poco de lógica y para ello tenemos que saber qué es la secuencia Fibonacci.
1.- Secuencia Fibonacci
Llamada incorrectamente la serie de Fibonacci es una sucesión infinita de números naturales.Ejemplos:
1.1.- Ecuación de Fibonacci
Los números de Fibonacci quedan definidos por la ecuación:(3)
El primer número es cero y el segundo uno, se suma y se obtiene el siguiente término, y así continúa
Términos Número Suma
1 0 0
2 1 1
3 1 0 +1
4 2 1 + 1
1.2.- Análisis
De esto deducimos, el cero y uno son valores fijos al principio y luego cambian, entonces se transformará en un acumulador, y los términos será nuestro contador.
También observamos el inicio de términos es uno, por lo tanto, no contiene números negativos, será una validación para que ingrese números mayores a cero, menores o igual a cero no ingresarán, otra observación es, a partir del tercer término empieza a sumar, todos esos detalles hay que tener en cuenta.
1.3.- Solución
Primero necesitamos las variables num, será el número de términos a ingresar, primer y segundo término, será fb y n1 de tipos int inicializados, luego procedes a pedir el número validando con un do while.
Dentro de la estructura de repetición está un if, sirve para presentar un mensaje al usuario cuando ingrese números negativos o incluso cero, y la misma condición está al final en del do while, cada vez que ingrese un número inferior a uno presentará mensaje, y se repetirá una y otra vez, provocando que la pantalla de la consola se llene poco a poco.
Ese código esta bien, pero si queremos hacer un mejor trabajo, necesitamos hacer un par de cambios, en el do while, quedando de la siguiente manera.
Se hizo unas variantes el título del programa está dentro del do while, dentro del if está el mensaje, y el system pause y cls, sirve, para detener el programa y el usuario lea el mensaje, luego cuando presiona una tecla cls limpiará la pantalla y presentará lo mismo, sin que se llene la consola.
Ahora vamos a realizar el cálculo de la serie, anteriormente analizamos el primer y segundo término son fijos por ende no entrarán al ciclo, el contador comenzará a partir del tercer término, cuando ingrese uno se presentará cero, y cuando ingrese dos presentará uno.
Ese trabajo lo hará el if, a partir del tercer término usaremos la estructura for, porque en este caso conocemos el final, que es el número de términos ingresados por el usuario.
El código queda así:
Listo y es todo, adjunto el código de las dos maneras de realizar el fibonacci, para que lo descargues y lo "analices" jejej.
1.4.- Primer código: Descargar primer código
1.5.- Segundo código: Descargar segundo código
2.- Año Bisiesto
Realizar un programa para determinar si un año es bisiesto o no.
2.1.- Análisis:
Todos los años que se dividen exactamente entre 400 o que son divisibles exactamente entre cuatro y no son divisibles exactamente entre 100 son años bisiestos. Por ejemplo, en vista que 1600 es divisible exactamente entre 400, el año 1600 fue un año bisiesto. Del mismo modo, en vista que 1988 es divisible exactamente entre cuatro pero no entre 100, el año 1988 también fue un año bisiesto.
2.2.- Desarrollo del código
2.3.- Descargar Código
Alguna duda o pregunta en los comentarios !