Autor Beitrag
Pro-Gamer
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 13.01.09 20:30 
Hallo Forum,
Ich bin bei der Suche nach Hilfe bei Google bei euch gelandet ...
Ich bin Schüler eines Gymnasiums ( 9. Klasse ) und bräuchte Hilfe beim entwickeln eines Programmes.Dieses Programm soll so einfach wie nur möglich , und vorallem verständlich für mich , sein.
Dieses Programm soll Pi mit der "While Do" Funktion auf 5, es können auch mehr sein muss es aber nich , Stellen berechnen.
Nun ein Problem ! Ich habe die Formel nich mehr im Kopf ich weiss nur noch Bruchteile davon
evtl. kennt ihr die Formel !

Die Formel war irgendetwas mit: n/(n-1)(n+1)+2n/(2n-1)(2n+1) ...

ich hoffe ihr wisst welche Formel das ist.


MfG Pro-Gamer!

Edit: Das Programm kann auch mit der "For To Do" Funktion geschrieben sein!


Zuletzt bearbeitet von Pro-Gamer am Di 13.01.09 21:15, insgesamt 1-mal bearbeitet
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Di 13.01.09 20:41 
N'abend Pro-Gamer,

Wikipedia liefert dazu recht ausführliche Informationen:

de.wikipedia.org/wiki/Kreiszahl

Viel Freude bei der Umsetzung!

(nebei: es gibt keine geschlossene Formel fü Pi, man kann bisher nur "Bruchstücke" angeben.

//Edit
Entschuldige fals das etwas kurz geraten ist. Es gibt hier so eine Art "EhrenCodex": Hilfe bei konkreten Problemen: ja, Hilfe bei Hausaufgaben: nein (in Kurzform).
Sollten sich bei der Umsatzung Probleme zeigen wird Dir hier geholfen werden können.
Pro-Gamer Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 13.01.09 21:00 
user profile iconTilo hat folgendes geschrieben Zum zitierten Posting springen:
N'abend Pro-Gamer,

Wikipedia liefert dazu recht ausführliche Informationen:

de.wikipedia.org/wiki/Kreiszahl

Viel Freude bei der Umsetzung!

(nebei: es gibt keine geschlossene Formel fü Pi, man kann bisher nur "Bruchstücke" angeben.

//Edit
Entschuldige fals das etwas kurz geraten ist. Es gibt hier so eine Art "EhrenCodex": Hilfe bei konkreten Problemen: ja, Hilfe bei Hausaufgaben: nein (in Kurzform).
Sollten sich bei der Umsatzung Probleme zeigen wird Dir hier geholfen werden können.


Nabend Tilo,

ich hätte sicher kein Problem damit dies zu tun ... wenn ich wüsste wie diese Funktionen Funktionieren...
Ich lag in den letzten 2 wochen im Krankenhaus und morgen schreib ich in Informatik einen Test wo diese Programmierung dran kommt ( höstwarscheinlich die Berechnung von Pi)
..
ich habe meine Mitschüler natürlich danach gefragt aber was diese mir erzählt hatten hätte nich mal ein Professor verstanden ! Daher habe ich nachgefragt ob ihr mir den Code mal aufschreiben könntet bzw. den anfang mir hinlegen könntet !

MfG Pro-Gamer!
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 13.01.09 21:06 
ausblenden Delphi-Quelltext
1:
var pi : Extended;					


ausblenden Delphi-Quelltext
1:
  system.pi					


:mrgreen:
Pro-Gamer Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 13.01.09 21:10 
user profile iconj.klugmann hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
var pi : Extended;					


ausblenden Delphi-Quelltext
1:
  system.pi					


:mrgreen:


ok sowas hatte ich mir nich vorgestellt ^^ jetzt hab ich es komplett verpeilt ;)
was is dieses system.pi?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 13.01.09 21:12 
Zum Berechnen kannst Du z.B. die Leibniz-Reihe benutzen: de.wikipedia.org/wiki/Leibniz-Reihe

Du machst Dir eine Schleife (repeat-until oder while-do). In jedem Schleifendurchlauf machst Du einen weiteren Schritt der Reihe. Das Ergebnis vergleichst Du dann mit dem Ergebnis aus dem vorigen Schleifendurchlauf. Wenn der Unterschied zwischen den beiden Ergebnissen klein gennug ist (das Ergebnis also genau genug), dann muss die Schleife abbrechen.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Pro-Gamer Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 13.01.09 21:14 
user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
Zum Berechnen kannst Du z.B. die Leibniz-Reihe benutzen: de.wikipedia.org/wiki/Leibniz-Reihe

Du machst Dir eine Schleife (repeat-until oder while-do). In jedem Schleifendurchlauf machst Du einen weiteren Schritt der Reihe. Das Ergebnis vergleichst Du dann mit dem Ergebnis aus dem vorigen Schleifendurchlauf. Wenn der Unterschied zwischen den beiden Ergebnissen klein gennug ist (das Ergebnis also genau genug), dann muss die Schleife abbrechen.


Danke genau das hat mir jetzt weitergeholfen !!
Pro-Gamer Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 13.01.09 21:27 
[quote="user profile iconPro-Gamer"(544203)]
user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
Zum Berechnen kannst Du z.B. die Leibniz-Reihe benutzen: de.wikipedia.org/wiki/Leibniz-Reihe

Du machst Dir eine Schleife (repeat-until oder while-do). In jedem Schleifendurchlauf machst Du einen weiteren Schritt der Reihe. Das Ergebnis vergleichst Du dann mit dem Ergebnis aus dem vorigen Schleifendurchlauf. Wenn der Unterschied zwischen den beiden Ergebnissen klein gennug ist (das Ergebnis also genau genug), dann muss die Schleife abbrechen.


Danke genau das hat mir jetzt weitergeholfen !!
//Edit : Doch nicht ganz wenn man die forme von leibniz nimmt kommt man doch gar nicht auf Pi ( zumindest mit den taschenrechner nicht ) wie soll ich mir die formel vorstellen damit ich da auf Pi komme ;)?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 13.01.09 21:29 
Lesen musst Du bei Wiki schon :? Die Formel liefert Pi / 4.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Di 13.01.09 21:30 
Schau dir mal die Tabelle auf Wikipedia weiter unten an. Das dauert etwas, bis man Pi "erkennt". Für 3.14 braucht man ca. 1000 Summanden. Das geht mit dem Taschenrechner nur dann, wenn man wirklich schnell tippen kann. :lol:

_________________
We are, we were and will not be.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Di 13.01.09 21:38 
user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Für 3.14 braucht man ca. 1000 Summanden
Irre ich mich, oder gab es da nicht Formeln, die schneller konvergieren :? ?

E: Klar, zu kompliziert für den Unterricht :lol:

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Di 13.01.09 23:45 
Falls noch nicht gelöst worden, hier der gesuchte Code in Java, vielleicht hilfts. (haben wir als erstes Programm in der uni gemacht)

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
import java.util.*;

/*
 * Programm: Pi
 * Autor: Michael Schrödl, 0826900
 * 
 * Das Programm rechnet Pi mit der Genauigkeit von n aus.
 * 
 */

public class Pi {
  public static void main(String[] args) {
    Scanner eingabe = new Scanner(System.in);
    
     long Approximationsgrad = 0;
    long outercounter = 0;
    double zaehler = Math.sqrt(2);
    double hauptzaehler= 1;
    char Antwort = 'n';
    boolean Ausgegeben;

    do {
      Ausgegeben = false;
      System.out.println("Berechnung von Pi mit der der Formel von Viète.\nBitte geben sie den Grad der Genauigkeit an: (1 - " + Long.MAX_VALUE + ")");
      do {
        try {
          Approximationsgrad = eingabe.nextLong();    //Benutzereingabe einlesen
          if (Approximationsgrad < 1) {  //Bei Negativer Zahl
            System.out.println("ERROR: Die Zahl muss größer/gleich 1 sein.");  //Fehlermeldung ausgeben
          }
        }
        catch (InputMismatchException e) {  //Bei ungültiger Eingabe
          System.out.println("ERROR: Ungültige Eingabe. Bitte versuchen sie es erneut.");  //Fehlermeldung ausgeben
          eingabe.next();          //Eingabe löschen
        }
      } while (Approximationsgrad < 1);
      
      while (Approximationsgrad > outercounter) {  //Wenn Schleifendurchläufe < Genauigkeit
        hauptzaehler *= (zaehler / 2);      //Pi berechnen
        zaehler = Math.sqrt(2+zaehler);      //neuer Zaehler berechnen
        if (zaehler==2 && !Ausgegeben) {    //wenn Max. Genauigkeit erreicht
          System.out.println("Max. Genauigkeit erreicht: " + outercounter + " Durchläufe.\n");  //Meldung ausgeben
          Ausgegeben = true;          //Variable setzen um nochmaliges Ausgeben zu verhindern
        }
        ++outercounter;              //Anzahl der Schleifen erhöhen
      }
      
      System.out.println("Pi wurde als " + 2 / hauptzaehler + " berechnet.");    //Pi ausgeben
      System.out.println("*****************************************\n");      //Zierleiste ausgeben
            
      System.out.println("Wollen sie noch mal berechnen lassen? (j/n)");      //Fragen ob nochmal berechnet werden soll
      do {
        Antwort = eingabe.next().charAt(0);      //Antwort einlesen
        if (Antwort != 'j' && Antwort != 'n'){    //Antwort auf korrektheit überprüfen
          System.out.println("ERROR: Keine korrekte Antwort. Bitte nur j oder n eingeben.");    //Fehlermeldung ausgeben
          Antwort = 'k';    //Wiederholbedingung setzen
        }
      }
      while (Antwort == 'k');
    
    } while (Antwort == 'j'); 
      
  }
}


also bei mir is die größte genauigkeit bei 26 durchläufen erreicht.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mi 14.01.09 00:32 
user profile iconPro-Gamer hat folgendes geschrieben Zum zitierten Posting springen:
Ich lag in den letzten 2 wochen im Krankenhaus und morgen schreib ich in Informatik einen Test wo diese Programmierung dran kommt
Und ich glaub Dir aufs Wort, das Du das Alles dem Lehrer erzählt hast und er sich einen feuchten Kericht darum schert.

_________________
Na denn, dann. Bis dann, denn.
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mi 14.01.09 10:14 
:oops: mein code stellt doch nicht die Leibnitz-Reihe dar, sondern die Formel von Viète. Macht aber nix, da beide Pi ausrechnen. :D

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
rizla
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 417
Erhaltene Danke: 2

XP
FPC mit Lazarus
BeitragVerfasst: Mi 14.01.09 12:37 
Ja, das ist echt hart!
Wenn jmd 2 Wochen im KH liegt, dann wird er schon was haben (also pathologisch).
Dass die Lehrer da keine Rücksicht drauf nehmen, kann ich mir nicht vorstellen, war jedenfalls
bei mir nicht so (oder waren meine Lehrer damals einfach menschlicher?).
Für mich klingts ein bisschen wie:

"Ich (hatte) in den letzten 2 wochen (was besseres zu tun als mich um die Schule zu kümmern)
und morgen schreib ich in Informatik einen Test wo diese Programmierung dran kommt"

Sry, aber wird immer mehr mit dieser Art Beitrag ("ich brauch für die Schule", "ein sourcecode wäre gut", usw usf).
Ohne jmd was unterstellen zu wollen. Aber das ist wohl heutzutage so: delphi starten, klick hier, klick da,
copy&paste hier, copy&paste da, kompilieren und fertig.
Viel mit Theorie und Überlegen ist heute nicht mehr, aber ist klar, wenn alles im Internet verfügbar ist, wozu denken ;)

(Dieser Text ist aus einem anderem Beitrag per c&p erstellt worden ;))

:r:

_________________
if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.