fortran - wi1.uni- seminar programmiersprachen fortran 5 2 historische entwicklung 2.1 fortran i...

Download FORTRAN - wi1.uni-   Seminar Programmiersprachen FORTRAN 5 2 Historische Entwicklung 2.1 FORTRAN I 2.2 FORTRAN II, III, IV 2.3 FORTRAN 66 2.4 FORTRAN 77 2.5 Fortran 90

Post on 06-Mar-2018

249 views

Category:

Documents

15 download

Embed Size (px)

TRANSCRIPT

  • 1

    Seminar Programmiersprachen

    FORTRAN

    Robert Moeck

    Seminar Programmiersprachen

    FORTRAN 2

    Gliederung

    1 Einfhrung

    2 Historische Entwicklung

    3 Ausgewhlte Features von Fortran

    4 Anwendungsgebiete

    5 Quick Sort

    6 Zusammenfassung und Ausblick

  • 2

    Seminar Programmiersprachen

    FORTRAN 3

    1 Einfhrung

    FORmula TRANslation

    Entwicklung in den 1950er Jahren Erster Hochsprachen-Standard

    Viele Standardisierungen

    Numerische Rechenoperationen

    Hauptanwendung in Naturwissenschaften und Ingenieurwesen

    Seminar Programmiersprachen

    FORTRAN 4

    Gliederung

    1 Einfhrung

    2 Historische Entwicklung

    3 Ausgewhlte Features von Fortran

    4 Anwendungsgebiete

    5 Quick Sort

    6 Zusammenfassung und Ausblick

  • 3

    Seminar Programmiersprachen

    FORTRAN 5

    2 Historische Entwicklung

    2.1 FORTRAN I

    2.2 FORTRAN II, III, IV

    2.3 FORTRAN 66

    2.4 FORTRAN 77

    2.5 Fortran 90

    2.6 Fortran 95

    Seminar Programmiersprachen

    FORTRAN 6

    2.1 FORTRAN I

    1957 Entwicklung des

    FORTRAN I-Compilers

    auf einem IBM 704

    IBM-Team unter

    John W. Backus (Foto)

    Schnelle Verbreitung in Wissenschaft und Militr

  • 4

    Seminar Programmiersprachen

    FORTRAN 7

    2.1 FORTRAN I

    Vorteile

    Enorme Effizienzsteigerung der Programmentwicklung

    Geringere Anforderungen an Programmierer

    Portabilitt !

    Seminar Programmiersprachen

    FORTRAN 8

    2.2 FORTRAN II, III, IV

    1958 FORTRAN II Separate Compilation einzelner Module

    1958 FORTRAN III Nicht verffentlicht

    Integration von Assembler-Code in

    Fortran-Code

    Assembler-Code: oft effizienter

    Aber: Verlust der Hochsprachen-Vorteile

    1961 FORTRAN IV Aufarbeitung von FORTRAN II

  • 5

    Seminar Programmiersprachen

    FORTRAN 9

    2.3 FORTRAN 66

    Seit 1962 ASA (American Standards Association) beschftigt sich mit Fortran

    1966 erster Hochsprachen-Standard: FORTRAN 66

    Computer-Hersteller statten neue Rechner mit Fortran-Compilern aus

    Seminar Programmiersprachen

    FORTRAN 10

    2.4 FORTRAN 77

    1977 ISO-Standard: FORTRAN 77

    somit weltweit

    Wichtigste Neuerungen Block-IF-Strukturen

    Pre-Test von DO-Schleifen

    Rckwrts laufende DO-Schleifen

    Datentyp CHARACTER

  • 6

    Seminar Programmiersprachen

    FORTRAN 11

    2.4 FORTRAN 77

    Bis einschl. FORTRAN 77: Spaltengerechte Codierung Lochkarten-Layout

    1 Zeile = 80 Spalten Spalten 1 6: Spezielle Angaben

    Anweisungsmarken Einleitung von Kommentarzeilen Einleitung von Fortsetzungszeilen

    Spalten 7 72: Anweisungsteil Spalten 73 80: Identifikationsfeld (Kennlochungender Karten)

    Seminar Programmiersprachen

    FORTRAN 12

    2.4 FORTRAN 77

    Beispiel

  • 7

    Seminar Programmiersprachen

    FORTRAN 13

    2.5 Fortran 90

    Viele neue, mchtige Features

    Spaltenunabhngige Codierung Kontrollstrukturen CASE und DO WHILE

    Abstrakte Datentypen

    Operator-berladung

    Dynamische Speicherverwaltung

    Modularisierung

    Seminar Programmiersprachen

    FORTRAN 14

    2.5 Fortran 90

    Enthlt alle zentralen Bestandteile einer modernen Programmiersprache

    Vollstndig abwrtskompatibel zu FORTRAN 77 !

  • 8

    Seminar Programmiersprachen

    FORTRAN 15

    2.6 Fortran 95

    Wenige Neuerungen

    Mehr Korrekturen von Fortran 90

    Untersttzung paralleler Programmierung forall

    PURE

    Seminar Programmiersprachen

    FORTRAN 16

    Gliederung

    1 Einfhrung

    2 Historische Entwicklung

    3 Ausgewhlte Features von Fortran

    4 Anwendungsgebiete

    5 Quick Sort

    6 Zusammenfassung und Ausblick

  • 9

    Seminar Programmiersprachen

    FORTRAN 17

    3 Ausgewhlte Features

    3.1 Grundlegende Programmstruktur

    3.2 Typkonzept

    3.3 Selbstdefinierte Ausdrcke

    3.4 Zeiger

    3.5 Felder

    3.6 Ein- und Ausgabe

    Seminar Programmiersprachen

    FORTRAN 18

    3.1 Grundlegende Programmstruktur

    Programmeinheiten sind Hauptprogramm

    Subroutinen (extern intern) Funktionen (extern intern) Module blockdata-Programmeinheiten

    In jeder Programmeinheit mssen Spezifikationsanweisungen vor ausfhrbaren Anweisungen stehen

  • 10

    Seminar Programmiersprachen

    FORTRAN 19

    3.1 Grundlegende Programmstruktur

    Hauptprogramm Startet die Ausfhrung eines Programms

    PROGRAM hallo_welt

    CHARACTER (LEN=6) :: H, W

    H = 'Hallo '

    W = 'Welt !'

    PRINT *, H, W

    END PROGRAM hallo_welt

    Einleitung

    Spezifikations-Anweisungen

    AusfhrbareAnweisungen

    Ende

    Seminar Programmiersprachen

    FORTRAN 20

    3.1 Grundlegende Programmstruktur

    Subroutinen

    SUBROUTINE sub_name[([par][,par]...])] [Spezifikationsteil]

    [Ausfhrungsteil]

    END SUBROUTINE sub_name

    Extern als eigenstndige Programmeinheit

    Intern als Unterprogramm Einbindung mittels CONTAINS

  • 11

    Seminar Programmiersprachen

    FORTRAN 21

    3.1 Grundlegende Programmstruktur

    Beispiel: Interne Subroutine

    PROGRAM hallo_welt

    PUBLIC :: hallo

    CONTAINS

    SUBROUTINE hallo

    PRINT *, 'Hallo Welt!'

    END SUBROUTINE hallo

    CALL hallo

    END PROGRAM hallo_welt

    Seminar Programmiersprachen

    FORTRAN 22

    3.1 Grundlegende Programmstruktur

    Funktionen

    FUNCTION func_name([par][,par]..)

    [Eingabepar.-Deklaration intent(in)][Ausgabepar.-Deklaration]

    [sonstiger Spezifikationsteil] [Ausfhrungsteil]

    END FUNCTION func_name

    Extern als eigenstndige Einheiten Intern in anderen Programmeinheiten (CONTAINS)

  • 12

    Seminar Programmiersprachen

    FORTRAN 23

    3.1 Grundlegende Programmstruktur

    Beispiel: Interne Funktion

    PROGRAM funktioniert

    PUBLIC :: hochdrei

    CONTAINS

    FUNCTION hochdrei(zahl)

    REAL, INTENT(IN) :: zahl

    REAL :: ergebnis

    ergebnis = zahl * zahl * zahl

    END FUNCTION hochdrei

    END PROGRAM funktioniert

    Seminar Programmiersprachen

    FORTRAN 24

    3.1 Grundlegende Programmstruktur

    Module

    MODULE mod_name

    [Spezifikationsteil]

    CONTAINS

    [beliebige Typvereinbarungen,

    Spezifikationen, Unterprogramme ]

    END MODULE mod_name

    Immer extern, nicht ausfhrbar Einbindung in anderen Programmeinheiten mittels USE

  • 13

    Seminar Programmiersprachen

    FORTRAN 25

    3.1 Grundlegende Programmstruktur

    Beispiel: Modul (1)

    MODULE qsort_modul

    PUBLIC :: qsort_sub, zufall

    PRIVATE :: partition

    CONTAINS

    RECURSIVE SUBROUTINE qsort_sub(array)

    [] END SUBROUTINE qsort_sub

    SUBROUTINE partition(array, i)

    [] END SUBROUTINE partition

    SUBROUTINE zufall(ein_array, laenge)

    [] END SUBROUTINE zufall

    END MODULE qsort_modul

    Seminar Programmiersprachen

    FORTRAN 26

    3.1 Grundlegende Programmstruktur

    Beispiel: Modul (2)

    PROGRAM Quick_Sort

    USE qsort_modul ! Einbindung des Moduls

    [] ! Spezifikationsteil

    CALL zufall(ein_array, laenge)

    [] ! Weitere Anweisungen

    CALL qsort_sub(ein_array)

    END PROGRAM Quick_Sort

  • 14

    Seminar Programmiersprachen

    FORTRAN 27

    3.1 Grundlegende Programmstruktur

    blockdata-Programmeinheit

    Nicht ausfhrbar

    Initialisierung von Variablen gemeinsamer Speicherbereiche

    BLOCKDATA [name]

    [] ! Beliebige Deklarationen

    END BLOCKDATA [name]

    Seminar Programmiersprachen

    FORTRAN 28

    3.1 Grundlegende Programmstruktur

    Modularisierung Vorteile Komplexe Probleme lassen sich aufteilen

    Leichter berschaubar

    Compiler knnen kleine Einheiten besser optimieren

    Wiederverwendbarkeit von Code

    Besseres Debuggen

    Es gibt umfangreiche vordefinierte Bibliotheken, die genutzt werden knnen

  • 15

    Seminar Programmiersprachen

    FORTRAN 29

    3.2 Typkonzept

    Fortran verwendet statische Typbindung

    Der Quellcode legt die Typen fest

    Typprfung zur Compilezeit

    Seminar Programmiersprachen

    FORTRAN 30

    3.2 Typkonzept

    streng typisiert bedeutet Typ von Programmgegenstnden ist festgelegt und kann zur Compilezeit bestimmt werden

    Typprfung kann durchgefhrt werden

    Keine Typfehler bleiben unentdeckt

    Fortran ist schwach typisiert Mischung mit Eigenschaften typloser Sprachen

    Typen nicht disjunkt

  • 16

    Seminar Programmiersprachen

    FORTRAN 31

    3.2 Typkonzept

    Implizite Deklaration von Variablen

    Nicht alle Variablen mssen explizit deklariert werden

    Grundstzliche Typkonvention

    Integer bei Anfangsbuchstaben i n

    Real sonst

    Seminar Programmiersprachen

    FORTRAN 32

    3.2 Typkonzept

    Implizite Deklaration von Variablen

    Mit IMPLICIT lassen sich Buchstabenbereiche festlegen, die die grundstzliche Typkonvention ndern / erweitern

    BeispielIMPLICIT TYPE(student) (s), TYPE(dozent) (d)

    ! Alle Variablen mit s sind vom Typ student,

    ! Alle Variablenmit d sind vom Typ dozent.

  • 17

    Seminar Programmiersprachen

    FORTRAN 33

    3.2 Typkonzept

    Implizite Deklaration von Variablen

    Nachteile

    Fehleranflligkeit

    Schlechtere Nachvollziehbarkeit

    Explizite Typdeklaration kann mit der Anweisung IMPLICIT NONE im Spezifikationsteil einer Programmeinheit erzwungen we

Recommended

View more >