Übung zu praktischen Arbeitsmethoden (MT3) Geowissenschaftliche Datenverarbeitung mit FORTRAN90 Physische Geographie Uni Augsburg Inhalt: Programmiersprache FORTRAN90/95 Ziel: Wozu Programmieren? Erlernen des Programmierens allgemein Fähigkeit zur flexiblen Verarbeitung von Geodaten Fähigkeit zur Lösung komplexer (EDV-)Probleme allgemein Leistungsnachweis: 1.) kleinere Übungsaufgaben = Programm-Quelltext-Dateien (unbenotet) 2.) größeres eigenständig angefertigtes Programm mit Dokumentation/Beschreibung (benotet) an: Betreff: [email protected] fortran2008II_u??_<benutzerkennung> Übung zu praktischen Arbeitsmethoden (MT3) Geowissenschaftliche Datenverarbeitung mit FORTRAN90 Physische Geographie Uni Augsburg Terminhinweis: Sitzung nächste Woche: 21.10.08 muss wegen Tagung entfallen! Übung zu praktischen Arbeitsmethoden (MT3) Geowissenschaftliche Datenverarbeitung mit FORTRAN90 Physische Geographie Uni Augsburg Literatur: Regionales Rechenzentrum Niedersachsen (Hrsg.) (1997): Fortran95 – Nachschlagewerk für ANSI-Fortran/DIN-Fortran. Hannover. Regionales Rechenzentrum Niedersachsen (Hrsg.) (2004): Unix Eine Einführung . Hannover Kühme, T. & Witschital P. (1991): Die Fortran-Fibel. Oldenburg + Antiquariat ... + Internet!!! geowiki: http://geo21.geo.uni-augsburg.de/geowiki Kolinsky Skript! Physische Geographie Uni Augsburg Geowissenschaftliche Datenverarbeitung mit FORTRAN90 Rechnerbedienung: Der Rechner als Werkzeug zur Datenverarbeitung Bildschrim/Drucker ? OUTPUT Rechner Arbeitsspeicher CPU Mensch INPUT Tastatur/Maus Festspeicher Physische Geographie Uni Augsburg Geowissenschaftliche Datenverarbeitung mit FORTRAN90 Rechnerbedienung: Der Rechner als Werkzeug zur Datenverarbeitung Rechner Bildschrim/Drucker Arbeitsspeicher OUTPUT Betriebssystem Software CPU Mensch INPUT Tastatur/Maus Festspeicher Geowissenschaftliche Datenverarbeitung mit FORTRAN90 Rechnerbedienung: Der Rechner als Werkzeug zur Datenverarbeitung Mensch Shell/Software/GUI Betriebssystem Hardware Physische Geographie Uni Augsburg Physische Geographie Uni Augsburg Geowissenschaftliche Datenverarbeitung mit FORTRAN90 Rechnerbedienung: Der Rechner als Werkzeug zur Datenverarbeitung Tastatur Mensch Shell/Software/GUI Betriebssystem Hardware Maus Geowissenschaftliche Datenverarbeitung mit FORTRAN90 Physische Geographie Uni Augsburg Rechnerbedienung: Bedienung eines Rechners = Aufruf eines ausführbaren Programmes Beispiel 1: Der Befehl „echo“ (Ausgeben eines Wortes) „echo“ ist eine ausführbare Datei (executable) in /bin/ less /bin/echo -> binäre Steuerzeichen für den Prozessor! Beispiel 2: Der Befehl „/usr/bin/oowriter“ (Textverarbeitung) „oowriter“ ist eine executable in /usr/bin/ Geowissenschaftliche Datenverarbeitung mit FORTRAN90 Physische Geographie Uni Augsburg Rechnerbedienung: Bedienung eines Rechners = Aufruf eines ausführbaren Programmes Wie werden executables zur Rechnerbedienung erzeugt? Kein Mensch kann/will ausführbaren binär-code selbst schreiben! => einfache (human readable) Programmiersprache & Übersetzung in ausführbaren binär-code Physische Geographie Uni Augsburg Geowissenschaftliche Datenverarbeitung mit FORTRAN90 Der Weg von der Idee zur executable: 1.) Problem gedanklich in Teilschritte zerlegen 2.) Teilschritte als Anweisungen in Programmiersprache formulieren, in Quelltextdatei schreiben 3.) mit einem Hilfsprogramm (Compiler) in binärcode übersetzen Problem Programmiersprache Compiler Quelltext executable Beispiel: Problem Es soll das Wort „Hallo“ auf den Bildschirm geschrieben werden Physische Geographie Uni Augsburg Programmiersprache Fortran90 Compiler Quelltext Datei: hallo.f90: program main write(*,*)“hallo“ end program main executable gfortran hallo.f90 >./a.out >hallo Die Datei „hallo.f90“ ist die sog. Quelltext-Datei (source code) Sie kann mit jedem x-beliebigen Editor geschrieben werden (pico, vi, xemacs, etc.) Sie enthält Anweisungen in Fortran90-Syntax (die der Fortran-Compiler versteht) Der Compiler „gfortran“ wird aufgerufen mit dem Namen der Quelltextdatei als Argument Er liest die Anweisungen in „hallo.f90“ der Reihe nach und produziert (wenn nichts anderes angeben ist) die executable „a.out“ Die executable „a.out“ enthält den ausführbaren binärcode Sie kann als Befehl aufgerufen werden und führt die Anweisungen aus Beispiel: Problem Es soll das Wort „Hallo“ auf den Bildschirm geschrieben werden Physische Geographie Uni Augsburg Programmiersprache Fortran90 Compiler Quelltext Datei: hallo.f90: program main write(*,*)“hallo“ end program main executable gfortran hallo.f90 >./a.out >hallo Übung: Lassen Sie ihren Namen statt „hallo“ ausgeben! Vorgehensweise: 1.) die Datei „hallo.f90“ editieren: pico hallo.f90 (strg-x zum Beenden von pico, y, Enter) 2.) Compileraufruf: gfortran hallo.f90 3.) die neu erstellte executable ausführen: ./a.out Physische Geographie Uni Augsburg Übungsaufgabe bis Montag: fortran2008II_u01_<Benutzerkennung> Lassen Sie die Worte „hallo <Benutzerkennung>“ ausgeben per e-mail an: [email protected] Betreff: fortran2008II_u01_<benutzerkennung> Anhang 1: die Quelltextdatei (hallo.f90) Anhang 2: die executable (a.out) Compilerbedienung Physische Geographie Uni Augsburg Es gibt verschiedene Fortran-Compiler, u.a.: - gfortran (open source) - ifort (intel, persönliche Benutzung frei, schnell) - pgf90 (Portlandgroup compiler) Alle compiler wollen die Endung „.f90“ für Fortran90-Quelltexte Die zu erstellende executable kann statt „a.out“ auch anders benannt werden: Argument „-o <name>“ bei Aurfuf > gfortran ­o hallo hallo.f90 > ./hallo hallo Weitere Optionen: > gfortran ­­help