Bài tập thực hành khai báo và gọi hàm trong php


bài tập thực hành php cơ bản 23/09/2015 Cùng chuyên mục

Thực hành khai báo hàm, gọi hàm - truyền đối số ...

Bài tập 1: Viết hàm tính căn bậc n của một số.

Đáp Án
function can_ban_n($a = 1, $n = 0)
{	
	//nếu đối số nhập vào không phải là 1 số thì thông báo lỗi
	if(!is_numeric($a))
	{
		print("Ban can nhap mot so (!)");
		exit;
	}
	// nếu số căn n là 0 hoac so am - thì thông báo lỗi
	if ($n < 1)
	{
		print("n khong hop le");
		exit;
	}	
	$a = pow($a,(1/$n));
	printf("Ket qua: %.2f", $a);
}
print("Nhap vao mot so: ");
fscanf(STDIN,"%f\n",$a);
print("Nhap vao n: ");
fscanf(STDIN,"%d\n",$n);
//gọi hàm
can_ban_n($a, $n);

Bài tập 2: Viết hàm chuyển đối giá trị giữa 2 biến

Đáp Án
function swap($x = 0, $y = 0)
{	
	//nếu đối số nhập vào không phải là 1 số thì thông báo lỗi
	if(!is_numeric($x) OR !is_numeric($y))
	{
		print("Ban can nhap mot so (!)");
		exit;
	}
	//luu tam gia tri cua x sang bien temp
	$temp = $x;
	//gan gia tri bien y cho bien x
	$x = $y;
	//gan gia tri luu tam cho bien y
	$y = $temp;
	printf("Gia tri bien thu 1: %.2f - bien thu 2: %.2f\n",$x,$y);
}
print("Nhap bien thu 1: ");
fscanf(STDIN,"%f\n",$x);
print("Nhap bien thu 2: ");
fscanf(STDIN,"%f\n",$y);
//gọi hàm
swap($x, $y);

Bài tập 3: Viết hàm tính số hạng thứ n trong dãy Fibonaci  và in kết quả dãy dạn 1 1 2 ... n

Đáp Án
function cal_fibonaci($n)
{	
	//nếu đối số nhập vào không phải là 1 số nguyên dương thì thông báo lỗi
	if(!is_int($n) OR ($n < 1))
	{
		print("So n nhap vao khong hop le");
		exit;
	}
	$f = array(1,1);
	if($n < 3)
	{
		return $f;
	}
	else //chi tinh voi cong thuc f(n) = f(n-1)+f(n-2) khi n>2
	{
		for($i = 2; $i < $n; $i++)
		{
			$f[] = $f[$i-1] + $f[$i-2];
		}
	}
	return $f;
}
print("Nhap so n: ");
fscanf(STDIN,"%d\n",$n);
//gọi hàm
$f = cal_fibonaci($n);
$i = 0;
foreach ($f as $key)
{
	printf("%d ",$key);
	$i++;
	if(($i > 5) AND ($n > 6))
	{
		break;
	}
}
//muc dich xuat lieu cho dep dang 1 1 2 3 5 8 ... 
if(($i > 5) AND (count($f) > 6))
{
	printf(" ... %d",$f[$n-1]);
}

Bài tập 4: Viết hàm kiểm tra xem một số có phải là số nguyên tố

Đáp Án
function kiem_tra_so_nguyen_to($n)
{	
	if(!is_int($n) OR ($n < 0))
	{
		print("So n nhap vao khong hop le");
		exit;
	}
	//lay can bac hai cua $n ( chi xet den can bac hai cua $n )
	//$root_n = (int)sqrt($n);	
	for($i = 2; $i < $n; $i++)
	{
		//neu chia het cho mot trong cac so nguyen tu 2 -> chinh no thi khong phai la so nguyen to
		if(($n % $i) == 0)
		{
			return FALSE;
		}
	}
	return TRUE;
}
print("Nhap so n: ");
fscanf(STDIN,"%d\n",$n);
//gọi hàm
if(kiem_tra_so_nguyen_to($n))
{
	printf("%d la mot so nguyen to\n",$n);
}
else
{
	printf("%d khong phai la mot so nguyen to\n",$n);
}




Bình luận:


bài tập php