Inicio Apuntes FPApuntes DAW Pirámide de asteriscos, crea una con PHP de forma rápida

Pirámide de asteriscos, crea una con PHP de forma rápida

Utilizando bucles for

Publicado por entreunosyceros

Una vez más aquí. Hoy vengo a actualizar un viejo artículo que en su día escribí, y que hace poco una usuaria me pidió que actualizara (pues lo publiqué en el 2017). Aquél artículo, titulado Crea dos triángulos formando una pirámide usando PHP, se ha quedado un poco viejo. Además la pirámide que se dibujaba en ese artículo, era una pirámide vertical. Bueno, pues esta usuaria, me pidió que actualizase este artículo para dibujar una pirámide de asteriscos (o triángulo). Me decía que tenía problemas para adaptar ese artículo a lo que ella buscaba. Y a ello me he puesto…

Como único requisito, me pidió que la altura de la pirámide se modificase mediante el valor de una variable llamada «altura«. Y bueno, que la pirámide se dibujase con asteriscos. Pues todo esto, haciendo uso de algunos bucles for, esto se puede conseguir de forma sencilla.

El código de la pirámide con asteriscos

Como decía, este código que vamos a ver, está creado con PHP, y dibuja una pirámide de asteriscos con una altura dada por la variable $altura. La idea detrás del código es calcular el número de espacios en blanco y asteriscos que se necesitan en cada fila de la pirámide para que los asteriscos estén centrados.

pirámide de * creada con php

Primero, se va a calcular el número máximo de asteriscos que habrá en la fila más larga de la pirámide, que es 2 * $altura - 1.

Luego, se usa un bucle for para iterar a través de cada fila de la pirámide. En cada iteración, se calcula el número de asteriscos que se necesitan para esa fila (que comienza con 1 asterisco y se incrementa de 2 en 2). Después se calcula el número de espacios en blanco que se necesitan para que los asteriscos estén centrados en la fila.

Finalmente, se usan dos bucles for para imprimir los espacios en blanco y los asteriscos para cada fila, y se imprime un salto de línea al final de cada fila para que la siguiente fila comience en una nueva línea.

Dentro del archivo index.php, será donde vamos a guardar el siguiente código:

<?php
$altura = 6; // Altura de la pirámide

// Calcular el número de asteriscos en la fila más larga
$max_asteriscos = 2 * $altura - 1;

for ($i = 1; $i <= $altura; $i++) { // Bucle para cada fila de la pirámide
    // Calcular el número de asteriscos en esta fila
    $num_asteriscos = 2 * $i - 1;
    // Calcular el número de espacios en blanco antes de los asteriscos
    $num_espacios = ($max_asteriscos - $num_asteriscos) / 2;
    // Imprimir los espacios en blanco
    for ($j = 1; $j <= $num_espacios; $j++) { 
        echo "&nbsp;&nbsp;";
    }
    // Imprimir los asteriscos
    for ($j = 1; $j <= $num_asteriscos; $j++) { 
        if ($j % 2 == 0) {
            echo "&nbsp;&nbsp;";
        } else {
            echo "* ";
        }
    }
    // Salto de línea al final de cada fila
    echo "<br/>"; 
}
?>

Si quieres ver este código funcionando, solo tienes que visitar el siguiente enlace la sección de ejemplos de esta página.

También te puede interesar ...

Deja un comentario

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

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.