책 내용 질문하기
2012정보처리기능사알고리즘 질문
도서
[2012] 정보처리기능사 실기
페이지
조회수
351
작성일
2012-07-20
작성자
첨부파일
본권218쪽 모의고사문제 아예 송두리채 모르겠습니다.해답을 보아도(기출문제집199쪽) 마찬가지구요.
도대체 A()를 초기화하면 어떤 모양이 나온다는건지요? 그리고 M을 10 으로 나누면 어떻게 되지요?
M 이 만약 1234567891 이라면 10으로 나누면 123456789 가 되는데 A(K)라니?그리고 콤마는 배열의 오른쪽에서부터 찍나요? 아님 왼쪽부터 찍나요?
답변
2012-07-20 09:28:19
안녕하세요.
만일 1234라는 값이 입력되었다면 0번째 배열부터
A(0) = ,
A(1) = 4
A(2) = 3
A(3) = 2
A(4) = ,
A(5) = 1
,432,1이 저장됩니다.
그런 다음 출력할 때는 마지막 위치에서 부터 A(1)까지만 출력합니다, A(0)은 처리 과정상 필요한 형식상의 과정이므로 출력에서는 제외합니다.
그래서 1,234, 가 아니라 1,234 가 출력됩니다.
또한 M%10의 과정은 배열에 값을 저장하기 위한 과정으로
i % 4에 의해 i가 0일 때 나머지가 0이 되므로 A(0)에 ,가 저장된 후 i가 증가합니다.
M/10에 의해 1234 / 10의 몫인 123이 다시 M에 저장되고 나머지인 4는 배열 A(1)에 저장됩니다.
그런 다음 i가 증가합니다.
위로 이동 후 M이 0이 아니므로 반복하여
i % 4에 의해 i가 2일 때 나머지가 2가 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.
M/10에 의해 123 / 10의 몫인 12가 다시 M에 저장되고 나머지인 3은 배열 A(2)에 저장됩니다.
그런 다음 i가 증가합니다.
위로 이동 후 M이 0이 아니므로 다시 반복하여
i % 4에 의해 i가 3일 때 나머지가 3이 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.
M/10에 의해 12 / 10의 몫인 1이 다시 M에 저장되고 나머지인 2는 배열 A(3)에 저장됩니다.
그런 다음 i가 증가합니다.
위로 이동 후 M이 0이 아니므로 다시 반복하여
i % 4에 의해 i가 4일 때 나머지가 0이 되므로 A(4)에 ,가 저장된 후 i가 증가합니다.
M/10에 의해 1 / 10의 몫인 0이 다시 M에 저장되고 나머지인 1은 배열 A(5)에 저장됩니다.
그런 다음 i가 증가합니다.
위로 이동 후 M이 0이므로 변환 과정을 끝내고 오른쪽의 출력 과정을 수행합니다.
현재 i가 6이므로
i=i-1에 의해 i는 5가 됩니다.
i > 0 에서 Yes이므로 A(5), 즉 1을 출력합니다.
i=i-1에 의해 i는 4가 됩니다.
반복하여
i > 0 에서 Yes이므로 A(4), 즉 ,를 출력합니다.
i=i-1에 의해 i는 3가 됩니다.
반복하여
i > 0 에서 Yes이므로 A(3), 즉 2를 출력합니다.
i=i-1에 의해 i는 2가 됩니다.
반복하여
i > 0 에서 Yes이므로 A(2), 즉 3을 출력합니다.
i=i-1에 의해 i는 1이 됩니다.
반복하여
i > 0 에서 Yes이므로 A(1), 즉 4을 출력합니다.
i=i-1에 의해 i는 0이 됩니다.
반복하여
i > 0 에서 No이므로 종료됩니다.
오늘도 즐거운 하루 되세요.
"
-
*2012-07-20 09:28:19
안녕하세요.
만일 1234라는 값이 입력되었다면 0번째 배열부터A(0) = ,A(1) = 4A(2) = 3A(3) = 2A(4) = ,A(5) = 1,432,1이 저장됩니다.그런 다음 출력할 때는 마지막 위치에서 부터 A(1)까지만 출력합니다, A(0)은 처리 과정상 필요한 형식상의 과정이므로 출력에서는 제외합니다.그래서 1,234, 가 아니라 1,234 가 출력됩니다.또한 M%10의 과정은 배열에 값을 저장하기 위한 과정으로i % 4에 의해 i가 0일 때 나머지가 0이 되므로 A(0)에 ,가 저장된 후 i가 증가합니다.M/10에 의해 1234 / 10의 몫인 123이 다시 M에 저장되고 나머지인 4는 배열 A(1)에 저장됩니다.그런 다음 i가 증가합니다.위로 이동 후 M이 0이 아니므로 반복하여i % 4에 의해 i가 2일 때 나머지가 2가 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.M/10에 의해 123 / 10의 몫인 12가 다시 M에 저장되고 나머지인 3은 배열 A(2)에 저장됩니다.그런 다음 i가 증가합니다.위로 이동 후 M이 0이 아니므로 다시 반복하여i % 4에 의해 i가 3일 때 나머지가 3이 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.M/10에 의해 12 / 10의 몫인 1이 다시 M에 저장되고 나머지인 2는 배열 A(3)에 저장됩니다.그런 다음 i가 증가합니다.위로 이동 후 M이 0이 아니므로 다시 반복하여i % 4에 의해 i가 4일 때 나머지가 0이 되므로 A(4)에 ,가 저장된 후 i가 증가합니다.M/10에 의해 1 / 10의 몫인 0이 다시 M에 저장되고 나머지인 1은 배열 A(5)에 저장됩니다.그런 다음 i가 증가합니다.위로 이동 후 M이 0이므로 변환 과정을 끝내고 오른쪽의 출력 과정을 수행합니다.현재 i가 6이므로i=i-1에 의해 i는 5가 됩니다.i > 0 에서 Yes이므로 A(5), 즉 1을 출력합니다.i=i-1에 의해 i는 4가 됩니다.반복하여i > 0 에서 Yes이므로 A(4), 즉 ,를 출력합니다.i=i-1에 의해 i는 3가 됩니다.반복하여i > 0 에서 Yes이므로 A(3), 즉 2를 출력합니다.i=i-1에 의해 i는 2가 됩니다.반복하여i > 0 에서 Yes이므로 A(2), 즉 3을 출력합니다.i=i-1에 의해 i는 1이 됩니다.반복하여i > 0 에서 Yes이므로 A(1), 즉 4을 출력합니다.i=i-1에 의해 i는 0이 됩니다.반복하여i > 0 에서 No이므로 종료됩니다.오늘도 즐거운 하루 되세요."