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: 1213 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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<?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 |
|
Python - Como gerar números aleatórios em Python usando o método random.randint() da biblioteca NumPy |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





