컴퓨터에게 '1을 다섯번 더하시오' 라는 명령을 내릴 경우,
1. 0+1을 A에 넣으시오.
2. A+1을 B에 넣으시오.
3. B+1을 C에 넣으시오.
4. C+1을 D에 넣으시오.
5. D+1을 E에 넣으시오.
하지만 이것을, '바로 앞의 답에 1을 더하는 일을 다섯번 반복하시오'라고 명령하면 훨씬 간단해집니다. 이렇게 같은 논리로 반복해서 실행하는 구조를 반복구조, 반복구조를 모식도로 그리면 마치 갈고리처럼 생겼다하여 루프구조라고 합니다.
예를 들어, '코끼리코 모양을 한 채, 제자리에서 열바뀌를 뱅뱅 돈 후, 제기차기''를 하는 게임이 있습니다. '뱅뱅 맴돈다.' 라는 동작을 할 때, 1, 2, 3 ... 숫자를 샌다. 컴퓨터가 같은 일을 정해진 숫자만큼 실행할때마다 1, 2, 3 숫자가 하나씩 늘어나는데 이것을 '카운터' 혹은 '카운터변수'라고 부르며 'i'라는 이름이 부여됩니다.
이것을 프로그램으로 작성하면,
1. 왼 손으로 코를 잡고 그 사이에 오른 팔을 넣어 코끼리코 모양을 한다.
2. 카운터를 'i'로 한다.
3. 카운터가 10이 될 때까지
4. 카운터를 소리내어 말한다.
5. 그 자리에서 한 바퀴 돈다.
6. 카운터를 하나 늘린다.
7. 3번으로 돌아간다.
8. 코끼리코 모양을 풀고 재기차기륻 한다.
그런데!! 이게 끝이 아님! 컴퓨터는 0, 1, 2, 3...과 같이 0부터 세는 것을 기본으로 한다는 사실~ (우리는 1, 2, 3... 이렇게 1부터 세지만~) 그러므로 같은 행위를 10회 반복할때도 '카운터값이 0부터 9까지'처럼 명령하는 편이 적합할 수도 있습니다. 그래서! 프로그래밍을 할 때는 '수는 0번 부터 샌다.'를 기본으로 생각하길!
1. 0+1을 A에 넣으시오.
2. A+1을 B에 넣으시오.
3. B+1을 C에 넣으시오.
4. C+1을 D에 넣으시오.
5. D+1을 E에 넣으시오.
하지만 이것을, '바로 앞의 답에 1을 더하는 일을 다섯번 반복하시오'라고 명령하면 훨씬 간단해집니다. 이렇게 같은 논리로 반복해서 실행하는 구조를 반복구조, 반복구조를 모식도로 그리면 마치 갈고리처럼 생겼다하여 루프구조라고 합니다.
예를 들어, '코끼리코 모양을 한 채, 제자리에서 열바뀌를 뱅뱅 돈 후, 제기차기''를 하는 게임이 있습니다. '뱅뱅 맴돈다.' 라는 동작을 할 때, 1, 2, 3 ... 숫자를 샌다. 컴퓨터가 같은 일을 정해진 숫자만큼 실행할때마다 1, 2, 3 숫자가 하나씩 늘어나는데 이것을 '카운터' 혹은 '카운터변수'라고 부르며 'i'라는 이름이 부여됩니다.
이것을 프로그램으로 작성하면,
1. 왼 손으로 코를 잡고 그 사이에 오른 팔을 넣어 코끼리코 모양을 한다.
2. 카운터를 'i'로 한다.
3. 카운터가 10이 될 때까지
4. 카운터를 소리내어 말한다.
5. 그 자리에서 한 바퀴 돈다.
6. 카운터를 하나 늘린다.
7. 3번으로 돌아간다.
8. 코끼리코 모양을 풀고 재기차기륻 한다.
반복구조(루프구조)
그런데!! 이게 끝이 아님! 컴퓨터는 0, 1, 2, 3...과 같이 0부터 세는 것을 기본으로 한다는 사실~ (우리는 1, 2, 3... 이렇게 1부터 세지만~) 그러므로 같은 행위를 10회 반복할때도 '카운터값이 0부터 9까지'처럼 명령하는 편이 적합할 수도 있습니다. 그래서! 프로그래밍을 할 때는 '수는 0번 부터 샌다.'를 기본으로 생각하길!
'프로그래밍, 쉽게 배워보자' 카테고리의 다른 글
함수, 인수, 반환값, 지역변수, 전역변수 (0) | 2017.07.01 |
---|---|
테이블/ 레코드/ 포인터 (0) | 2017.06.30 |
배열 (2) | 2017.06.30 |
무한루프와 반복의 중첩(네스트) (0) | 2017.06.29 |
조건판단 구조와 비교하기! (0) | 2017.06.28 |
프로그래밍의 흐름 (0) | 2017.06.28 |
프로그래밍 기초 용어! (0) | 2017.06.28 |
컴퓨터는 어떻게 숫자를 세고, 문자를 표현할까? (0) | 2017.06.28 |