본문 바로가기
웹프로그래밍/웹프로그래밍수업

(34)명품 웹프로그래밍_7장_실습문제_주요문제만(4번,7번,8번,10번)

by 코잼민 2024. 10. 20.

[문제4] :

# 알아야 할 개념 : 

★_ Date 객체의 속성 메소드 : getDay() //요일을 반환해주는 메소드 (↔ getDate() : 일의 날짜 (1 - 31)를 반환 함수 )

: (0을 반환) , (1을 반환) , 화(2을 반환) , 수(3을 반환), 목(4을 반환) , 금(5을 반환), (6을 반환)  

# 코드 :

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
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <title>7_4</title>
  <script>
    let now = new Date();
    let DayArr = [
      '일',
      '월',
      '화',
      '수',
      '목',
      '금',
      '토'
    ];
 
    let GD = now.getDay();
 
    </script>
</head>
<body>
  
  <h3>일요일은 pink, 다른 요일은 gold 배경</h3>
  <hr>
  <script>
    document.write("오늘 : "
    +now.getDate() + "일, "
    +DayArr[GD] + "요일<br>"
  );
  if(GD==0)
  {
  document.body.style.backgroundColor = "pink";
  }
  else{
  document.body.style.backgroundColor = "gold";
  }
  </script>
</body>
 
</html>
cs

[문제7] :

# 알아야 할 개념 : -

▲_ 여기는 C언어와 다르게 srand(time(NULL));을 안해도, 난수가 반복되게 나오지 않도록 되어있음

※참고 : 정수A<=난수<=정수B 나오도록 정수 난수 반환 코드 

=> Math.floor(Math.random()*(B-A+1)) + A;

# 코드 :

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
32
33
34
35
36
37
<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <title>7_7</title>
  <style>
    div {
      display: inline-block;
      width: 60px;
      padding: 10px;
    }
  </style>
  <script>
    let colorNames = ["maroon""red""orange""yellow""olive""purple",
    "fuchsia""white""lime""green""navy""blue""aqua""teal",
    "black""silver""gray"];
    
    
    </script>
</head>
 
<body>
  <h3>17개의 CSS2 색이름과 색</h3>
  <hr>
  <script>
    for (let i = 0; i < 17; i++) {
      let ranNum = Math.floor(Math.random()*(16-0+1)+0);
      
      document.write(`<div style="background-color:${colorNames[i]} ;">
        ${colorNames[i]}</div>`)
    }
    </script>
    
</body>
 
</html>
cs

[문제8] :

# 알아야 할 개념 : 7번과 같다.

 

# 코드 :

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
32
33
34
35
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script>
    
  </script>
  <style>
    div{
      display: inline-block;
      width : 150px;
      padding: 10px;
    }
  </style>
</head>
<body>
  <h3>16개의 랜덤한 색 만들기</h3>
  <hr>
  <script>
    for(let i =0;i<16;i++)
  {
    let num1 = Math.floor(Math.random()*(255-0+1)+1);
    let num2 = Math.floor(Math.random()*(255-0+1)+1);
    let num3 = Math.floor(Math.random()*(255-0+1)+1);
 
    document.write(`<div style="background-color:rgb(${num1},${num2},${num3})">`);
    document.write(`rgb(${num1},${num2},${num3})`);
    document.write(`</div>`);
 
  }
  </script>
 
</body>
</html>
cs

[문제10] :

# 알아야 할 개념 : 

딱히 없는데, 굳이 new Object()로 해야하나 싶다.

# 코드 :

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script>
    let BookArr = new Array();
    let max_price = 0;
    let max_p_book;
 
 
 
    for (let i = 0; i < 5; i++) {
      let input = prompt("콤마(,)로 분리하면서 책제목 저자 가격 순으로 입력");
 
      let input_split = input.split(",");
 
      BookArr[i] = new Object();
 
      BookArr[i].title = input_split[0];
      BookArr[i].author = input_split[1];
      BookArr[i].price = Number(input_split[2]);
      BookArr[i].Print = function () {
        document.write(this.title + ", ");
        document.write(this.author + ", ");
        document.write(this.price + "<br>");
      };
 
      if (i == 0) {
        max_price = BookArr[i].price;
        max_p_book = BookArr[i];
      }
      else if (max_price < BookArr[i].price) {
        max_price = BookArr[i].price;
        max_p_book = BookArr[i];
      }
    }
  </script>
</head>
 
<body>
  <h3>book 객체 배열 만들기</h3>
  <hr>
  <script>
    for (let i = 0; i < BookArr.length; i++) {
      BookArr[i].Print();
    }
  </script>
  <hr>
  <script>
    document.write("가장 가격이 비싼 책은 " + max_p_book.title);
  </script>
</body>
 
</html>
cs