seegongsik
프로그래밍

어떻게 같은 일을 여러 번 하기

박수를 백 번 치라고 시킬 때 '박수'를 백 줄이나 적지는 않는다. '박수, 백 번'이면 된다. 반복은 같은 일을 한 번만 적고 여러 번 하라고 시키는 것이고, 컴퓨터가 가장 잘하는 일이에요.

01

백 줄 vs 한 줄

'박수 쳐'를 다섯 번 시키고 싶다고 하자.
손으로 적으면 '박수 쳐'를 다섯 줄 적어야 한다.
반복을 쓰면 '박수 쳐, 다섯 번' 한 줄이면 된다.
아래에서 두 방식을 나란히 견줄 수 있어요.

박수 쳐
박수 쳐
박수 쳐
박수 쳐
박수 쳐
… 다섯 줄
같은 줄을 다섯 번 적었어요. 백 번이라면 백 줄이겠죠.

손으로 다섯 줄 vs 반복 한 줄. 반복은 무엇을 몇 번 할지 한 줄에 적는다.

다섯 번은 손으로도 적을 만하다.
하지만 백 번, 천 번이라면 손으로는 어림없다.
반복은 '무엇을, 몇 번'을 딱 한 번만 적고, 나머지는 컴퓨터가 알아서 되풀이해요.

02

세면서 되풀이한다

반복은 보통 수를 세며 돈다.
하나, 둘, 셋… 정한 횟수에 닿을 때까지 같은 일을 한다.
아래 단추를 누르면 도장이 하나씩, 정한 수만큼 찍혀요.

0
✓
✓
✓
✓
✓
한 번 돌 때마다 수가 하나 늘고, 도장이 하나 찍혀요. 다섯에 닿으면 멈춰요.

정한 횟수만큼 같은 일을 되풀이한다. 수가 하나 늘 때마다 도장이 하나씩 찍히고, 다섯에서 멈춘다.

셀 때마다 같은 일을 한 번씩 하는 것, 이것이 반복의 기본이다.
몇 번 할지 정해 두면 컴퓨터는 그 수만큼 지치지 않고 똑같이 되풀이해요.

03

꼭대기까지 올라간다

횟수 대신 '언제까지'로 정할 때도 있다.
계단을 꼭대기까지 오르듯 '아직 안 됐으면 한 번 더' 하는 식이다.
이 '아직 안 됐나'가 앞에서 배운 조건이라, 참이면 한 번 더 하고 거짓이면 멈춰요.

1
2
3
4
5
6
맨 아래예요. 아직 꼭대기가 아니에요.
꼭대기인가?를 물어, 아니면(거짓) 한 칸 더, 맞으면(참) 멈춰요.

조건을 따지며 되풀이한다. 꼭대기가 아니면 한 칸 더 오르고, 꼭대기면 멈춘다.

그래서 반복과 조건은 함께 일한다.
조건이 계속할지 말지를 정하고, 반복이 그 일을 되풀이한다.
'될 때까지' 하는 일은 거의 다 이렇게 만들어져요.

04

반복이 아끼는 수고

같은 일을 백 번 손으로 적는다고 생각해 보자.
백 줄을 적어야 하고, 하나라도 틀리면 찾기도 어렵다.
반복은 '이것을, 백 번'이라는 한 줄이고, 그 한 줄이 백 번 일을 해요.

손으로 적기100줄
반복으로1줄
같은 일인데, 반복은 딱 한 줄로 끝나요. 백 번이든 천 번이든요.

같은 일 100번, 손으로 vs 반복. 손으로는 100줄, 반복은 1줄.

이것이 반복의 힘이다.
사람은 백 번을 적으면 지치고 틀린다.
컴퓨터는 한 줄만 받으면 백 번이든 만 번이든 지치지 않고 똑같이 해내요.

05

지치지 않고 여러 번

반복은 컴퓨터의 가장 큰 힘이다.
같은 일을 빠르게, 똑같이, 지치지 않고 한다.
우리가 한 번만 적어 주면 수천 번도 해낸다.
다음 레슨에서는 여러 값을 한데 담는 배열을 다루고, 그다음에 일을 묶어 이름 붙이는 함수로 넘어가요.

반복 = 한 번 적고 여러 번 하기
횟수로도, 조건으로도. 지치지 않고 똑같이 되풀이해요.
함수
묶어서 이름 붙이기
자료 모음
여럿을 한데 담기
그 너머
더 큰 프로그램
다음 레슨은 여럿을 한데 담는 '배열', 그다음은 일을 묶어 이름 붙이는 '함수'예요.

되풀이를 알았으니 다음으로. 반복 = 한 번 적고 여러 번 → 함수 · 자료 모음 · 그 너머.

이제 값에 이름을 붙이고(변수), 종류를 알고(자료형), 판단하고(조건), 계산하고(연산자), 되풀이하는(반복) 데까지 왔다.
프로그램의 큰 뼈대를 거의 다 모은 셈이에요.

한 줄 정리반복은 같은 일을 한 번만 적고 여러 번 하라고 시키는 것이다. 횟수로 정하거나 조건이 참인 동안 되풀이하며, 사람은 백 번 적으면 지치고 틀리지만 컴퓨터는 한 줄만 받으면 천 번도 똑같이 해낸다. 반복은 컴퓨터의 가장 큰 힘이에요.
← 프로그래밍
이 페이지가 도움 됐다면 후원하기