책 내용 질문하기
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) = 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이므로 종료됩니다.
    오늘도 즐거운 하루 되세요.
    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.