identification division.
program-id. zeta.
author. "Bernhard Riemann".
* von der Uni Leipzig
* http://www.informatik.uni-leipzig.de/~meiler/Schuelerseiten.dir/DPlotzki/html/reihen.htm
date-written. 9.11.2007.
date-compiled.
data division.
working-storage section.
77 ch pic X.
* Exponent von des Nenners
77 s pic s15(8) comp-5 value 0.
* Basis des Nenners der Teilsummen
77 n pic s15(8) comp-5 value 1.
* Ergebnis der Reihe f(s)
77 summe pic s15(8) comp-5 value 0.
* Wird jedes mal zur Summe dazu addiert; =1/(n^s)
77 summand pic s15(8) comp-5 value 0.
* Exponent des Grenzwertes, wird durch Benutzer bestimmt
77 GrenzExponent pic s15(8) comp-5 value 0.
* Ergebnis wird mit 12 Stellen nach dem Komma ausgegeben
77 ausgabe pic(100).
* Zwischenschritte anzeigen: 0==nein 1==ja
77 obzwischen pic 9(4) value 0.
77 Grenzwert pic s15(8) comp-5.
procedure division.
* Überschrift ausgeben; zweimal neue Zeile
display "Berechnung von Reihen"
display "" display ""
* nach s fragen und s einlesen
display "s= " accept s
display ""
* nach Grenzwertexponent fragen und einlesen
display "Grenzwert=10^" accept grenzExponent
* Grenzwert: der Summand darf nicht kleiner sein
compute grenzwert=(function pow(10, grenzExponent))
* sollen Zwischenergebnisse angezeigt werden?
display "Zwischenergebnisse anzeigen:"
display "0=nein" "1=ja"
display ">> " accept obzwischen
* Nach der Abfrage einen Strich ziehen
display "----------------------------"
* den Summanden ein erstes mal bestimmen
compute summand=(1/(function pow(n,s)))
* solange der Summand den Grenzwert nicht unterschreitet
perform until (summand<=grenzwert)
* Summanden zur Summe dazu addieren
add summand to summe
* die Basis des Nenners um eins erhöhen
add 1 to n
* wenn Zwischenschritte angezeigt werden sollen
if obzwischen=1
* den auszugebenden Text in den char-String "ausgabe" schreiben...
* und am Bildschirm ausgeben
display "Zwischensumme: "summe" Summand: "summand
end-if
* den Summanden nach Erhöhung von n wieder neu berechnen
compute summand=(1/(function pow(n,s)))
end-perform
* Zeilenumbruch
display ""
* Näherungswert für Summe in den char-String schreiben...
* und am Bildschirm ausgeben
display "Summe = "summe
accept ch
end-program zeta.
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|