6. Math


Math 객체는 수학 계산을 위해 프로퍼티와 메소드를 제공한다.

Math 객체는 new Math()로 객체를 생성하지 않고 다음과 같이 사용된다.


Math.프로퍼티 또는 Math.메소드

ex)

var sq = Math.sqrt(4); // 4의 제곱근을 구하면 2

var area = Math.PI*2.2; // 반지름이 2인 원의 면적


* 난수 발생

Math.random()은 1보다 작은 0~1 사이의 실수를 리턴하므로, 0~100사이의 작은 정수 10개를 랜덤하게 생성하는 자바스크립트 코드를 만들면 다음과 같다

ex)

for ( i = 0 ; i < 10 ; i ++ )

{

var m = Math.random()*100; // m은 0~99.9999... 보다 작은 실수 난수

var n = Math.floor(m); // n은 m에서 소수점 이하를 제거한 정수(0~99)사이

document.write(n + " ");

}


* Math 객체의 주요 메소드 (x와 y는 실수/정수 가능)

메소드

설명

abs(x)

x의 절대값 리턴

sin(x)

sin x 값 리턴

exp(x)

e^x 값 리턴

pow(x,y)

x^y 값 리턴

random()

0~1보다 작은 임의의 실수 리턴

floor(x)

x보다 작거나 같은 수 중 가장 큰 정수 리턴. Math.floor(3.2)=3

round(x)

x를 반올림한 정수 리턴. Math.round(3.7)=4, Math.round(3.2)=3

sqrt(x)

x의 제곱근 리턴

ex) 4의 제곱근 2, 16의 제곱근 4


* Math 객체의 주요 프로퍼티

E = Euler 상수

PI = 원주율, 3.141592...


예제 7-8. Math를 이용한 구구단 연습

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
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Math를 활용한 구구단 연습</title>
<script>
function randomInt() { // 1~9의 십진 난수 리턴
    return Math.floor(Math.random()*9+ 1;
}
</script>
</head>
<body>
<h3>Math를 활용한 구구단 연습</h3>
<hr>
<script>
    // 구구단 문제 생성
    var ques = randomInt() + "*" + randomInt();
    // 사용자로부터 답 입력
    var user = prompt(ques + " 값은 얼마입니까?"0);
    if(user == null) { // 취소 버튼이 클릭된 경우
        document.write("구구단 연습을 종료합니다");
    }
    else {
        var ans = eval(ques); // 구구단 정답 계산
        if(ans == user) // 정답과 사용자 입력 비교
            document.write("정답! ");
        else
            document.write("아니오! ");
        document.write(ques + "=" + "<strong>" + ans + "</strong>입니다<br>");
    }
</script>
</body>
</html>
 
cs



Posted by 너래쟁이
: