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