Informática, perguntado por Rafahmartins9439, 1 ano atrás

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.

Soluções para a tarefa

Respondido por bokomoko
8
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
Perguntas interessantes