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 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 desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
% --> 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 de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
*= --> 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 ( + ) concatena variables de cadena.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
Explicación del Código:
Enunciado
Mostrar los n primeros números de la siguiente serie:
1, 3, 9, 11, 33, 35, 105, 107, ...
La serie sigue dos reglas:
- En una posición impar se multiplica el número anterior por 3.
- En una posición par se le suma 2.
Explicación sencilla del código
int c = 1, vi = 1, n;
¿Qué hace?
| Variable | Función |
|---|---|
| c | Contador que indica cuántos números de la serie se han mostrado. |
| vi | Guarda el valor actual de la serie. |
| n | Cantidad de números que el usuario desea mostrar. |
Scanner sc = new Scanner(System.in);
Crea el objeto Scanner, que permite leer datos ingresados por el usuario desde el teclado.
System.out.print("Ingrese un número: ");
n = sc.nextInt();
Solicita al usuario la cantidad de términos de la serie y la guarda en la variable n.
while(c <= n){
Este ciclo se repite hasta mostrar exactamente la cantidad de números indicada por el usuario.
if(c != 1){
Comprueba si no es el primer número de la serie.
Esto se hace porque el primer número ya es 1 y no necesita ninguna operación.
if(c % 2 == 0){
vi += 2;
}
Si la posición es par, al número actual se le suma 2.
Ejemplos:
- 9 → 11
- 33 → 35
- 105 → 107
else{
vi *= 3;
}
Si la posición es impar, el número actual se multiplica por 3.
Ejemplos:
- 1 × 3 = 3
- 3 × 3 = 9
- 11 × 3 = 33
- 35 × 3 = 105
System.out.print(vi + ",");
Muestra el número actual de la serie en pantalla.
c++;
Incrementa el contador para pasar al siguiente término de la serie.
Funcionamiento paso a paso
| Contador (c) | Operación | Resultado (vi) |
|---|---|---|
| 1 | Primer número | 1 |
| 2 | +2 | 3 |
| 3 | ×3 | 9 |
| 4 | +2 | 11 |
| 5 | ×3 | 33 |
| 6 | +2 | 35 |
| 7 | ×3 | 105 |
| 8 | +2 | 107 |
Resumen
Este programa genera una serie numérica utilizando una sola variable (vi) para almacenar el valor actual.
- El primer número siempre es 1.
- Si la posición es impar (excepto la primera), el número se multiplica por 3.
- Si la posición es par, al número se le suma 2.
- El ciclo while continúa hasta mostrar los n términos solicitados por el usuario.
No hay comentarios.:
Publicar un comentario