Programmteil-Eingabe

  • Bei vielen Programmen können Sie Funktionen definieren. Bei manchen kann dies wirklich in einem kurzen FORTRAN-Programmteil geschehen, bei anderen sind Sie auf die Eingabe einer Formel beschränkt.. Im letzteren Fall darf sich Ihre Eingabe über bis zu drei Zeilen erstrecken, ohne dass Sie sich um die Textposition (d.h. ab Spalte 7 und höchstens bis Spalte 72 in einer Zeile) kümmern müssen. Im ersteren Fall müssen Sie beachten, dass wir hier die Texteingabe im festen f77-Format verlangen: eventuelle numerische Marken in Spalte 1-5, Spalte 6 mit irgendeinem Zeichen als Kennzeichnung einer Fortsetzungszeile und Anweisungen nur in Spalte 7 bis 72. Ein nichtnumerisches Zeichen in Spalte 1 definiert eine Kommentarzeile. Es ist sinnvoll, in diesem Fall die Technik 'cut and paste' zu benutzen, damit Sie bei einem Tippfehler, den der Kompiler erst nach vollständiger Eingabe erkennen kann, nicht alles wieder neu eingeben müssen. Also : lokal den Text editieren und mit 'cut and paste' in die Fenster einfügen.
  • Es sind schon Beispiele in den Eingabeformularen vorgegeben, so daß Sie diese als Vorlage benutzen und entsprechend Ihrem Problem modifizieren können.
  • Die genaue Beschreibung der Eingabeform finden Sie eingeteilt nachfolgend in den Abschnitten Funktionsbezeichung, Variablen und Parameter, Fortranbefehle sowie ein Beispiel zu der Implementierung.
 

Funktionsbezeichnung, Variablen und Parameter

  • Als Variablennamen sind vorgesehen: x oder t bzw. bei mehreren Variablen x(j), j=1,...,n, wobei n die Dimension ist.
  • Die Funktionsnamen sind f(1),...,f(n), manchmal auch f, fx, gxi, hxi, ...
  • Außerdem können Sie manchmal Hilfsgrößen x1h,....,x9h (nicht notwendig gleich x(1) usw), verwenden.
  • Desweiteren stehen Ihnen (meistens) die Konstanten pi (wirklich pi) und sqrt2 zur Verfügung. Dies finden Sie bei den einzelnen Anwendungen vermerkt.
  • Eigene Variablen können nicht definiert werden.
 

Fortranbefehle

  • Die benutzte Programmiersprache ist FORTRAN, das bedeutet, daß die übliche FORTRAN-Form eingehalten werden muß :
    1. Ein 'C'in Spalte 1 kennzeichnet die ganze Zeile als Kommentar,
    2. ansonsten sind die Spalten 1 bis 5 sind den (numerischen) Labels vorbehalten, wenn Sie denn welche benutzen wollen, was aber Sie aber nur im Optimierungsteil benötigen, wenn Sie nicht das if ... then ... else ... endif. Konstrukt bevorzugen
    3. Ein Zeichen ungleich ''Zwischenraum'' in Spalte 6 kennzeichnet diese als Fortsetzungszeile einer vorangegangenen. Dies braucht man bei längeren Anweisungsteilen im Optimierungsteil.
    4. Normalerweise beginnt eine Zeile also mit 6 Leerzeichen.
    5. Außerdem dürfen auch keine zu langen Zeilen eingetippt werden: Alles was nach der Spalte 72 einer Zeile kommt (vom Anfang der Zeile aus gezählt), versteht der FORTRAN-Kompiler nicht. Das ergibt manchmal unverständliche Fehlermeldungen.
    6. wenn Sie einen Text eingeben wollen, z.B. als Titel einer Grafik, dann darf darin kein Zwischenraum auftreten. Benutzen Sie stattdessen underscore.
    7. Wenn Sie die bekannten Standardfunktionen benutzen wollen, dann müssen Sie die sogenannten spezifischen Namen für die "doppelte Genauigkeit" benutzen, also dsqrt, dsin, dcos, dexp, dlog, dlog10, datan, dabs usw. Ein von uns benutztes public domain tool rechnet sonst Unsinn, es gibt aber keinerlei Fehlerindikator.
 

Beispiel

  • einer Funktionsimplementierung:
    x1h=x(1)**2
    x2h=x(2)**2
    f(1)=x1h+x2h-5.d0
    f(2)=x1h-x2h-3.d0
  • einer Funktionsimplementierung:
    fx=0
    do 100 j=1,20
    fx=fx+(x(j)+dble(j))*dlog(x(j))
    100 continue
 

Zurück zu den Seiten:

 
Back to the top!

29.09.2008