domingo, 21 de junio de 2020

Proyecto algoritmo convertidor de unidades del sistema internacional y americano de medidas (longitud, masa, área o superficie, volumen)

Hola a todos. 

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