분수 풀이하는 문제 플로차트인데욤
정답지를 보니깐 1) i = i +1 2) yes 3) no ....
이렇게 되어 있는데
설명에는 분자가 홀일 때 빼고. 짝수일때 더한다고 되어 있습니다
근데 정답지에 나온 것 처럼 2) yes가 되면 아래 J = J + (i/(i+1)) 이 아니라 J = J - (i/(i+1)) 가 되어야 하는게
맞는거 아닌가요??
다소 이해하기가 어려워서 ㅠㅠ 자세하고 쉽게 설명 부탁드리겠습니다.......
안녕하세요. 길벗 수험서 운영팀입니다.
해당 순서도는 분자(변수 i)를 기준으로 연산을 수행합니다.
즉 수열에서 분자가 짝수인 경우는 +를, 홀수인 경우는 -를 수행하는 것이지요.
이와 같은 경우는 차례대로 디버깅하면 간단히 알 수 있습니다.
* 앞의 번호는 순서도의 우측에 적혀있는 검은색 원문자입니다.
1. i와 J가 0으로 초기화 되었습니다.
2. i에 1을 더합니다. (i=1)
3. int(1/2) = 1/2는 0=0.5가 되므로 '거짓'이 됩니다.
5. j=j-(1/2)를 수행합니다.
* -(1/2)
6. i>=99, i는 1이므로 2번으로 돌아갑니다.
2. i에 1을 더합니다. (i=2)
3. int(2/2) = 2/2는 1=1이 되므로 '참'이 됩니다.
4. j=j+(2/3)을 수행합니다.
* -(1/2)+(2/3)
6. i>=99, i는 2이므로 2번으로 돌아갑니다.
위와 같은 방식으로 순서도가 정상적으로 수행됨을 확인할 수 있습니다.
행복한 하루 되세요. ^^
-
*2018-10-23 09:56:36
안녕하세요. 길벗 수험서 운영팀입니다.
해당 순서도는 분자(변수 i)를 기준으로 연산을 수행합니다.
즉 수열에서 분자가 짝수인 경우는 +를, 홀수인 경우는 -를 수행하는 것이지요.
이와 같은 경우는 차례대로 디버깅하면 간단히 알 수 있습니다.
* 앞의 번호는 순서도의 우측에 적혀있는 검은색 원문자입니다.
1. i와 J가 0으로 초기화 되었습니다.
2. i에 1을 더합니다. (i=1)
3. int(1/2) = 1/2는 0=0.5가 되므로 '거짓'이 됩니다.
5. j=j-(1/2)를 수행합니다.
* -(1/2)
6. i>=99, i는 1이므로 2번으로 돌아갑니다.
2. i에 1을 더합니다. (i=2)
3. int(2/2) = 2/2는 1=1이 되므로 '참'이 됩니다.
4. j=j+(2/3)을 수행합니다.
* -(1/2)+(2/3)
6. i>=99, i는 2이므로 2번으로 돌아갑니다.
위와 같은 방식으로 순서도가 정상적으로 수행됨을 확인할 수 있습니다.
행복한 하루 되세요. ^^