G. Lamprecht Einführung in die Programmiersprache FORTRAN 77 Programmiersprachen ----------. Formale Sprachen, von H. Becker und H. Walter Einführung in ALGOL 60, von H. Feldmann Einführung in ALGOL 68, von H. Feldmann Einführung in die Programmiersprache PASCAL, von K.-H. Becker und G. Lamprecht Einführung in PASCAL, von H. Feldmann Die Programmiersprache PASCAL, von D. Krekel und W. Trier Einführung in die Programmiersprache Ada, von M. Nagl Einführung in die Programmiersprache PLl1, von H. Kamp und H. Pudlatz Einführung in die Programmiersprache FORTRAN 77 von G. Lamprecht Einführung in die Programmiersprache FORTRAN IV, von G. Lamprecht Einführung in die Programmiersprache SIMULA, von G. Lamprecht Einführung in die Programmiersprache BASIC, von W.-D. Schwill und R. Weibezahn BASIC in der medizinischen Statistik, von H. Ackermann Einführung in die Programmiersprache COBOL, von W.-M. Kähler PEAR L, Process and Experiment Automation Realtime Language, von W. Werum und H. Windauer Vieweg -----------------/ Günther Lamprecht Einführung in die Programmiersprache FORTRAN 77 Skriptum für Hörer aller Fachrichtungen ab 1. Semester Springer Fachmedien Wiesbaden GmbH CIP-Kurztitelaufnahme der Deutschen Bibliothek Lampracht. Günther: Einführung in die Programmiersprache FORTRAN 77 (Siebenundsiebzig): Skriptum für Hörer aller Fachrichtungen ab 1_ Semester/Günther Lamprecht. - Braunschweig; Wiesbaden: Vieweg, 1981. (Uni-Text! ISBN 978-3-528-03345-3 ISBN 978-3-663-14158-7 (eBook) DOI 10.1007/978-3-663-14158-7 1. Auflage 1981 Nachdruck 1983 Alle Rechte vorbehalten © Springer Fachmedien Wiesbaden 1981 Ursprünglich erschienen bei Friedr. Vieweg & Sohn Verlagsegesellschaft mbH, Braunschweig 1981. Die Vervielfältigung und Übertragung einzelner Textabschnitte, Zeichnungen oder Bilder, auch für Zwecke der Unterrichtsgestaltung, gestattet das Urheberrecht nur, wenn sie mit dem Verlag vorher vereinbart wurden. Im Einzelfall muß über die Zahlung einer Gebühr für die Nutzung fremden geistigen Eigentums entschieden werden. Das gilt für die Vervielfältigung durch alle Verfahren einschließlich Speicherung und jede Übertragung auf Papier, Transparente, Filme, Bänder, Platten und andere Medien. Inhaltsverzeichnis Einleitung 1 1 Ein einführendes Beispiel 4 2 Bildung arithmetischer Ausdrücke 9 3 Schleifensteuerung, logische Größen 15 4 Polynomberechnung; Vektoren, Matrizen 23 5 Ausgabe auf dem Drucker; FORMAT-Anweisung 32 6 Eingabe von Datenkarten 45 7 Interne Darstellung von Zeichen; Initialisierung von Variablen 50 8 Unterprogrammtechnik: Funktionsunterprogramme 61 9 Unterprogrammtechnik: Subroutinen, Vektoren und Matrizen als Parameter 69 10 Parameterübergabe durch den COMMON-Bereich 77 11 Der Datentyp COMPLEX 82 12 Zugriff auf Dateien 84 13 Uminterpretieren von Datensätzen; die Anweisungen DECODE und ENCODE 93 Lösungen zu den Beispielen und Aufgaben 96 Anhang A: Interne ZahlendarsteIlung 121 B: DO-Schleifen 124 C: Vorgegebene Funktionen 127 D: Zusammenstellung der Statements 130 Sachwortverzeichnis 132 Vorwort FORTRAN IV ist die im wissenschaftlichen Bereich am weitesten verbreitete Programmiersprache. Für fast alle Rechenanlagen und in zunehmendem Maße auch in Tischrechnern ("intelligenten Terminals") stehen FORTRAN Compiler zur Verfügung. Bedingt durch das große Spektrum von Rechenanlagen mit den vielfältigen Bedürfnissen der verschiedensten Anwendungsgebiete wurden viele Sprach erweiterungen von FORTRAN IV vorgenommen, so daß heute eine fast unübersehbare Zahl von IISprachdialekten" vorliegt. Obwohl FORTRAN IV eine sogenannte höhere Programmiersprache ist und damit die Programme eigentlich unabhängig von der benutzten Rechenanlage sein sollten, haben die verschiedenen FORTRAN-Dialekte zu Umstellungsschwierigkeiten ge führt. Deshalb war es notwendig und konsequent, einen neuen FORTRAN Standard zu schaffen. Dies ist mit FORTRAN 77 geschehen, das im wesent lichen eine Erweiterung von FORTRAN IV darstellt und so die früheren Abweichungen soweit wie möglich in den Standard aufnimmt. Das vorliegende Buch führt in die Programmiersprache FORTRAN 77 an Hand von Beispielen ein, wobei gleichzeitig auf abweichende Sprachelemente von FORTRAN IV eingegangen wird. Die Beispiele und Aufgaben sind so gewählt, daß sie ohne allzu große Vorkenntnisse mit den dargestellten FORTRAN-Anweisungen gelöst werden können. Dabei lernt der Leser mit Ausnahme weniger Anweisungen den gesamten Sprachumfang von FORTRAN 77 kennen. Frau U. Kleinschmidt möchte ich an dieser Stelle für ihre Sorgfalt beim Schreiben der Druckvorlage danken. Bremen, im März 1981 Günther Lamprecht -1- Einleitung Von der Formulierung eines Problems bis hin zu seiner Lösung können wir folgende Stationen angeben, die nacheinander zu durchlaufen sind: Entscheidet man sich bei der Auswahl der adäquaten Hilfsmittel für die Anwendung einer Rechenanlage, so muß der Lösungsweg in eindeutiger Weise beschrieben werden. Alle möglichen Sonderfälle müssen erkannt und berücksichtigt sein. Erst dann kann man den Lösungsweg - etwa in der Programmiersprache Fortran - programmieren. Nachdem das Programm in allen Einzelheiten (am Schreibtisch) aufgestellt ist, kann es Anweisung für Anweisung abgelocht, d.h. auf Lochkarten übertragen werden. Das Paket von Lochkarten stellt das Programm in einer für die Rechenanlage "lesbaren" Austesten Programms Form dar.+) Die Rechenanlage liest das Programm, das kritische Diskussion in einer sogenannten problemorientierten der Ergebnisse Sprache formuliert ist, und übersetzt die (Kontrollrechnung) einzelnen Anweisungen mit Hilfe eines besonderen Programms, des sogenannten Compilers, in eine für die Maschine un mittelbar verständliche Sprache ("maschinenorientierte Sprache"). In dieser Phase werden von dem Compiler alle Verstöße gegen die Regeln der problemorientierten Sprache erkannt und dem Programmierer mitgeteilt. Ist das Programm ausgetestet, d.h. sind alle formalen Fehler beseitigt und liefert das Programm die berechneten Werte, so sind die Ergebnisse einer kritischen Diskussion zu unterziehen. Von dieser Diskussion hängt es ab, ob der Lösungsweg anders beschrieben, die Wahl der adäquaten Hilfsmittel anders getroffen oder das Problem anders formuliert werden muß. Erst dann, wenn die Rechnung die gewünschten Ergebnisse liefert, kann das betrachtete Problem als gelöst angesehen werden. +)Die Lochkarten stellen nicht die einzige Eingabemöglichkeit für Programme dar, wir werden sie aber wegen ihrer Anschaulichkeit hier beschreiben. -2- Für den formalen Aufbau der Programmiersprache Fortran ist es unwesentlich, welche Konfiguration die benutzte Rechenanlage besitzt. Zum Verständnis ist es aber sicher gut, den prinzipiellen Aufbau einer Rechenanlage zu kennen. Er soll daher hier schematisch angegeben werden. Arbei ts- -- --- speicher Magnet- platten- -- einheiten Zentrale Magnetband- -------- Rechen- --- einheiten einheit --- Disketten- einheiten Von der zentralen Recheneinheit werden alle Geräte der Rechenanlage bedient. Sie ist sozusagen das Herzstück. Uber den Kartenleser werden die Programme (und eventuell zugehörige Daten) in die Rechenanlage gegeben. Auf dem Drucker erscheinen ein Protokoll der eingegebenen Programmkarten und zusätzlich alle Fehlermeldungen, die das Programm betreffen. Ist das Programm ausgetestet, können die Ergebnisse ebenfalls über den Drucker ausgegeben werden, und zwar in der Form, die im Programm vorgesehen ist. Im Arbeitsspeicher wird das Programm während der gesamten Ausführungszeit aufbewahrt und außerdem werden hier alle vom Programm angeforderten Speicher plätze reserviert. Uber die Magnetband- und Magnetplatteneinheiten kann man externe Speichermedien (Magnetbänder, Magnetplatten) ansprechen und so Daten ein- oder ausgeben. Durch den Kartenstanzer können Programmkarten dupliziert oder berechnete Daten auf Lochkarten ausgegeben werden, die man später über den Kartenleser erneut eingeben kann. In den letzten Jahren verloren die Lochkarten als Datenträger an Bedeutung. An ihre Stelle traten als Programm-Eingabe-Möglichkeiten zunächst Time-Sharing-Geräte ("Terminals"), die dem Programmierer den unmittelbaren Zugang zur Rechenanlage gaben. Neuerdings werden an den Terminals Disketten ("floppy disk") eingesetzt. Dies sind runde Kunststoffscheiben mit einer oder zwei magnetisierbaren Ober flächen, auf denen die Information von 1000 bis 5000 Lochkarten abgespeichert -3- werden kann. Gemeinsam ist den Eingabe-Medien für Programme, daß sie die Information wie bei den Lochkarten strukturieren ("Kartenabbild"); aus diesem Grunde wollen wir im folgenden die anschaulichere und anfaßbare Lochkarte zugrunde legen. In Fortran kann man als Grundelement Variable und Konstanten mit unterschied lichen Eigenschaften handhaben. Hierzu zählen - ganzzahlige Größen (INTEGER) - reellwertige Größen (REAL und DOUBLE PRECISION) - komplexwertige Größen (COMPLEX) - logische Größen (LOGICAL) und zusätzlich in Fortran 77 - Zeichen-Größen ( CHARACTER) Die einzelnen Grundelemente kann man zu größeren Einheiten verknüpfen (z.B. arithmetische Ausdrücke, Boolesche Ausdrücke, Zeichenausdrücke), man kann ihre Werte ausgeben lassen (WRITE-Anweisungen) oder den Variablen Werte durch Zuweisungen oder Eingabe-Anweisungen (READ) von externen Speichern übermitteln. Darüberhinaus kann man ein Programm durch Schleifen, Unterprogramme und bei Fortran 77 auch durch Blöcke strukturieren. Die einzelnen Sprachelemente sollen in den folgenden Kapiteln an Hand einfacher Beispiele beschrieben werden. Dabei ist das Ziel nicht eine vollständige Beschreibung der Sprache - diese kann man später im Handbuch nachlesen.+) Vielmehr soll das Verständnis für die Sprache geweckt werden, wobei man bei späteren Anwendungen bewußt auf solche Teile der Sprache verzichten sollte, die Schwierigkeiten beim tlbergang von einer Anlage zur nächsten verursachen. +)Trotzdem sind bis auf wenige, in der Praxis kaum benötigte Statements alle Anweisungen von Fortran 77 beschrieben; vgl. Anhang D, Seite 130.
Description: