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):
  • quilometragem inicial (vou chamar de \text{km\_inicial});
  • quilometragem final (vou chamar de \text{km\_final});
  • litros consumidos no percurso (vou chamar de \text{litros\_consumidos});
  • capacidade do tanque de combustível (vou chamar de \text{capacidade\_tanque}).
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 \text{km/l} (quilômetros por litro);
    • a autonomia, isto é, a distância que pode ser percorrida com a capacidade do tanque dada (em km).

Passo 2

Vamos definir claramente as variáveis e as unidades (isso evita confusão na prova):
  • \text{km\_inicial} e \text{km\_final} estão em quilômetros ( \text{km}).
  • \text{litros\_consumidos} e \text{capacidade\_tanque} estão em litros ( \text{L}).
Também vamos definir uma variável auxiliar importante:
  • \text{distancia} = distância percorrida no percurso, em quilômetros. Essa é a diferença entre quilometragem final e inicial:
\text{distancia} = \text{km\_final} - \text{km\_inicial}.
Na prova, sempre verifique primeiro se \text{km\_final} \ge \text{km\_inicial}. 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:
\text{consumo} = \frac{\text{distancia}}{\text{litros\_consumidos}}.
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 \text{litros\_consumidos} > 0. Se \text{litros\_consumidos} = 0 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:
\text{autonomia} = \text{consumo} \times \text{capacidade\_tanque}.
Unidades: \text{consumo} está em \text{km/L} e \text{capacidade\_tanque} em \text{L}, então \text{autonomia} fica em \text{km} (porque \text{km/L} \times \text{L} = \text{km}). Se não for possível calcular \text{consumo} (por exemplo \text{litros\_consumidos}=0), 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 \text{km\_final} \ge \text{km\_inicial}. Se falso, mostrar mensagem de erro sobre quilometragem inválida.
  • Verificar se \text{litros\_consumidos} > 0. Se não, não podemos calcular \text{consumo}.
  • Verificar se \text{capacidade\_tanque} \ge 0. 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):
  1. Ler \text{km\_inicial}.
  2. Ler \text{km\_final}.
  3. Ler \text{litros\_consumidos}.
  4. Ler \text{capacidade\_tanque}.
  5. Se \text{km\_final} < \text{km\_inicial} então erro de quilometragem; terminar.
  6. Calcular \text{distancia} = \text{km\_final} - \text{km\_inicial}.
  7. Se \text{litros\_consumidos} \le 0 então não é possível calcular consumo; marcar como inválido e pular autonomia.
  8. Caso contrário, calcular \text{consumo} = \dfrac{\text{distancia}}{\text{litros\_consumidos}}.
  9. Se \text{capacidade\_tanque} \ge 0 e \text{consumo} válido então calcular \text{autonomia} = \text{consumo} \times \text{capacidade\_tanque}.
  10. 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 \text{distancia} calculada (auxiliar para conferência).
  • Mostrar \text{consumo} com, por exemplo, duas casas decimais: \text{consumo} = 12{,}34\\ \text{km/L}.
  • Mostrar \text{autonomia} com duas casas decimais: \text{autonomia} = 456{,}78\\ \text{km}.
  • 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()

Exercícios relacionados