Bora ajudar o programador a transformar café em código?

Mostrando postagens com marcador Questões resolvidas. Mostrar todas as postagens
Mostrando postagens com marcador Questões resolvidas. Mostrar todas as postagens

Quantos dígitos tem um número? Script em PHP

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

13. Faça uma função que informe a quantidade de dígitos de um determinado número inteiro informado.

Questão de nossa lista de exercícios de funções em PHP.

A Função strlen()

Quando o usuário digita algo via formulário, ele está introduzindo uma string.
Assim, ao invés de digitar o número 2112, ele está digitando a string:
"2112"

Então, para calcular o número de dígitos, temos que calcular tamanho de caracteres da string, e para isso usamos a função strlen() (string length):
  function tamanho($n){
   return strlen($n);
  }

Número de dígitos de um número

E se ao invés de uma string for um número?
Simples, transforma em string.

Se $n for um número, transformamos ele em string assim:
$n = (string)$n

Ou assim:
$n .=""

Depois é só aplicar como argumento na função strlen.

Números perfeitos em PHP (script)

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Neste tutorial do nosso curso de PHP, vamos resolver uma questão de nossa lista de exercício de funções:


7. Um número é dito perfeito quando ele é igual a soma de seus fatores. Por exemplo, os fatores de 6 são 1, 2 e 3 (ou seja, podemos dividir 6 por 1, por 2 e por 3) e 6=1+2+3, logo 6 é um número perfeito. Escreva uma função que recebe um inteiro e dizer se é perfeito ou não. Em outra função, peça um inteiro n e mostre todos os números perfeitos até n.

Como detectar números perfeitos

Vamos receber um número $n do usuário.

Dentro da função soma(), vamos ter uma variável chamada $divisores, que inicialmente é 0, ela vai receber a soma de todos os divisores.

Depois, com um laço, vamos dividir o número do usuário por 1, por 2, por 3...até por $n-1
Cada vez que for divisor, somamos esse números na $divisores.

Ao final da função, retornamos $divisores, que é a soma dos divisores.

Fora da função, verificamos se $n é igual ao retorno da função, se for, o número é dito perfeito:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action=ae method="get">
  Numero<input type="number" name="numb" /><br />
  <input type="submit" name="submit" value="Testar" />
 </form> 
 <?php
  $n = $_GET['numb'];
  
  if($n == soma($n))
   echo "É perfeito";
  else
   echo "Não é perfeito";
   
  function soma($n){
   $divisores=0;
   for($count=1 ; $count<$n ; $count++)
    if($n % $count==0)
     $divisores += $count;
   return $divisores;
  }
 ?>
 </body>
</html>
Teste com alguns números perfeitos:
6, 28, 496 e 8.128

Lista de exercícios de Funções em PHP

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

  1. Escreva um script que pergunta ao usuário se ele deseja converter uma temperatura de grau Celsius para Farenheit ou vice-versa. Se ele digitar 1, é de Celsius para Farenheit, se digitar 2 é de Farenheit para Celsius, outro valor mostre uma mensagem de erro. Para cada conversão, chame a função correta.
    Conversão Celsius-Fahrenheit
  2. Faça um programa, com uma função que necessite de três argumentos, e que forneça a soma desses três argumentos através de uma função. Seu script também deve fornecer a média dos três números, através de uma segunda função que chama a primeira.
  3. Faça um programa que recebe três números do usuário, e identifica o maior através de uma função e o menor número através de outra função.
  4. A probabilidade de dar um valor em um dado é 1/6 (uma em 6). Faça um script em PHP que simule 1 milhão de lançamentos de dados e mostre a frequência que deu para cada número.
  5. A série de Fibonacci é uma sequência de números, cujos dois primeiros são 0 e 1. O termo seguinte da sequência é obtido somando os dois anteriores. Faça uma script em PHP que solicite um inteiro positivo ao usuário, n. Então uma função exibe todos os termos da sequência até o n-ésimo termo. Use recursividade.
  6. Crie uma função que recebe um inteiro positivo e teste para saber se ele é primo ou não. Faça um script que recebe um inteiro n e mostra todos os primos, de 1 até n.
  7. Um número é dito perfeito quando ele é igual a soma de seus fatores. Por exemplo, os fatores de 6 são 1, 2 e 3 (ou seja, podemos dividir 6 por 1, por 2 e por 3) e 6=1+2+3, logo 6 é um número perfeito. Escreva uma função que recebe um inteiro e dizer se é perfeito ou não. Em outra função, peça um inteiro n e mostre todos os números perfeitos até n.
    Números perfeitos em PHP
  8. Faça um programa para imprimir:
    •     1
          2   2
          3   3   3
          .....
          n   n   n   n   n   n  ... n
      para um n informado pelo usuário. Use uma função que receba um valor n inteiro e imprima até a n-ésima linha
    • Código na apostila

  9. Faça um programa para imprimir:
    •     1
          1   2
          1   2   3
          .....
          1   2   3   ...  n
      para um n informado pelo usuário. Use uma função que receba um valor n inteiro imprima até a n-ésima linha.
  10. Faça um programa, com uma função que necessite de um argumento. A função retorna o valor de caractere ‘P’, se seu argumento for positivo, e ‘N’, se seu argumento for zero ou negativo.
  11. Faça um programa com uma função chamada somaImposto. A função possui dois parâmetros formais: taxaImposto, que é a quantia de imposto sobre vendas expressa em porcentagem e custo, que é o custo de um item antes do imposto. A função “altera” o valor de custo para incluir o imposto sobre vendas.

  12. Faça um programa que converta da notação de 24 horas para a notação de 12 horas. Por exemplo, o programa deve converter 14:25 em 2:25 P.M. A entrada é dada em dois inteiros. Deve haver pelo menos duas funções: uma para fazer a conversão e uma para a saída. Registre a informação A.M./P.M. como um valor ‘A’ para A.M. e ‘P’ para P.M. Assim, a função para efetuar as conversões terá um parâmetro formal para registrar se é A.M. ou P.M. Inclua um loop que permita que o usuário repita esse cálculo para novos valores de entrada todas as vezes que desejar.
  13. Faça uma função que informe a quantidade de dígitos de um determinado número inteiro informado.
    Quantos dígitos tem um número

Fatorial com Laços em PHP

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Neste tutorial, vamos aprender como calcular o fatorial de um número usando apenas laços.

Fatorial de um Número

Chamamos fatorial de um número n, representado por n!, o valor:
n! = 1 x 2 x 3 x ...(n-1) x n

Ou seja:
2! = 2 x 1 = 2
3! = 3 x 2 x 1 = 6
4! = 4 x 3 x 2 x 1 = 24
5! = 5 x 4 x 3 x 2 x 1 = 120
...

Ou seja, se o usuário insere um valor n, basta multiplicarmos 1 por 2, por 3, por 4....até chegar em n.
O fatorial é esse produto.

Script em PHP: Cálculo fatorial

Vamos armazenar em $n o número digitado pelo usuário.

O fatorial, vamos armazenar na variável $fatorial, que inicialmente é 1.
Depois, vamos fazer uma variável de controle, a $count, inicie em 1 e vá até $n, incrementando-se unitariamente.

Veja como fazer usando o laço WHILE:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action="" method="get">
  Fatorial de: <input type="number" name="number" /><br />
  <input type="submit" name="submit" value="Calcular" />
 </form> 
 <?php 
  $n=$_GET['number'];
  $fatorial=1;
  $count=1;
  
  while($count<=$n){
   $fatorial *= $count;
   $count++;
  } 
  echo $fatorial;
 ?>
 </body>
</html>
Veja como fazer usando o laço FOR:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action="" method="get">
  Fatorial de: <input type="number" name="number" /><br />
  <input type="submit" name="submit" value="Calcular" />
 </form> 
 <?php 
  $n=$_GET['number'];
  $fatorial=1;
  
  for($count=1; $count<=$n ; $count++)
   $fatorial *= $count;
   
  echo $fatorial;
 ?>
 </body>
</html>
Consegue resolver usando DO WHILE ?

Série de Fibonacci em PHP, com LAÇOS

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Neste tutorial, vamos aprender como gerar a série de Fibonacci, usando apenas laços, em PHP.

Série de Fibonacci

A série de Fibonacci é aquela composta pelos números 0 e 1, inicialmente.

A partir daí, cada termo é a soma dos dois anteriores.
Vamos formar a série:

Termo 1 = 0
Termo 2 = 1
Termo 3 = 1 + 0 = 1
Termo 4 = 1 + 1 = 2
Termo 5 = 2 + 1 = 3
Termo 6 = 3 + 2 = 5
...

Ela é infinita e possui uma série de funções interessantes, além de aparições curiosas na natureza.
Vale a leitura:
https://pt.wikipedia.org/wiki/Sequ%C3%AAncia_de_Fibonacci

Como Fazer a Série de Fibonacci com Laços

Inicialmente, exibimos os termos 0 e 1. Ou seja, o usuário tem que inserir um número maior que 2, para expressar o número de termos que deseja ver.

Vamos usar três variáveis:
$atual - exibe o número atual, da série
$ultimo - último número da série
$penultimo - penúltimo número da série

Inicialmente:
$ultimo=1;
$penultimo=0;

Assim, o próximo termo da sequência será sempre:
$atual = $ultimo + $penultimo;
Após isso, exibimos o $ultimo com um echo.

Agora, temos que atualizar o valor das variáveis, fazer elas darem um pulo pra frente.
O novo valor de $penultimo será $ultimo, e o novo valor de $ultimo vai ser $atual (esse é o passo mais importante para se entender, se não entender tente novamente, até conseguir).

Nossa variável de controle vai de 1 até $n-2 (onde $n é o número de termos que o usuário deseja ver, da série), subtraímos dois pois já exibimos os dois primeiros valores:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action="" method="get">
  Exibir até(maior que 2): <input type="number" name="number" /><br />
  <input type="submit" name="submit" value="Calcular" />
 </form> 
 <?php 
  $n=$_GET['number'];
  $ultimo=1;
  $penultimo=0;
    
  echo "0<br />1<br />";
  for($count=1 ; $count<=$n-2 ; $count++){
   $atual = $ultimo + $penultimo;
   echo $atual."<br />";
   
   $penultimo = $ultimo;
   $ultimo = $atual;
  } 
 ?>
 </body>
</html>

Descobrir maior número, Soma e Média de Cinco valores

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Vamos resolver as questões 07 e 08 de nossa lista de exercícios de laços:

07. Faça um programa que leia 5 números e informe o maior número.
08. Faça um programa que leia 5 números e informe a soma e a média dos números. 

Curso de PHP com certificado
Obter meu certificado!

Código comentado

Para descobrirmos o maior número, vamos supor que o maior é o primeiro:
$maior = $n1;

Agora, basta ir comparando com cada um dos outros.
Se algum deles for maior que $maior, fazemos $maior assumir tal valor.

Assim, ao final, teremos comparado o valor de todos os números e o maior número estará armazenado na variável $maior, bastante imprimir.

Para calcular a soma é bem simples e óbvio.
A média, usamos a variável de $soma.

Veja como ficou nosso script que detecta o maior, a soma e a média de uma lista de 5 números.


Script PHP

<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action="" method="get">
  Número 1: <input type="number" name="n1" /><br />
  Número 2: <input type="number" name="n2" /><br />
  Número 3: <input type="number" name="n3" /><br />
  Número 4: <input type="number" name="n4" /><br />
  Número 5: <input type="number" name="n5" /><br />
  <input type="submit" name="submit" value="Inserir" />
 </form> 
 <?php 
  $n1=$_GET['n1'];
  $n2=$_GET['n2'];
  $n3=$_GET['n3'];
  $n4=$_GET['n4'];
  $n5=$_GET['n5'];
  
  // Maior
  $maior = $n1;
  if($n2>$maior) $maior=$n2;
  if($n3>$maior) $maior=$n3;
  if($n4>$maior) $maior=$n4;
  if($n5>$maior) $maior=$n5;
  echo "O maior numero é $maior<br />";
  
  //Soma
  $soma=$n1+$n2+$n3+$n4+$n5;
  echo "Soma: $soma<br />";
  
  //Média
  $media = $soma/5;
  echo "Média: $media<br />";
 ?>
 </body>
</html>

Exercício: Populações de Duas Cidades

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Vamos resolver o exercício 05, de nossa lista de exercícios de laços em PHP:

04. 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.

05. 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. 

Estudar pela Apostila de PHP

Código comentado

Seja $A o valor da população da cidade A e $B o da B.
Seja $tA a taxa de crescimento da população da cidade A e $tB o da B.

Primeira coisa que temos que notar é que o usuário vai inserir a taxa em porcentagem, então precisamos dividir por 100 pra ter a taxa correta.

Após o primeiro ano, cada população vai ser:
$A = $A * (1 + $tA);
$B = $B * (1 + $tB);

Isso vai ocorrer enquanto o tamanho de $A seja menor a $B.
Quando for igual ou superior, o laço DO WHILE vai parar, e exibimos o valor da variável de controle, que está contando os anos:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action="" method="get">
  População da cidade A: <input type="number" name="A" /><br />
  População da cidade B: <input type="number" name="B" /><br />
  Taxa de crescimento da cidade A (em %): <input type="text" name="tA" /><br />
  Taxa de crescimento da cidade B (em %): <input type="text" name="tB" /><br />
  <input type="submit" name="submit" value="Inserir" />
 </form> 
 <?php 
  $A=$_GET['A'];
  $B=$_GET['B'];
  $tA=$_GET['tA'];
  $tB=$_GET['tB'];
  $count=1;
  
  $tA /= 100;
  $tB /= 100;
  
  do{
   $A *= (1+$tA);
   $B *= (1+$tB);
   
   echo "Após $count anos:<br />";
   echo "População de A: $A <br />";
   echo "População de B: $B <br />";
   
   $count++;
  }while($A<$B);
  
  echo "Em $count anos a população de A atinge a de B";
 ?>
 </body>
</html>
Fizemos com que a cada ano, fosse mostrado o número de habitantes da cidade A e da cidade B, para você ver como só vai ultrapassar no tempo certo.

Isso permite você verificar se a solução está correta.
Deixamos a validação se a entrada está correta ou não com você.

Dica: Cheque se a população é um número positivo de pessoas, e a população de A deve ser menor e ter taxa de crescimento maior, do contrário nunca alcançará B.

Validando Dados do Usuário em PHP

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Neste tutorial, vamos aprender a validar dados em PHP, de maneira simples, resolvendo as seguintes questões:
  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.

Validar Dados - O que é ? Para que serve ?

Uma das coisas mais importantes que fazemos no desenvolvimento web, é validar entradas do usuário.

Ou seja, verificar se o que o usuário digitou é válido ou não.
E nunca, jamais, nunca mesmo, duvide de um usuário.

Se você pede um nota ao usuário, ele pode escrever 11 ou -1.
Se pede uma data no formato dd/mm/aa, ele vai escrever '11 de janeiro de 1998' ou '01/03/99'.

É um trabalho comum entre JavaScript e PHP, validar os dados para trabalharmos com banco de dados em PHP.

Visando aprender a fazer isso, vamos fazer exemplos bem simples de como validar dados em PHP, primeiro de uma nota depois de um login/senha.

Validando Entrada Numérica em PHP

Vamos pedir um número ao usuário.

Se for de 0 até 10, ok, dizemos que a nota foi inserida com sucesso.
Se for menos que 0 ou mais que 10, dizemos que houve um erro e exibimos uma mensagem pedindo uma nota correta, essa mensagem só sai se você inserir a nota corretamente:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action="" method="get">
  Insira uma nota:  <input type="number" name="number" /><br />
  <input type="submit" name="submit" value="Inserir" />
 </form> 
 <?php 
  $nota=$_GET['number'];
  
  if($nota<0 || $nota>10)
   echo "Insira uma nota de 0 até 10! <br />";
  else  
   echo "Nota inserida com sucesso!";
 ?>
 </body>
</html>

Validando Entrada de Strings em PHP

Em muitos cadastros por aí, quando pedem seu login e senha, eles querem que você escolha uma senha que não seja igual ao seu login, por questões de segurança.
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action="" method="get">
  Nome: <input type="text" name="name" /><br />
  Senha: <input type="password" name="password" /><br />
  <input type="submit" name="submit" value="Inserir" />
 </form> 
 <?php 
  $nome=$_GET['name'];
  $senha=$_GET['password'];
  
  if($nome == $senha)
   echo "Sua senha deve ser diferente do login<br />";
  else  
   echo "Cadastro realizado com sucesso";
 ?>
 </body>
</html>
Assim, o código de um sistema que não permita que a senha seja igual ao login, seria:

Exercício
Peça o login, a senha e a confirmação da senha.
Confirme se o usuário digitou corretamente a senha.

Código na apostila

Lista de Exercícios de Laços em PHP

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

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.


Curso de PHP com certificado
Obter meu certificado!

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

      Equação do Segundo Grau em PHP

      O PHP Progressivo agora faz parte do Programação Progressiva!

      Este conteúdo foi atualizado e movido para o nosso novo endereço.

      Redirecionando para: Clique aqui se não for redirecionado

      Faça um site que calcule as raízes de uma equação do segundo grau, na forma ax² + bx + c. O script deverá pedir os valores de a, b e c e fazer as consistências e informando as raízes, sejam elas reais ou imaginárias.

      Apostila de PHP para download

      Equação do 2° Grau

      Para resolver uma equação do segundo grau, usamos a fórmula de Bháskara:
      Equação do 2° Grau em PHP

      Onde esse símbolo do triângulo se chama delta (letra grega).
      Se delta for 0, temos apenas uma raiz, real.
      Se for maior que 0, temos duas raízes reais (uma com sinal + e outra com sinal -).
      Se for menor que 9, temos duas raízes imaginárias (já estudou números complexos?)

      Script em PHP: Raízes de uma equação do segundo grau

      Vamos pedir pelo HTML os três coeficientes a, b e c e armazenar respectivamente nas varáveis $a, $b e $c.

      O primeiro teste é se $a é diferente de 0, se sim, continuamos no script.
      Se for 0, cai no ELSE e já encerra o script.

      Se for diferente, vamos ter três casos.
      Primeiro tratamos para delta maior que 0, onde teremos duas raízes reais.
      $raiz1 = (-$b + sqrt($delta) )/(2*$a);
      $raiz2 = (-$b - sqrt($delta) )/(2*$a);

      Se delta for 0, as duas raízes serão iguais:
      $raiz1=$raiz2 = -($b)/(2*$a);

      Se for menor, vamos ter que fazer algo mais complexo.
      Como a raiz é imaginária, ela terá uma parte real ($real) e outra imaginária ($img)
      E as raízes serão strings, pois temos que adicionar um i na resposta.

      Para concatenar uma variável com uma string, usamos o símbolo de ponto .

      Veja como ficou nossa solução completa:
      <html>
       <head>
        <title>Apostila PHP Progressivo</title>
       </head>
       <body>
       <form action="" method="get">
        a:  <input type="number" name="numero1" /><br />
        b:  <input type="number" name="numero2" /><br />
        c:  <input type="number" name="numero3" /><br />
        <input type="submit" name="submit" value="Testar" />
       </form> 
       <?php 
        $a = $_GET['numero1'];
        $b = $_GET['numero2'];
        $c = $_GET['numero3'];
      
        if($a != 0){
         $delta = $b*$b - 4*$a*$c;
         if($delta>0){
          $raiz1 = (-$b + sqrt($delta) )/(2*$a);
          $raiz2 = (-$b - sqrt($delta) )/(2*$a);
         }elseif ($delta==0)
          $raiz1=$raiz2 = -($b)/(2*$a);
         else{
          $real = -$b/(2*$a);
          $img =  sqrt(-$delta)/(2*$a);
      
          $raiz1 =  $real."+i".$img;
          $raiz2 =  $real."-i".$img;
         }
      
        }else
         echo "Equação inexistente";
        
        echo "Raiz 1: $raiz1 <br />";
        echo "Raiz 2: $raiz2 <br />"
       ?>
       </body>
      </html>

      Veja também

      O melhor PC para programar

      O melhor celular para programar