[ Foro de C# ]
Buenas tardes!,
Estoy leyendo el libro Introducción a C# de Nacho Cabrales, no estoy siguiendo ninguna carrera universitaria, solo soy un simple aficionado con ansias de aprender a programar.
Lo cierto es que no soy muy bueno en matemáticas, pero aún así intento hacer todos los ejercicios que da el libro por mas dificil que sean (googleando un poco cada concepto que no entiendo). Me he quedado trabado en el ejercicio 3.2.4.2 de " pi/4 = 1/1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + 1/13". Creo que a nivel lógico no lo he resuelto correctamente ya que los resultados no se aproximan a PI/4, les dejo el código que use dentro del main:
int num;
float pi = 3.141592654f, resSingle;
double x = -1, res = 1, piDiv = pi / 4;
Console.Write("Ingrese num: ");
num = Convert.ToInt32(Console.ReadLine());
for (int i = 3; i <= num; i += 2)
{
res = res + (x / i);
resSingle = (float)res;
Console.WriteLine("Single: {0}, Double: {1}", resSingle, res);
x *= -x;
}
Como he dicho no soy bueno en matemáticas, aun así deseo poder hacer cada uno de los ejercicios que se me vayan planteando en el libro, inclusive este (los anteriores he podido hacerlos), ya que esto me acercará mas a un buen desarrollo y resolución del libro.
Desde ya mil gracias por su lectura!.
Bueno, luego de estar investigando un poco mas la serie de leibniz, creo que he podido resolverlo con este algoritmo:
int num;
float pi = 3.141592654f, resSingle;
double x = -1, piDiv = 1, res;
Console.Write("Ingrese num: ");
num = Convert.ToInt32(Console.ReadLine());
for (int i = 3; i <= num; i += 2)
{
piDiv = piDiv + (x / i);
res = 4 * piDiv;
resSingle = (float)res;
Console.WriteLine("Single: {0}, Double: {1}", resSingle, res);
x *= -1;
}
Hice pequeñas modificaciones en el que use antes, y pude llegar a un numero aproximado.
Agradecería eternamente sus comentarios al respecto de todas formas! buena semana!!
De Nacho... qué? ;-)
La lógica parece buena. Eso sí, los nombres de variables no ayudan nada a seguirla.
Es verdad, me acabo de dar cuenta que escribí mal su apellido jajaja
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)