Código del ejercicio:
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:
|
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
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.
|
| 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:
|
| 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.
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.
No hay comentarios.:
Publicar un comentario