본문 바로가기

프로그래밍/숙제도둑질

[FORTRAN77|초급] exp 함수 테일러급수

반응형

exp(x) 의 테일러 급수를 이용하여, exp(5)의 값을 구하는 기초기초적인 프로그래밍. 포트란 77로 짠 소스이고, 문제에서는 20번째 항까지 계산하라고 한다. 포트란에서 인자 받고 하는 걸 몰라서 소스에 박혀있다.

간단한 거지만 살짝 설명하면, TERM이 더할 각 항이고, 각 항과 다음 항 하고의 관계가 아주 예뻐서 프로그래밍 숙제로 나오기 아주 좋다.


PROGRAM Exp
SUM = 0
X = 5
TERM = 1
SUM = SUM + TERM
DO 1, I = 1, 20
TERM = TERM * X / I
SUM = SUM + TERM
1 CONTINUE
PRINT *, SUM
STOP
END

빨간 색으로 된 부분은 스페이스가 아니라 탭으로 들여쓰기 한 걸 구분해 주기 위해 빔에서 표시된 것. DO 루프의 끝을 1이라는 표지와 CONTINUE 문에 나오는 첫 줄의 1이라는 표지가 일치해야 하는 것 같다. 포트란 공부해 본 게 아니고, 예전에 짰던 코드 보고 다시 짠거라 맞는지 모르겠다. 아무튼 cygwin환경에서 g77 로 컴파일해서 돌려본 결과는 잘 나왔다.

728x90