Fortran: FORTRAN 77: Vergleichsausdrücke

Aus testwiki
Version vom 1. Juli 2012, 15:09 Uhr von imported>Dirk Huenniger
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Fortran:Vorlage: NavigationUS


Zum Vergleichen zweier arithmetischer Ausdrücke oder von Strings gibt es in FORTRAN 77 Vergleichsoperatoren. Das Ergebnis eines Vergleichs ist immer logischer Wert (.TRUE. oder .FALSE.).

Vergleichsoperatoren für arithmetische Typen

Operator Kommentar Mathematische Entsprechung
A .LT. B less than (kleiner als) A<B
A .LE. B less equal (kleiner gleich) AB
A .GT. B greater than (größer als) A>B
A .GE. B greater equal (größer gleich) AB
A .EQ. B equal (gleich) A=B
A .NE. B not equal (ungleich) AB

Beispiel: Fortran:Vorlage: Pre1

Beispiel: Fortran:Vorlage: Pre1

Beim Rechnen mit Fließkommazahlen (Datentypen: REAL, DOUBLE PRECISION, COMPLEX) sind die systemimmanenten Rechenungenauigkeiten zu beachten. Aus diesem Grund sollten Fließkommazahlen nicht auf strikte (Un)Gleichheit geprüft werden, sondern Vergleiche sollten einen kleinen Toleranzbereich aufweisen: x±ϵ=y.

Beispiel (hier mit ϵ=0,00001 und y=2: Fortran:Vorlage: Pre1

Zeichenkettenvergleiche

Das Ergebnis eines Vergleichs von Zeichenketten mittels Vergleichsoperatoren ist teilweise systemabhängig. Ausnahmen sind .EQ. und .NE.. Systemunabhängige Resultate sind durch Verwendung der entsprechenden lexikalischen Standardfunktionen erhältlich. Dort wird immer die Reihenfolge im ASCII-Zeichensatz verwendet.

Beispiel: Fortran:Vorlage: Pre1

Operatorenpriorität

  1. Klammerung
  2. Arithmetische Operatoren
  3. Vergleichsoperatoren
  4. Logische Operatoren
  5. Zuweisungsoperator

Beispiel: Fortran:Vorlage: Pre1

Vergleichsoperatoren und logische Operatoren finden in erster Linie bei Verzweigungen und Schleifenbedingungen Verwendung.


Fortran:Vorlage: NavigationUS