Ejemplo de lenguaje C - Área de una circunferencia
Teniendo en cuenta que la fórmula para calcular el área de una circunferencia es: Área de una circunferencia = Π * radio2
Si en lenguaje C se quiere escribir un programa que:
1º) Pida por teclado el radio (dato real) de una circunferencia.
2º) Calcule el área de la circunferencia.
3º) Muestre por pantalla el resultado (dato real).
Mostrándose en pantalla, por ejemplo:
Solución 1: utilizando dos variables
En C se puede escribir:
/* Programa: Área de una circunferencia (Solución 1) */
#include <conio.h>
#include <stdio.h>
int main()
{
float area, radio;
printf( "\n Introduzca radio: " );
scanf( "%f", &radio );
area = 3.141592 * radio * radio;
printf( "\n El %crea de la circunferencia es: %.2f", 160, area );
printf( "\n\n Pulse una tecla para salir..." );
getch(); /* Pausa */
return 0;
}
- float area, radio sirve para declarar las variables area y radio con el fin de almacenar dos números reales (float).
- scanf( "%f", &radio ) permite que el usuario del programa introduzca por teclado el valor del radio y, puesto que la variable radio es de tipo float (número real), se tiene que escribir el especificador de formato asociado a la entrada de un número real (%f). Por otra parte, el carácter ampersand (&) sirve para indicar la dirección de memoria de la variable radio, es decir, la dirección de memoria donde se va a almacenar el dato introducido por el usuario.
- Al escribir area = 3.141592 * radio * radio se asigna a la variable area el resultado de aplicar la fórmula del área de la circunferencia.
- Para mostrar por pantalla la letra (á) con tilde de la palabra (área), en la función printf hay que especificar el lugar donde se quiere mostrar escribiendo %c, e indicar el número decimal que corresponde al carácter (á) en ASCII, es decir 160.
- %.2f indica que ahí se debe mostrar un número real (float) con dos decimales. En concreto, se mostrará el valor de la variable area.
Solución 2: utilizando dos variables y una constante
A continuación, se muestra una segunda solución en la que se hace uso de una constante:
/* Programa: Área de una circunferencia (Solución 2) */
#include <conio.h>
#include <math.h>
#include <stdio.h>
#define PI 3.141592
int main()
{
float area, radio;
printf( "\n Introduzca radio: " );
scanf( "%f", &radio );
area = PI * pow( radio, 2 );
printf( "\n El %crea de la circunferencia es: %.2f", 160, area );
printf( "\n\n Pulse una tecla para salir..." );
getch(); /* Pausa */
return 0;
}
- En lenguaje C, la directiva #define permite representar constantes simbólicas. Por tanto, con #define PI 3.141592 se declara la constante PI, indicando al preprocesador que debe sustituir, en el código fuente del programa, todas las ocurrencias de PI por la secuencia de caracteres 3.141592, antes de la compilación.
- La función pow devuelve, sobre el propio identificador de la función, el resultado que se obtiene de elevar el operando número base al operando exponente, en este caso devuelve el resultado de elevar el valor de radio a 2. Para poder hacer uso de dicha función, hay que escribir #include <math.h>. El valor de retorno de la función pow es de tipo double, con independencia de que los operandos sean reales o enteros.
- En C existen dos tipos de datos para expresar el tipo de dato real (float y double), la diferencia principal entre ambos está en el hecho de que un dato de tipo double puede tomar por valor un número perteneciente a un subconjunto de R mayor que un dato de tipo float.
Solución 3: utilizando una variable y una constante
Otra posible solución es:
/* Programa: Área de una circunferencia (Solución 3) */
#include <conio.h>
#include <math.h>
#include <stdio.h>
#define PI 3.141592
int main()
{
float radio;
printf( "\n Introduzca radio: " );
scanf( "%f", &radio );
printf( "\n El %crea de la circunferencia es: %.2f", 160, PI * pow( radio, 2 ) );
printf( "\n\n Pulse una tecla para salir..." );
getch(); /* Pausa */
return 0;
}
Obsérvese que, en esta última solución, la variable area no ha sido declarada.