Inicio » Apuntes FP » Crea dos triángulos formando una pirámide usando PHP

Crea dos triángulos formando una pirámide usando PHP

Publicado el: Última actualización: 2 Comentarios
0

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.


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.Pirámide con asteríscos

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.

Pirámide de asteriscos 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 enmedio 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”.

Pirámide de asteriscos 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.

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

2 Comentarios

Mery 27 mayo, 2017 - 10:58 PM

Genial. Es justo lo que necesitaba. Con esto puedo ver como hacer un rombo. Gracias por compartir.

Respuesta
sapoclay 27 mayo, 2017 - 11:03 PM

Gracias a ti por comentar. Salu2.

Respuesta
entreunosyceros
Versión 5