Fortran: FORTRAN 77: Standardfunktionen
<<< zur Fortran-Startseite | |
<< FORTRAN 77 | Fortran 90/95 >> |
< Verzweigungen und Schleifen | Unterprogramme > |
In diesem Kapitel werden für die Funktionsargumente und Rückgabewerte nachfolgende Kürzel verwendet, die Aufschluss über die möglichen Datentypen geben.
Kürzel | Datentypen |
---|---|
i | INTEGER
|
r | REAL
|
d | DOUBLE PRECISION
|
x | COMPLEX
|
c | CHARACTER*n
|
l | LOGICAL
|
Datentypumwandlung
[Bearbeiten]Umwandlung in INTEGER
[Bearbeiten]- i = INT(i)
Abschneiden des Nachkommaanteils:
- i = INT(r)
- i = IFIX(r)
- i = IDINT(d)
- i = INT(x)
ASCII-Wert des Zeichens c:
- i = ICHAR(c)
Umwandlung in REAL
[Bearbeiten]- r = REAL(i)
- r = FLOAT(i)
- r = REAL(r)
- r = SNGL(d)
- r = REAL(x)
Umwandlung in DOUBLE
[Bearbeiten]- d = DBLE(i)
- d = DBLE(r)
- d = DBLE(d)
- d = DBLE(x)
Umwandlung in COMPLEX
[Bearbeiten]- x = CMPLX(i)
- x = CMPLX(r)
- x = CMPLX(d)
- x = CMPLX(x)
Umwandlung in CHARACTER
[Bearbeiten]Gibt das Zeichen zum ASCII-Wert i zurück.
- c = CHAR(i)
Mathematische Funktionen
[Bearbeiten]Abschneiden des Nachkommaanteils
[Bearbeiten]Ist das Argument größer Null, wird die nächstkleinere ganze Zahl zurückgegeben. Ist das Argument kleiner Null, wird die nächstgrößere ganze Zahl zurückgegeben.
- r = AINT(r)
- d = DINT(d)
Runden
[Bearbeiten]Ist das Argument größer oder gleich Null, ist der Rückgabewert INT(X+0.5)
. Ist das Argument kleiner Null, ist der Rückgabewert INT(X-0.5)
- r = ANINT(r)
- d = DNINT(d)
- i = NINT(r)
- i = IDNINT(d)
Absolutwert
[Bearbeiten]- i = IABS(i)
- r = ABS(r)
- d = DABS(d)
- r = CABS(x)
Double Precision-Produkt
[Bearbeiten]Rückgabewert ist r1 × r2 mit Datentyp DOUBLE PRECISION
- d = DPROD(r1, r2)
Modulo
[Bearbeiten]Rückgabewert ist zahl1 - INT(zahl1 /zahl2)*zahl2
- i = MOD(i1, i2)
- r = AMOD(r1, r2)
- d = DMOD(d1, d2)
Vorzeichentransfer
[Bearbeiten]Wenn die zahl2 >= 0
ist, dann wird |zahl1|
zurückgegeben.
Wenn die zahl2 < 0
ist, dann wird -|zahl1|
zurückgegeben.
- i = ISIGN(i1, i2)
- r = SIGN(r1, r2)
- d = DSIGN(d1, d2)
Positive Differenz
[Bearbeiten]Für zahl1 > zahl2
ist der Rückgabewert zahl1 - zahl2
.
Für zahl1 <= zahl2
wird Null zurückgegeben.
- i = IDIM(i1, i2)
- r = DIM(r1, r2)
- d = DDIM(d1, d2)
Maximum
[Bearbeiten]Gibt den größten Argumentwert zurück.
- i = MAX0(i1, i2, ...)
- r = AMAX1(r1, r2, ...)
- d = DMAX1(d1, d2, ...)
- r = AMAX0(i1, i2, ...)
- i = MAX1(r1, r2, ...)
Minimum
[Bearbeiten]Gibt den kleinsten Argumentwert zurück.
- i = MIN0(i1, i2, ...)
- r = AMIN1(r1, r2, ...)
- d = DMIN1(d1, d2, ...)
- r = AMIN0(i1, i2, ...)
- i = MIN1(r1, r2, ...)
Komplexe Zahlen
[Bearbeiten]Gibt den Imaginärteil zurück:
- r = AIMAG(x)
Gibt die konjugiert komplexe Zahl zurück:
- x = CONJG(x)
Quadratwurzel
[Bearbeiten]Gibt die Quadratwurzel zurück:
- r = SQRT(r)
- d = DSQRT(d)
- x = CSQRT(x)
Exponentialfunktion
[Bearbeiten]Gibt natürliche Exponentialfunktion zurück:
- r = EXP(r)
- d = DEXP(d)
- x = CEXP(x)
Logarithmus naturalis
[Bearbeiten]Gibt den natürlichen Logarithmus zurück:
- r = ALOG(r)
- d = DLOG(d)
- x = CLOG(x)
Dekadischer Logarithmus
[Bearbeiten]Gibt den dekadischen Logarithmus zurück:
- r = ALOG10(r)
- d = DLOG10(d)
Winkelfunktionen
[Bearbeiten]- r = SIN(r)
- d = DSIN(d)
- x = CSIN(x)
- r = COS(r)
- d = DCOS(d)
- x = CCOS(x)
- r = TAN(r)
- d = DTAN(d)
Arkusfunktionen
[Bearbeiten]- r = ASIN(r)
- d = DASIN(d)
- r = ACOS(r)
- d = DACOS(d)
- r = ATAN(r)
- d = DATAN(d)
Gibt zurück:
- r = ATAN2(r1, r2)
- d = DATAN2(d1, d2)
Diese Funktionen sind für ähnliche Werte der beiden Argumente erheblich genauer.
Hyperbelfunktionen
[Bearbeiten]- r = SINH(r)
- d = DSINH(d)
- r = COSH(r)
- d = DCOSH(d)
- r = TANH(r)
- d = DTANH(d)
Zeichenketten-Funktionen
[Bearbeiten]Länge
[Bearbeiten]- i = LEN(c)
Index eines Teilstrings
[Bearbeiten]Gibt die erste Position des Auftretens eines Teilstrings c2 in c1 zurück. c2 muss eine (benannte) Konstante sein.
- i = INDEX(c1, c2)
Lexikalische Funktionen
[Bearbeiten]Hier wird unabhängig von der Plattform immer der ASCII-Zeichensatz als Grundlage verwendet.
Lexikalisch größer oder gleich (Rückgabewert ist .TRUE.
wenn c1 >= c2):
- l = LGE(c1, c2)
Lexikalisch größer als (Rückgabewert ist .TRUE.
wenn c1 > c2):
- l = LGT(c1, c2)
Lexikalisch kleiner oder gleich (Rückgabewert ist .TRUE.
wenn c1 <= c2):
- l = LLE(c1, c2)
Lexikalisch kleiner als (Rückgabewert ist .TRUE.
wenn c1 < c2):
- l = LLT(c1, c2)
Obige Funktionenauflistung basiert auf dem Fortran 77 Sprachstandard X3J3/90.4, Kap.15: Functions and Subroutines.
<<< zur Fortran-Startseite | |
<< FORTRAN 77 | Fortran 90/95 >> |
< Verzweigungen und Schleifen | Unterprogramme > |