책 내용 질문하기
알고리즘 부분에서 이해안되는 부분이 있습니다.
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
280
조회수
58
작성일
2017-03-29
작성자
첨부파일

반복문에서 K가 0을 갖고 반복문을 탈출한다고 하셨는데 반복문에서 k는 i-1부터 1까지 -1씩 줄어드는데 어떤 부분에서 0으로 값을 가지는지 궁금합니다.

그리고 디버깅 과정에서 K의 값이 i가 2와 4일때는 0까지 디버깅 완료하는데, i가 3과 5일때는 1에서 디버깅이 끝나는 이유도 궁금합니다.

답변
2017-03-29 10:40:23

안녕하세요.

반복문의 반복 원리 때문입니다.

예를 들어

반복 k = i-1, 1, -1 에서

i가 2일 때 진입하면 다음과 같이 진행됩니다.


k는 i-1, 즉 초기값 1을 가지고 최종값 1과 비교합니다. 1까지는 반복이 가능하므로 반복문을 수행합니다.

반복문을 수행한 후 반복문 처음으로 돌아와 증가값 -1을 적용합니다. i는 0이 됩니다.

그런 다음 최종값 1과 비교합니다. 0은 1보다 작으므로 조건을 만족하지 않아 반복문을 수행하지 않고 빠져나옵니다.

이 때 i는 0을 가지고 있습니다. 즉 최종값보다 증가값(-1)이 한 번 더 적용된 값을 가지고 빠져나오게 됩니다.

여기서 중요한 것은 반복문을 빠져나올때 반복변수의 값은 증가값이 한번 더 적용된 후 빠져나온다는 것입니다.

반복변수는 일반적으로 반복문 안에서만 사용하는데, 이 문제와 같이 반복문 바깥쪽에서도 사용될 경우 반복문을 빠져나올 때 반복변수의 값이 중요합니다.

또한 반복문을 모두 완료하지 않고 중간에 ⑨번 조건에 의해 No가 되는 경우는 중간에 반복문을 탈출합니다.

이때는 탈출할 때의 k값을 가지고 바로 탈출하기에 반복문을 모두 반복할 때 증가값이 한 번 더 적용되는 원리가 적용되지 않고 바로 탈출합니다.


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

  • *
    2017-03-29 10:40:23

    안녕하세요.

    반복문의 반복 원리 때문입니다.

    예를 들어

    반복 k = i-1, 1, -1 에서

    i가 2일 때 진입하면 다음과 같이 진행됩니다.


    k는 i-1, 즉 초기값 1을 가지고 최종값 1과 비교합니다. 1까지는 반복이 가능하므로 반복문을 수행합니다.

    반복문을 수행한 후 반복문 처음으로 돌아와 증가값 -1을 적용합니다. i는 0이 됩니다.

    그런 다음 최종값 1과 비교합니다. 0은 1보다 작으므로 조건을 만족하지 않아 반복문을 수행하지 않고 빠져나옵니다.

    이 때 i는 0을 가지고 있습니다. 즉 최종값보다 증가값(-1)이 한 번 더 적용된 값을 가지고 빠져나오게 됩니다.

    여기서 중요한 것은 반복문을 빠져나올때 반복변수의 값은 증가값이 한번 더 적용된 후 빠져나온다는 것입니다.

    반복변수는 일반적으로 반복문 안에서만 사용하는데, 이 문제와 같이 반복문 바깥쪽에서도 사용될 경우 반복문을 빠져나올 때 반복변수의 값이 중요합니다.

    또한 반복문을 모두 완료하지 않고 중간에 ⑨번 조건에 의해 No가 되는 경우는 중간에 반복문을 탈출합니다.

    이때는 탈출할 때의 k값을 가지고 바로 탈출하기에 반복문을 모두 반복할 때 증가값이 한 번 더 적용되는 원리가 적용되지 않고 바로 탈출합니다.


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

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