Al igual que la calculadora recursiva que realiza operaciones básicas y funciones algo mas complicadas. A continuación se trata de explicar un algoritmo que realice conversiones tanto de la mayoría o de las mas conocidas unidades del sistema internacional de medidas como algunas del sistema ingles o americano.
Para esto tener en cuenta que:
1. Se presentan dos tipos de alternativas: una que introducido un valor y seleccionada una medida, podrá realizar todos sus equivalentes pertenecientes a su tipo de medición.
2. Por otro lado, también puede convertir de una unidad 'x' a otro unidad 'y' según se le indique. A su vez, esta unidad obtenida podrá ser convertida a otra y así sucesivamente.
Lo único y mas importante es saber como funciona el sistema de unidades y como se pueden obtener valores equivalentes de las mismas medidas.
Por ejemplo, esto aplicaría tanto para longitud, masa, área o superficie y volumen. Lo único que tenemos que saber o dominar es el factor de conversión. De esta manera, simplemente, le damos un valor especifico o unidad mínima y, a su vez, vamos asignando según corresponda a los demás valores de su unidad de medición.
En el caso de longitud las unidades de medición son: milímetros (mm), centímetros (cm), metros (m) y kilómetros (km). Estas son las mas conocidas y usadas. Ademas que pertenecen al sistema internacional.
Si tomamos al milímetro como unidad mínima su valor sería el de 1. Así pues mm = 1
Ahora preguntamos cuantos mm hay en un cm. La respuesta es 10 centímetros. Entonces 1 cm = 10 mm
Hacemos lo mismo para las dos unidades restantes que vamos a usar.
1 m = 100 cm = 1 000 mm
1 km = 1 000 m =100 000 cm = 1 000 000 mm
Con esto aplicamos el factor de conversión. Pongamos que queremos convertir 5 km a cm
5 km * 10^6 mm * 1 cm = 5 * 10^5 = 500 000 cm
1km 10 mm
Sabiendo esta teoría básica nuestro algoritmo seria mas o menos así:
longitud(a1)
l[1] = 10^0
l[2] = 10^1
l[3] = 10^3
l[4] = 10^6
s[1] = 'milimetros'
s[2] = 'centimetros'
s[3] = 'metros'
s[4] = 'kilometros'
mostrar ''de: (1) milimetros, (2) centimetros, (3) metros, (4) kilometros'
leer i
mostrar 'a: (1) Todas las restantes unidades, (2) unidad especifica'
leer j
Si j = 1
t = 1
Mientras t<=4 hacer
valor = a1* l[i] * 1/l[t]
mostrar valor, s[t]
t = t +1
fin mientras
si no
mostrar 'convertir a: (1) milimetros, (2) centimetros, (3) metros, (4) kilometros'
leer f
valor = valor = a1* l[i] * 1/l[f]
mostrar 'a1,' ', s[i], ' son iguales a: ',valor,' ',s[f]
mostrar 'quieres volver a convertir (s/n):'
leer volveraconvertir
Mientras volveraconvertir = 's' hacer
a1 = valor
i = f
mostrar 'convertir a: (1) milimetros, (2) centimetros, (3) metros, (4)kilometros'
leer f
valor = a1* l[i] * 1/l[f]
mostrar 'a1,' ', s[i], ' son iguales a: ',valor,' ',s[f]
mostrar 'quieres volver a convertir (s/n):'
leer volver a convertir
fin mientras
fin si
Como podemos ver, esta es la estructura de ejecución que le damos a un programa o procedimiento llamado 'longitud' que nos ayudará a obtener todas las conversiones que queramos de las unidades de longitud especificadas.
Ahora, lo único que tenemos que hacer es realizar un programa central que llame a este programa. Para esto sabemos que el valor dado o argumento de envio es un numero que se le asignó la variable de 'a1'.
Programa convertidor de unidades
Inicio
mostrar ''Escoge tu opción a convertir de la siguiente lista de sistema de unidades: (1) longitud, (3) superficie, (4) volumen, (5) masa'
leer opcion
mostrar 'introduce un valor a convertir:'
leer val1
Si opcion = 1
llamar longitud (val1)
fin si
Fin
Sabiendo como funciona para longitud lo mismo aplicaríamos para volumen, masa y superficie teniendo en cuenta que para todas ellas aplican los múltiplos, los sufijos y el factor de conversión como regla universal.
No hay comentarios.:
Publicar un comentario