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