[Powered by Google Translate] [سیکشن 3] [کم آرام دہ اور پرسکون] [نیٹ Hardison] [ہارورڈ یونیورسٹی] [یہ CS50 ہے.] [CS50.TV] ٹھیک ہے، چلو، شروع ہو. CS50 4 ہفتے میں آپ کا استقبال ہے. اگر تم لوگ ایک ویب براؤزر کھولیں اور 3 pset کھولنے، CS50 کے ساتھ جدوجہد کرنا، ہم جا شروع کرنے جا رہے ہیں وہاں سوالات کے حصے کے ذریعہ. گزشتہ ہفتے کی طرح، ہم CS50 خالی جگہوں میں مل کر کام کریں گے، اگر آپ نے اس کو بھی ساتھ ساتھ ھیںچو کریں گے، اور اگر تم آگے بڑھو اور اس لنک ہے کہ میں سب سے اوپر ہے یہاں ملاحظہ کریں. یہ وقت ہے شروع کرنے کے لئے. ہم نے ہماری چھوٹی ہیلو یہاں پروگرام ہے. پاگل کچھ بھی نہیں. پہلی چیزیں جو میں آج لوگ آپ کے ساتھ کیا کرنا چاہتے ہیں ایک سے زیادہ چند حل ہے مسئلہ 1 سیٹ، مثال کے طور پر حل کی طرح صرف اس لئے آپ کو کوڈ عملے کی قسم کیا لکھ رہی ہے کے لئے ایک احساس حاصل کر سکتے ہیں، کوڈ دوسرے طالب علموں کی قسم لکھ رہے ہیں، اور آپ نے اس پر ایک نظر لے کیونکہ میں جانتا ہوں کہ یہ عجیب ہے جب آپ کو ایک مسئلہ سیٹ کے لئے ایک حل پیش اور تبصرے حاصل کریں آپ کے اپنے ورژن پر، لیکن کبھی کبھی یہ مددگار نظر ہے کہ کس طرح دوسرے لوگوں نے یہ کیا ہے، خاص طور پر وہ لوگ ہیں جو اچھی ہو رہے ہیں. زیادہ تر حصے کے لئے، میں واقعی میں حل ہے کہ تم لوگ پیدا کے ساتھ متاثر کیا گیا تھا. میں نے آپ کا مسئلہ کے تعین کی 2s دیکھ ابھی تک نہیں شروع کر دیا ہے، لیکن اگر وہ پہلے کی طرح کچھ بھی ہو، اس کا مطلب ہے کچھ نہیں لیکن اچھی چیزیں. اگر تم میری کیلیے دیکھو، 1 نظر ثانی میں تمام طرح نیچے شروع کریں اور ہم ماریو حل میں ایک فوری نظر لینے کے لئے جا رہے ہیں. اگر آپ اس کو روکنا، ان پروگراموں کہ ہم پیش کرنے جا رہے ہیں درست ہیں. ان مسائل کے ساتھ درست مسائل نہیں تھے، بلکہ، ہم مختلف ڈیزائن کے مسائل کے بارے میں تھوڑا بہت سے بات کرنا چاہتے ہیں گیا کہ یہاں استعمال کیا جا رہا ہے. حل کے بارے میں چیزیں دلچسپ تھا میں سے ایک یہ ہے کہ اس نئی بلایا پونڈ کی وضاحت کی تعمیر کا استعمال کیا ہے، کبھی بھی ہیش کی وضاحت کے طور پر کہا جاتا ہے. کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے اس پر میں یہاں زوم. # وضاحت آپ کو آپ کے پروگرام میں ان کی تعداد میں نام دینے کے لئے کی اجازت دیتا ہے. اس صورت میں ایک پرامڈ ماریو میں زیادہ سے زیادہ اونچائی 23 اور بجائے اپنے میں 23 ڈال کوڈ ہم مشکل 23 کوڈنگ کے طور پر اس سے رجوع کریں گے - بجائے اس اس نمبر پر نام MAX_HEIGHT دیتا ہے، تاکہ یہاں ذیل کیا جبکہ میری لوپ میں آپ MAX_HEIGHT اصل میں رجوع کر سکتے ہیں 23 نمبر کے بجائے ڈال اندر [Student کی] یہ ہے کہ ایسا کرنے کا فائدہ کیا ہے؟ یہ ایک بڑا سوال ہے. ایک پڑھنے کی اہلیت ہے. کا استعمال کرتے ہوئے اس # کی وضاحت کا ایک فائدہ پڑھنے کی اہلیت ہے. جب میں اس کوڈ کو پڑھ رہا ہوں، میں دیکھ رہا ہوں، کیا ہو رہا ہے کر سکتے ہیں. میں اس حالت میں یہاں دیکھ کر کہ ہم ٹیسٹ کر رہے ہیں کر سکتے ہیں اونچائی کے لئے <0، جو ہم بھی بیان کیا جا سکتا ہے کیا جا رہا ہے کم از کم اونچائی یا کم از کم اونچائی پر. دوسرا فائدہ یہ ہے کہ میں لائن کے باقی تو دیکھ کر پڑھ سکتے ہیں کہ ہم بھی اس بات کا یقین کر لیں کہ کہ اونچائی زیادہ سے زیادہ اونچائی سے زیادہ نہیں ہے بنانے کے لئے پڑتال کر رہے ہیں، کیونکہ ہم جبکہ اونچائی زیادہ سے زیادہ اونچائی سے زیادہ ہے کو جاری رکھنے کے لئے جا رہے ہیں. دوسرا فائدہ یہ ہے اگر میں نے تھوڑا سا زوم اگر میں اس پروگرام چلاتے ہیں اور میں نے اسے چلاتے ہیں، کا کہنا ہے کہ، 23 کے ساتھ ابھی یہ ایسے ہی تمام 23 قطار پرنٹ گا. کا کہنا ہے کہ لیکن میں زیادہ سے زیادہ اونچائی تبدیل کرنا چاہتے تھے، اور اب میں اہرام کی زیادہ سے زیادہ اونچائی تک محدود کرنا چاہتے ہیں صرف شخص کا کہنا ہے کہ، کہ funky تھا. # شامل ہیں، # MAX_HEIGHT وضاحت، اور دو کا کہنا ہے کہ ہم یہ 10 کے برابر مقرر کرنا چاہتے تھے. اب اس وقت، مجھے کرنا چاہیے تھا تھی اس ایک مقام پر اسے تبدیل کریں. میں کوڈ recompile اور اب اگر میں 12 میں اور قسم کی کوشش کرو کر سکتے ہیں، مجھے پھر سے فوری طور پر جائے گا. اس صورت میں، ہم صرف MAX_HEIGHT استعمال کر رہے ہیں ایک بار. یہ ایک پریشانی ہے کہ بڑی نہیں میں جانا ہے اور یہ دیر لوپ میں تبدیلی اگر آپ کو کرنے کی ضرورت ہے. لیکن پروگراموں جہاں آپ اسی جادو نمبر حوالہ رہے ہیں بار بار، اس # کے طریقہ کار کی وضاحت بہت آسان ہے کیونکہ آپ نے فائل ان کے عام طور پر جہاں آپ ڈال کے سب سے اوپر میں یہ ایک وقت تبدیل اور تبدیلی کی فائل کو باقی کے ذریعے percolates. دوسری چیزوں میں اس کام میں نوٹ کریں کہ میں نے سوچا تھا چاہتا تھا بہت اچھا لگ رہا تھا، ایک متغیر کے نام تھا. آپ یہاں دیکھتے ہیں کہ ہم عددی نام قطار اور نام نہاد اونچائی متغیر ملا ہے. خالی جگہیں، hashes، سے کوڈ تھوڑا زیادہ پڑھنے کے قابل بنانے کے میں مدد ملتی ہے، کرتا ہے یہ تھوڑا سا زیادہ فہم کیا واقعی پر جا رہا ہے. اس کا استعمال کرتے ہوئے کے برعکس ہے،، بے ترتیب خط کا کہنا ہے کہ یا صرف مکمل طور پر gobbledygook. loops کے لئے ایک حتمی بات ہے میں باہر کی طرف اشارہ کریں گے کہ، اکثر ان iterator متغیر، ان کاؤنٹر ہے کہ آپ loops کے لئے آپ کے تعلقات میں استعمال کرتے ہیں، یہ معیاری اور انہیں یا تو میں اور پھر J کے ساتھ شروع کرنے کے لئے روایتی اور پھر کشمیر ہے اور وہاں سے جا اگر آپ کو زیادہ متغیر کی ضرورت ہے، اور یہ صرف ایک کنونشن ہے. کنونشن کے بہت سے ہیں. یہ پروگرامنگ زبان کا استعمال کر رہے ہیں پر انحصار کرتا ہے. لیکن C میں، ہم عام طور پر میں اس کے ساتھ شروع کرو. استعمال کرنے کے لئے کوئی مطلب نہیں ہے، کہتے ہیں، یا ب صورتحال پر منحصر ہے. یہ ایک اس کے لئے ہے. اگر آپ اب تک 2 ترمیمی ھیںچو، آپ کو ایک دوسرے ماریو نظر آئے گا، اور یہ ایک دوسرے ایک یہ ہے کہ ہم نے ابھی دیکھا اسی طرح کی ہے، لیکن اس کول کی کچھ قسم ہے. اگر ہم اس سیکشن میں نظر آتے ہو یہیں لوپ کے لئے اندرونی اندر، وہ اس لائن میں کوئی پاگل نظر نحو کا استعمال کرتے ہوئے کر رہے ہیں یہاں. یہ ایک تہرا آپریٹر کے نام سے جانا جاتا ہے. ورنہ اگر ایک ہی لائن میں گاڑھا بیان ہے. حالت قوسین کے اندر اندر یہ حصہ ہے. یہ کہہ رہے ہیں برابر ہے J اونچائی <اگر - میں - 1. اور پھر کیا بلاک اگر ہو گا کہ اس کے مندرجات کو خلائی ہیں اور تو اور کیا ہو گا اس # ہیں. یہ بنیادی طور پر اس متغیر ایک خلا ہے بتائے. یہ بلاک متغیر کے مندرجات میں ایک جگہ ڈال رہا ہے، اگر یہ شرط پوری کی جاتی ہے، اور اگر حالت نہیں پورا کیا جاتا ہے، پھر بلاک متغیر اس # ہو جاتا ہے. اور پھر، کورس کی، اس کی بجائے ایک مکمل سٹرنگ کی تعمیر اور آخر میں سب کچھ چھپائی باہر اس کا حل پرنٹ ایک وقت میں ایک کردار. بہت ڈاؤن لوڈ، اتارنا. کی طرف دیکھنے کی چیزوں کے ایک جوڑے کی ہے. ہم لالچی پر منتقل کریں گے. اب اگر ہم لالچی میں نظر آتے ہیں، یہ پہلا حل ان کا استعمال کرتا ہے # بہت تھوڑا سا وضاحت کرتا ہے. ہم ایک مسلسل اس پروگرام میں مختلف تعداد میں سے ہر ایک کے لئے کی وضاحت ہے. ہم فی ڈالر تک سینٹ کے لئے ایک، کوارٹرز، آف ڈائمز، nickels، اور پیسے کے لئے ایک ہے، اور اب اگر ہم ذیل میں سکرال اور ضابطہ اخلاق پڑھیں، ہم جبکہ کرتے معیاری لوپ پرنٹنگ سب کچھ دیکھ سکتا ہے. اس مسئلے کی جڑ کی ہے احساس تھا کہ تم فلوٹ ایک عددی تبدیل ہے کہ آپ صارف سے پڑھا کی ضرورت ہے درست ریاضی کرتے ہیں، اور اس وجہ سے ہے چل نقاط تعداد کے ساتھ، جیسا کہ ہم درس میں کے بارے میں مختصر طور پر بات کی یہ ممکن نہیں ہے درست نمبر لائن پر ہر ایک کی قیمت کی نمائندگی کیونکہ وہاں 3 کے درمیان اور، کا کہنا ہے کہ، بھی 3.1 infinitely کئی اقدار ہیں. آپ کو 3،01 اور 3،001 اور 3،0001 ہے، اور آپ سے بھی رکھ سکتے ہیں کر سکتے ہیں. یہ پتہ چلتا ہے جب بھی آپ کو پیسوں کے ساتھ کام کر رہے ہیں، آپ اکثر اس کو تبدیل کرنا چاہتے ہیں عددی شکل میں تاکہ آپ کو پیسے اور اس طرح کی چیزیں کھونے نہیں کر رہے ہیں. کہ وہ پکڑ دھکڑ کر رہی اہم تھا. اس حل کا ایک بالکل براہ راست، بڑی الگورتھم کا استعمال کیا ہے، جو پہلی حلقوں کی طرف سے باقی سینٹ کی تعداد decremented، پھر آف ڈائمز کی طرف سے، تو nickels کی طرف سے، تو پیسے کی طرف سے، اور سکے ہر بار کی تعداد میں اضافہ. ایک اور حل ہے کہ ہم دیکھتے ہیں، جیسا کہ میں باہر زوم اور 4 نظر ثانی کریں گے، ایک بہت ہی آغاز لیکن بجائے استعمال کیا جاتا div اور جدید تھا یہاں سینٹ کی تعداد کا حساب. یہ حلقوں کی تعداد 25 سے تقسیم سینٹ کی تعداد کے برابر ہے، اور وجہ سے یہ کام ہے کیونکہ ہم عددی تقسیم کر رہے ہیں، تو اسے مسترد کرنا کسی بھی باقی ہے. [Student کی] ہم تلاش تبصرہ کرنے کی ضرورت ہے؟ یہ واقعی انحصار کرتا ہے. [Student کی] آپ کوڈ سے زیادہ تبصرہ یہیں رہے ہیں. جی ہاں، اور اسی طرح اس فلسفے مختلف کا ایک گروپ ہیں. میری ذاتی فلسفہ یہ ہے کہ اپنے کوڈ کو واقعی سچ تو یہ ہے، اپنے کوڈ کی طرح ہے جو اصل میں کمپیوٹر پر قتل ہے، اور اسی طرح آپ کے کوڈ کے طور پر ہر ممکن حد تک پڑھنے کے قابل کئی تبصرے کے طور پر نہیں واجب ہونا چاہئے. اس نے کہا کہ جب آپ کو مشکل کی چیزیں کر رہے ہیں اس طرح کی ہیں mathematically یا algorithmically، یہ اچھی بات ہے کہ ان تا کہ آپ کر سکتے ہیں تبصرہ جس نے اپنے کوڈ کو پڑھ کر رہا ہے ایک اضافی طول و عرض ہے، ایک اضافی پرت کا اضافہ. ان کے حل میں اکثر وہ زیادہ بھاری صرف اس وجہ سے تبصرہ کر رہے ہیں ہم انہیں تقسیم کرنے کے قابل ہو جائے چاہتے ہیں اور لوگ انہیں اٹھا اور انہیں بہت آسانی پڑھیں. لیکن یقینی طور پر میں اتفاق کرتا ہوں، کہ یہ بھاری ہے. [Student کی] لیکن جب شک میں، بھاری جاتے ہو؟ شک میں جب بھاری جانا. کچھ لوگوں کو اس طرح واپسی 0 یا کچھ اور کبھی کبھی کہیں گے. مجھے لگتا ہے کہ یہ ایک مضحکہ خیز تبصرہ ہے. ظاہر ہے کہ کیا ہو رہا ہے. میں انگریزی مجھے یہ بتانے کی ضرورت نہیں ہے. کبھی کبھی لوگوں کی طرح چیزیں لکھیں گے "kthxbai!" یہ پیارا کی قسم بھی ہے لیکن نہیں تبصرہ پوائنٹس یا نہیں کے درمیان فرق نہیں کر رہا ہے. وہ قسم کے تبصرے کی، ہا، ہا ہیں. ڈاؤن لوڈ، اتارنا. اس وقت،، سوالات کے 3 حصے سیٹ کریں کے مسائل پر کام شروع کریں. اگر تم لوگ یہ دوبارہ ھیںچو، گزشتہ ہفتے کے ساتھ کے طور پر، ہم نے اس سیکشن میں شارٹس نہیں دیکھ رہے ہیں. ہم لوگ آپ کو اپنے اپنے وقت پر کرتے ہیں اور سوالات کے بارے میں بات کریں گے. لیکن اب ہم اس کے حصے میں تھوڑا اور وقت خرچ کرنے کے لئے جا رہے ہیں کوڈنگ مبادیات کے کم کے بارے میں بات کر گزشتہ ہفتے کی طرح ہم نے کیا، اور اس کی بجائے، ہم پر زیادہ توجہ مرکوز کرنے جا رہے ہیں کی تھیوری اور اس کے تھوڑا سا زیادہ بائنری تلاش کے بارے میں تو بات کر اور چھانٹ رہا ہے. ، تم میں سے ان لوگوں کو جنہوں نے لیکچر کے ساتھ ساتھ مندرجہ ذیل کی طرف سے آپ کے وزٹرز کا ریکارڈ رکھا کسی کو کیا فرق ہے recap دے سکتے ہیں بائنری تلاش اور لکیری تلاش کے درمیان؟ یہ کیا ہو رہا ہے؟ اس بات کا یقین. لکیری کے مطابق فہرست میں ہر عنصر کے ذریعے تلاش تلاش ایک کے بعد ایک کی طرف سے ایک کی طرف سے ایک کی طرف سے ایک، اور بائنری تلاش 2 گروپوں میں فہرست تقسیم، چابیاں قیمت اگر چیک ہے کہ آپ کے لئے تلاش کر رہے ہیں یا اس سے زیادہ midpoint کی قیمت سے کم ہے کہ تم صرف مل گیا ہے، اور اگر اس سے کم ہے، یہ کم فہرست کے ساتھ جاتا ہے اسی تقریب میں اور اس کے بعد پھر سے تقسیم کرتا ہے تمام طریقہ ہے جب تک کہ وہ midpoint پائے قدر خود کے برابر ہے. ٹھیک ہے. ہم پرواہ کیوں کرتے ہو؟ کیوں ہم لکیری تلاش بمقابلہ بائنری تلاش کے بارے میں بات کرتے ہیں؟ جی ہاں. بائنری تیز بہت ہے، اگر ایسا ہے تو آپ کو اس مسئلے کے سائز دوگنا یہ ایک کی بجائے دو مرتبہ کے طور پر بہت سے زیادہ قدم. بالکل. یہ ایک عظیم جواب ہے. لکیری تلاش بہت ایک وقت میں ایک عنصر ہے کی جانچ پڑتال، اور جیسا کہ ہم نے لیکچر کے پہلے ہی دن دیکھا جب داؤد نے اس کا فون بک مثال کے طور پر کے ذریعے گئے تھے اور ایک وقت میں فٹ فون بک کے ایک صفحے اور سے اور اس سے زیادہ سے زیادہ دوبارہ کر رہا، ہے کہ اس فون کی کتاب میں کسی کو تلاش کرنے کے لئے ایک بہت طویل وقت لے جا رہا ہے، جب تک کہ، ظاہر ہے، انہوں نے حروف تہجی کے شروع میں کسی کے لئے لگ رہا تھا. بائنری تلاش کے ساتھ، آپ کو تیزی سے ایک بہت جا سکتے ہیں، اور یہ صرف دو مرتبہ روزہ یا روزہ یا 4 بار روزہ کے طور پر کے طور پر 3 بار کے طور پر نہیں ہے. لیکن مسئلہ چھوٹے اور چھوٹے اور بہت چھوٹے تیز ہو جاتا ہے. اس کی نمائندگی کرتی کرنے کے لئے، ہم نے کیا جا رہا ہے اس کے بارے میں میں بات کر شروع کر دیں گے جب ہم بائنری تلاش لکھتے ہیں. ہاتھ میں مسئلہ یہ ہے کہ اگر میں اعداد کی ایک صف ہے، ، 1، 2، 3، 5، 7، 23، 45، 78، 12323 کا کہنا ہے کہ، اور پھر اس کے بعد 9 0s کی ایک ٹن کے ساتھ، ہم واقعی تیزی سے اعداد و شمار میں کیا ہے کے قابل ہو جائے چاہتے ہیں تعداد کے اس صف. میں جانتا ہوں کہ یہ ایک چھوٹی سی حماقت ہے اور تھوڑا contrived لگتا ہے، کیونکہ اب یہ ہے. ہم ایک صف ہے کہ اس میں بہت بہت سے عناصر پر نہیں ہے، اور اگر میں تم میں سے کسی ایک سے دعا گو ہیں معلوم کرنا چاہے یا نہیں 23 صف میں ہے، کہ تم بہت تیزی سے کر سکتے ہیں صرف اس کو glancing اور مجھ سے کہہ رہے ہاں یا نہیں کی طرف سے. پر غور مطابق تصور اگر یہ تھے، کا کہنا ہے کہ ہے، 10،000 قطار، 20،000 قطار کے ساتھ ایک ایکسل سپریڈ شیٹ. بالکل، آپ کو کمانڈ F یا کنٹرول F کرتے ہیں اور کچھ دیکھ کر سکتے ہیں. آپ فلٹرز اور تلاش کے سامان کو بھی استعمال کر سکتے ہیں، لیکن اگر آپ لائن کی طرف سے لائن کی طرف سے اس فائل میں لائن کے ذریعے دیکھنے تھا، یہ آپ کو ایک طویل وقت لے اس کو تلاش کرنے کے لئے کریں گے. ایسا فون بک مثال کے طور پر میں اس قسم کی ہے، بھی، جہاں کوئی بھی ایک وقت میں ایک فون بک کے ایک صفحے کے ذریعے لگتا ہے. عام طور پر، وہ اس درمیان میں کھولتے ہیں، یا فون کتابیں اور لغات جہاں کی ایک بہت کی صورت میں آپ نے واقعی میں اس کے پہلے حرف پر keyed ہے، آپ کو اس کا پہلا خط پلٹائیں اور کھولنے اور وہاں سے گزر رہا کرنا شروع کریں. اپنے نام کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے متعلق دوبارہ یاد دہانی کرائیں >> سیم. سیم. کی طرح سام نے کہا، کہ لکیری تلاش کے عمل بہت سست ہو جا رہا ہے، اور اس کے بجائے بائنری تلاش کے ساتھ، جس طرح یہ کام ہے کہ ہر وقت ہے کہ ہم ہماری تلاش الگورتھم کے iteration کے ذریعے، ہم نصف میں فہرست پر تقسیم کرنے کے لئے، بنیادی طور پر جا رہے ہیں، دو چھوٹے کی فہرست میں ہے. اور پھر، ہم لوپ کے اگلے iteration پر اسے دوبارہ تقسیم کریں گے دوسرے چھوٹے کی فہرست میں ہے. جیسا کہ آپ دیکھ سکتے ہیں، مسئلہ چھوٹے ہو رہتی ہے چھوٹے کیونکہ ہم نے ہر ایک وقت کی فہرست کے مسترد نصف رکھو. یہ کس طرح ضائع کر دیا جائے کام کرتا ہے؟ ایک یاد دہانی کے طور پر، جو ہم کرنے جا رہا ہو اگر ہم نے ایک کمپیوٹر تھے اور ہم، اس فہرست میں 5 نمبر کے لئے تلاش کر رہے ہیں کا کہنا ہے کہ یہ ہے کہ ہمارے درمیان میں ایک بڑی تعداد لینے کے. اس فہرست کے وسط میں، کیونکہ وہاں 1، 2، 3، 4، 5، 6، 7، 8، 9، 10 نمبرز ہیں، ہم یا تو 4th پوزیشن یا 5th پوزیشن میں نمبر لینے کے لئے چاہتے ہیں، اور ہم کہ ہماری فہرست کے درمیان میں فون کروں گا. وسط میں تعداد کو منتخب کریں. اس کے بعد، جس طرح سام نے کہا کہ، ہم دیکھنا ٹیسٹ اگر وہ تعداد کے برابر ہے. نمبر ہے کہ ہم حاصل کرنا چاہتے ہیں یا ہمارے مطلوبہ تعداد. اگر یہ برابر ہے، پھر ہم نے اسے تلاش کر لیا ہے. ہم جیت گئے. اور اگر اس کے برابر نہیں ہے، تو پھر مقدمات کی ایک جوڑے کی ہیں. دو مقدمات ہیں یا تو تعداد نمبر پر ہم دیکھ رہے ہیں سے زیادہ ہونا ضروری ہے، یا اس سے بھی کم ہے. اگر یہ زیادہ ہے، ہم کو درست کرنے میں منتقل کریں. اور اگر اس سے کم ہے، ہم بائیں طرف منتقل. اور پھر ہم نے مکمل عمل کو دوبارہ یا تو صحیح نصف یا فہرست کے بائیں نصف. آج کے حصے میں سب سے پہلے مسئلہ معلوم کرنا ہے ہم C کوڈ میں اس کا اظہار کس طرح اصل میں شروع کر سکتے ہیں. ہم pseudocode یہاں ہے. ہم کیا کر رہے شروع کریں گے میں نے ایک بالکل نئی جگہ ھیںچو گے، تا کہ ہم کے لئے ان نوٹوں کو بعد میں اس ترمیم کو بچانے کے، یہ ہم سب کو خارج کر دیں، اور پھر مسئلہ سیٹ سے کاپی اور پیسٹ کریں گے ہمارے خالی جگہوں میں یہ معلومات، اور امید ہے کہ یہ نہیں ٹوٹتا. ٹھیک ہے. اگر تم لوگ یہ سب، اور پیسٹ اپنے نئے خلا میں اس کوڈ کو کاپی کریں، ایک خالی میں. چلو، ڈینیل کی کوشش. اگر آپ اور چلانے کے اس پروگرام مرتب، یہ کام کرتا ہے؟ نمبر >> کیا یہ کہہ رہا ہے؟ کا کہنا ہے کہ کنٹرول تقریب غیر صفر کے آخر تک پہنچ جاتا ہے. جی ہاں، تو مجھے کوشش چل رہا ہے. کیا تم لوگ اس سے پہلے دیکھا ہے؟ کیا آپ کو معلوم ہے کہ کیا اس کا مطلب یہ ہے کہ؟ ٹھیک ہے، چلو یہ ایک تھوڑا سا ویچرچھیدن کرنا. file.c میں 9 لائن پر کہہ رہا ہے، 1 کالم ہم نے ایک غلطی ہے، جیسا کہ تم نے کہا کہ، اور اس کا کہنا ہے کہ ہے کہ یہ غلطی کی انتباہ ہے اور واپسی کی قسم انتباہ کے نتیجے میں پڑنے والے ہیں. ایسا لگتا ہے جیسے کچھ واپسی کی قسم، جو سمجھ میں آتا ہے کے ساتھ کیا جا رہا ہے. جو ہم نے ایک تقریب غیر صفر ہے، کا مطلب ہے کہ ہم نے ایک تقریب ہے کہ باطل کو واپس نہیں کرتا. ایک صفر کی تقریب میں ایک یہ ہے کہ اس طرح لگ رہا ہے: باطل FOO ()، اور یہ باطل ہے کیونکہ واپسی کی قسم کی باطل ہے، جس کا مطلب ہے کہ اگر ہم یہاں کچھ تھا 1 واپسی کی طرح، ہم اس کے لئے ایک سنکلک غلطی ملے گا. تاہم، ہم نے ایک تقریب غیر صفر ہے. اس معاملے میں ہماری تقریب غیر صفر ہماری سرچ فنکشن ہے کیونکہ یہ bool کی واپسی کی قسم ہے. جب یہ کہہ رہے ہو کہ کنٹرول غیر صفر ایک تقریب کے آخر تک پہنچ جاتا ہے ہے اس کا ہے کیونکہ تلاش واپسی بیان نہیں ہے. قسم bool کے کچھ واپس آنے نہیں ہے. ہم اس کو ٹھیک، اور تم لوگ کیا سوچتے ہیں کر سکتے ہیں تلاش ڈیفالٹ کی طرف سے واپس آ جانا چاہئے؟ تلاش کے پہلے سے طے شدہ کی واپسی کی قیمت کیا ہونا چاہئے؟ کیونکہ وہ جو ہم آخر میں ڈال کر سکتے ہیں. شارلٹ آپ ہے، کوئی ہے؟ صحیح یا غلط >> صحیح یا غلط؟ کون سا؟ جھوٹی. مجھے پتہ نہیں ہے. جھوٹی؟ چلو اس کی کوشش کریں. تمہیں بدلے جھوٹے کیوں کہیں گے؟ یہ تو بہت اچھا انترجشتھان ہے. [شارلٹ] مجھے پتہ نہیں ہے. ہم نے اس کیس میں جھوٹی واپس کیونکہ یہ ہمارا پہلے سے طے شدہ ہو گا رہے ہیں اگر کسی وجہ کے لئے کی فہرست خالی ہے یا انجکشن ہے کہ ہم موجود نہیں ہے کے لئے تلاش کر رہے ہیں. پھر آخر میں، اگر ہم اس جشن میں پہلے صحیح واپس نہیں کرتے، ہم ہمیشہ جانتے ہیں کہ اس تقریب کا کہنا ہے کہ نہیں، یہ صف میں نہیں ہے. یہ ٹیبل میں نہیں ہے. اب اگر ہم اور چلانے مرتب وہ اسے آپ کے وزٹرز کا ریکارڈ رکھا تاکہ ہم اسے ھیںچ سکتے ہیں کو بچانے کے. اب اگر ہم اور ہمارے پروگرام چلائیں مرتب، یہ بناتا ہے. ہم اپنے چھوٹے سے فوری طور پر ملتا ہے. اگر میں مارا 4 اہ اوہ. یہ پرنٹ کچھ نہیں بتایا. ایسا لگتا ہے جیسے سب کچھ ٹھیک ختم ہوا. ہم اندر پر کرنے کی ہے ہم pseudocode میں الگورتھم کے بارے میں تھوڑا سا پہلے بات کی ہے. مجھے دیکھنے دو، اس کو بچانے کے، اور میں اس الگورتھم واپس ھیںچو پھر سے کریں گے. چلو اس آدمی کو مارا. نہیں. وہاں ہے. ہم اس کو کس طرح کرتے ہیں؟ اس کوڈ کو شروع کرنے کے لئے ایک اچھی حکمت عملی کیا ہو گی؟ آپ درمیان میں ایک بڑی تعداد کو منتخب کرنے کی ہے. ہم ایک صف کے وسط میں کس طرح ایک نمبر اٹھایا؟ کوئی تجاویز؟ Strlen [Student کی] 2 سے تقسیم. Strlen 2 سے تقسیم. وہ ایک عظیم ہے. arrays کی خصوصی قسم کے Strlen کام کرتا ہے. arrays کس قسم کے؟ جملہ arrays، کردار arrays. یہ تصور ہے کہ ایک ہی طرح کی ہے کہ ہم پر لاگو کرنا چاہتے ہیں، لیکن ہم strlen استعمال نہ کریں کیونکہ ہم حروف کی ایک سرنی نہیں ہے کر سکتے ہیں. ہم ints کی ایک صف ہے. لیکن کیا strlen ہمارے لئے حاصل کرتا ہے؟ کیا آپ کو معلوم ہے کہ کیا یہ ہمارے لئے ہو جاتا ہے؟ Strlen [Student کی] ہم طوالت ہو جاتا ہے. بالکل، یہ ہمیں لمبائی ہو جاتا ہے. Strlen ہمارے لئے صف کی لمبائی ہو جاتا ہے. ہمارے بائنری تلاش کے پروگرام میں ہم کس طرح ہے کہ ہے؟ آپ کو ایک صف کی لمبائی کو کس طرح ملے گا؟ [Student کی] Strlen؟ آپ کو strlen کے ساتھ ایک مناسب طریقے سے فارمیٹ C سٹرنگ صف کی لمبائی کو حاصل کر سکتے ہیں. مسئلہ یہ ہے کہ ہم ایک تار صف نہیں ہے. اگر ہم اس کوڈ میں واپس دیکھو، ہم اس عددی صف ہے. ہمیں کیسے پتہ چلے کہ یہ کس طرح دیر ہے؟ [Student کی] کا نقطہ اختتام کے لئے ایک int L یا کچھ اور طرح کے برابر ہے،؟ یہ بدل جاتا ہے وہاں اصل میں نہیں ہے، اور ایک طرح سے، یہ ہے ان چیزوں کو کہ صرف سی کے بارے میں جاننا ہے میں سے ایک، کہ کوئی ایک صف کی لمبائی کو حاصل کرنے کا ایک طریقہ ہے اگر میں تمہیں دے صف ہے. وجہ یہ ڈور کے ساتھ کام کرتا ہے، وجہ strlen کام، ہے اگر ایک تار مناسب طریقے سے فارمیٹ ہے، کیونکہ یہ ہے کہ آخر میں خصوصی \ 0 کردار ہو گا. اگر آپ کو ایک غلط طریقے سے فارمیٹ سٹرنگ بھی تصور کر سکتے ہیں اور وہاں کوئی \ 0 کردار ہے، تو پوری بات نہیں کام کرتا ہے. [Student کی] آپ \ 0 شامل کر سکتا ہوں؟ ہم اس معاملے میں کر سکتا تھا. ہم \ 0 کسی قسم کا اضافہ کر سکتے یا کردار signifying اور پھر کسی قسم کا استعمال کریں. لیکن یہ کام بہت نہیں جا کیونکہ \ 0 حروف کی قسم کے لیے ہے، اور یہاں ہم ints ہے. دوسری بات یہ ہے اگر ہم ایک خاص قدر کو استعمال کرنے کے لئے -1 کی طرح ایک صف کے اختتام کے موقع پر تو ہم ہمارے عددی arrays میں -1 ذخیرہ کبھی نہیں کر سکتے ہیں. ہم پھنس جائے گی. یہ پتہ چلا ہے کہ لمبائی حاصل کرنے کا واحد طریقہ C میں ایک صف کے اصل میں یہ یاد ہے تم نے جب قائم کی اور پھر اس سرنی کے ساتھ کے ارد گرد گزر تاکہ میں ایک تقریب ہے کہ کچھ کام کرنے جا رہا ہے جب بھی ہے integers یا floats کی ایک صف پر یا ڈبلز یا کیا، تم نے میں نے بھی اس تقریب کی صف کی لمبائی دینے کی ضرورت ہے، اور یہ کہ سرچ فنکشن میں بالکل وہی جو ہم یہاں کیا ہے. اگر آپ کو دیکھو، ہم نے کیا کیا جب ہم اپنے صف میں یہاں سے گزر ہو، ہم بھی طوالت سائز میں گزرے. یہ صرف ہوتا ہے کہ ہم اس متغیر یہاں بلایا ہے، اس پیرامیٹر یا دلیل. یہ ایک تقریب کی دلیل فہرست یا پیرامیٹر فہرست کو کہا جاتا ہے، اور یہ بھی دلائل یا پیرامیٹرز کو کہا جاتا ہے. لوگ مختلف اوقات میں مختلف اصطلاحات استعمال کرتے ہیں. میں نے کی بنا پر ان میں سے بعض کو اپنے آپ کو ادل بدل. یہ صرف اس لئے ہوتا ہے کہ یہ متغیر اسی طرح نام پر رکھا گیا ہے اس # یہاں کی وضاحت کریں. لیکن وہ ایک ہی بات نہیں ہو. بڑے حروف تہجی کی بات کرتا ہے. اگر آپ کو کیا ہوتا ہے میں یہاں دیکھو، ہم اعلان ہمارے int صف، جو ہم تعداد بلایا ہے. ہم نے اس کو ہمارے فونز، جو ہمارے سب سے اوپر پر # وضاحت کے مساوی ہے. 8 ہونے جا رہا ہے. اور پھر ہم پھر جب ہماری سرچ فنکشن ذیل فون، ہم تعداد میں گزرتے ہیں ہمیں تلاش کرنے کے لئے کرنا چاہتے ہیں، جو ہم نے حوصلہ افزائی کی ہے، صارف سے ملا ہے. ہم صف میں گزرتے ہیں، اس کی تعداد، اور پھر ہم بھی صف کے سائز میں منتقل کرنے کی ہے، اور پھر 8 سائز کے قدر محفوظ ہو جاتا ہے یا اس عددی متغیر کہا جاتا سائز منظور. ہم صف کا سائز ہے. اب اگر ہم جو ہم پہلے کے بارے میں بات کر رہے تھے واپس جاؤ، مجھے لگتا ہے کہ Missy نقطہ کو لایا کہ جو ہمیں کرنے کی ضرورت ہے، صف کی لمبائی حاصل ہے اور 2 کی طرف سے تقسیم کریں، اور یہ کہ ہمیں midpoint دے گا. چلو دیکھتے ہیں. میں کسی کو لکھ کر سکتے ہیں اور ان کی جگہ میں اس کو بچانے کر سکتے ہیں؟ کس طرح لیلی کے بارے میں کیا؟ میں آپ کو اس میں لکھ سکتے ہیں؟ پہلی سطر لکھیں جہاں آپ کو صف کی لمبائی لے اور midpoint حاصل اور یہ ایک نیا متغیر میں سٹور. میں آپ کو ایک دو اور کو دے دونگا. کیا آپ تیار ہیں؟ [Student کی اشراوی] یقین ہے کہ میں، آپ کر سکتے ہیں midpoint حساب سرچ فنکشن کے اندر ٹیبل صف کے ٹیبل صف کی لمبائی کا استعمال کرتے ہوئے، جو سائز متغیر ہے؟ مشکل یہاں کچھ بھی نہیں ہے. [لیلی] صرف سائز / 2 اور صرف اور اسے بچانے کے لئے، اور محفوظ کریں بٹن پر سب سے اوپر مارا یہاں، اور ہم نے اسے ھیںچ گے. ٹھیک ہے. ہم وہاں جا رہے ہیں. بہت اچھے. کے طور پر ہے یہ تالیف، گا؟ [لیلی] نہیں، یہ زیادہ کی ضرورت ہے. [نیٹ] جی ہاں، تو کیا ہم کیا کرنے کی ضرورت ہے؟ [لیلی] int midpoint یا کچھ اور طرح. بہت اچھے. جی ہاں، کہ int midpoint سائز =. یہ مرتب کریں گے؟ چلو، یہ تبصرہ حذف کریں اور اس کے راستے سے ہٹ جاؤ. کیا اس کے بارے میں مرتب نہیں کرے گا؟ ہم عددی کے ساتھ کچھ نہیں کر رہے ہیں، تو ہم یہ پرنٹ کرنے کے لئے یا ایسا کچھ کرنے کی ضرورت ہے. جی ہاں، بالکل. ہم ایک غیر استعمال شدہ متغیر حاصل کریں گے. اور کیا اس کے بارے میں کام کرنے کے لئے نہیں ہے؟ مجھے لگتا ہے کہ تم سے کچھ، سیم نے کہا کہ. Semicolons. جی ہاں، میں ان semicolons کمی محسوس کر رہا ہوں. اس مدت کے دوران کے دوران مسلسل کام ہو رہا ہے. آخری چیز ہے جو میں کروں گا، میں دونوں میں سے کسی بھی طرف کچھ سفید جگہ کو کریں گے یہاں اس آپریٹر کی کہ عام طور پر ہم اسے کس طرح کرتے ہیں کے بعد ہمارے طرز رہنمائی کے مطابق. ہم نے ہمارے صف کی midpoint ہے. اب اگر ہم اپنے الگورتھم واپس یاد ہے، دوسرا مرحلہ یہ ہے کہ ہم ایک بار ہم midpoint کرنا پڑا تھا؟ [Student کی] اگر یہ زیادہ ہے [اشراوی. جی ہاں، تو ہم اس کے مقابلے میں کسی قسم کو کرنا ہے، اور جو ہم یہاں موازنہ کر رہے ہیں؟ تم نے کہا تھا کہ اگر اس سے بڑا ہے. کا حوالہ دیتے ہوئے جملے میں کیا ہے؟ نمبر آتا ہے، اگر اس میں اس کا midpoint سے بڑا ہے، تو صف جانا؟ بالکل، تو نمبر آتا ہے جب ہم سوئی، تو ہم سوئی سے موازنہ کر رہے ہیں، اور جو کچھ ہم نے انجکشن کے خلاف موازنہ کر رہے ہیں؟ کیونکہ سوئ ہے جو ہم دیکھ رہے ہیں. ہم اس کا موازنہ midpoint پر حاصل کرنے کے لئے کر رہے ہیں. لیکن اس احساس کو دیکھنے کے لئے چیک کرنے کے لیے پڑتا ہے اگر سوئ = midpoint؟ کیا اس کا کوئی مطلب ہے؟ کسی کو کیا اختلاف ہے؟ اسے آزمائیں دے، اگر (سوئ == midpoint). [Student کی] printf آپ اسے کیا مل گیا ہے. [نیٹ] Printf ("ہم اسے مل گیا ہے \ n")؛ ورنہ ہوں کچھ مختلف یہاں کیا کر رہے ہو شروع کرنے جا رہے ہیں. میں بیانات اگر ارد گرد ہر وقت منحنی خطوط وحدانی ڈال شروع کرنے جا رہا ہوں صرف اس لئے کہ اگر ہمیں مزید سامان، تو شامل ہم compilers حاصل نہیں ہے. جی ہاں، سیم. آپ کو ایک پوائنٹ مل گیا ہے. مسئلہ یہ ہے کہ midpoint صف میں ایک مقام کی نمائندگی کرتا ہے، لیکن آپ کو یہ صف کی اس پوزیشن میں قدر کی نمائندگی حاصل کرنے کے لئے کر سکتے ہیں. یہ ایک بہت بڑی بات ہے. سب نے سنا کیا سیم نے کہا کہ؟ انہوں نے کہا کہ midpoint کے طور پر ہے صرف صف میں ایک پوزیشن کی نمائندگی کرتا ہے، لیکن اس صف میں اصل عنصر نہیں ہے. اگر آپ کوڈ کے طور پر لکھا کے بارے میں لگتا ہے اب، اگر ہم اس صف میں نظر آتے ہیں یہاں پر ہے، جو اس میں 8 عناصر ہے، midpoint اس تقریب میں جانے کی کیا قیمت ہے؟ [Student کی] 4. [نیٹ] 4. اگر ہم 4 نمبر کے لئے دیکھتے ہیں - اور ہم اس کوڈ کو صرف اور یہاں میں ایک چھوٹا سا اداس چہرہ ڈال چلا سکتے ہیں کیونکہ ہم دیکھتے ہیں اگر ہم اس کوڈ کو چلاتے ہیں نہیں کیا ابھی ہے، اسے اپ لوڈ، عمارت، مجھے ذیل میں سکرال، اور اگر ہم 4 تعداد کے لئے دیکھو، ہم اسے مل گیا، لیکن ہم printf ہاں یہ حاصل نہیں ہے. کی ایک وجہ یہ ہے کہ ہم سچ واپس نہیں کیا، لیکن ہم سچ میں نمبر 4 پتہ چلا؟ اور سیم کوئی کہہ رہا ہے. ہمیں کیا ملا؟ ہم واقعی midpoint، جس میں اگر ہم صف میں نظر آتے ہیں یہاں نیچے پایا جاتا ہے، 4 صفحہ عنصر ہونے جا رہا ہے کہ ہم دیکھ رہے ہیں، جو 23 ہے. ہم midpoint میں کس طرح دراصل وہ عنصر ملتا ہے اور صرف midpoint خود نہیں؟ [Student کی] ہم چار یا کچھ درج کریں گے؟ کیا، جو صرف باہر تجسس کی کیا کریں گے؟ آپ کو ایک چھوٹا سا زیادہ وسیع کر سکتے ہیں؟ آپ تعداد میں پوزیشن کو تبدیل ہے، لہذا آپ کو بنانا ہے کچھ کنکشن میرے خیال میں یہ چار ہے، لیکن یہ نہیں ہو سکتا ہے. جی ہاں، یہ ایک اچھی بات ہے. ہم حروف، ان حروف میں سے یہ تبدیل عہدوں کی ایک بہت کر پہلے دو مسئلہ سیٹ میں. یہ پتہ چلا ہے کہ یہاں یہ تقریبا کی طرح ہے ایک تار کے اندر اندر ith کردار تک رسائی حاصل ہے، اگر اس میں اس کا احساس کرتا ہے. یہاں ہم midpoint عنصر تک رسائی حاصل کرنا چاہتے ہیں. کہ ہم اس کو کس طرح کرتے ہیں؟ کیون، کیا آپ کی کوئی رائے ہوں کہ ہم کس طرح ایسا ہو سکتا ہے کی ضرورت ہے؟ ٹیبل آپ کر سکتے ہیں، کھلی بریکٹ، وسط، بریکٹ بند کر دیا. ہے کہ آپ ہمارے لئے لکھ سکتا ہے؟ یہاں میں محفوظ کریں، اور ہم اس کو روکنا کریں گے. ہم اس 9 لائن پر تلاش کر رہے ہیں، اور ہم نے احساس ہوا کہ ہم midpoint پر سوئ موازنہ نہیں کرنا چاہتے ہیں کر رہے ہیں، لیکن اس کے بجائے، ہم سوئ کا آپس میں موازنہ کرنا چاہتے ہیں ہمارے ٹیبل صف کے اندر اندر پوزیشن midpoint میں عناصر. ڈاؤن لوڈ، اتارنا. ہم وہاں جا رہے ہیں. جی ہاں، یہ بہت اچھا لگ رہا ہے، اگر (سوئ ٹیبل == [midpoint]). ہم اسے مل گیا ہے. اب اگر ہم تھوڑا سا تھوڑا سا اپ واپس کوڈ we'll چلاتے ہیں اس سے آگاہ کریں، اسے چلاتے ہیں، اور اب اگر ہم نے 4 کے لئے دیکھو، ہم اسے تلاش نہیں تھا کیونکہ اب ہم اصل میں 23 نمبر حاصل کر رہے ہیں. ہم قیمت حاصل کرنے 23 رہے ہیں، اور یہ کہ جو ہم نے اپنی سوئی سے موازنہ کر رہے ہیں. لیکن یہ اچھی بات ہے. یہ درست سمت میں ایک قدم ہے. یہ ہے کہ ہم کیا کرنے کی کوشش کر رہے ہیں. ہم صف میں عہدوں کے خلاف سوئ کا موازنہ کرنے کی کوشش نہیں کر رہے ہیں صف میں اصل عناصر کے خلاف بلکہ. اگر ہم واپس دیکھو پھر ہماری الگورتھم میں اگلے قدم میں اب اگلا قدم کیا ہے؟ لیلی نے پہلے ہی مختصر طور پر ذکر کیا ہے. [Student کی] اگر وہ یا اس سے زیادہ سے کم ہے اور اس کے بعد فیصلہ جس طرح منتقل کرنے کے لئے ہے کو دیکھنے کے لئے چیک کریں. [نیٹ] جی ہاں، تو کس طرح ہے کہ ہم کیا کریں گے؟ کچھ I'll میں آپ کو اس پر نظر ثانی محفوظ رکھ سکتے ہیں، اور پھر اگر آپ کو کچھ لائنیں کہ وہ کروں گا میں ڈال دیا ہے. جی ہاں، شارلٹ >> میں ایک سوال کے جواب میں ہے. midpoint نہیں ہونا چاہئے - 1 کیونکہ پہلی بات یہ ہے اس حساب سے ترتیب 0، اگر ایسا ہے تو ہم 4 ڈالا، کہ اصل میں کردار ہم کے لئے تلاش کر رہے ہیں نہیں ہے؟ جی ہاں، اور دوسرے مسئلہ یہ ہے کہ کے ساتھ ہے جو ایک عظیم پکڑنے ہے، اس لیے کہ ممکنہ طور پر ہو رہا ختم کی جا رہی ہے اگر ہم چلتے رہو اور ہم ابتدائی طور پر کبھی نہیں ایڈجسٹ؟ مجھے لگتا ہے کہ ہم نے ختم کر سکتا ہے تک رسائی حاصل کرنے کی کوشش کر رہی ہے صف کے 8th پوزیشن میں عنصر، جو کہ اس معاملے میں کوئی وجود نہیں. ہم حقیقت کے لئے کسی قسم اکاؤنٹنگ کرنا چاہیں گے کہ ہم نے کچھ صفر تخکرمن ہے. [شارلٹ] معاف کیجئے گا، میں midpoint مطلب - مربع بریکٹ میں 1. ہم یہ کر سکتے ہیں. ہم صرف تھوڑا سا میں اس معاملے پر واپس آ جائیں گے. ایک بار جب ہم اصل looping پر حاصل کرنے کے لئے شروع، ہے کہ جب ہم واقعی اس کھیل میں دیکھیں گے. کچھ وقت کے لئے، ہم نے ایسا، لیکن آپ بالکل ٹھیک کہہ رہے ہو کر سکتے ہیں. یہ صفر تخکرمن کا اثر پڑے گا کہ ہم حساب کرنے کی ضرورت ہے. چلو دیکھتے ہیں. سے زیادہ اور کم سے؟ کیسی ہے [Student کی] میں کس طرح سے بڑی اور حصہ سے کم کرنا ہے. میں صرف اس بات کا یقین نہیں تھا جو پرنٹ کرنے کے لئے اگر آپ کو محسوس ہوتا ہے کہ یہ ٹیبل midpoint یا اس سے کم سے بڑا ہے. میں یہاں محفوظ کر سکتے ہیں کیا I've [نیٹ] جی ہاں، اگر آپ کو بچانے کے لئے تمہارے پاس کیا ہے، اور ہم اسے ھیںچ کروں گا. ہم وہاں جا رہے ہیں. [] Student کی اور میں نے کیا مجھے نہیں پتہ تھا کے لئے سوال نمبر رکھ دیا. [نیٹ] یہ بہت اچھا لگتا ہے. یہاں ہم نے سوال نمبر حاصل ہے کیونکہ ہم اب بھی نہیں جانتے ہیں کیا ہم ابھی تک بہت کیا کرنے جا رہے ہیں. ہم جو چاہتے ہیں افوہ کرتے ہیں، ہم نے کچھ منحنی خطوط وحدانی ہم پر تمام funky ہے. ہم ان منحنی خطوط وحدانی درست کریں گے. ہم وہاں جا رہے ہیں. اور تو کیا ہم چاہتے ہیں ہمارے الگورتھم کے مطابق، اگر ہم سوئی نہیں؟ کی صورت میں میں کیا کہنا ہے کہ انجکشن جو ہم دیکھ رہے ہیں سے کم ہے. کیون. صرف بائیں نصف میں دیکھو. ٹھیک ہے، تو ہم یہاں ایک تبصرہ ہے جو یہ کہتا ہے ڈال دیتا ہوں "بائیں نصف کو دیکھو." اور اگر انجکشن midpoint میں ٹیبل سے بڑا ہے، جو ہم کرنا چاہتے ہیں؟ [Student کی] تو تم صحیح نصف میں دیکھو. صحیح نصف دیکھو، "صحیح نصف میں دیکھو." بھی shabby نہیں. ٹھیک ہے، تو اس وقت، چیزیں بہت اچھا لگ رہے ہو. کوڈ کے طور پر لکھا کے ساتھ مسئلہ کیا ہے؟ [Student کی] آپ حصوں کے لئے endpoints کی ضرورت نہیں ہے. ٹھیک ہے، ہم حصوں کے لئے endpoints کی ضرورت نہیں ہے. ہم نے صرف ایک بار اس کے ذریعے جانے کے لئے جا رہے ہیں. ہم صرف ایک midpoint کو دیکھنے کے لئے جا رہے ہیں. یا تو عنصر ہے، یا یہ نہیں ہے. کے لئے اس کو مکمل کرنے کے لئے، ہم کسی قسم کی تکرار کرنے کی ضرورت ہو گی. ہم جب تک ہم تلاش دہرا رکھنے کے لئے کی ضرورت ہے کہ یا تو عنصر وہاں میں ہے کیونکہ ہم اکٹھا کر لیا ہے اور آخر میں مل گیا، یا اس کی وجہ وہاں پر نہیں ہے ہم سب کے ذریعے دیکھا صف کے مناسب حصوں میں اور پتہ چلا ہے کہ کچھ نہیں ہے. جب بھی ہمارے پاس ہے اس تکرار پر ہو رہا ہے، جو ہم استعمال کرنے کے لئے جا رہے ہیں؟ [Student کی] ایک لوپ. لوپ میں سے کچھ قسم ہے. جی ہاں. [Student کی] ہم کیا جبکہ ایک لوپ اور ہے جو کرتے ہیں اور پھر جبکہ کر سکتے ہیں سوئی برابر ہے I'm یقین ہے کہ جہاں میں اس کے ساتھ جا رہا تھا نہیں. لیکن قسم کی طرح ہے کہ جب تک کہ اس کی برابر قدر ہے کہ صارف ان پٹ نہیں ہے. جی ہاں، چلو دیکھتے ہیں، یہ کس طرح خود کو لکھ سکتا ہے؟ تم نے کہا تھا کہ کیا جبکہ ایک لوپ استعمال کرتے ہیں. آغاز کہاں سے کرنا ہے؟ 2 / حجم کے بعد [Student کی]. [نیٹ] ٹھیک ہے، اور ہم کیا کرنے جا رہے ہو؟ ہم کچھ دیر میں بعد میں بھر دیں گے. ہم کیا کرنے جا رہے ہو؟ [Student کی] کیا ہم ساری چیزیں کرنا چاہتے ہیں ہم حصہ اگر میں نہیں ہے؟ [نیٹ] یہ سب کیا ہے، بہت اچھا. کاپی اور پیسٹ کریں. اوہ، یار. چلو دیکھتے ہیں اگر یہ کام کرتا ہے، اگر ہم اس سے زیادہ کے ٹیب کر سکتے ہیں. خوبصورت. ٹھیک ہے، اور ہم اس کو بچانے کے لئے تو تم لوگ یہ ہے. ٹھیک ہے، اور ہم ایسا کرنے جا رہی ہیں جبکہ تم پیچھے تھے جبکہ حالت کیا تھی؟ [] Student کی جبکہ سوئی کے برابر نہیں کرتا، فجائیہ نقطہ کی طرح ہے. لیکن میں اس بات کا یقین کر لیں کہ بالکل وہی جو جو ابھی نہیں ہوں. [نیٹ] جی ہاں، یہ ایسا کرنے کا ایک طریقہ ہے. سیم، آپ کو ایک تبصرہ ہے؟ [سیم]، مجھے یاد ہے جب میں ویڈیوز میں دیکھا میں میں سے ایک کی طرح کی ایک اسکرین شاٹ لے لیا جب ہم نے اس کے لئے pseudocode کیا، زیادہ سے زیادہ اور کم از کم کے درمیان کوئی رشتہ تھا. مجھے لگتا ہے کہ اگر زیادہ سے زیادہ کبھی بھی کم از کم سے کم ہے جیسے کچھ تھا. مل گیا. [سیم] یا، اگر زیادہ سے زیادہ اس طرح کم از کم یا کچھ اور سے کم نہیں ہے پسند کہ کا مطلب یہ ہے کہ آپ کو سب کچھ تلاش ہے. جی ہاں، تو کیا یہ زیادہ سے زیادہ اور کم از کم کا حوالہ دے رہے تھے جیسے آواز ہے؟ [سیم] اقدار کہ integers کو تبدیل کرنے جا رہے ہیں جہاں ہم midpoint ڈال رشتہ دار. بالکل. [سیم] اس وقت، [اشراوی] زیادہ سے زیادہ اور کم از کم کا حساب ہو رہا ہے Midpoint اس زیادہ سے زیادہ اور کم از کم خیال ہے. کیا کہ لوگوں کو احساس ہے؟ اگر ہم نے کہ ہم کس طرح اس iteration کیا کرنے جا رہے ہیں میں دیکھ کر شروع کرنے والے تھے، آپ بالکل ٹھیک کہہ رہے ہو کہ ہم لوپ جبکہ کر کسی قسم کا استعمال کرنا چاہتے ہیں. لیکن مجھے لگتا ہے کہ اگر ہم یہ یاد ہے کہ اس صف کے موقع پر کیا جا رہا ہے اور جو اصل میں ہو رہا ہوں کے ختم لکھنا یہاں بائنری تلاش کے بہت پہلے iteration میں، ہم نے میں بی اور ای کے آغاز کو ظاہر کرنے کے لئے استعمال کرنے کے لئے جا رہا ہوں. اور پھر ہمارے صف کے آخر ہے. ہم جانتے ہیں کہ آغاز یہاں 4 حق میں ہے، اور ہم جانتے ہیں کہ آخر 108 پر ہے. کا کہنا ہے کہ ہم نے 15 نمبر کے لئے تلاش کر رہے ہیں. پہلی بار ہم ایسا نہ کر، جیسا کہ ہم نے پہلے دیکھا، midpoint یا تو 16 یا 23 کی جا رہی ہے کہ ہم کس طرح چیزوں کو باہر کا حساب کے لحاظ سے. چونکہ یکساں طور پر درمیان میں تقسیم ہمیں اس جگہ دیں گے 16 اور 23 کے درمیان، ہم یکساں طور پر یہ نہیں تقسیم کر سکتے ہیں یا اس تقسیم اور ایک حقیقی midpoint میں کرنے کیلئے. ہم 16 کو دیکھو گے. ہمیں اندازہ ہے "ارے، 15 16> کہ ہم دیکھ رہے ہیں." ​​گے تو صف کے بائیں نصف پر نظر کیا ہم نے ختم کر کریں گے مسترد کرنا ہے اس پورے اوپری حصہ کہہ رہے ہیں، اور انہوں نے کہا کہ ٹھیک ہے، اب ہمارا نقطہ اختتام یہاں ہو رہا ہے. " ہمارے لوپ کے اگلے iteration، ہم اب اس صف میں تلاش کر رہے ہیں، مؤثر طریقے سے اب یہ حصہ وجہ سے ضائع ہونے اگر ہم midpoint لینے کے شروع اور آخر کے درمیان فرق کر رہے ہیں، ہم اپنے midpoint 8 تلاش کرنے کے لئے، ، جو ہم نے 8 تو جہاں اس نمبر پر ہم کے لئے تلاش کر رہے ہیں کے بارے میں ہے کو دیکھنے کے لئے کی جانچ کر سکتے ہیں 15 تلاش، کہ 15 بڑی اور عظیم چیز ہے، تو ہم نے فہرست کے دائیں حصہ کو منتقل کرنے کے لئے ہے، جو ہم جانتے ہیں کیونکہ ہم انسان ہیں، اور ہم اسے دیکھ سکتے ہیں. ہم جانتے ہیں کہ صحیح حصہ بننے جا رہی ہے جہاں ہم نے اسے تلاش کمپیوٹر پتہ نہیں ہے کہ، تو ہم کیا کریں گے ہم واقعی گے ہے یہ جانا ہے، اور اب ابتدا اور اختتام اسی جگہ ہیں، midpoint اس وقت فہرست میں صرف تعداد بن جاتا ہے، جو 15 ہے، اور ہم نے اسے تلاش کر لیا ہے. کیا ہے کہ جہاں اس پورے زیادہ سے زیادہ اور کم از کم سنکیتن جا رہا ہے پر کچھ روشنی ڈالی، صف کے endpoints کا ٹریک رکھنے میں جاننے کے لئے چیزوں کو کس طرح محدود نیچے ہے؟ اگر یہ 15 کے برابر نہیں تھے اب کیا ہوگا؟ اگر ہم 15 اور بجائے کے لئے تلاش کر رہے تھے، اس تعداد بھی 16 تھے؟ ہم کا کہنا ہے کہ، "اوہ، یہ بڑا ہے تھا. ہم بائیں پر واپس جانا چاہتے ہیں. " اور ہم حق پر ہماری ای منتقل چاہتے ہیں، جو نقطہ ہم ایک نقطہ اختتام ہے جو متصادم ہو گی ہے. زیادہ عناصر کے لیے تلاش کرنے کے قابل نہیں ہو گی کیونکہ اب ہم اپنے نقطہ اختتام اور ہمارے آغاز نقطہ ہے، ہماری زیادہ سے زیادہ اور ہماری کم از کم، اب flipped کر رہے ہیں. ہم پوری صف کے ذریعے تلاش. ہم کچھ نہیں مل سکتا. یہ وہ نقطہ ہے جس میں ہم کا کہنا ہے کہ "ٹھیک ہے، ہم اس الگورتھم کو روکنے کے لئے جا رہے ہیں چاہتے ہے. ہم کچھ نہیں مل سکا ہے. ہم کو پتہ ہے کہ اسے یہاں نہیں ہے. " یہ کیسا چل رہا ہے؟ [Student کی] کس طرح کمپیوٹر آخر سوئچ کرتا ہے؟ آخر شروع کرنے سے پہلے کس طرح ختم کرتا ہے؟ آخر آغاز سے پہلے ختم ہو جاتی ہے ریاضی ہے کہ ہم ہر وقت ہے کہ ہم یہ کرتے ہیں کرنے کے لئے جا رہے ہیں کی وجہ سے. جس طرح سے ہم تبادلہ ہے اگر آپ بہت ہی پہلی بار میں دیکھو، ہم اس سویپ کرتے ہیں ہم 4 میں شروع اور آخر کہاں ہے 108 میں نیچے طریقہ اور ہمارے midpoint، 16 میں کہتے ہیں، - ، میں نے اس کی پیٹھ پر دوبارہ ترتیب دینے کی 15 اگر ہم نے 15 کے لئے تلاش کر رہے ہیں رہا ہوں ہم جانتے تھے کہ ہم نے کیا کیا جب ہم 16 کی جانچ پڑتال اور انہوں نے دیکھا کہ یہ بڑا تھا اور فہرست کے تمام دائیں حصہ کو ختم کر دینا چاہتا تھا، ہم نے دیکھا کہ جو ہم کرنا چاہتے تھے اس ای یہیں اقدام ہے. مؤثر طریقے سے، ای midpoint سے پہلے ایک میں منتقل کر دیا گیا. اسی طرح جب ہم الگورتھم کے اس iteration کیا اور midpoint 8 بجے تھا، ہم نے محسوس کیا ہے کہ 8 <15، تو ہم B منتقل کرنے کے لئے کرنا چاہتا تھا midpoint گزشتہ ایک. اب، شروع اور آخر دونوں 15 اس میں اکٹھے. اگر ہم کسی اور قیمت نہیں 15 کے لئے تلاش کرنے کے لئے چاہتے ہو رہا ہے، یا اگر یہ 15 کی بجائے 16 ایک تھے، ہم کہ ای midpoint سے پہلے ہم ایک منتقل کرنا چاہتے ہیں مل جائے گا. ای اب ب سے کم flipped گی. کس طرح ہم واقعی اس الگورتھم کوڈنگ آخر تک چلنے دو. ہم جانتے ہیں کہ ہم اس midpoint حساب چاہتے ہیں. ہم یہ بھی جانتے ہیں کہ ہم صف کے آغاز اور اختتام ٹریک کرنا چاہتے ہیں ہماری موجودہ صف کی تو ہم اندازہ لگا سکتے ہیں فہرست کے اس بائیں نصف اور کہاں ہے جہاں فہرست کے دائیں نصف ہے. ہم یا تو شروع اور ختم کے ساتھ کرتے ہیں، یا ہم نے انہیں کم از کم اور زیادہ سے زیادہ کال کر سکتے ہیں. میں اس وقت شروع اور آخر کے لئے استعمال کریں گے. جب ہم شروع اگر ہم اس مثال میں واپس نظر آتے ہیں یہاں، ہماری ابتدا صف کے آغاز پر قدرتی طور پر مقرر کیا گیا تھا. یہ کیا انڈیکس تھا؟ ہمارے شروع کی جانی چاہئے؟ ڈینیل. [ڈینیل] ٹیبل [0]. [نیٹ] جی ہاں، تو ہم اسے قائم ٹیبل کے برابر کر سکتے ہیں [0]. مسئلہ یہ ہے کہ یہ ہمیں دیتا ہے پہلا عنصر کی حیثیت نہیں ہے. یہ ہمیں اس پہلی پوزیشن پر پہلے عنصر یا اصل قیمت کی فہرست فراہم کرتا ہے. [Student کی] یہ .20 تبدیل کریں گے؟ [نیٹ] کیا یہ کروں گا ٹھیک ہے، اسے کوئی تبدیل نہیں کرے گا کر. یہ کروں گا میں شروع 4 جمع کریں گے، اور پھر اس کے خلاف شروع موازنہ کرنے کی مشکل ہو جائے گا کیونکہ شروع 4 کی قدر کا انعقاد کیا جائے گا، جو ہمارے صف کے آغاز ہے، لیکن ہم صف میں سوچکانک پر نظر رکھنے کے چاہتے ہیں اقدار کے خلاف ہے. ہم نے ایک 0 اصل میں، اس طرح استعمال کریں گے. صف شارلٹ کے اختتام کے لئے تھوڑا پہلے اس لایا. یہ وہ جگہ ہے جہاں ہم نے اکاؤنٹ میں صفر تخکرمن لے لیں گے. شارلٹ، صف کے آخر میں کیا ہے؟ آخر کی فہرست کیا ہے؟ [شارلٹ] سائز - 1. جی ہاں، اور ہم کون سا سائز کا استعمال کرنا چاہئے؟ ہم سرمایہ سائز یا چھوٹے سائز کا استعمال کرنا چاہئے؟ کیپٹل فونز. اس صورت میں، ہم نے دارالحکومت کے سائز کا استعمال کر سکتے ہیں. اگر ہم نے اس تقریب کو پورٹیبل چاہتے تھے اور دوسرے پروگراموں میں اس فنکشن کا استعمال، ہم چھوٹے سائز اصل میں استعمال کر سکتے ہیں. یہ بھی ٹھیک ہے. لیکن شارلٹ بالکل ٹھیک کہہ رہی ہے کہ ہم سائز کرنا چاہتے ہیں - 1. اس وقت [Student کی] یہ کس طرح ہے کہ آپ بڑے سائز کا استعمال کر سکتے ہیں؟ یہ کس طرح ہے کہ ہم بڑے سائز کا استعمال کر سکتے ہیں؟ یہ پتہ چلا ہے کہ ان # کی وضاحت سچ میں ہیں، ہڈ کے تحت، جیسی ایک متن کی جگہ تلاش اگر یہ سمجھ میں آتا ہے. جب آپ اپنے کوڈ کو مرتب کریں، preprocessing مرحلے سنکلک فائل کے ذریعے جاتا ہے، اور اس کے لئے ہر جگہ ہے کہ آپ کے دارالحکومت سائز لکھا ہے لگتا ہے، اور یہ کہ عبارت لفظی 8 ایک کے ساتھ کی جگہ لے لیتا ہے بس ایسے ہی،. اس لحاظ سے، یہ ایک متغیر سے بہت مختلف ہے. یہ یاد میں کسی بھی جگہ نہیں لے کرتا ہے. یہ ایک سادہ متن کی جگہ لے کی چال ہے. اس صورت میں، ہم حجم کو استعمال کرنے کے لئے جا رہے ہیں. یہاں سے ہم کسی قسم کا تکرار کیا کرنا چاہتے ہو، اور ہم کیا جبکہ ہمارے لوپ کے ساتھ صحیح راستے پر ہیں. ہمیں کچھ کرنا چاہتے ہیں جب تک ایک شرط اور روک نہیں کرتا، اور جیسا کہ ہم نے پہلے دیکھا، ہم نے دیکھا ہے کہ اس حالت یقینا یہ تھا کہ ہم آخر کرنا نہیں چاہتے ہیں سے کم شروع ہو. یہ ہماری روکنے شرط ہے. اگر یہ اس وقت ہوتا ہے، ہم اور طرح، کا اعلان روکنے کرنا چاہتے ہیں "ارے، ہم کچھ نہیں مل سکا ہے." اس کا اظہار کرنے کے لئے، ہم کسی قسم کا لوپ استعمال کرنا چاہتے ہیں. اس صورت میں، کیا جبکہ ایک لوپ، ایک لوپ کے لئے، ایک وقت لوپ ہو گی؟ ہم نے کیا جبکہ ایک لوپ یہاں ہے. کیا آپ کے اس نقطہ نظر کی طرح لوگ؟ کیا آپ کو لگتا ہے کہ ہم ایک مختلف نقطہ نظر کی کوشش کرنی چاہئے؟ کیون، کوئی خیالات؟ ہم تھوڑی دیر لوپ کیا ہے کیونکہ ہم زیادہ سے زیادہ جان سکتا شروع ویسے بھی میں کم از کم سے زیادہ ہو جائے گی. جی ہاں، تو وہاں کوئی ابتدا نہیں ہے کہ ہونے کی ضرورت ہے ہے. وہ loops کرتے دیر کے عظیم ہیں جب تم سے کچھ ابتدا ہے تو پھر یہاں جبکہ جانچ، سے پہلے ہم جانتے ہیں کہ ہم دونوں شروع اور ختم reinitializing رکھنے کے لئے نہیں کر رہے ہیں لوپ کے ہر دور ہے. ہم جانتے ہیں کہ ہم ان کی ابتدا کرنا چاہتے ہیں، تو ہماری حالت چیک کرنے کے لیے ہے. اس صورت میں، میں ایک سادہ دیر لوپ کے ساتھ اصل میں چلے جائیں گے. یہ پتہ چلا ہے کہ loops دیر کرنا کافی اکثر استعمال کیا جاتا ہے. مقامات کی ایک بہت کچھ کر بھی نہیں سکھاتے ہیں جبکہ loops. وہ صارف کی ان پٹ کی ہینڈلنگ کے لئے اچھا ہو، تو ہم نے ان میں سے ایک ابھی تک بہت کچھ دیکھا ہے. لیکن عام اور جبکہ loops بہت زیادہ عام ہیں یہ پتہ چلا ہے کہ اس شرط کے طور پر لکھا واقعی ہمیں بہت اچھا نہیں کیا، کیا جائے گا اور ایسا کیوں ہے؟ میں معافی چاہتا ہوں، میں نے آپ کا نام پتہ نہیں ہے. میں جیری >> معذرت ہوں.؟ B-O-R U-I-ہے. اوہ، ٹھیک ہے. میں اپنی فہرست میں تمہیں دیکھ کر نہیں ہے. اوہ، یہ باعث اوہ کہ سمجھ میں آتا ہے. کیا آپ کو یہ کیوں دیر لوپ کام کے طور پر مقصد نہیں ہو سکتا ہے کے ایک خیال ہے، شرط کے ساتھ لکھا ہے؟ [جیری] آپ کا مطلب ہے جیسے تم میں اس کے بعد تمام چیزیں چاہتے ہیں؟ جی ہاں، اس لئے کہ ایک ہے. ہم دیر لوپ، جو کہ مکمل طور پر سچ ہے میں یہ سب کے سب ڈال سکتا ہے. دوسری بات یہ ہے کہ تھوڑا مسئلہ ہے، اگرچہ یہ ہے کہ اس کی حالت کو نہیں کام کرتا ہے. [Student کی] آپ اسے پلٹائیں کرنے کی ضرورت ہے. ٹھیک ہے، تو اس صورت کبھی سچ نہیں ابتدا میں جس طرح سے ہم نے اس کے بارے میں بات کی جائے گا. ہمیں کچھ کرنا چاہتے ہیں آخر <تک شروع، لیکن ہم جبکہ کچھ کرنا چاہتے ہیں ≤ آخر شروع کرتے ہیں. منطق کے کہ الٹ ہے. میں ان غلطیوں کو ہر وقت بنانے کے مجرم ہوں. [Student کی] کیوں اس سے کم یا اس کے برابر ہونا ہے؟ کیونکہ اگر تم کہ ہم ہے یاد ہے وہاں جہاں صرف ایک عنصر تھا، اور ہم نیچے تھے، اور ہم ہمارے صف میں صرف 15 کی طرف دیکھ رہے تھے؟ اور ہماری ابتدا اور ہماری آخر ایک ہی عنصر تھے. ہم اس بات کا یقین کر لیں کہ ہم اس معاملے کو ہینڈل کرنے کے لئے چاہتے ہیں. اگر ہم نے ایک براہ راست سے کم کیا، ہم صرف ایک صف 2 عنصر کو حاصل کرنے کے لئے کے قابل ہو جائے گا. ایک بار جب ہم اس آخری عنصر ہے، اگر وہ ہمارے عنصر تھے، ہم نے کبھی بھی اسے تلاش نہیں تھا. اب یہاں ہم ویسا ہی کرو جیسا کہ تم کہہ رہے تھے کر سکتے ہیں. ہم کو براہ راست ہمارے جبکہ لوپ کے وسط میں سامان plopping شروع کر سکتے ہیں. ہم ہمارے midpoint میں plop کر سکتے ہیں. ہم نے ان میں سے اگر بیانات سب کو لے جا سکتے ہیں، انہیں کیا جبکہ اس لوپ سے باہر ھیںچو میں plop ان تھوڑا سا اوپر باتیں صاف، اور میں آگے بڑھیں اور اس ترمیم کو بچانے کے لئے ہوں. اور اس وقت، ہم بہت قریب ہو رہے ہیں. سیم. مجھے لگتا ہے کہ تم نے بھی int midpoint = سائز ہے - 1/2. نے اسے، سائز - 1/2. ہے اور کچھ ہم اس لائن کے بارے میں تبدیل کرنے کے لئے کی ضرورت ہے؟ یہ ایک اچھا پکڑنے تھا. سائز کا کیا کرنا ہے؟ کیا ہم نے کبھی سائز تبدیل کرنے ہیں؟ میں اس طرح لائن کو برقرار رکھنے کے لئے، ہم اس کا سائز تبدیل کرنا ہوگا. ہم سائز ہر وقت ہے کہ ہم لوپ کے لئے یہاں جانے کو تبدیل کرنے کی ہے. لیکن یاد رکھنا، جب ہم ہماری مثال کے ذریعے جا صرف تھوڑا سا پہلے کیا گیا تھا، اور ہم نے 4 میں آغاز تھا اور آخر 108 میں سے زیادہ ہے؟ ہم midpoint کو کس طرح حساب کیا؟ کر رہے تھے ہم فونز کا استعمال کر رہے ہیں؟ یا ہم بجائے ختم کرنے کا استعمال کرتے ہوئے کر رہے تھے؟ یہ اختتام اور آغاز کے درمیان کیا فرق ہے. بالکل، اور کس طرح ہے کہ میں، شارلٹ لکھنا چاہیے؟ بس ختم - شروع کریں. 1 - آپ کو کرنے کی ضرورت نہیں کریں گے کیونکہ 1 - کیا گیا ہے آخر میں شامل اور پہلے ہی شروع ہے. [نیٹ] عظیم، تم بالکل ٹھیک کہہ رہے ہو. 1 کیونکہ وہ - - ہم ایسا کرنے کی ضرورت نہیں ہے 1 گیا ہے شامل اور جب ہم آخر متغیر ابتدا کے لئے. ہے اور کچھ میں syntactically کرنے کی ضرورت ہے اس لائن کو سمجھ ہے؟ [Student کی] پلس >> شروع پلس شروع کرتے ہیں.؟ آخر میں [Student کی]. کیونکہ یہ صرف آدھی لمبائی جاتی ہے. شروع کرنے سے شامل کرنے کی ضرورت ہے. [نیٹ] کیا یہ ہمارے لئے حساب کرے گا؟ اگر ہم لوپ کے اس بہت پہلے iteration پر اختتام کے بارے میں سوچتا ہوں، آخر پوزیشن 7 انڈیکس میں ہونے جا رہا ہے. 0 پوزیشن میں شروع ہے. یاد رکھیں، ہم یا تو کے لئے تلاش کر رہے ہیں 3 پوزیشن یا 4 پوزیشن ہے. اگر ہم اس ریاضی میں نظر، صرف تھوڑا زیادہ ٹھوس بنانے کے لئے، کچھ تعداد یہاں ڈال، ہم 0 7، ہے، تو 7 - 0، اور پھر 2 / جو عددی ڈویژن میں 3 ہے، ہے. اس وقت تو ہم واپس شامل کرنا ہمارے شروع کرنے کی ضرورت ہے؟ ہم اس معاملے میں نہیں. بہت پہلے iteration پر، یہ ٹھیک ہو جائے گا کیونکہ شروع 0 ہے. لیکن ترقی ہم کے طور پر، ہم واقعی صرف کرنے کی ضرورت آخر - / 2 شروع. ایک دوسرے ٹرک یہاں ہے، اور یہ کہ یعنی مقدم میں سے ایک ہے. [Student کی] ہم قوسین کی ضرورت ہے؟ [نیٹ] بالکل، اور وہ اس لئے کہ اگر ہم ان قوسین کو ڈال نہیں تو اس لائن کو بجائے تشریح رکھا جائے گا (آخر) - (/ 2 شروع)، جو ہم ضرور نہیں کرنا چاہتے. ان مقدم قوانین کے لئے باہر دیکھو. [Student کی] + یہ کیوں نہیں ہے ختم شروع؟ + یہ کیوں نہیں ختم شروع؟ [Student کی] ایسا کیوں ہے یہ نہیں ہے کہ؟ یہ + کیوں ہو گا؟ مجھے لگتا ہے کہ تم صحیح ہو. [Student کی] کیونکہ یہ اوسط ہے؟ [نیٹ] اختتام +، شروع، آپ بالکل ٹھیک کہہ رہے ہو. واہ، میں نے مکمل طور پر goofed. تم ٹھیک کہہ رہے ہو. اگر ہم مائنس کر رہی تھی، ہم اندر واپس شروع میں شامل کرنا چاہتے ہیں اس صورت میں، آپ کو بہت درست ہو کہ ہم دونوں میں سے اوسط لینے کے لئے چاہتے ہیں، تو ہم نے ان کو شامل کرنے کے لئے، کے طور پر ان میں سے منہا کی مخالفت کرنا چاہتے ہیں. [Student کی] اگر آپ نے آخر کیا بھی کام کریں گے - / 2 شروع + شروع کرتے ہیں. اگر ہم کرتے ہیں میں تو یقین کروگے. مثال کے طور پر، اگر ہم میں شروع میں تلاش کر رہے تھے، اور ہم نے اسے منتقل کر دیا گیا یہاں 15. اب شروع 2 پوزیشن پر ہے. اختتام 7 پوزیشن میں ہے. اگر ہم ان کو منہا، ہم 5 ملتا ہے. 2 کی طرف سے اس تقسیم کریں، ہم 2 ملتا ہے. اور پھر ہم 2 میں واپس شامل کرتے ہیں، اور یہ کہ ہمیں 4th پوزیشن کو ملتا ہے، جو جو یہیں ہے، midpoint ہے. [Student کی] ہم ریپنگ کی دیکھ بھال کرنے کی ضرورت ہے؟ کس لحاظ سے ہم کو ریپنگ کی دیکھ بھال کرنے کی ضرورت ہے؟ اگر رقم یا کے درمیان فرق ہم اسے کس طرح کرتے ہیں پر منحصر ہے اس سے بھی نمبر نہیں ہے. پھر کمپیوٹر جب وہ 2.5 ہے چاہے الجھن میں ہو جاتا ہے؛ کیا آپ کو بائیں یا کا تعین جس midpoint ہے کا حق منتقل؟ مل گیا. یہ ہے کہ عددی ڈویژن کے ساتھ باہر کر دیتا ہے، ہم ان چل نقاط تعداد میں کبھی نہیں ملے. ہم دشملو کبھی نہیں ملے. یہ مکمل طور پر ضائع کر دیا ہے. اگر آپ نے ایک کمپیوٹر میں دو int متغیر تقسیم، اور ایک 7 ہے، اور دیگر 2 ہے، آپ کو اس کے نتیجے کے طور پر 3.5 نہیں ملے گا. یہ 3 ملے گا. باقی ضائع ہو جائے گا، تو یہ مؤثر طریقے سے پکڑ دھکڑ ہے نہیں بلکہ دور بلکہ ایک منزل، اگر لوگ آپ کو ریاضی میں اس کے ساتھ واقف ہیں، آپ مکمل طور پر جہاں دشملو ضائع، اور آپ بنیادی طور پر یہ قطع برید کر رہے ہیں قریبی پر پوری کرنے کی پوزیشن سب سے پاس کا پوری تعداد. [Student کی] لیکن اس وقت کہ مسئلہ ہے کیونکہ اگر آپ کو 7 عناصر کے ایک صف ہے تو یہ خود کار طریقے سے بجائے 4th کے midpoint 3rd عنصر لیتا ہے. ہم اس کے ساتھ کس طرح نمٹنے کے ہیں؟ یہ مسئلہ ہے کیونکہ اگر ہم نے 7 کے ایک صف تھا بجائے 4th 3rd منتخب گی. آپ کو ایک چھوٹا سا زیادہ کی وضاحت کر سکتا ہوں؟ [] Student کی کیونکہ اگر آپ کو 7 عناصر تو 4th عنصر midpoint، ٹھیک کریں گے؟ صفر ہونے کے حساب سے ترتیب کے بارے میں آپ کے تبصرے کو یاد رکھیں، اگرچہ. [Student کی] جی ہاں، تو 3 کی پوزیشن میں ہے. یہ midpoint ہو جائے گی. جی ہاں. اوہ، ٹھیک ہے. میں دیکھ رہا ہوں آپ کا کیا مطلب ہے. یہ عجیب قسم کی ہے، جیسا کہ ہم نے اس پورے تصور کے عادی دشملو کے چھٹکارا حاصل کرنے. یہ ایک بہت بڑی بات ہے. چلو، یہ ختم. ہم نے ہماری midpoint کا حساب ہے. ہم اگر ہمارے سوئ درمیانی قیمت کے برابر ہے کو دیکھنے کے لئے جانچ کر رہے ہیں. ہم نے چھپائی ہے کہ ہم نے مل گیا ہو، لیکن سچ میں، جو ہم نے اس صورت حال میں کیا کرنا چاہتے ہو؟ ہم نے وہ مل گیا ہے، تو ہم چاہتے ہیں فون کرنے والے جانتے ہیں کہ ہم اسے مل گیا. ہم نے ایک تقریب ہے کہ ایک بولین ٹائپ تقریب ہے. جس طرح سے ہم ہمارے تقریب کی جس فون کرنے والے سے اشارہ ہے کہ ہم جانے کے لئے تیار ہیں ہے ہم کا کہنا ہے کہ، "ارے، یہ سچ ہے." کہ ہم کس طرح، کیون کیا کریں گے؟ آپ اپنے سر nodding رہے ہیں وہ سچ ہے >> [کیون] واپسی میں شامل کریں. بالکل [نیٹ]، صحیح واپس. اب، اگر اس کے برابر نہیں ہے، ہم بائیں نصف میں نظر آئے گا کہ کس طرح؟ کوئی خیال ہے؟ سٹیلا، کوئی خیال ہے؟ آپ کو ختم کرنے کے لئے ایک نئی حیثیت کا تعین کرنے کی ضرورت ہے. جی ہاں. آخر - تو ہم midpoint کی پوزیشن کو کرنا ہے. بہت اچھا ہے. ہم نے ختم کرنے کے لئے ایک نئی پوزیشن کو قائم کرنے کی ضرورت ہے بائیں نصف کو دیکھنے کے لئے. یہ ہے کہ ہم کہاں سے پہلے کے بارے میں بات کی میں اس کی مثال میں واپس جا رکھو. میں یہاں شروع کیا ہے، اور پھر میں آخر میں یہاں ہے. ایک بار پھر، اگر ہم نے 15 کے لئے تلاش کر رہے ہیں، اور ہمارے midpoint 16 میں ہے، اور ہم نے احساس "افوہ، 16 بڑی اور عظیم چیز ہے. ہم بائیں نصف میں منتقل کرنا چاہتے ہیں. " پھر ہم 15 آخر میں منتقل کریں گے، اور ہم ایک midpoint سے دور کر ایسا اور ہے کہ ہمارے نئے آخر کے طور پر مقرر کریں. اسی طرح، اگر ہم صحیح نصف کو دیکھنے کے لئے چاہتے ہیں کہ ہم کس طرح کرتے؟ کیا آپ کے پاس ایک خیال ہے؟ [Student کی] آپ صرف 1 + midpoint شروع. [نیٹ] عظیم. اور اب صورت میں ہے کہ ہم میں کچھ بھی پتہ نہیں ہے، کیا یہ ہمارے لئے کیا کا خیال ہے؟ ڈینیل، جو ہمارے لیے کا خیال ہوتا ہے؟ [ڈینیل] نمبر [نیٹ]، اگر ہم اسے پوری صف کے ذریعے بنانے اور ہم کچھ بھی نہیں اس کی دیکھ بھال جہاں جائے گی لیا، یا ہم اس کی دیکھ بھال لینا چاہئے؟ [ڈینیل] جبکہ حالت [نیٹ] جی ہاں، دیر حالت، بالکل. یہ پوری صف کے ذریعے جانے کی دیکھ بھال اگر ہم کچھ نہیں کریں گے. یہ دیر لوپ ختم ہو جائے گی. ہم اس حالت کا سامنا کبھی نہیں ہو گا،، اور ہم جھوٹ واپس آ سکتے ہیں. ہم یہ بھی اگر اس طرح یہاں جا سکتے ہیں کیونکہ اگر یہ اگر بیان صحیح ہے، ہماری تقریب میں واپس کریں گے اور، اور اسی طرح ہم نے بنیادی طور پر اسقاط حمل ہو سکتا اس وقت اس جشن گے ہم سچ ہے جب میں واپس. لیکن کیا اس ڈھانچے کے ساتھ یہاں کیا ہوتا ہے؟ مکمل طور پر اس کام یا وہاں میں کچھ منطقی دوش ہے؟ وہاں میں کچھ منطقی دوش ہے، جس طرح سے قائم ہے کے ساتھ ہے،. اس سے کیا ہو سکتا ہے؟ [Student کی] آپ کیوں ضرورت ہے - اور + 1s؟ ہمارے صف کا تعین کرتا ہے ہمارے نئے بائیں نصف اور حق نصف ہے. [Student کی] لیکن کیوں تمہارے بغیر یہ نہیں کر سکتا - 1s اور + 1s؟ [نیٹ] ہم نے اسے قائم midpoint کے برابر کر سکتا ہے؟ اس بارے میں مشکلات کیا ہو سکتا ہے؟ [Student کی] مجھے لگتا ہے کہ یہ غیر فعال ہے کیونکہ آپ کو ایک کی قیمت کی جانچ پڑتال کر رہے ہیں جو پہلے ہی دیا گیا ہے کی جانچ پڑتال. [نیٹ] بالکل، تو سیم بالکل ٹھیک کہہ رہی ہے. اگر آپ آخر قائم کرنے اور midpoint برابر شروع 1 + reflectively 1 - کے بجائے، مستقبل میں کسی نہ کسی موڑ پر ہم نے ختم midpoint دوبارہ جانچ پڑتال کریں گے. [Student کی] میں pset شروع، اور پھر میں ایسا کچھ تھا. 1 + جہاں بھول گیا، اور اس کو ایک لامتناہی لوپ میں پھنس گیا ہے. ٹھیک ہے، آپ کچھ نقطہ پر وجہ سے شروع اور ختم کرنے والا کبھی نہیں رہے ہیں اصل میں وورلیپ. ڈاؤن لوڈ، اتارنا. ایک اور منطقی دوش ہے، اور یہ کہ یہ ہے کہ یہ ضرور ہونا چاہئے ورنہ اگر. ایسا کیوں ہو سکتی ہے؟ وجہ یہ ہے اگر یہ ایک اور کی نہیں ہے اگر تم نے یہ دیکھا، کیون؟ [کیون] جی ہاں، کیونکہ آپ کو آخر نقطہ کو تبدیل کر رہے ہیں. [نیٹ] بالکل. ہم نقطہ اختتام تبدیل کررہے ہیں، اور اگر یہ اس we'll کی طرح لکھا ہے کے درمیان خالی جگہوں اس کیس کی جانچ پڑتال کرے گا. اس معاملے میں اگر یہ کامیاب گرانے تقریب کے باہر جائے گا. پھر اس اگلے کیس چیک کرنے کے لیے کریں گے، اور اگر یہ کامیاب ہے، اس کا نقطہ اختتام کو ایڈجسٹ کرے گا، اور پھر اس پر جاری رکھنے اور اس معاملے کی جانچ کریں گے. لیکن اس وقت، ہم اس کی جانچ پڑتال جاری نہیں کرنا چاہتا ہے. خوش قسمتی سے، ہم midpoint ری سیٹ نہیں کیا ہے یہاں اور ہم جانتے ہیں کہ اس معاملے کو کامیاب نہیں ہو گا. لیکن ہم یقینی طور پر اس کے علاوہ ڈال کرنا چاہتے ہیں اگر میں اگرچہ میں طاقت کی اس معاملہ چونکہ ہم midpoint کو ایڈجسٹ نہیں کر رہے ہیں، فرق یہ ہے کہ گے؟ نہیں، کیونکہ ان معاملات تمام خصوصی ہیں. ایک بار پھر، میری بری بات ہے. ہم اس دوسری صورت میں، میرے خیال میں، نہیں ہے اگر ضرورت ہے. ہم اسے اور اسے چلانے کی کوشش کرتے ہیں اور دیکھتے ہیں کیا ہوتا ہے دے سکتے ہیں. عمارت، ایک خرابی آگئی ہے. شاید یہ ہے کیونکہ میں یہاں میں ان ب اور ای چھوڑ دیا. کیا میں سب سے اوپر ان تک کی کسی بھی ہے؟ اس جیسی نظر نہیں آتی. ہم باہر زوم، تعمیر، اس جا رہا ہے، تو اب ہم نے 15 کے لئے اگر، تلاش جی ہاں. مجھے اندر زوم 15، جی ہاں. ہم اسے دوبارہ چلا سکتے ہیں. ماخذ کوڈ اپ لوڈ، تعمیر، چل رہا ہے. ہم سے کچھ 13 کی طرح تلاش کر سکتے ہیں، ہم اور باہر چھپائی کچھ نہیں، ایسا نہیں ہے کی تلاش ہے کہ ہمارے لئے. یہ بہت اچھا ہے، کیونکہ یہ ہماری فہرست میں نہیں ہے. اب ہم وقت سے باہر ہیں. یہ اس ہفتے کے لئے یہ ہونے جا رہا ہے. میں شامل ہونے، اور آپ کو بعد میں دیکھ کرنے کے لئے شکریہ. [CS50.TV]