책 내용 질문하기
삽입정렬
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
280
조회수
80
작성일
2017-03-28
작성자
탈퇴*원
첨부파일

280페이지 플로차트 반복문에서 안에 있는 반복분은

K=i-1,1,-1

이니까 i-1부터 1이 될때까지 -1씩 증가하는거잖아요

그럼 i가 2일땐 1부터 1이 될때까지 인가요?

그래서 1인경우 하나만 구했는데 디버깅 표에는 0인경우도 나와서요

알려주시면 감사하겠습니다 ㅎㅎ

답변
2017-03-29 09:58:03

안녕하세요.

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

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

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

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

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

이 때 i는 0을 가지고 있습니다.

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

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

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

  • *
    2017-03-29 09:58:03

    안녕하세요.

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

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

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

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

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

    이 때 i는 0을 가지고 있습니다.

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

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

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

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