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 \,1{,}25.
Informações dadas:
  • o valor de distância de entrada está em \text{metros} (unidade: \text{m});
  • a unidade de saída desejada para o relatório é \text{centímetros}í (unidade: \text{cm});
  • fator de escala a aplicar é \,1{,}25.
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):
  1. Conversão de metros para centímetros.
  • Regra: 1\\ \text{m} = 100\\ \text{cm}.
  • Se a entrada é \,m metros, o valor em centímetros é dado por
\text{cm} = m \times 100.
  1. Aplicar o fator de escala.
  • Se o fator de escala é s=1{,}25, o valor ajustado em centímetros é
\text{ajustado} = \text{cm} \times s.
  1. Podemos combinar as duas operações numa única fórmula (útil para simplificar cálculo ou checar):
\text{ajustado} = m \times 100 \times 1{,}25 = m \times 125.
Ou seja, multiplicar diretamente por \,125 dá o resultado final em centímetros já ajustado.

Passo 3

Algoritmo simples e seguro (passo a passo que o programa seguirá):
  1. Ler o valor de distância fornecido pelo usuário (texto).
  2. Converter esse texto para número de ponto flutuante ( \text{float}).
  3. Validar: garantir que o texto representa um número; opcionalmente avisar se o número é negativo.
  4. Calcular \text{cm} = m \times 100.
  5. Calcular \text{ajustado} = \text{cm} \times 1{,}25 (ou \text{ajustado} = m \times 125).
  6. Exibir os dois resultados com formatação adequada.

Passo 4

Explicando escolhas de implementação (por que assim?):
  • Usar número de ponto flutuante ( \text{float}) para aceitar medidas com casas decimais, por exemplo \,2{,}35\\ \text{m}.
  • 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 \text{cm} 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 m=2 metros.
  • Conversão: \text{cm} = 2 \times 100 = 200\\ \text{cm}.
  • Ajuste: \text{ajustado} = 200 \times 1{,}25 = 250\\ \text{cm}.
  • Usando a fórmula direta: \text{ajustado} = 2 \times 125 = 250\\ \text{cm}.
    Esse exemplo mostra que o programa deve produzir \,200{,}000\\ \text{cm} (ops, atenção: aqui o correto é \,200\\ \text{cm}) e \,250\\ \text{cm} 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 m=0 sem problemas; então \text{cm}=0 e \text{ajustado}=0.
  • 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 \,1{,}25. 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")

Exercícios relacionados