책 내용 질문하기
문의드립니다.
도서
[2011] 정보처리기사 실기
페이지
조회수
166
작성일
2011-09-29
작성자
첨부파일

안녕하세요

한가지 문의가 있어서 글 남깁니다.

책 245페이지 반복문에 보면

i=1,2,1(문제에서는 4에서 2로 변경한 부분) 이 부분에서

A(NMG) <> 0 이 YES일때 i=i-1 이라고 답에 나오는데요

디버깅 부분중에 i=2일때 A(NMG) <> 0 아니라면 i값을 감소시키는데

2 = 2 - 1(는 1) 에서 끝나서 다시 반복문 처음으로 돌아가면

1증가이니 2가 되어야 하는게 아닌가 싶어서 문의드립니다.(물론 이렇게 되면 무한 반복이지만요)

디버깅에 있는 0이 어떻게 나오는건지 이해가 안되네요...

반복문은 1증가 반복문인데 말이죠;;

답변
2011-09-30 09:13:53

안녕하세요.

반복문의 역할은 1증가를 하면서 각 해당 위치에 반이 배정되어 있는지 여부를 검사하는 것입니다.

반이 배정되어 있는 경우에는 건너뛰는 2반에서 제외해야 하므로 -1을 해주게 됩니다.

즉 1증가를 수행하지만 과정상 반이 배정되어 있는 경우가 발생하면 -1을 해주므로 뒤로 갈수록 -1의 경우가 많아서 i값의 변화가 복잡해 집니다.

그러므로 이 알고리즘을 정확히 디버깅을 하려면 색이 라는 펜을 이용해 반이 배정되는 경우와 건너뛰는 경우를 체크하면서 수행해야 합니다.

이점을 염두에 두고 디버깅을 차근히 수행해 보세요.

그래도 잘 이해되지 않는 부분이 있다면 02-323-0922(1시~5시)로 전화주세요.

오늘도 즐거운 하루 되세요.

"
  • *
    2011-09-30 09:13:53

    안녕하세요.

    반복문의 역할은 1증가를 하면서 각 해당 위치에 반이 배정되어 있는지 여부를 검사하는 것입니다.

    반이 배정되어 있는 경우에는 건너뛰는 2반에서 제외해야 하므로 -1을 해주게 됩니다.

    즉 1증가를 수행하지만 과정상 반이 배정되어 있는 경우가 발생하면 -1을 해주므로 뒤로 갈수록 -1의 경우가 많아서 i값의 변화가 복잡해 집니다.

    그러므로 이 알고리즘을 정확히 디버깅을 하려면 색이 라는 펜을 이용해 반이 배정되는 경우와 건너뛰는 경우를 체크하면서 수행해야 합니다.

    이점을 염두에 두고 디버깅을 차근히 수행해 보세요.

    그래도 잘 이해되지 않는 부분이 있다면 02-323-0922(1시~5시)로 전화주세요.

    오늘도 즐거운 하루 되세요.

    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.