En el algoritmo de conversión de unidades de medidas aprendimos que para convertir lo principal era saber usar el factor de conversión. Para el siguiente caso también usaremos este método con la salvedad que al ser temperatura, el asunto cambia ya que de una a otra medida se usan formulas de intercambio ya preestablecidas y básicas de googlear (je).
Significa que:
1. Para convertir de una grado 'X' a otro 'Y' haremos el equivalente de 'X' a grados 'Celcius' y, a su vez, convertiremos esta conversión a grados 'Y'.
De esta manera
Variable Xgrados a Ygrados
Lo que haremos es
tem1 = Variable X * 1 grado celcius
¿? equivalente grados X
Luego
tem1 * 1 grado Y
¿? equivalente grados celcius
Lo mas importante a saber es que las formulas de un grado X a grados Celsius no son las mismas de Celsius a grados Y
Por eso prestar atención a estas formulas de conversión
De grados X a Celsius
farhenheint = (X-32)/1.8
kelvin = X-273.15
rankine = (X-491.67)*0.56
Y de Celsius a X
farhenheint = (Celcius*1.8)+32
kelvin = Celcius+273.15
rankine = (Celcius*1.8)+491.67
Con esta teoría básica nuestro algoritmo se resolvería de la siguiente manera
Inicio programa temperatura(tem1)
t[1] = tem1*1
t[1] = (tem1-32)/1.8
t[1] = tem1-273.15
t[1] = (tem1-491.67)*0.56
mostrar 'de: (1) celcius, (2) farhenheint, (3) kelvin, (4) rankine'
leer i
cc[1] = t(i)*1
cc[2] = (t(i)*1.8)+32
cc[3] = t(i)+273.15
cc[4] = (t(i)*1.8)+491.67
ts[1] = 'celcius'
ts[1] = 'farhenheit'
ts[1] = 'kelvin'
ts[1] = 'rankine'
mostrar 'a: (1) Todas las restantes unidades, (2) unidad especifica'
leer j
Si j=1
f=1
mientras que f<=4
mostrar cc(f),' ', ts(f)
f = f+1
fin mientras
si no
mostrar 'convertir a: (1) celcius, (2) farhenheint, (3) kelvin, (4) rankine'
leer z
mostrar t(i),' ', ts(i), ' son iguales a: ',cc(z),' ',ts(z)
mostrar 'quieres convertir este valor a otra unidad (s/n);'
leer volveraconvertir
Mientras que volveraconvertir = 's'
tem1 = cc(z)
i = z
mostrar 'convertir a: (1) celcius, (2) farhenheint, (3) kelvin, (4) rankine'
leer = z
mostrar t(i),' ', ts(i), ' son iguales a: ',cc(z),' ',ts(z)
mostrar 'quieres convertir este valor a otra unidad (s/n);'
leer volveraconvertir
fin mientras
Fin si
Fin
Ahora lo único que tenemos que hacer es que el programa principal envie un valor inicial al programa Temperatura.
Inicio Principal
leer tem1
llamar temperatura(tem1)
Fin
No hay comentarios.:
Publicar un comentario