حلقه تکرار؛ مفهومی برای اجرای پیاپی و هوشمندانه
اجزای اصلی و حالتهای رایج حلقه تکرار
هر حلقهای از سه بخش اساسی تشکیل شده است. بخش نخست، شمارنده است که تعداد دفعات اجرا را کنترل میکند. بخش دوم، شرط است که مشخص میکند حلقه تا چه زمانی ادامه پیدا کند. بخش سوم، بدنه است که شامل دستورهایی میشود که هر بار اجرا میگردند. در زبانهای برنامهنویسی، دو نوع حلقه بسیار پرکاربرد وجود دارد:
| نام حلقه | ویژگی اصلی | کاربرد در زندگی دانشآموز |
|---|---|---|
| حلقه با شمارنده | تعداد اجرا از پیش مشخص است | تکرار تمرینات ورزشی به تعداد مشخص |
| حلقه با شرط | اجرا تا زمانی که شرط برقرار است | تا زمانی که پاسخ سؤال درست نشده، دوباره پرسیده شود |
حلقه تکرار در موقعیتهای روزمره
فرض کنید میخواهید ۲۰ بار عبارت «من تمرین میکنم» را روی برگه بنویسید. به جای اینکه ۲۰ بار این کار را دستی انجام دهید، میتوانید یک حلقه تعریف کنید که ۲۰ بار این دستور را اجرا کند. یا وقتی در یک بازی رایانهای، شخصیت شما باید ۵ بار یک مانع را رد کند، در پشت صحنه از یک حلقه استفاده شده است. همچنین هنگامی که معلم از شما میخواهد جدول ضرب یک عدد را تا ۱۰ بنویسید، در واقع شما یک حلقه با شمارنده از ۱ تا ۱۰ را ذهناً اجرا میکنید.
در برنامهنویسی، اگر بخواهید نام همه دانشآموزان یک کلاس را نمایش دهید، به جای نوشتن دستور جداگانه برای هر نفر، از یک حلقه استفاده میکنید که به ترتیب هر نام را از لیست بردارد و چاپ کند. این کار باعث میشود کد شما کوتاهتر، خواناتر و کمتر دچار اشتباه شود.
سه پرسش چالشی درباره حلقه تکرار
پرسش نخست: چرا نمیتوانیم به جای حلقه، کد را بارها کپی کنیم؟
پاسخ: کپی کردن کد باعث طولانی شدن برنامه و سختتر شدن اشکالزدایی میشود. اگر بعداً بخواهیم تغییری در دستور ایجاد کنیم، باید در همه جای کد آن را تغییر دهیم. حلقه این مشکل را حل میکند و کد را پویا و قابل مدیریت میسازد.
پرسش دوم: چه زمانی از حلقه با شمارنده و چه زمانی از حلقه با شرط استفاده کنیم؟
پاسخ: وقتی تعداد دفعات اجرا را از قبل میدانیم، مانند ۱۰ بار نمایش یک پیام، از حلقه با شمارنده استفاده میکنیم. اما وقتی اجرا به یک شرط وابسته است، مثلاً تا زمانی که کاربر کلمه «بله» را وارد نکند، از حلقه با شرط بهره میبریم.
پرسش سوم: آیا میتوانیم داخل یک حلقه، حلقه دیگری قرار دهیم؟
پاسخ: بله، به این حالت «حلقه تودرتو» میگوییم. مانند زمانی که میخواهید جدول ضرب ۱۰ در ۱۰ را تولید کنید. حلقه بیرونی شمارنده سطرها و حلقه درونی شمارنده ستونها را کنترل میکند. فقط باید مراقب باشید که تعداد تکرارها از حد معقول خارج نشود.