⚡ Georg Simon Ohm foi um físico e matemático alemão, nascido em 1787. Ele é conhecido por sua lei sobre a relação entre corrente, tensão e resistência elétricas, conhecida como 1ª Lei de Ohm.
Esta lei é amplamente utilizada em eletrônica e engenharia elétrica e é uma base importante para a compreensão da eletricidade. Ohm passou a maior parte de sua vida ensinando e pesquisando, e sua contribuição tem sido valorizada por gerações de estudantes e profissionais da área elétrica.
📖 O enunciado da 1ª Lei de Ohm é o seguinte:
“A corrente elétrica que flui através de um condutor é diretamente proporcional à diferença de potencial (tensão) aplicada a ele e inversamente proporcional à sua resistência”.
A fórmula que representa a primeira lei de Ohm é:
V = I x R
Onde V é a tensão elétrica (em volts, V), I é a corrente elétrica (em ampères, A) e R é a resistência elétrica (em ohms, Ω).
A partir da equação V = IR, é possível derivar duas outras fórmulas importantes:
-
- I = V / R (corrente elétrica é igual a tensão dividida pela resistência)
- R = V / I (resistência elétrica é igual a tensão dividida pela corrente)
⚡ Resumindo:
⚡ Programando…
A partir de duas grandezas conhecidas é possível calcular a terceira grandeza desconhecida da 1ª Lei de Ohm.
🐍 Programa em Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# Importação do módulo math para usar funções matemáticas import math # Função para calcular uma grandeza elétrica desconhecida (V, I ou R) def calcular_grandeza(desconhecida): if desconhecida == 'V': # Se a grandeza desconhecida for tensão corrente = float(input("Corrente (A): ")) resistencia = float(input("Resistência (Ω): ")) return corrente * resistencia, "V" elif desconhecida == 'I': # Se a grandeza desconhecida for corrente tensao = float(input("Tensão (V): ")) resistencia = float(input("Resistência (Ω): ")) return tensao / resistencia, "A" elif desconhecida == 'R': # Se a grandeza desconhecida for resistência tensao = float(input("Tensão (V): ")) corrente = float(input("Corrente (A): ")) return tensao / corrente, "Ω" else: # Para entradas inválidas return math.nan, "" # Solicita a grandeza desconhecida ao usuário e converte para maiúsculas desconhecida = input("Grandeza desconhecida (V, I ou R): ").upper() # Chama a função para calcular a grandeza desconhecida resultado, unidade = calcular_grandeza(desconhecida) if math.isnan(resultado): # Se o resultado for inválido (NaN) print("{} é inválido!".format(desconhecida)) else: # Imprime o resultado formatado print("{} = {:.2f} {}".format(desconhecida, resultado, unidade)) |
⚡ Saída:
—
⚡ Explicando…
Este algoritmo feito em Python é uma implementação da Lei de Ohm, que relaciona as grandezas elétricas tensão (V), corrente (A) e resistência (Ω). O objetivo do programa é calcular uma das grandezas, caso as outras duas já sejam conhecidas. Para isso, inicialmente, a biblioteca math
(linha 1) é importada no código.
A função calcular_grandeza
(linha 3) recebe como argumento a letra que representa a grandeza elétrica desconhecida (desconhecida
), que pode ser tensão (V), corrente (I) ou resistência (R). Dentro da função, há três estruturas if
aninhadas, cada uma destinada a calcular uma das três grandezas elétricas:
-
- Se a letra for
'V'
, linha 4, a corrente (corrente
) e a resistência (resistencia
) são pedidas ao usuário via comandoinput
. Em seguida, a tensão é calculada como o produto da corrente pela resistência, como descrito pela Lei de Ohm. O resultado e a unidade de medida da tensão (V) são então retornados pela função. - Se a letra for
'I'
, linha 8, a tensão (tensao
) e a resistência (resistencia
) são pedidas ao usuário via comandoinput
. Em seguida, a corrente é calculada como o quociente entre a tensão e a resistência, como descrito pela Lei de Ohm. O resultado e a unidade de medida da corrente (A) são então retornados pela função. - Se a letra for
'R'
, linha 12, a tensão (tensao
) e a corrente (corrente
) são pedidas ao usuário via comandoinput
. Em seguida, a resistência é calculada como o quociente entre a tensão e a corrente, como descrito pela Lei de Ohm. O resultado e a unidade de medida de resistência (Ω) são então retornados pela função. - Se a grandeza desconhecida fornecida pelo usuário for diferente de ‘V’, ‘I’ ou ‘R’, a função
calcular_grandeza
retornaNaN
e uma string vazia, linha 17, indicando que a grandeza fornecida é inválida. Na seção subsequente do código, a verificação é feita usando a funçãomath.isnan
para verificar se o resultado éNaN
, e se for, a mensagem"{} é inválido!"
é exibida (linha 22).
- Se a letra for
Na linha 19 é solicitado para o usuário informar a grandeza desconhecida que ele deseja calcular, através da função input
. O resultado da função input
é convertido para maiúsculo com o método upper
para evitar problemas de comparação com o uso de letras maiúsculas ou minúsculas na entrada do usuário. O resultado da conversão é atribuído à variável desconhecida
.
Na linha 20, a função calcular_grandeza
é chamada e a variável desconhecida
é passada como parâmetro, que representa a grandeza desconhecida inserida pelo usuário. O resultado da função é atribuído a duas variáveis, resultado
e unidade
. O valor retornado pela função calcular_grandeza
é uma tupla (dois valorees), que representa o valor da grandeza calculada e sua unidade.
Por fim, uma estrutura de condição (linhas 21 a 24) na qual é verificado se o valor de resultado
é válido ou não. Isso é feito com a função math.isnan
, que verifica se o valor passado é NaN (Not a Number)
, ou seja, se não é um número válido.
-
- Se o resultado for inválido, imprimimos a mensagem
"{} é inválido!".format(desconhecida)
, ondedesconhecida
é a grandeza informada pelo usuário. - Se o resultado for válido, imprimimos a mensagem
"{} = {:.2f} {}".format(desconhecida, resultado, unidade)
, ondedesconhecida
é a grandeza informada pelo usuário,resultado
é o valor calculado da grandeza eunidade
é a unidade do resultado.
- Se o resultado for inválido, imprimimos a mensagem
A string formatada (linha 24) "{:.2f} {}".format(desconhecida, resultado, unidade)
contém um formato numérico com ponto flutuante, .2f
, que limita o número de casas decimais após o ponto para 2 casas. Isso significa que a variável resultado
será exibida com apenas 2 casas decimais. Por exemplo, se o valor de resultado
for 123.4567
, ele será exibido como 123.46
. E a variável unidade
é adicionada ao final da mensagem.
—
*Atualizado em 26 de julho de 2023