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

Passo 1

O enunciado pede que a gente escreva um programa que:
  • Receba dois números (digamos a e b).
  • Receba a escolha do usuário (um valor entre 1 e 4).
  • Execute uma das operações abaixo conforme a escolha:
    • Escolha 1: média entre os números digitados.
    • Escolha 2: diferença do maior pelo menor.
    • Escolha 3: produto entre os números digitados.
    • Escolha 4: divisão do primeiro pelo segundo.
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 a e b, e a escolha do usuário de op.
  • Média entre os números: a fórmula é
\text{média} = \frac{a + b}{2}.é
Explanação: somamos a e b e dividimos por 2. É isso que se entende por média aritmética de dois valores.
  • Diferença do maior pelo menor: escrevemos como
\text{diferença} = \max(a,b) - \min(a,b).ç
Explanação: primeiro identificamos qual é o maior entre a e b (função \max) e qual é o menor (função \min), e subtraímos o menor do maior. Assim a diferença nunca fica negativa.
  • Produto entre os números:
\text{produto} = a \cdot b.
Explanação: multiplicamos a por b.
  • Divisão do primeiro pelo segundo:
\text{divisão} = \frac{a}{b}.ã
Explanação: dividimos a por b. Lembrete importante: isso só é válido se b \neq 0. Se b = 0, 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 \text{float}. Assim a e b serão números que aceitam partes decimais.
  • A variável op (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):
  1. Ler entrada do usuário para a (converter para float). Se a conversão falhar, mostrar mensagem de entrada inválida e terminar.
  2. Ler entrada do usuário para b (converter para float). Se a conversão falhar, mostrar mensagem de entrada inválida e terminar.
  3. Mostrar as opções (1 a 4) e ler a escolha op.
  4. Fazer seleção baseada em op:
    • Se op = 1: calcular \frac{a+b}{2} e mostrar o resultado.
    • Se op = 2: calcular \max(a,b) - \min(a,b) e mostrar o resultado.
    • Se op = 3: calcular a \cdot b e mostrar o resultado.
    • Se op = 4: verificar se b = 0. Se b = 0 mostrar mensagem de erro (“divisão por zero”); caso contrário calcular \frac{a}{b} e mostrar o resultado.
    • Se op não for 1, 2, 3 nem 4: mostrar mensagem de opção inválida.
  5. 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 a = 10 e b = 4.
  • Para op = 1 (média):
\text{média} = \frac{10 + 4}{2} = \frac{14}{2} = 7.é
  • Para op = 2 (diferença maior-menor):
\max(10,4) - \min(10,4) = 10 - 4 = 6.
  • Para op = 3 (produto):
10 \cdot 4 = 40.
  • Para op = 4 (divisão do primeiro pelo segundo), como b = 4 \neq 0:
\frac{10}{4} = 2{,}5.
Agora um caso que mostra a proteção contra divisão por zero: se a = 5 e b = 0 e o usuário escolhe op = 4, devemos mostrar algo como “Erro: divisão por zero.” em vez de tentar calcular \frac{5}{0}.

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 op não estiver em \{1,2,3,4\}.

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()

Exercícios relacionados