محاسبه فاکتوریل اعداد با استفاده از جاوا اسکرپت

مطرح شده توسط: ansar بدست اوردن فاکتوریل با دو تا جعبه ساده ویک button که عدد را در جعبه اول نو شته ودر دومی فاکتوریل را محاسبه کند با استفاده از فرم در صفحه اینترنت موضوع طراحی سایت یعنی بر روی button که کلیک کنی فاکتوریل بگیرد با تشکر فراوان

انجام عملیات ریاضی با استفاده از HTML امکان ندارد چون در حقیقت HTML را نمیتوان یک زبان برنامه نویسی محسوب کرد. HTML یک زبان علامت گذاری ابر متن است. برای انجام عملیات ریاضی باید از زبانهای برنامه نویسی نظیر PHP, ASP و JavaScript استفاده کرد. در این مورد استفاده از جاوا اسکرپت به دلیل اینکه برای اجرا شدن به امکانات اضافی در سرور احتیاج ندارد مناسب تر است.

فاکتوریل یک عدد برابر با حاصلضرب همه اعداد صحیح مثبت کوچکتر از عدد مورد نظر است. برای مثال فاکتوریل 5 به صورت زیر محاسبه می شود:

5! = 5 × 4 × 3 × 2 × 1 =>
5! = 120

استثنایی که در فاکتوریل وجود دارد عدد صفر است. فاکتوریل عدد صفر برابر با 1 است.

با استفاده از تابع زیر میتوانیم فاکتوریل یک عدد را به دست آوریم:

function factorial (aNumber) {
	// این قسمت در صورتی که عدد وارد شده به صورت اعشاری باشد آنرا به اولین عدد صحیح بزرگتر از آن گرد میکند
	aNumber = Math.floor(aNumber);
	
	// این قسمت در صورتی که مقدار وارد شده منفی باشد یا عدد نباشد تابع را متوقف میکند
	if(!isFinite(aNumber) || aNumber < 0)
		return false;

	// این قسمت در صورتی که عدد وارد شده صفر باشد مقدار 1 را باز میگرداند
	if(aNumber == 0)
		return 1;
	
	var output = 1;
	for (i = 1; i <= aNumber; i++) {
		output *= i;
	}
	
	return output;
}

حالا نوبت به طراحی قسمت مربوط به وارد کردن عدد و نمایش نتیجه در صفحه می رسد. برای این کار میتوانیم از کد زیر استفاده کنیم:

عدد مورد نظر را وارد کنید:
<input type="text" name="number" id="number" size="10">
<input type="button" value="محاسبه" onclick="CountResult()">
<input type="text" name="result" id="result">

ما برای راحتی کار از تابع زیر برای خواندن عدد مورد نظر و نمایش نتیجه آن استفاده میکنیم:

function CountResult() {
	// خواندن عدد ورودی
	var inputNumber = document.getElementById("number").value;
	// اجرای تابع محاسبه فاکتوریل
	var result = factorial(inputNumber);

	if(!result) {
		alert("مقدار وارد شده معتبر نیست");
	}
	else {
		document.getElementById("result").value = result;
	}
}

در اینجا میتوانید کد صفحه ای را که برای برای پیدا کردن فاکتوریل اعداد طراحی کردیم مشاهده کنید:

<html>
<head>
<script type="text/javascript">
function factorial(aNumber) {
	aNumber = Math.floor(aNumber);
	if(!isFinite(aNumber) || aNumber < 0)
		return false;
	if(aNumber == 0)
		return 1;
	var output = 1;
	for (i = 1; i <= aNumber; i++) {
		output *= i;
	}
	return output;
}

function CountResult() {
	var inputNumber = document.getElementById("number").value;
	var result = factorial(inputNumber);
	if(!result) {
		alert("مقدار وارد شده معتبر نیست");
	}
	else {
		document.getElementById("result").value = result;
	}
}
</script>
</head>
<body dir="rtl">
<p>
عدد مورد نظر را وارد کنید:
<input type="text" name="number" id="number" size="10">
<input type="button" value="محاسبه" onclick="CountResult()">
<input type="text" name="result" id="result" size="10">
</p>
</body>
</html>

یک نمونه از فرم ایجاد شده با روش بالا را می توانید در اینجا مشاهده کنید:


نظرات بازدید کنندگان
Tue, 13 Jan 2009 23:55:44 +0330 نویسنده : yaser
سلام شما وب سایت خود رااز چه طریقی طراحی کریدید. و در مورد فلش ماندگار و متحرک و سابت توضیح بدید.لطفا به ایمیلم بفرستید.
 
Sun, 29 Jun 2008 11:54:01 +0430 نویسنده : مجید
مطالب جالبی دادید  ممنون