Calcular PI com c#
14/10/2010
0
Aqui está o programa:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double f,i=1,pi, pi2;
for (i = 1; i <= 10; i++)
{
pi2=((i)*2+1);
pi=(4/1)-(4/pi2);
if (i % 2 == 0)
{ continue; }
else
pi2 = pi2 * (-1);
Console.WriteLine("", pi);
}
Console.ReadLine();
}
}
}
Se puderem me ajudar, eu agradeço.
Hobr
Posts
15/10/2010
Marcelo Silva
15/10/2010
Hobr
Deve ter algum erro de lógica ou de programação mesmo, já que eu estou começando, não consigo identificar tais erros.
15/10/2010
Hobr
double f, i = 1, pi, pi2;
for (i = 1; i <= 10000; i++)
{
pi = (4 / 1) - (4 / 3) + (i= 4 / (i * 2 + 3));
if (i % 2 != 0)
{
i = Math.Pow(i, -1);
}
Console.WriteLine(pi);
}
Só que o resultado não sai de 3,4
O maximo que eu cheguei foi a 3,17
Alguém pode me ajudar?
15/10/2010
Vinicius Vieira
15/10/2010
Vinicius Vieira
15/10/2010
Hobr
Pi= (4/1)-(4/3)+(4/5)-(4/7)+.....
Só que não estou conseguindo fazer.
16/10/2010
Jackson Fraga
[CODE]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NumeroPI
{
class Program
{
static void Main(string[] args)
{
double pi = 0;
double divisor = 1;
for (int i = 1; i < 999999999; i++)
{
if ((i % 2) != 0)
{
pi += (4 / divisor);
}
else
{
pi -= (4 / divisor);
};
divisor += 2;
Console.WriteLine(pi.ToString());
};
Console.WriteLine(pi.ToString());
Console.ReadKey();
}
}
}
[/CODDE]
16/10/2010
Hobr
O que seria esses:
pi- e p+
Console.ReadKey()
Console.WriteLine(pi.ToString()) (não poderia ser só "Console.WriteLine (pi) ?)
17/10/2010
Jackson Fraga
técnicamente (C#)
pi += (4 / divisor);
é a mesma coisa q...
pi = pi + (4 / divisor);
a mesma coisa ocorre qdo
pi -= (4 / divisor);
pi = pi - (4 / divisor);
valor++;
valor = valor + 1;
valor--;
valor = valor - 1;
matematica é feito isso pois, o pi é 4 dividido pelo divisor, porem uma vez é feito somando e a proxima é subtraindo... essa forma é a forma mais primitiva, tanto que existe milhares de divisões até encontrar o valor correto, dai isso eu realmente não sei explicar
Console.ReadKey()
este comando aguarda o pressionamento de uma tecla qualquer, seria um "PAUSE"
Console.WriteLine(pi.ToString()) (não poderia ser só "Console.WriteLine (pi) ?)
bem, por constume eu sempre converto para string... mas o C# aceita no WriteLine varios tipos de dados!!!
eu tenho este costume pois geralmente eu utilizao formatação:
salario.ToString("'R$' #,###0.00"); // por exemplo
18/10/2010
Hobr
Acho que eu não estava usando corretamente o for, se você puder me explicar isso eu acho que entenderei como se usa corretamente:
for (int i = 1; i < 100000; i++)
{
if ((i % 2) != 0)
{
pi += (4 / divisor);
}
else
{
pi -= (4 / divisor);
};
divisor += 2;
Eu pensava que precisava colocar o "i" junto na conta (achava que com o "i" na conta ele faria a conta novamente e só adicionaria +1 ao i, mas você não precisou usar, a minha pergunta é, onde ele está acrescentando +1 ali?
Sei que minha pergunta é realmente tosca, mas eu não entendi, fico grato pela sua ajuda.
19/10/2010
Vinicius Vieira
Clique aqui para fazer login e interagir na Comunidade :)