학습 목표

- 반복문(for문)이 무엇인지 이해할 수 있다.
- 반복문(for문)을 이용해 반복적으로 코드를 실행시킬 수 있다.
- 기본적인 for문 (for (let i = 0; i < 5; i++))을 응용하여 다양한 for문을 만들 수 있다.
- (Advanced) 반복문에 조건문을 적용하여 특정 조건에서만 코드가 실행되도록 할 수 있다.

반복문 (for문)

반복문 (for문) 이란?

= 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 조작하는 실행문이다.

// 반복문을 활용할 때는 'for'이라는 문구를 사용하여 작성한다. 그래서 반복문을 'for문'이라고 부른다.

[반복문의 구조]

(1)          (2)          (3)
for (초기문; 조건문; 증감문) {
	반복하려는 내용
}

- (1) for : 반복문임을 표시하는 키워드
- (2) 초기문 : 반복문을 시작하기 위한 초기 설정으로 반복문에 활용할 변수를 선언하거나 할당하는 단계
      조건문 : 반복문을 끝내기 위한 종료 조건 설정 단계
      증감문 : 반복문이 한 번 실행될 때마다 반복문에 사용되는 변수의 값을 갱신하는 단계
- (3) 실행문 : 중괄호 {} 안에는 조건문의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문을 넣어준다.

Ex)

for (let i = 1; i <= 10; i = i + 1) { 
	console.log(i);      
}  

- 변수 i의 값이 10보다 작거나 같을 때까지 console.log(i) 실행을 반복한다. 
- 반복문이 한 번 돌아갈 때마다 i의 값을 1씩 증가시킨다.
- 반복문이 한 번 실행될 때마다 갱신된 i의 값을 출력한다. 

초기문 (=초기화)

초기문이란?

= 반복문을 시작하기 위한 초기 설정으로 반복문에 활용할 변수를 선언하거나 할당하는 단계

// 기존에 공부했던 변수 선언, 할당과 같은 방식인 let i = 1; 과 같이 작성한다.

// 반복문에서 변수의 초기문이란 반복문의 시작점을 뜻한다.

// 반복문에서 변수는 반복문의 시작점으로 활용된다.

// 반복문의 예시에서 자주 등장하는 변수 'i'는 integer(정수)라는 단어의 i다.


조건문

조건문이란?

= 반복문을 끝내기 위한 종료 조건의 설정 단계

// 증감문에 따른 반복문의 반복 횟수다.

// 조건에 맞다면 다음을 반복하고, 조건에 맞지 않는다면 종료된다.

// let i = 1;의 상태에서 i의 값이 1씩 증가한다고 가정했을 때 10회를 반복한다면,
i < 11 또는 i <=10 으로 작성한다.


증감문

증감문이란?

= 작업을 1회 수행할 때마다 수행할 작업을 의미한다.
  반복문이 한 번 실행될 때마다 반복문에 사용되는 변수의 값을 갱신하는 단계

// 변수의 값은 증가가 될 수도 있고, 감소가 될 수도 있다.

// 만약 변수 i의 값이 1이고, 반복문이 돌아갈 때마다 i의 값을 1씩 증가시키고 싶다면,
i = i + 1 또는 i++ 로 작성한다.


<실습 1>

행운이는 토마토에 물을 10번 주게 하는 기계를 제작하려고 한다.
어떻게 하면 좋을까?

- i의 값이 10회보다 작거나 같을 때까지 console.log(waterDrop) 실행을 반복한다.
- 반복문이 한 번 돌아갈 때마다 waterDrop의 값을 1씩 증가시킨다.
- 반복문이 한 번 실행될 때마다 갱신된 waterDrop 값을 출력한다.	
for (let waterDrop = 1; waterDrop <= 10; waterDrop = waterDrop + 1) {
	console.log(waterDrop);
}

// 반복문을 시작할 초기문을 작성한다. ---> let waterDrop = 1

// 반복문을 종료할 조건문을 작성한다. ---> let waterDrop <= 10

//1부터 시작하여 10보다 작거나 같아질 때까지 총 10회를 반복해야 하므로 증감문을 작성한다.
---> let waterDrop = waterDrop + 1

//중괄호 { } 안에 들어가는 실행문에서 갱신되는 waterDrop의 값을 반복적으로 출력해준다.

//이 반복문은 waterDrop의 값이 1에서 시작하여 10이 될 때까지 실행되며, 10이 되는 순간 반복문의 실행을 종료한다.

// 크롬에서 개발자도구를 켠 다음, 위의 코드를 복사하여 console 창에 붙여넣고 엔터를 친다.

// 크롬 개발자도구는 윈도우/우분투 - F12, 맥 - Cmd+Option+I로 접속할 수 있다.


<결과물 1>


(Advanced) 조건문과 반복문의 결합

행운이는 물 주는 기계를 만들었으니 이를 농작물에 따라 구분하여 각각 반복되는 수 만큼의 물 주기 횟수를 출력하게 하는 기게를 설계하려고 한다.
어떻게 하면 좋을까?

- 앞에서 배웠던 조건문과 반복문을 결합하여 완성할 수 있다.
let crops = '토마토';
let waterDrop = 0;
if (crops === '토마토') {
	for (let i = 1; i <= 10; i++) {
    	waterDrop = i;
    }
} else if (crops === '키위') {
	for (let i = 1; i <= 5; i++) {
    	waterDrop = i;
    }
}
console.log(waterDrop);

// 농작물이 토마토라면, 1부터 10보다 작거나 같아질 때까지 10번의 반복문을 돌려
변수 waterDrop의 값을 i의 값으로 갱신한다.

// 농작물이 토마토가 아닌 키위라면, 1부터 5보다 작거나 같아질 때까지 5번의 반복문을 돌려
변수 waterDrop의 값을 i의 값으로 갱신한다.


<실습 2>

// 도전! 새싹에 물을 10번 주어 토마토로 키우세요!
// 물을 10번 다 주게 되면 자동으로 토마토로 성장합니다.

//    test 함수 안에 반복문(for문)을 작성해 봅시다.
//    waterDrop 매개변수의 값은 0입니다.
//    10이 될 수 있도록 해 주세요!

//TIP for문의 구조를 생각하세요!
//TIP 함수는 return을 하지 않으면 값을 반환하지 않아요!

// 👇 그럼, 여기서부터 코드를 작성해보세요 :)

function test(waterDrop) {
  for (let i = 0; i < 10; i++) {
   	waterDrop = waterDrop + 1;
  }
    return = waterDrop;
}

test(0);

export default test;

<결과물 2>

profile
developerpyk

0개의 댓글