2) faça um programa que receba um valor em metros e mostre a conversão em: • milímetros; • centímetros;

• decímetros; • decâmetros; • hectometros; • quilometros. para cada conversão construa uma função.

1 Resposta

  • Felipe

    O truque aqui é criar uma tabela de fatores de conversão de metros para essas outras unidades, então vejamos

    • Milímetros; 1 metro = 1000 milímetros
    • Centímetros; 1 metro = 100 centímetros
    • Decímetros; 1 metro = 10 decímetros
    • Decâmetros; 1 metro = 0,1 decâmetro
    • Hectometros;1 metro = 0,01 hectometro
    • Quilometros. 1 metro = 0,001 qilometro
    Um truque para facilitar é colocar na tabela a conversão de metro para metro então a tabela ficaria assim

    -3= Milímetros; 1 metro = 1000 milímetros
    -2= Centímetros; 1 metro = 100 centímetros
    -1= Decímetros; 1 metro = 10 decímetros
    0= Metros;         1 metro = 1 metro
    1= Decâmetros; 1 metro = 0,1 decâmetro
    2= Hectometros;1 metro = 0,01 hectometro
    3= Quilometros. 1 metro = 0,001 quilometro

    O truque aí é que tudo que é menor que metro tem número negativo, tudo que é maior que metro tem número positivo.
    a função seria algo assim
    x = 328  // metros
    w = converte(x,-1)  // converte para decímetro
    w = converte(x,3)  // converte para quilómetro
    w = converte(x,-3) // converte para milímetro
    w = converte(x,-2) // converte para centímetro 
    e assim por diante

    Então a função converte ficaria assim em 
    converte( numero , unidade) 
       retorne ( numero * 10^(-unidade))

    Na maioria das linguagens isso é facilmente implementável.
    segue em python
    #2) Faça um programa que receba um valor em metros 
    #e mostre a conversão em:
    #• Milímetros;
    #• Centímetros;
    #• Decímetros;
    #• Decâmetros;
    #• Hectometros;
    #• Quilometros.
    #Para cada conversão construa uma função.

    def converte( numero, unidade):
      return( numero * pow(10,-unidade))
      
    valor =1
    while valor:
         valor = int(input("Informe um valor em metros ou 0 para terminar"))
         if (valor):
           print("milímetros",converte(valor,-3))
           print("centímetros",converte(valor,-2))
           print("decímetros",converte(valor,-1))
           print("decâmetros",converte(valor,1))
           print("hectômetros",converte(valor,2))
           print("quilômetros",converte(valor,3))
           
    quer ver ele funcionando ? https://repl.it/@bokomoko/conversor-metrico

Clique aqui para adicionar a sua resposta.