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)

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)

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)

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, ...)

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
  • 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 >