1 00:00:07,420 --> 00:00:08,160 [Powered by Google Translate] DAVID J. MALAN: ٹھیک ہے. 2 00:00:08,160 --> 00:00:11,170 یہ CS50 ہے، اور اس کے دو ہفتے کے اختتام پر ہے. 3 00:00:11,170 --> 00:00:14,650 اگر آپ کل اس وقت کے ارد گرد بھوکا ہونے کی توقع جانتے ہیں، کہ ہم جا رہے ہیں 4 00:00:14,650 --> 00:00:18,920 ایک چھوٹا سا گروپ کل جمعرات، 1:15 PM منعقد. 5 00:00:18,920 --> 00:00:21,460 اس یو آر ایل یہاں ہے اگر آپ پر RSVP کرنا چاہتے ہیں. 6 00:00:21,460 --> 00:00:25,270 جگہ محدود ہے، لہذا آپ براہ مہربانی اگر فارم کے وقت کی طرف سے بھرا ہوا ہے معاف کریں 7 00:00:25,270 --> 00:00:26,680 اس سے بھرنے. 8 00:00:26,680 --> 00:00:29,400 ایک اور اگرچہ یو آر ایل دلچسپی کے ہو سکتا ہے یہ ہے. 9 00:00:29,400 --> 00:00:32,409 >> تو صرف ایک ماہ کے وقت کے بارے میں، کورس دستیاب کرایا جا رہا ہے 10 00:00:32,409 --> 00:00:36,090 edX کے ذریعے زیادہ موٹے طور پر تمام انٹرنیٹ پر لوگوں کے ذریعہ کیا جائے گا 11 00:00:36,090 --> 00:00:39,580 ساتھ کی پیروی کرنے کے لئے، اصل میں کورس میں بہت فعال طور پر مصروف، کے قابل ہے. 12 00:00:39,580 --> 00:00:43,070 وہ CS50 آلات اور CS50 بحث کریں گے اور سب سے زیادہ استعمال کریں گے 13 00:00:43,070 --> 00:00:45,840 مختلف سافٹ ویئر کے اوزار ہے کہ ہم نے پہلے سے ہی کیا گیا ہے اس سمسٹر کا استعمال کرتے ہوئے. 14 00:00:45,840 --> 00:00:49,030 اور اقدامات میں سے ایک ہم ایک استعمال کے طور پر اس سال پر لے جانا چاہتے ہیں تو 15 00:00:49,030 --> 00:00:53,120 یہ دیکھنے کے لئے کتنا مواد ہم نے دوسری بات میں ترجمہ کر سکتے ہیں اور 16 00:00:53,120 --> 00:00:54,110 تحریری زبانوں. 17 00:00:54,110 --> 00:00:58,000 تو اگر آپ کو اس منصوبے میں حصہ لینے میں دلچسپی ہے، جس کے تحت ہو سکتا ہے 18 00:00:58,000 --> 00:01:02,090 ہم نے کی کورس کے لئے انگریزی ٹرانسکرپٹس اور سب ٹائٹل فراہم کرے گا 19 00:01:02,090 --> 00:01:05,190 لیکچر اور شارٹس اور سیمناروں اور حصوں اور طرح - 20 00:01:05,190 --> 00:01:08,700 اگر آپ روانی سے بات کرتے ہیں یا روانی کسی اور زبان لکھنے، ہم کریں گے 21 00:01:08,700 --> 00:01:12,240 آپ کو اس منصوبے میں اترنے کی محبت، آپ میں سے ایک یا اس سے زیادہ پر جس کے تحت لے 22 00:01:12,240 --> 00:01:15,340 ویڈیوز، اور ایک زبان ہے تم بہت اچھی طرح سے جانتا ہوں میں ان کا ترجمہ ہے. 23 00:01:15,340 --> 00:01:19,050 آپ کے انٹرفیس کا احساس دیتے ہیں، اس ویب پر مبنی یوزر انٹرفیس ہے 24 00:01:19,050 --> 00:01:22,330 کہ ہم جو بنیادی طور پر اس طرح ایک UI پیدا کر دے گا کے ذریعے کریں گے. 25 00:01:22,330 --> 00:01:24,520 یہ آپ کے وزٹرز کا ریکارڈ رکھا پہلے کچھ ہالووین سکھا رہی تھی. 26 00:01:24,520 --> 00:01:27,710 اور سیاہ دائیں ہاتھ کی طرف ان وقت کے ٹکٹ پر اگلے 27 00:01:27,710 --> 00:01:31,300 آپ کو مختلف چیزیں ہیں جو میرے منہ سے اس دن باہر آئے نظر آئے گا. 28 00:01:31,300 --> 00:01:34,660 اور اس کے بعد، آپ اس کے نیچے کسی دوسری زبان میں ترجمہ کرنے کے قابل ہو جائے گا. 29 00:01:34,660 --> 00:01:37,840 بالکل ٹھیک کیا میپنگ کے درمیان اس معاملے میں، انگریزی میں ہے، 30 00:01:37,840 --> 00:01:38,660 اور، کا کہنا ہے کہ ہسپانوی. 31 00:01:38,660 --> 00:01:40,480 تو یہ اصل میں ایک بہت ہی صارف دوست آلہ ہے. 32 00:01:40,480 --> 00:01:43,690 تم اور تیزی سے آگے کی بورڈ شارٹ کٹس کے ساتھ ماضی بہت آسانی سے کر سکتے ہیں. 33 00:01:43,690 --> 00:01:46,710 اگر ایسا ہے تو آپ کو اس کے استعمال میں حصہ لینے کے لئے چاہتے ہیں اور اپنے الفاظ کو ہوگا 34 00:01:46,710 --> 00:01:50,730 براہ مہربانی وہاں لوگ ہزاروں کی طرف سے ممکنہ طور پر دیکھا اور پڑھا، لگتا 35 00:01:50,730 --> 00:01:51,960 شرکت مفت. 36 00:01:51,960 --> 00:01:56,940 >> اب پیر سے بلی کے بچے کے بارے میں ایک لفظ، ایسا نہ ہو کہ ہم نے حد سے زیادہ ایک بھیجا ہے 37 00:01:56,940 --> 00:01:58,120 ڈراونا پیغام ہے. 38 00:01:58,120 --> 00:02:02,130 کہ دفتری اوقات تجویز اور حصے مشورہ ہے کہ احساس، کیا 39 00:02:02,130 --> 00:02:05,110 کورس کے ڈیزائن بہت سے طالب علموں کو تعاون کر بہت ہے اور 40 00:02:05,110 --> 00:02:09,250 مسئلہ سیٹ اور مسائل کے ذریعے ایک ساتھ کام کرنے کی بات کر رہا ہے. 41 00:02:09,250 --> 00:02:13,630 اور واقعی لائن صرف نیچے آتا ہے، پھر، کام بالآخر آپ 42 00:02:13,630 --> 00:02:16,420 پیش کرنا چاہئے، اپنی خود کی ہونا چاہئے. 43 00:02:16,420 --> 00:02:19,080 یہ ہے، بہت ایمانداری سے - دفتری اوقات میں، یہ مکمل طور پر عام ہے - 44 00:02:19,080 --> 00:02:21,560 یہ مکمل طور پر ہے، بھی رکھا جائے کی توقع - کچھ کے ساتھ بات 45 00:02:21,560 --> 00:02:22,370 تمہارے ساتھ. 46 00:02:22,370 --> 00:02:25,240 اگر وہ یا وہ کسی موضوع کے ساتھ جدوجہد کر رہا ہے، اور آپ کی طرح ہو، اوہ، ٹھیک ہے دو 47 00:02:25,240 --> 00:02:27,750 آپ کے وزٹرز کا ریکارڈ رکھا آپ کوڈ کے کچھ لائن ہے کہ میں نے لکھا کی ایک جھلک دیتے ہیں. 48 00:02:27,750 --> 00:02:28,290 یہ ٹھیک ہے. 49 00:02:28,290 --> 00:02:28,700 یہ ہوتا ہے. 50 00:02:28,700 --> 00:02:31,580 اور یہ سیکھنے کے عمل کے ساتھ بہت سازگار ہے، مجھے لگتا ہے،. 51 00:02:31,580 --> 00:02:35,270 لائن، پھر سے تجاوز کر گیا ہے، ہو جاتا ہے، اور جب سر کی طرح میں tilted ہے کہاں ہے 52 00:02:35,270 --> 00:02:38,800 یہاں سچ میں اس کے لیے بہت پر یا منٹ کے لئے صرف 53 00:02:38,800 --> 00:02:41,250 آپ کے دوست کے لئے ایک غیر مسدود موقع رہی ہے. 54 00:02:41,250 --> 00:02:43,870 اور یقینی طور پر، جب چیزیں ای میل اور ڈراپ باکس اور کے ذریعے کا تبادلہ کرنے کے لئے 55 00:02:43,870 --> 00:02:45,350 کی طرح، وہاں بھی لائن ہے. 56 00:02:45,350 --> 00:02:48,940 تو سب کا مطلب ہے کی طرف سے، آرام دہ اور پرسکون لگے گا اور محسوس دوستوں کے ساتھ بات چیت کرنے کی حوصلہ افزائی کی 57 00:02:48,940 --> 00:02:51,270 psets اور زیادہ کے بارے میں ہم جماعتوں. 58 00:02:51,270 --> 00:02:54,680 اور صرف احساس ہے کہ جو تم بالآخر پیش ہونا چاہئے 59 00:02:54,680 --> 00:02:57,780 مصنوعات آپ کی تخلیق اور کسی اور کی نہیں. 60 00:02:57,780 --> 00:03:01,010 >> تو cuddly مخلوق کے اسی رگ میں، آپ کو شاید 61 00:03:01,010 --> 00:03:02,820 اس آدمی کے یہاں جانتے ہیں. 62 00:03:02,820 --> 00:03:06,180 لہذا اس سال پہلے سے ایک horrifically cheesy فلم ہے. 63 00:03:06,180 --> 00:03:08,680 یہاں کوئی Spaceballs دیکھا ہے؟ 64 00:03:08,680 --> 00:03:09,120 ٹھیک ہے. 65 00:03:09,120 --> 00:03:10,220 ایک اچھی تعداد میں یہاں تو. 66 00:03:10,220 --> 00:03:13,840 تو یہ ہمارا آج بالآخر متعارف کرانے کا wonderfully تعلیمی طریقہ ہے 67 00:03:13,840 --> 00:03:15,130 خفیہ نگاری کے تصور. 68 00:03:15,130 --> 00:03:19,010 اور 2 pset، جو آئے گا کے لئے ڈومین مخصوص مسائل میں سے ایک 69 00:03:19,010 --> 00:03:22,770 دیر کل رات، خفیہ نگاری کی دنیا میں کودو، جو ہے 70 00:03:22,770 --> 00:03:26,380 خفیہ کاری یا scrambling معلومات کے فن ہے. 71 00:03:26,380 --> 00:03:30,160 اور یہ بالآخر سیکورٹی کی دنیا سے متعلق ہے. 72 00:03:30,160 --> 00:03:34,440 >> اب ہمیں سلامتی کے سب سے زیادہ کے لئے کافی اشیاءہوسکتی میکانزم کی شکل میں آتی ہے. 73 00:03:34,440 --> 00:03:36,920 ہم سب کو صارف نام اور پاس ورڈ ہے. 74 00:03:36,920 --> 00:03:41,350 اور ہم سب بہت خراب صارف کا نام اور پاس ورڈ ہے، امکان سب سے زیادہ ہے. 75 00:03:41,350 --> 00:03:45,250 اگر آپ کا پاس ورڈ ایک سے زیادہ ویب سائٹ پر ایک ہی ہے، جو شاید نہیں ہے 76 00:03:45,250 --> 00:03:47,920 سب سے اچھا خیال ہے، ہم سمسٹر آخر کی طرف کے طور پر بات کریں گے. 77 00:03:47,920 --> 00:03:51,680 اپنے - کوئی مذاق نہیں ہے - اگر آپ کے پاس ورڈ میں ایک چپچپا نوٹ کے وزٹرز کا ریکارڈ رکھا جائے گا ہے 78 00:03:51,680 --> 00:03:55,130 باخبر رہنا، وہ بھی ضروری نہیں ہے سب سے بہتر ڈیزائن لیکن کافی عام 79 00:03:55,130 --> 00:03:56,140 رجحان. 80 00:03:56,140 --> 00:04:00,420 اور اگر تم خفیہ نگاری کا استعمال نہیں کر رہے ہیں آپ کے پاس ورڈ کو خفیہ کرنے کے لئے، وہ کر رہے ہیں 81 00:04:00,420 --> 00:04:01,610 خاص طور پر کمزور ہے. 82 00:04:01,610 --> 00:04:04,670 تو اگر آپ کو لگتا ہے کہ آپ سپر ہونے کے ایک خفیہ لفظ کے کی طرف سے ہوشیار کر رہے ہیں 83 00:04:04,670 --> 00:04:07,740 آپ کی ہارڈ ڈرائیو جو آپ کے پاس ورڈ کے تمام ہے لیکن کہیں دستاویز 84 00:04:07,740 --> 00:04:10,550 یہ ایک فولڈر میں ہے کہ کوئی بھی نظر ہو رہا ہے، وہ بھی بہت نہیں ہے 85 00:04:10,550 --> 00:04:11,540 محفوظ طریقہ کار. 86 00:04:11,540 --> 00:04:15,100 اور تو کیا 2 pset متعارف کرائے گا، خفیہ نگاری کے اس فن ہے اور 87 00:04:15,100 --> 00:04:18,300 معلومات scrambling تاکہ پاس ورڈ طرح چیزیں ہیں 88 00:04:18,300 --> 00:04:19,500 زیادہ محفوظ ہے. 89 00:04:19,500 --> 00:04:24,500 تو کے طور پر ایک بہت ہی غیر حقیقی دنیا کے ساتھ یہ بہت حقیقی دنیا کے مسئلے کو حوصلہ افزائی کرنے کے 90 00:04:24,500 --> 00:04:28,740 منظر نامے کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے اس سے آپ میں سے ایک ہمارے پسندیدہ کلپس متعارف کرانے 91 00:04:28,740 --> 00:04:29,895 فلم، Spaceballs. 92 00:04:29,895 --> 00:04:30,565 >> [ویڈیو پلے بیک] 93 00:04:30,565 --> 00:04:32,995 ہیلمیٹ، آپ پریت، کیا ہو رہا ہے؟ 94 00:04:32,995 --> 00:04:34,730 آپ نے میری بیٹی کو کیا کر رہے ہیں؟ 95 00:04:34,730 --> 00:04:38,960 آپ کے وزٹرز کا ریکارڈ رکھا شاندار نوجوان پلاسٹک سرجن، ڈاکٹر فلپ کو متعارف کرانے کے لئے اجازت 96 00:04:38,960 --> 00:04:43,290 Schlotkin، پوری میں سب سے بڑی ناک کام آدمی 97 00:04:43,290 --> 00:04:45,526 کائنات اور بیورلی ہلز. 98 00:04:45,526 --> 00:04:46,450 آپ کے مہاراج. 99 00:04:46,450 --> 00:04:47,380 کے ناک کام؟ 100 00:04:47,380 --> 00:04:48,035 مجھے سمجھ نہیں آتا. 101 00:04:48,035 --> 00:04:49,480 وہ پہلے سے ہی ایک ناک کام تھا. 102 00:04:49,480 --> 00:04:51,490 یہ ایک میٹھی 16 موجود تھے. 103 00:04:51,490 --> 00:04:53,090 نہیں، یہ نہیں ہے کیا آپ کو لگتا ہے کہ. 104 00:04:53,090 --> 00:04:55,150 یہ بہت ہے، بہت برا ہے. 105 00:04:55,150 --> 00:04:59,860 اگر تم مجھے نہیں دے ہوائی ڈھال مجموعہ، ڈاکٹر Schlotkin 106 00:04:59,860 --> 00:05:04,135 آپ کی بیٹی واپس اپنے پرانے ناک دیتے ہیں. 107 00:05:04,135 --> 00:05:05,385 کے نہیں! 108 00:05:08,202 --> 00:05:10,186 کہ تم کہاں سے ملے؟ 109 00:05:10,186 --> 00:05:11,178 دائیں. 110 00:05:11,178 --> 00:05:11,674 میں بتا دونگا. 111 00:05:11,674 --> 00:05:12,666 میں بتا دونگا. 112 00:05:12,666 --> 00:05:14,154 نہیں، والد، نہیں. 113 00:05:14,154 --> 00:05:15,150 تم نہیں کرنا چاہئے. 114 00:05:15,150 --> 00:05:16,460 You're حق، میرے عزیز. 115 00:05:16,460 --> 00:05:18,450 میں اپنے نئے ناک کی کمی محسوس کریں گے. 116 00:05:18,450 --> 00:05:21,550 لیکن میں نے انہیں نہیں بتا مجموعہ کوئی بات نہیں کیا جائے گا. 117 00:05:21,550 --> 00:05:23,100 بھی بہت ہے. 118 00:05:23,100 --> 00:05:25,510 ڈاکٹر Schlotkin، تمہاری سب سے بری کرنا. 119 00:05:25,510 --> 00:05:26,760 میری خوشی ہے. 120 00:05:30,560 --> 00:05:31,180 کے نہیں! 121 00:05:31,180 --> 00:05:33,450 رکو، رکو. 122 00:05:33,450 --> 00:05:34,770 میں بتا دونگا. 123 00:05:34,770 --> 00:05:36,400 میں بتا دونگا. 124 00:05:36,400 --> 00:05:38,630 میں جانتا تھا کہ یہ کام کریں گے. 125 00:05:38,630 --> 00:05:42,040 ٹھیک ہے، یہ مجھے دے دو. 126 00:05:42,040 --> 00:05:46,890 کے مجموعہ میں سے ایک ہے. 127 00:05:46,890 --> 00:05:47,290 ایک. 128 00:05:47,290 --> 00:05:48,183 ایک. 129 00:05:48,183 --> 00:05:48,950 دو. 130 00:05:48,950 --> 00:05:49,370 دو. 131 00:05:49,370 --> 00:05:50,450 دو. 132 00:05:50,450 --> 00:05:50,715 تین 133 00:05:50,715 --> 00:05:51,380 تین. 134 00:05:51,380 --> 00:05:52,390 تین. 135 00:05:52,390 --> 00:05:53,200 چار. 136 00:05:53,200 --> 00:05:53,720 چار. 137 00:05:53,720 --> 00:05:55,830 چار. 138 00:05:55,830 --> 00:05:56,580 پانچ 139 00:05:56,580 --> 00:05:57,120 پانچ. 140 00:05:57,120 --> 00:05:58,560 پانچ. 141 00:05:58,560 --> 00:06:03,770 تو مجموعہ ایک، دو، تین، چار، پانچ ہے. 142 00:06:03,770 --> 00:06:06,745 یہ بیوکوفی مجموعہ میں نے کبھی اپنی زندگی میں سنا ہے. 143 00:06:06,745 --> 00:06:09,290 یہ چیز کی طرح ایک بیوکوف اس کے سامان پر ہوگا. 144 00:06:09,290 --> 00:06:11,540 شکریہ، مہارانی. 145 00:06:11,540 --> 00:06:12,940 تم نے کیا کیا؟ 146 00:06:12,940 --> 00:06:14,230 میں نے دیوار دیا. 147 00:06:14,230 --> 00:06:14,630 نہیں، تم نے نہیں. 148 00:06:14,630 --> 00:06:15,430 تم نے پوری فلم کر دیا ہے. 149 00:06:15,430 --> 00:06:16,722 میں نے غلط بٹن پر زور دیا ضروری ہے. 150 00:06:16,722 --> 00:06:18,078 ٹھیک ہے، اسے واپس رکھ. 151 00:06:18,078 --> 00:06:18,805 فلم واپس رکھو. 152 00:06:18,805 --> 00:06:19,080 جی ہاں، صاحب. 153 00:06:19,080 --> 00:06:19,270 جی ہاں، صاحب. 154 00:06:19,270 --> 00:06:19,830 آو، Erna جانا. 155 00:06:19,830 --> 00:06:20,270 ، Gretchen چلو. 156 00:06:20,270 --> 00:06:22,850 بالکل آپ کو پتہ ہے کہ میں آپ کو اس کے لئے بل اب بھی پڑے گا. 157 00:06:27,400 --> 00:06:28,325 سے اچھا، یہ کام کیا؟ 158 00:06:28,325 --> 00:06:29,550 دروازے کہاں ہے؟ 159 00:06:29,550 --> 00:06:29,910 نے یہ کام کیا ہے، سر. 160 00:06:29,910 --> 00:06:30,770 ہم مجموعہ ہے. 161 00:06:30,770 --> 00:06:31,390 عظیم. 162 00:06:31,390 --> 00:06:35,630 اب ہم سیارے Druidia سے تازہ ہوا کے ہر آخری سانس لے سکتے ہیں. 163 00:06:35,630 --> 00:06:36,550 مجموعہ کیا ہے؟ 164 00:06:36,550 --> 00:06:38,805 ایک، دو، تین، چار، پانچ،. 165 00:06:38,805 --> 00:06:40,610 ایک، دو، تین، چار، پانچ،؟ 166 00:06:40,610 --> 00:06:41,070 جی ہاں. 167 00:06:41,070 --> 00:06:41,760 یہ حیرت انگیز ہے. 168 00:06:41,760 --> 00:06:45,200 میں نے اپنا سامان اسی مجموعہ ہے. 169 00:06:45,200 --> 00:06:47,800 1 Spaceball کو فوری طور پر روانگی کے لیے تیار کریں. 170 00:06:47,800 --> 00:06:48,536 جی ہاں، صاحب. 171 00:06:48,536 --> 00:06:52,350 اور میرا سامان مجموعہ کو تبدیل. 172 00:06:52,350 --> 00:06:53,250 وا! 173 00:06:53,250 --> 00:06:55,020 [END ویڈیو پلے بیک] 174 00:06:55,020 --> 00:06:57,470 >> DAVID J. کریں MALAN: ایک حیرت انگیز فلم ہے آپ سب اب دیکھنا چاہئے. 175 00:07:00,600 --> 00:07:06,540 تو یہاں سیاق و سباق یہ ہے کہ غیر محفوظ اعداد و شمار کے ساتھ کا موقع آتا ہے 176 00:07:06,540 --> 00:07:07,790 اسے خفیہ اور اس جدوجہد پر ہے. 177 00:07:07,790 --> 00:07:11,060 اور اس طرح یہ، مثال کے طور پر، ایک خفیہ کردہ پیغام کی ایک مثال ہے. 178 00:07:11,060 --> 00:07:12,980 یہ اصل میں انگریزی میں کچھ کا کہنا ہے کہ. 179 00:07:12,980 --> 00:07:14,750 لیکن یہ واضح طور پر مکمل طور پر واضح نہیں ہے. 180 00:07:14,750 --> 00:07:17,360 اور ہم آج مکمل دائرے میں آنے کے علاوہ چڑھاو گے جو یہ راز 181 00:07:17,360 --> 00:07:18,380 یہاں پیغام ہے. 182 00:07:18,380 --> 00:07:22,370 لیکن کمپیوٹر کی حقیقی دنیا میں، چیزیں وہ طاقت کی طرح بھی نہیں لگتی 183 00:07:22,370 --> 00:07:23,440 انگریزی جملے. 184 00:07:23,440 --> 00:07:27,500 مثال کے طور پر، یہ ہے جو آپ کو ایک معیاری لینکس یا میک پر تلاش کر سکتے یا ہو سکتا ہے 185 00:07:27,500 --> 00:07:32,080 ایک فائل ہے کہ ایک وقت تھا میں UNIX کمپیوٹر پاس ورڈ فائل سے ملاقات کی. 186 00:07:32,080 --> 00:07:34,170 آج کل، یہ دوسرے مقامات پر منتقل کر دیا گیا ہے. 187 00:07:34,170 --> 00:07:38,660 لیکن اگر آپ کو ایک ایسا نظام پر صحیح جگہ میں دیکھو، تم نہ صرف آپ دیکھیں گے 188 00:07:38,660 --> 00:07:41,430 صارف کا نام یا سسٹم پر دوسرے لوگوں کی، لیکن آپ دیکھیں گے ایک 189 00:07:41,430 --> 00:07:43,410 ان کے پاس ورڈ کے مرموز ورژن. 190 00:07:43,410 --> 00:07:47,800 درحقیقت لفظ وہاں crypt تجویز کیا گیا ہے کہ مندرجہ ذیل چیزیں خفیہ ہے. 191 00:07:47,800 --> 00:07:52,030 اور بظاہر بے ترتیب حروف اور حروف اور اعداد کا یہ سلسلہ اور 192 00:07:52,030 --> 00:07:56,370 وغیرہ صرف عام طور پر کوئی راز جاننے کی طرف سے رکھا جائے decrypted کیا جا سکتا ہے - 193 00:07:56,370 --> 00:07:58,600 ایک خفیہ لفظ، ایک خفیہ نمبر ہے. 194 00:07:58,600 --> 00:08:02,760 اور تو یقینا کچھ بالآخر فوڑے خفیہ نگاری نیچے کے فن پر اعتماد کرتے ہیں، 195 00:08:02,760 --> 00:08:05,700 ترتیب دیں اور ایک ایسی چیز ہے جس پر کوئی اور نہیں ہے جاننے کے. 196 00:08:05,700 --> 00:08:10,010 ہم آج تھوڑا تفصیل سے اس کی اور pset میں آنے کی کریں گے. 197 00:08:10,010 --> 00:08:11,860 >> اور اب پاس / ناکام پر ایک لفظ. 198 00:08:11,860 --> 00:08:15,250 تو خاص طور پر، تم میں سے بعض کے طور پر 1 pset، آلات میں dived ہے، اور 199 00:08:15,250 --> 00:08:18,390 اپنے آپ کے لئے ایک بہت نئی دنیا، کوبٹھاوں کہ احساس ہوا اور 200 00:08:18,390 --> 00:08:21,340 الجھن اور صرف تکنیکی مشکلات متوقع ہیں. 201 00:08:21,340 --> 00:08:24,410 پہلے pset، جہاں صرف اتنا نیا ہے، خاص طور پر صرف ہو رہی ہے کے ساتھ 202 00:08:24,410 --> 00:08:28,830 LS اور سی ڈی اور ایک نئے ماحول میں ان تمام arcane حکم سے واقف ہے. 203 00:08:28,830 --> 00:08:32,679 اور اس کے اصل مال اور خود پروگرامنگ سے الگ ہے. 204 00:08:32,679 --> 00:08:35,960 تو بھی احساس ہے کہ یقینی طور پر دفتری اوقات کے طور پر موجود ہیں، 205 00:08:35,960 --> 00:08:36,770 حمایت ساخت. 206 00:08:36,770 --> 00:08:38,620 حصے میں اس آنے والے اتوار کو شروع کرتے ہیں. 207 00:08:38,620 --> 00:08:41,990 لیکن سب سے اہم بات یہ ہے کہ اگر آپ کو صرف یہ ہے کہ محسوس کر رہے ہو یہ نہیں ہے 208 00:08:41,990 --> 00:08:44,420 آپ کے لئے دنیا کا احساس، کہ یہ واقعی وقت لگے ہے. 209 00:08:44,420 --> 00:08:47,520 اور یہ اس موقع کے لئے سال پہلے ایک کلاس لینے کے تھے میرے لئے نہیں 210 00:08:47,520 --> 00:08:50,840 ناکام / منظور، سکوئر سے، میں نے بھی کبھی نہیں کلاس روم میں قدم. 211 00:08:50,840 --> 00:08:53,520 اور آپ اسے تبدیل تک، کا کہنا ہے کہ کر سکتے ہیں، پانچویں کورس کے پیر. 212 00:08:53,520 --> 00:08:57,110 تو اگر آپ کنارے پر اب کچھ دوسرے ہیں میں، کہ بجائے سر کا احساس 213 00:08:57,110 --> 00:09:01,000 پانی مکمل طور پر، یقینی طور پر / ناکام گزر کو تبدیل کرنے کے بارے میں غور ہے. 214 00:09:01,000 --> 00:09:03,750 ایک بار پھر، واقعی یہ ثقافت نہیں یہاں چیزیں لینے کے ہارورڈ میں 215 00:09:03,750 --> 00:09:08,080 / گزر کے بعد سے سب واقعی کو حاصل کرنے یا overachieve چاہتا ناکام. 216 00:09:08,080 --> 00:09:11,470 لیکن سچ کہوں تو، یہ کچھ کرنے کی کوشش کے ایک شاندار طریقہ یہ ہے کہ نہ ہو 217 00:09:11,470 --> 00:09:13,110 آپ سے واقف ہو. 218 00:09:13,110 --> 00:09:17,090 اور تم سب سے زیادہ ٹھیک صورتوں میں کیا کر رہے ہیں، شاید گے 219 00:09:17,090 --> 00:09:18,040 اپنے حیرت پر زیادہ ہے. 220 00:09:18,040 --> 00:09:20,850 اور زیادہ ٹھوس لحاظ سے، جو مجھے لگتا ہے کہ گزر / عام طور پر ناکام ہے، 221 00:09:20,850 --> 00:09:23,350 خاص طور پر اس صورت حال میں جبکہ آپ 0 pset کے ساتھ تجربہ ہو سکتا ہے، اگر آپ کو رکھا ہے. 222 00:09:23,350 --> 00:09:27,200 میں 10 گھنٹے، 15 گھنٹے، 25 گھنٹے کچھ pset میں - اور آپ نے ابھی پیٹنے کر رہے ہیں 223 00:09:27,200 --> 00:09:28,180 دیوار کے خلاف اپنے سر، 224 00:09:28,180 --> 00:09:29,850 اور یہ انتہائی رات کو ہو رہا ہے دیر، 225 00:09:29,850 --> 00:09:31,880 لیکن آپ کو راستے سے 90 فی صد کی طرح pset کر لیا ہے، 226 00:09:31,880 --> 00:09:33,780 آپ کو معلوم ہے کہ تم صرف ایک بات سمجھ نہیں کر سکتے ہیں - 227 00:09:33,780 --> 00:09:36,830 منظور / ناکام واقعی برتری لیتا ہے ایک طبقے کی اس طرح، تم کہاں الگ الگ کرسکتے 228 00:09:36,830 --> 00:09:39,150 خوشی ٹھیک کہتے ہیں، مجھے معلوم ہے کہ یہ درست نہیں ہے. 229 00:09:39,150 --> 00:09:40,470 لیکن میں نے اس پر اپنی گدی کام کیا. 230 00:09:40,470 --> 00:09:42,410 میں جہاں یہ ختم ہونے کے ساتھ بہت خوش ہوں. 231 00:09:42,410 --> 00:09:44,780 اور اس کے پاس کے لئے توقعات پر پورا اترنے / ناکام ہو جائے گا. 232 00:09:44,780 --> 00:09:46,850 تاکہ ذہن میں رکھنے کی ہے. 233 00:09:46,850 --> 00:09:47,140 >> ٹھیک ہے. 234 00:09:47,140 --> 00:09:50,980 تو تم میں سے وہ لوگ جو ہارورڈ یونیورسٹی کے وائی فائی کا استعمال کرنے کی جدوجہد میں مصروف ہے معلوم 235 00:09:50,980 --> 00:09:54,780 کہ ایک CS50 SSID ہے، ایک وائی فائی کنکشن کی کہ ارد گرد تیرتا آپ 236 00:09:54,780 --> 00:09:56,520 کے لئے بہتر قسمت ہو سکتا ہے. 237 00:09:56,520 --> 00:09:59,430 اگر آپ کو کرنے کی کوشش کرنا چاہتے ہیں - یہ ایک چھوٹا سا ستم ظریفی کہئیے کہ اس کے لئے پاس ورڈ 238 00:09:59,430 --> 00:10:03,080 بہتر رفتار کے لئے اس سے منسلک اور ہمیں معلوم ہے کہ اگر یہ بہتر نہیں ہے - 239 00:10:03,080 --> 00:10:09,240 ایک، دو، تین، چار، پانچ، ہر طرح آٹھ ہے کیونکہ آٹھ ہے 240 00:10:09,240 --> 00:10:10,270 پانچ سے زیادہ محفوظ ہے. 241 00:10:10,270 --> 00:10:15,520 لہذا اگر آپ کو پاس ورڈ وائی فائی کی ضرورت ہے، CS50 wirelessly یہاں رابطہ قائم کریں. 242 00:10:15,520 --> 00:10:16,950 ایک، دو، تین، چار، پانچ، چھ، سات، آٹھ. 243 00:10:16,950 --> 00:10:20,440 اور CS50 پر عہدے کے بارے میں بات اگر آپ کے پاس ابھی تک وقفے وقفے سے رابطے کے مسائل ہیں، 244 00:10:20,440 --> 00:10:24,880 اور ہم اختیارات ہے کہ اس جگہ کے لئے پتہ رکھا جائے گا. 245 00:10:24,880 --> 00:10:25,180 >> ٹھیک ہے. 246 00:10:25,180 --> 00:10:30,350 خاص طور پر تم میں سے ان لوگوں کو جو پرستار لڑکے یا لڑکیاں ہیں تو ایک فوری جھلکی 247 00:10:30,350 --> 00:10:31,900 ہر چیز ایپل کے. 248 00:10:31,900 --> 00:10:37,566 کیا میں نے چند سال سے واپس کھودا اس فائل یہاں تھی، ilock.c، صرف 249 00:10:37,566 --> 00:10:40,930 اس قسم کی زیادہ مکمل اور زیادہ پیچیدہ بنانے کے کچھ زیادہ بنیادی C 250 00:10:40,930 --> 00:10:42,350 پروگراموں ہم لکھ رہا ہوں. 251 00:10:42,350 --> 00:10:44,360 تو میں نے اس فائل کو کھولا، ilock.c. 252 00:10:44,360 --> 00:10:46,830 یہ آج کے لئے لیکچرز کے صفحے پر دستیاب ہے. 253 00:10:46,830 --> 00:10:49,470 بائیں ہاتھ پر، آپ کے افعال میں سے ایک طویل فہرست دیکھیں. 254 00:10:49,470 --> 00:10:51,860 تو فیلو جو اس نے لکھا کے افعال میں سے ایک بہت کچھ لکھا ہے، 255 00:10:51,860 --> 00:10:53,290 صرف مرکزی سے زیادہ. 256 00:10:53,290 --> 00:10:55,490 انہوں نے لائبریریوں کے ایک مکمل جھوبڈ یہاں استعمال کیا. 257 00:10:55,490 --> 00:11:00,450 اور اگر ہم طومار کر شروع کے ذریعے، یہ اصل میں ہے بہت ہے 258 00:11:00,450 --> 00:11:04,670 سب سے پہلے، مجھے یقین ہے، اصل فون کے لئے ٹوٹ. 259 00:11:04,670 --> 00:11:08,000 جو جب آپ اصل فون باگنی چاہتے تھے، untether کا مطلب 260 00:11:08,000 --> 00:11:11,800 T & AT اور اصل میں سے اس پر خصوصی سافٹ ویئر انسٹال کریں اور کام کرتے ہیں 261 00:11:11,800 --> 00:11:13,510 کہ ایپل لوگوں کو کرنا نہیں چاہتے تھے - 262 00:11:13,510 --> 00:11:17,020 ٹھیک ہے، کسی کو جاننے کے وہ کس طرح کا استحصال کر سکتا ہے وقت لگا 263 00:11:17,020 --> 00:11:20,880 سافٹ ویئر کی خرابی، غلطیوں، ایپل کے سافٹ ویئر میں کیڑے. 264 00:11:20,880 --> 00:11:22,650 اور اسی طرح ilock.c پیدا کیا گیا تھا. 265 00:11:22,650 --> 00:11:26,670 کہ اگر آپ ایک کمپیوٹر پر مرتب کیا گیا اور ایک فون ہے کہ پر اسے نصب 266 00:11:26,670 --> 00:11:29,810 ذریعے کا کہنا ہے کہ، ایک USB کیبل آپ کے کمپیوٹر سے منسلک، یہ آپ کو دے گی 267 00:11:29,810 --> 00:11:33,360 آپ کے فون اور دو انتظامی یا جڑ استحقاق آپ کو بہت زیادہ کرتے ہیں 268 00:11:33,360 --> 00:11:34,170 جو کچھ بھی تم چاہتے ہو. 269 00:11:34,170 --> 00:11:36,740 >> اور اس طرح اس دلچسپ بلی اور ایپل کے درمیان ماؤس کھیل اور 270 00:11:36,740 --> 00:11:39,920 وہ خاص طور پر باقی دنیا کے بہت سے کمپنیوں کی طرح، مقفل کرنے کی کوشش 271 00:11:39,920 --> 00:11:43,220 ان کے نیچے چیزیں تاکہ تم اس کے ساتھ صرف کیا جو وہ ارادہ رکھتے ہیں کر سکتے ہیں. 272 00:11:43,220 --> 00:11:46,620 لیکن اس جیسے لوگوں کا شکریہ اور کم درجے کے ان کی سمجھ کی 273 00:11:46,620 --> 00:11:50,580 تفصیلات اور اس معاملے میں، C پروگرامنگ اور واقف تشکیل کی بہت 274 00:11:50,580 --> 00:11:54,630 کہ ہم کھیلنا شروع کر دیا ہے، تو آپ کو واقعی بیعانہ کر سکتے ہیں 275 00:11:54,630 --> 00:11:59,050 اس طرح آپ کو دیکھ کر صحت مند اور کچھ کارپوریٹ ہستی ضروری نہیں کہ میں ہارڈ ویئر. 276 00:11:59,050 --> 00:12:01,360 تو مثال کے طور پر، مجھے پتہ نہیں یہ سب کیا کر رہی ہے. 277 00:12:01,360 --> 00:12:03,220 لیکن GetVersion بہت براہ راست آواز. 278 00:12:03,220 --> 00:12:05,480 اور ایسا لگتا ہے جیسے یہ ایک تقریب میں ہے کہ اس شخص نے لکھا ہے. 279 00:12:05,480 --> 00:12:09,240 کچھ طرح کی ایک دلیل کے طور پر عددی کے لے لو، کچھ واپس نہیں کرتا ہے، لیکن 280 00:12:09,240 --> 00:12:13,080 لوپ کے لئے یہاں ایک اور ایک کے ساتھ حالت اگر، اگر حالت لوپ ظاہر 281 00:12:13,080 --> 00:12:15,620 توڑ، اور کسی نہ کسی طرح ورژن کی تعداد سے متعلق ہے. 282 00:12:15,620 --> 00:12:16,700 اگر ہم ذیل میں سکرال - 283 00:12:16,700 --> 00:12:19,570 اگرچہ ان مطلوبہ الفاظ میں سے ایک بہت کچھ کے نئے ہو رہا ہے، کر رہے ہیں اور وہاں ہے ایک 284 00:12:19,570 --> 00:12:22,590 ہم یہاں کے افعال میں سے بہت ساری کبھی نہیں دیکھا ہے اور کبھی ختم نہیں دیکھ سکتے ہیں 285 00:12:22,590 --> 00:12:23,830 سمسٹر کے دوران - 286 00:12:23,830 --> 00:12:27,150 دن کے آخر میں، یہ ایک ہی اصول اور منطق ہے کہ ہم نے رہا کیا ہے مندرجہ ذیل 287 00:12:27,150 --> 00:12:28,760 کے ساتھ اس طرح دور کر رہا ہے. 288 00:12:28,760 --> 00:12:34,220 تو یہ اب تک بھی آپ کے فون 3s یا 4s یا جلد ہی 5s، ان دنوں ٹوٹ پرانی ہے، 289 00:12:34,220 --> 00:12:37,320 جانتے ہیں کہ یہ سب کی بہت اس دنیا سے حاصل کیا ہے کہ ہم 290 00:12:37,320 --> 00:12:38,430 میں dived. 291 00:12:38,430 --> 00:12:41,900 >> تو تھوڑا سا زیادہ سادہ مثال کے طور پر ایک نظر ڈالیں. 292 00:12:41,900 --> 00:12:46,100 یہ ایک ہے، کچھ نحو کے ساتھ کرنے کو گرم بھی اور کچھ دیگر ڈیٹا 293 00:12:46,100 --> 00:12:49,240 قسم ہے کہ ہم کے بارے میں بات ہے لیکن سی میں واقعی نہیں دیکھا تو یہ ہے 294 00:12:49,240 --> 00:12:51,680 فائل بلایا positive1.c. 295 00:12:51,680 --> 00:12:55,120 اور سب سے اوپر تبصرے کے مطابق، یہ مطالبہ ہے کہ ایک صارف ایک فراہم 296 00:12:55,120 --> 00:12:55,960 مثبت نمبر. 297 00:12:55,960 --> 00:12:59,530 تو اس نے کیا جبکہ ایک لوپ ہے، جو صارف انٹرایکٹو کے لئے اچھا ہے کی ایک مثال ہے 298 00:12:59,530 --> 00:13:01,980 پروگراموں جہاں آپ صارف کو کچھ کرنے کی بتانے کی ضرورت ہے. 299 00:13:01,980 --> 00:13:05,190 اور اگر وہ تعاون نہیں کرتے آپ کو ان پر چللاوگی، یا ان کی ان پٹ کو مسترد کرتے ہیں. 300 00:13:05,190 --> 00:13:11,610 پوائنٹ میں کیس میں 24 اتنے لمبے وقت کے ذریعے کی لائنز 19 کرنا جا رہا ہوں کے طور پر صارف کو 301 00:13:11,610 --> 00:13:14,310 نے مجھے ایک مثبت عدد نہیں ہے. 302 00:13:14,310 --> 00:13:20,400 اب اس تفصیل 18 لائن پر، میں اس پورے اوپر کیوں (ن) نے اعلان 303 00:13:20,400 --> 00:13:24,490 looping کی تعمیر کے طور پر 22 لائن کے ساتھ درست کرنے کی مخالفت کی تھی جہاں میں 304 00:13:24,490 --> 00:13:26,880 (ن) کو حاصل کرنے کے لئے اصل میں پرواہ ہے؟ 305 00:13:26,880 --> 00:13:27,330 جی ہاں؟ 306 00:13:27,330 --> 00:13:27,780 [اشراوی] 307 00:13:27,780 --> 00:13:29,040 >> DAVID J. MALAN: جی ہاں، تو گنجائش کے اس مسئلہ ہے. 308 00:13:29,040 --> 00:13:30,850 اور عام آدمی کی اصطلاح میں، جو گنجائش سے رجوع کرتا ہے؟ 309 00:13:34,690 --> 00:13:36,610 جی ہاں؟ 310 00:13:36,610 --> 00:13:37,860 [اشراوی] 311 00:13:40,040 --> 00:13:41,105 DAVID J. MALAN: آپ کو ایک زور کچھ بات کر سکتا ہوں؟ 312 00:13:41,105 --> 00:13:43,450 اسپیکر 1: جہاں آپ کسی خاص متغیر تک رسائی حاصل کر سکتے ہیں. 313 00:13:43,450 --> 00:13:45,170 DAVID J. MALAN: ٹھیک ہے. 314 00:13:45,170 --> 00:13:47,360 تم کہاں کسی خاص متغیر تک رسائی حاصل کر سکتے ہیں. 315 00:13:47,360 --> 00:13:50,400 اور عام طور پر، انگوٹھے کی حکمرانی ابھی تک رہا ہے کہ کچھ کے دائرہ کار 316 00:13:50,400 --> 00:13:55,860 متغیر سب سے حال ہی میں گھوبگھرالی منحنی خطوط وحدانی ہے کہ تم نے دیکھا ہے کی طرف سے وضاحت کی گئی ہے. 317 00:13:55,860 --> 00:14:02,010 اور تو اس صورت میں اگر میں 22 لائن پر (ن) اعلان کی غلطی کی، 318 00:14:02,010 --> 00:14:03,010 اس لائن کام کریں گے. 319 00:14:03,010 --> 00:14:10,990 میں ایک int حاصل کرتے ہیں، اور میں یہ 22 سطر میں اس متغیر (ن) میں ڈال دیں گے. 320 00:14:10,990 --> 00:14:16,900 لیکن جس کے کوڈ کے مطابق کوئی اندازہ نہیں ہے میں کس بارے میں بات کر رہا ہوں اب ہوگا؟ 321 00:14:16,900 --> 00:14:22,650 تو، 25، اور 24 باہر بدل جائے تو سمجھ لینا، اچھی طرح کے طور پر، کیونکہ اس صورت میں، اس کے باہر گر 322 00:14:22,650 --> 00:14:23,610 گھوبگھرالی منحنی خطوط وحدانی. 323 00:14:23,610 --> 00:14:27,280 تو اذيت دينے والے صرف ایک تھوڑا سا ہے لیکن بہت آسانی سے صرف اعلان کی طرف سے حل 324 00:14:27,280 --> 00:14:30,140 تقریب میں خود متغیر باہر. 325 00:14:30,140 --> 00:14:32,600 >> اب آج ہم بعد میں دیکھیں گے، آپ کو مزید ایک قدم کر سکتے ہیں. 326 00:14:32,600 --> 00:14:34,860 اور تم تھوڑا سا سست بھی مل سکے - 327 00:14:34,860 --> 00:14:37,320 اور یہ عام طور پر نہیں کی سفارش کی - 328 00:14:37,320 --> 00:14:42,260 لیکن آپ کو سست بھی ایک متغیر کو عالمی سطح پر ڈال، تو بات نہیں کر سکتے ہیں 329 00:14:42,260 --> 00:14:46,670 کے اندر ایک تقریب کے اندر ایک لوپ، لیکن فائل خود باہر، 330 00:14:46,670 --> 00:14:49,600 آپ کے افعال میں سے سب سے لکھا ہے، کے طور پر میں 15 لائن پر یہاں آیا ہے. 331 00:14:49,600 --> 00:14:51,160 لیکن یہ عام طور وسلم frowned ہے. 332 00:14:51,160 --> 00:14:55,680 لیکن یہ کبھی کبھی دیگر مسائل کا حل ہے احساس جیسا کہ ہم کریں گے، 333 00:14:55,680 --> 00:14:56,620 آخر میں دیکھیں. 334 00:14:56,620 --> 00:14:58,130 تو اب، ہم اس طرح چھوڑ دیں گے. 335 00:14:58,130 --> 00:15:01,030 لیکن اگر ہم دوبارہ سے لکھنا یہ تو صرف ایک خود کا اظہار کرنا شروع کر سکتے ہیں 336 00:15:01,030 --> 00:15:01,990 تھوڑا مختلف ہے. 337 00:15:01,990 --> 00:15:05,330 >> تو، صرف صاف ہو جائے، اس پروگرام positive1 ہے. 338 00:15:05,330 --> 00:15:11,810 مجھے آگے یہاں جاؤ اور میرے ٹرمنل ونڈو میں positive1، درج کریں. 339 00:15:11,810 --> 00:15:12,740 سے آگاہ کریں، ٹھیک ہے. 340 00:15:12,740 --> 00:15:14,910 میں positive1 چلانے کے لئے، مارا درج کریں کی جا رہی ہوں. 341 00:15:14,910 --> 00:15:16,820 میں درخواست کرتا ہوں کہ تم نے مجھے ایک مثبت عدد صحیح دے. 342 00:15:16,820 --> 00:15:18,260 میں -1 کہیں گے. 343 00:15:18,260 --> 00:15:18,910 یہ کام نہیں کیا. 344 00:15:18,910 --> 00:15:22,150 0 99، جو کام کرنے لگتا ہے. 345 00:15:22,150 --> 00:15:23,570 ہو سکتا ہے کہ سب سے زیادہ سخت نہیں ٹیسٹ. 346 00:15:23,570 --> 00:15:26,480 لیکن کم از کم یہ ایک اچھا وویک چیک کہ ہم صحیح راستے پر ہیں. 347 00:15:26,480 --> 00:15:29,240 تو اب ہم آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور اس کے دو ورژن کھول. 348 00:15:29,240 --> 00:15:32,500 اور کیا مختلف پہلے سے ہی ہے؟ 349 00:15:32,500 --> 00:15:35,140 یہ وہی چیز عملدرآمد کرتا ہے. 350 00:15:35,140 --> 00:15:40,660 لیکن جو واضح طور پر مختلف اس وقت کے طور پر باہر کود ہے؟ 351 00:15:40,660 --> 00:15:42,560 جی ہاں، تو یہ bool سبز رنگ میں. 352 00:15:42,560 --> 00:15:45,980 Gedit سبز bool کے طور پر جانا جاتا ہے کے مطلوبہ الفاظ میں اجاگر کیا ہے، 353 00:15:45,980 --> 00:15:47,000 جو کہ ایک ڈیٹا کی قسم ہے. 354 00:15:47,000 --> 00:15:51,080 یہ سی کے تمام ورژن میں تعمیر نہیں آتی آپ کو شامل کرنے کے لئے کی ضرورت ہے 355 00:15:51,080 --> 00:15:52,010 مخصوص لائبریری. 356 00:15:52,010 --> 00:15:54,770 ہمارے معاملے میں، میں CS50 لائبریری بھی شامل ہے تاکہ ہم 357 00:15:54,770 --> 00:15:56,460 bool پر رسائی حاصل ہے. 358 00:15:56,460 --> 00:15:59,810 لیکن 18 کی لائن میں، ہم بولین یہاں قدر کہا جاتا شکر گزار ہیں. 359 00:15:59,810 --> 00:16:01,040 تو میں نے اس میں کچھ فون کیا جا سکتا ہے. 360 00:16:01,040 --> 00:16:04,500 لیکن میں اس کی طرح کچھ semantic معنی کی تبلیغ کا شکر ادا سے ملاقات کی. 361 00:16:04,500 --> 00:16:07,930 تو ابتدائی طور پر 18 لائن پر، میں بظاہر شکر گزار نہیں ہوں کیونکہ 362 00:16:07,930 --> 00:16:12,150 بولین شکر گزار قدر 18 سطر میں جھوٹے initialized ہے. 363 00:16:12,150 --> 00:16:16,890 اور پھر ایسا لگتا ہے میں 21 لائنوں میں یہاں 23 کے ذریعے کیا ہے میں صرف ہے 364 00:16:16,890 --> 00:16:18,610 کی قسم میری منطق دوبارہ. 365 00:16:18,610 --> 00:16:21,020 تو کوئی فعل مختلف ہے. 366 00:16:21,020 --> 00:16:26,940 لیکن 22 سطر میں اب، میں چیک کرنے کے لیے اگر int صارف فراہم کی ہے اس سے بڑا ہے 367 00:16:26,940 --> 00:16:31,120 0، تو میں صرف حقیقی کا شکر ادا کی قدر تبدیل کریں. 368 00:16:31,120 --> 00:16:32,290 اور مجھے ایسا کیوں کرتے ہیں؟ 369 00:16:32,290 --> 00:16:35,600 کیونکہ 25 سطر میں، بظاہر، میں ایک شرط چیک کرنے کے لیے جا رہا ہوں. 370 00:16:35,600 --> 00:16:39,380 اس لوپ کو کیا جبکہ شکر گزار باطل ہے. 371 00:16:39,380 --> 00:16:43,610 >> تو میں نے ایک ورژن کے لئے ایک متبادل کے طور پر اس تجویز کیونکہ اس سے کم سے کم ایک ہے 372 00:16:43,610 --> 00:16:45,130 تھوڑا زیادہ بدیہی، شاید. 373 00:16:45,130 --> 00:16:46,900 یہ تھوڑا انگریزی میں زمین. 374 00:16:46,900 --> 00:16:51,710 تو مندرجہ ذیل کرتے ہیں جبکہ آپ کے شکر گزار ہیں یا نہیں جبکہ شکر گزار باطل ہے. 375 00:16:51,710 --> 00:16:55,890 اور اس وقت بھی، میں بظاہر یاد ہے جو صارف ٹائپ کی پرواہ نہیں کرتے 376 00:16:55,890 --> 00:16:57,730 نوٹس وجہ سے میں کوئی متغیر (ن) ہے. 377 00:16:57,730 --> 00:16:58,650 تو اصل میں، میں - 378 00:16:58,650 --> 00:17:00,080 ایک چھوٹی سی سفید جھوٹ وہاں. 379 00:17:00,080 --> 00:17:02,770 فعل، پروگرام تھوڑا سا مختلف ہے، ایک بار ہم کے سب سے نیچے حاصل کرنے کے لئے 380 00:17:02,770 --> 00:17:04,819 کیونکہ مجھے یاد نہیں کیا (ن) ہے رہا ہوں. 381 00:17:04,819 --> 00:17:09,579 لیکن میں یہاں کا مظاہرہ کرنا چاہتے تھے بھی ہے کہ اگرچہ ہم GetInt اور دیکھا ہے 382 00:17:09,579 --> 00:17:13,920 GetString ایک ہی علامت کے دائیں ہاتھ کی طرف پر ابھی تک تاکہ استعمال کیا جا رہا ہے 383 00:17:13,920 --> 00:17:17,160 ہم قدر، تکنیکی طور پر، جو سختی ضروری نہیں ہے یاد ہے. 384 00:17:17,160 --> 00:17:20,950 اگر آپ کو کسی بھی وجہ سے قدر کو بچانے کے لئے کی پرواہ نہیں کرتے ہیں، تو آپ کو صرف یہ چاہتا ہوں 385 00:17:20,950 --> 00:17:25,710 قیمت چیک کرنے کے لیے کو نوٹس، کہ ہم کھلے GetInt یہ صرف لکھ سکتے ہیں 386 00:17:25,710 --> 00:17:27,000 قوس، قریبی قوس. 387 00:17:27,000 --> 00:17:30,460 یہ فنکشن ایک قدر واپس جا رہا ہے، کے طور پر ہم کہہ رہے ہیں. 388 00:17:30,460 --> 00:17:32,010 کیا آپ اسے دوبارہ ایک int دینے جا رہا ہے. 389 00:17:32,010 --> 00:17:36,450 اور اگر ایسا ہے تو تم ذہنی طور پر یہ کیا ہو رہا لگتا ہے، جب میں 99 میں ٹائپ کریں، GetInt 390 00:17:36,450 --> 00:17:38,160 99 نمبر فراہم کرتا ہے. 391 00:17:38,160 --> 00:17:41,330 اور تو conceptually، ایسا لگتا ہے جیسے میرا کوڈ اصل میں یہ تھے. 392 00:17:41,330 --> 00:17:45,880 تو اگر 99 یقینا 0 سے بڑا ہے، تو شکر گزار سچ ہو جاتا ہے. 393 00:17:45,880 --> 00:17:50,420 اس کے بعد 25 لائن کا احساس اہ، ہم نے کیا ہے کیونکہ میں اب شکر گزار ہوں رہے ہیں. 394 00:17:50,420 --> 00:17:54,590 اور اوپر 26 میں ہم یہ کہتے ہیں، مثبت عدد صحیح کے لئے شکریہ، یہ جو بھی 395 00:17:54,590 --> 00:17:55,710 ہوا. 396 00:17:55,710 --> 00:17:58,900 >> اب معمولی syntactic چینی کرتے ہیں، تو بات کرنے کی. 397 00:17:58,900 --> 00:18:02,990 چلو دیکھتے ہیں کہ اگر ہم نے اس تیسرے اور آخری بادبانی کے ساتھ اس لائن کو صاف کریں 25 کر سکتے ہیں 398 00:18:02,990 --> 00:18:04,640 positive3. 399 00:18:04,640 --> 00:18:08,250 تو فرق صرف اتنا ہے جو کوڈ کے مطابق دیکھا؟ 400 00:18:11,930 --> 00:18:13,260 جی ہاں، 25 ہے. 401 00:18:13,260 --> 00:18:15,520 اور ہم نے یہ چال نہیں ہے ابھی تک دیکھا ہے. 402 00:18:15,520 --> 00:18:19,510 لیکن ہم پیر فجائیہ نقطہ، جس میں کیا کرنا دیکھا؟ 403 00:18:19,510 --> 00:18:20,970 تو نہیں، نفی یا. 404 00:18:20,970 --> 00:18:23,460 تو ایک بولین قدر اور اس کی قدر پلٹائیں. 405 00:18:23,460 --> 00:18:24,390 یہ سچ ہے کہ باطل ہو جاتا ہے. 406 00:18:24,390 --> 00:18:25,500 جھوٹے سچ ہو جاتا ہے. 407 00:18:25,500 --> 00:18:28,910 تو یہ، میں تجویز کریں گے، یہاں تک کہ ایک چھوٹی سی کا ایک طریقہ سے زیادہ بدیہی ہے 408 00:18:28,910 --> 00:18:32,200 کوڈ نے تحریری طور پر کیونکہ میں اب بھی جھوٹے مشکور ابتدا. 409 00:18:32,200 --> 00:18:33,530 میں اب بھی مندرجہ ذیل کرتے ہیں. 410 00:18:33,530 --> 00:18:35,700 میں صحیح شکرگزار مقرر وقت آنے پر. 411 00:18:35,700 --> 00:18:40,690 لیکن اب آپ نے ابھی واقعی یہ زبانی طور پر بائیں سے دائیں کوڈ کا ترجمہ کر سکتے ہیں، 412 00:18:40,690 --> 00:18:42,550 جبکہ شکر گزار نہیں. 413 00:18:42,550 --> 00:18:46,170 کیونکہ دھماکے، یا فجائیہ نقطہ، نہیں تصور کرنا، تو جبکہ 414 00:18:46,170 --> 00:18:47,010 نہیں شکر گزار ہے. 415 00:18:47,010 --> 00:18:49,740 >> تو پھر، ہم SE فی کوئی نئے متعارف کروایا نہیں ہے. 416 00:18:49,740 --> 00:18:53,230 ہم Booleans کے بارے میں واپس بات کی ہے جب ہم سکریچ کے ساتھ ادا کیا ہے. 417 00:18:53,230 --> 00:18:55,690 لیکن اب احساس ہوتا ہے ہم میں ہماری کوڈ لکھنے شروع کر سکتے ہیں 418 00:18:55,690 --> 00:18:56,550 بہت سے مختلف طریقوں سے. 419 00:18:56,550 --> 00:19:00,010 تو خاص طور پر pset1 میں اگر آپ کو راہ پر اعداد و شمار کے لئے جدوجہد کر طرح کی ہیں 420 00:19:00,010 --> 00:19:03,400 کچھ پروگرام لکھنا، مشکلات کی وجہ سے ہے تم قسمت میں ہو کوئی ہو جا 421 00:19:03,400 --> 00:19:05,780 حل ہے کہ آپ صلی اللہ علیہ وسلم ہو سکتا ہے کی تعداد. 422 00:19:05,780 --> 00:19:09,850 مثال کے طور پر، یہ پروگراموں میں سے بھی آسان کے لئے صرف تین ہے. 423 00:19:09,850 --> 00:19:10,180 ٹھیک ہے. 424 00:19:10,180 --> 00:19:13,860 اور اب پیر کو یاد کرتے ہیں، ہم واپسی کی اقدار کے ساتھ اس بات کو نوٹ کیجیئے پر چھوڑ دیا ہے. 425 00:19:13,860 --> 00:19:18,280 تو بہت ہی پہلی بار کے لئے، ہم نے ایک ایسا پروگرام ہے جو بنیادی ہی نہیں ہے لکھا ہے، 426 00:19:18,280 --> 00:19:22,240 یہ بھی اس کی اپنی مرضی کے تقریب میں ہے کہ میں نے یہاں لکھا ہے. 427 00:19:22,240 --> 00:19:26,640 تو لائن 34 کے ذریعے 31 میں، میں نے ایک کیوب تقریب کو لاگو کیا ہے. 428 00:19:26,640 --> 00:19:27,800 یہ پیچیدہ نہیں ہے. 429 00:19:27,800 --> 00:19:29,830 یہ صرف ایک بار بار ہے، اس معاملے میں. 430 00:19:29,830 --> 00:19:34,920 لیکن کیا اس کے بارے میں ضروری ہے یہ ہے کہ میں ایک کی شکل میں ان پٹ لے جا رہا ہوں اور 431 00:19:34,920 --> 00:19:38,910 میں بار کی شکل میں پیداوار میں واپس آ رہا ہوں ایک بار. 432 00:19:38,910 --> 00:19:43,940 >> تو اب میں کرنے کی صلاحیت ہے، بہت جیسے میں printf واحد کے ساتھ کیا کرتے تھے، فون 433 00:19:43,940 --> 00:19:47,120 کیوب تقریب کو فون کر کے اس تقریب میں ہے. 434 00:19:47,120 --> 00:19:49,470 اور کیوب تقریب کچھ ان پٹ لیتا ہے. 435 00:19:49,470 --> 00:19:52,030 اور کیوب تقریب کچھ پیداوار واپس. 436 00:19:52,030 --> 00:19:56,660 اور اس کے برعکس، printf صرف کچھ کیا. 437 00:19:56,660 --> 00:19:59,490 یہ کچھ ہے کہ ہم پرواہ واپس نہیں کیا - ایک کے طور پر اگرچہ، 438 00:19:59,490 --> 00:20:00,820 ایک طرف، یہ ایک قیمت کو واپس کرتا ہے. 439 00:20:00,820 --> 00:20:02,650 تم صرف عام طور پر نظر انداز. 440 00:20:02,650 --> 00:20:04,000 Printf کچھ میں نے کیا. 441 00:20:04,000 --> 00:20:06,220 یہ پردے پر پرنٹ کی ایک ضمنی اثر تھا. 442 00:20:06,220 --> 00:20:09,480 یہاں اس کے برعکس، ہم نے کیوب تقریب ہے، جس 443 00:20:09,480 --> 00:20:11,400 اصل میں کچھ واپس. 444 00:20:11,400 --> 00:20:12,960 >> تو یہ عام طور پر ہے - 445 00:20:12,960 --> 00:20:15,260 جو لوگ اس سے واقف ہیں ان کے لئے، یہ ایک کافی براہ راست خیال ہے. 446 00:20:15,260 --> 00:20:18,460 لیکن ان آدانوں میں گزر رہا حاصل کرنے کے اس خیال کے ساتھ کم واقف کے لئے 447 00:20:18,460 --> 00:20:21,700 واپس نتائج، صرف کچھ سپر سادہ کرنے کی کوشش کریں. 448 00:20:21,700 --> 00:20:25,180 آرام دہ اور پرسکون کسی مرحلے پر مختصر طور پر آ رہی ہے؟ 449 00:20:25,180 --> 00:20:27,460 آپ کو تم پر کیمرے کے ساتھ آرام دہ اور پرسکون ہے، کے طور پر اچھی طرح سے ہے. 450 00:20:27,460 --> 00:20:27,640 جی ہاں. 451 00:20:27,640 --> 00:20:28,610 ٹھیک ہے، تمہارا نام کیا ہے؟ 452 00:20:28,610 --> 00:20:29,020 KEN: کین. 453 00:20:29,020 --> 00:20:29,420 DAVID J. MALAN: کین. 454 00:20:29,420 --> 00:20:29,810 ٹھیک ہے، کین. 455 00:20:29,810 --> 00:20:31,060 پر چلو. 456 00:20:31,060 --> 00:20:34,660 تو کین قسم کی ایک تقریب یہاں ہونے جا رہا ہے. 457 00:20:34,660 --> 00:20:35,760 اور آگے بڑھو اور اس کے کیا. 458 00:20:35,760 --> 00:20:38,790 چلو، ایک چھوٹا سا پسند ہیں. 459 00:20:38,790 --> 00:20:39,770 آپ سے مل کر اچھا لگا. 460 00:20:39,770 --> 00:20:41,010 مرکز مرحلے میں آپ کا استقبال ہے. 461 00:20:41,010 --> 00:20:41,980 ٹھیک ہے. 462 00:20:41,980 --> 00:20:45,590 چلو اس بٹن کو یہاں مارا. 463 00:20:45,590 --> 00:20:46,420 ٹھیک ہے. 464 00:20:46,420 --> 00:20:49,490 تو یہاں آپ کو ایک جدید چاکبورڈ ہے. 465 00:20:49,490 --> 00:20:53,050 اور میں کیا ہوں اہم تقریب میں مثال کے طور پر ہے،. 466 00:20:53,050 --> 00:20:55,990 اور میں نے اپنے ہاتھ میں ایک رکن نہیں ہے. 467 00:20:55,990 --> 00:20:59,000 ٹھیک ہے، اصل میں، یہ کہنا نہیں کر سکتے ہیں - میں واقعی میں نہیں کس طرح یاد ہے. 468 00:20:59,000 --> 00:21:02,200 میں اچھی کی لکھاوٹ واقعی نہیں ہے. 469 00:21:02,200 --> 00:21:05,260 اور اس طرح اس لئے میں نے آپ کو میرے لئے سکرین پر کچھ کو پرنٹ کرنے کے لئے چاہتے ہیں. 470 00:21:05,260 --> 00:21:07,470 >> تو میں اہم پروگرام ہو رہا ہوں. 471 00:21:07,470 --> 00:21:15,060 اور میں آپ کے پاس جا رہا ہوں میرے چکن شروع میں لکھ کر اس کا کہنا ہے کہ، اور 472 00:21:15,060 --> 00:21:16,600 تو پھر آپ ان پٹ کو منظور ہے. 473 00:21:16,600 --> 00:21:20,000 تو کے طور پر پاگل ہے اگرچہ اس مشق ہے، کے افعال میں سے تصور اور ایک بلا 474 00:21:20,000 --> 00:21:22,260 تقریب اور ایک تقریب واقعی فوڑے اس آرہے ہیں نیچے. 475 00:21:22,260 --> 00:21:23,120 میں اہم ہوں. 476 00:21:23,120 --> 00:21:26,270 میں صرف printf سکرین پر لکھا ہے ("کچھ"). 477 00:21:26,270 --> 00:21:27,470 میں اس پروگرام کو چلا رہا ہوں. 478 00:21:27,470 --> 00:21:30,900 اور جیسے ہی کے طور پر کہا جاتا printf ہو جاتا ہے، یہ ایک دلیل لیتا ہے - یا ایک پیرامیٹر 479 00:21:30,900 --> 00:21:31,660 کبھی کبھی - 480 00:21:31,660 --> 00:21:32,780 ڈبل قیمت درج کرنے کے درمیان ہے. 481 00:21:32,780 --> 00:21:33,960 یہاں یہ دلیل ہے. 482 00:21:33,960 --> 00:21:35,740 میں کین پر گزر رہا ہوں. 483 00:21:35,740 --> 00:21:39,390 اب وہ بظاہر کہ پہلے کئی سال کے کچھ لکھا ایک سیاہ باکس ہے 484 00:21:39,390 --> 00:21:41,070 صرف جانتا ہے کہ سکرین پر چیزوں کو کس طرح پرنٹ کرنے کے لئے ہے. 485 00:21:41,070 --> 00:21:42,320 >> تو، پھانسی. 486 00:21:48,842 --> 00:21:49,900 یہ برا نہیں ہے. 487 00:21:49,900 --> 00:21:50,890 تو، بہت اچھا ہے. 488 00:21:50,890 --> 00:21:52,900 تو اب کین قتل کیا جاتا ہے. 489 00:21:52,900 --> 00:21:55,810 کیا اس نے مجھ سے کچھ کے ہاتھ میں واپس کی ضرورت ہے؟ 490 00:21:55,810 --> 00:21:57,240 تو ہم ابھی تک نہیں دیکھا ہے. 491 00:21:57,240 --> 00:21:59,230 ایک بار پھر، printf اصل میں ایک بڑی تعداد واپس کرتا ہے. 492 00:21:59,230 --> 00:22:01,640 لیکن ہم اب کیونکہ ہم نے اسے کبھی استعمال نہیں کیا ہے نظر انداز کی جا رہے ہیں. 493 00:22:01,640 --> 00:22:03,400 تو وہ کین کے لئے ہے. 494 00:22:03,400 --> 00:22:06,650 اور تو اب اہم واپس پلٹ آئے پھانسی - 495 00:22:06,650 --> 00:22:09,630 اہم پروگرام کے کنٹرول کے کوڈ کا اس لائن کیونکہ دوبارہ لیتا ہے، 496 00:22:09,630 --> 00:22:11,010 printf، قتل کیا جاتا ہے. 497 00:22:11,010 --> 00:22:13,890 اور ہم ہمارے قتل جو دوسرے لائنوں ہیں جس طرح کے بارے میں جانا. 498 00:22:13,890 --> 00:22:14,130 >> ٹھیک ہے. 499 00:22:14,130 --> 00:22:17,080 تو اب ہم ایک تھوڑا سا مختلف مثال کے طور پر کرنے کی کوشش کریں. 500 00:22:17,080 --> 00:22:22,430 اور اس وقت یہاں، یہاں پہلے سکرین صاف. 501 00:22:22,430 --> 00:22:24,670 اور اس وقت، ہم cubing تقریب کر دونگا. 502 00:22:24,670 --> 00:22:27,350 لیکن اس وقت، میں ایک پیداوار کی قیمت کی توقع ہے. 503 00:22:27,350 --> 00:22:28,630 تو آگے بڑھو اور اس کے کیا. 504 00:22:28,630 --> 00:22:35,680 تو اب میں کوڈ کی ایک سطر ہے جو کہتا ہے X = (X) کیوب. 505 00:22:35,680 --> 00:22:36,930 تو اصل میں let's - 506 00:22:41,450 --> 00:22:43,940 کوڈ، یاد، کی لائن اس طرح لگ رہا ہے. 507 00:22:43,940 --> 00:22:45,960 X = کیوب (X). 508 00:22:45,960 --> 00:22:48,100 تو یہ کس طرح کام کرنے جا رہا ہے؟ 509 00:22:48,100 --> 00:22:50,820 تو آگے بڑھیں اور آپ کو ایک سفید سکرین کو دوبارہ دے. 510 00:22:50,820 --> 00:22:55,000 اور میں اب X کی قدر نیچے ہے جس میں اس وقت لکھنے جا رہا ہوں 511 00:22:55,000 --> 00:23:01,080 وقت دو، کی کا کہنا ہے کہ، 2، اسے سادہ رکھیں ہوتا ہے. 512 00:23:01,080 --> 00:23:04,890 تو میں 2 کی قدر پر ایک کاغذ کا ٹکڑا نیچے لکھا ہے، 513 00:23:04,890 --> 00:23:06,100 جو میری قیمت ایکس ہے. 514 00:23:06,100 --> 00:23:08,250 میں اس کین حوالے. 515 00:23:08,250 --> 00:23:09,200 KEN: اور میں صرف جواب لکھا؟ 516 00:23:09,200 --> 00:23:12,660 DAVID J. MALAN: جی ہاں، صرف جواب لکھنا. 517 00:23:12,660 --> 00:23:13,030 ٹھیک ہے. 518 00:23:13,030 --> 00:23:16,280 اور اب وہ مجھ سے کچھ واپس ہے. 519 00:23:16,280 --> 00:23:17,560 تو - 520 00:23:17,560 --> 00:23:18,170 کامل. 521 00:23:18,170 --> 00:23:18,840 segue اچھا لگا. 522 00:23:18,840 --> 00:23:21,970 >> لہذا اب اس نے مجھے دیتا واپس اس کیس میں 8 کی قیمت. 523 00:23:21,970 --> 00:23:23,220 اور کیا میں اس کے ساتھ کیا کرتے ہیں؟ 524 00:23:23,220 --> 00:23:26,130 ٹھیک ہے، اصل میں، چلو دیکھتے ہیں. 525 00:23:26,130 --> 00:23:26,640 یہ حق حاصل کریں. 526 00:23:26,640 --> 00:23:27,880 میں نے اس کے ساتھ کیا کرنے جا رہا ہوں؟ 527 00:23:27,880 --> 00:23:31,900 اب میں اس قیمت کو لینے کے لئے اور اصل میں یہ ان لوگوں میں جمع کی جا رہی ہوں 528 00:23:31,900 --> 00:23:33,400 یاد میں ایک ہی بٹس. 529 00:23:33,400 --> 00:23:35,030 پر نوٹس، میں یہاں جدوجہد کر کے رہا ہوں. 530 00:23:35,030 --> 00:23:38,280 میں کچھ الجھن میں ہوں کیونکہ جہاں میں اصل میں X کی قدر کرتے ہیں لکھنے؟ 531 00:23:38,280 --> 00:23:41,840 کیونکہ جو میں نے ابھی کیا ہے وہ جسمانی طور پر ہاتھ کین ایک کاغذ کا ٹکڑا ہے 532 00:23:41,840 --> 00:23:44,400 2 قدر جس X تھا تھا. 533 00:23:44,400 --> 00:23:46,300 اور یقینا، یہی ہے کیا ہوتا ہے. 534 00:23:46,300 --> 00:23:50,100 تو یہ پتہ چلتا ہے کہ جب تم میں سے کسی ایک کو آپ کو ایک تقریب کہتے ہیں، اور آپ کو ایک بحث میں گزر 535 00:23:50,100 --> 00:23:54,130 "ہیلو دنیا" کو پسند کریں یا آپ 2 کی طرح بحث میں گزر، عام طور پر، تم 536 00:23:54,130 --> 00:23:56,720 اس دلیل کی ایک کاپی میں گزرنے والے. 537 00:23:56,720 --> 00:24:01,020 اور اس طرح کے طور پر میں نمبر 2 یہاں لکھا اور کین کو اس کے حوالے کر دیا، وہ ضروری 538 00:24:01,020 --> 00:24:04,760 کا مطلب یہ ہے کہ میں اب بھی قیمت 2 کی ایک کاپی کو کہیں ہے. 539 00:24:04,760 --> 00:24:08,140 کیونکہ یقینا، اب کہ میں واپس ہو گیا 8 قدر ہے، میں واپس جانے کی ضرورت ہے 540 00:24:08,140 --> 00:24:12,010 RAM اور اصل میں 8 لکھنے جہاں میں نے ایک بار نمبر 2. 541 00:24:12,010 --> 00:24:15,720 >> تو نابینا لفظی میں گزرنے والے کے اس اصول کی یاد 542 00:24:15,720 --> 00:24:16,730 قدر کی ایک نقل. 543 00:24:16,730 --> 00:24:19,570 کین اس کی بات کرتا ہے، آپ کے وزٹرز کا ریکارڈ رکھا واپس دیتا کچھ - اس معاملے میں، 544 00:24:19,570 --> 00:24:20,820 8 کی طرح ایک قدر ہے. 545 00:24:20,820 --> 00:24:22,660 اور پھر میں نے اس کی قیمت کے ساتھ کچھ کرنا ہے اگر میں 546 00:24:22,660 --> 00:24:24,880 اس کے ارد گرد رہنا چاہتا ہوں. 547 00:24:24,880 --> 00:24:29,470 تو یہ سب بہت پہلے بھی واقف ہو جائے گا. 548 00:24:29,470 --> 00:24:33,082 آپ اس ڈیمو کے لئے بہت بہت شکریہ، کین. 549 00:24:33,082 --> 00:24:34,820 ٹھیک ہے. 550 00:24:34,820 --> 00:24:36,720 بہت اچھا کام کیا ہے. 551 00:24:36,720 --> 00:24:40,610 تو چلو دیکھتے ہیں کہ کس طرح بالآخر تقریب میں سے کچھ سے متعلق 552 00:24:40,610 --> 00:24:42,270 بلا کہ ہم یہاں کیا کر رہے ہو. 553 00:24:42,270 --> 00:24:47,610 تو آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور ہمیں cubing مثال کے طور پر یہاں واپس لانے. 554 00:24:47,610 --> 00:24:53,080 نوٹس اور یہ کہ اگر ہم واقعی اس کے لینے کے شروع کرنا چاہتے ہیں، ہم جا رہے ہیں 555 00:24:53,080 --> 00:24:57,050 حقیقت یہ ہے کہ تعداد X ہے کہ جا رہا ہے میں منظور کی احساس ہونا پڑے گا 556 00:24:57,050 --> 00:25:01,390 یہاں اصل میں کیا ہے تقریب میں منظور کی جا رہی ہے سے مختلف ہے. 557 00:25:01,390 --> 00:25:03,940 تو پھر، کاپی کی طرف سے منظور یہ بہت بننے جا رہا ہے 558 00:25:03,940 --> 00:25:05,620 صرف ایک لمحے میں germane. 559 00:25:05,620 --> 00:25:09,320 >> تو ایسی چیز ہے جس کا حق ابھی تک بہت کام نہیں کرتا پر ایک نظر لے. 560 00:25:09,320 --> 00:25:11,790 مجھے آگے جانا ہے اور ایک تہائی چھوٹی گاڑی مثال کے طور پر کھولنے جا رہا ہوں، جس 561 00:25:11,790 --> 00:25:13,560 نوعیت کمرشل سے غلط ہے. 562 00:25:13,560 --> 00:25:18,070 اور یہ buggy3 کہا جاتا ہے، اور یہ ایک گماگمن تقریب نافذ. 563 00:25:18,070 --> 00:25:23,500 تو ہم یہاں ایک اہم تقریب ہے جو X اور Y کو منمانے ہے initialized ہے 564 00:25:23,500 --> 00:25:24,720 1 اور 2، بالترتیب. 565 00:25:24,720 --> 00:25:27,590 ہم GetInt استعمال کرتے ہیں، لیکن ہم صرف ایک سادہ ورزش کی ضرورت ہے کر سکتے ہیں. 566 00:25:27,590 --> 00:25:29,680 تو یہ 1 اور 2 کے طور پر مشکل کوڈت ہے. 567 00:25:29,680 --> 00:25:35,330 21 لائنوں اور 22 میں، ہم بظاہر X اور Y، فی سطر ایک پرنٹ ہے. 568 00:25:35,330 --> 00:25:39,620 اس کے بعد، 23 لائن پر، میں دعوی کرتے ہیں میں ان اقدار کو گماگمن رہا ہوں، ڈاٹ، ڈوٹ، ڈوٹ. 569 00:25:39,620 --> 00:25:43,030 میں بظاہر 24 لائن میں ایک تقریب میں کہا جاتا سویپ فون 570 00:25:43,030 --> 00:25:44,000 جو دو دلائل لیتا ہے. 571 00:25:44,000 --> 00:25:46,430 یہ مکمل طور پر legit ہے کے لئے کام کرتا ہے دو دلائل لے. 572 00:25:46,430 --> 00:25:48,220 ہم یہ دیکھ چکے ہیں printf یہ پہلے سے ہی کرنا ہے. 573 00:25:48,220 --> 00:25:50,370 تو سویپ بظاہر X اور Y لیتا ہے. 574 00:25:50,370 --> 00:25:53,010 اور جیسا کہ اس کے نام سے پتہ چلتا ہے، میں امید کرتا ہوں کہ یہ جا رہا ہے 575 00:25:53,010 --> 00:25:54,320 ان دونوں اقدار کا تبادلہ کریں. 576 00:25:54,320 --> 00:25:57,560 تبدیل تو پھر میں 25 لائن پر دعوی کرتے ہیں،. 577 00:25:57,560 --> 00:26:01,570 اور میں اس مفروضے کے تحت X اور Y دوبارہ پرنٹ ہے کہ 578 00:26:01,570 --> 00:26:02,830 وہ یقینا ہے تبدیل کیا گیا ہے. 579 00:26:02,830 --> 00:26:04,370 لیکن اگر میں واقعی اس پروگرام کو چلانے کے - 580 00:26:04,370 --> 00:26:06,060 مجھے ایک ٹرمینل ونڈو کھولنے کے. 581 00:26:06,060 --> 00:26:07,750 مجھے buggy3 بنانے. 582 00:26:07,750 --> 00:26:09,970 جیسا کہ نام سے پتہ چلتا ہے، یہ اچھی طرح سے ختم کرنے کے لئے نہیں ہے. 583 00:26:09,970 --> 00:26:14,690 کیونکہ جب میں درج کریں، دیکھیں گے کہ X 1 مارا یہ. 584 00:26:14,690 --> 00:26:15,720 Y 2 ہے. 585 00:26:15,720 --> 00:26:19,160 اور ابھی تک پروگرام کے اختتام پر، وہ اب بھی ہیں، حقیقت میں، وہی. 586 00:26:19,160 --> 00:26:22,760 >> تو مظاہرے ابھی کین کے ساتھ، جو اصل میں ہو رہا ہے کی بنیاد پر؟ 587 00:26:22,760 --> 00:26:24,660 چلو، اس سویپ تقریب میں کودو. 588 00:26:24,660 --> 00:26:25,800 یہ انتہائی مختصر ہے. 589 00:26:25,800 --> 00:26:28,020 یہ صرف طویل عرصے سے کوڈ کا ایک چند لائنوں کے ہے. 590 00:26:28,020 --> 00:26:32,810 لیکن کیا سادہ کہانی کی بنیاد پر بنیادی مسئلہ ہے کہا 591 00:26:32,810 --> 00:26:34,270 یہاں کین کے ساتھ؟ 592 00:26:34,270 --> 00:26:36,115 سویپ ٹوٹ کیوں ہے؟ 593 00:26:36,115 --> 00:26:37,365 [اشراوی] 594 00:26:39,840 --> 00:26:40,460 بالکل. 595 00:26:40,460 --> 00:26:43,610 تو ہم ایک نقل ذخیرہ کرنے کر رہے ہیں، خود متغیر نہیں ہے. 596 00:26:43,610 --> 00:26:46,810 دوسرے الفاظ میں، سویپ بظاہر دو دلائل، ایک int لیتا ہے. 597 00:26:46,810 --> 00:26:49,370 اور یہ منمانے ایک بی اور کہا جاتا ہے. 598 00:26:49,370 --> 00:26:54,430 اور یہاں میں X اور Y، جس سے بالترتیب 1 اور 2 میں منظور کر لیا ہے. 599 00:26:54,430 --> 00:26:56,580 لیکن میں ایکس میں لفظی نہیں گزر رہا ہوں. 600 00:26:56,580 --> 00:26:58,410 میں Y میں لفظی نہیں گزر رہا ہوں. 601 00:26:58,410 --> 00:27:01,230 میں ایکس کی ایک کاپی اور Y کی ایک کاپی کو منظور کر رہا ہوں. 602 00:27:01,230 --> 00:27:05,180 یہ تقریبا کی طرح ہے جیسے آپ کاپی اور اقدار کہ تبادلہ میں پیسٹ 603 00:27:05,180 --> 00:27:07,440 آپ یہ اصل میں جوڑتوڑ کرنا چاہتے ہیں. 604 00:27:07,440 --> 00:27:11,970 تو اگر یہ بات ہے، جب میں پروگرام پر عمل شروع ہے 605 00:27:11,970 --> 00:27:14,140 35 لائن، پھر 36 - 606 00:27:14,140 --> 00:27:17,740 جب میں 37 لائن کہانی میں اس وقت ملتا ہے، کی قیمت کیا ہے؟ 607 00:27:20,740 --> 00:27:24,850 کہانی میں اس وقت، 37 لائن، جو اس وقت کی قیمت ہے؟ 608 00:27:24,850 --> 00:27:25,980 تو یہ صرف 1 ہونا چاہئے. 609 00:27:25,980 --> 00:27:26,170 ٹھیک ہے نا؟ 610 00:27:26,170 --> 00:27:29,100 کیونکہ ایکس پہلی دلیل کے طور پر میں منظور کیا گیا تھا. 611 00:27:29,100 --> 00:27:33,150 اور یہ تقریب صرف منمانے اپنی پہلی دلیل بلا، ایک ہے. 612 00:27:33,150 --> 00:27:35,130 اسی طرح Y، دوسری دلیل ہے. 613 00:27:35,130 --> 00:27:37,930 اور یہ صرف منمانے دوسری دلیل ب بلا رہا ہے. 614 00:27:37,930 --> 00:27:40,510 >> اب اس سے وجود میں ائی اصل میں کافی صرف وضاحت کی ہے. 615 00:27:40,510 --> 00:27:40,880 اس کے بارے میں سوچو. 616 00:27:40,880 --> 00:27:42,980 ہم میں سے کوئی بھی شخص جو printf لکھا سے ملاقات کی ہے. 617 00:27:42,980 --> 00:27:49,880 تو ضرور وہ کوئی اندازہ نہیں ہے جو ہمارے متغیر 30 سال کے بعد جا رہے ہیں 618 00:27:49,880 --> 00:27:50,710 بلایا جائے. 619 00:27:50,710 --> 00:27:55,110 تو آپ کیا کہتے ہیں متغیرات میں کے درمیان ایک فرق ہے 620 00:27:55,110 --> 00:27:59,960 کام کرتا ہے آپ لکھ رہے ہیں اور کیا آپ کے پاس کام کرتا ہے تم میں متغیر کہتے 621 00:27:59,960 --> 00:28:01,770 بلا یا استعمال کرتے ہوئے. 622 00:28:01,770 --> 00:28:05,120 تو دوسرے الفاظ میں، میں میری متغیر X اور Y کے طور پر لکھا ہے. 623 00:28:05,120 --> 00:28:08,060 لیکن اگر کسی سویپ کی تقریب لکھا تھا، وہ یا وہ اس بات کو یقینی طور 624 00:28:08,060 --> 00:28:10,480 معلوم نہیں کہ میرا متغیر بلایا جا رہا ہے. 625 00:28:10,480 --> 00:28:13,850 تو احساس ہوتا ہے کہ یہی وجہ ہے کہ آپ کے ناموں کی اس duality ہے. 626 00:28:13,850 --> 00:28:16,800 تکنیکی طور پر، میں اتفاق کی طرف سے یہ کر سکتے ہیں. 627 00:28:16,800 --> 00:28:19,750 لیکن وہ اب بھی نقول کے طور پر کی جائے گی منظور. 628 00:28:19,750 --> 00:28:22,940 یہ ایک خالص اتفاق جمالیاتی اعتبار سے اس شخص کو اگر جو لکھا ہو گا 629 00:28:22,940 --> 00:28:25,590 سویپ اسی کے نام کا استعمال کیا تھا. 630 00:28:25,590 --> 00:28:25,930 >> ٹھیک ہے. 631 00:28:25,930 --> 00:28:29,010 تو کہانی میں اس وقت 37 اوپر، 1 ہے. 632 00:28:29,010 --> 00:28:30,410 ب 2 ہے. 633 00:28:30,410 --> 00:28:32,040 اور اب میں ان کے تبادلہ پر کارروائی. 634 00:28:32,040 --> 00:28:34,730 ٹھیک ہے سب سے پہلے، مجھے اصل میں یہ بہت زیادہ صرف دو. 635 00:28:34,730 --> 00:28:36,500 مجھے نہیں پتہ ہے کہ کوڈ کا ان تین لائنوں کر رہے تھے. 636 00:28:36,500 --> 00:28:37,370 مجھے ایسا. 637 00:28:37,370 --> 00:28:38,850 ب ملتا ہے. 638 00:28:38,850 --> 00:28:40,170 ب ہو جاتا ہے. 639 00:28:40,170 --> 00:28:41,450 ہو گیا. 640 00:28:41,450 --> 00:28:43,540 اس وجہ سے ٹوٹا ہوا ہے، منطقی طور پر؟ 641 00:28:46,980 --> 00:28:48,590 یہ بدیہی چیز کی طرح ہے، ہے نا؟ 642 00:28:48,590 --> 00:28:50,640 تو ب ہو جاتا ہے. 643 00:28:50,640 --> 00:28:52,450 اور بی ہو جاتا ہے. 644 00:28:52,450 --> 00:28:55,410 لیکن مسئلہ یہ ہے کہ جیسے ہی 37 لائن executes کیا ہے 645 00:28:55,410 --> 00:28:58,170 a اور b کی قیمت ہے؟ 646 00:28:58,170 --> 00:28:59,070 اسی، 1. 647 00:28:59,070 --> 00:29:03,460 کیونکہ آپ clobbered، تو بات ہے، آپ B تبدیل کر دیا گیا ہے ایک کے برابر ہے. 648 00:29:03,460 --> 00:29:06,000 تو ایک بار 37 لائن کو پھانسی دے دی ہے، بہت اچھا ہے. 649 00:29:06,000 --> 00:29:09,940 اب آپ اس تقریب کے نمبر 1 کے اندر دو کاپیاں ہیں. 650 00:29:09,940 --> 00:29:14,720 تو پھر جب آپ 38 سطر میں کہتے ہیں، ایک ب ہو جاتا ہے، ٹھیک ہے، تم اس قسم کی مصیبت میں ہیں. 651 00:29:14,720 --> 00:29:17,370 کیونکہ تم نے صرف 1 1 بتائے رہے ہیں. 652 00:29:17,370 --> 00:29:20,400 آپ کی طرح کی قیمت کے بارے میں آپ دیکھ بھال کو کھو دیا ہے. 653 00:29:20,400 --> 00:29:22,910 >> تو اس کی اصل ورژن میں نوٹس، جو میں نے کیا ہے. 654 00:29:22,910 --> 00:29:26,620 بجائے میں کوڈ کا ایک تہائی لائن ہے کہ اس طرح دیکھا تھا. 655 00:29:26,620 --> 00:29:29,910 میں ایک عارضی متغیر کا اعلان - tmp ایک بہت عام نام ہے 656 00:29:29,910 --> 00:29:31,240 ایک عارضی متغیر کے لئے. 657 00:29:31,240 --> 00:29:34,280 یہ ایک int ہے کیونکہ یہ میچ جو میں نے اس کی ایک کاپی بنانے کے لئے چاہتے ہیں ہے. 658 00:29:34,280 --> 00:29:39,720 میں tmp کے اندر اس کی ایک کاپی سٹور. تو ایک بار 37 لائن کو پھانسی دے دی ہے، 659 00:29:39,720 --> 00:29:41,390 کی قیمت ہے - 660 00:29:41,390 --> 00:29:42,970 فوری وویک چیک کرنے کے لیے - 661 00:29:42,970 --> 00:29:43,460 1. 662 00:29:43,460 --> 00:29:45,780 ب کی قیمت 2 ہے. 663 00:29:45,780 --> 00:29:48,470 اور tmp کی قیمت بھی 1 ہے. 664 00:29:48,470 --> 00:29:51,470 تو اب میں 38 لائن پھانسی. 665 00:29:51,470 --> 00:29:57,180 تو میں ایک بار 38 لائن executes، ب کی قیمت پر لیتا ہے. 666 00:29:57,180 --> 00:29:58,510 اور بی 2 تھی. 667 00:29:58,510 --> 00:30:00,500 تو اب 2 ہے. 668 00:30:00,500 --> 00:30:03,110 ب تو کہانی میں اس وقت، 2، 2 ہے، 669 00:30:03,110 --> 00:30:05,130 اور tmp 1 ہے. 670 00:30:05,130 --> 00:30:09,330 تو اب منطقی طور پر، ہم ب میں صرف plop tmp قدر کر سکتے ہیں. 671 00:30:09,330 --> 00:30:10,690 اور ہم کیا کر رہے ہیں. 672 00:30:10,690 --> 00:30:12,170 >> تو ہم نے اس مسئلہ کو حل کیا ہے. 673 00:30:12,170 --> 00:30:16,040 بدقسمتی سے، جب میں نے اس فارم میں اس پروگرام چلاتے ہیں، یہ اصل میں تبادلہ نہیں ہوتا 674 00:30:16,040 --> 00:30:17,700 کوئی اہمیت دیتا ہے. 675 00:30:17,700 --> 00:30:18,950 لیکن واضح، کیوں؟ 676 00:30:23,420 --> 00:30:26,310 میں صرف ایک لمحے سے پہلے منطقی مسئلہ طے ہوئی ہے. 677 00:30:26,310 --> 00:30:31,150 لیکن پھر اگر میں اس پروگرام چلاتے ہیں، X اور Y کے آخر تک کوئی تبدیلی نہیں رہیں گے 678 00:30:31,150 --> 00:30:33,834 پروگرام پر عملدرآمد ہے. 679 00:30:33,834 --> 00:30:34,760 [اشراوی] 680 00:30:34,760 --> 00:30:36,030 DAVID J. MALAN: تو ہم نے کچھ واپس نہیں کیا ہے. 681 00:30:36,030 --> 00:30:36,960 تو یہ درست ہے. 682 00:30:36,960 --> 00:30:39,880 لیکن یہ بدل جاتا ہے وہاں ایک مسئلہ کے تھوڑا سا ہے کیونکہ ابھی تک، 683 00:30:39,880 --> 00:30:42,460 صرف ایک ہی چیز ہے ہم واپس کرنے کے قابل ہو گیا ہے ایک بات یہ ہے. 684 00:30:42,460 --> 00:30:46,540 اور یہ سی کی پابندی تم واقعی میں صرف ایک قدر واپس کر سکتے ہیں ہے، 685 00:30:46,540 --> 00:30:48,970 جس صورت میں، میں یہاں اٹک کی قسم ہوں 686 00:30:48,970 --> 00:30:51,805 کیونکہ میں ایکس کی نئی قیمت واپس یا جا سکتا ہے میں واپس کر سکتا ہوں 687 00:30:51,805 --> 00:30:53,160 Y کی نئی قیمت. 688 00:30:53,160 --> 00:30:54,330 لیکن میں دونوں واپس کرنا چاہتے ہیں. 689 00:30:54,330 --> 00:30:58,010 تو یہاں آنے آسان حل نہیں ہے. 690 00:30:58,010 --> 00:30:59,770 لیکن مسئلہ بنیادی طور پر کیوں ہے؟ 691 00:30:59,770 --> 00:31:03,270 کیا ہم اصل میں تبدیل کر دیا ہے؟ 692 00:31:03,270 --> 00:31:04,010 A اور B. 693 00:31:04,010 --> 00:31:07,670 لیکن a اور b X اور Y کی کاپیاں ہیں جس کا مطلب ہے کہ ہم صرف اس کی سب نے ہے 694 00:31:07,670 --> 00:31:10,080 ہم صرف تین منٹ کی طرح خرچ سویپ کے بارے میں بات کر - کام 695 00:31:10,080 --> 00:31:11,680 تقریب اور ان متغیرات میں سے تین. 696 00:31:11,680 --> 00:31:15,090 اور اس تنہائی میں عظیم ہے، بالکل صحیح ہے. 697 00:31:15,090 --> 00:31:20,230 لیکن ایک اور ب کے دائرہ کار صرف ان لائنوں میں ہے. 698 00:31:20,230 --> 00:31:24,130 لہذا اگر آپ نے ابھی لوپ کے لئے ایک طرح، میں اندر کے لئے ایک عددی اعلان 699 00:31:24,130 --> 00:31:27,400 لوپ - اسی طرح ہے کہ ایک تقریب کے اگر آپ اعلان کر رہے ہیں اور بی اندر 700 00:31:27,400 --> 00:31:30,550 آپ کا لکھا ہے، وہ صرف اس تقریب کی درست اندر ہیں. 701 00:31:30,550 --> 00:31:35,020 جو جیسے ہی کے طور پر سویپ قتل کیا جاتا ہے کا مطلب ہے کہ اور ہم 24 لائن سے چلے جاؤ 702 00:31:35,020 --> 00:31:38,380 اوپر 25 X، اور Y بالکل تبدیل نہیں کیا گیا ہے. 703 00:31:38,380 --> 00:31:42,580 تم نے صرف وقت کی ایک پوری بہت متغیر کی کاپیاں گماگمن برباد کیا. 704 00:31:42,580 --> 00:31:46,490 >> تو یہ پتہ چلا ہے کہ اس کا حل کیا واقعی غیر واضح ہے. 705 00:31:46,490 --> 00:31:49,210 یہ کافی کافی نہیں ہے اقدار واپس کیونکہ ہم کر سکتے ہیں 706 00:31:49,210 --> 00:31:50,320 صرف ایک قدر واپس. 707 00:31:50,320 --> 00:31:53,370 اور میں واقعی میں ایک ہی وقت میں دونوں X اور Y تبادلہ کرنا چاہتے ہیں. 708 00:31:53,370 --> 00:31:55,020 تو ہم اس کے واپس آنے جا رہے ہیں. 709 00:31:55,020 --> 00:31:58,770 لیکن اب احساس ہوتا ہے کہ اس معاملے کو بنیادی حقیقت سے حاصل 710 00:31:58,770 --> 00:32:00,660 کہ a اور b کاپیاں ہیں. 711 00:32:00,660 --> 00:32:03,450 اور وہ ان کے اپنے دائرہ کار میں ہیں. 712 00:32:03,450 --> 00:32:04,980 ٹھیک ہے، کسی طرح سے اس کو حل کرنے کی کوشش کی تو. 713 00:32:04,980 --> 00:32:09,200 مجھے اصل میں یہاں واپس سکرال کریں اور کھول دو، کا کہنا ہے کہ، ایک چوتھی مختلف 714 00:32:09,200 --> 00:32:11,170 اس کے، buggy4. 715 00:32:11,170 --> 00:32:13,230 اور اس کے بارے میں کیا خیال ہے؟ 716 00:32:13,230 --> 00:32:16,690 یہ اسی طرح کی لیکن اس سے آسان میں نظر آتے ہیں اس سے پہلے کہ ہم ایک کوشش لے مسئلہ ہے 717 00:32:16,690 --> 00:32:17,530 اسے حل کرنا بھی سکھایا جاتا ہے. 718 00:32:17,530 --> 00:32:19,440 اس پروگرام میں اضافہ کہا جاتا ہے. 719 00:32:19,440 --> 00:32:24,320 اور یہ بظاہر 1 18 سطر میں ایک ایکس عددی initializes ہے. 720 00:32:24,320 --> 00:32:25,950 مجھے تو دعوی ہے X 1 ہے. 721 00:32:25,950 --> 00:32:28,020 میں تو incrementing، ڈوٹ، ڈوٹ، ڈوٹ دعوی کرتے ہیں. 722 00:32:28,020 --> 00:32:29,460 میں اس وقت اضافہ پر کال کریں. 723 00:32:29,460 --> 00:32:33,480 لیکن پھر لائنوں میں 22 اور 23، میں دعوی ہے یہ incremented کیا گیا ہے. 724 00:32:33,480 --> 00:32:37,780 میرا دعوی ہے ایکس ہے جو کچھ بھی ہے، 2 شاید. 725 00:32:37,780 --> 00:32:39,770 >> لیکن یہ پروگرام چھوٹی گاڑی ہے. 726 00:32:39,770 --> 00:32:41,020 کیا مسئلہ ہے؟ 727 00:32:43,450 --> 00:32:44,418 جی ہاں؟ 728 00:32:44,418 --> 00:32:45,668 [اشراوی] 729 00:32:49,260 --> 00:32:49,850 DAVID J. MALAN: بالکل. 730 00:32:49,850 --> 00:32:52,430 تو ایکس گیا ہے، 18 لائن پر واضح طور پر اعلان کیا ہے. 731 00:32:52,430 --> 00:32:54,410 یہ اہم گھوبگھرالی منحنی خطوط وحدانی کے اندر ہے. 732 00:32:54,410 --> 00:32:58,470 بہت آسان جواب یہ ہے کہ، X یہاں موجود ہے. 733 00:32:58,470 --> 00:33:01,510 یہ 32 سطر میں موجود نہیں ہے. 734 00:33:01,510 --> 00:33:03,710 تو اس پروگرام اصل میں بھی مرتب نہیں ہوں گے. 735 00:33:03,710 --> 00:33:07,910 سنکلک، جب میں اس کوڈ کو مرتب کرنے کی کوشش کریں، مجھ پر چللانا جا رہا ہے 736 00:33:07,910 --> 00:33:13,190 کچھ اگھوشیت شناخت کنندہ یا اس اثر سے کچھ کے بارے میں. 737 00:33:13,190 --> 00:33:13,870 اصل میں،،، کرنے کی کوشش کریں. 738 00:33:13,870 --> 00:33:15,235 یہ buggy4 بنانا ہے. 739 00:33:17,780 --> 00:33:18,190 وہاں ہے. 740 00:33:18,190 --> 00:33:22,030 لائن میں اگھوشیت شناخت کنندہ ایکس کا استعمال 32. 741 00:33:22,030 --> 00:33:25,700 اور اصل میں، یہاں واضح آج تاکہ اس میں مفید ہے 742 00:33:25,700 --> 00:33:27,140 دفتری اوقات اور گھر میں. 743 00:33:27,140 --> 00:33:29,000 یاد رکھیں کہ یہ ایک cryptically لکھا تھوڑا ہے. 744 00:33:29,000 --> 00:33:31,560 لیکن حقیقت یہ ہے کہ بجنا ہے ہم پر چللایا، اور کہا کہ 745 00:33:31,560 --> 00:33:36,970 buggy4.c: 32:5، اصل میں مفید ہے. 746 00:33:36,970 --> 00:33:41,970 اس کا مطلب یہ ہے کہ غلطی کردار پانچ پوزیشن میں 32 لائن پر ہے. 747 00:33:41,970 --> 00:33:44,670 تو ایک، دو، تین، چار، پانچ. 748 00:33:44,670 --> 00:33:46,640 یہ حقیقت میں ہے، جہاں مسئلہ ہے. 749 00:33:46,640 --> 00:33:49,710 اور دفتری اوقات میں اور گھر میں بھی ذہن میں رکھنے کی، میں خوش قسمت یہاں ہوں. 750 00:33:49,710 --> 00:33:50,740 میں ایک غلطی ہے. 751 00:33:50,740 --> 00:33:52,660 یہ نسبتا آسان ہے طے کرنے جا رہا ہے. 752 00:33:52,660 --> 00:33:56,220 لیکن اگر آپ ایک پوری زبردست خرابی کے پیغامات، پھر فل سکرین ملتی ہے، 753 00:33:56,220 --> 00:33:59,240 احساس کہ bottommost ایک کے روگسوچک ہو سکتا ہے 754 00:33:59,240 --> 00:34:00,320 اوپر والے. 755 00:34:00,320 --> 00:34:03,560 تو ہمیشہ اوپر سے نیچے سے اپنے کیڑے کا پیچھا. 756 00:34:03,560 --> 00:34:06,720 کیونکہ وہاں ایک اثر گلبہار چین ہے جو آپ کو تجویز کر رہا ہے ہو سکتا ہے 757 00:34:06,720 --> 00:34:09,030 راستہ مسائل سے آپ اصل میں کرتے ہیں ہے. 758 00:34:09,030 --> 00:34:14,989 >> تو ہم یہ کیسے ٹھیک اگر میرا مقصد X اضافہ کر سکتا ہے؟ 759 00:34:14,989 --> 00:34:15,370 یہ کیا ہے؟ 760 00:34:15,370 --> 00:34:15,620 ٹھیک ہے. 761 00:34:15,620 --> 00:34:16,679 تو ہم X عالمی کر سکتے ہیں. 762 00:34:16,679 --> 00:34:18,860 شارٹ کٹ کہ میں پہلے خبردار کیا لے. 763 00:34:18,860 --> 00:34:20,550 لیکن heck، ہم صرف ایک فوری حل کی ضرورت ہے. 764 00:34:20,550 --> 00:34:23,949 تو صرف int X یہاں کہہ. 765 00:34:23,949 --> 00:34:25,600 X عالمی کرتا ہے. 766 00:34:25,600 --> 00:34:28,460 تو اب اہم اس تک رسائی حاصل ہے. 767 00:34:28,460 --> 00:34:31,780 اور اضافہ اس تک رسائی ہے. 768 00:34:31,780 --> 00:34:33,860 اور اس طرح ہم آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور اب یہ تالیف. 769 00:34:33,860 --> 00:34:36,330 buggy4 بنائیں، درج کریں. 770 00:34:36,330 --> 00:34:37,440 اب مرتب لگتا ہے. 771 00:34:37,440 --> 00:34:40,949 چلو buggy4 چلاتے ہیں، اور یہ اصل میں کام کرنے لگتا ہے. 772 00:34:40,949 --> 00:34:42,780 اب یہ ان چیزوں میں سے ایک ہے - 773 00:34:42,780 --> 00:34:45,870 جیسا کہ میں کہتا ہوں، میں کے طور پر نہیں کرتے ہیں، جیسا کہ میں یہاں صرف کیا ہے. 774 00:34:45,870 --> 00:34:49,239 کیونکہ عام طور پر، ہمارے پروگرام زیادہ دلچسپ حاصل کرنے کے لئے جا رہے ہیں اور 775 00:34:49,239 --> 00:34:50,440 اس سے بہت لمبی ہے. 776 00:34:50,440 --> 00:34:53,199 اور اگر آپ کے زندگی کے مسائل کا حل صرف آہ ہے، ڈال 777 00:34:53,199 --> 00:34:57,550 آپ کی فائل کے سب سے اوپر دیئے گئے متغیر، بہت جلد پروگراموں حاصل 778 00:34:57,550 --> 00:34:59,700 horrifically کا انتظام مشکل ہے. 779 00:34:59,700 --> 00:35:02,050 نئے متغیر کے نام سوچنا یہ مشکل ہو جاتا ہے. 780 00:35:02,050 --> 00:35:05,240 سمجھ متغیر کیا کر رہا ہے یہ مشکل ہو جاتا ہے. 781 00:35:05,240 --> 00:35:08,250 >> اور عام طور پر، یہ ایک اچھا حل نہیں ہے. 782 00:35:08,250 --> 00:35:09,780 تو ایسا بہتر ہیں. 783 00:35:09,780 --> 00:35:11,920 ہم ایک عالمی متغیر کو یہاں استعمال نہیں کرنا چاہتے. 784 00:35:11,920 --> 00:35:14,050 مجھے X اضافہ کرنا چاہتے ہیں. 785 00:35:14,050 --> 00:35:16,050 لہذا میں نے ظاہر کر سکتے - 786 00:35:16,050 --> 00:35:18,450 دن کے آخر میں، یہ بیوکوف کہانی کی طرح ہے کیونکہ ہم صرف ایسا ہے. 787 00:35:18,450 --> 00:35:22,050 لیکن اگر میں اس آپریٹر کے بارے میں نہیں جانتے، کیا یا میں کرنے کی اجازت نہیں کیا گیا تھا 788 00:35:22,050 --> 00:35:27,700 اہم میں ہی اسے تبدیل، اور کس طرح کین میں یہاں، اس کو نافذ کر سکتے ہیں 789 00:35:27,700 --> 00:35:31,450 کیوب لیکن اضافہ کرنے کا وقت نہیں ہے؟ 790 00:35:31,450 --> 00:35:32,700 میں اس بات کو یہاں کیسے تبدیل کروں؟ 791 00:35:32,700 --> 00:35:33,025 جی ہاں. 792 00:35:33,025 --> 00:35:34,275 [اشراوی] 793 00:35:37,430 --> 00:35:38,000 DAVID J. MALAN: ٹھیک ہے، اچھا ہے. 794 00:35:38,000 --> 00:35:40,490 تو میں ایکس میں گزر کیوں نہیں کرتے؟ 795 00:35:40,490 --> 00:35:44,390 اور پھر بجائے اسے واپس کیوں کیا میں صرف X 1 + کی واپسی نہیں ہے؟ 796 00:35:44,390 --> 00:35:46,370 اب، ایک جوڑے چیزیں یہاں کو تبدیل کرنا ہوگا. 797 00:35:46,370 --> 00:35:47,530 میں صحیح راستے پر ہوں. 798 00:35:47,530 --> 00:35:48,910 اور کیا میں موافقت کی ضرورت ہے؟ 799 00:35:48,910 --> 00:35:49,470 کوئی اور. 800 00:35:49,470 --> 00:35:49,882 جی ہاں؟ 801 00:35:49,882 --> 00:35:51,530 [اشراوی] 802 00:35:51,530 --> 00:35:53,520 DAVID J. MALAN میں اضافہ کی واپسی کی قسم کو تبدیل کرنے کی ضرورت ہے 803 00:35:53,520 --> 00:35:54,590 کیونکہ یہ باطل نہیں ہے. 804 00:35:54,590 --> 00:35:56,650 صفر کا مطلب ہے کہ کچھ بھی نہیں ہے واپس کیا جا رہا ہے. 805 00:35:56,650 --> 00:35:57,600 لیکن واضح طور پر، اب یہ ہے. 806 00:35:57,600 --> 00:36:01,280 تو یہ ضروریات کو تبدیل کرنے کے لئے جو کچھ بھی کے مطابق int 807 00:36:01,280 --> 00:36:02,580 میں اصل میں واپس آ رہا ہوں. 808 00:36:02,580 --> 00:36:04,580 >> اب کچھ اور اب بھی چھوٹی گاڑی یہاں ہے. 809 00:36:04,580 --> 00:36:04,982 جی ہاں؟ 810 00:36:04,982 --> 00:36:06,590 [اشراوی] 811 00:36:06,590 --> 00:36:07,630 DAVID J. MALAN: تو مجھے X اضافہ کرنے کی ضرورت ہے؟ 812 00:36:07,630 --> 00:36:10,336 [اشراوی] 813 00:36:10,336 --> 00:36:11,880 DAVID J. MALAN: آہ، تو میں ایکس کو منتقل کرنے کی ضرورت ہے. 814 00:36:11,880 --> 00:36:13,300 لہذا میں نے یہ یہاں کرنے کی ضرورت ہے. 815 00:36:17,590 --> 00:36:19,690 پروٹوٹائپ تو میں یہ یہاں پر تبدیل کرنا ہوگا. 816 00:36:19,690 --> 00:36:21,290 تو یہ ایک int بننا ہے. 817 00:36:21,290 --> 00:36:22,820 یہ بن گیا ہے - 818 00:36:22,820 --> 00:36:23,670 ہمم. 819 00:36:23,670 --> 00:36:24,710 میں اصل میں ایک بگ ہے یہاں. 820 00:36:24,710 --> 00:36:25,780 میں کسی شخص کی یہ پہلی کو ٹھیک ہوں. 821 00:36:25,780 --> 00:36:27,990 یہ اصل میں کیا ہونا چاہئے؟ 822 00:36:27,990 --> 00:36:29,330 تو یہ ایک int کچھ ہوگا. 823 00:36:29,330 --> 00:36:30,340 یہ x ہو سکتا ہے. 824 00:36:30,340 --> 00:36:33,120 لیکن سچ کہوں تو، اگر آپ کو آپ کے متغیر X کے سب بلا شروع، یہ حاصل کرنے کے لئے جا رہا ہے 825 00:36:33,120 --> 00:36:35,250 کم سے کم واضح ہے جس جس ہے. 826 00:36:35,250 --> 00:36:38,210 تو صرف منمانے میرے لئے ایک مختلف نام دینے کے کنونشن کا انتخاب 827 00:36:38,210 --> 00:36:40,220 مددگار کام کرتا ہے، افعال میں لکھ رہا ہوں. 828 00:36:40,220 --> 00:36:41,100 ہم نے اسے فون کروں گا. 829 00:36:41,100 --> 00:36:44,500 یا ہم یہ کہہ سکتے ہیں - چلو کہتے ہیں اس سے بھی زیادہ واضح ہو even_number. 830 00:36:44,500 --> 00:36:47,610 تو پھر میں واپس جو نمبر 1 کے علاوہ ہے. 831 00:36:47,610 --> 00:36:49,720 اور اب میں ایک اور چیز کو تبدیل کرنے اور ایک ہے 832 00:36:49,720 --> 00:36:50,700 دوسرے یہاں بات. 833 00:36:50,700 --> 00:36:54,150 میں 21 لائن پر پہلے تبدیل کیا ہے؟ 834 00:36:54,150 --> 00:36:55,390 میں یہ x تفویض ہے. 835 00:36:55,390 --> 00:36:57,480 تو میں صرف اضافہ ایکس نہیں کہہ سکتے. 836 00:36:57,480 --> 00:37:01,000 X کی قدر تبدیل کرنے کے کی طرف سے جواب یاد کرنے کی ضرورت ہے 837 00:37:01,000 --> 00:37:02,020 بائیں ہاتھ کی طرف. 838 00:37:02,020 --> 00:37:04,930 اور اگرچہ X اب یہ ہے کہ بائیں اور دائیں، مکمل طور پر ٹھیک ہے کیونکہ 839 00:37:04,930 --> 00:37:08,370 دائیں طرف سب سے پہلے پھانسی ہو جاتا ہے تو بائیں میں plopped ہو جاتا ہے 840 00:37:08,370 --> 00:37:10,240 ہاتھ کی بات ہے، اس کیس میں ایکس. 841 00:37:10,240 --> 00:37:11,900 اور پھر آخر میں، یہ ایک آسان حل ہے. 842 00:37:11,900 --> 00:37:15,080 یہ صرف نیچے ذیل کیا ہے میچ چاہئے. 843 00:37:15,080 --> 00:37:17,120 Int تعداد. 844 00:37:17,120 --> 00:37:17,320 >> ٹھیک ہے. 845 00:37:17,320 --> 00:37:20,290 تو واقعی پاگل تقریب کے لئے تبدیلیاں کی ایک پوری گچرچھا ہے. 846 00:37:20,290 --> 00:37:24,250 لیکن چیزیں ہے کہ ہم تیزی سے چاہتا ہوں کے نمائندے شامل ہیں. 847 00:37:24,250 --> 00:37:25,490 تو buggy4 ہے. 848 00:37:25,490 --> 00:37:26,485 میں کہیں خراب ہے. 849 00:37:26,485 --> 00:37:27,520 اوہ میرے خدا. 850 00:37:27,520 --> 00:37:29,660 میں پانچ غلطیوں،، پسند، چھ لائن پروگرام ہے. 851 00:37:29,660 --> 00:37:36,500 تو کیا 18 لائن پر غلط ہے، کردار 5؟ 852 00:37:36,500 --> 00:37:36,970 ٹھیک ہے. 853 00:37:36,970 --> 00:37:39,330 تو میں اس int اعلان ہے. 854 00:37:39,330 --> 00:37:39,630 ٹھیک ہے. 855 00:37:39,630 --> 00:37:41,790 تو، دوسرے کی غلطیوں کی ایک پوری چڑھانے. 856 00:37:41,790 --> 00:37:42,230 اوہ میرے خدا. 857 00:37:42,230 --> 00:37:43,880 19، 18، 21. 858 00:37:43,880 --> 00:37:46,020 لیکن پھر، صرف سکرین صاف - 859 00:37:46,020 --> 00:37:48,660 کنٹرول یہاں L - اور بجنا دوبارہ چلنے والے. 860 00:37:48,660 --> 00:37:51,340 تو پانچ مسائل اصل میں صرف یہ ہے کہ ایک ہے. 861 00:37:51,340 --> 00:37:53,500 تو اب ہم buggy4 چلانے، درج کریں. 862 00:37:53,500 --> 00:37:54,150 واہ. 863 00:37:54,150 --> 00:37:57,434 X درست طریقے سے کیا گیا ہے incremented ہے. 864 00:37:57,434 --> 00:37:58,420 >> ٹھیک ہے. 865 00:37:58,420 --> 00:38:01,700 تعداد میں کس طرح اضافہ کرنے کے کوئی سوال؟ 866 00:38:01,700 --> 00:38:02,896 جی ہاں؟ 867 00:38:02,896 --> 00:38:06,864 اسپیکر 2: ایسا کیوں ہے کہ آپ ایکس متغیر میں صرف نمبر پر تبدیل کر سکتے ہیں 868 00:38:06,864 --> 00:38:08,860 نام اور یہ معلوم ہے کہ تم کیا مطلب گے؟ 869 00:38:08,860 --> 00:38:09,600 DAVID J. MALAN: اچھا سوال ہے. 870 00:38:09,600 --> 00:38:13,130 یہ کس طرح ہے کہ میں ایکس نمبر پر اور پروگرام پتہ چل جائے گا تبدیل کر سکتے ہیں 871 00:38:13,130 --> 00:38:13,990 فوری طور پر؟ 872 00:38:13,990 --> 00:38:16,120 تو ایک بار پھر اس کا اس تجرید کے طور پر لگتا ہے. 873 00:38:16,120 --> 00:38:20,110 تو اگر میں اہم ہوں، اور کین اضافہ ہے، اصل میں، میں نہیں پرواہ نہیں ہے 874 00:38:20,110 --> 00:38:21,540 کین کیا مطالبہ اس کی رکن. 875 00:38:21,540 --> 00:38:25,350 مجھے پرواہ نہیں کہ اس نے فون کچھ ہے کہ ان کے عمل سے کیا ہے 876 00:38:25,350 --> 00:38:26,550 اس کی فعالیت کے. 877 00:38:26,550 --> 00:38:32,130 تو یہ ایک پر عملدرآمد کی تفصیل کہ میں، اہم، نہیں ہے 878 00:38:32,130 --> 00:38:33,010 کے بارے میں دیکھ بھال کرنے کی ضرورت ہے. 879 00:38:33,010 --> 00:38:37,440 اور اس طرح صرف اسے تبدیل کرنے پر مسلسل تقریب کے اندر نمبر یہاں 880 00:38:37,440 --> 00:38:41,340 اور یہاں نمبر، یہ تو جب تک میں recompile لیتا ہے. 881 00:38:41,340 --> 00:38:43,820 ایسا لگتا ہے کی طرح اگر آپ کے بارے میں لگتا ہے کہ - ہم میں سے بہت سے لوگ کی ڈرائیور کے ساتھ، تم میں سے ان لوگوں 882 00:38:43,820 --> 00:38:46,590 لائسنس جو کارفرما ہے، یا اگر آپ بھی ایک گاڑی میں کارفرما ہے - 883 00:38:46,590 --> 00:38:50,710 ہم میں سے سب سے زیادہ نہیں پتہ ہے کہ کس طرح ایک کار ہڈ کے نیچے کام کرتا ہے ہے. 884 00:38:50,710 --> 00:38:54,710 اور لفظی، اگر آپ کو ڈاکو، ہم میں سے سب سے زیادہ کھولتے ہیں - خود شامل ہیں - 885 00:38:54,710 --> 00:38:56,580 جا رہے ہو سچ میں پتہ ہے جو ہم دیکھ رہے ہیں. 886 00:38:56,580 --> 00:38:58,850 کی طرح آپ کو یہ حق کی طرح سامان کے ساتھ اب محسوس ہو سکتا ہے ہے. 887 00:38:58,850 --> 00:39:01,380 لیکن ہم دیکھ بھال کس طرح کار کام واقعی نہیں ہے. 888 00:39:01,380 --> 00:39:05,000 ہم اس کی پرواہ نہیں ہے کہ کے اندر اندر کی سلاخوں اور pistons اور کیبلز کے تمام 889 00:39:05,000 --> 00:39:07,700 کار اصل میں کر رہے ہیں. 890 00:39:07,700 --> 00:39:11,360 >> تو آپ کیا کہتے ہیں پسٹن کی طرح کچھ فرق نہیں پڑتا 891 00:39:11,360 --> 00:39:11,920 یہاں اس معاملے میں. 892 00:39:11,920 --> 00:39:12,490 ایک ہی خیال ہے. 893 00:39:12,490 --> 00:39:12,670 جی ہاں؟ 894 00:39:12,670 --> 00:39:13,920 [اشراوی] 895 00:39:25,250 --> 00:39:29,530 DAVID J. MALAN: اگر متغیر مساج پل کی استعمال پہلے تھے، 896 00:39:29,530 --> 00:39:32,220 آپ، پروگرامر، انہیں ہر جگہ کو تبدیل کرنے کی ضرورت گے. 897 00:39:32,220 --> 00:39:35,230 یا آپ فائل مینو، لفظی، تو کرتے ہیں اور تلاش کریں / بدلیں 898 00:39:35,230 --> 00:39:36,270 اس طرح کچھ. 899 00:39:36,270 --> 00:39:40,110 لیکن آپ کو وہ تبدیلیاں خود بنانے کی ضرورت کے لئے جا رہے ہیں. 900 00:39:40,110 --> 00:39:41,200 تم مسلسل ہونا پڑے گا. 901 00:39:41,200 --> 00:39:42,450 [اشراوی] 902 00:39:47,200 --> 00:39:48,960 DAVID J. کریں MALAN: یہاں کی طرح ایک خاص حکم ہے؟ 903 00:39:48,960 --> 00:39:52,660 اگر یہ دوسرے نمبر int؟ 904 00:39:52,660 --> 00:39:52,940 جی ہاں. 905 00:39:52,940 --> 00:39:56,430 حکم تو فرق پڑتا ہے جب آپ تقریب کو بلا رہے ہیں. 906 00:39:56,430 --> 00:40:00,350 تو اگر میں اضافہ کچھ کوما کچھ کے ساتھ بلا رہے تھے یہاں، 907 00:40:00,350 --> 00:40:01,400 وہاں ایک براہ راست میپنگ ہے. 908 00:40:01,400 --> 00:40:04,490 پہلی متغیر، جو کچھ بھی کہتے ہیں، سب سے پہلے ایک نقل کی جاتی ہے 909 00:40:04,490 --> 00:40:05,480 یہاں دلیل. 910 00:40:05,480 --> 00:40:07,280 معاف کیجئے گا، یہ ایک خانے نہیں ہونا چاہئے. 911 00:40:07,280 --> 00:40:09,300 دوسرے کے ساتھ دلیل لائنوں. 912 00:40:09,300 --> 00:40:11,220 >> تو حکم، جی ہاں، معاملات. 913 00:40:11,220 --> 00:40:11,490 ٹھیک ہے. 914 00:40:11,490 --> 00:40:13,360 معاف کرنا میں وہاں حاصل کرنے کے لئے ایک طویل راستہ لیا. 915 00:40:13,360 --> 00:40:14,610 دیگر سوال؟ 916 00:40:16,460 --> 00:40:16,850 ٹھیک ہے. 917 00:40:16,850 --> 00:40:20,300 تو چلو دیکھتے ہیں، اگر ہم جو اصل میں ہو رہا ہے کی ایک تصویر پینٹ نہیں کر سکتے ہیں 918 00:40:20,300 --> 00:40:22,160 یہاں ہڈ کے نیچے، تو بات کرنے کی. 919 00:40:22,160 --> 00:40:26,310 تو یہ ایک مستطیل ہے کہ آپ کے کمپیوٹر کی میموری کی نمائندگی کر سکتے ہیں ہے. 920 00:40:26,310 --> 00:40:31,240 تو بھی اگر آپ کو کوئی اندازہ نہیں ہے میموری کس طرح کام کرتا ہے یا کس طرح RAM کام ہے، کم از کم 921 00:40:31,240 --> 00:40:33,590 فرض ہے کہ آپ کو اس کے bunches ان دنوں ہیں. 922 00:40:33,590 --> 00:40:34,740 تم اس کے میگا بائٹ ہے. 923 00:40:34,740 --> 00:40:35,760 آپ کے پاس اس کی گیگا بائٹس ہے. 924 00:40:35,760 --> 00:40:40,690 اور ہم ہفتے صفر سے جانتے ہیں کہ صرف ایک بائٹ کیا ہے؟ 925 00:40:40,690 --> 00:40:41,280 8 بٹس. 926 00:40:41,280 --> 00:40:42,730 ٹھیک ہے، تو 8 zeroes اور ہیں. 927 00:40:42,730 --> 00:40:46,300 لہذا اگر آپ کے کمپیوٹر میں ان دنوں RAM کے ایک ٹمٹم، RAM کے دو gigs ہیں، آپ کو ایک ہے 928 00:40:46,300 --> 00:40:54,450 بلین یا 2 ارب بائٹس میموری، یا 8 تقریبا ارب یا 16 ارب 929 00:40:54,450 --> 00:40:56,560 اندر آپ کے کمپیوٹر کی بٹس،. 930 00:40:56,560 --> 00:40:59,710 اب تھوڑا Woolly ولی مثال کے برعکس، مقناطیسی ذرات نہیں ہے 931 00:40:59,710 --> 00:41:00,560 عام طور پر اب. 932 00:41:00,560 --> 00:41:04,470 تیزی، لیپ ٹاپ میں کم از کم، اس ٹھوس ریاست ڈرائیوز، SSDs کہ 933 00:41:04,470 --> 00:41:05,560 صرف کوئی حصوں کو منتقل کر دیا ہے. 934 00:41:05,560 --> 00:41:06,710 یہ تمام الیکٹرانک ہے. 935 00:41:06,710 --> 00:41:08,070 یہ سب کی بنیاد پر بجلی ہے. 936 00:41:08,070 --> 00:41:12,360 تو ہے، لیکن صرف ایک یا دو کی نمائندگی کے طور پر اس مستطیل کے بارے میں سوچو، 937 00:41:12,360 --> 00:41:13,930 میموری کی گیگا بائٹس ہے کہ آپ ہے. 938 00:41:13,930 --> 00:41:15,500 >> تو اس میموری کا ایک حصہ ہے. 939 00:41:15,500 --> 00:41:20,460 اب کمپیوٹر سائنس کی دنیا سے دور تقسیم حصوں کی طرح ہے 940 00:41:20,460 --> 00:41:22,570 میموری مختلف چیز ہے. 941 00:41:22,570 --> 00:41:25,930 تو مثال کے طور پر، اگر یہ آپ کے کمپیوٹر کی RAM ہے - کے طور پر کی طرف سے تجویز پیش کی 942 00:41:25,930 --> 00:41:30,400 وہاں مستطیل - کہ کنونشن کی طرف سے بدل جائے تو سمجھ لینا، آپ کے RAM کے سب سے اوپر دیئے گئے، تو 943 00:41:30,400 --> 00:41:33,170 بات، عام طور پر ہے جو متن کے ٹکڑے بھی کہا جاتا ہے. 944 00:41:33,170 --> 00:41:35,910 وہ zeroes اور ہیں کہ آپ نے مرتب کیا ہے. 945 00:41:35,910 --> 00:41:39,040 تو جب ہم کیا a.out ہے میں ہڈ کے نیچے دیکھا ہے، 946 00:41:39,040 --> 00:41:40,360 zeroes اور ہیں - 947 00:41:40,360 --> 00:41:44,000 جب تم نے ایک پروگرام چلاتے ہیں، ان zeroes اور ہیں آپ کی ہارڈ سے بھری ہوئی ہیں 948 00:41:44,000 --> 00:41:46,290 کہا جاتا RAM کچھ میں ڈرائیو. 949 00:41:46,290 --> 00:41:48,950 اور RAM میں، وہ سب سے اوپر ڈال رہے ہیں. 950 00:41:48,950 --> 00:41:50,330 اب اس دوران، آپ کو دوسری چیزوں ہے. 951 00:41:50,330 --> 00:41:53,060 Initialized ڈیٹا، غیر ابتدا شدہ ڈیٹا. 952 00:41:53,060 --> 00:41:56,440 میموری کا وہ دو علاقے اس وقت عالمی متغیر کا حوالہ دیتے ہیں، جس 953 00:41:56,440 --> 00:41:57,530 آپ اکثر استعمال نہیں کرتے. 954 00:41:57,530 --> 00:42:00,630 لیکن کبھی کبھی اگر آپ ایسا کرتے ہیں، انہوں نے وہاں ساتھ ساتھ ختم. 955 00:42:00,630 --> 00:42:01,620 اس کے علاوہ کسی اور چیز ہے. 956 00:42:01,620 --> 00:42:04,130 ماحولیات متغیر، جو ہمارے پاس زیادہ وقت خرچ نہیں کریں گے. 957 00:42:04,130 --> 00:42:06,120 لیکن اس وقت دو اہم چیزیں جو اس پورے واپس آئے گا 958 00:42:06,120 --> 00:42:08,130 سمسٹر، اسٹیک، اور ڈھیر. 959 00:42:08,130 --> 00:42:12,280 >> تو آپ کے کمپیوٹر کی میموری کا سب سے زیادہ محفوظ ہے جب کے لئے ایک پروگرام چلا رہا ہے 960 00:42:12,280 --> 00:42:14,880 کچھ اسٹیک کو فون کیا اور کچھ ڈھیر ملاقات کی. 961 00:42:14,880 --> 00:42:16,940 اور ہم آج ڈھیر کے بارے میں بات کرنے کے لئے نہیں جا رہے ہیں، لیکن ہم 962 00:42:16,940 --> 00:42:18,180 اسٹیک کے بارے میں بات کرتے ہیں. 963 00:42:18,180 --> 00:42:22,910 اور اسٹیک کھانے کے ہال کی طرح بصری جادو مراد ہے 964 00:42:22,910 --> 00:42:26,120 Mather ہاؤس میں کھانے کی ٹرے، یا تم جہاں بھی ہو ہو، جہاں 965 00:42:26,120 --> 00:42:27,810 ہر روز ڈائننگ ہال کے عملے نے انہیں صاف. 966 00:42:27,810 --> 00:42:30,180 وہ انہیں اوپر منزل سے کتابیں رکھی. 967 00:42:30,180 --> 00:42:33,800 اور اسی طرح یاد میں، کچھ ڈال کے اس کا خیال ہے 968 00:42:33,800 --> 00:42:36,740 ، ایک اسٹیک کچھ ڈال، ایک اسٹیک کچھ ڈال کتابیں رکھی. 969 00:42:36,740 --> 00:42:38,000 اور کیا ہم اس سے کیا مطلب ہے؟ 970 00:42:38,000 --> 00:42:41,430 چلو، اس تصویر کے کم نصف پر میں زوم، آپ کے کمپیوٹر کی 971 00:42:41,430 --> 00:42:43,990 RAM، مندرجہ ذیل تجویز ہے. 972 00:42:43,990 --> 00:42:48,300 یہ پتہ چلا ہے کہ جب آپ a.out کی طرح ایک پروگرام چلاتے ہیں یا خوش جو کچھ بھی ہے، 973 00:42:48,300 --> 00:42:49,920 پروگرام ہے کہ آپ نے لکھا ہے، 974 00:42:49,920 --> 00:42:53,030 پھر، کے zeroes اور ہیں ان کو آپ کی ہارڈ ڈرائیو سے بھری ہوئی ہیں - جو 975 00:42:53,030 --> 00:42:56,190 طویل مدتی سٹوریج، وہاں رہتا ہے اس وقت بھی جب آپ کو پلگ ھیںچو - 976 00:42:56,190 --> 00:42:57,220 RAM میں بھری ہوئی ہے. 977 00:42:57,220 --> 00:42:59,020 RAM ہارڈ ڈرائیوز سے تیز ہے. 978 00:42:59,020 --> 00:43:00,700 یہ ہارڈ ڈرائیوز سے چھوٹا ہے. 979 00:43:00,700 --> 00:43:03,490 لیکن یہ پروگراموں جہاں رہتے ہیں جب تم ان سے چلا رہے ہیں. 980 00:43:03,490 --> 00:43:06,380 >> تو آپ ڈبل میک یا PC پر ایک پروگرام پر کلک کریں - اس سے بھری ہوئی ہے 981 00:43:06,380 --> 00:43:07,750 RAM میں ہارڈ ڈرائیو. 982 00:43:07,750 --> 00:43:11,760 جیسے ہی یہ RAM میں بھری ہوئی ہے، zeroes اور ہیں ویسے سب سے اوپر دیئے گئے، 983 00:43:11,760 --> 00:43:13,130 متن کے ٹکڑے سے ملاقات کی. 984 00:43:13,130 --> 00:43:17,040 لیکن پھر جیسے ہی کے طور پر آپ کے پروگرام اصل میں شروع ہوتا ہے چل رہا ہے، بنیادی 985 00:43:17,040 --> 00:43:18,140 تقریب میں کہا جاتا ہے. 986 00:43:18,140 --> 00:43:21,070 اور اہم، جیسا کہ ہم نے دیکھا ہے، اکثر مقامی متغیر ہے. 987 00:43:21,070 --> 00:43:24,560 اور ints اور ڈور اور حروف اور طرح کی ہے. 988 00:43:24,560 --> 00:43:28,300 تو اگر آپ کا پروگرام ہے کہ آپ نے لکھا ہے یا پروگرام ہے کہ آپ کو ہے 989 00:43:28,300 --> 00:43:33,680 ڈبل کلک کیا ہے اہم اندر کچھ متغیر کا استعمال کیا ہے، وہ میں ختم 990 00:43:33,680 --> 00:43:37,020 میموری کا اپنے اسٹیک کے سب سے نیچے دیئے، تو بات کرنے کی. 991 00:43:37,020 --> 00:43:39,160 اب concretely، یہ اصل میں کیا مطلب ہے؟ 992 00:43:39,160 --> 00:43:44,080 یہ صرف کا مطلب یہ ہے کہ اگر ہم چیزوں نمبر پر جا رہے تھے - 993 00:43:44,080 --> 00:43:49,380 اگر ہم آپ کے کمپیوٹر میں RAM کی بائٹس کی تعداد کو جا رہے تھے نوٹس، کہ 994 00:43:49,380 --> 00:43:51,650 یہ بائٹ تعداد صفر ہو سکتا ہے. 995 00:43:51,650 --> 00:43:56,130 یہ بائٹ نمبر ایک، دو، تین، چار، پانچ، چھ، ہو سکتا ہے 996 00:43:56,130 --> 00:43:57,290 راہ پسند - 997 00:43:57,290 --> 00:44:01,520 ارب 2 تمام طریقہ سب سے اوپر ہو جائے گا. 998 00:44:01,520 --> 00:44:05,960 تو دوسرے الفاظ میں، یہ، جب ہم بائٹس کی شرائط میں RAM یا میموری کے بارے میں بات کرتے ہیں 999 00:44:05,960 --> 00:44:09,680 کا مطلب صرف اتنا ہے کہ کسی نے فیصلہ کیا ہے جو ہر ایک کی تعداد 1000 00:44:09,680 --> 00:44:11,110 میموری کی وہ مقدار. 1001 00:44:11,110 --> 00:44:16,950 >> تو جب آپ ایک int کے لئے 32 بٹیں کی ضرورت ہے، یا آپ کو ایک چار کے لئے 8 بٹس، جہاں کی ضرورت ہے 1002 00:44:16,950 --> 00:44:18,320 وہ یاد میں آخر؟ 1003 00:44:18,320 --> 00:44:20,650 اچھا conceptually، وہ اس کے سب سے نیچے دیئے گئے آخر 1004 00:44:20,650 --> 00:44:21,780 بات اسٹیک ملاقات کی. 1005 00:44:21,780 --> 00:44:25,670 لیکن جو دلچسپ اب ہے جب اہم مطالبہ ایک تقریب ہے. 1006 00:44:25,670 --> 00:44:28,830 FOO، صرف ایک صوابدیدی نام نامی ایک تقریب مان لیں. 1007 00:44:28,830 --> 00:44:32,480 کیا ہوتا ہے اہم ہے میموری کی یہ اسٹیک کے سب سے نیچے دیئے گئے ہے. 1008 00:44:32,480 --> 00:44:35,630 FOO اب یاد میں مرکزی کے سب سے اوپر پر لگایا جاتا ہے. 1009 00:44:35,630 --> 00:44:40,020 تو ہے جو کسی بھی مقامی متغیر FOO طرح کی conceptually اوپر ختم ہے 1010 00:44:40,020 --> 00:44:40,770 اہم ہیں. 1011 00:44:40,770 --> 00:44:46,920 FOO کو ایک دوسرے سے ملاقات کی بار ایک تقریب کہتے ہیں، اگر ان متغیرات یہاں ختم. 1012 00:44:46,920 --> 00:44:49,790 اگر بار کچھ اور، یہاں، یہاں، یہاں کہتے ہیں. 1013 00:44:49,790 --> 00:44:53,900 تو ایک پروگرام چلا رہا کرنے کے بارے میں دلچسپ کیا ہے یہ ہے کہ آپ کے افعال کہتے ہیں، 1014 00:44:53,900 --> 00:44:57,720 اور ان افعال افعال کہتے ہیں، اور ان افعال کے افعال کا فون، 1015 00:44:57,720 --> 00:45:00,980 آپ کو یاد میں اس کے افعال میں سے اسٹیک تعمیر. 1016 00:45:00,980 --> 00:45:06,740 اور صرف ایک تقریب کی واپسی میں ایک بار تم اس میموری کے واپس آنے شروع ہے. 1017 00:45:06,740 --> 00:45:11,190 تو ایک کمپیوٹر پروگرام میں میموری سے باہر چلانے کا سب سے آسان کے طریقوں میں سے ایک ہے 1018 00:45:11,190 --> 00:45:14,170 کام کرتا ہے جو کبھی واپس لکھنے. 1019 00:45:14,170 --> 00:45:16,650 >> تو مثال کے طور پر، ایک سے زیادہ کے طور پر مظاہرہ 1020 00:45:16,650 --> 00:45:18,460 جان بوجھ کر چھوٹی گاڑی پروگرام. 1021 00:45:18,460 --> 00:45:24,690 چلو آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور # ، int اہم (باطل) شامل ہیں. 1022 00:45:24,690 --> 00:45:31,270 اور میں کرنے جا رہا ہوں جبکہ (> 1 2)، جو شاید کبھی نہیں کرے گا 1023 00:45:31,270 --> 00:45:33,370 ہم پر تبدیل کریں. 1024 00:45:33,370 --> 00:45:37,720 اور اب آپ کے وزٹرز کا ریکارڈ رکھا آگے جا اور printf کرنا. 1025 00:45:37,720 --> 00:45:39,950 اصل میں، یہ کم ضعف دلچسپ ہونے جا رہا ہے. 1026 00:45:39,950 --> 00:45:40,460 چلو، ایسا. 1027 00:45:40,460 --> 00:45:44,840 int کے لیے (میں = 0، میں 0>). 1028 00:45:44,840 --> 00:45:49,740 چلو یہ غلطی، میں + +. 1029 00:45:49,740 --> 00:45:51,150 اور printf یہاں نہیں ہے. 1030 00:45:51,150 --> 00:45:52,550 پر عمل کیا میں تبلیغ کر رہا تھا. 1031 00:45:52,550 --> 00:45:54,090 ایک طریقہ یہاں ہے. 1032 00:45:54,090 --> 00:46:00,860 باطل کورس، اور ہم میں int کہیں گے. 1033 00:46:00,860 --> 00:46:02,295 اور پھر میں، printf کہنے جا رہا ہوں - 1034 00:46:04,871 --> 00:46:06,790 اوہ، اس کو زیادہ دلچسپ بنانے کے. 1035 00:46:06,790 --> 00:46:08,350 چلو، اصل میں کچھ بھی نہیں پرنٹ. 1036 00:46:08,350 --> 00:46:10,530 چلو ایسا کریں. 1037 00:46:10,530 --> 00:46:11,780 کورس (آئی) ہے. 1038 00:46:16,630 --> 00:46:17,000 >> ٹھیک ہے. 1039 00:46:17,000 --> 00:46:20,040 تو یہ چھوٹی گاڑی ہے کیونکہ کیوں؟ 1040 00:46:20,040 --> 00:46:22,850 میں اس بنا رہا ہوں جیسا کہ میں جا رہا ہوں کیونکہ پروگرام کی کچھ اصل نہیں کرتی 1041 00:46:22,850 --> 00:46:23,420 دلچسپی کے. 1042 00:46:23,420 --> 00:46:24,670 لیکن اس کا مقصد نہیں ہے. 1043 00:46:24,670 --> 00:46:30,440 مقصد یہ ہے کہ ایک پروگرام جن کی اہم تقریب کیا، بظاہر ہے کو لکھنے کے لئے ہے؟ 1044 00:46:30,440 --> 00:46:31,370 خود کو کال کریں. 1045 00:46:31,370 --> 00:46:32,600 اور اصل میں، ہم لوپ کی ضرورت نہیں ہے. 1046 00:46:32,600 --> 00:46:36,070 چلو یہ بھی صرف اس لئے آسان بنانے کے طور پر واقعی کے نزدیک نہ کھو 1047 00:46:36,070 --> 00:46:37,310 بنیادی مسئلے سے. 1048 00:46:37,310 --> 00:46:39,200 مین کالز کو کچھ کورس گانے کورس. 1049 00:46:39,200 --> 00:46:41,760 اس وقت میں مورھ کچھ کیا، اور میں کورس کال کورس تھا کیونکہ میں فرض کیا گیا ہے 1050 00:46:41,760 --> 00:46:43,550 کسی اور شاید اسے نافذ کرنے جا رہا تھا. 1051 00:46:43,550 --> 00:46:45,960 اور اب یہ ابھی تک مرتب نہیں ہے. 1052 00:46:45,960 --> 00:46:48,340 مجھے کیا کرنے کی ضرورت ہے؟ 1053 00:46:48,340 --> 00:46:49,700 یاد میں پروٹوٹائپ کی ضرورت ہے. 1054 00:46:49,700 --> 00:46:55,520 اس لئے میں یہاں باطل کورس (int میں) کی ضرورت ہے. 1055 00:46:55,520 --> 00:46:57,470 >> تو اب، اگر میں یہاں نیچے جاتے - 1056 00:46:57,470 --> 00:46:59,030 اصل میں، بڑی ونڈو کا استعمال کریں. 1057 00:46:59,030 --> 00:47:01,670 چلو آگے بڑھو اور کورس بنانا. 1058 00:47:01,670 --> 00:47:06,000 چلو آگے بڑھو اور کورس بنانا. 1059 00:47:06,000 --> 00:47:08,302 نامعلوم declarer میں استعمال کریں. 1060 00:47:08,302 --> 00:47:09,860 اوہ، یہ پاگل تھا. 1061 00:47:09,860 --> 00:47:11,020 ہم دلیل کی ضرورت نہیں ہے. 1062 00:47:11,020 --> 00:47:13,680 چلو ایسا کریں. 1063 00:47:13,680 --> 00:47:14,550 کاش ہم اس طرح شروع کیا تھا. 1064 00:47:14,550 --> 00:47:16,160 یہ لکھنا بہت آسان پروگرام ہوتا ہے. 1065 00:47:16,160 --> 00:47:20,100 تو ہے. 1066 00:47:20,100 --> 00:47:23,870 اب میری ٹرمنل ونڈو دوبارہ چلنے والے بجنا. 1067 00:47:23,870 --> 00:47:26,900 اور ہم یہاں جانا ہے. 1068 00:47:26,900 --> 00:47:28,020 وہ بہت تیز تھا. 1069 00:47:28,020 --> 00:47:30,690 کیا اصل میں صرف ہوا ہے، لیکن؟ 1070 00:47:30,690 --> 00:47:33,430 اچھا، اب میں پرنٹ لائن شامل کریں گے، ہم دیکھ سکتے ہیں. 1071 00:47:33,430 --> 00:47:41,330 تو مجھے printf کا کہنا ہے کہ، چلو کا کہنا ہے کہ، میں یہاں ہوں. 1072 00:47:41,330 --> 00:47:43,470 ٹھیک ہے، کوئی متغیر نہیں، ہم اس طرح اس کو چھوڑ دیں گے. 1073 00:47:43,470 --> 00:47:44,860 آپ کے وزٹرز کا ریکارڈ رکھا چلانے کو دوبارہ. 1074 00:47:44,860 --> 00:47:47,940 آپ کے وزٹرز کا ریکارڈ رکھا کورس دوبارہ چلنے والے دو. 1075 00:47:47,940 --> 00:47:51,235 اور آتے ہیں. 1076 00:47:53,880 --> 00:47:55,130 جاری رکھتے ہیں. 1077 00:47:57,630 --> 00:47:59,750 ایک طرف ایک کے طور پر، کیوں یہ ابھی تک گر کر تباہ ہو گیا ہے نہیں؟ 1078 00:47:59,750 --> 00:48:02,050 انقطاع غلطی سپر روزہ پہلے ہوا. 1079 00:48:02,050 --> 00:48:04,250 [اشراوی] 1080 00:48:04,250 --> 00:48:04,830 DAVID J. MALAN: بالکل. 1081 00:48:04,830 --> 00:48:06,350 تو پرنٹ میں وقت لگتا ہے. 1082 00:48:06,350 --> 00:48:08,370 یہ صرف کمپیوٹر حصہ پر زیادہ کام کرتا ہے. 1083 00:48:08,370 --> 00:48:09,550 اور وہاں ہے. 1084 00:48:09,550 --> 00:48:10,620 انقطاع غلطی ہے. 1085 00:48:10,620 --> 00:48:12,140 >> تو توجہ صرف روزہ پروگراموں کو کس طرح چلاتے ہیں. 1086 00:48:12,140 --> 00:48:14,110 اگر آپ کو کسی بھی چیز کی، سپر روزہ پرنٹ نہیں کر رہے ہیں. 1087 00:48:14,110 --> 00:48:18,100 لیکن ہم ابھی تک اس انقطاع غلطی ہے کیونکہ جو کچھ ہو رہا تھا؟ 1088 00:48:18,100 --> 00:48:21,310 ٹھیک ہے، اگر آپ کو کہ کس طرح آپ کے کمپیوٹر کی میموری میں رکھی ہے اس کے بارے میں میں کیا سوچتے ہیں 1089 00:48:21,310 --> 00:48:22,890 اہم ہو ہوتا ہے. 1090 00:48:22,890 --> 00:48:23,800 لیکن یہاں - 1091 00:48:23,800 --> 00:48:28,670 چلو صرف اس کورس کو فون، اور ہم اس کورس کو کہتے ہیں. 1092 00:48:28,670 --> 00:48:33,420 اور اب اگر میں اپنے جمالیات حق ہے، یہ تو صرف کورس کہنا جا رہا ہے، 1093 00:48:33,420 --> 00:48:38,060 کورس، کورس، کورس، کورس، کورس، کورس، اشتھاراتی nauseum. 1094 00:48:38,060 --> 00:48:39,920 اور آخر میں ہو کیا جا رہا ہے؟ 1095 00:48:39,920 --> 00:48:46,690 اگر بڑی تصویر لفظی یہ ہے، کیا صرف conceptually ہوتا ہے؟ 1096 00:48:46,690 --> 00:48:48,320 اسٹیک overruns ڈھیر. 1097 00:48:48,320 --> 00:48:52,400 یا برا، آپ کے پاس صرف متن طبقہ بھی شامل ہے، سب کچھ، جو overrun 1098 00:48:52,400 --> 00:48:54,530 zeroes اور جو آپ کے پروگرام کی نمائندگی کرتے ہیں. 1099 00:48:54,530 --> 00:48:56,690 مختصر میں، یہ صرف سپر، سپر برا ہے. 1100 00:48:56,690 --> 00:48:56,860 ٹھیک ہے نا؟ 1101 00:48:56,860 --> 00:48:58,620 آپ کے پروگرام کے کنٹرول سے باہر spiraled ہے. 1102 00:48:58,620 --> 00:49:02,840 آپ راستہ میں مزید میموری سے کیونکہ تم ایک پاگل کا ارادہ کا استعمال کرتے ہوئے کر رہے ہیں 1103 00:49:02,840 --> 00:49:03,920 اس معاملے میں غلطی کی ہے،. 1104 00:49:03,920 --> 00:49:08,160 یا اس کیس میں بہت جان بوجھ کر کیا ایک تقریب خود بلا رہا ہے. 1105 00:49:08,160 --> 00:49:09,210 اب یہ سب برا نہیں ہے. 1106 00:49:09,210 --> 00:49:12,540 خود بلا افعال دراصل عظیم طاقت ہے 1107 00:49:12,540 --> 00:49:13,700 تم جب صحیح طریقے سے استعمال کرتے ہیں. 1108 00:49:13,700 --> 00:49:15,650 میں نے اسے صحیح طریقے سے استعمال نہیں کیا ہے یہاں. 1109 00:49:15,650 --> 00:49:16,940 >> تو یہ سب برا نہیں ہے. 1110 00:49:16,940 --> 00:49:20,620 لیکن حقیقت یہ ہے کہ میں اپنے آپ کو بلا اصل میں کبھی نہیں روکنے بنیادی ہے 1111 00:49:20,620 --> 00:49:23,050 اس پروگرام کے کمزوری. 1112 00:49:23,050 --> 00:49:25,090 تو ہم کہاں اس سب کے ساتھ جا رہے ہیں؟ 1113 00:49:25,090 --> 00:49:26,230 ٹھیک ہے، کہ اصل میں کیا ہو رہا ہے؟ 1114 00:49:26,230 --> 00:49:30,010 کی طرح جب میں اضافہ کی تقریب کہتے ہیں، ہم ان مثالوں میں کیا کر رہے تھے، 1115 00:49:30,010 --> 00:49:33,290 میں 1 کہ میں اندر سے گزر طرح ایک قدر ہے 1116 00:49:33,290 --> 00:49:35,820 میں ایک نمبر کی ایک کاپی میں گزرتے ہیں. 1117 00:49:35,820 --> 00:49:37,080 تو مندرجہ ذیل ہوتا ہے. 1118 00:49:37,080 --> 00:49:40,390 تو اضافہ کی مثال کے طور پر میں جانے. 1119 00:49:40,390 --> 00:49:44,230 اور یہاں یہ آدمی. 1120 00:49:44,230 --> 00:49:46,800 تو یہاں اصل میں کیا ہو رہا ہے. 1121 00:49:46,800 --> 00:49:50,770 میں اضافہ جب کہا جاتا ہے، اور میں نے X میں گزرتے ہیں، pictorially کیا ہے 1122 00:49:50,770 --> 00:49:53,660 یہاں پر ہو رہا ہے - 1123 00:49:53,660 --> 00:50:00,240 اگر میں 1 کی قدر یہاں محفوظ ہے، اور میں اصل میں اضافہ کہتے ہیں جو، 1124 00:50:00,240 --> 00:50:02,680 اب کورس کی کہا جاتا ہے - 1125 00:50:02,680 --> 00:50:04,010 جی ہاں، یہ آپ کے وزٹرز کا ریکارڈ رکھا پھینک دور یہاں. 1126 00:50:04,010 --> 00:50:06,750 تو اس اضافہ کو فون. 1127 00:50:06,750 --> 00:50:09,420 ہمیں پتہ نہیں ہے کہ یہ اگلے تقریب ہو رہا ہے. 1128 00:50:09,420 --> 00:50:14,270 تو کیا ہے اصل میں ہو رہا یہاں اہم ہے کہیں، میں ایک حصہ ہے 1129 00:50:14,270 --> 00:50:16,670 میموری جو نمبر 1 ذخیرہ کرنے. 1130 00:50:16,670 --> 00:50:19,730 جب میں اضافہ کہتے ہیں، میں میموری کا ایک حصہ کا استعمال کرتے ہوئے کر رہا ہوں، لیکن اب میں 1131 00:50:19,730 --> 00:50:20,840 1 کی کاپی ہے. 1132 00:50:20,840 --> 00:50:25,480 جب میں اس قدر اضافہ، 2 بن جاتا ہے - انتہائی پر لکھا 1133 00:50:25,480 --> 00:50:26,420 یہاں سکرین. 1134 00:50:26,420 --> 00:50:30,550 لیکن اس وقت، کیا اضافہ کی واپسی کے طور پر کے طور پر جلد ہی ہوتا ہے؟ 1135 00:50:30,550 --> 00:50:34,610 جو یہ میموری صرف آپریٹنگ سسٹم پر واپس کے حوالے ہو جاتا ہے، کا مطلب ہے کہ تمام 1136 00:50:34,610 --> 00:50:37,470 تم کچھ نہیں ہے مفید کیا ہے. 1137 00:50:37,470 --> 00:50:43,460 کہ اصل میں اہم میں شامل کیا گیا تھا اب بھی اصل میں وہاں ہے. 1138 00:50:43,460 --> 00:50:44,650 >> تو ہم کہاں اس کے ساتھ جا رہے ہیں؟ 1139 00:50:44,650 --> 00:50:49,400 ٹھیک ہے، یہ پتہ چلا ہے کہ آپ کو یاد میں اس کی پیٹھ کی ترتیب کی حمایت ہے 1140 00:50:49,400 --> 00:50:50,940 بائٹس ہے کہ آپ چیزیں اندر ڈال سکتے ہیں 1141 00:50:50,940 --> 00:50:53,760 اور یہ پتہ چلا ہے کہ ہم نے پہلے سے ہی ایسی چیز ہے جس ڈال شامل دیکھا ہے 1142 00:50:53,760 --> 00:50:55,100 چیزیں واپس واپس، واپس واپس. 1143 00:50:55,100 --> 00:51:00,170 ایک سٹرنگ، ایک ہفتے اور اب دو ہفتے کی بنیاد پر کیا ہے؟ 1144 00:51:00,170 --> 00:51:01,840 تو یہ صرف حروف کا ایک مجموعہ ہے. 1145 00:51:01,840 --> 00:51:05,290 تو یہ پتہ چلتا ہے، جیسا کہ آپ کو یاد میں نمبر رکھ سکتے ہیں، اسی طرح آپ یہ کر سکتے ہیں 1146 00:51:05,290 --> 00:51:06,900 حروف یاد میں ڈال دیا ہے. 1147 00:51:06,900 --> 00:51:09,810 اور ایک بار ہم نے یاد میں ڈال حروف واپس شروع کی حمایت کی حمایت 1148 00:51:09,810 --> 00:51:12,800 واپس، یہ پتہ چلتا ہے کہ ایک طرح لوپ کے لئے چیزوں کی آسان کا استعمال کرتے ہوئے یا 1149 00:51:12,800 --> 00:51:14,510 تھوڑی دیر لوپ ہم iterate، کر سکتے ہیں - 1150 00:51:14,510 --> 00:51:17,130 ایک تار کے کرداروں کے دوران بائیں سے دائیں - 1151 00:51:17,130 --> 00:51:20,720 اور مختلف حروف میں ان سے مکمل طور پر مساج کرنا شروع کریں. 1152 00:51:20,720 --> 00:51:25,550 A بن B. B C. بن تو ہے کہ آخر میں، ہم نے ایک لے سکتے ہیں کر سکتے ہیں 1153 00:51:25,550 --> 00:51:28,830 انگریزی سزا ہے جو اصل میں سمجھ میں آتا ہے اور ان میں سے ہر ایک میں تبدیل 1154 00:51:28,830 --> 00:51:32,440 خط ہمارے کمپیوٹر میموری کے ذریعے چلنے کی طرف سے ایک وقت میں ایک سے چھوڑ دیا 1155 00:51:32,440 --> 00:51:34,300 اصل میں خفیہ کا حق ہے. 1156 00:51:34,300 --> 00:51:36,590 >> تو ہمارے یہاں پانچ منٹ کے وقفے لے، اور جب ہم واپس آتے ہیں، ہم کریں گے 1157 00:51:36,590 --> 00:51:39,060 معلومات scrambling کے اس عمل کو شروع کریں. 1158 00:51:41,640 --> 00:51:43,180 >> ٹھیک ہے. 1159 00:51:43,180 --> 00:51:48,440 تو اس سے پہلے کہ ہم کچھ crypto میں کودو اور ان چیزوں arrays کہا جاتا ہے، مجھے 1160 00:51:48,440 --> 00:51:51,610 کیونکہ مجھے لگتا ہے کہ میں واقعی میں اس قسم کی muddled کے ذہن میں کوئی سوالات کے لئے روکنے کے کچھ 1161 00:51:51,610 --> 00:51:52,230 ان عنوانات سے. 1162 00:51:52,230 --> 00:51:53,940 لہذا کو ٹھیک اب اگر ہم کر سکتے ہیں ہیں. 1163 00:51:53,940 --> 00:51:56,480 تو ہم صرف واپسی اقدار کے بارے میں بات کی تھی. 1164 00:51:56,480 --> 00:51:58,630 ہم دلائل کے بارے میں بات کی تھی. 1165 00:51:58,630 --> 00:52:02,330 اور ہم اس تصور کے بارے میں بات کی، جو ہم ہفتوں میں واپس آ جائیں گے 1166 00:52:02,330 --> 00:52:07,140 ایک مکمل جھوبڈ کے طور پر ان سجا دیئے کی میموری دیکھنے کے آتے ہیں، 1167 00:52:07,140 --> 00:52:08,540 ٹرے، تو بات کرنے کی. 1168 00:52:08,540 --> 00:52:13,460 اپ پر گہرائی سے، اس طرح کہ ہر ایک ٹرے اسٹیک پر ڈال دیا ہو جاتا ہے کی نمائندگی کرتا ہے 1169 00:52:13,460 --> 00:52:15,160 ایک تقریب ہے کہ اس وقت کیا جا رہا ہے کہا جاتا ہے. 1170 00:52:17,970 --> 00:52:20,300 کوئی سوال؟ 1171 00:52:20,300 --> 00:52:22,890 تو اس کے بارے میں کس طرح - مجھے کرنے کی کوشش ایک سوال پوچھ رہا ہے. 1172 00:52:22,890 --> 00:52:25,520 کہ میں خراب کر رہتے ہیں، لیکن اب it's - you've سب لڑکے کے چہرے کو دیکھا. 1173 00:52:25,520 --> 00:52:27,020 تو ہم اس پر واپس آ جائیں گے. 1174 00:52:27,020 --> 00:52:29,700 >> تو مجھے ایک سوال پوچھنا ہے. 1175 00:52:29,700 --> 00:52:34,810 مجھے جو اس نے ہمارے پہلے Q & A. میں سے کچھ پہلے تھا اس کی پیٹھ کو آسان بنانے 1176 00:52:34,810 --> 00:52:41,730 اور حقیقت یہ ہے کہ اضافہ کھلی خانے ہے، int نمبر بند 1177 00:52:41,730 --> 00:52:42,260 خانے. 1178 00:52:42,260 --> 00:52:46,370 int تعداد کیا کی نمائندگی کرتا ہے؟ 1179 00:52:46,370 --> 00:52:47,250 [اشراوی] 1180 00:52:47,250 --> 00:52:47,870 DAVID J. MALAN: دلیل ہے. 1181 00:52:47,870 --> 00:52:50,732 ٹھیک ہے، لیکن ایک دلیل کیا ہے؟ 1182 00:52:50,732 --> 00:52:51,620 [اشراوی] 1183 00:52:51,620 --> 00:52:52,500 DAVID J. MALAN: معاف کیجئے گا، وہ کیا ہے؟ 1184 00:52:52,500 --> 00:52:53,150 3 اسپیکر: تم کچھ اندر گزر 1185 00:52:53,150 --> 00:52:53,570 DAVID J. MALAN: ٹھیک ہے. 1186 00:52:53,570 --> 00:52:54,780 تو کچھ ہے جو تم اندر سے گزر 1187 00:52:54,780 --> 00:52:56,560 اور عام طور پر، یہ صرف ان پٹ ہے. 1188 00:52:56,560 --> 00:52:59,860 اگر آپ زندگی میں ایک تقریب ہے اور ہے کہ تقریب کا مقصد لکھ رہے ہیں کرنا ہے 1189 00:52:59,860 --> 00:53:03,290 تھوڑا سا مختلف ہر بار آپ اسے استعمال کرتے ہیں، کچھ تو صرف اس کے لئے راستہ 1190 00:53:03,290 --> 00:53:07,710 کہ واقعی ہو اسے ان پٹ کے ساتھ فراہم کرنے کے لئے لگ رہے ہو گے تاکہ یہ 1191 00:53:07,710 --> 00:53:10,180 اس ان پٹ کے ساتھ کچھ مختلف ہر وقت کر سکتے ہیں. 1192 00:53:10,180 --> 00:53:13,590 >> تو آپ کو دو چیزوں کے جب ایک تقریب آدانوں لیتا ہے پر کی وضاحت کرنے کی ضرورت ہے. 1193 00:53:13,590 --> 00:53:17,240 آپ کو نام ہے کہ آپ کہ ان پٹ دینے کے لئے کرنا چاہتے ہیں، مکمل طور پر کی وضاحت کرنے کے لئے کرنے کی ضرورت ہے 1194 00:53:17,240 --> 00:53:20,790 تقریب میں آپ کو آپ کی اپنی سہولت تاکہ وہ رجوع کر سکتے ہیں کہ آپ 1195 00:53:20,790 --> 00:53:23,610 خود لکھنے، کے طور پر میں 32 سطر میں یہاں کیا کر رہے ہیں. 1196 00:53:23,610 --> 00:53:27,840 لیکن تم نے بھی اس قسم کی وجہ سے سی ایک پروگرامنگ زبان ہے کی وضاحت کی ضرورت ہے 1197 00:53:27,840 --> 00:53:28,840 یہ صرف کی ضرورت ہے 1198 00:53:28,840 --> 00:53:31,810 کہ اگر آپ ایک متغیر کرنا چاہتے ہیں، تو آپ کے کمپیوٹر کو بتانا پڑے گا کیا 1199 00:53:31,810 --> 00:53:32,790 ڈیٹا ٹائپ ہے، 1200 00:53:32,790 --> 00:53:35,540 بڑے حصے میں تاکہ یہ کی بٹس کتنے ہے 1201 00:53:35,540 --> 00:53:37,230 اس ویرئیےبل کے لئے مختص ہے. 1202 00:53:37,230 --> 00:53:38,600 کیونکہ یہ چھ ہو سکتا ہے - 1203 00:53:38,600 --> 00:53:39,990 افسوس ہے، یہ چھ نہیں ہوگا. 1204 00:53:39,990 --> 00:53:41,050 یہ 16 ہو سکتا ہے. 1205 00:53:41,050 --> 00:53:41,630 یہ 8 ہو سکتا ہے. 1206 00:53:41,630 --> 00:53:44,410 یہ 32، یہاں تک کہ 64 کر سکتے ہیں. 1207 00:53:44,410 --> 00:53:45,820 لیکن کمپیوٹر پر پتہ کی ضرورت ہے. 1208 00:53:45,820 --> 00:53:49,110 اب بائیں طرف پر int کے برعکس کیا، کی نمائندگی کرتا ہے؟ 1209 00:53:52,825 --> 00:53:53,780 [اشراوی] 1210 00:53:53,780 --> 00:53:54,570 DAVID J. MALAN: یہ کیا ہے؟ 1211 00:53:54,570 --> 00:53:55,390 [اشراوی] 1212 00:53:55,390 --> 00:53:57,920 DAVID J. MALAN: تقریب کی قسم، اور مزید خاص طور پر، 1213 00:53:57,920 --> 00:53:59,755 اس کی پیداوار کی قسم. 1214 00:53:59,755 --> 00:54:00,220 ٹھیک ہے. 1215 00:54:00,220 --> 00:54:04,220 تو قوسین میں بات جبکہ اس کی ان پٹ کی نمائندگی کرتا ہے، اگر کوئی ہے تو، 1216 00:54:04,220 --> 00:54:06,640 بائیں بات اس کی پیداوار کی نمائندگی کرتا ہے. 1217 00:54:06,640 --> 00:54:10,560 اور اس معاملے میں اضافہ بظاہر ایک int واپس. 1218 00:54:10,560 --> 00:54:14,590 اور اس طرح int اس تقریب کی واپسی کی قسم ہے. 1219 00:54:14,590 --> 00:54:16,090 >> کیا اس سے فرق پڑتا ہے کی واپسی کا مطلب؟ 1220 00:54:16,090 --> 00:54:19,810 لفظی، آپ کو مطلوبہ الفاظ کی واپسی کا استعمال کرتے ہیں. 1221 00:54:19,810 --> 00:54:24,640 اور پھر اگر آپ کے مطلوبہ الفاظ کے دائیں جانب سے واپس لوٹ رہے ہیں ایک ہے 1222 00:54:24,640 --> 00:54:28,340 عددی ہے، تو وہ جو ہم سے وعدہ کیا ہے اس کے ساتھ یقینا مطابق ہے. 1223 00:54:28,340 --> 00:54:31,110 تم نے اس طرح کچھ بھی نہیں کر سکا - 1224 00:54:31,110 --> 00:54:32,280 ہیلو دنیا - 1225 00:54:32,280 --> 00:54:33,500 اس لیے کہ وہ ایک تار ہے. 1226 00:54:33,500 --> 00:54:35,440 ظاہر ہے یہ ایک عدد صحیح نہیں ہے. 1227 00:54:35,440 --> 00:54:40,450 تو مختصر میں، بوجھ ہم پر واقعی ہے، پروگرامر، کے طور پر مخصوص 1228 00:54:40,450 --> 00:54:44,730 جو ہم پر آرہے ہیں اور اس کے واپس لوٹنے کے بارے میں تو اصل میں جا رہے ہیں. 1229 00:54:44,730 --> 00:54:49,030 اور پھر ایک tad زیادہ واضح تناظر بنانے کے لئے - 1230 00:54:49,030 --> 00:54:50,080 وہاں وہ پھر سے ہے. 1231 00:54:50,080 --> 00:54:51,060 تناظر - 1232 00:54:51,060 --> 00:54:52,830 بڑا تعجب صرف ایک لمحے میں آ رہا ہے. 1233 00:54:52,830 --> 00:54:57,720 یہاں سیاق و سباق اب یہ ہے کہ آپ کے کمپیوٹر کی میموری ہے، پھر سے، ایک 1234 00:54:57,720 --> 00:54:59,070 گیگا بائٹ، دو گیگا بائٹ، جو کچھ بھی. 1235 00:54:59,070 --> 00:54:59,630 شاید یہ زیادہ ہے. 1236 00:54:59,630 --> 00:55:00,540 شاید یہ کم ہے. 1237 00:55:00,540 --> 00:55:03,750 لیکن کمپیوٹر کے مختلف حصوں ہونے کے طور پر دیکھتا ہے. 1238 00:55:03,750 --> 00:55:04,860 کچھ وہاں نیچے جاتا ہے. 1239 00:55:04,860 --> 00:55:06,020 کچھ اور وہاں جاتا ہے. 1240 00:55:06,020 --> 00:55:07,540 مختلف چیزیں درمیان میں جاتا ہے. 1241 00:55:07,540 --> 00:55:09,300 اور آج، ہم صرف اس کہانی کہہ کر شروع کرتے ہیں. 1242 00:55:09,300 --> 00:55:11,130 >> لیکن ہم اس سے زیادہ وقت واپس آ جائیں گے. 1243 00:55:11,130 --> 00:55:15,000 اب کے لیے، میموری کا واحد ٹکڑا ہم واقعی پرواہ متن حصہ ہے 1244 00:55:15,000 --> 00:55:17,160 کیونکہ یہ صرف zeroes اور ہیں کی نمائندگی کرتا ہے 1245 00:55:17,160 --> 00:55:18,460 کہ بجنا outputted ہے. 1246 00:55:18,460 --> 00:55:21,570 تو ڈبل جب تم a.out طرح کی بورڈ میں ایک کمانڈ چلائیں، یا آپ 1247 00:55:21,570 --> 00:55:25,350 میک OS یا ونڈوز پر ایک آئکن پر کلک کریں، آپ کے پروگرام آپ کی ہارڈ سے بھری ہوئی ہے 1248 00:55:25,350 --> 00:55:26,930 RAM میں ڈرائیو. 1249 00:55:26,930 --> 00:55:30,850 اور یہ آپ کے کمپیوٹر کے RAM کے سب سے اوپر دیئے گئے plopped ہے، تو بات کرنے کی. 1250 00:55:30,850 --> 00:55:35,470 اب اس دوران، چلانے کے طور پر آپ کے پروگرام شروع ہوتا ہے اور سب سے اہم میں پکارا جاتا ہو جاتا ہے 1251 00:55:35,470 --> 00:55:39,240 پروگرام آپ نے لکھا یا پروگرام مائیکروسافٹ یا ایپل نے لکھا، اس میں سے کسی 1252 00:55:39,240 --> 00:55:42,930 مقامی متغیر وہاں نیچے آپ کے کمپیوٹر کی میموری کے سب سے نیچے دیئے گئے ختم. 1253 00:55:42,930 --> 00:55:46,490 لیکن اگر اہم ایک اور تقریب کا مطالبہ ہے کہ خود متغیر ہے یا 1254 00:55:46,490 --> 00:55:48,340 دلائل، وہ اس سے اوپر ختم. 1255 00:55:48,340 --> 00:55:50,670 اور اگر اس تقریب کو کچھ کہلاتا ہے، وہ اس سے اوپر ختم، 1256 00:55:50,670 --> 00:55:51,840 اس کے اوپر، اس کے اوپر ہے. 1257 00:55:51,840 --> 00:55:56,100 اور صرف ایک بار ایک تقریب قتل ٹرے کے اسٹیک، تو کیا جاتا ہے 1258 00:55:56,100 --> 00:55:58,320 سے بات کرنے کے لئے، کم اور کم حاصل کرنے کے لئے شروع کر دیں. 1259 00:55:58,320 --> 00:56:03,370 اور یہ وہی ہے جو اس کے بعد، ایک مختصر میں، کیوں، جب تم کیوب فون کی وضاحت کرتا ہے - 1260 00:56:03,370 --> 00:56:04,660 یا آپ اضافہ فون - 1261 00:56:04,660 --> 00:56:06,490 آپ کو قدر کی ایک کاپی میں گزر رہے ہیں. 1262 00:56:06,490 --> 00:56:09,840 اور اس کا کیا pictorially کا مطلب یہ ہے کہ آپ لفظی لکھ رہے ہیں 1263 00:56:09,840 --> 00:56:14,540 میموری کا ایک حصہ میں نمبر 1، تبدیل 1 2 کی صورت میں، 1264 00:56:14,540 --> 00:56:15,360 اضافہ - 1265 00:56:15,360 --> 00:56:17,450 8 ایک یا، کیوب کی صورت میں - 1266 00:56:17,450 --> 00:56:21,450 اور پھر اس میموری کو دور جیسے ہی اضافہ یا کیوب کے طور پر پھینک 1267 00:56:21,450 --> 00:56:23,410 تقریب میں آئے. 1268 00:56:23,410 --> 00:56:24,267 >> سوال. 1269 00:56:24,267 --> 00:56:25,517 [اشراوی] 1270 00:56:28,090 --> 00:56:29,970 DAVID J. MALAN: کہاں - عالمی متغیر کیا میں جمع کیے جاتے ہیں 1271 00:56:29,970 --> 00:56:32,960 اس وقت کہا جاتا initialized ڈیٹا یا غیر ابتدا شدہ ڈیٹا 1272 00:56:32,960 --> 00:56:35,900 فرق کیا جا رہا ہے، اگر آپ کو ایک عالمی متغیر ہے، اور آپ نے اسے تفویض 1273 00:56:35,900 --> 00:56:39,530 فوری طور پر برابر دستخط کے ساتھ ایک قدر، یہ سب سے اوپر وہاں ختم ہو جاتی ہے. 1274 00:56:39,530 --> 00:56:43,390 اور اگر تم صرف بغیر کسی قیمت کے ساتھ int X نیم وقفہ کا کہنا ہے کہ، یہ تھوڑا سا ختم ہو جاتی ہے 1275 00:56:43,390 --> 00:56:46,670 صرف کنونشن کی طرف سے RAM میں کم. 1276 00:56:46,670 --> 00:56:49,308 دیگر سوالات. 1277 00:56:49,308 --> 00:56:49,750 ٹھیک ہے. 1278 00:56:49,750 --> 00:56:53,040 >> تو یہ تصویر واپس آنے کے طور پر ہم ہم کیا کر سکتے ہیں کے ساتھ زیادہ طاقتور ملے گا 1279 00:56:53,040 --> 00:56:53,830 کمپیوٹر کے ساتھ. 1280 00:56:53,830 --> 00:56:58,790 لیکن اب کے لئے، خفیہ نگاری، ایک مخصوص قسم کی ایک مختصر تعارف ہے دو 1281 00:56:58,790 --> 00:57:01,910 خفیہ نگاری ہے کہ دنیا کے مسائل کا حل نہیں ہے لیکن اس کو حل 1282 00:57:01,910 --> 00:57:02,480 ان میں سے کچھ. 1283 00:57:02,480 --> 00:57:06,090 یہاں اس صورت میں، ہم نام خفیہ کلید خفیہ نگاری کچھ ہے. 1284 00:57:06,090 --> 00:57:10,430 اور خفیہ کلید خفیہ نگاری، جیسا کہ نام سے پتہ چلتا ہے، اس کی سیکورٹی کو حاصل 1285 00:57:10,430 --> 00:57:11,330 ایک راز سے. 1286 00:57:11,330 --> 00:57:14,720 تو مثال کے طور پر، اگر آپ کو گریڈ اسکول میں واپس آ گئے ہیں اور آپ کو ایک گزر رہے ہیں 1287 00:57:14,720 --> 00:57:18,040 چھوٹے سے رہسی محبت لڑکا ہے یا لڑکی تم پر کچل رہے ہیں خط - اگر آپ کو 1288 00:57:18,040 --> 00:57:20,820 سامعین کے ذریعے منتقل کرنا چاہتا تھا، تو شاید آپ نہیں لکھا 1289 00:57:20,820 --> 00:57:24,120 بلکہ، اس طرح انگریزی میں ایک نوٹ یا جو بھی اپنے آبائی زبان ہے 1290 00:57:24,120 --> 00:57:25,800 یہ خفیہ ہو سکتا ہے. 1291 00:57:25,800 --> 00:57:27,820 یا آپ ان کو ان دنوں ایک لفظی پیغام بھیجیں کر سکتے ہیں. 1292 00:57:27,820 --> 00:57:30,310 لیکن آپ انہیں اصل میں کلاس بھر میں ایک نوٹ کے پاس ہو سکتا ہے. 1293 00:57:30,310 --> 00:57:33,820 اور یہ محفوظ طریقے سے اس طرح کیا ہے کہ اپنے دوستوں اور اساتذہ 1294 00:57:33,820 --> 00:57:36,820 یہ معلوم نہیں ہے کہ آپ کیا لکھ رہے ہیں، آپ کو کافی آسان کے ساتھ آ سکتا ہے 1295 00:57:36,820 --> 00:57:37,800 الگورتھم - 1296 00:57:37,800 --> 00:57:39,290 نوجوان اگرچہ تم ہو سکتا ہے - 1297 00:57:39,290 --> 00:57:40,780 صرف الفاظ جدوجہد. 1298 00:57:40,780 --> 00:57:44,390 تو، آپ کو ایک لکھنے کی بجائے بی لکھ B کے بجائے ہو سکتا ہے آپ کو لکھ سکتا ہے، 1299 00:57:44,390 --> 00:57:46,670 کی بجائے C. C، آپ D لکھیں، اور وغیرہ ہو سکتا ہے. 1300 00:57:46,670 --> 00:57:50,020 یا آپ کو حروف کی ایک سے زیادہ بہتر ترجمہ کے ساتھ آ سکتا ہے 1301 00:57:50,020 --> 00:57:51,300 مختلف خطوط. 1302 00:57:51,300 --> 00:57:55,440 لیکن پکڑنے لڑکا ہے یا جن کیا آپ یہ معلومات بھیج رہے ہیں لڑکی ہے کرنے کی ضرورت ہے 1303 00:57:55,440 --> 00:57:56,850 کچھ جانتی ہو. 1304 00:57:56,850 --> 00:57:59,620 کون ہے جو، ظاہر ہے؟ 1305 00:57:59,620 --> 00:58:01,400 کی طرح، تمہارا راز کیا ہے. 1306 00:58:01,400 --> 00:58:04,620 کی طرح، کیا ہے کہ کے طور پر اور گریڈ اور کاوچ سرفنگ کے اور ڈی ایس کے درمیان میپنگ ہے؟ 1307 00:58:04,620 --> 00:58:08,780 کیا یہ صرف ایک حروف میں سے ہر ایک سے جانے کے لئے انہوں نے مزید کہا، اس سے بات کرنے، 1308 00:58:08,780 --> 00:58:09,730 B، B C A؟ 1309 00:58:09,730 --> 00:58:11,350 یہ اس سے بھی زیادہ پیچیدہ ہے؟ 1310 00:58:11,350 --> 00:58:16,450 تو آپ اور آپ کے چاہنے والوں کو یہ خفیہ معلومات فراہم کرنے کی ضرورت ہے. 1311 00:58:16,450 --> 00:58:18,170 لیکن یہاں پکڑنے-22 کی طرح ہے. 1312 00:58:18,170 --> 00:58:20,760 اگر یہ بہت ہی پہلی بار ہے آپ کے ذریعے اس محبت خط بھیج رہے ہیں 1313 00:58:20,760 --> 00:58:25,590 کلاس، کس طرح ہے کہ لڑکا ہے یا لڑکی کا پتہ بھی کیا راز ہے جا رہا ہے؟ 1314 00:58:25,590 --> 00:58:28,450 تو خفیہ کلید crypto تمام دنیا کے مسائل کو حل نہیں ہے. 1315 00:58:28,450 --> 00:58:30,490 اور وہاں اصل میں تعلق ہے کہ ہم نے کی طرف واپس آتا ہوں 1316 00:58:30,490 --> 00:58:31,370 سمسٹر آخر ہے. 1317 00:58:31,370 --> 00:58:35,970 >> اسی طرح ہے، شاید ہم میں سے کوئی بھی کبھی ایک بھیجا - 1318 00:58:35,970 --> 00:58:39,453 اسی طرح، ہم میں سے سب سے زیادہ کسی جو مثال کے طور پر کام کرتا ہے، جانتے ہیں نہ، 1319 00:58:39,453 --> 00:58:40,300 Amazon.com. 1320 00:58:40,300 --> 00:58:43,130 اور ابھی تک، ہم میں سے بہت سے لوگ شاید Amazon.com میں سامان خریدا. 1321 00:58:43,130 --> 00:58:45,670 اور ہم فرض سکھایا گیا ہے کہ یہ ای کامرس 1322 00:58:45,670 --> 00:58:47,060 لین دین محفوظ ہیں. 1323 00:58:47,060 --> 00:58:47,210 ٹھیک ہے نا؟ 1324 00:58:47,210 --> 00:58:49,310 URL شاید HTTPS کہتے ہیں. 1325 00:58:49,310 --> 00:58:51,590 شاید ایک پاگل سی پیڈلاک آئکن کہیں. 1326 00:58:51,590 --> 00:58:54,680 خفیہ نگاری کے کچھ قسم کی آپ کے کریڈٹ کارڈ کی معلومات کی حفاظت ہے 1327 00:58:54,680 --> 00:58:56,980 آپ اور Amazon.com کے درمیان. 1328 00:58:56,980 --> 00:59:00,410 اور پھر بھی، اگر خفیہ نگاری شامل کچھ راز جاننے، اور ابھی تک مجھے نہیں 1329 00:59:00,410 --> 00:59:03,330 ایمیزون پر کسی کو جانتے ہو، اور میں اس بات کو یقینی طور سے اہتمام کسی بھی قسم کی ہے نہیں 1330 00:59:03,330 --> 00:59:07,350 ایمیزون میں کسی کے ساتھ خفیہ، کہ کس طرح اپنے کمپیوٹر یا اپنے براؤزر یہ کر رہا ہے؟ 1331 00:59:07,350 --> 00:59:10,100 ویسے بدل جاتا ہے، وہاں خفیہ نگاری کے دیگر اقسام کے مکمل طور پر کہ کو حل 1332 00:59:10,100 --> 00:59:10,740 اس مسئلہ. 1333 00:59:10,740 --> 00:59:13,610 لیکن سادہ ایک، میں جہاں آپ کا بندوبست کر سکتا ہوں پر ہم آج کے لئے توجہ مرکوز کریں گے، 1334 00:59:13,610 --> 00:59:18,480 کچھ رہسی کے بارے میں جاننا 1 پلس یا کے طور پر اور گریڈ کے درمیان کچھ میپنگ کی طرح آگے بڑھانے،. 1335 00:59:18,480 --> 00:59:20,710 >> اور خفیہ نگاری کے عمل عام طور پر شامل ہیں. 1336 00:59:20,710 --> 00:59:23,550 آپ کو کچھ سادہ متن، بائیں میں دکھائے جانے والے تاثر ہے. 1337 00:59:23,550 --> 00:59:26,260 تم یہ الگورتھم یا عمل کے کسی قسم کے ذریعے چلاتے ہیں 1338 00:59:26,260 --> 00:59:27,670 یہ خفیہ کاری کے لئے. 1339 00:59:27,670 --> 00:59:31,390 شاید B کہ A B ہو جاتا ہے، C. ہو جاتا ہے اور پھر آپ کے ساتھ ختم 1340 00:59:31,390 --> 00:59:32,260 متن صفر. 1341 00:59:32,260 --> 00:59:36,450 وہ اس دوران، ایک بار آپ کے چاہنے والوں کو خفیہ نوٹ حاصل ہے، تو ہے 1342 00:59:36,450 --> 00:59:39,950 بےرمز یہ عام طور پر اس الگورتھم کو تبدیل کے طور پر حاصل کرنے کے لئے کی طرف سے 1343 00:59:39,950 --> 00:59:41,640 سادہ متن کی حمایت کریں. 1344 00:59:41,640 --> 00:59:43,860 اب اس کی جسمانی incarnations ہیں. 1345 00:59:43,860 --> 00:59:46,720 مثال کے طور پر، یہ ایک چھوٹے سے رہسی کوٹواچک انگوٹی ہے. 1346 00:59:46,720 --> 00:59:50,060 اور یہ احساس ہے کہ دو dials یہاں ہے میں ایک انگوٹی ہے. 1347 00:59:50,060 --> 00:59:53,630 اس چیز سے باہر علاقے، Z ذریعے ایک خط ہے، 1348 00:59:53,630 --> 00:59:55,110 اگرچہ وہ بے ترتیب ترتیب میں ہیں. 1349 00:59:55,110 --> 00:59:58,410 اور اندر، اصل میں ہے اس طرح کہ اس کے ساتھ کچھ تعداد، 1350 00:59:58,410 --> 01:00:02,940 رنگ، اس قسم کی آپ کو باہر لیکن اندر نہیں تاکہ لائن تبدیل کر سکتے ہیں 1351 01:00:02,940 --> 01:00:04,110 خط کے ساتھ کی تعداد. 1352 01:00:04,110 --> 01:00:08,290 اور کلپ تم کو دیکھنے کے لئے کے بارے میں - جن میں سے کچھ آپ 24/7 کو دیکھا جا سکتا ہے 1353 01:00:08,290 --> 01:00:11,120 نامی ایک کرسمس کہانی فلم سے کرسمس کے موسم کے ارد گرد. 1354 01:00:11,120 --> 01:00:16,050 تم نے دیکھا کہ کی چھوٹی سی Ralphie تو کیا تھوڑا یتیم پر اعداد و شمار کے شوقین تھا گے 1355 01:00:16,050 --> 01:00:19,810 ینی کے خفیہ پیغام کو اس سے تھا نے میں کیا گیا ہے، مجھے لگتا ہے، آگاہ 1356 01:00:19,810 --> 01:00:22,810 ایک سیریل باکس پر عددی پیغامات کی تشکیل کرتے ہیں. 1357 01:00:22,810 --> 01:00:26,760 اور آپ کو تمام چھوٹی سی کارڈ کہ آیا جمع تھا 1358 01:00:26,760 --> 01:00:27,480 اناج کے خانے میں. 1359 01:00:27,480 --> 01:00:28,320 تم انہیں اندر میل تھا 1360 01:00:28,320 --> 01:00:31,060 آپ خفیہ کوٹواچک کی انگوٹی واپس حاصل کرنے کے لئے تھا، تا کہ آپ آخر میں اعداد و شمار کر سکتے ہیں 1361 01:00:31,060 --> 01:00:34,190 تعریفیں حروف اور اعداد کے درمیان کیا ہے، 1362 01:00:34,190 --> 01:00:35,420 حروف یا حروف اور. 1363 01:00:35,420 --> 01:00:39,790 تو میں تم سے ایک کرسمس کہانی کی طرف سے اس مختصر کلپ کو 2 pset حوصلہ افزائی کرنے اور 1364 01:00:39,790 --> 01:00:42,340 ہمارے arrays کے ایک پل میں بحث،. 1365 01:00:42,340 --> 01:00:43,773 لہذا ہم یہاں Ralphie ہے. 1366 01:00:43,773 --> 01:00:44,126 >> [ویڈیو پلے بیک] 1367 01:00:44,126 --> 01:00:47,470 کی جائے اور متفرق طور پر جانا جاتا ہے کہ رالف پارکر اس طرح سے مقرر کیا جاتا ہے 1368 01:00:47,470 --> 01:00:50,690 لٹل یتیم اینی خفیہ سرکل کے رکن اور سب کا حق ہے 1369 01:00:50,690 --> 01:00:53,500 احترام اور فوائد کیا آرہے ہیں. 1370 01:00:53,500 --> 01:00:56,040 ، لٹل یتیم اینی دستخط کئے گئے. 1371 01:00:56,040 --> 01:00:58,730 Countersigned، پیری اندرے! 1372 01:00:58,730 --> 01:01:00,150 سیاہی میں! 1373 01:01:00,150 --> 01:01:02,910 احترام اور پہلے ہی نو سال کی عمر میں فوائد. 1374 01:01:09,970 --> 01:01:10,730 چلو، ہم اس کے ساتھ ہیں. 1375 01:01:10,730 --> 01:01:15,000 میں اسمگلروں اور قزاقوں کے بارے میں ہے کہ تمام جاز کی ضرورت نہیں ہے. 1376 01:01:15,000 --> 01:01:17,624 کل رات سیاہ کے اختتام ساہسک کے لئے مدد 1377 01:01:17,624 --> 01:01:19,710 سمندری ڈاکو جہاز. 1378 01:01:19,710 --> 01:01:23,380 اب اس کے اراکین آپ کے لئے ینی کے خفیہ پیغام کے لئے وقت ہو گیا ہے 1379 01:01:23,380 --> 01:01:25,670 خفیہ سرکل کے. 1380 01:01:25,670 --> 01:01:30,260 ، بچوں یاد ینی کے خفیہ سرکل کے رکن ہی وضاحت کر سکتے ہیں، 1381 01:01:30,260 --> 01:01:31,660 ینی کے خفیہ پیغام ہے. 1382 01:01:31,660 --> 01:01:36,230 یاد رکھیں، ینی تم پر انحصار کر رہا ہے. 1383 01:01:36,230 --> 01:01:38,720 B2 اپنے پن کو مرتب کریں. 1384 01:01:38,720 --> 01:01:41,040 یہ پیغام ہے. 1385 01:01:41,040 --> 01:01:42,470 12، 11 - 1386 01:01:42,470 --> 01:01:46,000 میں میری پہلی خفیہ ملاقات میں ہوں. 1387 01:01:46,000 --> 01:01:49,440 -14، 11، 18، 16 - 1388 01:01:49,440 --> 01:01:51,700 پیری عظیم آواز آج رات میں تھا. 1389 01:01:51,700 --> 01:01:54,890 میں کہہ سکتا ہوں کہ آج رات کا پیغام بہت ضروری تھا. 1390 01:01:54,890 --> 01:01:56,750 -3، 25. 1391 01:01:56,750 --> 01:01:58,590 یہ ینی خود کی طرف سے ایک پیغام ہے. 1392 01:01:58,590 --> 01:01:59,840 یاد رکھیں، کسی سے نہ کہنا. 1393 01:02:04,570 --> 01:02:08,750 -90 سیکنڈز بعد، میں گھر میں صرف کمرے میں ہوں جہاں نو کے ایک لڑکے 1394 01:02:08,750 --> 01:02:12,980 پرائیویسی اور ضابطہ ربائی میں بیٹھ سکتا ہے. 1395 01:02:12,980 --> 01:02:17,130 آہا، B. میں اگلے گیا. 1396 01:02:17,130 --> 01:02:20,330 E. پہلا لفظ ہے. 1397 01:02:20,330 --> 01:02:22,670 یہ S. آسان اب آ رہا تھا. 1398 01:02:22,670 --> 01:02:24,590 U. 1399 01:02:24,590 --> 01:02:26,510 اوہ، آو، Ralphie. 1400 01:02:26,510 --> 01:02:28,430 میں جانا ہے. 1401 01:02:28,430 --> 01:02:30,350 I'll سے دائیں نیچے، MA. 1402 01:02:30,350 --> 01:02:33,720 جی whiz. 1403 01:02:33,720 --> 01:02:38,270 T-، O. اس بات کا یقین ہو جائے. 1404 01:02:38,270 --> 01:02:40,000 کیا اس بات کا یقین ہے؟ 1405 01:02:40,000 --> 01:02:42,105 لٹل یتیم کہنے کی کوشش کر اینی کیا تھا؟ 1406 01:02:42,105 --> 01:02:43,095 کیا اس بات کا یقین ہے؟ 1407 01:02:43,095 --> 01:02:43,590 Ralphie! 1408 01:02:43,590 --> 01:02:44,580 رینڈی جانا ہے. 1409 01:02:44,580 --> 01:02:45,570 کیا آپ براہ مہربانی باہر آو کریں گے؟ 1410 01:02:45,570 --> 01:02:46,560 ٹھیک ہے ماں. 1411 01:02:46,560 --> 01:02:48,540 میں باہر ہو جائے گا. 1412 01:02:48,540 --> 01:02:50,580 میں قریب ہو رہا تھا. 1413 01:02:50,580 --> 01:02:52,550 کشیدگی خوفناک تھا. 1414 01:02:52,550 --> 01:02:53,355 وہ کیا تھا؟ 1415 01:02:53,355 --> 01:02:56,315 سیارے کی قسمت کا توازن میں پھانسی پر لٹکا کر سکتے ہیں. 1416 01:02:56,315 --> 01:02:56,790 Ralphie! 1417 01:02:56,790 --> 01:02:59,165 رینڈی جانا ہے. 1418 01:02:59,165 --> 01:03:02,310 I'll باہر زور سے رونے کے لئے،. 1419 01:03:02,310 --> 01:03:04,000 جی، تقریبا وہاں. 1420 01:03:04,000 --> 01:03:05,180 میری انگلیاں اڑ گیا. 1421 01:03:05,180 --> 01:03:07,150 میرا دماغ ایک سٹیل کا نیٹ ورک تھا. 1422 01:03:07,150 --> 01:03:08,790 ہر تاکنا vibrated نہیں ہے. 1423 01:03:08,790 --> 01:03:10,040 یہ تقریبا واضح تھا. 1424 01:03:10,040 --> 01:03:13,400 جی ہاں، ہاں، ہاں، ہاں. 1425 01:03:13,400 --> 01:03:18,960 آپ Ovaltine پینے کے لئے اس بات کا یقین. 1426 01:03:18,960 --> 01:03:20,210 Ovaltine؟ 1427 01:03:24,010 --> 01:03:25,260 ایک crummy تجارتی؟ 1428 01:03:28,200 --> 01:03:29,640 کتیا کا بیٹا ہے. 1429 01:03:29,640 --> 01:03:33,340 [END ویڈیو پلے بیک] 1430 01:03:33,340 --> 01:03:36,040 >> DAVID J. MALAN: تو ہم وہاں خفیہ نگاری ہے. 1431 01:03:36,040 --> 01:03:39,670 تو کس طرح کمپیوٹر میں ہم پر عملدرآمد کے بارے میں جانا ہے یا کر سکتے ہیں 1432 01:03:39,670 --> 01:03:40,950 اس طرح چیزوں کی نمائندگی؟ 1433 01:03:40,950 --> 01:03:44,430 ٹھیک ہے، ہم تھوڑا flexibly پر سے خود کا اظہار کرنے کا ایک طریقہ کی ضرورت ہے 1434 01:03:44,430 --> 01:03:46,420 ہمارے متغیر کو ابھی تک کی اجازت دی ہے. 1435 01:03:46,420 --> 01:03:47,370 ہم ints لیا ہے. 1436 01:03:47,370 --> 01:03:48,380 ہم حروف لیا ہے. 1437 01:03:48,380 --> 01:03:50,790 ہم floats اور ڈبلز اور دیگر لیا ہے. 1438 01:03:50,790 --> 01:03:55,050 لیکن وہ میموری کی انفرادی ٹکڑے ٹکڑے ہیں جو ہمیں واقعی نہیں دیتے ہیں 1439 01:03:55,050 --> 01:03:58,010 الفاظ اور جملے اور جملے کی طرح چیزوں کا اظہار کریں. 1440 01:03:58,010 --> 01:04:00,200 بے شک ہم ایسی چیزیں ڈور بلایا ہے. 1441 01:04:00,200 --> 01:04:03,650 لیکن ہم نے وعدہ کیا ہے کہ اس قسم کی یہ واقعی صرف CS50 میں ایک آسان بنانے ہے 1442 01:04:03,650 --> 01:04:07,020 لائبریری کہ ہم واپس چھیل ارادہ کر رہے ہیں. 1443 01:04:07,020 --> 01:04:08,970 >> اور اس لئے کہ یہاں کرنا شروع کر دیں. 1444 01:04:08,970 --> 01:04:11,130 آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور ایک فائل کو کھولنے کے دو - 1445 01:04:11,130 --> 01:04:13,770 ان تمام فائلوں کی ہمیشہ کی طرح آن لائن کے طور پر دستیاب ہیں - 1446 01:04:13,770 --> 01:04:19,120 کہا جاتا ہے ایک ڈور کوئی تعلق مسئلہ کو حل کرنے کے array.c لیکن اس پینٹ ایک 1447 01:04:19,120 --> 01:04:23,040 یہاں ہم کچھ کس طرح استعمال کر سکتے ہیں اس تصویر میں ایک صف قرار دیا ہے. 1448 01:04:23,040 --> 01:04:25,530 ایک صف میں ایک ڈیٹا کی قسم ہے. 1449 01:04:25,530 --> 01:04:31,320 کہ یہ متغیر کی ایک طرح کی قسم، ہے، ایک سے زیادہ چھوٹے اعداد و شمار اقسام ہیں 1450 01:04:31,320 --> 01:04:34,150 اس کے اندر واپس واپس، واپس واپس. 1451 01:04:34,150 --> 01:04:37,700 تو مثال کے طور پر، اگر ہم ایک چھوٹا سا پروگرام ہے جو آپ کو فراہم کرتا ہے کو لکھنا چاہتے ہیں 1452 01:04:37,700 --> 01:04:42,110 50 کی طرح ایک کورس ہے کہ دونوں ہے quizzes آسانی سے، آپ بہت سکتا ہے کے لئے اوسط کوئز 1453 01:04:42,110 --> 01:04:45,170 اس پروگرام لکھنے - یہاں تک کہ گزشتہ ہفتے کے مال کی کچھ کی بنیاد پر - 1454 01:04:45,170 --> 01:04:47,770 GetInt اور متغیرات میں سے ایک جوڑے کا استعمال کرتے ہوئے کی طرف سے. 1455 01:04:47,770 --> 01:04:51,920 Int quiz1، quiz2 int، اور یہ بہت سیدھا ہے. 1456 01:04:51,920 --> 01:04:55,930 شاید 10 ہے، کوڈ، زیادہ سے زیادہ 20 لائنیں، ایک ایسا پروگرام ہے جو پوچھتا ہے کو لاگو کرنے کے لئے 1457 01:04:55,930 --> 01:05:01,170 دو گئے تمام سوالات کے اسکور کے لئے اور اس کے بعد صارف میں شامل کرنے کی طرف سے ان کی اوسط computes 1458 01:05:01,170 --> 01:05:03,850 کے ساتھ مل کر، دونوں کی طرف سے تقسیم، اور پھر نتائج چھپائی. 1459 01:05:03,850 --> 01:05:06,380 ہم کہ شاید بعد اب بہت آسانی سے کر سکتے ہیں 1460 01:05:06,380 --> 01:05:07,510 منٹ میں سے کچھ تعداد ہے. 1461 01:05:07,510 --> 01:05:11,005 >> لیکن مسئلہ یہ ہے کہ لگتا ہے کہ 50 تین تھا quizzes یا چار. 1462 01:05:11,005 --> 01:05:13,510 لگتا ہے کہ آپ ایک کلاس تھا کے لئے ایک ہی پروگرام استعمال کرنے کے لئے کرنا چاہتا تھا 1463 01:05:13,510 --> 01:05:14,850 ہفتہ وار quizzes. 1464 01:05:14,850 --> 01:05:16,610 ایک کلاس ہے کہ ہفتہ وار quizzes ہے کے بارے میں سوچو. 1465 01:05:16,610 --> 01:05:20,610 اگر ایک سمسٹر میں 16 یا تو ہفتے کی طرح ہے، اب آپ کو 16 متغیر ہے - 1466 01:05:20,610 --> 01:05:24,270 int quiz1، int quiz2، int quiz3، quiz4 int. 1467 01:05:24,270 --> 01:05:27,560 جیسے ہی تم اس فالتوپن کو دیکھ کر شروع، اس کو کاپی اور پیسٹ 1468 01:05:27,560 --> 01:05:31,390 کوڈ کا، تم چاہو وہاں ایک بہتر طریقے تھے شروع کر دینا چاہئے. 1469 01:05:31,390 --> 01:05:33,930 اور شکر ہے، کیونکہ arrays، وہاں ہے. 1470 01:05:33,930 --> 01:05:34,980 تو ایسا کرنے دو 1471 01:05:34,980 --> 01:05:38,430 سب سے پہلے، مجھے ایک بہت ہی سادہ بات یہ ہے کہ ہم نے استعمال کیا ابھی تک نہیں کیا ہے متعارف کرانے، 1472 01:05:38,430 --> 01:05:40,140 لیکن آپ کو یہ کوڈ میں کبھی کبھار نظر آئے گا. 1473 01:05:40,140 --> 01:05:42,360 اس کا ہے جو عام طور پر کہا جاتا مسلسل ہے. 1474 01:05:42,360 --> 01:05:45,790 تو اس بات کا احساس ہے کہ اس کی قیمت کبھی نہیں بدل میں مسلسل ہے. 1475 01:05:45,790 --> 01:05:49,210 انسانی کنونشن جب ایک مسلسل پیدا تمام سرمایہ کو استعمال کرنے کے لئے ہے 1476 01:05:49,210 --> 01:05:51,940 حروف، صرف اس لئے کہ یہ واقعی آپ کے کوڈ میں باہر کھڑا ہے. 1477 01:05:51,940 --> 01:05:55,960 اور مخصوص مطلوبہ الفاظ کی ہے کہ آپ C میں استعمال کرتے ہیں # وضاحت ہے. 1478 01:05:55,960 --> 01:06:00,250 تو اگر آپ کا کہنا ہے کہ #، تو ایک خلا کی وضاحت، تو لفظ ہے کہ آپ کے لئے استعمال کرنے کے لئے کرنا چاہتے ہیں 1479 01:06:00,250 --> 01:06:03,260 مسلسل کا نام، اور پھر مسلسل کی قدر ہے. 1480 01:06:03,260 --> 01:06:06,180 نوٹس لہذا، یہ ایک متغیر کچھ بتائے سے مختلف ہے. 1481 01:06:06,180 --> 01:06:07,020 وہاں کوئی اشارہ نہیں برابر. 1482 01:06:07,020 --> 01:06:08,240 کوئی نیم وقفہ ہے. 1483 01:06:08,240 --> 01:06:11,410 یہ وہی ہے جو عام طور پر پریپروسیسر ہدایت کے طور پر نام سے جانا جاتا ہے، لیکن زیادہ پر 1484 01:06:11,410 --> 01:06:12,210 کہ کسی اور وقت. 1485 01:06:12,210 --> 01:06:18,540 >> اب کے لیے، یہ پیدا نامی ایک تبدیل قدر جس کی اصل QUIZZES 1486 01:06:18,540 --> 01:06:19,940 عددی قیمت 2 ہے. 1487 01:06:19,940 --> 01:06:24,020 ہے کہ تو کہیں آپ QUIZZES دیکھ، QUIZZES اس فائل کے دوران، QUIZZES ہے، 1488 01:06:24,020 --> 01:06:25,410 صرف نمبر 2. 1489 01:06:25,410 --> 01:06:28,100 اب، اگر میں مرکزی اب دیکھو، یہ کس طرح کام کرتا ہے کو دیکھنے کے. 1490 01:06:28,100 --> 01:06:29,500 سب سے پہلے، یہ تھوڑا خفیہ لگ رہا ہے. 1491 01:06:29,500 --> 01:06:31,340 لیکن یہ ایک ہفتے سے تمام چیزیں ہے. 1492 01:06:31,340 --> 01:06:32,710 گریڈ کے لئے صارف سے پوچھو. 1493 01:06:32,710 --> 01:06:33,630 ہم اس کو کس طرح کرتے ہیں؟ 1494 01:06:33,630 --> 01:06:35,470 ، 22 لائن میں - 1495 01:06:35,470 --> 01:06:37,210 یہ سچ رسیلی حصہ ہے - 1496 01:06:37,210 --> 01:06:40,960 میں فلوٹ، لیکن صرف ایک فلوٹ کا اعلان. 1497 01:06:40,960 --> 01:06:44,620 میں اعلان، بلکہ رہا ہوں، چل نقاط کے اقدار کی ایک صف ہے. 1498 01:06:44,620 --> 01:06:49,100 یہ متغیر گریڈ کہا جاتا ہے، جیسا کہ یہاں تقاضا جا رہا ہے. 1499 01:06:49,100 --> 01:06:53,080 لیکن نئے نحو کا واحد ٹکڑا تو یہ مربع بریکٹ ہیں، یہ حقیقت 1500 01:06:53,080 --> 01:06:59,350 کہ میں فلوٹ اور پھر گریڈ کھلا بریکٹ اور پھر ایک نمبر کا کہنا ہے کہ ہے. 1501 01:06:59,350 --> 01:07:02,460 نوٹس، اگر یہ مسلسل جاری ہے، یہ تو صرف ہے جیسا کہ ہم نے یہ کیا ہے. 1502 01:07:02,460 --> 01:07:06,890 اس کا مطلب یہ ہے کہ ارے کمپیوٹر، مجھے دو floats دے، اور مجموعی طور پر دو کال 1503 01:07:06,890 --> 01:07:08,220 ان کے گریڈ. 1504 01:07:08,220 --> 01:07:11,920 یہ اس طرح ایک زیادہ تکاؤ عمل کے برعکس ہے. 1505 01:07:11,920 --> 01:07:15,850 میں grade1 فلوٹ، grade2 فلوٹ، اور وغیرہ. 1506 01:07:15,850 --> 01:07:20,010 تو ایک صف ہمیں اس خیال پر عمل در آمد کی بہت کم messily کی اجازت دیتا ہے لیکن، میں 1507 01:07:20,010 --> 01:07:24,630 اس طرح کہ ہم کوڈ کا ایک لائن لکھنے کے بجائے، کا کہنا ہے کہ کر سکتے ہیں، 16 کے لئے 16 1508 01:07:24,630 --> 01:07:25,740 ہفتے سمسٹر. 1509 01:07:25,740 --> 01:07:29,950 تو میں نے 2 مشکل کوڈ نہیں کرنا چاہتے تھے کیونکہ اگر آپ نے اس کے بارے میں لگتا ہے اب 1510 01:07:29,950 --> 01:07:34,160 منطقی طور پر - اگلے سال فرض 3 CS50 تبدیلیاں بجائے quizzes. 1511 01:07:34,160 --> 01:07:35,510 اور میں نمبر 2 یہاں تھا. 1512 01:07:35,510 --> 01:07:36,600 میں نمبر 2 یہاں تھا. 1513 01:07:36,600 --> 01:07:37,580 میں نمبر 2 یہاں تھا. 1514 01:07:37,580 --> 01:07:38,560 میں نمبر 2 یہاں تھا. 1515 01:07:38,560 --> 01:07:43,180 یہ بہت تکاؤ اور بہت بگاڑ اور اتفاقی طور پر تبدیل کرنے کی آسان ہو جاتا ہے 1516 01:07:43,180 --> 01:07:47,690 ایک قدر 3 اور 2 میں سے کچھ دوسرے قدر یاد آتی ہے. 1517 01:07:47,690 --> 01:07:52,460 تو میں بجائے خلاصہ دور جا رہا ہوں اور اس کے مسلسل استعمال کرتے ہیں کہ، اس کے طور پر 1518 01:07:52,460 --> 01:07:54,120 نام سے پتہ چلتا ہے، کبھی تبدیلیاں. 1519 01:07:54,120 --> 01:07:57,710 اور اب، کوئی بات نہیں ہے کہ ہم مختلف ہے quizzes، اس سال یا آئندہ میں، 1520 01:07:57,710 --> 01:08:01,210 صرف ایک ہی جگہ میں تبدیل کرنے، سب سے اوپر یہاں ہے. 1521 01:08:01,210 --> 01:08:02,720 >> تو وہ مسلسل جاری ہے. 1522 01:08:02,720 --> 01:08:08,680 دریں اثنا، نیا تصوراتی خصوصیت ایک صف کی ہے. 1523 01:08:08,680 --> 01:08:14,660 تو مربع بریکٹ آپ کے وزٹرز کا ریکارڈ رکھا یہ بہت floats دیتے ہیں اور آپ کے وزٹرز کا ریکارڈ رکھا مجموعی طور پر کی اجازت دیتا ہے 1524 01:08:14,660 --> 01:08:16,630 ان کے گریڈ یہاں پر کال کریں. 1525 01:08:16,630 --> 01:08:17,990 تو اب دیکھنے کی بات ہے کہ میں کیا کرنے جا رہا ہوں. 1526 01:08:17,990 --> 01:08:20,359 یہاں 24 سطر میں لوپ کے لئے ایک آغاز ہے. 1527 01:08:20,359 --> 01:08:22,260 یہ واقعی میں کچھ بھی نہیں پسند ہے. 1528 01:08:22,260 --> 01:08:25,060 یہ صرف quizzes کا استعمال کرتے ہوئے مشکل کوڈت ایک بڑی تعداد کے بجائے. 1529 01:08:25,060 --> 01:08:27,790 لیکن ذہنی گزشتہ ہفتے سے مختلف نہیں ہے. 1530 01:08:27,790 --> 01:08:29,040 یہ صرف printf ہے. 1531 01:08:29,040 --> 01:08:35,490 تو printf ("٪ ڈی کی کوئز NUMBER٪ D") کیونکہ میں صرف مجھے کوئز پرنٹ کرنا چاہتے ہیں 1532 01:08:35,490 --> 01:08:38,050 نمبر دو میں سے ایک اور پھر دو میں سے دو. 1533 01:08:38,050 --> 01:08:39,850 تو یہ خالصتا ایک جمالیاتی بات یہ ہے. 1534 01:08:39,850 --> 01:08:42,500 لیکن دلچسپ حصہ اب 27 لائن میں ہے. 1535 01:08:42,500 --> 01:08:48,310 میں چل نقاط کے ساتھ دو جگہ دار میں سے ایک میں مکمل 1536 01:08:48,310 --> 01:08:51,029 قیمت، آپ نے پھر مربع بریکٹ کا استعمال کریں. 1537 01:08:51,029 --> 01:08:55,620 اس صورت میں، میں نے میں کا استعمال کریں کیونکہ لوپ کے لئے اس میں برابر کے ساتھ شروع کر دیا ہے رہا ہوں 1538 01:08:55,620 --> 01:08:57,560 کس قدر بظاہر؟ 1539 01:08:57,560 --> 01:08:58,279 0. 1540 01:08:58,279 --> 01:09:01,350 >> تو اس لوپ کے پہلے iteration پر، یہ اسی طرح اگرچہ یہ ہے کہ میں 1541 01:09:01,350 --> 01:09:02,689 کوڈ میں یہ لکھا تھا. 1542 01:09:02,689 --> 01:09:05,580 لیکن اس لوپ کے دوسرے iteration پر، یہ اسی طرح اگرچہ یہ ہے کہ میں 1543 01:09:05,580 --> 01:09:07,750 اپنے کوڈ میں یہ لکھا تھا. 1544 01:09:07,750 --> 01:09:10,750 لیکن حقیقت یہ ہے کہ میں ایک متغیر کا استعمال کرتے ہوئے کر رہا ہوں کامل ہے کیونکہ، نام کے طور پر 1545 01:09:10,750 --> 01:09:14,300 سے پتہ چلتا ہے، یہ ہر iteration پر اس قدر مختلف ہے. 1546 01:09:14,300 --> 01:09:17,370 تو میں اس صف ایک وقت میں بھرنے رہا ہوں ایک جگہ. 1547 01:09:17,370 --> 01:09:18,910 کیا اس صف کی طرح لگتی ہے؟ 1548 01:09:18,910 --> 01:09:21,430 ٹھیک ہے، وجہ ہے کہ میں یہاں کی سکرین پر اس سپر آسان مستطیل متوجہ 1549 01:09:21,430 --> 01:09:23,350 پہلے اس وجہ سے تھا. 1550 01:09:23,350 --> 01:09:27,279 ایک صف میموری کا ایک حصہ میموری کا ایک حصہ کے بعد ہے، 1551 01:09:27,279 --> 01:09:30,109 میموری کا ایک حصہ کی طرف سے کے بعد، اور وغیرہ. 1552 01:09:30,109 --> 01:09:35,260 تو اگر میرا صف 2 سائز کی ہے، یہاں اس صورت میں، میں کی طرف سے کر رہے گی 1553 01:09:35,260 --> 01:09:37,590 میرے کوئز کے اسکور میں ٹائپ کرنا، یہاں اچھا لگتا ہے. 1554 01:09:37,590 --> 01:09:39,430 میں نے اس ایک پر 100 ہے. 1555 01:09:39,430 --> 01:09:42,020 اور پھر میں نے اس پر 99 ایک ہے. 1556 01:09:42,020 --> 01:09:46,040 تو پھر یہ میموری بھی نہیں ہو سکتا ہے استعمال کیا جاتا کیونکہ میں نے صرف پوچھا ہے 1557 01:09:46,040 --> 01:09:48,689 2 سائز کے ایک صف کے لئے کمپیوٹر. 1558 01:09:48,689 --> 01:09:50,180 وہ چوکوں اب بھی وہاں ہیں. 1559 01:09:50,180 --> 01:09:50,340 ٹھیک ہے نا؟ 1560 01:09:50,340 --> 01:09:52,500 آپ کو اب بھی RAM کے دو گیگا بائٹس ہے، یہاں تک کہ اگر آپ کو صرف ہو 1561 01:09:52,500 --> 01:09:53,979 دو floats کے لئے پوچھ رہا تھا. 1562 01:09:53,979 --> 01:09:58,710 تو arrays کے پیچھے خیال ہے کہ کمپیوٹر میموری کا ایک حصہ لیتا ہے 1563 01:09:58,710 --> 01:10:03,230 اور پھر چھوٹے ٹکڑوں واپس apportions واپس، واپس واپس. 1564 01:10:03,230 --> 01:10:04,740 اور اس طرح ہے کہ ایک صف ہے. 1565 01:10:04,740 --> 01:10:09,080 یہ میموری کا ایک ملحق حصہ ہے، اندر جس میں سے آپ کو چیزیں ڈال کر سکتے ہیں. 1566 01:10:09,080 --> 01:10:12,400 >> اب یہ تو صرف کچھ بورنگ ریاضی کرنا ہوتا ہے. 1567 01:10:12,400 --> 01:10:16,170 اگر میں یہاں نیچے سکرال، یہ وہ جگہ ہے جہاں تو میں صف پر iterate. 1568 01:10:16,170 --> 01:10:19,410 میں صف میں تمام اقدار کے summation کے ساتھ آتے ہیں. 1569 01:10:19,410 --> 01:10:22,390 اور پھر میں گول تقریب کا استعمال کرتے ہیں اصل میں کرنا 1570 01:10:22,390 --> 01:10:23,940 خلاصہ quizzes کی طرف سے تقسیم کیا ہے. 1571 01:10:23,940 --> 01:10:27,450 لیکن کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے اب کے لئے کافی ریاضی کی طرح کے طور پر اس میں اپنے ہاتھ لہر. 1572 01:10:27,450 --> 01:10:30,010 لیکن جو میرے لئے کر رہی ہے بالآخر اوسطا کمپیوٹنگ ہے. 1573 01:10:30,010 --> 01:10:33,640 تو پہلے کوئز کے علاوہ دوسری کوئز 2 سے تقسیم اور اس کے بعد پرنٹنگ 1574 01:10:33,640 --> 01:10:34,700 ایک int کے طور پر باہر. 1575 01:10:34,700 --> 01:10:39,030 >> لیکن چلو اب نامی ایک مختلف string1 مثال کے طور پر منتقلی 1576 01:10:39,030 --> 01:10:42,370 جس میں ایک اسی طرح کی تصویر کا استعمال کرتے ہوئے کی ڈور پینٹ. 1577 01:10:42,370 --> 01:10:45,550 آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور صرف ایک لمحے کے لئے یہ آسان بنانے. 1578 01:10:45,550 --> 01:10:48,340 اور اب کے لئے پوٹ کاری معاف کرتا ہوں. 1579 01:10:48,340 --> 01:10:52,280 اس مثال میں سے 19 کی لائن میں نوٹس، میں صارف کی طرف سے ایک تار ملتا ہے. 1580 01:10:52,280 --> 01:10:55,780 نوٹس لیکن کیا میں اگلے لائنوں میں 22 آگے کر رہا ہوں. 1581 01:10:55,780 --> 01:11:00,260 میں اصل میں میں سے iterating رہا ہوں - اور یہ ایک نئی چال ہے - 1582 01:11:00,260 --> 01:11:02,730 strlen، سٹرنگ، کی حد کے ہے. 1583 01:11:02,730 --> 01:11:07,010 یہ ایک تقریب ہے کہ C کے ساتھ آتا ہے ہے کہ اگر آپ اس کو ایک تار کے پاس، یہ بتاتا ہے کہ ہے 1584 01:11:07,010 --> 01:11:08,950 آپ اس سٹرنگ میں کتنے حروف ہیں. 1585 01:11:08,950 --> 01:11:09,440 وہ سب ہے. 1586 01:11:09,440 --> 01:11:12,520 حقیقت یہ ہے کہ یہ تار کی لمبائی کی بجائے strlen ہے صرف اس لئے کہ یہ 1587 01:11:12,520 --> 01:11:13,040 مزید succinct. 1588 01:11:13,040 --> 01:11:17,100 30 سال پہلے، لوگوں، چیزوں اور succinctly ممکن لکھنا پسند ہے. 1589 01:11:17,100 --> 01:11:19,080 تو ہم نے اس کنونشن کو یہاں رکھ دیا ہے. 1590 01:11:19,080 --> 01:11:21,730 میں + کا مطلب صرف + ہر iteration میں اضافہ. 1591 01:11:21,730 --> 01:11:24,310 اور اب اس نوٹس کے، جو واقعی دلچسپ ہے. 1592 01:11:24,310 --> 01:11:28,730 تو 24 سطر میں، میں نے کمپیوٹر کا کہنا ہے کہ، مجھے ایک کردار دے، آٹھ 1593 01:11:28,730 --> 01:11:30,770 بٹس، اور یہ سی کو فون کریں. 1594 01:11:30,770 --> 01:11:35,370 لیکن کیا دائیں طرف کے کہنے پر یہ کیا ہے؟ 1595 01:11:35,370 --> 01:11:38,150 انگریزی میں، اس کا کیا کی نمائندگی کرتا ہے؟ 1596 01:11:38,150 --> 01:11:40,070 [اشراوی] 1597 01:11:40,070 --> 01:11:40,490 DAVID J. MALAN: بالکل. 1598 01:11:40,490 --> 01:11:42,390 کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے صف میں سب سے پہلے کردار دے دو. 1599 01:11:42,390 --> 01:11:45,400 یا اس سے زیادہ عام طور پر، کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے صف میں کردار میں ویں دیتے ہیں. 1600 01:11:45,400 --> 01:11:48,230 اور اب احساس یہ ضروری ہے کہ کمپیوٹر سائنسدانوں کے طور پر، ہم واقعی ہو 1601 01:11:48,230 --> 01:11:49,330 0 سے گن رہا تھا. 1602 01:11:49,330 --> 01:11:51,290 آپ صوابدید نہیں ہے ایسا کرنے شروع کرنے کے لئے. 1603 01:11:51,290 --> 01:11:54,580 اب آپ کو کمپیوٹر کی توقعات کے مطابق سلوک ہے اور 1604 01:11:54,580 --> 01:11:58,010 صفر سے اعتماد کیونکہ [0] پہلے ہو رہا ہے 1605 01:11:58,010 --> 01:11:59,670 ایک تار میں کردار ہے. 1606 01:11:59,670 --> 01:12:01,320 [1] دوسری جا رہا ہے. 1607 01:12:01,320 --> 01:12:03,610 [2]، تیسری، اور وغیرہ کی جا رہی ہے. 1608 01:12:03,610 --> 01:12:08,840 تو اس پروگرام پر، اگر میں اسے مرتب - یہ ہے، پھر string1. 1609 01:12:08,840 --> 01:12:11,040 >> تو string1 ہے. 1610 01:12:11,040 --> 01:12:16,730 اور اب میں میرے ٹرمنل ونڈو میں string1 چلاتے ہیں. 1611 01:12:16,730 --> 01:12:19,180 یہ ان پٹ کے لئے انتظار کر رہا ہے، تو میں میں، کا کہنا ہے کہ ڈیوڈ ٹائپ کرنے جا رہا ہوں. 1612 01:12:19,180 --> 01:12:20,080 درج کریں. 1613 01:12:20,080 --> 01:12:23,350 اور اب یہ مختلف لائنوں پر DAVID کا پرنٹ ہے کیونکہ 1614 01:12:23,350 --> 01:12:24,430 نوٹس ہے کہ میں کیا کر رہا ہوں. 1615 01:12:24,430 --> 01:12:27,510 میں ایک وقت میں ایک کردار چھپائی رہا ہوں. 1616 01:12:27,510 --> 01:12:29,100 اب ہم تفصیل میں جانا آج اس پر نہیں ہو گا. 1617 01:12:29,100 --> 01:12:31,610 لیکن میں نے اس چیک پہلے ایک لمحے کے یہاں سے خارج کر دیا ہے. 1618 01:12:31,610 --> 01:12:36,310 یہ پتہ چلا ہے کہ اگر صارف ناجائز استعمال، معاندانہ ہے، یا صرف 1619 01:12:36,310 --> 01:12:41,780 الجھن میں، آپ کو کچھ کی لمبائی کی ایک تار دینے کے لئے اصل میں ناکام کر سکتے ہیں. 1620 01:12:41,780 --> 01:12:43,640 اگر آپ نے کی بورڈ پر غلط کلید کو مارا آپ کو دے سکتا ہے، 1621 01:12:43,640 --> 01:12:44,390 بالکل کوئی تار. 1622 01:12:44,390 --> 01:12:47,790 یا اگر آپ کو بدنیتی پر مبنی ہو، آپ کو ایک ایک گیگا بائٹ کی مالیت میں پیسٹ کرنے کی کوشش کر سکتے ہیں 1623 01:12:47,790 --> 01:12:49,380 مضمون میں اس جملے کو بھرنے کے لئے. 1624 01:12:49,380 --> 01:12:52,060 اور اگر کمپیوٹر میموری سے باہر چلتا ہے، یہ پتہ چلا ہے کہ ہم جا رہے ہیں 1625 01:12:52,060 --> 01:12:54,310 واپس نامی اس خصوصی شہوت انگیز null قیمت حاصل کرنے کے لئے. 1626 01:12:54,310 --> 01:12:57,550 تو اب کے لئے، صرف اتنا جانتا ہے کہ اس خصوصی ملاقات کی، شہوت انگیز null قیمت ہے کہ 1627 01:12:57,550 --> 01:13:01,000 ہمیں چیک کرنے کے لیے جب ہم میموری کی دوسری چیزوں کے درمیان ہیں، کی اجازت دے گا. 1628 01:13:01,000 --> 01:13:07,330 >> لیکن اگر میں کھول اب string2، یہاں ایک فرق محسوس کریں. 1629 01:13:07,330 --> 01:13:09,760 string2 کے ساتھ ایک فرق نوٹس 1630 01:13:09,760 --> 01:13:13,260 string2 کے ساتھ، لوپ کے لئے یہ تھوڑا مختلف ہے. 1631 01:13:13,260 --> 01:13:16,350 مجھے nulls تاکہ ہم ان لوگوں کو کسی اور وقت کے بارے میں بات کر سکتے ہیں حذف. 1632 01:13:16,350 --> 01:13:18,460 لیکن لوپ کے لئے اس وقت کے بارے میں مختلف کیا ہے؟ 1633 01:13:21,580 --> 01:13:23,160 اور میں گزشتہ مثال کے طور پر واپس جا سکتے ہیں. 1634 01:13:23,160 --> 01:13:24,800 تو یہ دو ورژن ہے. 1635 01:13:24,800 --> 01:13:27,020 یہ ایک ورژن ہے. 1636 01:13:27,020 --> 01:13:31,935 ایک، دو، ایک دو. 1637 01:13:35,030 --> 01:13:38,240 تو strlen فون ہے کہاں؟ 1638 01:13:38,240 --> 01:13:40,420 یہ لوپ کے لئے سب سے پہلے حصے میں ہے. 1639 01:13:40,420 --> 01:13:43,060 میں نے یہ کیوں کر رہا ہوں کوئی خیال؟ 1640 01:13:43,060 --> 01:13:43,690 جی ہاں. 1641 01:13:43,690 --> 01:13:46,010 [اشراوی] 1642 01:13:46,010 --> 01:13:47,630 DAVID J. MALAN: تو ہم FUNCTION کو کال نہیں ہر ایک وقت. 1643 01:13:47,630 --> 01:13:48,040 بالکل. 1644 01:13:48,040 --> 01:13:50,350 loops کے لئے سے یاد ہے کہ وہ سپر آسان ہیں ایک بار آپ کی طرح 1645 01:13:50,350 --> 01:13:52,180 سمجھتے ہیں کہ یہ ابتدا ہے، 1646 01:13:52,180 --> 01:13:53,330 حالت، اور تازہ کاری کریں. 1647 01:13:53,330 --> 01:13:55,430 مسئلہ یہ ہے کہ حالت ہر پر ہوتا ہے 1648 01:13:55,430 --> 01:13:56,600 لوپ کی iteration. 1649 01:13:56,600 --> 01:13:59,930 اور اس وجہ سے یہاں اس مثال میں، اس حقیقت کے بارے میں برا کیا ہے 1650 01:13:59,930 --> 01:14:03,500 کہ یہ میری شرط ہے؟ 1651 01:14:03,500 --> 01:14:05,920 آپ strlen پھر سے فون کر رہے ہو اور بار بار. 1652 01:14:05,920 --> 01:14:08,990 کہ سٹرنگ کی طوالت لیکن ایک بار میں DAVID میں ٹائپ ہے، پانچ ہے. 1653 01:14:08,990 --> 01:14:11,560 اور اس وجہ سے لوپ کے ہر iteration پر تبدیل نہیں ہے 1654 01:14:11,560 --> 01:14:15,560 سٹرنگ اب بھی ہے D-A-V-D-. کیا بننے جا رہی ہے تو یہ ایک اشارہ ہے 1655 01:14:15,560 --> 01:14:19,650 ایک ڈیزائن کے فیصلے کے طور پر جانا جاتا ہے تیزی سے اہم خیال، جہاں - کیا نہ صرف 1656 01:14:19,650 --> 01:14:21,640 کمپیوٹر کے غیر ضروری کام کرتے ہیں. 1657 01:14:21,640 --> 01:14:25,630 >> اب کے طور پر سٹینڈرڈ ایڈیشن کا آپس میں ایک 2 pset، 2 pset چوری چھپے پیش منظر ہے 1658 01:14:25,630 --> 01:14:28,850 آپ اصل میں خفیہ کار کے کچھ نمبر، کچھ پر عملدرآمد کو چیلنج کرنے والے 1659 01:14:28,850 --> 01:14:32,650 خفیہ کاری یلگوردمز کی تعداد اتنی ہے کہ آپ کر سکتے ہیں ینکریپٹ اور بےرمز دونوں 1660 01:14:32,650 --> 01:14:35,530 وہاں بہت ایک Ralphie طرح خفیہ پیغامات، ضابطہ ربائی مکمل. 1661 01:14:35,530 --> 01:14:38,720 2 pset کے ہیکر ایڈیشن میں، ہم تھوڑا مزید جانے کے لئے جا رہے ہیں. 1662 01:14:38,720 --> 01:14:42,010 ہم نے ایک اصل کمپیوٹر سسٹم ہے کہ ایک پر مشتمل ہے سے آپ کو ایک فائل کے ہاتھ میں جا رہے ہیں 1663 01:14:42,010 --> 01:14:45,690 صارف نام اور اصل مرموز پاس ورڈ کی پوری جھوبڈ، اور چیلنج 1664 01:14:45,690 --> 01:14:49,110 کے لئے ہیکر ایڈیشن ان پاس ورڈ اور اعداد و شمار درار جا رہا ہے 1665 01:14:49,110 --> 01:14:53,060 کیا خفیہ نگاری یا کیا راز اصل میں کیا گیا باہر 1666 01:14:53,060 --> 01:14:55,080 ان پاس ورڈ کو پیدا. 1667 01:14:55,080 --> 01:14:58,360 اور ہم نے ایک نئی خصوصیت کا استعمال کرتے ہوئے یہاں C میں دے دونگا یہ کرنے جا رہے ہیں 1668 01:14:58,360 --> 01:15:02,200 آپ کے پاس صرف ایک کی ڈیمو، دلائل کمانڈ لائن کے طور پر جانا جاتا ہے. 1669 01:15:02,200 --> 01:15:05,930 >> تو یہ پتہ چلتا ہے، جیسا کہ تم میں سے بعض کے حصے میں یا درسی کتابوں میں دیکھا جا سکتا ہے، 1670 01:15:05,930 --> 01:15:09,850 اہم قوسین میں صفر ہو ہمیشہ نہیں ہے. 1671 01:15:09,850 --> 01:15:14,060 یہ پتہ چلا ہے کہ اہم بھی اس طرح کر سکتے ہیں لکھا دو دلائل کے ساتھ، 1672 01:15:14,060 --> 01:15:19,690 argc اور argv، جہاں argc الفاظ کی تعداد ہے کہ آپ ٹائپ کے بعد ہے 1673 01:15:19,690 --> 01:15:21,940 آپ کے کمانڈ لائن پر پروگرام کا نام ہے. 1674 01:15:21,940 --> 01:15:24,550 اور argv اصل الفاظ ہیں. 1675 01:15:24,550 --> 01:15:29,470 اور کے طور پر مربع وہاں بریکٹ تجویز ہے، argv بظاہر ایک صف ہے. 1676 01:15:29,470 --> 01:15:33,720 یہ یاد میں ایک اسٹرنگ کے بعد ایک اسٹرنگ کے بعد ایک تار ہو رہا ہے. 1677 01:15:33,720 --> 01:15:36,170 تو کیا ہم کرنے کے قابل ہو جائے جا رہے ہیں، 2 pset کے ساتھ شروع ہونے والے ہے، 1678 01:15:36,170 --> 01:15:37,310 کچھ اس طرح ہے. 1679 01:15:37,310 --> 01:15:42,450 اگر میں argv1 بناتے ہیں، جس میں ایک مثال کے طور پر ہم نے پیر کو واپس آنے کی، اور چلانے گے 1680 01:15:42,450 --> 01:15:45,180 نوٹس، کہ یہ ابھی تک کچھ کرنا نہیں لگ رہا ہے. 1681 01:15:45,180 --> 01:15:47,050 یہ صرف اس کے اپنے نام پرنٹ. 1682 01:15:47,050 --> 01:15:53,220 لیکن اگر میں کہتا ہوں کہ الوداع کلاس، کا نوٹس کہ اس پروگرام بظاہر iterates 1683 01:15:53,220 --> 01:15:57,030 الفاظ ہے جو کہ آپ نے فوری طور پر ٹائپ کیا گیا ہے وہ یہ کہ یہ ہر ایک سے زیادہ ہے. 1684 01:15:57,030 --> 01:16:02,050 اور اس کا مطلب ہے جس کے ذریعے ہم الفاظ کہ صارف کو رسائی حاصل کرے گا 1685 01:16:02,050 --> 01:16:06,780 اہم کو تبدیل کرنے، اس ہفتے کے آخر میں شروع ہونے والے کی طرف سے فوری طور پر میں ٹائپ int کی طرف سے ہے، 1686 01:16:06,780 --> 01:16:10,710 اہم (باطل) کے مرکزی (argc، argv) int. 1687 01:16:10,710 --> 01:16:13,700 اور اسی طرح کمانڈ لائن دلائل پیدا کیا جائے گا. 1688 01:16:13,700 --> 01:16:17,210 اور ایک بار تم اس میں واقعی بہتر ملے، تو آپ کو لکھنے کے قابل ہو جائے گا 1689 01:16:17,210 --> 01:16:21,370 جیسا کہ یہاں ایک کے طور پر واقعی trippy پروگرام، جس کے اوپر اور اس سے باہر جاتا ہے 1690 01:16:21,370 --> 01:16:25,520 فعالیت میں سے کچھ ہم اس طرح دور کیا ہے لیکن سب کو بہت طاقتور ہے. 1691 01:16:25,520 --> 01:16:27,330 >> تو ہم نے اس کے ساتھ سکرین پر یہ چھوڑ دیں گے. 1692 01:16:27,330 --> 01:16:29,160 اور ہم آپ کو پیر کو نظر آئے گا.