Universidad del Zulia Facultad Experimental de Ciencias Licenciatura en Computación Algoritmos y Programación I Prof. Jaime Soto Ejemplo Práctico #2 16-05-2011 Enunciado: Un departamento de climatología ha realizado recientemente su conversión al sistema métrico. Diseñar un algoritmo para realizar las siguientes conversiones: 1.- Leer la temperatura dada en la escala Celsius e imprimir en su equivalente Fahrenheit y kelvin. 2.- Leer la temperatura dada en la escala Fharenheit e imprimir en su equivalente Celcius y kelvin. 3.- Leer la temperatura dada en la escala Kelvin e imprimir en su equivalente Fahrenheit y Celcius. Precedentes: Celcius: Escala termométrica, ideada por el astrónomo Anders Celsius, en la que se asignan los valores de o y 100 a las temperatura del hielo en fusión y del vapor de agua hirviendo. Este intervalo anterior se divide en 100 partes iguales llamadas grados Celsius o grados centígrados. Fahrenheit: El grado Fahrenheit es una unidad de temperatura propuesta por Gabriel Fahrenheit en 1724. En la escala Fahrenheit, el punto de fusión del agua es de 32 grados, y el de ebullición es de 212 grados. Una diferencia de 1,8 grados Fahrenheit equivale a la de 1 grado centígrado. Kelvin: El kelvin (mal llamado grado Kelvin),1 simbolizado como K, es la unidad de temperatura de la escala creada por William Thomson, Lord Kelvin, en el año 1848, sobre la base del grado Celsius, estableciendo el punto 1 en el cero absoluto (−273,15 °C) y conservando la misma dimensión. Lord Kelvin, a sus 24 años introdujo la escala de temperatura termodinámica, y la unidad fue nombrada en su honor. Escala Kelvin Celsius Fahrenheit fusión 273,15 K 0 °C 32 °F ebullición 373,15 K 100 °C 212 °F Formulas: Kelvin a Celcius Farenheit a celsius ºC= (ºF – 32) / 1.8 Celsius a farenheit ºF=( 1.8 x ºC) + 32 Celsius igual a grados farenheit menos 32 entre 1.8 Farenheit igual a 1.8 por grados celsius mas 32 ANÁLISIS: Datos de Entrada : temperatura y tipo de escala Proceso : conversión de un escala a las otras Datos de Salida : temperatura en todas las escalas ENTRADA: °C Diagramas de Flujo: PROCESO: ºF=( 1.8 x ºC) + 32 SALIDA: °F Pseudocódigo #1: Inicio Declarar variables de entrada y salida Leer temperatura Leer tipo de escala Si la escala es Celsius entonces calcular Fharenheit y Kelvin Si la escala es Fharenheit entonces calcular Celcius y Kelvin Si la escala es Kelvin entonces calcular Fharenheit y Celcius Imprimir resultados Fin Pseudocódigo #2: INICIO VARIABLES REAL temperatura, tc, tf, tk ENTERO escala ESCRIBIR(“Introduzca temperatura: “) LEER( temperatura ) ESCRIBIR(“Escala (1=Celcius 2=Fharenheit 3=Kelvin: “) LEER( escala ) EN-CASO-DE escala HAGA CASO 1: tc = temperatura tf = CALCULAR_FHARENHEIT(temperatura) tk = CALCULAR_KELVIN(temperatura) CASO 2: tf = temperatura tc = CALCULAR_CELCIUS(temperatura) tk = CALCULAR_KELVIN(temperatura) CASO 3: tk = temperatura tc = CALCULAR_CELCIUS(temperatura) tf = CALCULAR_FHARENHEIT(temperatura) FIN-CASO ESCRIBIR(“Celcius: ”, tc ,” Fharenheit: ”, tf, “Kelvin: “,tk) FIN Pseudocódigo #3: ALGORITMO ConversionTempeartura INICIO ENTRADAS: grados_C: REAL ''(*Temperatura en grados celsius*)'' SALIDAS: grados_F: REAL ''(*Temperatura en grados Fahrenheit*)'' VARIABLES: ''(*No son necesarias*)'' INICIO ESCRIBIR "Introduzca una temperatura en grados Celsius: " LEER grados_C grados_F <-- ( 9 / 5 ) * grados_C + 32 ESCRIBIR grados_C," grados Celsius = ", grados_F, " grados Fahrenheit." FIN Codificación en un lenguaje de programación: /* * File : Convert.c * Author : Jaime Soto * Creación: 16 de mayo de 2011, 09:24 PM */ #include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) { float grados_C; /* Temperatura en grado Celsius */ float grados_F; /* Temperatura en grado Farenheit */ float grados_K; /* Temperatura en Kelvin */ printf("Introduzca una temperatura en grados Celsius: "); scanf("%f", &grados_C); grados_F = (9.0/5.0)* grados_C + 32; grados_K = grados_C + 273.15; printf("%.2f grados Celsius = %.2f grados Fahrenheit = %.2f Kelvin\n", grados_C, grados_F,grados_K); system("PAUSE"); return (0); } Edición: Compilación y enlace (compile and link) Ejecución y Resultados: