Considere que, para um automóvel que realizou determinado percurso, tenha-se quilometragem inicial, quilometragem final, litros consumidos e capacidade do tanque de combustível. Faça um programa que mostre um relatório contendo, além desses dados, qual o consumo do automóvel em km/litros e qual a sua autonomia (distância percorrida com o combustível existente).
Passo 1
O enunciado pede que façamos um programa que receba quatro dados de um automóvel e mostre um relatório com esses dados e mais dois cálculos: o consumo em km por litro e a autonomia (distância que o carro pode percorrer com o combustível disponível).
Dados que o enunciado fornece (cada item listado explicitamente):
Dados que o enunciado fornece (cada item listado explicitamente):
- quilometragem inicial (vou chamar de
); - quilometragem final (vou chamar de
); - litros consumidos no percurso (vou chamar de
); - capacidade do tanque de combustível (vou chamar de
).
Pergunta que o programa deve responder:
- Mostrar relatório com os quatro dados de entrada e, além deles, mostrar:
- o consumo do automóvel em
(quilômetros por litro); - a autonomia, isto é, a distância que pode ser percorrida com a capacidade do tanque dada (em km).
- o consumo do automóvel em
Passo 2
Vamos definir claramente as variáveis e as unidades (isso evita confusão na prova):
-
e estão em quilômetros ( ). -
e estão em litros ( ).
Também vamos definir uma variável auxiliar importante:
-
= distância percorrida no percurso, em quilômetros. Essa é a diferença entre quilometragem final e inicial:
Na prova, sempre verifique primeiro se
. Se não, os dados estão inconsistentes.
Passo 3
Fórmula do consumo (o que o professor quer): consumo em km por litro = distância percorrida dividido pelos litros consumidos. Em notação:
Expliquei porque: consumo é “quantos quilômetros foram feitos por cada litro”, então é razão quilômetro / litro. Atenção: só faz sentido calcular quando
. Se
o cálculo é inválido (divisão por zero).
Passo 4
Fórmula da autonomia: autonomia é a distância que se pode percorrer com o combustível do tanque (assumimos que o enunciado pede autonomia com a capacidade do tanque informada). Logo:
Unidades:
está em
e
em
, então
fica em
(porque
). Se não for possível calcular
(por exemplo
), então também não é possível calcular a autonomia dessa forma.
Passo 5
Tratamento de casos inválidos — é importante na prova citar/implementar validações simples para evitar resultados estranhos:
- Verificar se
. Se falso, mostrar mensagem de erro sobre quilometragem inválida. - Verificar se
. Se não, não podemos calcular . - Verificar se
. Se negativa, dados inválidos.
Numa prova sem computador, descreva essas checagens e o que retornar (por exemplo, “erro” ou “impossível calcular”).
Passo 6
Algoritmo passo a passo (pseudocódigo bem mastigado — útil na prova para explicar a lógica):
- Ler
. - Ler
. - Ler
. - Ler
. - Se
então erro de quilometragem; terminar. - Calcular
. - Se
então não é possível calcular consumo; marcar como inválido e pular autonomia. - Caso contrário, calcular
. - Se
e válido então calcular . - Mostrar relatório com todos os valores (formatar números com casas decimais apropriadas, por exemplo 2 casas para consumo e autonomia).
Passo 7
Dicas de apresentação (úteis na prova e para o programa):
- Mostrar as entradas exatamente como foram fornecidas.
- Mostrar
calculada (auxiliar para conferência). - Mostrar
com, por exemplo, duas casas decimais: . - Mostrar
com duas casas decimais: . - Se houver erro nos dados, explique claramente qual dado está inconsistente.
Passo 8
Implementação em Python (programa completo). Este programa lê os quatro valores do usuário, faz as validações, calcula e imprime o relatório formatado. Você pode usar esse código na prova se for permitido programar, ou adaptá-lo para pseudocódigo/fluxograma conforme pedirem.
Resposta
def relatorio_consumo():
try:
km_inicial = float(input("Quilometragem inicial (km): ").replace(",", "."))
km_final = float(input("Quilometragem final (km): ").replace(",", "."))
litros_consumidos = float(input("Litros consumidos (L): ").replace(",", "."))
capacidade_tanque = float(input("Capacidade do tanque (L): ").replace(",", "."))
except ValueError:
print("Entrada inválida: digite valores numéricos.")
return
if km_final < km_inicial:
print("Erro: quilometragem final menor que a inicial.")
return
if capacidade_tanque < 0:
print("Erro: capacidade do tanque negativa.")
return
distancia = km_final - km_inicial
print("\n--- RELATÓRIO ---")
print(f"Quilometragem inicial: {km_inicial:.2f} km")
print(f"Quilometragem final: {km_final:.2f} km")
print(f"Distância percorrida: {distancia:.2f} km")
print(f"Litros consumidos: {litros_consumidos:.2f} L")
print(f"Capacidade do tanque: {capacidade_tanque:.2f} L")
if litros_consumidos <= 0:
print("Consumo: impossível calcular (litros consumidos deve ser > 0).")
print("Autonomia: impossível calcular sem consumo válido.")
return
consumo = distancia / litros_consumidos
autonomia = consumo * capacidade_tanque
print(f"Consumo: {consumo:.2f} km/L")
print(f"Autonomia: {autonomia:.2f} km")
if __name__ == "__main__":
relatorio_consumo()