Fortran: Fortran 2003: Programmaufbau
<<< zur Fortran-Startseite | |
<< Fortran 2003 | Bibliotheken >> |
< Programmaufbau | Datentypen > |
Programmaufbau und Zeilenformat
[Bearbeiten]Der grundlegende Programmaufbau und das Zeilenformat von Fortran 90/95 wurden in Fortran 2003 beibehalten. Neben der free source form ist aus Kompatibilitätsgründen auch noch immer die alte, aus FORTRAN 77 bekannte, fixed source form gültig.
Eine Zeile darf auch in Fortran 2003 bei Verwendung der free source form standardmäßig maximal 132 Zeichen beinhalten. Ein symbolischer Name darf nun höchstens 63 Zeichen lang sein. Eine Anweisung darf sich maximal über 256 Zeilen erstrecken. Das Zeilenfortsetzungszeichen ist wie in Fortran 90/95 das Kaufmanns-Und: &
. Mit Fortran 2023 wurden diese Beschränkungen deutlich aufgeweicht. Eine Zeile darf nun 10000 Zeichen enthalten. Eine Anweisung darf nun insgesamt aus 1 Mio. Zeichen bestehen.
Zeichenvorrat
[Bearbeiten]Der Fortran 2003-Zeichenvorrat wurde gegenüber Fortran 90/95 erweitert:
Großbuchstaben: | A bis Z |
Kleinbuchstaben: | a bis z |
Ziffern: | 0 bis 9 |
FORTRAN 77-Sonderzeichen: | + - * / = ( ) : , . ' $ und Leerzeichen |
Fortran 90/95-Sonderzeichen: | _ ! ? " & ; < > |
Fortran 2003-Sonderzeichen: | \ [ ] { } ~ ` ^ | # @ |
|
Anwendungsgebiet der neu hinzugekommenen Zeichen
[Bearbeiten]Von den in Fortran 2003 neu zugefügten Zeichen haben nur die eckigen Klammern einen konkreten Anwendungsbereich als Kennzeichnung von Feldkonstruktoren. Ein Feldkonstruktor darf neben der aus Fortran 95 bekannten Form
(/ werte /)
nun auch mit eckigen Klammern geschrieben werden
[ werte ]
Beispiel:
Fortran 2003 (oder neuer)-Code |
! bsp.f03 program bsp implicit none integer, dimension( 3 ) :: a = [ 20, 33, 55 ] integer, dimension( 2 ) :: b = (/ 44, 55 /) write( *, *) a write( *, *) b ! Ausgabe: ! 20 33 55 ! 44 55 end program bsp |
Kompilieren, linken:
gfortran -o bsp bsp.f03
Der Block
[Bearbeiten]Beispiel:
Fortran 2003 (oder neuer)-Code |
program block implicit none real a a = 3.1415 block real a a = 2.7182 print *, a end block print *, a end program block |
Ausgabe:
2.71819997 3.14150000
<<< zur Fortran-Startseite | |
<< Fortran 2003 | Bibliotheken >> |
< Programmaufbau | Datentypen > |