분수의 합계 구하기 알고리즘을 예제와 연습문제 순서도를 통하여 학습해 보겠습니다.
학습하시는 분들께 조금이라도 더 도움이 될 수 있도록 운영 중인 인터넷 카페 회원들을 위해 제작한 예제와 연습문제 해설 동영상 강의를 함께 게재합니다.
또한, 1페이지 분량의 교재 파일도 함께 첨부하니 학습에 참고하시기 바랍니다.
[예제] 1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9의 결과를 구하는 순서도를 작성하시오.
사용되는 변수 ∴ I : 인덱스 변수 ∴ S : 합계 변수
분수의 합계 알고리즘 예제 순서도예제 순서도
[예제 순서도 분석]
문제의 핵심은 분수에서 분모를 결정하는 수식 S = S+{1/(I+1)}에 있습니다.
분자는 1로 고정되지만, 분모는 2부터 1씩 증가하므로 분모의 값으로 인덱스 변수 I에 1을 더하는 수식을 적용하면 됩니다.
이때 주의하여야 할 것은 I의 초기치가 0이라는 것입니다
1회 수행 때 I=I+1을 수행하여도 I의 값은 1이 되므로 분모를 1부터 시작하도록 처리하려면 인덱스 변수 I에 1을 더한 수식을 적용하면 됩니다.
순서도에서 I의 초기치가 만약 1이라면 수식은 S = S+(1/I)가 되어야 하고 판단조건 문장은 I〈10이 되어야 합니다.
[연습문제] 1+1/2+2/3+3/4+4/5+5/6+6/7+7/8+9/10의 결과를 구하는 순서도를 작성하시오.
사용되는 변수 ∴ I : 인덱스 변수 ∴ S : 합계 변수
분수의 합계 알고리즘 연습문제 순서도연습문제 순서도
[연습문제 순서도 분석]
최초 S의 값은 1부터 더하여집니다.
그래서 합계저장 변수 S의 초기치로 1을 저장하여 해결합니다.
변수 S에 누적될 분수에서 분자의 값은 1부터 1씩 증가하므로 인덱스 변수 I를 분자로 적용하면 해결이 됩니다.
분모의 값은 항상 분자보다 1이 크므로 분자의 변수로 사용된 인덱스 변수 I에 1을 더한 값을 분모로 적용하면 해결이 됩니다.