Hoy vamos a ver cómo crear un programa en C que calcule el volumen de una esfera utilizando funciones matemáticas. Para ello usaremos la constante Pi, así como la función pow para elevar un número en C.
Igualmente veremos la fórmula y cómo se aplica en nuestro programa; sin perder precisión.
Ya vimos cómo es la fórmula para calcular el volumen de la esfera, aquí no la explicaremos. Te invito a leer ese post para que sepas cómo hacerlo, o si ya sabes continúa leyendo.
Ahora sí a lo que hemos venido. Aquí el código de la función:
double volumenDeEsfera(double radio) {
/*
1: Elevar radio al cubo y eso multiplicarlo por PI
M_PI * pow(radio, 3);
2: Al resultado anterior lo multiplicamos por 4
(4 * (M_PI * pow(radio, 3)))
3: Al resultado anterior lo dividimos entre 3
(4 * (M_PI * pow(radio, 3))) / 3
*/
return (4 * (M_PI * pow(radio, 3))) / 3;
}
Recibe el radio, el cual es de tipo double para no perder precisión. Y devuelve igualmente un double.
Con este código puedes hacer que el usuario introduzca el radio y se imprima el volumen:
/*
Calcular el volumen de una esfera
a partir de su radio en C
@author parzibyte
Visita: parzibyte.me
*/
#include <stdio.h>// printf y scanf
#include <math.h>// M_PI y pow
#ifndef MPI
#define M_PI 3.14159265358979323846
#endif
double volumenDeEsfera(double radio);
int main() {
double radio;
printf("Introduce el radio de la esfera:\n");
scanf("%lf", &radio);
printf("Volumen si esfera tiene radio de %lf es: %lf", radio,
volumenDeEsfera(radio));
}
double volumenDeEsfera(double radio) {
/*
1: Elevar radio al cubo y eso multiplicarlo por PI
M_PI * pow(radio, 3);
2: Al resultado anterior lo multiplicamos por 4
(4 * (M_PI * pow(radio, 3)))
3: Al resultado anterior lo dividimos entre 3
(4 * (M_PI * pow(radio, 3))) / 3
*/
return (4 * (M_PI * pow(radio, 3))) / 3;
}
Para escanear usamos el formato %lf
que escanea un double. De ahí son simples operaciones.
Comenzamos elevando el radio, luego eso lo multiplicamos por PI, más tarde por 4 y finalmente todo eso lo dividimos entre 3.
Es una operación de una línea. con comentarios que no afectan el rendimiento.
Mira más tutoriales de C aquí.
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.