Fortran - Operadores Lógicos
A tabela a seguir mostra todos os operadores lógicos suportados pelo Fortran. Assumir variávelApermanece verdadeiro. e variávelBcontém .false. , então -
Operador | Descrição | Exemplo |
---|---|---|
.e. | Operador lógico chamado AND. Se ambos os operandos forem diferentes de zero, a condição se torna verdadeira. | (A .e. B) é falso. |
.ou. | Operador lógico ou chamado. Se qualquer um dos dois operandos for diferente de zero, a condição se torna verdadeira. | (A .ou. B) é verdade. |
.não. | Operador lógico chamado NOT. Use para reverter o estado lógico de seu operando. Se uma condição for verdadeira, o operador lógico NOT tornará falso. | ! (A .e. B) é verdade. |
.eqv. | Operador lógico denominado EQUIVALENT. Usado para verificar a equivalência de dois valores lógicos. | (A .eqv. B) é falso. |
.neqv. | Operador Lógico NÃO EQUIVALENTE Chamado. Usado para verificar a não equivalência de dois valores lógicos. | (A .neqv. B) é verdade. |
Exemplo
Tente o exemplo a seguir para entender todos os operadores lógicos disponíveis no 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 você compila e executa o programa acima, ele produz o seguinte resultado -
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