Fortran - Operatori relazionali

La tabella seguente mostra tutti gli operatori relazionali supportati da Fortran. Assumi variabileA detiene 10 e variabile B detiene 20, quindi -

Operatore Equivalente Descrizione Esempio
== .eq. Controlla se i valori di due operandi sono uguali o meno, in caso affermativo la condizione diventa vera. (A == B) non è vero.
/ = .ne. Controlla se i valori di due operandi sono uguali o meno, se i valori non sono uguali la condizione diventa vera. (A! = B) è vero.
> .gt. Controlla se il valore dell'operando sinistro è maggiore del valore dell'operando destro, in caso affermativo la condizione diventa vera. (A> B) non è vero.
< .lt. Controlla se il valore dell'operando sinistro è inferiore al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A <B) è vero.
> = .ge. Controlla se il valore dell'operando sinistro è maggiore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A> = B) non è vero.
<= .le. Controlla se il valore dell'operando sinistro è minore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A <= B) è vero.

Esempio

Prova il seguente esempio per comprendere tutti gli operatori logici disponibili in Fortran:

! this program checks relational operators
implicit none  

   ! variable declaration
   integer :: a, b
   
   ! assigning values 
   a = 10   
   b = 20
   
   if (a .eq. b) then
      print *, "Line 1 - a is equal to b"
   else
      print *, "Line 1 - a is not equal to b"
   end if

   if (a > b) then
      print *, "Line 2 - a is greater than b"
   else
      print *, "Line 2 - a is less than b"
   end if
   
   if (a <= b) then
      print *, "Line 3 - a is less than or equal to b"
   else
      print *, "Line 3 - a is greater than b"
   end if
   
   a = 20   
   b = 20
   
   if (a .eq. b) then
      print *, "Line 4 - a is equal to b"
   else
      print *, "Line 4 - a is not equal to b"
   end if
end

Quando compili ed esegui il programma sopra, produce il seguente risultato:

Line 1 - a is not equal to b
Line 2 - a is less than b
Line 3 - a is less than or equal to b
Line 4 - a is equal to b