오염 지수 구하기

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

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

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

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 로 저장

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



이차 방정식의 해 구하기

IF () THEN

ELSE

END IF 연습

PROGRAM Quad_1

IMPLICIT NONE

REAL :: A, B, C, Discriminant, Root_1, Root_2

PRINT *, "이차방정식의 계수를 입력하시오.(ex: 1, -5, 6)"

READ *, A, B, C

Discriminant = B ** 2 - 4.0 * A * C

IF (Discriminant >= 0) THEN

Discriminant = SQRT(Discriminant)
Root_1 = (-B + Discriminant) / (2.0 * A)
Root_2 = (-B - Discriminant) / (2.0 * A)
PRINT *, "해는 ", Root_1, Root_2, "입니다."

ELSE

PRINT *, "판별식이 ", Discriminant, "입니다."
PRINT *, "실근이 존재하지 않습니다."

END IF

END PROGRAM Quad_1

컴파일

실행하여 프로그램 검증

섭씨 온도를 화씨 온도로 변환하는 문제

PROGRAM Temp_Conv

IMPLICIT NONE

REAL :: Celsius, Fahrenheit ! 변수 선언

PRINT *, "Enter temperature in degrees Celsius:"

READ *, Celsius ! 섭씨 온도 입력 받기

Fahrenheit = (9.0 / 5.0) * Celsius + 32.0 ! 변환 공식, 9/5로 적지 않는다.

PRINT *, Celsius, " degree Celsius = ", Fahrenheit, " degrees Fahrenheit" ! 계산한 화씨 온도 출력

END PROGRAM

위 프로그램을 02_02_Temp_Conv.f95로 저장

컴파일하고 실행

섭씨 온도 36도일 때, 화씨 온도 출력

어느 높이에서 물체를 위로 던졌다. 던진 후 몇초에 속도와 높이를 구하는 문제

PROGRAM Projectile

IMPLICIT NONE

!실수형 변수 선언, Acceleration에 값 할당
REAL :: InitialHeight, Height, InitialVelocity, Velocity, &
Acceleration = -9.80665, Time

PRINT *, "Enter the initial height(m) and velocity(m/sec) (ex:100.0 90.0) :"

READ *, InitialHeight, InitialVelocity

PRINT *, "Enter time in seconds at which to calculate height and velocity (ex:4.5):"

READ *, Time

Height = 0.5 * Acceleration * Time ** 2 &
+ InitialVelocity * Time + InitialHeight
Velocity = Acceleration * Time + InitialVelocity

PRINT *, "At time ", Time, " seconds"
PRINT *, "the vertical velocity is ", Velocity, " m/sec"
PRINT *, "and the height is ", Height, " meters"

END PROGRAM

이것을 01_01_Projectile.f95로 저장

100m 높에서 90m/s의 속도로 물체를 위로 던졌을 경우 4.5초의 물체의 속도와 높이 계산

gfortran을 다운로드 받기 위하여 다음 싸이트에 접속

http://gcc.gnu.org/wiki/GFortran



Download까지 이동



윈도우즈 용을 다운받기 위하여 Binaries 클릭



native Windows 용을 다운로드 받기 위하여 installer 클릭



저장 클릭



다운로드 받을 폴더를 지정하고 저장 클릭



다운로드 받는 중



다운로드 받는 파일을 클릭



실행 클릭



설치하기 위하여 동의 클릭



설치 할 폴더 지정하고 설치 클릭



설치를 마치기 위하여 종료 클릭



메모장을 열고 다음을 타이핑하고 hello.f95로 저장

PROGRAM Hello

PRINT *, "Hello World!"

END PROGRAM



컴파일하고 실행

컴파일 할 때 실행파일 명을 주어 컴파일 그리고 실행



+ Recent posts