Ejemplo: si ingresamos el número 5, nos dibujara una pirámide de asteriscos de 5 filas.
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.
System.out.println() --> imprime el texto en la consola y el cursor permanece al comienzo de la siguiente línea en la consola.
int --> dato entero de 32 bits.
nextInt() --> lee un número entero desde consola (teclado).
for --> el ciclo for recorre un bloque de código varias veces.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
Explicación del Código:
Este programa solicita un número al usuario y dibuja una pirámide de asteriscos (*) con la altura indicada. Para lograrlo utiliza tres ciclos for: uno para recorrer las filas, otro para imprimir los espacios y otro para imprimir los asteriscos.
1. Declaración de variables
int num, lineaActual, espacio, asterisco;
¿Qué hace?
- num: guarda la altura de la pirámide.
- lineaActual: indica la fila que se está dibujando.
- espacio: controla la cantidad de espacios antes de los asteriscos.
- asterisco: controla cuántos asteriscos se imprimen en cada fila.
2. Leer el número
Scanner sc = new Scanner(System.in);
System.out.print("Ingrese un número: ");
num = sc.nextInt();
¿Qué hace?
Pide al usuario un número que representa la altura de la pirámide.
Por ejemplo:
Ingrese un número: 5
3. Recorrer cada fila
for(lineaActual = 1; lineaActual <= num; lineaActual++)
¿Qué hace?
Este ciclo recorre todas las filas de la pirámide, desde la primera hasta la última.
4. Imprimir los espacios
for(espacio = 0; espacio < num - lineaActual; espacio++){
System.out.print(" ");
}
¿Qué hace?
Antes de imprimir los asteriscos agrega espacios para que la pirámide quede centrada.
Mientras más arriba esté la fila, más espacios tendrá.
5. Imprimir los asteriscos
for(asterisco = 0; asterisco < (lineaActual * 2) - 1; asterisco++){
System.out.print("*");
}
¿Qué hace?
Imprime la cantidad de asteriscos correspondiente a cada fila.
La fórmula utilizada es:
(lineaActual * 2) - 1
Esto genera siempre un número impar de asteriscos.
| Fila | Cálculo | Asteriscos |
|---|---|---|
| 1 | (1 × 2) - 1 | 1 |
| 2 | (2 × 2) - 1 | 3 |
| 3 | (3 × 2) - 1 | 5 |
| 4 | (4 × 2) - 1 | 7 |
| 5 | (5 × 2) - 1 | 9 |
6. Pasar a la siguiente línea
System.out.println("");
¿Qué hace?
Después de imprimir todos los asteriscos de una fila, realiza un salto de línea para comenzar la siguiente.
Resultado del programa
Si el usuario ingresa el número 5, la salida será:
*
***
*****
*******
*********
Resumen
Este programa utiliza ciclos for para construir una pirámide de asteriscos. El primer ciclo controla las filas, el segundo imprime los espacios necesarios para centrar la figura y el tercero imprime los asteriscos utilizando la fórmula (fila × 2) − 1, logrando que cada fila tenga dos asteriscos más que la anterior y formando una pirámide simétrica.
No hay comentarios.:
Publicar un comentario