Ejemplo 08 - Pirámide de asteriscos - Análisis

En este ejemplo se puede observar que hay que crear pirámides. Cada "Pirámide" debe tener una altura. Lo que se pretende hacer con la "Pirámide" es dibujarla. Por lo tanto, el único atributo distinguible es la altura de la "Pirámide" y dicha altura es un número entero, ya que se refiere a una cantidad de asteriscos.

Al igual que en los otros casos, se debe interactuar con el usuario, por lo que se van a llevar a cabo las siguientes acciones:

  1. Pedir al usuario que digite la altura de la pirámide que se quiere dibujar.
  2. Crear una Pirámide.
  3. Dibujar la Pirámide.

Observe que la Pirámide más simple que se puede dibujar es la de altura 1, que consta solamente de un asterisco:

*

Una Pirámide de altura 2, se vería así:

 *
***

Note que en esta Pirámide la primera línea tiene 1 espacio en blanco y 1 asterisco, y la segunda línea, no tiene espacios en blanco y tiene 3 asteriscos.

Línea Blancos Asteriscos
1 1 1
2 0 3

Una pirámide de altura 3, se vería así:

  *
 ***
*****

Note que en esta pirámide la primera línea tiene 2 espacios en blanco y 1 asterisco, la segunda línea, tiene 1 espacio en blanco y 3 asteriscos, y la tercera línea no tiene espacios en blanco y tiene 5 asteriscos.

Línea Blancos Asteriscos
1 2 1
2 1 3
3 0 5

Finalmente, una pirámide de altura 5, se vería así:

    *
   ***
  *****
 *******
*********

¿Cómo se sabe cuántas líneas tiene una Pirámide?

Del enunciado del problema, es inmediato saber que la cantidad de líneas siempre es igual a la altura de la Pirámide. Por lo tanto el problema se reduce a saber cuántos blancos y cuántos asteriscos corresponden a cada línea.

Línea Blancos Asteriscos
1 4 1
2 3 3
3 2 5
4 1 7
5 0 9

Es importante observar que aunque la primera línea siempre tiene un asterisco, la cantidad de blancos que lo preceden varía dependiendo de la altura de la Pirámide.

Note que siempre en la columna de Blancos, sin importar el valor inicial, por cada línea de asteriscos que se dibuja, la cantidad blancos disminuye hasta llegar a 0 en la base de la Pirámide. Por lo tanto, por cada línea dibujada, la cantidad de asteriscos se decrementa en 1.

¿Cómo se sabe cuántos blancos hay en la primera línea?

Note que dependiendo de la altura de la Pirámide, para los valores mayores o iguales a 1, la cantidad de blancos en la primera línea es igual a la altura menos 1.

Altura Blancos en la primera fila
0 0
1 0
2 1
3 2
4 3
5 4

¿Cómo se sabe cuántos asteriscos hay en cada línea?

Por otra parte, note que sin importar la altura, la cantidad de blancos siempre es igual a 1 en la primera línea, y crece de 2 en 2 hasta llegar a la base de la Pirámide.