Durante um mapeamento geológico, um valor de distância é coletado em metros. Para representação em um relatório técnico, o valor precisa ser convertido para centímetros e ajustado por um fator de escala de 1.25.
Desenvolva um programa que realize essas duas operações.
Passo 1
O enunciado pede que eu desenvolva um programa que receba um valor de distância medido em metros e execute duas operações nessa ordem:
- converter o valor de metros para centímetros;
- ajustar o valor resultante por um fator de escala igual a
.
Informações dadas:
- o valor de distância de entrada está em
(unidade: ); - a unidade de saída desejada para o relatório é
(unidade: ); - fator de escala a aplicar é
.
O que o programa deve entregar (saídas):
- o valor convertido para centímetros;
- o valor ajustado (após aplicar o fator de escala) em centímetros.
Passo 2
Entendendo as operações matemáticas (aula rápida e prática):
- Conversão de metros para centímetros.
- Regra:
. - Se a entrada é
metros, o valor em centímetros é dado por
- Aplicar o fator de escala.
- Se o fator de escala é
, o valor ajustado em centímetros é
- Podemos combinar as duas operações numa única fórmula (útil para simplificar cálculo ou checar):
Ou seja, multiplicar diretamente por
dá o resultado final em centímetros já ajustado.
Passo 3
Algoritmo simples e seguro (passo a passo que o programa seguirá):
- Ler o valor de distância fornecido pelo usuário (texto).
- Converter esse texto para número de ponto flutuante (
). - Validar: garantir que o texto representa um número; opcionalmente avisar se o número é negativo.
- Calcular
. - Calcular
(ou ). - Exibir os dois resultados com formatação adequada.
Passo 4
Explicando escolhas de implementação (por que assim?):
- Usar número de ponto flutuante (
) para aceitar medidas com casas decimais, por exemplo . - Tratar entrada inválida (texto não numérico) para não travar a execução — o programa informa o erro e encerra.
- Mostrar ambos os valores (em
e ajustado) para transparência do relatório técnico. - Formatar saída com algumas casas decimais para ficar legível (por exemplo 3 casas decimais), mas isso pode ser ajustado conforme necessidade do relatório.
Passo 5
Exemplo numérico manual (para fixar a ideia):
- Suponha
metros. - Conversão:
. - Ajuste:
. - Usando a fórmula direta:
.
Esse exemplo mostra que o programa deve produzir(ops, atenção: aqui o correto é ) e como ajustado.
Passo 6
Dicas sobre tratamento de casos práticos (para a prova/uso real):
- Se a medição puder ser zero, o programa deve aceitar
sem problemas; então e . - Se a medição puder ser negativa (erro de coleta), o programa pode apenas avisar, mas calculará normalmente. Em relatórios profissionais é comum validar e pedir rechecagem.
- Se for preciso maior precisão, aumentar o número de casas decimais na formatação de saída.
- Se quiser armazenar resultados: gravar os valores em arquivo CSV ou em uma planilha é direto a partir dos valores calculados.
Passo 7
Implementação final (programa). Abaixo está um programa em Python que lê um valor em metros, converte para centímetros e aplica o fator de escala
. O programa trata entrada inválida e mostra os dois resultados formatados com três casas decimais.
Resposta
def convert_and_scale(meters_str):
try:
m = float(meters_str)
except ValueError:
raise ValueError("Entrada inválida: forneça um número representando metros (ex: 2.5).")
centimeters = m * 100.0
adjusted = centimeters * 1.25 # mesmo que m * 125
return centimeters, adjusted
if __name__ == "__main__":
user_input = input("Digite a distância em metros: ")
try:
cm, adj = convert_and_scale(user_input)
except ValueError as err:
print(err)
else:
print(f"Valor em centímetros: {cm:.3f} cm")
print(f"Valor ajustado (escala 1.25): {adj:.3f} cm")