책 내용 질문하기
기출문제중에서 모르는게 있어요~
도서
[2012] 컴퓨터활용능력 1급 필기
페이지
242
조회수
115
작성일
2012-04-04
작성자
첨부파일

시나공2012 컴활1급 필기에서 섹션100 기출문제 2번 질문이에요.

2. 다음 보기 프로그램이 수행되었을때 sum의 값으로 옳은것은?

I = 0
Sum = 0
Do
I = I + 1
Sum = Sum + I
If I = 7 Then
Exit Do
End If
Loop Until I >= 10

답은 28 이라고 하는데 밑의 해설을 보고도 잘 이해가 가지 않아서요.

좀 쉽게 하나하나 설명 해주실수 있나요~

왜 28이 나오는지 모르겠어요~

답변
2012-04-05 09:42:10

안녕하세요.

Do ~ Loop Until 명령은 Loop Until의 조건을 만족하지 않을 때까지 수행합니다.

Do
I = I + 1
Sum = Sum + I
If I = 7 Then
Exit Do
End If
Loop Until I >= 10

조건은 I가 10보다 크거나 같다 입니다.

1번 수행

I와 Sum은 초기값으로 0을 갖습니다.

I는 I+1에 의해 1이 됩니다.

Sum은 Sum+I에 의해 1이 됩니다.

I가 1이므로 IF 조건문은 False가 되어 수행하지 않습니다.

Loop를 만나 I가 10보다 작으므로 다시 Do를 실행합니다.

즉 1번 수행했을 때 I는 1, SUM은 1입니다.

2번 수행

I는 I+1에 의해 2이 됩니다.

Sum은 Sum+I에 의해 3이 됩니다.

I가 2이므로 IF 조건문은 False가 되어 수행하지 않습니다.

Loop를 만나 I가 10보다 작으므로 다시 Do를 실행합니다.

즉 2번 수행했을 때 I는 2, Sum은 3이 됩니다.

이 과정을 지속하다 I가 7이 되는 경우 즉 7번째 수행하는 경우 ..

I는 I+1에 의해 7이 됩니다.

Sum은 Sum+I에 의해 28이 됩니다.

I가 7이므로 IF 조건문은 True가 되어 Exit Do, 즉 Do 반복을 탈출하는 명령을 수행합니다.

결국 I는 7, Sum은 28인 상태로 종료가 되는 것입니다.

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


"
  • *
    2012-04-05 09:42:10

    안녕하세요.

    Do ~ Loop Until 명령은 Loop Until의 조건을 만족하지 않을 때까지 수행합니다.

    Do
    I = I + 1
    Sum = Sum + I
    If I = 7 Then
    Exit Do
    End If
    Loop Until I >= 10

    조건은 I가 10보다 크거나 같다 입니다.

    1번 수행

    I와 Sum은 초기값으로 0을 갖습니다.

    I는 I+1에 의해 1이 됩니다.

    Sum은 Sum+I에 의해 1이 됩니다.

    I가 1이므로 IF 조건문은 False가 되어 수행하지 않습니다.

    Loop를 만나 I가 10보다 작으므로 다시 Do를 실행합니다.

    즉 1번 수행했을 때 I는 1, SUM은 1입니다.

    2번 수행

    I는 I+1에 의해 2이 됩니다.

    Sum은 Sum+I에 의해 3이 됩니다.

    I가 2이므로 IF 조건문은 False가 되어 수행하지 않습니다.

    Loop를 만나 I가 10보다 작으므로 다시 Do를 실행합니다.

    즉 2번 수행했을 때 I는 2, Sum은 3이 됩니다.

    이 과정을 지속하다 I가 7이 되는 경우 즉 7번째 수행하는 경우 ..

    I는 I+1에 의해 7이 됩니다.

    Sum은 Sum+I에 의해 28이 됩니다.

    I가 7이므로 IF 조건문은 True가 되어 Exit Do, 즉 Do 반복을 탈출하는 명령을 수행합니다.

    결국 I는 7, Sum은 28인 상태로 종료가 되는 것입니다.

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


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