728x90
반응형
1. 1251/3 승수 구하기
program ex
implicit none
real :: x, y1, y2, y3, y4, y5
x = 125
y1 = x ** (1.0/3.0)
y2 = x ** (1./3.)
y3 = x ** (1/3.0)
y4 = x ** (1.0/3)
y5 = x ** (1/3)
print *, '12345678901234567890123456789012'
print *, 'Remind 1.0 x 3.0 = ', 1.0 * 3.0
print *, 'Remind 1 x 3 = ', 1 * 3
print *
print *, y1
print *, y2
print *, y3
print *, y4
print *, y5
print *
pause
end program ex
결과해설
사칙 연산에서 아래와 같은 사실을 알 수 있다.
실수 ÷ 실수 = 실수
실수 ÷ 정수 = 실수
정수 ÷ 실수 = 실수
정수 ÷ 정수 = 정수
y5의 경우 1/3 = 0.333 인데, 정수/정수=정수형이 되므로, 소수점 이하자리는 버림되고 1/3은 0이 된다. 따라서, 결과값이 1이다. 1은 정수가 아니라 1.00000으로 실수형으로 표현되는 이유는 y5가 실수형으로 선언되었기 때문이다.
3. e3 구하기
입력설계
키보드로 입력값을 받아들인다.
내장함수 EXP( )를 사용하여 지수값을 구한다.
의사코드
read x
p = EXP(x)
print p
프로그램
program ex
implicit none
real :: x, p
print *, 'Enter value :'
read *, x
p = exp(x)
print *, 'Exponential value is', p
print *
pause
end program ex
결과 해석
원하는 값을 입력받아 프로그램을 실행하고자 할 때, read 문을 사용한다.
4. loge2.7 와log102.7구하기
처리조건
자연로그 값을 구하기 위해 log( )와 alog( )함수를 사용해서 비교한다.
상용로그 값을 구하기 위해 log10( )함수를 사용한다.
프로그램
program ex
implicit none
real :: x, a, b, c
print *, 'Enter value :'
read *, x
a = log(x)
b = alog(x)
c = log10(x)
print *, ' LOG(x) is ', a
print *, 'ALOG(x) is ', b
print *, 'LOG10(x) is ', c
print *
pause
end program ex
5. 삼각함수 값 구하기
처리조건
삼각함수 입력값은 radian 이다. degree를 radian 으로 변환해야 한다.
program ex
implicit none
real :: degree, radian
real :: x, L, M, N, P
print *, 'Enter the angle in degree :'
read *, degree
radian = 3.141592/180.0
x = radian * degree
L = sin(x)
M = cos(x)
N = tan(x)
P = sin(x)/cos(x)
print *, "SIN(X) is ", L
print *, "COS(X) is ", M
print *, "TAN(X) is ", N
print *, "SIN(X)/COS(X) is ", P
print *
pause
end program ex
결과 해설
마지막에 TAN(x)와 SIN(x)/COS(x) 값을 비교해 보면, 맨 마지막 소수자리 숫자가 다르다. 이는 truncation 문제로 인해 발생하는 것이다.
과제
아래 열거된 내장함수를 모두 사용하여 코딩하여 결과를 발표한다.
처리조건:
입력값은 화면에서 임의로 입력받도록 한다.
출력은 소수점 3째자리까지 출력되도록 한다.
발표내용:
코딩 설계 및 구성을 설명한다.
코딩을 line-by-line 으로 설명한다.
여러가지 내장함수
Function | Meaning | Arg. Type | Return Type |
ABS(x) | absolute value of x | INTEGER | INTEGER |
REAL | REAL | ||
SQRT(x) | square root of x | REAL | REAL |
SIN(x) | sine of x radian | REAL | REAL |
COS(x) | cosine of x radian | REAL | REAL |
TAN(x) | tangent of x radian | REAL | REAL |
ASIN(x) | arc sine of x | REAL | REAL |
ACOS(x) | arc cosine of x | REAL | REAL |
ATAN(x) | arc tangent of x | REAL | REAL |
EXP(x) | exp(x) | REAL | REAL |
LOG(x) | natural logarithm of x | REAL | REAL |
Function | Meaning | Arg. Type | Return Type |
INT(x) | integer part x | REAL | INTEGER |
NINT(x) | nearest integer to x | REAL | INTEGER |
FLOOR(x) | greatest integer less than or equal to x | REAL | INTEGER |
FRACTION(x) | the fractional part of x | REAL | REAL |
REAL(x) | convert x to REAL | INTEGER | REAL |
Function | Meaning | Arg. Type | Return Type |
MAX(x1, x2, ..., xn) | maximum of x1, x2, ... xn | INTEGER | INTEGER |
REAL | REAL | ||
MIN(x1, x2, ..., xn) | minimum of x1, x2, ... xn | INTEGER | INTEGER |
REAL | REAL | ||
MOD(x,y) | remainder x - INT(x/y)*y | INTEGER | INTEGER |
REAL | REAL |
728x90
반응형