예제 7-8. Math를 이용한 구구단 연습
WEB/JAVASCRIPT-CONCEPT 2017. 10. 30. 10:23 |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 |
'WEB > JAVASCRIPT-CONCEPT' 카테고리의 다른 글
예제 8-1. DOM 객체의 구조 출력 : p 객체 사례 (0) | 2017.10.30 |
---|---|
예제 7-9. new Object()로 계좌를 표현하는 account 객체 만들기. 예제 7-10. 리터럴 표기법으로 계좌를 표현하는 account 객체 만들기 (0) | 2017.10.30 |
예제 7-7. string 객체의 메소드 활용 (0) | 2017.10.28 |
예제 7-5. Date 객체 생성 및 활용. 예제 7-6 방문 시간에 따라 변하는 배경색 만들기 (0) | 2017.10.28 |
예제 7-4. Array 객체의 메소드 활용 (0) | 2017.10.28 |