Laden...

[erledigt] Pi Berechnung

Erstellt von fneuweiler vor 18 Jahren Letzter Beitrag vor 18 Jahren 4.710 Views
F
fneuweiler Themenstarter:in
17 Beiträge seit 2005
vor 18 Jahren
[erledigt] Pi Berechnung

Hallo, ich arbeite gerade an einer Pi Berechnung in C# es funtzt auch alles wunderbar aber ich soll die genauigkeit ausgeben weiss aber nicht wie!

Habe bis jetzt folgendes:


using System;

namespace Pi_Berechnung
{
	/// <summary>
	/// Summary description for Class1.
	/// </summary>
	class Class1
	{
		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{
			while (myPi() == false)
			{
				Console.WriteLine("Bitte nur Zahlen angeben und nicht null eingeben!!");
			}
		}
		static bool myPi()
		{
			// Pi Berechnung
			//E
			Console.WriteLine("Wieviele Stellen sollen exat sein??(Hundertstel = 100, Tausendstel  = 1000)");
			string stellen_str = Console.ReadLine();
			//V
			try
			{
				double stellen = Convert.ToDouble(stellen_str);
				if (stellen == 0)
					return false;
				if (stellen == 10)
				{
					stellen *=20;
				}
				stellen *= 10;
				int operand = -1;
				double nenner = 1;
				double pi = 0;
				while (nenner <= stellen)
				{
					if (operand == 1)
						pi -= (1/nenner);
					else
						pi += (1/nenner);
					operand *= -1;
					nenner += 2;
				}
				pi *= 4;
				//A
				Console.WriteLine("Pi ist: {0}", pi);
				Console.WriteLine("Mit {0} Reihengliedern", stellen/2);
				Console.ReadLine();
				return true;
			} 
			catch
			{
				return false;
			}
		}
	}
}


49.485 Beiträge seit 2005
vor 18 Jahren

Hallo fneuweiler.

du berechnest ja eine Folge. Du könntest die beiden letzten Folgenglieder ausgeben. Dann hast du ein Interval, in dem Pi liegen musst und damit gleichzeitig den Fehler.

Oder meinst du auch den Fehler, der durch Rundungsfehler entsteht?

herbivore

4.221 Beiträge seit 2005
vor 18 Jahren

Nur der Vollständigkeit halber...

PI gibts auch im Namespace Math (Math.PI)

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

F
fneuweiler Themenstarter:in
17 Beiträge seit 2005
vor 18 Jahren

Ich will diesen Wert ausrechnen und zwar wenn ich oben 1000 eingebe das es dann auf die tausendstel stelle genau ist!

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo fneuweiler,

das tust du doch schon; abgesehen von dem "wenn stellen gleich 10, dann stellen mal 20", was ich nicht verstehe. Ansonsten müsstest du vielleicht noch stellen *= 10; in stellen *= 4; ändern.

herbivore

F
fneuweiler Themenstarter:in
17 Beiträge seit 2005
vor 18 Jahren

Habs gelöst! Danke an alle!!!