1. If i>3 Then Exit Do - i>3 이면 끝내라
마지막 look until i>5 - i>5 이면 끝내라
둘 다 조건 만족하면 끝내라(?)고 되어있는데 어떻게 해석해야 하나요?
2. If 의 조건이 i>3 인데
변화표를 보면 i가 4일 때도 IF문 결과가 FALSE 라고 나오네요, 왜죠? ㅠㅠ
3. 표 아래에 "i가 3보다 크면 반복문을 빠져 나옵니다. S에 저장되어 있는 값은 11입니다." 라는 해설이 적혀 있는데,
표에는 i가 4일 때도 S 값 7을 명시해두었네요, 왜죠? ㅠㅠ
설명 부탁드립니다, 감사합니다.
안녕하세요.
1. Do 문의 경우 Loop 부분에서 지정한 조건이 만족할때까지 반복하는 명령문입니다. 그러므로 중간에 Exit Do가 없다면 'Loop Until i > 5'의 조건을 만족할때까지 반복문을 실행하고 끝내는 것이 맞습니다. 하지만 중간에 Exit Do가 있는 경우에는 반복 중간에 바로 끝낼 수 있습니다.
2. 코드를 앞에서 부터 순서대로 보듯이 표도 위에서 아래로, 왼쪽에서 오른쪽으로 보셔야 합니다. i가 3일때의 결과가 false라는 의미입니다. if 문을 비교한 다음 그 다음 i가 1이 증가되는 것입니다. 즉 i가 3일때 if 문의 결과가 false이고, 그 다음 i가 1증가하므로 i는 4가 되는 것입니다. 그런 다음 그 다음 줄로 가서 i가 4이므로 if 문의 결과가 true가 되어 반복문을 끝내는 것입니다.
3. i가 3일때 3보다 크지 않으므로 i에 1을 더해주므로 i는 4가 되고, do문 앞으로 이동해서 s=s+i를 해주므로 s는 11이 되는 것입니다.
표를 볼 때는 코드를 직접 하나하나 실행하면서 보세요. 표에서 같은 줄에 있다고 그것을 동시에 실행하는 것이 아닙니다.
즐거운 하루 되세요.
"-
*2014-05-27 09:48:27
안녕하세요.
1. Do 문의 경우 Loop 부분에서 지정한 조건이 만족할때까지 반복하는 명령문입니다. 그러므로 중간에 Exit Do가 없다면 'Loop Until i > 5'의 조건을 만족할때까지 반복문을 실행하고 끝내는 것이 맞습니다. 하지만 중간에 Exit Do가 있는 경우에는 반복 중간에 바로 끝낼 수 있습니다.
2. 코드를 앞에서 부터 순서대로 보듯이 표도 위에서 아래로, 왼쪽에서 오른쪽으로 보셔야 합니다. i가 3일때의 결과가 false라는 의미입니다. if 문을 비교한 다음 그 다음 i가 1이 증가되는 것입니다. 즉 i가 3일때 if 문의 결과가 false이고, 그 다음 i가 1증가하므로 i는 4가 되는 것입니다. 그런 다음 그 다음 줄로 가서 i가 4이므로 if 문의 결과가 true가 되어 반복문을 끝내는 것입니다.
3. i가 3일때 3보다 크지 않으므로 i에 1을 더해주므로 i는 4가 되고, do문 앞으로 이동해서 s=s+i를 해주므로 s는 11이 되는 것입니다.
표를 볼 때는 코드를 직접 하나하나 실행하면서 보세요. 표에서 같은 줄에 있다고 그것을 동시에 실행하는 것이 아닙니다.
즐거운 하루 되세요.
"