책 내용 질문하기
순서도 오류(1권 p280, 281)
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
280
조회수
82
작성일
2017-03-31
작성자
첨부파일

1권 p280 순서도 11번 A[K+1] = () 이 부분이 A[K] = () 으로 바꾸면 문제가 잘풀리는데,

A[K] = () 로 바꿔서 푸는게 맞나요?

답변
2017-04-03 09:28:32

안녕하세요.

반복문의 반복 변수가 반복문 바깥쪽에서 사용될 경우

반복 변수 최종값은 증가치가 한 번 더 적용된 상태로 벗어나기 때문에

A[K+1] 적용해야 합니다.

예를 들어

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

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


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

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

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

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

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

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

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

  • *
    2017-04-03 09:28:32

    안녕하세요.

    반복문의 반복 변수가 반복문 바깥쪽에서 사용될 경우

    반복 변수 최종값은 증가치가 한 번 더 적용된 상태로 벗어나기 때문에

    A[K+1] 적용해야 합니다.

    예를 들어

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

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


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

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

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

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

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

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

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

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