곱셈표 출력하기

출력할 곱셈표 단 입력

DO 루프를 이용하여 곱셈표 출력

PROGRAM Multi

IMPLICIT NONE

INTEGER :: M, N, Last_M, Last_N

PRINT *, "출력할 곱셈표 단을 입력하시오(ex:9, 9)"
READ *, Last_M, Last_N

PRINT *," M N M * N"
PRINT *,"==========================="

DO M = 1, Last_M

DO N = 1, Last_N

PRINT *, M, N, M * N

END DO

END DO

END PROGRAM Multi


위 소스를 04_01_Multi.f95로 저장

컴파일 및 프로그램 테스트

DO I = v1, v2, v3
Print *, I
END DO

I의 값을 v1에서 v2까지 출력하는데 v3씩 증가



반가수기

논리형 값 A, B를 입력하고 Sum과 Carry를 계산

PROGRAM Half_Adder

IMPLICIT NONE

LOGICAL :: A, B, Sum, Carry ! 논리형 변수 선언

PRINT *, "논리형 값 A와 B를 입력하시오(ex: T F)"

READ *, A, B

Sum = (A .OR. B) .AND. (.NOT. (A .AND. B))
Carry = A .AND. B

PRINT *, "Carry, Sum = ", Carry, Sum

END PROGRAM Half_Adder

위 소스를 03_05_Haf.f95로 저장

컴파일 및 프로그램 테스트



오염지수 구하기

세 곳의 오염지수를 입력받고 평균을 계산

평균과 기준치와 비교하여 상태 표시

PROGRAM Pollution_3

IMPLICIT NONE

INTEGER :: Level_1, Level_2, Level_3, Index !세 곳의 오염지수와 오염지수 정수 평균

INTEGER, PARAMETER :: LowCutoff = 25, HighCutoff = 50 !기준치 상수

PRINT *, "세 곳의 오염지수를 입력하시오(ex: 1, 2, 3)"

READ *, Level_1, Level_2, Level_3 !세 곳의 오염지수 입력받기

INDEX = (Level_1 + Level_2 + Level_3) / 3 !세 곳의 오염지수의 정수 평균 구하기

SELECT CASE (Index)

CASE (:LowCutoff -1)
PRINT *, "Good Condition"
CASE (LowCutoff : HighCutoff -1)

PRINT *, "Fair Condition"
CASE (HighCutoff:)
PRINT *, "Poor Condition"


END SELECT

END PROGRAM Pollution_3

위 소스를 03_04_Poll_3.f95로 저장

컴파일 및 프로그램 테스트

CASE 사용방법

1)

SELECT CASE (INDEX)

CASE(25)

PRINT *, "INDEX is 25"

DEFAULT

PRINT *, "INDEX is ", Index

END SELECT


INDEX의 값이 25이면 출력

2)


SELECT CASE (INDEX)

CASE(:25)

PRINT *, "INDEX is equal or less than 25"

DEFAULT

PRINT *, "INDEX is ", Index

END SELECT


INDEX의 값이 25이하이면 출력

3)

SELECT CASE (INDEX)

CASE(25 : 50)

PRINT *, "INDEX is equal or more than 25 and equal or less than 50"

DEFAULT

PRINT *, "INDEX is ", Index

END SELECT


INDEX의 값이 25 이상, 50 이하이면 출력


4)

SELECT CASE (INDEX)

CASE(50:)

PRINT *, "INDEX is equal or more than 50"

DEFAULT

PRINT *, "INDEX is ", Index

END SELECT


INDEX의 값이 50 이상이면 출력

오염지수 구하기

세 곳의 오염지수를 입력

오염지수 평균을 구하여 두 개의 기준치와 비교하여 상태 표시

PROGRAM Pollution_2

IMPLICIT NONE

INTEGER :: Level_1, Level_2, Level_3, Index !세 곳의 오염지수와 오염지수 정수 평균

INTEGER, PARAMETER :: LowCutoff = 25, HighCutoff = 50 !기준치 상수

PRINT *, "세 곳의 오염지수를 입력하시오(ex: 1, 2, 3)"

READ *, Level_1, Level_2, Level_3 !세 곳의 오염지수 입력받기

INDEX = (Level_1 + Level_2 + Level_3) / 3 !세 곳의 오염지수의 정수 평균 구하기

IF (Index < LowCutoff) THEN !오염지수 평균이 LowCutoff 보다 작으면

PRINT *, "Good Condition"

ELSE IF (Index < HighCutoff) THEN !오염지수 평균이 HighCutoff보다 작으면

PRINT *, "Fair Condition"

ELSE ! 오염지수 평균이 HighCutoff 이상이면

PRINT *, "Poor Condition"

END IF

END PROGRAM Pollution_2

위 소스를 03_03_Poll_2.f95로 저장

컴파일 및 프로그램 테스트



오염 지수 구하기

세 곳의 오염지수를 입력받는다.

세 곳의 오염지수 평균을 구한다.

기준치와 비교하여 안전한 상태 및 위험한 상태를 표시

PROGRAM Pollution_1

IMPLICIT NONE

INTEGER :: Level_1, Level_2, Level_3, Index !세 곳의 오염지수와 오염지수 정수 평균

INTEGER, PARAMETER :: Cutoff = 50 !기준치 상수

PRINT *, "세 곳의 오염지수를 입력하시오(ex: 1, 2, 3)"

READ *, Level_1, Level_2, Level_3 !세 곳의 오염지수 입력받기

INDEX = (Level_1 + Level_2 + Level_3) / 3 !세 곳의 오염지수의 정수 평균 구하기

IF (Index < Cutoff) THEN !오염지수 평균이 기준치 보다 작으면

PRINT *, "안전한 상태"

ELSE !오염지수 평균이 기준이 이상이면

PRINT *, "위험한 상태"

END IF

END PROGRAM Pollution_1

위 소스를 03_02_Poll_1.f95 로 저장

컴파일 하고 프로그램 테스트



+ Recent posts