오늘부터 공부를 시작했는데요.
기출문제집 1섹션 토막강의 중 반복문 설명에서 예로 들어주신 반복문이 여러개 겹쳐 있을때
에서 처음 반복문 조건이 i=1,5,2 이구요, 그 안에 반복문이 j=1.3.1 인데요
기본 순서랑 풀이 과정은 이해를 했는데 마지막 출력값이
i = 7, j= 4 . k=9. m=3 으로 나왔어요.
k와 m 값이 나오는 것은 이해했는데, i 와 j는 조건에 최종값이 5까지, 3까지라고 했는데
그럼 조건에 맞게 i는 5까지하고 들어간 값이 답이 되어야 하는 것이 아닌가요?
j도 3까지 하고 들어간 답이 정답이 되어야 되는거 아닌가요?
설명에서 i는 7이 들어갈 수 없고, j는 4가 들어갈수 없는데, 못들어가니까 계산에 해당이 되지 않는것 아닌가요?
그런데 왜 i 와 j의 답이 7과 4가 되었나요.
원래 반복문에서는 최종값 다음 증가한 값이 정답이 되는 것인가요?
안녕하세요.
반복문은 초기값을 시작으로 증가치를 적용하면서 종료값까지 반복합니다.
예를 들어
i = 1, 3, 1인 경우
i는 처음에 1을 가지고 바로 반복문을 들어갑니다.
반복문을 실행한 후
증가치 1이 적용되어 i가 2가 된 상태에서 종료값(3)과 비교합니다. 종료값보다 작으므로 반복문을 들어갑니다.
반복문을 실행한 후
증가치 1이 적용되어 i가 3이 된 상태에서 종료값(3)과 비교합니다. 종료값과 같으므로 반복문을 들어갑니다.
반복문을 실행한 후
증가치 1이 적용되어 i가 4가 된 상태에서 종료값(3)과 비교합니다. 종료값보다 크므로 반복문을 못들어갑니다.
결과적으로 반복문을 빠져나올 때 i 값은 종료값보다 증가치가 한번 더 적용된 값으로 빠져나옵니다.
일반적으로 디버깅을 할 때 반복문을 빠져나올 때의 i값은 거의 사용하지 않으므로 디버깅에 포함하지를 않으며 교재도 그렇게 되어 있습니다.
하지만 반복문을 빠져나온 이후 반복 변수의 값이 사용되는 섹션(삽입 정렬)이 있는데 그 부분에서는 반복문의 반복 변수가 반복문을 빠져 나온 이후에도 사용되므로 이때는 디버깅에 값이 포함되어 있으니 참고하세요.
오늘도 즐거운 하루 되세요.
"-
*2014-09-19 09:17:33
안녕하세요.
반복문은 초기값을 시작으로 증가치를 적용하면서 종료값까지 반복합니다.
예를 들어
i = 1, 3, 1인 경우
i는 처음에 1을 가지고 바로 반복문을 들어갑니다.
반복문을 실행한 후
증가치 1이 적용되어 i가 2가 된 상태에서 종료값(3)과 비교합니다. 종료값보다 작으므로 반복문을 들어갑니다.
반복문을 실행한 후
증가치 1이 적용되어 i가 3이 된 상태에서 종료값(3)과 비교합니다. 종료값과 같으므로 반복문을 들어갑니다.
반복문을 실행한 후
증가치 1이 적용되어 i가 4가 된 상태에서 종료값(3)과 비교합니다. 종료값보다 크므로 반복문을 못들어갑니다.
결과적으로 반복문을 빠져나올 때 i 값은 종료값보다 증가치가 한번 더 적용된 값으로 빠져나옵니다.
일반적으로 디버깅을 할 때 반복문을 빠져나올 때의 i값은 거의 사용하지 않으므로 디버깅에 포함하지를 않으며 교재도 그렇게 되어 있습니다.
하지만 반복문을 빠져나온 이후 반복 변수의 값이 사용되는 섹션(삽입 정렬)이 있는데 그 부분에서는 반복문의 반복 변수가 반복문을 빠져 나온 이후에도 사용되므로 이때는 디버깅에 값이 포함되어 있으니 참고하세요.
오늘도 즐거운 하루 되세요.
"