Notice
Recent Posts
Recent Comments
ยซ   2024/12   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
In Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

A Joyful AI Research Journey๐ŸŒณ๐Ÿ˜Š

[11] 230111 [K-๋””์ง€ํ„ธ ํŠธ๋ ˆ์ด๋‹ 11์ผ] Ch. 8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ: 9. ์กฐ๊ฑด๋ฌธ, 10. ๋ฐ˜๋ณต๋ฌธ ๋ณธ๋ฌธ

๐ŸŒณBootcamp Revision 2023โœจ/JavaScript, jQuery, Ajax, JSON

[11] 230111 [K-๋””์ง€ํ„ธ ํŠธ๋ ˆ์ด๋‹ 11์ผ] Ch. 8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ: 9. ์กฐ๊ฑด๋ฌธ, 10. ๋ฐ˜๋ณต๋ฌธ

yjyuwisely 2023. 1. 11. 12:51

230111 Wed 11th class

Ch. 8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ
์ง„๋„: p. 301 ~  (๊ต์žฌ: HTML5 + CSS3 + JavaScript๋กœ ๋ฐฐ์šฐ๋Š” ์›นํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ, ์ €์ž: ์ฒœ์ธ๊ตญ)

 

HTML5+CSS3+JavaScript๋กœ ๋ฐฐ์šฐ๋Š” ์›นํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ | ์ฒœ์ธ๊ตญ - ๊ต๋ณด๋ฌธ๊ณ 

HTML5+CSS3+JavaScript๋กœ ๋ฐฐ์šฐ๋Š” ์›นํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ | ์›นํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ดˆ๋ณด์ž๋„ ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์›น ๊ฐœ๋ฐœ ์ง€์นจ์„œ!์ด ์ฑ…์€ ์›นํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ์ดˆ๋ณด์ž๋“ค์„ ์œ„ํ•ด ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์„ค๋ช…ํ•œ๋‹ค. 1~3์žฅ์—

product.kyobobook.co.kr

์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ ์ค‘ ๊ธฐ์–ตํ•  ๊ฒƒ์„ ์ •๋ฆฌํ–ˆ๋‹ค.


์ง€๋‚œ ์ˆ˜์—… ๋•Œ ๋ฐฐ์šด ๊ฒƒ ์ค‘ ๋‹ค์‹œ ๊ธฐ์–ตํ•  ๊ฒƒ

๋ฆฌ์ŠคํŠธ ๋‚ด์šฉ๋งŒ ์ค‘์•™ ์ •๋ ฌ

ul { text-align: center; }



๋ฆฌ์ŠคํŠธ ์ „์ฒด๋ฅผ ์ค‘์•™ ์ •๋ ฌ

ul { display: table; margin-left: auto; margin-right: auto; }

์ฐธ๊ณ : https://www.codingfactory.net/10774

 

2. <input type="number">์˜ ๋„ˆ๋น„ ์กฐ์ • ์‹œ style="width: ์ˆซ์žem" ์‚ฌ์šฉํ•œ๋‹ค. 

ex)

<input type="number" id="user" min="1" step="1" value="0" style="width: 17em">

3. ์—”ํ„ฐ ํšจ๊ณผ "<br>" ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
ex)

document.write("์•ˆ๋…• "+"<br>");

2022.12.30 - [1. Revision 2023/HTML5] - [3] 221230 Ch. 2 HTML5 ๊ธฐ๋ณธ ์š”์†Œ: ํ…์ŠคํŠธ ํ‘œ์‹œ, ๋ฆฌ์ŠคํŠธ, ๋งํฌ, ์ด๋ฏธ์ง€, ํ…Œ์ด๋ธ”

4. ํ…Œ์ด๋ธ”
4.1 <tr>๋กœ row, ํ–‰์„ ๋จผ์ € ๋งŒ๋“ค๊ณ  ๊ทธ ์•ˆ์— <td>์„ ๋„ฃ์–ด์„œ ์—ด, column์„ ๋งŒ๋“ ๋‹ค.

๊ตฌ์กฐ๋Š” <tr> (ํ–‰)
<td> (์—ด)
/<td>
</tr> ์ˆœ์„œ์ด๋‹ค.

<tr> ํ•œ ๋ฒˆ ์ ์œผ๋ฉด 1ํ–‰์ด๊ณ  ์•ˆ์— ๋“ค์–ด๊ฐˆ ์—ด์˜ ์ˆ˜๋งŒํผ <td>๋ฅผ ์ ์œผ๋ฉด ๋œ๋‹ค.

4.2 <table>
<tr><th>for ๋ฃจํ”„ ์ด์šฉ: 2๋‹จ ์ถœ๋ ฅ</th>
<th>while ๋ฃจํ”„ ์ด์šฉ: 2๋‹จ ์ถœ๋ ฅ</th>
<th>do while ๋ฃจํ”„ ์ด์šฉ: 2๋‹จ ์ถœ๋ ฅ</th></tr>
์ฒ˜๋Ÿผ <tr> ์•ˆ์— ์—ด์˜ ์ˆ˜ ๋งŒํผ์˜ ํ—ค๋” <th>ํ—ค๋”</th> ์ ๋Š”๋‹ค. 

4.3 <table border=1>: HTML5์—์„œ ํ…Œ์ด๋ธ” ์„ ์ด ๋‚˜์˜จ๋‹ค. 

4.4 table{margin : auto;}๋ฅผ ์“ฐ๋ฉด ํ…Œ์ด๋ธ” ์ „์ฒด๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ์˜จ๋‹ค. 
margin-rigth : auto; margin-left :auto; ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. 

4.5
<td colspan="์ˆซ์ž">: ์ขŒ์šฐ์˜ ์…€๋“ค์„ ๋ณ‘ํ•ฉํ•œ๋‹ค (๊ฐ€๋กœ๋กœ ํ•ฉ์นจ, ๊ฐ€๋กœ๊ฐ€ ๊ธด ์ง์‚ฌ๊ฐํ˜•)

ex) <td colsapn="3">์ธ ๊ฒฝ์šฐ, ์—ด 3๊ฐœ๋ฅผ ํ•ฉ์นœ๋‹ค.
<tr>
<td colspan="3"> 3ํ–‰ 1์—ด </td>
</tr>

4.6 table{width: 500px; table-layout: fixed;}๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ…Œ์ด๋ธ”์ด ์ง€์ •ํ•œ ํฌ๊ธฐ์˜ ๋™์ผํ•œ ๋„ˆ๋น„๋ฅผ ๊ฐ€์ง„๋‹ค. 


 

Ch. 8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ

์ฑ…์˜ ๋ชฉ์ฐจ
-์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์†Œ๊ฐœ
-์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์šฉ๋„
-์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์œ„์น˜
-๋ฌธ์žฅ
-๋ณ€์ˆ˜
-์ž๋ฃŒํ˜•
-์—ฐ์‚ฐ์ž
-์ˆซ์ž์™€ ๋ฌธ์ž์—ด ์‚ฌ์ด์˜ ๋ณ€ํ™˜
-์กฐ๊ฑด๋ฌธ
-๋ฐ˜๋ณต๋ฌธ
-๋ฐฐ์—ด
-ํ•จ์ˆ˜
-์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ž…์ถœ๋ ฅ

1. ์กฐ๊ฑด๋ฌธ p. 298

์ œ์–ด๋ฌธ: ๋ฌธ์žฅ์ด ์‹คํ–‰๋˜๋Š” ์ˆœ์„œ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋ฌธ์žฅ์ด๋‹ค. ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ์ด ์žˆ๋‹ค.

1.1 if ๋ฌธ 

ํ˜•์‹:

if(์กฐ๊ฑด์‹)
     {
      ๋ฌธ์žฅ;

     } 

์„ค๋ช…: ์กฐ๊ฑด์‹์ด ์ฐธ์ธ ๊ฒฝ์šฐ์—๋งŒ ๋ฌธ์žฅ์ด ์‹คํ–‰๋œ๋‹ค. 
์กฐ๊ฑด์‹์€ ์œ„์—์„œ๋ถ€ํ„ฐ ๋”ฐ์ง€๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค. ๊ฑฐ์ง“์ด๋ฉด ๋ฐ‘์˜ ์‹์„ ๋”ฐ์ง„๋‹ค. ์ค‘๊ฐ„๋ถ€ํ„ฐ ์ฒดํฌ ์•„๋‹˜.

1.2 if - else ๋ฌธ

ํ˜•์‹:

if(์กฐ๊ฑด์‹)
{

     ๋ฌธ์žฅ1;
}
else

{
     ๋ฌธ์žฅ2;
}

์„ค๋ช…: ๋งŒ์•ฝ ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด ๋ฌธ์žฅ1์ด ์‹คํ–‰๋œ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ฌธ์žฅ2๊ฐ€ ์‹คํ–‰๋œ๋‹ค. 

 

1.3 ์—ฐ์†์ ์ธ if๋ฌธ

์˜ˆ์‹œ)

if(time<12){
alert(greeting1)//"Good Morning"์„ greeting์— ๋Œ€์ž…ํ•˜๋Š” ์ฝ”๋“œ(๋ฌธ์žฅ)
}else if(time<18){//๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด,
//"Good Afternoon"์„ greeting์— ๋Œ€์ž…ํ•˜๋Š” ์ฝ”๋“œ(๋ฌธ์žฅ)
alert(greeting2)
}else{
alert(greeting3)
}

 

์˜ˆ์‹œ)
๋ฌธ์ œ) ์„œ๋ฅ˜์ ์ˆ˜๊ฐ€ 60์  ์ด์ƒ์ด๊ณ  ๋ฉด์ ‘ ์ ์ˆ˜๊ฐ€ 70์  ์ด์ƒ์ด๋ฉด "ํ•ฉ๊ฒฉ"์„ ์•Œ๋ฆผ์ฐฝ์œผ๋กœ ๋„์šฐ๊ณ ,
์„œ๋ฅ˜์ ์ˆ˜๊ฐ€ 50์  ์ด์ƒ์ด๊ณ  ๋ฉด์ ‘ ์ ์ˆ˜๊ฐ€ 65์  ์ด์ƒ์ด๋ฉด "๋ณด๋ฅ˜"์„ ์•Œ๋ฆผ์ฐฝ์œผ๋กœ ๋„์šฐ๊ณ ,
๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด "๋ถˆํ•ฉ๊ฒฉ"์„ ์•Œ๋ฆผ์ฐฝ์œผ๋กœ ๋„์šฐ์„ธ์š”.

<script>
var resume = prompt("์„œ๋ฅ˜ ์ ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”","0-100์  ์‚ฌ์ด์ž…๋‹ˆ๋‹ค.")
var interview =  prompt("๋ฉด์ ‘ ์ ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”","0-100์  ์‚ฌ์ด์ž…๋‹ˆ๋‹ค.")

if (resume >= 60 && interview >= 70){
alert("ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.");
} else if (resume >= 50 && interview >= 65){
alert("๋ณด๋ฅ˜์ž…๋‹ˆ๋‹ค.");
} else {
alert("๋ถˆํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.");
}

/*if (resume < 50 && interview < 65){
alert("๋ถˆํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.");
} else if (resume < 60 && interview < 70){
alert("๋ณด๋ฅ˜์ž…๋‹ˆ๋‹ค.");
} else {
alert("ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.");
}*/
</script>

๋ณต์‚ฌ ๋ถ™์—ฌ๋„ฃ๊ธฐ ์“ฐ๋‹ค๊ฐ€ alert()๊ฐ’์„ ๊ฐ™๊ฒŒ ํ–ˆ๋Š”๋ฐ ์ง‘์ค‘ํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ณ์•ผ๊ฒ ๋‹ค. :0

var resume = prompt("์„œ๋ฅ˜ ์ ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”","0-100์  ์‚ฌ์ด์ž…๋‹ˆ๋‹ค.")
var interview =  prompt("๋ฉด์ ‘ ์ ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”","0-100์  ์‚ฌ์ด์ž…๋‹ˆ๋‹ค.")

 prompt()๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŒ์—…์ฐฝ์— ์ž…๋ ฅํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

๊ฒฐ๊ณผ) ๋‘ ์ ์ˆ˜ ๋‹ค 100์ ์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ

 


1.4 switch ๋ฌธ

๋งŒ์•ฝ ๊ฐ€๋Šฅํ•œ ์‹คํ–‰ ๊ฒฝ๋กœ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ์—๋Š” switch๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. 

switch(์ œ์–ด์‹)
{
case c1:
               ๋ฌธ์žฅ1:
               break;
case c2:

               ๋ฌธ์žฅ2:
               break;
case c3:

               ๋ฌธ์žฅ3:
               break;
...

default:
               ๋ฌธ์žฅ4:
               break;
}

 

ํ•™์  ์ž…๋ ฅํ•˜๊ธฐ
์˜ˆ์‹œ) 

<script>
var grade = prompt("์„ฑ์ ์„ ์ž…๋ ฅํ•˜์‹œ์˜ค:", "A-F์‚ฌ์ด ๋ฌธ์ž๋กœ");
switch(grade){
case 'A': alert("์ž˜ํ–ˆ์–ด์š”!");
break;
case 'B': alert("์ข‹์€ ์ ์ˆ˜๊ตฐ์š”!");
break;
case 'C': alert("๊ดœ์ฐฎ์€ ์ ์ˆ˜๊ตฐ์š”!");
break;
case 'D': alert("์ข€๋” ๋…ธ๋ ฅํ•˜์„ธ์š”!");
break;
case 'F': alert("๋‹ค์Œํ•™๊ธฐ ์ˆ˜๊ฐ•ํ•˜์„ธ์š”!");
break;
default: alert("์•Œ ์ˆ˜ ์—†๋Š” ํ•™์ ์ž…๋‹ˆ๋‹ค. A-F์‚ฌ์ด ๋ฌธ์ž๋กœ ๋‹ค์‹œ ์ž…๋ ฅํ•˜์„ธ์š”.")
}
</script>

๊ฒฐ๊ณผ) ํ•™์  A๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๋•Œ


์˜ˆ์‹œ) ์ˆซ์ž ์•Œ์•„๋งž์ถ”๊ธฐ p.302

์ง€๋‚œ ์ˆ˜์—…์—์„œ ๋ณ€์ˆ˜ ์ด๋ฆ„์ด ํ—ท๊ฐˆ๋ ค์„œ ์ฝ”๋“œ์— ์„ž์–ด์„œ ๋„ฃ์–ด์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ์—ˆ๋Š”๋ฐ
id = (1),(2),(3), ๋ณ€์ˆ˜ = [1], [2], [3], [4]๋กœ ๊ตฌ๋ถ„ํ•˜๋‹ˆ๊นŒ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›Œ์กŒ๋‹ค.

<style type ="text/css">
div{text-align:center; background-color:#E5FFCC; padding:10px 0px 30px 0px;}
</style>
<script>
//์ปดํ“จํ„ฐ๊ฐ€ ์ƒ๊ฐํ•œ ์ˆซ์ž๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ ์„ ์–ธ(computerNumber) [1] computerNumber
var computerNumber = 53; //์ •๋‹ต 

//์ถ”์ธกํšŸ์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ ์„ ์–ธ(nGuesses) [2] nGuesses
var nGuesses = 0;  //์ถ”์ธก ํšŸ์ˆ˜ 

 function guess(){
//๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ ์„ ์–ธ(result) [3] result
 var result = ""; // ๊ฒฐ๊ณผ ๋ฉ”์‹œ์ง€
//์‚ฌ์šฉ์ž๊ฐ€ ์ƒ๊ฐํ•œ ์ˆซ์ž๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ ์„ ์–ธ(mynumber) [4] mynumber
//์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์„ ๋ฐ›์•„์„œ ๋ณ€์ˆ˜ number์— ๋Œ€์ž…ํ•œ๋‹ค. 
//[4] mynumber = (1) "user"
 var mynumber = parseInt(document.getElementById("user").value); 
nGuesses++; // [2] nGuesses ์ถ”์ธก ํšŸ์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. 

//์ปดํ“จํ„ฐ๊ฐ€ ์ƒ๊ฐํ•œ ์ˆซ์ž๋ฅผ ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•œ ๋กœ์ง
//: ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ๊ฐํ•œ ์ˆซ์ž๊ฐ€ ์ผ์น˜ํ•˜๋ฉด "์„ฑ๊ณต์ž…๋‹ˆ๋‹ค" ๋ฉ”์‹œ์ง€
//์‚ฌ์šฉ์ž๊ฐ€ ์ƒ๊ฐํ•œ ์ˆซ์ž์™€ ์ปดํ“จํ„ฐ๊ฐ€ ์ƒ๊ฐํ•œ ์ˆซ์ž๊ฐ€ ์ž‘์œผ๋ฉด "๋‚ฎ์Šต๋‹ˆ๋‹ค" ๋ฉ”์‹œ์ง€
//๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด "๋†’์Šต๋‹ˆ๋‹ค" ๋ฉ”์‹œ์ง€ 
//[1] computerNumber == [4] mynumber
if (mynumber == computerNumber){ //
result = "์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค. ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค.";} // [3] result
else if(mynumber < computerNumber){ 
result = "๊ณ ๋ฅธ ์ˆซ์ž๋Š” ์ปดํ“จํ„ฐ์˜ ์ˆซ์ž๋ณด๋‹ค ๋‚ฎ์Šต๋‹ˆ๋‹ค.";} 
else{
result = "๊ณ ๋ฅธ ์ˆซ์ž๋Š” ์ปดํ“จํ„ฐ์˜ ์ˆซ์ž๋ณด๋‹ค ๋†’์Šต๋‹ˆ๋‹ค.";}

// ํžŒํŠธ ๋ณ€์ˆ˜์— ์ €์žฅ๋˜์–ด์žˆ๋Š” ๊ฐ’์„ (result) ์ถ”์ธกํšŸ์ˆ˜ input ํƒœ๊ทธ์— ๋Œ€์ž…ํ•œ๋‹ค.
// input ํƒœ๊ทธ = ํžŒํŠธ ๋ณ€์ˆ˜์— ์ €์žฅ๋˜์–ด์žˆ๋Š” ๊ฐ’ (result)
// (3) "result" = [3] result
document.getElementById("result").value = result; 

// ์ถ”์ธกํšŸ์ˆ˜ ๋ณ€์ˆ˜์— ์ €์žฅ๋˜์–ด์žˆ๋Š” ๊ฐ’์„ (nGuesses) ์ถ”์ธกํšŸ์ˆ˜ input ํƒœ๊ทธ์— ๋Œ€์ž…ํ•œ๋‹ค.
// input ํƒœ๊ทธ = ์ถ”์ธกํšŸ์ˆ˜ ๋ณ€์ˆ˜์— ์ €์žฅ๋˜์–ด์žˆ๋Š” ๊ฐ’ (nGuesses)
// (2) "guesses" = [2] nGuesses
document.getElementById("guesses").value = nGuesses; 
return true;
}
</script>
</head>

<body>
<div>
<h1>์ˆซ์ž ๋งž์ถ”๊ธฐ ๊ฒŒ์ž„</h1>
์ด ๊ฒŒ์ž„์€ ์ปดํ“จํ„ฐ๊ฐ€ ์ƒ์„ฑํ•œ ์ˆซ์ž๋ฅผ ๋งž์ถ”๋Š” ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค. <br> ์ˆซ์ž๋Š” 1๋ถ€ํ„ฐ 100 ์‚ฌ์ด์— ์žˆ์Šต๋‹ˆ๋‹ค.<br>
<br>
<form name="my form" action="..." method="get">
<!-- (1) "user" --> ์ˆซ์ž: <input type="text" id="user" size=5> 
<!-- ํ™•์ธ ๋ฒ„ํŠผ : ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด guess()๊ฐ€ ํ˜ธ์ถœ๋œ๋‹ค.--> 
<input type="button" value="ํ™•์ธ" onclick=guess();>
 
<!-- (2) "guesses" --> 
์ถ”์ธกํšŸ์ˆ˜: <input type="text" id="guesses" size=5><br>  
<!-- (3) "result --> 
ํžŒํŠธ: <input type="text" id="result" size=35><br> 
</form>
</div>
</body>

๊ฒฐ๊ณผ)


์‘์šฉํ•ด์„œ ์ˆซ์ž ์ฆ๊ฐ ๋ฒ„ํŠผ ๋„ฃ๊ธฐ

์˜ˆ์‹œ) ๋ฒ„์ „2์˜ ๋ฒ„ํŠผ์ด ๋งˆ์ด๋„ˆ์Šค์ด๋ฉด ํžŒํŠธ์— ์ •์ˆ˜ 1 ์ด์ƒ์˜ ๊ฐ’์ด๋ผ๋Š” ๋ฌธ์žฅ์ด ๋‚˜์˜ค๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค.

<style type ="text/css">
div{text-align:center; background-color:#E5FFCC; padding:10px 0px 30px 0px;}
ul {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
</style>

<script>
function calc_add(){
var x = document.getElementById("first").value; 
document.getElementById("first").value=++x;
} 

function calc_sub(){
var x = document.getElementById("first").value; 
document.getElementById("first").value=--x;

if (document.getElementById("first").value<0){ 
result = "์ปดํ“จํ„ฐ๊ฐ€ ์ƒ์„ฑํ•œ ์ˆซ์ž๋Š” ์ •์ˆ˜ 1 ์ด์ƒ์˜ ๊ฐ’์ž…๋‹ˆ๋‹ค.";
document.getElementById("result").value = result; 
return true;
} 
} 
</script>

<div>
<h1>์ˆซ์ž ๋งž์ถ”๊ธฐ ๊ฒŒ์ž„</h1>
์ด ๊ฒŒ์ž„์€ ์ปดํ“จํ„ฐ๊ฐ€ ์ƒ์„ฑํ•œ ์ˆซ์ž๋ฅผ ๋งž์ถ”๋Š” ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค. <br> ์ˆซ์ž๋Š” ์ •์ˆ˜ 1๋ถ€ํ„ฐ 100 ์‚ฌ์ด์— ์žˆ์Šต๋‹ˆ๋‹ค.<br>
<br>
<form name="my form" action="..." method="get">
<ul><li>Version1 ์ˆซ์ž:
<input type="number" id="user" min="1" step="1" value="0" style="width: 17em"> 
<input type="button" value="ํ™•์ธ" onclick=guess();><br><br></li>

<li>Version2 ์ˆซ์ž: <input type="text" id="first" value="0">
<input type="button" value=" + " onclick="calc_add()">
<input type="button" value=" - " onclick="calc_sub()">
<input type="button" value="ํ™•์ธ" onclick=guess();><br><br></li></ul>

์ถ”์ธก ํšŸ์ˆ˜: <input type="text" id="guesses" size=5><br><br>  
ํžŒํŠธ: <input type="text" id="result" size=50><br> 
</form>
</div>

๊ฒฐ๊ณผ)

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ <script>์— ๋„ฃ์–ด์„œ Version2 ๋นˆ์นธ๋„ ์ˆซ์ž 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋„๋ก ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

//x๊ฐ’์ด ๋งˆ์ด๋„ˆ์Šค์ด๋ฉด(0๋ณด๋‹ค ์ž‘์œผ๋ฉด)
if (x<0){
//๊ฐœ์ˆ˜ input์˜ ๊ฐ’์„ 0์œผ๋กœ ์„ค์ •
document.getElementById("first").value=0;
}

if () {
 return;
}
null์„ ๋ฐ˜ํ™˜ (null์„ return)


if () {
 return true;
}
> true์„ ๋ฐ˜ํ™˜ (true์„ return)


if () {
 return false;
}
> false์„ ๋ฐ˜ํ™˜ (false์„ return)
  • return์€ ํ•จ์ˆ˜ ์‹คํ–‰์„ ์ข…๋ฃŒํ•˜๊ณ , ํ•จ์ˆ˜๋ฅผ ๋น ์ ธ๋‚˜์˜จ๋‹ค.
  • break๋Š” ํ˜„์žฌ ๋ฃจํ”„ ์ฆ‰, switch๋‚˜ for, while๋ฌธ ๋“ฑ์„ ์ข…๋ฃŒํ•˜๊ณ  ๋ฃจํ”„์—์„œ ๋น ์ ธ๋‚˜์˜จ๋‹ค.
  • ๋งŒ์•ฝ์— ํ•จ์ˆ˜ ์•ˆ์— ์ž‘์„ฑ๋œ ๋ฃจํ”„ ์•ˆ์—์„œ break๊ฐ€ ์“ฐ์˜€๋‹ค๋ฉด, break๋ฅผ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ๋ฃจํ”„๋ฅผ ๋น ์ ธ๋‚˜๊ฐ€๊ณ  ํ•จ์ˆ˜ ๋ฐ–์œผ๋กœ๋Š” ๋‚˜๊ฐ€์ง€ ์•Š๋Š”๋‹ค. return์€ ํ•จ์ˆ˜ ์‹คํ–‰์„ ์ข…๋ฃŒํ•˜๊ณ  ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๊ณณ์œผ๋กœ ์‹คํ–‰ ํ๋ฆ„์„ ์˜ฎ๊ธด๋‹ค.

์ฐธ๊ณ : https://jihyehwang09.github.io/2019/03/12/js-return-and-break/


2. ๋ฐ˜๋ณต๋ฌธ p.304

while: ์ง€์ •๋œ ์กฐ๊ฑด์ด ์ฐธ์ด๋ฉด ๋ฐ˜๋ณต ์‹คํ–‰ํ•œ๋‹ค.
for: ์ •ํ•ด์ง„ ํšŸ์ˆ˜ ๋™์•ˆ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต ์‹คํ–‰ํ•œ๋‹ค.
In computer programming, a loop is a sequence of instructions that is continually repeated until a certain condition is reached.

2.1 while ๋ฃจํ”„

ํ˜•์‹: while( ์กฐ๊ฑด์‹ )
          ๋ฐ˜๋ณตํ•  ๋ฌธ์žฅ;
์„ค๋ช…: ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด ๋ฌธ์žฅ์„ ๋ฐ˜๋ณต ์‹คํ–‰ํ•œ๋‹ค. 
๋ณ€์ˆ˜๋ฅผ ๋จผ์ € ์„ ์–ธํ•œ๋‹ค.

์˜ˆ์‹œ) "์•ˆ๋…•"์ด๋ผ๋Š” ๋ฌธ์ž์—ด์„ 5๋ฒˆ ์ถœ๋ ฅํ•ด๋ณด์ž.

//1~5๊นŒ์ง€ ์ถœ๋ ฅํ•˜์‹œ์˜ค.
var i = 1; //1
while(i<=5){ //2 5 8 11 14
document.write("์•ˆ๋…• "+"<br>"); //3 6 9 12 15
i++; //4 7 10 13 16
}

 

2.2 for ๋ฃจํ”„ 

ํ˜•์‹: for( ์ดˆ๊ธฐ์‹(initialization); ์กฐ๊ฑด์‹(expression); ์ฆ๊ฐ์‹(increment))
              ๋ฐ˜๋ณตํ•  ๋ฌธ์žฅ;

์„ค๋ช…: ์ดˆ๊ธฐ์‹์„ ์‹คํ–‰ํ•œ ํ›„์— ์กฐ๊ฑด์‹์˜ ๊ฐ’์ด ์ฐธ์ธ ๋™์•ˆ, ๋ฐ˜๋ณต๋ฌธ์žฅ์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ํ•œ ๋ฒˆ ๋ฐ˜๋ณต์ด ๋๋‚  ๋•Œ๋งˆ๋‹ค ์ฆ๊ฐ์‹์ด ์‹คํ–‰๋œ๋‹ค. 

1. ์ดˆ๊ธฐ๊ฐ’ → 2. ์กฐ๊ฑด์‹ → 3. ๋ฐ˜๋ณต๋ฌธ์žฅ → 4. ์ฆ๊ฐ์‹ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋œ๋‹ค. 

์˜ˆ์‹œ) 1~5๊นŒ์ง€ ์ถœ๋ ฅํ•˜์‹œ์˜ค. 

for (i=0; i<5; i++){ 
document.write(i+"<br>");
}

๊ฒฐ๊ณผ)

 

2.3 ์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ (๋‚ด๋ถ€ for ๋ฃจํ”„)

ํ•˜๋‚˜์˜ for ๋ฃจํ”„ ์•ˆ์— ๋‹ค๋ฅธ for ๋ฃจํ”„๊ฐ€ ๋‚ด์žฅ๋  ์ˆ˜ ์žˆ๋‹ค. ex) ๊ตฌ๊ตฌ๋‹จํ‘œ
๋ฃจํ”„๊ฐ€ ์ค‘์ฒฉ๋  ๋•Œ๋Š” ๋ฃจํ”„ ์ œ์–ด(๊ธฐ๊ณ„๋‚˜ ์„ค๋น„ ๋˜๋Š” ํ™”ํ•™ ๋ฐ˜์‘ ๋”ฐ์œ„๊ฐ€ ๋ชฉ์ ์— ์•Œ๋งž์€ ์ž‘์šฉ์„ ํ•˜๋„๋ก ์กฐ์ ˆํ•จ) ๋ณ€์ˆ˜๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. 

์ฒซ๋ฒˆ์งธ for ๋ฃจํ”„๊ฐ€ ๋ฐ˜๋ณต๋˜๋Š” ์‚ฌ์ด์— ๋‚ด๋ถ€ for ๋ฃจํ”„๋„ ๊ทธ ์ˆ˜๋งŒํผ ์ง„ํ–‰๋œ๋‹ค.
๋‚ด๋ถ€ for๋ฌธ(๋‚ด๋ถ€ ๋ฐ˜๋ณต๋ฌธ)์ด ๋๋‚˜๋ฉด j๋ณ€์ˆ˜๋Š” ์†Œ๋ฉธ๋œ๋‹ค. (๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‚ฌ๋ผ์ง„๋‹ค.)
์™ธ๋ถ€ for๋ฌธ(์™ธ๋ถ€ ๋ฐ˜๋ณต๋ฌธ)์ด ๋๋‚˜๋ฉด i๋ณ€์ˆ˜๋Š” ์†Œ๋ฉธ๋œ๋‹ค. 

์˜ˆ๋ฅผ ๋“ค์–ด i= 1, 2, j= 1, 2 ์ผ ๊ฒฝ์šฐ 
์™ธ๋ถ€ for1 ๊ฐ’์ด ์›นํŽ˜์ด์ง€ ๋ณธ๋ฌธ์— ์ถœ๋ ฅ๋˜๊ณ , ๊ทธ ํ›„์— ๋‚ด๋ถ€ for1,2 ๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค. 
๋‚ด๋ถ€ for ๋ฌธ์ด ๋๋‚˜๊ณ  j๋ณ€์ˆ˜๋Š” ์†Œ๋ฉธํ•œ๋‹ค.

์™ธ๋ถ€ for2 ๊ฐ’์ด ์›นํŽ˜์ด์ง€ ๋ณธ๋ฌธ์— ์ถœ๋ ฅ๋˜๊ณ , ๊ทธ ํ›„์— ๋‚ด๋ถ€ for1,2 ๊ฐ’์ด ๊ทธ ์ˆ˜๋งŒํผ ์ถœ๋ ฅ๋œ๋‹ค. 
๋‚ด๋ถ€ for ๋ฌธ์ด ๋๋‚˜๊ณ  j๋ณ€์ˆ˜๋Š” ์†Œ๋ฉธํ•œ๋‹ค.

์™ธ๋ถ€ for๋ฌธ์ด ๋๋‚˜๊ณ , i๋ณ€์ˆ˜๋Š” ์†Œ๋ฉธํ•œ๋‹ค. 


2.2.1.1 ์˜ˆ์‹œ) ์œ„ ์„ค๋ช…์ด ์ฃผ์„์œผ๋กœ ์„ค๋ช…๋˜์–ด์žˆ๋‹ค.  

<h5>์ด์ค‘ for๋ฌธ</h5>
<script>
//        1    2    13
//            14
//            26    25
for (var i=1; i<3; i++){

//             3
//            15
document.write("i ๊ฐ’ ="+i+"<br>");

//            4    5     7  
//                 8    10
//                11  
//            16  17   
//                20    19
//                23    22
for (var j=1; j<3; j++){

//                6
//                9
//               18  
//               21
document.write("j ๊ฐ’ ="+j+"<br>");
}//๋‚ด๋ถ€ for end...
//12
//24
//์™ธ๋ถ€ for end...
//27
}
</script>

 

2.2.1.2 ์˜ˆ์‹œ)

<h5>์ด์ค‘ for๋ฌธ</h5>
<script>
for (var i=1; i<3; i++){
document.write("(i๊ฐ’ = "+i+")   ");

for (var j=1;j<5;j++){
document.write("(j๊ฐ’ = "+j+")   ");
}
}
</script>

๊ฒฐ๊ณผ)

 

2.2.1.3 ์˜ˆ์‹œ) ๊ตฌ๊ตฌ๋‹จ์„ ๋งŒ๋“œ์‹œ์˜ค.

<script>
//๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.
//์ด์ค‘ for loop
for (i = 1; i<=9; i++){
document.write("<br>");
document.write("๊ตฌ๊ตฌ๋‹จ์˜ "+i+"๋‹จ์ž…๋‹ˆ๋‹ค."+"<br>");
for (j = 1; j <=9; j++){
document.write(i + " x " + j + " = " + j*i+ "<br>");
}
}
</script>

๊ฒฐ๊ณผ) 

 

2.4 do / while ๋ฃจํ”„ 

ํ˜•์‹: do{
             ๋ฐ˜๋ณตํ•  ๋ฌธ์žฅ
        }while( ์กฐ๊ฑด์‹ )
ํŠน์ง•: ๋ฐ˜๋ณต ์กฐ๊ฑด์„ ๋ฃจํ”„์˜ ์ฒ˜์Œ์ด ์•„๋‹ˆ๋ผ ๋ฃจํ”„์˜ ๋์—์„œ ๊ฒ€์‚ฌํ•œ๋‹ค. ์ผ๋‹จ ๋ฌธ์žฅ์„ ํ•œ ๋ฒˆ ์‹คํ–‰ํ•˜๊ณ  ๋‚˜์„œ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. 
์˜ˆ์‹œ)
1~5๊นŒ์ง€ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

var j = 1;
do{
document.write(j+"<br>")
j++;
} while(j<=5);

while(j<=5);
: ์ผ๋‹จ ํ•œ ๋ฒˆ ๋ฌธ์žฅ์„ ์‹คํ–‰ํ•œ ํ›„์— ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•œ๋‹ค. while์˜ ๋์— ;๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์„ ์žŠ์œผ๋ฉด ์•ˆ ๋œ๋‹ค. 


2.1~2.3 ์‘์šฉ ๊ตฌ๊ตฌ๋‹จ 2๋‹จ ์ถœ๋ ฅ 
์˜ˆ์‹œ)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Assignment using for, while, do while loop p.310</title>
<style type="text/css">
table,th,tr,td{border:2px solid lightgreen;}
table{border-collapse:collapse; text-align: center; margin : auto; 
width: 500px; table-layout: fixed;} //ํ…Œ์ด๋ธ” ํ–‰์˜ ๋„ˆ๋น„๊ฐ€ ๋™์ผํ•˜๊ฒŒ ๋œ๋‹ค.
th{background-color:lightgreen;}
tr#second{background-color:#E5FFCC;}
</style>
</head>

<body>
<table>
<tr>
<th colspan="3"> ๊ตฌ๊ตฌ๋‹จ 2๋‹จ์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค. </th>
</tr>

<tr id="second"><td><b>for ๋ฃจํ”„</b></td>
<td><b>while ๋ฃจํ”„</b></td>
<td><b>do while ๋ฃจํ”„</b></td>
</tr>

<tr>
<td>
<script>
//๊ตฌ๊ตฌ๋‹จ 2๋‹จ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.
//for loop
for (i = 1; i<=9; i++){
document.write(2 + " x " + i + " = " + 2*i+ "<br>");
}
</script>
</td>

<td>
<script>
//while loop
var i = 1; 
while (i<=9){
document.write(2 + " x " + i + " = " + 2*i+ "<br>");
i++;
}
</script>
</td>

<td>
<script>
//do while loop
var i = 1;
do {
document.write(2 + " x " + i + " = " + 2*i+ "<br>");
i++;
} while (i<=9);
</script></td>
</tr>
</table>

</body>
</html>

ํ–‰ 2๊ฐœ ์ƒ‰์ƒ ๋”ฐ๋กœ ์ง€์ •ํ•  ๋•Œ ํ•˜๋‚˜๋Š” header, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” td์— bold์™€ ๋”ฐ๋กœ background ์ง€์ •ํ•ด์„œ ํ–ˆ๋‹ค.

๊ฒฐ๊ณผ) 

 

2.5 for/In ๋ฃจํ”„ 

ํ˜•์‹: for (๋ณ€์ˆ˜ in ๊ฐ์ฒด)
{             
                  ๋ฌธ์žฅ;
}
ํŠน์ง•: ๊ฐ์ฒด(object) ์•ˆ์˜ ์†์„ฑ๋“ค์— ๋Œ€ํ•˜์—ฌ ์–ด๋–ค ์ฒ˜๋ฆฌ๋ฅผ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ด๋‹ค. 
(๊ฐ์ฒด: ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” ํ•˜๋‚˜์˜ ์—”ํ„ฐํ‹ฐ(๋ฌถ์Œ)) 


๋ฐ˜๋ณต๋ฌธ์„ ๋ฉˆ์ถ”๋Š” ๊ฒƒ: ์กฐ๊ฑด์‹, break

2.6 break ๋ฌธ์žฅ p.310

break๋ฌธ์€ ๋ฐ˜๋ณต ๋ฃจํ”„๋ฅผ ๋ฒ—์–ด๋‚˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐ˜๋ณต ๋ฃจํ”„ ์•ˆ์—์„œ break๋ฌธ์ด ์‹คํ–‰๋˜๋ฉด ๋ฐ˜๋ณต ๋ฃจํ”„๋ฅผ ๋น ์ ธ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. 

์˜ˆ์‹œ)

var msg="";
for (var i=0; i<10; i++){
if (i==3){ //i์˜ ๊ฐ’์ด 9์ด๋ฉด ๋ฐ˜๋ณต์„ ์ค‘๋‹จํ•˜๊ณ  ๋ฐ˜๋ณต ๋ฃจํ”„๋ฅผ ๋น ์ ธ๋‚˜๊ฐ„๋‹ค. 
break;
}
//x += y ๋™์ผํ•œ ์ˆ˜์‹ x = x+y
// msg  = msg + i + "<br>";
msg += i+"<br>";
}
document.write(msg);

msg๋Š” ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž์—ด์ด๋‹ค.
์•„๋ž˜์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์„ ๊ณ„์† ์—ฐ์Šตํ•ด์•ผํ•œ๋‹ค. 
msg์— ์ €์žฅ๋œ ๊ฐ’: "0<br>"
msg  
= msg + i + "<br>"
= "0<br>"  +  i + "<br>" : ๋”ํ•˜๊ธฐ๋Š” ์—ฐ๊ฒฐ ์—ญํ• ์„ ํ•œ๋‹ค (๋ง์…ˆ์ด ์•„๋‹ˆ๋‹ค.)
= "0<br>1" + "<br>" 
= "0<br>1<br>" 
= "0<br>1<br>2<br>"


๊ฒฐ๊ณผ)

 

2.7 continue ๋ฌธ์žฅ p. 311

ํ˜„์žฌ ์‹คํ–‰ํ•˜๊ณ  ์žˆ๋Š” ๋ฐ˜๋ณต ๊ณผ์ •์˜ ๋‚˜๋จธ์ง€๋ฅผ ์ƒ๋žตํ•˜๊ณ  ๋‹ค์Œ ๋ฐ˜๋ณต์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค. 
skip์˜ ๋Š๋‚Œ์ด๋‹ค. ๊ทธ ๋ถ€๋ถ„๋งŒ ๋„˜๊ธด๋‹ค. 

์˜ˆ์‹œ)

<script>
var msg="";
for (var i=0; i<10; i++){
if (i==3){ //i์˜ ๊ฐ’์ด 3์ด๋ฉด ํ˜„์žฌ ๋ฐ˜๋ณต์„ ์ค‘๋‹จํ•˜๊ณ  ๋‹ค์Œ ๋ฐ˜๋ณต์„ ์‹œ์ž‘ํ•œ๋‹ค. 
continue;
}

msg += i+"<br>";
}

document.write(msg);
</script>


๊ฒฐ๊ณผ) 3๋งŒ ์ถœ๋ ฅ๋˜์ง€ ์•Š์•˜๋‹ค. 
"0<br>1<br>2<br>4<br>5<br>6<br>7<br>8<br>9<br>"์˜ ๊ฒฐ๊ณผ๋ฌผ์ด๋‹ค. 


728x90
๋ฐ˜์‘ํ˜•
Comments