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