본문/내용
IF((I.EQ.1).OR.(I.EQ.3).OR.(I.EQ.5).OR.(I.EQ.7).OR.(I.EQ.8)) THEN
S=S+31
ELSE IF((I.EQ.10).OR.(I.EQ.12)) THEN
S=S+31
ELSE IF((I.EQ.4).OR.(I.EQ.6).OR.(I.EQ.9).OR.(I.EQ.11)) THEN
S=S+30
ELSE
S=S+II2
END IF
END DO
S=S+kk
DAY = S
RETURN
END
설명
우선 함수를 FUNCTION DAY라는 함수를 섰는데 이 함수는 1년1월1일부터 입력한 iiii년 jj월 kk일 까지의 총 일수를 구하는 것입니다. 바이오리듬을 구하기 위해선 총 자신이 살았는 날 수를 알아야 하기 때문에 자신의 생년월일과 오늘의 날짜를 입력하면은 ‘DAY(오늘날짜)-DAY(자신의 생년월일)=살아있는 날 수’의 함수를 이용해 살았는 날 수를 구할 수 있습니다. 오늘의 바이오리듬의 수치는 SIN((자신이 살았는 날수)/XJisu)*2*3.141592654 와 같은 알고리즘으로 주어집니다.
{단, XJisu는 각 바이오리듬 파트별로 주어진 수치(`신체=23,감성=28,지성=33,지각=38`)입니다.}
그래프적인 문제는 문자형 변수 l(61)을 둡니다.
오늘을 기준으로 한 달전과 한 달 후의 바이오리듬 변화 그래프를 나타내기 위해 1~61(-30일~30일)까지 DO 구문을 사용하였습니다. 우선 l 변수에 모두 아무것도 없는 빈공간‘ ’을 입력합니다. 그런 다음 좌표축에 0에 해당하는 l(31)을 ‘|’ 로 만들고, 그날의 바이오리듬에 해당하는 곳을 ‘*’가 나오게끔 알고리즘을 만듭니다.