Fundamentos do PHP
Prática: Construindo lógicas com condicionais
Aprenda sobre prática: construindo lógicas com condicionais
Módulo 2: Estruturas de Controle e Arrays
Aula: Prática: Construindo lógicas com condicionais
Olá, futuro(a) desenvolvedor(a) PHP! 👋 Nesta aula prática, vamos colocar a mão na massa e solidificar nosso conhecimento sobre as estruturas condicionais em PHP. Elas são o coração da tomada de decisões em nossos programas, permitindo que o código execute diferentes blocos de instrução dependendo de certas condições.
Ao final desta aula, você será capaz de:
- Aplicar
if,else ifeelsepara criar lógicas complexas. - Utilizar a estrutura
switchpara múltiplos caminhos de execução. - Resolver problemas práticos usando condicionais.
Vamos começar a construir lógicas poderosas! 🚀
1. Introdução às Estruturas Condicionais
As estruturas condicionais são ferramentas essenciais que permitem ao seu programa tomar decisões. Imagine que você está desenvolvendo um sistema que precisa verificar se um usuário está logado para exibir um painel administrativo, ou se um produto está em estoque antes de permitir uma compra. É para isso que servem os condicionais!
Em PHP, as principais estruturas condicionais são:
ifelseelse ifswitch
Vamos revisitar cada uma com exemplos práticos e, em seguida, partir para os desafios!
2. Entendendo e Aplicando Condicionais
2.1. A Declaração if
A declaração if é a mais básica. Ela executa um bloco de código apenas se uma condição for verdadeira.
<?php
$idade = 18;
if ($idade >= 18) {
echo "Você é maior de idade. Pode dirigir! 🚗";
}
?>No exemplo acima, a mensagem só será exibida se $idade for 18 ou mais.
2.2. A Declaração if...else
Quando você precisa executar um bloco de código se a condição for verdadeira e outro bloco se a condição for falsa, usamos if...else.
<?php
$saldo = 500;
$valorSaque = 600;
if ($saldo >= $valorSaque) {
echo "Saque realizado com sucesso! Novo saldo: " . ($saldo - $valorSaque) . " 💰";
} else {
echo "Saldo insuficiente. Seu saldo atual é: " . $saldo . " 😔";
}
?>Aqui, o programa decide entre duas opções: saque bem-sucedido ou saldo insuficiente.
2.3. A Declaração if...else if...else
Para múltiplos caminhos de decisão, onde você precisa verificar várias condições em sequência, if...else if...else é a escolha ideal. O PHP avaliará as condições em ordem, e executará o primeiro bloco cuja condição for verdadeira. Se nenhuma for verdadeira, o bloco else (se existir) será executado.
<?php
$nota = 75;
if ($nota >= 90) {
echo "Excelente! Você tirou um A. 🎉";
} elseif ($nota >= 80) {
echo "Muito bom! Você tirou um B. 👍";
} elseif ($nota >= 70) {
echo "Bom! Você tirou um C. 😉";
} elseif ($nota >= 60) {
echo "Razoável! Você tirou um D. 😐";
} else {
echo "Precisa melhorar! Você tirou um F. 👎";
}
?>Este é um exemplo clássico para um sistema de avaliação de notas.
2.4. A Declaração switch
A declaração switch é usada para executar diferentes blocos de código com base em diferentes valores de uma única variável ou expressão. É uma alternativa mais limpa para múltiplos if...else if quando você está comparando uma variável a vários valores fixos.
É crucial usar break para sair do switch após um caso ser correspondido. Se você omitir o break, o PHP continuará executando os casos subsequentes (comportamento conhecido como "fall-through"). O default é executado se nenhum dos casos corresponder.
<?php
$diaDaSemana = 3; // 1 = Segunda, 2 = Terça, etc.
switch ($diaDaSemana) {
case 1:
echo "Hoje é Segunda-feira! Começo da semana. ☕";
break;
case 2:
echo "Hoje é Terça-feira! Dia de codificar. 💻";
break;
case 3:
echo "Hoje é Quarta-feira! Meio da semana. 🗓️";
break;
case 4:
echo "Hoje é Quinta-feira! Quase lá. 🥳";
break;
case 5:
echo "Hoje é Sexta-feira! Fim de semana à vista! 🍻";
break;
case 6:
case 7: // Múltiplos casos para o mesmo bloco
echo "É fim de semana! Descanse. 🏖️";
break;
default:
echo "Número de dia inválido. ❓";
}
?>Observe que para os casos 6 e 7, ambos executam o mesmo bloco de código, pois o break só aparece após o case 7.
2.5. Operador Ternário (Opcional)
Para condições simples que resultam em uma de duas expressões, o operador ternário (? :) é uma forma concisa de escrever um if...else.
<?php
$idade = 20;
$status = ($idade >= 18) ? "Maior de idade" : "Menor de idade";
echo "Status: " . $status . " ✅";
// Equivalente a:
// if ($idade >= 18) {
// $status = "Maior de idade";
// } else {
// $status = "Menor de idade";
// }
?>3. Exercícios Práticos: Mãos à Obra! 🧑💻
Agora é a sua vez de aplicar o que aprendemos. Para cada exercício, crie um novo arquivo PHP (.php) e implemente a lógica pedida.
Exercício 1: Verificador de Números
Crie um programa PHP que receba um número (pode ser hardcoded ou de uma variável) e determine se ele é positivo, negativo ou zero.
- Declare uma variável
$numeroe atribua um valor inteiro a ela (ex:10,-5,0). - Use uma estrutura
if...else if...elsepara verificar a condição. - Imprima uma mensagem apropriada para cada caso (ex: "O número é positivo.", "O número é negativo.", "O número é zero.").
Exercício 2: Calculadora de Desconto Simples
Desenvolva um script PHP que calcule o preço final de um produto aplicando um desconto com base no valor total da compra.
- Declare uma variável
$valorComprae atribua um valor (ex:120). - Implemente a seguinte lógica de desconto:
- Se
$valorComprafor maior ou igual a200, aplique15%de desconto. - Se
$valorComprafor maior ou igual a100(e menor que 200), aplique10%de desconto. - Caso contrário (menor que 100), não aplique desconto.
- Se
- Calcule o
$precoFinale imprima o valor original, o percentual de desconto aplicado e o preço final.
Exercício 3: Menu de Opções com switch
Crie um programa que simule um menu de opções de um aplicativo simples.
- Declare uma variável
$opcaoe atribua um número de1a4(ex:2). - Use uma estrutura
switchpara tratar as seguintes opções:case 1: Imprima "Você escolheu 'Ver Perfil'."case 2: Imprima "Você escolheu 'Configurações'."case 3: Imprima "Você escolheu 'Notificações'."case 4: Imprima "Você escolheu 'Sair'."default: Imprima "Opção inválida. Por favor, escolha entre 1 e 4."
- Certifique-se de usar
breakcorretamente em cadacase.
Exercício 4: Verificador de Ano Bissexto (Desafio!)
Um ano é bissexto se ele for divisível por 4, exceto se for divisível por 100, a menos que também seja divisível por 400.
- Declare uma variável
$anoe atribua um valor (ex:2024,1900,2000,2023). - Use condicionais (
if,else if,else) para determinar se o ano é bissexto. - Imprima uma mensagem indicando se o ano é bissexto ou não.
Dica: O operador de módulo (%) é útil para verificar divisibilidade.
4. Resumo e Próximos Passos
Parabéns por completar esta aula prática! 🎉 Você agora tem uma compreensão sólida e experiência prática com as estruturas condicionais em PHP:
if: Para uma única condição.if...else: Para duas opções.if...else if...else: Para múltiplas opções em sequência.switch: Para múltiplos valores de uma única expressão.- Operador Ternário: Para
if...elseconcisos.
A capacidade de controlar o fluxo do seu programa com base em condições é uma das habilidades mais fundamentais e poderosas na programação. Continue praticando e experimentando com diferentes cenários.
No próximo módulo, vamos explorar as estruturas de repetição (loops) e como elas nos permitem automatizar tarefas repetitivas, além de mergulhar nos Arrays, que são essenciais para organizar e manipular coleções de dados.
Até a próxima aula! Bons estudos! 📚✨