while 반복문


while문은 코드를 계속 반복해주어야 할 때 사용합니다.
while문은 조건이 거짓이 되면 반복을 멈추게 됩니다.
구조는 아래와 같습니다.

위 코드를 순서도로 옮겨보면 아래와 같습니다.

그렇다면 while 반복문을 왜 사용하는지 실습을 통해 알아볼까요?


우선 반복문 실습을 위해서 터치센서와 RGB LED를 아래와 같이 준비해주세요~!




📇 실습 코드 작성

만약 우리가 터치센서를 한번만 터치해서 LED가 계속 깜빡이게 만들고 싶다면?
다음과 같이 코드를 작성해볼 수 있습니다.

⬇ 복사 붙여 넣기 가능한 코드


그런데 여기서 문제가 생깁니다.
LED가 꺼지지 않고 무한 반복해서 깜빡이게 됩니다.
그렇다면 터치센서를 한번만 터치해서 LED가 10번만 깜빡이고 꺼지는 코드는 어떻게 될까요?

아래 코드와 같이 count 변수를 추가로 만들고 while문 안에서 증감연산자(++)를 사용해서 
count 변수 값을 1씩 더해주면?
count가 10이 되면 거짓이 되면서 while문을 빠져나오겠죠?
증감연산자의 (++)는 값을 1 씩 증가시키고 (- -)는 값을 1 씩 감소시킵니다.

⬇ 복사 붙여 넣기 가능한 코드


 물론 다른 방법도 있습니다. 바로 'break'를 사용하는 것인데요,

아래의 코드를 볼까요? while이 1(참)이면 반복문이 시작됩니다.
while문 안에 if를 이용하여 터치 센서 값이 1일 경우 break를 실행하게 됩니다. 
break문으로 인해 while문을 빠져나오면 while문 밖의 rgb.setColor(0,0,0); 문장을 실행합니다.
만약 터치 센서 값이 0일 경우 while문 안의 rgb.setColor(255,255,255); 문장이 계속 실행되는 것이죠.

⬇ 복사 붙여 넣기 가능한 코드


  for 반복문


for 반복문은 while문과 같은 반복문입니다. 
하지만 for문은 while문 보다는 훨씬 짧고 심플한 친구입니다. 한 줄로 모든 걸 끝내버리거든요.

while문은 계속해서 반복이 된다면 for문은 내가 원하는 만큼 코드를 반복을 할 수 있습니다. 
while과 for문을 비교해 보았을 때 차이점이 보이시나요? 두 개의 코드 모두 결과는 같습니다.

아래의 그림은 여러분이 for문을 이해하기 쉽도록 도식화 한 그림입니다.

위의 그림에서 코드의 흐름은 다음과 같이 진행됩니다.


1.초기화식 →  변수 a 0으로 초기화 
2.조건식 → a는 5보다 큰가? (조건식) 
3.실행 문장 → a가 0이면 5보다 작네? 그럼'참'이니깐 반복 
4.증감식 → 변수 a 값 1증가 
*5 반복
= a가 5보다 크면 거짓이므로 for문 종료



📇 실습 코드 작성

그러면 위에서 한번만 터치하면 LED가 10회 깜빡이고 꺼지는 기능을 
for문을 이용해서 작성해보겠습니다!

⬇ 복사 붙여 넣기 가능한 코드