Uma empresa, que presta serviço à companhia de energia elétrica do estado, necessita de um programa que auxilie os seus eletricistas no cálculo das principais grandezas da Eletricidade que são Tensão, Resistência e Corrente. Sabe-se que U=Ri, onde, U é a Tensão (em V), R é a Resistência (em ’ \Omega ) e i a Corrente (em A). Você foi contratado(a) pela empresa para atender a essa solicitação. Construa um programa que apresente o seguinte menu:

**************************************************
\section*{CÁLCULO DE GRANDEZAS ELÉTRICAS}
\section*{**************************************************}

  1. Tensão (em Volt)
  2. Resistência (em Ohm)
  3. Corrente (em Ampére)

Qual grandeza deseja calcular ?

Em seguida, o programa deve solicitar que o eletricista informe o valor das outras duas grandezas para realizar o cálculo. Quando o eletricista escolher:
Resistência, o programa deve solicitar que ele informe os valores da Tensão e da Corrente

Passo 1

O enunciado pede que a gente construa um programa interativo que apresente um menu com três opções (Tensão, Resistência, Corrente) e, a partir da escolha do eletricista, solicite os valores das outras duas grandezas para calcular a terceira usando a relação fornecida. Informações relevantes que o enunciado deu:
  • A relação física é U = R\,i.
  • U é a Tensão (em V).
  • R é a Resistência (em \Omega).
  • i é a Corrente (em A).
  • Quando o eletricista escolher, por exemplo, Resistência, o programa deve pedir Tensão e Corrente e então calcular a Resistência. O mesmo vale para as demais escolhas.

Passo 2

Vamos entender a fórmula e o que cada símbolo significa (mini-aula rápida e prática).
  • A fórmula dada é U = R\,i.
    • U é a diferença de potencial elétrico entre dois pontos, medida em volts (V).
    • R é a oposição ao fluxo de corrente, medida em ohms ( \Omega).
    • i é a intensidade de corrente que passa pelo circuito, medida em ampères (A).
  • A interpretação prática: se você aplica uma tensão U em um resistor R, passa por ele uma corrente i. A relação é direta para circuitos resistivos lineares.

Passo 3

Como isolar cada variável (aqui faço álgebra passo a passo para você poder repetir na prova):
  • Para calcular U quando conhecemos R e i: a fórmula já nos dá U. Então
U = R\,i.
  • Para calcular R quando conhecemos U e i: dividimos ambos os lados por i (desde que i \neq 0):
R = \frac{U}{i}.
Explicação da operação: dividimos por i para “desfazer” a multiplicação por i. Lembre-se sempre de verificar se i é zero, porque divisão por zero não existe.
  • Para calcular i quando conhecemos U e R: dividimos ambos os lados por R (desde que R \neq 0):
i = \frac{U}{R}.
Mesma ideia: só pode fazer se R \neq 0.

Passo 4

Escolha do método de implementação (por que esse método?)
  • Vamos usar um programa de console interativo (ex.: Python) porque é simples, direto e suficiente para eletricistas que vão rodar no computador ou tablet.
  • O programa terá essas etapas lógicas:
    1. Mostrar menu com as 3 opções.
    2. Ler a opção do usuário.
    3. Pedir os dois valores conhecidos (com validação).
    4. Calcular a grandeza pedida usando as fórmulas do Passo 3.
    5. Mostrar o resultado com unidade e formato legível.
  • Optei por python por ser claro e direto — se preferir outra linguagem dá pra adaptar facilmente.

Passo 5

Validação de entradas (a parte que costuma pegar gente na prova):
  • Sempre tente converter a entrada para número (usaremos ponto ou vírgula conforme sua preferência, mas no programa vamos aceitar o padrão do Python que usa ponto decimal).
  • Se a conversão falhar, peça de novo — isto evita erros na hora da execução.
  • Verifique divisores antes da divisão:
    • Para calcular R=\dfrac{U}{i}, certifique-se que i \neq 0. Se i=0, informe que a resistência é indefinida/infinita no contexto (ou que não é possível calcular).
    • Para calcular i=\dfrac{U}{R}, certifique-se que R \neq 0.
  • Permitir números negativos: tensão ou corrente podem ser negativas dependendo do referencial; resistência negativa normalmente não faz sentido em resistor passivo, mas o programa pode aceitar numericamente (ou você pode validar para R\ge 0 se preferir).

Passo 6

Detalhamento do fluxo de telas e mensagens (o que o eletricista verá e o que deve digitar)
  • Mostrar:
    CÁLCULO DE GRANDEZAS ELÉTRICAS
    1. Tensão (em Volt)
    2. Resistência (em Ohm)
    3. Corrente (em Ampére)
      Qual grandeza deseja calcular?
  • Se escolher 1 (Tensão): pedir R (em \Omega) e i (em A) e calcular U = R\,i.
  • Se escolher 2 (Resistência): pedir U (em V) e i (em A) e calcular R = \dfrac{U}{i} (verificar i\neq 0).
  • Se escolher 3 (Corrente): pedir U (em V) e R (em \Omega) e calcular i = \dfrac{U}{R} (verificar R\neq 0).
  • Mostrar resultado com 3 casas decimais (ou ajuste que preferir) e unidade apropriada.

Passo 7

Exemplos numéricos passo a passo (pra você ver a conta “mastigada” e poder repetir)
  • Exemplo 1: calcular U sabendo R=10\\ \Omega e i=0,5\\ \mathrm{A}. U = R\,i = 10 \cdot 0{,}5 = 5\\ \mathrm{V}.Passo a passo: multiplicar 10 por 0,5 = 5.
  • Exemplo 2: calcular R sabendo U=12\\ \mathrm{V} e i=2\\ \mathrm{A}. R = \frac{U}{i} = \frac{12}{2} = 6\\ \Omega.Passo a passo: dividir 12 por 2 = 6.
  • Exemplo 3: calcular i sabendo U=230\\ \mathrm{V} e R=115\\ \Omega. i = \frac{U}{R} = \frac{230}{115} = 2\\ \mathrm{A}.Passo a passo: dividir 230 por 115 = 2.

Passo 8

Casos especiais e mensagens ao usuário
  • Se o eletricista informar corrente i=0 e você tentar calcular R, informe gentilmente que não é possível dividir por zero e que, fisicamente, se i=0 a resistência poderia ser muito alta ou o circuito aberto — peça para verificar medições.
  • Se o eletricista digitar texto em vez de número, peça para digitar novamente.
  • Dica prática: exiba as unidades junto aos prompts para evitar confusão (ex.: “Informe a corrente em A:”).

Passo 9

Boas práticas de implementação e testes rápidos
  • Teste o programa com os exemplos do Passo 7.
  • Garanta mensagens claras de erro (por exemplo: “Entrada inválida — digite um número”).
  • Mostre o resultado com unidade e arredondamento (ex.: 3 casas decimais).
  • Comentários no código ajudam na manutenção e também te dão argumentos na prova para explicar a lógica.

Passo 10

Aqui está um programa simples em Python que implementa tudo o que explicamos. Você pode copiar e executar num interpretador Python (versão 3.x). Ele trata validação de entrada e casos de divisão por zero.

Resposta

def ler_float(prompt):
    while True:
        s = input(prompt).strip()
        try:
            # substitui vírgula por ponto para conveniência
            s = s.replace(',', '.')
            return float(s)
        except ValueError:
            print("Entrada inválida. Digite um número (ex.: 12.5).")

def calcular_tensao(R, i):
    return R * i

def calcular_resistencia(U, i):
    if i == 0:
        return None
    return U / i

def calcular_corrente(U, R):
    if R == 0:
        return None
    return U / R

def main():
    print("**************************************************")
    print("CÁLCULO DE GRANDEZAS ELÉTRICAS")
    print("**************************************************")
    print("1. Tensão (em Volt)")
    print("2. Resistência (em Ohm)")
    print("3. Corrente (em Ampére)")
    escolha = input("Qual grandeza deseja calcular? (1/2/3): ").strip()

    if escolha == "1":
        R = ler_float("Informe a resistência R (em Ω): ")
        i = ler_float("Informe a corrente i (em A): ")
        U = calcular_tensao(R, i)
        print(f"Resultado: U = {U:.3f} V")
    elif escolha == "2":
        U = ler_float("Informe a tensão U (em V): ")
        i = ler_float("Informe a corrente i (em A): ")
        R = calcular_resistencia(U, i)
        if R is None:
            print("Não é possível calcular R: corrente i = 0 (divisão por zero). Verifique a medição.")
        else:
            print(f"Resultado: R = {R:.3f} Ω")
    elif escolha == "3":
        U = ler_float("Informe a tensão U (em V): ")
        R = ler_float("Informe a resistência R (em Ω): ")
        i = calcular_corrente(U, R)
        if i is None:
            print("Não é possível calcular i: resistência R = 0 (divisão por zero). Verifique a medição.")
        else:
            print(f"Resultado: i = {i:.3f} A")
    else:
        print("Opção inválida. Execute o programa novamente e escolha 1, 2 ou 3.")

if __name__ == "__main__":
    main()

Exercícios relacionados