| 

.NET C# Java Javascript Exception

2
Hilfe, ich fange gerade aufgrund meines Informatikteil im Ingenieurstudium mit Groovy an und scheitere gerade an einer Denkblockade.

Gefragt ist folgendes (Ich kopier das jetzt einfach mal hier rein)

Die Zahl π ist in Groovy genauso vordefiniert wie die Zahl e : Math.PI und Math.E. Es
bereitet aber auch keine Schwierigkeit, diese Zahlen per Skript zu berechnen.
a) Implementieren Sie hier die Formel
π^2/12=Σ[i=1 bis ∞] (−1)^(i−1)/i^2

Führen Sie die Summation durch, solange Summanden betragsmäßig größer als
10−5 sind. Der Betrag einer Zahl x wird mit der Groovy -Funktion Math.abs(x)
berechnet.Sie können nun die Genauigkeit des von Ihnen berechneten π testen.
Dazu vergleichen Sie Ihren Wert einfach mit Math.PI (beachten Sie, was sie mit der
Summationsformel genau berechnet haben)

Soweit versteh ich was gewünscht ist.

Im folgenden sieht mein kleiner Code bisher so aus

int i=1;
double sum=0;
double summand=12
while(Math.abs(summand)>1E-5){
summand=(-1)**(i-1)/(i**2);
sum=sum+summand;
i=i+1


}

//Ergebnis der Summe auf sum gespeichter, Gleichung muss nach PI umgestellt werden
sum=sum+((summand*12)**(1/2))

//Vergleich Pi mit Math.PI


Jetzt bekomme ich wirklich kleine Zahlen (>1) und die Summe läuft nicht weiter fort bis zur Abbruchbedingung.

Kann mir bitte jemand sagen was ich vergesse. Ich seh gerade den Wald vor lauter Bäumen nicht mehr. Unsere Vorlesung besteht auch nicht wirklich aus solchen Dingen und im Netz werde ich nicht fündig.
05.12.2016
2 Antworten
0
Ihr Fehler liegt bei der Aufbereitung zu PI.
Die Reihe liefert PI hoch 2 / 12 - ergo muss die Aufbereitung sein:
sum = (sum * 12) ** (1/2)

Nun sollte sum den Wert von PI haben.
07.12.2016
edvservice 1,2k 6
0
Download AppToko for iOS/Android/Windows/Mac.
23.04.2017

Stelle deine --Frage jetzt!