DAVID MALAN J: تمام ٹھیک ہے، تو اس CS50 ہے. یہ واضح طور پر ایک جمعہ ہے. اور اس ایک ہفتے کے آخر ہے. تو آپ کو ہم سے دور چھوڑ دیا ہے کہ یاد کر سکتے ہیں، قسم کی ایک cliffhanger کے ساتھ آخری بار،. جس سے ہم اس جھوٹ کو بے نقاب نہیں ہے کہ بات بڑھتی ہوئی آپ کو سکھایا گیا ہے کیا ، 10 سے تقسیم 1 میں، نہیں ہے حقیقت یہ ہے کہ، 0.1 یا 0،100 یا 0،10000. اصل میں، اگر ہم یہ تالیف پروگرام، ہم نے کل کے ساتھ، کے طور پر کیا، گئی imprecision بنانے، اور پھر ڈاٹ کرتے، سلیش، گئی imprecision، ہم یہ کیا ہے کہ سیکھا 1 اصل میں ہے 10 سے تقسیم. تو ہے کہ واقعی بہت صورت نہیں ہے. لیکن اس سے کچھ پر اشارہ کرتا ہے کمپیوٹر کی بنیادی حد. اور بے شک، میں چیزیں ہم کیا کرنے جا رہے ہیں آج یہ ہے کیوں پر ایک نظر لے ہوا، یہ ہے کیا مضمرات، انسانیت میں ناکام رہی ہے کہ کس طرح کچھ بہت میں اس کو سمجھنے کے لئے سنگین situations-- جس کے نتیجے میں بہت المناک رہی ہے اور بھی expensive-- اور ہم کس طرح پر ایک نظر ڈالیں اصل میں دفاع کر سکتے ہیں حدود میں اس قسم کے خلاف. ایسا intuitively، شاید، کیوں 1 10 سے تقسیم کیا گیا ہے، میرے کمپیوٹر کے مطابق یہاں، نہ صرف 1/10، 0.10؟ جی ہاں. آپ کیا سوچتے ہیں؟ سامعین رکن: مولانک مختلف ہے؟ DAVID J MALAN: کیا ہے؟ اوہ، مولانک مختلف ہے؟ تو بالکل نہیں. یہ اصل میں زیادہ ہے ہارڈ ویئر کے بنیادی. دیگر خیالات؟ جی ہاں. سامعین رکن: وہ مختلف تعداد کی نمائندگی؟ DAVID J MALAN: تو they-- حق. وہ مختلف تعداد کی نمائندگی کرتے. غلط، بظاہر. ، ویسے is-- تاکہ مختلف طریقے سے؟ یا کس سے؟ ہم سے؟ سامعین رکن: جی ہاں. انہوں نے دشملو استعمال نہیں کرتے [اشراوی] کے لئے نظام. DAVID J MALAN: ٹھیک ہے. احساس میں، وہ ایسا نہیں کرتے دشملو نظام کا استعمال کرتے. ہڈ کے نیچے، سب کچھ،، یقینا، ثنائی ہے اور اس حقیقت میں، متعلقہ ہے. لیکن یہ بھی ایک آسان ہے اس سے وضاحت. جی ہاں. سامعین رکن: وہ صرف اتنے سارے بٹس. وہ صرف ایک مخصوص تک محفوظ کر سکتے ہیں حد، دشملو کے ساتھ کی طرح. DAVID J MALAN: جی ہاں. یہ واقعی میں اس میں ہو رہی ہے کیا ہے. یہ باہر کر دیتا ہے کمپیوٹر عام طور پر، ہمیشہ صرف معلومات کا ایک محدود رقم کا استعمال کرتے ہیں کچھ کی نمائندگی کرنے کے لئے. ٹھیک ہے؟ سب کے بعد، ہم صرف ایک مقررہ ہے ہارڈ ڈسک کی جگہ کی رقم. ہم صرف ایک مقررہ رقم ہے رام، یا کمپیوٹر میموری کی. اور آپ کو صرف ہے کچھ کے مقررہ رقم، یقینا آپ کو اصل میں شمار نہیں کر سکتے ہیں انفینٹی یا آپ چاہتے ہیں کسی بھی تعداد کے. تم، قسم کے، کرنے کی ضرورت ہے لینے اور کیا حد منتخب کریں کے آپ کی حمایت کے لئے جا رہے اقدار. اور اس طرح مثال کے طور پر، ایک یا دو ہفتے کے لئے پہلے، ہم ASCII کے بارے میں بات کی تھی جب، اور ہم کے بارے میں بات کی 8 بٹس، یا ایک بائٹ، تو بات کرنے کی سب سے بڑی تعداد ہم کر سکتے تھے 8 بٹس کے ساتھ کیا تھا کی نمائندگی کرتے ہیں؟ 255. اور ہم 256 کل اقدار کی نمائندگی کر سکتے ہیں لیکن ہم ان میں سے ایک خرچ نہیں تو ویسے 0-- پر، لیکن ہم تو 0 ان میں سے ایک خرچ کرتے ہیں، پھر سب سے بڑی تعداد 255، کورس کے، ہے. تو یہ ہے کہ، باہر کر دیتا ہے اس تناظر میں بھی کیس،. ہم، بات، آخری بار شروع سچل نکاتی تعداد، جس کے بارے میں میں، integers کے سے مختلف ہیں وہ ایک دشملو نقطہ ہے کہ اور، امید ہے کہ، کچھ تعداد اس کے بعد، لیکن وہ بھی ہیں. صرف ایک کمپیوٹر عام طور پر کی جا رہی ہے 32 بٹس، شاید 64 بٹس استعمال کرنے کے لئے ایک چل نقاط کی قیمت کی نمائندگی کرنے. اگرچہ تو ہم بڑے ہو گئے ہو ریاضی سیکھنے اور جاننے کے تم بالکل کر سکتے ہیں نمبروں کی ایک لامحدود تعداد میں دشملو نقطہ، نہیں کے بعد آپ تبدوست میموری ہے. تم، قسم کے گول کرنا پڑے، یا لینے اور انتخاب کرتے ہیں جس تعداد آپ کی نمائندگی کرنے جا رہے ہیں. اور تو آپ کو ایک معنی میں، کے بارے میں سوچ کر سکتے ہیں، یہ کیا جا رہا کمپیوٹر کے قریب قیمت 1/10 سے سننکٹن کہ یہ صرف 32 یا اس بٹس کے ساتھ، حاصل کر سکتے ہیں. اور یہ صرف 1/10 نہیں ہے. مثال کے طور پر، میں نے اس کو تبدیل تو ہم لگتا ہے کہ جو 1/3، بھی آسان ہے. تو 1 3 کی طرف سے تقسیم. مجھے فائل کو بچانے کے ہیں. مجھے آگے جانا ہے اور اس recompile ہیں. اور مجھے اسے دوبارہ چلانے دو. یہاں بھی، بظاہر، 1/3 0.3 نہیں ہے اور پھر 3 کا ایک لامحدود تعداد میں اس کے بعد. آپ کو آخر میں اس گئی imprecision ہے. تو ہم انسانوں کو درست ہیں، اور کیا آپ،، حقیقت میں، صحیح سیکھا لیکن ہم کو bumping رہے ہیں کچھ حدود کے خلاف. اور میں نے سوچا کیا آج ہم کروں گا، شروع ہے واضح طور سے،، میں دیکھ کر اس کی المناک نتائج کبھی کبھی، جب بنی نوع انسان بہت نافذ نہیں اس حقیقت اور ان حدود کے لئے. اور ہم vignettes کی ایک سیریز کو دیکھ لیں گے لیتا ہے کہ ہسٹری چینل سے کس طرح پر ایک نظر چیزیں غلط ہو گیا ہے. اس کے بارے میں 8 منٹ طویل ہے اور ہم نے اس کے بعد واپس آ جائیں گے اور بالکل پر ایک نظر ڈالیں اور کیا غلط جا سکتے ہیں. ہم lights-- دھیما کر سکتے ہیں [ویڈیو پلے بیک] -Computers، ہم سب کو قبول کرنے آیا ہوں اکثر نراشا مسائل کہ ان کے ساتھ جانا. کیڑے، وائرس، اور سافٹ ویئر glitches کے چھوٹے کی قیمتوں میں ہیں سہولت کے لئے ادا کرنے کے لئے. لیکن ہائی ٹیک اور ہائی سپیڈ فوج اور خلائی پروگرام ایپلی کیشنز، سب سے چھوٹی مسئلہ کر سکتے ہیں تباہی میں بڑائی کی جائے. 4 جون، 1996، سائنسدانوں تیار ایک بغیر پائلٹ سے Ariane 5 راکٹ شروع کرنے. یہ سائنسی لے جا رہا تھا مصنوعی سیارہ کے لئے ڈیزائن کیا خاص طور پر کس طرح قائم کرنے کے لئے زمین کے مقناطیسی میدان انٹرایکٹ شمسی ہواؤں کے ساتھ. راکٹ لئے بنایا گیا تھا یورپی خلائی ایجنسی اور اس سہولت سے اٹھا لیا فرانسیسی گیانا کے ساحل پر. -اور بارے میں 30 سیکنڈ میں پرواز، وہ سب سے پہلے محسوس کیا کچھ غلط ہو رہا تھا. nozzles کے swiveling کیا گیا ہے کہ ایک طرح وہ واقعی نہیں کرنا چاہئے. پرواز میں 40 سیکنڈ کے ارد گرد، واضح طور پر گاڑی مصیبت میں تھا انہوں نے بنایا اور جب کہ فیصلہ اسے تباہ کرنے. ایک رینج سیفٹی آفیسر کے ساتھ زبردست ہمت بٹن دبایا، اس سے پہلے راکٹ دھماکے سے اڑا دیا عوامی تحفظ کے لئے خطرہ بن. -یہ یووتی تھی ایرین 5 کے سفر، اور اس کی تباہی لیا کیونکہ ایک دوش کی جگہ راکٹ کی سافٹ ویئر میں سرایت. پر -مندرجہ مسئلہ ایرین تھا کہ وہاں کی ضرورت ہے کہ ایک بڑی تعداد تھی 64 بٹس، کا اظہار کرنے اور وہ تبدیل کرنے کے لئے کرنا چاہتا تھا یہ ایک 16 بٹ تعداد میں. ان کی تعداد کہ فرض کیا گیا بہت بڑا ہونے جا رہا نہیں کیا گیا تھا، کہ میں ان ہندسوں میں سے اکثر 64 بٹ تعداد 0 کے تھے. وہ غلط تھے. ایک کی -مندرجہ اسمرتتا سافٹ ویئر پروگرام کو قبول کرنے کی طرف سے پیدا نمبر کی قسم ایک اور ناکامی کی جڑ تھا. سافٹ ویئر ڈیویلپمنٹ کی بن گیا تھا ایک نئی ٹیکنالوجی کے بہت مہنگا حصہ. ایرین 4 راکٹ بہت کیا گیا تھا سافٹ ویئر کی کامیاب، اتنا یہ بھی تھا کے لئے پیدا ایرین 5 پر استعمال کیا. -مندرجہ بنیادی مسئلہ ایرین تھا 5، تیز تھا تیز تیز. اور سافٹ ویئر نہیں تھا اس کے لئے حساب. راکٹ کے -مندرجہ تباہی ایک بہت بڑا مالی تباہی، تھا تمام کی وجہ سے ایک منٹ سافٹ ویئر کی خرابی کی. لیکن یہ پہلے نہیں تھا وقت اعداد و شمار کے تبادلوں کے مسائل جدید راکٹ ٹیکنالوجی دوچار تھا. آغاز کے ساتھ، 1991 -میں پہلی خلیجی جنگ کے، پیٹریاٹ میزائل اسی طرح کی ایک قسم کا تجربہ تعداد تبادلوں مسئلے کا. نتیجے کے طور پر، 28 افراد، 28 امریکی فوجیوں ہلاک اور کر رہے تھے 100 زخمی، جب چاہیے تھا جس پیٹریاٹ، آنے والے scuds خلاف کی حفاظت کے لئے، ایک میزائل کو برطرف کرنے میں ناکام رہے. جب عراق کویت اور امریکہ پر حملہ کر دیا ابتدائی 1991 میں صحرا طوفان کا آغاز، پیٹریاٹ میزائل بیٹریاں تعینات کیا گیا تھا سعودی عرب اور اسرائیل کی حفاظت کے لئے عراقی Scud میزائل حملوں سے. پیٹریاٹ ایک امریکی، میڈیم رینج ہے سطح سے فضا نظام ریتیان کمپنی کی طرف سے تیار. پیٹریاٹ انٹرسیپٹر کی -مندرجہ سائز، خود، تقریبا 20 فٹ لمبا، کے بارے میں ہے. اور اس کے بارے میں 2000 پونڈ کا وزن. اور یہ about-- کے وار ہیڈ جاتی ہیں میں یہ تقریبا 150 پونڈ ہے. اور وار ہیڈ، خود، ایک اعلی دھماکہ خیز مواد ہے، جو اس کے ارد گرد ٹکڑے ہے. وار ہیڈ کے سانچے ہے buckshot کی طرح کام کرنے کے لئے ڈیزائن. -مندرجہ میزائل ہیں 4 کنٹینر فی، کئے، اور ایک نیم ٹریلر کی طرف سے منتقل کر رہے ہیں. -مندرجہ پیٹریاٹ اینٹی میزائل نظام اب کم از کم 20 سال پیچھے چلا جاتا ہے. یہ اصل میں ڈیزائن کیا گیا تھا ایک فضائی دفاعی میزائل کے طور پر دشمن کے ہوائی جہاز کو نیچے گولی مار کرنے کے لئے. پہلی خلیجی جنگ میں، کہ جنگ کے ساتھ ساتھ آئے جب، فوج کے لئے استعمال کرنا چاہتا تھا scuds، نہ ہوائی جہاز گولی مار. عراقی فورس نہیں تھا ایک مسئلہ کی اتنی، لیکن فوج scuds بارے میں میں فکر مند تھا. اور تاکہ وہ کرنے کی کوشش کی پیٹریاٹ کو اپ گریڈ. دشمن -Intercepting میزائل مچ پانچ میں سفر کافی چیلنج کیا جا رہا تھا. لیکن جب پیٹریاٹ کی خدمت میں لے جایا گیا، فوج ایک کے بارے میں علم نہیں تھا بنا دیا ہے کہ عراقی ترمیم ان scuds کو نشانہ بنانے کی تقریبا ناممکن. کیا ہوا، scuds ہے میں آ رہے تھے،، عدم استحکام کا شکار تھے وہ بالز Wobbling تھے. اس کی وجہ، ترتیب میں، عراقیوں تھا میں سے 600 کلومیٹر کے فاصلے پر حاصل کرنے کے لئے 300 کلومیٹر رینج میزائل، سامنے وار ہیڈ سے باہر وزن لیا اور warhead ہے ہلکا کر دیا. تو اب، پیٹریاٹ کے آنے کی کوشش کر Scud کی میں، اور زیادہ تر وقت، کی غالب اکثریت وقت، یہ صرف Scud کی طرف سے پرواز کریں گے. پیٹریاٹ نظام آپریٹرز -Once پیٹریاٹ اپنے ہدف یاد احساس وہ، پیٹریاٹ کے وار ہیڈ دھماکہ اگر ممکن جانی نقصان سے بچنے کے لئے زمین پر گر کی اجازت دی گئی. زیادہ تر لوگوں کو دیکھا یعنی، تھا آسمان میں ان بڑے fireballs کے، اور کے طور پر غلط فہمی Scud کی ہتھیاروں کی پکڑے. رات میں اگرچہ آسمان، محب وطن ظاہر کامیابی ہونا Dhahran میں، scuds تباہ، کوئی غلطی نہیں ہو سکتا اس کی کارکردگی کے بارے میں. نہیں، پیٹریاٹ کے رڈار نظام ایک آنے والے Scud کی کے ٹریک کو کھو، اور، کا آغاز نہیں ایک سافٹ ویئر دوش کی وجہ سے. یہ سب سے پہلے دریافت کیا ہے جو اسرائیلی تھا اب نظام پر تھا کہ، زیادہ سے زیادہ وقت تضادات پائے جانے کے وجہ سرایت ایک گھڑی کے، بن گیا نظام کے کمپیوٹر میں. -کے بارے میں 2 ہفتے پہلے Dhahran میں سانحہ، اسرائیلی رپورٹ محکمہ دفاع، نظام وقت کھو گیا تھا کہ، کہ چل رہا ہے کے بارے میں 8 گھنٹے کے بعد، وہ نظام تھا کہ دیکھا کافی کم درست ہوتا جا رہا. محکمہ دفاع کی طرف سے جواب پیٹریاٹ بیٹریوں کی تمام بتا نظام نہیں چھوڑ ایک طویل وقت کے لئے. انہوں نے ایک طویل وقت کیا تھا کبھی نہیں کہا. 8 گھنٹے؟ 10 گھنٹے؟ 1000 گھنٹے؟ کوئی نہیں جانتا تھا. -مندرجہ پیٹریاٹ بیٹری بیرکوں میں تعینات Dhahran، اور اس ناقص اندرونی میں ، 100 گھنٹے سے زیادہ گھڑی پر کیا گیا تھا 25 فروری کی رات کو. -یہ ایک درستگی کے لئے وقت پتہ لگایا کے بارے میں 1/10 ایک سیکنڈ کے. اب ایک دوسرے کے 1/10 ہے ایک دلچسپ تعداد یہ نہیں ہو سکتا ہے کیونکہ بالکل، بائنری میں کا اظہار کیا. جو اس کی نہیں کر سکتے ہیں، کا مطلب ہے کہ کا اظہار کیا جا، بالکل، کسی بھی جدید ڈیجیٹل کمپیوٹر میں. یہ یقین کرنا مشکل ہے لیکن ایک مثال کے طور پر اس کا استعمال. کا نمبر، 1/3 ڈالیں. 1/3 کا اظہار نہیں کیا جا سکتا دشملو میں، بالکل. 1/3 انفینٹی کے لئے چل 0،333 ہے. ایسا کرنے کے لئے کوئی راستہ نہیں کے ساتھ، نہیں ہے دشملو میں مطلق درستگی،. اس کے بالکل اسی طرح ہے پیٹریاٹ میں ہوا ہے کہ مسئلہ. اب نظام بھاگ گیا، برا وقت غلطی بن گیا. آپریشن کے 100 گھنٹے -کے بعد، غلطی وقت میں صرف تقریبا 1/3 ایک دوسرے کی تھی. لیکن اہدافی کے لحاظ سے میزائل مچ 5 میں سفر، یہ ایک سے باخبر رہنے کے نتیجے میں 600 سے زائد میٹر کی غلطی. یہ ایک مہلک غلطی ہو جائے گا Dhahran میں فوجیوں کے لئے. ہوا نے کیا، ایک Scud کی آغاز ہے تھا ابتدائی انتباہ کے مصنوعی سیارہ کی طرف سے پتہ چلا، اور وہ Scud کی تھی کہ نئے ان کے جنرل سمت میں آنے والے. یہ آ رہا تھا جہاں وہ نہیں جانتا تھا. -یہ ریڈار پر منحصر تھا پیٹریاٹ نظام کے اجزاء، تلاش اور رکھنے کے لئے، Dhahran کا دفاع آنے والے دشمن میزائل کا ٹریک. -مندرجہ ریڈار بہت ہوشیار تھا. یہ اصل ٹریک گا Scud کی کی پوزیشن اور پھر جہاں کی پیشن گوئی یہ، شاید ہو جائے گا اگلی بار، ریڈار باہر ایک پلس بھیجا. اس کی حد دروازے بلایا گیا تھا. -Then، پیٹریاٹ بار کافی وقت ہے فیصلہ واپس جانا اور اگلے چیک کرنے کے لیے منظور اس کا پتہ چلا اعتراض کے لئے محل وقوع، اسے واپس جاتا ہے. تو یہ غلط واپس چلے گئے جب جگہ، اس وقت کوئی اعتراض دیکھتا ہے اور یہ کوئی نہیں تھا کہ فیصلہ اعتراض، یہ ایک جھوٹ کا پتہ لگانے تھا، اور ٹریک قطرے. آنے والے Scud کی غائب ریڈار اسکرین سے، اور سیکنڈ کے بعد، یہ بیرکوں میں تنقید کی. Scud کی 28 ہلاک اور آخری دفعہ پایا گیا ایک پہلی خلیجی جنگ کے دوران فائرنگ. بدقسمتی سے، اپ ڈیٹ سافٹ ویئر اگلے دن Dhahran پر پہنچے. سافٹ ویئر دوش تھا رہا فکسڈ، اختتامی شورش زدہ میں ایک باب پیٹریاٹ میزائل کی تاریخ. [END پلے بیک] DAVID J MALAN: تو ہم پر ایک نظر لے لیں گے صرف تھوڑا سا میں کچھ اسی طرح کی حدود. لیکن سب سے پہلے، چلو چند پر منتقلی FYI ہے. اس ہفتے کے آخر one-- تو، وہاں سپر حصوں ہو جائے گا، اکھاڑنا مراد ہیں جو باقاعدگی سے شیڈول حصوں، جس اس وجہ سے ایک ہفتے شروع ہو جائے گا. CS50 کی ویب سائٹ پر ایک نظر ڈالیں ان پر مزید معلومات کے لئے. انہوں نے یہ بھی فلمایا اور سلسلہ بند کیا جائے گا شرکت کرنے کے قابل لوگوں کے لئے رہتے ہیں. مسئلہ 1 پر ہے قائم پہلے سے کورس کی ویب سائٹ، اور ہم پر ایک نظر لے لیں گے صرف تھوڑا سا میں. اور دفتری اوقات بھی لے جائے گا جمعرات کے ذریعے اس پیر کی جگہ. تو یہ سب سے زیادہ وہیت تھا پروگرام ہم نے آخری بار دیکھا. یہ آسان کی طرح ہے آپ C میں لکھ سکتے ہیں پروگرام، اور یہاں تک کہ ایک جرات مندانہ دعوی کے تھوڑا سا ہے. ٹھیک ہے؟ ایک بہت کی ہے کیونکہ اس پیچیدگی بظاہر. تو میں ایک فوری نظر ڈالیں کیا یہ عناصر میں سے کچھ تھے اور پھر فراہم کرنے کی کوشش کس طرح کے لئے ایک ذہنی ماڈل پروگراموں کی ان آسان کام، اور پھر ہم شروع کریں گے پہلے سے کہیں زیادہ پیچیدہ چیزوں کو دیکھ کر. تو اس لائن یہاں،، اب روشنی ڈالی پیلے رنگ میں، ہم کہتے ہیں کیا، آخری بار، یہ ہمارے لئے کرتا ہے؟ یہ کام کرتا ہے مقصد کیا ہے؟ دور پیچھے سے کوئی ہے؟ جی ہاں. سامعین رکن: [اشراوی] DAVID J MALAN: اچھا. تو یہ آپ کو رسائی فراہم کرتا ہے حکم دیتا ہے، یا چلو ان افعال کال، کہ کسی اور اعلان کر رہے ہیں کہ، لکھا، تو کچھ دوسری فائل میں، بات کرنے کے لئے. تو ہم بالکل وہی جو ایک H فائل کو دیکھ لیں گے آخر میں، ایک سی فائل بمقابلہ ہے. لیکن اب کے لئے، صرف اتنا جانتا ہوں کہ printf، مثال کے طور پر، کیا گیا ہے کہ کام کرتا ہے میں سے ایک ہے کہیں، کسی دوسرے فائل میں اعلان بادل کی ہارڈ ڈرائیو پر کسی اور کہ ہم printf کا تک رسائی حاصل اور اس کا استعمال کرنے کی اجازت دیتا reinvent کرنے کے لئے بغیر خود وہیل کہ. دریں اثنا، اہم. اہم، گزشتہ ہفتے کے مطابق کیا تھا؟ جی ہاں. سامعین رکن: سبز پرچم کلک کیا جاتا ہے. DAVID J MALAN: جی ہاں. اسکریچ کی، سبز پرچم جب کلک کیا. یہ پہیلی ٹکڑے کی طرح ہے کہ چیزوں سے دور کک. اور اسی طرح، دنیا کیا ، C میں کچھ سال پہلے فیصلہ کیا ہے کہ اور دیگر زبانوں کا ایک گروپ، آپ کو ایک پروگرام لکھنے کے لئے چاہتے ہیں تو، آپ کی پہلی تقریب اہم، کہا جا کرنے کے لئے ہے. اور یہ اس طرح دیکھنے کے لئے ہے. لیکن ہم واپس آ جائیں گے کسی اور وقت، کیا، INT، اور، باطل، اس تناظر میں مطلب. اب کے لئے، گھوبگھرالی منحنی خطوط وحدانی کی طرح ہیں کے اسکریچ کی پہیلی ٹکڑا شکل کی طرح کہ لائنوں کی کچھ تعداد کو سموئے. اور لائنوں پر درمیان یہاں، یہاں اس سے ایک ہے. printf کے جس کا مقصد میں ایک تقریب ہے زندگی ایک فارمیٹ سٹرنگ پرنٹ کرنے کے لئے ہے. اور فارمیٹ کی طرف سے، میں آپ کا مطلب پلیس ہولڈر اقدار میں پلگ کر سکتے ہیں، اور آپ کے پاس کتنے اعشاری وضاحت کر سکتے ہیں پوائنٹس، کتنے نمبر پرنٹ کرنے کے لئے ایک اعشاریہ اور اس طرح کے بعد. اور printf، کورس کے، ایک لیتا ہے یا دلائل یا پیرامیٹرز زیادہ، دوسری صورت میں زیادہ صرف، آدانوں کے طور پر، نام سے جانا جاتا. کی ایک بہت کی طرح، تو printf افعال، آدانوں لیتا. اور ان آدانوں قبول کر رہے ہیں یہاں دو قوسین کی طرف سے. اور ان کے اندر ایک ان پٹ ہے. یہ ہم نے یہ کہا جاتا ہے کے طور پر، ایک تار ہے، جو صرف حروف کا ایک ہی تسلسل ہے، ایک لفظ، یا ایک جملہ، یا ایک پوری طرح مضمون بھی، ڈبل قیمت درج کرنے کے درمیان میں. اور اس پر اثر انداز ہونے کے لئے جا رہا ہے printf کے کے رویے کی وجہ سے، کورس کے، یہ صرف ایک عام پرنٹ تقریب ہے. یہ کیا جاننا نہیں جا رہا ہے آپ اسے بتائیں کہ جب تک، پرنٹ کرنے کے لئے. اور پھر، کچھ باریکیوں. ہم اس عجیب کہتے ہیں کیا علامات کی ترتیب ہے؟ جی ہاں. سامعین رکن: نئی لائن. DAVID J MALAN: نئی لائن. تو یہ آپ کو صرف مارا نہیں کر سکتے، باہر کر دیتا ہے، آپ اس پروگرام کو لکھ رہے ہیں جب، میں داخل. عام طور پر، سنکلک کرنے جا رہی ہے آپ کا مطلب ہے کے طور پر ایک چھوٹی سی الجھن. بلکہ، آپ لفظی کرنا پڑے یہاں مجھے ایک نئی لائن دے، کا کہنا ہے کہ. اور اس طرح / N جو ہم عام طور پر ہے ایک فرار کردار کال. تو (ن)، نئی لائن کے لئے. اور سنکلک جانتا ہے کہ / N دیکھتا ہے جب، یہ اصل میں کمپیوٹر دلانا چاہئے، بالآخر، یا printf کے، اس معاملے میں، ایک حقیقی نئے باہر پرنٹ کرنے کے لئے لائن، کو مارنے کی طرح،، میں داخل اپنے کی بورڈ پر چابی. اور آخر میں، جو ہم کہتے ہیں کیا نحو کے اس ٹکڑے کے لئے ہے؟ یہ کیا کی نمائندگی کرتا ہے؟ جی ہاں. سامعین رکن: [اشراوی] DAVID J MALAN: یہ صرف ہے لائن کے آخر. اس بیان کے آخر ہے. اور ہم ایسا نہیں ہے کہ احساس ہر جگہ ڈال. ہم یقینی طور پر ڈال نہیں ہے ہر لائن کے سروں پر. مثال کے طور پر، کوئی بھی موجود ہے پہلی لائن، کوئی لائن پر ہے اہم، کے ساتھ، وہاں کوئی نہیں ہے گھوبگھرالی منحنی خطوط وحدانی کے بعد، لیکن آپ دیکھتے ہیں اور حاصل کرنے کے لئے شروع کریں گے اس کے لئے کہا جاتا ہے جہاں سے واقف. اور یہ ایک تقریب کے بعد تقریبا ہمیشہ کچھ کارروائی، کال کریں یا ایک بیان کہ آپ اصل میں لے جا رہے ہیں. اور، خاص طور پر اگر اب جانتے ہیں کم آرام دہ اور پرسکون والوں میں، ان احمقانہ باتیں قسم کے ہیں آپ نے غلطی سے پیٹنے ختم کروں گا کہ دیوار کے خلاف اپنے سر. آپ کو منطقی ہو جائے گا کیونکہ کچھ مسئلہ میں پراعتماد آپ کو ایک مسئلہ کے لئے حل کر دیا ہے سیٹ، اور صرف چیز مرتب یا اس سے بھی نہیں چلائے جائیں گے. اور تو اکثر، جلد، اس کے لئے جا رہا ہے آپ کو ایک قوسین یاد کیا کیونکہ ہو، یا آپ کو ایک نیم وقفہ یاد. اور اس طرح صرف احساس ہونا ان چیزوں کی قسم کے، اور کی طرف سے مایوس کرنے کے لئے نہیں کی کوشش کریں انہیں بہت تیزی سے اس کرتا ہے کیونکہ پرانے ٹوپی بن. لیکن اسے حاصل کرنے کے لئے بہت آسان ہے نتیجے کے طور پر، ابتدائی پر مایوس. تو اب، کے لئے کس طرح پر ایک نظر ڈالیں اس لائن اصل کام کر رہا ہے اور پھر ایک تھوڑا سا میں نظر آتے ہیں زیادہ پیچیدہ ایک. تو ہم یہاں، سے زیادہ ہے اس کی سکرین پر اپنی طرف متوجہ کرنے کی صلاحیت. اور چلو کہ فرض کرتے ہیں یہ میرے کمپیوٹر کی سکرین ہے لیکن میں، ہیلو پروگرام لکھ رہا ہوں اور میں، printf کے لاگو نہیں کیا. کسی، printf کا لاگو ہے. کون کا دعوی کرنے کے لئے چاہوں گا ، printf کے نافذ کر دیا ہے؟ ہم ہیں؟ ٹھیک ہے، آپ کا نام کیا ہے؟ 1 طالب علم: [؟ کوپل. ؟] DAVID J MALAN: کوپل، پر آتے ہیں. اپ چلو. بالکل ٹھیک. تو ہم یہاں، ہے، کچھ نام کا ٹیگ، ہم اس کا ایک چھوٹا سا کھیل بنا دیں گے کے بعد. اور ہم printf، آپ کو فون کروں گا. اور تم یہاں آنا چاہتے ہیں، کیا میں صرف سکرین پر تیار کی ہے، یہ، مجھے وہاں ہے، کافی صرف یہ ہے. ٹھیک ہے، تو، ہیلو میرے نام ہے، printf کے، آپ کو اس پر ڈال کرنا چاہتے ہیں تو. بالکل ٹھیک. اور آپ کو کھڑا جا سکتے ہیں کمپیوٹر کی سکرین کی طرف سے جیسے آپ کو تقریب ہو اس کمپیوٹر کے نظام کے ساتھ آئے. اور زندگی میں اپنے مقصد ہے اصل میں کچھ پرنٹ کرنے کے لئے. لیکن پروگرام کی طرح زیادہ سے زیادہ ہم صرف یہاں، سکرین پر تھا، ہم کرنے کے لئے جا رہے ہیں اصل میں آپ کو کچھ ان پٹ دے. اور اس طرح، میرے ان پٹ تو، یہاں، ہے بظاہر، جو printf سے گزر رہا ہے، قسم کی اس طرح فرضی دو. میں لفظی پر لکھنے کے لئے جا رہا ہوں کاغذ کا ایک ٹکڑا، "ہیلو، دنیا،" الٹا سلیش (ن) اور صاف ہو جائے، کیا میں صرف، کاغذ کے اس ٹکڑے پر تیار کی ہے اس طرح لگ رہا. تو میں نے اس پروگرام کو چلانے کے، اور یہ جب کوڈ کے پیلے رنگ کی لائن کو پھانسی دے دی ہے، اس میں، ہیلو پروگرام جیسے ہے ایک تقریب سے دور کچھ ان پٹ کے حوالے کر رہا ہوں کسی اور نے لکھا کہ. اور اگر آپ، اپنی انگلی کے ساتھ، اصل میں کر سکتے ہیں، اپنی انگلی کے ساتھ، سکرین پر اپنی طرف متوجہ جو یہ آپ کے حوالے کیا گیا ہے، اثر، بالآخر، کرنے کے لئے ہے بالکل، سکرین پر دیکھ. اور یہاں ایک چھوٹی سی کونے کیس. اور اچھی، ہم دیکھ نہیں کرنا چاہئے اس نقطہ پر، نئی لائن،. یہ آپ کے لئے غلط ہو گا واضح طور پر newline ہے اپنی طرف متوجہ کرنے. لیکن ہم پر یہ الفاظ لکھ رکھا ہے سکرین، وہ ذیل میں ختم ہو گی. آپ کا بہت بہت شکریہ، لیکن رہنا یہاں صرف ایک لمحے کے لئے. اب ہم ایک دوسرے کی ضرورت ہے رضاکار، اگر ہم کر سکتے، اس کردار ادا کرنے کی ضرورت کرنے جا رہا ہے of-- یہ آرکسٹرا میں صرف ان لوگوں کو ہے ابھی. کس طرح ٹھیک about--. یہیں پر. اپ چلو. آپ کا نام کیا ہے؟ طالب علم 2: [؟ Ivay. ؟] DAVID J MALAN: معاف کیجئے گا؟ طالب علم 2: [؟ Ivay. ؟] DAVID J MALAN: ایتھن، پر آتے ہیں. نہیں؟ میں بھی، کہ غلط تھا آپ دو بار اس نے کہا کے بعد؟ اپ چلو. یہ یہاں سننے کے لئے مشکل ہے. ٹھیک ہے. اور مجھے معاف، تمہارا نام کیا ہے؟ طالب علم 2: [؟ Ivay. ؟] [؟ DAVID J MALAN: Ivay. ؟] ٹھیک ہے. اب کے لئے، اگر آپ ایسا کرتے نہیں ذہن، آپ GetString ہیں. 2 طالب علم: ٹھیک ہے. ٹھنڈا. DAVID J MALAN: آپ چاہتے ہیں تو صرف ایک لمحے کے لئے یہاں کھڑے کرنے کے لئے، ایک تھوڑا سا میں ایک نظر ڈالیں زیادہ پیچیدہ پروگرام، کہ اب کوڈ کے تین لائنوں ہے. تو ہم، ایک، کا استعمال کرتے ہوئے اپنا نام بتاو printf کے؛ دو، GetString کرنے کے لئے ایک کال، ایک کے لئے ایک کام کے بعد متغیر سٹرنگ، کہا جاتا ہے، یا S بلایا اور پھر printf، کرنے کے لئے ایک کال، لیکن دو آدانوں کے ساتھ اس وقت. تو ہم نے پہلے ہی کیا ہے ریاست آپ کا نام، یا بلکہ، ہم نے پہلے سے ہی ایک printf کال کیا. تو میں نے اپنا نام بتاو، لکھنے کے لئے جا رہا ہوں. اور اس طرح، میں کیا جا رہا ہوں صرف ایک لمحے میں، printf کے، منتقل، یہ بہت صرف ہوتا ہے. تم آگے بڑھو اور اس کو اپنی طرف متوجہ کرنا چاہتے ہیں تو سکرین پر، کہ آپ ان پٹ اب. بالکل ٹھیک. اور اب ہم ہیں، سٹرنگ بھول یہاں کوڈ کے اپنے لائن. اس میں، GetString کے، ہمیں ضرورت ہے اصل میں، GetString کے فون کرنے کے لئے. تو زندگی میں تمہارا مقصد صرف چلنا ہے آرکیسٹرا میں باہر، اگر آپ کر سکتے، اور کسی کا نام ملتا ہے. لیکن آپ کو دے دو کچھ اس پر ڈال. آپ چاہتے ہیں تو، جانے آگے اور ایک تار ملتا ہے، اس پر کسی کا نام حاصل کاغذ کا ٹکڑا، اگر آپ کر سکتے. بالکل ٹھیک. اور ہم صرف ایک لمحے میں نظر آئے گا، جس کا نام ہم حاصل کر رہے ہیں. دریں اثنا، میں کیا جا رہا ہوں کے لئے تیار ہے، ایک خالی ٹکڑا ہے کاغذ کی، جس میں، میں جا رہا ہوں ذخیرہ کرنے کے لئے جو کچھ بھی قیمت یہ GetString کے مجھ سے واپس آ رہا ہے ہے کہ، میں، نامی ایک سٹرنگ متغیر، ے ہونے. بالکل ٹھیک. تو تم یہاں کیا ہے؟ نک. بالکل ٹھیک. تو ہم یہاں سے Nik کا نام ہے. تو اس کا کیا لفظی ہے واپس آ گیا ہے مجھ سے، تو GetString کے کی طرف سے، بات کرنے کے لئے. میں جا رہا، اب، ہوں بائیں ہاتھ کی طرف پھانسی جہاں میں صرف اس اظہار کے آج کل کے مقاصد، نک کے لئے، نیچے کاپی. تو اب، میں ایک متغیر ہے کہا جاتا ہے، نک کا نام ذخیرہ، ے. میں نے پہلے ہی کے حوالے کر دیا ہے printf کے، گزشتہ دلیل. لیکن ہماری تیسری اور آخری لائن میں کوڈ، میں واقعی میں ہاتھ printf پر ہے ایک چھوٹا سا different-- کچھ "ہیلو،٪ s کو،" (ن). اور اس آخری سطر میں جا رہا ہوں ہوں آخری چیز send-- سے اب نیچے لکھنے کے لئے جا، یہ ہے. تو کوڈ کی دو لائنیں، یا کوڈ کی آخری سطر بجائے، دو آدانوں کے لئے فون کالز ایک، یہ، اور دو، اس. ہماری printf تقریب تو اب ان پٹ کے طور پر ان لے جا سکتے ہیں، مجھے آپ کے لئے سکرین واضح. اصل میں کوئی، آپ آگے جا سکتے ہیں. ہم سے، اس کو چھوڑ دیں گے یہ ایک ہی پروگرام پر ہے. ہم، ہیلو، نک کو دیکھنا چاہیئے. بالکل ٹھیک. تو اس کو بہت کچھ تھا باسکٹ بال صرف، کے ذریعے کود لکھنے کے لئے، ریاست اپنے ہیلو، نک نام، اور. لیکن پیغام پاسنگ کے اس سادہ خیال، ان پٹ اور آؤٹ پٹ کے انتقال حاصل کرنے کے، ہم جا رہے ہیں بالکل وہی جو ہے ماڈل بھی سب سے زیادہ پیچیدہ افعال کے لئے. پس تم دونوں کے لئے آپ کا بہت بہت شکریہ. ہم نے ایک خوبصورت کشیدگی ہے یہاں آپ کے لئے گیند. اور ہمارے GetString کرنے کے لئے آپ کا شکریہ آپس میں ایک جیسے اور printf رضاکاروں. آپ کا شکریہ. بالکل ٹھیک. تم دونوں کو شکریہ. تو ہم کے بارے میں بات کر رہے ہیں اس طرح اب تک، زیادہ تر ڈور کے بارے میں. اور یہ کہ سی اصل میں کر سکتے ہیں باہر کر دیتا ہے چند مختلف اعداد و شمار اقسام کو سمجھنے. اصل میں، کے لے یہاں ان کی طرف دیکھو. تو C، اور زبانوں کا ایک بہت، حروف بلایا چیزوں کو سمجھنے. ایک چار عام طور پر ایک ہے ایک بائٹ، یا آٹھ بٹس. اور یہ ایک کردار کی نمائندگی کرتا ہے، خط A، یا سرمائے کی طرح خط A، یا چھوٹے خط ایک، یا فجائیہ نقطہ، یا کسی بھی کردار تم پر ٹائپ کر سکتے ہیں کہ اپنے کی بورڈ، اور بعض اوقات اس سے بھی زیادہ. ہم نے بھی floats کے دیکھنے کے لئے ہو. ایک فلوٹ، عام طور پر، ایک 32 بٹ کی قیمت، یا چار بائٹس پھر کیونکہ، ایک بائٹ آٹھ بٹس ہے. تو ایک فلوٹ ایک چل نقاط کی قیمت ہے، ایک اعشاریہ کے ساتھ کچھ. اور بے شک، وہ کیا ہے فلم بات کر رہا تھا وہ تیرتا کے بارے میں بات جب کے بارے میں نقطہ اقدار، بٹس کی کچھ مقررہ تعداد ایک حقیقی تعداد کی نمائندگی کرنے کے لئے استعمال کیا جا رہا. بلکہ ڈبلز بلایا چیزیں ہے. یہ، جاوا میں موجود آپ اے پی سی لے لیا ہے تو، اور ایک ڈبل، کے طور پر نام شکر ، سے پتہ چلتا ہے دو بار ایک فلوٹ کے طور پر طور پر بڑا ہے. یہ اب بھی ایک حقیقی تعداد ہے، یہ صرف زیادہ بٹس ہے جس کے ساتھ، پہلے سے کہیں زیادہ عین مطابق ہونا یا اس سے بھی بڑی تعداد کو ذخیرہ کرنے. INT کے لئے آسان ہے. ہم کہ آخری بار کے بارے میں بات. یہ صرف ایک عدد صحیح ہے. اور یہ عام طور 32 ہے بٹس، یا چار بائٹس. اور اس طرح، اگر آپ کے پاس،، اب دیکھتے ہیں 32 bits-- اور ہم 0 ہفتے میں نے یہ کیا، اگر آپ نے کبھی ایسا briefly-- 32 بٹس، سب سے بڑا ہے آپ کو ایک عددی طور پر نمائندگی کر سکتے ہیں کی تعداد؟ دے یا لے؟ یہ، 4 ارب کی طرح ہے اور یہ کہ ہم ہیں صرف اس صورت میں ہے مثبت تعداد صرف نمائندگی. آپ کے پاس 32 بٹس ہے، اور آپ چاہتے ہیں تو اس کے ساتھ ساتھ منفی تعداد کی نمائندگی کرتے ہیں، آپ کی حد بنیادی طور پر،، منفی ہے 2 ارب مثبت 2 ارب. لیکن عام طور پر، ہم شروع کریں گے 0 4 ارب تک جا. آپ واضح طور پر معلوم کرنے کے لئے ہے، لیکن نہیں بس میں تو ہم، حقیقت میں، یہ دیکھ سکتے ہیں یہاں، ایک چھوٹا سا کیلکولیٹر کو کھولنے. میں 32 2 ہے، اور کر سکتے ہیں کہ بالکل کتنا بڑا ہے، کتنی اقدار آپ کر سکتے ہیں 32 بٹس کے ساتھ، کی نمائندگی کرتے ہیں. اور یہ تقریبا 4 ارب ہے. تو ہم اس تعداد کو دیکھ کر جاری رکھیں گے چند مختلف مقامات میں. لیکن آپ کو اب کی ضرورت ہے تو اس سے تعداد، یہ وہاں ہے باہر کر دیتا ہے کچھ ایک طویل بلایا. اور ایک طویل طویل ہے عام طور پر 64 بٹس، جس اس شدت کے ایک حکم کا مطلب ہے ایک int سے بھی بڑا. تو میں بھی سب سے بڑا تلفظ نہیں کر سکتے آپ کی نمائندگی کر سکتے ہیں کی تعداد، لیکن یہ نمایاں طور پر بڑا ہے. اب ایک کے طور پر ایک طرف، تاریخی طور پر، ایک int 32 بٹیں ہے، اور ایک طویل طویل 64 بٹس، ہے کہ کس طرح بڑی ایک طویل، ایک طویل وقت ہے؟ تم نے اسے ایک int سے زیادہ ہے لگتا تھا لیکن شاید کم طویل کے مقابلے میں ایک طویل، لیکن یہ اصل میں کا انحصار. اور اس طرح یہ ایک باہر کر دیتا ہے بھی کوبٹھاوں، مخصوص نظام پر کوڈ لکھنے کے ساتھ، یہ ہے کہ ان اعداد و شمار اقسام کی تمام پہلے سے مقرر اقدار ہیں. کبھی کبھی یہ بہت بٹس ہے. کبھی کبھی یہ ہے کہ بہت سے بٹس ہے. تو آپ کو اصل جاننا ضروری ہے، کبھی کبھی، کیا ہارڈ ویئر تم پر اپنے سافٹ ویئر چل رہا ہے کر رہے ہیں. شکر ہے، دیگر زبانوں اور اب موجود ہے کہ دوسرے اعداد و شمار اقسام، آپ کو زیادہ عین مطابق کرنے کی اجازت دے. ٹھیک ہے، ہم، سٹرنگ دیکھا اور ہم بھی، bool کے دیکھا لیکن یہ ان لوگوں کے آنے باہر کر دیتا ہے صرف CS50 لائبریری کے ساتھ. لہذا ان کی تعمیر نہیں کر رہے ہیں سی میں ان کی بجائے، کہا جاتا ہے کہ فائل میں آتے ہیں میں، CS50.h کہ ہم آخر میں کروں گا کی تہوں واپس چھیل. لیکن اب کے لئے، وہ صرف ہیں اضافی اعداد و شمار اقسام. ایک bool ایک صحیح یا غلط، اور ایک ہے تار حروف کی ایک ہی تسلسل ہے، ایک لفظ کی طرح. اب printf کے، ہم نے دیکھا ہے، ہے جگہ دار،٪ s کو ایک ہے. اور آپ کو، اب، قابل ہو سکتا ہے ان دیگر مثالوں، کس طرح سے نتیجہ نکالنا آپ کو ایک پلیس ہولڈر کر سکتے ہیں مختلف اعداد و شمار اقسام کے لئے. مثال کے طور پر،، ایک اندازہ لے اگر استعمال کرتے ہوئے ایک چار باہر پرنٹ کرنے کے لئے کرنا چاہتا تھا printf کے، پلیس ہولڈر شاید٪ C ہے. اور آپ کو ایک باہر پرنٹ کرنے کے لئے چاہتے ہیں تو پلیس ہولڈر، میں نے کے ساتھ عددی. ٪ lld، ایک طویل طویل دشملو کی قیمت ہے لیکن طویل، کہ نقشے تو. سچل کے لئے اور پھر٪ F نقطہ قیمت یا ایک ڈبل کے لئے، تو کبھی کبھی وہ دوبارہ استعمال کر رہے ہیں مختلف سیاق و سباق میں. تو ہم دیکھتے ہیں اور استعمال کریں گے وقت گزرنے کے ساتھ ان میں سے کچھ. printf کے اور بھی دوسرے کام کرتا ہے اور حمایت دوسروں فرار انداز، اور کبھی کبھی، ان کے لئے ضروری ہیں. تو (ن) ایک نئی سطر ہے. الٹا سلیش T، کسی کرتا ہے ایک کوشش لینے کے لئے چاہتے ہیں؟ سامعین رکن: ٹیب. DAVID J MALAN: ٹیب. آپ اصل میں چاہتے ہیں تو ، ایک ٹیب نہیں باہر پرنٹ کرنے کے لئے خالی جگہوں کی ایک مقررہ تعداد لیکن ایک حقیقی ٹیب کردار، آپ کو اپنے ہٹ نہیں، کی بورڈ پر ٹیب، اہم، عام طور پر، آپ اصل میں الٹا سلیش T کرتے. الٹا سلیش ڈبل اقتباس، کیوں میں نے کبھی اس چاہتے ہیں؟ ٹھیک ہے؟ کیوں میں صرف ایک قسم نہیں کر سکتے ہیں اپنے کی بورڈ پر ڈبل اقتباس؟ سامعین رکن: دوسری صورت میں، یہ ہے، کیونکہ یہ آخر ہے سوچنے کے لئے جا آپ کے پرنٹ [پسند ہے؟ متن. ؟] DAVID J MALAN: بالکل. کے ساتھ، یاد ہماری printf کے طور پر، جب ہم ان پٹ میں printf سے گزر رہے تھے، کہ ان پٹ سٹرنگ کے بائیں پر اور یہ کہ ان پٹ کے دائیں موسم بہار، کورس کے، ایک ڈبل اقتباس تھا. اپنی خود کی ان پٹ ایک ڈبل ہے تو اس کے وسط میں اقتباس، کمپیوٹر ممکنہ طاقت کے طور پر، الجھن میں ہو، اس ڈبل اقتباس کرتا وسط میں سے تعلق رکھتے ہیں؟ یہ بائیں سے ایک کے ساتھ تعلق رکھتے ہیں ہے؟ یہ صحیح سے ایک کے ساتھ تعلق رکھتے ہیں ہے؟ اور اس طرح، آپ کو سپر بنانے کے لئے چاہتے ہیں تو واضح، آپ ڈبل اقتباس الٹا سلیش کرتے، یہ فرار ہے تاکہ، تو بات، اور یہ کچھ اور کے لئے conflated نہیں ہے. اور، یہاں چند دیگر افراد بھی موجود ہے الٹا سلیش R، ایک کی قیمت درج، 0، کہ ہم اس کے ساتھ ساتھ، وقت کے ساتھ دیکھ سکتے ہیں. اور اب، کیا کام کرتا ہے کے بارے میں؟ ہم اس طرح دور لے جا سکتے ہیں اعمال اس زبان میں، سی، کے ساتھ ساتھ، ہم نے دیکھا ہے، printf کے، کورس کی، اور تمام سکرین پر دوسروں کے، یہاں، ہم نے کے لئے استعمال کریں گے کہ صرف کورس کی پہلے چند ہفتوں کے، جب CS50 لائبریری آئے. اور وہ میں، یہ بہت آسان بنانے سی، اصل میں صارف کی ان پٹ حاصل کرنے کے لئے. یہ C میں پتہ چلا ہے کہ، اور واضح چند زبانوں میں، ایسا کرنے کی گردن میں ایک حقیقی درد ہے صارف کو فوری طور کی طرح سادہ کچھ، اس کا یا اس کی ان پٹ کے لئے کی بورڈ، کے لئے. اور اس طرح یہ کام کرتا ہے اس کو آسان بنانے. اور یہ بھی غلطی ہے بھر کی جانچ پڑتال، تو جب آپ کو، کہ بدھ ہم، پر یاد ،، دوبارہ کوشش کریں، انتباہ دیکھا میں تعاون نہیں کیا جب، اور میں نے ایک لفظ، اس کی بجائے ایک نمبر ٹائپ؟ ہم ابتدائی بھاری لفٹنگ کیا ہے پر صارف تعاون بات کو یقینی بنانا. لیکن یہ صرف تربیت کر رہے ہیں کہ ہم آخر میں کرے گا پہیوں، اور فوری طور پر، اتار. recap پر، تو، ایک فوری نظر ڈالیں، ہم سکریچ، میں کے ساتھ کیا زیادہ کی طرح C. میں کچھ وہیت تشکیل اس طرح، فراہم کرنا ہے کی، ایک بونڈر دورے ہو، صرف اس لئے کہ آپ کو ایک حوالہ ہے اور آپ سب سے پہلے میں چیزوں کو دیکھا ہے کہ. لیکن اس وقت ہم اصل کوڈنگ میں دیکھتا ہوں ان کی عمارت کے بلاکس میں سے کچھ کا استعمال کرتے ہیں. اتنا سکریچ کی طرح، ہم بیانات پسند تھا جب، C میں، ہم کرتے ہیں، انتظار، کہتے ہیں یا printf طرح کے طور پر اچھی طرح سے کام کرتا ہے،. ہم اگر ایک شرط کا اظہار کرنا چاہتے ہیں تو C میں، اس کی روح میں، اسی طرح کی ہے، کہ پہیلی ٹکڑا ہے کہ اسکریچ میں اس طرح دیکھا. بلکہ اس کی بجائے، ہم لفظی صرف تو، لکھنا. اور پھر، قوسین میں، ہم اگر ایک شرط رکھ، شرط یہ ہے کہ وہ کہاں ہے جو ہم کریں گے ایک بولین اظہار، پھر، فون. اور پھر، اس pseudocode کی طرح ہے. اور، اصل میں، // ایک تبصرہ ہے. یہ اپنے آپ کو صرف انگریزی الفاظ ہے. لیکن یہ عام ہے ایک، تو، حالت کی ساخت. لیکن ہم ٹھوس دیکھیں گے صرف ایک لمحے میں مثالیں. آپ کو ایک حاصل کرنے کے لئے چاہتے ہیں، تو راستے میں دو طرفہ کانٹا، زیادہ کی طرح ہم پر ہمارے رضاکار کے ساتھ کیا بدھ، آپ اور اگر، ایک کر سکتے ہیں. اور آپ کو ایک تہائی ہے کرنا چاہتے ہیں تو آخری حالت، یا پہلے سے طے شدہ کی صورت حال، تم وہاں، صرف ایک اور بلاک کر سکتے ہیں. اور اسی طرح، بولین اظہار کے ساتھ، آپ ان کے ساتھ، کر سکتے ہیں، اور. اور ہم، بدھ کے روز دیکھا کہ یہ ایک واحد ایمپرسینڈ نہیں ہے، یہ نچلے درجے وجوہات کی بنا پر، دو ہے کہ ہم آخر میں دیکھیں اور اس کے ساتھ کھیلونگا. چیزیں یا کنڈ 2 عمودی سلاخوں ہے. ایک امریکی کی بورڈ پر، اس ایک اہم عام طور پر ہے اوپر شفٹ بٹن کے ساتھ آپ کی چابی درج کریں یا اہم واپس جائیں. پھر ان چیزوں ہے کہ وہاں ہم ایک بار یا دو بار ہو سکتا ہے استعمال کریں گے. وہ فعل کے برابر ہیں تو اور کیا تو آپ، ایک کے ساتھ کر سکتے ہیں،، اور اور اگر، تعمیر، لیکن وہ ایک سوئچ کہا جاتا ہے کر رہے ہیں. وہ بہت مختلف ہیں، لیکن ہم کریں گے ہمارے تقسیم کے کوڈ میں سے کچھ میں دیکھ، ایک مستقبل مسئلہ سیٹ کے لئے، سب سے زیادہ امکان، یہ صرف کبھی کبھی ایک خوبصورت ہے کہ مجموعی اظہار کی راہ حالات کے گروپ، گھوبگھرالی منحنی خطوط وحدانی کی ایک بہت کے بغیر اور قوسین اور پوٹ کاری کی ایک بہت. لیکن انہوں نے ہمیں کوئی زیادہ دینا طاقت ہم نے پہلے ہی کے مقابلے میں. اور اب loops کے. اور یہ ایک، ہم نظر آئے گا زیادہ آہستہ آہستہ ایک چھوٹا سا میں. لیکن اس وقت، ہم ان کا استعمال کرنے کے لئے شروع کریں گے، خاص طور پر پہلے ہی سے واقف لوگوں کے لئے. یہ تو ناقابل یقین حد تک، وہیت طریقہ ہے جادو طریقہ، سی میں ایک لوپ لکھنے کے لئے اب اسکریچ میں ایک لوپ تھا خوبصورت براہ راست. آپ کو ایک، ہمیشہ، بلاک ہے. آپ کو ایک، دوبارہ، بلاک کے ساتھ ہے صرف ایک نمبر میں آپ ٹائپ کرنا ہے. اور، کے لئے لوپ کے ساتھ، آپ کر سکتے ہیں ، ان خیالات دونوں پر عمل درآمد لیکن یہ ایک چھوٹا سا زیادہ تکنیکی ہے. لیکن واضح طور سے، یہ بھی ہے نسبتا آسان. آپ کے حکم جانتے ہیں ایک بار آپریشن، آپ لفظی صرف اقدار میں پلگ کرنے کے لئے جا رہے ہیں اور کیا کرنا ہے کرنے کے لئے کمپیوٹر بتا. تو یہاں ایک مثال ہے. یہ ایک لوپ ہے، بہت بس، ایک نمبر سے شمار ایک ذریعے. اور صرف glancing کے کی طرف سے آپ کو کرنا پڑے یہاں تک کہ اگر، اس پر کے ساتھ کوئی پیشگی تجربہ اس زبان، کیا نمبر یہ شاید میں گنتی شروع ہوتی ہے؟ ٹھیک ہے، 0. اور میں اس وجہ سے آپ کو ہے اندازہ لگا رہا ہوں ، ایک int اور ایک میں ہے کہ وہاں دیکھیں جس میں ایک متغیر ہے. یہ 0 initialized ہے ہے. اور پھر بعد میں، اس طرح لگ رہا ہے ہم، ایک قدر printf کے گزر رہے ہیں. اور، اصل میں، میں یہاں ایک چھوٹا سا ٹائپنگ میں کوئی غلطی. لیکن اس سے آسانی طے ہے. مجھے یہاں، میں شامل ہیں. اب ہم printf کا وجود ہے کہ پلیس ہولڈر کی قیمت منظور. اور کے ذریعے شمار کرنے کے لئے کیا ہو رہا ہے؟ سامعین: 50. 50. 49. DAVID J MALAN: 49. تو 50، پہلی نظر میں، صحیح لگتا ہے. لیکن اس، یہ باہر کر دیتا، جا رہا ہے ہم جانچ پڑتال رکھنا کہ ہماری حالت. اور ہم ایک بار کو روکنے کے لئے جا رہے ہیں میں اب 50 سے بھی کم ہے. تو اس لوپ، کے برعکس، ہونا چاہئے اتنی دیر میں 50 سے بھی کم ہے کے طور پر، پھانسی. لیکن یہ 50 یا 51 ہو جاتا ہے کے طور پر جلد کے طور پر، یا بدتر، یہ خود بخود بند ہو جانا چاہئے. بالکل ٹھیک. تو کیا اصل میں یہاں کیا ہوتا ہے؟ تو اس کا حکم ہے ایک لوپ کے لئے آپریشن. ایک، آپ کو کرنا پڑے ابتدا نام نہاد. یہ پیلے رنگ پر روشنی ڈالی حصہ کوڈ کے، سب سے پہلے پھانسی دے دی ہے اور یہ اثر ہے کہ، فی ہے بدھ، آپ شاید سوچ بھی. یہ ایک متغیر میں اور یہ کہا جاتا ہے تخلیق کہ متغیر میں اسٹورز قدر 0. تو میں کہانی میں اس وقت ہے 0. اگلی چیز ہے کہ اس کی تعمیر میں ہوتا ہے، حالت کی جانچ پڑتال ہو جاتا ہے. تو میں، فوری طور پر جانچ پڑتال میں 50 سے بھی کم ہے؟ اور ظاہر کی، جواب اب کے لئے جی ہاں، ضرور، ہے. جی ہاں، میں، 0 ہے، اور اس وجہ سے کہ بے شک کم 50 ہے. پھر کیا ہوتا ہے، یہ ہے کہ ہے کوڈ کے مطابق پھانسی ہو جاتا ہے. اور حقیقت میں، اگر ایک سے زیادہ ہے ان گھوبگھرالی منحنی خطوط وحدانی میں کوڈ کی لائنیں، وہ سب کے سب ایک کے بعد ایک کو پھانسی دے دی ہو. اور یہاں کے اثر میں ہے، بظاہر، باہر پرنٹ کرنے کے لئے جا رہا ہے جس کی تعداد میں، 0، اور پھر 1، اور پھر 2 ہو. لیکن کیوں؟ کیوں یہ incremented حاصل ہے؟ ویسے، چوتھی بات یہ ہے کہ ہوتا یہ نحو ہے نیم وقفہ کے بعد، پھانسی ہو جاتا ہے. میں کہہ کا ایک آشلپی راستہ ہے + +؛ میں کی قدر لے، اور اس کے لئے 1 کا اضافہ؛ اور پھر اگلی بار، شامل اس کے لئے 1؛ اور اگلی بار، اس کے لئے 1 کا اضافہ. تو ہم جا رہو تو، کیا ہونے جا رہا ہے اگلے میں نہیں جا رہا ہوں ہے پھر کبھی میں ابتدا. میں ابتدا رکھا تو میں 0، اس مثال کیونکہ کبھی ختم نہیں کریں گے 0 میں پھنس جائے گا. لیکن کیا ہونے جا رہا ہے کیا ہے حالت چیک کیا جائے گا کہ، کوڈ کے مطابق پھانسی ہو جائے گا، میں، incremented کیا جائے گا حالت چیک کیا جائے گا، کوڈ کو پھانسی ہو جائے گا. اور یہ، ایک بار پھر سائیکلنگ رکھا اور پھر، اور پھر، میں جب تک + 50 کی قیمت حوصلہ افزائی. حالت تو، کا کہنا ہے کہ 50 کے مقابلے میں 50 سے بھی کم ہے؟ جواب، کورس کی، نہیں ہے، اور تاکہ پورے کوڈ عمل رک جاتا ہے. اور آپ کی سکرین پر زیادہ کوڈ ہے نیچے، کہ اگلے کیا ہوتا ہے. یہ گھوبگھرالی منحنی خطوط وحدانی سے باہر ٹمٹمانے اور اس کے بعد زیادہ پرنٹ کرنے کے لئے جاری ہے. تو FoxTrot سے اب ایک مذاق،، کہ آپ کو شاید اب سمجھ جائے گا. یہ ہمیشہ مذاق ہے. یہ منہ دبا ہںسنا کی طرح ہے قسم کے، نہیں percolate اور پھر آپ کو احساس تم نہیں کرنا چاہئے اس طرح ہنسی مذاق پر ہںس ہو. لیکن بعض takeaway ہے ہے یہاں، pedagogically، بھی. تو یہ مجھے پتہ چلا ہے کہ نحو کا ایک ٹکڑا لاپتہ، یا FoxTrot کی ایک لاپتہ یہاں نحو کا ٹکڑا. کیا ہم نے کیا ہے کہ، لاپتہ ہے ہر دوسری مثال میں، اس طرح اب تک؟ واپس تو، وہاں ہے کہ، کچھ اور ہے ہم طویل عرصے سے پہلے واپس آ جائیں گے کہ. کیا لاپتہ ہے، اگرچہ؟ جی ہاں. سامعین رکن: [اشراوی] کی ابتدا. DAVID J MALAN: ٹھیک ہے. تو جی ہاں. تو اصل میں، یہ اچھی طرح is--، اور شمار initialized ہے اوپر، یا بلکہ، اوپر کا اعلان کر دیا. تو یہ کرنے کی ایک اور طریقہ ہے. لیکن ایک ہی لائن میں اگرچہ درست ہے. کس طرح یہاں کے بارے میں؟ سامعین رکن: یہ گھوبگھرالی منحنی خطوط وحدانی ہے؟ DAVID J MALAN: جی ہاں. تو گھوبگھرالی منحنی خطوط وحدانی یاد کر رہے ہیں. لیکن اس کوڈ، میں ان کے کریڈٹ، مطلب، اصل میں، syntactically ہے درست ہے. یہ باہر کر دیتا ہے، آپ ایسا نہیں کرتے گھوبگھرالی منحنی خطوط وحدانی کی ضرورت ہے آپ کو صرف کوڈ کا ایک لائن ہے کہ آپ کو لوپ کے اندر پھانسی کرنا چاہتے ہیں. اب ہم ہمیشہ، کلاس میں اور ہمارے تقسیم کے کوڈ کے تمام، گھوبگھرالی منحنی خطوط وحدانی شامل ویسے بھی، صرف وضاحت کی خاطر. لیکن نصابی کتابوں میں اس بات کا احساس اور آن لائن مثالیں، تم بہت اچھی طرح گھوبگھرالی دیکھ سکتے ہیں کچھ لاپتہ منحنی خطوط وحدانی. اور یہ کہ، ٹھیک ہے اور اگر آپ پوٹ دار اور ارادہ کیا کوڈ کا صرف ایک لائن ہے، اور نہ ممکنہ طور پر کوڈ کا ایک سے زیادہ لائنوں،. بالکل ٹھیک. کے معاملے پر تو متعلقہ گئی imprecision،، اتپرواہ کا مسئلہ ہے ان معنوں میں کہ، اسی طرح، integers کے ان کی حدود ہیں صرف نقطہ اقدار تیرتا کی طرح؟ دنیا کو ایک چل نقاط میں اقدار، ہم صرف، تو عین مطابق ہو سکتا ہے کبھی کبھی، جس کے بعد بری چیزیں ہو سکتا ہے، اور ہمارے پروگراموں چھوٹی گاڑی اور غلطی ہو سکتا ہے. اب بھی integers کے ساتھ، آپ کے مسائل میں چلا سکتے ہیں. اب ایک عددی ایک نہیں ہے دشملو نقطہ یا اس کے بعد نمبر. یہ عام طور پر، صرف ایک قدرتی تعداد ہے. تو ایک int کے ساتھ غلط کیا جا سکتا ہے؟ میں ایک int کے لئے استعمال کر رہا ہوں ، غلط کیا جا سکتا ہے شمار؟ ایک بہت آسان لگتا ہے. جی ہاں. سامعین رکن: اگر تعداد ہو جاتا ہے [اشراوی] DAVID J MALAN: جی ہاں. آپ، اتنا زیادہ اعتماد آپ کہ اگر کیا کہ واقعی بڑی تعداد کا اظہار نہیں کر سکتے ہیں. ٹھیک ہے؟ کچھ وقت، تم جا رہے ہو حدود سے تجاوز کرنے کی ایک 32 بٹ کی قیمت یا ایک 64 بٹ کی قیمت کا. اب ایک بار پھر، میں نے کس طرح اس بات کا یقین نہیں ہوں ایک 64 بٹ کی قیمت ٹھہرای، لیکن میں نے ایک 32 بٹ عددی کے ساتھ جانتے ہیں، یہ ہو سکتا ہے سب سے بڑی قدر، یہ صرف مثبت ہے تو اقدار، تقریبا 4 ارب روپے ہے. میں نے 5 ارب شمار کرنے کی کوشش تو، کچھ ہونے جا رہا ہے. لیکن حقیقت میں، ہو سکتا ہے، دیکھتے ہیں. عددی کی دنیا میں اتپرواہ، جہاں آپ کو ایک معنی میں، ایک کی صلاحیت اتپرواہ عددی، کیا ہو سکتا ہے؟ تو یہاں ایک بائنری تعداد ہے، یہ 0 کے لئے ایک throwback ہے. یہ 1، اور جگہ ہے وہاں، 2 کے اختیارات ہیں، تو یہ بائنری ہے. تو ان کی سکرین پر 8، 1 بٹس ہیں. اور آپ کو یاد ہے یا آپ کو تیزی سے ریاضی کرتے ہیں، کیا قیمت کی نمائندگی کی جا رہی ہے یہاں ان آٹھ بٹس کے ساتھ 1؟ 255. اور آپ کو بہت یقین نہیں تھے یہاں تک کہ اگر ریاضی کے، آپ اسے باہر کر سکتے ہیں. یا آپ کو صرف قسم سکتا کی وجہ سے اس کے ذریعے، میں ہوں تو، ایک منٹ رکو ایک 8 بٹ کی قیمت کی نمائندگی کرنے والے، اور میں 256 ممکنہ اقدار مل گیا ہے، لیکن جس کی پہلی، 0 ہے میں صرف جانتے ہیں کہ سب سے بڑا، 255 جا رہا ہے اور یہ کہ اس سے ایک ہو سکتا ہے. تو میں نے اس کی قیمت کے 1 کا اضافہ کرنے کی کوشش لگتا. آپ گریڈ میں کیا کریں گے اسکول ایک 1 انہوں نے مزید کہا، اور یہ جب واقعی کیونکہ کے قابل نہیں ہے آپ 1 لے جانے کے لئے ہے؟ جا اس نمبر کیا ہے آپ 1 کا اضافہ جب بننے کے لئے؟ یہ 0 بننے جا رہی ہے. ٹھیک ہے؟ آپ کو زیادہ bits-- تھا اور کیونکہ اگر میں کروں گا ، قسم کی، کرنے کی کوشش کریں یہاں اسے باہر ٹائپ ہم زیادہ سے زیادہ بٹس، تھا تو کیا ہم 1 شامل ہے یہاں کر سکتے ہیں، اور پھر ہم اس کو حاصل تھا. افوہ. ہم یہاں پر ایک 1 بٹ کے تمام راستے پڑے گا. لیکن یہ ایک تبدوست ہے قیمت، یہ صرف 8 بٹس ہے، اور یہ کہ پہلے سے مقرر ہے کمپیوٹر کی طرف سے، 1 کہ مؤثر طریقے سے نہیں ہے. یہ قسم کی ایک پہاڑ سے آتا ہے. اور اس طرح آپ 255 1 کا اضافہ تو کیا آپ بظاہر قیمت حاصل کرتے ہیں؟ 0. اور اتفاقی طور پر اعداد و شمار تو، اور شاید، غیر ارادی طور پر، اس طرح کے ارد گرد ریپنگ کی ختم. تو کیا اس کا مطلب یہ ہو سکتا ہے؟ ٹھیک ہے، ایک کچھ مختلف چیزیں ہے. تو ایک، یہ دیکھ کر ختم ہوتا ہے 0 طرح، غیر ارادی طور پر، لیکن آپ کی قسم، دیکھ سکتے ہیں یہاں تک کہ حقیقی دنیا میں، بہتر کے لئے یا برے کے لئے، ایک حد کے اس خیال کی توضیحات. مثال کے طور پر، تم میں سے کسی کے لئے کون کبھی Lego سٹار وار ادا کیا ہے، کسی کو پتہ ہوتا ہے سککوں کی زیادہ سے زیادہ تعداد آپ Lego سٹار وار میں جمع کر سکتے ہیں؟ کی بنیاد پر ایک اندازہ لے آج کی اہم سوالات. یہ 256 یا 255 سے بھی بڑا ہے. یہ 4 ارب ہے. تو یہ باہر کر دیتا ہے، اور کچھ قوم ہے کچھ ہیں Googling تصدیق آخری رات 4 ارب سونے کے سککوں حاصل ہے، یا Lego سٹار وار میں whatnot کے،. بظاہر اگرچہ، وہاں ہے ایک راستہ کھیل کو جھانسہ میں لینے، ایک مسئلے یا خصوصیت ہے، کہ آپ کی اجازت دیتا ہے صرف بہت سے اور پوائنٹس کے بہت سے جمع. لیکن سب سے بڑی ممکن قیمت، مطابق کسی میں اس کی سکرین شاٹ کے لئے آن لائن پایا،، یقینا 4 ارب ہے. اب کیوں ہے؟ یہ خاص طور پر 4 ارب ہے شاید کسی فیصلہ کیا ہے کیونکہ، جو اس کھیل لکھ رہا تھا، وہ 4 ارب کر سکتے ہیں کہ، کچھ، کچھ، کچھ، قدر کی طرح میں ڈال دیا کیلکولیٹر کے ساتھ پہلے، لیکن یہ انسانوں کے لئے صرف ایک چھوٹا سا صاف ستھرا ہے زیادہ سے زیادہ تعداد کا کہنا ہے کہ coins-- یا studs کی، وہ آپ کو اس غار فون کے طور پر جمع کر سکتے ہیں 4 ارب ہے. اور اس طرح، یہ کیوں ہے؟ گانے، نغمے Lego کھیل ہے کاؤنٹر پر عمل درآمد اس کا ٹریک رکھنے ہے آپ کو کرنا پڑے سککوں کی تعداد؟ وہ کیا استعمال کر رہے ہیں؟ سامعین رکن: یہ بند ہو جاتا ہے 4 ارب کے بعد گنتی. DAVID J MALAN: یہ بند ہو جاتا ہے 4 ارب کے بعد گنتی، جو آپ کر سکتے ہیں کا مطلب ہے کہ ایک پروگرامر کے طور پر، اندازہ، وہ شاید ہیں ایک 32 بٹ عددی استعمال. پروگرامر کی طرح لفظی صرف ٹائپ، INT، اس کا یا اس کوڈ میں، اور اس متغیر کی قسم ہے کہ وہ کسی کے کوڈ کو ذخیرہ کرنے کے لئے استعمال کر رہے ہیں. تو دوسرے توضیحات ہے حدود کی اس قسم کے. تو میں نے اس game-- نہیں کھےلا ہے اور میں تاریخ پر پڑھ رہا تھا much-- لیکن کے طور پر میں اس بات کی تصدیق کرنے کے لئے تہذیب، جہاں کے اصل ورژن آپ بظاہر ہر ایک کے ساتھ بات چیت دوسرے اور جنگ یا امن ہو سکتا ہے، گاندھی میں سے ایک ہونا چاہیے تھا سب سے زیادہ پرامن حروف، کے طور پر میں سب سے پہلے میں، یہ سمجھ تہذیب کے ورژن. اور حقیقت میں، 1 سے 10 کے پیمانے پر، ان کے aggressiveness صرف ایک 1 تھا. تو کبھی اتنی نرمی جارحانہ، بظاہر. لیکن کچھ نقطہ پر، آپ کو بظاہر کر سکتے ہیں آپ کے جغرافیہ میں جمہوریت انسٹال. اور آپ کو جمہوریت انسٹال ہے تو کھیل کے ورژن میں، پھر اپنے جارحیت کی سطح کو نیچے جاتا ہے. یہ ایک اچھی بات ہے. لوگ زیادہ اورتم ہیں بظاہر، اس صورت حال میں. لیکن بظاہر، کسی نے ایک، تو، شرط نہیں کوڈ کی اصل ورژن میں. تو گاندھی کی جارحیت کی سطح سے چلا گیا 1 مثبت، مائنس 2، 1 منفی، لیکن کھیل نہیں ہے منفی تعداد کو سمجھنے. تو کیا ہوا گاندھی کی جارحیت تھا سطح، 1 منفی، 0، 1 سے چلا گیا کا اثر تھا جو ہونے کی وجہ سے ارد گرد ریپنگ سب سے زیادہ جارحانہ کردار اس کھیل میں، 255 کی قدر میں، 10 سے 1 کے پیمانے پر. اور اس کے بعد، وہاں رہا ہے اس کھیل سے زیادہ اوتار، اور وہ کے طور پر رکھ دیا ہے ایسٹر انڈے کی ایک قسم، گاندھی بظاہر ہے اتنی بری طرح جارحانہ. لیکن یہ ایک کا نتیجہ تھا بہت آسان پروگرامنگ غلطی کھیل کے اس ورژن میں بہت جلد. اب زیادہ پریشان کن، مزید حال ہی میں، بوئنگ 787 ایک ہونے کے طور پر دستاویزی کیا گیا تھا آلہ کے مسئلے سے، نہ قسم آپ کو خاص طور سے ایک مسئلے سے ہے کرنا چاہتے ہیں. اور علامات، کہ میں پڑھیں گے یہاں، آن لائن ایک مضمون سے، یہ ایک ماڈل 787 ہوائی جہاز تھا مسلسل چلنے والے کیا گیا ہے 248 دنوں کے لئے تمام کھو کر سکتے ہیں موجودہ ردوبدل، اے سی، کی وجہ سے بجلی، جنریٹر کنٹرول یونٹس، GCUs، ایک ہی وقت میں ناکام-محفوظ موڈ میں جانے. تو اس سے جاری ایک انتباہ تھا اس مسئلہ دریافت کیا گیا تھا جب. یہ شرط کی وجہ سے ہے ایک سافٹ ویئر کی طرف سے انسداد، ، GCUs اندرونی تو ایک عددی یا ایک متغیر، 248 کے بعد مرضی اتپرواہ مسلسل بجلی کے دنوں. بوئنگ کے عمل میں ہے ایک جی سی یو سافٹ ویئر اپ گریڈ کی ترقی ہے کہ غیر محفوظ حالت کا علاج کریں گے. میزائل کی طرح اتنا منظر نامے، جس وہ متغیر کی کسی قسم تھی کہ، گنتی، اور گنتی گیا اور گنتی، لیکن آہستہ آہستہ overflowing کر اس کی صلاحیت کی حدود، اسی طرح لات ہوائی جہاز کیا ایک متغیر اتپرواہ ہے چلانے کے لئے کافی وقت کے بعد. اور اس زبان میں گال طریقہ اس مسئلے کے ارد گرد کام کرنے کے واقعی، ربوٹ، آپ کے ہوائی جہاز ہر کرنے کے لئے ہے میموری مسح جاتا ہے تا کہ 247 دن، اور متغیر 0 واپس چلا جاتا ہے. لیکن احساس، یہ ایک بہت ہے سافٹ ویئر کی بڑی اوتار، لیکن ہم ایپل کے بارے میں سنا ہے، خاص طور پر گاڑیوں میں جا آپریٹنگ سسٹم، اور گوگل کی طرف سے گاڑیوں خود ڈرائیونگ، اور سافٹ ویئر کی incarnations کی کسی بھی تعداد ہماری روز مرہ زندگی، ٹی وی میں اور گھڑیاں، اور زیادہ، سافٹ ویئر کی طرف سے گھیر لیا گیا احساس، جن میں سے ہم سب انسانوں کی طرف سے لکھا گیا ہے. اور ہم سب جلد ہی دریافت کریں گے کے طور پر، یہ بہت آسان ہے اور بہت عام ہے سافٹ ویئر لکھنے جب غلطیوں کو بنانے کے. اور آپ ان کو پکڑنے نہیں ہے تو، کچھ بری چیزیں ہو سکتا ہے. اب کبھی کبھی، کچھ مضحکہ خیز چیزیں، ہو سکتا ہے یا کم از کم کبھی کبھی ہم کچھ برائی کی توقع کرنا جانتے ہیں. تو 0 گریڈ سے، 0 کی طرف سے تقسیم اسکول، عام طور پر ایک بری چیز ہے. یہ جانچ ہے. اور یہ out-- بدل جاتا ہے اور اگر دیکھتے ہیں اس منتخب کر سکتے ہیں میری مائک کہ ایپل up-- حال ہی میں اس کے ساتھ کچھ مزہ تھا. تو میں یہاں ایک فون ہے. میں سری سے بات کرنے اور اس سے کہنے جا رہا ہوں مجھے 0 سے تقسیم 0 کا جواب دینا. 0 0 کی طرف سے تقسیم کیا گیا ہے کیا؟ سری: 0 ہے کہ ذرا تصور کریں کوکیز، اور آپ کو یکساں طور پر انہیں تقسیم 0 دوستوں کے درمیان. ہر شخص کتنی کوکیز حاصل کرتا ہے؟ دیکھ رہے ہو؟ یہ مطلب نہیں ہے. اور کوکی مونسٹر دکھ کی بات ہے کوئی کوکیز وہاں ہو. اور تم اس دکھ کی بات ہے آپ کو کوئی دوست ہیں. DAVID J MALAN: یہ نفرت کی طرح ہے. تو یہ صرف وہاں کہا گیا ہے. یہ اس کی وضاحت نہیں ہے، indeterminate ہے، اور بے شک، بہت سے پروگرامنگ زبانوں یا، واقعی، compilers کے گا جب آپ کو ایک پروگرام میں، کا پتہ لگانے کے، 0 0 تقسیم کرنے کی کوشش. یہ اگرچہ مقابلے میں زیادہ مزہ ہے، بظاہر، کوکی مونسٹر ان دنوں ٹویٹر پر ہے. اور وہ اس کے ساتھ، اس کا جواب دیا، جو بالکل پیارا ہے. لیکن میں ایک فوری نظر ڈالیں دیگر تشکیل کے ایک جوڑے، اور پھر اس کے کچھ ڈال کوڈ اچھا طریقوں سے، استعمال کرنے کے لئے. تو اس کے علاوہ، باہر کر دیتا ہے loops کے لئے، وہاں ہے کہ کچھ، تھوڑی دیر کے لوپ ملاقات مختلف لگ رہا ہے اور لاگو کیا جاتا ہے ایک چھوٹا سا differently-- اور ہم آخر میں examples-- دیکھیں گے لیکن کچھ معنوں میں، یہ اس کی وجہ سے آسان ہے آپ کی ابتدا کرنے کی اجازت نہیں ہے اور لوپ کی حد کے اندر اندر اپ ڈیٹ. تم نے ابھی تک اس پر عملدرآمد کر سکتے ہیں. تو تم بالکل وہی چیزیں کر سکتے ہیں تھوڑی دیر کے لوپ کے ساتھ، لوپ کے لئے ایک کے طور پر، لیکن آپ نحو، ultimately-- ہم آخر میں گے کے طور پر دیکھتے مختلف ہونے جا رہا ہے. مت، جبکہ لوپ بھی ہے جس ، اصل میں تھوڑا سا مختلف ہے کہ ایک جبکہ لوپ میں اور ہمیشہ ایک جبکہ لوپ تو سب سے پہلے ان کی حالت کی جانچ پڑتال آپ، سب سے نیچے یہ بات سب کو پڑھنے کے یہ کرنے کے لئے جا رہا ہے کی طرح اس قسم کی لگتا ہے یہ آخری وجہ سے اس کی حالت کی جانچ پڑتال کوڈ کی صحیح معنوں میں آخری لائن. اور بے شک، کہ یہ مفید ہو جا رہا ہے ہم لکھتے ہیں کہ بعض پروگراموں میں، آپ کو صرف آنکھ بند کر کے کچھ کرنا چاہتے ہیں تو اور آخر میں حالت کی جانچ پڑتال. یہ ضروری نہیں کہ ایک بری چیز نہیں ہے. ہم متغیر کرنا چاہتے ہیں تو، ہم کر سکتے ہیں یہ مختلف طریقوں میں سے ایک جوڑے میں. اور ہم FoxTrot میں دیکھا کارٹون، یہ کرنے کے لئے ایک طریقہ، جہاں آپ کو آپ متغیر کا اعلان، INT انسداد نیم وقفہ طرح، اور پھر شاید اگلی later-- لائن، شاید 10 لائنیں later-- آپ اصل میں اس کی ابتدا. کوڈ کی تو ان کی 2 لائنیں قسم int ایک متغیر کا اعلان یہ فراہم کرتا ہے تو، انسداد کہتے ہیں مجھے کافی بٹس ایک int کے انعقاد کے لئے. اور پھر آخر میں، یہ رکھتا ہے کہ متغیر میں قدر 0. یہ ایک 0 اور 1 کا انتظام پیٹرن، ہم نے گزشتہ ہفتے سے جانتے ہیں کہ، ہم 0 کے طور پر جانتے تعداد کی نمائندگی کرتا. یا واضح طور سے، آپ کو اتنا کر سکتے ہیں مزید succinctly، صرف اس طرح. اب ہم بھی افعال کال کرنے کی صلاحیت. اور حقیقت میں، یہاں ایک 2 لائن ہے پروگرام، یا اس ایک اقتباس، کہ اصل میں کرنے کی اجازت دیتا کچھ کوڈ لکھتے ہیں کہ user-- سے ایک تار ہو جاتا ہے زیادہ سے زیادہ ہمارے رضاکار ایک لمحے کی طرح ago-- نتیجہ میں ذخیرہ نام نامی ایک متغیر، اور then-- زیادہ ہمارے رضاکار کے ساتھ کی طرح ان اقدار printf-- پرنٹس کے ساتھ دو دلائل میں گزرنے کی طرف سے، سٹرنگ، متغیر کے بعد ، نام، خود بلایا. تو پہلے، ایک نظر ڈالیں ہم وہاں واپس ماریو آئے اس کی اب، مثالوں کی ایک جوڑے کو. میں آگے اور کھلے جانے کے لئے جا رہا ہوں اپ، کی تقریب 0.c، کا کہنا ہے کہ. اور ہمیشہ کی طرح، اس کوڈ آن ہے کورس کی ویب سائٹ پر دستیاب، تو آپ کو ساتھ ادا کر سکتے ہیں گھر اور بعد میں اس کی طرف دیکھو. یہ ہے میں لیکن یہاں پروگرام ہے لائن 17 سے 22 جوہر،. اہم پروگرام ہے جہاں پروگرام ہمیشہ شروع کرنے کے لئے کی جا رہی ہے. یہ پروگرام، بظاہر، جا رہا ہے ، بڑی آنت آپ کا نام باہر پرنٹ کرنے کے. اس کے بعد، GetString کے فون کرنے کے لئے جا رہا ہے جیسا ہم نے اپنے رضاکاروں کے ساتھ کیا تھا. اور پھر، اس، دلچسپ ہے یہ PrintName فون کرنے جا رہا. یہ وہاں،، یہ سب اس وقت باہر کر دیتا ہے PrintName نامی ایک تقریب ہو رہا ہے. وہ کسی کا نام پرنٹ. ہم سے printf استعمال کرنے کے لئے کی ضرورت نہیں تھی پرانے، PrintName ہے. لیکن اس گمراہ کن ہے PrintName نہیں ہے کیونکہ سی لوگ نہیں کیا کے ساتھ آئے 40 یا 50 سال پہلے یہ ایجاد، میں بجائے، کیا. اور حقیقت میں، میں سکرال مزید، نوٹس نیچے میں اپنے لکھ سکتے ہیں کس طرح سی میں کام کرتا ہے ہم آخر میں کروں گا ہم کہہ رہو کیوں کی وضاحت، باطل، چند ایسی جگہوں میں، لیکن آج کے لئے، چلو صرف نام دیکھو. لائن 24 پر، آپ چاہتے ہیں تو ، اپنی خود کی تقریب تخلیق آپ لفظی لکھنا تقریب کے نام. میں PrintName انتخاب کیا ہے. قوسین میں، آپ پھر وضاحت کس قسم آدانوں، اور تم میں سے کتنے اس تقریب لے جانا چاہتا ہوں. اس صورت میں، میں لے جانا چاہتا ہوں کہا جاتا 1 متغیر، نام، اور اس کی ہونے جا رہا ہے قسم، سٹرنگ، تو یہ جا رہا ہے حروف میں سے کچھ تسلسل ہونا. اور پھر، اس پروگرام اسکریچ میں زیادہ کی طرح، آپ اپنی مرضی کے پہیلی کے ٹکڑے ٹکڑے کر سکتے ہیں یہ اپنی مرضی کے رویے کی جا رہی ہے. یہ printf کو فون کرنے جا رہا ہے میں گزر، ہیلو، پلیس ہولڈر، اور پھر اس میں پلگ کرنے جا رہا ہے جو کچھ بھی میں صارف بلایا. تو اس کی ایک مثال ہے ایک کمپیوٹر سائنسدان گے کال تجرید یا فعال صرف ہیں جو سڑن، saying-- اگر کی پسند طریقوں آپ کو اس اعلی سطح تصور کو پسند جیسے میں فعالیت چاہتے ہیں کہ تم بالکل، کسی کا نام پرنٹس لفظی پھر printf لکھیں اور کر سکتے ہیں آپ چاہتے ہیں دلائل میں منتقل، اور پروگرام کام کریں گے، بدھ کے بعد سے ہے کے طور پر. لیکن آپ کو دور خلاصہ شروع کر سکتے ہیں ایک نام پرنٹنگ کے تصور. تم نے اسے ایک نام دے سکتے ہیں، PrintName، اور اس طرح 0 ہفتے سے layering کے اس کا خیال ہے. اب، مجھے اور آپ کو معلوم کرنے کی ضرورت نہیں یا PrintName لاگو کیا جاتا ہے کس طرح دیکھ بھال. ہاں یہ ہو سکتا ہے، printf کا استعمال کرتا جو استعمال کرتا جانتا ہے، نہیں ہے؟ کسے پرواہ ہے؟ اب میں یہاں بات کر رہا ہوں، بجائے یہاں سے. اور یقینا، ہمارے پروگرام کے طور پر زیادہ جدید اور جدید ترین، حاصل کی جاچکی کے لئے ہم لے جا رکھنے کے لئے جا رہے ہیں کم سطح پہیلی کے ٹکڑے ٹکڑے موجود ہے کہ. ہم نے انہیں لکھا کیونکہ یا کسی اور تو، کیا تو ہم ان میں سے سب سے اوپر پر تعمیر کر سکتے ہیں. کی اس پر ایک نظر ڈالیں مختلف، ایک تقریب. تو یہ ایک چھوٹا سا زیادہ ہے اعلی درجے کی، لیکن یہ باہر کر دیتا ہے CS50 کی لائبریری میں ہے کہ، صرف ایک GetInt تقریب ہے. ہم، سال پہلے، میں نہیں سوچا تھا ایک GetPositiveInt تقریب کو لاگو. اور یہ کہ ایک چھوٹا سا پریشان ہے کیونکہ اگر تم لوگوں کو ایک پروگرام جس لکھ رہے ہیں آپ کو ایک مثبت حاصل کرنا چاہتے ہیں صارف کی طرف سے عددی، تم بالکل GetInt کا استعمال کر سکتے ہیں. اور تم بالکل ساتھ چیک کر سکتے ہیں حالت اور شاید ایک لوپ کہ INT زیادہ ہے اور 0 سے صارف کو چللاو وہ یا وہ نہیں دیتا تو آپ کو ایک مثبت نمبر. لیکن اس کی تعمیر دو عمارت، ایک خود بلاک، اپنی مرضی کے مطابق سکریچ ٹکڑا، اگر آپ. میں ایک پروگرام ہے جا رہا ہوں کہ یہاں آخر میں، میں فون کرنے کے قابل بننا چاہتا ہوں GetPositiveInt، اور میں بننا چاہتا ہوں کہ int ہے جو باہر پرنٹ کرنے کے قابل. لیکن یہ اب دور پر abstracted ہے. یہ صرف ایک اعلی سطح دیا گیا ہے یہ کیا کرتا ہے کا کہنا ہے کہ نام، یہ ہے کیونکہ بہت اچھا ہے جس پڑھنے کے لئے اب بہت بدیہی. مجھے اس کی پرواہ کرتے ہیں تو اور کیا نیچے ہے ڈاکو، مجھے ذیل میں سکرال. اور یہ دھمکی ایک چھوٹا سا ہے سب سے پہلے میں، خاص طور پر یہ آپ کی پہلی پروگرام ہے تو، لیکن ایک نظر ڈالیں. میں اب، باطل، کہہ رہا ہوں یہ کام باہر کر دیتا ہے کیونکہ، زیادہ GetString طرح، کر سکتے ہیں مجھ سے ایک قدر واپس. وہ صرف نہیں ہے پردے پر پرنٹ کرنے کے لئے، وہ اصل میں حوالے کر سکتے ہیں مجھے واپس کچھ. اور PrintName پہلے جبکہ، میں نے کچھ واپس کی ضرورت نہیں تھی. میں ضمنی اثر کی ضرورت ہے کچھ، کی سکرین پر دکھا لیکن میں ایک انسان کی ضرورت نہیں تھی مجھ سے کچھ واپس حوالے کرنے. یہاں، GetPositiveInt ساتھ، میں GetInt کے ساتھ کی طرح، میں واپس کچھ دیا جائے کرنا چاہتے ہیں. تو میں نے،، باطل نہیں کہہ رہا ہوں 23 لائن، لیکن int پر، جس کا کہنا ہے کہ، اس تقریب میں لکھ رہا ہوں کہ، GetPositiveInt جا رہا ہے کہا جاتا ایک عددی، کچھ بھی نہیں مجھے واپس ہاتھ، باطل نہیں. دریں اثنا، یہ کوئی لے جا رہا ہے آدانوں، تو میں، قسم کی، اس کے الٹ ہے. میں GetPositiveInt کوئی نہیں دے رہا ہوں ان پٹ، میں یہ میرے اس کی پیداوار دینا چاہتا ہوں. اور پھر اب کیا ہوگا؟ تو یہاں میں ایک متغیر کا اعلان کر سکتے ہیں کہ کس طرح ہے. میں، لوپ سے باہر یہ کیا ہے ہم آخر میں دیکھیں گے وجوہات کی بنا پر، لیکن یہ صرف ہے مجھے 32 بٹس کہا جاتا ہے، (ن)، اور میں پہلے سے تعین ہے ان عددی ذخیرہ کرنے کے لئے. اور یہاں،، تعمیر جبکہ ہے یہ مفید ہے اور یہ ہے کیوں. لفظی ایسا، N 1 سے بھی کم ہے جبکہ. تو کیا ہوتا ہے دیکھتے ہیں. میں، براہ مہربانی باہر پرنٹ مجھے ایک مثبت INT دے. میں تو CS50 کا استعمال کرتے ہوئے، ایک int حاصل کام اور (ن) میں ذخیرہ. اور پھر، جو کوڈ کے مطابق شاید منطقی طور پر، اگلے پھانسی ہو جاتا ہے؟ جس میں لائن نمبر؟ جی ہاں، تو 31. آپ نے جب تک کہ آپ کو یہ پتہ نہیں کریں گے کہا یا کی طرح یہ اندازہ کیا گیا، لیکن یہ سچ ہے. یہ اوپر سے نیچے جاتا ہے اور پھر دہرا رکھتا. میں تعداد، کا کہنا ہے کہ میں ٹائپ ہے تو 1 منفی، 1 منفی ن بھی کم ہے؟ جی ہاں. 1 منفی 1 کے مقابلے میں کم ہے کیونکہ. تو کیا ہونا چاہئے؟ میں ایسا کرنے جا رہا ہوں (ن) سے بھی کم 1 ہے، تو میں واپس لائن 28 پر جانے کے لئے جا رہا ہوں. اور ہر ہیں وقت اور کی this-- چلاتے ہیں تقریب 1 اسے مرتب کرنے کے لئے بنانے، اور اب تقریب 1 ڈاٹ سلیش. میں منفی 1 ٹائپ کریں، یہ ہے مجھ پر چللا رکھنے کے لئے جا میں ہر کیونکہ تعاون تک میری آدانوں سے کم 1 ہے اور اس سے بھی کم 1 جبکہ تو، میں نے یہ کر رکھنے کے لئے جا رہا ہوں. میں نے آخر میں 50 کی طرح یہ ایک نمبر دے تو، شکر ہے، یہ 50 کے لئے شکریہ، کا کہنا ہے کہ. کیوں؟ (ن) سے کم نہیں ہے کیونکہ جیسے ہی کے طور پر 1، میں، اس لوپ میں پھنس ملنا بند اور اس نئے مطلوبہ الفاظ آج، واپسی، لفظی ہے کہ کرتا ہے. تو میں صرف ایک میں، کو لاگو کیا ہے احساس، GetString کی برابر، جہاں میں واپس حوالے کر رہا ہوں جو، کچھ قدر مجھے استعمال کر رہا ہے. یہ ہو کی ضرورت نہیں ہے ایک تار، یہ ایک int ہے. فوری، تو ایک سادہ مثال کے طور پر، لیکن ہم جلد ہی کروں گا کچھ زیادہ نفیس دیکھیں اب بھی ورژن. اصل میں، ایک پر ایک نظر ڈالیں return.c کہا جاتا ہے عددی ایک،. اور یہ ایک اصل ہے ایک چھوٹا سا آسان. لہذا اس پروگرام کے مقصد میں life-- مرتب اور اسے چلاتے ہیں، تو ڈاٹ، واپسی بنانے کے سلیش، واپس لوٹنے نوٹس پروگرام صرف 2 قدر کیوب. یہ مشکل خوبصورت بیوکوف ہے ہے کوڈ، یہ کسی بھی آدانوں نہیں لے کرتا ہے، لیکن یہ ایک اور مظاہرہ کرتا ہے میں نے خود لکھا ہے کہ تقریب. تو یہاں، میں اعلان کر دیا ہے ایک متغیر،، قسم int، X نامی نمبر 2 کے برابر، مکمل طور پر صوابدیدی. یہ کچھ بندوق پرنٹنگ ہے. یہ X کا کہنا ہے کہ اب، اس طرح اور اس طرح، cubing ڈاٹ ڈاٹ ڈاٹ. اور جادو لائن 21 میں بظاہر ہے. میں، کہا جاتا کیوب ایک تقریب میں بلا رہا ہوں، میں نے اس کے کاغذ کی ایک شیٹ کے حوالے کر رہا ہوں اس پر لکھا نمبر 2 کے ساتھ، اور کیا قیمت، ریاضی، میں اس سے باہر حاصل کرنے کے لئے چاہتے ہیں؟ بس ایک وویک چیک کے طور پر؟ 8. ٹھیک ہے؟ 2 2، واپس cubed ہے چاہتے 3 میں سے اقتدار، 8 واپس. تو جہاں کیوب لاگو کیا جاتا ہے؟ ٹھیک ہے، یہ یہاں نیچے لاگو کیا ہے محسوس. اور پہلے کی طرح، منطقی طور پر، بھی نحو شاید ہے اگرچہ تم میں سے بہت سے لوگوں کو بہت نئے، میں اس تقریب چاہتے کی ایک شیٹ مجھے واپس حوالے کرنے اس پر ایک int کے ساتھ کاغذ. تو میں نے ایک int ہے، نام، منمانے ہے لیکن آسانی سے کہا جاتا کیوب. اس کے لئے ان پٹ، (ن) ہے تو کہ ہے، عددی ٹائپ میں بڑی تعداد میں منتقل کر سکتے ہیں کہ کس طرح کاغذ کی ایک شیٹ پر 2. اور پھر یہ سی کی حمایت کرتا ہے باہر کر دیتا ہے ریاضی، لہذا آپ کو، اوقات کے لئے ایکس کی ضرورت نہیں ہے آپ کو صرف ستارے استعمال ضرب کے لئے. اور اس (ن) اوقات (ن) اوقات واپس صرف ایک cubed کی قیمت ہے جو ن،. تو ہم کہاں اس سب کے ساتھ جا رہے ہیں؟ یہ یقینی طور پر ایک ہے بونڈر دورے، یقین دہانی کرائی آرام، کہ سپر حصوں میں اور مسئلہ میں، 1 سیٹ آپ کے ذریعے چلا گیا کیا جائے گا یہ سب سے زیادہ. اور مسئلہ 1 سیٹ میں، ہم منتقل کریں گے سکریچ کے گرافیکل دنیا سے کچھ زیادہ کمانڈ لائن پر سی میں لیکن ہم پریرتا اپنی طرف متوجہ کریں گے یہاں کھیل سے پرانے، جس سے C اور کے سٹینڈرڈ ایڈیشن کا استعمال کرتے ہوئے P سیٹ آپ ماریو پرامڈ عمل درآمد کریں گے. اور ہیکر ایڈیشن میں P سیٹ، آپ کو تو منتخب کرنے کا انتخاب کرتے ہیں، آپ تھوڑا سا زیادہ کو نافذ کرے گا دو چوٹیوں کے ساتھ پرامڈ چیلنج. آپ یہ بھی ایک عمل درآمد کریں گے الگورتھم، ایک لالچی الگورتھم. یہ وہاں ہے باہر کر دیتا ہے کچھ دلچسپ منطق کے عمل کے پیچھے ایک کوشپال اسٹیشن چل رہا اور اصل حوالے کسی واپس تبدیل. کافی ہے کہ ایک الگورتھم ہے براہ راست، جو آپ کو بھی ہو سکتا ہے آپ سب سے پہلے پڑھ جب intuitively پر پکڑ اندازہ لگانے والے کہ میں نے ہمیشہ کیا ہے کا احساس میں نے کسی کو کچھ دیا ہے کسی بھی وقت کیا آپ کو ہمیشہ کرنے کی اجازت دیتا ہے کہ پیسے back-- کی تعداد کم سے کم کاغذ کے نوٹ یا دھات سکے تم واپس صارف کو حوالے کر رہے ہیں کہ. یہ، کورس کے، مجبور ہے آپ CVS یا whatnot پر جاتے ہیں کیونکہ، آپ حوالے کر دیا جائے نہیں کرنا چاہتے والوں کی ایک پوری چڑھانے یا پیسے کی ایک پوری چڑھانے. تم بہت کم چاہتے ہیں سککوں، شاید، ممکن. آخر میں، آپ کو بھی چیلنج کیا جائے گا پانی کی دنیا میں بگونا اور اصل میں ایک تعریف حاصل بہاؤ کی شرح کے درمیان تعریفیں کے لئے، کے ایک شاور میں پانی کی طرح، صرف کتنا پانی استعمال کیا جاتا ہے. اور اس اشارہ، یہاں اس کلپ ہو جائے گا، ہم پر ختم ہو جائے گا جس صرف 60 سیکنڈ، کہ کی ایک تصویر پینٹ کم بہاؤ شاور کے سروں. [ویڈیو پلے بیک] -بالکل ٹھیک. میں یہاں سب کچھ مل گیا. میں، چکروات F سیریز ہے ہائڈرا، Jetflow، سٹاکہوم Supersteam، آپ اس کا نام. اور تم کیا تجویز ہے؟ -تم کیا تلاش کر رہے ہو؟ -Power آدمی. پاور. طرح Silkwood. یعنی تابکاری کے لئے ہے. -یہ ٹھیک ہے. یہ کیا ہے -Now؟ یعنی کمانڈو 450 ہے. مجھے لگتا ہے کہ ایک بھی فروخت نہیں کرتے. -لیکن کہ ہم چاہتے ہیں ہے. یہ ایک کمانڈو 450 ہے. -کوئی مجھ پر یقین. یہ صرف سرکس میں استعمال کیا جاتا ہے. یہ ہاتھیوں کے لئے ہے. کچھ بھی ادا -I'll. جیری کے بارے میں کیا؟ -انہوں نے کہا کہ اس کو سنبھال نہیں کر سکتے. انہوں نے کہا کہ نازک ہے. ارے ہان. [END پلے بیک] DAVID J MALAN: ٹھیک ہے. یہ CS50 کے لئے اگر. ہم اگلے ہفتے آپ کو نظر آئے گا. اسپیکر 1: [؟ میں Scully؟]، [؟ ایان،؟] جہاں تک اس سے Outro منصوبے کے طور پر، تم لوگ کیا کے ساتھ آئے ہیں؟ اسپیکر 2: ویسے، ہم نے دیا ہے اس فکر کی ایک قسم، اور ہم سب سے بہتر طریقہ ہے لگتا ہے کہ to-- سپیکر 3: کیا میں؟ اسپیکر 2: جی ہاں. تمام اسباب کی طرف سے، اصل میں. 3 اسپیکر: تو مجھے لگتا ہے ہم ہمارے خیال خلاصہ کر سکتے ہیں ایک word-- کچھ نہیں کے ساتھ outros لئے. DAVID J MALAN: کچھ بھی نہیں؟ سپیکر 3: کچھ بھی نہیں. DAVID J MALAN: اس کا کیا مطلب ہے؟ سپیکر 3: outros کچھ کے بارے میں ہیں. اسپیکر 2: ویسے، میرا مطلب ہے، فلسفہ میں، میرا مطلب ہے، کچھ بھی نہیں ہمیشہ کچھ ہے. اسپیکر 1: تو what's-- بنیاد کیا ہے؟ 3 اسپیکر: تو اس کی زندگی کی طرح ہے. ٹھیک ہے. آپ نے آج کیا کیا؟ DAVID J MALAN: میں اٹھی، تھا ناشتا، اور کام کرنے کے لئے آئے. 3 اسپیکر: یہ ایک سے Outro ہے. اسپیکر 2: میرا مطلب ہے لیکن، نہیں کرنا چاہئے، کچھ the-- پر اس کے پاس ہونے سپیکر 3: نہیں، نہیں، نہیں، نہیں. کچھ نہیں ہوتا. اسپیکر 1: تو کیوں نہ ہم دیکھ رہے ہو؟ سپیکر 3: کیونکہ یہ CS50 کے لئے ایک سے Outro ہے. DAVID J MALAN: ابھی نہیں.