Para saber se um determinado valor é par ou ímpar em PHP, é bem simples.
E para isso, precisamos usar o operador Resto da Divisão: %
Todo número par possui uma característica especial: o resto da divisão por 2 é igual a 0.
Assim, nosso código fica:
<html><head><title>Apostila PHP Progressivo</title></head><body><formaction=""method="get">
Digite um número: <inputtype="number"name="number"/><br/><inputtype="submit"name="submit"value="Testar"/></form><?php$numero = $_GET['number'];
if($numero % 2 == 0)
echo"$numero é par";
elseecho"$numero é ímpar";
?></body></html>
Paralelamente, todo número ímpar possui resto da divisão por 2 igual a 1.
Então podemos resolver este tutorial da seguinte forma:
<html><head><title>Apostila PHP Progressivo</title></head><body><formaction=""method="get">
Digite um número: <inputtype="number"name="number"/><br/><inputtype="submit"name="submit"value="Testar"/></form><?php$numero = $_GET['number'];
if($numero % 2 == 1)
echo"$numero é ímpar";
elseecho"$numero é par";
?></body></html>
Números Múltiplos - Como detectar
Dizemos que um número x é múltiplo de outro M, quando o resto da divisão de x por M é 0.
Ou seja, quando:
(x % M = 0)
Por exemplo, 9 é múltiplo de 3, pois: 9 % 3 = 0
16 é múltiplo de 4, pois: 16 % 4 = 0
Em outras palavras, quando dividimos M por x, o resultado dá exato, inteiro, não dá quebrado (decimal, float).
O script PHP que pede um número para saber se é múltiplo de outro, é:
<html><head><title>Apostila PHP Progressivo</title></head><body><formaction=""method="get">
Digite um número: <inputtype="number"name="number"/><br/>
Testar se é múltiplo de: <inputtype="number"name="mult"/><br/><inputtype="submit"name="submit"value="Testar"/></form><?php$numero = $_GET['number'];
$multiplo = $_GET['mult'];
if($numero % $multiplo == 0)
echo"$numero é múltiplo de $multiplo";
elseecho"$numero não é múltiplo de $multiplo";
?></body></html>
1. Faça um script em PHP que verifique se uma letra digitada é vogal ou consoante. Dígito ou caractere em PHP
2. Faça uma página Web que pede duas notas de um aluno. Em seguida ele deve calcular a média do aluno e dar o seguinte resultado:
A mensagem "Aprovado", se a média alcançada for maior ou igual a sete;
A mensagem "Reprovado", se a média for menor do que sete;
A mensagem "Aprovado com Distinção", se a média for igual a dez. Calcula média e diz se foi aprovado
4. Faça uma página Web que leia três números inteiros, em seguida mostre o maior e o menor deles.
5. Faça uma página Web que pede dois inteiro e armazene em duas variáveis. Em seguida, troque o valor das variáveis e exiba na tela Trocando de valores de duas variáveis
6. Faça um script em PHP que leia três números e mostre-os em ordem decrescente.
7. Faça uma página Web que pergunte em que turno você estuda. Peça para digitar M-matutino ou V-Vespertino ou N- Noturno. Imprima a mensagem "Bom Dia!", "Boa Tarde!" ou "Boa Noite!" ou "Valor Inválido!", conforme o caso.
8. As Organizações Tabajara resolveram dar um aumento de salário aos seus colaboradores e lhe contrataram para desenvolver o script que calculará os reajustes.
Faça um script que recebe o salário de um colaborador e o reajuste segundo o seguinte critério, baseado no salário atual:
salários até R$ 280,00 (incluindo) : aumento de 20%
salários entre R$ 280,00 e R$ 700,00 : aumento de 15%
salários entre R$ 700,00 e R$ 1500,00 : aumento de 10%
salários de R$ 1500,00 em diante : aumento de 5% Após o aumento ser realizado, informe na tela:
o salário antes do reajuste;
o percentual de aumento aplicado;
o valor do aumento;
o novo salário, após o aumento.
9. Faça um script em PHP para o cálculo de uma folha de pagamento, sabendo que os descontos são do Imposto de Renda, que depende do salário bruto (conforme tabela abaixo) e 3% para o Sindicato e que o FGTS corresponde a 11% do Salário Bruto, mas não é descontado (é a empresa que deposita). O Salário Líquido corresponde ao Salário Bruto menos os descontos. O script deverá pedir ao usuário o valor da sua hora e a quantidade de horas trabalhadas no mês.
Desconto do IR:
Salário Bruto até 900 (inclusive) - isento
Salário Bruto até 1500 (inclusive) - desconto de 5%
Salário Bruto até 2500 (inclusive) - desconto de 10%
Salário Bruto acima de 2500 - desconto de 20% Imprima na tela as informações, dispostas conforme o exemplo abaixo. No exemplo o valor da hora é 5 e a quantidade de hora é 220.
10. Faça uma página Web que leia um número e exiba o dia correspondente da semana. (1-Domingo, 2- Segunda, etc.), se digitar outro valor deve aparecer valor inválido.
11.Faça um script em PHP que lê as duas notas parciais obtidas por um aluno numa disciplina ao longo de um semestre, e calcule a sua média. A atribuição de conceitos obedece à tabela abaixo:
Média de Aproveitamento Conceito
Entre 9.0 e 10.0 A
Entre 7.5 e 9.0 B
Entre 6.0 e 7.5 C
Entre 4.0 e 6.0 D
Entre 4.0 e zero E
O algoritmo deve mostrar na tela as notas, a média, o conceito correspondente e a mensagem “APROVADO” se o conceito for A, B ou C ou “REPROVADO” se o conceito for D ou E.
12. Faça uma página Web que peça os 3 lados de um triângulo. O script deverá informar se os valores podem ser um triângulo. Indique, caso os lados formem um triângulo, se o mesmo é: equilátero, isósceles ou escaleno.
Dicas:
Três lados formam um triângulo quando a soma de quaisquer dois lados for maior que o terceiro;
Triângulo Equilátero: três lados iguais;
Triângulo Isósceles: quaisquer dois lados iguais;
Triângulo Escaleno: três lados diferentes; Triângulos em PHP
13. 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.
PS: Para achar a raiz quadrada da variável x, faça: sqrt(x) Equação do 2° Grau em PHP
14. Faça um script em PHP que peça um número correspondente a um determinado ano e em seguida informe se este ano é ou não bissexto. Ano bissexto em PHP
15. Faça um site que peça uma data no formato dd/mm/aaaa e determine se a mesma é uma data válida.
16. Faça um site que peça um número inteiro e determine se ele é par ou ímpar. Dica: utilize o operador módulo (resto da divisão): %. Depois peça um número e um múltiplo, e responda se o número digitado é múltiplo do segundo valor digitado. Par, ímpar e múltiplos
17. Faça um site que leia um número inteiro menor que 1000 e imprima a quantidade de centenas, dezenas e unidades do mesmo.
Observando os termos no plural a colocação do "e", da vírgula entre outros. Exemplo:
18. Faça um script em PHP para um caixa eletrônico. O script deverá perguntar ao usuário a valor do saque e depois informar quantas notas de cada valor serão fornecidas. As notas disponíveis serão as de 1, 5, 10, 50 e 100 reais. O valor mínimo é de 10 reais e o máximo de 600 reais. O script não deve se preocupar com a quantidade de notas existentes na máquina.
Exemplo 1: Para sacar a quantia de 256 reais, o script fornece duas notas de 100, uma nota de 50, uma nota de 5 e uma nota de 1;
Exemplo 2: Para sacar a quantia de 399 reais, o script fornece três notas de 100, uma nota de 50, quatro notas de 10, uma nota de 5 e quatro notas de 1.
19.Faça um site que peça um número e informe se o número é inteiro ou decimal. Dica: utilize uma função de arredondamento.
20. Faça um site que leia 2 números e em seguida pergunte ao usuário qual operação ele deseja realizar. O resultado da operação deve ser acompanhado de uma frase que diga se o número é:
par ou ímpar;
positivo ou negativo;
inteiro ou decimal.
21. Faça um script em PHP que faça 5 perguntas para uma pessoa sobre um crime. As perguntas são:
"Telefonou para a vítima?"
"Esteve no local do crime?"
"Mora perto da vítima?"
"Devia para a vítima?"
"Já trabalhou com a vítima?" O programa deve no final emitir uma classificação sobre a participação da pessoa no crime. Se a pessoa responder positivamente a 2 questões ela deve ser classificada como "Suspeita", entre 3 e 4 como "Cúmplice" e 5 como "Assassino". Caso contrário, ele será classificado como "Inocente".
22. Um posto está vendendo combustíveis com a seguinte tabela de descontos:
Álcool: até 20 litros, desconto de 3% por litro
acima de 20 litros, desconto de 5% por litro
Gasolina:
até 20 litros, desconto de 4% por litro
acima de 20 litros, desconto de 6% por litro Escreva um algoritmo que leia o número de litros vendidos, o tipo de combustível (codificado da seguinte forma: A-álcool, G-gasolina), calcule e imprima o valor a ser pago pelo cliente sabendo-se que o preço do litro da gasolina é R$ 2,50 o preço do litro do álcool é R$ 1,90.
23. Uma fruteira está vendendo frutas com a seguinte tabela de preços:
Até 5 Kg Acima de 5 Kg
Morango R$ 2,50 por Kg R$ 2,20 por Kg
Maçã R$ 1,80 por Kg R$ 1,50 por Kg
Se o cliente comprar mais de 8 Kg em frutas ou o valor total da compra ultrapassar R$ 25,00, receberá ainda um desconto de 10% sobre este total. Escreva um algoritmo para ler a quantidade (em Kg) de morangos e a quantidade (em Kg) de maças adquiridas e escreva o valor a ser pago pelo cliente.
24. O Hipermercado Tabajara está com uma promoção de carnes que é imperdível. Confira:
Até 5 Kg Acima de 5 Kg
File Duplo R$ 4,90 por Kg R$ 5,80 por Kg
Alcatra R$ 5,90 por Kg R$ 6,80 por Kg
Picanha R$ 6,90 por Kg R$ 7,80 por Kg
Para atender a todos os clientes, cada cliente poderá levar apenas um dos tipos de carne da promoção, porém não há limites para a quantidade de carne por cliente. Se compra for feita no cartão Tabajara o cliente receberá ainda um desconto de 5% sobre o total a compra. Escreva um script que peça o tipo e a quantidade de carne comprada pelo usuário e gere um cupom fiscal, contendo as informações da compra: tipo e quantidade de carne, preço total, tipo de pagamento, valor do desconto e valor a pagar.
Programadores, por natureza, são bichos preguiçosos.
E não, isso não é uma crítica. Bill Gates disse que adora gente preguiçosa, pois eles sempre vão procurar a maneira mais rápida, simples e óbvia de resolver as coisas. E isso é verdade.
No decorrer de seus estudos e trabalhos como desenvolvedor web com PHP, você vai deparar gente fazendo coisas com milhares de linhas de código...enquanto outros vão resolver com algumas dezenas. Claro que, quase sempre, quanto menos melhor.
Falando em preguiça, vamos te apresentar a instrução ELSEIF, que serve para substituir os:
...
else
if
...
else
if
...
Por
...
elseif
...
elseif
....
else
....
Ou seja, apenas substituímos um bloco de:
ELSE
IF
Por: ELSEIF
Isso evita que nosso código fique cada vez maior e mais deslocado para a direita.
<?php$idade = $_GET['age'];
if($idade < 16)
echo"Você ainda não pode votar.";
elseif($idade < 18)
echo"Seu voto é facultativo";
elseif($idade<65)
echo"Seu voto é obrigatório";
elseecho"Seu voto é facultativo";
?>
Veja como fica se substituirmos por ELSEIF
<html><head><title>Apostila PHP Progressivo</title></head><body><formaction="home.php"method="get">
Sua idade: <inputtype="number"name="age"/><br/><inputtype="submit"name="submit"value="Testar"/></form><?php$idade = $_GET['age'];
if($idade < 16)
echo"Você ainda não pode votar.";
elseif($idade < 18)
echo"Seu voto é facultativo";
elseif($idade<65)
echo"Seu voto é obrigatório";
elseecho"Seu voto é facultativo";
?></body></html>
Note que deixamos os IF, ELSEIF e ELSE todos alinhados, bem mais bonitinho e organizado, não acha?
Exemplo de uso de ELSEIF Crie uma página que pergunta ao usuário que time ele torce, e mostre uma mensagem correspondente: Corinthians - Vai timão! Palmeiras - Não tem mundial! Flamengo - Flamíííídia! São Paulo - Bambiiii! Athlético - Hum, Aflético! Outro - Time pequeno, nem conheço. Primeiro, faça sem uso do ELSEIF, depois com o uso do ELSEIF.
Sem usar o ELSEIF:
<html><head><title>Apostila PHP Progressivo</title></head><body><formaction=home.phpmethod="get">
Que time você torce: <inputtype="text"name="time"/><br/><inputtype="submit"name="submit"value="Testar"/></form><?php$time = $_GET['time'];
if($time == 'Corinthians')
echo"Vai Timão!";
elseif($time == 'Palmeiras')
echo"Não tem mundial";
elseif($time == 'Flamengo')
echo"Flamííídia";
elseif($time == 'São Paulo')
echo"Bambiiis";
elseif($time == 'Athlético')
echo"Hum, afléético";
elseecho"Time pequeno não conheço";
?></body></html>
Notem como vai deslocando pra direita...e vai crescendo...fica horrível!
Cara dos outros programadores quando forem dar manutenção ou alterar algo em código assim:
Pessoal, o brasileirão série A tem 20 times. E a série B também.
Imagina você tendo que criar código para 40 times?
Usamos pra 5 e já ficou essa coisa horrenda.
Mas calma, vamos te ensinar o jeito certo de fazer as coisas.
Agora o código com ELSEIF:
<html><head><title>Apostila PHP Progressivo</title></head><body><formaction="home.php"method="get">
Que time você torce: <inputtype="text"name="time"/><br/><inputtype="submit"name="submit"value="Testar"/></form><?php$time = $_GET['time'];
if($time == 'Corinthians')
echo"Vai Timão!";
elseif($time == 'Palmeiras')
echo"Não tem mundial";
elseif($time == 'Flamengo')
echo"Flamííídia";
elseif($time == 'São Paulo')
echo"Bambiiis";
elseif($time == 'Athlético')
echo"Hum, afléético";
elseecho"Time pequeno não conheço";
?></body></html>
Agora sim! Digno de um excelente desenvolvedor web, organizado, que estudou pelo Curso PHP Progressivo.
Agora que aprendemos como usar o IF e ELSE em PHP, vamos aprender como aninhar essas estruturas de controle, ou seja, colocar IF e ELSE dentro de IF e ELSE.
Em muitos sistemas web que você for trabalhar, vai ser necessário usar uma técnica chamada aninhamento, que nada mais é que colocar uma coisa dentro de outra.
Vamos refazer um script que fizemos, o do voto.
Crie um sistema Web que pergunte a idade do usuário. Se ele tiver menos de 16 anos, não pode votar.
Se tiver entre 16 e 18 é facultativo. Se tiver entre 18 ou mais, deve votar.
Note que nosso exemplo ficou mais complexo, pois agora vamos tratar 3 casos:
Quem tem menos de 16 anos
Quem tem mais de 16 e menos de 18
Quem tem 18 anos ou mais
Vamos começar com o primeiro IF, já eliminando quem tem menos de 16 anos:
if($idade < 16){
...
} else {
...
}
Tudo que for pro ELSE, é porque tem 16 anos ou mais. Dentro desse grupo, precisamos achar os que tem menos de 18 anos, para isso, criamos outro IF dentro desse ELSE, tratando os que tem menos de 18:
if($idade < 18)
...
else
...
Esse IF interno vai ter também seu ELSE interno, e o que cai nele é tudo que tiver 18 anos ou mais, concorda?
Nosso código fica, então:
<html><head><title>Curso PHP Progressivo</title></head><body><formaction="home.php"method="get">
Sua idade: <inputtype="number"name="age"/><br/><inputtype="submit"name="submit"value="Testar"/></form><?php$idade = $_GET['age'];
if($idade < 16){
echo"Você ainda não pode votar.";
}
else{
if($idade < 18)
echo"Seu voto é facultativo";
elseecho"Você pode votar";
}
?></body></html>
Exemplo de IF e ELSE aninhados
Crie um sistema Web que pergunte a idade do usuário. Se ele tiver menos de 16 anos, não pode votar.
Se tiver entre 16 e 18 é facultativo. Se tiver entre 18 e 65 é obrigatório votar. Se tiver mais de 65, também é facultativo.
Este é um exemplo de sistema real, pessoal. Já estamos programando coisas úteis, que estão usando de verdade por aí.
Vamos lá. Primeiro, vamos tratar o caso dos menores de 16 anos.
Se tiver menos, avisando que não pode votar.
Se tiver 16 ou mais, vai pro primeiro ELSE.
Agora vamos testar com um novo IF se ela tem menos de 18.
Se tiver, está entre 16 e 18 anos, e só vota se quiser.
Agora tem o ELSE desse IF aninhado, se cair nele, é porque a pessoa tem 18 anos ou mais.
Dentro desse ELSE vamos colocar um novo IF.
Nesse novo IF vamos perguntar se a pessoa tem menos de 65, se esse novo teste for TRUE, a pessoa tem de 18 até 65, e é obrigada a votar.
O ELSE desse IF é caso ela tenha 65 ou mais, aí ela não é obrigada a votar também.
Veja como ficou nosso código:
<html><head><title>Curso PHP Progressivo</title></head><body><formaction="home.php"method="get">
Sua idade: <inputtype="number"name="age"/><br/><inputtype="submit"name="submit"value="Testar"/></form><?php$idade = $_GET['age'];
if($idade < 16)
echo"Você ainda não pode votar.";
elseif($idade < 18)
echo"Seu voto é facultativo";
elseif($idade<65)
echo"Seu voto é obrigatório";
elseecho"Seu voto é facultativo";
?></body></html>
Note que não usamos chaves nos nossos pares de IF e ELSE, e por um motivo que já explicamos: se abaixo dele tiver só uma instrução (um echo, um IF, um ELSE, um par IF e ELSE) não precisa de chaves.
Se não entendeu algo, pode perguntar.
Não tenha vergonha de perguntar ou ler de novo, de novo e de novo. No começo é complicado mesmo, programação PHP tem que ter paciência mesmo, é com calma e devagar que se aprende.
Ou seja, se a expressão for VERDADEIRA, o bloco do IF é executado.
Se a expressão for FALSA, o bloco do ELSE é executado.
Pense em inglês.
IF em inglês é SE, ELSE significa SENÃO.
A instrução IF ELSE fica assim:
se (expressao){
código;
}senão {
código;
}
Se for verdade, faz uma coisa, senão for, faz outra.
Nossos scripts estão começando a ter um fluxo mais complexo e completo, se assemelhando a sistemas web reais.
Exemplo de uso do IF e ELSE
Crie um site que pede ao usuário sua idade. Se for de maior, diga que pode dirigir, senão diga que não pode ainda.
<html><head><title>Curso PHP Progressivo</title></head><body><formaction="home.php"method="get">
Sua idade: <inputtype="number"name="age"/><br/><inputtype="submit"name="submit"value="Testar"/></form><?php$idade = $_GET['age'];
if($idade >= 18){
echo"Você já pode dirigir!";
}else{
echo"Você ainda não pode dirigir!";
}
?></body></html>
A novidade aí ficou por conta do ELSE, que executa sempre que o teste for FALSE.
Exemplo de IF e ELSE em PHP
Crie uma página que pergunta a idade do usuário. Se ele tiver 65 anos ou mais, avise que ele já pode se aposentar. Senão, avise que ele tem que esperar até os 65.
<html><head><title>Curso PHP Progressivo</title></head><body><formaction="home.php"method="get">
Sua idade: <inputtype="number"name="age"/><br/><inputtype="submit"name="submit"value="Testar"/></form><?php$idade = $_GET['age'];
if($idade < 65){
echo"Você ainda não pode se aposentar";
}else{
echo"Você já pode se aposentar!";
}
?></body></html>
Como mostrado nos exemplos do tutorial anterior, é possível usar somente o comando IF, sem um ELSE. Porém, só podemos usar o ELSE com seu respectivo IF.
Exemplo de IF ELSE com strings
Crie um sistema web que pede a senha do usuário. Se ele digitar a correta, avise que está entrando no sistema. Se errar, diga que digitou errado. A senha deve ser 'phpprogressivo'.