Skip to content

10. If / Else — اگر / ورنہ

Difficulty: Beginner — مبتدی
Time: ~20 minutes


Basic If — سادہ اگر

Run a block of code only when a condition is true:

متغیر ن = 15;

اگر (ن > 10) {
    لکھو("دس سے بڑا");
}

Output: دس سے بڑا

Pattern:

اگر (شرط) {
    // code to run when condition is true
}

اردو: اگر کے بعد گول قوسین میں شرط لکھیں، پھر گھنگریالے قوسین {} میں کوڈ۔ شرط سچ ہو تبھی وہ کوڈ چلے گا۔


If / Else — اگر / ورنہ

متغیر ن = 15;

اگر (ن > 10) {
    لکھو("بڑا");
} ورنہ {
    لکھو("چھوٹا");
}

Output: بڑا

اردو: ورنہ کا کوڈ تب چلتا ہے جب اگر کی شرط جھوٹ ہو۔


Else If — ورنہ اگر

Check multiple conditions in sequence:

متغیر ن = 15;

اگر (ن < 5) {
    لکھو("پانچ سے کم");
} ورنہ_اگر (ن < 10) {
    لکھو("پانچ سے دس کے درمیان");
} ورنہ_اگر (ن < 20) {
    لکھو("دس سے بیس کے درمیان");
} ورنہ {
    لکھو("بیس یا زیادہ");
}

Output: دس سے بیس کے درمیان

The conditions are checked top to bottom. The first true one executes; the rest are skipped.

اردو: ورنہ_اگر سے ایک کے بعد ایک شرطیں جانچیں۔ پہلی سچ شرط چلے گی — باقی چھوڑ دیں گے۔ آخر میں ورنہ اختیاری ہے۔


Nested If — اندرونی اگر

متغیر عمر = 25;
متغیر شہری = سچ;

اگر (عمر >= 18) {
    اگر (شہری) {
        لکھو("ووٹ دے سکتے ہیں");
    } ورنہ {
        لکھو("عمر ٹھیک لیکن شہری نہیں");
    }
} ورنہ {
    لکھو("عمر کم ہے");
}

Output: ووٹ دے سکتے ہیں

اردو: اگر کے اندر مزید اگر لکھا جا سکتا ہے۔ ہر سطح انڈینٹ کریں تاکہ پڑھنا آسان ہو۔


Combining Conditions — شرطیں ملانا

Use اور and یا to write complex conditions in one اگر:

متغیر عمر = 25;
متغیر شہری = سچ;

// Better: combine with اور
اگر (عمر >= 18 اور شہری) {
    لکھو("ووٹ دے سکتے ہیں");
}

متغیر درجہ_حرارت = 38.5;
اگر (درجہ_حرارت > 37.5 یا درجہ_حرارت < 36) {
    لکھو("بخار یا ہائپوتھرمیا کا خطرہ");
}

اردو: پیچیدہ شرطیں اور/یا سے ملائیں۔ گھونسلے دار اگر کی بجائے اور/یا استعمال کرنا اکثر بہتر ہوتا ہے۔


Truthy and Falsy — سچ اور جھوٹ قدریں

In Urdu PL, these values are treated as جھوٹ in a condition:

  • 0 and 0.0
  • "" (empty string)
  • [] (empty list)
  • {} (empty object)
  • خالی (null)

Everything else is سچ.

متغیر نام = "";
اگر (نام) {
    لکھو(`نام: ${نام}`);
} ورنہ {
    لکھو("نام خالی ہے");    // this prints
}

متغیر فہرست = [1, 2, 3];
اگر (فہرست) {
    لکھو("فہرست میں کچھ ہے");    // this prints
}

اردو: خالی متن، صفر، خالی فہرست — یہ سب جھوٹ سمجھے جاتے ہیں۔ اگر (نام) سے آسانی سے جانچیں کہ متن خالی تو نہیں۔


Practical Example: Grade Checker — عملی مثال: نمبر جانچ

فنکشن درجہ(نمبر) {
    اگر (نمبر >= 90) {
        واپس "A — ممتاز";
    } ورنہ_اگر (نمبر >= 75) {
        واپس "B — بہت اچھا";
    } ورنہ_اگر (نمبر >= 60) {
        واپس "C — اچھا";
    } ورنہ_اگر (نمبر >= 50) {
        واپس "D — قابل قبول";
    } ورنہ {
        واپس "F — ناکام";
    }
}

لکھو(درجہ(95));    // A — ممتاز
لکھو(درجہ(72));    // C — اچھا
لکھو(درجہ(45));    // F — ناکام

Key Points — اہم نکات

  • اگر (شرط) { ... } — run code if condition is true
  • ورنہ { ... } — run code if condition is false
  • ورنہ_اگر (شرط) { ... } — check another condition; any number allowed
  • Conditions are checked top to bottom; first true one wins
  • Use اور, یا, نہیں to combine conditions
  • Falsy: 0, "", [], {}, خالی — everything else is truthy

اردو: اگر شرط سچ ہو تو چلتا ہے۔ ورنہ_اگر سے مزید شرطیں۔ ورنہ سب سے آخر میں۔ اور/یا سے شرطیں ملائیں۔


← Previous: Comparison Operators | Next: Switch / Case →