Você está aqui: PHP ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Usando laços for aninhados para desenhar uma pirâmide de números em PHP (com o usuário informando a quantidade de linhas) - Desafio de Programação Resolvido em PHPQuantidade de visualizações: 977 vezes |
Pergunta/Tarefa: Escreva um programa PHP que solicita ao usuário um número inteiro. Este número inteiro deverá estar entre 1 e 12 e será usado como a quantidade de linhas em uma pirâmide de números. Você deverá usar laços for aninhados para controlar as linhas e montar a estrutura desejada. Sua saída deverá ser parecida com: Informe a quantidade de linhas: 5 1 2 1 2 3 2 1 2 3 4 3 2 1 2 3 4 5 4 3 2 1 2 3 4 5 Veja a resolução comentada deste exercício usando PHP: <?php // para executar abra uma janela de comando // cmd e dispare o comando abaixo: // C:\xampp\php>php c:\estudos_php\estudos.php // para ler a entrada do usuário $entrada = fopen("php://stdin","r"); // vamos solicitar a quantidade de linhas echo "Informe a quantidade de linhas: "; $numLinhas = trim(fgets($entrada)); // não queremos aceitar quantidades de linhas menores que 1 ou maiores que 12 if(($numLinhas < 1) || ($numLinhas > 12)){ echo "O número de linhas deve estar entre 1 e 12"; exit; } // este laço externo controla as linhas echo "\n"; for($linha = 1; $linha <= $numLinhas; $linha++){ // este laço gera os espaços antes de cada número nas linhas da pirâmide for ($coluna = 1; $coluna <= ($numLinhas - $linha); $coluna++){ echo " "; // três espaços aqui } // aqui nós exibimos os números de cada linha do lado esquerdo da pirâmide, até o centro for($i = $linha; $i >= 1; $i--){ // o número da linha é maior ou igual a 10? se for colocamos um espaço antes do número if($i >= 10){ echo " " . $i; } else{ // o número da linha é menor que 10? vamos colocar dois espaços antes do número echo " " . $i; } } // e finalmente exibimos os números de cada linha no lado direito da pirâmide for ($i = 2; $i <= $linha; $i++){ // o número da linha é maior ou igual a 10? se for colocamos um espaço antes do número if($i >= 10){ echo " " . $i; } else{ // o número da linha é menor que 10? vamos colocar dois espaços antes do número echo " " . $i; } } // gera uma nova linha echo "\n"; } ?> |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
C# - Como adicionar ou subtrair meses de uma data em C# usando o método AddMonths() da estrutura DateTime |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |