Inicio Apuntes FPApuntes DAWPirá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

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

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.

Resumen de privacidad
cookies entreunosyceros

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible.

La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudarnos a comprender qué secciones de la web encuentras más interesantes y útiles.

Nunca almacenamos información personal de ningún tipo.

Tienes toda la información sobre privacidad, derechos legales y cookies en nuestra página sobre la política de privacidad o en la página sobre nuestra política de cookies.

Cookies necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza las siguientes cookies adicionales:

- Mailchimp: Recordar si ya estás suscrito al boletín de noticias y sino ofrecértelo al salir.

- Accesibilidad: Para saber tus ajustes de accesibilidad en cada visita.

- Comentarios: Saber si has leído y aceptado nuestra política de privacidad a la hora de dejar un comentario en la web.

- Google Analytics: Localización para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

- Goggle Adsense: Anuncios personalizados según tu geolocalización y preferencias.

Dejar estas cookies activadas nos permite mejorar nuestra web.

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.