책 내용 질문하기
K=8일때, M값이 어떻게 6이 나오는지 이해가 안돼요
도서
[2015] 정보처리기사 실기(산업기사 포함)
페이지
84
조회수
112
작성일
2015-09-16
작성자
첨부파일

84페이지 플로차트 디버깅을 하다가 의문점이 생겨 질문 올립니다.

정답 및 해설 책자에 디버깅 한걸 보면

K=8일때, M값이 6으로 나와서 출력이 6이 된다고 돼있는데요.

제가 디버깅 해볼땐

K=8일때, L=2가 되는데 이때 J=1이므로 L>J가 돼서

밑에 최솟값(J)변경, 근사값(M)치환은 일어나지 않고

따라서 M은 8로 유지, 출력도 8로 되는데요.

제가 어디서 틀린건지 도저히 모르겠습니다..

답변
2015-09-17 09:16:03

안녕하세요.

최소값이 변경되는 경우는

L <= J 인 경우로

차이값 L이 최소값 J보다 작거나 같은 경우입니다.

K가 8일 때 A(K)는 9이므로 차이가 2입니다.

현재 J가 1이므로 J보다 크죠. 그럼 최소값 변경이 아니라 다음 반복을 실행합니다.

디버깅 표는 가로의 위치를 맞추지 않고 세로의 값 변화만 연속적으로 기록한 것이므로

가로를 기준으로 각 변수들을 확인하면 안 됩니다.

각 변수 값 변화를 처음부터 체크하며 따라가 보세요.

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

  • *
    2015-09-17 09:16:03

    안녕하세요.

    최소값이 변경되는 경우는

    L <= J 인 경우로

    차이값 L이 최소값 J보다 작거나 같은 경우입니다.

    K가 8일 때 A(K)는 9이므로 차이가 2입니다.

    현재 J가 1이므로 J보다 크죠. 그럼 최소값 변경이 아니라 다음 반복을 실행합니다.

    디버깅 표는 가로의 위치를 맞추지 않고 세로의 값 변화만 연속적으로 기록한 것이므로

    가로를 기준으로 각 변수들을 확인하면 안 됩니다.

    각 변수 값 변화를 처음부터 체크하며 따라가 보세요.

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

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