Fortran - Operatori logici

La tabella seguente mostra tutti gli operatori logici supportati da Fortran. Assumi variabileAdetiene .true. e variabileBcontiene .false. , quindi -

Operatore Descrizione Esempio
.e. Chiamato operatore AND logico. Se entrambi gli operandi sono diversi da zero, la condizione diventa vera. (A. E. B) è falso.
.o. Chiamato Operatore OR logico. Se uno dei due operandi è diverso da zero, la condizione diventa vera. (A. O. B) è vero.
.non. Chiamato operatore NOT logico. Utilizzare per invertire lo stato logico del suo operando. Se una condizione è vera, l'operatore NOT logico la renderà falsa. ! (A. E. B) è vero.
.eqv. Chiamato operatore EQUIVALENTE logico. Utilizzato per verificare l'equivalenza di due valori logici. (A .eqv. B) è falso.
.neqv. Chiamato operatore logico NON EQUIVALENTE. Utilizzato per verificare la non equivalenza di due valori logici. (A .neqv. B) è vero.

Esempio

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

program logicalOp
! this program checks logical operators
implicit none

   ! variable declaration
   logical :: a, b
   
   ! assigning values
   a = .true.
   b = .false.
   
   if (a .and. b) then
      print *, "Line 1 - Condition is true"
   else
      print *, "Line 1 - Condition is false"
   end if
   
   if (a .or. b) then
      print *, "Line 2 - Condition is true"
   else
      print *, "Line 2 - Condition is false"
   end if
   
   ! changing values
   a = .false.
   b = .true.
   
   if (.not.(a .and. b)) then
      print *, "Line 3 - Condition is true"
   else
      print *, "Line 3 - Condition is false"
   end if
   
   if (b .neqv. a) then
      print *, "Line 4 - Condition is true"
   else
      print *, "Line 4 - Condition is false"
   end if
   
   if (b .eqv. a) then
      print *, "Line 5 - Condition is true"
   else
      print *, "Line 5 - Condition is false"
   end if
   
end program logicalOp

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

Line 1 - Condition is false
Line 2 - Condition is true
Line 3 - Condition is true
Line 4 - Condition is true
Line 5 - Condition is false