آموزش حلقه while و do…while در جاوا اسکریپت
در این آموزش به کمک مثال های مختلف با حلقه های while و do…while در جاوا اسکریپت (JavaScript) آشنا خواهید شد.
در برنامه نویسی از حلقه ها برای تکرار اجرای مجموعه ای از کدها استفاده می شود.
به عنوان مثال اگر می خواهید یک پیام را ۱۰۰ بار نشان دهید می توانید از یک حلقه استفاده کنید. این فقط یک مثال ساده است، به کمک حلقه ها کارهای زیادی می توانید انجام دهید.
حلقه while در جاوا اسکریپت
ساختار حلقه while:
while (شرط) {
// while بدنه حلقه
}
مراحل حلقه while:
۱- ابتدا شرط داخل پرانتز () بررسی می شود.
۲- اگر شرط درست و برقرار باشد، مقدار true را برمی گرداند و سپس کد داخل حلقه while اجرا می شود.
۳- پس از اجرای کدهای داخل حلقه، دوباره شرط حلقه بررسی می شود.
۴- این روند تا زمانی ادامه می یابد که شرط نادرست شود و مقدار false برگرداند .
۵- زمانی که شرط برقرار نشود، حلقه متوقف می شود.
برای کسب اطلاعات بیشتر در مورد عبارت های شرطی به مبحث آموزش عملگرهای مقایسه ای و منطقی مراجعه کنید.
جریان حلقه while با نمودار:
مثال ۱: نمایش اعداد ۱ تا ۵
// برنامه نمایش اعداد از ۱ تا ۵
// مقداردهی اولیه متغیرها
let i = 1, n = 5;
// تا ۵ تکرار می شود i = 1 حلقه از
while (i <= n) {
console.log(i);
i += 1;
}
خروجی
۱
۲
۳
۴
۵
در جدول زیر مراحل و شیوه کار برنامه بالا توضیح داده شده است:
عمل |
شرط: i <= n |
متغیرها | شماره تکرار |
۱ چاپ می شود.
مقدار متغیر i به مقدار ۲ افزایش می یابد. |
true | i = 1
n = 5 |
اول |
۲ چاپ می شود.
مقدار متغیر i به مقدار ۳ افزایش می یابد. |
true | i = 2 n = 5 |
دوم |
۳ چاپ می شود.
مقدار متغیر i به مقدار ۴ افزایش می یابد. |
true | i = 3 n = 5 |
سوم |
۴ چاپ می شود.
مقدار متغیر i به مقدار ۵ افزایش می یابد. |
true | i = 4 n = 5 |
چهارم |
۵ چاپ می شود.
مقدار متغیر i به مقدار ۶ افزایش می یابد. |
true | i = 5 n = 5 |
پنجم |
حلقه تمام می شود. | false | i = 6 n = 5 |
ششم |
مثال ۲: مجموع اعداد مثبت
// برنامه محاسبه و نمایش مجموع اعداد مثبت
// اگر کاربر عدد منفی وارد کند، حلقه پایان می یابد
// عدد منفی وارد شده به مقدار مجموع اضافه نمی شود
let sum = 0;
// عدد ورودی از کاربر گرفته می شود
let number = parseInt(prompt(‘Enter a number: ‘));
while(number >= 0) {
// عدد مثبت وارد شده را به مجموع قبلی اضافه می کند
sum += number;
// دوباره عدد از کاربر گرفته می شود
number = parseInt(prompt(‘Enter a number: ‘));
}
// نمایش مجموع اعداد وارد شده توسط کاربر
console.log(`The sum is ${sum}.`);
خروجی
Enter a number: 2
Enter a number: 5
Enter a number: 7
Enter a number: 0
Enter a number: -3
The sum is 14.
در این برنامه ابتدا از کاربر خواسته می شود که یک عدد وارد کند.
با نوشتن ()prompt، کاربر می تواند یک مقدار رشته ای وارد کند. عملگر + برای رشته ها عملگر الحاق است یعنی اگر به طور مستقیم روی رشته های اعمال شود، آنها را به هم وصل می کند، مانند، ‘۲’ + ‘۳’ = ‘۲۳’. به همین دلیل از ()parseInt برای تبدیل مقدار رشته ورودی به عدد استفاده می شود.
حلقه while تا زمانی تکرار می شود که کاربر عدد منفی (یا رشته غیرعددی) وارد کند. در هر تکرار، عدد وارد شده توسط کاربر به مقدار قبلی متغیر sum اضافه می شود. متغیر sum مجموع اعداد ورودی را ذخیره می کند.
وقتی کاربر یک عدد منفی وارد کند، حلقه تمام می شود. در نهایت در بیرون از حلقه، مجموع همه اعداد مثبت وارد شده توسط کاربر نمایش داده می شود.
حلقه do…while در جاوا اسکریپت
ساختار حلقه do…while:
do {
// بدنه حلقه
} while(شرط)
۱- ابتدا کد داخل حلقه do اجرا می شود سپس شرط بررسی می شود.
جاوا، جاوا اسکریپت رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی عالی با توسعه وب، ماشین لرنینگ و ... کتابخانه های پیشرفته جاوا اسکریپت و ... دانلود:
۲- اگر شرط درست و برقرار باشد، مقدار true را برمی گرداند و دوباره کد داخل حلقه do اجرا می شود.
۳- شرایط دوباره بررسی می شود.
۴- اگر شرط درست باشد، کدهای دستور do دوباره اجرا می شود.
۵- این روند تا زمانی ادامه می یابد که شرط نادرست شود و حلقه را متوقف کند.
نکته: حلقه do…while شبیه حلقه while است. تنها تفاوتشان این است که در حلقه do…while کد بدنه حلقه حداقل یکبار اجرا می شود.
جریان حلقه do…while با نمودار
مثال ۳: نمایش اعداد ۱ تا ۵
// برنامه نمایش اعداد
let i = 1;
let n = 5;
// حلقه از ۱ تا ۵ تکرار می شود
do {
console.log(i);
i++;
} while(i <= n);
خروجی
۱
۲
۳
۴
۵
در جدول زیر مراحل و شیوه کار برنامه بالا توضیح داده شده است:
عمل |
شرط: i <= n |
متغیرها | شماره تکرار |
۱ چاپ می شود.
مقدار متغیر i به مقدار ۲ افزایش می یابد. |
بررسی نمی شود | i = 1
n = 5 |
|
۲ چاپ می شود.
مقدار متغیر i به مقدار ۳ افزایش می یابد. |
true | i = 2 n = 5 |
اول |
۳ چاپ می شود.
مقدار متغیر i به مقدار ۴ افزایش می یابد. |
true | i = 3 n = 5 |
دوم |
۴ چاپ می شود.
مقدار متغیر i به مقدار ۵ افزایش می یابد. |
true | i = 4 n = 5 |
سوم |
۵ چاپ می شود.
مقدار متغیر i به مقدار ۶ افزایش می یابد. |
true | i = 5 n = 5 |
چهارم |
حلقه تمام می شود. | false | i = 6 n = 5 |
پنجم |
مثال ۴: مجموع اعداد مثبت
// برنامه محاسبه و نمایش مجموع اعداد مثبت
// اگر کاربر عدد منفی وارد کند، حلقه پایان می یابد
// عدد منفی وارد شده به مقدار مجموع اضافه نمی شود
let sum = 0;
let number = 0;
do {
sum += number;
number = parseInt(prompt(‘Enter a number: ‘));
} while(number >= 0)
console.log(`The sum is ${sum}.`);
خروجی ۱
Enter a number: 2
Enter a number: 4
Enter a number: -500
The sum is 6.
در اینجا حلقه do…while تا زمانی تکرار می شود که کاربر عدد منفی وارد کند. وقتی عدد ورودی منفی باشد، حلقه متوقف میشود. عدد منفی وارد شده به مجموع اضافه نمی شود. متغیر sum مجموع اعداد مثبت وارد شده را ذخیره می کند.
خروجی ۲
Enter a number: -80
The sum is 0.
اگر کاربر عدد منفی وارد کند، بدنه حلقه do…while فقط یکبار اجرا می شود.
حلقه بی نهایت
اگر شرط یک حلقه همیشه درست یا true باشد، حلقه برای نامحدود اجرا و تکرار می شود (تا زمانی که حافظه پر شود). مثال،
//بی نهایت whileحلقه
while(true){
// بدنه حلقه
}
مثالی از حلقه do…while بی نهایت:
//بی نهایت do…whileحلقه
let count = 1;
do {
// بدنه حلقه
} while(count == 1)
در برنامه های بالا شرط همیشه درست است. بنابراین بدنه حلقه بی نهایت اجرا خواهد شد.
حلقه های for و while
حلقه for معمولاً زمانی اسفاده می شود که تعداد تکرارها مشخص باشد. مثال،
// حلقه ۵ بار تکرار می شود
for (let i = 1; i <=5; ++i) {
// بدنه حلقه
}
حلقه های while و do…while معمولاً زمانی استفاده می شوند که تعداد تکرارها مشخص نباشد. مثال،
while (شرط) {
// بدنه حلقه
}
سلام میخوام به تعداد دلخواه عدد وارد کنم و معدلش را برام محاسبه کند اعداد فقط در محدوده 1 تا 20 باشد
پاسخ