Faça um programa que receba dois números e execute as operações listadas a seguir, de acordo com a escolha do usuário.
Escolha do Usuário
Operação
1
Média entre os números digitados
2
Diferença do maior pelo menor
3
Produto entre os números digitados
4
Divisão do primeiro pelo segundo
| Escolha do Usuário | Operação |
| 1 | Média entre os números digitados |
| 2 | Diferença do maior pelo menor |
| 3 | Produto entre os números digitados |
| 4 | Divisão do primeiro pelo segundo |
Passo 1
O enunciado pede que a gente escreva um programa que:
- Receba dois números (digamos
e ). - Receba a escolha do usuário (um valor entre 1 e 4).
- Execute uma das operações abaixo conforme a escolha:
- Escolha
: média entre os números digitados. - Escolha
: diferença do maior pelo menor. - Escolha
: produto entre os números digitados. - Escolha
: divisão do primeiro pelo segundo.
- Escolha
Informações relevantes dadas pelo enunciado:
- Precisamos de dois números fornecidos pelo usuário.
- Precisamos de uma escolha (inteiro entre 1 e 4) fornecida pelo usuário.
- Para a opção 4 (divisão), existe a possibilidade prática de divisão por zero — devemos tratar esse caso.
- O programa deve mostrar o resultado da operação escolhida (ou uma mensagem apropriada se a escolha for inválida ou ocorrer erro).
Passo 2
Vamos definir claramente as variáveis e as fórmulas que o programa deve usar. Chamei os números de
e
, e a escolha do usuário de
.
- Média entre os números: a fórmula é
Explanação: somamos
e
e dividimos por
. É isso que se entende por média aritmética de dois valores.
- Diferença do maior pelo menor: escrevemos como
Explanação: primeiro identificamos qual é o maior entre
e
(função
) e qual é o menor (função
), e subtraímos o menor do maior. Assim a diferença nunca fica negativa.
- Produto entre os números:
Explanação: multiplicamos
por
.
- Divisão do primeiro pelo segundo:
Explanação: dividimos
por
. Lembrete importante: isso só é válido se
. Se
, devemos evitar a operação e avisar o usuário (ou tratar como erro).
Passo 3
Tipo de dados e por que usar ponto flutuante (float):
- Se o usuário digitar números inteiros, algumas operações (como média e divisão) podem produzir resultado não inteiro. Para não perder precisão, é melhor ler e trabalhar com números em ponto flutuante.
- Portanto, ao receber as entradas do usuário, convertemos para
. Assim e serão números que aceitam partes decimais. - A variável
(escolha) pode ser tratada como inteiro ou string para comparar valores; como queremos checar 4 opções, usamos uma comparação simples (por exemplo, if/elif).
Passo 4
Fluxo do programa (pseudocódigo explicado passo a passo):
- Ler entrada do usuário para
(converter para float). Se a conversão falhar, mostrar mensagem de entrada inválida e terminar. - Ler entrada do usuário para
(converter para float). Se a conversão falhar, mostrar mensagem de entrada inválida e terminar. - Mostrar as opções (1 a 4) e ler a escolha
. - Fazer seleção baseada em
: - Se
: calcular e mostrar o resultado. - Se
: calcular e mostrar o resultado. - Se
: calcular e mostrar o resultado. - Se
: verificar se . Se mostrar mensagem de erro (“divisão por zero”); caso contrário calcular e mostrar o resultado. - Se
não for 1, 2, 3 nem 4: mostrar mensagem de opção inválida.
- Se
- Finalizar o programa.
Explicação do porquê desse fluxo:
- Ler e validar entradas evita exceções e comportamento inesperado.
- Verificar divisão por zero é obrigatório para evitar erro de execução.
- Usar uma estrutura condicional (if / elif / else) é a maneira mais direta de escolher entre as quatro operações.
Passo 5
Exemplos numéricos para fixar (faça comigo — ver números ajuda muito):
Suponha
e
.
- Para
(média):
- Para
(diferença maior-menor):
- Para
(produto):
- Para
(divisão do primeiro pelo segundo), como :
Agora um caso que mostra a proteção contra divisão por zero: se
e
e o usuário escolhe
, devemos mostrar algo como “Erro: divisão por zero.” em vez de tentar calcular
.
Passo 6
Dicas de implementação rápidas antes do código final:
- Use mensagens claras ao pedir entradas, por ex.: “Digite o primeiro número:”.
- Ao mostrar o resultado, escreva uma frase curta: “Resultado: X” para ficar legível na prova/uso.
- Trate entradas inválidas (ex.: texto onde se espera número) com uma mensagem e encerramento.
- Trate opção inválida quando
não estiver em .
Resposta
def main():
try:
a = float(input("Digite o primeiro número: "))
b = float(input("Digite o segundo número: "))
except ValueError:
print("Entrada inválida. Por favor, digite números.")
return
print("Escolha a operação:")
print("1 - Média entre os números")
print("2 - Diferença do maior pelo menor")
print("3 - Produto entre os números")
print("4 - Divisão do primeiro pelo segundo")
op = input("Digite sua escolha (1/2/3/4): ").strip()
if op == '1':
resultado = (a + b) / 2
print(f"Resultado (média): {resultado}")
elif op == '2':
resultado = max(a, b) - min(a, b)
print(f"Resultado (diferença maior-menor): {resultado}")
elif op == '3':
resultado = a * b
print(f"Resultado (produto): {resultado}")
elif op == '4':
if b == 0:
print("Erro: divisão por zero.")
else:
resultado = a / b
print(f"Resultado (divisão): {resultado}")
else:
print("Escolha inválida. Use 1, 2, 3 ou 4.")
if __name__ == "__main__":
main()