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