반복 — 똑똑하게 되풀이
반복은 같은 일을 여러 번 할 때, 복붙 대신 되풀이할 부분을 한 번만 적고 'N번 해'라고 묶는 거예요. 반복문은 늘 두 부분 — 몸통(되풀이할 일)과 횟수(몇 번 할지)로 되어 있어요.
펼치면 순차, 접으면 반복 — 슬라이더로 횟수를 바꿔 봐요
왼쪽 코드를 펼치면 같은 명령이 줄줄이, 접으면 '몇 번 반복'과 몸통 한 줄로 짧아져요. 슬라이더로 횟수를 바꿔 보세요.
같은 일을 여러 번 할 때, 되풀이할 부분(몸통)을 한 번만 적고 '몇 번 할지'만 정하는 것 — 이게 반복(loop)이에요. 반복은 차례대로 하던 순차를 한 덩어리로 접은 것이고요.
한 번 더, 또 한 번 더 — 반복이 도는 걸 따라가 봐요
'한 번 더'를 누를 때마다 반복이 한 바퀴 돌아요. 몇 번째인지 세어 보고, 언제 멈추는지 지켜보세요.
반복은 몸통을 한 번 하고 → 횟수를 하나 세고 → 다 셀 때까지 되풀이해요. 컴퓨터는 정확히 세고 정해진 횟수에서 딱 멈춰요.
이렇게 한 번씩 돌리는 '한 번 더'는, 나중에 막대를 줄 세울 때 누를 '다음 비교'와 똑같은 한 걸음이에요.
펼친 순차와 반복문 짝짓기 — 같은 결과를 찾아요
위 명령을 똑같은 결과로 줄여 쓴 반복문은 어느 것일까요? 몸통과 횟수를 잘 살펴보세요.
펼친 줄 수 = 반복 횟수, 한 줄에 적힌 명령 = 몸통. 둘이 맞아야 같은 결과예요.
운동장 다섯 바퀴 — 펼치면 길고, 접으면 짧아요
운동장을 도는 같은 일을, 펼친 순차와 접은 반복문으로 나란히 적었어요. '5바퀴'와 '10바퀴'를 바꿔 보면?
횟수를 바꿀 때 펼친 쪽은 줄을 더 적어야 하지만, 접은 반복문은 숫자 하나만 고치면 돼요. 그래서 여러 번 할수록 반복이 편하고 실수도 적어요.
그런데 '지칠 때까지 뛴다'면 몇 바퀴인지 미리 정할 수 없어요. '언제 멈출까'를 정하는 건 갈림길(만약 ~라면) — 다음에 배울 이야기예요.
한 걸음 더 — 횟수 반복과 조건 반복, 중첩 반복, 무한 반복, 학술어
본문만으로 챕터는 완결돼요.
아래는 한 걸음 더 들어가고 싶은 친구를 위한 보너스예요.
1. 두 가지 반복 — 횟수 반복과 조건 반복
지금까지 본 반복은 "몇 번 할지"를 미리 아는 반복이었어요(별 5번, 운동장 10바퀴).
이걸 횟수 반복이라고 해요.
그런데 "언제까지 할지"는 아는데 몇 번인지는 모를 때도 있어요.
예를 들어 "물이 끓을 때까지 기다린다"는 몇 초인지 미리 모르죠.
이렇게 어떤 일이 일어날 때까지 되풀이하는 걸 조건 반복이라고 해요.
- 횟수 반복: "5번 반복 { ... }" — 몇 번인지 정해져 있어요.
- 조건 반복: "물이 끓을 때까지 반복 { 기다린다 }" — 횟수 대신 멈출 조건이 있어요.
둘 다 "되풀이"라는 점은 같고, 멈추는 방법이 다를 뿐이에요.
2. 반복 안의 반복 — 중첩 반복(구구단 맛보기)
반복 몸통 안에 또 반복을 넣을 수도 있어요.
구구단을 떠올려 봐요.
바깥 반복이 단(2~9단, 여덟 번)을 돌고, 그 한 바퀴마다 안쪽 반복이 곱하는 수(1~9, 아홉 번)를 다 돌아요.
그래서 줄은 8 × 9 = 72줄이 적혀요.
이렇게 반복 속의 반복을 중첩 반복(nested loop)이라고 불러요.
바깥이 한 번 돌 때 안쪽은 끝까지 한 바퀴 도는 게 핵심이에요.
3. 끝나지 않는 반복 — 무한 반복 조심하기
반복에 멈출 방법이 없으면 컴퓨터는 영원히 멈추지 않아요.
이걸 무한 반복(infinite loop)이라고 해요.
이렇게 "몇 번"도 "언제까지"도 없으면, 컴퓨터는 별을 끝없이 그려요(화면이 멈춘 듯 보이기도 해요).
사람은 지치면 알아서 멈추지만 컴퓨터는 안 멈춰요 — 그래서 반복에는 반드시 멈출 횟수나 멈출 조건이 있어야 해요.
"언제 멈출까"를 정하는 일이 결국 다음에 배울 갈림길(조건)과 이어져요.
4. 학술어 — 반복(iteration)
본문에서 "되풀이"라고 부른 이 블록을 컴퓨터 과학에서는 반복(iteration)이라고 불러요.
반복 한 바퀴 도는 것을 "한 번의 반복(iteration)"이라고도 해요.
적는 방식도 두 가지로 나눠 불러요.
- REPEAT n TIMES(엔 번 반복) — 횟수 반복. 예:
REPEAT 5 TIMES. - REPEAT UNTIL (조건)(~될 때까지 반복) — 조건 반복. 예:
REPEAT UNTIL 물이 끓음.
순차가 명령을 차례대로 하나씩 했다면, 반복은 그중 한 덩어리를 여러 바퀴 돌리는 방식이에요.
프로그램이 같은 일을 효율적으로 처리하는 가장 기본 도구라, 반복을 알면 짧은 코드가 어떻게 많은 일을 해내는지 읽을 수 있어요.
직접 해 보기 — 코딩 로봇
배운 반복을 진짜 코드처럼 써 볼 차례예요. 같은 명령이 줄줄이 이어지면 반복 블록으로 묶어 로봇을 별까지 데려다주세요. 반복 스테이지 4개를 이 자리에서 바로 풀 수 있어요.
순차·조건·내 블록까지 다른 월드도 풀고 싶다면 학습게임의 코딩 로봇에서 이어서 할 수 있어요 — 여기서 얻은 별은 거기서도 그대로 이어져요.
자가진단
외운 사실이 아니라 개념을 적용하는 문제예요. 답을 고르면 바로 정답·오답과 해설을 알려줘요. 틀려도 괜찮아요 — ↻ 다시로 얼마든지 다시 풀 수 있어요.
핵심 정리
- 반복은 같은 일을 여러 번 할 때, 되풀이할 부분을 한 번 적고 묶는 거예요(순차를 접은 것).
- 반복문은 늘 두 부분 — 몸통(되풀이할 일) + 횟수(몇 번).
- 횟수만 바꾸면 결과가 늘거나 줄어요 — 펼친 줄을 다시 적지 않고 숫자 하나로요.