Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 01 de Julio 2016, 00:55
-
Buenas noches.
Dejo una posible solución del ejercicio CU00527F del curso lenguajeC desde cero.
EJERCICIO
Crea un programa que pida al usuario el radio de una esfera y muestre por pantalla el volumen de la esfera. Si no conoces la fórmula de cálculo, busca información al respecto en internet.
Fórmula del el volumen de la esfera:(http://www.ditutor.com/geometria_espacio/images/59_2.gif)
#include <stdio.h>
#include <stdlib.h>
int main() {
double V, R;
const double Pi = 3.141593;
//Datos
printf("Introduce el radio de la esfera: ");
scanf("%lf", &R);
//Cálculo
V = 1.33*Pi*pow(R, 3);
printf("El volumen de la esfera es: %lf, metros c%cbicos", V, 163);
return 0;
}
Gracias.
-
Todo bien; pero te aconsejo que inicialices las variables por ejemplo:
duoble v = 0;
double r = 0;
Así le das mas sentido a tu programa.
Saludos ;D
-
Buenos días, Pandemia.
Primero que nada, gracias por tu corrección y por el tiempo implicado.
Realmente hace falta inicializar las variables si una de ellas la tiene que entrar el usuario y la otra es un cálculo?
Es más, las variables se inicializan, pero no en la misma línea en su definición. La "R" se inicializa con el valor dado por el usuario y la "V" a través de la fórmula.
Saludos.
-
Buenas tardes dimiste, no son estrictamente obligatorias inicializarlas, pero sí es aconsejable queda a gusto del programador, así como por ejemplo los contadores no son necesarios inicializarlos.
Saludos. ;D
-
Buenos días, Pandemia.
Programo de esta manera para ir acorde con el estilo de enseñanza de los cursos de aprenderaprogramar.com. Vi que el profesor lo programaba así, como por ejemplo en la entrega CU00539F (entre otras):
EJERCICIO Nº1: SOLUCIÓN
Vamos a suponer que el archivo caudal.dat se encuentra en la unidad de disco C:, y que el valor de caudal disponible en litros por minuto que proporciona es 112. Antes de ejecutar el programa habremos creado este archivo. Tener en cuenta que para especificar la ruta tendremos que poner c:\\caudal.dat usando una doble barra porque \ es un carácter especial que se usa para insertar ciertos códigos de control como cuando escribimos \n y para que se interprete como un carácter de la cadena c:\caudal.dat hemos de escribir el carácter de escape, que es precisamente \, de ahí que se escriba duplicado.
Código:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// Ejercicios resueltos de programación en C aprenderaprogramar.com
int main() {
const double Pi = 3.141592654; double D, R, H, V, Vlitros, tminutos, Q;
puts ("Tiempo de llenado para un deposito cilindrico\n");
printf ("Introduzca el diametro del deposito en metros: "); scanf ("%lf", &D);
printf ("Introduzca la altura del deposito en metros: "); scanf ("%lf", &H);
//Extracción de dato de caudal del archivo
FILE* fichero; fichero = fopen("c:\\caudal.dat", "rt");
fscanf (fichero, "%lf", &Q );
fclose(fichero);
//Cálculos y resultados
printf ("\nDato de caudal extraido de fichero vale: %lf \n", Q);
R = D / 2; V = Pi * pow (R, 2) * H; Vlitros = V * 1000; tminutos = Vlitros / Q;
printf ("El tiempo que transcurrira hasta el llenado del deposito es de %lf minutos \n", tminutos );
return 0;
}
Si te fijas en este ejemplo, las variables D, R, H, V, Vlitros, tminutos, Q, solamente están definidas, pero no inicializadas.
Pero lo dicho, gracias por tus consejos, lo tendré en cuenta. Al fin y al cabo lo que quiero es mejor como programador y agradezco todos los consejos por vuestra parte. Gracias.
Saludos.
-
Buenas tardes Dimiste, en es te ejemplo tienes razón, pero si te fijas todas son del mismo tipo double, en casos así vale la pena porque te ahorras varias líneas de código, pero de todos modos va a gusto del programador, mi consejo es solo para la cuestión de estructuración del programa, así se ven mejor los errores.
Saludos. ;D
-
Buenas en general se considera una buena práctica de programación (y recomendable) inicializar las variables. En algunos lenguajes forma parte de la propia estructura habitual de la programación (por ejemplo en Java al crear un objeto usamos un constructor y en ese constructor normalmente inicializamos todos los atributos aunque no sea algo obligatorio, pero lo hacemos por norma). No inicializar una variable puede suponer un riesgo, de ahí que sea recomendable (aunque a veces ciertamente no se haga. En ese caso la variable tendrá un valor de defecto definido por el compilador, o quizás tenga un contenido nulo).
Salu2
-
Buenas, Ogramar.
Gracias por tu aportación también. Ok, me ha quedado claro que tengo que declarar (evidentemente) y inicializar todas las variabes/atributos.
Gracias a tí y a Pandemia por la aportación en este hilo.
Saludos.