for문 속의 for문 = 이중 포문

 

이중포문이라 하면 괜히 어렵게 들릴수도 있지만 그냥 포문 안에서 또 포문을 선언하는 것입니다. ^^

즉 for문의 조건이 만족하여 명령문을 실행하는데 그 명령문이 for문 인거죠^^

구조는 다음과 같습니다.

이중포문 구조
for(변수 선언 및 초기값 설정; 조건식; 증감식){
  for(변수 선언 및 초기값 설정; 조건식; 증감식){
  }
}


첫 번째 포문에서 조건에 맞으면 두번째 포문이 작동하며 두번째 포문이 조건을 만족하는 동안 두번째 조건의 명령문을 실행하며 두번째 포문의 조건이 끝나면 다시 첫번째 포문으로 돌아가서 명령을 실행하여 두번째 포문이 실행을 합니다. .

이해 가능한 간단한 소스를 작성해보겠습니다.
    for(a = 1; a<= 3; a++){
        document.write("<br />"+a+"첫번째 포문에 의해 출력 되었습니다. <br /><br />");
        for(b = 1; b<=3;b++){
            document.write(b+"두번째 포문에 의해 출력 되었습니다. <br />");
        }
    }


위의 소스에서 첫 번째 for문의 a가 1이고, 조건식에 의해 a가 3보다 같거나 작으면, 실행합니다.

그럼 지금 a가 1이기 때문에 현재 조건에 만족을 하고 있으므로  실행 합니다.

.

두번째 포문에 보면 b는1이고 b가3보다 작을 동안 이라고 쓰여져 있습니다.

그러므로 조건에 만족하므로  실행합니다.

 

그 다음 실행 해야 하는 것은 증감식 입니다. b++를 실행하면

b는 1에서 2가 되어 다시 두번째 포문에 의해 출력 되었습니다.라는 문구를 출력 하며 증감식에 의해 b는 3이 됩니다.

조건은 3보다 같거나 작을 동안 이기 때문에 3은 3과 같거나 작으므로

다시 두번째 포문에 의해 출력 되었습니다.라는 문구를 출력합니다.

다시 증감식에 의해서 b는 3에서 4가 됩니다. 조건에 만족하지 않으므로 수행중이던for문에서 빠져 나가게 됩니다.

그럼 첫번째 포문의 a가 1일때의 실행문을 모두 실행을 한것 입니다.

그러므로 첫번째 실행문을 실행했으므로 증감식 a++가 대입 됩니다. 그럼 a값이 1이기 때문에 2로 변환되고

첫번째 포문의 조건인 a가 3보다 작거나 같으면에 만족하므로 다시 두번째 포문이 작동을 하게 됩니다.

그렇게 위와 같이 두번째 포문은 또 다시 처음부터 작동하여 b의 값은 다시 1이 되며

출력문을 출력 하고 증감식 의해 b는 2가 되고 조건에 참이므로 실행문을 실행 후 증감식에 의해 3이 되고

조건에 만족하므로 출력문을 출력하고 증감식에 의해 다시 4가 되어서
 조건에 만족하지 않으므로 두번째 포문에서 빠져 나가게 되고

첫번째 조건문으로 돌아오게 되며 첫번째 포문에서 a 는 2이기 때문에 증감식에 의해서 a는 3이 되고 3이 된후 조건에 만족하므로

실행문을 실행하여 두번째 포문을 다시 작동하게 됩니다.


이제 실제 소스를 타이핑해서 결과물을 봅시다.
<!DOCTYPE html>
<html>
<head>
<title> .</title>
<style type="text/css">
</style>
<script type="text/javascript">
for(a = 1; a<= 3; a++){
  document.write("<br />"+a+"저는 첫번째 포문에 의해 출력 되었습니다. <br  /><br />");
  for(b = 1; b<=3;b++){
    document.write(b+"저는 두번째 포문에 의해 출력 되었습니다. <br />");
  }
}
</script>
</head>
<body>
</body>
</html>

위 소스를 실행해 보시기 바랍니다.

그럼 이중 포문을 응용하는 구구단 소스가 있는데요. 한번 보면서 이해해 보시기 바랍니다.

이문 포문을 이용한 구구단을 만들어 보면

 

위 소스를 실행하시면

구구단이 출력됨을 보시게 될 것입니다.

 

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

(회원가입을 하시면 편리한 시간에 자세히 설명해드립니다)

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

 

프로그래밍기초 /  반복문 / for 문 연습

 

이번 시간에는 for 문에 대해서 학습합니다.

for문도 while문처럼 반복문입니다.

for문은 조건식 안에서 (변수 선언 및 초기값 설정; 조건식; 증감식)으로 이루어져 있으며
초기값이 조건식에 참인 동안 명령문을 실행 합니다.

구조는 다음과 같습니다.

for문의 구조
for(변수 선언 초기값 설정;조건식;증감식){
  조건이 참인 동안 실행할 명령문;
}


그럼 실제 소스로 구조를 보겠습니다. 다음 소스는 1부터 10까지를 출력하는 것입니다.
for(a = 1; a <= 10; a++){
  document.write(a);
}


for문의 실행 순서

1. (a = 1) 변수 선언 및 초기값 설정, 변수 a 선언 및 값을 1로 선언.

2. (a <= 10) 조건 실행, a가 10과 같거나 작을 동안에 명령문을 실행

3. (document.write(a)) 2번에서 명령문을 실행 하므로 document.write(a)에 의해 화면에 1출력

4. (a++) 증감식 실행 하므로 a값은 1에서 2로 변경

5. (a <= 10) 조건 실행, a가 10과 같거나 작을 동안에 명령문을 실행

6. (document.write(a)) 2번에서 명령문을 실행 하므로 document.write(a)에 의해 화면에 2출력

7. (a++) 증감식 실행 하므로 a값은 2에서 3로 변경

8. (a <= 10) 조건 실행, a가 10과 같거나 작을 동안에 명령문을 실행

6. (document.write(a)) 2번에서 명령문을 실행 하므로 document.write(a)에 의해 화면에 3출력

7. (a++) 증감식 실행 하므로 a값은 3에서 4로 변경


(a++) 증감식 실행 하므로 a값은 9에서 10로 변경

10 이므로 이제 for문에서 빠져 나옴.


아래 예분을 주의깊게 보시기 바랍니다.

 

 

위 결과값은 12345678910

 

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

(회원가입을 하시면 편리한 시간에 자세히 설명해드립니다)

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

오늘은 어제 배운 while문을 응용해서 이번엔 do~while문에 대해서 학습합니다.

 

do ~ while

 

위의 while문에서는 조건식이 참이면 명령문들을 실행했는데요 do ~ while문은 일단 한번 실행을 한 후 조건문 검사후 참이면 명령문을 실행하고 아니면 빠져 나온답니다. 일단 구조를 한번 살펴 봅시다.

 

do ~ while 문의 구조

 

do{ 조건식이 참이면 실행할 명령은 여기에 적습니다.

}

while(여기에는 조건식을 적습니다.)

 

그럼 한번 소스를 통해서 do ~ while문이 무엇인지 이해해 보도록 합시다.

a = 1;

do{

document.write(a);

}

while(a==10)

 

위의 소스를 보면은 a=1입니다. 조건식을 보면 1==10이죠 즉 a10과 같을 동안 반복분을 실행하는거죠.

 

그런데 즉 조건식에서는 1== 10이 동일하지 않으므로 반복문을 실행하지 않죠. 하지만 do문에 있는 실행문을 한번은 실행을 한 후에 조건식을 검사를 하기 때문에 한번은 실행을 합니다.

 

, a값인 1이 한번은 출력이 된 후에 조건식을 검사후에 조건에 만족하지 않으면 do문 안에 명령문을 실행하지 않습니다.

 

그럼 전체 소스를 보면서 테스트 해보시기 바랍니다.

 

<!DOCTYPE html>

<html>

<head>

<title> david's Web Laboratory</title>

<style type="text/css">

</style>

<script type="text/javascript">

a = 1;

do{

document.write(a);

a++;

}

while(a==10)

</script>

</head>

<body>

</body>

</html>

 

위 결과값은

1

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

오늘은 while문 즉 반복문에 대해서 학습합니다.

 

반복문은 어떠한 값이 조건에 의해 그 조건에 만족하는 동안 계속 실행할 수 있습니다.

예를 들어 1200회 화면에 출력을 해야 한다면

1을 직접 200번 타이핑 하지 않고 반복문을 사용해 200회 출력할 수 있게 할 때 사용합니다.

 

사용법은 아래와 같습니다.

while(조건){

조건에 만족할 동안 실행할 명령문

}

 

 

예를 들어서 1부터 10까지 출력하는 것을 while문으로 만들어 본다면 다음과 같습니다

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>자바스크립트</title>

<script>

a = 1;

while(a <= 10){

document.write(a);

a++;

}

</script>

</head>

<body>

</body>

</html>

 

위의 소스를 보면 a의 값을 1로 선언 후 조건에는 a10보다 작거나 같다는 조건을

나타내며 그리고 그동안에 a의 값을 출력하는 명령문 그리고 a의 값을 1씩 올리는 a++가 있습니다.

 

위의 소스에 a++가 없다면 a가 값을 증가하면서 10에 도달하는 기능이 없으므로 무한루프에 걸리게 됩니다. 위의 소스를 실행할 때 한번 테스트 해보시기 바랍니다.

 

다음은 1부터 10까지의 누적합을 구하는 소스입니다. 알고리즘을 파악해 보세요

프로그램 면접시험 대 의외로 이런 간단한 문제를 묻는 곳도 있습니다.

 

 

결과값은

누적합1
누적합3
누적합6
누적합10
누적합15
누적합21
누적합28
누적합36
누적합45
누적합55

 

오늘 배운 반복문은 자주 사용하게 되기 때문에 꼭 기억해 주시기 바래요

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,