Heute habe ich also mein erstes, kleines, komplett selbs konzipiertes Programm geschrieben (bis auf die Formel aus dem Matheunterricht) und habe auch schon gleich ein paar Fragen.
Da es, wie gesagt, mein erstes Programm ist, wundert euch bitte nicht über den wahrscheinlich _etwas_ unkonventionellen Lösungsweg. ^^
1. Problem: Ich kann Pi auf höchstens 14 Stellen hinter dem _Komma_ berechnen ansonsten erhalte ich 0 als Ergebnis.
2. Die weiter hinteren Stellen stimmen bereits nach kurzer Zeit nicht mehr.
3. Muss man die Prozedur "zwisch" wirklich so kompliziert angehen?
Dazu habe ich die Formel mal angehängt als Bild - Schön mit Paint gemacht ^^
(Ausgegangen wird bei der Gleichung durch eine Schrittweise Näherung: erst 6, dann 12, dann 24 Ecken...)
Program Pi;
Uses CRT;
VAR Sn, enderg: extended;
X: Byte;
Y: Word;
procedure zaehler;
begin
X:= X - 1; {Gib die Anzahl der Stellen hinterm Komma an}
Y:= Y * 2; {Gibt die Anzahl der Ecken an}
end;
procedure zwisch; {Ist ein Zwischenergebnis}
begin
SN:= Sn * Sn;
SN:= SN / 4;
SN:= 1-SN;
SN:= sqrt (sn);
SN:= 2 * SN;
SN:= 2 - SN;
SN:= sqrt (SN);
end;
procedure ergebnis;
begin
enderg:= y * SN;
end;
begin
highvideo;
writeln ('==============================================
==');
writeln ('= =');
writeln ('= Programm zur Berechnung der Kreiszahl Pi =');
writeln ('= =');
writeln ('==============================================
==');
writeln;
writeln;
writeln;
normvideo;
write ('Bitte geben sie die die gewünschte Anzahl der Stellen hinter dem Komma an...');
highvideo;
SN:= 1;
Y:= 3;
read (X);
normvideo;
repeat
zaehler;
zwisch;
ergebnis;
writeln (enderg);
until X = 0;
writeln ('Bitte bedenke, dass die Zahlen nur bis zur gewünschten Stelle korekt sind...');
readkey;
end.
Angehängte Datei(en)
-
Unbenannt.bmp (6,5K)
Anzahl der Downloads: 127 -
Pi.exe (22K)
Anzahl der Downloads: 46

Hilfe
Neues Thema
Antworten

Nach oben



