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.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
+ --> el operador ( + ) concatena variables de cadena.
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 igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
*= --> el operador de asignación de multiplicación ( *= ) multiplica el valor del operando derecho de 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:
Objetivo del programa
El programa muestra los x primeros números de la serie:
2, 3, 6, 7, 14, 15, 30, 31, 62, 63,...
La serie sigue un patrón muy sencillo:
- Primero aumenta 1.
- Después multiplica por 2.
- Luego vuelve a aumentar 1.
- Después vuelve a multiplicar por 2.
- Y así sucesivamente.
Es decir:
2 → 3 (+1)
3 → 6 (×2)
6 → 7 (+1)
7 → 14 (×2)
14 → 15 (+1)
15 → 30 (×2)
Explicación de cada variable
| Variable | Función |
|---|---|
| vi | Guarda el valor actual de la serie. Comienza en 2. |
| c | Cuenta cuántos números se han mostrado. |
| sw | Es un interruptor que decide si el siguiente paso será sumar 1 o multiplicar por 2. |
| x | Cantidad de números que el usuario desea mostrar. |
| Scanner sc | Permite leer el número ingresado por el usuario. |
Lectura del dato
Se lee la cantidad de números que tendrá la serie.
Por ejemplo:
- Si el usuario escribe 5, se mostrarán 5 números.
- Si escribe 10, se mostrarán 10 números.
El ciclo while
El ciclo se ejecuta mientras el contador sea diferente de la cantidad solicitada.
Cada vuelta del ciclo genera un número nuevo de la serie.
Mostrar el número actual
Imprime el valor almacenado en vi, que representa el número actual de la serie.
Condición con el interruptor
Aquí ocurre la parte más importante del programa.
- Si sw vale 1, el programa suma 1 al número actual.
- Después cambia sw a 0 para que la siguiente vez multiplique.
- Si sw vale 0, multiplica el número por 2.
- Luego vuelve a poner sw en 1 para que la siguiente vez vuelva a sumar 1.
Gracias a este interruptor, las operaciones se alternan automáticamente.
Incremento del contador
Después de generar un número, el contador aumenta en uno para saber cuántos elementos ya fueron mostrados.
Ejemplo de ejecución
Si el usuario introduce:
La salida será:
Resumen del algoritmo
- Comienza con el número 2.
- Lo muestra en pantalla.
- Alterna entre:
- Sumar 1.
- Multiplicar por 2.
- Repite el proceso hasta mostrar la cantidad de números indicada por el usuario.
No hay comentarios.:
Publicar un comentario