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