1 1 2 2
....5....0....5....0....5
4
T .TR
.TRUE. Franco
February Truman
.FALSE. fake
Write a Fortran program that reads in the above input, and
prints the input values and the results of .OR., .AND.,
.NEQV. and .EQV. in the following form:
1 1 2 2 3 3 4 4
....5....0....5....0....5....0....5....0....5
Truth Table
-----------
P Q P | Q P & Q P ^ Q P = Q
----- ----- ----- ----- ----- -----
T T T T F T
T F T F T F
F T T F T F
F F F F F T
We use |, &, ^ and = to indicate .OR.,
.AND., .NEQV. and .EQV., respectively.
Note that the first position is always for printer control.
PROGRAM Logical_Input
IMPLICIT NONE
LOGICAL :: P, Q
INTEGER :: i, Number
WRITE(*,"(A, A)") " ", " Truth Table"
WRITE(*,"(A, A)") " ", " -----------"
WRITE(*,*)
WRITE(*,"(A,A)") " ", " P Q P | Q P & Q P ^ Q P = Q"
WRITE(*,"(A,6A)") " ", (" -----", i = 1, 6)
READ(*,"(I5)") Number
DO i = 1, Number
READ(*,"(2L10)") P, Q
WRITE(*,"(A, 6L7)") " ", P, Q, &
P .OR. Q, P .AND. Q, P .NEQV. Q, P .EQV. Q
END DO
END PROGRAM Logical_Input
Click here to download this program.
1 1 2 2 3 3 4 4
....5....0....5....0....5....0....5....0....5
Truth Table
-----------
P Q P | Q P & Q P ^ Q P = Q
----- ----- ----- ----- ----- -----
T T T T F T
T F T F T F
F T T F T F
F F F F F T