Enunciado: 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 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 fusión ebullición Kelvin 273,15 K 373,15 K Celsius 0 C 100 C Fahrenheit 32 F 212 F Formulas: Kelvin a Celcius Farenheit a celsius ºC= (ºF 32) / 1.8 Celsius igual a grados farenheit menos 32 entre 1.8 Celsius a farenheit ºF=( 1.8 x ºC) + 32 Farenheit igual a 1.8 por grados celsius mas 32
ANÁLISIS: Datos de Entrada Proceso Datos de Salida : temperatura y tipo de escala : conversión de un escala a las otras : temperatura en todas las escalas ENTRADA: C PROCESO: ºF=( 1.8 x ºC) + 32 SALIDA: F Diagramas de Flujo:
Pseudocódigo #1: Inicio Declarar variables de entrada y salida Leer temperatura Leer tipo de escala Si la escala es Celsius Si la escala es Fharenheit Si la escala es Kelvin Imprimir resultados Fin entonces calcular Fharenheit y Kelvin entonces calcular Celcius y Kelvin entonces calcular Fharenheit y Celcius Pseudocódigo #2: INICIO FIN VARIABLES REAL ENTERO temperatura, tc, tf, tk 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)
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: