درس ۴ برنامهنویسی: حلقهها و تکرار هوشمند
کارهای تکراری را با حلقه for و while کوتاه، قابل کنترل و بدون تکرار کد انجام دهیم.
for یا while؟
وقتی تعداد تکرار یا مجموعه داده مشخص است، for انتخاب طبیعیتری است. وقتی تکرار تا رخدادن یک وضعیت ادامه دارد، مانند تلاش تا دریافت ورودی معتبر، while مناسبتر است.
خطر حلقه بینهایت
اگر شرط پایان هیچوقت تغییر نکند، برنامه در حلقه میماند. پیش از اجرا بپرس در هر دور چه چیزی به پایان نزدیک میشود و آیا داده نامعتبر میتواند جلوی پایان را بگیرد.
- شروع را مشخص کن.
- شرط ادامه را بنویس.
- متغیر کنترل را تغییر بده.
- حالت خالی را آزمایش کن.
تمرین این درس
فهرستی از هزینهها بساز و با حلقه مجموع، بیشترین مقدار و تعداد هزینههای بالاتر از یک حد را محاسبه کن. سپس همین کار را برای فهرست خالی آزمایش کن.
پرسشهای متداول
break چه کاری میکند؟
اجرای حلقه را همان لحظه متوقف میکند و برای پایان زودهنگام در یک شرط روشن مفید است.
continue چه کاربردی دارد؟
باقی دستورات دور فعلی را رد میکند و به تکرار بعدی میرود.
جمعبندی
حلقه باید پایان قابل پیشبینی داشته باشد. نوع حلقه را بر اساس مسئله انتخاب و روی داده خالی، یک عضو و چند عضو آزمایش کن.
از مفهوم تا استفاده واقعی
برنامهنویسی یعنی تبدیل یک مسئله مبهم به ورودی، چند تصمیم روشن و یک خروجی قابل بررسی. زبان مهم است، اما روش حل مسئله مهارتی است که میان همه زبانها مشترک میماند.
یک مثال از دنیای واقعی
یک فروشگاه محلی میخواهد سفارشهای بالاتر از ۵۰۰ هزار تومان را رایگان ارسال کند. مسئله واقعی را میتوان به دریافت مبلغ سفارش، بررسی شرط و نمایش هزینه ارسال تقسیم کرد.
function shippingCost(orderTotal) {
if (orderTotal >= 500000) return 0;
return 45000;
}
const total = 620000;
console.log(`هزینه ارسال: ${shippingCost(total)} تومان`);حالا نوبت توست
شرط دیگری اضافه کن تا سفارشهای کمتر از ۱۰۰ هزار تومان پذیرفته نشوند و یک پیام روشن نمایش داده شود.
- نمونه را یکبار اجرا یا بازنویسی کن.
- تغییر خواستهشده را بدون کپی کامل انجام بده.
- خروجی را با انتظار خودت مقایسه کن.
- در یک جمله توضیح بده چرا راهحل کار کرد.
اول مسئله و خروجی مورد انتظار را روشن کن؛ بعد ابزار را انتخاب کن.
نمونه کوچکِ کامل از پروژه بزرگِ نیمهتمام بیشتر به یادگیری کمک میکند.
کد را فقط نخوان؛ تغییرش بده، خطا بساز و دلیل نتیجه را توضیح بده.
این مسیر را ادامه بده
تمرین این صفحه را انجام بده، نتیجه را برای خودت توضیح بده و بعد سراغ درس مرتبط بعدی برو.
انتخاب مسیر بعدی ←