반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Archives
Today
Total
05-19 00:03
관리 메뉴

ImJay

PHP 프로그래밍 입문 제 6장 연습문제 풀이 본문

대학생활/웹프로그래밍

PHP 프로그래밍 입문 제 6장 연습문제 풀이

ImJay 2022. 4. 25. 20:56
반응형

​PHP 프로그래밍 입문 제 6장 연습문제 풀이


연습문제 6-1. 다음은 함수를 이용하여 두 수의 최대공약수를 구하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

출력 포맷

######의 최대 공약수 : ###

<?php
	function computeMaxGong($x, $y) { // 최대공약수를 구하는 함수
		if ($x > $y) // x가 더 크면
			$small = $y; // y를 small로
		else // y가 더 크면
			$small = $x; // x를 small로

		for ($i=1; $i<=$small; $i++) { //i부터 small까지 반복
			if($x%$i == 0 and $y%$i == 0) // x,y의 공약수일 경우
				$result = $i; // result에 저장 
				// i가 증가하기 때문에 최대 공약수는 가장 마지막 저장된 result
		}
		return $result; // 결과 반환
	}

	$num1 = 9;
	$num2 = 33; // 상수 선언

	$max_gong = computeMaxGong($num1, $num2); // 함수 호출

	echo "{$num1}와 {$num2}의 최대공약수 : $max_gong"; // 결과 출력
?>

연습문제 6-1 결과화면

연습문제 6-2. 다음은 함수를 이용하여 3개의 수 중에서 가장 큰 수를 찾는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

출력포맷

###, ###, ### 중 가장 큰 수 : ###

<?php
	function maxTwo($i, $j) { // 두 수 중에 큰 수를 찾는 함수
		if($i > $j) return $i; // i가 크면 i를 반환
		else return $j; // j가 크면 j를 반환
	}

	function maxThree($x, $y, $z) { // 세 수 중에 큰 수를 찾는 함수
		// x,y 중 큰 값과 y,z 중 큰 값을 maxTwo를 호출하여 가장 큰 값 찾기
		return maxTwo(maxTwo($x, $y), maxTwo($y, $z));

	}

	$a = 10;
	$b = 5;
	$c = 7; // 상수 선언

	$max_num = maxThree($a, $b, $c); // 함수 호출

	echo "$a, $b, $c 중 가장 큰 수 : $max_num"; // 결과 출력
?>

연습문제 6-2 결과화면

연습문제 6-3. 다음은 놀이공원 입장객의 나이와 입장권의 종류에 따라 요금을 계산하여 출력하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오. 입장권의 종류별 요금은 다음과 같다.

구분 어른 청소년 어린이 비고
입장권 18,000 15,000 13,000 놀이공원 기본 입장
자유 이용권 주간 32,000 28,000 25,000 입장+놀이기구 무제한 이용
야간 29,000 25,000 22,000
5 이용권 29,000 25,000 22,000 입장 + 놀이기구 5종 이용

출력포맷

입장권 종류 : ####

입장객 나이 : ##

입장료 : ######

<?php
	function child_rate($cat){ // 어린이 요금 함수
		if ($cat == "입장권") $price = 13000;
		elseif ($cat == "자유 이용권 주간") $price = 25000;
		elseif ($cat == "자유 이용권 야간") $price = 22000;
		else $price = 22000;

		return $price;
	}
	function youth_rate($cat){ // 청소년 요금 함수
		if ($cat == "입장권") $price = 15000;
		elseif ($cat == "자유 이용권 주간") $price = 28000;
		elseif ($cat == "자유 이용권 야간") $price = 25000;
		else $price = 25000;

		return $price;
	}
	function adult_rate($cat){ // 어른 요금 함수
		if ($cat == "입장권") $price = 18000;
		elseif ($cat == "자유 이용권 주간") $price = 32000;
		elseif ($cat == "자유 이용권 야간") $price = 29000;
		else $price = 29000;

		return $price;
	}

	$age = 2;
	$category = "자유 이용권 야간";
	// 구분: 입장권, 자유 이용권 주간, 자유 이용권 야간, 빅5 이용권

	// 나이에 따른 요금 함수 호출
	if($age >= 0 && $age <= 3) $fee = 0;
	elseif($age >= 4 && $age <= 10) $fee = child_rate($category);
	elseif($age >= 11 && $age <= 17) $fee = youth_rate($category);
	else $fee = adult_rate($category);

	// 출력
	echo "입장권 종류 : $category<br>";
	echo "입장객 나이 : $age<br>";
	echo "입장료 : {$fee}원";
?>

연습문제 6-3 결과화면

궁금하신 점은 댓글 부탁드립니다.

반응형
Comments