음수 1 이용 부호변환 합산 알고리즘을 예제와 연습문제 순서도를 자료와 동영상 강의를 통하여 학습해 보겠습니다.
순차적 부호변환 합산 알고리즘 예제와 연습문제는 정보처리기능사 실기시험에 출제되는 유형으로 양의 정수에 음수 1을 곱한 결과는 음의 정수, 음의 정수에 음수 1을 곱한 결과는 양의 정수가 되는 원칙을 이용하여 수열의 합계를 구하는 알고리즘입니다.
예제와 연습문제는 모두 동영상 강의로 제작하여 학습하실 수 있도록 게재하였습니다.
또한, 학습자료로 1페이지 분량의 PDF 파일을 첨부하니 내려받기하셔서 학습하시기 바랍니다.
[예제] 1-2+3-4+5-6+7-8+9-10의 결과를 구하는 순서도를 작성하시오.
(사용되는 변수)
I : 인덱스 변수(자연수를 1에서 10까지 증가시키는 역할)
S : 음수 및 양수를 결정하기 위한 스위칭 변수
Sum : 합계 변수
음수 1 이용 부호변환 합산 알고리즘 예제 순서도예제 순서도
[예제 순서도 분석]
변환 원칙 : 양수 1에 음수 1을 곱하면 결과는 음수 1이 되고, 음수 1에 음수 1을 곱하면 결과는 양수 1이 됩니다. 이러한 원리를 이용하여 로직이 1회 수행 될 때마다 인덱스 변수 I에 한번은 양수 1을 한번은 음수 1을 곱하여 합계 변수 Sum에 누적하여 문제를 해결합니다.
S=S×(-1) : 1회 수행 때 S의 초기치는 -1이므로 (-1)×(-1) = 1이 되고 2회 수행 때 S=S×(-1)을 처리하기 이전 S의 값은 1이므로 S=S×(-1)을 만나면 1×(-1)이므로 S는 -1의 값을 가지게 되므로 S의 값은 1회 수행할 때마다 양수 1과 음수 1로 순차적으로 바뀝니다.
I=I+1 : 색인변수(순차적으로 1에서 10까지 증가)
Sum=Sum+(I×S) : 로직이 순차적으로 1씩 증가할 때마다 S의 값은 음수 1과 양수 1을 번갈아 가며 기억하므로 I의 값에 S를 곱하면 I의 값은 번갈아 가며 결과가 양수, 음수로 바뀌며 합계변수 Sum에 누적됩니다.
[참고] S 변수의 초기치를 -1로 지정한 이유는 최초 1이 Sum에 더해지므로 S= S× (-1)을 만났을 때 S의 값이 양수 1이 되도록 하기 위해서입니다. 만약 구하고자 하는 값이 (-1+2-3+4-5 ... 순서라면) S의 초기치는 1로 결정되어야 합니다.
[연습문제 1] 아래 순서도는 1-2+4-6+8-10+12-14+16-18+20의 결과를 구하는 순서도입니다. 순서도에서 괄호에 해당하는 내용을 ‘답항보기’에서 찾아 순서도를 완성하시오.
사용되는 변수 ∴ I : 인덱스 변수 ∴ S : 부호 결정 변수 ∴ SUM : 합계 변수
음수 1 이용 부호변환 합산 알고리즘 연습문제 1 순서도연습문제 1 순서도
[연습문제 1 순서도 힌트]
로직이 처음 수행할 때 합계 변수 Sum에는 -2가 누적되어야 합니다. 곧, 스위칭 역할을 하는 변수 S의 값이 -1이 되도록 초기치를 설정하여야 하므로 S의 초기치는 1이 되어야 합니다. 그리고 인덱스 변수 I의 값은 2씩 증가하도록 I=I+1로 처리하여야 합니다.
[연습문제 2] 아래 순서도는 1+2-3-4+5+6-7-8+9+10-11-12의 결과를 구하는 순서도입니다. 순서도에서 괄호에 해당하는 내용을 ‘답항보기’에서 찾아 순서도를 완성하시오.
사용되는 변수 ∴ I : 인덱스 변수 ∴ S : 부호 결정 변수 ∴ SUM : 합계 변수
음수 1 이용 부호변환 합산 알고리즘 연습문제 2 순서도연습문제 2 순서도
[연습문제 2 순서도 힌트]
제시된 순서도에서 I의 값은 1회 반복할 때마다 2번 수행합니다.
부호를 결정하는 S의 초기치는 최초 S가 (+1)이 될 수 있도록 설정하여야 합니다.