1) Verificador de Par ou Ímpar operador %
Nível: Iniciante
Condição simples
Contexto: Em diversos sistemas, é útil classificar números rapidamente (ex.: distribuição de IDs em grupos pares/ímpares).
Objetivo: Ler um número inteiro e informar se ele é par ou ímpar.
- Entrada: um inteiro.
- Saída: “par” ou “ímpar”.
- Critérios: uso correto de
% e if/else.
Dica: números pares têm resto 0 na divisão por 2.
Esqueleto sugerido
n = int(input("Digite um número inteiro: "))
if n % 2 == 0:
print("par")
else:
print("ímpar")
2) Maior de Dois Números comparadores
Nível: Iniciante
Operadores: >, ==
Contexto: Selecionar o maior orçamento ou a maior nota é uma tarefa comum.
Objetivo: Ler dois números e exibir o maior (ou “iguais”).
- Critérios: cobrir os três casos: A>B, B>A e A==B.
Esqueleto sugerido
a = float(input("A: "))
b = float(input("B: "))
if a > b:
print("Maior:", a)
elif b > a:
print("Maior:", b)
else:
print("Iguais")
3) Média: Aprovado, Recuperação ou Reprovado faixas
Nível: Iniciante
Operadores: >=, <
Contexto: Simule a regra de aprovação de uma disciplina.
Objetivo: Ler duas notas, calcular a média e classificar:
- Média ≥ 7 → Aprovado
- 5 ≤ Média < 7 → Recuperação
- Média < 5 → Reprovado
Esqueleto sugerido
n1 = float(input("Nota 1: "))
n2 = float(input("Nota 2: "))
media = (n1 + n2) / 2
if media >= 7:
print("Aprovado")
elif media >= 5:
print("Recuperação")
else:
print("Reprovado")
4) Verificação de Maioridade limiar 18
Nível: Iniciante
Operadores: >=
Contexto: Controle de acesso a conteúdos ou serviços.
Objetivo: Ler a idade e informar “menor de idade” ou “maior de idade”.
Esqueleto sugerido
idade = int(input("Idade: "))
if idade >= 18:
print("Maior de idade")
else:
print("Menor de idade")
5) Calculadora Simples +, -, *, /
Nível: Intermediário
Seleção por operador
Contexto: Implementar uma operação com base em um símbolo informado pelo usuário.
Objetivo: Ler dois números e um operador (+ - * /) e calcular o resultado.
- Extra: tratar divisão por zero.
Esqueleto sugerido
a = float(input("A: "))
b = float(input("B: "))
op = input("Operador (+ - * /): ")
if op == "+":
print(a + b)
elif op == "-":
print(a - b)
elif op == "*":
print(a * b)
elif op == "/":
if b != 0:
print(a / b)
else:
print("Erro: divisão por zero")
else:
print("Operador inválido")
6) Desconto em Compra regra de negócio
Nível: Iniciante
Operadores: >=
Contexto: Política de descontos em e-commerce.
Objetivo: Se a compra for ≥ R$100, aplicar 10% de desconto; caso contrário, exibir o valor cheio.
Esqueleto sugerido
valor = float(input("Valor da compra (R$): "))
if valor >= 100:
total = valor * 0.9
else:
total = valor
print(f"Total a pagar: R$ {total:.2f}")
7) Ano Bissexto múltiplos
Nível: Intermediário
Operadores: %, and, or
Contexto: Calendários e regras de recorrência.
Objetivo: Determinar se um ano é bissexto usando a regra:
divisível por 4 e não por 100, a menos que seja divisível por 400.
Esqueleto sugerido
ano = int(input("Ano: "))
if (ano % 400 == 0) or (ano % 4 == 0 and ano % 100 != 0):
print("Bissexto")
else:
print("Não bissexto")
8) Senha Secreta igualdade
Nível: Iniciante
Operadores: ==
Contexto: Autenticação básica (educacional).
Objetivo: Comparar a entrada do usuário com senha = "python123" e exibir “Acesso permitido” ou “Acesso negado”.
Esqueleto sugerido
senha_cadastrada = "python123"
entrada = input("Senha: ")
if entrada == senha_cadastrada:
print("Acesso permitido")
else:
print("Acesso negado")
9) Maior de Três Números comparadores
Nível: Intermediário
Encadeamento
Contexto: Seleção do maior valor entre três candidatos sem usar funções prontas.
Objetivo: Ler três números e exibir o maior.
Esqueleto sugerido
a = float(input("A: "))
b = float(input("B: "))
c = float(input("C: "))
maior = a
if b > maior:
maior = b
if c > maior:
maior = c
print("Maior:", maior)
10) Classificador de Temperatura faixas
Nível: Iniciante
elif
Contexto: Sistemas de monitoramento ambiental e conforto térmico.
Objetivo: Classificar a temperatura (°C):
- < 0 → “Congelante”
- 0 a 20 → “Frio”
- 21 a 30 → “Agradável”
- > 30 → “Quente”
Esqueleto sugerido
t = float(input("Temperatura (°C): "))
if t < 0:
print("Congelante")
elif t <= 20:
print("Frio")
elif t <= 30:
print("Agradável")
else:
print("Quente")
11) Validação e Classificação de Triângulos regras compostas
Nível: Intermediário+
Operadores: >, <, and
Contexto: Em geometria computacional é comum verificar se três segmentos podem formar um triângulo e qual é o seu tipo.
Objetivo: Ler três comprimentos (a, b, c). Primeiro, validar a existência do triângulo (cada lado < soma dos outros dois). Se válido, classificar como equilátero, isósceles ou escaleno.
- Entrada: três números positivos.
- Saída: “não forma triângulo” ou o tipo correspondente.
- Critérios: encadeamento correto de condições e validação antes da classificação.
Dica: valide primeiro; só depois classifique.
12) Classificação de IMC com Alertas faixas e validação
Nível: Intermediário+
Operadores: <, <=, >=, elif
Contexto: Sistemas simples de triagem exibem faixas de IMC para orientar encaminhamentos.
Objetivo: Ler peso (kg) e altura (m), calcular o IMC (= peso/altura²) e classificar:
< 18.5 “Abaixo do peso”; 18.5–24.9 “Normal”; 25–29.9 “Sobrepeso”; ≥ 30 “Obesidade”.
Caso a altura ≤ 0 ou peso ≤ 0, exibir “dados inválidos”.
- Entrada: dois números reais (peso, altura).
- Saída: Faixa do IMC e o valor arredondado a 1 casa.
- Critérios: tratamento de entradas inválidas e faixas corretas.
Dica: ordene as condições para evitar sobreposição de faixas.
13) Conta de Energia com Faixas Progressivas regras por faixa
Nível: Intermediário/Avançado
Operadores: +, -, *, and, elif
Contexto: Tarifas residenciais costumam ter preços por faixa de consumo.
Objetivo: Ler o consumo em kWh e calcular o valor a pagar segundo esta política (exemplo didático):
até 100 kWh → R$ 0,50/kWh; 101–200 kWh → R$ 0,75/kWh apenas para a parte que exceder 100;
> 200 kWh → R$ 1,20/kWh apenas para a parte acima de 200. Exibir também a alíquota efetiva (valor/consumo).
- Entrada: inteiro ou real de consumo.
- Saída: valor total e alíquota efetiva.
- Critérios: cálculo por partes com condicionais encadeadas.
Dica: some os trechos por faixa ao invés de usar um único preço.
14) Avaliador de Força de Senha lógica composta
Nível: Avançado (sem regex)
Operadores: and, or, not, in
Contexto: Políticas de segurança exigem múltiplos critérios.
Objetivo: Ler uma senha e classificá-la como “Fraca”, “Média” ou “Forte” com base em critérios como: tamanho (mín. 8), conter dígitos, letras maiúsculas, letras minúsculas e pelo menos um símbolo (!@#$%&*?).
Use apenas operações básicas (sem regex). Se faltar mais de dois critérios, considerar “Fraca”.
- Entrada: string.
- Saída: categoria e quais critérios faltaram.
- Critérios: combinação de condições lógicas e contagem de faltas.
Dica: crie variáveis booleanas para cada critério e combine-as com and/or.
15) Elegibilidade a Bolsa Acadêmica and / or / not
Nível: Avançado
Operadores: and, or, not, >=, <
Contexto: Critérios de concessão de bolsas combinam desempenho e condições socioeconômicas.
Objetivo: Ler média final (0–10), frequência (%), renda per capita (R$) e se possui atividade de extensão (S/N).
Conceder bolsa se: (média ≥ 7 and frequência ≥ 75) and (renda <= 1.5 salário mínimo, use R$ 1.980 como referência)
or (média ≥ 9 and participação em extensão). Exibir “Concedida” ou “Negada” e o motivo.
- Entrada: números (média, frequência, renda) e um caractere para extensão.
- Saída: decisão e justificativa.
- Critérios: uso claro de
and, or, not (se desejar negar um caso), e precedência/agrupamento com parênteses.
Dica: explicite os parênteses nas expressões para evitar ambiguidades.
© 2025 – Lista preparada para fins educacionais.