Lista de Exercícios de Laços em PHP

Hora de treinar, pessoal!

O que vai definir, no fim das contas, se você é um bom desenvolvedor web ou não, é o tanto de exercícios que você resolve ou tenta resolver.

Tente usando:
Laço WHILE
Laço DO WHILE
Laço FORComandos BREAK e CONTINUE

Mas tente muito, tente bastante mesmo. Só depois é que veja a solução.

Questões de Laços e Loopings em PHP

  1. Faça um programa que peça uma nota, entre zero e dez. Mostre uma mensagem caso o valor seja inválido e continue pedindo até que o usuário informe um valor válido.
  2. Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha igual ao nome do usuário, mostrando uma mensagem de erro e voltando a pedir as informações.
    01 e 02 - Validando dados em PHP
  3. Faça um programa que leia e valide as seguintes informações:
    1. Nome: maior que 3 caracteres;
    2. Idade: entre 0 e 150;
    3. Salário: maior que zero;
    4. Sexo: 'f' ou 'm';
    5. Estado Civil: 's', 'c', 'v', 'd';
    Use a função strlen(string) para saber o tamanho de um texto (número de caracteres).

    1. Supondo que a população de um país A seja da ordem de 80000 habitantes com uma taxa anual de crescimento de 3% e que a população de B seja 200000 habitantes com uma taxa de crescimento de 1.5%. Faça um programa que calcule e escreva o número de anos necessários para que a população do país A ultrapasse ou iguale a população do país B, mantidas as taxas de crescimento.
    2. Altere o programa anterior permitindo ao usuário informar as populações e as taxas de crescimento iniciais. Valide a entrada e permita repetir a operação.
      04 e 05: População de duas cidades
    3. Faça um programa que imprima na tela os números de 1 a 20, um abaixo do outro. Depois modifique o programa para que ele mostre os números um ao lado do outro.
    4. Faça um programa que leia 5 números e informe o maior número.
    5. Faça um programa que leia 5 números e informe a soma e a média dos números.
      07 e 08: Descobre maior, soma e média
    6. Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50.
    7. Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido por eles.
    8. Altere o programa anterior para mostrar no final a soma dos números.
    9. Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. O usuário deve informar de qual numero ele deseja ver a tabuada. A saída deve ser conforme o exemplo abaixo:
      • Tabuada de 5:
        5 X 1 = 5
        5 X 2 = 10
        ...
        5 X 10 = 50
         
      Tabuada em PHP

      • Faça um programa que peça dois números, base e expoente, calcule e mostre o primeiro número elevado ao segundo número. Não utilize a função de potência da linguagem.
        Potenciação em PHP
      • Faça um programa que peça 10 números inteiros, calcule e mostre a quantidade de números pares e a quantidade de números ímpares.
      • A série de Fibonacci é formada pela sequência 0,1,1,2,3,5,8,13,21,34,55,... Faça um programa capaz de gerar a série até o n−ésimo termo.
        Fibonacci com laços
      • A série de Fibonacci é formada pela sequência 0,1,1,2,3,5,8,13,21,34,55,... Faça um programa que gere a série até que o valor seja maior que 500.
      • Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário. Ex.: 5!=5.4.3.2.1=120
        Fatorial com laços
      • Faça um programa que, dado um conjunto de N números, determine o menor valor, o maior valor e a soma dos valores.
      • Altere o programa anterior para que ele aceite apenas números entre 0 e 1000.
      • Altere o programa de cálculo do fatorial, permitindo ao usuário calcular o fatorial várias vezes e limitando o fatorial a números inteiros positivos e menores que 16.
      • Faça um programa que peça um número inteiro e determine se ele é ou não um número primo. Um número primo é aquele que é divisível somente por ele mesmo e por 1.
      • Altere o programa de cálculo dos números primos, informando, caso o número não seja primo, por quais número ele é divisível.
        21 e 22. Números primos em PHP
      • Faça um programa que mostre todos os primos entre 1 e N sendo N um número inteiro fornecido pelo usuário. O programa deverá mostrar também o número de divisões que ele executou para encontrar os números primos. Serão avaliados o funcionamento, o estilo e o número de testes (divisões) executados.
      • Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário. Ex.: 5!=5.4.3.2.1=120. A saída deve ser conforme o exemplo abaixo:
        • Fatorial de: 5
          5! =  5 . 4 . 3 . 2 . 1 = 120
      • O Departamento Estadual de Meteorologia lhe contratou para desenvolver um programa que leia as um conjunto indeterminado de temperaturas, e informe ao final a menor e a maior temperaturas informadas, bem como a média das temperaturas.
      • Os números primos possuem várias aplicações dentro da Computação, por exemplo na Criptografia. Um número primo é aquele que é divisível apenas por um e por ele mesmo. Faça um programa que peça um número inteiro e determine se ele é ou não um número primo.
      • Encontrar números primos é uma tarefa difícil. Faça um programa que gera uma lista dos números primos existentes entre 1 e um número inteiro informado pelo usuário.
      • Desenvolva um programa que faça a tabuada de um número qualquer inteiro que será digitado pelo usuário, mas a tabuada não deve necessariamente iniciar em 1 e terminar em 10, o valor inicial e final devem ser informados também pelo usuário, conforme exemplo abaixo:
        • Montar a tabuada de: 5
          Começar por: 4
          Terminar em: 7
          
          Vou montar a tabuada de 5 começando em 4 e terminando em 7:
          5 X 4 = 20
          5 X 5 = 25
          5 X 6 = 30
          5 X 7 = 35
          Obs: Você deve verificar se o usuário não digitou o final menor que o inicial.
      • Uma academia deseja fazer um senso entre seus clientes para descobrir o mais alto, o mais baixo, a mais gordo e o mais magro, para isto você deve fazer um programa que pergunte a cada um dos clientes da academia seu código, sua altura e seu peso. O final da digitação de dados deve ser dada quando o usuário digitar 0 (zero) no campo código. Ao encerrar o programa também deve ser informados os códigos e valores do clente mais alto, do mais baixo, do mais gordo e do mais magro, além da média das alturas e dos pesos dos clientes
      • Um funcionário de uma empresa recebe aumento salarial anualmente: Sabe-se que:
        1. Esse funcionário foi contratado em 1995, com salário inicial de R$ 1.000,00;
        2. Em 1996 recebeu aumento de 1,5% sobre seu salário inicial;
        3. A partir de 1997 (inclusive), os aumentos salariais sempre correspondem ao dobro do percentual do ano anterior. Faça um programa que determine o salário atual desse funcionário. Após concluir isto, altere o programa permitindo que o usuário digite o salário inicial do funcionário.
      • Faça um programa que leia dez conjuntos de dois valores, o primeiro representando o número do aluno e o segundo representando a sua altura em centímetros. Encontre o aluno mais alto e o mais baixo. Mostre o número do aluno mais alto e o número do aluno mais baixo, junto com suas alturas.
      • Foi feita uma estatística em cinco cidades brasileiras para coletar dados sobre acidentes de trânsito. Foram obtidos os seguintes dados:
        1. Código da cidade;
        2. Número de veículos de passeio (em 1999);
        3. Número de acidentes de trânsito com vítimas (em 1999). Deseja-se saber:
        4. Qual o maior e menor índice de acidentes de transito e a que cidade pertence;
        5. Qual a média de veículos nas cinco cidades juntas;
        6. Qual a média de acidentes de trânsito nas cidades com menos de 2.000 veículos de passeio.
      • Faça um programa que receba o valor de uma dívida e mostre uma tabela com os seguintes dados: valor da dívida, valor dos juros, quantidade de parcelas e valor da parcela.
        • Os juros e a quantidade de parcelas seguem a tabela abaixo:
          Quantidade de Parcelas  % de Juros sobre o valor inicial da dívida
          1       0
          3       10
          6       15
          9       20
          12      25
          Exemplo de saída do programa:
          Valor da Dívida Valor dos Juros Quantidade de Parcelas  Valor da Parcela
          R$ 1.000,00     0               1                       R$  1.000,00
          R$ 1.100,00     100             3                       R$    366,00
          R$ 1.150,00     150             6                       R$    191,67
      • Faça um programa que leia uma quantidade indeterminada de números positivos e conte quantos deles estão nos seguintes intervalos: [0-25], [26-50], [51-75] e [76-100]. A entrada de dados deverá terminar quando for lido um número negativo.
      • O cardápio de uma lanchonete é o seguinte:
        • Especificação   Código  Preço
          Cachorro Quente 100     R$ 1,20
          Bauru Simples   101     R$ 1,30
          Bauru com ovo   102     R$ 1,50
          Hambúrguer      103     R$ 1,20
          Cheeseburguer   104     R$ 1,30
          Refrigerante    105     R$ 1,00
          Faça um programa que leia o código dos itens pedidos e as quantidades desejadas. Calcule e mostre o valor a ser pago por item (preço * quantidade) e o total geral do pedido. Considere que o cliente deve informar quando o pedido deve ser encerrado.
      • Em uma eleição presidencial existem quatro candidatos. Os votos são informados por meio de código. Os códigos utilizados são:
        • 1 , 2, 3, 4  - Votos para os respectivos candidatos 
          (você deve montar a tabela ex: 1 - Jose/ 2- João/etc)
          5 - Voto Nulo
          6 - Voto em Branco
          Faça um programa que calcule e mostre:
        • O total de votos para cada candidato;
        • O total de votos nulos;
        • O total de votos em branco;
        • A percentagem de votos nulos sobre o total de votos;
        • A percentagem de votos em branco sobre o total de votos. Para finalizar o conjunto de votos tem-se o valor zero.
      • Desenvolver um programa para verificar a nota do aluno em uma prova com 10 questões, o programa deve perguntar ao aluno a resposta de cada questão e ao final comparar com o gabarito da prova e assim calcular o total de acertos e a nota (atribuir 1 ponto por resposta certa). Após cada aluno utilizar o sistema deve ser feita uma pergunta se outro aluno vai utilizar o sistema. Após todos os alunos terem respondido informar:
        1. Maior e Menor Acerto;
        2. Total de Alunos que utilizaram o sistema;
        3. A Média das Notas da Turma.
          Gabarito da Prova:
          
          01 - A
          02 - B
          03 - C
          04 - D
          05 - E
          06 - E
          07 - D
          08 - C
          09 - B
          10 - A
          Após concluir isto você poderia incrementar o programa permitindo que o professor digite o gabarito da prova antes dos alunos usarem o programa.
      • Em uma competição de salto em distância cada atleta tem direito a cinco saltos. No final da série de saltos de cada atleta, o melhor e o pior resultados são eliminados. O seu resultado fica sendo a média dos três valores restantes. Você deve fazer um programa que receba o nome e as cinco distâncias alcançadas pelo atleta em seus saltos e depois informe a média dos saltos conforme a descrição acima informada (retirar o melhor e o pior salto e depois calcular a média). Faça uso de uma lista para armazenar os saltos. Os saltos são informados na ordem da execução, portanto não são ordenados. O programa deve ser encerrado quando não for informado o nome do atleta. A saída do programa deve ser conforme o exemplo abaixo:
        Atleta: Rodrigo Curvêllo
        
        Primeiro Salto: 6.5 m
        Segundo Salto: 6.1 m
        Terceiro Salto: 6.2 m
        Quarto Salto: 5.4 m
        Quinto Salto: 5.3 m
        
        Melhor salto:  6.5 m
        Pior salto: 5.3 m
        Média dos demais saltos: 5.9 m
        
        Resultado final:
        Rodrigo Curvêllo: 5.9 m
      • Em uma competição de ginástica, cada atleta recebe votos de sete jurados. A melhor e a pior nota são eliminadas. A sua nota fica sendo a média dos votos restantes. Você deve fazer um programa que receba o nome do ginasta e as notas dos sete jurados alcançadas pelo atleta em sua apresentação e depois informe a sua média, conforme a descrição acima informada (retirar o melhor e o pior salto e depois calcular a média com as notas restantes). As notas não são informados ordenadas. Um exemplo de saída do programa deve ser conforme o exemplo abaixo:
        Atleta: Aparecido Parente
        Nota: 9.9
        Nota: 7.5
        Nota: 9.5
        Nota: 8.5
        Nota: 9.0
        Nota: 8.5
        Nota: 9.7
        
        Resultado final:
        Atleta: Aparecido Parente
        Melhor nota: 9.9
        Pior nota: 7.5
        Média: 9,04
      • Faça um programa que peça um numero inteiro positivo e em seguida mostre este numero invertido.
        • Exemplo:
            12376489
            => 98467321
      • Faça um programa que mostre os n termos da Série a seguir:
        •   S = 1/1 + 2/3 + 3/5 + 4/7 + 5/9 + ... + n/m. 
          Imprima no final a soma da série.
      • Sendo H= 1 + 1/2 + 1/3 + 1/4 + ... + 1/N, Faça um programa que calcule o valor de H com N termos.
        Código na apostila
      • Faça um programa que mostre os n termos da Série a seguir:
        •   S = 1/1 + 2/3 + 3/5 + 4/7 + 5/9 + ... + n/m. 
          Imprima no final a soma da série.
          Código na apostila