책 내용 질문하기
삽입정렬 플로차트 이거 오류입니까?
도서
2016 시나공 정보처리기사 실기
페이지
140
조회수
124
작성일
2016-04-09
작성자
첨부파일

140page에 있는

반복문 K=i-1,1,-1 이면

K가 1이 될때까지만 반복하고 그만두는걸로 아는데

그렇다면 반복문을 다 돌고 나온 K는 1이 되지 않습니까?

그 밑에 A(K+1) = key 라고 적혀 있는데

디버깅 대로 될려면 K가 0이 되야 하는데 이해가 되지 않습니다.

질문의 요는

예를 들어 반복문 K=10 , 1, -1 이라는게 있으면

이 반복문을 다 돌고 나면 K는 1,0 둘중 어느걸로 되는겁니까?

답변
2016-04-11 09:37:55

안녕하세요.

140쪽 전문가의 조언에 언급된 내용처럼

반복문의 반복 변수가 반복문을 빠져나온 후 사용되는 경우에 대한 설명입니다.

반복문은 증가치가 적용된 후에 반복문 종료 기준값과 비교합니다.

일반적으로 반복문의 반복 변수가 반복문 이후에는 사용되는 경우가 거의 없어 반복문의 반복 변수을 디버깅할 때는 약식으로 종료 기준값까지만 디버깅을 하는데, 원칙적으로는 앞서 설명했듯이 증가치가 적용된 후 반복문 종료 기준값과 비교합니다.

그래서 반복문을 빠져나올때는 증가치가 마지막에 한 번 더 적용된 후 반복문을 빠져나옵니다.

예를 들어

i가 3이라면

반복문이

K = i-1, 1, -1

로 진행된다면

K는 i-1, 즉 2로 반복문을 1회 수행합니다.

그런 다음 증가치 -1을 적용하여 K가 1이 된 후 종료 기준값인 1과 비교합니다 1보다 작지 않으므로 반복문을 2회 수행합니다.

그런 다음 증가치 -1을 적용하여 K가 0이 된 후 종료 기준값인 1과 비교합니다. 1보다 작으므로 반복문을 빠져나옵니다.

결국 반복문 수행은 2번을 수행하지만 반복 변수의 값은 0이 된 상태로 빠져나오게 되는 것이죠.

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

  • *
    2016-04-11 09:37:55

    안녕하세요.

    140쪽 전문가의 조언에 언급된 내용처럼

    반복문의 반복 변수가 반복문을 빠져나온 후 사용되는 경우에 대한 설명입니다.

    반복문은 증가치가 적용된 후에 반복문 종료 기준값과 비교합니다.

    일반적으로 반복문의 반복 변수가 반복문 이후에는 사용되는 경우가 거의 없어 반복문의 반복 변수을 디버깅할 때는 약식으로 종료 기준값까지만 디버깅을 하는데, 원칙적으로는 앞서 설명했듯이 증가치가 적용된 후 반복문 종료 기준값과 비교합니다.

    그래서 반복문을 빠져나올때는 증가치가 마지막에 한 번 더 적용된 후 반복문을 빠져나옵니다.

    예를 들어

    i가 3이라면

    반복문이

    K = i-1, 1, -1

    로 진행된다면

    K는 i-1, 즉 2로 반복문을 1회 수행합니다.

    그런 다음 증가치 -1을 적용하여 K가 1이 된 후 종료 기준값인 1과 비교합니다 1보다 작지 않으므로 반복문을 2회 수행합니다.

    그런 다음 증가치 -1을 적용하여 K가 0이 된 후 종료 기준값인 1과 비교합니다. 1보다 작으므로 반복문을 빠져나옵니다.

    결국 반복문 수행은 2번을 수행하지만 반복 변수의 값은 0이 된 상태로 빠져나오게 되는 것이죠.

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

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