배열에 입력된 자연수 중 배수들의 합계를 구하기 위한 알고리즘을 이해하기 위한 예제와 연습문제 2개를 해설한 영상 강의와 자료를 게재합니다.

알고리즘은 정보처리기사, 산업기사, 기능사 실기시험에서 가장 높은 배점을 차지하는 영역으로 많은 분이 어렵게 생각하고 있지만, 문제를 해결하는 과정에서 희열을 느낄 수 있는 재미있는 영역이기도 합니다.
아래 게재한 자료 중 연습문제는 정보처리기능사 실기시험에서 실제 출제된 유형으로 학습에 도움이 될 수 있도록 필자가 작성한 교재에서 해당 내용을 발췌하여 pdf 파일로 첨부하니 참고하시기 바랍니다.

자연수 배수의 합계 알고리즘
자연수 배수의 합계 알고리즘 교재 샘플

[예제] 배열 A(7)에 자연수 9, 15, 10, 7, 6, 30, 21이 입력되어 있다. 배열 A의 수 중에서 3의 배수인 수의 합계를 구하여 출력하는 순서도를 작성하라.
- 사용되는 변수
I : 인덱스 변수(배열의 첨자를 결정)
A(7) : 자료가 입력된 배열
N3 : 3으로 나눈 나머지 값을 기억하는 변수
Sum : 3의 배수를 누적하기 위한 변수
- 처리 조건
나머지 값을 구하는 연산자는 MOD 연산자를 사용한다.
∴ mod 연산자 예 : 10 mod 3 => 결과 1

배수의 합계 순서도
배열에 입력된 자연수 중 배수의 합계 [예제] 순서도

[예제] 요약 해설
N(3) = A(I) mod 3 : 배열 A(I)에 기억된 자연수를 3으로 나눈 나머지 값을 구하기 위한 처리 구문. N3 = mod(A(I), 3)으로 표현할 수도 있습니다.
N3 = 0 : 배열 A(I)의 값을 3으로 나눈 나머지 값을 기억하는 변수인 N3의 값이 0인가 판단하기 위한 구문. N3이 0과 같다면 배열 A(I)에 기억된 자연수는 3의 배수입니다.
Sum = Sum + A(I) : 배열 A(I)의 값을 Sum 변수에 누적하기 위한 처리 구문
[연습문제 1] 아래의 순서도는 위의 예제 1과 동일한 내용을 처리한 순서도이다. 괄호에 해당하는 적합한 내용을 ‘답항보기’에서 찾아 순서도를 완성하라.

배수의 합계 순서도
[연습문제 1] 순서도

[연습문제 2] 아래의 순서도는 배열 A(7)에 입력된 자연수 9, 15, 10, 7, 6, 30, 21에 대하여 3의 배수이면서 5의 배수인 수의 합계를 출력하는 순서도이다. 아래 순서도의 괄호에 해당하는 적합한 내용을 ‘답항보기’에서 찾아 순서도를 완성하라.
- 사용되는 변수
I : 인덱스 변수
N3 : 3으로 나눈 나머지 값 기억 변수
N5 : 5로 나눈 나머지 값 기억 변수
T : 3으로 나눈 나머지와 5로 나눈 나머지 값을 더하여 기억하는 변수
Sum : 3의 배수이면서 5의 배수인 수를 누적하기 위한 변수
- 처리 조건
나머지 값을 구하는 연산자는 MOD 연산자를 사용한다.
∴ mod 연산자 예 : 10 mod 7 => 결과 3

배수의 합계 알고리즘 순서도
[연습문제 2] 순서도

[연습문제 2] 힌트
문제의 핵심은 배열에 기억된 수를 3으로 나눈 나머지와 5로 나눈 나머지 값을 구한 후 3으로 나눈 나머지와 5로 나눈 나머지가 모두 0이라면 배열에 기억된 자연수는 3의 배수이면서 5의 배수임을 의미합니다. 곧, 3의 배수이면서 5의 배수인 수를 구하기 위하여 각 수를 3과 5로 나누어 나머지 값들을 더한 결과가 0이라면 해당 수는 3의 배수이면서 5의 배수가 되는 것입니다.

연습문제 답안
연습문제 1, 2 답안