210208
Math.pow(2,10); // 1024
// Math.pow : 제곱을 계산해주는 메소드
Math.abs(-10); // 10
// Math.abs : 절대값을 계산해주는 메소드
//배열 : 값을 여러개 저장하는 공간
var arr=[20, 21, 22]; // 길이가 3인 1차원 배열
// 배열의 순서를 표시할 땐 0부터 시작함
// arr[0] : 20
// arr[1] : 21
// arr[2] : 22
Math의 다양한 메소드와 배열
for(var i=0; i<=2; i++){
document.write((i+1)+"번째 나이:+"+arr[i], "<br>");
} // 1번째 나이:20 2번째 나이:21 3번째 나이:22
var arr1=[0, 0, 0, 0, 0]; // 길이가 5인 1차원 배열
var age=0;
var avg_age=0;
for(var i=0; i<arr1.length; i++){
//arr.length : 배열의 길이
age=prompt((i+1)+"번째 나이 입력");
age=Number(age);
arr1[i]=age; //prompt에 입력한 값을 반복문에 이용한 i를 써서 배열에 저장
}
function avg_age_func(array){
for(var i=0; i<arr1.length; i++){
avg_age=avg_age+arr1[i]; // for 반복문으로 5명의 나이를 모두 합산
}
avg_age=avg_age/5; //5명의 나이를 나누어 평균 구함
return avg_age;
}
document.write("5명의 평균 나이 : ",avg_age_func(arr1));
배열 활용 예제
//재귀함수 : 다시 돌아오는 함수
function recursive() {
console.log("recursive call!");
recursive(); // recursive 함수 호출
}
// 함수 안에서 자신을 다시 호출하면 반복문처럼 돌아가는게 아님
// 함수 내에서 다시 독립시행 되기 때문에 무한히 반복하게 됨
// 종료조건이 있는 재귀함수 만들기
function recursive1(n) {
if (n == 0) {
return; //return만 사용하면 순수한 함수의 종료를 의미
} else {
console.log("recursive call!", n);
recursive1(n - 1); // recursive 함수 호출
}
}
// 내부에 들어가는 함수에 증감하는 식을 넣어서 종료조건 성립
recursive1(3);
// recursive 3
// recursive 2
// recursive 1
재귀함수
// Math.random을 사용하여 만드는 예제
var num = 0;
var dice = [0, 0, 0, 0, 0, 0, 0];
// 주사위 눈금이 나온 횟수를 저장하는 배열 선언
var dice_per = [0, 0, 0, 0, 0, 0, 0];
// 주사위 눈금이 나온 확률을 저장하는 배열 선언
// (length가 7인 이유는 0번째 배열을 버리고 쓰기 위함)
var count = prompt("주사위를 굴릴 횟수를 입력하세요");
count = Number(count);
for (var i = 1; i <= count; i++) {
// 조건문 : count로 입력한 횟수 만큼 반복시행
num = Math.ceil(Math.random() * 6); // 1~6 중 랜덤한 숫자가 나오는 주사위
dice[num]++; // 랜덤으로 나온 주사위 값을 증가연산자를 사용하여 배열에 카운트
//
}
for (var i = 1; i <= 6; i++) {
document.write(i + "의 눈금이 나온 횟수 : " + dice[i], "<br>");
} // 반복문에서 배열에 저장된 값을 꺼내서 눈금이 나온 횟수를 화면에 출력
document.write("<br>");
for (var i = 1; i <= 6; i++) {
dice_per[i] = (dice[i] / count) * 100; // 주사위 확률을 계산하여 dice_per 배열에 저장
document.write(i + "의 눈금이 나온 확률 : " + dice_per[i], "% <br>");
}
배열을 활용한 주사위 확률 계산 예제
210210
function sum_code(n){
var sum1=0;
var sum2=0;
for(var i=0; i<=n; i++){
if(i%2==0){
sum1=sum1+i;
} else{
sum2=sum2+i;
}
}
document.write("짝수의 합 : "+sum1, "<br>");
document.write("홀수의 합 : "+sum2, "<br>");
}
var arr=new Array(0);
// new : 메모리 생성 연산자
// 배열 객체를 생성
var num=0;
var name=''; // 이름을 받는 임시 변수
num=prompt("몇 명?");
num=Number(num);
for(var i=1; i<=num; i++){
name=prompt(i+"번 선수 이름 입력");
arr.push(name); // 배열 arr에 name의 값을 추가
}
for(var i=0; i<arr.length; i++){
document.write((i+1)+"번째 사람 이름 : "+arr[i], "<br>");
}
new 연산자와 배열 push 메소드