درس ۴ برنامهنویسی: حلقهها و تکرار هوشمند
کارهای تکراری را با حلقه for و while کوتاه، قابل کنترل و بدون تکرار کد انجام دهیم.
for یا while؟
وقتی تعداد تکرار یا مجموعه داده مشخص است، for انتخاب طبیعیتری است. وقتی تکرار تا رخدادن یک وضعیت ادامه دارد، مانند تلاش تا دریافت ورودی معتبر، while مناسبتر است.
خطر حلقه بینهایت
اگر شرط پایان هیچوقت تغییر نکند، برنامه در حلقه میماند. پیش از اجرا بپرس در هر دور چه چیزی به پایان نزدیک میشود و آیا داده نامعتبر میتواند جلوی پایان را بگیرد.
- شروع را مشخص کن.
- شرط ادامه را بنویس.
- متغیر کنترل را تغییر بده.
- حالت خالی را آزمایش کن.
تمرین این درس
فهرستی از هزینهها بساز و با حلقه مجموع، بیشترین مقدار و تعداد هزینههای بالاتر از یک حد را محاسبه کن. سپس همین کار را برای فهرست خالی آزمایش کن.
پرسشهای متداول
break چه کاری میکند؟
اجرای حلقه را همان لحظه متوقف میکند و برای پایان زودهنگام در یک شرط روشن مفید است.
continue چه کاربردی دارد؟
باقی دستورات دور فعلی را رد میکند و به تکرار بعدی میرود.
جمعبندی
حلقه باید پایان قابل پیشبینی داشته باشد. نوع حلقه را بر اساس مسئله انتخاب و روی داده خالی، یک عضو و چند عضو آزمایش کن.