Fortran - Operadores lógicos

La siguiente tabla muestra todos los operadores lógicos admitidos por Fortran. Asumir variableAse mantiene cierto. y variableBsostiene .falso. , entonces -

Operador Descripción Ejemplo
.y. Operador llamado lógico AND. Si ambos operandos son distintos de cero, la condición se vuelve verdadera. (A. Y. B) es falso.
.o. Operador OR lógico llamado. Si alguno de los dos operandos es distinto de cero, la condición se cumple. (A. O. B) es cierto.
.no. Operador llamado lógico NOT. Úselo para revertir el estado lógico de su operando. Si una condición es verdadera, el operador NOT lógico la convertirá en falsa. ! (A. Y. B) es cierto.
.eqv. Operador Lógico EQUIVALENTE denominado. Se utiliza para comprobar la equivalencia de dos valores lógicos. (A .eqv. B) es falso.
.neqv. Operador Lógico NO EQUIVALENTE denominado. Se utiliza para comprobar la no equivalencia de dos valores lógicos. (A .neqv. B) es cierto.

Ejemplo

Pruebe el siguiente ejemplo para comprender todos los operadores lógicos disponibles en 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

Cuando compila y ejecuta el programa anterior, produce el siguiente 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