حلقه do while در سیشارپ
حلقه do while در سیشارپ برای تکرار دستورات است. ابتدا کد اجرا و سپس شرط بررسی میشود؛ بنابراین یکبار حتماً اجرا میشود.
04 مهر 1405
لینک کوتاه
حلقه do while در زبان #C
در برنامهنویسی، گاهی لازم است یک دستور یا مجموعهای از دستورات را چندین بار اجرا کنیم.برای انجام این کار از حلقهها استفاده میشود. زبان برنامهنویسی #C دارای چند نوع حلقه مانند for، while و do while است.
هر کدام از این حلقهها کاربرد خاص خود را دارند.
حلقه do while یکی از حلقههای مهم در #C است که زمانی استفاده میشود که بخواهیم دستورات داخل حلقه حداقل یک بار اجرا شوند.
ساختار کلی حلقه do while به شکل زیر است:
do
{
// دستورات
}
while (condition);
در این ساختار ابتدا دستورات داخل do اجرا میشوند و سپس شرط موجود در while بررسی میشود.
اگر شرط درست یا true باشد، دستورات دوباره اجرا میشوند. این روند تا زمانی ادامه پیدا میکند که شرط false شود.
مهمترین تفاوت do while با while در زمان بررسی شرط است.
در حلقه while ابتدا شرط بررسی میشود و اگر شرط درست باشد، بدنه حلقه اجرا میشود.
بنابراین ممکن است بدنه حلقه حتی یک بار هم اجرا نشود.
اما در do while ابتدا بدنه اجرا شده و بعد شرط بررسی میشود.
به همین دلیل بدنه این حلقه همیشه حداقل یک بار اجرا خواهد شد.
برای مثال:
int number = 10;
do
{
Console.WriteLine(number);
}
while (number < 5);
در این برنامه با اینکه شرط number < 5 از ابتدا نادرست است، عدد 10 یک بار چاپ میشود.
دلیل آن این است که در do while ابتدا دستورات اجرا و سپس شرط بررسی میشود.
آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!

مثال کاربردی اول: دریافت عدد از کاربر
یکی از کاربردهای رایج do while دریافت اطلاعات از کاربر است. فرض کنید میخواهیم از کاربر عدد دریافت کنیم و تا زمانی که عدد صفر وارد نکرده است، این کار را ادامه دهیم.
int number;
do
{
Console.Write("یک عدد وارد کنید: ");
number = int.Parse(Console.ReadLine());
} while (number != 0);
Console.WriteLine("برنامه پایان یافت.");
در این مثال برنامه حداقل یک بار از کاربر عدد میگیرد.
اگر کاربر عددی غیر از صفر وارد کند، شرط number != 0 درست خواهد بود و حلقه دوباره اجرا میشود.
زمانی که کاربر عدد صفر را وارد کند، شرط نادرست شده و برنامه از حلقه خارج میشود.
این روش برای برنامههایی که باید حداقل یک بار ورودی دریافت کنند بسیار مناسب است.
مثال کاربردی دوم: ساخت منوی برنامه
یکی دیگر از کاربردهای مهم do while ساخت منو در برنامههای کنسولی است.فرض کنید برنامهای داریم که چند گزینه در اختیار کاربر قرار میدهد و تا زمانی که کاربر گزینه خروج را انتخاب نکرده، منو باید دوباره نمایش داده شود.
int choice;
do
{
Console.WriteLine("1. افزودن اطلاعات");
Console.WriteLine("2. حذف اطلاعات");
Console.WriteLine("3. نمایش اطلاعات");
Console.WriteLine("0. خروج");
Console.Write("انتخاب کنید: ");
choice = int.Parse(Console.ReadLine());
} while (choice != 0);
Console.WriteLine("از برنامه خارج شدید.");
در این برنامه منو حداقل یک بار نمایش داده میشود.
اگر کاربر گزینههای 1، 2 یا 3 را انتخاب کند، حلقه ادامه پیدا میکند.
اگر گزینه صفر انتخاب شود، شرط choice != 0 نادرست شده و برنامه پایان پیدا میکند.
این نوع استفاده از do while در برنامههای آموزشی، سیستمهای ساده مدیریتی و برنامههای کنسولی بسیار رایج است.
مثال کاربردی سوم: اعتبارسنجی ورودی
گاهی لازم است کاربر فقط یک مقدار معتبر وارد کند. برای مثال، فرض کنید میخواهیم سن کاربر را دریافت کنیم و سن باید بین 1 تا 120 باشد.int age;
do
{
Console.Write("سن خود را وارد کنید: ");
age = int.Parse(Console.ReadLine());
} while (age < 1 || age > 120);
Console.WriteLine("سن وارد شده معتبر است.");
در این مثال اگر کاربر عددی مانند 150 یا صفر وارد کند، شرط درست خواهد بود و برنامه دوباره سن را درخواست میکند.
وقتی کاربر عددی بین 1 تا 120 وارد کند، شرط false شده و حلقه پایان مییابد.
این کاربرد نشان میدهد که do while برای اعتبارسنجی اطلاعاتی که کاربر وارد میکند نیز مفید است.
مثال کاربردی چهارم: ادامه دادن یک عملیات
فرض کنید برنامهای داریم که یک عملیات را انجام میدهد و سپس از کاربر میپرسد که آیا میخواهد عملیات دیگری انجام دهد یا خیر.char answer;
do
{
Console.WriteLine("عملیات انجام شد.");
Console.Write("آیا میخواهید دوباره اجرا کنید؟ (y/n): ");
answer = char.Parse(Console.ReadLine());
} while (answer == 'y');
Console.WriteLine("پایان برنامه.");
در این مثال عملیات حداقل یک بار انجام میشود.
سپس کاربر میتواند با وارد کردن y باعث اجرای دوباره حلقه شود.
اگر کاربر n وارد کند، شرط answer == 'y' نادرست شده و حلقه متوقف میشود.
استفاده از break در do while
در #C میتوان با دستور break نیز از حلقه خارج شد. برای مثال:int number = 0;
do
{
Console.WriteLine(number);
number++;
if (number == 5)
{
break;
}
} while (true);
در این برنامه شرط حلقه همیشه true است، اما زمانی که مقدار number به 5 برسد، دستور break اجرا شده و حلقه متوقف میشود.
البته استفاده از حلقههای بینهایت باید با دقت انجام شود؛ زیرا اگر راهی برای خروج وجود نداشته باشد، برنامه ممکن است برای همیشه در حلقه باقی بماند.
تفاوت do while و while در سی شارپ
مهمترین تفاوت این دو حلقه را میتوان به شکل زیر خلاصه کرد:while:
ابتدا شرط → سپس اجرای دستورات
do while:
ابتدا اجرای دستورات → سپس بررسی شرط
بنابراین اگر ممکن است شرط از همان ابتدا نادرست باشد و نمیخواهیم بدنه حتی یک بار اجرا شود، while مناسب است.
اما اگر لازم است دستورات حداقل یک بار اجرا شوند و سپس درباره ادامه اجرای آن تصمیم بگیریم، do while انتخاب مناسبی است.
نکات مهم حلقه do while در سیشارپ
در استفاده از do while چند نکته باید مورد توجه قرار گیرد.اولین نکته این است که بعد از شرط while باید علامت ; قرار بگیرد:
do
{
// دستورات
}
while (condition);
همچنین باید دقت کنیم که شرط حلقه در نهایت به false برسد؛ در غیر این صورت حلقه ممکن است بینهایت شود.
نکته دیگر این است که متغیری که در شرط استفاده میشود باید در طول اجرای حلقه تغییر کند، مگر اینکه عمداً بخواهیم حلقه با استفاده از break متوقف شود.
جمعبندی
حلقه do while یکی از ساختارهای تکرار در زبان #C است که برای اجرای چندباره دستورات استفاده میشود.ویژگی اصلی آن این است که بدنه حلقه حداقل یک بار اجرا میشود؛ زیرا شرط در پایان حلقه بررسی میشود.
ساختار این حلقه ساده است:
do
{
// دستورات
}
while (condition);
از do while میتوان در موارد مختلفی مانند دریافت ورودی از کاربر، ساخت منو، اعتبارسنجی اطلاعات و اجرای دوباره یک عملیات استفاده کرد.
چهار مثال مهم آن شامل دریافت عدد تا زمان وارد کردن صفر، نمایش منو تا انتخاب گزینه خروج، بررسی معتبر بودن سن و تکرار یک عملیات بر اساس انتخاب کاربر است.
در نتیجه، اگر در یک مسئله لازم باشد یک بخش از برنامه حتماً یک بار اجرا شود و پس از آن درباره تکرار آن تصمیم گرفته شود، حلقه do while میتواند گزینه مناسبی باشد.
شناخت تفاوت این حلقه با while نیز باعث میشود برنامهنویس بتواند در هر مسئله ساختار مناسبتری انتخاب کند.



کاربران ما
شما هم نظرتون با ما دریاره “حلقه do while در سیشارپ” اشتراک بزارید
برای ارسال نظر لطفا ورود یا ثبت نام کنید