El tutorial que voy a dejar hoy aquí son dos formas diferentes, dentro del lenguaje PHP para formar una pirámide vertical con asteriscos. Para ello vamos a crear la pirámide formando dos triángulos rectángulos. Uno de ellos invertido y el otro normal.

Para esta clase de representaciones podrás encontrar multitud de maneras a lo largo y ancho de internet, pero estas dos formas las acabo de escribir yo para alguien que con buenos modos me lo ha pedido. La verdad es que no sé si exactamente era esto lo que buscaba, pero espero que como mínimo le de la idea para desarrollar su propio código. Soy consciente que la pirámide está rotada, pero tampoco lo voy a dar todo hecho. Echando un pequeño vistazo al código se puede modificar fácilmente para que la pirámide quede como debe, pero eso ya que lo vea cada cual.
Como he dicho, voy a dejar dos código para realizar este ejercicio. En ambos códigos la línea intermedia entre los triángulos tendrá un valor de 8 asteriscos, pero este será modificable mediante la inclusión de un valor en la variable de turno.
Con programación lineal en PHP
El objetivo de este será básicamente practicar un poco los bucles en PHP. El primero de los método va a ser programación lineal haciendo uso de dos bucles for. Puedes ver el código que sigue a estas líneas funcionando en el siguiente enlace.
<?php //Tamaño de la línea más larga, la de en medio de ambos triángulos $num = 8; //bucle para el triángulo superior for($n=1; $n <= $num; $n++){ echo str_pad('', $n, '*') . '<br />'; } //bucle para el triángulo invertido for($n=$num - 1; $n >= 1; $n--){ echo str_pad('', $n, '*') . '<br />'; } ?>
Como se puede ver, se trata de un código muy sencillo. Este es el típico ejercicio que todo el mundo hará después del clásico «Hola mundo».
Con PDO en PHP
En este segundo código, que tendrá el mismo resultado que el anterior, vamos a hacer la misma pirámide pero utilizando PDO. Me parece como más elegante.
El resultado final del código se puede consultar en el siguiente enlace.
<?php /** * Creando dos triángulo con PDO */ //Clase para escribir los triángulos class triangulo{ //Constructor function __construct($cateto){ $this->cateto = $cateto; } //Función que escribe los asteriscos function sacaTriangulo(){ //Buble para escribir el triángulo superior for($i = 1; $i <= $this->cateto; $i++){ $escrito = 1; echo "*"; while($escrito < $i){ echo "*"; $escrito++; } echo "<br/>"; } //Bucle para el triángulo invertido for($i = $this->cateto; $i >= 1; $i--){ $escritoInf = 1; while($escritoInf < $i){ echo "*"; $escritoInf++; } echo "<br/>"; } } } //Tamaño de la línea de enmedio $cateto = 8; //llamamos al contructor pasándole el parámetro para el tamaño $triangulo = new Triangulo($cateto); //llamamos al método $triangulo->sacaTriangulo(); ?>
Como se puede ver aquí también, el objetivo de este tipo de ejercicio, sigue siendo practicar los bucles. Pero en este segundo caso se utiliza un constructor ara ello. Decir que aun que el primer código es más sencillo, es mejor idea pararse a leer el segundo, ya que en PHP utilizar PDO es mejor idea.
2 Comentarios
Genial. Es justo lo que necesitaba. Con esto puedo ver como hacer un rombo. Gracias por compartir.
Gracias a ti por comentar. Salu2.