Algoritmos-1-Ejemplo-2

Anuncio
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:
Descargar