C# ile Pi sayısının yaklaşık değerini Leibniz açılımı ile elde etmek

Katılım
8 Eylül 2018
Mesajlar
9.857
Makaleler
8
Çözümler
255
Yer
İstanbul
Merhaba arkadaşlar. Size C# ile Gregory -Leibniz'in Pi sayısının seriye açılımının yaklaşık değerini hesaplayan C# kodunu paylaşacağım. Seri aşağıdaki gibidir.

1652368898202.png


Bu seride paydalar tek sayı, paylar ise düzenlenince aritmetik olarak artan bir seriye dönüşüyor. Bunlara ufak düzenlemeler yaparak elde ettiğim kodu sizinle paylaşıyorum:

[CODE lang="csharp" highlight="14"] double carp_pay = 1;
double carp_payda = 1;
double i = 1;
double top = 0;

while ((carp_pay / carp_payda) != 0) {

carp_pay = carp_pay * (i);
carp_payda = carp_payda*(2*i +1);
top = top + carp_pay / carp_payda;
i++;
}
Console.WriteLine(2 * (1 + top));
Console.ReadKey();[/CODE]

Kısa olması istediğim gibi bir kod elde etmemi sağladı. Tabii Math.PI varken kullanır mısınız bilemem. Sadece göz aşinalığınız olsun.
 
Alnınızdan öpmek istiyorum. Matematiğim kötü, mantığım yok (matematiksel mantık) ama yazılımcı olmak istiyorum diyenlere resmen tuğlayla saldırmış oldunuz. Teşekkür ediyorum.

Kod yazmak, kodlama yapmak ayrı bir iştir genellikle matematik gerektirmez, algoritma geliştirmek ayrı bir iştir genellikle matematik gerektirir.

Matematik hayatın her alanında gereklidir. Yazılımcı olmak için iyi yorum gücü ve mantıki düşünce gereklidir, bunlar için de matematiği anlamak bilmek gerekir yoksa elin yazdığı kodları alırsın kendinden bir şey elde edemezsin. Kopyala yapıştırdan farkın kalmaz.
 
Python ile Riemann toplamını yapmıştım; belirli integral'in yaklaşık değerini verir.


vvc.PNG



Python:
import os

def func(x):

    return pow(x,2)#Function-->f(x)

#integral
a=int(input("lower limit: "))
b=int(input("upper limit: "))


#Riemann sums
for n in range(1,pow(10,9)):#n sonsuza yaklaşırken
    delta_x=(b-a)/n
    val=0
    for i in range(0,n):
        val+=func(a+i*delta_x)*delta_x

    print(val)
#Riemann sums

#result
os.system("cls")
print(round(val,2))#Approximate Value
 
Python ile Riemann toplamını yapmıştım; belirli integral'in yaklaşık değerini verir.


Eki Görüntüle 1385695


Python:
import os

def func(x):

    return pow(x,2)#Function-->f(x)

#integral
a=int(input("lower limit: "))
b=int(input("upper limit: "))


#Riemann sums
for n in range(1,pow(10,9)):#n sonsuza yaklaşırken
    delta_x=(b-a)/n
    val=0
    for i in range(0,n):
        val+=func(a+i*delta_x)*delta_x

    print(val)
#Riemann sums

#result
os.system("cls")
print(round(val,2))#Approximate Value
Sınavlarda kullanılabilir aslında.
 

Technopat Haberler

Yeni konular

Geri
Yukarı