์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Absolute
- AGI
- ai
- AI agents
- AI engineer
- AI researcher
- ajax
- algorithm
- Algorithms
- aliases
- Array ๊ฐ์ฒด
- ASI
- bayes' theorem
- Bit
- Blur
- BOM
- bootstrap
- canva
- challenges
- ChatGPT
- Today
- In Total
A Joyful AI Research Journey๐ณ๐
[11] 230111 [K-๋์งํธ ํธ๋ ์ด๋ 11์ผ] Ch. 8 ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด: 9. ์กฐ๊ฑด๋ฌธ, 10. ๋ฐ๋ณต๋ฌธ ๋ณธ๋ฌธ
[11] 230111 [K-๋์งํธ ํธ๋ ์ด๋ 11์ผ] Ch. 8 ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด: 9. ์กฐ๊ฑด๋ฌธ, 10. ๋ฐ๋ณต๋ฌธ
yjyuwisely 2023. 1. 11. 12:51230111 Wed 11th class
Ch. 8 ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด
์ง๋: p. 301 ~ (๊ต์ฌ: HTML5 + CSS3 + JavaScript๋ก ๋ฐฐ์ฐ๋ ์นํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด, ์ ์: ์ฒ์ธ๊ตญ)
์ค๋ ๋ฐฐ์ด ๊ฒ ์ค ๊ธฐ์ตํ ๊ฒ์ ์ ๋ฆฌํ๋ค.
์ง๋ ์์ ๋ ๋ฐฐ์ด ๊ฒ ์ค ๋ค์ ๊ธฐ์ตํ ๊ฒ
๋ฆฌ์คํธ ๋ด์ฉ๋ง ์ค์ ์ ๋ ฌ
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>");
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>"์ ๊ฒฐ๊ณผ๋ฌผ์ด๋ค.