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