책 내용 질문하기
디버깅관련
도서
2019 시나공 정보처리기능사 실기
페이지
35
조회수
244
작성일
2019-09-06
작성자
탈퇴*원
첨부파일

문제를 풀고 디버깅할때 답변과 비교해보면

 

찾아야하는값이 항상 한줄씩 밀려있습니다

 

해당 페이지에 맞는 디버깅이

ii/2INT(i/2)
111
21.51
322
42.52
533
63.53

 

이거면

 

제가 디버깅하면

ii/2INT(i/2)
10.50
211
31.51
422
52.52
633

 

이렇게나옵니다

 

디버깅할때 가로행의 위치는 고려하지않아도된다고 36P에 써있는데

저렇게해서 i/2와 INT(i/2)가 INT(i/2)=i/2  옆에 Yes / No 구해서 풀어야하는 문제라 가로행의 위치도 맞아야하는데 왜 저렇게 한줄씩 밀릴까요?

제가 디버깅한 방식은 i에 1이있으니 1/2 해서 0.5가 나왔고 INT로 소수점내림해서 0이나왔습니다 마찬가지로

아래의 행도 i=2 이니까 2/2 해서 1 나온거구요

 

이것뿐만아니라 다른문제도 계속 한줄씩 밀리는거보니 제가 뭔가 잘못 계산하고있는거같은데

뭣때문인지를 몰라서 답답하네요 

답변
2019-09-09 10:50:57

안녕하세요 길벗수험서 운영팀입니다.

 

연산 수행 과정은 올바르게 수행하고 있는 것으로 보입니다.

 

그렇다면 변수 기입 시점의 문제로 보이는데, 디버깅표에 있는 각 변수나 연산이 발생하는 시점에만 기입해보세요.

 


 

위의 순서도를 예로 들었을 때,

 

1. i와 j의 초기 값을 디버깅표에 적어줍니다. (i=0, j=0)

2. i에 1이 합산됩니다. (i=1)

3. int(i/2)와 i/2의 연산이 발생하며, int(i/2)=i/2의 비교 연산도 발생합니다.

(int(i/2)는 0, i/2는 0.5, int(i/2)=i/2는 No)

5. No로 진행되니 5번으로 가면 J의 값이 -0.5가 됩니다. (j=-0.5)

6. i>=99를 비교하면 No이니 2번으로 돌아갑니다.(i>=99는 No)

 

이런 식으로 괄호()에 있는 것을 디버깅표에 적어보세요.

 

디버깅표의 각 행 제목은 해당 연산 시점에만 적어줘야 한다는 점 잊지마세요.

 

행복한 하루되세요 :)

 

  • 관리자
    2019-09-09 10:50:57

    안녕하세요 길벗수험서 운영팀입니다.

     

    연산 수행 과정은 올바르게 수행하고 있는 것으로 보입니다.

     

    그렇다면 변수 기입 시점의 문제로 보이는데, 디버깅표에 있는 각 변수나 연산이 발생하는 시점에만 기입해보세요.

     


     

    위의 순서도를 예로 들었을 때,

     

    1. i와 j의 초기 값을 디버깅표에 적어줍니다. (i=0, j=0)

    2. i에 1이 합산됩니다. (i=1)

    3. int(i/2)와 i/2의 연산이 발생하며, int(i/2)=i/2의 비교 연산도 발생합니다.

    (int(i/2)는 0, i/2는 0.5, int(i/2)=i/2는 No)

    5. No로 진행되니 5번으로 가면 J의 값이 -0.5가 됩니다. (j=-0.5)

    6. i>=99를 비교하면 No이니 2번으로 돌아갑니다.(i>=99는 No)

     

    이런 식으로 괄호()에 있는 것을 디버깅표에 적어보세요.

     

    디버깅표의 각 행 제목은 해당 연산 시점에만 적어줘야 한다는 점 잊지마세요.

     

    행복한 하루되세요 :)

     

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