1 00:00:00,000 --> 00:00:10,940 2 00:00:10,940 --> 00:00:13,060 >> DAVID MALAN J: تمام ٹھیک ہے، تو اس CS50 ہے. 3 00:00:13,060 --> 00:00:15,040 یہ واضح طور پر ایک جمعہ ہے. 4 00:00:15,040 --> 00:00:16,850 اور اس ایک ہفتے کے آخر ہے. 5 00:00:16,850 --> 00:00:21,020 تو آپ کو ہم سے دور چھوڑ دیا ہے کہ یاد کر سکتے ہیں، قسم کی ایک cliffhanger کے ساتھ آخری بار،. 6 00:00:21,020 --> 00:00:25,020 جس سے ہم اس جھوٹ کو بے نقاب نہیں ہے کہ بات بڑھتی ہوئی آپ کو سکھایا گیا ہے کیا 7 00:00:25,020 --> 00:00:31,610 ، 10 سے تقسیم 1 میں، نہیں ہے حقیقت یہ ہے کہ، 0.1 یا 0،100 یا 0،10000. 8 00:00:31,610 --> 00:00:35,270 اصل میں، اگر ہم یہ تالیف پروگرام، ہم نے کل کے ساتھ، کے طور پر کیا، 9 00:00:35,270 --> 00:00:39,770 گئی imprecision بنانے، اور پھر ڈاٹ کرتے، سلیش، گئی imprecision، 10 00:00:39,770 --> 00:00:43,600 ہم یہ کیا ہے کہ سیکھا 1 اصل میں ہے 10 سے تقسیم. 11 00:00:43,600 --> 00:00:46,140 تو ہے کہ واقعی بہت صورت نہیں ہے. 12 00:00:46,140 --> 00:00:49,014 لیکن اس سے کچھ پر اشارہ کرتا ہے کمپیوٹر کی بنیادی حد. 13 00:00:49,014 --> 00:00:50,930 اور بے شک، میں چیزیں ہم کیا کرنے جا رہے ہیں 14 00:00:50,930 --> 00:00:55,130 آج یہ ہے کیوں پر ایک نظر لے ہوا، یہ ہے کیا مضمرات، 15 00:00:55,130 --> 00:00:58,430 انسانیت میں ناکام رہی ہے کہ کس طرح کچھ بہت میں اس کو سمجھنے کے لئے 16 00:00:58,430 --> 00:01:00,410 سنگین situations-- جس کے نتیجے میں 17 00:01:00,410 --> 00:01:03,141 بہت المناک رہی ہے اور بھی expensive-- اور 18 00:01:03,141 --> 00:01:04,849 ہم کس طرح پر ایک نظر ڈالیں اصل میں دفاع کر سکتے ہیں 19 00:01:04,849 --> 00:01:06,530 حدود میں اس قسم کے خلاف. 20 00:01:06,530 --> 00:01:10,940 ایسا intuitively، شاید، کیوں 1 10 سے تقسیم کیا گیا ہے، 21 00:01:10,940 --> 00:01:15,480 میرے کمپیوٹر کے مطابق یہاں، نہ صرف 1/10، 0.10؟ 22 00:01:15,480 --> 00:01:15,980 جی ہاں. 23 00:01:15,980 --> 00:01:16,530 آپ کیا سوچتے ہیں؟ 24 00:01:16,530 --> 00:01:17,860 >> سامعین رکن: مولانک مختلف ہے؟ 25 00:01:17,860 --> 00:01:18,550 >> DAVID J MALAN: کیا ہے؟ 26 00:01:18,550 --> 00:01:19,730 اوہ، مولانک مختلف ہے؟ 27 00:01:19,730 --> 00:01:20,720 تو بالکل نہیں. 28 00:01:20,720 --> 00:01:23,200 یہ اصل میں زیادہ ہے ہارڈ ویئر کے بنیادی. 29 00:01:23,200 --> 00:01:23,980 دیگر خیالات؟ 30 00:01:23,980 --> 00:01:24,584 جی ہاں. 31 00:01:24,584 --> 00:01:26,750 سامعین رکن: وہ مختلف تعداد کی نمائندگی؟ 32 00:01:26,750 --> 00:01:27,880 DAVID J MALAN: تو they-- حق. 33 00:01:27,880 --> 00:01:29,338 وہ مختلف تعداد کی نمائندگی کرتے. 34 00:01:29,338 --> 00:01:30,700 غلط، بظاہر. 35 00:01:30,700 --> 00:01:33,190 ، ویسے is-- تاکہ مختلف طریقے سے؟ 36 00:01:33,190 --> 00:01:34,490 یا کس سے؟ 37 00:01:34,490 --> 00:01:35,050 ہم سے؟ 38 00:01:35,050 --> 00:01:35,966 سامعین رکن: جی ہاں. 39 00:01:35,966 --> 00:01:38,930 انہوں نے دشملو استعمال نہیں کرتے [اشراوی] کے لئے نظام. 40 00:01:38,930 --> 00:01:39,680 DAVID J MALAN: ٹھیک ہے. 41 00:01:39,680 --> 00:01:41,560 احساس میں، وہ ایسا نہیں کرتے دشملو نظام کا استعمال کرتے. 42 00:01:41,560 --> 00:01:43,720 ہڈ کے نیچے، سب کچھ،، یقینا، ثنائی ہے 43 00:01:43,720 --> 00:01:45,510 اور اس حقیقت میں، متعلقہ ہے. 44 00:01:45,510 --> 00:01:48,135 لیکن یہ بھی ایک آسان ہے اس سے وضاحت. 45 00:01:48,135 --> 00:01:48,635 جی ہاں. 46 00:01:48,635 --> 00:01:49,970 >> سامعین رکن: وہ صرف اتنے سارے بٹس. 47 00:01:49,970 --> 00:01:52,370 وہ صرف ایک مخصوص تک محفوظ کر سکتے ہیں حد، دشملو کے ساتھ کی طرح. 48 00:01:52,370 --> 00:01:52,780 >> DAVID J MALAN: جی ہاں. 49 00:01:52,780 --> 00:01:54,420 یہ واقعی میں اس میں ہو رہی ہے کیا ہے. 50 00:01:54,420 --> 00:01:57,180 یہ باہر کر دیتا ہے کمپیوٹر عام طور پر، ہمیشہ صرف 51 00:01:57,180 --> 00:01:59,690 معلومات کا ایک محدود رقم کا استعمال کرتے ہیں کچھ کی نمائندگی کرنے کے لئے. 52 00:01:59,690 --> 00:01:59,870 ٹھیک ہے؟ 53 00:01:59,870 --> 00:02:02,110 سب کے بعد، ہم صرف ایک مقررہ ہے ہارڈ ڈسک کی جگہ کی رقم. 54 00:02:02,110 --> 00:02:04,210 ہم صرف ایک مقررہ رقم ہے رام، یا کمپیوٹر میموری کی. 55 00:02:04,210 --> 00:02:06,251 اور آپ کو صرف ہے کچھ کے مقررہ رقم، 56 00:02:06,251 --> 00:02:09,611 یقینا آپ کو اصل میں شمار نہیں کر سکتے ہیں انفینٹی یا آپ چاہتے ہیں کسی بھی تعداد کے. 57 00:02:09,611 --> 00:02:11,610 تم، قسم کے، کرنے کی ضرورت ہے لینے اور کیا حد منتخب کریں 58 00:02:11,610 --> 00:02:13,220 کے آپ کی حمایت کے لئے جا رہے اقدار. 59 00:02:13,220 --> 00:02:18,100 >> اور اس طرح مثال کے طور پر، ایک یا دو ہفتے کے لئے پہلے، ہم ASCII کے بارے میں بات کی تھی جب، 60 00:02:18,100 --> 00:02:21,610 اور ہم کے بارے میں بات کی 8 بٹس، یا ایک بائٹ، تو بات کرنے کی 61 00:02:21,610 --> 00:02:26,360 سب سے بڑی تعداد ہم کر سکتے تھے 8 بٹس کے ساتھ کیا تھا کی نمائندگی کرتے ہیں؟ 62 00:02:26,360 --> 00:02:28,350 255. 63 00:02:28,350 --> 00:02:31,850 اور ہم 256 کل اقدار کی نمائندگی کر سکتے ہیں لیکن ہم ان میں سے ایک خرچ نہیں تو 64 00:02:31,850 --> 00:02:34,190 ویسے 0-- پر، لیکن ہم تو 0 ان میں سے ایک خرچ کرتے ہیں، 65 00:02:34,190 --> 00:02:36,830 پھر سب سے بڑی تعداد 255، کورس کے، ہے. 66 00:02:36,830 --> 00:02:39,410 >> تو یہ ہے کہ، باہر کر دیتا ہے اس تناظر میں بھی کیس،. 67 00:02:39,410 --> 00:02:42,350 ہم، بات، آخری بار شروع سچل نکاتی تعداد، جس کے بارے میں 68 00:02:42,350 --> 00:02:44,640 میں، integers کے سے مختلف ہیں وہ ایک دشملو نقطہ ہے کہ 69 00:02:44,640 --> 00:02:47,056 اور، امید ہے کہ، کچھ تعداد اس کے بعد، لیکن وہ بھی ہیں. 70 00:02:47,056 --> 00:02:51,730 صرف ایک کمپیوٹر عام طور پر کی جا رہی ہے 32 بٹس، شاید 64 بٹس استعمال کرنے کے لئے 71 00:02:51,730 --> 00:02:53,497 ایک چل نقاط کی قیمت کی نمائندگی کرنے. 72 00:02:53,497 --> 00:02:56,080 اگرچہ تو ہم بڑے ہو گئے ہو ریاضی سیکھنے اور جاننے کے 73 00:02:56,080 --> 00:02:58,750 تم بالکل کر سکتے ہیں نمبروں کی ایک لامحدود تعداد میں 74 00:02:58,750 --> 00:03:01,650 دشملو نقطہ، نہیں کے بعد آپ تبدوست میموری ہے. 75 00:03:01,650 --> 00:03:03,930 تم، قسم کے گول کرنا پڑے، یا لینے اور انتخاب کرتے ہیں جس 76 00:03:03,930 --> 00:03:05,346 تعداد آپ کی نمائندگی کرنے جا رہے ہیں. 77 00:03:05,346 --> 00:03:08,710 اور تو آپ کو ایک معنی میں، کے بارے میں سوچ کر سکتے ہیں، یہ کیا جا رہا کمپیوٹر کے قریب 78 00:03:08,710 --> 00:03:14,050 قیمت 1/10 سے سننکٹن کہ یہ صرف 32 یا اس بٹس کے ساتھ، حاصل کر سکتے ہیں. 79 00:03:14,050 --> 00:03:15,300 اور یہ صرف 1/10 نہیں ہے. 80 00:03:15,300 --> 00:03:19,820 >> مثال کے طور پر، میں نے اس کو تبدیل تو ہم لگتا ہے کہ جو 1/3، بھی آسان ہے. 81 00:03:19,820 --> 00:03:21,300 تو 1 3 کی طرف سے تقسیم. 82 00:03:21,300 --> 00:03:22,355 مجھے فائل کو بچانے کے ہیں. 83 00:03:22,355 --> 00:03:24,680 مجھے آگے جانا ہے اور اس recompile ہیں. 84 00:03:24,680 --> 00:03:25,820 اور مجھے اسے دوبارہ چلانے دو. 85 00:03:25,820 --> 00:03:30,000 یہاں بھی، بظاہر، 1/3 0.3 نہیں ہے اور پھر 3 کا ایک لامحدود تعداد میں 86 00:03:30,000 --> 00:03:30,770 اس کے بعد. 87 00:03:30,770 --> 00:03:32,540 آپ کو آخر میں اس گئی imprecision ہے. 88 00:03:32,540 --> 00:03:35,544 تو ہم انسانوں کو درست ہیں، اور کیا آپ،، حقیقت میں، صحیح سیکھا 89 00:03:35,544 --> 00:03:37,460 لیکن ہم کو bumping رہے ہیں کچھ حدود کے خلاف. 90 00:03:37,460 --> 00:03:39,420 >> اور میں نے سوچا کیا آج ہم کروں گا، شروع ہے 91 00:03:39,420 --> 00:03:42,190 واضح طور سے،، میں دیکھ کر اس کی المناک نتائج 92 00:03:42,190 --> 00:03:45,490 کبھی کبھی، جب بنی نوع انسان بہت نافذ نہیں 93 00:03:45,490 --> 00:03:48,460 اس حقیقت اور ان حدود کے لئے. 94 00:03:48,460 --> 00:03:52,360 اور ہم vignettes کی ایک سیریز کو دیکھ لیں گے لیتا ہے کہ ہسٹری چینل سے 95 00:03:52,360 --> 00:03:53,950 کس طرح پر ایک نظر چیزیں غلط ہو گیا ہے. 96 00:03:53,950 --> 00:03:56,340 اس کے بارے میں 8 منٹ طویل ہے اور ہم نے اس کے بعد واپس آ جائیں گے 97 00:03:56,340 --> 00:03:59,439 اور بالکل پر ایک نظر ڈالیں اور کیا غلط جا سکتے ہیں. 98 00:03:59,439 --> 00:04:00,605 ہم lights-- دھیما کر سکتے ہیں 99 00:04:00,605 --> 00:04:02,350 >> [ویڈیو پلے بیک] 100 00:04:02,350 --> 00:04:06,310 >> -Computers، ہم سب کو قبول کرنے آیا ہوں اکثر نراشا مسائل کہ 101 00:04:06,310 --> 00:04:07,750 ان کے ساتھ جانا. 102 00:04:07,750 --> 00:04:11,370 کیڑے، وائرس، اور سافٹ ویئر glitches کے چھوٹے کی قیمتوں میں ہیں 103 00:04:11,370 --> 00:04:13,230 سہولت کے لئے ادا کرنے کے لئے. 104 00:04:13,230 --> 00:04:17,519 لیکن ہائی ٹیک اور ہائی سپیڈ فوج اور خلائی پروگرام ایپلی کیشنز، 105 00:04:17,519 --> 00:04:22,130 سب سے چھوٹی مسئلہ کر سکتے ہیں تباہی میں بڑائی کی جائے. 106 00:04:22,130 --> 00:04:27,750 4 جون، 1996، سائنسدانوں تیار ایک بغیر پائلٹ سے Ariane 5 راکٹ شروع کرنے. 107 00:04:27,750 --> 00:04:29,890 یہ سائنسی لے جا رہا تھا مصنوعی سیارہ کے لئے ڈیزائن کیا 108 00:04:29,890 --> 00:04:33,030 خاص طور پر کس طرح قائم کرنے کے لئے زمین کے مقناطیسی میدان انٹرایکٹ 109 00:04:33,030 --> 00:04:35,600 شمسی ہواؤں کے ساتھ. 110 00:04:35,600 --> 00:04:37,930 راکٹ لئے بنایا گیا تھا یورپی خلائی ایجنسی 111 00:04:37,930 --> 00:04:41,620 اور اس سہولت سے اٹھا لیا فرانسیسی گیانا کے ساحل پر. 112 00:04:41,620 --> 00:04:44,924 >> -اور بارے میں 30 سیکنڈ میں پرواز، وہ سب سے پہلے 113 00:04:44,924 --> 00:04:46,340 محسوس کیا کچھ غلط ہو رہا تھا. 114 00:04:46,340 --> 00:04:49,280 nozzles کے swiveling کیا گیا ہے کہ ایک طرح وہ واقعی نہیں کرنا چاہئے. 115 00:04:49,280 --> 00:04:53,042 پرواز میں 40 سیکنڈ کے ارد گرد، واضح طور پر گاڑی مصیبت میں تھا 116 00:04:53,042 --> 00:04:55,250 انہوں نے بنایا اور جب کہ فیصلہ اسے تباہ کرنے. 117 00:04:55,250 --> 00:04:58,970 ایک رینج سیفٹی آفیسر کے ساتھ زبردست ہمت بٹن دبایا، 118 00:04:58,970 --> 00:05:03,940 اس سے پہلے راکٹ دھماکے سے اڑا دیا عوامی تحفظ کے لئے خطرہ بن. 119 00:05:03,940 --> 00:05:06,600 >> -یہ یووتی تھی ایرین 5 کے سفر، 120 00:05:06,600 --> 00:05:09,270 اور اس کی تباہی لیا کیونکہ ایک دوش کی جگہ 121 00:05:09,270 --> 00:05:10,992 راکٹ کی سافٹ ویئر میں سرایت. 122 00:05:10,992 --> 00:05:12,700 پر -مندرجہ مسئلہ ایرین تھا کہ وہاں 123 00:05:12,700 --> 00:05:15,370 کی ضرورت ہے کہ ایک بڑی تعداد تھی 64 بٹس، کا اظہار کرنے 124 00:05:15,370 --> 00:05:18,150 اور وہ تبدیل کرنے کے لئے کرنا چاہتا تھا یہ ایک 16 بٹ تعداد میں. 125 00:05:18,150 --> 00:05:21,160 ان کی تعداد کہ فرض کیا گیا بہت بڑا ہونے جا رہا نہیں کیا گیا تھا، 126 00:05:21,160 --> 00:05:25,020 کہ میں ان ہندسوں میں سے اکثر 64 بٹ تعداد 0 کے تھے. 127 00:05:25,020 --> 00:05:26,310 وہ غلط تھے. 128 00:05:26,310 --> 00:05:28,680 >> ایک کی -مندرجہ اسمرتتا سافٹ ویئر پروگرام کو قبول کرنے 129 00:05:28,680 --> 00:05:32,820 کی طرف سے پیدا نمبر کی قسم ایک اور ناکامی کی جڑ تھا. 130 00:05:32,820 --> 00:05:37,190 سافٹ ویئر ڈیویلپمنٹ کی بن گیا تھا ایک نئی ٹیکنالوجی کے بہت مہنگا حصہ. 131 00:05:37,190 --> 00:05:40,760 ایرین 4 راکٹ بہت کیا گیا تھا سافٹ ویئر کی کامیاب، اتنا 132 00:05:40,760 --> 00:05:43,990 یہ بھی تھا کے لئے پیدا ایرین 5 پر استعمال کیا. 133 00:05:43,990 --> 00:05:49,750 >> -مندرجہ بنیادی مسئلہ ایرین تھا 5، تیز تھا تیز تیز. 134 00:05:49,750 --> 00:05:53,000 اور سافٹ ویئر نہیں تھا اس کے لئے حساب. 135 00:05:53,000 --> 00:05:56,330 >> راکٹ کے -مندرجہ تباہی ایک بہت بڑا مالی تباہی، تھا 136 00:05:56,330 --> 00:05:59,670 تمام کی وجہ سے ایک منٹ سافٹ ویئر کی خرابی کی. 137 00:05:59,670 --> 00:06:01,990 لیکن یہ پہلے نہیں تھا وقت اعداد و شمار کے تبادلوں کے مسائل 138 00:06:01,990 --> 00:06:05,310 جدید راکٹ ٹیکنالوجی دوچار تھا. 139 00:06:05,310 --> 00:06:08,300 >> آغاز کے ساتھ، 1991 -میں پہلی خلیجی جنگ کے، 140 00:06:08,300 --> 00:06:10,650 پیٹریاٹ میزائل اسی طرح کی ایک قسم کا تجربہ 141 00:06:10,650 --> 00:06:12,650 تعداد تبادلوں مسئلے کا. 142 00:06:12,650 --> 00:06:15,620 نتیجے کے طور پر، 28 افراد، 28 امریکی فوجیوں 143 00:06:15,620 --> 00:06:18,440 ہلاک اور کر رہے تھے 100 زخمی، 144 00:06:18,440 --> 00:06:21,900 جب چاہیے تھا جس پیٹریاٹ، آنے والے scuds خلاف کی حفاظت کے لئے، 145 00:06:21,900 --> 00:06:24,630 ایک میزائل کو برطرف کرنے میں ناکام رہے. 146 00:06:24,630 --> 00:06:29,440 >> جب عراق کویت اور امریکہ پر حملہ کر دیا ابتدائی 1991 میں صحرا طوفان کا آغاز، 147 00:06:29,440 --> 00:06:33,800 پیٹریاٹ میزائل بیٹریاں تعینات کیا گیا تھا سعودی عرب اور اسرائیل کی حفاظت کے لئے 148 00:06:33,800 --> 00:06:37,000 عراقی Scud میزائل حملوں سے. 149 00:06:37,000 --> 00:06:40,610 پیٹریاٹ ایک امریکی، میڈیم رینج ہے سطح سے فضا نظام 150 00:06:40,610 --> 00:06:43,010 ریتیان کمپنی کی طرف سے تیار. 151 00:06:43,010 --> 00:06:49,080 >> پیٹریاٹ انٹرسیپٹر کی -مندرجہ سائز، خود، تقریبا 20 فٹ لمبا، کے بارے میں ہے. 152 00:06:49,080 --> 00:06:51,250 اور اس کے بارے میں 2000 پونڈ کا وزن. 153 00:06:51,250 --> 00:06:55,195 اور یہ about-- کے وار ہیڈ جاتی ہیں میں یہ تقریبا 150 پونڈ ہے. 154 00:06:55,195 --> 00:06:59,500 اور وار ہیڈ، خود، ایک اعلی دھماکہ خیز مواد ہے، 155 00:06:59,500 --> 00:07:02,570 جو اس کے ارد گرد ٹکڑے ہے. 156 00:07:02,570 --> 00:07:06,890 وار ہیڈ کے سانچے ہے buckshot کی طرح کام کرنے کے لئے ڈیزائن. 157 00:07:06,890 --> 00:07:09,130 >> -مندرجہ میزائل ہیں 4 کنٹینر فی، کئے، 158 00:07:09,130 --> 00:07:12,080 اور ایک نیم ٹریلر کی طرف سے منتقل کر رہے ہیں. 159 00:07:12,080 --> 00:07:19,100 >> -مندرجہ پیٹریاٹ اینٹی میزائل نظام اب کم از کم 20 سال پیچھے چلا جاتا ہے. 160 00:07:19,100 --> 00:07:22,320 یہ اصل میں ڈیزائن کیا گیا تھا ایک فضائی دفاعی میزائل کے طور پر 161 00:07:22,320 --> 00:07:24,180 دشمن کے ہوائی جہاز کو نیچے گولی مار کرنے کے لئے. 162 00:07:24,180 --> 00:07:27,860 پہلی خلیجی جنگ میں، کہ جنگ کے ساتھ ساتھ آئے جب، 163 00:07:27,860 --> 00:07:32,745 فوج کے لئے استعمال کرنا چاہتا تھا scuds، نہ ہوائی جہاز گولی مار. 164 00:07:32,745 --> 00:07:36,150 عراقی فورس نہیں تھا ایک مسئلہ کی اتنی، 165 00:07:36,150 --> 00:07:39,110 لیکن فوج scuds بارے میں میں فکر مند تھا. 166 00:07:39,110 --> 00:07:42,340 اور تاکہ وہ کرنے کی کوشش کی پیٹریاٹ کو اپ گریڈ. 167 00:07:42,340 --> 00:07:44,760 >> دشمن -Intercepting میزائل مچ پانچ میں سفر 168 00:07:44,760 --> 00:07:47,250 کافی چیلنج کیا جا رہا تھا. 169 00:07:47,250 --> 00:07:50,000 لیکن جب پیٹریاٹ کی خدمت میں لے جایا گیا، 170 00:07:50,000 --> 00:07:54,030 فوج ایک کے بارے میں علم نہیں تھا بنا دیا ہے کہ عراقی ترمیم 171 00:07:54,030 --> 00:07:56,840 ان scuds کو نشانہ بنانے کی تقریبا ناممکن. 172 00:07:56,840 --> 00:08:01,020 >> کیا ہوا، scuds ہے میں آ رہے تھے،، عدم استحکام کا شکار تھے 173 00:08:01,020 --> 00:08:02,310 وہ بالز Wobbling تھے. 174 00:08:02,310 --> 00:08:05,140 اس کی وجہ، ترتیب میں، عراقیوں تھا 175 00:08:05,140 --> 00:08:09,450 میں سے 600 کلومیٹر کے فاصلے پر حاصل کرنے کے لئے 300 کلومیٹر رینج میزائل، 176 00:08:09,450 --> 00:08:12,930 سامنے وار ہیڈ سے باہر وزن لیا اور warhead ہے ہلکا کر دیا. 177 00:08:12,930 --> 00:08:17,710 تو اب، پیٹریاٹ کے آنے کی کوشش کر Scud کی میں، اور زیادہ تر وقت، 178 00:08:17,710 --> 00:08:21,700 کی غالب اکثریت وقت، یہ صرف Scud کی طرف سے پرواز کریں گے. 179 00:08:21,700 --> 00:08:25,700 >> پیٹریاٹ نظام آپریٹرز -Once پیٹریاٹ اپنے ہدف یاد احساس 180 00:08:25,700 --> 00:08:29,790 وہ، پیٹریاٹ کے وار ہیڈ دھماکہ اگر ممکن جانی نقصان سے بچنے کے لئے 181 00:08:29,790 --> 00:08:32,380 زمین پر گر کی اجازت دی گئی. 182 00:08:32,380 --> 00:08:36,340 >> زیادہ تر لوگوں کو دیکھا یعنی، تھا آسمان میں ان بڑے fireballs کے، 183 00:08:36,340 --> 00:08:41,289 اور کے طور پر غلط فہمی Scud کی ہتھیاروں کی پکڑے. 184 00:08:41,289 --> 00:08:43,590 رات میں اگرچہ آسمان، محب وطن ظاہر 185 00:08:43,590 --> 00:08:47,020 کامیابی ہونا Dhahran میں، scuds تباہ، 186 00:08:47,020 --> 00:08:49,730 کوئی غلطی نہیں ہو سکتا اس کی کارکردگی کے بارے میں. 187 00:08:49,730 --> 00:08:53,990 نہیں، پیٹریاٹ کے رڈار نظام ایک آنے والے Scud کی کے ٹریک کو کھو، 188 00:08:53,990 --> 00:08:56,650 اور، کا آغاز نہیں ایک سافٹ ویئر دوش کی وجہ سے. 189 00:08:56,650 --> 00:08:59,650 190 00:08:59,650 --> 00:09:04,100 یہ سب سے پہلے دریافت کیا ہے جو اسرائیلی تھا اب نظام پر تھا کہ، 191 00:09:04,100 --> 00:09:07,510 زیادہ سے زیادہ وقت تضادات پائے جانے کے وجہ سرایت ایک گھڑی کے، بن گیا 192 00:09:07,510 --> 00:09:09,490 نظام کے کمپیوٹر میں. 193 00:09:09,490 --> 00:09:12,670 >> -کے بارے میں 2 ہفتے پہلے Dhahran میں سانحہ، 194 00:09:12,670 --> 00:09:15,010 اسرائیلی رپورٹ محکمہ دفاع، 195 00:09:15,010 --> 00:09:17,940 نظام وقت کھو گیا تھا کہ، کہ چل رہا ہے کے بارے میں 8 گھنٹے کے بعد، 196 00:09:17,940 --> 00:09:21,410 وہ نظام تھا کہ دیکھا کافی کم درست ہوتا جا رہا. 197 00:09:21,410 --> 00:09:25,290 محکمہ دفاع کی طرف سے جواب پیٹریاٹ بیٹریوں کی تمام بتا 198 00:09:25,290 --> 00:09:28,070 نظام نہیں چھوڑ ایک طویل وقت کے لئے. 199 00:09:28,070 --> 00:09:29,960 انہوں نے ایک طویل وقت کیا تھا کبھی نہیں کہا. 200 00:09:29,960 --> 00:09:30,460 8 گھنٹے؟ 201 00:09:30,460 --> 00:09:30,960 10 گھنٹے؟ 202 00:09:30,960 --> 00:09:31,870 1000 گھنٹے؟ 203 00:09:31,870 --> 00:09:33,734 کوئی نہیں جانتا تھا. 204 00:09:33,734 --> 00:09:35,650 -مندرجہ پیٹریاٹ بیٹری بیرکوں میں تعینات 205 00:09:35,650 --> 00:09:40,410 Dhahran، اور اس ناقص اندرونی میں ، 100 گھنٹے سے زیادہ گھڑی پر کیا گیا تھا 206 00:09:40,410 --> 00:09:43,041 25 فروری کی رات کو. 207 00:09:43,041 --> 00:09:47,416 >> -یہ ایک درستگی کے لئے وقت پتہ لگایا کے بارے میں 1/10 ایک سیکنڈ کے. 208 00:09:47,416 --> 00:09:49,290 اب ایک دوسرے کے 1/10 ہے ایک دلچسپ تعداد 209 00:09:49,290 --> 00:09:52,700 یہ نہیں ہو سکتا ہے کیونکہ بالکل، بائنری میں کا اظہار کیا. 210 00:09:52,700 --> 00:09:54,820 جو اس کی نہیں کر سکتے ہیں، کا مطلب ہے کہ کا اظہار کیا جا، بالکل، 211 00:09:54,820 --> 00:09:57,420 کسی بھی جدید ڈیجیٹل کمپیوٹر میں. 212 00:09:57,420 --> 00:10:01,460 یہ یقین کرنا مشکل ہے لیکن ایک مثال کے طور پر اس کا استعمال. 213 00:10:01,460 --> 00:10:03,520 کا نمبر، 1/3 ڈالیں. 214 00:10:03,520 --> 00:10:07,110 1/3 کا اظہار نہیں کیا جا سکتا دشملو میں، بالکل. 215 00:10:07,110 --> 00:10:11,490 1/3 انفینٹی کے لئے چل 0،333 ہے. 216 00:10:11,490 --> 00:10:15,486 ایسا کرنے کے لئے کوئی راستہ نہیں کے ساتھ، نہیں ہے دشملو میں مطلق درستگی،. 217 00:10:15,486 --> 00:10:18,360 اس کے بالکل اسی طرح ہے پیٹریاٹ میں ہوا ہے کہ مسئلہ. 218 00:10:18,360 --> 00:10:22,510 اب نظام بھاگ گیا، برا وقت غلطی بن گیا. 219 00:10:22,510 --> 00:10:28,420 >> آپریشن کے 100 گھنٹے -کے بعد، غلطی وقت میں صرف تقریبا 1/3 ایک دوسرے کی تھی. 220 00:10:28,420 --> 00:10:31,830 لیکن اہدافی کے لحاظ سے میزائل مچ 5 میں سفر، 221 00:10:31,830 --> 00:10:35,890 یہ ایک سے باخبر رہنے کے نتیجے میں 600 سے زائد میٹر کی غلطی. 222 00:10:35,890 --> 00:10:38,970 یہ ایک مہلک غلطی ہو جائے گا Dhahran میں فوجیوں کے لئے. 223 00:10:38,970 --> 00:10:45,035 >> ہوا نے کیا، ایک Scud کی آغاز ہے تھا ابتدائی انتباہ کے مصنوعی سیارہ کی طرف سے پتہ چلا، 224 00:10:45,035 --> 00:10:48,930 اور وہ Scud کی تھی کہ نئے ان کے جنرل سمت میں آنے والے. 225 00:10:48,930 --> 00:10:51,170 یہ آ رہا تھا جہاں وہ نہیں جانتا تھا. 226 00:10:51,170 --> 00:10:53,990 >> -یہ ریڈار پر منحصر تھا پیٹریاٹ نظام کے اجزاء، 227 00:10:53,990 --> 00:10:58,520 تلاش اور رکھنے کے لئے، Dhahran کا دفاع آنے والے دشمن میزائل کا ٹریک. 228 00:10:58,520 --> 00:10:59,690 >> -مندرجہ ریڈار بہت ہوشیار تھا. 229 00:10:59,690 --> 00:11:01,710 یہ اصل ٹریک گا Scud کی کی پوزیشن 230 00:11:01,710 --> 00:11:04,040 اور پھر جہاں کی پیشن گوئی یہ، شاید ہو جائے گا 231 00:11:04,040 --> 00:11:06,140 اگلی بار، ریڈار باہر ایک پلس بھیجا. 232 00:11:06,140 --> 00:11:07,660 اس کی حد دروازے بلایا گیا تھا. 233 00:11:07,660 --> 00:11:11,870 >> -Then، پیٹریاٹ بار کافی وقت ہے فیصلہ 234 00:11:11,870 --> 00:11:16,280 واپس جانا اور اگلے چیک کرنے کے لیے منظور اس کا پتہ چلا اعتراض کے لئے محل وقوع، 235 00:11:16,280 --> 00:11:17,280 اسے واپس جاتا ہے. 236 00:11:17,280 --> 00:11:21,690 تو یہ غلط واپس چلے گئے جب جگہ، اس وقت کوئی اعتراض دیکھتا ہے 237 00:11:21,690 --> 00:11:25,230 اور یہ کوئی نہیں تھا کہ فیصلہ اعتراض، یہ ایک جھوٹ کا پتہ لگانے تھا، 238 00:11:25,230 --> 00:11:26,650 اور ٹریک قطرے. 239 00:11:26,650 --> 00:11:29,690 آنے والے Scud کی غائب ریڈار اسکرین سے، 240 00:11:29,690 --> 00:11:32,670 اور سیکنڈ کے بعد، یہ بیرکوں میں تنقید کی. 241 00:11:32,670 --> 00:11:38,100 Scud کی 28 ہلاک اور آخری دفعہ پایا گیا ایک پہلی خلیجی جنگ کے دوران فائرنگ. 242 00:11:38,100 --> 00:11:43,460 بدقسمتی سے، اپ ڈیٹ سافٹ ویئر اگلے دن Dhahran پر پہنچے. 243 00:11:43,460 --> 00:11:46,150 سافٹ ویئر دوش تھا رہا فکسڈ، اختتامی 244 00:11:46,150 --> 00:11:48,940 شورش زدہ میں ایک باب پیٹریاٹ میزائل کی تاریخ. 245 00:11:48,940 --> 00:11:50,220 >> [END پلے بیک] 246 00:11:50,220 --> 00:11:54,340 >> DAVID J MALAN: تو ہم پر ایک نظر لے لیں گے صرف تھوڑا سا میں کچھ اسی طرح کی حدود. 247 00:11:54,340 --> 00:11:58,470 لیکن سب سے پہلے، چلو چند پر منتقلی FYI ہے. 248 00:11:58,470 --> 00:12:01,575 اس ہفتے کے آخر one-- تو، وہاں سپر حصوں ہو جائے گا، 249 00:12:01,575 --> 00:12:04,200 اکھاڑنا مراد ہیں جو باقاعدگی سے شیڈول حصوں، جس 250 00:12:04,200 --> 00:12:05,460 اس وجہ سے ایک ہفتے شروع ہو جائے گا. 251 00:12:05,460 --> 00:12:08,204 CS50 کی ویب سائٹ پر ایک نظر ڈالیں ان پر مزید معلومات کے لئے. 252 00:12:08,204 --> 00:12:11,120 انہوں نے یہ بھی فلمایا اور سلسلہ بند کیا جائے گا شرکت کرنے کے قابل لوگوں کے لئے رہتے ہیں. 253 00:12:11,120 --> 00:12:12,980 مسئلہ 1 پر ہے قائم پہلے سے کورس کی ویب سائٹ، 254 00:12:12,980 --> 00:12:15,105 اور ہم پر ایک نظر لے لیں گے صرف تھوڑا سا میں. 255 00:12:15,105 --> 00:12:18,350 اور دفتری اوقات بھی لے جائے گا جمعرات کے ذریعے اس پیر کی جگہ. 256 00:12:18,350 --> 00:12:20,960 >> تو یہ سب سے زیادہ وہیت تھا پروگرام ہم نے آخری بار دیکھا. 257 00:12:20,960 --> 00:12:23,590 یہ آسان کی طرح ہے آپ C میں لکھ سکتے ہیں پروگرام، 258 00:12:23,590 --> 00:12:25,250 اور یہاں تک کہ ایک جرات مندانہ دعوی کے تھوڑا سا ہے. 259 00:12:25,250 --> 00:12:25,750 ٹھیک ہے؟ 260 00:12:25,750 --> 00:12:28,070 ایک بہت کی ہے کیونکہ اس پیچیدگی بظاہر. 261 00:12:28,070 --> 00:12:30,445 تو میں ایک فوری نظر ڈالیں کیا یہ عناصر میں سے کچھ 262 00:12:30,445 --> 00:12:33,080 تھے اور پھر فراہم کرنے کی کوشش کس طرح کے لئے ایک ذہنی ماڈل 263 00:12:33,080 --> 00:12:35,710 پروگراموں کی ان آسان کام، اور پھر ہم شروع کریں گے 264 00:12:35,710 --> 00:12:38,050 پہلے سے کہیں زیادہ پیچیدہ چیزوں کو دیکھ کر. 265 00:12:38,050 --> 00:12:41,280 تو اس لائن یہاں،، اب روشنی ڈالی پیلے رنگ میں، ہم کہتے ہیں کیا، آخری بار، 266 00:12:41,280 --> 00:12:43,200 یہ ہمارے لئے کرتا ہے؟ 267 00:12:43,200 --> 00:12:45,220 یہ کام کرتا ہے مقصد کیا ہے؟ 268 00:12:45,220 --> 00:12:46,984 دور پیچھے سے کوئی ہے؟ 269 00:12:46,984 --> 00:12:47,483 جی ہاں. 270 00:12:47,483 --> 00:12:48,649 >> سامعین رکن: [اشراوی] 271 00:12:48,649 --> 00:12:50,871 272 00:12:50,871 --> 00:12:51,704 DAVID J MALAN: اچھا. 273 00:12:51,704 --> 00:12:53,537 تو یہ آپ کو رسائی فراہم کرتا ہے حکم دیتا ہے، یا چلو 274 00:12:53,537 --> 00:12:56,750 ان افعال کال، کہ کسی اور اعلان کر رہے ہیں کہ، لکھا، 275 00:12:56,750 --> 00:12:58,350 تو کچھ دوسری فائل میں، بات کرنے کے لئے. 276 00:12:58,350 --> 00:13:02,370 تو ہم بالکل وہی جو ایک H فائل کو دیکھ لیں گے آخر میں، ایک سی فائل بمقابلہ ہے. 277 00:13:02,370 --> 00:13:04,710 لیکن اب کے لئے، صرف اتنا جانتا ہوں کہ printf، مثال کے طور پر، 278 00:13:04,710 --> 00:13:08,370 کیا گیا ہے کہ کام کرتا ہے میں سے ایک ہے کہیں، کسی دوسرے فائل میں اعلان 279 00:13:08,370 --> 00:13:12,930 بادل کی ہارڈ ڈرائیو پر کسی اور کہ ہم printf کا تک رسائی حاصل اور اس کا استعمال کرنے کی اجازت دیتا 280 00:13:12,930 --> 00:13:15,240 reinvent کرنے کے لئے بغیر خود وہیل کہ. 281 00:13:15,240 --> 00:13:16,930 دریں اثنا، اہم. 282 00:13:16,930 --> 00:13:19,690 اہم، گزشتہ ہفتے کے مطابق کیا تھا؟ 283 00:13:19,690 --> 00:13:20,190 جی ہاں. 284 00:13:20,190 --> 00:13:21,460 >> سامعین رکن: سبز پرچم کلک کیا جاتا ہے. 285 00:13:21,460 --> 00:13:21,740 >> DAVID J MALAN: جی ہاں. 286 00:13:21,740 --> 00:13:23,490 اسکریچ کی، سبز پرچم جب کلک کیا. 287 00:13:23,490 --> 00:13:25,560 یہ پہیلی ٹکڑے کی طرح ہے کہ چیزوں سے دور کک. 288 00:13:25,560 --> 00:13:28,306 اور اسی طرح، دنیا کیا ، C میں کچھ سال پہلے فیصلہ کیا ہے کہ 289 00:13:28,306 --> 00:13:30,930 اور دیگر زبانوں کا ایک گروپ، آپ کو ایک پروگرام لکھنے کے لئے چاہتے ہیں تو، 290 00:13:30,930 --> 00:13:33,410 آپ کی پہلی تقریب اہم، کہا جا کرنے کے لئے ہے. 291 00:13:33,410 --> 00:13:34,641 اور یہ اس طرح دیکھنے کے لئے ہے. 292 00:13:34,641 --> 00:13:36,640 لیکن ہم واپس آ جائیں گے کسی اور وقت، کیا، INT، 293 00:13:36,640 --> 00:13:38,690 اور، باطل، اس تناظر میں مطلب. 294 00:13:38,690 --> 00:13:42,860 اب کے لئے، گھوبگھرالی منحنی خطوط وحدانی کی طرح ہیں کے اسکریچ کی پہیلی ٹکڑا شکل کی طرح 295 00:13:42,860 --> 00:13:45,080 کہ لائنوں کی کچھ تعداد کو سموئے. 296 00:13:45,080 --> 00:13:47,070 اور لائنوں پر درمیان یہاں، یہاں اس سے ایک ہے. 297 00:13:47,070 --> 00:13:51,610 printf کے جس کا مقصد میں ایک تقریب ہے زندگی ایک فارمیٹ سٹرنگ پرنٹ کرنے کے لئے ہے. 298 00:13:51,610 --> 00:13:55,010 اور فارمیٹ کی طرف سے، میں آپ کا مطلب پلیس ہولڈر اقدار میں پلگ کر سکتے ہیں، 299 00:13:55,010 --> 00:13:58,360 اور آپ کے پاس کتنے اعشاری وضاحت کر سکتے ہیں پوائنٹس، کتنے نمبر پرنٹ کرنے کے لئے 300 00:13:58,360 --> 00:14:00,040 ایک اعشاریہ اور اس طرح کے بعد. 301 00:14:00,040 --> 00:14:05,040 اور printf، کورس کے، ایک لیتا ہے یا دلائل یا پیرامیٹرز زیادہ، 302 00:14:05,040 --> 00:14:06,770 دوسری صورت میں زیادہ صرف، آدانوں کے طور پر، نام سے جانا جاتا. 303 00:14:06,770 --> 00:14:09,230 >> کی ایک بہت کی طرح، تو printf افعال، آدانوں لیتا. 304 00:14:09,230 --> 00:14:12,730 اور ان آدانوں قبول کر رہے ہیں یہاں دو قوسین کی طرف سے. 305 00:14:12,730 --> 00:14:15,180 اور ان کے اندر ایک ان پٹ ہے. 306 00:14:15,180 --> 00:14:18,600 یہ ہم نے یہ کہا جاتا ہے کے طور پر، ایک تار ہے، جو صرف حروف کا ایک ہی تسلسل ہے، 307 00:14:18,600 --> 00:14:22,310 ایک لفظ، یا ایک جملہ، یا ایک پوری طرح مضمون بھی، ڈبل قیمت درج کرنے کے درمیان میں. 308 00:14:22,310 --> 00:14:25,712 اور اس پر اثر انداز ہونے کے لئے جا رہا ہے printf کے کے رویے کی وجہ سے، کورس کے، 309 00:14:25,712 --> 00:14:27,170 یہ صرف ایک عام پرنٹ تقریب ہے. 310 00:14:27,170 --> 00:14:29,600 یہ کیا جاننا نہیں جا رہا ہے آپ اسے بتائیں کہ جب تک، پرنٹ کرنے کے لئے. 311 00:14:29,600 --> 00:14:31,000 اور پھر، کچھ باریکیوں. 312 00:14:31,000 --> 00:14:34,056 ہم اس عجیب کہتے ہیں کیا علامات کی ترتیب ہے؟ 313 00:14:34,056 --> 00:14:34,556 جی ہاں. 314 00:14:34,556 --> 00:14:35,410 >> سامعین رکن: نئی لائن. 315 00:14:35,410 --> 00:14:35,990 >> DAVID J MALAN: نئی لائن. 316 00:14:35,990 --> 00:14:39,340 تو یہ آپ کو صرف مارا نہیں کر سکتے، باہر کر دیتا ہے، آپ اس پروگرام کو لکھ رہے ہیں جب، میں داخل. 317 00:14:39,340 --> 00:14:42,590 عام طور پر، سنکلک کرنے جا رہی ہے آپ کا مطلب ہے کے طور پر ایک چھوٹی سی الجھن. 318 00:14:42,590 --> 00:14:45,340 بلکہ، آپ لفظی کرنا پڑے یہاں مجھے ایک نئی لائن دے، کا کہنا ہے کہ. 319 00:14:45,340 --> 00:14:49,506 اور اس طرح / N جو ہم عام طور پر ہے ایک فرار کردار کال. 320 00:14:49,506 --> 00:14:50,870 تو (ن)، نئی لائن کے لئے. 321 00:14:50,870 --> 00:14:53,810 اور سنکلک جانتا ہے کہ / N دیکھتا ہے جب، 322 00:14:53,810 --> 00:14:57,420 یہ اصل میں کمپیوٹر دلانا چاہئے، بالآخر، یا printf کے، اس معاملے میں، 323 00:14:57,420 --> 00:15:00,260 ایک حقیقی نئے باہر پرنٹ کرنے کے لئے لائن، کو مارنے کی طرح،، میں داخل 324 00:15:00,260 --> 00:15:01,480 اپنے کی بورڈ پر چابی. 325 00:15:01,480 --> 00:15:05,620 اور آخر میں، جو ہم کہتے ہیں کیا نحو کے اس ٹکڑے کے لئے ہے؟ 326 00:15:05,620 --> 00:15:06,591 یہ کیا کی نمائندگی کرتا ہے؟ 327 00:15:06,591 --> 00:15:07,090 جی ہاں. 328 00:15:07,090 --> 00:15:07,490 >> سامعین رکن: [اشراوی] 329 00:15:07,490 --> 00:15:08,660 >> DAVID J MALAN: یہ صرف ہے لائن کے آخر. 330 00:15:08,660 --> 00:15:09,909 اس بیان کے آخر ہے. 331 00:15:09,909 --> 00:15:11,890 اور ہم ایسا نہیں ہے کہ احساس ہر جگہ ڈال. 332 00:15:11,890 --> 00:15:13,900 ہم یقینی طور پر ڈال نہیں ہے ہر لائن کے سروں پر. 333 00:15:13,900 --> 00:15:16,680 مثال کے طور پر، کوئی بھی موجود ہے پہلی لائن، کوئی لائن پر ہے 334 00:15:16,680 --> 00:15:18,680 اہم، کے ساتھ، وہاں کوئی نہیں ہے گھوبگھرالی منحنی خطوط وحدانی کے بعد، 335 00:15:18,680 --> 00:15:21,740 لیکن آپ دیکھتے ہیں اور حاصل کرنے کے لئے شروع کریں گے اس کے لئے کہا جاتا ہے جہاں سے واقف. 336 00:15:21,740 --> 00:15:26,014 اور یہ ایک تقریب کے بعد تقریبا ہمیشہ کچھ کارروائی، کال کریں یا ایک بیان 337 00:15:26,014 --> 00:15:27,180 کہ آپ اصل میں لے جا رہے ہیں. 338 00:15:27,180 --> 00:15:29,520 >> اور، خاص طور پر اگر اب جانتے ہیں کم آرام دہ اور پرسکون والوں میں، 339 00:15:29,520 --> 00:15:32,540 ان احمقانہ باتیں قسم کے ہیں آپ نے غلطی سے پیٹنے ختم کروں گا کہ 340 00:15:32,540 --> 00:15:33,873 دیوار کے خلاف اپنے سر. 341 00:15:33,873 --> 00:15:36,107 آپ کو منطقی ہو جائے گا کیونکہ کچھ مسئلہ میں پراعتماد 342 00:15:36,107 --> 00:15:38,440 آپ کو ایک مسئلہ کے لئے حل کر دیا ہے سیٹ، اور صرف چیز 343 00:15:38,440 --> 00:15:40,187 مرتب یا اس سے بھی نہیں چلائے جائیں گے. 344 00:15:40,187 --> 00:15:43,270 اور تو اکثر، جلد، اس کے لئے جا رہا ہے آپ کو ایک قوسین یاد کیا کیونکہ ہو، 345 00:15:43,270 --> 00:15:44,455 یا آپ کو ایک نیم وقفہ یاد. 346 00:15:44,455 --> 00:15:46,547 اور اس طرح صرف احساس ہونا ان چیزوں کی قسم کے، 347 00:15:46,547 --> 00:15:49,380 اور کی طرف سے مایوس کرنے کے لئے نہیں کی کوشش کریں انہیں بہت تیزی سے اس کرتا ہے کیونکہ 348 00:15:49,380 --> 00:15:50,640 پرانے ٹوپی بن. 349 00:15:50,640 --> 00:15:53,910 لیکن اسے حاصل کرنے کے لئے بہت آسان ہے نتیجے کے طور پر، ابتدائی پر مایوس. 350 00:15:53,910 --> 00:15:57,020 >> تو اب، کے لئے کس طرح پر ایک نظر ڈالیں اس لائن اصل کام کر رہا ہے 351 00:15:57,020 --> 00:15:59,170 اور پھر ایک تھوڑا سا میں نظر آتے ہیں زیادہ پیچیدہ ایک. 352 00:15:59,170 --> 00:16:02,017 تو ہم یہاں، سے زیادہ ہے اس کی سکرین پر اپنی طرف متوجہ کرنے کی صلاحیت. 353 00:16:02,017 --> 00:16:04,100 اور چلو کہ فرض کرتے ہیں یہ میرے کمپیوٹر کی سکرین ہے 354 00:16:04,100 --> 00:16:08,589 لیکن میں، ہیلو پروگرام لکھ رہا ہوں اور میں، printf کے لاگو نہیں کیا. 355 00:16:08,589 --> 00:16:10,130 کسی، printf کا لاگو ہے. 356 00:16:10,130 --> 00:16:12,420 کون کا دعوی کرنے کے لئے چاہوں گا ، printf کے نافذ کر دیا ہے؟ 357 00:16:12,420 --> 00:16:12,920 ہم ہیں؟ 358 00:16:12,920 --> 00:16:13,830 ٹھیک ہے، آپ کا نام کیا ہے؟ 359 00:16:13,830 --> 00:16:14,155 >> 1 طالب علم: [؟ کوپل. ؟] 360 00:16:14,155 --> 00:16:15,529 >> DAVID J MALAN: کوپل، پر آتے ہیں. 361 00:16:15,529 --> 00:16:16,430 اپ چلو. 362 00:16:16,430 --> 00:16:17,070 بالکل ٹھیک. 363 00:16:17,070 --> 00:16:22,260 تو ہم یہاں، ہے، کچھ نام کا ٹیگ، ہم اس کا ایک چھوٹا سا کھیل بنا دیں گے کے بعد. 364 00:16:22,260 --> 00:16:26,270 اور ہم printf، آپ کو فون کروں گا. 365 00:16:26,270 --> 00:16:30,170 اور تم یہاں آنا چاہتے ہیں، کیا میں صرف سکرین پر تیار کی ہے، 366 00:16:30,170 --> 00:16:32,340 یہ، مجھے وہاں ہے، کافی صرف یہ ہے. 367 00:16:32,340 --> 00:16:35,550 >> ٹھیک ہے، تو، ہیلو میرے نام ہے، printf کے، آپ کو اس پر ڈال کرنا چاہتے ہیں تو. 368 00:16:35,550 --> 00:16:35,740 بالکل ٹھیک. 369 00:16:35,740 --> 00:16:37,360 اور آپ کو کھڑا جا سکتے ہیں کمپیوٹر کی سکرین کی طرف سے 370 00:16:37,360 --> 00:16:39,730 جیسے آپ کو تقریب ہو اس کمپیوٹر کے نظام کے ساتھ آئے. 371 00:16:39,730 --> 00:16:42,063 اور زندگی میں اپنے مقصد ہے اصل میں کچھ پرنٹ کرنے کے لئے. 372 00:16:42,063 --> 00:16:44,560 لیکن پروگرام کی طرح زیادہ سے زیادہ ہم صرف یہاں، سکرین پر تھا، 373 00:16:44,560 --> 00:16:47,060 ہم کرنے کے لئے جا رہے ہیں اصل میں آپ کو کچھ ان پٹ دے. 374 00:16:47,060 --> 00:16:51,810 >> اور اس طرح، میرے ان پٹ تو، یہاں، ہے بظاہر، جو printf سے گزر رہا ہے، 375 00:16:51,810 --> 00:16:53,730 قسم کی اس طرح فرضی دو. 376 00:16:53,730 --> 00:16:58,720 میں لفظی پر لکھنے کے لئے جا رہا ہوں کاغذ کا ایک ٹکڑا، "ہیلو، دنیا،" 377 00:16:58,720 --> 00:17:03,020 الٹا سلیش (ن) اور صاف ہو جائے، کیا میں صرف، کاغذ کے اس ٹکڑے پر تیار کی ہے 378 00:17:03,020 --> 00:17:04,020 اس طرح لگ رہا. 379 00:17:04,020 --> 00:17:08,730 تو میں نے اس پروگرام کو چلانے کے، اور یہ جب کوڈ کے پیلے رنگ کی لائن کو پھانسی دے دی ہے، 380 00:17:08,730 --> 00:17:12,970 اس میں، ہیلو پروگرام جیسے ہے ایک تقریب سے دور کچھ ان پٹ کے حوالے کر رہا ہوں 381 00:17:12,970 --> 00:17:13,970 کسی اور نے لکھا کہ. 382 00:17:13,970 --> 00:17:16,595 >> اور اگر آپ، اپنی انگلی کے ساتھ، اصل میں کر سکتے ہیں، اپنی انگلی کے ساتھ، 383 00:17:16,595 --> 00:17:21,520 سکرین پر اپنی طرف متوجہ جو یہ آپ کے حوالے کیا گیا ہے، 384 00:17:21,520 --> 00:17:27,465 اثر، بالآخر، کرنے کے لئے ہے بالکل، سکرین پر دیکھ. 385 00:17:27,465 --> 00:17:29,140 اور یہاں ایک چھوٹی سی کونے کیس. 386 00:17:29,140 --> 00:17:31,540 اور اچھی، ہم دیکھ نہیں کرنا چاہئے اس نقطہ پر، نئی لائن،. 387 00:17:31,540 --> 00:17:33,900 یہ آپ کے لئے غلط ہو گا واضح طور پر newline ہے اپنی طرف متوجہ کرنے. 388 00:17:33,900 --> 00:17:36,810 لیکن ہم پر یہ الفاظ لکھ رکھا ہے سکرین، وہ ذیل میں ختم ہو گی. 389 00:17:36,810 --> 00:17:39,560 >> آپ کا بہت بہت شکریہ، لیکن رہنا یہاں صرف ایک لمحے کے لئے. 390 00:17:39,560 --> 00:17:42,860 اب ہم ایک دوسرے کی ضرورت ہے رضاکار، اگر ہم کر سکتے، 391 00:17:42,860 --> 00:17:46,830 اس کردار ادا کرنے کی ضرورت کرنے جا رہا ہے of-- یہ آرکسٹرا میں صرف ان لوگوں کو ہے 392 00:17:46,830 --> 00:17:47,355 ابھی. 393 00:17:47,355 --> 00:17:47,980 کس طرح ٹھیک about--. 394 00:17:47,980 --> 00:17:48,480 یہیں پر. 395 00:17:48,480 --> 00:17:49,180 اپ چلو. 396 00:17:49,180 --> 00:17:49,955 آپ کا نام کیا ہے؟ 397 00:17:49,955 --> 00:17:50,922 >> طالب علم 2: [؟ Ivay. ؟] 398 00:17:50,922 --> 00:17:51,796 DAVID J MALAN: معاف کیجئے گا؟ 399 00:17:51,796 --> 00:17:52,990 طالب علم 2: [؟ Ivay. ؟] 400 00:17:52,990 --> 00:17:55,320 DAVID J MALAN: ایتھن، پر آتے ہیں. 401 00:17:55,320 --> 00:17:55,820 نہیں؟ 402 00:17:55,820 --> 00:17:58,390 میں بھی، کہ غلط تھا آپ دو بار اس نے کہا کے بعد؟ 403 00:17:58,390 --> 00:17:58,890 اپ چلو. 404 00:17:58,890 --> 00:18:00,030 یہ یہاں سننے کے لئے مشکل ہے. 405 00:18:00,030 --> 00:18:05,240 406 00:18:05,240 --> 00:18:05,740 ٹھیک ہے. 407 00:18:05,740 --> 00:18:07,190 اور مجھے معاف، تمہارا نام کیا ہے؟ 408 00:18:07,190 --> 00:18:07,680 >> طالب علم 2: [؟ Ivay. ؟] 409 00:18:07,680 --> 00:18:08,790 >> [؟ DAVID J MALAN: Ivay. ؟] ٹھیک ہے. 410 00:18:08,790 --> 00:18:10,430 اب کے لئے، اگر آپ ایسا کرتے نہیں ذہن، آپ GetString ہیں. 411 00:18:10,430 --> 00:18:11,013 >> 2 طالب علم: ٹھیک ہے. 412 00:18:11,013 --> 00:18:11,797 ٹھنڈا. 413 00:18:11,797 --> 00:18:14,630 DAVID J MALAN: آپ چاہتے ہیں تو صرف ایک لمحے کے لئے یہاں کھڑے کرنے کے لئے، 414 00:18:14,630 --> 00:18:17,100 ایک تھوڑا سا میں ایک نظر ڈالیں زیادہ پیچیدہ پروگرام، کہ 415 00:18:17,100 --> 00:18:18,670 اب کوڈ کے تین لائنوں ہے. 416 00:18:18,670 --> 00:18:24,080 تو ہم، ایک، کا استعمال کرتے ہوئے اپنا نام بتاو printf کے؛ دو، GetString کرنے کے لئے ایک کال، 417 00:18:24,080 --> 00:18:28,060 ایک کے لئے ایک کام کے بعد متغیر سٹرنگ، کہا جاتا ہے، یا S بلایا 418 00:18:28,060 --> 00:18:31,260 اور پھر printf، کرنے کے لئے ایک کال، لیکن دو آدانوں کے ساتھ اس وقت. 419 00:18:31,260 --> 00:18:33,646 >> تو ہم نے پہلے ہی کیا ہے ریاست آپ کا نام، یا بلکہ، ہم نے 420 00:18:33,646 --> 00:18:34,770 پہلے سے ہی ایک printf کال کیا. 421 00:18:34,770 --> 00:18:38,960 تو میں نے اپنا نام بتاو، لکھنے کے لئے جا رہا ہوں. 422 00:18:38,960 --> 00:18:42,089 اور اس طرح، میں کیا جا رہا ہوں صرف ایک لمحے میں، printf کے، منتقل، 423 00:18:42,089 --> 00:18:43,005 یہ بہت صرف ہوتا ہے. 424 00:18:43,005 --> 00:18:47,760 تم آگے بڑھو اور اس کو اپنی طرف متوجہ کرنا چاہتے ہیں تو سکرین پر، کہ آپ ان پٹ اب. 425 00:18:47,760 --> 00:18:48,260 بالکل ٹھیک. 426 00:18:48,260 --> 00:18:51,160 اور اب ہم ہیں، سٹرنگ بھول یہاں کوڈ کے اپنے لائن. 427 00:18:51,160 --> 00:18:54,470 اس میں، GetString کے، ہمیں ضرورت ہے اصل میں، GetString کے فون کرنے کے لئے. 428 00:18:54,470 --> 00:18:57,920 تو زندگی میں تمہارا مقصد صرف چلنا ہے آرکیسٹرا میں باہر، اگر آپ کر سکتے، 429 00:18:57,920 --> 00:18:58,980 اور کسی کا نام ملتا ہے. 430 00:18:58,980 --> 00:19:00,860 لیکن آپ کو دے دو کچھ اس پر ڈال. 431 00:19:00,860 --> 00:19:02,908 آپ چاہتے ہیں تو، جانے آگے اور ایک تار ملتا ہے، 432 00:19:02,908 --> 00:19:05,241 اس پر کسی کا نام حاصل کاغذ کا ٹکڑا، اگر آپ کر سکتے. 433 00:19:05,241 --> 00:19:12,940 434 00:19:12,940 --> 00:19:13,530 >> بالکل ٹھیک. 435 00:19:13,530 --> 00:19:15,250 اور ہم صرف ایک لمحے میں نظر آئے گا، جس کا نام ہم حاصل کر رہے ہیں. 436 00:19:15,250 --> 00:19:17,630 دریں اثنا، میں کیا جا رہا ہوں کے لئے تیار ہے، ایک خالی ٹکڑا ہے 437 00:19:17,630 --> 00:19:21,340 کاغذ کی، جس میں، میں جا رہا ہوں ذخیرہ کرنے کے لئے جو کچھ بھی قیمت یہ 438 00:19:21,340 --> 00:19:25,752 GetString کے مجھ سے واپس آ رہا ہے ہے کہ، میں، نامی ایک سٹرنگ متغیر، ے ہونے. 439 00:19:25,752 --> 00:19:26,252 بالکل ٹھیک. 440 00:19:26,252 --> 00:19:27,293 تو تم یہاں کیا ہے؟ 441 00:19:27,293 --> 00:19:27,950 نک. 442 00:19:27,950 --> 00:19:28,450 بالکل ٹھیک. 443 00:19:28,450 --> 00:19:30,910 تو ہم یہاں سے Nik کا نام ہے. 444 00:19:30,910 --> 00:19:33,750 تو اس کا کیا لفظی ہے واپس آ گیا ہے 445 00:19:33,750 --> 00:19:35,810 مجھ سے، تو GetString کے کی طرف سے، بات کرنے کے لئے. 446 00:19:35,810 --> 00:19:38,720 >> میں جا رہا، اب، ہوں بائیں ہاتھ کی طرف پھانسی 447 00:19:38,720 --> 00:19:43,440 جہاں میں صرف اس اظہار کے آج کل کے مقاصد، نک کے لئے، نیچے کاپی. 448 00:19:43,440 --> 00:19:46,470 تو اب، میں ایک متغیر ہے کہا جاتا ہے، نک کا نام ذخیرہ، ے. 449 00:19:46,470 --> 00:19:49,520 میں نے پہلے ہی کے حوالے کر دیا ہے printf کے، گزشتہ دلیل. 450 00:19:49,520 --> 00:19:52,800 لیکن ہماری تیسری اور آخری لائن میں کوڈ، میں واقعی میں ہاتھ printf پر ہے 451 00:19:52,800 --> 00:19:58,500 ایک چھوٹا سا different-- کچھ "ہیلو،٪ s کو،" (ن). 452 00:19:58,500 --> 00:20:01,510 >> اور اس آخری سطر میں جا رہا ہوں ہوں آخری چیز send-- سے 453 00:20:01,510 --> 00:20:03,060 اب نیچے لکھنے کے لئے جا، یہ ہے. 454 00:20:03,060 --> 00:20:06,310 تو کوڈ کی دو لائنیں، یا کوڈ کی آخری سطر بجائے، 455 00:20:06,310 --> 00:20:10,690 دو آدانوں کے لئے فون کالز ایک، یہ، اور دو، اس. 456 00:20:10,690 --> 00:20:13,330 ہماری printf تقریب تو اب ان پٹ کے طور پر ان لے جا سکتے ہیں، 457 00:20:13,330 --> 00:20:16,000 مجھے آپ کے لئے سکرین واضح. 458 00:20:16,000 --> 00:20:17,250 اصل میں کوئی، آپ آگے جا سکتے ہیں. 459 00:20:17,250 --> 00:20:19,333 ہم سے، اس کو چھوڑ دیں گے یہ ایک ہی پروگرام پر ہے. 460 00:20:19,333 --> 00:20:21,760 461 00:20:21,760 --> 00:20:27,380 ہم، ہیلو، نک کو دیکھنا چاہیئے. 462 00:20:27,380 --> 00:20:27,880 بالکل ٹھیک. 463 00:20:27,880 --> 00:20:29,670 تو اس کو بہت کچھ تھا باسکٹ بال صرف، کے ذریعے کود 464 00:20:29,670 --> 00:20:31,620 لکھنے کے لئے، ریاست اپنے ہیلو، نک نام، اور. 465 00:20:31,620 --> 00:20:37,210 لیکن پیغام پاسنگ کے اس سادہ خیال، ان پٹ اور آؤٹ پٹ کے انتقال حاصل کرنے کے، 466 00:20:37,210 --> 00:20:40,430 ہم جا رہے ہیں بالکل وہی جو ہے ماڈل بھی سب سے زیادہ پیچیدہ افعال کے لئے. 467 00:20:40,430 --> 00:20:41,804 پس تم دونوں کے لئے آپ کا بہت بہت شکریہ. 468 00:20:41,804 --> 00:20:43,730 ہم نے ایک خوبصورت کشیدگی ہے یہاں آپ کے لئے گیند. 469 00:20:43,730 --> 00:20:48,890 اور ہمارے GetString کرنے کے لئے آپ کا شکریہ آپس میں ایک جیسے اور printf رضاکاروں. 470 00:20:48,890 --> 00:20:49,551 آپ کا شکریہ. 471 00:20:49,551 --> 00:20:50,050 بالکل ٹھیک. 472 00:20:50,050 --> 00:20:50,966 تم دونوں کو شکریہ. 473 00:20:50,966 --> 00:20:56,640 474 00:20:56,640 --> 00:21:00,430 >> تو ہم کے بارے میں بات کر رہے ہیں اس طرح اب تک، زیادہ تر ڈور کے بارے میں. 475 00:21:00,430 --> 00:21:06,550 اور یہ کہ سی اصل میں کر سکتے ہیں باہر کر دیتا ہے چند مختلف اعداد و شمار اقسام کو سمجھنے. 476 00:21:06,550 --> 00:21:08,860 اصل میں، کے لے یہاں ان کی طرف دیکھو. 477 00:21:08,860 --> 00:21:12,490 تو C، اور زبانوں کا ایک بہت، حروف بلایا چیزوں کو سمجھنے. 478 00:21:12,490 --> 00:21:16,852 ایک چار عام طور پر ایک ہے ایک بائٹ، یا آٹھ بٹس. 479 00:21:16,852 --> 00:21:19,810 اور یہ ایک کردار کی نمائندگی کرتا ہے، خط A، یا سرمائے کی طرح 480 00:21:19,810 --> 00:21:21,990 خط A، یا چھوٹے خط ایک، یا فجائیہ نقطہ، 481 00:21:21,990 --> 00:21:25,440 یا کسی بھی کردار تم پر ٹائپ کر سکتے ہیں کہ اپنے کی بورڈ، اور بعض اوقات اس سے بھی زیادہ. 482 00:21:25,440 --> 00:21:26,795 ہم نے بھی floats کے دیکھنے کے لئے ہو. 483 00:21:26,795 --> 00:21:31,160 ایک فلوٹ، عام طور پر، ایک 32 بٹ کی قیمت، یا چار بائٹس 484 00:21:31,160 --> 00:21:33,660 پھر کیونکہ، ایک بائٹ آٹھ بٹس ہے. 485 00:21:33,660 --> 00:21:36,675 >> تو ایک فلوٹ ایک چل نقاط کی قیمت ہے، ایک اعشاریہ کے ساتھ کچھ. 486 00:21:36,675 --> 00:21:38,550 اور بے شک، وہ کیا ہے فلم بات کر رہا تھا 487 00:21:38,550 --> 00:21:42,240 وہ تیرتا کے بارے میں بات جب کے بارے میں نقطہ اقدار، بٹس کی کچھ مقررہ تعداد 488 00:21:42,240 --> 00:21:43,940 ایک حقیقی تعداد کی نمائندگی کرنے کے لئے استعمال کیا جا رہا. 489 00:21:43,940 --> 00:21:45,740 بلکہ ڈبلز بلایا چیزیں ہے. 490 00:21:45,740 --> 00:21:47,860 یہ، جاوا میں موجود آپ اے پی سی لے لیا ہے تو، 491 00:21:47,860 --> 00:21:51,540 اور ایک ڈبل، کے طور پر نام شکر ، سے پتہ چلتا ہے دو بار ایک فلوٹ کے طور پر طور پر بڑا ہے. 492 00:21:51,540 --> 00:21:54,540 یہ اب بھی ایک حقیقی تعداد ہے، یہ صرف زیادہ بٹس ہے 493 00:21:54,540 --> 00:21:58,390 جس کے ساتھ، پہلے سے کہیں زیادہ عین مطابق ہونا یا اس سے بھی بڑی تعداد کو ذخیرہ کرنے. 494 00:21:58,390 --> 00:21:58,890 INT کے لئے آسان ہے. 495 00:21:58,890 --> 00:22:00,181 ہم کہ آخری بار کے بارے میں بات. 496 00:22:00,181 --> 00:22:01,160 یہ صرف ایک عدد صحیح ہے. 497 00:22:01,160 --> 00:22:03,980 اور یہ عام طور 32 ہے بٹس، یا چار بائٹس. 498 00:22:03,980 --> 00:22:07,850 >> اور اس طرح، اگر آپ کے پاس،، اب دیکھتے ہیں 32 bits-- اور ہم 0 ہفتے میں نے یہ کیا، 499 00:22:07,850 --> 00:22:10,820 اگر آپ نے کبھی ایسا briefly-- 32 بٹس، سب سے بڑا ہے 500 00:22:10,820 --> 00:22:13,580 آپ کو ایک عددی طور پر نمائندگی کر سکتے ہیں کی تعداد؟ 501 00:22:13,580 --> 00:22:16,080 دے یا لے؟ 502 00:22:16,080 --> 00:22:18,380 یہ، 4 ارب کی طرح ہے اور یہ کہ ہم ہیں صرف اس صورت میں ہے 503 00:22:18,380 --> 00:22:20,690 مثبت تعداد صرف نمائندگی. 504 00:22:20,690 --> 00:22:23,930 آپ کے پاس 32 بٹس ہے، اور آپ چاہتے ہیں تو اس کے ساتھ ساتھ منفی تعداد کی نمائندگی کرتے ہیں، 505 00:22:23,930 --> 00:22:27,100 آپ کی حد بنیادی طور پر،، منفی ہے 2 ارب مثبت 2 ارب. 506 00:22:27,100 --> 00:22:29,250 لیکن عام طور پر، ہم شروع کریں گے 0 4 ارب تک جا. 507 00:22:29,250 --> 00:22:32,400 >> آپ واضح طور پر معلوم کرنے کے لئے ہے، لیکن نہیں بس میں تو ہم، حقیقت میں، یہ دیکھ سکتے ہیں 508 00:22:32,400 --> 00:22:36,400 یہاں، ایک چھوٹا سا کیلکولیٹر کو کھولنے. 509 00:22:36,400 --> 00:22:41,070 میں 32 2 ہے، اور کر سکتے ہیں کہ بالکل کتنا بڑا ہے، 510 00:22:41,070 --> 00:22:43,190 کتنی اقدار آپ کر سکتے ہیں 32 بٹس کے ساتھ، کی نمائندگی کرتے ہیں. 511 00:22:43,190 --> 00:22:44,442 اور یہ تقریبا 4 ارب ہے. 512 00:22:44,442 --> 00:22:46,900 تو ہم اس تعداد کو دیکھ کر جاری رکھیں گے چند مختلف مقامات میں. 513 00:22:46,900 --> 00:22:48,890 لیکن آپ کو اب کی ضرورت ہے تو اس سے تعداد، 514 00:22:48,890 --> 00:22:51,670 یہ وہاں ہے باہر کر دیتا ہے کچھ ایک طویل بلایا. 515 00:22:51,670 --> 00:22:54,005 اور ایک طویل طویل ہے عام طور پر 64 بٹس، جس 516 00:22:54,005 --> 00:22:56,380 اس شدت کے ایک حکم کا مطلب ہے ایک int سے بھی بڑا. 517 00:22:56,380 --> 00:22:59,510 >> تو میں بھی سب سے بڑا تلفظ نہیں کر سکتے آپ کی نمائندگی کر سکتے ہیں کی تعداد، 518 00:22:59,510 --> 00:23:01,340 لیکن یہ نمایاں طور پر بڑا ہے. 519 00:23:01,340 --> 00:23:05,190 اب ایک کے طور پر ایک طرف، تاریخی طور پر، ایک int 32 بٹیں ہے، 520 00:23:05,190 --> 00:23:12,780 اور ایک طویل طویل 64 بٹس، ہے کہ کس طرح بڑی ایک طویل، ایک طویل وقت ہے؟ 521 00:23:12,780 --> 00:23:16,500 522 00:23:16,500 --> 00:23:20,330 تم نے اسے ایک int سے زیادہ ہے لگتا تھا لیکن شاید کم طویل کے مقابلے میں ایک طویل، 523 00:23:20,330 --> 00:23:21,400 لیکن یہ اصل میں کا انحصار. 524 00:23:21,400 --> 00:23:23,400 >> اور اس طرح یہ ایک باہر کر دیتا ہے بھی کوبٹھاوں، 525 00:23:23,400 --> 00:23:26,830 مخصوص نظام پر کوڈ لکھنے کے ساتھ، یہ ہے کہ ان اعداد و شمار اقسام کی تمام 526 00:23:26,830 --> 00:23:28,440 پہلے سے مقرر اقدار ہیں. 527 00:23:28,440 --> 00:23:29,771 کبھی کبھی یہ بہت بٹس ہے. 528 00:23:29,771 --> 00:23:31,020 کبھی کبھی یہ ہے کہ بہت سے بٹس ہے. 529 00:23:31,020 --> 00:23:32,750 تو آپ کو اصل جاننا ضروری ہے، کبھی کبھی، کیا ہارڈ ویئر 530 00:23:32,750 --> 00:23:34,083 تم پر اپنے سافٹ ویئر چل رہا ہے کر رہے ہیں. 531 00:23:34,083 --> 00:23:36,960 شکر ہے، دیگر زبانوں اور اب موجود ہے کہ دوسرے اعداد و شمار اقسام، 532 00:23:36,960 --> 00:23:38,400 آپ کو زیادہ عین مطابق کرنے کی اجازت دے. 533 00:23:38,400 --> 00:23:41,220 ٹھیک ہے، ہم، سٹرنگ دیکھا اور ہم بھی، bool کے دیکھا 534 00:23:41,220 --> 00:23:43,960 لیکن یہ ان لوگوں کے آنے باہر کر دیتا ہے صرف CS50 لائبریری کے ساتھ. 535 00:23:43,960 --> 00:23:46,240 لہذا ان کی تعمیر نہیں کر رہے ہیں سی میں ان کی بجائے، 536 00:23:46,240 --> 00:23:49,340 کہا جاتا ہے کہ فائل میں آتے ہیں میں، CS50.h کہ ہم آخر میں کروں گا 537 00:23:49,340 --> 00:23:51,831 کی تہوں واپس چھیل. 538 00:23:51,831 --> 00:23:53,830 لیکن اب کے لئے، وہ صرف ہیں اضافی اعداد و شمار اقسام. 539 00:23:53,830 --> 00:23:57,060 ایک bool ایک صحیح یا غلط، اور ایک ہے تار حروف کی ایک ہی تسلسل ہے، 540 00:23:57,060 --> 00:23:57,970 ایک لفظ کی طرح. 541 00:23:57,970 --> 00:24:01,690 اب printf کے، ہم نے دیکھا ہے، ہے جگہ دار،٪ s کو ایک ہے. 542 00:24:01,690 --> 00:24:05,430 اور آپ کو، اب، قابل ہو سکتا ہے ان دیگر مثالوں، کس طرح سے نتیجہ نکالنا 543 00:24:05,430 --> 00:24:07,720 آپ کو ایک پلیس ہولڈر کر سکتے ہیں مختلف اعداد و شمار اقسام کے لئے. 544 00:24:07,720 --> 00:24:11,150 مثال کے طور پر،، ایک اندازہ لے اگر استعمال کرتے ہوئے ایک چار باہر پرنٹ کرنے کے لئے کرنا چاہتا تھا 545 00:24:11,150 --> 00:24:15,270 printf کے، پلیس ہولڈر شاید٪ C ہے. 546 00:24:15,270 --> 00:24:19,650 اور آپ کو ایک باہر پرنٹ کرنے کے لئے چاہتے ہیں تو پلیس ہولڈر، میں نے کے ساتھ عددی. 547 00:24:19,650 --> 00:24:25,150 ٪ lld، ایک طویل طویل دشملو کی قیمت ہے لیکن طویل، کہ نقشے تو. 548 00:24:25,150 --> 00:24:28,640 سچل کے لئے اور پھر٪ F نقطہ قیمت یا ایک ڈبل کے لئے، 549 00:24:28,640 --> 00:24:31,270 تو کبھی کبھی وہ دوبارہ استعمال کر رہے ہیں مختلف سیاق و سباق میں. 550 00:24:31,270 --> 00:24:33,350 تو ہم دیکھتے ہیں اور استعمال کریں گے وقت گزرنے کے ساتھ ان میں سے کچھ. 551 00:24:33,350 --> 00:24:36,420 printf کے اور بھی دوسرے کام کرتا ہے اور حمایت دوسروں فرار انداز، 552 00:24:36,420 --> 00:24:38,080 اور کبھی کبھی، ان کے لئے ضروری ہیں. 553 00:24:38,080 --> 00:24:39,770 تو (ن) ایک نئی سطر ہے. 554 00:24:39,770 --> 00:24:42,886 الٹا سلیش T، کسی کرتا ہے ایک کوشش لینے کے لئے چاہتے ہیں؟ 555 00:24:42,886 --> 00:24:43,760 سامعین رکن: ٹیب. 556 00:24:43,760 --> 00:24:44,551 DAVID J MALAN: ٹیب. 557 00:24:44,551 --> 00:24:46,810 آپ اصل میں چاہتے ہیں تو ، ایک ٹیب نہیں باہر پرنٹ کرنے کے لئے 558 00:24:46,810 --> 00:24:49,940 خالی جگہوں کی ایک مقررہ تعداد لیکن ایک حقیقی ٹیب کردار، آپ کو اپنے ہٹ نہیں، 559 00:24:49,940 --> 00:24:53,490 کی بورڈ پر ٹیب، اہم، عام طور پر، آپ اصل میں الٹا سلیش T کرتے. 560 00:24:53,490 --> 00:24:57,750 الٹا سلیش ڈبل اقتباس، کیوں میں نے کبھی اس چاہتے ہیں؟ 561 00:24:57,750 --> 00:24:58,250 ٹھیک ہے؟ 562 00:24:58,250 --> 00:25:00,417 کیوں میں صرف ایک قسم نہیں کر سکتے ہیں اپنے کی بورڈ پر ڈبل اقتباس؟ 563 00:25:00,417 --> 00:25:02,124 سامعین رکن: دوسری صورت میں، یہ ہے، کیونکہ 564 00:25:02,124 --> 00:25:04,830 یہ آخر ہے سوچنے کے لئے جا آپ کے پرنٹ [پسند ہے؟ متن. ؟] 565 00:25:04,830 --> 00:25:05,420 >> DAVID J MALAN: بالکل. 566 00:25:05,420 --> 00:25:07,211 کے ساتھ، یاد ہماری printf کے طور پر، جب ہم 567 00:25:07,211 --> 00:25:10,075 ان پٹ میں printf سے گزر رہے تھے، کہ ان پٹ سٹرنگ کے بائیں پر 568 00:25:10,075 --> 00:25:12,950 اور یہ کہ ان پٹ کے دائیں موسم بہار، کورس کے، ایک ڈبل اقتباس تھا. 569 00:25:12,950 --> 00:25:16,270 اپنی خود کی ان پٹ ایک ڈبل ہے تو اس کے وسط میں اقتباس، 570 00:25:16,270 --> 00:25:18,920 کمپیوٹر ممکنہ طاقت کے طور پر، الجھن میں ہو، 571 00:25:18,920 --> 00:25:20,760 اس ڈبل اقتباس کرتا وسط میں سے تعلق رکھتے ہیں؟ 572 00:25:20,760 --> 00:25:22,150 یہ بائیں سے ایک کے ساتھ تعلق رکھتے ہیں ہے؟ 573 00:25:22,150 --> 00:25:23,566 یہ صحیح سے ایک کے ساتھ تعلق رکھتے ہیں ہے؟ 574 00:25:23,566 --> 00:25:26,780 اور اس طرح، آپ کو سپر بنانے کے لئے چاہتے ہیں تو واضح، آپ ڈبل اقتباس الٹا سلیش کرتے، 575 00:25:26,780 --> 00:25:30,480 یہ فرار ہے تاکہ، تو بات، اور یہ کچھ اور کے لئے conflated نہیں ہے. 576 00:25:30,480 --> 00:25:34,400 اور، یہاں چند دیگر افراد بھی موجود ہے الٹا سلیش R، ایک کی قیمت درج، 0، 577 00:25:34,400 --> 00:25:36,510 کہ ہم اس کے ساتھ ساتھ، وقت کے ساتھ دیکھ سکتے ہیں. 578 00:25:36,510 --> 00:25:37,760 اور اب، کیا کام کرتا ہے کے بارے میں؟ 579 00:25:37,760 --> 00:25:41,630 >> ہم اس طرح دور لے جا سکتے ہیں اعمال اس زبان میں، سی، کے ساتھ ساتھ، ہم نے دیکھا ہے، 580 00:25:41,630 --> 00:25:44,320 printf کے، کورس کی، اور تمام سکرین پر دوسروں کے، 581 00:25:44,320 --> 00:25:47,140 یہاں، ہم نے کے لئے استعمال کریں گے کہ صرف کورس کی پہلے چند ہفتوں کے، 582 00:25:47,140 --> 00:25:48,485 جب CS50 لائبریری آئے. 583 00:25:48,485 --> 00:25:51,850 اور وہ میں، یہ بہت آسان بنانے سی، اصل میں صارف کی ان پٹ حاصل کرنے کے لئے. 584 00:25:51,850 --> 00:25:54,200 یہ C میں پتہ چلا ہے کہ، اور واضح چند زبانوں میں، 585 00:25:54,200 --> 00:25:57,450 ایسا کرنے کی گردن میں ایک حقیقی درد ہے صارف کو فوری طور کی طرح سادہ کچھ، 586 00:25:57,450 --> 00:26:01,310 اس کا یا اس کی ان پٹ کے لئے کی بورڈ، کے لئے. 587 00:26:01,310 --> 00:26:03,240 اور اس طرح یہ کام کرتا ہے اس کو آسان بنانے. 588 00:26:03,240 --> 00:26:05,472 >> اور یہ بھی غلطی ہے بھر کی جانچ پڑتال، 589 00:26:05,472 --> 00:26:07,180 تو جب آپ کو، کہ بدھ ہم، پر یاد 590 00:26:07,180 --> 00:26:09,740 ،، دوبارہ کوشش کریں، انتباہ دیکھا میں تعاون نہیں کیا جب، 591 00:26:09,740 --> 00:26:11,700 اور میں نے ایک لفظ، اس کی بجائے ایک نمبر ٹائپ؟ 592 00:26:11,700 --> 00:26:15,402 ہم ابتدائی بھاری لفٹنگ کیا ہے پر صارف تعاون بات کو یقینی بنانا. 593 00:26:15,402 --> 00:26:17,860 لیکن یہ صرف تربیت کر رہے ہیں کہ ہم آخر میں کرے گا پہیوں، 594 00:26:17,860 --> 00:26:19,640 اور فوری طور پر، اتار. 595 00:26:19,640 --> 00:26:22,630 >> recap پر، تو، ایک فوری نظر ڈالیں، 596 00:26:22,630 --> 00:26:26,620 ہم سکریچ، میں کے ساتھ کیا زیادہ کی طرح C. میں کچھ وہیت تشکیل 597 00:26:26,620 --> 00:26:28,580 اس طرح، فراہم کرنا ہے کی، ایک بونڈر دورے ہو، 598 00:26:28,580 --> 00:26:30,990 صرف اس لئے کہ آپ کو ایک حوالہ ہے اور آپ سب سے پہلے میں چیزوں کو دیکھا ہے کہ. 599 00:26:30,990 --> 00:26:34,100 لیکن اس وقت ہم اصل کوڈنگ میں دیکھتا ہوں ان کی عمارت کے بلاکس میں سے کچھ کا استعمال کرتے ہیں. 600 00:26:34,100 --> 00:26:36,710 اتنا سکریچ کی طرح، ہم بیانات پسند تھا جب، 601 00:26:36,710 --> 00:26:41,570 C میں، ہم کرتے ہیں، انتظار، کہتے ہیں یا printf طرح کے طور پر اچھی طرح سے کام کرتا ہے،. 602 00:26:41,570 --> 00:26:45,350 >> ہم اگر ایک شرط کا اظہار کرنا چاہتے ہیں تو C میں، اس کی روح میں، اسی طرح کی ہے، 603 00:26:45,350 --> 00:26:47,840 کہ پہیلی ٹکڑا ہے کہ اسکریچ میں اس طرح دیکھا. 604 00:26:47,840 --> 00:26:49,850 بلکہ اس کی بجائے، ہم لفظی صرف تو، لکھنا. 605 00:26:49,850 --> 00:26:51,830 اور پھر، قوسین میں، ہم اگر ایک شرط رکھ، 606 00:26:51,830 --> 00:26:54,807 شرط یہ ہے کہ وہ کہاں ہے جو ہم کریں گے ایک بولین اظہار، پھر، فون. 607 00:26:54,807 --> 00:26:56,390 اور پھر، اس pseudocode کی طرح ہے. 608 00:26:56,390 --> 00:26:58,830 اور، اصل میں، // ایک تبصرہ ہے. 609 00:26:58,830 --> 00:27:00,550 یہ اپنے آپ کو صرف انگریزی الفاظ ہے. 610 00:27:00,550 --> 00:27:03,000 لیکن یہ عام ہے ایک، تو، حالت کی ساخت. 611 00:27:03,000 --> 00:27:05,220 لیکن ہم ٹھوس دیکھیں گے صرف ایک لمحے میں مثالیں. 612 00:27:05,220 --> 00:27:07,960 >> آپ کو ایک حاصل کرنے کے لئے چاہتے ہیں، تو راستے میں دو طرفہ کانٹا، 613 00:27:07,960 --> 00:27:11,740 زیادہ کی طرح ہم پر ہمارے رضاکار کے ساتھ کیا بدھ، آپ اور اگر، ایک کر سکتے ہیں. 614 00:27:11,740 --> 00:27:16,020 اور آپ کو ایک تہائی ہے کرنا چاہتے ہیں تو آخری حالت، یا پہلے سے طے شدہ کی صورت حال، 615 00:27:16,020 --> 00:27:19,006 تم وہاں، صرف ایک اور بلاک کر سکتے ہیں. 616 00:27:19,006 --> 00:27:21,880 اور اسی طرح، بولین اظہار کے ساتھ، آپ ان کے ساتھ، کر سکتے ہیں، اور. 617 00:27:21,880 --> 00:27:24,296 اور ہم، بدھ کے روز دیکھا کہ یہ ایک واحد ایمپرسینڈ نہیں ہے، 618 00:27:24,296 --> 00:27:28,220 یہ نچلے درجے وجوہات کی بنا پر، دو ہے کہ ہم آخر میں دیکھیں اور اس کے ساتھ کھیلونگا. 619 00:27:28,220 --> 00:27:30,410 چیزیں یا کنڈ 2 عمودی سلاخوں ہے. 620 00:27:30,410 --> 00:27:32,240 ایک امریکی کی بورڈ پر، اس ایک اہم عام طور پر ہے 621 00:27:32,240 --> 00:27:35,730 اوپر شفٹ بٹن کے ساتھ آپ کی چابی درج کریں یا اہم واپس جائیں. 622 00:27:35,730 --> 00:27:38,620 >> پھر ان چیزوں ہے کہ وہاں ہم ایک بار یا دو بار ہو سکتا ہے استعمال کریں گے. 623 00:27:38,620 --> 00:27:42,570 وہ فعل کے برابر ہیں تو اور کیا تو آپ، ایک کے ساتھ کر سکتے ہیں،، 624 00:27:42,570 --> 00:27:44,950 اور اور اگر، تعمیر، لیکن وہ ایک سوئچ کہا جاتا ہے کر رہے ہیں. 625 00:27:44,950 --> 00:27:48,020 وہ بہت مختلف ہیں، لیکن ہم کریں گے ہمارے تقسیم کے کوڈ میں سے کچھ میں دیکھ، 626 00:27:48,020 --> 00:27:51,890 ایک مستقبل مسئلہ سیٹ کے لئے، سب سے زیادہ امکان، یہ صرف کبھی کبھی ایک خوبصورت ہے کہ 627 00:27:51,890 --> 00:27:54,060 مجموعی اظہار کی راہ حالات کے گروپ، 628 00:27:54,060 --> 00:27:57,590 گھوبگھرالی منحنی خطوط وحدانی کی ایک بہت کے بغیر اور قوسین اور پوٹ کاری کی ایک بہت. 629 00:27:57,590 --> 00:28:01,910 لیکن انہوں نے ہمیں کوئی زیادہ دینا طاقت ہم نے پہلے ہی کے مقابلے میں. 630 00:28:01,910 --> 00:28:02,550 اور اب loops کے. 631 00:28:02,550 --> 00:28:05,020 اور یہ ایک، ہم نظر آئے گا زیادہ آہستہ آہستہ ایک چھوٹا سا میں. 632 00:28:05,020 --> 00:28:08,470 لیکن اس وقت، ہم ان کا استعمال کرنے کے لئے شروع کریں گے، خاص طور پر پہلے ہی سے واقف لوگوں کے لئے. 633 00:28:08,470 --> 00:28:13,830 یہ تو ناقابل یقین حد تک، وہیت طریقہ ہے جادو طریقہ، سی میں ایک لوپ لکھنے کے لئے 634 00:28:13,830 --> 00:28:15,896 >> اب اسکریچ میں ایک لوپ تھا خوبصورت براہ راست. 635 00:28:15,896 --> 00:28:17,020 آپ کو ایک، ہمیشہ، بلاک ہے. 636 00:28:17,020 --> 00:28:19,760 آپ کو ایک، دوبارہ، بلاک کے ساتھ ہے صرف ایک نمبر میں آپ ٹائپ کرنا ہے. 637 00:28:19,760 --> 00:28:22,220 اور، کے لئے لوپ کے ساتھ، آپ کر سکتے ہیں ، ان خیالات دونوں پر عمل درآمد 638 00:28:22,220 --> 00:28:23,595 لیکن یہ ایک چھوٹا سا زیادہ تکنیکی ہے. 639 00:28:23,595 --> 00:28:25,994 لیکن واضح طور سے، یہ بھی ہے نسبتا آسان. 640 00:28:25,994 --> 00:28:28,160 آپ کے حکم جانتے ہیں ایک بار آپریشن، آپ لفظی 641 00:28:28,160 --> 00:28:30,910 صرف اقدار میں پلگ کرنے کے لئے جا رہے ہیں اور کیا کرنا ہے کرنے کے لئے کمپیوٹر بتا. 642 00:28:30,910 --> 00:28:32,800 تو یہاں ایک مثال ہے. 643 00:28:32,800 --> 00:28:38,040 یہ ایک لوپ ہے، بہت بس، ایک نمبر سے شمار 644 00:28:38,040 --> 00:28:40,187 ایک ذریعے. 645 00:28:40,187 --> 00:28:42,020 اور صرف glancing کے کی طرف سے آپ کو کرنا پڑے یہاں تک کہ اگر، اس پر 646 00:28:42,020 --> 00:28:44,660 کے ساتھ کوئی پیشگی تجربہ اس زبان، کیا نمبر 647 00:28:44,660 --> 00:28:46,920 یہ شاید میں گنتی شروع ہوتی ہے؟ 648 00:28:46,920 --> 00:28:47,730 ٹھیک ہے، 0. 649 00:28:47,730 --> 00:28:50,240 اور میں اس وجہ سے آپ کو ہے اندازہ لگا رہا ہوں ، ایک int اور ایک میں ہے کہ وہاں دیکھیں 650 00:28:50,240 --> 00:28:51,073 جس میں ایک متغیر ہے. 651 00:28:51,073 --> 00:28:52,390 یہ 0 initialized ہے ہے. 652 00:28:52,390 --> 00:28:55,670 >> اور پھر بعد میں، اس طرح لگ رہا ہے ہم، ایک قدر printf کے گزر رہے ہیں. 653 00:28:55,670 --> 00:28:58,000 اور، اصل میں، میں یہاں ایک چھوٹا سا ٹائپنگ میں کوئی غلطی. 654 00:28:58,000 --> 00:28:59,850 لیکن اس سے آسانی طے ہے. 655 00:28:59,850 --> 00:29:02,390 مجھے یہاں، میں شامل ہیں. 656 00:29:02,390 --> 00:29:06,150 اب ہم printf کا وجود ہے کہ پلیس ہولڈر کی قیمت منظور. 657 00:29:06,150 --> 00:29:08,299 اور کے ذریعے شمار کرنے کے لئے کیا ہو رہا ہے؟ 658 00:29:08,299 --> 00:29:08,840 سامعین: 50. 659 00:29:08,840 --> 00:29:09,340 50. 660 00:29:09,340 --> 00:29:10,160 49. 661 00:29:10,160 --> 00:29:10,910 DAVID J MALAN: 49. 662 00:29:10,910 --> 00:29:13,340 تو 50، پہلی نظر میں، صحیح لگتا ہے. 663 00:29:13,340 --> 00:29:16,990 لیکن اس، یہ باہر کر دیتا، جا رہا ہے ہم جانچ پڑتال رکھنا کہ ہماری حالت. 664 00:29:16,990 --> 00:29:21,740 اور ہم ایک بار کو روکنے کے لئے جا رہے ہیں میں اب 50 سے بھی کم ہے. 665 00:29:21,740 --> 00:29:24,920 تو اس لوپ، کے برعکس، ہونا چاہئے اتنی دیر میں 50 سے بھی کم ہے کے طور پر، پھانسی. 666 00:29:24,920 --> 00:29:28,891 لیکن یہ 50 یا 51 ہو جاتا ہے کے طور پر جلد کے طور پر، یا بدتر، یہ خود بخود بند ہو جانا چاہئے. 667 00:29:28,891 --> 00:29:29,390 بالکل ٹھیک. 668 00:29:29,390 --> 00:29:31,200 >> تو کیا اصل میں یہاں کیا ہوتا ہے؟ 669 00:29:31,200 --> 00:29:33,160 تو اس کا حکم ہے ایک لوپ کے لئے آپریشن. 670 00:29:33,160 --> 00:29:35,440 ایک، آپ کو کرنا پڑے ابتدا نام نہاد. 671 00:29:35,440 --> 00:29:38,264 یہ پیلے رنگ پر روشنی ڈالی حصہ کوڈ کے، سب سے پہلے پھانسی دے دی ہے 672 00:29:38,264 --> 00:29:40,930 اور یہ اثر ہے کہ، فی ہے بدھ، آپ شاید سوچ بھی. 673 00:29:40,930 --> 00:29:45,500 یہ ایک متغیر میں اور یہ کہا جاتا ہے تخلیق کہ متغیر میں اسٹورز قدر 0. 674 00:29:45,500 --> 00:29:47,560 تو میں کہانی میں اس وقت ہے 0. 675 00:29:47,560 --> 00:29:49,680 >> اگلی چیز ہے کہ اس کی تعمیر میں ہوتا ہے، 676 00:29:49,680 --> 00:29:51,540 حالت کی جانچ پڑتال ہو جاتا ہے. 677 00:29:51,540 --> 00:29:54,325 تو میں، فوری طور پر جانچ پڑتال میں 50 سے بھی کم ہے؟ 678 00:29:54,325 --> 00:29:57,700 اور ظاہر کی، جواب اب کے لئے جی ہاں، ضرور، ہے. 679 00:29:57,700 --> 00:30:00,710 جی ہاں، میں، 0 ہے، اور اس وجہ سے کہ بے شک کم 50 ہے. 680 00:30:00,710 --> 00:30:03,866 پھر کیا ہوتا ہے، یہ ہے کہ ہے کوڈ کے مطابق پھانسی ہو جاتا ہے. 681 00:30:03,866 --> 00:30:06,740 اور حقیقت میں، اگر ایک سے زیادہ ہے ان گھوبگھرالی منحنی خطوط وحدانی میں کوڈ کی لائنیں، 682 00:30:06,740 --> 00:30:09,020 وہ سب کے سب ایک کے بعد ایک کو پھانسی دے دی ہو. 683 00:30:09,020 --> 00:30:11,450 >> اور یہاں کے اثر میں ہے، بظاہر، باہر پرنٹ کرنے کے لئے 684 00:30:11,450 --> 00:30:15,365 جا رہا ہے جس کی تعداد میں، 0، اور پھر 1، اور پھر 2 ہو. 685 00:30:15,365 --> 00:30:15,865 لیکن کیوں؟ 686 00:30:15,865 --> 00:30:17,410 کیوں یہ incremented حاصل ہے؟ 687 00:30:17,410 --> 00:30:20,680 ویسے، چوتھی بات یہ ہے کہ ہوتا یہ نحو ہے 688 00:30:20,680 --> 00:30:22,610 نیم وقفہ کے بعد، پھانسی ہو جاتا ہے. 689 00:30:22,610 --> 00:30:27,506 میں کہہ کا ایک آشلپی راستہ ہے + +؛ میں کی قدر لے، اور اس کے لئے 1 کا اضافہ؛ 690 00:30:27,506 --> 00:30:30,380 اور پھر اگلی بار، شامل اس کے لئے 1؛ اور اگلی بار، 691 00:30:30,380 --> 00:30:31,330 اس کے لئے 1 کا اضافہ. 692 00:30:31,330 --> 00:30:33,640 >> تو ہم جا رہو تو، کیا ہونے جا رہا ہے 693 00:30:33,640 --> 00:30:35,890 اگلے میں نہیں جا رہا ہوں ہے پھر کبھی میں ابتدا. 694 00:30:35,890 --> 00:30:38,290 میں ابتدا رکھا تو میں 0، اس مثال 695 00:30:38,290 --> 00:30:41,110 کیونکہ کبھی ختم نہیں کریں گے 0 میں پھنس جائے گا. 696 00:30:41,110 --> 00:30:43,870 لیکن کیا ہونے جا رہا ہے کیا ہے حالت چیک کیا جائے گا کہ، 697 00:30:43,870 --> 00:30:54,280 کوڈ کے مطابق پھانسی ہو جائے گا، میں، incremented کیا جائے گا 698 00:30:54,280 --> 00:30:56,970 حالت چیک کیا جائے گا، کوڈ کو پھانسی ہو جائے گا. 699 00:30:56,970 --> 00:30:59,790 اور یہ، ایک بار پھر سائیکلنگ رکھا اور پھر، اور پھر، 700 00:30:59,790 --> 00:31:03,340 میں جب تک + 50 کی قیمت حوصلہ افزائی. 701 00:31:03,340 --> 00:31:05,870 >> حالت تو، کا کہنا ہے کہ 50 کے مقابلے میں 50 سے بھی کم ہے؟ 702 00:31:05,870 --> 00:31:09,360 جواب، کورس کی، نہیں ہے، اور تاکہ پورے کوڈ عمل رک جاتا ہے. 703 00:31:09,360 --> 00:31:13,020 اور آپ کی سکرین پر زیادہ کوڈ ہے نیچے، کہ اگلے کیا ہوتا ہے. 704 00:31:13,020 --> 00:31:17,530 یہ گھوبگھرالی منحنی خطوط وحدانی سے باہر ٹمٹمانے اور اس کے بعد زیادہ پرنٹ کرنے کے لئے جاری ہے. 705 00:31:17,530 --> 00:31:20,470 >> تو FoxTrot سے اب ایک مذاق،، کہ آپ کو شاید اب سمجھ جائے گا. 706 00:31:20,470 --> 00:31:30,810 707 00:31:30,810 --> 00:31:31,560 یہ ہمیشہ مذاق ہے. 708 00:31:31,560 --> 00:31:34,110 یہ منہ دبا ہںسنا کی طرح ہے قسم کے، نہیں percolate 709 00:31:34,110 --> 00:31:38,370 اور پھر آپ کو احساس تم نہیں کرنا چاہئے اس طرح ہنسی مذاق پر ہںس ہو. 710 00:31:38,370 --> 00:31:41,160 لیکن بعض takeaway ہے ہے یہاں، pedagogically، بھی. 711 00:31:41,160 --> 00:31:43,577 تو یہ مجھے پتہ چلا ہے کہ نحو کا ایک ٹکڑا لاپتہ، 712 00:31:43,577 --> 00:31:45,410 یا FoxTrot کی ایک لاپتہ یہاں نحو کا ٹکڑا. 713 00:31:45,410 --> 00:31:48,076 کیا ہم نے کیا ہے کہ، لاپتہ ہے ہر دوسری مثال میں، اس طرح اب تک؟ 714 00:31:48,076 --> 00:31:51,599 715 00:31:51,599 --> 00:31:53,390 واپس تو، وہاں ہے کہ، کچھ اور ہے 716 00:31:53,390 --> 00:31:54,440 ہم طویل عرصے سے پہلے واپس آ جائیں گے کہ. 717 00:31:54,440 --> 00:31:55,398 کیا لاپتہ ہے، اگرچہ؟ 718 00:31:55,398 --> 00:31:55,908 جی ہاں. 719 00:31:55,908 --> 00:31:58,150 >> سامعین رکن: [اشراوی] کی ابتدا. 720 00:31:58,150 --> 00:31:58,470 >> DAVID J MALAN: ٹھیک ہے. 721 00:31:58,470 --> 00:31:58,980 تو جی ہاں. 722 00:31:58,980 --> 00:32:03,210 تو اصل میں، یہ اچھی طرح is--، اور شمار initialized ہے 723 00:32:03,210 --> 00:32:05,470 اوپر، یا بلکہ، اوپر کا اعلان کر دیا. 724 00:32:05,470 --> 00:32:06,960 تو یہ کرنے کی ایک اور طریقہ ہے. 725 00:32:06,960 --> 00:32:08,685 لیکن ایک ہی لائن میں اگرچہ درست ہے. 726 00:32:08,685 --> 00:32:09,310 کس طرح یہاں کے بارے میں؟ 727 00:32:09,310 --> 00:32:10,196 >> سامعین رکن: یہ گھوبگھرالی منحنی خطوط وحدانی ہے؟ 728 00:32:10,196 --> 00:32:10,640 >> DAVID J MALAN: جی ہاں. 729 00:32:10,640 --> 00:32:12,080 تو گھوبگھرالی منحنی خطوط وحدانی یاد کر رہے ہیں. 730 00:32:12,080 --> 00:32:15,495 لیکن اس کوڈ، میں ان کے کریڈٹ، مطلب، اصل میں، syntactically ہے درست ہے. 731 00:32:15,495 --> 00:32:17,610 یہ باہر کر دیتا ہے، آپ ایسا نہیں کرتے گھوبگھرالی منحنی خطوط وحدانی کی ضرورت ہے 732 00:32:17,610 --> 00:32:21,691 آپ کو صرف کوڈ کا ایک لائن ہے کہ آپ کو لوپ کے اندر پھانسی کرنا چاہتے ہیں. 733 00:32:21,691 --> 00:32:24,190 اب ہم ہمیشہ، کلاس میں اور ہمارے تقسیم کے کوڈ کے تمام، 734 00:32:24,190 --> 00:32:26,730 گھوبگھرالی منحنی خطوط وحدانی شامل ویسے بھی، صرف وضاحت کی خاطر. 735 00:32:26,730 --> 00:32:29,010 لیکن نصابی کتابوں میں اس بات کا احساس اور آن لائن مثالیں، 736 00:32:29,010 --> 00:32:31,300 تم بہت اچھی طرح گھوبگھرالی دیکھ سکتے ہیں کچھ لاپتہ منحنی خطوط وحدانی. 737 00:32:31,300 --> 00:32:34,850 اور یہ کہ، ٹھیک ہے اور اگر آپ پوٹ دار اور ارادہ کیا 738 00:32:34,850 --> 00:32:38,650 کوڈ کا صرف ایک لائن ہے، اور نہ ممکنہ طور پر کوڈ کا ایک سے زیادہ لائنوں،. 739 00:32:38,650 --> 00:32:39,150 بالکل ٹھیک. 740 00:32:39,150 --> 00:32:44,500 کے معاملے پر تو متعلقہ گئی imprecision،، اتپرواہ کا مسئلہ ہے 741 00:32:44,500 --> 00:32:48,560 ان معنوں میں کہ، اسی طرح، integers کے ان کی حدود ہیں 742 00:32:48,560 --> 00:32:49,970 صرف نقطہ اقدار تیرتا کی طرح؟ 743 00:32:49,970 --> 00:32:53,120 دنیا کو ایک چل نقاط میں اقدار، ہم صرف، تو عین مطابق ہو سکتا ہے 744 00:32:53,120 --> 00:32:55,710 کبھی کبھی، جس کے بعد بری چیزیں ہو سکتا ہے، 745 00:32:55,710 --> 00:32:57,760 اور ہمارے پروگراموں چھوٹی گاڑی اور غلطی ہو سکتا ہے. 746 00:32:57,760 --> 00:33:00,050 اب بھی integers کے ساتھ، آپ کے مسائل میں چلا سکتے ہیں. 747 00:33:00,050 --> 00:33:03,820 اب ایک عددی ایک نہیں ہے دشملو نقطہ یا اس کے بعد نمبر. 748 00:33:03,820 --> 00:33:07,130 یہ عام طور پر، صرف ایک قدرتی تعداد ہے. 749 00:33:07,130 --> 00:33:09,430 تو ایک int کے ساتھ غلط کیا جا سکتا ہے؟ 750 00:33:09,430 --> 00:33:12,210 میں ایک int کے لئے استعمال کر رہا ہوں ، غلط کیا جا سکتا ہے شمار؟ 751 00:33:12,210 --> 00:33:13,230 ایک بہت آسان لگتا ہے. 752 00:33:13,230 --> 00:33:13,873 جی ہاں. 753 00:33:13,873 --> 00:33:16,240 >> سامعین رکن: اگر تعداد ہو جاتا ہے [اشراوی] 754 00:33:16,240 --> 00:33:17,073 >> DAVID J MALAN: جی ہاں. 755 00:33:17,073 --> 00:33:20,820 آپ، اتنا زیادہ اعتماد آپ کہ اگر کیا کہ واقعی بڑی تعداد کا اظہار نہیں کر سکتے ہیں. 756 00:33:20,820 --> 00:33:21,320 ٹھیک ہے؟ 757 00:33:21,320 --> 00:33:23,910 کچھ وقت، تم جا رہے ہو حدود سے تجاوز کرنے کی 758 00:33:23,910 --> 00:33:27,077 ایک 32 بٹ کی قیمت یا ایک 64 بٹ کی قیمت کا. 759 00:33:27,077 --> 00:33:29,410 اب ایک بار پھر، میں نے کس طرح اس بات کا یقین نہیں ہوں ایک 64 بٹ کی قیمت ٹھہرای، 760 00:33:29,410 --> 00:33:32,230 لیکن میں نے ایک 32 بٹ عددی کے ساتھ جانتے ہیں، یہ ہو سکتا ہے سب سے بڑی قدر، 761 00:33:32,230 --> 00:33:35,490 یہ صرف مثبت ہے تو اقدار، تقریبا 4 ارب روپے ہے. 762 00:33:35,490 --> 00:33:39,000 میں نے 5 ارب شمار کرنے کی کوشش تو، کچھ ہونے جا رہا ہے. 763 00:33:39,000 --> 00:33:41,050 لیکن حقیقت میں، ہو سکتا ہے، دیکھتے ہیں. 764 00:33:41,050 --> 00:33:44,570 عددی کی دنیا میں اتپرواہ، جہاں آپ کو ایک معنی میں، 765 00:33:44,570 --> 00:33:48,270 ایک کی صلاحیت اتپرواہ عددی، کیا ہو سکتا ہے؟ 766 00:33:48,270 --> 00:33:51,190 >> تو یہاں ایک بائنری تعداد ہے، یہ 0 کے لئے ایک throwback ہے. 767 00:33:51,190 --> 00:33:54,630 یہ 1، اور جگہ ہے وہاں، 2 کے اختیارات ہیں، 768 00:33:54,630 --> 00:33:55,980 تو یہ بائنری ہے. 769 00:33:55,980 --> 00:33:59,416 تو ان کی سکرین پر 8، 1 بٹس ہیں. 770 00:33:59,416 --> 00:34:01,290 اور آپ کو یاد ہے یا آپ کو تیزی سے ریاضی کرتے ہیں، 771 00:34:01,290 --> 00:34:06,074 کیا قیمت کی نمائندگی کی جا رہی ہے یہاں ان آٹھ بٹس کے ساتھ 1؟ 772 00:34:06,074 --> 00:34:06,950 255. 773 00:34:06,950 --> 00:34:09,260 اور آپ کو بہت یقین نہیں تھے یہاں تک کہ اگر ریاضی کے، آپ اسے باہر کر سکتے ہیں. 774 00:34:09,260 --> 00:34:10,550 یا آپ کو صرف قسم سکتا کی وجہ سے اس کے ذریعے، 775 00:34:10,550 --> 00:34:12,633 میں ہوں تو، ایک منٹ رکو ایک 8 بٹ کی قیمت کی نمائندگی کرنے والے، 776 00:34:12,633 --> 00:34:17,750 اور میں 256 ممکنہ اقدار مل گیا ہے، لیکن جس کی پہلی، 0 ہے 777 00:34:17,750 --> 00:34:19,909 میں صرف جانتے ہیں کہ سب سے بڑا، 255 جا رہا ہے 778 00:34:19,909 --> 00:34:21,510 اور یہ کہ اس سے ایک ہو سکتا ہے. 779 00:34:21,510 --> 00:34:26,060 >> تو میں نے اس کی قیمت کے 1 کا اضافہ کرنے کی کوشش لگتا. 780 00:34:26,060 --> 00:34:28,750 آپ گریڈ میں کیا کریں گے اسکول ایک 1 انہوں نے مزید کہا، اور یہ جب 781 00:34:28,750 --> 00:34:31,139 واقعی کیونکہ کے قابل نہیں ہے آپ 1 لے جانے کے لئے ہے؟ 782 00:34:31,139 --> 00:34:34,380 جا اس نمبر کیا ہے آپ 1 کا اضافہ جب بننے کے لئے؟ 783 00:34:34,380 --> 00:34:37,030 یہ 0 بننے جا رہی ہے. 784 00:34:37,030 --> 00:34:37,530 ٹھیک ہے؟ 785 00:34:37,530 --> 00:34:41,139 آپ کو زیادہ bits-- تھا اور کیونکہ اگر میں کروں گا ، قسم کی، کرنے کی کوشش کریں یہاں اسے باہر ٹائپ 786 00:34:41,139 --> 00:34:44,710 ہم زیادہ سے زیادہ بٹس، تھا تو کیا ہم 1 شامل ہے یہاں کر سکتے ہیں، 787 00:34:44,710 --> 00:34:47,370 اور پھر ہم اس کو حاصل تھا. 788 00:34:47,370 --> 00:34:48,739 افوہ. 789 00:34:48,739 --> 00:34:52,250 ہم یہاں پر ایک 1 بٹ کے تمام راستے پڑے گا. 790 00:34:52,250 --> 00:34:55,530 >> لیکن یہ ایک تبدوست ہے قیمت، یہ صرف 8 بٹس ہے، 791 00:34:55,530 --> 00:34:57,480 اور یہ کہ پہلے سے مقرر ہے کمپیوٹر کی طرف سے، 792 00:34:57,480 --> 00:34:59,370 1 کہ مؤثر طریقے سے نہیں ہے. 793 00:34:59,370 --> 00:35:00,980 یہ قسم کی ایک پہاڑ سے آتا ہے. 794 00:35:00,980 --> 00:35:05,480 اور اس طرح آپ 255 1 کا اضافہ تو کیا آپ بظاہر قیمت حاصل کرتے ہیں؟ 795 00:35:05,480 --> 00:35:06,180 0. 796 00:35:06,180 --> 00:35:09,700 اور اتفاقی طور پر اعداد و شمار تو، اور شاید، غیر ارادی طور پر، 797 00:35:09,700 --> 00:35:12,040 اس طرح کے ارد گرد ریپنگ کی ختم. 798 00:35:12,040 --> 00:35:14,079 تو کیا اس کا مطلب یہ ہو سکتا ہے؟ 799 00:35:14,079 --> 00:35:15,620 ٹھیک ہے، ایک کچھ مختلف چیزیں ہے. 800 00:35:15,620 --> 00:35:18,751 تو ایک، یہ دیکھ کر ختم ہوتا ہے 0 طرح، غیر ارادی طور پر، 801 00:35:18,751 --> 00:35:20,750 لیکن آپ کی قسم، دیکھ سکتے ہیں یہاں تک کہ حقیقی دنیا میں، 802 00:35:20,750 --> 00:35:23,416 بہتر کے لئے یا برے کے لئے، ایک حد کے اس خیال کی توضیحات. 803 00:35:23,416 --> 00:35:26,630 مثال کے طور پر، تم میں سے کسی کے لئے کون کبھی Lego سٹار وار ادا کیا ہے، 804 00:35:26,630 --> 00:35:28,880 کسی کو پتہ ہوتا ہے سککوں کی زیادہ سے زیادہ تعداد 805 00:35:28,880 --> 00:35:32,032 آپ Lego سٹار وار میں جمع کر سکتے ہیں؟ 806 00:35:32,032 --> 00:35:35,640 کی بنیاد پر ایک اندازہ لے آج کی اہم سوالات. 807 00:35:35,640 --> 00:35:39,140 یہ 256 یا 255 سے بھی بڑا ہے. 808 00:35:39,140 --> 00:35:40,330 یہ 4 ارب ہے. 809 00:35:40,330 --> 00:35:42,080 تو یہ باہر کر دیتا ہے، اور کچھ قوم ہے 810 00:35:42,080 --> 00:35:46,080 کچھ ہیں Googling تصدیق آخری رات 4 ارب سونے کے سککوں حاصل ہے، 811 00:35:46,080 --> 00:35:47,730 یا Lego سٹار وار میں whatnot کے،. 812 00:35:47,730 --> 00:35:49,860 بظاہر اگرچہ، وہاں ہے ایک راستہ کھیل کو جھانسہ میں لینے، 813 00:35:49,860 --> 00:35:53,222 ایک مسئلے یا خصوصیت ہے، کہ آپ کی اجازت دیتا ہے صرف بہت سے اور پوائنٹس کے بہت سے جمع. 814 00:35:53,222 --> 00:35:54,930 لیکن سب سے بڑی ممکن قیمت، مطابق 815 00:35:54,930 --> 00:35:58,360 کسی میں اس کی سکرین شاٹ کے لئے آن لائن پایا،، یقینا 4 ارب ہے. 816 00:35:58,360 --> 00:35:59,240 >> اب کیوں ہے؟ 817 00:35:59,240 --> 00:36:03,040 یہ خاص طور پر 4 ارب ہے شاید کسی فیصلہ کیا ہے کیونکہ، 818 00:36:03,040 --> 00:36:05,500 جو اس کھیل لکھ رہا تھا، وہ 4 ارب کر سکتے ہیں کہ، 819 00:36:05,500 --> 00:36:07,340 کچھ، کچھ، کچھ، قدر کی طرح میں ڈال دیا 820 00:36:07,340 --> 00:36:10,256 کیلکولیٹر کے ساتھ پہلے، لیکن یہ انسانوں کے لئے صرف ایک چھوٹا سا صاف ستھرا ہے 821 00:36:10,256 --> 00:36:12,610 زیادہ سے زیادہ تعداد کا کہنا ہے کہ coins-- یا studs کی، 822 00:36:12,610 --> 00:36:14,860 وہ آپ کو اس غار فون کے طور پر جمع کر سکتے ہیں 4 ارب ہے. 823 00:36:14,860 --> 00:36:16,290 اور اس طرح، یہ کیوں ہے؟ 824 00:36:16,290 --> 00:36:20,310 گانے، نغمے Lego کھیل ہے کاؤنٹر پر عمل درآمد 825 00:36:20,310 --> 00:36:23,420 اس کا ٹریک رکھنے ہے آپ کو کرنا پڑے سککوں کی تعداد؟ 826 00:36:23,420 --> 00:36:24,266 وہ کیا استعمال کر رہے ہیں؟ 827 00:36:24,266 --> 00:36:26,390 سامعین رکن: یہ بند ہو جاتا ہے 4 ارب کے بعد گنتی. 828 00:36:26,390 --> 00:36:27,720 DAVID J MALAN: یہ بند ہو جاتا ہے 4 ارب کے بعد گنتی، 829 00:36:27,720 --> 00:36:29,525 جو آپ کر سکتے ہیں کا مطلب ہے کہ ایک پروگرامر کے طور پر، اندازہ، 830 00:36:29,525 --> 00:36:31,960 وہ شاید ہیں ایک 32 بٹ عددی استعمال. 831 00:36:31,960 --> 00:36:35,380 پروگرامر کی طرح لفظی صرف ٹائپ، INT، اس کا یا اس کوڈ میں، 832 00:36:35,380 --> 00:36:39,620 اور اس متغیر کی قسم ہے کہ وہ کسی کے کوڈ کو ذخیرہ کرنے کے لئے استعمال کر رہے ہیں. 833 00:36:39,620 --> 00:36:42,230 تو دوسرے توضیحات ہے حدود کی اس قسم کے. 834 00:36:42,230 --> 00:36:45,063 >> تو میں نے اس game-- نہیں کھےلا ہے اور میں تاریخ پر پڑھ رہا تھا 835 00:36:45,063 --> 00:36:48,470 much-- لیکن کے طور پر میں اس بات کی تصدیق کرنے کے لئے تہذیب، جہاں کے اصل ورژن 836 00:36:48,470 --> 00:36:53,240 آپ بظاہر ہر ایک کے ساتھ بات چیت دوسرے اور جنگ یا امن ہو سکتا ہے، 837 00:36:53,240 --> 00:36:56,590 گاندھی میں سے ایک ہونا چاہیے تھا سب سے زیادہ پرامن حروف، کے طور پر میں 838 00:36:56,590 --> 00:36:59,280 سب سے پہلے میں، یہ سمجھ تہذیب کے ورژن. 839 00:36:59,280 --> 00:37:03,250 اور حقیقت میں، 1 سے 10 کے پیمانے پر، ان کے aggressiveness صرف ایک 1 تھا. 840 00:37:03,250 --> 00:37:05,620 تو کبھی اتنی نرمی جارحانہ، بظاہر. 841 00:37:05,620 --> 00:37:11,590 >> لیکن کچھ نقطہ پر، آپ کو بظاہر کر سکتے ہیں آپ کے جغرافیہ میں جمہوریت انسٹال. 842 00:37:11,590 --> 00:37:14,900 اور آپ کو جمہوریت انسٹال ہے تو کھیل کے ورژن میں، 843 00:37:14,900 --> 00:37:17,320 پھر اپنے جارحیت کی سطح کو نیچے جاتا ہے. 844 00:37:17,320 --> 00:37:18,460 یہ ایک اچھی بات ہے. 845 00:37:18,460 --> 00:37:20,890 لوگ زیادہ اورتم ہیں بظاہر، اس صورت حال میں. 846 00:37:20,890 --> 00:37:23,190 لیکن بظاہر، کسی نے ایک، تو، شرط نہیں 847 00:37:23,190 --> 00:37:24,780 کوڈ کی اصل ورژن میں. 848 00:37:24,780 --> 00:37:30,650 >> تو گاندھی کی جارحیت کی سطح سے چلا گیا 1 مثبت، مائنس 2، 1 منفی، 849 00:37:30,650 --> 00:37:33,840 لیکن کھیل نہیں ہے منفی تعداد کو سمجھنے. 850 00:37:33,840 --> 00:37:38,680 تو کیا ہوا گاندھی کی جارحیت تھا سطح، 1 منفی، 0، 1 سے چلا گیا 851 00:37:38,680 --> 00:37:40,900 کا اثر تھا جو ہونے کی وجہ سے ارد گرد ریپنگ 852 00:37:40,900 --> 00:37:44,690 سب سے زیادہ جارحانہ کردار اس کھیل میں، 255 کی قدر میں، 853 00:37:44,690 --> 00:37:46,630 10 سے 1 کے پیمانے پر. 854 00:37:46,630 --> 00:37:49,887 اور اس کے بعد، وہاں رہا ہے اس کھیل سے زیادہ اوتار، 855 00:37:49,887 --> 00:37:51,720 اور وہ کے طور پر رکھ دیا ہے ایسٹر انڈے کی ایک قسم، 856 00:37:51,720 --> 00:37:53,870 گاندھی بظاہر ہے اتنی بری طرح جارحانہ. 857 00:37:53,870 --> 00:37:56,740 لیکن یہ ایک کا نتیجہ تھا بہت آسان پروگرامنگ غلطی 858 00:37:56,740 --> 00:37:58,630 کھیل کے اس ورژن میں بہت جلد. 859 00:37:58,630 --> 00:38:02,860 >> اب زیادہ پریشان کن، مزید حال ہی میں، بوئنگ 787 860 00:38:02,860 --> 00:38:05,720 ایک ہونے کے طور پر دستاویزی کیا گیا تھا آلہ کے مسئلے سے، نہ قسم 861 00:38:05,720 --> 00:38:07,340 آپ کو خاص طور سے ایک مسئلے سے ہے کرنا چاہتے ہیں. 862 00:38:07,340 --> 00:38:10,130 اور علامات، کہ میں پڑھیں گے یہاں، آن لائن ایک مضمون سے، 863 00:38:10,130 --> 00:38:13,840 یہ ایک ماڈل 787 ہوائی جہاز تھا مسلسل چلنے والے کیا گیا ہے 864 00:38:13,840 --> 00:38:18,030 248 دنوں کے لئے تمام کھو کر سکتے ہیں موجودہ ردوبدل، اے سی، 865 00:38:18,030 --> 00:38:20,850 کی وجہ سے بجلی، جنریٹر کنٹرول یونٹس، 866 00:38:20,850 --> 00:38:23,330 GCUs، ایک ہی وقت میں ناکام-محفوظ موڈ میں جانے. 867 00:38:23,330 --> 00:38:26,790 تو اس سے جاری ایک انتباہ تھا اس مسئلہ دریافت کیا گیا تھا جب. 868 00:38:26,790 --> 00:38:28,750 یہ شرط کی وجہ سے ہے ایک سافٹ ویئر کی طرف سے انسداد، 869 00:38:28,750 --> 00:38:32,230 ، GCUs اندرونی تو ایک عددی یا ایک متغیر، 870 00:38:32,230 --> 00:38:36,850 248 کے بعد مرضی اتپرواہ مسلسل بجلی کے دنوں. 871 00:38:36,850 --> 00:38:40,350 بوئنگ کے عمل میں ہے ایک جی سی یو سافٹ ویئر اپ گریڈ کی ترقی ہے کہ 872 00:38:40,350 --> 00:38:42,350 غیر محفوظ حالت کا علاج کریں گے. 873 00:38:42,350 --> 00:38:44,226 >> میزائل کی طرح اتنا منظر نامے، جس 874 00:38:44,226 --> 00:38:46,850 وہ متغیر کی کسی قسم تھی کہ، گنتی، اور گنتی گیا 875 00:38:46,850 --> 00:38:50,720 اور گنتی، لیکن آہستہ آہستہ overflowing کر اس کی صلاحیت کی حدود، 876 00:38:50,720 --> 00:38:54,890 اسی طرح لات ہوائی جہاز کیا ایک متغیر اتپرواہ ہے 877 00:38:54,890 --> 00:38:56,410 چلانے کے لئے کافی وقت کے بعد. 878 00:38:56,410 --> 00:38:59,240 اور اس زبان میں گال طریقہ اس مسئلے کے ارد گرد کام کرنے کے 879 00:38:59,240 --> 00:39:04,400 واقعی، ربوٹ، آپ کے ہوائی جہاز ہر کرنے کے لئے ہے میموری مسح جاتا ہے تا کہ 247 دن، 880 00:39:04,400 --> 00:39:06,100 اور متغیر 0 واپس چلا جاتا ہے. 881 00:39:06,100 --> 00:39:09,410 لیکن احساس، یہ ایک بہت ہے سافٹ ویئر کی بڑی اوتار، 882 00:39:09,410 --> 00:39:14,070 لیکن ہم ایپل کے بارے میں سنا ہے، خاص طور پر گاڑیوں میں جا آپریٹنگ سسٹم، 883 00:39:14,070 --> 00:39:18,030 اور گوگل کی طرف سے گاڑیوں خود ڈرائیونگ، اور سافٹ ویئر کی incarnations کی کسی بھی تعداد 884 00:39:18,030 --> 00:39:21,000 ہماری روز مرہ زندگی، ٹی وی میں اور گھڑیاں، اور زیادہ، 885 00:39:21,000 --> 00:39:24,950 سافٹ ویئر کی طرف سے گھیر لیا گیا احساس، جن میں سے ہم سب انسانوں کی طرف سے لکھا گیا ہے. 886 00:39:24,950 --> 00:39:28,150 >> اور ہم سب جلد ہی دریافت کریں گے کے طور پر، یہ بہت آسان ہے اور بہت عام ہے 887 00:39:28,150 --> 00:39:30,250 سافٹ ویئر لکھنے جب غلطیوں کو بنانے کے. 888 00:39:30,250 --> 00:39:32,745 اور آپ ان کو پکڑنے نہیں ہے تو، کچھ بری چیزیں ہو سکتا ہے. 889 00:39:32,745 --> 00:39:35,400 اب کبھی کبھی، کچھ مضحکہ خیز چیزیں، ہو سکتا ہے 890 00:39:35,400 --> 00:39:38,280 یا کم از کم کبھی کبھی ہم کچھ برائی کی توقع کرنا جانتے ہیں. 891 00:39:38,280 --> 00:39:41,550 تو 0 گریڈ سے، 0 کی طرف سے تقسیم اسکول، عام طور پر ایک بری چیز ہے. 892 00:39:41,550 --> 00:39:43,050 یہ جانچ ہے. 893 00:39:43,050 --> 00:39:46,440 اور یہ out-- بدل جاتا ہے اور اگر دیکھتے ہیں اس منتخب کر سکتے ہیں میری مائک کہ ایپل up-- 894 00:39:46,440 --> 00:39:47,790 حال ہی میں اس کے ساتھ کچھ مزہ تھا. 895 00:39:47,790 --> 00:39:48,850 تو میں یہاں ایک فون ہے. 896 00:39:48,850 --> 00:39:54,160 میں سری سے بات کرنے اور اس سے کہنے جا رہا ہوں مجھے 0 سے تقسیم 0 کا جواب دینا. 897 00:39:54,160 --> 00:39:55,850 0 0 کی طرف سے تقسیم کیا گیا ہے کیا؟ 898 00:39:55,850 --> 00:39:59,350 899 00:39:59,350 --> 00:40:02,230 >> سری: 0 ہے کہ ذرا تصور کریں کوکیز، اور آپ کو یکساں طور پر انہیں تقسیم 900 00:40:02,230 --> 00:40:03,540 0 دوستوں کے درمیان. 901 00:40:03,540 --> 00:40:05,810 ہر شخص کتنی کوکیز حاصل کرتا ہے؟ 902 00:40:05,810 --> 00:40:06,350 دیکھ رہے ہو؟ 903 00:40:06,350 --> 00:40:07,660 یہ مطلب نہیں ہے. 904 00:40:07,660 --> 00:40:10,540 اور کوکی مونسٹر دکھ کی بات ہے کوئی کوکیز وہاں ہو. 905 00:40:10,540 --> 00:40:13,987 اور تم اس دکھ کی بات ہے آپ کو کوئی دوست ہیں. 906 00:40:13,987 --> 00:40:15,570 DAVID J MALAN: یہ نفرت کی طرح ہے. 907 00:40:15,570 --> 00:40:17,550 تو یہ صرف وہاں کہا گیا ہے. 908 00:40:17,550 --> 00:40:21,380 یہ اس کی وضاحت نہیں ہے، indeterminate ہے، اور بے شک، بہت سے پروگرامنگ زبانوں 909 00:40:21,380 --> 00:40:24,950 یا، واقعی، compilers کے گا جب آپ کو ایک پروگرام میں، کا پتہ لگانے کے، 910 00:40:24,950 --> 00:40:27,050 0 0 تقسیم کرنے کی کوشش. 911 00:40:27,050 --> 00:40:29,830 یہ اگرچہ مقابلے میں زیادہ مزہ ہے، بظاہر، کوکی مونسٹر 912 00:40:29,830 --> 00:40:31,270 ان دنوں ٹویٹر پر ہے. 913 00:40:31,270 --> 00:40:37,610 اور وہ اس کے ساتھ، اس کا جواب دیا، جو بالکل پیارا ہے. 914 00:40:37,610 --> 00:40:40,110 لیکن میں ایک فوری نظر ڈالیں دیگر تشکیل کے ایک جوڑے، 915 00:40:40,110 --> 00:40:43,459 اور پھر اس کے کچھ ڈال کوڈ اچھا طریقوں سے، استعمال کرنے کے لئے. 916 00:40:43,459 --> 00:40:45,250 تو اس کے علاوہ، باہر کر دیتا ہے loops کے لئے، وہاں ہے 917 00:40:45,250 --> 00:40:49,174 کہ کچھ، تھوڑی دیر کے لوپ ملاقات مختلف لگ رہا ہے اور لاگو کیا جاتا ہے 918 00:40:49,174 --> 00:40:51,590 ایک چھوٹا سا differently-- اور ہم آخر میں examples-- دیکھیں گے 919 00:40:51,590 --> 00:40:53,500 لیکن کچھ معنوں میں، یہ اس کی وجہ سے آسان ہے 920 00:40:53,500 --> 00:40:56,670 آپ کی ابتدا کرنے کی اجازت نہیں ہے اور لوپ کی حد کے اندر اندر اپ ڈیٹ. 921 00:40:56,670 --> 00:40:57,794 تم نے ابھی تک اس پر عملدرآمد کر سکتے ہیں. 922 00:40:57,794 --> 00:41:01,219 تو تم بالکل وہی چیزیں کر سکتے ہیں تھوڑی دیر کے لوپ کے ساتھ، لوپ کے لئے ایک کے طور پر، 923 00:41:01,219 --> 00:41:03,260 لیکن آپ نحو، ultimately-- ہم آخر میں گے کے طور پر 924 00:41:03,260 --> 00:41:04,551 دیکھتے مختلف ہونے جا رہا ہے. 925 00:41:04,551 --> 00:41:07,450 مت، جبکہ لوپ بھی ہے جس ، اصل میں تھوڑا سا مختلف ہے 926 00:41:07,450 --> 00:41:09,640 کہ ایک جبکہ لوپ میں اور ہمیشہ ایک جبکہ لوپ 927 00:41:09,640 --> 00:41:13,005 تو سب سے پہلے ان کی حالت کی جانچ پڑتال آپ، سب سے نیچے یہ بات سب کو پڑھنے کے 928 00:41:13,005 --> 00:41:16,440 یہ کرنے کے لئے جا رہا ہے کی طرح اس قسم کی لگتا ہے یہ آخری وجہ سے اس کی حالت کی جانچ پڑتال 929 00:41:16,440 --> 00:41:17,910 کوڈ کی صحیح معنوں میں آخری لائن. 930 00:41:17,910 --> 00:41:20,580 اور بے شک، کہ یہ مفید ہو جا رہا ہے ہم لکھتے ہیں کہ بعض پروگراموں میں، 931 00:41:20,580 --> 00:41:23,746 آپ کو صرف آنکھ بند کر کے کچھ کرنا چاہتے ہیں تو اور آخر میں حالت کی جانچ پڑتال. 932 00:41:23,746 --> 00:41:25,205 یہ ضروری نہیں کہ ایک بری چیز نہیں ہے. 933 00:41:25,205 --> 00:41:27,912 ہم متغیر کرنا چاہتے ہیں تو، ہم کر سکتے ہیں یہ مختلف طریقوں میں سے ایک جوڑے میں. 934 00:41:27,912 --> 00:41:30,290 اور ہم FoxTrot میں دیکھا کارٹون، یہ کرنے کے لئے ایک طریقہ، 935 00:41:30,290 --> 00:41:33,400 جہاں آپ کو آپ متغیر کا اعلان، INT انسداد نیم وقفہ طرح، 936 00:41:33,400 --> 00:41:36,570 اور پھر شاید اگلی later-- لائن، شاید 10 لائنیں later-- 937 00:41:36,570 --> 00:41:37,800 آپ اصل میں اس کی ابتدا. 938 00:41:37,800 --> 00:41:42,230 کوڈ کی تو ان کی 2 لائنیں قسم int ایک متغیر کا اعلان 939 00:41:42,230 --> 00:41:44,930 یہ فراہم کرتا ہے تو، انسداد کہتے ہیں مجھے کافی بٹس ایک int کے انعقاد کے لئے. 940 00:41:44,930 --> 00:41:48,230 اور پھر آخر میں، یہ رکھتا ہے کہ متغیر میں قدر 0. 941 00:41:48,230 --> 00:41:51,250 یہ ایک 0 اور 1 کا انتظام پیٹرن، ہم نے گزشتہ ہفتے سے جانتے ہیں کہ، 942 00:41:51,250 --> 00:41:53,260 ہم 0 کے طور پر جانتے تعداد کی نمائندگی کرتا. 943 00:41:53,260 --> 00:41:56,920 یا واضح طور سے، آپ کو اتنا کر سکتے ہیں مزید succinctly، صرف اس طرح. 944 00:41:56,920 --> 00:41:59,390 >> اب ہم بھی افعال کال کرنے کی صلاحیت. 945 00:41:59,390 --> 00:42:03,070 اور حقیقت میں، یہاں ایک 2 لائن ہے پروگرام، یا اس ایک اقتباس، 946 00:42:03,070 --> 00:42:06,157 کہ اصل میں کرنے کی اجازت دیتا کچھ کوڈ لکھتے ہیں کہ 947 00:42:06,157 --> 00:42:08,990 user-- سے ایک تار ہو جاتا ہے زیادہ سے زیادہ ہمارے رضاکار ایک لمحے کی طرح ago-- 948 00:42:08,990 --> 00:42:11,320 نتیجہ میں ذخیرہ نام نامی ایک متغیر، 949 00:42:11,320 --> 00:42:15,470 اور then-- زیادہ ہمارے رضاکار کے ساتھ کی طرح ان اقدار printf-- پرنٹس کے ساتھ 950 00:42:15,470 --> 00:42:19,180 دو دلائل میں گزرنے کی طرف سے، سٹرنگ، متغیر کے بعد 951 00:42:19,180 --> 00:42:20,781 ، نام، خود بلایا. 952 00:42:20,781 --> 00:42:23,155 تو پہلے، ایک نظر ڈالیں ہم وہاں واپس ماریو آئے 953 00:42:23,155 --> 00:42:26,010 اس کی اب، مثالوں کی ایک جوڑے کو. 954 00:42:26,010 --> 00:42:30,537 >> میں آگے اور کھلے جانے کے لئے جا رہا ہوں اپ، کی تقریب 0.c، کا کہنا ہے کہ. 955 00:42:30,537 --> 00:42:33,120 اور ہمیشہ کی طرح، اس کوڈ آن ہے کورس کی ویب سائٹ پر دستیاب، 956 00:42:33,120 --> 00:42:35,660 تو آپ کو ساتھ ادا کر سکتے ہیں گھر اور بعد میں اس کی طرف دیکھو. 957 00:42:35,660 --> 00:42:40,400 یہ ہے میں لیکن یہاں پروگرام ہے لائن 17 سے 22 جوہر،. 958 00:42:40,400 --> 00:42:43,270 اہم پروگرام ہے جہاں پروگرام ہمیشہ شروع کرنے کے لئے کی جا رہی ہے. 959 00:42:43,270 --> 00:42:46,980 یہ پروگرام، بظاہر، جا رہا ہے ، بڑی آنت آپ کا نام باہر پرنٹ کرنے کے. 960 00:42:46,980 --> 00:42:50,320 اس کے بعد، GetString کے فون کرنے کے لئے جا رہا ہے جیسا ہم نے اپنے رضاکاروں کے ساتھ کیا تھا. 961 00:42:50,320 --> 00:42:53,365 اور پھر، اس، دلچسپ ہے یہ PrintName فون کرنے جا رہا. 962 00:42:53,365 --> 00:42:56,490 یہ وہاں،، یہ سب اس وقت باہر کر دیتا ہے PrintName نامی ایک تقریب ہو رہا ہے. 963 00:42:56,490 --> 00:42:57,614 وہ کسی کا نام پرنٹ. 964 00:42:57,614 --> 00:43:01,210 ہم سے printf استعمال کرنے کے لئے کی ضرورت نہیں تھی پرانے، PrintName ہے. 965 00:43:01,210 --> 00:43:03,500 >> لیکن اس گمراہ کن ہے PrintName نہیں ہے کیونکہ 966 00:43:03,500 --> 00:43:06,760 سی لوگ نہیں کیا کے ساتھ آئے 40 یا 50 سال پہلے یہ ایجاد، 967 00:43:06,760 --> 00:43:07,990 میں بجائے، کیا. 968 00:43:07,990 --> 00:43:10,330 اور حقیقت میں، میں سکرال مزید، نوٹس نیچے 969 00:43:10,330 --> 00:43:14,200 میں اپنے لکھ سکتے ہیں کس طرح سی میں کام کرتا ہے ہم آخر میں کروں گا 970 00:43:14,200 --> 00:43:16,319 ہم کہہ رہو کیوں کی وضاحت، باطل، چند ایسی جگہوں میں، 971 00:43:16,319 --> 00:43:18,110 لیکن آج کے لئے، چلو صرف نام دیکھو. 972 00:43:18,110 --> 00:43:20,905 >> لائن 24 پر، آپ چاہتے ہیں تو ، اپنی خود کی تقریب تخلیق 973 00:43:20,905 --> 00:43:22,780 آپ لفظی لکھنا تقریب کے نام. 974 00:43:22,780 --> 00:43:24,340 میں PrintName انتخاب کیا ہے. 975 00:43:24,340 --> 00:43:26,159 قوسین میں، آپ پھر وضاحت کس قسم 976 00:43:26,159 --> 00:43:28,450 آدانوں، اور تم میں سے کتنے اس تقریب لے جانا چاہتا ہوں. 977 00:43:28,450 --> 00:43:31,906 اس صورت میں، میں لے جانا چاہتا ہوں کہا جاتا 1 متغیر، نام، 978 00:43:31,906 --> 00:43:34,030 اور اس کی ہونے جا رہا ہے قسم، سٹرنگ، تو یہ جا رہا ہے 979 00:43:34,030 --> 00:43:35,780 حروف میں سے کچھ تسلسل ہونا. 980 00:43:35,780 --> 00:43:39,170 اور پھر، اس پروگرام اسکریچ میں زیادہ کی طرح، 981 00:43:39,170 --> 00:43:42,590 آپ اپنی مرضی کے پہیلی کے ٹکڑے ٹکڑے کر سکتے ہیں یہ اپنی مرضی کے رویے کی جا رہی ہے. 982 00:43:42,590 --> 00:43:46,760 یہ printf کو فون کرنے جا رہا ہے میں گزر، ہیلو، پلیس ہولڈر، 983 00:43:46,760 --> 00:43:49,110 اور پھر اس میں پلگ کرنے جا رہا ہے جو کچھ بھی میں صارف بلایا. 984 00:43:49,110 --> 00:43:51,450 >> تو اس کی ایک مثال ہے ایک کمپیوٹر سائنسدان گے 985 00:43:51,450 --> 00:43:55,090 کال تجرید یا فعال صرف ہیں جو سڑن، 986 00:43:55,090 --> 00:43:58,110 saying-- اگر کی پسند طریقوں آپ کو اس اعلی سطح تصور کو پسند 987 00:43:58,110 --> 00:44:01,569 جیسے میں فعالیت چاہتے ہیں کہ تم بالکل، کسی کا نام پرنٹس 988 00:44:01,569 --> 00:44:04,360 لفظی پھر printf لکھیں اور کر سکتے ہیں آپ چاہتے ہیں دلائل میں منتقل، 989 00:44:04,360 --> 00:44:07,340 اور پروگرام کام کریں گے، بدھ کے بعد سے ہے کے طور پر. 990 00:44:07,340 --> 00:44:10,510 لیکن آپ کو دور خلاصہ شروع کر سکتے ہیں ایک نام پرنٹنگ کے تصور. 991 00:44:10,510 --> 00:44:13,270 تم نے اسے ایک نام دے سکتے ہیں، PrintName، اور اس طرح 992 00:44:13,270 --> 00:44:15,280 0 ہفتے سے layering کے اس کا خیال ہے. 993 00:44:15,280 --> 00:44:19,910 >> اب، مجھے اور آپ کو معلوم کرنے کی ضرورت نہیں یا PrintName لاگو کیا جاتا ہے کس طرح دیکھ بھال. 994 00:44:19,910 --> 00:44:22,470 ہاں یہ ہو سکتا ہے، printf کا استعمال کرتا جو استعمال کرتا جانتا ہے، نہیں ہے؟ 995 00:44:22,470 --> 00:44:23,410 کسے پرواہ ہے؟ 996 00:44:23,410 --> 00:44:26,034 اب میں یہاں بات کر رہا ہوں، بجائے یہاں سے. 997 00:44:26,034 --> 00:44:28,700 اور یقینا، ہمارے پروگرام کے طور پر زیادہ جدید اور جدید ترین، 998 00:44:28,700 --> 00:44:32,550 حاصل کی جاچکی کے لئے ہم لے جا رکھنے کے لئے جا رہے ہیں کم سطح پہیلی کے ٹکڑے ٹکڑے موجود ہے کہ. 999 00:44:32,550 --> 00:44:34,780 ہم نے انہیں لکھا کیونکہ یا کسی اور تو، کیا 1000 00:44:34,780 --> 00:44:36,910 تو ہم ان میں سے سب سے اوپر پر تعمیر کر سکتے ہیں. 1001 00:44:36,910 --> 00:44:39,430 کی اس پر ایک نظر ڈالیں مختلف، ایک تقریب. 1002 00:44:39,430 --> 00:44:41,780 >> تو یہ ایک چھوٹا سا زیادہ ہے اعلی درجے کی، لیکن یہ باہر کر دیتا ہے 1003 00:44:41,780 --> 00:44:44,570 CS50 کی لائبریری میں ہے کہ، صرف ایک GetInt تقریب ہے. 1004 00:44:44,570 --> 00:44:47,720 ہم، سال پہلے، میں نہیں سوچا تھا ایک GetPositiveInt تقریب کو لاگو. 1005 00:44:47,720 --> 00:44:50,970 اور یہ کہ ایک چھوٹا سا پریشان ہے کیونکہ اگر تم لوگوں کو ایک پروگرام جس لکھ رہے ہیں 1006 00:44:50,970 --> 00:44:53,325 آپ کو ایک مثبت حاصل کرنا چاہتے ہیں صارف کی طرف سے عددی، 1007 00:44:53,325 --> 00:44:55,010 تم بالکل GetInt کا استعمال کر سکتے ہیں. 1008 00:44:55,010 --> 00:44:57,840 اور تم بالکل ساتھ چیک کر سکتے ہیں حالت اور شاید ایک لوپ 1009 00:44:57,840 --> 00:45:00,320 کہ INT زیادہ ہے اور 0 سے صارف کو چللاو 1010 00:45:00,320 --> 00:45:02,699 وہ یا وہ نہیں دیتا تو آپ کو ایک مثبت نمبر. 1011 00:45:02,699 --> 00:45:04,740 لیکن اس کی تعمیر دو عمارت، ایک خود بلاک، 1012 00:45:04,740 --> 00:45:06,555 اپنی مرضی کے مطابق سکریچ ٹکڑا، اگر آپ. 1013 00:45:06,555 --> 00:45:08,680 میں ایک پروگرام ہے جا رہا ہوں کہ یہاں آخر میں، میں 1014 00:45:08,680 --> 00:45:11,780 فون کرنے کے قابل بننا چاہتا ہوں GetPositiveInt، اور میں بننا چاہتا ہوں 1015 00:45:11,780 --> 00:45:14,200 کہ int ہے جو باہر پرنٹ کرنے کے قابل. 1016 00:45:14,200 --> 00:45:16,240 لیکن یہ اب دور پر abstracted ہے. 1017 00:45:16,240 --> 00:45:19,050 یہ صرف ایک اعلی سطح دیا گیا ہے یہ کیا کرتا ہے کا کہنا ہے کہ نام، 1018 00:45:19,050 --> 00:45:21,780 یہ ہے کیونکہ بہت اچھا ہے جس پڑھنے کے لئے اب بہت بدیہی. 1019 00:45:21,780 --> 00:45:24,710 مجھے اس کی پرواہ کرتے ہیں تو اور کیا نیچے ہے ڈاکو، مجھے ذیل میں سکرال. 1020 00:45:24,710 --> 00:45:27,140 اور یہ دھمکی ایک چھوٹا سا ہے سب سے پہلے میں، خاص طور پر 1021 00:45:27,140 --> 00:45:29,470 یہ آپ کی پہلی پروگرام ہے تو، لیکن ایک نظر ڈالیں. 1022 00:45:29,470 --> 00:45:32,860 >> میں اب، باطل، کہہ رہا ہوں یہ کام باہر کر دیتا ہے کیونکہ، 1023 00:45:32,860 --> 00:45:34,777 زیادہ GetString طرح، کر سکتے ہیں مجھ سے ایک قدر واپس. 1024 00:45:34,777 --> 00:45:36,610 وہ صرف نہیں ہے پردے پر پرنٹ کرنے کے لئے، 1025 00:45:36,610 --> 00:45:38,410 وہ اصل میں حوالے کر سکتے ہیں مجھے واپس کچھ. 1026 00:45:38,410 --> 00:45:41,535 اور PrintName پہلے جبکہ، میں نے کچھ واپس کی ضرورت نہیں تھی. 1027 00:45:41,535 --> 00:45:44,160 میں ضمنی اثر کی ضرورت ہے کچھ، کی سکرین پر دکھا 1028 00:45:44,160 --> 00:45:46,570 لیکن میں ایک انسان کی ضرورت نہیں تھی مجھ سے کچھ واپس حوالے کرنے. 1029 00:45:46,570 --> 00:45:48,840 یہاں، GetPositiveInt ساتھ، میں GetInt کے ساتھ کی طرح، 1030 00:45:48,840 --> 00:45:50,640 میں واپس کچھ دیا جائے کرنا چاہتے ہیں. 1031 00:45:50,640 --> 00:45:53,220 تو میں نے،، باطل نہیں کہہ رہا ہوں 23 لائن، لیکن int پر، 1032 00:45:53,220 --> 00:45:55,570 جس کا کہنا ہے کہ، اس تقریب میں لکھ رہا ہوں کہ، 1033 00:45:55,570 --> 00:45:58,860 GetPositiveInt جا رہا ہے کہا جاتا ایک عددی، کچھ بھی نہیں مجھے واپس ہاتھ، 1034 00:45:58,860 --> 00:45:59,890 باطل نہیں. 1035 00:45:59,890 --> 00:46:03,280 >> دریں اثنا، یہ کوئی لے جا رہا ہے آدانوں، تو میں، قسم کی، اس کے الٹ ہے. 1036 00:46:03,280 --> 00:46:08,280 میں GetPositiveInt کوئی نہیں دے رہا ہوں ان پٹ، میں یہ میرے اس کی پیداوار دینا چاہتا ہوں. 1037 00:46:08,280 --> 00:46:09,800 اور پھر اب کیا ہوگا؟ 1038 00:46:09,800 --> 00:46:11,640 تو یہاں میں ایک متغیر کا اعلان کر سکتے ہیں کہ کس طرح ہے. 1039 00:46:11,640 --> 00:46:15,090 میں، لوپ سے باہر یہ کیا ہے ہم آخر میں دیکھیں گے وجوہات کی بنا پر، 1040 00:46:15,090 --> 00:46:17,700 لیکن یہ صرف ہے مجھے 32 بٹس کہا جاتا ہے، (ن)، 1041 00:46:17,700 --> 00:46:20,952 اور میں پہلے سے تعین ہے ان عددی ذخیرہ کرنے کے لئے. 1042 00:46:20,952 --> 00:46:23,660 اور یہاں،، تعمیر جبکہ ہے یہ مفید ہے اور یہ ہے کیوں. 1043 00:46:23,660 --> 00:46:26,700 لفظی ایسا، N 1 سے بھی کم ہے جبکہ. 1044 00:46:26,700 --> 00:46:28,030 تو کیا ہوتا ہے دیکھتے ہیں. 1045 00:46:28,030 --> 00:46:30,760 میں، براہ مہربانی باہر پرنٹ مجھے ایک مثبت INT دے. 1046 00:46:30,760 --> 00:46:34,300 میں تو CS50 کا استعمال کرتے ہوئے، ایک int حاصل کام اور (ن) میں ذخیرہ. 1047 00:46:34,300 --> 00:46:38,990 >> اور پھر، جو کوڈ کے مطابق شاید منطقی طور پر، اگلے پھانسی ہو جاتا ہے؟ 1048 00:46:38,990 --> 00:46:41,890 جس میں لائن نمبر؟ 1049 00:46:41,890 --> 00:46:42,571 جی ہاں، تو 31. 1050 00:46:42,571 --> 00:46:45,320 آپ نے جب تک کہ آپ کو یہ پتہ نہیں کریں گے کہا یا کی طرح یہ اندازہ کیا گیا، 1051 00:46:45,320 --> 00:46:45,986 لیکن یہ سچ ہے. 1052 00:46:45,986 --> 00:46:48,280 یہ اوپر سے نیچے جاتا ہے اور پھر دہرا رکھتا. 1053 00:46:48,280 --> 00:46:55,840 میں تعداد، کا کہنا ہے کہ میں ٹائپ ہے تو 1 منفی، 1 منفی ن بھی کم ہے؟ 1054 00:46:55,840 --> 00:46:56,340 جی ہاں. 1055 00:46:56,340 --> 00:46:58,470 1 منفی 1 کے مقابلے میں کم ہے کیونکہ. 1056 00:46:58,470 --> 00:46:59,510 تو کیا ہونا چاہئے؟ 1057 00:46:59,510 --> 00:47:03,260 میں ایسا کرنے جا رہا ہوں (ن) سے بھی کم 1 ہے، 1058 00:47:03,260 --> 00:47:05,760 تو میں واپس لائن 28 پر جانے کے لئے جا رہا ہوں. 1059 00:47:05,760 --> 00:47:09,530 >> اور ہر ہیں وقت اور کی this-- چلاتے ہیں تقریب 1 اسے مرتب کرنے کے لئے بنانے، 1060 00:47:09,530 --> 00:47:11,340 اور اب تقریب 1 ڈاٹ سلیش. 1061 00:47:11,340 --> 00:47:14,280 میں منفی 1 ٹائپ کریں، یہ ہے مجھ پر چللا رکھنے کے لئے جا 1062 00:47:14,280 --> 00:47:17,530 میں ہر کیونکہ تعاون تک میری آدانوں سے کم 1 ہے 1063 00:47:17,530 --> 00:47:20,070 اور اس سے بھی کم 1 جبکہ تو، میں نے یہ کر رکھنے کے لئے جا رہا ہوں. 1064 00:47:20,070 --> 00:47:24,240 میں نے آخر میں 50 کی طرح یہ ایک نمبر دے تو، شکر ہے، یہ 50 کے لئے شکریہ، کا کہنا ہے کہ. 1065 00:47:24,240 --> 00:47:24,970 کیوں؟ 1066 00:47:24,970 --> 00:47:30,640 (ن) سے کم نہیں ہے کیونکہ جیسے ہی کے طور پر 1، میں، اس لوپ میں پھنس ملنا بند 1067 00:47:30,640 --> 00:47:33,840 اور اس نئے مطلوبہ الفاظ آج، واپسی، لفظی ہے کہ کرتا ہے. 1068 00:47:33,840 --> 00:47:36,800 تو میں صرف ایک میں، کو لاگو کیا ہے احساس، GetString کی برابر، 1069 00:47:36,800 --> 00:47:40,590 جہاں میں واپس حوالے کر رہا ہوں جو، کچھ قدر مجھے استعمال کر رہا ہے. 1070 00:47:40,590 --> 00:47:42,820 یہ ہو کی ضرورت نہیں ہے ایک تار، یہ ایک int ہے. 1071 00:47:42,820 --> 00:47:44,990 فوری، تو ایک سادہ مثال کے طور پر، لیکن ہم جلد ہی کروں گا 1072 00:47:44,990 --> 00:47:47,930 کچھ زیادہ نفیس دیکھیں اب بھی ورژن. 1073 00:47:47,930 --> 00:47:53,882 اصل میں، ایک پر ایک نظر ڈالیں return.c کہا جاتا ہے عددی ایک،. 1074 00:47:53,882 --> 00:47:55,590 اور یہ ایک اصل ہے ایک چھوٹا سا آسان. 1075 00:47:55,590 --> 00:47:59,010 لہذا اس پروگرام کے مقصد میں life-- مرتب اور اسے چلاتے ہیں، 1076 00:47:59,010 --> 00:48:03,090 تو ڈاٹ، واپسی بنانے کے سلیش، واپس لوٹنے نوٹس 1077 00:48:03,090 --> 00:48:05,530 پروگرام صرف 2 قدر کیوب. 1078 00:48:05,530 --> 00:48:08,410 یہ مشکل خوبصورت بیوکوف ہے ہے کوڈ، یہ کسی بھی آدانوں نہیں لے کرتا ہے، 1079 00:48:08,410 --> 00:48:12,220 لیکن یہ ایک اور مظاہرہ کرتا ہے میں نے خود لکھا ہے کہ تقریب. 1080 00:48:12,220 --> 00:48:15,760 تو یہاں، میں اعلان کر دیا ہے ایک متغیر،، قسم int، X نامی 1081 00:48:15,760 --> 00:48:17,840 نمبر 2 کے برابر، مکمل طور پر صوابدیدی. 1082 00:48:17,840 --> 00:48:19,530 یہ کچھ بندوق پرنٹنگ ہے. 1083 00:48:19,530 --> 00:48:23,070 یہ X کا کہنا ہے کہ اب، اس طرح اور اس طرح، cubing ڈاٹ ڈاٹ ڈاٹ. 1084 00:48:23,070 --> 00:48:26,390 اور جادو لائن 21 میں بظاہر ہے. 1085 00:48:26,390 --> 00:48:30,120 میں، کہا جاتا کیوب ایک تقریب میں بلا رہا ہوں، میں نے اس کے کاغذ کی ایک شیٹ کے حوالے کر رہا ہوں 1086 00:48:30,120 --> 00:48:32,890 اس پر لکھا نمبر 2 کے ساتھ، اور کیا قیمت، ریاضی، 1087 00:48:32,890 --> 00:48:34,860 میں اس سے باہر حاصل کرنے کے لئے چاہتے ہیں؟ 1088 00:48:34,860 --> 00:48:36,570 بس ایک وویک چیک کے طور پر؟ 1089 00:48:36,570 --> 00:48:37,070 8. 1090 00:48:37,070 --> 00:48:37,570 ٹھیک ہے؟ 1091 00:48:37,570 --> 00:48:40,160 2 2، واپس cubed ہے چاہتے 3 میں سے اقتدار، 8 واپس. 1092 00:48:40,160 --> 00:48:42,570 >> تو جہاں کیوب لاگو کیا جاتا ہے؟ 1093 00:48:42,570 --> 00:48:44,349 ٹھیک ہے، یہ یہاں نیچے لاگو کیا ہے محسوس. 1094 00:48:44,349 --> 00:48:47,140 اور پہلے کی طرح، منطقی طور پر، بھی نحو شاید ہے اگرچہ 1095 00:48:47,140 --> 00:48:49,320 تم میں سے بہت سے لوگوں کو بہت نئے، میں اس تقریب چاہتے 1096 00:48:49,320 --> 00:48:51,780 کی ایک شیٹ مجھے واپس حوالے کرنے اس پر ایک int کے ساتھ کاغذ. 1097 00:48:51,780 --> 00:48:53,990 تو میں نے ایک int ہے، نام، منمانے ہے 1098 00:48:53,990 --> 00:48:55,530 لیکن آسانی سے کہا جاتا کیوب. 1099 00:48:55,530 --> 00:48:58,430 اس کے لئے ان پٹ، (ن) ہے تو کہ ہے، عددی ٹائپ 1100 00:48:58,430 --> 00:49:00,800 میں بڑی تعداد میں منتقل کر سکتے ہیں کہ کس طرح کاغذ کی ایک شیٹ پر 2. 1101 00:49:00,800 --> 00:49:03,910 اور پھر یہ سی کی حمایت کرتا ہے باہر کر دیتا ہے ریاضی، لہذا آپ کو، اوقات کے لئے ایکس کی ضرورت نہیں ہے 1102 00:49:03,910 --> 00:49:06,680 آپ کو صرف ستارے استعمال ضرب کے لئے. 1103 00:49:06,680 --> 00:49:11,070 اور اس (ن) اوقات (ن) اوقات واپس صرف ایک cubed کی قیمت ہے جو ن،. 1104 00:49:11,070 --> 00:49:12,840 >> تو ہم کہاں اس سب کے ساتھ جا رہے ہیں؟ 1105 00:49:12,840 --> 00:49:14,570 یہ یقینی طور پر ایک ہے بونڈر دورے، یقین دہانی کرائی آرام، 1106 00:49:14,570 --> 00:49:16,410 کہ سپر حصوں میں اور مسئلہ میں، 1 سیٹ 1107 00:49:16,410 --> 00:49:18,368 آپ کے ذریعے چلا گیا کیا جائے گا یہ سب سے زیادہ. 1108 00:49:18,368 --> 00:49:22,490 اور مسئلہ 1 سیٹ میں، ہم منتقل کریں گے سکریچ کے گرافیکل دنیا سے 1109 00:49:22,490 --> 00:49:25,640 کچھ زیادہ کمانڈ لائن پر سی میں لیکن ہم پریرتا اپنی طرف متوجہ کریں گے 1110 00:49:25,640 --> 00:49:27,680 یہاں کھیل سے پرانے، جس سے 1111 00:49:27,680 --> 00:49:31,591 C اور کے سٹینڈرڈ ایڈیشن کا استعمال کرتے ہوئے P سیٹ آپ ماریو پرامڈ عمل درآمد کریں گے. 1112 00:49:31,591 --> 00:49:34,340 اور ہیکر ایڈیشن میں P سیٹ، آپ کو تو منتخب کرنے کا انتخاب کرتے ہیں، 1113 00:49:34,340 --> 00:49:38,280 آپ تھوڑا سا زیادہ کو نافذ کرے گا دو چوٹیوں کے ساتھ پرامڈ چیلنج. 1114 00:49:38,280 --> 00:49:41,239 آپ یہ بھی ایک عمل درآمد کریں گے الگورتھم، ایک لالچی الگورتھم. 1115 00:49:41,239 --> 00:49:43,030 یہ وہاں ہے باہر کر دیتا ہے کچھ دلچسپ منطق 1116 00:49:43,030 --> 00:49:45,640 کے عمل کے پیچھے ایک کوشپال اسٹیشن چل رہا 1117 00:49:45,640 --> 00:49:47,410 اور اصل حوالے کسی واپس تبدیل. 1118 00:49:47,410 --> 00:49:50,410 کافی ہے کہ ایک الگورتھم ہے براہ راست، جو آپ کو بھی ہو سکتا ہے 1119 00:49:50,410 --> 00:49:53,576 آپ سب سے پہلے پڑھ جب intuitively پر پکڑ اندازہ لگانے والے کہ میں نے ہمیشہ کیا ہے کا احساس 1120 00:49:53,576 --> 00:49:57,110 میں نے کسی کو کچھ دیا ہے کسی بھی وقت کیا آپ کو ہمیشہ کرنے کی اجازت دیتا ہے کہ پیسے back-- 1121 00:49:57,110 --> 00:50:00,679 کی تعداد کم سے کم کاغذ کے نوٹ یا دھات سکے 1122 00:50:00,679 --> 00:50:02,220 تم واپس صارف کو حوالے کر رہے ہیں کہ. 1123 00:50:02,220 --> 00:50:04,610 یہ، کورس کے، مجبور ہے آپ CVS یا whatnot پر جاتے ہیں کیونکہ، 1124 00:50:04,610 --> 00:50:06,430 آپ حوالے کر دیا جائے نہیں کرنا چاہتے والوں کی ایک پوری چڑھانے 1125 00:50:06,430 --> 00:50:07,596 یا پیسے کی ایک پوری چڑھانے. 1126 00:50:07,596 --> 00:50:10,120 تم بہت کم چاہتے ہیں سککوں، شاید، ممکن. 1127 00:50:10,120 --> 00:50:13,070 >> آخر میں، آپ کو بھی چیلنج کیا جائے گا پانی کی دنیا میں بگونا 1128 00:50:13,070 --> 00:50:17,220 اور اصل میں ایک تعریف حاصل بہاؤ کی شرح کے درمیان تعریفیں کے لئے، 1129 00:50:17,220 --> 00:50:19,890 کے ایک شاور میں پانی کی طرح، صرف کتنا پانی استعمال کیا جاتا ہے. 1130 00:50:19,890 --> 00:50:22,640 اور اس اشارہ، یہاں اس کلپ ہو جائے گا، 1131 00:50:22,640 --> 00:50:24,840 ہم پر ختم ہو جائے گا جس صرف 60 سیکنڈ، کہ 1132 00:50:24,840 --> 00:50:29,070 کی ایک تصویر پینٹ کم بہاؤ شاور کے سروں. 1133 00:50:29,070 --> 00:50:30,886 >> [ویڈیو پلے بیک] 1134 00:50:30,886 --> 00:50:31,385 -بالکل ٹھیک. 1135 00:50:31,385 --> 00:50:32,774 میں یہاں سب کچھ مل گیا. 1136 00:50:32,774 --> 00:50:35,800 میں، چکروات F سیریز ہے ہائڈرا، Jetflow، سٹاکہوم 1137 00:50:35,800 --> 00:50:37,660 Supersteam، آپ اس کا نام. 1138 00:50:37,660 --> 00:50:39,265 >> اور تم کیا تجویز ہے؟ 1139 00:50:39,265 --> 00:50:40,460 >> -تم کیا تلاش کر رہے ہو؟ 1140 00:50:40,460 --> 00:50:41,300 >> -Power آدمی. 1141 00:50:41,300 --> 00:50:42,285 پاور. 1142 00:50:42,285 --> 00:50:42,910 طرح Silkwood. 1143 00:50:42,910 --> 00:50:44,520 یعنی تابکاری کے لئے ہے. 1144 00:50:44,520 --> 00:50:46,335 -یہ ٹھیک ہے. 1145 00:50:46,335 --> 00:50:48,275 یہ کیا ہے -Now؟ 1146 00:50:48,275 --> 00:50:49,704 یعنی کمانڈو 450 ہے. 1147 00:50:49,704 --> 00:50:50,620 مجھے لگتا ہے کہ ایک بھی فروخت نہیں کرتے. 1148 00:50:50,620 --> 00:50:51,700 >> -لیکن کہ ہم چاہتے ہیں ہے. 1149 00:50:51,700 --> 00:50:52,680 یہ ایک کمانڈو 450 ہے. 1150 00:50:52,680 --> 00:50:53,882 >> -کوئی مجھ پر یقین. 1151 00:50:53,882 --> 00:50:55,090 یہ صرف سرکس میں استعمال کیا جاتا ہے. 1152 00:50:55,090 --> 00:50:56,512 یہ ہاتھیوں کے لئے ہے. 1153 00:50:56,512 --> 00:50:59,356 >> کچھ بھی ادا -I'll. 1154 00:50:59,356 --> 00:51:01,252 >> جیری کے بارے میں کیا؟ 1155 00:51:01,252 --> 00:51:02,760 >> -انہوں نے کہا کہ اس کو سنبھال نہیں کر سکتے. 1156 00:51:02,760 --> 00:51:04,910 انہوں نے کہا کہ نازک ہے. 1157 00:51:04,910 --> 00:51:05,750 ارے ہان. 1158 00:51:05,750 --> 00:51:36,737 1159 00:51:36,737 --> 00:51:37,320 [END پلے بیک] 1160 00:51:37,320 --> 00:51:37,700 DAVID J MALAN: ٹھیک ہے. 1161 00:51:37,700 --> 00:51:38,820 یہ CS50 کے لئے اگر. 1162 00:51:38,820 --> 00:51:40,050 ہم اگلے ہفتے آپ کو نظر آئے گا. 1163 00:51:40,050 --> 00:51:45,910 1164 00:51:45,910 --> 00:51:49,029 >> اسپیکر 1: [؟ میں Scully؟]، [؟ ایان،؟] جہاں تک اس سے Outro منصوبے کے طور پر، 1165 00:51:49,029 --> 00:51:50,362 تم لوگ کیا کے ساتھ آئے ہیں؟ 1166 00:51:50,362 --> 00:51:51,990 >> اسپیکر 2: ویسے، ہم نے دیا ہے اس فکر کی ایک قسم، 1167 00:51:51,990 --> 00:51:53,250 اور ہم سب سے بہتر طریقہ ہے لگتا ہے کہ to-- 1168 00:51:53,250 --> 00:51:53,660 >> سپیکر 3: کیا میں؟ 1169 00:51:53,660 --> 00:51:54,326 >> اسپیکر 2: جی ہاں. 1170 00:51:54,326 --> 00:51:56,360 تمام اسباب کی طرف سے، اصل میں. 1171 00:51:56,360 --> 00:51:59,425 >> 3 اسپیکر: تو مجھے لگتا ہے ہم ہمارے خیال خلاصہ کر سکتے ہیں 1172 00:51:59,425 --> 00:52:05,450 ایک word-- کچھ نہیں کے ساتھ outros لئے. 1173 00:52:05,450 --> 00:52:08,950 1174 00:52:08,950 --> 00:52:10,409 >> DAVID J MALAN: کچھ بھی نہیں؟ 1175 00:52:10,409 --> 00:52:11,200 سپیکر 3: کچھ بھی نہیں. 1176 00:52:11,200 --> 00:52:12,990 DAVID J MALAN: اس کا کیا مطلب ہے؟ 1177 00:52:12,990 --> 00:52:16,260 سپیکر 3: outros کچھ کے بارے میں ہیں. 1178 00:52:16,260 --> 00:52:21,720 اسپیکر 2: ویسے، میرا مطلب ہے، فلسفہ میں، میرا مطلب ہے، کچھ بھی نہیں ہمیشہ کچھ ہے. 1179 00:52:21,720 --> 00:52:24,200 اسپیکر 1: تو what's-- بنیاد کیا ہے؟ 1180 00:52:24,200 --> 00:52:25,720 3 اسپیکر: تو اس کی زندگی کی طرح ہے. 1181 00:52:25,720 --> 00:52:26,680 ٹھیک ہے. 1182 00:52:26,680 --> 00:52:28,294 آپ نے آج کیا کیا؟ 1183 00:52:28,294 --> 00:52:31,811 >> DAVID J MALAN: میں اٹھی، تھا ناشتا، اور کام کرنے کے لئے آئے. 1184 00:52:31,811 --> 00:52:34,056 >> 3 اسپیکر: یہ ایک سے Outro ہے. 1185 00:52:34,056 --> 00:52:36,806 اسپیکر 2: میرا مطلب ہے لیکن، نہیں کرنا چاہئے، کچھ the-- پر اس کے پاس ہونے 1186 00:52:36,806 --> 00:52:37,889 سپیکر 3: نہیں، نہیں، نہیں، نہیں. 1187 00:52:37,889 --> 00:52:40,220 کچھ نہیں ہوتا. 1188 00:52:40,220 --> 00:52:42,910 >> اسپیکر 1: تو کیوں نہ ہم دیکھ رہے ہو؟ 1189 00:52:42,910 --> 00:52:46,956 >> سپیکر 3: کیونکہ یہ CS50 کے لئے ایک سے Outro ہے. 1190 00:52:46,956 --> 00:52:48,652 >> DAVID J MALAN: ابھی نہیں. 1191 00:52:48,652 --> 00:52:49,151