Cpp-04-04 - بررسی حلقه‌ها (Do While)

بازدید : 26

1

اشتراک

Cpp-04-04 - بررسی حلقه‌ها (Do While)

توضیحات :

در این بخش یاد می‌گیریم حلقه do…while چطور کار می‌کند و چرا در بعضی شرایط، بهترین انتخاب است. این حلقه از نظر ساختار شبیه while است، اما یک تفاوت مهم دارد:

➤ کد داخل حلقه حتماً حداقل یک بار اجرا می‌شود.

به‌طور کلی ساختار این حلقه به این شکل است:

do { // دستورات } while(condition);

نکته مهم:
بعد از عبارت while حتماً باید ; بگذاری؛ اگر فراموش شود، با خطای Compile Time Error روبه‌رو می‌شوی.


🎯 چرا از do…while استفاده می‌کنیم؟

حلقه‌های while و for ممکن است اصلاً اجرا نشوند.
مثلاً اگر مقدار اولیه a برابر 10 باشد و شرط بنویسیم:

while (a < 10)

این حلقه حتی یک بار هم اجرا نمی‌شود؛ چون شرط از همان اول برقرار نیست.
در برنامه‌نویسی واقعی، این مقدارها معمولاً توسط کاربر یا دیتابیس تعیین می‌شوند و همیشه قابل پیش‌بینی نیستند. همینجاست که حلقه do…while کاربرد پیدا می‌کند.


🎮 مثال واقعی: منطق اجرای بازی‌ها

یکی از بهترین کاربردهای do…while در طراحی بازی‌ها است.
وقتی کاربر بازی را شروع می‌کند:

  1. بازی حداقل یک بار اجرا می‌شود.

  2. اگر Game Over شد، از کاربر پرسیده می‌شود:

    • Continue؟

    • Replay؟

    • Yes / No

اگر کاربر Yes بزند، بازی دوباره از اول اجرا می‌شود.
اگر No بزند، از حلقه خارج می‌شویم و بازی تمام می‌شود.

این رفتار دقیقاً با حلقه do…while پیاده‌سازی می‌شود:

  • یک بار اجرای اولیه

  • تکرار در صورت برقرار بودن شرط (مثلاً "کاربر گفت Yes")


🧪 پیاده‌سازی یک مثال ساده از do…while

در این مثال، مقدار متغیر a از 0 شروع می‌شود و تا زمانی که کمتر از 5 باشد، متن چاپ می‌شود:

int a = 0; do { cout << "TabsMedia" << endl; a++; } while (a < 5);

روند اجرای کد:

  1. وارد بلاک do می‌شود —‌ بدون بررسی شرط

  2. متن چاپ می‌شود

  3. مقدار a یک واحد افزایش می‌یابد

  4. شرط بررسی می‌شود

  5. اگر برقرار بود، حلقه تکرار می‌شود

به‌خاطر اینکه بررسی شرط بعد از اجرای بدنه انجام می‌شود، اجرای اولیه همیشه انجام خواهد شد.


📌 مواردی که در این ویدیو یاد می‌گیری:

  • ساختار کامل و صحیح حلقه do…while

  • تفاوت آن با while و for

  • دلیل نیاز به semicolon بعد از while

  • شرایطی که حلقه‌های دیگر اجرا نمی‌شوند اما do…while انجام می‌شود

  • مثال کاربردی واقعی در طراحی بازی‌ها

  • اجرای عملی یک نمونه کد C++

  • توضیح مرحله‌به‌مرحله فرآیند تکرار حلقه

لطفا برای گذاشتن نظرات خود وارد شوید

نظرات شما عزیزان