5ª. Questão: Sabendo que a massa atômica do carbono é 12, a do hidrogênio é 1 e a do oxigênio é 16, crie um programa que leia a quantidade de átomos de carbono, hidrogênio e oxigênio presentes em uma molécula e calcule a massa molecular correspondente. Ao final, o programa deve exibir o valor calculado.
Exemplo de uso: caso o usuário queira calcular a massa molecular da água, deve informar 0 para carbono, 2 para hidrogênio e 1 para oxigênio. Nesse caso, o programa deve exibir o valor 18.
Exemplo de uso: caso o usuário queira calcular a massa molecular da água, deve informar 0 para carbono, 2 para hidrogênio e 1 para oxigênio. Nesse caso, o programa deve exibir o valor 18.
Passo 1
O enunciado pede que seja criado um programa que leia a quantidade de átomos de carbono, hidrogênio e oxigênio presentes numa molécula e calcule a massa molecular correspondente. Dados fornecidos (constantes que o enunciado dá):
- massa atômica do carbono:
, - massa atômica do hidrogênio:
, - massa atômica do oxigênio:
.
O que o programa deve fazer (pedidos do enunciado):
- ler do usuário a quantidade de átomos de carbono, hidrogênio e oxigênio na molécula (esses valores são números inteiros não-negativos);
- calcular a massa molecular usando as massas atômicas acima;
- exibir o valor calculado.
Exemplo que o enunciado dá para checar: para água, o usuário informa
,
,
. O programa deve exibir
.
Passo 2
Vamos entender a fórmula que devemos usar. A massa molecular é a soma das massas de todos os átomos que compõem a molécula. Se definirmos:
-
= número de átomos de carbono na molécula; -
= número de átomos de hidrogênio na molécula; -
= número de átomos de oxigênio na molécula;
e as massas atômicas dadas forem
,
,
, então a massa molecular
é dada por:
Substituindo as massas atômicas numéricas:
Explicando cada termo:
-
é a contribuição total do carbono (cada átomo de carbono pesa , multiplicar pelo número de átomos dá a massa total do carbono na molécula); -
é a contribuição do hidrogênio; -
é a contribuição do oxigênio.
Passo 3
Como o enunciado pede um programa, pensemos em pequenos passos (algoritmo) que o programa deve executar:
- Pedir ao usuário o valor de
. - Pedir ao usuário o valor de
. - Pedir ao usuário o valor de
. - Converter essas entradas (texto) em números inteiros.
- Verificar, opcionalmente, que os inteiros são não-negativos (boa prática).
- Calcular
usando a fórmula . - Exibir o valor de
.
Observações importantes para a prova e para implementar sem erro:
- Ao ler do usuário, normalmente recebe-se uma string; é preciso convertê-la para inteiro (por exemplo, função equivalente a
int()em muitas linguagens). - Se a conversão falhar (usuário digitou algo não-numérico), o programa deve avisar e pedir novamente ou encerrar com mensagem de erro. Para a prova, mencionar que é preciso tratar entrada errada já conta pontos de atenção.
- Se preferir, pode-se assumir que a entrada será correta (inteiros não-negativos), mas é bom mostrar como validar.
Passo 4
Vamos mostrar um pseudocódigo bem mastigado (passo a passo) que dá para implementar direto na prova ou transformar em código em qualquer linguagem:
- Mostrar mensagem: “Informe o número de átomos de carbono:”
- Ler entrada e converter para inteiro ->
- Mostrar mensagem: “Informe o número de átomos de hidrogênio:”
- Ler entrada e converter para inteiro ->
- Mostrar mensagem: “Informe o número de átomos de oxigênio:”
- Ler entrada e converter para inteiro ->
- Calcular
- Mostrar: "Massa molecular = " seguido do valor de
Exemplo manual (para garantir que entendeu): usando os valores do exemplo (água)
-
, , . - Calcular:
- Resultado esperado:
.
Passo 5
Vamos transformar o pseudocódigo em um programa real em Python — linguagem acessível, bastante usada em provas práticas e fácil de entender. O código abaixo faz validação simples das entradas (garante inteiros não-negativos) e exibe a massa molecular calculada.
Explicação do código, linha a linha (para você entender e poder reproduzir na prova):
- As funções
input(...)exibem uma mensagem e leem o que o usuário digita (string). - A conversão
int(...)transforma a string em inteiro; se a string não for um inteiro válido, gera um erro (por isso usamostry/exceptpara capturar e tratar). - Depois de obter
n_C,n_Hen_Oválidos, calculamosM = 12n_C + 1n_H + 16*n_O. - Por fim, usamos
print(...)para mostrar o resultado ao usuário.
Código (exemplo pronto que pode colar e executar em Python):
def ler_inteiro_nao_negativo(prompt):
while True:
try:
valor = int(input(prompt))
if valor < 0:
print("Por favor, informe um número inteiro não-negativo.")
continue
return valor
except ValueError:
print("Entrada inválida. Digite um número inteiro.")
# Ler quantidades de átomos
n_C = ler_inteiro_nao_negativo("Informe o número de átomos de carbono: ")
n_H = ler_inteiro_nao_negativo("Informe o número de átomos de hidrogênio: ")
n_O = ler_inteiro_nao_negativo("Informe o número de átomos de oxigênio: ")
# Massas atômicas dadas pelo enunciado
m_C = 12
m_H = 1
m_O = 16
# Cálculo da massa molecular
M = m_C * n_C + m_H * n_H + m_O * n_O
# Exibir resultado
print("Massa molecular =", M)
Passo 6
Testando o programa (como verificar rapidamente):
- Entrada:
, , . - O programa calculará:
- A saída será: “Massa molecular = 18”.
Dicas finais e variações que podem cair na prova:
- Se o enunciado usar massas atômicas com casas decimais reais (por exemplo, massas isotópicas), basta trocar
m_C,m_H,m_Opara floats e manter a mesma fórmula; em Python, usarfloat(...)em vez deint(...)ao converter entradas se as quantidades puderem ser fracionárias (mas geralmente número de átomos é inteiro). - Em provas teóricas, escreva a fórmula
e substitua os números do caso teste para mostrar o cálculo passo a passo (como fiz no exemplo da água). - Respira fundo: a ideia é simples — ler três números, multiplicar por constantes e somar — e você já tem o passo a passo para escrever qualquer linguagem.
Resposta
def ler_inteiro_nao_negativo(prompt):
while True:
try:
valor = int(input(prompt))
if valor < 0:
print("Por favor, informe um número inteiro não-negativo.")
continue
return valor
except ValueError:
print("Entrada inválida. Digite um número inteiro.")
# Ler quantidades de átomos
n_C = ler_inteiro_nao_negativo("Informe o número de átomos de carbono: ")
n_H = ler_inteiro_nao_negativo("Informe o número de átomos de hidrogênio: ")
n_O = ler_inteiro_nao_negativo("Informe o número de átomos de oxigênio: ")
# Massas atômicas dadas pelo enunciado
m_C = 12
m_H = 1
m_O = 16
# Cálculo da massa molecular
M = m_C * n_C + m_H * n_H + m_O * n_O
# Exibir resultado
print("Massa molecular =", M)