اگر/ورنہ — فیصلے کرنا
سبق 320 منٹکمپیوٹر کو حالات دیکھ کر فیصلہ کرنا سکھائیں

اگر/ورنہ — فیصلے کرنا

زندگی میں فیصلے

روز ہم فیصلے کرتے ہیں:

"اگر بارش ہو، تو چھتری لو — ورنہ بغیر چھتری نکلو"

کمپیوٹر بھی ایسے فیصلے کر سکتا ہے۔


اگر

رکھو نمبر؛10 = 
اگر) نمبر} (5 < 
  لکھو")بڑا ہے؛("
{

اگر کے بعد شرط آتی ہے، پھر } { میں وہ کام جو شرط سچ ہونے پر ہو۔ اس لائن کا ہر حصہ:

  • اگر — دوسرا کلیدی لفظ۔ کمپیوٹر کو بتاتا ہے کہ آگے ایک شرط آ رہی ہے جسے چیک کرنا ہے۔
  • ) ( — قوسین کے اندر وہ شرط ہے جسے چیک کرنا ہے — یہاں "کیا نمبر 5 سے بڑا ہے؟"۔ شرط کا نتیجہ ہمیشہ سچ یا جھوٹ ہوتا ہے (نیچے دیکھیں)۔
  • } { — بڑے قوسین ایک بلاک (block) بناتے ہیں — ایک یا زیادہ لائنوں کا گروہ جو ساتھ چلتا ہے۔ سبق 1 سے یاد کریں: نقطہ میں ) ] } شروع کرتے ہیں، ( [ { ختم کرتے ہیں — اسی لیے بلاک } سے شروع اور { پر ختم ہوتا ہے۔ اندر جو بھی لکھا ہو، وہ صرف اسی وقت چلے گا جب شرط سچ ہو۔
چیک پوائنٹ

ایک متغیر عمر بنائیں جس کی قدر 20 ہو۔ اگر عمر، 18 سے بڑی ہو تو "بالغ" پرنٹ کریں۔

دائیں طرف اڈا میں کوڈ لکھ کر چلائیں


اگر / ورنہ

رکھو نمبر؛3 = 
اگر) نمبر} (5 < 
  لکھو")بڑا ہے؛("
 {ورنہ} 
  لکھو")چھوٹا ہے؛("
{

ورنہ (تیسرا کلیدی لفظ) کا اپنا الگ } { بلاک ہوتا ہے، جو صرف اسی وقت چلتا ہے جب اگر کی شرط جھوٹ نکلے۔ یعنی ہر بار دونوں میں سے صرف ایک بلاک چلتا ہے — کبھی دونوں نہیں، کبھی کوئی نہیں۔

پہلے پچھلا چیک پوائنٹ مکمل کریں


موازنے کی علامات — اور وہ الٹی کیوں ہیں

علامتمطلب
<بڑا ہے
>چھوٹا ہے
<=بڑا یا برابر
>=چھوٹا یا برابر
==بالکل برابر
!=برابر نہیں

یہ الٹا لگ رہا ہے — عام طور پر < کا مطلب "چھوٹا" ہوتا ہے، یہاں "بڑا" کیوں؟ سبق 1 میں پڑھے گئے قوسین کے اصول کو یاد کریں: نقطہ دائیں سے بائیں پڑھی جاتی ہے، اور جوڑے والی علامتیں اسی سمت میں مرتب کی گئی ہیں۔ موازنے کی علامتیں بھی اسی منطق کی پیروی کرتی ہیں — سورس کوڈ میں لکھا ہوا < دراصل "بڑا ہے" کا مطلب رکھتا ہے، تاکہ دائیں سے بائیں پڑھتے ہوئے یہ فطری محسوس ہو۔ یہی وجہ ہے کہ <= کو "بڑا یا برابر" اور >= کو "چھوٹا یا برابر" پڑھا جاتا ہے۔

عملی مشورہ: شروع میں یہ الٹ آپ کو الجھا سکتا ہے۔ ہر بار جب موازنہ لکھیں، اوپر والا جدول دیکھ کر یاد دلائیں: < = بڑا، > = چھوٹا۔ چند مشقوں کے بعد یہ خودبخود یاد ہو جائے گا — بالکل ویسے ہی جیسے قوسین کا الٹ سبق 1 کے بعد عادت بن گیا۔

== اور != الٹے نہیں ہیں — صرف < > <= >= (کم/زیادہ والی علامتیں) الٹی ہیں، کیونکہ برابری کا کوئی "رخ" نہیں ہوتا۔


ابھی آزمائیں

مثال
رکھو نمبر؛7 = 
اگر) نمبر} (5 =< 
  لکھو")پاس؛("
 {ورنہ} 
  لکھو")فیل؛("
{

نمبر بدل کر دیکھیں۔ (یاد رکھیں: <= یہاں "بڑا یا برابر" ہے، اس لیے 7 <= 5 سچ ہے اور "پاس" پرنٹ ہوگا۔)

پہلے پچھلا چیک پوائنٹ مکمل کریں


کئی شرطیں: ورنہ اگر (else-if زنجیر)

بعض دفعہ صرف دو راستے کافی نہیں ہوتے — دو سے زیادہ ممکنہ نتائج ہو سکتے ہیں۔ ورنہ اگر کو ایک زنجیر (chain) کی طرح جوڑ کر کئی شرطیں ترتیب سے چیک کی جا سکتی ہیں:

رکھو نمبر؛85 = 
اگر) نمبر} (90 =< 
  لکھو A")گریڈ؛("
 {ورنہ اگر) نمبر} (75 =< 
  لکھو B")گریڈ؛("
 {ورنہ اگر) نمبر} (60 =< 
  لکھو C")گریڈ؛("
 {ورنہ} 
  لکھو")فیل؛("
{

آؤٹ پٹ: Bگریڈ

کمپیوٹر اوپر سے نیچے، ایک ایک شرط چیک کرتا ہے، اور پہلی سچ نکلنے والی شرط کا بلاک چلا کر باقی سب چھوڑ دیتا ہے۔ یہاں نمبر90 =< (یعنی "کیا 85، 90 سے بڑا ہے؟") جھوٹ نکلا، اس لیے اگلی شرط نمبر75 =< (کیا 85، 75 سے بڑا ہے؟) چیک ہوئی — یہ سچ ہے، تو "B گریڈ" پرنٹ ہوا اور آخری ورنہ تک پہنچنے کی ضرورت ہی نہیں پڑی۔ ترتیب اہم ہے: اگر شرطیں الٹی ترتیب میں لکھیں (چھوٹی پہلے) تو غلط نتیجہ آ سکتا ہے۔

پہلے پچھلا چیک پوائنٹ مکمل کریں


سچ اور جھوٹ

اردو میں:

  • سچ = true
  • جھوٹ = false

یہ دونوں کلیدی الفاظ ہیں، اور یہ خود بھی قدریں ہیں — بالکل نمبر یا متن کی طرح، انہیں متغیر میں رکھا جا سکتا ہے۔ ہر شرط (اگر کے قوسین کے اندر) کا نتیجہ آخرکار انہی دو میں سے ایک ہوتا ہے۔

رکھو پاس = سچ؛
اگر) پاس == سچ} (
  لکھو")مبارک ہو؛("!
{

پہلے پچھلا چیک پوائنٹ مکمل کریں


مشق 1

ایک پروگرام لکھیں جو چیک کرے کہ کوئی نمبر مثبت ہے یا منفی۔


مشق 2

ایک پروگرام لکھیں جو بتائے کہ کوئی نمبر جفت (even) ہے یا طاق (odd)۔ اشارہ: جفت نمبر کا باقی (%) صفر ہوتا ہے


چیلنج (طالب علم کا کام)

نمبر 85 دیں اور پروگرام بتائے (اوپر کی ورنہ اگر زنجیر جیسا طریقہ استعمال کریں، لیکن مختلف حدود کے ساتھ):

  • 90 سے زیادہ: "A گریڈ"
  • 75 سے زیادہ: "B گریڈ"
  • 60 سے زیادہ: "C گریڈ"
  • ورنہ: "فیل"

آگے کیا؟

اگلے سبق میں: لوپس — ایک کام بار بار کرنا۔