جلسه ۶ - حلقه‌ها - تکرار کارها در کد

ارزیابی پاسخ‌های بخش ۵:

بررسی پاسخ‌های بخش ۵:

**پاسخ ۱:

  • score = 75
  • score >= 80false
  • score >= 60true
  • خروجی: “قبول”

**پاسخ ۲:

**پاسخ ۳:

  • مشکل اصلی: فراموشی break
  • وقتی weather = "آفتابی" باشد، همه caseها از “آفتابی” به بعد اجرا می‌شوند
  • خروجی ناخواسته: “عینک آفتابی بزن”, “کاپشن بپوش”

راه حل صحیح:

let weather = "آفتابی";
switch (weather) {
    case "بارانی":
        console.log("چتر بردار");
        break;
    case "آفتابی":
        console.log("عینک آفتابی بزن");
        break;
    case "ابری":
        console.log("کاپشن بپوش");
        break;
}

خلاصه نکات مهم کنترل جریان:

  1. انتخاب بین if و switch:

    • از if برای شرایط پیچیده و دامنه‌ای استفاده کن
    • از switch برای مقایسه یک مقدار با مقادیر ثابت استفاده کن
  2. فراموش نکن:

    • break در switch
    • {} برای بلوک‌های کد چندخطی
    • ترتیب صحیح شرط‌ها در else if
  3. مقایسه‌ها:

    • همیشه از === و !== استفاده کن مگر اینکه دلیل خوبی برای استفاده از == داشته باشی

بخش ۶: حلقه‌ها - تکرار کارها در کد

۱. حلقه for

وقتی تعداد تکرارها مشخص است استفاده می‌شود.

سینتکس:

for (initialization; condition; increment/decrement) {
    // کدی که تکرار می‌شود
}

مثال:

// چاپ اعداد ۱ تا ۵
for (let i = 1; i <= 5; i++) {
    console.log(`تکرار شماره: ${i}`);
}

حلقه for روی آرایه:

const fruits = ["سیب", "موز", "پرتقال"];
for (let i = 0; i < fruits.length; i++) {
    console.log(fruits[i]);
}
// خروجی: "سیب", "موز", "پرتقال"

۲. حلقه while

وقتی تعداد تکرارها نامشخص است و شرط در ابتدا بررسی می‌شود.

سینتکس:

while (condition) {
    // کدی که تکرار می‌شود
}

مثال:

let count = 1;
while (count <= 3) {
    console.log(`شمارنده: ${count}`);
    count++;
}
// خروجی: "شمارنده: 1", "شمارنده: 2", "شمارنده: 3"

خروج از حلقه با break:

let sum = 0;
let number = 1;
while (true) {
    sum += number;
    if (sum > 10) break; // وقتی مجموع از ۱۰ بیشتر شد از حلقه خارج شو
    number++;
}
console.log(`مجموع: ${sum}`);

۳. حلقه do…while

مشابه while، اما حداقل یک بار اجرا می‌شود (شرط در انتها بررسی می‌شود).

سینتکس:

do {
    // کدی که حداقل یک بار اجرا می‌شود
} while (condition);

مثال:

let i = 0;
do {
    console.log(`مقدار i: ${i}`);
    i++;
} while (i < 3);
// خروجی: "مقدار i: 0", "مقدار i: 1", "مقدار i: 2"

مثال کاربردی برای دریافت ورودی کاربر:

let password;
do {
    password = prompt("رمز عبور را وارد کنید:");
} while (password !== "1234");
console.log("رمز عبور صحیح است!");

سؤالات تمرینی بخش ۶:

۱. خروجی کد زیر چیست؟

for (let i = 3; i > 0; i--) {
    console.log(i);
}
console.log("پایان!");

۲. حلقه‌ای بنویس که اعداد زوج بین ۱ تا ۱۰ را چاپ کند.

۳. مشکل کد زیر چیست؟

let number = 1;
while (number < 5) {
    console.log(number);
}

۴. تفاوت اصلی بین while و do...while چیست؟ یک مثال بزن.