책 내용 질문하기
24-삽입정렬 관련입니다
도서
[2014] 정보처리기사 실기(산업기사 포함)
페이지
140
조회수
118
작성일
2014-04-03
작성자
첨부파일

플로차트 부분에서요 반복문중 8번이라고 설명되어 있는

부분을보면 i-1에서 1까지 -1씩 증가하라고 되어있는데

제생각에는 k값이 1이 되었을때 반복문을 빠져나가야하는것같은데

어떻게 k값이 0이될때 빠져나가게 되나요?

디버깅표를 보면 k가 0이 될때까지 진행하게 되어있습니다.

또한 어떤 부분은 1까지 디버깅을 하고 어떤 부분은 0까지

디버깅이 되었는데 같은 반복문에서 값이 달라진 이유가 뭔지

알고싶습니다.

자세한 답변 부탁드려요^^

답변
2014-04-04 09:07:53

안녕하세요.

반복문은 다음과 같이 처리됩니다.

반복 k = 3, 1, -1 -> k를 3부터 1까지 -1씩 증가하면서 반복문을 실행

k는 처음 3을 가지고 반복문을 실행합니다.

그런 다음 증가치를 적용해 k가 2가 된 상태에서 종료 기준값(1)과 비교하죠 아직 기준값보다 작지 않으므로 반복문을 실행합니다.

그런 다음 증가치를 적용해 k가 1이 된 상태에서 종료 기준값(1)과 비교하죠 아직 기준값보다 작지 않으므로 반복문을 실행합니다.

그런 다음 증가치를 적용해 k가 0이 된 상태에서 종료 기준값(1)과 비교하죠 기준값보다 작으므로 반복문을 빠져나옵니다.

이때 반복변수 k의 값은 0인 상태로 빠져나옵니다.

반복문을 빠져나온 뒤 반복변수 k의 값을 사용하는 경우에는 반복문을 빠져나올때의 k 값이 중요합니다.

하지만 일반적으로 반복변수는 반복문 안에서만 사용하므로 디버깅 할 때도 마지막 반복변수 값은 무시하는 경우가 많죠.

이 알고리즘 처럼 반복변수 k의 값이 반복문을 빠져나온 뒤에도 계속 사용될 경우에는 반복문을 빠져 나올때의 반복 변수의 값이 중요합니다.

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

"
  • *
    2014-04-04 09:07:53

    안녕하세요.

    반복문은 다음과 같이 처리됩니다.

    반복 k = 3, 1, -1 -> k를 3부터 1까지 -1씩 증가하면서 반복문을 실행

    k는 처음 3을 가지고 반복문을 실행합니다.

    그런 다음 증가치를 적용해 k가 2가 된 상태에서 종료 기준값(1)과 비교하죠 아직 기준값보다 작지 않으므로 반복문을 실행합니다.

    그런 다음 증가치를 적용해 k가 1이 된 상태에서 종료 기준값(1)과 비교하죠 아직 기준값보다 작지 않으므로 반복문을 실행합니다.

    그런 다음 증가치를 적용해 k가 0이 된 상태에서 종료 기준값(1)과 비교하죠 기준값보다 작으므로 반복문을 빠져나옵니다.

    이때 반복변수 k의 값은 0인 상태로 빠져나옵니다.

    반복문을 빠져나온 뒤 반복변수 k의 값을 사용하는 경우에는 반복문을 빠져나올때의 k 값이 중요합니다.

    하지만 일반적으로 반복변수는 반복문 안에서만 사용하므로 디버깅 할 때도 마지막 반복변수 값은 무시하는 경우가 많죠.

    이 알고리즘 처럼 반복변수 k의 값이 반복문을 빠져나온 뒤에도 계속 사용될 경우에는 반복문을 빠져 나올때의 반복 변수의 값이 중요합니다.

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

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