1 00:00:00,000 --> 00:00:00,487 2 00:00:00,487 --> 00:00:11,210 >> [موسیقی بجانا] 3 00:00:11,210 --> 00:00:12,100 >> روب BODEN: ٹھیک ہے. 4 00:00:12,100 --> 00:00:15,620 ویڈیو کے پہلے تو، پہلی بات یہ ہے، ایک واقف چہرے سے. 5 00:00:15,620 --> 00:00:22,080 6 00:00:22,080 --> 00:00:22,560 >> [ویڈیو پلے بیک] 7 00:00:22,560 --> 00:00:23,370 >> ٹھیک ہے. 8 00:00:23,370 --> 00:00:27,150 یہ CS50 ہے، اور یہ ہے ہفتے میں تین کے آغاز. 9 00:00:27,150 --> 00:00:29,980 میں آپ کے ساتھ وہاں نہیں ہو سکتا معافی چاہتا ہوں آج، لیکن میرے متعارف کرانے کے لئے کی اجازت دیتے ہیں 10 00:00:29,980 --> 00:00:32,880 CS50 اپنے روب Boden. 11 00:00:32,880 --> 00:00:33,872 >> [END ویڈیو پلے بیک] 12 00:00:33,872 --> 00:00:39,340 >> [تعریف اور چیرس] 13 00:00:39,340 --> 00:00:41,277 >> روب BODEN: میں filmography اس ویڈیو بہت اچھا ہے. 14 00:00:41,277 --> 00:00:47,280 15 00:00:47,280 --> 00:00:47,770 ٹھیک ہے. 16 00:00:47,770 --> 00:00:50,960 تو سب سے پہلے، دوسرے دوپہر کے کھانے کے ہے. 17 00:00:50,960 --> 00:00:52,330 یہ 1:15 میں کل کے. 18 00:00:52,330 --> 00:00:54,480 اس جمعہ کوئی دوپہر کے کھانے کے نہیں ہے. 19 00:00:54,480 --> 00:00:55,810 یہ Quora کے ساتھ ہے. 20 00:00:55,810 --> 00:01:00,190 اور ٹومی ایک کی لیکن ابھی تک یہاں نہیں ہے سابق سربراہ سییف ہے لوگوں، 21 00:01:00,190 --> 00:01:01,530 ٹومی McWilliam. 22 00:01:01,530 --> 00:01:02,730 تو وہ ایک مذاق آدمی ہے. 23 00:01:02,730 --> 00:01:04,819 آپ آنا چاہئے. 24 00:01:04,819 --> 00:01:05,900 >> ٹھیک ہے. 25 00:01:05,900 --> 00:01:11,360 تو گزشتہ ہفتے، ہم علاوہ توڑ شروع کر دیا ایک سٹرنگ واقعی ہے کے بارے میں. 26 00:01:11,360 --> 00:01:14,830 ہم شروع سے جانا جاتا ہے یہ حروف کی ترتیب ہے. 27 00:01:14,830 --> 00:01:18,130 لیکن گزشتہ ہفتے، ہم حقیقت میں delved کیا واقعی میں ایک ہی تسلسل ہے 28 00:01:18,130 --> 00:01:22,110 حروف، ٹھیک ہے، اب ہم حروف کی arrays کے. 29 00:01:22,110 --> 00:01:26,450 اور ہم نے ایک تار، یہ ایک صف ہے کو معلوم ہے کہ حروف کی، آخر میں، 30 00:01:26,450 --> 00:01:30,920 ہم اس خصوصی شہوت انگیز null بائٹ ہے، اس الٹا سلیش 0، کہ آخر کے طرف اشارہ کرتا ہے 31 00:01:30,920 --> 00:01:32,230 تار. 32 00:01:32,230 --> 00:01:36,970 >> اور اس طرح ایک تار کے ایک صف ہے حروف، لیکن ہم کر سکتے ہیں کے مقابلے میں زیادہ 33 00:01:36,970 --> 00:01:39,530 صرف حروف کا ایک صف، ہم کسی کی ایک سرنی کر سکتے ہیں 34 00:01:39,530 --> 00:01:40,890 ہم چاہتے ہیں بات کی قسم. 35 00:01:40,890 --> 00:01:51,570 تو، آپ کو گزشتہ ہفتے سے یاد ہے، ڈیوڈ متعارف کرایا قرون پروگرام 36 00:01:51,570 --> 00:01:53,560 واقعی بہت تیزی سے. 37 00:01:53,560 --> 00:01:57,010 ہم کیا کرنے جا رہے ہیں تو سب سے پہلی چیز ہے ، ایک عددی کے لئے صارف سے پوچھو 38 00:01:57,010 --> 00:01:58,800 کمرے میں لوگوں کی تعداد. 39 00:01:58,800 --> 00:02:01,260 ہم اس عددی ہے ایک بار، ہم ایک صف اعلان کر رہے ہیں. 40 00:02:01,260 --> 00:02:02,890 اس بریکٹ نحو نوٹس. 41 00:02:02,890 --> 00:02:04,540 آپ اس پر استعمال کرنے کے لئے جا رہے ہیں. 42 00:02:04,540 --> 00:02:09,430 >> تو ہم integers کے ایک صف اعلان کر رہے ہیں عمر کہا جاتا ہے، اور ن ہیں 43 00:02:09,430 --> 00:02:12,080 اس صف میں integers کے. 44 00:02:12,080 --> 00:02:16,480 یہاں تو یہ پیٹرن، اس 4 INT میں نے اس کے علاوہ، میں نے کم سے کم (ن) ہے، 0 کے برابر ہے 45 00:02:16,480 --> 00:02:20,580 کے علاوہ، یہ بھی ایک پیٹرن کی جا رہی ہے آپ کو بہت سے استعمال کرنے کے کہ. 46 00:02:20,580 --> 00:02:24,000 کہ بہت تم کس طرح کیونکہ ہمیشہ arrays پر iterate جا رہا. 47 00:02:24,000 --> 00:02:26,330 تو (ن) ہے یاد رکھیں کہ ہمارے صف کی لمبائی. 48 00:02:26,330 --> 00:02:32,120 اور تو یہاں، ہم نے بار بار پوچھ رہے ہیں کمرے میں اس شخص میں عمر کے لئے. 49 00:02:32,120 --> 00:02:36,640 >> اس کے بعد، ہم نیچے جاؤ، اور جو کچھ بھی کے لئے صوابدیدی کی وجہ سے، تو ہم 50 00:02:36,640 --> 00:02:40,220 وہ جا رہے ہیں کہ کس طرح پرانے باہر پرنٹ اب سے ایک سال ہو. 51 00:02:40,220 --> 00:02:49,980 اور یہ پروگرام چلا رہا، چلو ، عمر بنانے سلیش عمر ڈاٹ. 52 00:02:49,980 --> 00:02:53,010 تو کمرے میں لوگوں کی تعداد میں، تین ہیں کا کہنا ہے کہ. 53 00:02:53,010 --> 00:02:59,880 اور، سب سے پہلے 13 ہے، کا کہنا ہے کہ اگلا 26 ہے، اور گزشتہ 30 ہے. 54 00:02:59,880 --> 00:03:05,080 تو پھر یہ ان تین iterate گے لوگ،، 14 27، اور 31 کو پرنٹ. 55 00:03:05,080 --> 00:03:16,060 >> تو یاد ہے کہ ہم نے ایک اعلان جب سائز ن کی صف، کہ میں سوچکانکوں 56 00:03:16,060 --> 00:03:19,950 صف، صف اقدار ہیں اور سوچکانکوں 0، 1، 2، تمام طریقہ 57 00:03:19,950 --> 00:03:21,680 اپ ن مائنس 1. 58 00:03:21,680 --> 00:03:26,255 تو ہم نے کہا کہ جب تین لوگ تھے کمرے میں، اور ہم یہاں میں ڈال دیا 59 00:03:26,255 --> 00:03:29,850 اس کے ذریعے پہلی iteration لوپ، میں 0 ہونے جا رہا ہے. 60 00:03:29,850 --> 00:03:31,650 تو 0 انڈیکس میں. 61 00:03:31,650 --> 00:03:34,540 ہم سب سے پہلے بتائے جاتے ہیں صارف داخل عمر. 62 00:03:34,540 --> 00:03:38,870 پھر اگلے ایک میں، ہم داخل کر رہے ہیں دوسرے صارف داخل ہے، اور میں 63 00:03:38,870 --> 00:03:40,580 دو، آخری ن اگلا. 64 00:03:40,580 --> 00:03:44,200 >> تو محسوس ہے کہ سائز کے ایک صف تین کچھ بھی نہیں ہے 65 00:03:44,200 --> 00:03:46,040 انڈیکس تین میں. 66 00:03:46,040 --> 00:03:49,036 یہ درست نہیں ہے. 67 00:03:49,036 --> 00:03:50,250 ٹھیک ہے. 68 00:03:50,250 --> 00:03:55,136 تو، یہاں واپس جا رہا. 69 00:03:55,136 --> 00:03:57,650 70 00:03:57,650 --> 00:04:01,590 تو اب ہم arrays کے ساتھ نمٹا ہے، ہم نے کچھ واقف ہے. 71 00:04:01,590 --> 00:04:03,780 اب ہم کمانڈ پر منتقل کرنے کے لئے جا رہے ہیں جا رہے ہیں جس میں لائن کے دلائل، 72 00:04:03,780 --> 00:04:05,890 اس مسئلہ کو سیٹ کرنے کے لئے بہت متعلقہ. 73 00:04:05,890 --> 00:04:09,670 >> تو اب تک، جب بھی آپ نے آپ کی اہم تقریب کا اعلان کر دیا، ہم نے 74 00:04:09,670 --> 00:04:11,230 int اہم باطل کہا. 75 00:04:11,230 --> 00:04:14,070 تو باطل صرف کا مطلب ہے کہ ہم کسی بھی گزر نہیں کر رہے ہیں 76 00:04:14,070 --> 00:04:16,440 اس تقریب کے دلائل. 77 00:04:16,440 --> 00:04:19,190 اب ہم اس اہم کو دیکھنے کے لئے جا رہے ہیں کچھ دلائل لے جا سکتے ہیں. 78 00:04:19,190 --> 00:04:22,470 یہاں ہم جہاں argc INT انہیں فون اور سٹرنگ argv بریکٹ. 79 00:04:22,470 --> 00:04:26,930 بریکٹ، ایک بار پھر، کا اشارہ ہم arrays کے ساتھ نمٹنے کر رہے ہیں. 80 00:04:26,930 --> 00:04:31,850 تو یہاں، سٹرنگ argv بریکٹ، ہم ڈور کی ایک صف کے ساتھ نمٹنے. 81 00:04:31,850 --> 00:04:35,360 تو جہاں argc، یہ ظاہر کرنے جا رہا ہے ہم نے کس طرح بہت سے دلائل 82 00:04:35,360 --> 00:04:37,580 اس پروگرام کے لئے منظور. 83 00:04:37,580 --> 00:04:46,050 اور، کا مطلب ہے کہ کیا دیکھنے کے لئے اس کو بند کرتے ہیں. 84 00:04:46,050 --> 00:04:46,490 >> ٹھیک ہے. 85 00:04:46,490 --> 00:04:50,790 تو اب تک، ہم نے ہر چلائے گئے ڈاٹ سلیش عمر کی طرح پروگرام. 86 00:04:50,790 --> 00:04:55,250 ہم بھی کر سکتے ہیں، کمانڈ لائن پر، ماضی دلائل کے پاس، اس طرح مدت، کمانڈ 87 00:04:55,250 --> 00:04:56,550 لائن کے دلائل. 88 00:04:56,550 --> 00:04:59,760 تو پہلی دلیل، ہیلو دنیا. 89 00:04:59,760 --> 00:05:03,350 تو یہاں، جہاں argc تین ہو جائے گا. 90 00:05:03,350 --> 00:05:07,720 اس کے دلائل کی تعداد ہے کمانڈ لائن پر. 91 00:05:07,720 --> 00:05:12,840 جہاں argc، ہمیشہ کم از کم 1 ہے کے بعد ڈاٹ ، خود عمر سلیش، میں سے ایک کے طور پر شمار 92 00:05:12,840 --> 00:05:14,490 کمانڈ لائن کے دلائل. 93 00:05:14,490 --> 00:05:17,010 >> اس کے بعد خوش سب سے پہلے ہے. 94 00:05:17,010 --> 00:05:20,460 ڈاٹ سلیش عمر تو، zeroth ہے تو خوش سب سے پہلے ہے، اور دنیا ہے 95 00:05:20,460 --> 00:05:22,830 دوسری کمانڈ لائن کی دلیل. 96 00:05:22,830 --> 00:05:29,490 تو سٹرنگ argv، ہم کو دیکھنے کے لئے جا رہے ہیں، ڈور، ڈاٹ سلیش پر مشتمل ہے 97 00:05:29,490 --> 00:05:33,830 عمر، خوش، اور دنیا. 98 00:05:33,830 --> 00:05:38,945 اور، ڈیوڈ کی درخواست کی طرف سے، ہم جا رہے ہیں کہ متعارف کرانے کی ایک ویڈیو کو کھیلنے کے لئے. 99 00:05:38,945 --> 00:05:42,486 100 00:05:42,486 --> 00:05:43,890 >> [ویڈیو پلے بیک] 101 00:05:43,890 --> 00:05:46,240 >> اپ ہم نے پروگرام میں اب تک لکھا، ہم کا اعلان کیا ہے 102 00:05:46,240 --> 00:05:48,500 بنیادی طور پر int اہم صفر. 103 00:05:48,500 --> 00:05:51,170 اور یہ سب اس وقت، کہ باطل ہے بس کی وضاحت کی گئی ہے کہ 104 00:05:51,170 --> 00:05:54,430 پروگرام کسی بھی لے نہیں ہے کمانڈ لائن کے دلائل. 105 00:05:54,430 --> 00:05:57,750 ایک صارف ایک چلتا ہے جب دوسرے الفاظ میں، پروگرام، وہ یا وہ کمانڈ فراہم کر سکتے ہیں 106 00:05:57,750 --> 00:06:01,710 اضافی لکھنے کی طرف سے لائن کے دلائل الفاظ یا جملے کے بعد پروگرام کے 107 00:06:01,710 --> 00:06:03,000 فوری طور پر نام. 108 00:06:03,000 --> 00:06:06,550 >> ٹھیک ہے، آپ کو آپ کے پروگرام کے لئے چاہتے ہیں اگر آپ ایسا کرتے کمانڈ لائن کے دلائل، ایک یا ایک سے لے 109 00:06:06,550 --> 00:06:10,540 اس طرح کے الفاظ، ہم تبدیل کرنے کی ضرورت دلائل کی ایک جوڑے کے ساتھ خالی. 110 00:06:10,540 --> 00:06:12,200 تو یہ کرتے ہیں. 111 00:06:12,200 --> 00:06:15,750 CS50.h. شامل کریں 112 00:06:15,750 --> 00:06:19,360 معیاری io.h. شامل کریں 113 00:06:19,360 --> 00:06:20,760 int اہم. 114 00:06:20,760 --> 00:06:26,330 اور اب، اس کی بجائے باطل کی، میں جا رہا ہوں ایک جہاں argc کہا جاتا INT، اور ایک وضاحت 115 00:06:26,330 --> 00:06:28,780 ہے argv کہا جاتا ڈور کی صف. 116 00:06:28,780 --> 00:06:31,820 اب، argc اور argv ہیں بس کنونشن. 117 00:06:31,820 --> 00:06:34,000 >> ہم ان دلائل کو کہا جاتا ہے کر سکتے ہیں ہم چاہتے ہیں سب سے زیادہ کچھ. 118 00:06:34,000 --> 00:06:37,630 لیکن کیا ضروری ہے جہاں argc ہے ایک int تعریف کی طرف سے، یہ ہے، کیونکہ 119 00:06:37,630 --> 00:06:41,360 دلیل شمار پر مشتمل کرنے کے لئے جا، کل میں الفاظ کی تعداد ہے 120 00:06:41,360 --> 00:06:43,380 صارف اس کا یا اس فوری طور پر ٹائپ کیا ہے. 121 00:06:43,380 --> 00:06:47,910 ہے argv، دریں اثنا، دلیل ویکٹر، ہے اصل میں ذخیرہ کرنے کے ایک صف ہو جا 122 00:06:47,910 --> 00:06:52,020 صارف ہے کہ تمام الفاظ کے اس کا یا اس فوری طور پر ٹائپ. 123 00:06:52,020 --> 00:06:54,500 >> اب کچھ کرنے کے لئے آگے بڑھنے کے ہیں ان میں سے ایک یا اس سے زیادہ کے ساتھ 124 00:06:54,500 --> 00:06:55,660 کمانڈ لائن کے دلائل. 125 00:06:55,660 --> 00:07:00,070 خاص طور پر، آگے اور پرنٹ جانے جو لفظ میں صارف اقسام 126 00:07:00,070 --> 00:07:03,960 پروگرام کے نام کے بعد فوری طور پر. 127 00:07:03,960 --> 00:07:04,730 کھلا بریکٹ. 128 00:07:04,730 --> 00:07:06,240 بند بریکٹ. 129 00:07:06,240 --> 00:07:10,510 printf کے فیصد کے الٹا سلیش اور کوما. 130 00:07:10,510 --> 00:07:14,550 اور اب میں printf کیا قیمت بتانے کی ضرورت کہ پلیس ہولڈر میں پلگ کرنے کے لئے. 131 00:07:14,550 --> 00:07:18,600 میں صارف ہے کہ پہلا لفظ چاہتے ہیں پروگرام کے نام کے بعد ٹائپ، 132 00:07:18,600 --> 00:07:23,130 اور تو میں وضاحت کرنے کے لئے جا رہا ہوں ہے argv بریکٹ 1، بند 133 00:07:23,130 --> 00:07:24,830 قوسین، نیم وقفہ. 134 00:07:24,830 --> 00:07:27,290 >> اب، کیوں بریکٹ 1 اور نہ بریکٹ 0؟ 135 00:07:27,290 --> 00:07:30,990 ٹھیک ہے، یہ خود کار طریقے سے ذخیرہ، باہر کر دیتا ہے argv میں 0 ہونے جا رہا ہے 136 00:07:30,990 --> 00:07:32,620 پروگرام کا اصل نام. 137 00:07:32,620 --> 00:07:36,180 تو پہلا لفظ ہے کہ صارف اقسام پروگرام کے نام کی طرف سے، کے بعد 138 00:07:36,180 --> 00:07:38,990 کنونشن، ہو جا ہے argv 1 میں محفوظ کیا. 139 00:07:38,990 --> 00:07:42,380 اب تالیف اور اس پروگرام کو چلانے. 140 00:07:42,380 --> 00:07:47,780 >> ہے argv 0، ڈاٹ سلیش ہے argv 0 بنائیں. 141 00:07:47,780 --> 00:07:50,520 اور اب ایک لفظ خوش کی طرح. 142 00:07:50,520 --> 00:07:51,670 درج کریں. 143 00:07:51,670 --> 00:07:53,520 اور وہاں ہم خوش، یہ ہے. 144 00:07:53,520 --> 00:07:55,750 >> [END ویڈیو پلے بیک] 145 00:07:55,750 --> 00:07:57,000 >> روب BODEN: ٹھیک ہے. 146 00:07:57,000 --> 00:07:59,380 147 00:07:59,380 --> 00:08:01,230 جو قریب. 148 00:08:01,230 --> 00:08:16,730 تو اس پروگرام پر ایک نظر لے کہ ہم صرف، اچھی طرح سے، ہمارے پاس صرف متعارف کرایا 149 00:08:16,730 --> 00:08:24,710 ہم 0 پرنٹ argv اب اگر، بنا،، ظاہر کرنے کے لئے یہ، ہے argv 0، ڈاٹ سلیش ہے argv 0 کیا ہے. 150 00:08:24,710 --> 00:08:30,440 امید کی جاتی ہے تو کے طور پر،، اسے باہر پرنٹ ہے ہے argv 0 ہے، پروگرام کے نام 151 00:08:30,440 --> 00:08:32,970 ہمیشہ کے لئے جا پروگرام کا نام. 152 00:08:32,970 --> 00:08:35,640 لیکن کچھ کرتے ہیں زیادہ دلچسپ کاٹا. 153 00:08:35,640 --> 00:08:42,080 >> تو مسئلہ سیٹ میں، آپ کو ہو جائے گا اس تقریب، atoi متعارف کرایا. 154 00:08:42,080 --> 00:08:44,440 تو کیا ہم اس کے لئے atoi استعمال کرتے ہیں؟ 155 00:08:44,440 --> 00:08:48,550 کہ تبدیل کرنے جا رہا ہے ایک ایک عدد صحیح سٹرنگ. 156 00:08:48,550 --> 00:08:53,280 تو میں نے تار پاس کرجاتے ہیں تو، ایک دو تین، atoi کرنے کے لئے، کہ میں تبدیل کریں گے 157 00:08:53,280 --> 00:08:56,910 عددی، ایک دو تین. 158 00:08:56,910 --> 00:09:01,480 تو ہم نے سب سے پہلے تبدیل کرنے کے لئے جا رہے ہیں ایک عددی کے لئے کمانڈ لائن کی دلیل، 159 00:09:01,480 --> 00:09:05,690 اور پھر صرف اس عددی پرنٹ. 160 00:09:05,690 --> 00:09:09,680 >> تو بنیادی طور پر، ہم اس قسم کی ہیں صرف، GetInt کا reimplementing 161 00:09:09,680 --> 00:09:12,350 عددی کمان میں داخل کیا جاتا ہے لائن کی بجائے پروگرام میں 162 00:09:12,350 --> 00:09:14,560 interactively. 163 00:09:14,560 --> 00:09:23,170 تو پھر، ہے argv 0 بنانے، کی کرتے ہیں یہاں میں اس، اور یہ کہ بند. 164 00:09:23,170 --> 00:09:27,670 تو argv 0 چل رہا ہے، اور میں داخل ہونے عددی، ایک دو تین چار ایک سے دو. 165 00:09:27,670 --> 00:09:30,840 تو یہ، ایک عددی پرنٹ کریں گے دو تین چار ایک سے دو. 166 00:09:30,840 --> 00:09:35,500 کہ atoi کچھ subtleties کے ہیں اس چیز کے بارے میں دیکھ بھال روک دیں گے 167 00:09:35,500 --> 00:09:39,040 ایک درست عددی کردار سے باہر، لیکن اس سے کوئی فرق نہیں پڑتا. 168 00:09:39,040 --> 00:09:42,870 >> تو آپ کو کیا ہوتا ہے لگتا ہے میں یہ کروں تو کیا ہوگا؟ 169 00:09:42,870 --> 00:09:45,520 170 00:09:45,520 --> 00:09:47,050 انقطاع غلطی. 171 00:09:47,050 --> 00:09:50,410 تو کیوں ہے؟ 172 00:09:50,410 --> 00:09:56,060 آپ ہمارے پروگرام میں واپس دیکھو، ہم ہے argv 1، پہلی دلیل میں تبدیل 173 00:09:56,060 --> 00:09:59,610 پروگرام کے نام کے بعد، ایک عدد صحیح. 174 00:09:59,610 --> 00:10:03,350 لیکن منظور کوئی دلیل ہے، پروگرام کے نام کے بعد. 175 00:10:03,350 --> 00:10:08,060 تو یہاں ہم یہ ایک چھوٹی گاڑی ہے دیکھتے ہیں کہ پروگرام، کے بعد سے، ہم اسے چلانے کی کوشش کرتے ہیں 176 00:10:08,060 --> 00:10:10,530 کسی بھی دلائل کے بغیر، یہ صرف کریش گا. 177 00:10:10,530 --> 00:10:16,950 >> آپ دیکھیں گے تو ایک عام پیٹرن کچھ کی طرح، جہاں argc کم ہے تو 178 00:10:16,950 --> 00:10:21,100 وہاں نہیں تھا اشارہ ہے کہ دو، سے کم از کم پروگرام کا نام اور ایک 179 00:10:21,100 --> 00:10:29,100 پہلی دلیل، اس وقت ہم کچھ کروں گا طرح printf، کافی نہیں 180 00:10:29,100 --> 00:10:31,190 کمانڈ لائن کے دلائل. 181 00:10:31,190 --> 00:10:33,170 یہ شاید پرنٹ کرنے کے لئے ایک اچھا نہیں ہے، اس طرح، شاید کچھ ہے 182 00:10:33,170 --> 00:10:35,440 آپ کو ایک عددی باندھے کمانڈ لائن پر. 183 00:10:35,440 --> 00:10:37,450 میں صرف وہاں ختم ہو جائے گا. 184 00:10:37,450 --> 00:10:39,600 اور پھر واپس 1. 185 00:10:39,600 --> 00:10:44,740 تو ہمارے کے آخر میں یاد رکھیں کہ پروگرام، ہم 0 واپس تو، اس طرح کا 186 00:10:44,740 --> 00:10:47,060 کامیابی کی طرف اشارہ کرتا ہے. 187 00:10:47,060 --> 00:10:50,940 اور اہم بھی خود کار طریقے آپ ایسا نہیں کرتے تو 0 واپس. 188 00:10:50,940 --> 00:10:55,800 >> تو یہاں ہم اس بات کی نشاندہی کرنے کے لئے 1 retuning رہے ہیں اس کامیابی نہیں ہے. 189 00:10:55,800 --> 00:11:01,000 اور اگر آپ چاہتے ہیں جو کچھ بھی واپس آ سکتے ہیں، صرف، 0 کامیابی کی طرف اشارہ کرتا، اور 190 00:11:01,000 --> 00:11:03,390 اور کچھ ناکامی کی طرف اشارہ کرتا ہے. 191 00:11:03,390 --> 00:11:04,855 تو چیزوں کے اس ورژن چلاتے ہیں. 192 00:11:04,855 --> 00:11:12,880 193 00:11:12,880 --> 00:11:16,600 تو اب، ہم ایک کمانڈ لائن میں داخل نہیں ہے تو دلیل، یہ درست طریقے سے بتا دونگا 194 00:11:16,600 --> 00:11:18,290 ہم، کافی کمانڈ لائن نہیں. 195 00:11:18,290 --> 00:11:20,610 سزا ختم نہیں کیا. 196 00:11:20,610 --> 00:11:24,950 ورنہ، ہم اصل میں یہ ایک پاس ہیں، اس پروگرام مکمل کر سکتے ہیں. 197 00:11:24,950 --> 00:11:27,920 تو اس میں آپ جہاں argc استعمال کریں گے کس طرح ہے کی تعداد کو درست کرنے کے لئے 198 00:11:27,920 --> 00:11:30,630 کمانڈ لائن کے دلائل کہ اصل میں گزر رہے ہیں. 199 00:11:30,630 --> 00:11:39,360 >> تو تھوڑا سا زیادہ اس پروگرام بنانے پیچیدہ، اور دوسرے پر نظر 200 00:11:39,360 --> 00:11:42,180 چیزوں کی iteration کے. 201 00:11:42,180 --> 00:11:46,310 تو اب، ہم صرف پرنٹ نہیں کر رہے پہلی کمانڈ لائن کی دلیل. 202 00:11:46,310 --> 00:11:51,210 یہاں، ہم int میں برابر سے iterating کر رہے 0، میں، میں جہاں argc سے بھی کم ہے اس کے علاوہ 203 00:11:51,210 --> 00:11:55,280 کے علاوہ، اور پرنٹنگ ہے argv، انڈیکس میں. 204 00:11:55,280 --> 00:11:59,300 تو اس پیٹرن، ایک بار پھر، یہ ایک ہی ہے بجائے اس کے علاوہ اس سے پہلے کے طور پر پیٹرن، 205 00:11:59,300 --> 00:12:02,600 متغیر بلانے کی (ن)، ہم جہاں argc استعمال کر رہے ہیں. 206 00:12:02,600 --> 00:12:09,520 >> تو یہ ہر ایک کے انڈیکس پر iterating ہے صف، اور ہر پرنٹنگ 207 00:12:09,520 --> 00:12:11,910 اس صف میں عنصر. 208 00:12:11,910 --> 00:12:20,300 اور اس طرح، ہم اس پروگرام چلاتے ہیں، اچھی طرح سے، میں کسی بھی کمانڈ لائن میں داخل نہیں کیا 209 00:12:20,300 --> 00:12:22,540 دلائل، صرف پرنٹ یہ تو پروگرام کا نام. 210 00:12:22,540 --> 00:12:26,053 میں چیزوں کا ایک گروپ درج کرتے ہیں، یہ کریں گے ایک، اس کی اپنی لائن پر ہر پرنٹ. 211 00:12:26,053 --> 00:12:31,213 212 00:12:31,213 --> 00:12:32,210 >> ٹھیک ہے. 213 00:12:32,210 --> 00:12:34,770 تو مزید ایک قدم لے. 214 00:12:34,770 --> 00:12:38,890 اور اس کے بجائے ہر ایک کی دلیل پرنٹنگ کے اپنی ہی سطر میں، ایک پرنٹ 215 00:12:38,890 --> 00:12:42,590 ہر دلیل کا کردار اپنی ہی سطر میں. 216 00:12:42,590 --> 00:12:46,700 تو argv ہے یاد رکھیں کہ ڈور کی ایک صف. 217 00:12:46,700 --> 00:12:50,960 تو کیا ایک تار ہے، لیکن حروف کی ایک سرنی؟ 218 00:12:50,960 --> 00:12:57,140 تو یہ ہے argv واقعی مطلب یہ ہے کہ ایک حروف کی ایک سرنی کے ایک صف. 219 00:12:57,140 --> 00:13:04,920 تو اس کا فائدہ اٹھاتے ہوئے، اب کے لئے اس کو نظر انداز. 220 00:13:04,920 --> 00:13:08,190 صرف سٹرنگ argv 0 غور کریں. 221 00:13:08,190 --> 00:13:14,170 >> ہم ایک کردار کا لانا چاہتے ہیں تو ہے argv 0 اپنی ہی سطر میں، تو میں چاہتا ہوں 222 00:13:14,170 --> 00:13:19,500 ہم استعمال کر رہے ہیں پیٹرن کرنے کے لئے، میں ہے صف کی لمبائی سے بھی کم، 223 00:13:19,500 --> 00:13:23,990 یہاں، کے سے strlen ہے جس میں، ہے مجھے کیا کرنا نہیں چاہتے کیا، تار 224 00:13:23,990 --> 00:13:26,450 ے ہے argv 0 برابر. 225 00:13:26,450 --> 00:13:30,390 تو میں نے اپنے کی لمبائی سے بھی کم ہے اس معاملے میں ایک صف ہے جس میں صف، 226 00:13:30,390 --> 00:13:34,410 حروف کی، میں نے اس کے علاوہ کے علاوہ. 227 00:13:34,410 --> 00:13:41,040 ہم نے گزشتہ ہفتے دیکھا اور اس طرح،، یہ مثالی ہے ہم باہر سے strlen اس اقدام سے اگر 228 00:13:41,040 --> 00:13:45,210 حالت کے، کے بعد (ن) انہوں نے مزید کہا جائے گا ے کی strlen کی ہم جا ہر وقت 229 00:13:45,210 --> 00:13:47,720 لوپ کے ذریعے، اور یہ کو تبدیل نہیں کیا جا سکتا. 230 00:13:47,720 --> 00:13:50,230 تو ہم یہاں (ن) کے برابر مقرر کریں گے. 231 00:13:50,230 --> 00:13:54,260 232 00:13:54,260 --> 00:13:55,170 >> ٹھیک ہے. 233 00:13:55,170 --> 00:14:01,320 تو اب، ہم پر iterating کر رہے ہیں صف میں ہر انڈیکس. 234 00:14:01,320 --> 00:14:05,630 اور اس طرح، ہم میں سے ہر پرنٹ کرنے کے لئے چاہتے ہیں تو اس صف، فیصد C میں کردار ہے 235 00:14:05,630 --> 00:14:06,880 ہم استعمال کرنا چاہتے ہیں پرچم حروف کے لئے. 236 00:14:06,880 --> 00:14:10,750 237 00:14:10,750 --> 00:14:19,770 اور اب ایک بریکٹ میں ہونے جا رہا ہے سٹرنگ، انڈیکس کردار میں، اگر ایسا ہے تو 238 00:14:19,770 --> 00:14:20,970 سٹرنگ خوش تھے. 239 00:14:20,970 --> 00:14:27,530 پھر بریکٹ، 0 H جا رہا ہے S S 1 ای ہو جائے گا، اور. 240 00:14:27,530 --> 00:14:30,800 >> تو اب ہم جمع کرنے کے لئے چاہتے ان دو چیزوں. 241 00:14:30,800 --> 00:14:35,440 ہم ہر کردار پرنٹ کرنا چاہتے ہیں ہر ایک کمانڈ لائن کی دلیل کے. 242 00:14:35,440 --> 00:14:38,950 تو ہم جا رہے ہیں ایک لوپ کے لئے اندر در اندر. 243 00:14:38,950 --> 00:14:47,480 اور روایتی، پہلے انسداد میں، اگلے J جا رہا، ن ہے ہے 244 00:14:47,480 --> 00:14:54,450 ہے argv میں strlen کی ہو جائے گا، میں نے کم سے کم ن، میں پلس پلس ہے. 245 00:14:54,450 --> 00:14:59,150 246 00:14:59,150 --> 00:15:06,870 اور اب اس کی بجائے پرنٹنگ ہے argv میں، تو میں انڈیکس جا رہا ہے ہے argv بریکٹ - 247 00:15:06,870 --> 00:15:14,280 کہ میں ویں کمانڈ لائن جا رہا ہے دلیل ہے، argv میں، J جا رہا ہے 248 00:15:14,280 --> 00:15:16,925 JTH کردار کی ہو میں ویں دلیل. 249 00:15:16,925 --> 00:15:20,580 250 00:15:20,580 --> 00:15:24,810 میں اب یہاں اس سے چھٹکارا حاصل کریں گے ہم اس لوپ میں ڈال کے بعد. 251 00:15:24,810 --> 00:15:33,900 تو سٹرنگ کے برابر کے برابر ہے ہے argv میں، اور اس کے بعد کی بریکٹ J. 252 00:15:33,900 --> 00:15:36,980 >> ٹھیک ہے، ہم اعلان کرنے کی ضرورت نہیں ہے اس کے متغیر کے. 253 00:15:36,980 --> 00:15:44,530 اس کے بجائے، ہم صرف ان کو جمع کریں گے ہم نے کیا میں دو،، جموں میں میں argv. 254 00:15:44,530 --> 00:15:45,780 >> اسپیکر 1: [اشراوی]. 255 00:15:45,780 --> 00:15:48,850 256 00:15:48,850 --> 00:15:49,680 >> روب BODEN: اچھا کال. 257 00:15:49,680 --> 00:15:52,936 تو یہ ٹوٹا ہوا ہے. 258 00:15:52,936 --> 00:15:55,510 میں واقعی میں اس دوڑ، تو ہم کریں گے یہ احساس ہو گیا ہے. 259 00:15:55,510 --> 00:16:01,210 مجھے پرواہ تو کاؤنٹر کے لئے یہ خاص طور پر 260 00:16:01,210 --> 00:16:05,410 لوپ J، iterator ہے. 261 00:16:05,410 --> 00:16:08,560 تو آپ کو مسائل میں چلاتے ہیں کیا جائے گا، شاید ایک لامحدود لوپ، تو ہم 262 00:16:08,560 --> 00:16:09,540 کہ طے نہیں تھا. 263 00:16:09,540 --> 00:16:12,220 ہم بھی بات کر رہے ہیں یہی وجہ ہے کہ آج ٹھیک. 264 00:16:12,220 --> 00:16:13,120 >> ٹھیک ہے. 265 00:16:13,120 --> 00:16:15,240 تو اس پروگرام چلاتے ہیں. 266 00:16:15,240 --> 00:16:21,200 اور اصل میں ایک الگ printf کے شامل ہیں یہاں صرف پرنٹ گا کہ 267 00:16:21,200 --> 00:16:27,480 اس کا مطلب کے بعد ایک اور لائن، جب ہم پروگرام کو چلانے کے، ایک خالی ہو جائے گا 268 00:16:27,480 --> 00:16:31,830 ہر کردار کے درمیان میں لائن ہر ایک کمانڈ لائن کی دلیل. 269 00:16:31,830 --> 00:16:33,448 ٹھیک ہے، ہم اس کا کیا مطلب ہے نظر آئے گا. 270 00:16:33,448 --> 00:16:37,310 271 00:16:37,310 --> 00:16:37,790 OOP. 272 00:16:37,790 --> 00:16:39,870 کچھ بگ مل گیا. 273 00:16:39,870 --> 00:16:42,860 خرابی لپیٹ اعلان لائبریری تقریب سے strlen. 274 00:16:42,860 --> 00:16:51,630 >> تو اپنے پروگرام میں واپس جا، میں string.h شامل ہیش بھول گیا. 275 00:16:51,630 --> 00:16:54,240 276 00:16:54,240 --> 00:16:57,730 تو string.h جا رہا ہے اعلان ہے کہ ہیڈر فائل 277 00:16:57,730 --> 00:16:58,980 تقریب سے strlen. 278 00:16:58,980 --> 00:17:04,650 279 00:17:04,650 --> 00:17:06,060 ٹھیک ہے، اس سے آگاہ کریں. 280 00:17:06,060 --> 00:17:09,109 اب، چلو اسے چلاتے ہیں. 281 00:17:09,109 --> 00:17:10,930 تو صرف یہ ہے کہ. 282 00:17:10,930 --> 00:17:17,790 اسے باہر پرنٹ کرنے کے لئے جا رہا ہے ہماری پروگرام کا نام، ہیلو دنیا. 283 00:17:17,790 --> 00:17:23,510 یہ ہر ایک، ہر چیز پرنٹ کرنے کے لئے جا رہا ہے اپنی ہی سطر میں کردار،. 284 00:17:23,510 --> 00:17:24,540 ٹھیک ہے. 285 00:17:24,540 --> 00:17:30,625 >> تو اصل میں یہ لے لو مزید ایک قدم. 286 00:17:30,625 --> 00:17:34,050 287 00:17:34,050 --> 00:17:39,700 اور اس کے بجائے string.h کا استعمال کرتے ہوئے، چلو ہم اپنے پر عملدرآمد چاہتے ہیں کس طرح کے بارے میں سوچنا 288 00:17:39,700 --> 00:17:41,420 سے strlen تقریب. 289 00:17:41,420 --> 00:17:45,600 تو میں نے فوری طور پر دے دیں گے ایک تقریب کے دستخط. 290 00:17:45,600 --> 00:17:52,900 تو my_strlen میں کہتے ہیں، اور یہ ایک دلیل کے طور ایک تار پر لے جا، 291 00:17:52,900 --> 00:17:57,220 اور ہم واپس آنے کی توقع کہ سٹرنگ کی لمبائی. 292 00:17:57,220 --> 00:18:03,430 تو، جہاں اس آدمی ہے؟ 293 00:18:03,430 --> 00:18:04,990 جی ہاں. 294 00:18:04,990 --> 00:18:06,740 ٹھیک ہے. 295 00:18:06,740 --> 00:18:12,900 تو پہلے سلائڈ سے یاد ہے ، گزشتہ ہفتے سے بھی تھا کہ ایک 296 00:18:12,900 --> 00:18:18,890 حروف کی صف ہے، کے ساتھ ساتھ، ایک تار، تو یہ ہماری سٹرنگ کا کہنا ہے کہ دو. 297 00:18:18,890 --> 00:18:29,870 تو کی تار ہے تو، خوش، اس کے بعد، ایچ ای ایل ایل اے، کی یاد میں، کہ جا رہا ہے 298 00:18:29,870 --> 00:18:35,610 تو یہ الٹا سلیش، اور 0 کردار. 299 00:18:35,610 --> 00:18:39,170 >> تو ہم کس طرح کے کی لمبائی ہے؟ 300 00:18:39,170 --> 00:18:43,190 ٹھیک ہے، چال اس کے لئے لگ رہا ہے 0 کردار، اس، شہوت انگیز null ردعمل 301 00:18:43,190 --> 00:18:44,380 ٹرمنیٹر. 302 00:18:44,380 --> 00:18:50,270 تو الگورتھم جا رہا ہے کچھ کچھ اس طرح ہونا 303 00:18:50,270 --> 00:18:51,510 کافی حروف ہے - 304 00:18:51,510 --> 00:18:56,180 اس کے ہاتھ میں کچھ کی نمائندگی کرتے ہیں انسداد، اس INT لمبائی کہتے ہیں. 305 00:18:56,180 --> 00:19:00,060 تو، یہاں سے شروع، ہم ہمارے سٹرنگ پر iterate جا رہا. 306 00:19:00,060 --> 00:19:04,100 >> لہذا، یہ ایچ پہلا کردار ہے، اور اسے واپس تو، 0 سلیش نہیں ہے 307 00:19:04,100 --> 00:19:05,170 لمبائی 1 ہے. 308 00:19:05,170 --> 00:19:08,050 اگلا کردار iterate کے، ای، اور یہ 0 الٹا سلیش نہیں ہے. 309 00:19:08,050 --> 00:19:09,630 لمبائی ہے 2. 310 00:19:09,630 --> 00:19:10,960 ایل، 3. 311 00:19:10,960 --> 00:19:11,850 ایل، 4. 312 00:19:11,850 --> 00:19:13,050 اے، 5. 313 00:19:13,050 --> 00:19:16,690 اور آخر میں، ہم الٹا سلیش تک پہنچنے 0، اور تو اس کا مطلب، اچھی طرح سے، 314 00:19:16,690 --> 00:19:17,780 اس جملے سے زیادہ ہے. 315 00:19:17,780 --> 00:19:20,130 تو 5 لوٹ چلیں. 316 00:19:20,130 --> 00:19:33,630 >> تو اصل میں، سب سے پہلے، کہ عمل درآمد اپنے ن لمبائی میرے دائیں ہاتھ، 0 کے برابر ہے. 317 00:19:33,630 --> 00:19:36,088 اور ہم iterate کرنے کے لئے جا رہے ہیں - 318 00:19:36,088 --> 00:19:38,000 >> اسپیکر 1: [اشراوی] 319 00:19:38,000 --> 00:19:38,640 >> روب BODEN: اوہ، گولی مار. 320 00:19:38,640 --> 00:19:39,870 اچھی کال. 321 00:19:39,870 --> 00:19:42,680 بوم. 322 00:19:42,680 --> 00:19:44,140 تو ن 0 لمبائی کے برابر ہے. 323 00:19:44,140 --> 00:19:46,910 324 00:19:46,910 --> 00:19:58,310 تو اب، جبکہ کی لمبائی نہیں ہے پھر برابر اور، الٹا سلیش 0. 325 00:19:58,310 --> 00:20:04,660 تو، اس الٹا سلیش 0 یاد، یہ ایک ہے اصل کردار، اور اس کی طرف اشارہ کرتا 326 00:20:04,660 --> 00:20:05,820 تار کے آخر. 327 00:20:05,820 --> 00:20:09,850 ، جیسا بھی، الٹا سلیش N ایک حقیقی کردار ہے. 328 00:20:09,850 --> 00:20:14,040 الٹا سلیش 0 اس بات کی نشاندہی کی جا رہی ہے ہماری تار کے آخر. 329 00:20:14,040 --> 00:20:15,414 میں وہاں ڈال نہیں کرنا چاہتا. 330 00:20:15,414 --> 00:20:19,190 331 00:20:19,190 --> 00:20:25,620 اور لمبائی کی طرف سے حساب سے ترتیب کی نہیں ہے شہوت انگیز null ٹرمنیٹر کے برابر، پھر 332 00:20:25,620 --> 00:20:27,130 ہم صرف لمبائی اضافہ کرنے جا رہے ہیں. 333 00:20:27,130 --> 00:20:29,860 334 00:20:29,860 --> 00:20:34,880 تو پھر، ہمارے پروگرام کے آخر میں، لمبائی آخر میں کی جا رہی ہے 335 00:20:34,880 --> 00:20:37,610 اس کیس میں 5 ہو. 336 00:20:37,610 --> 00:20:39,210 اور ہم صرف لمبائی واپس آ جائیں گے. 337 00:20:39,210 --> 00:20:42,570 338 00:20:42,570 --> 00:20:43,530 >> ٹھیک ہے. 339 00:20:43,530 --> 00:20:48,290 تو اب یہاں نیچے، میں نہیں my_strlen کرتے ہیں. 340 00:20:48,290 --> 00:20:50,700 اس بات کا یقین کرنے کے لئے اس تالیف سب کچھ آسانی سے چلتا ہے. 341 00:20:50,700 --> 00:20:55,820 342 00:20:55,820 --> 00:20:58,210 میں 2 میں کر رہا تھا؟ 343 00:20:58,210 --> 00:21:00,565 یا 1 تھا؟ 344 00:21:00,565 --> 00:21:01,940 کہ کیا کرنا چاہئے. 345 00:21:01,940 --> 00:21:02,690 ٹھیک ہے. 346 00:21:02,690 --> 00:21:08,490 تو یہ ہے argv ہے 2. 347 00:21:08,490 --> 00:21:11,585 متوقع طور پر، کام اگرچہ ایک میں اس میں کیا تھا؟ 348 00:21:11,585 --> 00:21:15,060 349 00:21:15,060 --> 00:21:15,550 جی ہاں. 350 00:21:15,550 --> 00:21:16,760 ٹھیک ہے. 351 00:21:16,760 --> 00:21:21,820 چیزوں کی یہ ورژن نہیں تھا printf کے نئے بعد لائن، لیکن یہ 352 00:21:21,820 --> 00:21:22,910 کوئی فرق نہیں ہے. 353 00:21:22,910 --> 00:21:23,300 ٹھیک ہے. 354 00:21:23,300 --> 00:21:25,780 امید کی جاتی ہے تو کے طور پر کام کیا. 355 00:21:25,780 --> 00:21:34,750 >> اب ہم اس سے ایک قدم جمع کر سکتے ہیں اس کے علاوہ، یہاں جہاں نوٹس، اچھی طرح سے، 356 00:21:34,750 --> 00:21:38,920 سب سے پہلے، ہم argv کے strlen کی پکڑ رہے ہیں میں، اور پھر ہم پر iterating کر رہے ہیں 357 00:21:38,920 --> 00:21:41,450 اس سٹرنگ میں ہر کردار. 358 00:21:41,450 --> 00:21:47,480 تو بجائے اس کے کہ ایسا کرنے کے، کیا تو ہم صرف انتظار کر رہے ہیں کے اس منطق کی جمع 359 00:21:47,480 --> 00:21:50,740 ہم الٹا سلیش 0 حق مارا ہے جب تک لوپ کے لئے اس میں؟ 360 00:21:50,740 --> 00:21:53,740 361 00:21:53,740 --> 00:22:07,490 ہے argv میں، J کرتا ہے تو iterate کے برابر نہیں الٹا سلیش 0. 362 00:22:07,490 --> 00:22:10,680 تو سب سے پہلے اسے چلاتے ہیں. 363 00:22:10,680 --> 00:22:19,838 364 00:22:19,838 --> 00:22:21,180 >> ٹھیک ہے. 365 00:22:21,180 --> 00:22:27,655 تو یہاں، اس کی حالت کہہ رہا ہے - 366 00:22:27,655 --> 00:22:38,090 367 00:22:38,090 --> 00:22:40,060 کی واضح ہیں. 368 00:22:40,060 --> 00:22:49,140 تو اب، یہ ہماری ہے argv ہو. 369 00:22:49,140 --> 00:22:55,290 تو میں نے اس سے پہلے اس پروگرام بھاگ گیا جب، ہے argv ڈور کی ایک صف ہے. 370 00:22:55,290 --> 00:23:03,100 اور اس طرح، میں ڈاٹ سلیش ہے argv کے ساتھ اسے چلاتے ہیں 2، ہیلو دنیا، تو ہے argv 371 00:23:03,100 --> 00:23:07,650 خود ہے argv کے لئے، لمبائی 3 ہے صفر، خوش، اور دنیا. 372 00:23:07,650 --> 00:23:11,700 373 00:23:11,700 --> 00:23:19,660 >> اور ان سوچکانکوں میں سے ہر ایک کے اندر، ہے خود کو اس ہو جائے گا جہاں ایک صف، 374 00:23:19,660 --> 00:23:23,780 ڈاٹ، اس سلیش ہو جائے گا، میں نہیں جانتا یہ صحیح سمت تھا، میں 375 00:23:23,780 --> 00:23:25,680 یہ نہیں لگتا ہے. 376 00:23:25,680 --> 00:23:30,110 ایک آر وی ڈیش، زیادہ جگہ کی ضرورت ہے. 377 00:23:30,110 --> 00:23:32,570 کی اس صف میں کاٹ دو. 378 00:23:32,570 --> 00:23:38,230 ایک آر وی ڈیش 0، اور پھر الٹا سلیش 0. 379 00:23:38,230 --> 00:23:43,160 اور پھر گڑبڑ میں خوش ہو جائے گا. 380 00:23:43,160 --> 00:23:45,910 کی، ایچ ای الٹا سلیش 0 کہتے ہیں. 381 00:23:45,910 --> 00:23:51,130 اور آخر میں، ڈبلیو اے الٹا سلیش 0. 382 00:23:51,130 --> 00:23:59,730 >> تو ہم صرف لکھا ہے کہ الگورتھم، وہ ہو کیا بات ہے loops کے لئے اندر در اندر 383 00:23:59,730 --> 00:24:07,321 ہے کر، ہم سب سے پہلے ہے میں اور پھر J مقابلہ. 384 00:24:07,321 --> 00:24:15,206 اس کوڈ کے ساتھ آسان ہو جائے گا سکرین، کی اس کے واپس جانے دو. 385 00:24:15,206 --> 00:24:17,476 ٹھیک ہے. 386 00:24:17,476 --> 00:24:24,600 تو میں ہے کہ iterator نوٹس ہے کہ ہر کمانڈ پر iterating 387 00:24:24,600 --> 00:24:25,610 لائن کی دلیل. 388 00:24:25,610 --> 00:24:28,870 اور جے iterator iterating کر ہے اس میں ہر کردار پر 389 00:24:28,870 --> 00:24:30,410 کمانڈ لائن کی دلیل. 390 00:24:30,410 --> 00:24:46,755 تو اس سب سے اندرونی printf کا کیا کر رہا ہے ، ہم ہے argv 0 0، printf کے پر printf ہے 391 00:24:46,755 --> 00:24:58,680 ہے argv 0 1، printf کا ہے argv 0 2 0 3، 0 4، 0 5، 0 6، لیکن اب، ہے argv 0 7 جا رہا ہے 392 00:24:58,680 --> 00:25:00,670 برابر الٹا سلیش 0. 393 00:25:00,670 --> 00:25:05,730 >> تو پھر ہم لوپ کے لئے اس سے باہر نکلنے کے، اور اب میں 1 iterates ہے. 394 00:25:05,730 --> 00:25:10,910 اور اب ہم پرنٹ جا رہے ہیں ہے argv 1 0، ہے argv 1 1 - 395 00:25:10,910 --> 00:25:17,040 ٹھیک ہے، اب، میں مختصر خوش کاٹ کے بعد، ہے argv 1 2 پھر جا رہا ہے 396 00:25:17,040 --> 00:25:18,170 الٹا سلیش 0. 397 00:25:18,170 --> 00:25:25,050 اور اس طرح، میں اضافہ اور جاری رکھیں، اور تو، جب تک ہم سب کے سب باہر پرنٹ 398 00:25:25,050 --> 00:25:28,580 دنیا، اور ان تین کمانڈ لائن ہیں دلائل، اور ہم باہر سے باہر نکلیں گے 399 00:25:28,580 --> 00:25:31,670 outermost لوپ، اور ہمارے پروگرام کو ختم. 400 00:25:31,670 --> 00:25:38,390 401 00:25:38,390 --> 00:25:39,640 ٹھیک ہے. 402 00:25:39,640 --> 00:25:43,903 403 00:25:43,903 --> 00:25:46,795 >> تو یہاں واپس آنے دو. 404 00:25:46,795 --> 00:25:49,670 405 00:25:49,670 --> 00:25:52,370 تو آپ کے ساتھ کچھ واقف حاصل کریں گے اس پر کمانڈ لائن کے دلائل 406 00:25:52,370 --> 00:25:54,460 خاص مسئلہ مقرر. 407 00:25:54,460 --> 00:25:56,630 >> اب، ٹھیک کرنا. 408 00:25:56,630 --> 00:26:01,680 تو آپ شاید پہلے سے ہی کرنا پڑا ہے اپنے سابقہ ​​کے ساتھ کچھ ٹھیک کرنا 409 00:26:01,680 --> 00:26:03,120 مسئلہ سیٹ کی. 410 00:26:03,120 --> 00:26:08,420 اور ٹھیک کرنا میں سے ایک بہت آسان طریقہ، سب سے پہلے، ایک چھوٹی گاڑی کے پروگرام کو دیکھو. 411 00:26:08,420 --> 00:26:20,710 412 00:26:20,710 --> 00:26:23,830 ٹھیک ہے،، اس پروگرام کے ذریعے چلنا ہم ایک لئے صارف سے پوچھو جا رہے ہیں 413 00:26:23,830 --> 00:26:29,350 عددی، اس عددی قبضہ، اور اس کے بعد، منمانے، ہم ایک جبکہ لوپ ہے 414 00:26:29,350 --> 00:26:32,280 صرف تدریج کی جا رہی ہے یہ 10 کے برابر ہے میں جب تک. 415 00:26:32,280 --> 00:26:35,820 چلو بس میں داخل ہونے رہا ہوں فرض 10 سے زیادہ ایک عددی. 416 00:26:35,820 --> 00:26:38,700 یہ 10 کے برابر ہے جب تک تو میں تدریج کریں. 417 00:26:38,700 --> 00:26:42,630 >> اور پھر ہم ایک دوسرے جبکہ لوپ ہے میں 0 کے برابر نہیں ہے، ہم، ہے 418 00:26:42,630 --> 00:26:44,540 کی طرف سے 3 میں تدریج کے لئے جا رہا. 419 00:26:44,540 --> 00:26:49,790 تو کیا تم مسئلے کے ارادے دیکھتے ہیں یہاں، اس میں تدریج کریں گے کہ 420 00:26:49,790 --> 00:26:57,010 10، اور پھر اس دیر لوپ جائے 1 4 7 10،،، کی طرف سے تدریج میں، 421 00:26:57,010 --> 00:27:02,880 منفی 2،، تو 5 منفی، اور منفی انفینٹی، میں نے گا کے بعد 422 00:27:02,880 --> 00:27:05,920 اصل میں 0 کے برابر کبھی نہیں. 423 00:27:05,920 --> 00:27:08,610 اور پھر اس پروگرام کے آخر میں، ہم ہے جو FOO تقریب ہے 424 00:27:08,610 --> 00:27:12,130 پرنٹ پر باہر جانے میں اس. 425 00:27:12,130 --> 00:27:16,520 >> تو یہ، ایک مختصر اور چھوٹی سی پروگرام ہے اور بگ واضح ہے، 426 00:27:16,520 --> 00:27:18,790 خاص طور پر کے بعد میں نے صرف بگ کیا تھا انہوں نے کہا کہ. 427 00:27:18,790 --> 00:27:24,840 لیکن یہاں کے ارادے ٹھیک ہے، یہ ہو سکتا ہے، اصل میں میں سے کچھ کی طرح نظر آتے آپ 428 00:27:24,840 --> 00:27:30,040 آخری سے لالچی سے حل مسئلہ سیٹ، اور شاید آپ ہیں 429 00:27:30,040 --> 00:27:32,800 آپ کے پروگرام میں کچھ لامحدود لوپ، اور آپ کو کوئی اندازہ نہیں ہے 430 00:27:32,800 --> 00:27:34,100 کیا اس کی وجہ سے ہے. 431 00:27:34,100 --> 00:27:38,690 تو ایک بہت ہی مفید بگ ٹیکنالوجی صرف printfs شامل کرنے کے لئے ہے 432 00:27:38,690 --> 00:27:40,180 تمام آپ کے کوڈ پر. 433 00:27:40,180 --> 00:27:49,200 >> تو میں یہاں سے باہر ایک printf کے چاہتے ہیں پہلی جبکہ لوپ. 434 00:27:49,200 --> 00:27:53,155 اور یہاں میں نے ایک printf کے لئے چاہتے ہیں، اور میں صرف میں پرنٹ کریں گے. 435 00:27:53,155 --> 00:27:55,670 436 00:27:55,670 --> 00:27:58,330 جبکہ لوپ میں بھی، سب سے پہلے کریں گے. 437 00:27:58,330 --> 00:28:05,130 438 00:28:05,130 --> 00:28:09,040 باہر، دوسری جبکہ لوپ. 439 00:28:09,040 --> 00:28:12,170 ایک بار پھر، کے اندر پرنٹ یہاں، قیمت میں. 440 00:28:12,170 --> 00:28:16,270 441 00:28:16,270 --> 00:28:17,520 اور ہم اس کو چلانے کے. 442 00:28:17,520 --> 00:28:22,620 443 00:28:22,620 --> 00:28:24,800 >> تو ڈاٹ سلیش ڈیبگ. 444 00:28:24,800 --> 00:28:25,610 ایک عدد صحیح درج کریں. 445 00:28:25,610 --> 00:28:28,150 13 کرتے ہیں. 446 00:28:28,150 --> 00:28:28,760 اور تیزی. 447 00:28:28,760 --> 00:28:33,300 ہم لامحدود looping دیکھتے ہیں کہ دوسری جبکہ لوپ کے اندر. 448 00:28:33,300 --> 00:28:36,305 تو اب ہم مسئلے کیا ہے. 449 00:28:36,305 --> 00:28:39,610 450 00:28:39,610 --> 00:28:45,610 لیکن printf کے ٹھیک، بالکل بہت اچھا ہے لیکن آپ کے پروگرام ایک بار 451 00:28:45,610 --> 00:28:50,560 اب اور زیادہ پیچیدہ ہیں، کرنے کے لئے زیادہ بہتر حل 452 00:28:50,560 --> 00:28:51,705 چیزوں کو کام کر رہی ہے. 453 00:28:51,705 --> 00:28:52,955 تو ان تمام printfs ہٹانے. 454 00:28:52,955 --> 00:29:06,242 455 00:29:06,242 --> 00:29:08,896 اور اس بات کا یقین میں نے نہیں کیا بنا کچھ توڑ. 456 00:29:08,896 --> 00:29:09,850 ٹھیک ہے. 457 00:29:09,850 --> 00:29:14,180 >> تو ہم جا رہے ہیں پروگرام متعارف کرانے کے لئے کہا جاتا ہے 458 00:29:14,180 --> 00:29:16,715 GNU ٹھیک کرنے والا کھولتا کے لئے GDB،. 459 00:29:16,715 --> 00:29:21,892 460 00:29:21,892 --> 00:29:27,510 ٹھیک ہے، اصل میں، کے لئے ڈیبگ ہٹانے ایک دوسرے، اور پھر ڈبگ بنانے کے. 461 00:29:27,510 --> 00:29:31,420 462 00:29:31,420 --> 00:29:34,440 ٹھیک ہے، اصل میں سب سے پہلے، ایک اچھا سبق کمانڈ لائن کے دلائل میں. 463 00:29:34,440 --> 00:29:37,780 اس بجنا کمانڈ ہے کہ نوٹس سب کچھ منظور کیا جا رہا ہے کی تالیف 464 00:29:37,780 --> 00:29:41,300 کمانڈ لائن پر، ان کمانڈ لائن کے دلائل. 465 00:29:41,300 --> 00:29:46,250 آپ کو استعمال کرتے ہوئے کیا جا رہا ہے تو کس طرح کمانڈ لائن کے دلائل، کے طور پر ہم 466 00:29:46,250 --> 00:29:51,500 پہلے کیا، اور آپ pset میں جائے گا کے طور پر 2، کہ بجنا ان کا استعمال کرتے ہوئے ہے کس طرح ہے. 467 00:29:51,500 --> 00:30:00,070 >> تو محسوس ہے کہ اس سے پہلے پرچم، ڈیش ggdb3، یہ ​​ہے کہ کیا کہہ رہا ہے، بجنا، 468 00:30:00,070 --> 00:30:03,790 آپ کے ساتھ اس فائل کو مرتب کرنا چاہئے ارادے کہ ہم آخر میں کرے گا 469 00:30:03,790 --> 00:30:05,380 یہ ڈیبگ کرنے کی ضرورت ہے. 470 00:30:05,380 --> 00:30:13,840 تو جب تک آپ اس پرچم کے طور پر، پھر ہم GDB ڈبگ کر سکتے ہیں. 471 00:30:13,840 --> 00:30:17,380 اور یہ GNU ٹھیک کرنے والا کھولتا کو کھولنے گے. 472 00:30:17,380 --> 00:30:22,920 >> تو حکم دیتا ہے کی ایک بہت ہیں آپ کو استعمال کرنے کے لئے کی ضرورت ہے. 473 00:30:22,920 --> 00:30:27,100 سب سے پہلے ایک ہے کہ آپ شاید گے فوری طور پر ضرورت سے چلایا جاتا ہے. 474 00:30:27,100 --> 00:30:28,200 تو کیا کیا کرنے جا چلایا جاتا ہے؟ 475 00:30:28,200 --> 00:30:30,910 یہ ہمارے پروگرام شروع کرنے کے لئے جا رہا ہے. 476 00:30:30,910 --> 00:30:36,180 تو، شروع کرنے کے پروگرام، پروگرام کو چلانے کے ایک عدد صحیح، 13 کے لئے ہم سے پوچھتا ہے. 477 00:30:36,180 --> 00:30:39,170 اور پھر یہ لامحدود looping کے طور پر میں ہٹا دیا سوائے، توقع 478 00:30:39,170 --> 00:30:40,500 printfs، تو ہم نے بھی نہیں دیکھا کہ. 479 00:30:40,500 --> 00:30:43,320 480 00:30:43,320 --> 00:30:44,600 عام طور پر باہر. 481 00:30:44,600 --> 00:30:45,850 اوہ. 482 00:30:45,850 --> 00:30:48,570 483 00:30:48,570 --> 00:30:53,640 یہ لپیٹ ممکن ہے کہ تمام جس طرح سے ارد گرد، واپس کرنے کے لئے - کہ نظر انداز. 484 00:30:53,640 --> 00:30:55,170 یہ عام طور پر باہر نکلنے نہیں کیا فرض. 485 00:30:55,170 --> 00:30:59,500 486 00:30:59,500 --> 00:31:03,370 کہ ایک پیچیدہ سوال کا جواب نہیں ہے. 487 00:31:03,370 --> 00:31:07,890 >> تو اب، کہ بہت مفید نہیں ہے. 488 00:31:07,890 --> 00:31:11,480 تو صرف کے اندر ہمارے پروگرام چل رہا ہے یہ ٹھیک کرنے والا کھولتا کسی میں ہماری مدد نہیں کرتا 489 00:31:11,480 --> 00:31:15,610 ہم صرف کیا جا سکتا ہے کے بعد سے جس طرح سے، ڈاٹ GDB کے باہر سے ڈیبگ سلیش. 490 00:31:15,610 --> 00:31:21,250 تو ایک کمانڈ ہے آپ شاید گے - 491 00:31:21,250 --> 00:31:22,970 اور میں نے اس کو چھوڑ دیا کریں گے. 492 00:31:22,970 --> 00:31:25,850 کنٹرول D یا، کام دونوں کو چھوڑ دیا. 493 00:31:25,850 --> 00:31:29,550 تو اسے دوبارہ کھول. 494 00:31:29,550 --> 00:31:31,130 >> ایک اور کمانڈ ہے کہ آپ شاید گے فوری طور پر کرنا چاہتے ہیں 495 00:31:31,130 --> 00:31:33,600 کرنے کے لئے استعمال کرنے کے ٹوٹ جاتا ہے. 496 00:31:33,600 --> 00:31:37,120 تو ہم نے، اب کے لئے اہم پر توڑ دونگا اور پھر میں نے اس کی وضاحت کریں گے. 497 00:31:37,120 --> 00:31:41,010 498 00:31:41,010 --> 00:31:46,370 ٹھیک ہے، یہاں ہم ایک توڑ مقام مقرر دیکھ debug.c میں اس لائن پر. 499 00:31:46,370 --> 00:31:50,160 تو کیا وقفے کا مطلب یہ ہے کہ جب میں رن ٹائپ، پروگرام کے لئے جا رہا ہے 500 00:31:50,160 --> 00:31:53,560 جب تک چل رہا ہے جاری رکھیں میں توڑ مقام مارا. 501 00:31:53,560 --> 00:31:59,390 میں چلانے مارا تو، پروگرام، شروع ہوتا ہے اور پھر اس کے طور پر جلد کے طور پر ٹوٹ جاتا ہے 502 00:31:59,390 --> 00:32:01,940 مرکزی تقریب میں داخل ہوتا ہے. 503 00:32:01,940 --> 00:32:06,930 اہم توڑ کچھ ہونے جا رہا ہے آپ کو بہت عام طور پر کرتے ہیں. 504 00:32:06,930 --> 00:32:11,340 >> اور اب، آپ کو متعارف کرانے کچھ حکم دیتا ہے. 505 00:32:11,340 --> 00:32:14,330 یہ ہم کہہ رہا ہے کہ یہاں پر نوٹس، ہے جس میں 11 لائن، میں توڑ دیا 506 00:32:14,330 --> 00:32:16,230 printf کا، ایک عددی داخل. 507 00:32:16,230 --> 00:32:21,260 تو کمانڈ اگلا کس طرح کی جا رہی ہے ہم نے کوڈ کی اگلی لائن پر جانا. 508 00:32:21,260 --> 00:32:24,810 اس سے ہمیں قدم کرنے کی اجازت دے جا رہی ہے لائن کی طرف سے ہمارے پروگرام لائن کے ذریعے. 509 00:32:24,810 --> 00:32:26,260 تو اگلے. 510 00:32:26,260 --> 00:32:29,820 >> اب لائن 12، ہم جا رہے ہیں عددی حاصل کرنے کے لئے. 511 00:32:29,820 --> 00:32:30,450 اگلا. 512 00:32:30,450 --> 00:32:34,290 آپ صرف درج کریں پھر مارا، یہ کریں گے تم نے آخری بات پھر سے. 513 00:32:34,290 --> 00:32:36,480 تو میں ٹائپ کرنے کی ضرورت نہیں ہے اگلا ہر وقت. 514 00:32:36,480 --> 00:32:40,100 تو ایک عدد صحیح، 13 میں داخل. 515 00:32:40,100 --> 00:32:46,940 تو اب، لائن 14، میں زیادہ سے زیادہ ہے جبکہ 10 سے، اور میں اگلے کروں گا. 516 00:32:46,940 --> 00:32:48,685 اور ہم میں تدریج لئے جا رہے ہیں کو دیکھنے کے. 517 00:32:48,685 --> 00:32:50,210 تو ہم پھر میں تدریج کرنے جا رہے ہیں. 518 00:32:50,210 --> 00:32:53,620 >> تو اب، ایک اور مفید کمانڈ پرنٹ. 519 00:32:53,620 --> 00:32:55,750 تو پرنٹ باہر پرنٹ کرنے کے لئے کی جا رہی ہے متغیر کی قدر. 520 00:32:55,750 --> 00:32:57,825 کی قیمت لانے دو متغیر میں. 521 00:32:57,825 --> 00:32:58,705 کی میں پرنٹ. 522 00:32:58,705 --> 00:33:00,910 یہ میں 11 کا کہنا ہے کہ جا رہا ہے. 523 00:33:00,910 --> 00:33:03,330 اب ہم اگلے پھر جبکہ میں نے 10 سے زیادہ ہے. 524 00:33:03,330 --> 00:33:05,590 تو میں اب بھی سے بڑا ہے اسے 11 کے بعد سے 10،. 525 00:33:05,590 --> 00:33:06,920 میں مائنس مائنس. 526 00:33:06,920 --> 00:33:08,250 پھر میں پرنٹ. 527 00:33:08,250 --> 00:33:10,950 امید کی جاتی ہے کے طور پر، یہ 10 ہے. 528 00:33:10,950 --> 00:33:12,510 >> تو اب، اگلے. 529 00:33:12,510 --> 00:33:16,250 یہ واپس شرط پر ہو رہا ہے، میں ہے 10 سے زیادہ، لیکن میں نے تو، اب 10 ہے 530 00:33:16,250 --> 00:33:20,040 یہ 10 سے زیادہ نہیں ہے، تو ہم توقع جبکہ لوپ سے باہر گر. 531 00:33:20,040 --> 00:33:22,220 اور اب ہم کوڈ کی اس لائن کے نیچے ہیں. 532 00:33:22,220 --> 00:33:28,750 اور ایک اور کمانڈ، کی فہرست، صرف کی جا رہی ہے پچھلے اور اگلے ظاہر کرنے کے لئے 533 00:33:28,750 --> 00:33:31,240 کوڈ کی لائنیں، میں جوڑے کیس تم اپنے آپ کو کھو دیا ہے. 534 00:33:31,240 --> 00:33:35,420 تو ہم صرف، اس دیر لوپ سے باہر اور اب ہم اس میں داخل ہے 535 00:33:35,420 --> 00:33:37,080 جبکہ لوپ، 18 لائن. 536 00:33:37,080 --> 00:33:39,860 میں 0 کے برابر نہیں ہے تو. 537 00:33:39,860 --> 00:33:46,570 اور، اگلا، میں ہم کریں گے میں مائنس 3 کے برابر ہے، اور نوٹس، یہ صرف جا رہا رکھیں گے. 538 00:33:46,570 --> 00:33:48,270 اور ہم نے پرنٹ کر سکتے ہیں. 539 00:33:48,270 --> 00:33:49,990 >> ہر کمانڈ طرح کی شارٹ کٹ ہے. 540 00:33:49,990 --> 00:33:51,720 تو p تعداد کے لئے مختصر ہے. 541 00:33:51,720 --> 00:33:53,400 تو ہم پی میں کر سکتے ہیں. 542 00:33:53,400 --> 00:33:57,550 صرف ن انعقاد رکھنے کے، یا اگلے کر رکھنے. 543 00:33:57,550 --> 00:33:58,340 پھر میں پرنٹ. 544 00:33:58,340 --> 00:34:00,380 آپ اس 167 منفی اب دیکھتے. 545 00:34:00,380 --> 00:34:06,030 تو یہ ہمیشہ کے لئے جانا، نہیں بلکہ سچ ہمیشہ کے لئے، آپ کو صرف دیکھا، یہ 546 00:34:06,030 --> 00:34:09,330 اصل میں کچھ نقطہ پر ختم ہو جائے گا. 547 00:34:09,330 --> 00:34:15,699 >> تو ہے کہ GDB کے آغاز ہے. 548 00:34:15,699 --> 00:34:19,504 لیکن GDB میں ایک اور بات کرتے ہیں. 549 00:34:19,504 --> 00:34:20,754 اہ، ڈیبگ. 550 00:34:20,754 --> 00:34:23,540 551 00:34:23,540 --> 00:34:28,534 تو، اس خاص معاملے میں، لامحدود لوپ کے اندر ہوا 552 00:34:28,534 --> 00:34:30,050 مرکزی تقریب. 553 00:34:30,050 --> 00:34:35,779 اور اب کے لئے، صرف میں ہوں کہ قبول میں لامحدود لوپ کو منتقل کرنے کے لئے جا 554 00:34:35,779 --> 00:34:37,029 FOO تقریب. 555 00:34:37,029 --> 00:34:40,679 556 00:34:40,679 --> 00:34:43,730 بس اس کے آخر میں، یاد رکھیں کہ پروگرام، ٹھیک ہے، یہ اصل میں تھا 557 00:34:43,730 --> 00:34:46,210 صرف تھی جس FOO کو، بلا میں پرنٹ کرنے کے لئے جا رہا ہے. 558 00:34:46,210 --> 00:34:51,880 لیکن اب ہم ہے جو، FOO کو بلا رہے ہیں یہ 0 ہے جب تک میں تدریج کریں، اور کرنے کے لئے جا 559 00:34:51,880 --> 00:34:54,548 پھر اس متغیر پرنٹ. 560 00:34:54,548 --> 00:34:55,469 ٹھیک ہے. 561 00:34:55,469 --> 00:34:57,970 کو بچانے کے. 562 00:34:57,970 --> 00:35:00,175 ڈیبگ بنائیں. 563 00:35:00,175 --> 00:35:03,310 اور اب، GDB ڈیبگ. 564 00:35:03,310 --> 00:35:04,090 ٹھیک ہے. 565 00:35:04,090 --> 00:35:10,580 >> میں صرف چلاتے ہیں تو پھر میں نہیں جا رہا ہوں اصل کے ذریعے قدم کے قابل ہو جائے میری 566 00:35:10,580 --> 00:35:11,730 پروگرام لائن کی طرف سے لائن. 567 00:35:11,730 --> 00:35:19,820 تو مرکزی توڑ دو، اور پھر چلائیں ٹائپ. 568 00:35:19,820 --> 00:35:28,160 تو اس کے ذریعے جانا، printf کے، داخل ایک عدد صحیح، عددی، 13 حاصل. 569 00:35:28,160 --> 00:35:34,180 570 00:35:34,180 --> 00:35:37,490 تو ہم decrementing رکھنے کے لئے جا رہے ہیں میں نے 10 سے زیادہ ہے جب تک. 571 00:35:37,490 --> 00:35:42,840 پھر ہم کے ذریعے آتے جا رہے ہیں جبکہ لوپ، اور لائن حاصل کرنے کے لئے - 572 00:35:42,840 --> 00:35:44,364 کی ایک الگ ونڈو میں کھول. 573 00:35:44,364 --> 00:35:48,720 574 00:35:48,720 --> 00:35:53,300 میں اب جب تک تو ہم decremented پھر 10 سے زیادہ، اور ہم 575 00:35:53,300 --> 00:35:55,700 FOO کو، تقریب میں بلایا. 576 00:35:55,700 --> 00:36:01,340 >> تو کیا ہوا جیسے ہی میں مارا ہوا تقریب FOO، ٹھیک ہے، میں نے کہا جاتا FOO، اور 577 00:36:01,340 --> 00:36:04,030 تو میں اب GDB پر کنٹرول تھا. 578 00:36:04,030 --> 00:36:10,230 تو جیسے ہی میں اس لائن پر اگلے مارا کے طور پر، یہ ہوا، جب تک چیزوں جاری، 579 00:36:10,230 --> 00:36:12,400 جب جہاں پروگرام سے باہر - 580 00:36:12,400 --> 00:36:14,450 اس کے آخر میں موجود ہی نہیں تھی فرض. 581 00:36:14,450 --> 00:36:16,390 تم نے اسے اگرچہ تھوڑا سا کے لئے روکنے کے دیکھا. 582 00:36:16,390 --> 00:36:22,040 تو کیوں میں نے کنٹرول کھو دیا اس وقت پروگرام؟ 583 00:36:22,040 --> 00:36:27,540 میں اگلے ٹائپ جب،، اس پر جاتا ہے کوڈ کے لغوی اگلی لائن ہے 584 00:36:27,540 --> 00:36:28,850 عملدرآمد کیا جائے گا. 585 00:36:28,850 --> 00:36:35,950 تو اس کے بعد 21 لائن، کوڈ کی اگلی لائن کہ، 22 ​​لائن ہے عملدرآمد کیا جائے گا 586 00:36:35,950 --> 00:36:38,520 مرکزی سے باہر نکلنے، ہے. 587 00:36:38,520 --> 00:36:43,810 تو میں صرف جانے کے لئے نہیں کرنا چاہتا کوڈ کی اگلی لائن پر. 588 00:36:43,810 --> 00:36:48,170 میں تقریب، FOO میں جانا چاہتے ہیں، اور پھر بھی کے ذریعے قدم 589 00:36:48,170 --> 00:36:49,830 کوڈ کا ان لائنوں. 590 00:36:49,830 --> 00:36:53,726 >> تو اس کے لئے، ہم ایک متبادل ہے. 591 00:36:53,726 --> 00:36:56,770 پھر یہ کہ چھوڑ. 592 00:36:56,770 --> 00:36:58,020 اہم توڑ. 593 00:36:58,020 --> 00:37:00,520 594 00:37:00,520 --> 00:37:06,370 اہ، 1، اگلے، اگلے، 13، اگلا، اگلے، اگلے، احتیاط سے، 595 00:37:06,370 --> 00:37:09,820 ہم لائن FOO کو مارنے سے پہلے. 596 00:37:09,820 --> 00:37:10,520 ٹھیک ہے. 597 00:37:10,520 --> 00:37:13,700 >> تو اب، ہم، 21 لائن پر ہیں ہم FOO کو کال جہاں. 598 00:37:13,700 --> 00:37:17,100 ہم اگلے ٹائپ کرنے کے لئے نہیں چاہتے کہ بعد صرف تقریب FOO فون، اور 599 00:37:17,100 --> 00:37:18,710 کوڈ کی اگلی لائن پر جانا. 600 00:37:18,710 --> 00:37:20,840 کیا ہم استعمال کرنا چاہتے ہیں قدم ہے. 601 00:37:20,840 --> 00:37:25,690 تو قدم درمیان ایک فرق ہے اور مرحلہ میں قدم جہاں اگلے، 602 00:37:25,690 --> 00:37:28,190 تقریب، اور اگلے جاتا ہے تقریب کے دوران. 603 00:37:28,190 --> 00:37:32,830 یہ صرف کی مکمل executes ہے تقریب اور رکھتا جا رہا. 604 00:37:32,830 --> 00:37:37,210 >> تو قدم ہمارے لانے کی جا رہی ہے تقریب میں، FOO کو. 605 00:37:37,210 --> 00:37:41,160 اور اب ہم، ہم واپس آ گئے ہیں، یہاں دیکھ اصول میں، ہے کہ اس دیر لوپ، 606 00:37:41,160 --> 00:37:44,190 ہمیشہ کے لئے جاری رکھنے کے لئے جا رہا ہے. 607 00:37:44,190 --> 00:37:50,420 اور تم یہ بھی نہیں ہے جب مرحلہ، مارا فون کرنے کے لئے ایک تقریب، تو یہ ہے 608 00:37:50,420 --> 00:37:51,720 اگلا جیسی. 609 00:37:51,720 --> 00:37:55,320 آپ کو ایک لائن میں ہیں تو جب یہ صرف ہے کہ مرحلہ ایک تقریب ہے کہ بلا رہا ہے 610 00:37:55,320 --> 00:37:56,970 اگلا سے مختلف ہونے جا رہا ہے. 611 00:37:56,970 --> 00:37:57,930 تو قدم ہمیں یہاں لے آئے گا. 612 00:37:57,930 --> 00:38:02,100 مرحلہ، قدم، قدم، قدم، قدم، قدم، اور ہم ہمیشہ کے لئے صرف لامتناہی لوپ گے. 613 00:38:02,100 --> 00:38:06,810 >> تو آپ کے طور پر اس کے لئے استعمال ہو سکتا ہے آپ لامحدود loops کی شناخت کی راہ ہے، 614 00:38:06,810 --> 00:38:08,960 صرف اس اہم داخل انعقاد تم پھنس گئے ہو جہاں دیکھنے کے. 615 00:38:08,960 --> 00:38:11,610 616 00:38:11,610 --> 00:38:14,780 وہاں ایسا کرنے کے لئے بہتر طریقے ہیں، لیکن اب کے لئے، یہ بالکل کافی ہے. 617 00:38:14,780 --> 00:38:17,967 اور stylistically، انداز کے مطابق 50، میں نے یہ کیا کیا جانا چاہئے. 618 00:38:17,967 --> 00:38:21,550 619 00:38:21,550 --> 00:38:24,030 ٹھیک ہے. 620 00:38:24,030 --> 00:38:28,400 >> تو ایک آخری حکم کو متعارف کرانے. 621 00:38:28,400 --> 00:38:30,810 ٹھیک ہے، اندر ڈیبگ GDB دو 622 00:38:30,810 --> 00:38:35,580 تو بجائے اہم میں توڑنے کی، تو میں FOO تقریب جانتے بھی ہے 623 00:38:35,580 --> 00:38:39,230 مسئلہ، اس کے بعد میں کر سکتے ہیں، صرف ، اس کے بجائے، FOO کو توڑ نے کہا کہ. 624 00:38:39,230 --> 00:38:42,310 کے میں کو توڑنے کا کہنا ہے کہ اہم اور FOO دونوں. 625 00:38:42,310 --> 00:38:45,390 تو آپ کو بہت سے breakpoints مقرر کر سکتے ہیں آپ چاہتے ہیں کے طور پر. 626 00:38:45,390 --> 00:38:49,230 میں چلانے ٹائپ کرتے ہیں تو، یہ جا رہا ہے کو روکنے کے لئے - 627 00:38:49,230 --> 00:38:52,180 اوہ، بعد، کی recompile کر دو میں چیزیں بدل. 628 00:38:52,180 --> 00:38:55,950 آپ اس لائن، انتباہ، ذریعہ دیکھیں گے فائل کارکردگی سے زیادہ حال ہی میں ہے. 629 00:38:55,950 --> 00:38:59,680 تو اس میں صرف یہاں میں چلا گیا کہ اس کا مطلب اور سٹائل کے مطابق کرنے کے لئے ان کو تبدیل کر دیا 630 00:38:59,680 --> 00:39:03,100 50 لیکن میں recompile نہیں کیا پروگرام. 631 00:39:03,100 --> 00:39:04,870 تو gdb ہے کہ میرے بارے میں آگاہ کرتا ہے. 632 00:39:04,870 --> 00:39:10,130 میں، پھر ڈبگ بنانے، چھوڑ دیں گے GDB ڈبگ مارا. 633 00:39:10,130 --> 00:39:10,700 ٹھیک ہے. 634 00:39:10,700 --> 00:39:12,800 >> تو اب، واپس کر کیا گیا تھا. 635 00:39:12,800 --> 00:39:15,720 اہم، وقفے FOO کو توڑ. 636 00:39:15,720 --> 00:39:20,680 اب میں پروگرام کو چلانے کے، تو یہ ہے مار دیتی ہے جب تک جاری رکھنے کے لئے جا 637 00:39:20,680 --> 00:39:21,320 توڑ مقام. 638 00:39:21,320 --> 00:39:24,680 اس توڑ مقام پر ہوتا ہے اہم میں سب سے پہلے ہو. 639 00:39:24,680 --> 00:39:28,630 اب، اس کی بجائے اگلے کرنے کے، اگلے، اگلے، اگلے، اگلے، میں FOO مارا، جب تک میں 640 00:39:28,630 --> 00:39:35,230 جاری رہے گا جس میں، جاری ٹائپ کر سکتے ہیں آپ کو اگلے توڑ مقام مارا جب تک. 641 00:39:35,230 --> 00:39:37,200 میں سب سے پہلے عددی داخل ہے. 642 00:39:37,200 --> 00:39:40,570 میں مارا تک جاری رہے گا آگے یہ ہے کہ جس اگلا توڑ مقام، 643 00:39:40,570 --> 00:39:43,320 FOO کی تقریب. 644 00:39:43,320 --> 00:39:50,130 >> آپ کو ایک ہٹ تک تو چلائیں چلائیں گے جب توڑ مقام، لیکن آپ کو صرف رن ٹائپ کریں 645 00:39:50,130 --> 00:39:54,060 تم، تو پروگرام شروع کرنے کے، اور کر رہے ہیں اس وقت سے، یہ جاری ہے. 646 00:39:54,060 --> 00:40:01,950 میں صرف بنیادی توڑا اور اگر پھر بھاگ گیا، اس میں توڑ دونگا 647 00:40:01,950 --> 00:40:03,670 پھر سب سے اہم، اور جاری رکھیں. 648 00:40:03,670 --> 00:40:10,050 میں FOO میں ایک بریک پوائنٹ ہے، نہیں ہے عددی داخل، تو اب میں ہوں 649 00:40:10,050 --> 00:40:11,380 FOO کو میں کو توڑنے کے لئے نہیں جا رہا. 650 00:40:11,380 --> 00:40:16,318 یہ صرف لامحدود جا رہا ہے کہ جب تک لوپ. 651 00:40:16,318 --> 00:40:17,568 ٹھیک ہے. 652 00:40:17,568 --> 00:40:19,500 653 00:40:19,500 --> 00:40:24,420 >> تو اس GDB انٹرو ہے. 654 00:40:24,420 --> 00:40:27,790 آپ اس کا استعمال کرتے ہوئے شروع کر دینا چاہئے آپ کا مسئلہ سیٹ میں. 655 00:40:27,790 --> 00:40:30,550 یہ بہت مددگار ثابت ہو سکتا کیڑے کی شناخت کے لئے. 656 00:40:30,550 --> 00:40:35,280 تم صرف اصل میں، لائن کی طرف سے لائن، جاتے ہیں آپ کوڈ کے ذریعے، اور آپس میں موازنہ کیا 657 00:40:35,280 --> 00:40:39,740 اصل میں آپ کی توقع کے ساتھ ہو ایسا کرنے کے لئے، تو یہ خوبصورت ہے 658 00:40:39,740 --> 00:40:41,060 آپ کیڑے کی کمی محسوس کرنے کے لئے مشکل. 659 00:40:41,060 --> 00:40:45,280 660 00:40:45,280 --> 00:40:46,530 ٹھیک ہے. 661 00:40:46,530 --> 00:40:48,310 662 00:40:48,310 --> 00:40:54,040 >> تو گزشتہ ہفتے ڈیوڈ اس کی پرورش کے لئے خفیہ اہم خفیہ نگاری کی چیزیں 663 00:40:54,040 --> 00:40:59,350 ہم چاہتے ہیں نہیں ہے جہاں میں پہلی بار، پاس ورڈ صرف ذخیرہ کیا جائے ہماری 664 00:40:59,350 --> 00:41:03,210 کچھ سادہ ٹیکسٹ فائل میں کمپیوٹر، جہاں کسی سے زیادہ اور صرف آ سکتے ہیں 665 00:41:03,210 --> 00:41:04,660 اسے کھولو اور ان پڑھ. 666 00:41:04,660 --> 00:41:07,530 مثالی طور پر، وہ خفیہ کردہ کیا جائے گا کسی طرح سے. 667 00:41:07,530 --> 00:41:13,340 اور مسئلہ 2 سیٹ میں، آپ کو نمٹنے گے خفیہ کاری کا ایک طریقہ کے ساتھ، 668 00:41:13,340 --> 00:41:16,520 یا، اچھی طرح سے، دو طریقوں، لیکن وہ اتنی عظیم نہیں ہیں. 669 00:41:16,520 --> 00:41:20,050 آپ ہیکر ایڈیشن کرتے ہیں، تم ہو بھی ساتھ نمٹنے جا 670 00:41:20,050 --> 00:41:22,150 کچھ چیزیں خفیہ کشائی. 671 00:41:22,150 --> 00:41:29,770 >> تو مسئلہ اب ٹھیک ہے، یہاں تک کہ اگر، ہے ہم مضبوط خفیہ کاری کا ہے 672 00:41:29,770 --> 00:41:34,830 دنیا میں الگورتھم، تو آپ کو ایک کا انتخاب کرتے ہیں خاص طور پر غریب پاس، تو یہ 673 00:41:34,830 --> 00:41:37,720 ، آپ کا بہت بہت مدد نہیں کرے گا کے بعد سے لوگوں کے اب بھی اس کے اعداد و شمار کرنے کے قابل ہو جائے گا. 674 00:41:37,720 --> 00:41:41,530 مرموز سٹرنگ دیکھنے اور یہاں تک کہ اگر یہ ردی کی ٹوکری کے ایک گندگی کی طرح لگتا ہے 675 00:41:41,530 --> 00:41:44,760 کہ اگر، ان کے لئے کچھ بھی نہیں ہے وہ اب بھی صرف چند پاس ورڈ کوشش کرنے کی ضرورت 676 00:41:44,760 --> 00:41:50,560 اگر آپ یہ معلوم کرنا بہت محفوظ نہیں ہیں. 677 00:41:50,560 --> 00:41:55,890 تو ایک ویڈیو دیکھ کر کہ اس نقطہ ہوتا ہے. 678 00:41:55,890 --> 00:41:59,587 679 00:41:59,587 --> 00:42:00,970 >> [ویڈیو پلے بیک] 680 00:42:00,970 --> 00:42:02,100 >> ہیلمیٹ، آپ پریت. 681 00:42:02,100 --> 00:42:03,370 کیا ہو رہا ہے؟ 682 00:42:03,370 --> 00:42:05,170 آپ میری بیٹی کو کیا کر رہے ہیں؟ 683 00:42:05,170 --> 00:42:09,910 >> شاندار متعارف کرانے کے لئے مجھے اجازت نوجوان پلاسٹک سرجن، ڈاکٹر فلپ 684 00:42:09,910 --> 00:42:13,730 Schlotkin، سب سے بڑی ناک پورے میں کام آدمی 685 00:42:13,730 --> 00:42:16,080 کائنات، اور بیورلی ہلز. 686 00:42:16,080 --> 00:42:17,210 >> -مہارانی. 687 00:42:17,210 --> 00:42:18,070 >> ناک کام؟ 688 00:42:18,070 --> 00:42:18,670 مجھے سمجھ نہیں آتا. 689 00:42:18,670 --> 00:42:20,090 وہ پہلے سے ہی ایک ناک کام تھا. 690 00:42:20,090 --> 00:42:21,910 یہ ایک میٹھی سولہ موجود تھے. 691 00:42:21,910 --> 00:42:22,140 >> نہیں. 692 00:42:22,140 --> 00:42:23,690 یہ آپ کو لگتا ہے نہیں ہے. 693 00:42:23,690 --> 00:42:25,420 یہ بہت، بہت برا ہے. 694 00:42:25,420 --> 00:42:30,300 آپ کو آپ کے وزٹرز کا مجموعہ نہیں دیتے تو ہوائی ڈھال، ڈاکٹر Schlotkin گے 695 00:42:30,300 --> 00:42:34,226 اپنے پرانے ناک آپ کی بیٹی واپس دے. 696 00:42:34,226 --> 00:42:35,476 >> نہیں. 697 00:42:35,476 --> 00:42:38,712 698 00:42:38,712 --> 00:42:40,516 کہ تم کہاں سے حاصل کیا؟ 699 00:42:40,516 --> 00:42:41,440 >> ٹھیک ہے. 700 00:42:41,440 --> 00:42:42,180 میں بتا دونگا. 701 00:42:42,180 --> 00:42:43,381 میں بتا دونگا. 702 00:42:43,381 --> 00:42:44,263 نہیں، والد. 703 00:42:44,263 --> 00:42:45,590 نہیں، تم نہیں کرنا چاہئے. 704 00:42:45,590 --> 00:42:46,860 >> -تم حق، میری پیاری. 705 00:42:46,860 --> 00:42:48,450 میں اپنے نئے ناک کی کمی محسوس کریں گے. 706 00:42:48,450 --> 00:42:52,090 لیکن میں نے اس مجموعہ نہیں بتائے گا، کوئی بات نہیں. 707 00:42:52,090 --> 00:42:53,680 >> بھی بہت ہے. 708 00:42:53,680 --> 00:42:55,685 ڈاکٹر Schlotkin، تمہاری سب سے بری کرنا. 709 00:42:55,685 --> 00:42:56,914 >> میری خوشی ہے. 710 00:42:56,914 --> 00:43:00,690 >> [اوزار تیز کیا جا رہا ہے.] 711 00:43:00,690 --> 00:43:01,910 >> نہیں. 712 00:43:01,910 --> 00:43:02,520 انتظار کریں. 713 00:43:02,520 --> 00:43:03,836 انتظار کریں. 714 00:43:03,836 --> 00:43:05,300 میں بتا دونگا. 715 00:43:05,300 --> 00:43:06,880 میں بتا دونگا. 716 00:43:06,880 --> 00:43:09,130 >> میں یہ کام کرے گا جانتا تھا. 717 00:43:09,130 --> 00:43:09,900 ٹھیک ہے. 718 00:43:09,900 --> 00:43:12,850 یہ مجھے دے دو. 719 00:43:12,850 --> 00:43:16,918 >> مجموعہ میں سے ایک ہے. 720 00:43:16,918 --> 00:43:17,406 >> ایک. 721 00:43:17,406 --> 00:43:18,382 >> ایک. 722 00:43:18,382 --> 00:43:19,358 >> دو. 723 00:43:19,358 --> 00:43:19,846 >> دو. 724 00:43:19,846 --> 00:43:20,822 >> دو. 725 00:43:20,822 --> 00:43:21,310 >> تین. 726 00:43:21,310 --> 00:43:21,798 >> تین. 727 00:43:21,798 --> 00:43:22,774 >> تین. 728 00:43:22,774 --> 00:43:23,262 >> چار. 729 00:43:23,262 --> 00:43:23,750 >> چار. 730 00:43:23,750 --> 00:43:26,150 >> چار. 731 00:43:26,150 --> 00:43:27,010 >> پانچ. 732 00:43:27,010 --> 00:43:27,670 >> پانچ. 733 00:43:27,670 --> 00:43:29,010 >> پانچ. 734 00:43:29,010 --> 00:43:34,770 >> تو مجموعہ، ایک ہے دو، تین، چار، پانچ. 735 00:43:34,770 --> 00:43:37,460 یہ بیوکوفی مجموعہ میں نے کبھی اپنی زندگی میں سنا. 736 00:43:37,460 --> 00:43:39,710 اس چیز کی طرح ایک بیوکوف ہے اس کے سامان پر ہوگا. 737 00:43:39,710 --> 00:43:42,000 >> راجہ صاحب، آپ کا شکریہ. 738 00:43:42,000 --> 00:43:43,530 >> تم نے کیا کیا؟ 739 00:43:43,530 --> 00:43:44,490 >> میں نے دیوار کو بند کر دیا. 740 00:43:44,490 --> 00:43:45,420 >> نہیں تم نے نہیں. 741 00:43:45,420 --> 00:43:45,840 تم نے پوری فلم کو بند کر دیا. 742 00:43:45,840 --> 00:43:46,930 >> میں نے غلط بٹن پر زور دیا ضروری. 743 00:43:46,930 --> 00:43:48,265 >> ٹھیک ہے، اسے واپس رکھ. 744 00:43:48,265 --> 00:43:49,110 فلم واپس رکھو. 745 00:43:49,110 --> 00:43:49,510 >> جی ہاں، صاحب. 746 00:43:49,510 --> 00:43:49,917 جی ہاں، صاحب. 747 00:43:49,917 --> 00:43:50,324 >> کی، آرنلڈ جانے دو. 748 00:43:50,324 --> 00:43:51,140 ، Gretchen آو. 749 00:43:51,140 --> 00:43:53,060 کورس کے، آپ مجھے اب بھی کریں گے اس کے لئے آپ کو بل کے لئے ہے. 750 00:43:53,060 --> 00:43:53,440 >> [END ویڈیو پلے بیک] 751 00:43:53,440 --> 00:43:54,690 >> روب BODEN: ٹھیک ہے. 752 00:43:54,690 --> 00:43:59,690 753 00:43:59,690 --> 00:44:08,430 ہم نے پہلے ہی کے بارے میں بات کر رہے ہیں تو اب ہے کہ کچھ طریقوں میں سیکورٹی، اچھا 754 00:44:08,430 --> 00:44:16,050 چھوٹی سی فلم کے پوسٹر، تو حال ہی میں این ایس اے کے ساتھ دن، ان مسائل 755 00:44:16,050 --> 00:44:17,300 سب کچھ نگرانی. 756 00:44:17,300 --> 00:44:21,840 757 00:44:21,840 --> 00:44:26,930 یہ آپ کی طرح محسوس کرنے کے لئے مشکل ہو سکتا ہے میں رازداری کے کچھ قسم ہے 758 00:44:26,930 --> 00:44:34,540 آن لائن دنیا، میں بتا نہیں سکتا اگرچہ آپ PRISM کی تفصیلات کے سب سے زیادہ. 759 00:44:34,540 --> 00:44:42,130 تو PRISM سے باہر منتقل، ہم نہیں جا رہے ہیں اب، اس کے بارے میں بات کرنے کے لئے 760 00:44:42,130 --> 00:44:44,030 آپ اپنے لیپ ٹاپ کے بارے میں سوچنا. 761 00:44:44,030 --> 00:44:48,360 تو یہاں، میں سوئچ کرنا چاہتے ہیں میری اصل اکاؤنٹ، 762 00:44:48,360 --> 00:44:50,370 میرے چھوٹے پینگوئن کے ساتھ. 763 00:44:50,370 --> 00:44:57,310 تو میں نے ایک پاس ورڈ مقرر ہے، اور یہ کہ پاس میں نے اسے بننا چاہتا ہوں جو کچھ بھی ہے. 764 00:44:57,310 --> 00:45:02,430 >> لیکن یاد رکھنا کہ جو میں لاگ ان ہوں ، تو یہ لاگ ان کے ساتھ 765 00:45:02,430 --> 00:45:04,850 فوری طور پر، کچھ پروگرام ہے. 766 00:45:04,850 --> 00:45:07,910 یہ تھا کہ کچھ پروگرام ہے کسی شخص کی طرف سے لکھا. 767 00:45:07,910 --> 00:45:13,250 اور اس طرح، اس شخص، اگر وہ کر رہے ہیں خاص طور پر بدنیتی پر مبنی، وہ کر سکتے تھے 768 00:45:13,250 --> 00:45:17,780 کہا ہے، ٹھیک ہے، اگر ایسا ہے تو پاس میں داخل ہے کہ برابر ہے میری 769 00:45:17,780 --> 00:45:22,800 اصل پاس، یا اس کے برابر ہے کچھ خاص پاس ورڈ - 770 00:45:22,800 --> 00:45:25,550 ڈیوڈ خوفناک یا کچھ اور ہے - 771 00:45:25,550 --> 00:45:27,190 پھر ان کے اندر دو 772 00:45:27,190 --> 00:45:33,760 تو ایک درنساوناپورن پروگرامر کر سکتے ہیں آپ میکس کے تمام، یا تک رسائی 773 00:45:33,760 --> 00:45:36,150 ونڈوز، یا کسی بھی چیز. 774 00:45:36,150 --> 00:45:41,980 >> تو اس کے بعد، ایک تشویش کی زیادہ سے زیادہ نہیں ہے میرا مطلب ہے، اس لاگ ان کا پروگرام ہے 775 00:45:41,980 --> 00:45:48,720 کہ OS X، سینکڑوں کے ساتھ بھیج دیا ہے یا ہزاروں لوگوں کی ہے 776 00:45:48,720 --> 00:45:50,020 اس کوڈ کا جائزہ لیا. 777 00:45:50,020 --> 00:45:55,330 اور اس طرح، آپ کو، کہیں آپ کے کوڈ میں، اگر اس جملے کو برابر برابر کہنا ہے کہ اگر 778 00:45:55,330 --> 00:45:58,860 ڈیوڈ بہت اچھا ہے، لاگ ان، تو کسی کی ہو جا، جیسے، انتظار. 779 00:45:58,860 --> 00:45:59,800 یہ ٹھیک نہیں ہے. 780 00:45:59,800 --> 00:46:01,790 یہ یہاں نہیں ہونا چاہئے. 781 00:46:01,790 --> 00:46:06,650 تو ہے کہ ہم چیزوں کو حاصل کرنے کے ایک طریقہ ہے قسم کے محفوظ ہونے کی. 782 00:46:06,650 --> 00:46:10,300 >> لیکن پھر بھی پروگرام کے بارے میں سوچنا آپ لکھتے ہیں کہ. 783 00:46:10,300 --> 00:46:13,000 آپ لاگ ان پروگرام لکھا کہتے ہیں. 784 00:46:13,000 --> 00:46:20,440 آپ نے لکھا ہے کہ تو یہ لاگ ان پروگرام، تو ظاہر ہے، آپ کو ایک اچھا ہیں 785 00:46:20,440 --> 00:46:21,210 پروگرامر. 786 00:46:21,210 --> 00:46:25,610 آپ کسی بھی درنساوناپورن ڈال کرنے نہیں جا رہے ہیں ایکس برابر برابر اگر ڈیوڈ بہت اچھا ہے 787 00:46:25,610 --> 00:46:27,860 آپ کے کوڈ میں. 788 00:46:27,860 --> 00:46:31,930 لیکن اس پروگرام، آپ کیا اس پروگرام مرتب کرنے کے لئے استعمال کرتے ہیں؟ 789 00:46:31,930 --> 00:46:34,180 بجنا کی طرح کچھ. 790 00:46:34,180 --> 00:46:38,460 تو کیا ہوا اگر ہوا وہ شخص جو بجنا میں cased بجنا خصوصی لکھنا 791 00:46:38,460 --> 00:46:44,310 کچھ، جیسے میں مرتب ہوں تو پروگرام لاگ ان، تو یہ کوڈ درج کریں 792 00:46:44,310 --> 00:46:49,720 اگر، کا کہنا ہے کہ لاگ ان کے پروگرام میں ایکس برابر ڈیوڈ بہت اچھا ہے کے برابر ہے؟ 793 00:46:49,720 --> 00:46:59,890 تو کافی نہیں ابھی تک، لیکن ہم ایک ہی ہے یہاں جاری، جہاں بجنا، اچھی طرح سے، 794 00:46:59,890 --> 00:47:03,790 ہزاروں کی تعداد میں، اگر نہیں، تو دسیوں ہزاروں کی لوگوں کے، ہے، بجنا میں دیکھا ہے 795 00:47:03,790 --> 00:47:07,160 کوڈ کی اس کی لائنوں کی طرف دیکھا اور کہا، ٹھیک ہے، یہاں برا کچھ بھی نہیں ہے. 796 00:47:07,160 --> 00:47:10,680 ظاہر ہے، کوئی نہیں کر رہا ہے یہ بدنیتی پر مبنی کچھ. 797 00:47:10,680 --> 00:47:15,780 >> لیکن کیا، کی طرح، خود بجنا ہے کیا بجنا میں مرتب ہے؟ 798 00:47:15,780 --> 00:47:20,900 کیا میں نے کچھ سنکلک ہے کہ اگر بجنا میں اضافہ ہے کہ بجنا آگاہ 799 00:47:20,900 --> 00:47:25,610 کا کہنا ہے کہ اس خصوصی ہیک، ٹھیک ہے، بجنا میں مرتب تو 800 00:47:25,610 --> 00:47:31,290 کارکردگی میں خاص طور پر نظر آنا چاہئے ہو لاگ ان پروگرام اور ڈالیں کے اندر 801 00:47:31,290 --> 00:47:34,230 اس پاس، برابر برابر ڈیو بہت اچھا ہے؟ 802 00:47:34,230 --> 00:47:37,990 تو یاد رکھیں کہ آپ کی سنکلک خود کچھ نقطہ پر مرتب کرنے کی ضرورت ہے. 803 00:47:37,990 --> 00:47:42,810 تو آپ بجنا مرتب کرنے کے لئے منتخب کیا ہے تو ، خود آپ کو تو، بدنیتی پر مبنی ہے کے ساتھ 804 00:47:42,810 --> 00:47:45,580 پوری خراب کیا جا سکتا ہے راستے لائن. 805 00:47:45,580 --> 00:47:49,630 >> تو یہاں ہم کین تھامسن ہے ڈینس رچی. 806 00:47:49,630 --> 00:47:53,780 تو یہ ایک شاندار تصویر ہے. 807 00:47:53,780 --> 00:47:55,470 ڈینس رچی حق پر ہے. 808 00:47:55,470 --> 00:47:58,740 انہوں نے ایک اہم ہے - 809 00:47:58,740 --> 00:48:03,640 بہت سی لکھا ہے تو آپ کر سکتے ہیں اس کلاس کے لئے اس کا شکریہ ادا. 810 00:48:03,640 --> 00:48:04,840 کین تھامسن بائیں طرف ہے. 811 00:48:04,840 --> 00:48:07,780 ان میں سے دو بنیادی طور پر یونیکس لکھا. 812 00:48:07,780 --> 00:48:10,140 ٹھیک ہے، وہ بڑی شراکت تھے یونیکس میں. 813 00:48:10,140 --> 00:48:11,310 کچھ دوسرے تھے. 814 00:48:11,310 --> 00:48:16,240 کسی وقت تو کین تھامسن،، وہ ٹیورنگ ایوارڈ جیت لیا. 815 00:48:16,240 --> 00:48:20,860 اور ٹیورنگ ایوارڈ، میں نے ہمیشہ سنا ہے یہ اس طرح محولہ، یہ ہے 816 00:48:20,860 --> 00:48:23,100 کمپیوٹر سائنس کے نوبل انعام. 817 00:48:23,100 --> 00:48:27,500 >> تو ٹیورنگ حوالے کرنا AT، وہ ہے ان کی قبولیت کی تقریر. 818 00:48:27,500 --> 00:48:31,790 اور وہ اس بہت مشہور تقریر دیتا ہے اب، یقین کرنے پر مظاہر ملاقات کی 819 00:48:31,790 --> 00:48:35,620 ہم سے منسلک ہے جس میں ٹرسٹ، کورس کی ویب سائٹ پر. 820 00:48:35,620 --> 00:48:41,670 اور اس تقریر میں، وہ، ٹھیک ہے، کا کہنا ہے کہ تو میں UNIX لکھا، اور اب سب سے 821 00:48:41,670 --> 00:48:43,320 آپ لوگوں UNIX استعمال کر رہے ہیں. 822 00:48:43,320 --> 00:48:46,960 اب، لینکس ہے کہ آج یاد یونیکس کے ایک براہ راست ونشج. 823 00:48:46,960 --> 00:48:50,140 OS X کے براہ راست UNIX کا استعمال کرتا ہے. 824 00:48:50,140 --> 00:48:53,810 ونڈوز اتنا نہیں ہے، لیکن ایک بہت خیالات کی UNIX سے لیا گیا. 825 00:48:53,810 --> 00:48:59,220 >> تو وہ، اسٹیج پر جاتا ہے اور کہتے ہیں کہ ٹھیک ہے، میں UNIX لکھا. 826 00:48:59,220 --> 00:49:03,940 اور صرف تو تم لوگ جانتے ہو، میں ہوں ہر میں لاگ ان کرنے کے قابل 827 00:49:03,940 --> 00:49:05,590 آپ کے کمپیوٹر کے ایک ایک. 828 00:49:05,590 --> 00:49:14,280 ایکس اگر میں ان خصوصی کی ایک ڈال کے بعد سے برابر، کین تھامسن بہت اچھا ہے برابر 829 00:49:14,280 --> 00:49:16,350 پھر میں لاگ ان کرنے کی اجازت کر رہا ہوں. 830 00:49:16,350 --> 00:49:18,370 تو لوگوں، اچھی طرح، کی طرح ہیں تمہیں کیسے دے؟ 831 00:49:18,370 --> 00:49:21,090 ہم لاگ ان پروگرام میں دیکھا اور کچھ بھی نہیں ہے. 832 00:49:21,090 --> 00:49:24,700 انہوں نے کہا کہ ٹھیک ہے، میں سنکلک نظر ثانی، کی طرح ہے لاگ ان پروگرام میں لاگ ان کرنے کے 833 00:49:24,700 --> 00:49:30,490 لاگ ان پروگرام اب پڑے گا تاکہ کہ ایکس کین تھامسن برابر برابر 834 00:49:30,490 --> 00:49:31,700 بہت اچھا ہے. 835 00:49:31,700 --> 00:49:33,120 >> اور وہ ٹھیک ہے، یہ سچ نہیں ہے، کا کہنا ہے کہ. 836 00:49:33,120 --> 00:49:35,740 ہم سنکلک کی طرف دیکھ، اور کر رہے ہیں سنکلک میں سے کسی کی لائنز کی ضرورت نہیں ہے 837 00:49:35,740 --> 00:49:36,400 اس طرح کے کوڈ. 838 00:49:36,400 --> 00:49:40,540 انہوں نے کہا کہ ٹھیک ہے، کی طرح ہے، لیکن آپ کیا کر رہے ہیں سنکلک کے ساتھ تالیف؟ 839 00:49:40,540 --> 00:49:44,810 اور، ساتھ ساتھ، طرح، وہ سوچتے ہیں، اور وہ ہے میں آپ سنکلک دی جو ایک ہوں 840 00:49:44,810 --> 00:49:50,580 آپ سنکلک مرتب کرنے کے لئے استعمال کرتے ہوئے، تو کر رہے ہیں آپ، ایک سنکلک کی تالیف کر رہے ہیں 841 00:49:50,580 --> 00:49:56,390 خود کو بدنیتی پر مبنی ہے، اور لاگ ان پروگرام کو توڑنے کے. 842 00:49:56,390 --> 00:49:59,360 تو بنیادی طور پر، اس وقت، وہاں ہے آپ ماخذ کو دیکھنے کے کر سکتے ہیں کوئی راستہ نہیں 843 00:49:59,360 --> 00:50:02,450 لاگ ان کے پروگرام کے کوڈ کیا غلط ہے کو دیکھنے کے لئے. 844 00:50:02,450 --> 00:50:04,220 آپ کو بھی میں نظر نہیں کر سکتے ہیں سنکلک کی ماخذ کوڈ 845 00:50:04,220 --> 00:50:06,790 کیا غلط ہے کو دیکھنے کے لئے. 846 00:50:06,790 --> 00:50:11,940 >> آپ مشین کو دیکھنے کے لئے کی ضرورت ہو گی کوڈ، کی اصل بائنری 847 00:50:11,940 --> 00:50:16,760 ان، انتظار، کو دیکھنے کے لئے مرتب کی سنکلک کوڈ کی لائنیں یہاں نہیں ہونا چاہئے. 848 00:50:16,760 --> 00:50:22,130 لیکن کین تھامسن یہ ایک قدم اٹھایا مزید اور کے ساتھ ساتھ، ہیں، نے کہا ہے کہ 849 00:50:22,130 --> 00:50:25,980 ان خصوصی پروگراموں کہ اصل میں آپ کے پروگراموں کی بائنری پڑھنے میں مدد، 850 00:50:25,980 --> 00:50:29,340 اور تو کسی کو اس پروگرام کا استعمال اگر ثنائی پڑھا، وہ ان کو دیکھیں گے 851 00:50:29,340 --> 00:50:30,490 کوڈ کی لائنیں. 852 00:50:30,490 --> 00:50:34,020 انہوں نے تمام، کا کہنا ہے کہ ان پروگراموں پر نظر ثانی حق، آپ کو تلاش کر رہے ہیں 853 00:50:34,020 --> 00:50:38,460 سنکلک، یہ خاص طور پر ظاہر نہیں کرتے ثنائی کے سیٹ. 854 00:50:38,460 --> 00:50:42,830 >> تو پھر آپ کو لینے کی ضرورت ہے کہ ایک قدم مزید اور بنیادی طور پر، یہ ہے کہ کر سکتے ہیں 855 00:50:42,830 --> 00:50:46,210 indirection لیا ایک سے زیادہ کی سطح، اور کچھ نقطہ پر، کوئی نہیں اصل میں ہے 856 00:50:46,210 --> 00:50:47,990 کی جانچ پڑتال کی جا رہا ہے. 857 00:50:47,990 --> 00:50:52,590 تو کہانی کا اخلاقی تم، ہے لکھ نہیں کیا جا سکتا 858 00:50:52,590 --> 00:50:54,340 اس کلاس میں بجنا. 859 00:50:54,340 --> 00:50:57,020 آپ چڑھنے کا استعمال کرتے ہوئے جا رہے ہیں اس کلاس میں ایک بہت بجنا. 860 00:50:57,020 --> 00:51:00,490 آپ کو معلوم ہے سب کے لئے، بجنا بدنیتی پر مبنی ہے ہر سبوتاژ کیا جاتا ہے کہ پروگرام 861 00:51:00,490 --> 00:51:03,520 ایک پروگرام کیا تم نے کبھی مرتب کیا ہے. 862 00:51:03,520 --> 00:51:08,206 اور یہ کہ بہت اشوب پر آپ کو چھوڑنے کے لئے بدھ کو نظر آئے، نوٹ. 863 00:51:08,206 --> 00:51:10,030 >> [تعریف] 864 00:51:10,030 --> 00:51:12,935 >> اسپیکر 2: اگلا CS50 میں. 865 00:51:12,935 --> 00:51:14,580 >> 3 اسپیکر: تم کا کہنا ہے کہ ہمت نہ کرنا. 866 00:51:14,580 --> 00:51:15,930 آپ یہ کر سکتے ہیں. 867 00:51:15,930 --> 00:51:19,440 تم سے پہلے یہ کیا ہے، آپ یہ کر سکتے ہیں آج، آپ کو کل یہ کر سکتے ہیں. 868 00:51:19,440 --> 00:51:20,930 آپ سال کے لئے یہ کر رہا ہوں. 869 00:51:20,930 --> 00:51:22,790 بس وہاں جانا ہے اور ایسا. 870 00:51:22,790 --> 00:51:24,310 آپ یہ کر سکتے ہیں. 871 00:51:24,310 --> 00:51:26,102 >> [موسیقی بجانا]