Fortran-logical-operators

提供:Dev Guides
移動先:案内検索

Fortran-論理演算子

次の表は、Fortranでサポートされているすべての論理演算子を示しています。 変数 A が.trueを保持すると仮定します。 変数 B は.falseを保持します。 、その後-

Operator Description Example
.and. Called Logical AND operator. If both the operands are non-zero, then condition becomes true. (A .and. B) is false.
.or. Called Logical OR Operator. If any of the two operands is non-zero, then condition becomes true. (A .or. B) is true.
.not. Called Logical NOT Operator. Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false. !(A .and. B) is true.
.eqv. Called Logical EQUIVALENT Operator. Used to check equivalence of two logical values. (A .eqv. B) is false.
.neqv. Called Logical NON-EQUIVALENT Operator. Used to check non-equivalence of two logical values. (A .neqv. B) is true.

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

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

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