문제를 풀고 디버깅할때 답변과 비교해보면
찾아야하는값이 항상 한줄씩 밀려있습니다
해당 페이지에 맞는 디버깅이
i | i/2 | INT(i/2) |
1 | 1 | 1 |
2 | 1.5 | 1 |
3 | 2 | 2 |
4 | 2.5 | 2 |
5 | 3 | 3 |
6 | 3.5 | 3 |
이거면
제가 디버깅하면
i | i/2 | INT(i/2) |
1 | 0.5 | 0 |
2 | 1 | 1 |
3 | 1.5 | 1 |
4 | 2 | 2 |
5 | 2.5 | 2 |
6 | 3 | 3 |
이렇게나옵니다
디버깅할때 가로행의 위치는 고려하지않아도된다고 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 나온거구요
이것뿐만아니라 다른문제도 계속 한줄씩 밀리는거보니 제가 뭔가 잘못 계산하고있는거같은데
뭣때문인지를 몰라서 답답하네요
안녕하세요 길벗수험서 운영팀입니다.
연산 수행 과정은 올바르게 수행하고 있는 것으로 보입니다.
그렇다면 변수 기입 시점의 문제로 보이는데, 디버깅표에 있는 각 변수나 연산이 발생하는 시점에만 기입해보세요.
위의 순서도를 예로 들었을 때,
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)
이런 식으로 괄호()에 있는 것을 디버깅표에 적어보세요.
디버깅표의 각 행 제목은 해당 연산 시점에만 적어줘야 한다는 점 잊지마세요.
행복한 하루되세요 :)