
1) 연습문제: 1부터 20까지 정수 중에서 짝수인 정수를 출력하는 프로그램을 작성하라.
● 풀이 ① - for 구문을 이용해 반복문을 작성할 때 고려할 사항
- 반복해서 실행할 문장 → document.writeIn(1);
- 반복해서 실행할 문장에서 변하는 값 (인덱스 변수를 이용해서 표현) → i = 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
- 인덱스 변수의 초기값 = for 구문의 첫 번째 표현식(초기식) → i = 2;
- 인덱스 변수의 범위 = for 구문의 두 번재 표현식(조건식) → i <= 20;
- 인덱스 변수의 변화 = for 구문의 세 번째 표현식(종료식, 증가식) → (i = i + 2) → (i += 2)
<script>
// 풀이 (1)
for ( var i = 2; i <= 20; i += 2)
document.writeln(i);
</script>
● 풀이 ② - for 구문을 이용해 반복문을 작성할 때 고려할 사항
- 반복해서 실행할 문장 → if (1 % 2 == 0) document.writeIn(1);
- 반복해서 실행할 문장에서 변하는 값 (인덱스 변수를 이용해서 표현) → i = 1, 2, 3, 4, ..., 19, 20
- 인덱스 변수의 초기값 = for 구문의 첫 번째 표현식(초기식) → i = 1;
- 인덱스 변수의 범위 = for 구문의 두 번재 표현식(조건식) → i <= 20;
- 인덱스 변수의 변화 = for 구문의 세 번째 표현식(종료식, 증가식) → i++
<script>
// 풀이 (2)
for ( var i = 1; i <= 20; i++)
if ( !(i % 2) )
document.writeln(i);
</script>
2) 연습문제: 1부터 100까지 정수 중에서 3의 배수이거나 7의 배수인 정수를 출력하는 프로그램을 작성하라.
<script>
for ( var i = 1; i <= 100; i++)
if (i % 3 == 0 || i % 7 == 0)
document.writeln(i);
</script>
3) for 구문을 통해 배열에 접근하는 방법
- 배열의 모든 원소를 출력하기 위해서는 배열의 원소의 인덱스 번호를 통해 일일이 입력해야 한다.
- 그러므로 for 구문을 사용해 배열의 원소들을 출력하는 것이 훨씬 수월하다.
예시) 배열 numbers = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]의 모든 원소를 출력하라.
● for 구문을 이용해 반복문을 작성할 때 고려할 사항
- 반복해서 실행할 문장 → document.writeIn( numbers[0] );
- 반복해서 실행할 문장에서 변하는 값 (인덱스 변수를 이용해서 표현) → i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- 인덱스 변수의 초기값 = for 구문의 첫 번째 표현식(초기식) → i = 0;
- 인덱스 변수의 범위 = for 구문의 두 번재 표현식(조건식) → (i < 10) = (i < 배열 numbers의 크기) = (i < numbers.length)
- 인덱스 변수의 변화 = for 구문의 세 번째 표현식(종료식, 증가식) → i++
<script>
var numbers = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for (var i = 0; i < numbers.length; i++)
document.writeln(numbers[i]);
</script>
(1) 연습문제: 배열 numbers = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]의 원소를 역순으로 출력하는 프로그램을 작성하라.
● for 구문을 이용해 반복문을 작성할 때 고려할 사항
- 반복해서 실행할 문장 → document.writeIn( numbers[0] );
- 반복해서 실행할 문장에서 변하는 값 (인덱스 변수를 이용해서 표현) → i = 9, 8, 7, 6, 5, 4, 3, 2, 1
- 인덱스 변수의 초기값 = for 구문의 첫 번째 표현식(초기식) → (i = 9) = (i = number.length - 1)
- 인덱스 변수의 범위 = for 구문의 두 번재 표현식(조건식) → i >= 0
- 인덱스 변수의 변화 = for 구문의 세 번째 표현식(종료식, 증가식) → i--
<script>
var numbers = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for (var i = numbers.length - 1; i >= 0; i--)
document.writeln(numbers[i]);
<script>
(2) 연습문제: 배열 numbers = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]에서 짝수 번째 원소를 출력하는 프로그램을 작성하라.
<script>
// 짝수 번째 원소를 출력하기 위해서 짝수 번째 원소의 인덱스는 홀수가 되어야 한다.
// 짝수 번째 원소의 인덱스: 1, 3, 5, 7, 9
var numbers = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for ( var i = 0; i < numbers.length; i++)
if (i % 2)
document.writeln(numbers[i]);
</script>
(3) 연습문제: 배열 numbers의 모든 원소들 중에서 15보다 큰 원소만 출력하는 프로그램을 작성하라.
<script>
var numbers = [4, 17, 32, 3, 8, 13, 41, 27, 16, 1];
for (var i = 0; i < numbers.length; i++)
if (numbers[i] > 15)
document.writeln(i);
</script>