JAVASCRIPT

함수 문제 1 , 2

이미사용 2023. 3. 1. 17:20
명언
-
728x90
반응형

※문제1

사용자가 프롬프트 창에 숫자를 입력했을 때 그 숫자를 함수로 넘겨주고, 함수에서 숫자가 양수인지, 음수인지, 도는 0인지 판단해서 알림 창에 보여주는 프로그램을 작성 하시오.

길라잡이

·숫자를 받아서 양수, 음수 0을 판단 하고 알림 창에 표시하는 함수를 선언 합니다.

·parseInt( ) 함수를 사용해 프롬프트 창에 입력한 내용을숫자로 변환 합니다.

·(프롬프트 창에 입력한 내용이 숫자가 아니면 parseInt( ) 함수sms NaN을 반환합니다.)

·반환값이 숫자일 경우에만 함수를 실행합니다.

function func (num){     //3.
	if(num>=1){           //4.
		document.write("양수입니다.");                  
	}  else if(num<=-1){                  //.5
		document.write("음수입니다.");
	}  else document.write((0));          //.6
}

const num = parseInt(prompt("숫자를 입력하세요"));    //1.
//parseInt()는 숫자가 아닐 경우 NaN을 반환합니다.     

 if(!isNaN(num)) {    //!isNaN은 매개변수가 숫자인지 검사하는 함수입니다. //2. 
 	func(num);

1.사용자에게 프롬프트창에 변수(num)를 입력 받아 그것이 숫자인지 아닌지 "parseInt( )"로 확인합니다.

(이때 숫자가 아니면 "NaN"으로 반환합니다.)

2.조건문 if를 사용해 변수(num)가  숫자일때 실행합니다. 

3. 변수를 불러와 실행합니다.

4. 조건문 if를 이용해 "num>=1"이 참이면  "양수입니다."를 출력해 보여줍니다.

5.4번의 조건문이 거짓일때 조건문if를 다시 이용해서 "num<=-1"이 참이면 "음수입니다."를 출력해 보여줍니다.

6.5번의 조건문까지 거짓일때 0을 출력해 보여줍니다.

숫자입력
결과

 

※문제2

2개의 숫자를 입력받아 두 수의 최대 공약수를 구하는 함수를 작성하고 테스트해 보세요

길라잡이

·주어진 두 수 중에서 어떤 수가 큰 수인지 확인 합니다.

·두수가 모두 나누어떨어져야 하므로 두 수 중에서 큰 수 까지 반복하면서 작은 수도 나누어 떨어지고, 큰 수도 나누어 떨어지는 숫자를 찾습니다.

·찾을 때마다 변수에 할당 합니다. 반복이 모두 끝나면 변수에는 가장 마지막에 할당된 약수만 남습니다.

function func(num,sum) {                //2.
	let max = sum > num ? sum : num;   //삼항연산자 표현 방법sum > num 일때sum아니면num //3.  
	let GCD = 0;                         
	for (let i = 1; i <= max; i++) {          //4.
		if (sum % i === 0 && num % i === 0) {  //5.
			GCD = i;   // 최대공약수
		}
	}
	return GCD;                 //6.
}

	const num = prompt("숫자를 입력하세요");
	const sum = prompt("두번째 숫자를 입력하세요");   //1.

	document.write(func(num,sum));    //7.

1. 사용자에게 prompt를 이용해 두개의 변수를 받아낸다.

2.두개의 변수로 함수를 실행 시킨다.

3.두개의 변수중 큰 값을 max변수에 저장합니다.

4.반복문 for을 이용해 i <= max가 성립될때까지 실행시킵니다.

5.조건문if를 이용해 sum 나누기 i와 num 나누기 i의 나머지 값이 둘다 0일때, GCD에 i의 변수를 저장한다.

6.반목문과 조건문을 만족한 제일 마지막 결과 값(최대 공약수)을 리턴해서 올려준다.

7.리턴된 값 (최대 공약수)를 보여 줍니다.

 

첫번째 숫자 입력
두번째 숫자 입력
최대공약수

 

 

 

 

문제 출처: Do it! 한권으로 끝내는 웹 개발 교과서 모던 자바 스크립트 프로그래밍의 정석 책