Programmiersprachen

C++
"C++ wurde entworfen, um die Fähigkeiten von Simula bei der Organisation von Programmen mit der Geschwindigkeit und Flexibilität von C bei der Systemprogrammierung zu verbinden." [Stroustrup, 1994]
FORTRAN

"... Geschätzter Leser -
das waren noch Gräser!
Die Stühle war'n höher,
   die Straßen breiter,
der Donner war lauter,
   der Himmel weiter,
die Bäume war'n größer,
   die Lehrer gescheiter!
Und noch ein Pfund Butter,
   liebe Leute,
war drei- bis viermal schwerer
   als heute!
Kein Mensch wird's bestreiten -
das waren noch Zeiten! ..."
  Kleine Epistel / Erich Kästner

Neben Cobol & Algol eine Sprache der ersten Stunde. FORTRAN hat heutzutage hauptsächlich wegen seiner mathematischen Stärken noch Bedeutung. Weiters weil viele Anwender sich nicht mehr auf eine andere Sprache umstellen wollen.

Letzteres ist auch für die weite Verbreitung von FORTRAN 77, statt des neueren Standards FORTRAN 90, der Grund. FORTRAN 77 besitzt keinerlei Wertparameterübergabe. Rekursive Algorithmen können deshalb nicht (direkt) programmiert werden. Wie man Rekursivität auflösen kann, siehe [AlgoDat2, 1996] .

Alternativen

Arraydeklarationen in FORTRAN (andere Schreibweisen)
Statt
REAL, DIMENSION (2,5) :: mat
geht auch
REAL mat
DIMENSION mat(2,5)
oder einfach
REAL mat(2,5)

Hinweise

Matrizenmultiplikation
Die Multiplikation zweier Matrizen ist eine fundamentale Operation der numerischen Linearen Algebra. Falls eine effiziente Implementierung der Matrizenmultiplikation gelingt, ist auch z.B. die effiziente Lösung linearer Gleichungenssysteme (auf Basis der LU-Zerlegung) durch den Einsatz dieser Softwarekomponente problemlos möglich.
Multiplikation von quardratischer Matrizen
Die Annahme quadratischer Matrizen wurde nur getroffen, um die Algorithmusdarstellung übersichtlicher zu gestalten.
Definition versus Deklaration
  • Definition: Speicher wird angelegt bzw. bei Funktionen ist hier der Code definiert.
  • Deklaration: teilt bloß das Aussehen mit, um die richtige Verwendung sicherzustellen. Es muß deshalb irgendwo eine Definition dazu geben. Diese kann aber auch in einem anderen Modul sein.
  • Transponieren
    Aus einer gegebenen n x m-Matrix A läßt sich durch Spiegelung der Elemente an der Hauptdiagonalen (gebildet durch die Elemente a11, a22, a22, ...) die sog. transponierte m x n-Matrix AT bilden.


    Zurück mit dem BACK-Buttons [ <|=o ] ihres Browsers.