martes, 4 de enero de 2011

Kernighan_Ritchie_1.15 (Equivalencia entre grados Fahrenheit y grados Celcius, Programa en C)

_______________________________________________________________________________
1.15 Escriba de nuevo el programa de conversión de temperatura de la sección 1.2, de modo que utilice una función para la conversión.
_______________________________________________________________________________
Solución:
Este programa presenta una tabla de equivalencia entre grados Fahrenheit y grados Celcius.

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+  Este programa imprime una tabla de equivalencias entre     +
+ grados fahrenheit y gradps celsius                          +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                                                             +
+                        ALGORITMO:                           +
+ Celsius = (5/9)*(Fahrenheit - 32)                           +
+                                                             +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

#include<stdio.h>

int convertir( int);

/*////////////////////////////////////////////////////////
// MAIN
////////////////////////////////////////////////////////*/

main()
{        /*Abre main */

float fahr, celsius;
int lower, upper, step;
lower = 0;
upper = 300;
step = 20;
fahr = lower;

printf("\nEste programa imprime una tabla de equivalencias entre");
printf(" grados Fahrenheit y grados Celcius\n");
printf("\nFahrenheit:  Celsius:\n");

while ( fahr <= upper )
{   /* Abre while */
celsius = convertir( fahr);
printf("%10.0f%11.1f\n", fahr, celsius );
fahr = fahr + step;
}    /* Cierra while */

return;
}          /*Cierra main */

/*//////////////////////////////////////////////////////
// CONVERTIR
//////////////////////////////////////////////////////*/
int convertir( int fahrenheit )

{    // Abre convertir
return (5.0/9.0)*(fahrenheit - 32);
}     // Cierra convertir

La ejecución de éste programa da la siguiente salida:

Este programa imprime una tabla de equivalencias entre grados Fahrenheit y grados Celcius

Fahrenheit:  Celsius:
         0      -17.0
        20       -6.0
        40        4.0
        60       15.0
        80       26.0
       100       37.0
       120       48.0
       140       60.0
       160       71.0
       180       82.0
       200       93.0
       220      104.0
       240      115.0
       260      126.0
       280      137.0
       300      148.0


_____________________________________________________________________________________________
Esta entrada es parte de los problemas resueltos del libro El Lenguaje de Programación C, de B. Kernighan y D. Ritchie.
Entrada Anterior
Entrada Siguiente

1 comentario:

  1. Otra forma seria:

    #include
    /* Imprime la tabla Fahrenheit-Celsius
    para fahr = 0, 20,....,300 */
    float celsius(float);

    int main()
    {
    for (int i = 0; i <= 300; i+=20)
    printf("%3d\t%6.1f\n", i, celsius(i));
    return 0;
    }

    float celsius(float fahr)
    {
    float temp = (5.0/9.0)*(fahr-32.0);
    return temp;
    }

    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...