Código del ejercicio:
package ejercicio;
import java.util.Scanner;
public class Ejercicio {
public static void main(String[] args) {
int a = 0, b = 1, c = 1, n;
Scanner sc = new Scanner(System.in);
System.out.print("Ingresar número: ");
n = sc.nextInt();
while(c <= n){
if(c % 2 == 1){
System.out.print(a + ",");
a += b;
}else{
System.out.print(b + ",");
b += a;
}
c++;
}
}
}
Definición de los códigos del ejercicio:
import java.util.Scanner; --> Importación explícita de Scanner.
Scanner sc = new Scanner(System.in); --> objeto de Scanner con nombre sc.
Scanner --> clase Scanner nos permite ingresar datos por teclado.
new --> palabra reservada que instancia un objeto de la clase Scanner.
System.in --> parámetro que indica de donde proceden los datos, en este caso del teclado.
System.out.print() --> imprime el texto en la consola y el cursor permanece al final del texto en la consola.
int --> dato entero de 32 bits.
nextInt() --> lee un número entero desde consola (teclado).
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
for --> el ciclo for recorre un bloque de código varias veces.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
+ --> el operador ( + ) concatena variables de cadena.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
Explicación del Código:
Este programa solicita un número al usuario y muestra los primeros
N números de la serie Fibonacci.
La serie Fibonacci comienza con:
0, 1, 1, 2, 3, 5, 8, 13, 21...
¿Qué hace cada parte del código?
| Código |
Explicación |
import java.util.Scanner; |
Importa la clase Scanner para poder leer datos escritos por el usuario. |
public class Ejercicio |
Define la clase principal del programa. |
public static void main(String[] args) |
Es el método principal donde comienza la ejecución del programa. |
int a = 0, b = 1, c = 1, n; |
Se crean las variables:
- a: primer número de Fibonacci (0).
- b: segundo número de Fibonacci (1).
- c: contador de la serie.
- n: cantidad de números que el usuario desea generar.
|
Scanner sc = new Scanner(System.in); |
Crea el objeto Scanner para leer datos desde el teclado. |
System.out.print("Ingresar número: "); |
Solicita al usuario la cantidad de números que tendrá la serie. |
n = sc.nextInt(); |
Guarda el número ingresado por el usuario. |
while(c <= n) |
Repite el proceso hasta generar los N números de la serie Fibonacci. |
if(c % 2 == 1) |
Si la posición es impar, muestra el valor de a y luego actualiza su valor sumándole b. |
a += b; |
Actualiza el siguiente número de Fibonacci para la variable a. |
else |
Si la posición es par, trabaja con la variable b. |
b += a; |
Actualiza el siguiente número de Fibonacci para la variable b. |
c++; |
Aumenta el contador para continuar con el siguiente número de la serie. |
Funcionamiento paso a paso
Supongamos que el usuario ingresa:
5
Las variables cambian así:
| Iteración |
a |
b |
Se imprime |
| 1 |
0 → 1 |
1 |
0 |
| 2 |
1 |
1 → 2 |
1 |
| 3 |
1 → 3 |
2 |
1 |
| 4 |
3 |
2 → 5 |
2 |
| 5 |
3 → 8 |
5 |
3 |
Salida del programa
Ingresar número: 5
0,1,1,2,3,
Resumen:
- El usuario indica cuántos números desea generar.
- El ciclo while repite el proceso N veces.
- Las variables a y b almacenan los dos últimos valores de la serie.
- En cada iteración se imprime un número de Fibonacci y luego se calcula el siguiente.
- Al finalizar, se obtiene la serie Fibonacci con los primeros N números.
Código del ejercicio: Otra forma de hacer
package ejercicio;
import java.util.Scanner;
public class Ejercicio {
public static void main(String[] args) {
int n, p = 0, s = 1, si, i;
Scanner sc = new Scanner(System.in);
System.out.print("Ingresar número: ");
n = sc.nextInt();
for(i = 0; i < n; i++){
if(i <= 1){
si = i;
}else{
si = p + s;
p = s;
s = si;
}
System.out.print(si + ",");
}
}
}
Definición de los códigos del ejercicio:
import java.util.Scanner; --> Importación explícita de Scanner.
Scanner sc = new Scanner(System.in); --> objeto de Scanner con nombre sc.
Scanner --> clase Scanner nos permite ingresar datos por teclado.
new --> palabra reservada que instancia un objeto de la clase Scanner.
System.in --> parámetro que indica de donde proceden los datos, en este caso del teclado.
System.out.print() --> imprime el texto en la consola y el cursor permanece al final del texto en la consola.
int --> dato entero de 32 bits.
nextInt() --> lee un número entero desde consola (teclado).
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
for --> el ciclo for recorre un bloque de código varias veces.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
+ --> el operador ( + ) concatena variables de cadena.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
Explicación del Código:
Este programa solicita al usuario un número N y muestra los primeros
N términos de la serie Fibonacci.
Código Java
package ejercicio;
import java.util.Scanner;
public class Ejercicio {
public static void main(String[] args) {
int n, p = 0, s = 1, si, i;
Scanner sc = new Scanner(System.in);
System.out.print("Ingresar número: ");
n = sc.nextInt();
for(i = 0; i < n; i++){
if(i <= 1){
si = i;
}else{
si = p + s;
p = s;
s = si;
}
System.out.print(si + ",");
}
}
}
Explicación del código
| Código |
Explicación sencilla |
| int n, p = 0, s = 1, si, i; |
Se declaran las variables del programa.
- n: cantidad de números Fibonacci que se mostrarán.
- p: guarda el número anterior de la serie.
- s: guarda el número actual de la serie.
- si: almacena el siguiente número Fibonacci.
- i: contador del ciclo.
|
| Scanner sc = new Scanner(System.in); |
Crea un objeto para leer datos ingresados por el usuario mediante el teclado.
|
| System.out.print("Ingresar número: "); |
Muestra un mensaje solicitando la cantidad de números Fibonacci que se desean generar.
|
| n = sc.nextInt(); |
Lee el número ingresado por el usuario y lo guarda en la variable n.
|
| for(i = 0; i < n; i++) |
Este ciclo se repite n veces para generar los primeros términos de la serie Fibonacci.
|
| if(i <= 1) |
Los dos primeros términos de la serie Fibonacci siempre son:
Por eso, cuando i vale 0 o 1, simplemente se asigna ese mismo valor a si.
|
| si = i; |
Guarda el valor de 0 o 1, que corresponden a los dos primeros números de la serie.
|
| else |
A partir del tercer número comienza el cálculo normal de Fibonacci.
|
| si = p + s; |
Suma los dos números anteriores para obtener el siguiente término de la serie.
|
| p = s; |
El número actual pasa a convertirse en el número anterior para la siguiente iteración.
|
| s = si; |
El nuevo número calculado pasa a ser el número actual.
|
| System.out.print(si + ","); |
Imprime cada número Fibonacci generado, separado por comas.
|
Funcionamiento paso a paso
Si el usuario ingresa:
Ingresar número: 7
El ciclo genera los siguientes valores:
| Iteración |
Valor mostrado |
| 0 | 0 |
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
| 4 | 3 |
| 5 | 5 |
| 6 | 8 |
Salida:
0,1,1,2,3,5,8,
Resumen:
El programa genera la serie Fibonacci utilizando un ciclo for. Los dos primeros números son
0 y 1. Después, cada nuevo número se obtiene sumando los dos anteriores. El proceso continúa
hasta mostrar la cantidad de términos indicada por el usuario.