1 00:00:00,000 --> 00:00:00,000 2 00:00:00,000 --> 00:00:00,000 [موسیقی بجانے] 3 00:00:00,000 --> 00:00:13,950 4 00:00:13,950 --> 00:00:16,240 >> DAVID J. MALAN: ٹھیک ہے، اس CS50 ہے. 5 00:00:16,240 --> 00:00:18,010 اور اس ہفتے سے ایک ہے. 6 00:00:18,010 --> 00:00:22,050 چنانچہ ہفتے صفر میں ہے کہ آخری بار یاد، ہم کمپیوٹیشنل سوچ پر مرکوز. 7 00:00:22,050 --> 00:00:25,440 اور ہم اس سے کو منتقل سکریچ، ایک گرافیکل پروگرامنگ 8 00:00:25,440 --> 00:00:27,360 ہمارے دوستوں سے زبان ایم ائی ٹی کی میڈیا لیب میں. 9 00:00:27,360 --> 00:00:31,730 >> اور سکریچ کے ساتھ، ہم نے دریافت کیا افعال جیسے خیالات، اور حالات، 10 00:00:31,730 --> 00:00:35,210 اور loops، اور متغیر، اور یہاں تک کہ واقعات، اور موضوعات، اور زیادہ. 11 00:00:35,210 --> 00:00:37,880 اور آج، ہم کرنے جا رہے ہیں ان خیالات کا استعمال جاری، 12 00:00:37,880 --> 00:00:40,630 اور واقعی کے لئے ان کو لینے عطا کی، لیکن ان کا ترجمہ 13 00:00:40,630 --> 00:00:44,220 C. ابھی طور پر جانا کسی دوسری زبان میں، C ایک زیادہ روایتی زبان ہے. 14 00:00:44,220 --> 00:00:46,020 یہ ایک کم سطح ہے زبان، اگر آپ. 15 00:00:46,020 --> 00:00:47,300 >> یہ خالصتا متنی ہے. 16 00:00:47,300 --> 00:00:49,910 اور اس طرح پہلی نظر میں، یہ ہے سب نہیں بلکہ خفیہ دیکھنے کے لئے جا 17 00:00:49,910 --> 00:00:51,430 اگر آپ پہلے پروگرام کبھی نہیں کیا ہے. 18 00:00:51,430 --> 00:00:53,530 ہم کے لئے جا رہے سیمی کولون، اور قوسین، 19 00:00:53,530 --> 00:00:55,150 اور گھوبگھرالی منحنی خطوط وحدانی، اور زیادہ. 20 00:00:55,150 --> 00:00:57,240 لیکن یہ بھی احساس نحو ہے اگرچہ 21 00:00:57,240 --> 00:01:00,600 ایک چھوٹا سا نا واقف نظر کرنے کے بارے میں تم میں سے سب سے زیادہ کے لئے، کہ ماضی دیکھیں. 22 00:01:00,600 --> 00:01:03,220 اور خیالات کو دیکھنے کے لئے کی کوشش کریں ہیں ہیں، یقینا، واقف، 23 00:01:03,220 --> 00:01:06,750 یہاں ہفتے میں ایک کیا کیونکہ ہم آپس میں موازنہ کرنے کے لئے ہے کرنے کے لئے شروع کر دیں گے 24 00:01:06,750 --> 00:01:08,980 ابتدائی طور پر، C. مقابلے سکریچ 25 00:01:08,980 --> 00:01:12,350 >> لہذا، مثال کے طور پر، یاد کرتے ہیں جب ہم اس ہمارے پروگراموں کے پہلے سے لاگو 26 00:01:12,350 --> 00:01:16,220 آخری بار، ہم نے دیکھا کہ ایک بلاک تھا this-- جب طرح کچھ 27 00:01:16,220 --> 00:01:19,990 سبز پرچم پر کلک کریں، اور پھر ہم نے اس کے نیچے ایک یا ایک سے زیادہ پہیلی کے ٹکڑے ٹکڑے، 28 00:01:19,990 --> 00:01:22,150 اس صورت میں، کا کہنا ہے کہ، ہیلو دنیا. 29 00:01:22,150 --> 00:01:24,870 لہذا، یقینا، سکریچ میں، مجھے لگتا ہے کہ سبز پرچم پر کلک کریں جب 30 00:01:24,870 --> 00:01:27,390 اپنے پروگرام کو چلانے کے لئے ہے، لہذا بات کرنے کے لئے، یہ ہیں 31 00:01:27,390 --> 00:01:29,520 پھانسی دے دی ہو کہ بلاکس، یا رن. 32 00:01:29,520 --> 00:01:32,230 اور، خاص طور پر، سکریچ کہا، خوش، دنیا. 33 00:01:32,230 --> 00:01:35,377 >> اب، میں بیان کردہ ہو سکتا تھا یہاں مختلف الفاظ. 34 00:01:35,377 --> 00:01:37,960 لیکن ہم بے شک، کہ، بہت سے نظر آئے گا ان blocks-- اور بے شک میں، 35 00:01:37,960 --> 00:01:41,880 C میں کئی افعال میں ہو سکتا ہے parametrized یا اپنی مرضی 36 00:01:41,880 --> 00:01:43,150 مختلف چیزیں کرنے کے لئے. 37 00:01:43,150 --> 00:01:45,520 سچ تو یہ ہے، C میں ہم نے تو اب، تبدیل کرنا چاہتے ہیں، 38 00:01:45,520 --> 00:01:47,567 اس کے شروع کے پروگرام اس دوسری زبان کے لئے، 39 00:01:47,567 --> 00:01:49,650 ہم ایک لکھنے کے لئے جا رہے ہیں اس طرح کچھ. 40 00:01:49,650 --> 00:01:52,540 >> عطا کی، کچھ مجریچت ہے وہاں نحو سب سے زیادہ امکان، INT، 41 00:01:52,540 --> 00:01:54,380 اور قوسین، اور صفر. 42 00:01:54,380 --> 00:01:57,740 لیکن اگرچہ تم کروگی printf-- لگتا ہے کہ یہ صرف پرنٹ کیا جائے گا. 43 00:01:57,740 --> 00:02:00,120 لیکن print پرنٹ کا مطلب ، فارمیٹ کیا ہم جلد ہی دیکھیں گے کے طور پر. 44 00:02:00,120 --> 00:02:02,140 یہ لفظی پرنٹ گا سکرین پر جو کچھ بھی 45 00:02:02,140 --> 00:02:05,990 ، ان قوسین کے اندر ہے جو کورس کے اس معاملے میں، ہیلو دنیا ہے. 46 00:02:05,990 --> 00:02:09,290 >> لیکن تم کچھ دوسرے محسوس کریں گے نحو، کچھ ڈبل قیمت درج کرنے، 47 00:02:09,290 --> 00:02:11,890 کہ آخر میں قوسین، نیم بڑی آنت اور طرح. 48 00:02:11,890 --> 00:02:15,027 چنانچہ ہیڈ کا تھوڑا سا ہے، تو بات کرنے کی، دونوں cognitively 49 00:02:15,027 --> 00:02:17,860 اور میں syntactically، ہم جا رہے ہیں طویل عرصے سے پہلے یاد کرنے کی ضرورت کے لئے. 50 00:02:17,860 --> 00:02:20,720 لیکن عملی طور پر ساتھ کہ اس کا احساس، یہ آپ کو باہر کود کرنے کے لئے شروع ہو جائے گا. 51 00:02:20,720 --> 00:02:24,920 >> سچ تو یہ ہے، چلو اس سے ایک پر توجہ مرکوز کرتے ہیں تقریب، اس معاملے میں specifically-- 52 00:02:24,920 --> 00:02:26,290 ہیلو دنیا کا کہنا ہے کہ. 53 00:02:26,290 --> 00:02:27,560 تو کہتے ہیں کہ دالہ ہے. 54 00:02:27,560 --> 00:02:31,320 ہیلو دنیا اس پیرامیٹر ہے، یا دلیل، اس کی اصلاح. 55 00:02:31,320 --> 00:02:34,320 >> اور C میں مساوی صرف ہے یہاں اس ایک لائن ہونے جا رہا، 56 00:02:34,320 --> 00:02:38,710 printf کے برابر ہے جہاں،، کا کہنا ہے کہ ڈبل کے حوالے سے کہا سٹرنگ، ہیلو 57 00:02:38,710 --> 00:02:41,470 دنیا، کورس کے، برابر ہے وہاں سفید باکس میں کیا ہے کرنے کے لئے. 58 00:02:41,470 --> 00:02:45,680 اور الٹا سلیش (ن)، ایک چھوٹا سا اگرچہ عجیب اور شروع سے غائب، 59 00:02:45,680 --> 00:02:49,380 بس اثر ہم کریں گے کر جا رہا ہے ایک کمپیوٹر میں دیکھ، اپنے میک یا ایک پی سی کی طرح، 60 00:02:49,380 --> 00:02:51,660 بس آگے بڑھ اگلی لائن پر کرسر. 61 00:02:51,660 --> 00:02:53,970 اسے مارنے کی طرح ہے اپنے کی بورڈ پر درج. 62 00:02:53,970 --> 00:02:55,580 >> تو ہم سے بہت پہلے پھر سے دیکھ لیں گے. 63 00:02:55,580 --> 00:02:58,640 لیکن سب سے پہلے، چلو اس پر ایک نظر ڈالیں ہیں loops کی صورت میں دوسری مثال. 64 00:02:58,640 --> 00:03:02,830 ہم آخری بار یہ ہمیشہ کے لئے لوپ تھا پہیلی کے ٹکڑے ٹکڑے کا ایک سلسلہ تھا جس میں 65 00:03:02,830 --> 00:03:05,490 کہ لفظی کچھ کیا اس معاملے میں forever--، 66 00:03:05,490 --> 00:03:08,360 کہتے ہیں، دنیا ہیلو، ہیلو دنیا، ہیلو دنیا، دنیا ہیلو. 67 00:03:08,360 --> 00:03:10,350 تو یہ ڈیزائن کی طرف سے ایک لامحدود لوپ ہے. 68 00:03:10,350 --> 00:03:14,580 >> C میں، ہم اس کو نافذ کرنا چاہتے ہیں تو اسی خیال، ہم صرف یہ کر سکتا ہے. 69 00:03:14,580 --> 00:03:19,570 سچ ہے، جبکہ ہیلو printf کے اب world-- جبکہ، صرف semantically بنانا، اس قسم کی 70 00:03:19,570 --> 00:03:23,090 ایسا کرنے کے خیال کی یاد دلاتا ہے کچھ دوبارہ، اور پھر، اور پھر، 71 00:03:23,090 --> 00:03:23,980 اور کب تک؟ 72 00:03:23,980 --> 00:03:27,990 ویسے، true-- کو یاد ہوگا کہ سچ صرف پر یا ایک ہے. 73 00:03:27,990 --> 00:03:30,660 >> اور سچ، کورس کے، ہمیشہ سچ ہے. 74 00:03:30,660 --> 00:03:33,060 تو یہ ایک بے معنی کی طرح ہے بیان صرف سچ کہنے کے لیے. 75 00:03:33,060 --> 00:03:36,890 لیکن درحقیقت یہ جان بوجھ ہے، سچ صرف ہمیشہ سچ ہے تو اس کی وجہ، 76 00:03:36,890 --> 00:03:40,850 سچ صرف کا مطلب ہے جبکہ مقابلے میں، بالواسطہ طور پر ایک چھوٹا سا ہے تو، 77 00:03:40,850 --> 00:03:44,070 کوڈ کا مندرجہ ذیل لائنوں کہ ان گھوبگھرالی منحنی خطوط وحدانی کے درمیان میں 78 00:03:44,070 --> 00:03:48,320 صرف پھانسی چاہئے پھر، اور پھر، اور ایک بار پھر، اور اصل میں کبھی نہیں روک. 79 00:03:48,320 --> 00:03:50,230 >> لیکن اگر تم چاہتے ہو تو اپنے ہم کے طور پر، کو روکنے کے لئے لوپ 80 00:03:50,230 --> 00:03:54,500 طرح کچھ کے ساتھ آخری بار کیا یہ مندرجہ ذیل 50 بار دہرائیں، 81 00:03:54,500 --> 00:03:57,700 C میں ہم نے کیا ہے کے ساتھ بھی ایسا ہی کر سکتے ہیں مطلوبہ الفاظ کی loop-- لئے ایک نامی 82 00:03:57,700 --> 00:03:59,330 ، لیکن اس کے لئے بھی نہ ہونے کی وجہ سے. 83 00:03:59,330 --> 00:04:03,290 اور پھر ہم، یہاں کچھ نئے نحو ہے int کے ساتھ میں نے کے برابر ہے 0، میں نے کم 50، 84 00:04:03,290 --> 00:04:03,880 میں + +. 85 00:04:03,880 --> 00:04:05,430 اور ہم اس کے لئے واپس آ جائیں گے. 86 00:04:05,430 --> 00:04:09,660 لیکن یہ صرف ہے کہ ہم کس طرح کریں گے سکریچ بلاکس کے سیٹ میں ترجمہ 87 00:04:09,660 --> 00:04:13,079 کوڈ کے سی لائنوں کی ایک سیٹ کرنے کے لئے. 88 00:04:13,079 --> 00:04:14,450 >> دریں اثنا، متغیر غور. 89 00:04:14,450 --> 00:04:16,540 اور، اصل میں، ہم صرف ایک لمحے پہلے دیکھا. 90 00:04:16,540 --> 00:04:21,220 اسکریچ کی صورت میں ہے اور اگر، ہم میں نامی ایک متغیر کا اعلان کرنا چاہتے تھے 91 00:04:21,220 --> 00:04:24,590 میں عددی ہونے کے لئے، صرف ایک نمبر، اور ہم کچھ قدر کرنے کے لئے مقرر کرنا چاہتے ہیں، 92 00:04:24,590 --> 00:04:28,410 ہم اس سنتری کا استعمال کریں گے یہاں مجھے 0 مقرر کو بلاک. 93 00:04:28,410 --> 00:04:30,800 >> اور آج ہم دیکھ لیں گے اور اس سے آگے، صرف گزشتہ ہفتے کی طرح، 94 00:04:30,800 --> 00:04:33,850 پروگرامرز تقریبا ہمیشہ ایسا ، صفر سے گنتی شروع واقعی 95 00:04:33,850 --> 00:04:34,950 کنونشن کی طرف سے. 96 00:04:34,950 --> 00:04:37,250 بلکہ سے یاد ہمارے بائنری کی بحث، 97 00:04:37,250 --> 00:04:39,990 سب سے چھوٹی تعداد آپ کر سکتے ہیں بٹس کی کسی بھی تعداد کے ساتھ کی نمائندگی کرتے ہیں 98 00:04:39,990 --> 00:04:41,640 صرف 0 خود بننے جا رہی ہے. 99 00:04:41,640 --> 00:04:45,190 اور اس طرح ہم عام طور پر شروع کر دیں گے 0 سے بھی ہمارے متغیر ابتدا. 100 00:04:45,190 --> 00:04:47,710 >> اور C میں، ایک ہی کرنا ہم int کہنے جا رہے ہیں 101 00:04:47,710 --> 00:04:50,110 عددی کے لئے، صرف کنونشن کی طرف سے مجھے. 102 00:04:50,110 --> 00:04:53,390 میں اس متغیر بلا سکتی تھی کچھ بھی میں چاہتا ہوں، صرف سکریچ میں طرح. 103 00:04:53,390 --> 00:04:57,770 اور پھر برابر 0 خصوصا دیتا دائیں سے قدر 0 104 00:04:57,770 --> 00:05:01,319 اور متغیر میں رکھتا ہے، یا وہاں سٹوریج کنٹینر، بائیں طرف. 105 00:05:01,319 --> 00:05:04,360 اور نیم بڑی آنت ہم دیکھتے لیں گے کے طور پر اور ہم ان میں سے چند ایک نے پہلے ہی دیکھا ہے 106 00:05:04,360 --> 00:05:06,530 ابھی سوچا کے اختتام کا مطلب ہے. 107 00:05:06,530 --> 00:05:09,430 کچھ اور کرنا ڈاؤنلوڈ کریں فالو کریں کہ لائنوں پر. 108 00:05:09,430 --> 00:05:11,330 >> اب کیا بولین اظہار کے بارے میں؟ 109 00:05:11,330 --> 00:05:14,320 شروع میں اس کو یاد ہوگا، ان کے تاثرات تھے 110 00:05:14,320 --> 00:05:16,740 یا تو سچے ہیں کہ یا false-- کے سوالات، 111 00:05:16,740 --> 00:05:18,910 واقعی، صحیح یا غلط ہیں کہ. 112 00:05:18,910 --> 00:05:21,960 تو سکریچ کی صورت میں، ہم ہی نے اس طرح ایک سادہ سوال پوچھ، 113 00:05:21,960 --> 00:05:24,586 میں نے 50 سے کم ہے؟ 114 00:05:24,586 --> 00:05:25,710 تو میں نے ایک بار پھر، ایک عدد صحیح ہے. 115 00:05:25,710 --> 00:05:27,210 شاید ہم اسے استعمال کر رہے ایک سکریچ پروگرام میں 116 00:05:27,210 --> 00:05:29,310 ایک سکور کے ٹریک رکھنے کے لئے یا کچھ اس طرح. 117 00:05:29,310 --> 00:05:33,810 شروع میں یہاں تو یہ نحو صرف کا مطلب، میں نے 50 سے کم ہے؟ 118 00:05:33,810 --> 00:05:37,330 ویسے، شکر ہے، کچھ ہے C. میں اور ترجمہ کرنے کی سادہ، 119 00:05:37,330 --> 00:05:41,780 یہ ہم صرف کم میں کہیں گے 50، واقف کلید کا استعمال کرتے ہوئے 120 00:05:41,780 --> 00:05:42,850 اپنے کی بورڈ پر. 121 00:05:42,850 --> 00:05:45,141 >> دریں اثنا، اگر آپ کرنا چاہتے تھے کچھ جنرل کا کہنا ہے کہ، 122 00:05:45,141 --> 00:05:49,890 کی طرح، اچھی طرح سے، Y جہاں ہر مقابلے X بھی کم ہے X اور Y کی خود متغیر ہیں؟ 123 00:05:49,890 --> 00:05:52,280 ہم ایک ہی بات کر سکتے ہیں C میں، اتنی دیر سے ہم نے اس کو 124 00:05:52,280 --> 00:05:53,942 ان متغیرات میں پہلے ہی پیدا. 125 00:05:53,942 --> 00:05:55,650 اور ہم کس طرح کرنے کے لئے نظر آئے گا طویل عرصے سے پہلے کہ ایسا. 126 00:05:55,650 --> 00:05:58,590 ہم صرف Y سے زیادہ X بھی کم کہیں گے. 127 00:05:58,590 --> 00:06:00,530 >> تو آپ کے لئے شروع کر رہے ہیں کچھ مماثلت دیکھیں. 128 00:06:00,530 --> 00:06:03,490 اور بنایا ان لوگوں کو جو لوگ سکریچ یقینی تھے 129 00:06:03,490 --> 00:06:05,250 ان بنیادی خیالات سے کچھ کی طرف سے حوصلہ افزائی. 130 00:06:05,250 --> 00:06:10,350 اور اگر تم کو اس قسم کی کو دیکھ لیں گے بہت سے زبانوں میں سے نحو 131 00:06:10,350 --> 00:06:12,160 نہ صرف، فیرنا نہیں صرف C، لیکن ازگر، 132 00:06:12,160 --> 00:06:14,790 اور جاوا سکرپٹ، اور اب بھی دیگر زبانوں. 133 00:06:14,790 --> 00:06:18,270 >> اس کی ایک اور تعمیر پر غور کرتے ہیں C سے، ایک شرط کے تصور، 134 00:06:18,270 --> 00:06:20,370 مشروط کچھ کر. 135 00:06:20,370 --> 00:06:22,720 کچھ سچ ہے تو، ایسا. 136 00:06:22,720 --> 00:06:24,457 کچھ اور سچ ہے تو، وہ کروں. 137 00:06:24,457 --> 00:06:27,040 یہ پروگرامنگ کی طرح ہے راستے میں ایک کانٹا کے برابر. 138 00:06:27,040 --> 00:06:29,730 شاید یہ ایک دو طرفہ کانٹا ہے، تین راستہ کانٹا، یا اس سے زیادہ. 139 00:06:29,730 --> 00:06:32,800 اور شروع میں، ہم کو ہو سکتا ہے کچھ اس طرح دیکھا. 140 00:06:32,800 --> 00:06:34,010 >> لہذا یہ ایک بڑا ایک ہے. 141 00:06:34,010 --> 00:06:36,750 لیکن رشتہ دار غور منطق کی سادگی. 142 00:06:36,750 --> 00:06:44,010 X Y سے کم ہے تو، پھر کہیں X بھی کم ہے Y مقابلے، X Y سے بڑا ہے اور اگر، 143 00:06:44,010 --> 00:06:46,230 پھر کہیں X Y سے بڑا ہے. 144 00:06:46,230 --> 00:06:48,300 اور پھر، منطقی طور پر، اگر آپ سکریچ واپس لگتا 145 00:06:48,300 --> 00:06:52,610 یا صرف آپ کے اپنے انسانی وجدان، ساتھ ساتھ، X Y سے بڑا نہیں ہے تو، اور ایکس 146 00:06:52,610 --> 00:06:57,000 کورس کے اس کے بعد Y سے کم نہیں ہے، X Y کے برابر ہو جا رہا ہے. 147 00:06:57,000 --> 00:06:59,690 اس صورت میں، nesting کے ذریعے تو ان لوگوں کے سکریچ بلاکس، 148 00:06:59,690 --> 00:07:02,580 ہم نے ایک تین حاصل کر سکتے ہیں سڑک میں راستہ کانٹا؟ 149 00:07:02,580 --> 00:07:04,980 >> دریں اثناء، ہم کرنا چاہتے ہیں تو arguably سب C میں ایسا جو، 150 00:07:04,980 --> 00:07:08,420 کم از کم ایک چھوٹا سا simpler-- لگتا ہے آپ نحو کے ساتھ واقف حاصل ایک بار. 151 00:07:08,420 --> 00:07:12,050 X Y سے کم ہے تو، printf کے X Y سے بھی کم ہے. 152 00:07:12,050 --> 00:07:16,140 ورنہ X Y سے زیادہ ہے تو، printf کے X Y سے بڑا ہے. 153 00:07:16,140 --> 00:07:21,210 ورنہ printf کے ایکس، y-- اور کے برابر ہے ایک بار پھر، کے ساتھ ان لوگوں الٹا سلیش صرف ختم ہو جاتی ہے 154 00:07:21,210 --> 00:07:24,160 ان لوگوں کو نئی لائنوں کے لئے کہ اگر ایسا ہے تو آپ کو اصل پروگرام کی اس قسم کی بھاگ گیا 155 00:07:24,160 --> 00:07:25,940 یہ صرف منتقل کرے گا آپ کا کرسر بالآخر 156 00:07:25,940 --> 00:07:28,100 سکرین کی اگلی لائن. 157 00:07:28,100 --> 00:07:31,270 >> اب، اس دوران سکریچ دوسرے تھا زیادہ جدید ترین خصوصیات، صرف 158 00:07:31,270 --> 00:07:34,320 جن میں سے کچھ ہم کرنے جا رہے ہیں ابتدائی طور پر C. کی دنیا پر منتقل 159 00:07:34,320 --> 00:07:37,010 اور ان میں سے ایک تھا شروع میں ایک فہرست کو بلایا. 160 00:07:37,010 --> 00:07:39,100 اور یہ ایک خاص تھا متغیر کی قسم کہ 161 00:07:39,100 --> 00:07:42,840 آپ ایک سے زیادہ چیزوں کو سٹور کرنے کی اجازت یہ پیٹھ میں، واپس کرنے کے لئے، واپس کرنے کے لئے، واپس کرنے کے لئے. 162 00:07:42,840 --> 00:07:45,540 >> C میں، یہ ضروری نہیں ہے فہرستوں، SE فی، لیکن کچھ 163 00:07:45,540 --> 00:07:48,090 زیادہ عام ہیں کہ ، arrays کہا جاتا ہے، اگرچہ ہم کریں گے 164 00:07:48,090 --> 00:07:50,590 بعد میں اس سمسٹر میں واپس آئیں کچھ دیکھ کرنے 165 00:07:50,590 --> 00:07:52,780 ایک فہرست، یا واقعی ایک لنک کی فہرست بلایا. 166 00:07:52,780 --> 00:07:55,510 لیکن اب، سب سے قریب کے لئے ہمارے لئے C میں برابر 167 00:07:55,510 --> 00:07:57,345 کچھ نہ کچھ ہونے جا رہا ہے ایک صف بلایا. 168 00:07:57,345 --> 00:07:59,740 اور ایک صف صرف ایک ہے متغیر کی خاص قسم 169 00:07:59,740 --> 00:08:03,160 کہ آپ کو ڈیٹا سٹور کرنے کی اجازت دیتا ہے واپس، واپس کرنے کے لئے واپس کرنے کے لئے واپس کرنے کے لئے. 170 00:08:03,160 --> 00:08:05,840 >> اور، یقینا، سکریچ میں، ہم تک رسائی حاصل کرنا چاہتے تھے تو 171 00:08:05,840 --> 00:08:09,030 ایک صف کے پہلے عنصر یا ایک list-- اور میں نے اسے فون کرنے جا رہا ہوں 172 00:08:09,030 --> 00:08:13,600 کنونشن، ہے argv، دلیل کی طرف سے ویکٹر، لیکن طویل عرصے سے پہلے اس پر مزید. 173 00:08:13,600 --> 00:08:17,090 میں نے پہلے عنصر کو حاصل کرنے کے لئے چاہتے ہیں، تو کی، argv کے سکریچ کی دنیا میں 174 00:08:17,090 --> 00:08:20,930 آپ اصل میں عام طور پر کرتے ہیں 1 سے گنتی شروع. 175 00:08:20,930 --> 00:08:22,850 >> اور تو میں argv کی اشیاء 1 حاصل ہو سکتا ہے. 176 00:08:22,850 --> 00:08:26,310 یہی MIT لاگو صرف کس طرح ہے فہرستوں کے تصور. 177 00:08:26,310 --> 00:08:29,860 لیکن C میں، میں جا رہا ہوں زیادہ صرف صرف اتنا کہنا، ہے argv، 178 00:08:29,860 --> 00:08:32,758 جس میں دوبارہ کا نام ہے میرا list-- یا واضح رہنا، ایک سرنی. 179 00:08:32,758 --> 00:08:34,549 اور میں نے پہلی چاہتے ہیں تو عناصر، میں جا رہا ہوں 180 00:08:34,549 --> 00:08:37,890 مربع بریکٹ استعمال کرنے کے لئے، آپ کو کون سا اکثر ایک کی بورڈ کے تحت استعمال نہیں ہو سکتا ہے. 181 00:08:37,890 --> 00:08:40,150 >> مگر 0 صرف کا مطلب، مجھے سب سے پہلے حاصل. 182 00:08:40,150 --> 00:08:42,160 چنانچہ اس موقعہ پر اور کے طور پر وقت گزر جاتا ہے، ہم جا رہے ہیں 183 00:08:42,160 --> 00:08:44,570 ان dichotomies دیکھنے کے لئے شروع کرنے کے لئے سکریچ اور C کے درمیان، 184 00:08:44,570 --> 00:08:46,070 جس کے تحت سکریچ ایک کا استعمال کرتا. 185 00:08:46,070 --> 00:08:47,670 C میں ہم یہاں 0 استعمال کریں. 186 00:08:47,670 --> 00:08:49,420 لیکن اگر آپ کو فوری طور پر نظر آئے گا آپ سمجھ ہی بار 187 00:08:49,420 --> 00:08:52,920 ہر زبان کی بنیادیں، کہ یہ تمام چیزیں زیادہ حاصل کرنے کے لئے شروع 188 00:08:52,920 --> 00:08:56,860 مشق اور مشق کے ذریعے واقف. 189 00:08:56,860 --> 00:08:59,700 >> تو اصل میں ایک پروگرام میں اب دیکھو. 190 00:08:59,700 --> 00:09:04,031 یہاں ہمارے C کے پہلے ہوں گے مکمل پروگرام کے لئے ماخذ کوڈ. 191 00:09:04,031 --> 00:09:06,280 اور پروگرام ہم جا رہے ہیں غور کے لئے پیش کرنے کے لئے 192 00:09:06,280 --> 00:09:09,340 برابر ہے کہ ایک ہے کہ پہلے سکریچ ٹکڑے کرنے کے لئے. 193 00:09:09,340 --> 00:09:13,210 >> یہاں تو، ہم کیا گیا ہے ہے arguably سب سے آسان سی پروگرام 194 00:09:13,210 --> 00:09:15,410 تم نے وہ بھی لکھ سکتے ہیں اصل میں کچھ کرتا ہے. 195 00:09:15,410 --> 00:09:18,250 اب، ہم نے ماضی دیکھتا ہوں، اب کے لئے، میں شامل کیا ہے، 196 00:09:18,250 --> 00:09:21,190 معیاری io.h، اور ان کا زاویہ بریکٹ، اور int، اور صفر، 197 00:09:21,190 --> 00:09:22,840 اور گھوبگھرالی منحنی خطوط وحدانی، اور پسند. 198 00:09:22,840 --> 00:09:25,390 >> اور ایسا صرف پر توجہ مرکوز کرتے ہیں کیا، کم از کم وجدانی، 199 00:09:25,390 --> 00:09:26,860 پہلے سے ہی آپ کو باہر کود سکتا ہے. 200 00:09:26,860 --> 00:09:30,300 سچ تو یہ ہے، اہم، مجھے نہیں پتہ ضروری معلوم ہے یہ کیا ہے، 201 00:09:30,300 --> 00:09:34,580 کہ لیکن سکریچ کی طرح زیادہ تھا جب سبز پرچم، پہیلی ٹکڑا کلک کیا 202 00:09:34,580 --> 00:09:39,070 تاکہ ایک پروگرامنگ زبان کے طور پر C کرتا کوڈ کا ایک اہم ٹکڑا ہے کہ 203 00:09:39,070 --> 00:09:43,380 ڈیفالٹ کی طرف سے قتل ہو جاتا. اور، یقینا، یہ لفظی مرکزی بلایا جا رہا ہے. 204 00:09:43,380 --> 00:09:44,720 >> لہذا اہم ایک تقریب ہے. 205 00:09:44,720 --> 00:09:48,720 اور یہ موجود ہے کہ ایک خصوصی تقریب ہے C میں آپ کو ایک پروگرام چلاتے ہیں کہ، 206 00:09:48,720 --> 00:09:52,720 یہ اہم کی طرف سے چلایا جاتا ہے ہے پہلے سے طے شدہ. سکریچ کی دنیا میں، 207 00:09:52,720 --> 00:09:56,970 یہ عام طور پر اس وقت جب سبز پرچم تھا کلک کیا ڈیفالٹ کی طرف سے چلایا گیا ہے کہ. 208 00:09:56,970 --> 00:10:01,130 >> دریں اثناء، ہم پہلے بھی دیکھا ہے، printf کے یا پرنٹ فارمیٹ کیا، کہ ہے 209 00:10:01,130 --> 00:10:05,620 ساتھ آتا ہے ایک تقریب ہو رہا C، دوسروں کی ایک پوری چڑھانے کے ساتھ ساتھ، 210 00:10:05,620 --> 00:10:10,140 وقت اور وقت کی طرف سے اس کی مرضی ایک بار پھر، بالکل ایسا کرنے کے لئے 211 00:10:10,140 --> 00:10:12,450 اس کا نام تجویز کے طور پر، کچھ پرنٹ. 212 00:10:12,450 --> 00:10:13,500 کیا ہم کو پرنٹ کرنا چاہتے ہیں؟ 213 00:10:13,500 --> 00:10:15,770 ٹھیک ہے، ہم دیکھیں گے کہ احاطہ حروف کی طرف سے 214 00:10:15,770 --> 00:10:18,680 these-- ہیلو دنیا کی طرح، ڈبل قیمت درج کرنے میں الٹا سلیش (ن)، 215 00:10:18,680 --> 00:10:23,040 ہم بالکل printf کا بتا سکتے ہیں سکرین پر کیا پرنٹ کرنے کے لئے. 216 00:10:23,040 --> 00:10:26,430 >> لیکن ترتیب میں کیا کرنا کہ، ہم بدقسمتی سے 217 00:10:26,430 --> 00:10:30,010 ہے کہ کچھ لینے کی ضرورت ہے پہلے ہی ہم انسان کے لئے خفیہ، 218 00:10:30,010 --> 00:10:34,510 لیکن کم از کم اس میں کچھ readable-- ہے تیز شامل ہیں، معیاری io.h، INT، 219 00:10:34,510 --> 00:10:39,340 اہم، باطل، printf کے، جادو کی تمام منتر ہم صرف سکرین پر دیکھا. 220 00:10:39,340 --> 00:10:42,470 لیکن ہم اصل کرنے کے لئے ہے اب بھی زیادہ arcane جاؤ. 221 00:10:42,470 --> 00:10:47,140 ہم سب سے پہلے کوڈ ترجمہ کرنے کی ضرورت ہم مشین کوڈ میں لکھتے ہیں کہ. 222 00:10:47,140 --> 00:10:51,370 اور گزشتہ ہفتے سے یاد کرنے والی مشینیں کہ، کم از کم لوگ ہیں جو ہم یہاں جانتے، 223 00:10:51,370 --> 00:10:54,450 دن کے آخر میں صرف zeros اور ہیں کو سمجھنے. 224 00:10:54,450 --> 00:10:58,100 >> میرا خدا، ان کے لکھنے کے لئے ہم نے تو اصل پروگرام میں zeros اور ہیں، 225 00:10:58,100 --> 00:11:01,260 یہ بہت، بہت جلد کریں گے کسی بھی چیز کا باہر مزہ لے. 226 00:11:01,260 --> 00:11:05,150 لیکن یہ گزشتہ ہفتے کی قیمت، باہر کر دیتا ہے کہ zeros اور ہیں کے یہ نمونے 227 00:11:05,150 --> 00:11:06,400 صرف خصوصی معنی ہے. 228 00:11:06,400 --> 00:11:08,500 مخصوص سیاق و سباق میں، ان کا مطلب اعداد سکتا. 229 00:11:08,500 --> 00:11:11,840 >> کچھ سیاق و سباق میں، وہ مطلب ہو سکتا ہے خطوط، یا رنگ، یا کسی بھی تعداد 230 00:11:11,840 --> 00:11:14,710 وہاں پر دیگر abstractions میں. 231 00:11:14,710 --> 00:11:18,450 لیکن صرف آپ کے کمپیوٹر کی ہے کے طور پر ایک CPU، سنٹرل پروسیسنگ یونٹ، 232 00:11:18,450 --> 00:11:20,390 یا آپ کے کمپیوٹر کے اندر دماغ. 233 00:11:20,390 --> 00:11:22,240 یہ عام طور پر انٹیل کے اندر، کہ ہے کیونکہ 234 00:11:22,240 --> 00:11:24,900 سب سے بڑے اداروں میں سے ایک کہ کمپیوٹر کے لئے CPUs کے ہوتا ہے. 235 00:11:24,900 --> 00:11:28,910 >> ویسے، انٹیل CPUs کے اور دوسروں کے بس پیشگی فیصلہ کیا ہے 236 00:11:28,910 --> 00:11:33,970 کہ صفر کے بعض نمونوں اور والوں مخصوص چیزیں مطلب گی. 237 00:11:33,970 --> 00:11:37,040 zeros اور ہیں کی مخصوص نمونے گا مطلب، سکرین کے لیے اس کو پرنٹ، 238 00:11:37,040 --> 00:11:39,710 یا ان دو اعداد کا اضافہ، یا ان دو نمبروں منہا، 239 00:11:39,710 --> 00:11:43,310 یا سے اعداد و شمار کے اس ٹکڑے کو منتقل میرے کمپیوٹر کی میموری یہاں، 240 00:11:43,310 --> 00:11:47,870 یا دیگر بہت کم سطح کی کسی بھی تعداد، لیکن آخر میں مفید، آپریشن. 241 00:11:47,870 --> 00:11:53,022 لیکن، شکر ہے، ہم انسانوں کو نہیں جا رہے ہیں تفصیل کی اس سطح جاننے کی ضرورت ہے کرنے کے لئے. 242 00:11:53,022 --> 00:11:56,230 بے شک، صرف جہاں، پچھلی بار کی طرح ہم پر abstracted دوبارہ، اور پھر، اور پھر، 243 00:11:56,230 --> 00:11:58,930 بہت کم سطح سے عمارت zeros اور ہیں کی طرح primitives میں 244 00:11:58,930 --> 00:12:01,160 اعلی سطح تصورات نمبرز، اور حروف کی طرح، 245 00:12:01,160 --> 00:12:04,330 اور رنگ، اور زیادہ، تو ہم پروگرامرز کے طور پر کر سکتے ہیں 246 00:12:04,330 --> 00:12:07,080 کے کندھوں پر کھڑے دوسرے لوگ جو ہم سے پہلے آئے ہیں 247 00:12:07,080 --> 00:12:11,260 اور سافٹ ویئر کی دیگر اس کا استعمال لوگوں us-- سے پہلے لکھا ہے 248 00:12:11,260 --> 00:12:14,340 یعنی پروگراموں مدونین بلایا. 249 00:12:14,340 --> 00:12:17,770 >> C ایک زبان ہے عام طور پر مرتب کیا جاتا ہے، 250 00:12:17,770 --> 00:12:22,130 جس سے تبدیل مطلب مشین کوڈ ماخذ کوڈ. 251 00:12:22,130 --> 00:12:25,230 خاص طور پر، اس کا مطلب کیا کہ آپ کو آپ کے ذریعہ مل گیا ہے کر رہا ہے تو 252 00:12:25,230 --> 00:12:29,530 کوڈ آپ اپنے آپ کو ہی ہم اس کو، لکھتے ہیں کہ سکرین پر صرف ایک لمحے میں لونگا، 253 00:12:29,530 --> 00:12:33,140 اور آپ اسے تبدیل کرنا چاہتے ہیں مشین کو بالآخر code-- 254 00:12:33,140 --> 00:12:37,100 ان لوگوں کے zeros اور ہیں کہ صرف اپنے میک یا اپنے کمپیوٹر 255 00:12:37,100 --> 00:12:41,230 understands-- آپ کو ایک فرسٹ مل گیا ہے کے طور پر میں اس کے منبع کوڈ کو کھانا کھلانا 256 00:12:41,230 --> 00:12:46,340 ایک خاص ان پٹ پروگرام ایک سنکلک کہا جاتا، 257 00:12:46,340 --> 00:12:48,974 پیداوار جن میں سے ہم دیکھو گے مشین کوڈ ہے. 258 00:12:48,974 --> 00:12:51,890 اور، یقینا، پچھلی بار ہم نے بات کی تھی کے بارے میں، واقعی، دن کے آخر میں، 259 00:12:51,890 --> 00:12:52,610 مسائل کو حل کرنے. 260 00:12:52,610 --> 00:12:53,360 آپ آدانوں مل گیا ہے. 261 00:12:53,360 --> 00:12:54,318 اور تم شدہ نتائج مل گیا ہے. 262 00:12:54,318 --> 00:12:56,560 اور تم کسی قسم کے مل گیا ہے وسط میں الگورتھم کی. 263 00:12:56,560 --> 00:12:59,830 >> والگورزم ضرور ہو سکتا ہے سافٹ ویئر میں لاگو کیا، 264 00:12:59,830 --> 00:13:02,900 ہم pseudocode کے آخری ہفتے کے ساتھ دیکھا اور ہم اصل کوڈ کے ساتھ نظر آئے گا کے طور پر 265 00:13:02,900 --> 00:13:03,490 اس ہفتے. 266 00:13:03,490 --> 00:13:06,430 اور اس طرح ایک سنکلک واقعی صرف اندر یلگوردمز کی ایک سیٹ ہے 267 00:13:06,430 --> 00:13:10,060 اس میں سے جانتے ہیں کہ کس طرح کرنے کے لئے خاص الفاظ تبدیل، 268 00:13:10,060 --> 00:13:12,180 اہم، اور printf طرح، اور دوسروں کو ہم صرف 269 00:13:12,180 --> 00:13:17,620 صفر کے پیٹرن میں دیکھا اور والوں کہ انٹیل کے اندر اور دیگر CPUs کے 270 00:13:17,620 --> 00:13:20,020 اصل میں سمجھتی. 271 00:13:20,020 --> 00:13:22,460 تو ہم یہ کس طرح کروں؟ 272 00:13:22,460 --> 00:13:24,470 ہم نے ایک سنکلک کہاں ملتا ہے؟ 273 00:13:24,470 --> 00:13:26,400 >> ہم میں سے اکثر یہاں ایک میک یا ایک PC ہے. 274 00:13:26,400 --> 00:13:29,152 اور تم میک OS چلا رہے ہیں، یا ونڈوز، یا لینکس، یا سولیرس، 275 00:13:29,152 --> 00:13:30,860 یا دیگر کی کسی بھی تعداد آپریٹنگ سسٹمز. 276 00:13:30,860 --> 00:13:32,568 اور، یقینا، ہم کر سکتے تھے ویب پر باہر جانے 277 00:13:32,568 --> 00:13:35,710 اور ایک سنکلک، اتارنا اپنے میک یا آپ کے پی سی کے لئے 278 00:13:35,710 --> 00:13:37,360 آپ کی خاص طور پر آپریٹنگ سسٹم کے لئے. 279 00:13:37,360 --> 00:13:39,617 لیکن ہم سب پر ہو گی مختلف صفحات، تو بات کرنے کی. 280 00:13:39,617 --> 00:13:41,450 ہم نے تھوڑا سا پڑے گا مختلف ترتیب. 281 00:13:41,450 --> 00:13:43,210 اور چیزیں سب ایک ہی کام نہیں کرے گا. 282 00:13:43,210 --> 00:13:45,280 اور، یقینا، ان دنوں ہم میں سے بہت استعمال نہیں کرتے 283 00:13:45,280 --> 00:13:47,516 سافٹ ویئر صرف ہمارے لیپ ٹاپ پر چلتا ہے. 284 00:13:47,516 --> 00:13:49,390 اس کے بجائے، ہم کچھ کا استعمال ایک براؤزر کی طرح کہ 285 00:13:49,390 --> 00:13:52,930 ویب کی بنیاد پر ہم سے تک رسائی حاصل کرنے کی اجازت دیتا ہے کلاؤڈ میں ایپلی کیشنز. 286 00:13:52,930 --> 00:13:55,630 اور بعد میں اس سمسٹر، ہمیں بالکل ایسا کریں گے. 287 00:13:55,630 --> 00:13:59,660 ہم ایپلی کیشنز لکھیں گے یا code-- کا استعمال کرتے ہوئے سافٹ ویئر کی، C نہیں 288 00:13:59,660 --> 00:14:02,860 لیکن ازگر کی طرح دیگر زبانوں اور جاوا سکرپٹ بادل میں چلانے کے کہ. 289 00:14:02,860 --> 00:14:05,860 >> اور یہ کہ ہم نے خود کو ایسا کرنے کی، سمسٹر کے دوران 290 00:14:05,860 --> 00:14:11,890 اصل میں ایک کلاؤڈ بیسڈ استعمال کریں گے ماحول CS50 IDE کے طور پر جانا. 291 00:14:11,890 --> 00:14:16,030 یہ ایک ویب کی بنیاد پر پروگراموں ہے ماحول، یا مربوط ترقی 292 00:14:16,030 --> 00:14:20,610 ماحول، IDE، کہ کچھ کے اوپر بنایا گیا ہے اوپن سورس سافٹ ویئر کلاؤڈ 9 بلایا. 293 00:14:20,610 --> 00:14:22,966 اور ہم نے کچھ تدریسی بنایا ہے یہ کرنے کے لئے simplifications 294 00:14:22,966 --> 00:14:25,840 میں بعض خصوصیات کو چھپانے کے لئے تو کے طور پر ہمیں ضرورت نہیں ہے کہ پہلے ہفتے، 295 00:14:25,840 --> 00:14:27,770 جس کے بعد آپ کر سکتے ہیں ان کے ظاہر اور ایسا زیادہ تر 296 00:14:27,770 --> 00:14:29,400 کچھ بھی آپ کو ماحول کے ساتھ چاہتے ہیں. 297 00:14:29,400 --> 00:14:32,470 >> اور یہ ہمیں بھی کرنے کی اجازت دیتا مخصوص سافٹ ویئر پہلے سے انسٹال. 298 00:14:32,470 --> 00:14:35,330 ایک نام نہاد CS50 کی طرح چیزیں لائبریری، جس میں ہم جلد ہی دیکھیں گے 299 00:14:35,330 --> 00:14:39,210 کچھ کے ساتھ C میں ہماری فراہم کرتا ہے اضافی فعالیت. 300 00:14:39,210 --> 00:14:44,392 لہذا اگر آپ کو جانا تو کرنا، بالآخر، CS50.io، آپ، کو لاگ پوچھا جائے گا 301 00:14:44,392 --> 00:14:46,350 اور اگر آپ ایسا کرتے ہیں اور تخلیق ایک بار مفت کے لئے ایک اکاؤنٹ، 302 00:14:46,350 --> 00:14:52,150 اگر آپ کو ایک تک رسائی حاصل کرنے کے قابل ہو جائے گا بالکل اس طرح لگتا ہے کہ ماحول. 303 00:14:52,150 --> 00:14:53,760 >> اب، یہ پہلے سے طے شدہ موڈ میں ہے. 304 00:14:53,760 --> 00:14:55,650 سب کچھ اچھا ہے اور سکرین پر روشن. 305 00:14:55,650 --> 00:14:57,941 ہم میں سے بہت سے لوگوں کی عادت ہے ہے کہ CS50 ٹکڑے پر کام کر رہے ہیں 306 00:14:57,941 --> 00:14:59,150 رات میں بہت دیر ہو. 307 00:14:59,150 --> 00:15:02,400 اور اس لئے تم میں سے بعض کو ترجیح دیتے ہیں ہو سکتا ہے تو بات کرنے کی رات کے موڈ میں تبدیل،. 308 00:15:02,400 --> 00:15:05,550 >> لیکن، بالآخر، تم کیا ہو CS50 IDE کے اندر دیکھنے کے لئے جا 309 00:15:05,550 --> 00:15:08,340 تین مختلف areas-- ہے چھوڑ دیا جہاں پر ایک علاقے 310 00:15:08,340 --> 00:15:12,604 آپ کی فائلوں میں ہونے جا رہے ہیں بادل، اوپر دائیں پر ایک علاقے 311 00:15:12,604 --> 00:15:14,270 جہاں آپ کے کوڈ قابل تدوین کی جا رہی ہے. 312 00:15:14,270 --> 00:15:16,650 آپ کو کھولنے کے لئے کے قابل ہو جائے گا کسی بھی پروگرام کے لئے انفرادی ٹیب 313 00:15:16,650 --> 00:15:19,670 آپ کے اندر اس سمسٹر لکھتے ہیں کہ کہ سب سے اوپر دائیں کونے میں. 314 00:15:19,670 --> 00:15:23,070 اور پھر سب سے arcanely، اور ابھی تک طاقتور، 315 00:15:23,070 --> 00:15:26,610 میں اس بات کی جا رہی ہے نیچے ایک ٹرمنل ونڈو کے طور پر جانا. 316 00:15:26,610 --> 00:15:29,450 >> یہ ایک پرانے اسکول ہے کمانڈ لائن انٹرفیس، 317 00:15:29,450 --> 00:15:32,240 یا CLI، کہ اجازت دیتا ہے کیا آپ کمانڈ پر عمل کرنے کی 318 00:15:32,240 --> 00:15:35,260 اس معاملے میں کمپیوٹر پر، cloud-- میں کمپیوٹر 319 00:15:35,260 --> 00:15:39,090 اپنے کوڈ کو مرتب طرح کام کرنا ماخذ کوڈ سے مشین کوڈ، 320 00:15:39,090 --> 00:15:43,600 آپ کے پروگراموں کو چلانے کے لئے، یا شروع کرنے کے لئے آپ ویب سرور، یا آپ کے ڈیٹا بیس تک رسائی کے لئے، 321 00:15:43,600 --> 00:15:47,454 اور دیگر تکنیک کے کسی بھی تعداد ہم طویل عرصے سے پہلے استعمال کرنے کے لئے شروع کریں گے کہ. 322 00:15:47,454 --> 00:15:49,370 لیکن وہاں حاصل کرنے کے لئے، ہم ہیں اصل ضرورت کے لئے جا 323 00:15:49,370 --> 00:15:51,240 آن لائن جاؤ اور کھیلنا شروع کرنے کی. 324 00:15:51,240 --> 00:15:54,399 اور ایسا کرنے کے، کی پہلی دو مرکزی ساتھ ایڈجسٹمنٹ شروع کر دیں، 325 00:15:54,399 --> 00:15:55,940 اور ایک پروگرام کا اہم حصہ ہیں لکھ. 326 00:15:55,940 --> 00:15:59,170 اور چلو اس تقریب کا استعمال کرتے ہیں ہم نے پہلے استعمال کیا جس میں printf کے،، 327 00:15:59,170 --> 00:16:01,050 بس کچھ کہنا. 328 00:16:01,050 --> 00:16:04,910 >> تو یہاں میں CS50 IDE کے اندر پہلے سے ہی ہوں. 329 00:16:04,910 --> 00:16:05,930 میں پہلے سے انتخاب کیا ہے. 330 00:16:05,930 --> 00:16:07,360 اور مجھے مکمل ونڈو دکھائی. 331 00:16:07,360 --> 00:16:09,670 اور اس طرح، آخر میں، آپ بھی آ مسائل میں 332 00:16:09,670 --> 00:16:12,960 جیسے مراحل کی پیروی کریں گے کہ آن لائن دستاویزات فراہم کرے گا. 333 00:16:12,960 --> 00:16:16,360 تو آپ کو فکر کرنے کی ضرورت نہیں ہے ہر چھوٹی تکنیکی قدم جذب 334 00:16:16,360 --> 00:16:17,730 میں نے آج یہاں کیا ہے کہ. 335 00:16:17,730 --> 00:16:19,222 >> لیکن اگر آپ اس طرح ایک سکرین حاصل کریں گے. 336 00:16:19,222 --> 00:16:20,430 میں نے رات کے موڈ میں ہونا ہو. 337 00:16:20,430 --> 00:16:22,944 اور تم ہر چیز روشن کر سکتے ہیں رات کے موڈ کو غیر فعال کرنے کی طرف سے. 338 00:16:22,944 --> 00:16:24,860 اور کے اختتام پر دن، آپ کو دیکھنے کے لئے جا رہے ہیں 339 00:16:24,860 --> 00:16:30,090 فائل کی areas-- ان تین اہم بائیں میں براؤزر، اپ سب کا کوڈ ٹیبز، 340 00:16:30,090 --> 00:16:32,430 اور نیچے دیے گئے ٹرمنل ونڈو. 341 00:16:32,430 --> 00:16:34,890 >> مجھے آگے جانے دو اور میرا پہلا پروگرام لکھنے. 342 00:16:34,890 --> 00:16:42,300 I، اس preemptively فائل پر جانے کے لئے جا رہا ہوں محفوظ کریں، اور hello.c کے طور پر میری فائل کو بچانے کے. 343 00:16:42,300 --> 00:16:46,850 بے شک، کنونشن کی طرف سے، کسی بھی پروگرام میں ہم کہ سی زبان میں لکھا لکھ 344 00:16:46,850 --> 00:16:49,739 کچھ کے نام سے منسوب کیا جانا چاہئے ڈاٹ C، کنونشن کی طرف سے. 345 00:16:49,739 --> 00:16:53,030 تو میں نے یہ hello.c نام کرنے جا رہا ہوں، کیونکہ میں تو صرف دنیا کو ہیلو کہنا چاہتا ہوں. 346 00:16:53,030 --> 00:16:54,820 اب میں زوم کرنے کے لئے جا رہا ہوں باہر اور محفوظ کریں پر کلک. 347 00:16:54,820 --> 00:16:58,180 اور میں اب یہاں ہے سب ایک ٹیب ہے جس میں میں نے کوڈ لکھنے شروع کر سکتے ہیں. 348 00:16:58,180 --> 00:16:59,490 >> یہ مرتب کرنے کے لئے نہیں جا رہا ہے. 349 00:16:59,490 --> 00:17:00,300 یہ کوئی مطلب نہیں ہے. 350 00:17:00,300 --> 00:17:02,750 اور میں تبدیل کیا تو بھی اگر zeros اور ہیں اس، 351 00:17:02,750 --> 00:17:05,390 CPU کی کوئی ضرورت کے لئے جا رہا ہے خیال کے ارد گرد کیا ہو رہا ہے. 352 00:17:05,390 --> 00:17:14,170 لیکن میں لکیریں لکھنا تو اس میچ کرو C کی conventions-- C وجود کے ساتھ، 353 00:17:14,170 --> 00:17:20,150 پھر، اس طرح نحو کے ساتھ زبان کا اس، ہیلو printf کے world-- اور میں نے 354 00:17:20,150 --> 00:17:22,210 کے ساتھ آرام دہ ہو گیا وقت کے ساتھ یہ کر رہے. 355 00:17:22,210 --> 00:17:24,510 لہذا میں نے کر دیا ہے نہیں لگتا کوئی بھی ٹائپ کی غلطیوں. 356 00:17:24,510 --> 00:17:27,910 >> لیکن، ہمیشہ، بہت پہلے وقت تم یہ کر، تم کروگے. 357 00:17:27,910 --> 00:17:31,090 اور میں کیا کرنے جا رہی ہوں بہت طاقت ہو اچھی طرح سے آپ کے لئے پہلی بار کام نہیں. 358 00:17:31,090 --> 00:17:33,610 اور یہ کہ بالکل ٹھیک ہے، حق اب کیونکہ آپ 359 00:17:33,610 --> 00:17:37,662 صرف تازگی کی ایک پوری بہت دیکھ لے، لیکن وقت کے ساتھ آپ کو واقف حاصل ایک بار 360 00:17:37,662 --> 00:17:39,870 اس ماحول کے ساتھ، اور یہ زبان، اور دوسروں کو، 361 00:17:39,870 --> 00:17:42,370 آپ چیزوں کو دیکھنے کے لئے شروع کر دیں گے کہ یا تو صحیح یا غلط ہیں. 362 00:17:42,370 --> 00:17:44,369 >> اور یہ کیا ہے تعلیم ساتھیوں اور کورس 363 00:17:44,369 --> 00:17:48,780 معاونین، زائد وقت میں اتنا اچھا حاصل کر رہا ہے آپ کے کوڈ میں غلطی یا کیڑے spotting کے. 364 00:17:48,780 --> 00:17:52,110 لیکن میں یہ دعوی موجود اس کوڈ میں کوئی کیڑے ہیں. 365 00:17:52,110 --> 00:17:53,990 تو اب میں اس پروگرام کو چلانے کے لئے چاہتے ہیں. 366 00:17:53,990 --> 00:17:57,440 >> ابھی میرے اپنے میک یا پی سی پر، میں تیار ہوں ڈبل کلک شبیہیں کی عادت 367 00:17:57,440 --> 00:17:59,350 میں نے کچھ پروگرام کو چلانے کے لئے چاہتے ہیں جب. 368 00:17:59,350 --> 00:18:01,080 لیکن یہ یہاں ماڈل نہیں ہے. 369 00:18:01,080 --> 00:18:04,570 اس ماحول، CS50 IDE ہے جس میں. 370 00:18:04,570 --> 00:18:07,192 ہم ایک آپریٹنگ استعمال کر رہے ہیں سسٹم لینکس بلایا. 371 00:18:07,192 --> 00:18:09,900 لینکس ایک اور کی یاد تازہ ہے آپریٹنگ سسٹم، عام طور پر جانا جاتا ہے 372 00:18:09,900 --> 00:18:10,850 یونکس جیسا. 373 00:18:10,850 --> 00:18:16,340 اور لینکس بالخصوص لئے جانا جاتا ہے ایک کمانڈ لائن ماحولیات، CLI اندوز. 374 00:18:16,340 --> 00:18:20,070 اب، ہم ایک مخصوص استعمال کر رہے ہیں لینکس کا ذائقہ اوبنٹو نامی. 375 00:18:20,070 --> 00:18:22,770 اور اوبنٹو کو صرف ایک ہے لینکس کے کچھ ورژن. 376 00:18:22,770 --> 00:18:27,900 >> لیکن یہ لینکس کے ان دنوں اصل میں کرتے گرافیکل یوزر انٹرفیس کے ساتھ آئے. 377 00:18:27,900 --> 00:18:30,360 اور ہم کو بھی ہو ایک کو یہاں استعمال کرے ویب پر مبنی ہے. 378 00:18:30,360 --> 00:18:32,735 تو یہ بھی ایک نظر کر سکتے ہیں کسی چیز سے تھوڑا مختلف 379 00:18:32,735 --> 00:18:35,310 تم اپنے آپ کو ہو سکتا ہے دیکھا یا ماضی میں چلایا. 380 00:18:35,310 --> 00:18:37,910 >> تو میں نے آگے جانے کے لئے جا رہا ہوں اب اور مندرجہ ذیل کام کریں. 381 00:18:37,910 --> 00:18:40,950 میں hello.c کے طور پر اس فائل کو محفوظ کر لیا ہے. 382 00:18:40,950 --> 00:18:47,350 میں آگے جانے کے لئے جا رہا ہوں اور بجنا تو قسم clanghello.c 383 00:18:47,350 --> 00:18:49,850 C زبان کے لئے ایک سنکلک ہے. 384 00:18:49,850 --> 00:18:51,952 اس سے پہلے سے نصب ہے CS50 IDE میں. 385 00:18:51,952 --> 00:18:54,910 اور تم بالکل ڈاؤن لوڈ اور آپ کے اپنے میک یا PC پر اس کو انسٹال. 386 00:18:54,910 --> 00:18:57,910 >> لیکن، پھر، آپ سب کی ضرورت نہیں کرے گا پہلے سے ترتیب دینے کی آپ کے لئے کیا. 387 00:18:57,910 --> 00:19:00,940 اب کے لئے تو، میں صرف ہوں clanghello.c چلانے کے لئے جا. 388 00:19:00,940 --> 00:19:03,240 اور اب اس نحو کو نوٹس یہاں آخر میں کرے گا 389 00:19:03,240 --> 00:19:06,930 صرف میں ایک میں ہوں کہ اس کا مطلب کا احساس فولڈر یا ڈائریکٹری کام جگہ بلایا. 390 00:19:06,930 --> 00:19:11,030 یہ ڈالر کا نشان صرف کنونشن ہے معنی کے لئے، یہاں آپ کے حکم دیتا ہے ٹائپ کریں. 391 00:19:11,030 --> 00:19:14,560 >> یہ صرف، ایک فوری طور پر کہا جاتا ہے کیا ہے کنونشن کی طرف سے ڈالر کی نشانی ہے. 392 00:19:14,560 --> 00:19:19,130 اور میں اب آگے بڑھو اور اگر کلک درج، کچھ نہیں ہوا ہے لگتا ہے. 393 00:19:19,130 --> 00:19:20,930 لیکن یہ اصل میں ایک اچھی بات ہے. 394 00:19:20,930 --> 00:19:23,650 کم ہے کہ پر ہوتا ہے آپ کی سکرین، زیادہ امکان 395 00:19:23,650 --> 00:19:26,710 آپ کے کوڈ کا صحیح ہونا ہے، کم از کم میں syntactically. 396 00:19:26,710 --> 00:19:29,120 >> میں نے اس کو چلانا چاہتے ہیں تو پروگرام، میں کیا کروں؟ 397 00:19:29,120 --> 00:19:33,770 ٹھیک ہے، یہ پتہ چلا ہے کہ کنونشن کی طرف سے پہلے سے طے شدہ نام 398 00:19:33,770 --> 00:19:38,854 پروگرام کے لئے آپ کو ایک وضاحت نہیں ہے جب نام آپ کا پروگرام صرف میں a.out ہے. 399 00:19:38,854 --> 00:19:41,270 اور یہ نحو بھی، تمہیں طویل عرصے سے پہلے سے واقف ہو جاؤ. 400 00:19:41,270 --> 00:19:47,500 >> ڈاٹ صرف کا مطلب، ارے، CS50 سلیش IDE، میں a.out نامی ایک پروگرام کو چلانے کے 401 00:19:47,500 --> 00:19:49,400 کہ میری موجودہ ڈائریکٹری کے اندر ہے. 402 00:19:49,400 --> 00:19:51,520 یہی ڈاٹ موجودہ ڈائریکٹری کا مطلب ہے. 403 00:19:51,520 --> 00:19:55,040 اور ہم کیا دوسری طرح کے انداز کو دیکھ لیں گے کرداروں میں سے بہت پہلے کا مطلب. 404 00:19:55,040 --> 00:19:58,430 >> تو ہم یہاں جانا، درج، ہیلو دنیا. 405 00:19:58,430 --> 00:20:00,080 اور آپ محسوس کریں گے، کہ کیا ہوا ہے؟ 406 00:20:00,080 --> 00:20:01,580 نہ صرف یہ خوش دنیا پرنٹ تھا. 407 00:20:01,580 --> 00:20:05,990 یہ بھی منتقل کر دیا گیا اگلی لائن پر کرسر. 408 00:20:05,990 --> 00:20:07,160 >> اور کیوں تھا؟ 409 00:20:07,160 --> 00:20:12,400 کوڈ ہم نے پہلے لکھا تھا وہ کیا تھا اس بات کا یقین ہے کہ کرسر کریں گے 410 00:20:12,400 --> 00:20:14,882 اگلی لائن پر جانا؟ 411 00:20:14,882 --> 00:20:16,840 ایک کے بارے میں عجیب بات یہ ہے کمپیوٹر یہ صرف جا رہا ہے 412 00:20:16,840 --> 00:20:18,570 لفظی کرنے کے لئے آپ کو کرنے کی یہ بتا کیا. 413 00:20:18,570 --> 00:20:26,050 >> تو کیا تم ہیلو printf کے لئے اسے کہوں تو، کوما، خلائی، دنیا، بند اقتباس، 414 00:20:26,050 --> 00:20:29,090 یہ لفظی صرف جا رہا ہے ان حروف کو پرنٹ کرنے کے. 415 00:20:29,090 --> 00:20:31,980 لیکن میں اس کے خصوصی کردار تھا آخر میں، یاد، الٹا سلیش ن میں. 416 00:20:31,980 --> 00:20:34,230 اور یہ کہ اس بات کا یقین کیا ہے کردار چلا گیا 417 00:20:34,230 --> 00:20:36,570 سکرین کی اگلی لائن. 418 00:20:36,570 --> 00:20:38,097 >> سچ تو یہ ہے، مجھے جانے اور اس کے کیا. 419 00:20:38,097 --> 00:20:39,430 مجھے آگے بڑھو اور اس کو حذف کرتے ہیں. 420 00:20:39,430 --> 00:20:41,180 اب، کہ محسوس اپنی سکرین کے سب وہاں ہے 421 00:20:41,180 --> 00:20:42,890 میں ایک چھوٹا سا سرخ روشنی کے ٹیب کا اشارہ، 422 00:20:42,890 --> 00:20:45,047 ارے، آپ اپنی فائل کو محفوظ نہیں کیا ہے. 423 00:20:45,047 --> 00:20:47,880 تو میں نے کنٹرول کے ساتھ آگے جانے کے لئے جا رہا ہوں S یا کمانڈ S، فائل کو محفوظ کریں. 424 00:20:47,880 --> 00:20:51,130 اب یہ ایک لمحے کے لیے گئے سبز goes--. 425 00:20:51,130 --> 00:20:53,760 اور اب یہ واپس آ گیا ہے صرف ایک قریبی آئکن ہونے. 426 00:20:53,760 --> 00:21:01,860 >> اب میں دوبارہ clanghello.c چلاتے ہیں تو، درج کریں، ڈاٹ سلیش، a.out ہے، درج، 427 00:21:01,860 --> 00:21:04,110 آپ کو یہ اب بھی کام کیا ہے کہ نظر آئے گا. 428 00:21:04,110 --> 00:21:06,020 لیکن یہ arguably سب ایک چھوٹی سی چھوٹی گاڑی ہے. 429 00:21:06,020 --> 00:21:08,714 ابھی، میرے prompt-- کام کی جگہ، اور پھر اس ڈالر کا نشان، 430 00:21:08,714 --> 00:21:10,880 اور پھر میری اصل prompt-- سب ایک ہی لائن پر ہے. 431 00:21:10,880 --> 00:21:14,540 تو یہ یقینی طور پر ایک جمالیاتی بگ، یہاں تک کہ اگر یہ واقعی ایک منطقی مسئلے نہیں ہے. 432 00:21:14,540 --> 00:21:16,250 >> لہذا میں نے میں نے ابھی کیا کیا رد کرنے جا رہا ہوں. 433 00:21:16,250 --> 00:21:18,560 I میں a.out rerun کرنے جا رہا ہوں. 434 00:21:18,560 --> 00:21:22,710 میں شامل کیا ہے توجہ newline کردار واپس. 435 00:21:22,710 --> 00:21:24,280 میں نے فائل محفوظ کر لیا ہے. 436 00:21:24,280 --> 00:21:31,630 >> تو میں نے، میں a.out rerun کرنے جا رہا ہوں and-- dammit، ایک مسئلے سے، غلطی کا مطلب ہے ایک مسئلے سے. 437 00:21:31,630 --> 00:21:35,020 تو بگ کہ اگرچہ ہے میں (ن) نے الٹا سلیش نے مزید کہا، 438 00:21:35,020 --> 00:21:41,180 دوبارہ محفوظ،، پروگرام میں دوبارہ بھاگ گیا رویے ایک ہی تھا. 439 00:21:41,180 --> 00:21:42,640 کیوں کہ ہو سکتا ہے؟ 440 00:21:42,640 --> 00:21:43,910 >> میں نے ایک قدم یاد آ رہی ہے، ہے نہ؟ 441 00:21:43,910 --> 00:21:47,620 یہ اہم قدم کے اوائل میں ہے کہ آپ کا تھا آپ کو آپ کے منبع کوڈ کو تبدیل جب ضروریات کو، 442 00:21:47,620 --> 00:21:49,610 یہ بھی چلانے باہر کر دیتا ہے کمپائلر کے ذریعے اسے 443 00:21:49,610 --> 00:21:51,102 ایک بار پھر آپ کو نئی مشین کوڈ حاصل کریں تاکہ. 444 00:21:51,102 --> 00:21:52,810 مشین کوڈ، zeros اور ہیں، 445 00:21:52,810 --> 00:21:56,260 ، تقریبا ایک جیسی ہونے کے لئے جا رہے ہیں لیکن بالکل ایسا نہیں، ہمیں ضرورت ہے کیونکہ، 446 00:21:56,260 --> 00:21:57,510 کورس کے، اس نئی لائن. 447 00:21:57,510 --> 00:22:02,640 >> تو کیا یہ طے کرنے کے لئے، مجھے اس کی ضرورت کرنے جا رہا ہوں clanghello.c rerun کرنے، درج، ڈاٹ 448 00:22:02,640 --> 00:22:03,800 سلیش، a.out ہے. 449 00:22:03,800 --> 00:22:08,402 اور اب، ہیلو دنیا واپس آ گیا ہے جہاں میں توقع کرنا یہ ہونا. 450 00:22:08,402 --> 00:22:09,610 تو یہ سب ٹھیک ہے اور اچھا ہے. 451 00:22:09,610 --> 00:22:13,150 لیکن میں a.out ایک کے لئے ایک خوبصورت بیوکوف نام ہے پروگرام، جو ہونا ہوتا ہے، اگرچہ، 452 00:22:13,150 --> 00:22:16,530 تاریخی وجوہات کی بناء پر، اسمبلی نتائج معنی default--. 453 00:22:16,530 --> 00:22:20,780 >> لیکن مجھے آگے یہاں جانے دو اور مختلف طریقے سے ایسا. 454 00:22:20,780 --> 00:22:24,760 میں نے اپنے ہیلو دنیا پروگرام چاہتے ہیں اصل کو ہیلو کہا جا. 455 00:22:24,760 --> 00:22:28,320 اگر تو یہ ایک آئیکن تھے میرے ڈیسک ٹاپ، جو میں a.out نہیں کیا جائے گا. 456 00:22:28,320 --> 00:22:29,730 یہ خوش بلایا جائے گا. 457 00:22:29,730 --> 00:22:33,660 >> تو ایسا کرنے، یہ پتہ چلتا ہے کہ بجنا، بہت سے پروگراموں کی طرح، 458 00:22:33,660 --> 00:22:37,980 ، کمانڈ لائن کے دلائل کی حمایت یا جھنڈوں، یا سوئچز، 459 00:22:37,980 --> 00:22:39,600 صرف اس رویے پر اثر انداز جس میں. 460 00:22:39,600 --> 00:22:45,160 خاص طور پر، بجنا ایک ڈیش اے کی حمایت اس کے بعد ایک دوسرا لفظ لیتا ہے جو پرچم،. 461 00:22:45,160 --> 00:22:48,190 اس صورت میں، میں نے منمانے کروں گا، لیکن معقول حد تک، یہ خوش کال کریں. 462 00:22:48,190 --> 00:22:50,710 لیکن میں یہ کچھ بھی کہہ سکتے ہیں میں چاہتا ہوں، میں a.out، سوائے جس 463 00:22:50,710 --> 00:22:52,390 بلکہ بات اس کے علاوہ ہو گا. 464 00:22:52,390 --> 00:22:55,640 >> اور پھر صرف نام کی وضاحت فائل کا میں مرتب کرنے کے لئے چاہتے ہو. 465 00:22:55,640 --> 00:22:59,190 تو اب بھی شروع میں اگرچہ میں اب بھی بجنا ہے کمانڈ کے، 466 00:22:59,190 --> 00:23:01,410 کمانڈ کے آخر میں میں اب بھی فائل کا نام ہے، 467 00:23:01,410 --> 00:23:05,520 اب میں ان کمانڈ لائن ہے دلائل، ان جھنڈوں کہہ رہے ہیں کہ، 468 00:23:05,520 --> 00:23:11,180 اوہ، ویسے، پیداوار-او، ایک فائل ہیلو نہ ڈیفالٹ a.out کہتے،. 469 00:23:11,180 --> 00:23:13,810 >> تو میں نے مارا تو اب، کچھ بھی نہیں درج ہوا ہے لگتا ہے. 470 00:23:13,810 --> 00:23:17,900 اور، ابھی تک، اب میں ڈاٹ سلیش ہیلو ایسا کر سکتے ہیں. 471 00:23:17,900 --> 00:23:19,089 تو یہ ایک ہی پروگرام ہے. 472 00:23:19,089 --> 00:23:21,380 zeros اور ہیں دن کے آخر میں ایک جیسی. 473 00:23:21,380 --> 00:23:24,210 >> لیکن وہ دو میں ہیں مختلف files-- میں a.out، 474 00:23:24,210 --> 00:23:26,490 جو سب سے پہلے ورژن ہے اور صرف حماقت، نامزد کیا 475 00:23:26,490 --> 00:23:30,250 اور اب ہیلو، جس کی وجہ سے زیادہ ہے ایک پروگرام کے لئے زیادہ مجبور نام. 476 00:23:30,250 --> 00:23:33,195 لیکن، ایمانداری، میں نے کبھی نہیں ہوں پھر اس کو یاد کرنے کے لئے جا، 477 00:23:33,195 --> 00:23:34,070 اور پھر، اور پھر. 478 00:23:34,070 --> 00:23:36,411 اور، اصل میں، کے طور پر ہم لکھ زیادہ پیچیدہ پروگراموں، 479 00:23:36,411 --> 00:23:38,160 حکم دیتا ہے تم ہو لکھنے کی ضرورت کے لئے جا 480 00:23:38,160 --> 00:23:40,920 بھی حاصل کرنے کے لئے جا رہے ہیں زیادہ اب بھی پیچیدہ. 481 00:23:40,920 --> 00:23:41,940 >> اور اس طرح فکر کرنے کی نہیں. 482 00:23:41,940 --> 00:23:46,220 یہ پتہ چلا ہے کہ انسانوں سے پہلے ہمیں وہ بھی احساس ہو گیا 483 00:23:46,220 --> 00:23:47,530 یہ بالکل وہی مسئلہ تھا. 484 00:23:47,530 --> 00:23:50,900 وہ بھی کرنے کے لئے لطف اندوز نہیں کیا کافی طویل، arcane حکم ٹائپ، 485 00:23:50,900 --> 00:23:52,200 چھوڑ دو ان کو یاد. 486 00:23:52,200 --> 00:23:56,070 اور اس طرح ہم سے پہلے انسانوں بنا دیا ہے یہ آسان بنانے کے کہ دوسرے پروگراموں 487 00:23:56,070 --> 00:23:57,670 آپ کے سافٹ ویئر مرتب کرنے کے لئے. 488 00:23:57,670 --> 00:24:01,609 >> اور، یقینا، ایسے ہی ایک پروگرام بنانے کو کہا جاتا ہے. 489 00:24:01,609 --> 00:24:03,150 تو میں نے آگے بڑھو اور اس میں کیا کرنے جا رہا ہوں. 490 00:24:03,150 --> 00:24:05,691 میں نے سب کچھ توڑنا کرنے جا رہا ہوں میں صرف مندرجہ ذیل انداز میں کیا. 491 00:24:05,691 --> 00:24:07,690 مجھے LS ٹائپ کریں. 492 00:24:07,690 --> 00:24:10,980 اور تم لوگ تین چیزوں میں محسوس کریں گے میں a.out، اور ایک ستارہ، ہیلو 493 00:24:10,980 --> 00:24:12,810 اور ایک ستارہ، اور hello.c کے. 494 00:24:12,810 --> 00:24:14,730 امید ہے کہ یہ کرنا چاہئے ، ایک چھوٹی سی بدیہی ہو 495 00:24:14,730 --> 00:24:18,220 جیسا کہ پہلے بھی نہیں تھا insofar کے اس کے کام کی جگہ میں کچھ بھی نہیں. 496 00:24:18,220 --> 00:24:21,240 میں تھا کہ کچھ بھی نہیں تھا ہم کلاس شروع کر دیا جب تک پیدا. 497 00:24:21,240 --> 00:24:22,840 >> اور میں hello.c پیدا. 498 00:24:22,840 --> 00:24:24,544 میں نے تو اسے مرتب، اور یہ a.out کہتے. 499 00:24:24,544 --> 00:24:27,460 اور پھر میں نے تھوڑا سا اسے دوبارہ مرتب مختلف طریقے ہیں اور یہ خوش نامی. 500 00:24:27,460 --> 00:24:32,830 تو میں نے اس ڈائریکٹری میں تین فائلیں ہیں، اس فولڈر کام جگہ بلایا میں. 501 00:24:32,830 --> 00:24:35,005 اب، میں اس کے ساتھ ساتھ وہ دیکھ سکتا ہوں میں اصل میں باہر زوم تو. 502 00:24:35,005 --> 00:24:37,530 >> میں یہاں باہر زوم اور اگر کہ سب سے اوپر دائیں ہاتھ کی طرف دیکھو 503 00:24:37,530 --> 00:24:39,940 کونے، بائیں کے طور پر وعدہ آپ کی سکرین کے ہاتھ کی طرف 504 00:24:39,940 --> 00:24:42,990 ہمیشہ آپ کو دکھانے کے لئے جا رہا ہے کیا آپ کے اکاؤنٹ میں ہے، کیا ہے 505 00:24:42,990 --> 00:24:44,790 CS50 IDE کے اندر. 506 00:24:44,790 --> 00:24:46,680 اور تین فائلیں موجود نہیں ہے. 507 00:24:46,680 --> 00:24:49,070 >> لہذا میں نے میں a.out سے چھٹکارا اور خوش کرنے کے لئے چاہتے. 508 00:24:49,070 --> 00:24:51,275 اور جیسا کہ آپ شاید intuitively پر آپ تصور، 509 00:24:51,275 --> 00:24:53,400 کنٹرول کلک کی ترتیب کر سکتے ہیں یا براہ راست اس پر کلک کریں. 510 00:24:53,400 --> 00:24:54,590 اور اس چھوٹے مینو ٹمٹمانے. 511 00:24:54,590 --> 00:24:57,170 آپ فائل کو ڈاؤن لوڈ کر سکتے ہیں، کو چلانے کے یہ، یہ مشاہدہ، تروتازہ،، نام تبدیل 512 00:24:57,170 --> 00:24:57,700 یا کیا نہیں. 513 00:24:57,700 --> 00:25:00,260 >> اور میں صرف حذف کرسکتی، اور یہ ختم ہوجائے گا. 514 00:25:00,260 --> 00:25:05,260 لیکن ایک کمانڈ کے ساتھ چیزوں کو کرنے دو اب کے لئے لائن، آرام دہ اور پرسکون حاصل کرنے کے لئے تو کے طور پر 515 00:25:05,260 --> 00:25:07,010 اس کے ساتھ، اور مندرجہ ذیل کام کریں. 516 00:25:07,010 --> 00:25:12,345 میں آگے بڑھو اور دور کرنے کے لئے جا رہا ہوں لفظی rma.out ٹائپ کرکے a.out ہے. 517 00:25:12,345 --> 00:25:14,890 اس حکم کا پتہ چلا ہے، کو ہٹا یا اور کچھ کو خارج کرنے، 518 00:25:14,890 --> 00:25:16,280 خارج یا حذف نہیں ہے. 519 00:25:16,280 --> 00:25:21,260 >> یہ صرف بچانے کے لئے زیادہ اور succinctly RM ہے، آپ کو کچھ اسٹروکس، اور Enter دبائیں. 520 00:25:21,260 --> 00:25:24,707 اب ہم کسی حد تک ہو جا رہے ہیں ہیں cryptically باقاعدہ فائل میں a.out خارج کر دیں. 521 00:25:24,707 --> 00:25:27,040 میں واقعی میں کیا نہیں جانتے فاسد کی فائل ابھی تک ہو گی. 522 00:25:27,040 --> 00:25:28,660 لیکن میں نے اس کو ہٹانا چاہتے ہیں. 523 00:25:28,660 --> 00:25:30,150 >> تو میں نے ہاں کے لئے Y ٹائپ کرنے جا رہا ہوں. 524 00:25:30,150 --> 00:25:31,940 یا میں نے اسے باہر ٹائپ کریں، اور درج مارا کر سکتے ہیں. 525 00:25:31,940 --> 00:25:33,440 اور، ایک بار پھر، کچھ بھی ہونے لگتا ہے. 526 00:25:33,440 --> 00:25:35,840 لیکن اس سے، عام طور پر ایک اچھی بات ہے،. 527 00:25:35,840 --> 00:25:40,490 >> I LS اس وقت ٹائپ کریں، میں کیا دیکھنا چاہیئے؟ 528 00:25:40,490 --> 00:25:44,930 امید ہے کہ، صرف ہیلو اور hello.c کے. 529 00:25:44,930 --> 00:25:47,286 اب، طور پر ایک طرف، تمہیں یہ ستارہ، ستارے کو نوٹس، 530 00:25:47,286 --> 00:25:48,660 کہ میرے پروگراموں کے آخر میں ہے. 531 00:25:48,660 --> 00:25:50,201 اور وہ بھی سبز رنگ میں نظر آرہے ہیں. 532 00:25:50,201 --> 00:25:53,970 یہ صرف CS50 IDE کی راہ ہے حقیقت یہ ہے کہ میں آپ کو cluing کے 533 00:25:53,970 --> 00:25:55,280 کہ ماخذ کوڈ نہیں ہے. 534 00:25:55,280 --> 00:25:58,880 یہی وجہ ہے کہ ایک executable ایک runnable ہے، پروگرام آپ کو اصل میں چلا سکتے ہیں 535 00:25:58,880 --> 00:26:01,020 ڈاٹ سلیش کر، اور اس کے بعد کی طرف سے اس کا نام ہے. 536 00:26:01,020 --> 00:26:05,860 >> اب، مجھے آگے بڑھو اور ہٹانے اس، ہیلو RM، درج، باقاعدہ ہٹا دیں 537 00:26:05,860 --> 00:26:08,010 ہیلو دائر، جی ہاں. 538 00:26:08,010 --> 00:26:11,180 اور اب میں LS ٹائپ کریں تو، ہم hello.c کے واپس آ گئے ہیں. 539 00:26:11,180 --> 00:26:13,917 حذف کرنے کی کوشش کرو تمہارا اصل منبع کوڈ. 540 00:26:13,917 --> 00:26:16,250 وہاں خصوصیات ہیں اگرچہ CS50 IDE جہاں میں تعمیر 541 00:26:16,250 --> 00:26:19,870 آپ کو آپ کی نظرثانی کی سرگزشت ذریعے جا سکتے ہیں اور وقت میں آپ اگر اتفاقی طور پر ماضی 542 00:26:19,870 --> 00:26:23,660 کسی چیز کو حذف، احساس ہونا ایسا ان کا اشارہ ملتا ہے ہاں یا فی کے طور پر، 543 00:26:23,660 --> 00:26:25,381 آپ اصل میں کیا کرنا چاہتے ہیں کے. 544 00:26:25,381 --> 00:26:27,380 اور میں سب سے اوپر تک جانا ہے تو یہاں کونے چھوڑ دیا، 545 00:26:27,380 --> 00:26:30,696 تمام ہے کہ رہتا ہے hello.c ہے. 546 00:26:30,696 --> 00:26:32,570 تو کے bunches وہاں ہے دوسرے حکم دیتا ہے کہ 547 00:26:32,570 --> 00:26:37,550 لینکس کی دنیا میں پھانسی کر سکتے ہیں، جن میں سے ایک بار پھر، بنائیں، ہے. 548 00:26:37,550 --> 00:26:40,180 اور ہم بنانے کے لئے جا رہے ہیں میرا پروگرام اب کے طور پر مندرجہ ذیل ہے. 549 00:26:40,180 --> 00:26:43,270 >> اس کے بجائے بجنا کر کے، بجائے بجنا اے کر کے، 550 00:26:43,270 --> 00:26:45,860 میں نے صرف کرنے جا رہا ہوں لفظی، ٹائپ بنانے ہیلو. 551 00:26:45,860 --> 00:26:49,630 اور اب محسوس کریں، میں ہوں hello.c کے بنانے میں ٹائپنگ. 552 00:26:49,630 --> 00:26:50,910 میں نے ہیلو بنانے ٹائپ کر رہا ہوں. 553 00:26:50,910 --> 00:26:54,840 >> اور اس پروگرام بنائیں CS50 IDE، اور زیادہ کے ساتھ آتا ہے 554 00:26:54,840 --> 00:26:57,090 عام طور پر لینکس کے ساتھ، ہے کہ ایک پروگرام ہے 555 00:26:57,090 --> 00:26:59,120 خوش نامی ایک پروگرام بنانے کے لئے جا. 556 00:26:59,120 --> 00:27:03,680 اور ویسے، کنونشن کی طرف سے، فرض کرنے جا رہا ہے اس پروگرام بنایا جا سکتا ہے کہ اگر، 557 00:27:03,680 --> 00:27:09,030 یہ ایک ذریعہ سے بنایا جا رہا ہے کوڈ فائل ڈاٹ سی میں ختم ہونے والے، hello.c کے. 558 00:27:09,030 --> 00:27:12,210 >> تو میں نے مارا تو اب نوٹس درج، کہ کمانڈ قتل ہو جاتا ہے 559 00:27:12,210 --> 00:27:14,340 اصل میں بھی طویل ہے پہلے سے زیادہ سے پہلے. 560 00:27:14,340 --> 00:27:16,670 کیونکہ ہم کر لیا ہے اور وہ ہے ہے کرنا تشکیل کردہ CS50 IDE 561 00:27:16,670 --> 00:27:19,878 کہ میں تعمیر کچھ اضافی خصوصیات ہم ابھی تک کی ضرورت نہیں ہے، لیکن جلد ہی ہو جائے گا. 562 00:27:19,878 --> 00:27:23,470 لیکن اہم بات یہ ہے کا احساس کرنے کی میں نے ایک خوش پروگرام ہے اب ہے. 563 00:27:23,470 --> 00:27:27,080 >> میں نے پھر LS ٹائپ، تو میں ایک ہیلو پروگرام ہے. 564 00:27:27,080 --> 00:27:32,070 اور میں نے ساتھ چلا سکتے ہیں ڈاٹ میں a.out سلیش، کوئی، 565 00:27:32,070 --> 00:27:35,590 اس کے پورے نقطہ ہے کیونکہ ورزش ڈاٹ سلیش ہیلو تھا. 566 00:27:35,590 --> 00:27:38,089 اور اب میں نے اپنے ہیلو دنیا پروگرام ہے. 567 00:27:38,089 --> 00:27:39,880 لہذا آگے بڑھنے، ہم صرف تقریبا ہمیشہ ہو 568 00:27:39,880 --> 00:27:42,088 ہمارے پروگراموں کو مرتب کرنے کے لئے جا کمانڈ بنائیں کا استعمال کرتے ہوئے. 569 00:27:42,088 --> 00:27:45,300 اور پھر ہم نے ان کی طرف سے چلانے کے لئے جا رہے ہیں ڈاٹ سلیش، اور پروگرام کا نام. 570 00:27:45,300 --> 00:27:49,610 لیکن کے لئے بناتے ہیں کیا کر رہا ہے کا احساس آپ کو یہ خود ایک سنکلک نہیں ہے. 571 00:27:49,610 --> 00:27:53,310 یہ صرف ایک سہولت کے پروگرام ہے کہ ایک سنکلک ٹرگر کرنے کے لئے کس طرح جانتا ہے 572 00:27:53,310 --> 00:27:56,470 تم اپنے آپ کو اس کا استعمال کر سکتے ہیں تاکہ کو چلانے کے لئے. 573 00:27:56,470 --> 00:28:00,220 >> کیا دوسری کمانڈز میں موجود لینکس، اور باری CS50 IDE میں؟ 574 00:28:00,220 --> 00:28:03,107 ہم جلد ہی ایک نہیں ہے کہ نظر آئے گا CD کمانڈ، بدلیں ڈائریکٹری. 575 00:28:03,107 --> 00:28:05,190 یہ اندر آپ کی اجازت دیتا ہے آپ کے کمانڈ لائن انٹرفیس 576 00:28:05,190 --> 00:28:07,610 واپس آگے منتقل کرنے کے، اور، اور مختلف فولڈرز کو کھولنے 577 00:28:07,610 --> 00:28:08,860 اپنے ماؤس کا استعمال کرتے ہوئے بغیر. 578 00:28:08,860 --> 00:28:12,470 >> فہرست کے لئے کھڑا ہے ہم نے دیکھا LS، موجودہ ڈائریکٹری میں فائلوں. 579 00:28:12,470 --> 00:28:14,650 دیر بنائیں، آپ کر سکتے ہیں شاید نتیجہ نکالنا شروع کر دیں 580 00:28:14,650 --> 00:28:18,150 ان ڈائریکٹری بنانے now-- کیا مطلب، آپ کو ایک فولڈر تخلیق کرنے کے لئے چاہتے ہیں تو. 581 00:28:18,150 --> 00:28:21,270 ہٹانے کے لئے RM، RM دیر کے لئے ، ڈائریکٹری اور ان کو دور 582 00:28:21,270 --> 00:28:24,160 ایک بار پھر، کمانڈ لائن ہیں تم کیا کے مساوی 583 00:28:24,160 --> 00:28:26,945 اپنے ماؤس کے ساتھ CS50 IDE میں ایسا کر سکتا ہے. 584 00:28:26,945 --> 00:28:28,820 لیکن اگر آپ کو جلد ہی تلاش کر لیں گے کہ کبھی کبھی یہ صرف ہے 585 00:28:28,820 --> 00:28:30,610 تیزی سے ایک بہت کچھ کرنے کی ایک کی بورڈ کے ساتھ چیزوں کو، 586 00:28:30,610 --> 00:28:33,690 اور بالآخر ایک بہت زیادہ طاقتور. 587 00:28:33,690 --> 00:28:36,440 >> لیکن یہ کہ بحث کرنا مشکل ہے کچھ بھی ہم نے اب تک کر رہا ہوں 588 00:28:36,440 --> 00:28:39,990 جب تمام، سب کچھ جو طاقتور ہے ہم ہی کہہ دیا گیا ہے، ہیلو دنیا. 589 00:28:39,990 --> 00:28:43,740 اور، اصل میں، میں نے hardcoded کیا میرے پروگرام میں الفاظ ہیلو دنیا. 590 00:28:43,740 --> 00:28:45,530 ابھی تک کوئی تحرک نہیں ہے. 591 00:28:45,530 --> 00:28:49,320 سکریچ شدت کے ایک حکم تھا زیادہ دلچسپ گزشتہ ہفتے. 592 00:28:49,320 --> 00:28:51,220 >> اور اس طرح وہاں حاصل کرنے کی اجازت. 593 00:28:51,220 --> 00:28:55,310 کی طرف سے اس کی طرف ایک قدم لینے دو ان افعال میں سے کچھ کی راہ. 594 00:28:55,310 --> 00:28:59,470 تو نہ صرف C printf کے ساتھ آتا ہے، اور دیگر افعال کے bunches 595 00:28:59,470 --> 00:29:01,850 جن میں سے کچھ ہم دیکھیں گے وقت کے ساتھ، ایسا نہیں ہوتا 596 00:29:01,850 --> 00:29:05,760 صحیح باہر یہ سب اتنا آسان بنانے صارف ان پٹ حاصل کرنے میں پھاٹک کے. 597 00:29:05,760 --> 00:29:08,140 >> سچ تو یہ ہے، کمزوریوں میں سے ایک C کی طرح زبانوں کے، 598 00:29:08,140 --> 00:29:10,140 اور یہاں تک کہ جاوا اور ابھی تک دوسروں، جو نہیں کرتا ہے 599 00:29:10,140 --> 00:29:15,860 یہ آسان صرف کی طرح چیزوں کو حاصل کرنے کے لئے بنانے صارفین، یا ڈور، الفاظ سے صحیح اعداد، 600 00:29:15,860 --> 00:29:19,970 اور جملے، ایسے اکیلے چیزیں بتائیں نقطہ اقدار، یا حقیقی اعداد سچل 601 00:29:19,970 --> 00:29:23,240 دشملو پوائنٹس، اور واقعی کے ساتھ طویل نمبروں، ہم جلد ہی دیکھیں گے کے طور پر. 602 00:29:23,240 --> 00:29:27,000 تو یہاں کے افعال کی اس فہرست میں، ان دیگر سکریچ پہیلی ٹکڑے ٹکڑے کی طرح ہیں 603 00:29:27,000 --> 00:29:31,090 ہم CS50 میں پہلے سے نصب کیا ہے کہ کہ ہم چند ہفتوں کے لئے استعمال کریں گے IDE 604 00:29:31,090 --> 00:29:34,010 ایک طرح کی تربیت پہیوں، اور کے طور پر بالآخر ان سے دور لے، اور دیکھو 605 00:29:34,010 --> 00:29:37,210 ڈاکو، شاید، اوپر نیچے یہ باتیں کیوں لاگو کیا جاتا ہے. 606 00:29:37,210 --> 00:29:40,460 >> لیکن ایسا کرنے کے، کی اجازت اصل میں ایک پروگرام لکھنے. 607 00:29:40,460 --> 00:29:41,770 اب مجھے آگے چلتے ہیں. 608 00:29:41,770 --> 00:29:44,750 پھر میں نے ایک نیا تخلیق کرنے جا رہا ہوں اس چھوٹی سی پلس پر کلک کر کے فائل، 609 00:29:44,750 --> 00:29:45,970 اور نئی فائل پر کلک کرنے. 610 00:29:45,970 --> 00:29:49,250 >> میں نے اس سے اگلے کو بچانے کے لئے جا رہا ہوں ، کا کہنا ہے کہ کے طور پر ایک، string.c، 611 00:29:49,250 --> 00:29:50,750 میں ڈور کے ساتھ کھیلنے کے لئے چاہتے ہیں کیونکہ. 612 00:29:50,750 --> 00:29:53,990 اور C میں سٹرنگ صرف ہے حروف کی ترتیب. 613 00:29:53,990 --> 00:29:56,090 تو اب آگے چلتے ہیں اور مندرجہ ذیل کام کریں. 614 00:29:56,090 --> 00:30:01,204 >> شامل معیاری IO.h-- اور یہ، معیاری IO باہر کر دیتا ہے 615 00:30:01,204 --> 00:30:03,360 IO صرف ان پٹ اور آؤٹ پٹ کا مطلب ہے. 616 00:30:03,360 --> 00:30:05,920 تو یہ پتہ چلا ہے کہ یہاں اس لائن کیا ہے 617 00:30:05,920 --> 00:30:08,140 printf استعمال کرنے کے لئے ہم ہمسایہ رہا ہے. 618 00:30:08,140 --> 00:30:10,410 printf کے، کورس کے، پیداوار پیدا. 619 00:30:10,410 --> 00:30:15,000 تو printf استعمال کرنے کے لئے، بدل جاتا ہے باہر آپ کو کوڈ کے اس لائن ہی ہوگا 620 00:30:15,000 --> 00:30:16,040 آپ کی فائل کے سب سے اوپر. 621 00:30:16,040 --> 00:30:18,456 >> اور ہم واپس آ جائیں گے کیا یہ واقعی بہت پہلے کا مطلب. 622 00:30:18,456 --> 00:30:20,400 اس میں ہے کہ باہر کر دیتا ہے کسی بھی C پروگرام میں لکھنا، 623 00:30:20,400 --> 00:30:23,640 جس کے ساتھ میں یہ شروع کرنے کے لئے ہے اس طرح لگ رہا ہے کہ کوڈ. 624 00:30:23,640 --> 00:30:26,860 اور تم CS50 IDE محسوس، اور کر دیں گے دیگر مربوط ترقی 625 00:30:26,860 --> 00:30:30,050 اس کی طرح کے ماحول، کے طور پر بہترین کوشش کرنے کے لئے جا رہے ہیں 626 00:30:30,050 --> 00:30:31,780 وہ آپ کی سوچ کو ختم کرنے کی کر سکتے ہیں. 627 00:30:31,780 --> 00:30:35,930 سچ تو یہ ہے، ایک لمحے پہلے میں نے کالعدم اگر میں نے ابھی کیا کیا، میں درج کریں مارا. 628 00:30:35,930 --> 00:30:39,160 >> میں تو کھلی گھوبگھرالی مارا تسمہ، دوبارہ درج کریں مارا. 629 00:30:39,160 --> 00:30:40,430 اور یہ میری سوچ سے فارغ. 630 00:30:40,430 --> 00:30:45,140 اس سے، مجھے ایک نئی سطر دی کوئی کم پوٹ دار اچھا ساہتیک وجوہات کی بنا پر ہم دیکھیں گے. 631 00:30:45,140 --> 00:30:48,559 اور پھر یہ خود بخود مجھے دیا میری سوچ کو ختم کرنے کی ہے کہ گھوبگھرالی تسمہ. 632 00:30:48,559 --> 00:30:50,600 اب، یہ ہمیشہ ایسا نہیں ہوتا آپ کیا کرنا چاہتے ہیں لگتا ہے. 633 00:30:50,600 --> 00:30:53,620 لیکن بڑے حصے میں، یہ کرتا ہے آپ کو کچھ اسٹروکس کو بچانے. 634 00:30:53,620 --> 00:30:59,560 ایک لمحے پہلے تو، ہم اس پروگرام بھاگ گیا ہیلو، دنیا، اور پھر اسے مرتب کیا، 635 00:30:59,560 --> 00:31:00,460 اور پھر یہ بھاگ گیا. 636 00:31:00,460 --> 00:31:01,867 لیکن یہاں کوئی تحرک نہیں ہے. 637 00:31:01,867 --> 00:31:03,700 ہم چاہتے تھے تو کیا کچھ مختلف؟ 638 00:31:03,700 --> 00:31:07,630 ٹھیک ہے، کیا میں واقعی کرنا چاہتا تھا تو صارف سے ایک تار حاصل؟ 639 00:31:07,630 --> 00:31:11,250 میں نے ایک پہیلی ٹکڑا استعمال کرنے کے لئے جا رہا ہوں تار حاصل that-- بالکل بلایا. 640 00:31:11,250 --> 00:31:15,860 >> C میں پتہ چلا آپ نہیں چاہتے کہ جب ایک پہیلی ٹکڑے کرنے کے لئے ان پٹ فراہم کرنے، 641 00:31:15,860 --> 00:31:19,360 یا ایک تقریب کے لئے زیادہ مناسب طریقے سے، آپ کو لفظی صرف اوپن خانے کرتے، 642 00:31:19,360 --> 00:31:20,430 بند خانے. 643 00:31:20,430 --> 00:31:25,540 گویا وہاں ہے تو یہ ہے کوئی سفید خانے میں ٹائپ کرنا. 644 00:31:25,540 --> 00:31:27,720 کہہ دو بلاک سے پہلے ایک چھوٹی سی سفید باکس تھا. 645 00:31:27,720 --> 00:31:29,660 ہم کہ اب ایسا سفید باکس کی ضرورت نہیں ہے. 646 00:31:29,660 --> 00:31:33,310 >> لیکن میں حاصل سٹرنگ فون جب، میں نے کہیں نتیجہ ڈال کرنا چاہتے ہیں. 647 00:31:33,310 --> 00:31:37,680 لہذا سی میں ایک بہت عام مثال کے لئے ہے یہاں حاصل تار کی طرح ایک تقریب، کال، 648 00:31:37,680 --> 00:31:41,070 اور پھر اس کی واپسی کی قیمت ذخیرہ. 649 00:31:41,070 --> 00:31:44,450 اس کا نتیجہ ہے اس کی کسی چیز میں کوشش. 650 00:31:44,450 --> 00:31:47,630 >> اور کیا ہے پروگرامنگ میں تعمیر، 651 00:31:47,630 --> 00:31:53,450 C اسکریچ میں یا اب چاہے، ہم اس اصل میں کچھ ذخیرہ کرنے کے لئے استعمال کر سکتے ہیں؟ 652 00:31:53,450 --> 00:31:55,990 یہ ایک متغیر صحیح کہا جاتا ہے،؟ 653 00:31:55,990 --> 00:32:00,320 اور شروع میں، ہم واقعی ایسا نہیں کرتے کیا متغیر میں جا رہا تھا پرواہ. 654 00:32:00,320 --> 00:32:02,170 >> لیکن اس معاملے میں، ہم اصل میں کرتے. 655 00:32:02,170 --> 00:32:03,719 میں سٹرنگ کہنے جا رہا ہوں. 656 00:32:03,719 --> 00:32:05,510 اور پھر میں کہہ سکتے ہیں اس میں کچھ بھی میں چاہتا ہوں. 657 00:32:05,510 --> 00:32:08,340 میں نے اسے فون کرنے جا رہا ہوں نام، سٹرنگ حاصل ہو جاتا ہے. 658 00:32:08,340 --> 00:32:10,250 >> اور اب تم ہو یہاں تک کہ اگر اس کے لئے ایک چھوٹا سا نیا، 659 00:32:10,250 --> 00:32:11,984 محسوس کیا میں کچھ تفصیل فقدان رہا ہوں. 660 00:32:11,984 --> 00:32:13,150 میں نے ایک نیم بڑی آنت بھول رہا ہوں. 661 00:32:13,150 --> 00:32:14,400 مجھے یہ سوچ ختم کرنے کی ضرورت. 662 00:32:14,400 --> 00:32:17,480 تو میں نے، میرے کرسر کو منتقل کرنے کے لئے جا رہا ہوں اور وہاں نیم بڑی آنت کو مارا. 663 00:32:17,480 --> 00:32:19,130 اور میں صرف کیا کیا ہے؟ 664 00:32:19,130 --> 00:32:21,440 کوڈ کے اس لائن میں، اس وقت نمبر 5، 665 00:32:21,440 --> 00:32:23,799 مجھے کوئی آدانوں کے ساتھ حاصل سٹرنگ بلا رہا ہوں. 666 00:32:23,799 --> 00:32:26,090 تو کوئی چھوٹی سی سفید نہیں ہے بلاک کے محفوظ کریں ہے کی طرح باکس. 667 00:32:26,090 --> 00:32:28,590 >> میں صرف یہ کہہ رہا ہوں، ارے، کمپیوٹر، مجھے ایک تار حاصل. 668 00:32:28,590 --> 00:32:31,390 برابر علامت واقعی نہیں ہے ایک برابر علامت، SE فی. 669 00:32:31,390 --> 00:32:33,790 یہ اسائنمنٹ ہے جس کا مطلب آپریٹر،، 670 00:32:33,790 --> 00:32:37,860 ارے، کمپیوٹر، قدر منتقل بائیں طرف کے حق سے. 671 00:32:37,860 --> 00:32:40,480 اور بائیں میں، میں مندرجہ ذیل ہے. 672 00:32:40,480 --> 00:32:43,580 >> ارے، کمپیوٹر، مجھے ایک تار دے حروف کی ترتیب. 673 00:32:43,580 --> 00:32:45,637 اور کال اس سٹرنگ کا نام. 674 00:32:45,637 --> 00:32:47,220 اور میں بھی اس کا نام کو فون کرنے کی ضرورت نہیں ہے. 675 00:32:47,220 --> 00:32:49,970 >> میں نے روایتی، یہ کہہ سکتے ہیں، S کی طرح کچھ، 676 00:32:49,970 --> 00:32:52,900 ہم کرنے میں استعمال کیا جاتا ہے زیادہ کی طرح متغیر میں فون. 677 00:32:52,900 --> 00:32:54,829 لیکن اب میں اس کے ساتھ کچھ کرنے کی ضرورت. 678 00:32:54,829 --> 00:32:57,370 اس کے لئے بہت پاگل ہو جائے گا چل رہا ہے، اس کوڈ کو مرتب کرنے کی کوشش 679 00:32:57,370 --> 00:32:59,410 اس پروگرام، اگرچہ مجھے ایک تار ہو رہی ہے، 680 00:32:59,410 --> 00:33:01,580 یہ اب بھی صرف ہے کیونکہ ہیلو دنیا کہنے جا رہا. 681 00:33:01,580 --> 00:33:06,140 >> لیکن میں نے اس کو تبدیل کرنے کے لئے کیا چاہتے ہو تو. 682 00:33:06,140 --> 00:33:07,940 میں ایسا کیوں نہیں کرتے؟ 683 00:33:07,940 --> 00:33:11,632 فیصد ے، کوما ے. 684 00:33:11,632 --> 00:33:13,090 اور یہ اب بھی ایک چھوٹا سا خفیہ ہے. 685 00:33:13,090 --> 00:33:15,560 >> تو مجھے میرے متغیر زیادہ واضح کر دو. 686 00:33:15,560 --> 00:33:17,510 مجھے اس متغیر نام نام لیتے ہیں. 687 00:33:17,510 --> 00:33:20,230 اور ہم تنگ نہیں کر سکتے ہیں تو دیکھتے ہیں علاوہ یہاں کیا ہو رہا ہے. 688 00:33:20,230 --> 00:33:22,770 >> تو اوپر پانچ پر، میں نے ایک تار ہو رہی ہوں. 689 00:33:22,770 --> 00:33:25,620 اور میں اس سٹرنگ ذخیرہ کرنے رہا ہوں، جو کچھ بھی صارف میں ٹائپ کیا ہے 690 00:33:25,620 --> 00:33:28,430 اس کا یا اس کی بورڈ میں، نام نامی ایک متغیر میں. 691 00:33:28,430 --> 00:33:30,590 اور یہ پتہ چلا ہے کہ printf کا نہیں صرف کرتا ہے 692 00:33:30,590 --> 00:33:34,220 ڈبل میں ایک دلیل لے کی قیمت درج کرنے، ڈبل قیمت درج کرنے میں ایک ان پٹ. 693 00:33:34,220 --> 00:33:39,100 >> یہ دو، تین تین، یا اس سے زیادہ، اس طرح لے جا سکتے ہیں دوسرے، یا تیسرے یا چوتھے یہ کہ، 694 00:33:39,100 --> 00:33:42,320 تمام متغیر کے نام یہ ہیں، یا خاص طور پر قیمت، 695 00:33:42,320 --> 00:33:48,610 آپ میں پلگ کرنے کے لئے چاہتے ہیں کہ، متحرک طور پر، کی قیمت درج کرنے میں اس سٹرنگ. 696 00:33:48,610 --> 00:33:52,110 دوسرے الفاظ میں، کیا اس کے ساتھ کچھ غلط ہو جائے گا؟ 697 00:33:52,110 --> 00:33:57,920 میں نے ابھی کہا تو ہیلو نام، الٹا سلیش ن،، میری فائل کو بچایا میری کوڈ مرتب کی، 698 00:33:57,920 --> 00:34:01,660 اور یہ بھاگ گیا، کیا ہوگا؟ 699 00:34:01,660 --> 00:34:05,139 >> یہ صرف کہنے کے لئے جا رہا ہے، ہیلو ، نام لفظی N-A-M-E، 700 00:34:05,139 --> 00:34:07,900 جس کی وجہ سے اس قسم کی احمقانہ ہے یہ دنیا سے مختلف نہیں ہے. 701 00:34:07,900 --> 00:34:10,400 تو قیمت درج کرنے میں کچھ بھی ہے کیا لفظی چھپی ہو جاتا ہے. 702 00:34:10,400 --> 00:34:12,520 میں کرنا چاہتے ہیں تو وہاں ایک پلیس ہولڈر، 703 00:34:12,520 --> 00:34:14,422 میں اصل میں استعمال کرنے کی ضرورت کچھ خاص نحو. 704 00:34:14,422 --> 00:34:17,380 آپ پڑھیں اور اگر یہ پتہ چلتا ہے printf تقریب کے لئے دستاویزات، 705 00:34:17,380 --> 00:34:21,320 یہ آپ کو بتا دیں گے کہ آپ فیصد زبانیں استعمال کرتے ہیں تو، 706 00:34:21,320 --> 00:34:23,920 مندرجہ ذیل کے طور پر آپ کو ایک کی قیمت متبادل کر سکتے ہیں. 707 00:34:23,920 --> 00:34:27,190 >> اس کے بعد ایک کوما کے بعد ڈبل اقتباس، آپ کو صرف 708 00:34:27,190 --> 00:34:29,179 کا نام لکھنا آپ چاہتے ہیں کہ متغیر 709 00:34:29,179 --> 00:34:33,790 اس شکل میں میں پلگ کرنے کوڈ، یا فارمیٹ وضاحت کار، 710 00:34:33,790 --> 00:34:35,469 فیصد ڈور کے لئے کی. 711 00:34:35,469 --> 00:34:39,190 اور اب میں نے اپنی فائل کو محفوظ کر لیا ہے تو میں نے اپنے ٹرمینل کے لئے نیچے واپس جاؤ. 712 00:34:39,190 --> 00:34:42,870 اور میں سلک بنائیں ٹائپ، کیونکہ، ایک بار پھر، اس کا نام 713 00:34:42,870 --> 00:34:45,510 فائل ہے کہ میں نے پہلے انتخاب کیا string.c ہے. 714 00:34:45,510 --> 00:34:48,510 >> تو میں نے، سلک بنائیں درج کہنے جا رہا ہوں. 715 00:34:48,510 --> 00:34:51,550 ہے بھگوان، میں سے سب کی طرف دیکھو غلطیوں ہم پہلے ہی کر دیا ہے. 716 00:34:51,550 --> 00:34:55,540 اور یہ کیا، یہ واقعی ہے is-- ایک چھ، سات لائن پروگرام کی طرح؟ 717 00:34:55,540 --> 00:34:57,790 تو یہ ہے کہ یہ بہت کر سکتے ہیں ہے فوری طور پر بھاری اکثریت حاصل. 718 00:34:57,790 --> 00:35:00,890 >> یہ ٹرمینل ونڈو ہے اب صرف regurgitated 719 00:35:00,890 --> 00:35:03,230 خرابی کے پیغامات کی ایک بڑی تعداد. 720 00:35:03,230 --> 00:35:07,560 بے شک، میں نے زیادہ کی خرابی کی ضرورت نہیں ہے مجھ سے پیغامات کوڈ کی لائنیں ہے. 721 00:35:07,560 --> 00:35:08,680 تو کیا ہو رہا ہے؟ 722 00:35:08,680 --> 00:35:10,920 >> ویسے، بہترین حکمت عملی کسی بھی وقت آپ کو ایسا کرنے کی 723 00:35:10,920 --> 00:35:13,710 ایک غالب کا سامنا کرتے اس طرح کی غلطیوں کی فہرست، 724 00:35:13,710 --> 00:35:16,690 واپس سکرال کر رہا ہے، کمانڈ کے لئے نظر آپ کو صرف، دوڑا میرے معاملے میں جس 725 00:35:16,690 --> 00:35:18,020 سٹرنگ بنانا ہے. 726 00:35:18,020 --> 00:35:21,630 کیا بناتے ہو میں دیکھو، اور یہ کہ یہ ہے طویل بجنا کمانڈ، وہاں کوئی بڑی بات نہیں. 727 00:35:21,630 --> 00:35:22,950 >> لیکن سرخ برا ہے. 728 00:35:22,950 --> 00:35:24,750 گرین بننے کی کوشش کر رہا ہے نرم اور مددگار. 729 00:35:24,750 --> 00:35:26,140 لیکن یہ اس معاملے میں، اب بھی برا ہے. 730 00:35:26,140 --> 00:35:27,510 لیکن جہاں یہ برا ہے؟ 731 00:35:27,510 --> 00:35:31,450 >> String.c، لائن پانچ، کردار پانچ. 732 00:35:31,450 --> 00:35:32,930 تو یہ صرف عام کنونشن ہے. 733 00:35:32,930 --> 00:35:36,060 کچھ بڑی آنت کچھ کا مطلب لائن نمبر اور کردار تعداد. 734 00:35:36,060 --> 00:35:41,080 خرابی، اگھوشیت کے استعمال شناخت کنندہ سٹرنگ. 735 00:35:41,080 --> 00:35:42,900 آپ میں معیاری نتائج 736 00:35:42,900 --> 00:35:45,530 >> لہذا، بدقسمتی سے، بجنا مددگار بننے کی کوشش کر رہا ہے. 737 00:35:45,530 --> 00:35:46,850 لیکن یہ اس صورت میں، غلط ہے. 738 00:35:46,850 --> 00:35:49,350 نہیں، بجنا، میرا مطلب نہیں تھا معیاری IO. 739 00:35:49,350 --> 00:35:51,070 میں نے فون پر مطلب ہے کہ، جی ہاں. 740 00:35:51,070 --> 00:35:53,420 >> لیکن لائن پانچ یہاں اس میں سے ایک ہے. 741 00:35:53,420 --> 00:35:57,040 اور بجنا نہیں کرتا سمجھنے S-T-R-I-N-G. 742 00:35:57,040 --> 00:36:01,490 یہ ایک اگھوشیت شناخت کنندہ، پیغام ہے لفظ جو صرف اس سے پہلے کبھی نہیں دیکھا ہے. 743 00:36:01,490 --> 00:36:05,730 اور یہ کہ کیونکہ C، زبان ہے ہم ابھی میں کوڈ لکھ رہے ہیں، 744 00:36:05,730 --> 00:36:08,070 ڈور بلایا متغیر نہیں ہے. 745 00:36:08,070 --> 00:36:11,380 >> یہ ڈیفالٹ کی، حمایت کی وجہ سے، ایسا نہیں ہوتا کچھ ایک تار بلایا. 746 00:36:11,380 --> 00:36:16,750 اس کا ایک ٹکڑا ہے CS50 شبدجال، لیکن بہت روایتی. 747 00:36:16,750 --> 00:36:18,600 مندرجہ ذیل کے طور پر میں نے اسے ٹھیک کر سکتے ہیں. 748 00:36:18,600 --> 00:36:22,090 >> میں نے کوڈ کی ایک لائن کا اضافہ تو اس پروگرام کی سب سے اوپر کرنے، 749 00:36:22,090 --> 00:36:27,890 cs50.h، میں، ایک اور فائل ہے جس میں شامل ہیں کہیں CS50 IDE کے اندر، کہیں 750 00:36:27,890 --> 00:36:30,820 ہارڈ ڈرائیو پر، تو بات کرنے کی، اوبنٹو آپریٹنگ سسٹم کے 751 00:36:30,820 --> 00:36:33,590 کہ میں دوڑ رہا ہوں، کہ ہے کہ فائل ہے 752 00:36:33,590 --> 00:36:38,740 آپریٹنگ سکھانے جا رہا نظام ایک تار ہے جو کچھ، صرف 753 00:36:38,740 --> 00:36:41,930 معیاری io.h طرح فائل ہے ہے کہ آپریٹنگ سسٹم میں 754 00:36:41,930 --> 00:36:44,430 ہے کیا printf یہ سکھانے کے لئے جا رہا. 755 00:36:44,430 --> 00:36:46,810 >> بے شک، ہم ملا کرے گا ایک بہت ہی اسی طرح کا پیغام 756 00:36:46,810 --> 00:36:50,600 IO سٹینڈرڈ اعتراف کیا تھا تو IO.h اور printf کا استعمال کرنے کی کوشش. 757 00:36:50,600 --> 00:36:53,632 تو میں نے آگے اور صرف جانے کے لئے جا رہا ہوں میری سکرین صاف کرنے کے کنٹرول L لے. 758 00:36:53,632 --> 00:36:56,340 یا آپ کو واضح ٹائپ کر سکتے ہیں اور یہ ہو گا صرف ٹرمنل ونڈو کو صاف. 759 00:36:56,340 --> 00:36:58,020 لیکن آپ اب بھی وقت میں واپس سکرال کر سکتے ہیں. 760 00:36:58,020 --> 00:37:01,100 >> اور میں سلک بنائیں rerun کرنے جا رہا ہوں. 761 00:37:01,100 --> 00:37:03,660 ، اپنی انگلیوں کو اس وقت عبور درج. 762 00:37:03,660 --> 00:37:05,380 اوہ میرے خدا، یہ کام کیا. 763 00:37:05,380 --> 00:37:09,280 جو مجھے ایک طویل خفیہ کمانڈ کو ظاہر کرتا ہے کہ بجنا ذریعے کیا جنریٹ بنانا ہے، 764 00:37:09,280 --> 00:37:10,460 لیکن کوئی خرابی کے پیغامات. 765 00:37:10,460 --> 00:37:12,460 لہذا، اس بات کا احساس ہے اگرچہ آپ کو مکمل طور حاصل ہو سکتا ہے 766 00:37:12,460 --> 00:37:14,480 کے ساتھ ابیبھوت خرابی کے پیغامات کی تعداد، 767 00:37:14,480 --> 00:37:17,540 یہ صرف اس پریشان جھرن کاری ہو سکتی ہے جہاں بجنا نہیں سمجھتی اثر، 768 00:37:17,540 --> 00:37:19,620 جو اس کے بعد اس کا مطلب ایک بات، اگلے لفظ سمجھ نہیں ہے، 769 00:37:19,620 --> 00:37:20,560 یا اگلی لائن. 770 00:37:20,560 --> 00:37:22,850 اور اس طرح یہ صرف آپ کے کوڈ پر chokes. 771 00:37:22,850 --> 00:37:24,440 لیکن طے آسان ہو سکتا ہے. 772 00:37:24,440 --> 00:37:27,822 اور اس طرح ہمیشہ پر توجہ مرکوز پیداوار کا بہت پہلی لائن. 773 00:37:27,822 --> 00:37:29,530 اور اگر تم ایسا نہیں کرتے تو اس کو سمجھنے، صرف نظر 774 00:37:29,530 --> 00:37:32,480 مطلوبہ الفاظ کے لئے کہ ہو سکتا ہے سراگ، اور لائن نمبر، 775 00:37:32,480 --> 00:37:34,650 اور کردار، جہاں اس غلطی ہو سکتی ہے. 776 00:37:34,650 --> 00:37:40,328 >> اب مجھے آگے جانا ہے اور ٹائپ کریں ڈاٹ سلیش، سٹرنگ، درج. 777 00:37:40,328 --> 00:37:44,340 ایچ ایم، یہ خوش کچھ نہیں کہہ رہا ہے. 778 00:37:44,340 --> 00:37:46,210 کیوں؟ 779 00:37:46,210 --> 00:37:48,170 ویسے، یاد کرتے ہیں، یہ کہاں سے چل رہا ہے؟ 780 00:37:48,170 --> 00:37:53,730 >> شاید یہ اس وقت پھنس گیا ہے ایک لوپ میں، اگر آپ، لائن چھ پر، 781 00:37:53,730 --> 00:37:56,950 کیونکہ سلک ڈیزائن کی طرف سے حاصل کریں، CS50 عملے کی طرف سے لکھا گیا، 782 00:37:56,950 --> 00:38:00,350 لفظی صرف بیٹھنے کے لئے مراد ہے وہاں انتظار کر، اور انتظار کر، 783 00:38:00,350 --> 00:38:01,850 اور ایک سٹرنگ کے لئے انتظار کر رہے. 784 00:38:01,850 --> 00:38:03,792 ہم سٹرنگ کی طرف سے مطلب تمام انسانی ان پٹ ہے. 785 00:38:03,792 --> 00:38:04,500 تو تم کیا جانتے ہو؟ 786 00:38:04,500 --> 00:38:05,166 مجھے آگے چلتے ہیں. 787 00:38:05,166 --> 00:38:08,704 اور صرف ایک سنک پر، مجھے دو میرا نام، ڈیوڈ ٹائپ، درج. 788 00:38:08,704 --> 00:38:10,120 اب میں ایک سے زیادہ متحرک پروگرام ہے. 789 00:38:10,120 --> 00:38:11,240 اس نے کہا، ہیلو ڈیوڈ. 790 00:38:11,240 --> 00:38:16,280 >> میں آگے بڑھو اور ایک بار پھر اس چلاتے ہیں تو، مجھے، Zamila نام کا کہنا ہے کہ کوشش میں داخل کرتے ہیں. 791 00:38:16,280 --> 00:38:17,940 اور اب ہم ایک متحرک پروگرام ہے. 792 00:38:17,940 --> 00:38:19,380 میں مشکل کوڈت دنیا نہیں کی ہے. 793 00:38:19,380 --> 00:38:21,760 میں نے مشکل کوڈت نہیں کیا ہے، نام، یا داؤد، یا Zamila. 794 00:38:21,760 --> 00:38:25,350 >> اب یہ پروگراموں کی طرح بہت زیادہ ہے یہ ان پٹ لے تو ہم جانتے ہیں، جہاں، 795 00:38:25,350 --> 00:38:27,870 یہ قدرے مختلف پیداوار پیدا. 796 00:38:27,870 --> 00:38:31,020 اب، یہ سب سے بہتر نہیں ہے صارف کے تجربے، یا UX. 797 00:38:31,020 --> 00:38:33,000 میں نے پروگرام کو چلانے کے. 798 00:38:33,000 --> 00:38:35,830 >> مجھے نہیں معلوم کہ میں سمجھا رہا ہوں میں اصل میں نظر آتے ہیں، جب تک ایسا کرنے کے لئے 799 00:38:35,830 --> 00:38:37,290 یا منبع کوڈ کو یاد. 800 00:38:37,290 --> 00:38:39,640 تو چلو صارف بنانے کے لئے ہیں ایک چھوٹا سا بہتر تجربہ 801 00:38:39,640 --> 00:38:41,240 چیزوں کی آسان کے ساتھ. 802 00:38:41,240 --> 00:38:44,782 مجھے اس میں واپس چلتے ہیں پروگرام، اور صرف printf کا کہنا. 803 00:38:44,782 --> 00:38:48,870 >> اور مجھے آگے بڑھو اور کہنے نام، بڑی آنت دو، اور ایک جگہ، اور پھر ایک نیم بڑی آنت. 804 00:38:48,870 --> 00:38:51,170 اور صرف کک کے لئے، کوئی ردعمل ن. 805 00:38:51,170 --> 00:38:52,980 اور یہ کہ جان بوجھ ہے، میں نہیں چاہتا کیونکہ 806 00:38:52,980 --> 00:38:54,590 اگلی لائن پر منتقل کرنے کے لئے فوری طور پر. 807 00:38:54,590 --> 00:38:58,800 >> میں، بجائے، ایسا چاہتے ہیں، سٹرنگ بنانے نئی مشین میں میرا کوڈ recompile کرنے 808 00:38:58,800 --> 00:39:00,980 کوڈ ڈاٹ سٹرنگ سلیش. 809 00:39:00,980 --> 00:39:02,460 آہ، یہ بہت خوبصورت ہے. 810 00:39:02,460 --> 00:39:05,780 اب میں اصل میں کیا کمپیوٹر جانتے مجھے، ایسا ایک نام دینا چاہتا ہے. 811 00:39:05,780 --> 00:39:10,020 >> تو میں نے آگے جانے کے لئے اور ٹائپ کرنے جا رہا ہوں روب میں، درج کریں، اور ہیلو، روب. 812 00:39:10,020 --> 00:39:13,640 لہذا، اس بات کا احساس، اس، اب بھی ہے آخر میں دن، صرف ایک نو لائن پروگرام کے. 813 00:39:13,640 --> 00:39:15,090 لیکن ہم ان کے بچے اقدامات اٹھائے ہیں. 814 00:39:15,090 --> 00:39:18,380 >> ہم ایک ہی لائن میں لکھا جس کے ساتھ ہم واقف، printf کے، دنیا ہیلو تھے. 815 00:39:18,380 --> 00:39:19,980 پھر ہم اس کا ایک تھوڑا سا کالعدم کر دی. 816 00:39:19,980 --> 00:39:21,560 اور ہم اصل حاصل سٹرنگ کا استعمال کیا. 817 00:39:21,560 --> 00:39:23,362 اور ہم ایک متغیر میں اس قدر پھینک دیا. 818 00:39:23,362 --> 00:39:26,070 اور پھر ہم آگے چلے گئے اور بہتر یہ ایک تیسری لائن کے ساتھ مزید. 819 00:39:26,070 --> 00:39:29,220 اور کے اس عمل تکراری تحریری طور پر سافٹ ویئر کو صحیح معنوں میں کلید ہے. 820 00:39:29,220 --> 00:39:33,420 CS50 میں، اور عام طور پر زندگی میں، آپ عام طور پر نیچے بیٹھ کر نہیں کرنا چاہئے، 821 00:39:33,420 --> 00:39:36,800 ذہن میں ایک پروگرام ہے، اور لکھنے کی کوشش پوری چیز کو بالکل ایک بار. 822 00:39:36,800 --> 00:39:40,810 >> یہ، لامحالہ، راستے میں آئے گی ہم سے خود کو یہاں دیکھا زیادہ غلطیاں. 823 00:39:40,810 --> 00:39:44,070 یہاں تک کہ میں، اس دن کے لئے، مسلسل دیگر احمقانہ غلطی کرتے ہیں، 824 00:39:44,070 --> 00:39:47,480 اصل مشکل غلطیوں ہیں معلوم کرنا مشکل ہوتا ہے کہ. 825 00:39:47,480 --> 00:39:52,095 لیکن آپ کو زیادہ غلطیوں زیادہ کر دے گا کوڈ کی لائنیں آپ کو ایک بار میں تمام لکھنا. 826 00:39:52,095 --> 00:39:54,220 اور اس طرح کا یہ عمل، کوڈ کا ایک تھوڑا سا لکھ 827 00:39:54,220 --> 00:39:57,930 آپ کے ساتھ آرام دہ اور پرسکون ہیں، مرتب یہ،، اس کو چلانے کے زیادہ عام طور پر اس کی جانچ، 828 00:39:57,930 --> 00:40:01,370 پھر on-- منتقل ہم سے رکھا ہے تاکہ صرف کی طرح layering اور گزشتہ ہفتے layering کی، 829 00:40:01,370 --> 00:40:04,190 کسی چیز سے عمارت بہت زیادہ پیچیدہ کچھ کرنے کے لئے آسان، 830 00:40:04,190 --> 00:40:05,200 یہاں بھی ایسا ہی کریں. 831 00:40:05,200 --> 00:40:08,500 بیٹھ جاؤ، نہیں اور کرنے کی کوشش کریں ایک پورے مسئلہ لکھ. 832 00:40:08,500 --> 00:40:10,780 دراصل ان کے بچے اقدامات کرے. 833 00:40:10,780 --> 00:40:15,100 >> اب، ڈور تمام نہیں ہیں کہ خود حضور مفید. 834 00:40:15,100 --> 00:40:18,210 ہم کرنے کی طرح، مثالی طور پر، اصل میں تھا ہمارے ٹول کٹ میں کچھ اور ہے. 835 00:40:18,210 --> 00:40:20,990 تو اصل میں بالکل ایسا ہونے دیں. 836 00:40:20,990 --> 00:40:24,900 >> اب مجھے آگے بڑھو اور کوڑا دو ایک تھوڑا سا مختلف پروگرام. 837 00:40:24,900 --> 00:40:28,320 اور ہم عددی کے لئے، اس int.c فون کروں گا. 838 00:40:28,320 --> 00:40:30,870 میں نے اسی طرح، میں جا رہا ہوں، CS550.h شامل. 839 00:40:30,870 --> 00:40:33,060 میں معیاری IO شامل کرنے کے لئے جا رہا ہوں. 840 00:40:33,060 --> 00:40:36,630 اور یہ کہ بہت عام ہو رہا ہے کلاس کے ان پہلے چند دنوں میں. 841 00:40:36,630 --> 00:40:39,050 >> اور میں تیار کی جا رہی ہوں ایک اہم تقریب کے ساتھ اپنے آپ. 842 00:40:39,050 --> 00:40:43,370 اور اب اس کی بجائے ایک تار حاصل کرنے کی، آگے بڑھو اور ایک int حاصل کرنے کی اجازت. 843 00:40:43,370 --> 00:40:49,285 چلو اس کا مجھے فون کرتے ہیں، اور اسے حاصل کال کریں INT، قریبی قوسین، نیم بڑی آنت. 844 00:40:49,285 --> 00:40:51,410 اور اب ایسا چلو اس کے ساتھ کچھ، printf کے. 845 00:40:51,410 --> 00:40:56,190 >> کی طرح کچھ کہنے دو ہیلو، الٹا سلیش (ن)، کوما میں. 846 00:40:56,190 --> 00:41:00,010 تو میں نے بہت زیادہ نقل کر رہا ہوں میں نے صرف ایک لمحے پہلے کیا کیا تھا. 847 00:41:00,010 --> 00:41:01,660 میں یہاں ایک پلیس ہولڈر ہے. 848 00:41:01,660 --> 00:41:05,150 میں چاہتا ہوں کیونکہ، یہاں میں نے کوما کیا ہے کہ پلیس ہولڈر میں میں پلگ کرنے کے لئے. 849 00:41:05,150 --> 00:41:07,250 >> تو آگے بڑھو اور کوشش کرتے ہیں اس پروگرام مرتب. 850 00:41:07,250 --> 00:41:10,060 فائل کی int.c. کہا جاتا ہے 851 00:41:10,060 --> 00:41:12,920 تو میں نے INT بنانے، کہنے کے لئے، درج کی جا رہی ہوں. 852 00:41:12,920 --> 00:41:16,420 اوہ میرے خدا، لیکن کوئی بڑی بات نہیں، ٹھیک ہے؟ 853 00:41:16,420 --> 00:41:17,230 ایک غلطی نہیں ہے. 854 00:41:17,230 --> 00:41:19,810 >> ایک نحوی غلطی نہیں ہے یہاں اس طرح اس پروگرام نہیں کر سکتا 855 00:41:19,810 --> 00:41:25,460 int.c، لائن کے اندر مرتب کیا جائے سات، کردار 27، کی خرابی کی شکل 856 00:41:25,460 --> 00:41:28,400 پروپوزل کی گذارش چار اختصاص ستارہ، کہ جو کچھ بھی ہے. 857 00:41:28,400 --> 00:41:30,020 لیکن اس دلیل کی قسم int ہے. 858 00:41:30,020 --> 00:41:33,110 >> تو یہاں، بھی، ہم نہ ضروریات کو جا رہے ہیں آج اگرچہ مواد کی ایک بہت ہے، 859 00:41:33,110 --> 00:41:35,710 ہم کے ساتھ آپ کو مغلوب کرنے کے لئے جا رہے ہیں بالکل C کے ہر خصوصیت، 860 00:41:35,710 --> 00:41:38,070 اور اس سے زیادہ عام طور پر پروگرامنگ، صرف ان کے پہلے چند ہفتوں میں. 861 00:41:38,070 --> 00:41:40,400 تو وہاں اکثر شبدجال ہونے جا رہا ہے جس کے ساتھ آپ واقف نہیں ہیں. 862 00:41:40,400 --> 00:41:43,350 اور، اصل میں، چار ستارہ کچھ ہے ہم واپس آ کر جا رہے ہیں 863 00:41:43,350 --> 00:41:44,830 ایک یا دو ہفتے کے وقت میں. 864 00:41:44,830 --> 00:41:47,530 >> لیکن اب کے لئے، ہم کر سکتے ہیں تو دیکھتے ہیں الفاظ واقف ہیں کہ پارس. 865 00:41:47,530 --> 00:41:50,750 Formats-- تو ہم شکل سنا وضاحت کار، شکل کوڈ سے پہلے. 866 00:41:50,750 --> 00:41:51,840 کہ واقف ہے. 867 00:41:51,840 --> 00:41:53,840 Type-- لیکن دلیل قسم int ہے. 868 00:41:53,840 --> 00:41:55,980 ایک منٹ رکو، میں ایک int ہے. 869 00:41:55,980 --> 00:41:59,230 >> اصل میں شاید فیصد ے کچھ وضاحت کی گئی معنی ہے. 870 00:41:59,230 --> 00:42:00,230 اور، یقینا، یہ کرتا ہے. 871 00:42:00,230 --> 00:42:03,101 ایک عددی، اگر آپ چاہتے ہیں یہ متبادل کرنے printf کے، 872 00:42:03,101 --> 00:42:05,350 آپ نے واقعی ایک استعمال کرنا ہے مختلف شکل وضاحت کار. 873 00:42:05,350 --> 00:42:06,890 اور تم کو یہ پتہ نہیں کریں گے جب تک کوئی آپ کو بتایا، 874 00:42:06,890 --> 00:42:07,973 یا تم سے پہلے کیا کیا تھا. 875 00:42:07,973 --> 00:42:10,490 مگر فیصد میں کیا ہے عام طور پر استعمال کیا جا سکتا 876 00:42:10,490 --> 00:42:12,240 ایک عددی میں plugging کے لئے printf میں. 877 00:42:12,240 --> 00:42:14,920 آپ کو بھی استعمال کر سکتے ہیں فیصد ایک دشملو عددی کے لئے D. 878 00:42:14,920 --> 00:42:16,490 لیکن میں یہاں اچھا اور آسان ہے. 879 00:42:16,490 --> 00:42:17,590 تو ہم نے اس کے ساتھ چلے جائیں گے. 880 00:42:17,590 --> 00:42:21,160 >> اب مجھے آگے بڑھو اور دوبارہچلانے بنانے INT، درج. 881 00:42:21,160 --> 00:42:23,328 یہی وجہ ہے کہ کوئی غلطیاں اچھا ہے،. 882 00:42:23,328 --> 00:42:27,260 ڈاٹ، int-- OK، برا صارف کے تجربے میں کمی میں اپنے آپ کو نہیں بتایا ہے کیونکہ 883 00:42:27,260 --> 00:42:27,760 کیا کروں. 884 00:42:27,760 --> 00:42:28,426 لیکن یہ ٹھیک ہے. 885 00:42:28,426 --> 00:42:29,480 میں نے جلدی پر پکڑ رہا ہوں. 886 00:42:29,480 --> 00:42:36,260 >> اور اب مجھے آگے بڑھو اور ڈیوڈ، OK، Zamila، روب میں ٹائپ. 887 00:42:36,260 --> 00:42:37,820 ٹھیک ہے، تو یہ ایک اچھی بات ہے. 888 00:42:37,820 --> 00:42:41,710 اس وقت، میں، ایک تقریب کا استعمال کرتے ہوئے کر رہا ہوں ایک پہیلی ٹکڑا، حاصل INT بلایا. 889 00:42:41,710 --> 00:42:44,230 اور یہ out-- بدل جاتا ہے اور ہم کریں گے term-- میں اس سے بعد میں 890 00:42:44,230 --> 00:42:47,730 CS50 عملے لاگو کیا ہے اس طرح میں تار حاصل 891 00:42:47,730 --> 00:42:50,350 کہ یہ صرف جسمانی طور پر ہو جائے گا آپ کے لئے ایک تار حاصل. 892 00:42:50,350 --> 00:42:54,340 >> اس میں حاصل INT لاگو کیا ہے اس طریقے کہ جو صرف کرے گا 893 00:42:54,340 --> 00:42:55,590 آپ کے لئے ایک عددی حاصل. 894 00:42:55,590 --> 00:42:57,830 اور تم تو اس کے انسانی، تعاون نہیں کرتے، یہ ہے 895 00:42:57,830 --> 00:43:00,590 لفظی صرف کرنے کے لئے جا ،، دوبارہ کوشش دوبارہ کوشش، دوبارہ کوشش کہنا 896 00:43:00,590 --> 00:43:05,200 لفظی وہاں بیٹھے looping کے، جب تک آپ کو کچھ جادو کی تعداد کے ساتھ تسکین، 897 00:43:05,200 --> 00:43:07,670 50، اور خوش 50 کی طرح. 898 00:43:07,670 --> 00:43:11,440 >> یا پھر ہم ایک بار پھر اس چلاتے ہیں اور قسم 42 میں، ہیلو 42. 899 00:43:11,440 --> 00:43:15,750 اور اس طرح حاصل INT تقریب کہ پہیلی ٹکڑا کے اندر 900 00:43:15,750 --> 00:43:19,050 کافی منطق ہے، کافی سوچ، معلوم کرنا، ایک لفظ کیا ہے؟ 901 00:43:19,050 --> 00:43:20,330 اور ایک بڑی تعداد کیا ہے؟ 902 00:43:20,330 --> 00:43:23,165 صرف قبول کرنے، بالآخر، نمبرز. 903 00:43:23,165 --> 00:43:25,690 904 00:43:25,690 --> 00:43:30,230 >> تو یہ اس کہ باہر کر دیتا تمام ہے کہ ابیوینجک نہیں ہے. 905 00:43:30,230 --> 00:43:30,910 اب تک. 906 00:43:30,910 --> 00:43:33,690 لہذا، گرمیوں، پچھلی بار ہم نے بہت تیزی سے چلے گئے 907 00:43:33,690 --> 00:43:38,320 عمل درآمد کے کھیل، اور حرکت پذیری میں، اور شروع میں فنکارانہ کام. 908 00:43:38,320 --> 00:43:42,260 اور یہاں، ہم مواد ہو رہے ہو ہیلو دنیا، اور خوش 50. 909 00:43:42,260 --> 00:43:43,696 >> یہ سب اس متاثر کن نہیں ہے. 910 00:43:43,696 --> 00:43:46,070 اور، یقینا، ان سب سے پہلے چند ترجمہ کچھ وقت لگے گا 911 00:43:46,070 --> 00:43:47,510 حوصلہ افزائی میں بڑھانے پر. 912 00:43:47,510 --> 00:43:49,854 لیکن ہم اتنا زیادہ ہے سچ تو یہ ہے، اب کنٹرول. 913 00:43:49,854 --> 00:43:51,770 اور ہم کرنے جا رہے ہیں بہت فوری طور پر شروع کرنے layering کی 914 00:43:51,770 --> 00:43:53,870 ان بنیادی primitives کی سب سے اوپر پر. 915 00:43:53,870 --> 00:43:56,370 >> لیکن سب سے پہلے، کی سمجھ لے کیا حدود ہیں. 916 00:43:56,370 --> 00:43:58,620 سچ تو یہ ہے، چیزوں میں سے ایک سکریچ آسانی سے نہیں کرتا 917 00:43:58,620 --> 00:44:00,990 نظر آتے ہیں ہم سے کرتے ہیں واقعی ہے ہڈ کے نیچے، 918 00:44:00,990 --> 00:44:03,740 اور کیا ایک کو سمجھ کمپیوٹر یہ کیا کر سکتے، ہے، 919 00:44:03,740 --> 00:44:05,250 اور اس کے حدود کیا ہیں. 920 00:44:05,250 --> 00:44:08,580 اور، یقینا، اس کا فقدان تفہیم، ممکنہ طور پر، طویل المیعاد 921 00:44:08,580 --> 00:44:12,520 ہمارے اپنے mistakes-- تحریری طور پر قیادت کر سکتے ہیں کیڑے، غیر محفوظ سافٹ ویئر لکھنے کہ 922 00:44:12,520 --> 00:44:13,880 کسی طرح سے ہیک. 923 00:44:13,880 --> 00:44:17,130 >> تو چلو طرف کچھ اقدامات اٹھانے کی اجازت کی طرف سے یہ ایک چھوٹا سا بہتر تفہیم 924 00:44:17,130 --> 00:44:19,710 ، کی راہ کہنا، مندرجہ ذیل مثال. 925 00:44:19,710 --> 00:44:23,550 میں آگے بڑھو اور لاگو کرنے کے لئے جا رہا ہوں اصلی یوجک نامی ایک پروگرام فوری. 926 00:44:23,550 --> 00:44:25,134 کی طرح، ایک دوسرے کے ساتھ کچھ تعداد کو شامل کرتے ہیں. 927 00:44:25,134 --> 00:44:27,800 اور میں نے کچھ کونے کونے کوڈ کرنے جا رہا ہوں یہاں، اور صرف کاپی اور پیسٹ 928 00:44:27,800 --> 00:44:30,270 جہاں میں نے صرف، سے پہلے تھا تو ہم جلد جا کر سکتے ہیں. 929 00:44:30,270 --> 00:44:33,090 ابھی تو میں نے بنیادی آغاز مل گیا ہے یوجک نامی ایک پروگرام کے. 930 00:44:33,090 --> 00:44:34,670 >> اور آگے بڑھو اور اس کے کیا. 931 00:44:34,670 --> 00:44:38,680 میں آگے جانے کے لئے جا رہا ہوں اور کہہ دو، intx int حاصل ہو جاتا ہے. 932 00:44:38,680 --> 00:44:39,430 اور تم کیا جانتے ہو؟ 933 00:44:39,430 --> 00:44:40,990 چلو ایک بہتر صارف کے تجربے بنا دو. 934 00:44:40,990 --> 00:44:45,740 >> تو چلو صرف اتنا کہنا ایکس ہے، اور مؤثر طریقے سے دو ہمیں X دینے کے لئے صارف کو فوری طور. 935 00:44:45,740 --> 00:44:50,600 اور پھر مجھے printf کے آگے جاؤ اور کہو، دو گانے، نغمے Y ہے کے بارے میں، اس وقت کی توقع 936 00:44:50,600 --> 00:44:53,140 صارف کی طرف سے دو اقدار. 937 00:44:53,140 --> 00:44:59,759 اور پھر بس آگے بڑھو اور کہہ دو، printf کے، X اور Y کی رقم ہے. 938 00:44:59,759 --> 00:45:01,300 اور اب میں فیصد کی نہیں کرنا چاہتی. 939 00:45:01,300 --> 00:45:09,080 I فیصد میں کرنا چاہتا ہوں، الٹا سلیش N، اور اس کے بعد رقم کی قدر میں پلگ. 940 00:45:09,080 --> 00:45:10,620 >> تو میں نے اس کے کرنے کے بارے میں کیسے جا سکتا ہے؟ 941 00:45:10,620 --> 00:45:11,270 آپ کو پتہ ہے؟ 942 00:45:11,270 --> 00:45:12,840 میں نے متغیر کا استعمال کس طرح جانتے. 943 00:45:12,840 --> 00:45:15,140 مجھے صرف ایک نیا، INT Z اعلان. 944 00:45:15,140 --> 00:45:16,770 >> اور میں یہاں ایک اندازہ لے جا رہا ہوں. 945 00:45:16,770 --> 00:45:21,470 اس میں برابر علامات ہیں زبان، شاید میں ایکس علاوہ Y صرف کیا کر سکتے ہیں، 946 00:45:21,470 --> 00:45:23,660 جب تک میں میری اختتام پر ایک نیم بڑی آنت کے ساتھ سوچا؟ 947 00:45:23,660 --> 00:45:28,170 اب میں یہاں نیچے واپس جاؤ، Z میں پلگ کر سکتے ہیں، ایک نیم بڑی آنت کے ساتھ اس سوچ کو ختم. 948 00:45:28,170 --> 00:45:33,160 اور اب، دیکھیں ان تو ہونے دیں لائنیں ایکس کے انداز int حاصل ہے. 949 00:45:33,160 --> 00:45:34,770 Y int حاصل ہے. 950 00:45:34,770 --> 00:45:37,980 >> ، X اور Y شامل میں قدر ذخیرہ z-- لہذا، ایک بار پھر، برابر یاد رکھیں سائن ان 951 00:45:37,980 --> 00:45:38,560 برابر نہیں ہے. 952 00:45:38,560 --> 00:45:41,100 اس سے دائیں سے بائیں سے تفویض کی ہے. 953 00:45:41,100 --> 00:45:45,180 اور چلو رقم ہے کہ کو پرنٹ کریں X اور Y کی، لفظی Z نہیں ہے 954 00:45:45,180 --> 00:45:46,830 لیکن Z کے اندر کیا ہے. 955 00:45:46,830 --> 00:45:50,090 تو چلو یوجک کرنے دو - اچھا، کوئی غلطیوں اس وقت. 956 00:45:50,090 --> 00:45:53,030 ڈاٹ سلیش یوجک، درج، ایکس 1 بننے جا رہی ہے. 957 00:45:53,030 --> 00:45:55,380 >> Y 2 بننے جا رہی ہے. 958 00:45:55,380 --> 00:45:58,964 اور X اور Y کی رقم 3 ہے. 959 00:45:58,964 --> 00:46:00,130 تو ہے کہ سب ٹھیک ہے اور اچھا ہے. 960 00:46:00,130 --> 00:46:03,260 >> تو آپ کو اس کے ریاضی تصور کریں گے اس طرح ایک پروگرام میں کام کرنا چاہئے. 961 00:46:03,260 --> 00:46:04,040 لیکن تم کیا جانتے ہو؟ 962 00:46:04,040 --> 00:46:06,904 اس متغیر، سطر ہے 12، بھی ضروری؟ 963 00:46:06,904 --> 00:46:09,820 آپ کو عادت میں حاصل کرنے کی ضرورت نہیں ہے کے صرف متغیر میں چیزوں کو ذخیرہ کرنے 964 00:46:09,820 --> 00:46:10,980 صرف آپ کر سکتے ہیں کی وجہ سے. 965 00:46:10,980 --> 00:46:13,550 اور، اصل میں، یہ عام بات ہے سمجھا برا ڈیزائن 966 00:46:13,550 --> 00:46:18,100 آپ کو ایک متغیر پیدا کر رہے ہیں تو، فون کیا اس معاملے میں Z،، اس میں کچھ ذخیرہ کرنے 967 00:46:18,100 --> 00:46:21,390 اور اس کے بعد فوری طور پر اسے استعمال کرتے ہوئے، لیکن پھر کبھی نہیں. 968 00:46:21,390 --> 00:46:24,700 کیوں کسی چیز کا نام دیں Z طرح آپ لفظی ہو تو 969 00:46:24,700 --> 00:46:26,770 اس کا استعمال کرنے کے لئے جا بات یہ ہے کہ صرف ایک بار، اور تو 970 00:46:26,770 --> 00:46:29,380 جہاں آپ پیدا کرنے اور proximal پہلی جگہ میں، 971 00:46:29,380 --> 00:46:31,052 کوڈ کی لائنیں کے لحاظ سے اتنا قریب؟ 972 00:46:31,052 --> 00:46:31,760 تو تم کیا جانتے ہو؟ 973 00:46:31,760 --> 00:46:34,480 یہ پتہ چلا ہے C بہت لچکدار ہے کہ. 974 00:46:34,480 --> 00:46:36,586 میں واقعی کرنا چاہتے ہیں تو پلگ ان اقدار یہاں، 975 00:46:36,586 --> 00:46:38,210 میں نے ایک نیا متغیر کا اعلان کرنے کی ضرورت نہیں. 976 00:46:38,210 --> 00:46:41,680 میں نے صرف پلگ میں ایکس سکتا ہے کے علاوہ Y، C سمجھتا کیونکہ 977 00:46:41,680 --> 00:46:43,390 ریاضی، اور ریاضی کے آپریٹرز. 978 00:46:43,390 --> 00:46:47,140 >> تو میں نے صرف یہ ریاضی کرتے، کہہ سکتے ہیں، X علاوہ Y.، ان اقدار ہیں جو کچھ بھی، 979 00:46:47,140 --> 00:46:50,780 پلگ نتیجے اس سٹرنگ میں عددی. 980 00:46:50,780 --> 00:46:53,730 تو یہ اگرچہ، ہو سکتا ہے صرف ایک ہی لائن میں کم، 981 00:46:53,730 --> 00:46:58,480 ایک بہتر ڈیزائن، ایک بہتر پروگرام، کیونکہ اس وجہ سے، کم کوڈ وہاں ہے 982 00:46:58,480 --> 00:46:59,921 مجھے سمجھنے کے لئے کم. 983 00:46:59,921 --> 00:47:01,920 اور یہ بھی صرف صاف ستھرا ہے، ہم نہیں ہیں insofar کے طور پر 984 00:47:01,920 --> 00:47:04,620 نئے لفظ متعارف کرانے، نئی علامتوں، Z کی طرح، 985 00:47:04,620 --> 00:47:07,510 اگرچہ وہ واقعی ایسا نہیں کرتے ایک مقصد کے زیادہ خدمت کریں. 986 00:47:07,510 --> 00:47:12,890 >> بدقسمتی سے، ریاضی نہیں ہے تمام ہے کہ قابل اعتماد کبھی کبھی. 987 00:47:12,890 --> 00:47:15,270 آگے بڑھو اور یہ کرتے ہیں. 988 00:47:15,270 --> 00:47:18,200 میں آگے جانے کے لئے جا رہا ہوں اب اور مندرجہ ذیل کام کریں. 989 00:47:18,200 --> 00:47:27,650 >> کی printf کے، فیصد میں، پلس فیصد کرنے دو میں، فیصد میں، الٹا سلیش (ن) کے ہوں گے. 990 00:47:27,650 --> 00:47:32,240 اور میں this-- xyx علاوہ Y کرنے جا رہا ہوں. 991 00:47:32,240 --> 00:47:34,821 تو میں صرف دوبارہ سے لکھنا کرنے جا رہا ہوں یہ تھوڑا سا مختلف طریقے سے یہاں. 992 00:47:34,821 --> 00:47:36,320 مجھے صرف ایک فوری وویک چیک کرتے ہیں. 993 00:47:36,320 --> 00:47:37,986 ایک بار پھر، چلو آگے خود حاصل نہیں ہونے دیں. 994 00:47:37,986 --> 00:47:41,420 یوجک، ڈاٹ سلیش یوجک بنائیں. 995 00:47:41,420 --> 00:47:44,950 X 1 ہے، Y 2، 1 کے علاوہ 2 3 ہے. 996 00:47:44,950 --> 00:47:45,870 تو یہ اچھی بات ہے. 997 00:47:45,870 --> 00:47:49,060 لیکن اب اس کو پیچیدہ کرنے دو تھوڑا سا، اور ایک نئی فائل بنانے. 998 00:47:49,060 --> 00:47:53,350 >> میں نے اس ایک کو فون کرنے جا رہا ہوں، کہتے ہیں، ints کے، integers کے لئے جمع. 999 00:47:53,350 --> 00:47:55,980 میں نے ایک لمحے پہلے تھا جہاں مجھے شروع کرتے ہیں. 1000 00:47:55,980 --> 00:47:57,770 لیکن اب چند دیگر لائنوں کرتے ہیں. 1001 00:47:57,770 --> 00:48:03,430 ، مجھے آگے بڑھو اور مندرجہ ذیل کام کرنے دو printf کے، فیصد میں، مائنس فیصد میں، 1002 00:48:03,430 --> 00:48:08,959 فیصد میں، کوما ایکس، کوما YX مائنس Y ہے. 1003 00:48:08,959 --> 00:48:10,750 تو میں نے قدرے کر رہا ہوں وہاں مختلف ریاضی. 1004 00:48:10,750 --> 00:48:11,624 کی ایک دوسرے پر کرتے ہیں. 1005 00:48:11,624 --> 00:48:16,610 فیصد میں بہت مرتبہ فیصد مجھے فیصد میں، الٹا سلیش (ن) ہے. 1006 00:48:16,610 --> 00:48:21,430 کے پلگ میں ایکس، اور Y، اور ایکس اوقات Y چلو. 1007 00:48:21,430 --> 00:48:24,530 ہم پر ستارے کا استعمال کریں گے اوقات کے لئے آپ کے کمپیوٹر. 1008 00:48:24,530 --> 00:48:26,390 >> آپ ایکس کا استعمال نہیں کرتے. ایکس ہے یہاں ایک متغیر کے نام. 1009 00:48:26,390 --> 00:48:28,270 تم ضرب کے لئے سٹار کا استعمال. 1010 00:48:28,270 --> 00:48:29,020 کی ایک سے کرتے ہیں. 1011 00:48:29,020 --> 00:48:34,580 printf کے فیصد میں، تقسیم فیصد کی طرف سے، فیصد میں ہے، 1012 00:48:34,580 --> 00:48:40,460 الٹا سلیش (ن). XY y-- سے تقسیم لہذا آپ C میں سیدھا سلیش کا استعمال 1013 00:48:40,460 --> 00:48:41,502 ڈویژن ایسا کرنے. 1014 00:48:41,502 --> 00:48:42,460 اور دوسرے سے ایک کے کرتے ہیں. 1015 00:48:42,460 --> 00:48:47,920 1016 00:48:47,920 --> 00:48:55,240 فیصد میں کے باقی، تقسیم فیصد کی طرف سے، فیصد میں ہے. 1017 00:48:55,240 --> 00:48:59,550 xy-- اور اب باقی زیادہ چھوڑ دیا ہے کیا ہے. 1018 00:48:59,550 --> 00:49:02,980 آپ کو ایک کی تقسیم کی کوشش کرتے ہیں ایک شمار کنندہ میں ذواضعاف اقل، 1019 00:49:02,980 --> 00:49:05,570 کتنا اس پر چھوڑ دیا جاتا ہے آپ باہر تقسیم نہیں کر سکتا ہے؟ 1020 00:49:05,570 --> 00:49:07,910 >> تو وہاں واقعی نہیں ہے، ضروری نہیں کہ، ایک علامت 1021 00:49:07,910 --> 00:49:09,470 ہم اس کے لئے گریڈ اسکول میں استعمال کیا ہے. 1022 00:49:09,470 --> 00:49:13,830 لیکن وہاں سی میں آپ کہنا X modulo Y، کہ جہاں 1023 00:49:13,830 --> 00:49:18,000 اس تناظر میں یہ فیصد علامت مبہم تم اندر ہیں جب 1024 00:49:18,000 --> 00:49:20,170 ڈبل قیمت درج کرنے کی، printf کے کے، فیصد کے اندر 1025 00:49:20,170 --> 00:49:21,830 شکل وضاحت کار کے طور پر استعمال کیا جاتا ہے. 1026 00:49:21,830 --> 00:49:25,420 >> تم میں سے باہر فیصد استعمال کرتے ہیں ایک ریاضیاتی اظہار میں ہے کہ، 1027 00:49:25,420 --> 00:49:29,910 یہ ماڈیولر لئے modulo آپریٹر ہے ہمارے مقاصد کے لئے arithmetic-- 1028 00:49:29,910 --> 00:49:33,650 یہاں، صرف کا مطلب، کیا ہے ایکس کے باقی Y کی طرف سے تقسیم کیا گیا؟ 1029 00:49:33,650 --> 00:49:36,130 Y سے تقسیم ایکس تو ایکس سلیش Y ہے. 1030 00:49:36,130 --> 00:49:38,220 Y کی طرف سے تقسیم ایکس کے باقی کیا ہے؟ 1031 00:49:38,220 --> 00:49:41,780 کے طور پر ایک پروگرامر کہیں گے یہ، جدید Y ایکس کی. 1032 00:49:41,780 --> 00:49:48,300 >> تو میں یہاں کوئی غلطیاں ہیں، مجھ سے دو آگے بڑھو اور ints کے، تعدد، اچھا بنانے، 1033 00:49:48,300 --> 00:49:50,010 اور ڈاٹ سلیش ints کے. 1034 00:49:50,010 --> 00:49:55,270 اور چلو آگے بڑھو اور ایسا، کی، کا کہنا ہے کہ 1، 10 دو. 1035 00:49:55,270 --> 00:49:58,390 ٹھیک ہے، 1 کے علاوہ 10، 11 ہے چیک کریں. 1036 00:49:58,390 --> 00:50:01,240 1 مائنس 10 چیک، منفی 9 ہے. 1037 00:50:01,240 --> 00:50:03,420 >> 1 اوقات 10 10 ہے، چیک کے. 1038 00:50:03,420 --> 00:50:07,090 1 10 is-- سے تقسیم ٹھیک ہے، ہم کہ ایک کو چھوڑ دیں گے. 1039 00:50:07,090 --> 00:50:09,480 10 سے تقسیم 1 کے باقی 1 ہے. 1040 00:50:09,480 --> 00:50:10,680 یہ درست ہے. 1041 00:50:10,680 --> 00:50:12,630 لیکن یہاں میں ایک مسئلے سے نہیں ہے. 1042 00:50:12,630 --> 00:50:15,390 >> پس جس کو میں رکھ میرے صحیح نہیں سونپ،. 1043 00:50:15,390 --> 00:50:16,670 میرا مطلب ہے، یہ 0 کے قریب ہے. 1044 00:50:16,670 --> 00:50:20,670 1 10 سے تقسیم، آپ کو ہم کر رہے ہیں تو، جانتے کچھ کونوں کاٹنے، اس بات کا یقین، یہ صفر ہے. 1045 00:50:20,670 --> 00:50:28,050 لیکن یہ واقعی ہونا چاہئے 1/10، 0.1، یا 0.10، 0،1000، یا تو آگے. 1046 00:50:28,050 --> 00:50:30,600 >> یہ واقعی صفر نہیں ہونا چاہئے. 1047 00:50:30,600 --> 00:50:35,990 ویسے، یہ کمپیوٹر ہے کہ باہر کر دیتا لفظی کر ہم نے اسے کہا کیا. 1048 00:50:35,990 --> 00:50:39,460 ہم Y سے تقسیم X طرح ریاضی کر رہے ہو. 1049 00:50:39,460 --> 00:50:44,680 اور X اور Y دونوں، لائنوں فی کوڈ کے اوائل میں، اعداد صحیح ہیں. 1050 00:50:44,680 --> 00:50:50,440 >> اس کے علاوہ، سطر 15 پر، ہم ہیں printf کے، ارے، printf کا پلگ میں بتا رہی 1051 00:50:50,440 --> 00:50:54,230 ایک عددی، پلگ میں ایک عدد صحیح، پلگ میں ایک integer-- خاص طور پر 1052 00:50:54,230 --> 00:50:57,580 X، اور اس کے بعد Y، اور اس کے بعد ایکس Y کی طرف سے تقسیم کیا گیا. X اور Y ints کے ہیں. 1053 00:50:57,580 --> 00:50:59,060 ہم وہاں اچھے ہیں. 1054 00:50:59,060 --> 00:51:01,250 >> لیکن X کی طرف سے کیا تقسیم ایکس ہے؟ 1055 00:51:01,250 --> 00:51:06,790 X کی طرف Y ہونا چاہئے تقسیم، ریاضی، 1/10، یا 0.1، 1056 00:51:06,790 --> 00:51:11,600 جس میں ایک حقیقی عدد، ایک حقیقی عدد ہے ممکنہ طور پر، ہونے، ایک اعشاریہ. 1057 00:51:11,600 --> 00:51:13,230 اس سے ایک عددی نہیں ہے. 1058 00:51:13,230 --> 00:51:18,290 >> لیکن سب سے قریبی کیا ہے 1/10، یا 0.1 کرنے کے لئے عددی؟ 1059 00:51:18,290 --> 00:51:21,114 جی ہاں، یہ ایک طرح سے صفر ہے. 1060 00:51:21,114 --> 00:51:22,030 0.1 یہ زیادہ کی طرح ہے. 1061 00:51:22,030 --> 00:51:22,890 اور 1 یہ زیادہ ہے. 1062 00:51:22,890 --> 00:51:25,870 تو 1/10 سے قریب ہے 0 یہ ایک کے لئے ہے کے مقابلے میں. 1063 00:51:25,870 --> 00:51:30,800 >> اور تو کیا C ہمارے لئے کیا کر رہی ہے اس قسم کی ہم اس کے ضروریات کو کہا، کیونکہ 1064 00:51:30,800 --> 00:51:32,600 اس عددی قطع برید کر رہا ہے. 1065 00:51:32,600 --> 00:51:40,540 اس قدر، ایک بار پھر ہے جو لے جا رہا ہے 0،1000 طرح کچھ ہونا چاہیے، 1066 00:51:40,540 --> 00:51:41,800 0 اور تو آگے. 1067 00:51:41,800 --> 00:51:45,320 اور یہ سب کچھ قطع برید ہے دشملو نقطہ کے بعد 1068 00:51:45,320 --> 00:51:47,510 لہذا اس کے کہ تمام چیزیں، کیونکہ اگر ایسا نہیں ہوتا 1069 00:51:47,510 --> 00:51:51,910 ، ایک عددی کے تصور میں فٹ ہے جس منفی 1، 0، 1 کی طرح صرف ایک نمبر ہے، 1070 00:51:51,910 --> 00:51:55,830 اوپر اور نیچے، یہ سب کچھ دور پھینک دے آپ کی وجہ سے دشملو نقطہ کے بعد 1071 00:51:55,830 --> 00:51:59,020 ایک اعشاریہ فٹ نہیں کر سکتے تعریف کی طرف سے ایک عدد صحیح میں. 1072 00:51:59,020 --> 00:52:01,290 >> تو یہاں اس کا جواب صفر ہے. 1073 00:52:01,290 --> 00:52:02,600 تو ہم یہ کیسے ٹھیک کروں؟ 1074 00:52:02,600 --> 00:52:04,400 ہم سب مل جل کر ایک اور حل کی ضرورت ہے. 1075 00:52:04,400 --> 00:52:06,880 اور ہم نے مندرجہ ذیل کے طور، یہ کر سکتے ہیں. 1076 00:52:06,880 --> 00:52:12,820 >> مجھے آگے چلتے ہیں اور ایک نئی تخلیق فائل کی، اس میں سے ایک floats.c بلایا. 1077 00:52:12,820 --> 00:52:16,500 اور یہاں اس کو بچانے کے اسی ڈائریکٹری، float.c. 1078 00:52:16,500 --> 00:52:19,360 1079 00:52:19,360 --> 00:52:23,260 اور مجھے آگے جانا ہے اور کاپی دو پہلے سے ہے کہ کوڈ میں سے کچھ. 1080 00:52:23,260 --> 00:52:27,690 >> لیکن بجائے اس کے حاصل کرنے ایک int، یہ کرتے ہیں. 1081 00:52:27,690 --> 00:52:31,037 مجھے ایک چل نقاط قیمت دے دو X بلایا. جہاں ایک چل نقاط 1082 00:52:31,037 --> 00:52:33,370 قدر صرف لفظی ہے چل نقاط کے ساتھ کچھ. 1083 00:52:33,370 --> 00:52:34,410 اس سے دائیں کرنے کے لئے، بائیں کرنے کے لئے منتقل کر سکتے ہیں. 1084 00:52:34,410 --> 00:52:35,530 یہ ایک حقیقی تعداد ہے. 1085 00:52:35,530 --> 00:52:38,050 >> اور مجھے نہیں بلالے int حاصل، لیکن فلوٹ حاصل، 1086 00:52:38,050 --> 00:52:41,420 بھی مینو کے درمیان تھا جس کے C250 لائبریری میں اختیارات میں سے. 1087 00:52:41,420 --> 00:52:43,220 کی ایک فلوٹ کرنے Y تبدیل کرو. 1088 00:52:43,220 --> 00:52:45,000 تو یہ فلوٹ حاصل ہو جاتا ہے. 1089 00:52:45,000 --> 00:52:47,620 >> اور اب، ہم ints میں پلگ نہیں کرنا چاہتا. 1090 00:52:47,620 --> 00:52:53,130 یہ ہم فی صد کا استعمال کرنا پڑے باہر کر دیتا ہے فلوٹ کے لئے F، فلوٹ کے لئے فیصد F، 1091 00:52:53,130 --> 00:52:54,560 اور اب اس کو بچانے. 1092 00:52:54,560 --> 00:53:01,220 اور اب، انگلیوں سے تجاوز کر، بنانے floats کے، اچھی، ڈاٹ سلیش floats کے. 1093 00:53:01,220 --> 00:53:04,280 ایکس ایک 1. Y ہونے جا رہا ہے ایک بار پھر 10 کی جا رہی ہے. 1094 00:53:04,280 --> 00:53:08,240 >> اور، اچھی، OK میرے علاوہ صحیح ہے. 1095 00:53:08,240 --> 00:53:10,240 I، زیادہ کے لئے امید کر رہا تھا لیکن میں اس کے لکھنے کے لئے بھول گیا تھا. 1096 00:53:10,240 --> 00:53:13,250 تو چلو بڑھو اور اس کے منطقی غلطی طے کر کے بتائیں. 1097 00:53:13,250 --> 00:53:16,280 >> آگے بڑھو اور مندرجہ ذیل پر قبضہ کرتے ہیں. 1098 00:53:16,280 --> 00:53:18,080 ہم صرف تھوڑا کاپی اور پیسٹ کر دونگا. 1099 00:53:18,080 --> 00:53:20,080 اور میں مائنس کہنے جا رہا ہوں. 1100 00:53:20,080 --> 00:53:21,890 >> اور میں بار کہنے جا رہا ہوں. 1101 00:53:21,890 --> 00:53:24,060 اور میں تقسیم کیا کہنے جا رہا ہوں. 1102 00:53:24,060 --> 00:53:28,240 اور میں، modulo ہے ایسا کرنے نہیں جا رہا ہوں جو یہاں کے طور germane نہیں ہے، 1103 00:53:28,240 --> 00:53:33,690 F کی طرف سے تقسیم کیا، اور اوقات plus-- OK، چلو پھر اس کے کیا. 1104 00:53:33,690 --> 00:53:44,210 >> بنائیں floats کے، ڈاٹ سلیش floats کے، اور 1، 10، and-- اچھا، کوئی، ٹھیک ہے. 1105 00:53:44,210 --> 00:53:45,250 تو میں نے ایک بیوکوف ہوں. 1106 00:53:45,250 --> 00:53:47,000 تو یہ بہت عام ہے کمپیوٹر سائنس میں 1107 00:53:47,000 --> 00:53:49,780 اس طرح بیوکوف غلطیوں کو بنانے کے لئے. 1108 00:53:49,780 --> 00:53:53,100 >> تعلیمی مقاصد کے لئے، جو میں واقعی کرنا چاہتا تھا 1109 00:53:53,100 --> 00:53:57,410 یہاں سائنس تبدیلی تھی پلس، مائنس، گنا کرنے کے لئے، 1110 00:53:57,410 --> 00:54:01,140 اور امید ہے کہ آپ کے طور پر، تقسیم کرنے کی اس مشق کے دوران محسوس کیا. 1111 00:54:01,140 --> 00:54:04,700 تو اب اس کو دوبارہ مرتب کرتے ہیں پروگرام، ڈاٹ سلیش فلوٹ کرتے. 1112 00:54:04,700 --> 00:54:07,950 >> اور تیسری بار کے لئے، چلو یہ میری توقعات پر پورا اترتا ہے تو دیکھنے. 1113 00:54:07,950 --> 00:54:21,480 1، 10،، میں داخل، ہاں ٹھیک ہے، 1.000، 10.000 سے تقسیم، 0،100000 ہے. 1114 00:54:21,480 --> 00:54:24,952 اور یہ ہم کنٹرول کر سکتے ہیں پتہ چلا ہے کہ کتنے نمبرز سے ان لوگوں کے اشارہ کے بعد کر رہے ہیں. 1115 00:54:24,952 --> 00:54:25,660 ہم اصل میں لونگا. 1116 00:54:25,660 --> 00:54:26,790 ہم اس پر واپس آ جائیں گے. 1117 00:54:26,790 --> 00:54:28,440 >> لیکن اب، حقیقت میں، ریاضی درست ہے. 1118 00:54:28,440 --> 00:54:30,090 لہذا، ایک بار پھر، کیا takeaway ہے یہاں ہے؟ 1119 00:54:30,090 --> 00:54:33,050 اس C میں، وہاں ہیں کہ باہر کر دیتا نہ صرف صرف strings-- اور حقیقت میں،، 1120 00:54:33,050 --> 00:54:36,120 وہاں، واقعی نہیں ہیں کیونکہ ہم CS50 لائبریری کے ساتھ ان لوگوں کو شامل. 1121 00:54:36,120 --> 00:54:37,710 لیکن صرف ints کے نہیں ہیں. 1122 00:54:37,710 --> 00:54:38,990 >> بھی floats کے موجود ہیں. 1123 00:54:38,990 --> 00:54:42,810 اور یہ دوسرے اعداد و شمار کے ایک گروپ کو باہر کر دیتا ہے اقسام بھی، ہم سے بہت پہلے استعمال کریں گے کہ. 1124 00:54:42,810 --> 00:54:46,270 آپ ایک ہی چاہتے ہیں تو پتہ چلتا ہے کردار، نہ کہ حروف کی سٹرنگ، 1125 00:54:46,270 --> 00:54:47,610 آپ کو صرف ایک چار استعمال کر سکتے ہیں. 1126 00:54:47,610 --> 00:54:52,350 >> آپ ایک bool چاہتے تو ہے کہ باہر کر دیتا ہے، ایک بولین قدر، صحیح یا غلط ہیں، 1127 00:54:52,350 --> 00:54:56,840 CS50 لائبریری کے لئے شکریہ، ہم نے اس کے ساتھ ساتھ C bool کے ڈیٹا کی قسم میں شامل کیا. 1128 00:54:56,840 --> 00:54:59,180 لیکن یہ بھی میں موجود ہے دوسرے زبانوں کے ساتھ ساتھ. 1129 00:54:59,180 --> 00:55:04,130 اور یہ آپ کو کبھی کبھی پتہ چلا ہے کہ بڑی تعداد اس کے بعد پہلے سے طے شدہ کی طرف سے آنے کی ضرورت ہے 1130 00:55:04,130 --> 00:55:05,210 ints اور floats کے ساتھ. 1131 00:55:05,210 --> 00:55:10,590 >> اور، اصل میں، ایک ڈبل ایک بڑی تعداد ہے کہ نہیں 32 بٹس، لیکن 64 بٹس استعمال کرتا. 1132 00:55:10,590 --> 00:55:14,990 اور ایک طویل طویل ایک بڑی تعداد ہے کہ ، نہیں 32، بٹس لیکن 64 بٹس استعمال کرتا 1133 00:55:14,990 --> 00:55:19,190 بالترتیب، چل نقاط کے لئے اقدار اور integers کے، بالترتیب. 1134 00:55:19,190 --> 00:55:22,780 تو اب دراصل لشکر طیبہ کارروائی میں اس کو دیکھنے کے. 1135 00:55:22,780 --> 00:55:26,150 >> میں یہاں سے آگے جانے کے لئے جا رہا ہوں اور ایک دوسرا پروگرام کوڑا. 1136 00:55:26,150 --> 00:55:32,020 یہاں، میں آگے جانے کے لئے جا رہا ہوں اور CS50.h. شامل کرتے 1137 00:55:32,020 --> 00:55:34,910 اور مجھے جانے دو، معیاری io.h. 1138 00:55:34,910 --> 00:55:37,320 >> اور تم کچھ محسوس کریں گے فنکی یہاں کیا ہو رہا ہے. 1139 00:55:37,320 --> 00:55:40,592 اس میں چیزیں کوڈنگ رنگ نہیں ہے اس سے پہلے کیا تھا کے طور پر اسی طرح. 1140 00:55:40,592 --> 00:55:43,550 اور یہ پتہ چلا، کہ میں کیونکہ بات یہ ہے کہ ایک فائل کے نام نہیں دیا ہے. 1141 00:55:43,550 --> 00:55:47,270 >> میں نے اس ایک کو فون کرنے جا رہا ہوں sizeof.c، اور محفوظ مارا. 1142 00:55:47,270 --> 00:55:51,039 اور میری بہت کے ساتھ کیا ہوتا محسوس کریں کہ سیاہ پس منظر کے خلاف سفید کوڈ. 1143 00:55:51,039 --> 00:55:52,830 ابھی، کم از کم نہیں ہے وہاں میں جامنی کچھ. 1144 00:55:52,830 --> 00:55:54,490 اور یہ نحو پر روشنی ڈالی ہے. 1145 00:55:54,490 --> 00:55:57,700 >> کیونکہ، بہت صرف، میں ہے جنہیں IDE کس قسم کی فائل کو بتایا 1146 00:55:57,700 --> 00:56:01,060 یہ ہے کہ یہ نام دینے کی طرف سے ہے، اور خاص طور پر ایک فائل چڑھانے کی کوشش. 1147 00:56:01,060 --> 00:56:03,620 اب، چلو آگے بڑھو اور اس کے کیا. 1148 00:56:03,620 --> 00:56:08,910 میں آگے اور بہت جانے کے لئے جا رہا ہوں بس مندرجہ ذیل bool کے باہر پرنٹ 1149 00:56:08,910 --> 00:56:11,080 فیصد LU ہے. 1150 00:56:11,080 --> 00:56:12,950 >> ہم واپس آ جائیں گے صرف ایک لمحے میں اس. 1151 00:56:12,950 --> 00:56:15,840 اور پھر میں جا رہا ہوں bool کے پرنٹ سائز. 1152 00:56:15,840 --> 00:56:18,170 اور اب، صرف بچانے کے لئے اپنے آپ کو کچھ وقت، میں ہوں 1153 00:56:18,170 --> 00:56:20,280 ایک پوری کیا کرنے جا ایک بار میں ان کے گروپ. 1154 00:56:20,280 --> 00:56:24,620 اور، خاص طور پر، میں جا رہا ہوں ایک چار اور چار اس کو تبدیل. 1155 00:56:24,620 --> 00:56:27,760 یہ ایک، میں تبدیل کرنے جا رہا ہوں ایک ڈبل اور ایک ڈبل کرنے کے. 1156 00:56:27,760 --> 00:56:31,440 >> یہ ایک، میں تبدیل کرنے جا رہا ہوں ایک فلوٹ اور ایک فلوٹ کرنے. 1157 00:56:31,440 --> 00:56:35,670 یہ ایک، میں جا رہا ہوں ایک int اور ایک int کے لئے تبدیل. 1158 00:56:35,670 --> 00:56:38,660 اور یہ ایک، میں جا رہا ہوں ایک طویل طویل کرنے کے لئے تبدیل کرنے کے لئے. 1159 00:56:38,660 --> 00:56:40,840 اور یہ اب بھی لے جا رہا ہے ایک طویل وقت کے، طویل طویل. 1160 00:56:40,840 --> 00:56:44,572 >> اور پھر، آخر میں، میں دے دیا اپنے آپ کو ایک بہت زیادہ، سٹرنگ. 1161 00:56:44,572 --> 00:56:47,030 اس سی، نہیں ہے کہ باہر کر دیتا ہے نامی خصوصی آپریٹر 1162 00:56:47,030 --> 00:56:50,260 اس کا سائز لفظی ہے کرنے کے لئے، جب چلاتے جا رہا، 1163 00:56:50,260 --> 00:56:52,099 ہم میں سے سائز بتا ان متغیرات میں سے ہر ایک. 1164 00:56:52,099 --> 00:56:53,890 اور اب یہ ایک طریقہ ہے،، ہم واپس منسلک ہو سکتے ہیں 1165 00:56:53,890 --> 00:56:57,140 گزشتہ ہفتے کی بحث کرنے کے لئے اعداد و شمار اور نمائندگی کی. 1166 00:56:57,140 --> 00:57:00,330 >> مجھے آگے بڑھو اور مرتب کرتے ہیں کی ڈاٹ سلیش سائز کے سائز. 1167 00:57:00,330 --> 00:57:01,210 اور دیکھتے ہیں. 1168 00:57:01,210 --> 00:57:05,210 یہ سی میں پتہ چلا ہے کہ خاص طور پر CS50 IDE پر، 1169 00:57:05,210 --> 00:57:08,170 خاص طور پر آپریٹنگ سسٹم اوبنٹو، 1170 00:57:08,170 --> 00:57:11,100 جس میں ایک 64 بٹ آپریٹنگ ہے اس صورت میں نظام، 1171 00:57:11,100 --> 00:57:14,189 ایک bool کی جا رہی ہے جگہ کی ایک بائٹ کا استعمال. 1172 00:57:14,189 --> 00:57:16,480 اس سائز ماپا جاتا ہے کس طرح ہے، نہیں بٹس میں، لیکن بائٹس میں. 1173 00:57:16,480 --> 00:57:18,690 اور جب کہ ایک بائٹ آٹھ بٹس ہے. 1174 00:57:18,690 --> 00:57:22,030 چنانچہ ایک bool، یہاں تک کہ آپ اگرچہ تکنیکی طور پر صرف کی ضرورت ہے ایک 0 یا 1، 1175 00:57:22,030 --> 00:57:24,092 یہ ایک چھوٹا سا بیکار ہے ہم اسے کس طرح لاگو کیا ہے. 1176 00:57:24,092 --> 00:57:26,800 یہ اصل میں ایک پوری کا استعمال کرنے کے لئے جا رہا ہے byte-- تاکہ تمام zeros، شاید ہیں 1177 00:57:26,800 --> 00:57:31,050 تمام لوگ، یا اس طرح کچھ، یا صرف ایک 1 آٹھ بٹس کے درمیان. 1178 00:57:31,050 --> 00:57:34,962 >> ایک چار، دریں اثنا، ایک کردار کے لئے استعمال کیا گزشتہ ہفتے کی قیمت ایک ASCII کردار کی طرح، 1179 00:57:34,962 --> 00:57:36,170 ایک کردار بننے جا رہی ہے. 1180 00:57:36,170 --> 00:57:42,340 اور یہ کہ کے ہمارے تصور کے ساتھ synchs یہ کوئی زیادہ سے زیادہ 256 bits-- ہونے کی بجائے، 1181 00:57:42,340 --> 00:57:45,360 یہ کوئی ہونے کے ساتھ synchs اپ 8 سے زیادہ وقت کی بٹس، جس 1182 00:57:45,360 --> 00:57:47,450 ہم کے طور پر بہت سے 256 کے طور پر اقدار دیتا ہے. 1183 00:57:47,450 --> 00:57:49,680 ایک ڈبل کرنے جا رہا ہے 8 بائٹس یا 64 بٹس ہونا. 1184 00:57:49,680 --> 00:57:50,510 >> ایک فلوٹ 4 ہے. 1185 00:57:50,510 --> 00:57:51,690 ایک int 4 ہے. 1186 00:57:51,690 --> 00:57:52,980 ایک طویل، طویل 8. 1187 00:57:52,980 --> 00:57:54,716 اور ایک تار 8. 1188 00:57:54,716 --> 00:57:55,840 لیکن اس کے بارے میں فکر مت کرو. 1189 00:57:55,840 --> 00:57:57,340 ہم چھیل واپس پرت ہے کہ جا رہے ہیں. 1190 00:57:57,340 --> 00:57:59,940 اس ڈور سکتے، باہر کر دیتا ہے 8 بائٹس سے زیادہ طویل ہو. 1191 00:57:59,940 --> 00:58:02,310 >> اور، یقینا، ہم نے لکھا ہے پہلے سے ہی ڈور، ہیلو دنیا، 1192 00:58:02,310 --> 00:58:03,700 8 بائٹس سے زیادہ وقت. 1193 00:58:03,700 --> 00:58:06,270 لیکن ہم واپس آ جائیں گے صرف ایک لمحے میں اس. 1194 00:58:06,270 --> 00:58:09,690 لیکن یہاں دور لے مندرجہ ذیل ہے. 1195 00:58:09,690 --> 00:58:15,320 >> کوئی کمپیوٹر صرف ایک محدود ہے میموری اور جگہ کی رقم. 1196 00:58:15,320 --> 00:58:17,860 تم صرف بہت سے جمع کر سکتے ہیں اپنے میک یا PC پر فائلوں. 1197 00:58:17,860 --> 00:58:23,030 تم صرف میں بہت سے پروگراموں کے محفوظ کر سکتے ہیں RAM ایک بار میں چل رہا ہے، ضروری نہیں کہ، یہاں تک کہ 1198 00:58:23,030 --> 00:58:26,360 ورچوئل میموری، کیونکہ آپ RAM کی ایک محدود رقم ہے. 1199 00:58:26,360 --> 00:58:28,990 >> اور صرف تو picture-- کرنے آپ ایک لیپ ٹاپ کو کھول دیا کبھی نہیں کیا ہے 1200 00:58:28,990 --> 00:58:31,300 یا اضافی میموری حکم دیا ایک کمپیوٹر کے لئے، آپ کو 1201 00:58:31,300 --> 00:58:33,670 یہ معلوم نہیں ہو سکتا آپ کے کمپیوٹر کے اندر 1202 00:58:33,670 --> 00:58:36,590 لگتا ہے کہ کچھ ہے اس طرح کی ایک چھوٹی سی. 1203 00:58:36,590 --> 00:58:40,540 لہذا اس کا نام دیا ہے صرف ایک عام کمپنی ہے اہم ہے کہ کمپیوٹر کے لئے RAM ہوتا. 1204 00:58:40,540 --> 00:58:43,620 اور RAM جہاں پروگراموں ہے وہ چلا رہے ہیں جبکہ رہتے. 1205 00:58:43,620 --> 00:58:46,630 >> لہذا ہر میک یا PC، آپ کو دوگنا جب پر ایک پروگرام کلک کریں، اور اس کو کھولتا ہے، 1206 00:58:46,630 --> 00:58:48,921 اور اس میں کچھ لفظ دستاویز کھولتا ہے یا کچھ اس طرح، 1207 00:58:48,921 --> 00:58:51,764 یہ عارضی طور پر میں اس کا ذخیرہ RAM، کیونکہ RAM تیز ہے 1208 00:58:51,764 --> 00:58:53,680 اپنی ہارڈ ڈسک کے مقابلے میں، یا آپ کے ٹھوس ریاست ڈسک. 1209 00:58:53,680 --> 00:58:56,600 جہاں پروگراموں جانا تو یہ صرف ہے وہ چلا رہے ہیں جب رہنے کے لئے، 1210 00:58:56,600 --> 00:58:58,060 یا فائلوں کا استعمال کیا جا رہا ہے کر رہے ہیں جب. 1211 00:58:58,060 --> 00:59:00,890 >> تو آپ کو نظر آتے ہیں کہ چیزیں ہیں آپ اپنے لیپ ٹاپ کے اس کے اندر کس طرح، 1212 00:59:00,890 --> 00:59:03,320 یا تھوڑا سا بڑی چیزیں آپ کے ڈیسک ٹاپ کے اندر. 1213 00:59:03,320 --> 00:59:07,440 لیکن چابی آپ کو صرف ایک ہے ہے ان چیزوں میں سے محدود تعداد. 1214 00:59:07,440 --> 00:59:11,230 تب میں سے صرف ایک محدود رقم ہے ہارڈویئر اس کی میز پر بیٹھ کر حق 1215 00:59:11,230 --> 00:59:11,730 یہاں. 1216 00:59:11,730 --> 00:59:15,920 >> لہذا، ضرور، ہم دکان نہیں کر سکتے ہیں infinitely طویل نمبروں. 1217 00:59:15,920 --> 00:59:19,030 اور، ابھی تک، آپ کو واپس لگتا ہے کہ اگر گریڈ اسکول، کتنے ہندسے سکتے 1218 00:59:19,030 --> 00:59:21,400 آپ صحیح کرنے کے لئے ہے ایک اعشاریہ کی؟ 1219 00:59:21,400 --> 00:59:24,680 اس بات کے لئے، کس طرح بہت ہندسے سکتے آپ کو ایک اعشاریہ کے بائیں کرنے کے لئے ہے؟ 1220 00:59:24,680 --> 00:59:26,300 واقعی، infinitely کئی. 1221 00:59:26,300 --> 00:59:30,840 >> اب، ہم انسانوں کو صرف طاقت ہو ملین تلفظ کرنے کے لئے کس طرح جانتے ہیں، 1222 00:59:30,840 --> 00:59:34,990 اور ارب، ٹریلین، اور کواڈریلین، اور quintillion کے. 1223 00:59:34,990 --> 00:59:39,370 اور میں کی حدود کو آگے بڑھانے ہوں میری understanding-- یا my-- مجھے سمجھ 1224 00:59:39,370 --> 00:59:41,110 نمبرز، لیکن میری نمبروں کی تلفظ. 1225 00:59:41,110 --> 00:59:44,720 لیکن وہ ساتھ infinitely بڑے حاصل کر سکتے ہیں بائیں کرنے کے لئے لامتناہی ہندسوں 1226 00:59:44,720 --> 00:59:47,050 یا ایک اعشاریہ کے دائیں جانب. 1227 00:59:47,050 --> 00:59:50,040 >> لیکن کمپیوٹر صرف ایک ہے میموری کی محدود رقم، 1228 00:59:50,040 --> 00:59:53,510 ٹرانجسٹروں کی ایک محدود تعداد میں، ایک اندر روشنی بلب کی محدود تعداد میں. 1229 00:59:53,510 --> 00:59:57,350 تو کیا ہوتا ہے جب اگر آپ کی جگہ سے باہر چلانے کے؟ 1230 00:59:57,350 --> 00:59:59,620 اگر آپ دوسرے الفاظ میں، گزشتہ ہفتے میں واپس لگتا 1231 00:59:59,620 --> 01:00:03,160 ہم تعداد کے بارے میں بات کرتے وقت خود، بائنری میں نمائندگی کیا جا رہا 1232 01:00:03,160 --> 01:00:05,480 فرض کریں کہ ہمارے پاس ہے یہاں اس 8 بٹ قدر. 1233 01:00:05,480 --> 01:00:08,290 >> اور ہم سات 1 کی اور ایک 0 ہے. 1234 01:00:08,290 --> 01:00:10,827 اور لگتا کہ ہم چاہتے ہیں اس کی قیمت میں 1 کا اضافہ کرنے. 1235 01:00:10,827 --> 01:00:12,410 یہ ابھی ایک بہت بڑی تعداد ہے. 1236 01:00:12,410 --> 01:00:16,610 >> مجھے یاد ہے تو یہ، 254 ہے گزشتہ ہفتے دائیں سے ریاضی. 1237 01:00:16,610 --> 01:00:19,480 لیکن میں کیا تبدیلی اگر دائیں 0 سے ایک 1 ہے؟ 1238 01:00:19,480 --> 01:00:22,800 پوری تعداد، کے کورس، آٹھ 1 کا بن جاتا ہے. 1239 01:00:22,800 --> 01:00:24,050 تو ہم اب بھی اچھے ہیں. 1240 01:00:24,050 --> 01:00:27,204 >> اور یہ کہ شاید کی نمائندگی کرتا ہے 255، اگرچہ سیاق و سباق پر منحصر ہے 1241 01:00:27,204 --> 01:00:29,120 یہ اصل میں نمائندگی کر سکتے ہیں ایک منفی نمبر. 1242 01:00:29,120 --> 01:00:31,240 لیکن یہ کسی اور وقت کے بارے میں مزید. 1243 01:00:31,240 --> 01:00:34,220 اس کے بارے میں اس کی طرح یہ محسوس ہوتا ہے مجھے اعتماد کر سکتے ہیں کے طور پر اعلی. 1244 01:00:34,220 --> 01:00:35,290 >> اب، یہ صرف 8 بٹس ہے. 1245 01:00:35,290 --> 01:00:38,170 اور میرا میک، ضرور، جس طرح سے ہے میموری کی زیادہ سے زیادہ 8 بٹس. 1246 01:00:38,170 --> 01:00:39,170 لیکن یہ محدود ہے. 1247 01:00:39,170 --> 01:00:43,230 لہذا ایک ہی دلیل، لاگو ہوتا ہے یہاں تک کہ اگر ہم سکرین پر ان لوگوں میں سے زیادہ ہے. 1248 01:00:43,230 --> 01:00:47,020 >> لیکن اگر آپ نہیں ہیں تو کیا ہوتا اس نمبر، 255 کو ذخیرہ کرنے، 1249 01:00:47,020 --> 01:00:49,290 اور آپ 1 سا زیادہ شمار کرنا چاہتے ہیں؟ 1250 01:00:49,290 --> 01:00:51,600 تم 255 سے 256 میں جانا چاہتا ہوں. 1251 01:00:51,600 --> 01:00:55,800 مسئلہ، کورس کے، یہ ہے کہ آپ تو گزشتہ ہفتے کی طرح صفر پر گنتی شروع، 1252 01:00:55,800 --> 01:00:59,670 آپ کے طور پر اعلی شمار نہیں کر سکتے 256 کے طور پر،، 257، چھوڑ دو 1253 01:00:59,670 --> 01:01:02,584 اکیلے 258 بتائیں، کیا کیونکہ میٹر آپ کو ایک 1 کا اضافہ ہوتا ہے جب؟ 1254 01:01:02,584 --> 01:01:05,000 آپ پرانے گریڈ اسکول کرتے ہیں تو نقطہ نظر، آپ کو یہاں ایک 1 ڈال، 1255 01:01:05,000 --> 01:01:08,150 اور پھر 1 پلس 1 2 ہے، لیکن اس کے واقعی میں ایک صفر، آپ کو لے 1، 1256 01:01:08,150 --> 01:01:09,695 کیری 1، 1 لے جانے. 1257 01:01:09,695 --> 01:01:12,620 ان تمام چیزوں کے، ان 1، صفر پر جانے. 1258 01:01:12,620 --> 01:01:17,820 اور تم ہوا، جی ہاں، کسی کے طور پر بائیں ہاتھ کی طرف سے 1 باہر کی طرف اشارہ،. 1259 01:01:17,820 --> 01:01:22,540 لیکن سب کچھ آپ کر سکتے ہیں اصل میں دیکھنے اور میموری میں فٹ 1260 01:01:22,540 --> 01:01:27,960 صرف آٹھ 0، کہنا ہے جو ہے کچھ مواقع پر آپ تو، ایک کمپیوٹر، 1261 01:01:27,960 --> 01:01:32,490 سائن کافی گنتی کی کوشش کی، تم ہو کے ارد گرد لپیٹ کرنے کے لئے جا، یہ محسوس ہوتا ہے 1262 01:01:32,490 --> 01:01:35,850 صفر، یا شاید بھی منفی میں نمبرز، صفر سے بھی کم ہیں جو. 1263 01:01:35,850 --> 01:01:37,260 >> اور ہم اس قسم کی یہ دیکھ سکتے ہیں. 1264 01:01:37,260 --> 01:01:39,900 مجھے آگے بڑھو اور لکھتے ہیں یہاں ایک حقیقی فوری پروگرام. 1265 01:01:39,900 --> 01:01:43,690 مجھے آگے بڑھو اور لکھتے ہیں ایک پروگرام اتپرواہ بلایا. 1266 01:01:43,690 --> 01:01:49,980 cs50.h شامل، میں شامل ہیں سٹینڈرڈ IO.h-- اوہ، 1267 01:01:49,980 --> 01:01:51,730 میں واقعی میں میرے نحو اجاگر یاد کیا. 1268 01:01:51,730 --> 01:01:54,440 تو چلو overflow.c کے طور پر اس کو بچانے. 1269 01:01:54,440 --> 01:01:57,084 >> اور اب int اہم void-- اور طویل سے پہلے، ہم کریں گے 1270 01:01:57,084 --> 01:01:59,500 کیوں کی وضاحت کرنے کے لئے واپس آئے ہم int اہم باطل لکھتے رہتے ہیں. 1271 01:01:59,500 --> 01:02:02,080 لیکن اب کے لئے، صرف کا کرتے ہیں عطا کے لئے، اسے لے. 1272 01:02:02,080 --> 01:02:06,200 کے اپنے آپ کو ایک int دے دو، اور 0 اس کی ابتدا. 1273 01:02:06,200 --> 01:02:11,716 >> پھر int کے لئے کرتے ہیں کہ میں zero-- حاصل اصل میں، کی ایک لامحدود لوپ کرنے دو 1274 01:02:11,716 --> 01:02:12,590 اور دیکھتے ہیں کیا. 1275 01:02:12,590 --> 01:02:22,440 سچ ہے، جبکہ اس کے بعد کی ن کو پرنٹ کریں فیصد ہے میں نے، (ن)، پلگ میں ن. 1276 01:02:22,440 --> 01:02:27,200 لیکن، اب، (ن) ہو جاتا ہے (ن) کے علاوہ 1 کے کرتے ہیں. 1277 01:02:27,200 --> 01:02:29,660 >> تو دوسرے الفاظ میں، ہر ایک پر اس لامحدود لوپ کے تکرار، 1278 01:02:29,660 --> 01:02:32,550 کے این کی قیمت ڈالیں ہیں، اور اس کے لئے 1 کا اضافہ، اور اس کے بعد 1279 01:02:32,550 --> 01:02:34,350 بائیں پر ن میں واپس نتیجہ ذخیرہ. 1280 01:02:34,350 --> 01:02:37,150 اور، اصل میں، ہم نحو دیکھا ہے تھوڑا سا اس طرح، مختصر طور پر. 1281 01:02:37,150 --> 01:02:39,730 ایک ٹھنڈی چال بجائے ہے یہ سب لکھنے کی، 1282 01:02:39,730 --> 01:02:42,770 آپ اصل میں ایک این پلس برابر ہے 1 کہہ سکتے ہیں. 1283 01:02:42,770 --> 01:02:47,480 >> یا آپ کو واقعی پسند ہونا چاہتے ہیں تو، آپ کہہ سکتے ہیں این پلس پلس نیم بڑی آنت. 1284 01:02:47,480 --> 01:02:50,130 لیکن یہ مؤخر الذکر دو صرف کر رہے ہیں ہم syntactic چینی فون کروں گا کیا 1285 01:02:50,130 --> 01:02:50,790 پہلی چیز کے لئے. 1286 01:02:50,790 --> 01:02:53,456 >> پہلی بات یہ ہے، زیادہ واضح ہے بالکل ٹھیک، مکمل طور پر درست. 1287 01:02:53,456 --> 01:02:55,470 لیکن یہ زیادہ عام ہے، میں کہونگا. 1288 01:02:55,470 --> 01:02:57,210 تو ہم صرف ایک لمحے کے لئے یہ کر دونگا. 1289 01:02:57,210 --> 01:03:01,685 >> اب بنا دو اتپرواہ، لگتا ہے بلکہ اشوب، ڈاٹ سلیش اتپرواہ. 1290 01:03:01,685 --> 01:03:04,380 1291 01:03:04,380 --> 01:03:09,852 کی، دیکھیں N خوبصورت بڑے ہو رہی ہے چلو. 1292 01:03:09,852 --> 01:03:11,310 لیکن اس کی سوچنے دو، کتنا بڑا N مل سکتی ہے؟ 1293 01:03:11,310 --> 01:03:12,870 >> ن ایک int ہے. 1294 01:03:12,870 --> 01:03:16,400 ہم کے سائز کے ساتھ ایک لمحے پہلے دیکھا مثال ایک int چار بائٹس ہے. 1295 01:03:16,400 --> 01:03:22,070 ہم نے پچھلے ہفتے سے جانتے ہیں، چار بائٹس ہے 32 بٹس، کیونکہ 8 گنا 4، جو کہ 32 ہے. 1296 01:03:22,070 --> 01:03:23,460 کہ 4 ارب ہونے جا رہا ہے. 1297 01:03:23,460 --> 01:03:25,802 >> اور ہم 800،000 تک ہیں. 1298 01:03:25,802 --> 01:03:28,510 یہ ہمیشہ کے لئے لے جا رہا ہے میں ممکنہ طور پر کر سکتے ہیں کے طور پر زیادہ اعتماد کر. 1299 01:03:28,510 --> 01:03:30,635 تو میں نے آگے جانے کے لئے جا رہا ہوں کے طور پر آپ سے پہلے طویل ہو سکتا ہے، 1300 01:03:30,635 --> 01:03:34,910 اور واضح طور سے کنٹرول C-- مارا، کنٹرول C، ایک بہت، جہاں کنٹرول C عام طور پر 1301 01:03:34,910 --> 01:03:36,034 اسباب کو منسوخ. 1302 01:03:36,034 --> 01:03:38,200 بدقسمتی سے اس وجہ سے بادل میں چل رہا ہے، 1303 01:03:38,200 --> 01:03:41,190 کبھی کبھی بادل ہے اتنا کچھ چیزیں باہر توکنا، 1304 01:03:41,190 --> 01:03:44,180 بہت بہت پیداوار، یہ جا رہا ہے میری ان پٹ کے لئے ایک چھوٹا سا وقت لگ 1305 01:03:44,180 --> 01:03:45,630 کلاؤڈ پر حاصل کرنے کے. 1306 01:03:45,630 --> 01:03:49,240 تو میں نے مارا، اگرچہ کنٹرول C کو چند سیکنڈ پہلے، 1307 01:03:49,240 --> 01:03:53,110 یہ یقینی طور پر کی طرف ہے ایک لامحدود لوپ کے اثر. 1308 01:03:53,110 --> 01:03:56,070 >> اور اس طرح اس طرح کے معاملات میں، ہم ہیں کہ ہو چھوڑنے کے لئے جا. 1309 01:03:56,070 --> 01:03:59,050 اور ہم ایک اور شامل کرنے کے لئے جا رہے ہیں یہاں ٹرمنل ونڈو 1310 01:03:59,050 --> 01:04:03,186 پلس، جو ظاہر ہے نہیں ہے کے ساتھ اس طرح سے، یہ اب بھی سوچ رہا ہے کے بعد سے. 1311 01:04:03,186 --> 01:04:05,310 اور آگے بڑھو اور رہنے دو ایک چھوٹا سا زیادہ مناسب. 1312 01:04:05,310 --> 01:04:07,768 >> میں آگے بڑھو اور کیا کرنے جا رہا ہوں یہ صرف متناہی کئی بار. 1313 01:04:07,768 --> 01:04:10,047 ، کے لوپ کے لئے ایک کا استعمال کرتے ہیں جس نے پہلے اشارہ. 1314 01:04:10,047 --> 01:04:10,630 آؤ کریں. 1315 01:04:10,630 --> 01:04:13,430 مجھے ایک اور متغیر int میں ہو جاتا ہے 0 کرو. 1316 01:04:13,430 --> 01:04:17,430 میں بھی کم، کے، کا کہنا ہے کہ 64 میں + + دو ہے. 1317 01:04:17,430 --> 01:04:24,010 اور اب مجھے آگے اور پرنٹ جانے دو این فیصد میں ہے باہر، ن کوما. 1318 01:04:24,010 --> 01:04:27,547 اور پھر (ن) یہ اب بھی ہے ہمیشہ کے لئے لے جا رہا. 1319 01:04:27,547 --> 01:04:28,130 آؤ کریں. 1320 01:04:28,130 --> 01:04:30,620 >> ن ہو جاتا ہے N اوقات 2. 1321 01:04:30,620 --> 01:04:34,140 یا پھر ہم پسند ہو سکتا ہے اور اوقات 2 برابر کرتے. 1322 01:04:34,140 --> 01:04:37,120 لیکن صرف (ن) کا کہنا ہے کہ خود اوقات 2 برابر،. 1323 01:04:37,120 --> 01:04:39,321 دوسرے الفاظ میں، اس میں پروگرام کا نیا ورژن، 1324 01:04:39,321 --> 01:04:41,820 میں نے ہمیشہ کے لئے انتظار نہیں کرنا چاہتا 800،000 4 ارب طرح سے. 1325 01:04:41,820 --> 01:04:43,070 چلو بس کے ساتھ اس سے زیادہ حاصل کرتے ہیں. 1326 01:04:43,070 --> 01:04:44,920 >> اصل میں ن ہر وقت دوگنا کرنے دو. 1327 01:04:44,920 --> 01:04:47,660 کون سا، یادآوری، دوہراکرن ہے کورس کے، ہونے کے برعکس. 1328 01:04:47,660 --> 01:04:50,035 اور گزشتہ ہفتے، جبکہ ہمارے پاس ہے کچھ دوبارہ، اور پھر، 1329 01:04:50,035 --> 01:04:52,200 اور ایک بار پھر، انتہائی تیز رفتار، دوہراکرن ضرور لونگا 1330 01:04:52,200 --> 01:04:58,080 سب سے بڑی ممکن 1 سے ہمیں حاصل قیمت ہم ایک int کے ساتھ کرنے کے لئے اعتماد کر سکتے ہیں کہ. 1331 01:04:58,080 --> 01:04:59,750 >> تو بالکل اس کے کیا. 1332 01:04:59,750 --> 01:05:01,720 اور ہم نے بہت پہلے اس کے پاس واپس آ جائیں گے. 1333 01:05:01,720 --> 01:05:04,180 لیکن یہ، ایک بار پھر، صرف کی طرح ہے شروع میں دوبارہ بلاک. 1334 01:05:04,180 --> 01:05:05,600 اور آپ کو طویل سے پہلے اس کا استعمال کریں گے. 1335 01:05:05,600 --> 01:05:10,170 >> یہ صرف صفر سے شمار کا مطلب ، لیکن، برابر 64 کے لئے نہیں کے لئے اپ. 1336 01:05:10,170 --> 01:05:14,285 اور اس کے ہر iteration پر لوپ، صرف میں incrementing کی رکھنے. 1337 01:05:14,285 --> 01:05:18,990 لہذا میں + + - اور یہ جنرل تعمیر لائن پر 7 صرف ایک سپر عام طریقہ ہے 1338 01:05:18,990 --> 01:05:22,290 کے کے کچھ لائنوں کو دہرانے کوڈ، کئی بار کچھ. 1339 01:05:22,290 --> 01:05:23,362 جس کا کوڈ کی لائنیں؟ 1340 01:05:23,362 --> 01:05:25,570 ان گھوبگھرالی منحنی خطوط وحدانی، آپ کے طور پر اب سے gleaned ہے ہو سکتا ہے، 1341 01:05:25,570 --> 01:05:26,780 مطلب، مندرجہ ذیل کام کریں. 1342 01:05:26,780 --> 01:05:29,510 >> اس طرح شروع میں ہے، جب یہ پیلے رنگ کے بلاکس ہے 1343 01:05:29,510 --> 01:05:32,680 اور دیگر رنگ اس قسم کے گلے لگانے یا دیگر بلاکس گلے. 1344 01:05:32,680 --> 01:05:34,750 یہی ان گھوبگھرالی ہے منحنی خطوط وحدانی کے یہاں کیا کر رہے ہیں. 1345 01:05:34,750 --> 01:05:40,200 تو میں نے اپنے نحو مل گیا تو آپ right-- C ذرائع میں گاجر علامت کو دیکھ سکتے ہیں 1346 01:05:40,200 --> 01:05:42,706 کہ میں گیا کتنی بار ہے اس مسئلہ کو حل کرنے کی کوشش کر. 1347 01:05:42,706 --> 01:05:45,330 تو ہے کہ ایک سے چھٹکارا حاصل کرے مجموعی طور پر، اور اس ونڈو کو بند. 1348 01:05:45,330 --> 01:05:46,520 اور ہم نئی ایک کا استعمال کریں گے. 1349 01:05:46,520 --> 01:05:51,980 اتپرواہ، ڈاٹ سلیش بنائیں اتپرواہ، درج، ٹھیک ہے، 1350 01:05:51,980 --> 01:05:53,090 یہ پہلی نظر میں برا لگتا ہے. 1351 01:05:53,090 --> 01:05:56,200 لیکن وقت میں واپس سکرال، میں نے اس سے 64 گنا تھا. 1352 01:05:56,200 --> 01:05:58,700 >> اور پہلی بار محسوس کریں، N 1 ہے. 1353 01:05:58,700 --> 01:06:03,110 دوسری بار، ن، 2 ہے پھر 4، پھر 8، تو 16. 1354 01:06:03,110 --> 01:06:09,450 اور یہ جتنی جلدی ہے کہ لگتا ہے I، تقریبا 1 بلین کے لئے حاصل 1355 01:06:09,450 --> 01:06:12,800 میں نے پھر اسے دوگنا ہے تو، کہ مجھے 2 ارب دینا چاہئے. 1356 01:06:12,800 --> 01:06:14,980 لیکن یہ پتہ چلا ہے، ہے cusp پر حق. 1357 01:06:14,980 --> 01:06:18,930 >> اور اس طرح یہ اصل میں بڑھ 1 ارب سے ایک int 1358 01:06:18,930 --> 01:06:23,514 تقریبا منفی 2 سے ارب، ایک عدد صحیح ہے کیونکہ، 1359 01:06:23,514 --> 01:06:25,430 نمبرز ہم برعکس گزشتہ ہفتے سنبھالنے کر رہے تھے، 1360 01:06:25,430 --> 01:06:28,397 مثبت اور منفی دونوں ہو سکتا ہے حقیقت میں اور ایک کمپیوٹر میں. 1361 01:06:28,397 --> 01:06:30,730 اور اس طرح کم از کم ان میں سے ایک بٹس مؤثر طریقے سے چوری ہو جائے. 1362 01:06:30,730 --> 01:06:34,190 تو ہم واقعی صرف، 31 بٹس ہے یا 2 ارب ممکن اقدار. 1363 01:06:34,190 --> 01:06:38,220 >> لیکن اب کے لئے، takeaway ہے کافی ہے بس، جو کچھ اس کے نمبر ہیں 1364 01:06:38,220 --> 01:06:42,280 اور جو ریاضی، ہے کچھ برا، بالآخر ہوتا 1365 01:06:42,280 --> 01:06:46,980 آخر میں آپ کے لئے کوشش کر رہے ہیں کیونکہ بٹس ایک بھی کئی بار permute. 1366 01:06:46,980 --> 01:06:51,060 اور آپ کو مؤثر طریقے سے سب سے جاؤ 1 کے لئے شاید سب کو 0 کے، یا ہو سکتا ہے 1367 01:06:51,060 --> 01:06:54,260 جو کہ صرف کچھ دوسرے پیٹرن واضح طور پر، سیاق و سباق پر منحصر ہے، 1368 01:06:54,260 --> 01:06:56,342 ایک منفی نمبر کے طور پر تشریح کی جا سکتی ہے. 1369 01:06:56,342 --> 01:06:59,300 اور اس طرح یہ اعلی ترین میں لگ رہے ہو گے یہ خاص طور پر پروگرام میں اعتماد کر سکتے ہیں 1370 01:06:59,300 --> 01:07:01,210 صرف تقریبا 1 ارب ہے. 1371 01:07:01,210 --> 01:07:02,760 لیکن یہاں ایک جزوی حل ہے. 1372 01:07:02,760 --> 01:07:03,480 آپ کو پتہ ہے؟ 1373 01:07:03,480 --> 01:07:07,600 >> مجھے ایک سے تبدیل کرو ایک طویل طویل کرنے int کی. 1374 01:07:07,600 --> 01:07:10,633 اور مجھے آگے یہاں جانے دو اور میں جا رہا ہوں say-- 1375 01:07:10,633 --> 01:07:12,290 ایک اہستاکشرت طویل کرنے کے لئے اس کو تبدیل کرنے. 1376 01:07:12,290 --> 01:07:16,860 یا، میں اپنے آپ کو کبھی یاد نہیں چلو دیکھتے ہیں،. 1377 01:07:16,860 --> 01:07:19,920 >> آگے بڑھو اور اتپرواہ بنا دو. 1378 01:07:19,920 --> 01:07:21,860 نہیں، ایسا نہیں ہے، LLD، آپ کا شکریہ. 1379 01:07:21,860 --> 01:07:23,430 تو کبھی کبھی بجنا مددگار ہو سکتا ہے. 1380 01:07:23,430 --> 01:07:27,550 میں کیا شکل یاد نہیں آیا وضاحت کار ایک طویل طویل کے لئے تھا. 1381 01:07:27,550 --> 01:07:28,950 >> لیکن، واقعی، بجنا مجھے بتایا. 1382 01:07:28,950 --> 01:07:31,570 سبز، اچھے کے کچھ قسم ہے اب بھی تم نے غلطی کی ہے کا مطلب. 1383 01:07:31,570 --> 01:07:33,190 یہ میں LLD مطلب ہے کہ اندازہ لگا رہا ہے. 1384 01:07:33,190 --> 01:07:38,750 >> لہذا، ایک طویل مجھے یہ مشورہ ہے لے جانے دو طویل دشملو تعداد، اس کو بچانے. 1385 01:07:38,750 --> 01:07:43,190 اور ڈاٹ مجھے یہ rerun ہیں، اتپرواہ سلیش، درج. 1386 01:07:43,190 --> 01:07:45,020 اور اب کیا اچھا ہے یہ ہے. 1387 01:07:45,020 --> 01:07:49,140 >> میں وقت میں واپس سکرال، تو ہم اب بھی شروع اسی جگہ میں گنتی 1، 2، 4، 1388 01:07:49,140 --> 01:07:50,220 8، 16. 1389 01:07:50,220 --> 01:07:54,860 نوٹس کی، ہم حاصل تمام راستہ 1 ارب. 1390 01:07:54,860 --> 01:07:57,070 لیکن اس وقت ہم محفوظ طریقے سے 2 ارب کے لئے حاصل. 1391 01:07:57,070 --> 01:08:01,300 >> پھر ہم 4 ارب کے لئے حاصل، پھر 8 ارب، 17 ارب. 1392 01:08:01,300 --> 01:08:03,340 اور ہم اس سے زیادہ جانا، اور اعلی، اور اعلی. 1393 01:08:03,340 --> 01:08:05,740 آخر میں، اس، بھی، ٹوٹ جاتا ہے. 1394 01:08:05,740 --> 01:08:09,350 >> آخر میں، ایک طویل طویل کے ساتھ، جس 64 بٹ قدر، نہیں ہے 1395 01:08:09,350 --> 01:08:13,660 ایک 32 بٹ قدر، آپ کو شمار تو بہت زیادہ، آپ کے ارد گرد لپیٹ 0. 1396 01:08:13,660 --> 01:08:16,410 اور اس معاملے میں، ہم کو بھی ہو ایک منفی نمبر کے ساتھ ختم. 1397 01:08:16,410 --> 01:08:17,550 >> تو یہ ایک مسئلہ ہے. 1398 01:08:17,550 --> 01:08:20,439 اور یہ اس کہ باہر کر دیتا مسئلہ ہے کہ تمام جادو نہیں ہے. 1399 01:08:20,439 --> 01:08:23,060 میں نے جان بوجھ ہے اگرچہ ان کی غلطیوں کے ساتھ اس کی حوصلہ افزائی کی، 1400 01:08:23,060 --> 01:08:26,149 یہ ہم میں سے ہر قسم کی اسے دیکھ باہر کر دیتا ہے ہم سے، یا کم از کم ہم میں سے کچھ کے ارد گرد ایسا. 1401 01:08:26,149 --> 01:08:28,939 >> تو Lego سٹار وار میں، اگر کیا تم نے کبھی کھیل کھیلا گیا ہوں، 1402 01:08:28,939 --> 01:08:33,830 جو آپ کے ارد گرد جا سکتے ہیں باہر کر دیتا ہے LEGO دنیا میں چیزوں کو توڑنے، 1403 01:08:33,830 --> 01:08:36,640 اور سککوں جمع، بنیادی طور پر. 1404 01:08:36,640 --> 01:08:39,200 اور اگر تم نے کبھی ادا کیا ہے اگر اس کھیل بہت زیادہ وقت، 1405 01:08:39,200 --> 01:08:42,630 اس بے نام فرد کے طور پر یہاں کیا، کل تعداد 1406 01:08:42,630 --> 01:08:46,700 سککوں آپ کو جمع کر سکتے ہیں کہ ایسا لگتا گا، 4 ارب، ہے. 1407 01:08:46,700 --> 01:08:48,240 >> اب، کے ساتھ یہ اصل میں گول ہے. 1408 01:08:48,240 --> 01:08:50,239 تو Lego کوشش کر رہا تھا چیزوں صارف دوستانہ رکھنے. 1409 01:08:50,239 --> 01:08:53,779 انہوں نے کے لئے یہ بالکل 2 ایسا نہیں کیا 32 گزشتہ ہفتے فی طاقت،. 1410 01:08:53,779 --> 01:08:55,310 لیکن 4 ارب ایک وجہ ہے. 1411 01:08:55,310 --> 01:08:58,979 یہ اس کی معلومات پر مبنی لگتا ہے،، کہ LEGO، اور کمپنی ہے کہ 1412 01:08:58,979 --> 01:09:02,624 ، اس کی اصل سافٹ ویئر بنا دیا فیصلہ کیا کہ سککوں کی زیادہ سے زیادہ تعداد 1413 01:09:02,624 --> 01:09:04,540 صارف جمع کر سکتے ہیں ہے، بے شک، 4 ارب، 1414 01:09:04,540 --> 01:09:12,069 وہ ان کے کوڈ میں انتخاب کیا ہے کیونکہ استعمال کرنے کے لئے زیادہ وقت نہیں ہے ایک طویل، بظاہر، 1415 01:09:12,069 --> 01:09:16,140 لیکن صرف ایک عدد صحیح، ایک اہستاکشرت عدد صحیح، صرف ایک مثبت عدد صحیح، جن کی 1416 01:09:16,140 --> 01:09:18,089 زیادہ سے زیادہ قدر ہے کہ تقریبا ہے. 1417 01:09:18,089 --> 01:09:19,380 ویسے، یہاں ایک اور عجیب سے ایک ہے. 1418 01:09:19,380 --> 01:09:23,500 کھیل کی تہذیب میں So، جس آپ میں سے کچھ کے ساتھ، واقف ہو سکتا 1419 01:09:23,500 --> 01:09:26,660 یہ اس سال پہلے سے پتہ چلتا ہے اس کھیل ہے جس کے تحت میں ایک مسئلے سے تھا 1420 01:09:26,660 --> 01:09:28,750 آپ کردار ادا کیا ہے تو اس کھیل میں گاندھی کی، 1421 01:09:28,750 --> 01:09:34,020 بجائے اس کے، بہت امن پسند ہونے کی وجہ بجائے ناقابل یقین حد تک، ناقابل یقین حد تک تھا 1422 01:09:34,020 --> 01:09:36,399 جارحانہ، بعض حالات میں. 1423 01:09:36,399 --> 01:09:40,529 خاص طور پر، جس طرح کہ تہذیب کاموں ہے کہ آپ کو تو، کھلاڑی، 1424 01:09:40,529 --> 01:09:44,680 ، جمہوریت اپنانے آپ aggressiveness کے سکور ہو جاتا ہے 1425 01:09:44,680 --> 01:09:48,130 دو، تا مائنس طرف decremented مائنس، اور اس کے بعد مائنس مائنس. 1426 01:09:48,130 --> 01:09:50,569 >> تو کیا تم سے 2 منہا آپ کی اصل iterating کو. 1427 01:09:50,569 --> 01:09:56,650 بدقسمتی سے، آپ سب iterating ہے تو ابتدائی طور پر 1، اور آپ کو 2 اس میں سے منہا 1428 01:09:56,650 --> 01:09:59,050 جمہوریت اپنانے کے بعد گاندھی کے طور پر یہاں شاید 1429 01:09:59,050 --> 01:10:02,200 کیونکہ وہ بہت passive-- تھی، کیا کیا ہے کے aggressiveness کے پیمانے پر 1. 1430 01:10:02,200 --> 01:10:04,830 لیکن اس کے بعد وہ، جمہوریت کو اپنایا ہے تو وہ 1 منفی 1 میں جاتا ہے. 1431 01:10:04,830 --> 01:10:11,470 >> بدقسمتی سے، وہ تھے اہستاکشرت اعداد کا استعمال کرتے ہوئے، 1432 01:10:11,470 --> 01:10:15,400 جس کا مطلب ہے کہ وہ بھی منفی سلوک کیا نمبرز گویا وہ مثبت تھے. 1433 01:10:15,400 --> 01:10:19,780 اور یہ پتہ چلا ہے کہ منفی 1 مثبت برابر، 1434 01:10:19,780 --> 01:10:23,480 عام کمپیوٹر پروگراموں میں، 255 ہے. 1435 01:10:23,480 --> 01:10:27,250 گاندھی اپنایا تو جمہوریت، اور اس وجہ سے ہے 1436 01:10:27,250 --> 01:10:32,470 ان کے aggressiveness اسکور کمی واقع ہوئی، یہ اصل 255 کے ارد گرد رولس 1437 01:10:32,470 --> 01:10:35,470 اور اس کے سب سے زیادہ ہوتا ہے کھیل ہی کھیل میں جارحانہ کردار. 1438 01:10:35,470 --> 01:10:36,930 تو کیا تم اس پر گوگل کر سکتے ہیں. 1439 01:10:36,930 --> 01:10:39,380 اور یہ واقعی، تھا، ایک حادثاتی پروگراموں مسئلے، 1440 01:10:39,380 --> 01:10:43,010 لیکن اس سے کافی داخل ہوا ہے تب سے ودیا. 1441 01:10:43,010 --> 01:10:44,360 >> وہ سب مذاق اور پیارا ہے. 1442 01:10:44,360 --> 01:10:47,760 زیادہ خوفناک جب اصل ہے حقیقی دنیا کے الات، اور نہیں کھیل، 1443 01:10:47,760 --> 01:10:48,820 یہ وہی کیڑے ہو. 1444 01:10:48,820 --> 01:10:54,500 سچ تو یہ ہے، صرف ایک سال پہلے ایک مضمون آیا بوئنگ 787 ڈریم لائنر کے بارے میں پتہ. 1445 01:10:54,500 --> 01:10:56,850 >> اور سب سے پہلے میں مضمون نظر ایک چھوٹا سا جادو پڑھتا. 1446 01:10:56,850 --> 01:11:01,480 لیکن یہ کہا کہ یہ، ایک سافٹ ویئر بوئنگ میں خطرے 1447 01:11:01,480 --> 01:11:04,790 نئے 787 ڈریم لائنر جیٹ ہے پائلٹوں کی وجہ سے کرنے کی صلاحیت موجود 1448 01:11:04,790 --> 01:11:07,220 کا کنٹرول کھونے کے لئے ہوائی جہاز، ممکنہ طور پر 1449 01:11:07,220 --> 01:11:11,750 وسط پرواز میں، FAA کے عہدیداروں حال ہی میں خبردار کیا ھوائی کمپنیاں. 1450 01:11:11,750 --> 01:11:14,520 یہ عزم تھا کہ ایک ماڈل 787 1451 01:11:14,520 --> 01:11:19,770 سے طاقت کیا گیا ہے کہ ہوائی جہاز 248 سے مسلسل لئے دن 1452 01:11:19,770 --> 01:11:24,880 تمام ردوبدل موجودہ کھو سکتے ہیں، AC، جنریٹر کی وجہ سے بجلی 1453 01:11:24,880 --> 01:11:28,892 کنٹرول یونٹس، GCUs، بیک وقت میں جا سیف موڈ میں ناکام رہتے ہیں. 1454 01:11:28,892 --> 01:11:29,850 یہ مجھے کھونے کی طرح ہے. 1455 01:11:29,850 --> 01:11:35,390 لیکن میمو، بیان کیا ٹھیک ہے، اب مجھے وہ مل گیا، شرط ایک سافٹ ویئر کی وجہ سے ہوئی 1456 01:11:35,390 --> 01:11:38,590 کرنے کے لئے اندرونی مقابلہ جنریٹر کنٹرول 1457 01:11:38,590 --> 01:11:44,860 بعد اتپرواہ گے کہ یونٹس مسلسل بجلی کی 248 دنوں کے. 1458 01:11:44,860 --> 01:11:47,070 ہم اس جاری کر رہے ہیں نقصان کو روکنے کے کرنے کے لئے محسوس 1459 01:11:47,070 --> 01:11:49,300 کے تمام AC بجلی کی طاقت، نتیجہ یہ نکل سکتا ہے جس میں 1460 01:11:49,300 --> 01:11:50,980 ہوائی جہاز کے کنٹرول کے نقصان میں. 1461 01:11:50,980 --> 01:11:55,380 >> لہذا، لفظی، کچھ عددی ہے، یا کچھ مساوی ڈیٹا کی قسم، 1462 01:11:55,380 --> 01:11:57,960 سافٹ ویئر میں استعمال کیا جا رہا ایک حقیقی ہوائی جہاز میں 1463 01:11:57,960 --> 01:12:00,756 آپ کو آپ کے ہوائی جہاز کو رکھنے کے لئے اگر کہ ، کافی طویل ہے جس میں بظاہر پر 1464 01:12:00,756 --> 01:12:03,880 آپ صرف چلا رہے ہیں کیس ہو سکتا ہے انہیں مسلسل اور کبھی نہیں unplugging سے 1465 01:12:03,880 --> 01:12:06,810 اپنے ہوائی جہاز، ایسا لگتا ہے، یا اس کی بیٹریاں مر جاتے ہیں دے، 1466 01:12:06,810 --> 01:12:09,840 بالآخر شمار کیا جائے گا، اور اپ، اور اپ، اور اپ، اور اپ، اور اپ. 1467 01:12:09,840 --> 01:12:12,150 >> اور، فطرت کی طرف سے، ایک میموری کی محدود رقم 1468 01:12:12,150 --> 01:12:15,880 ، اتپرواہ گا واپس رولنگ صفر یا کچھ منفی قدر، 1469 01:12:15,880 --> 01:12:19,920 جن میں سے ایک ضمنی اثر ہے frighteningly اصلی حقیقت 1470 01:12:19,920 --> 01:12:23,970 طیارے کی ضرورت ہو سکتی ہے کہ ری بوٹ جا کرنے کے لئے، مؤثر طریقے سے، 1471 01:12:23,970 --> 01:12:27,290 یا، بدتر گر سکتا ہے، یہ پرواز کے طور پر. 1472 01:12:27,290 --> 01:12:29,230 لہذا مسائل کے ان قسم ہمارے ساتھ اب بھی ہیں، 1473 01:12:29,230 --> 01:12:33,130 even-- یہ ایک 2015 مضمون تھا، سب سے زیادہ خوفناک 1474 01:12:33,130 --> 01:12:36,100 آپ کو ضروری نہیں کرتے جب ، سمجھنے کی تعریف کرتے ہیں، یا اندازہ 1475 01:12:36,100 --> 01:12:38,640 غلطیوں کے ان قسم. 1476 01:12:38,640 --> 01:12:42,030 >> تو یہ ایک دوسرے کا بدل جاتا ہے وہاں اعداد و شمار کی نمائندگی کے بارے میں بری بات. 1477 01:12:42,030 --> 01:12:47,080 یہ بھی floats کے ہیں کہ باہر کر دیتا ہے اس قسم کی ناقص، floats کے، کیونکہ، بھی، 1478 01:12:47,080 --> 01:12:51,440 میں تجویز ہے 32 بٹس، یا شاید 64 آپ کو ایک ڈبل کا استعمال کرتے ہیں. 1479 01:12:51,440 --> 01:12:53,070 لیکن یہ اب بھی محدود ہے. 1480 01:12:53,070 --> 01:12:57,070 >> اور پکڑنے ہے اگر آپ کر سکتے ہیں کہ اعداد کی ایک لامحدود تعداد میں ڈال دیا 1481 01:12:57,070 --> 01:12:59,460 دشملو نقطہ کے بعد، کوئی راستہ آپ کو وہاں ہے 1482 01:12:59,460 --> 01:13:02,690 تمام ممکنہ نمائندگی کر سکتے ہیں نمبرز کہ ہم سکھایا گیا 1483 01:13:02,690 --> 01:13:04,990 جماعت میں اسکول دنیا میں موجود کر سکتے ہیں. 1484 01:13:04,990 --> 01:13:08,870 ایک کمپیوٹر، بنیادی طور پر، ضروری ہے ان لوگوں کی تعداد کی ایک اپسمچی منتخب 1485 01:13:08,870 --> 01:13:10,200 درست طریقے سے نمائندگی کے لئے. 1486 01:13:10,200 --> 01:13:12,450 >> اب، کمپیوٹر سکتے ہیں گول ہو سکتا ہے تھوڑا سا، 1487 01:13:12,450 --> 01:13:17,900 اور تقریبا سٹور کرنے کی اجازت دے سکتا ہے کسی بھی تعداد کو ممکنہ طور پر چاہتے ہو سکتا ہے. 1488 01:13:17,900 --> 01:13:20,940 صرف intuitively پر آپ لیکن اگر، بٹس کی ایک محدود تعداد پڑے، 1489 01:13:20,940 --> 01:13:24,560 آپ کو صرف ان permute سکتے ہیں اتنے محدود طریقوں سے. 1490 01:13:24,560 --> 01:13:26,570 تو آپ کو ممکنہ طور پر نہیں کر سکتے ہیں ایک محدود تعداد کا استعمال 1491 01:13:26,570 --> 01:13:29,880 بٹس کی کی Permutation کے، zeros اور ہیں کے پیٹرن، 1492 01:13:29,880 --> 01:13:32,940 ایک لامتناہی کی نمائندگی کے لئے نمبروں کی تعداد، 1493 01:13:32,940 --> 01:13:37,370 جس کمپیوٹرز کو شاید یہ پتہ چلتا ہے کہ بہت اچھی طرح بعض اوقات ہم سے جھوٹ بول جائے. 1494 01:13:37,370 --> 01:13:38,770 >> سچ تو یہ ہے، یہ کرتے ہیں. 1495 01:13:38,770 --> 01:13:41,239 مجھے CS50 IDE میں واپس چلتے ہیں. 1496 01:13:41,239 --> 01:13:43,030 مجھے آگے جانے دو اور ایک چھوٹا سا پروگرام تشکیل 1497 01:13:43,030 --> 01:13:47,940 کہا جاتا imprecision، یہ دکھانے کے لئے کمپیوٹرز، یقینا imprecise ہیں،. 1498 01:13:47,940 --> 01:13:51,910 >> اور مجھے آگے جانا ہے اور اس کے ساتھ شروع کرتے ہیں آگے سے کہ کوڈ کے کچھ، 1499 01:13:51,910 --> 01:13:53,830 اور اب صرف مندرجہ ذیل کام کریں. 1500 01:13:53,830 --> 01:14:03,640 مجھے آگے بڑھو اور printf کے، فیصد کرنے دو F، الٹا سلیش (ن)، 1 10 سے تقسیم. 1501 01:14:03,640 --> 01:14:07,430 دوسرے الفاظ میں، کی گہری میں کودو 1/10، جیسے 1 اور 10 سے تقسیم کرنا. 1502 01:14:07,430 --> 01:14:09,760 یقینا، ایک کمپیوٹر 1/10 نمائندگی کر سکتے ہیں. 1503 01:14:09,760 --> 01:14:13,620 >> تو آگے بڑھو اور گئی imprecision بنانے. 1504 01:14:13,620 --> 01:14:14,390 چلو دیکھتے ہیں. 1505 01:14:14,390 --> 01:14:16,210 ڈاک ڈبل قسم کی وضاحت. 1506 01:14:16,210 --> 01:14:18,160 لیکن دلیل قسم int ہے. 1507 01:14:18,160 --> 01:14:19,040 کیا ہو رہا ہے؟ 1508 01:14:19,040 --> 01:14:21,970 >> اوہ، دلچسپ، تو یہ ایک بات ہے سبق سے پہلے سے سیکھا. 1509 01:14:21,970 --> 01:14:26,050 میں کہہ رہا ہوں، ارے، کمپیوٹر شو مجھے فیصد F کے ساتھ ایک فلوٹ. 1510 01:14:26,050 --> 01:14:28,200 لیکن میں یہ 2 ints کے دے رہا ہوں. 1511 01:14:28,200 --> 01:14:31,120 یہ پتہ چلتا ہے تو، میں ٹھیک کر سکتے ہیں طریقوں میں سے ایک جوڑے میں. 1512 01:14:31,120 --> 01:14:38,430 >> میں نے صرف 1.0 میں ایک ہی بدل سکتے ہیں، اور 10.0 میں 10، جس پر کرے گا، بے شک، 1513 01:14:38,430 --> 01:14:42,390 تبدیل کا اثر ہے floats-- میں ان کو اب بھی امید ہے کہ 1514 01:14:42,390 --> 01:14:43,180 اسی تعداد. 1515 01:14:43,180 --> 01:14:45,880 وہاں کچھ ہے باہر یا بدل جاتا ہے ہم طویل عرصے سے پہلے ایک بار پھر دیکھ لیں گے. 1516 01:14:45,880 --> 01:14:47,170 آپ کی تعداد ڈال سکتا. 1517 01:14:47,170 --> 01:14:49,880 >> تم، اس parenthetical کا استعمال کرتے ہوئے کر سکتے ہیں اظہار، آپ کہہ سکتے ہیں 1518 01:14:49,880 --> 01:14:52,560 ارے، کمپیوٹر، یہ لے لو 10، جو میں جانتا ہوں ایک int ہے. 1519 01:14:52,560 --> 01:14:54,660 لیکن یہ، براہ مہربانی کا علاج،، گویا یہ ایک فلوٹ ہے. 1520 01:14:54,660 --> 01:14:56,680 لیکن یہ غیر ضروری طور پر پیچیدہ محسوس ہوتا ہے. 1521 01:14:56,680 --> 01:14:59,040 >> ہمارے مقاصد کے لئے آج، چلو صرف لفظی دو 1522 01:14:59,040 --> 01:15:02,700 ان کی طرف اشارہ اقدار سچل بنانے ایک اعشاریہ، اس طرح کے ساتھ. 1523 01:15:02,700 --> 01:15:07,060 مجھے آگے بڑھو اور دوبارہچلانے، بنانے گئی imprecision، اچھا، ڈاٹ سلیش 1524 01:15:07,060 --> 01:15:08,870 گئی imprecision، درج. 1525 01:15:08,870 --> 01:15:10,990 ٹھیک ہے، ہم اچھی لگ رہی ہو. 1526 01:15:10,990 --> 01:15:18,194 >> 1 کے مطابق، 10 سے تقسیم میرا یہاں میک، یقینا 0.100000، ہے،. 1527 01:15:18,194 --> 01:15:21,360 اب، میں نے گریڈ اسکول میں سکھایا گیا تھا 0 کا ایک لامحدود تعداد میں ہونا چاہئے. 1528 01:15:21,360 --> 01:15:23,151 تو کم از کم کوشش کرتے ہیں ان میں سے کچھ دیکھنے کے لئے. 1529 01:15:23,151 --> 01:15:26,770 یہ printf ایک چھوٹی سی ہے کہ باہر کر دیتا اچھے اب بھی ہم استعمال کر رہا ہے کے مقابلے میں. 1530 01:15:26,770 --> 01:15:30,890 یہ آپ کی وضاحت کرنے کی ضرورت نہیں ہے باہر کر دیتا ہے صرف فیصد F، یا صرف فیصد میں. 1531 01:15:30,890 --> 01:15:33,830 تم واقعی میں وضاحت کر سکتے ہیں یہ چند کنٹرول کے اختیارات. 1532 01:15:33,830 --> 01:15:36,470 >> خاص طور پر، میں جا رہا ہوں کہنے کے لئے، ارے، printf کے، 1533 01:15:36,470 --> 01:15:39,660 اصل میں مجھے 10 دشملو پوائنٹس دکھائے. 1534 01:15:39,660 --> 01:15:40,820 تو یہ ایک چھوٹا سا عجیب لگ رہا ہے. 1535 01:15:40,820 --> 01:15:42,845 لیکن تم فیصد کا کہنا ہے کہ، ڈاٹ، کتنے نمبرز 1536 01:15:42,845 --> 01:15:44,970 آپ کے بعد دیکھنا چاہتے ہیں دشملو نقطہ، اور اس کے بعد ایف 1537 01:15:44,970 --> 01:15:48,340 فلیٹ کے لئے، اس کی وجہ سے ہے صرف دستاویزی کیا کہتا ہے. 1538 01:15:48,340 --> 01:15:50,080 مجھے آگے بڑھو اور اس کو بچانے کے ہیں. 1539 01:15:50,080 --> 01:15:52,460 >> اور وہ بھی محسوس کریں، میں ہو رہی ہوں چیزوں دوبارہ ٹائپ کرکے کے تھکے ہوئے. 1540 01:15:52,460 --> 01:15:55,900 تو میں صرف کے قیام رہا ہوں اور یہاں میری چابیاں پر تیر. 1541 01:15:55,900 --> 01:15:58,710 اور میں نے اپ کو مارنے رکھنے کے لئے، آپ کو حکم دیتا ہے کے سب دیکھ سکتے ہیں 1542 01:15:58,710 --> 01:16:01,090 کہ میں نے کر دیا، یا غلط طریقے سے بنایا. 1543 01:16:01,090 --> 01:16:04,630 >> اور اب میں آگے جانے کے لئے جا رہا ہوں اور نہیں اصل میں بظاہر اس کا استعمال،. 1544 01:16:04,630 --> 01:16:11,416 گئی imprecision، ڈاٹ بنائیں تاکہ imprecision-- سلیش 1545 01:16:11,416 --> 01:16:13,290 کیا میں اندر سکھایا گیا تھا گریڈ اسکول کے باہر کی جانچ پڑتال کرتا. 1546 01:16:13,290 --> 01:16:19,010 میں نے 10 اعشاریہ کو پرنٹ بھی اگر دیتا، یقینا، 0،10000 ہے. 1547 01:16:19,010 --> 01:16:19,840 لیکن تم کیا جانتے ہو؟ 1548 01:16:19,840 --> 01:16:21,150 >> کی ایک چھوٹی سی لالچی حاصل کرتے ہیں. 1549 01:16:21,150 --> 01:16:23,990 ، کی، کا کہنا ہے کہ جیسے دو میرے 55 دکھائے دشملو کے بعد پوائنٹس. 1550 01:16:23,990 --> 01:16:26,160 کی واقعی میں اس ڈالیں ایک سپن کے لئے باہر پروگرام. 1551 01:16:26,160 --> 01:16:31,170 مجھے بنانے کے ساتھ اس کا ریمیک دو گئی imprecision، ڈاٹ سلیش، گئی imprecision. 1552 01:16:31,170 --> 01:16:32,390 >> اور ہم یہاں جانا. 1553 01:16:32,390 --> 01:16:34,420 اپنے بچپن ایک جھوٹ تھا. 1554 01:16:34,420 --> 01:16:48,410 بظاہر، 1 10 سے تقسیم بے شک ہے 0.100000000000000005551115123-- 1555 01:16:48,410 --> 01:16:49,740 >> کیا ہو رہا ہے؟ 1556 01:16:49,740 --> 01:16:53,360 ٹھیک ہے، یہ تو آپ کی قسم، باہر کر دیتا ہے بنیادی میں باہر اب تک کافی نظر آتے ہیں 1557 01:16:53,360 --> 01:16:55,950 اس کی نمائندگی تعداد میں، یہ اصل 1558 01:16:55,950 --> 01:17:00,400 بالکل نہیں 1/10، یا 0.1 ہے اور ہے zeros کی ایک لامحدود تعداد میں. 1559 01:17:00,400 --> 01:17:01,630 اب، یہ کیوں ہے؟ 1560 01:17:01,630 --> 01:17:06,250 >> ویسے، اگرچہ یہ ایک بہت سادہ ہے ہم سے انسان کے لئے نمبر، 1، 10 سے تقسیم 1561 01:17:06,250 --> 01:17:10,910 یہ اب بھی infinitely کئی میں سے ایک ہے نمبرز ہم کو لگتا ہے کہ ہو سکتا ہے کہ. 1562 01:17:10,910 --> 01:17:14,490 لیکن ایک کمپیوٹر صرف نمائندگی کر سکتے ہیں متناہی تاکہ تعداد. 1563 01:17:14,490 --> 01:17:18,710 اور اگر ایسا ہے، مؤثر طریقے سے، کیا کمپیوٹر ہمیں اس کے قریب ترین ہے دکھا رہا ہے 1564 01:17:18,710 --> 01:17:22,940 تعداد کے سننکٹن ہم 1/10 ہے یقین کرنا چاہتے ہیں، 1565 01:17:22,940 --> 01:17:27,760 یا واقعی 0،10000 اشتھاراتی Infinitum. 1566 01:17:27,760 --> 01:17:30,425 >> بلکہ، اگرچہ، یہ وہ جگہ ہے اسے حاصل کر سکتے ہیں کے طور پر قریب. 1567 01:17:30,425 --> 01:17:32,300 اور، یقینا، آپ کو نظر آتے ہیں تو ہڈ کے نیچے، 1568 01:17:32,300 --> 01:17:37,050 ہم دیکھ کر یہاں ہیں کے طور پر دشملو کے بعد 55 ہندسے، 1569 01:17:37,050 --> 01:17:39,990 ہم اصل میں اس حقیقت کو دیکھنے کے. 1570 01:17:39,990 --> 01:17:42,610 ابھی آپ نے، اگر ایک طرف ایک کے طور پر کبھی movie-- دیکھا 1571 01:17:42,610 --> 01:17:45,780 تم میں سے سب سے زیادہ شاید نے have not لیکن سپرمین 3 کچھ سال پہلے، 1572 01:17:45,780 --> 01:17:49,500 رچرڈ Pryor بنیادی طور پر اس لیوریجڈ ان کی کمپنی میں حقیقت ایک بہت چوری کرنے 1573 01:17:49,500 --> 01:17:53,500 پیسے کی کسور اور مصنوعات کے، company-- مجھے یاد کے طور پر ہے کیونکہ، 1574 01:17:53,500 --> 01:17:57,210 یہ ایک while-- بنیادی طور پر تھا ہو گیا ہے کچھ بھی دور پھینک قابل نہیں تھا کہ 1575 01:17:57,210 --> 01:17:58,790 سینٹ کی کے تصور میں. 1576 01:17:58,790 --> 01:18:01,480 >> لیکن اگر آپ کا اضافہ اگر ان تمام چھوٹے، چھوٹے، چھوٹے دوبارہ نمبروں، 1577 01:18:01,480 --> 01:18:04,960 اور ایک بار پھر، اور پھر آپ کی طرح کر سکتے ہیں، ان کے کیس، پیسے کی ایک اچھی رقم بنانے کے. 1578 01:18:04,960 --> 01:18:08,010 >> اسی خیال کی طرف سے چیر رہا تھا ایک سے زیادہ حال ہی، لیکن اس کے باوجود اب بڑی عمر 1579 01:18:08,010 --> 01:18:10,500 مووی، آفس کے لئے جگہ بلایا، جہاں اس فلم میں لوگ، 1580 01:18:10,500 --> 01:18:13,501 جو مصیبت، ایک ہی کام کیا مکمل طور پر، بہت زیادہ راستے کے ساتھ ختم 1581 01:18:13,501 --> 01:18:14,666 ان کے بینک اکاؤنٹ میں پیسے. 1582 01:18:14,666 --> 01:18:15,800 یہ سب بہت مشکوک تھا. 1583 01:18:15,800 --> 01:18:19,290 لیکن دن کے اختتام پر، گئی imprecision ہمارے چاروں طرف ہے. 1584 01:18:19,290 --> 01:18:22,240 >> اور یہ کہ، بھی، ہو سکتا ہے کیس frighteningly. 1585 01:18:22,240 --> 01:18:25,590 یہ پتہ چلا ہے کہ سپرمین 3 اور دفتر کی جگہ ایک طرف، وہاں 1586 01:18:25,590 --> 01:18:28,460 کچھ بہت اصلی ہو سکتا ہے دنیا اثرات 1587 01:18:28,460 --> 01:18:32,290 imprecise کی حقیقتوں کے اعداد و شمار کی نمائندگی 1588 01:18:32,290 --> 01:18:34,770 کہ ہم بھی انسان کے لئے اس دن ضروری نہیں کہ ایسا 1589 01:18:34,770 --> 01:18:38,230 اس کے ساتھ ساتھ ہمیں چاہئے کے طور پر سمجھنے، یا جیسا کہ اکثر ہمیں چاہئے کے طور پر یاد. 1590 01:18:38,230 --> 01:18:42,950 اور، یقینا، مندرجہ ذیل کلپ ہے کچھ بہت حقیقی دنیا میں ایک نظر سے 1591 01:18:42,950 --> 01:18:47,730 اگر آپ کو کیا ہوتا ہے کے نتائج گئی imprecision کی تعریف نہیں کرتے کہ 1592 01:18:47,730 --> 01:18:50,065 نمبرز نمائندگی میں ہو سکتا ہے. 1593 01:18:50,065 --> 01:18:51,300 >> [ویڈیو پلے بیک] 1594 01:18:51,300 --> 01:18:55,620 >> -Computers، ہم سب کو قبول کرنے آیا ہوں اکثر نراشا مسائل 1595 01:18:55,620 --> 01:19:00,310 عنقریب کیڑے کے ساتھ جانا، وائرس، اور سافٹ ویئر کے glitches، 1596 01:19:00,310 --> 01:19:03,130 چھوٹے قیمت ادا کرنے کے لئے سہولت کے لئے. 1597 01:19:03,130 --> 01:19:07,800 لیکن ہائی ٹیک اور ہائی سپیڈ میں فوجی اور خلائی پروگرام ایپلی کیشنز، 1598 01:19:07,800 --> 01:19:12,800 سب سے چھوٹی مسئلہ سکتے آفت میں عظیم ہے. 1599 01:19:12,800 --> 01:19:18,900 >> جون 4th، 1996 کو، سائنسدانوں سے تیار ایک بغیر پائلٹ ایرین 5 راکٹ شروع کرنے. 1600 01:19:18,900 --> 01:19:21,220 یہ سائنسی لے جا رہا تھا مصنوعی سیارہ ڈیزائن کیا 1601 01:19:21,220 --> 01:19:24,600 مختصرا کس طرح قائم کرنے کے لئے زمین کے مقناطیسی میدان انٹرایکٹ 1602 01:19:24,600 --> 01:19:27,410 شمسی ہواؤں کے ساتھ. 1603 01:19:27,410 --> 01:19:30,800 راکٹ لئے بنایا گیا تھا یورپی خلائی ایجنسی، 1604 01:19:30,800 --> 01:19:34,370 اور اس سہولت سے اٹھا فرانسیسی گیانا کے ساحل پر. 1605 01:19:34,370 --> 01:19:37,540 >> میں کے بارے میں 37 سیکنڈ -At فلائٹ، وہ سب سے پہلے 1606 01:19:37,540 --> 01:19:39,270 محسوس کیا کچھ غلط جا رہا تھا. 1607 01:19:39,270 --> 01:19:42,250 nozzles کے میں swiveling کیا گیا تھا ایک طرح وہ واقعی نہیں کرنی چاہئے. 1608 01:19:42,250 --> 01:19:46,580 پرواز میں 40 سیکنڈ کے ارد گرد، واضح طور پر، گاڑی مصیبت میں تھا. 1609 01:19:46,580 --> 01:19:48,850 >> انہوں نے بنایا ہے جب اور یہ ہے ایک فیصلہ اس کو تباہ کرنے. 1610 01:19:48,850 --> 01:19:52,780 رینج سیفٹی آفیسر، کے ساتھ زبردست ہمت، بٹن دبایا، 1611 01:19:52,780 --> 01:19:58,150 اس سکتا کرنے سے پہلے، راکٹ دھماکے سے اڑا دیا عوام کے تحفظ کے لئے ایک خطرہ بن. 1612 01:19:58,150 --> 01:20:01,060 >> -یہ شادی سے پہلے کا تھا ایرین 5 کے سفر. 1613 01:20:01,060 --> 01:20:03,960 اور اس کی تباہی لے لی کیونکہ ایک دوش کی جگہ 1614 01:20:03,960 --> 01:20:05,822 راکٹ کے سافٹ ویئر میں سرایت. 1615 01:20:05,822 --> 01:20:08,280 ایرین پر -The مسئلہ تھا ایک بڑی تعداد موجود تھی کہ 1616 01:20:08,280 --> 01:20:10,600 ضرورت کا اظہار کرنے کے 64 بٹس. 1617 01:20:10,600 --> 01:20:13,590 اور اگر وہ تبدیل کرنے کے لئے کرنا چاہتا تھا ایک 16 بٹ تعداد میں. 1618 01:20:13,590 --> 01:20:15,610 انہوں نے مانا ہے کہ تعداد میں کبھی نہیں جا رہا تھا 1619 01:20:15,610 --> 01:20:20,980 ، بہت بڑا ہونے والوں میں سب سے زیادہ ہے کہ ایک 64 بٹ تعداد میں ہندسے صفر تھے. 1620 01:20:20,980 --> 01:20:22,440 وہ غلط تھے. 1621 01:20:22,440 --> 01:20:25,060 >> ایک کی -The اسمرتتا سافٹ ویئر پروگرام کو قبول کرنے 1622 01:20:25,060 --> 01:20:29,510 تعداد کی قسم کی طرف سے پیدا ایک اور ناکامی کی جڑ تھا. 1623 01:20:29,510 --> 01:20:34,350 سافٹ ویئر ڈیویلپمنٹ کی ہو گئی تھی ایک نئی ٹیکنالوجی کے بہت مہنگا حصہ. 1624 01:20:34,350 --> 01:20:38,140 ایرین راکٹ بہت کیا گیا ہے کامیاب، تو سافٹ ویئر کے زیادہ تر 1625 01:20:38,140 --> 01:20:41,550 یہ بھی تھا کے لئے پیدا ایرین 5 میں استعمال کیا. 1626 01:20:41,550 --> 01:20:47,940 >> -مندرجہ بنیادی مسئلہ ایرین کہ تھا 5، تیز تھا تیز تر تیز. 1627 01:20:47,940 --> 01:20:51,450 اور سافٹ ویئر نہیں تھا کہ کے لئے حساب. 1628 01:20:51,450 --> 01:20:55,060 >> راکٹ کے -The تباہی ایک بہت بڑا مالی تباہی، تھا 1629 01:20:55,060 --> 01:20:58,790 تمام کی وجہ سے ایک منٹ کے سافٹ ویئر کی خرابی کی. 1630 01:20:58,790 --> 01:21:01,210 لیکن یہ پہلی نہیں تھی وقت اعداد و شمار کے تبادلوں کے مسائل 1631 01:21:01,210 --> 01:21:04,820 جدید راکٹ ٹیکنالوجی دوچار کیا تھا. 1632 01:21:04,820 --> 01:21:08,050 >> -میں 1991، آغاز کے ساتھ پہلی خلیجی جنگ کے، 1633 01:21:08,050 --> 01:21:10,570 پیٹریاٹ میزائل اسی طرح کی ایک قسم کا تجربہ 1634 01:21:10,570 --> 01:21:12,800 تعداد کے تبادلوں مسئلہ کی. 1635 01:21:12,800 --> 01:21:16,090 اور نتیجے کے طور پر، 28 افراد، 28 امریکی فوجی، 1636 01:21:16,090 --> 01:21:19,080 ہلاک ہو گئے تھے، اور کے بارے میں 100 دیگر زخمی، 1637 01:21:19,080 --> 01:21:22,780 جب محب وطن، جس کی توقع تھی آنے والے scuds خلاف کی حفاظت کے لئے، 1638 01:21:22,780 --> 01:21:25,830 ایک میزائل کو برطرف کرنے میں ناکام رہے. 1639 01:21:25,830 --> 01:21:31,670 >> جب عراق نے کویت، اور امریکہ پر حملہ کر دیا ابتدائی 1991 میں صحرا طوفان کا آغاز کیا، 1640 01:21:31,670 --> 01:21:35,780 پیٹریاٹ میزائل بیٹریاں تعینات کر دیے گئے سعودی عرب اور اسرائیل کی حفاظت کے لئے 1641 01:21:35,780 --> 01:21:39,230 عراقی Scud میزائل حملوں سے. 1642 01:21:39,230 --> 01:21:43,810 محب ایک امریکی میڈیم رینج ہے ہوا کے نظام کے لئے کی سطح، پر تیار 1643 01:21:43,810 --> 01:21:45,770 ریتیان کمپنی کی طرف سے. 1644 01:21:45,770 --> 01:21:52,340 >> محب انٹرسیپٹر کی -The سائز خود کے بارے میں تقریبا 20 فٹ لمبی ہے. 1645 01:21:52,340 --> 01:21:55,230 اور یہ تقریبا 2،000 پونڈ کا وزن. 1646 01:21:55,230 --> 01:21:59,320 اور یہ، کے بارے میں کے ایک وار ہیڈ لے جا رہی ہے میرے خیال میں یہ تقریبا 150 پونڈ ہے. 1647 01:21:59,320 --> 01:22:03,930 اور وار ہیڈ خود ہے ایک اعلی دھماکہ خیز مواد، جس میں 1648 01:22:03,930 --> 01:22:07,330 اس کے ارد گرد کے ٹکڑے ہے. 1649 01:22:07,330 --> 01:22:11,680 وار ہیڈ کے سانچے ہے buckshot طرح کام کرنے کے لئے ڈیزائن. 1650 01:22:11,680 --> 01:22:14,110 >> -مندرجہ میزائل کئے جاتے ہیں چار کنٹینر فی، 1651 01:22:14,110 --> 01:22:17,130 اور ایک نیم ٹریلر کی طرف سے منتقل کر رہے ہیں. 1652 01:22:17,130 --> 01:22:24,930 >> -مندرجہ پیٹریاٹ اینٹی میزائل نظام اب کم از کم 20 سال کے لئے واپس چلا جاتا. 1653 01:22:24,930 --> 01:22:28,420 یہ اصل میں ڈیزائن کیا گیا تھا ایک فضائی دفاعی میزائل کے طور پر 1654 01:22:28,420 --> 01:22:30,720 دشمن کے ہوائی جہاز کو نیچے گولی مار کرنے کے لئے. 1655 01:22:30,720 --> 01:22:34,500 پہلی خلیجی جنگ میں، اس جنگ کے نزدیک پہنچے تو 1656 01:22:34,500 --> 01:22:39,745 آرمی کرنے کے لئے استعمال کرنا چاہتے تھے scuds، نہ ہوائی جہاز گولی مار. 1657 01:22:39,745 --> 01:22:43,620 >> عراقی ائر فورس میں تھا ایک مسئلہ کی بہت زیادہ نہیں. 1658 01:22:43,620 --> 01:22:46,670 لیکن فوج scuds فکر ہو رہی تھی. 1659 01:22:46,670 --> 01:22:50,170 اور تاکہ وہ کرنے کی کوشش کی محب کو اپ گریڈ. 1660 01:22:50,170 --> 01:22:52,800 >> ایک دشمن -Intercepting میزائل مچھ 5 میں سفر 1661 01:22:52,800 --> 01:22:55,830 کافی چیلنج کیا جا رہا تھا. 1662 01:22:55,830 --> 01:22:58,490 لیکن جب محب وطن خدمت میں لے جایا گیا، 1663 01:22:58,490 --> 01:23:02,860 فوج ایک سے آگاہ نہیں تھا عراقی ترمیم کی گئی ہے کہ 1664 01:23:02,860 --> 01:23:05,930 ان scuds کو مارنے کا تقریبا ناممکن. 1665 01:23:05,930 --> 01:23:10,740 >> کیا ہوا scuds ہے میں آ رہے تھے غیر مستحکم تھے. 1666 01:23:10,740 --> 01:23:11,692 انہوں بالز Wobbling رہے تھے. 1667 01:23:11,692 --> 01:23:14,910 اس کی وجہ یہ تھی عراقیوں کے لئے، 1668 01:23:14,910 --> 01:23:18,280 600 کلومیٹر کے فاصلے پر حاصل کرنے کے لئے ایک 300 کلومیٹر سے باہر 1669 01:23:18,280 --> 01:23:21,700 رینج میزائل، وزن میں لے لیا سامنے وار ہیڈ سے باہر. 1670 01:23:21,700 --> 01:23:23,390 وہ وار ہیڈ ہلکا بنا دیا. 1671 01:23:23,390 --> 01:23:27,330 >> تو اب محب وطن ہے Scud کی اوپر آنے کی کوشش کر. 1672 01:23:27,330 --> 01:23:30,230 اور زیادہ تر وقت، وقت کی غالب اکثریت، 1673 01:23:30,230 --> 01:23:32,940 یہ صرف Scud کی طرف پرواز کرے گا. 1674 01:23:32,940 --> 01:23:37,260 محب نظام آپریٹرز ایک بار ، محب اپنے ہدف یاد کیا احساس ہوا 1675 01:23:37,260 --> 01:23:41,690 وہ محب وطن کے وار ہیڈ سے اڑا لیا اگر ممکن ہو جانی نقصان سے بچنے کے لئے 1676 01:23:41,690 --> 01:23:44,570 زمین پر گرنے کی اجازت دی گئی. 1677 01:23:44,570 --> 01:23:48,790 >> سب سے زیادہ لوگوں نے دیکھا یعنی دین تھا، آسمان میں ان بڑے fireballs کی، 1678 01:23:48,790 --> 01:23:54,550 اور کے طور پر غلط سمجھا Scud کی ہتھیاروں کی پکڑے. 1679 01:23:54,550 --> 01:23:56,630 >> رات میں -Although آسمان، پیٹریاٹ شائع ہوا 1680 01:23:56,630 --> 01:24:00,370 کامیابی ہونے کے لئے Dhahran اوپر، Scuds تباہ، 1681 01:24:00,370 --> 01:24:03,360 کوئی غلطی نہیں ہو سکتا اس کی کارکردگی کے بارے میں. 1682 01:24:03,360 --> 01:24:07,970 نہیں، محب وطن کے رڈار نظام آنے والا Scud کی کے کھو ٹریک، 1683 01:24:07,970 --> 01:24:10,721 اور کی وجہ سے شروع کی ہے کبھی نہیں ایک سافٹ ویئر دوش کرنے کی. 1684 01:24:10,721 --> 01:24:14,090 1685 01:24:14,090 --> 01:24:18,940 یہ اسرائیلیوں سب سے پہلے دریافت کون تھا اب نظام پر تھا، 1686 01:24:18,940 --> 01:24:22,690 زیادہ سے زیادہ وقت کے تضادات پائے سرایت ایک گھڑی کی وجہ سے، بن گیا 1687 01:24:22,690 --> 01:24:24,810 نظام کی کمپیوٹر میں. 1688 01:24:24,810 --> 01:24:28,210 >> -کے بارے میں دو ہفتے پہلے Dhahran میں سانحہ، 1689 01:24:28,210 --> 01:24:30,770 اسرائیلیوں کو اطلاع محکمہ دفاع 1690 01:24:30,770 --> 01:24:32,590 کہ نظام وقت کھو رہی تھی. 1691 01:24:32,590 --> 01:24:35,360 تقریبا آٹھ گھنٹے یا چلانے کے بعد، وہ نظام کہ دیکھا 1692 01:24:35,360 --> 01:24:37,720 کافی کم درست ہوتا جا رہا تھا. 1693 01:24:37,720 --> 01:24:41,900 محکمہ دفاع کی طرف سے جواب محب بیٹریاں کے سب کہہ 1694 01:24:41,900 --> 01:24:44,950 نظام نہ چھوڑنے کے لئے ایک طویل وقت کے لئے پر. 1695 01:24:44,950 --> 01:24:49,160 وہ جو ایک طویل وقت نے کبھی نہیں کہا was-- آٹھ گھنٹے، 10 گھنٹے، 1،000 گھنٹے. 1696 01:24:49,160 --> 01:24:51,360 کوئی بھی نہیں جانتا تھا. 1697 01:24:51,360 --> 01:24:53,380 >> -مندرجہ محب بیٹری بیرکوں میں تعینات 1698 01:24:53,380 --> 01:24:58,350 Dhahran اور اس کی ناقص داخلی اوپر 100 گھنٹے سے زائد گھڑی پر کیا گیا تھا 1699 01:24:58,350 --> 01:25:01,670 کی 25th فروری کی رات کو. 1700 01:25:01,670 --> 01:25:05,917 >> -یہ ایک درستگی کے لئے وقت پتہ لگایا کی ایک دوسری اس کے دسویں حصے کے بارے میں. 1701 01:25:05,917 --> 01:25:08,000 اب، ایک ایک سیکنڈ کے دسویں ایک دلچسپ تعداد ہے، 1702 01:25:08,000 --> 01:25:11,920 یہ بیان نہیں کیا جا سکتا ہے کیونکہ ، بائنری میں بالکل جس 1703 01:25:11,920 --> 01:25:16,820 یہ بالکل بیان نہیں کیا جا سکتا ہے کا مطلب کسی بھی جدید ڈیجیٹل کمپیوٹر میں. 1704 01:25:16,820 --> 01:25:18,540 یہ یقین کرنا مشکل ہے. 1705 01:25:18,540 --> 01:25:21,210 >> لیکن ایک مثال کے طور پر اس کا استعمال. 1706 01:25:21,210 --> 01:25:23,540 کے نمبر ایک تیسری ڈالیں. 1707 01:25:23,540 --> 01:25:27,350 ایک تہائی نہیں ہو سکتا بالکل دشملو میں اظہار. 1708 01:25:27,350 --> 01:25:32,080 ایک تہائی 0،333 ہے انفینٹی کے لئے چل. 1709 01:25:32,080 --> 01:25:36,480 >> کے ساتھ ایسا کرنے کے لئے کوئی راستہ نہیں ہے دشملو میں مطلق درستگی. 1710 01:25:36,480 --> 01:25:39,560 یہ بالکل مسئلہ کی طرح ہے کہ محب میں ہوا. 1711 01:25:39,560 --> 01:25:44,100 اب نظام کے بھاگ گیا، بدتر وقت غلطی ہو گیا. 1712 01:25:44,100 --> 01:25:48,890 >> آپریشن کے 100 گھنٹے -کے بعد، وقت میں غلطی صرف تقریبا ایک تہائی تھی 1713 01:25:48,890 --> 01:25:50,600 ایک سیکنڈ کے. 1714 01:25:50,600 --> 01:25:54,210 لیکن ایک کی ھدف بندی کے لحاظ سے میزائل مچھ 5 میں سفر، 1715 01:25:54,210 --> 01:25:58,710 یہ ایک سے باخبر رہنے کے نتیجے میں 600 سے زائد میٹر کی خرابی. 1716 01:25:58,710 --> 01:26:02,120 یہ ایک مہلک غلطی ہو گی کیا پر فوجیوں کے لئے 1717 01:26:02,120 --> 01:26:08,940 کیا ہوا ایک Scud کی لانچ تھا ارلی وارننگ مصنوعی سیارہ کی طرف سے پتہ 1718 01:26:08,940 --> 01:26:12,860 اور وہ Scud کی جانتے تھے کہ ان کے جنرل سمت میں آنے والے. 1719 01:26:12,860 --> 01:26:15,320 وہ نہیں جانتا تھا کہ یہ کہاں آ رہی تھی. 1720 01:26:15,320 --> 01:26:18,250 >> اب یہ ریڈار تک تھا محب نظام کا جزو 1721 01:26:18,250 --> 01:26:23,190 تلاش اور رکھنے کے لئے Dhahran کا دفاع آنے والے دشمن کے میزائل کا ٹریک. 1722 01:26:23,190 --> 01:26:24,609 >> -مندرجہ ریڈار بہت ہوشیار تھا. 1723 01:26:24,609 --> 01:26:26,650 یہ اصل کو ٹریک کرے گا Scud کی کی پوزیشن، 1724 01:26:26,650 --> 01:26:30,350 اور پھر جہاں یہ شاید پیشن گوئی اگلی بار ریڈار بھیجا جائے گا 1725 01:26:30,350 --> 01:26:31,420 ایک باہر پلس. 1726 01:26:31,420 --> 01:26:33,110 کہ ایک رینج گیٹ کہا جاتا تھا. 1727 01:26:33,110 --> 01:26:37,660 >> -Then، ایک بار پیٹریاٹ کافی وقت ہے فیصلہ کرتا ہے 1728 01:26:37,660 --> 01:26:42,450 واپس جاؤ اور اگلے جانچ کرنا منظور اس کا پتہ چلا اعتراض کے لئے محل وقوع، 1729 01:26:42,450 --> 01:26:43,600 اسے واپس چلا جاتا ہے. 1730 01:26:43,600 --> 01:26:48,650 تو یہ غلط واپس چلے گئے جب جگہ، یہ تو کوئی اعتراض دیکھتا. 1731 01:26:48,650 --> 01:26:52,160 اور یہ کوئی بھی نہیں تھا کہ فیصلہ کرتا ہے اعتراض، یہ ایک جھوٹ کا پتہ لگانے تھا، 1732 01:26:52,160 --> 01:26:53,930 اور ٹریک گرتا. 1733 01:26:53,930 --> 01:26:57,030 >> -مندرجہ آنے والا Scud کی غائب ہو گیا ریڈار اسکرین سے. 1734 01:26:57,030 --> 01:27:00,260 اور سیکنڈ کے بعد، یہ بیرکوں میں تنقید کی. 1735 01:27:00,260 --> 01:27:06,150 Scud کی 28 کو قتل کیا اور آخری تھی ایک پہلی خلیجی جنگ کے دوران فائرنگ کی. 1736 01:27:06,150 --> 01:27:11,960 >> بدقسمتی سے، اپ ڈیٹ سافٹ ویئر اگلے دن Dhahran پر پہنچے. 1737 01:27:11,960 --> 01:27:14,930 سافٹ ویئر کے دوش تھا رہا فکسڈ، کلوزنگ 1738 01:27:14,930 --> 01:27:19,806 شورش زدہ میں ایک باب پیٹریاٹ میزائل کی تاریخ. 1739 01:27:19,806 --> 01:27:20,729 >> [ویڈیو پلے بیک] 1740 01:27:20,729 --> 01:27:23,520 DAVID J. MALAN: تو یہ سب کے لئے ہے کہنا اتپرواہ کے ان مسائل 1741 01:27:23,520 --> 01:27:25,860 اور گئی imprecision سب بھی اصلی ہیں. 1742 01:27:25,860 --> 01:27:26,920 تو ہم یہاں کیسے حاصل کیا؟ 1743 01:27:26,920 --> 01:27:28,895 ہم صرف printf کے بارے میں بات کر کے ساتھ شروع ہوا. 1744 01:27:28,895 --> 01:27:31,270 ایک بار پھر، اس تقریب کہ پردے پر کچھ پرنٹ، 1745 01:27:31,270 --> 01:27:33,450 اور ہم نے اس کے بعد متعارف کرایا چند دیگر افعال 1746 01:27:33,450 --> 01:27:34,945 نام نہاد CS50 کی لائبریری سے. 1747 01:27:34,945 --> 01:27:36,910 اور ہم جاری رکھیں گے کی وجہ سے وقت میں ان کو دیکھنے کے. 1748 01:27:36,910 --> 01:27:40,760 اور ہم، خاص طور پر، حاصل سٹرنگ کا استعمال کیا، اور int حاصل، اور اب بھی فلوٹ حاصل، 1749 01:27:40,760 --> 01:27:44,410 اور ابھی تک دوسروں اب بھی ہم سامنا کریں گے اور طویل سے پہلے خود استعمال کرتے ہیں. 1750 01:27:44,410 --> 01:27:47,220 >> لیکن اس موقع پر، پڑے ہم پہلے ہی ایک ضرورت کو دیکھا 1751 01:27:47,220 --> 01:27:50,520 واپس کیا ان افعال ہاتھ کو ذخیرہ کرنے کے لئے؟ 1752 01:27:50,520 --> 01:27:52,920 وہ ہم واپس ایک تار کے حوالے، یا ایک int، یا فلوٹ. 1753 01:27:52,920 --> 01:27:56,070 اور کبھی کبھی ہم کہ ڈال کرنے کی ضرورت ہے سٹرنگ، یا INT، یا فلوٹ، کہیں. 1754 01:27:56,070 --> 01:28:00,100 >> اور ان چیزوں کو ذخیرہ کرنے، صرف یاد کرتے ہیں شروع میں کی طرح، ہم متغیر ہے. 1755 01:28:00,100 --> 01:28:03,260 لیکن شروع میں برعکس، C میں ہم اصل اقسام ہیں 1756 01:28:03,260 --> 01:28:05,530 متغیر ڈیٹا کی اقسام، زیادہ generally-- 1757 01:28:05,530 --> 01:28:08,640 ان کے درمیان، ایک سٹرنگ، ایک int، ایک فلوٹ، اور ان دوسروں کو اب بھی. 1758 01:28:08,640 --> 01:28:12,321 >> اور اس طرح ہم C میں متغیر کا اعلان کرتے ہیں، ہم اپنے ڈیٹا کی اقسام کا اعلان کرنا پڑے گا. 1759 01:28:12,321 --> 01:28:14,820 یہ کچھ نہیں ہے ہم کریں گے سمسٹر میں بعد کیا کرنا ہے 1760 01:28:14,820 --> 01:28:16,810 جیسا کہ ہم دوسری زبانوں میں منتقل. 1761 01:28:16,810 --> 01:28:19,610 لیکن اب کے لئے، ہم نے کی ضرورت ہے ایڈوانس میں ایک priori کے لیے، 1762 01:28:19,610 --> 01:28:24,370 کمپیوٹر کس قسم سمجھاو متغیر کی ہم یہ ہمیں دینا چاہتا ہوں. 1763 01:28:24,370 --> 01:28:27,290 >> ابھی، اسی اثناء میں، پرنٹ کرنے کے لئے ڈیٹا کی اقسام کی ان اقسام، 1764 01:28:27,290 --> 01:28:29,570 ہم بتا printf سے توقع کیا ہے. 1765 01:28:29,570 --> 01:28:32,450 اور ہم، ڈور کے لئے فیصد ے دیکھا اور integers کے لئے فی صد میں، 1766 01:28:32,450 --> 01:28:33,790 اور چند پہلے سے ہی دوسروں. 1767 01:28:33,790 --> 01:28:37,237 اور ان لوگوں کو صرف ضروریات ہیں بصری پریزنٹیشن کے لئے 1768 01:28:37,237 --> 01:28:38,070 کہ معلومات کی. 1769 01:28:38,070 --> 01:28:42,080 >> اور ان میں سے ہر ایک اصل میں ہو سکتا ہے parametrized یا کسی طرح سے tweaked کیا، 1770 01:28:42,080 --> 01:28:45,370 آپ کنٹرول کو آگے بڑھانے کے لئے چاہتے ہیں آؤٹ پٹ کی قسم آپ کو ملتا ہے کہ. 1771 01:28:45,370 --> 01:28:49,604 اور، اصل میں، یہ باہر کر دیتا ہے کہ نہ صرف ایک نئی سطر کے لئے (ن) بھی ہے. 1772 01:28:49,604 --> 01:28:52,520 ورنہ الٹا سلیش کہا جاتا ہے کچھ بھی نہیں ہے ایک گاڑی کی واپسی، کے لئے R جس 1773 01:28:52,520 --> 01:28:54,360 ایک سے ماخوذ ہے پرانے اسکول ٹائپ رائٹر، 1774 01:28:54,360 --> 01:28:57,690 اور یہ بھی ونڈوز کئی سال کے لئے استعمال کیا جاتا ہے. 1775 01:28:57,690 --> 01:28:59,690 >> ٹیبز کے لئے الٹا سلیش T ہے. 1776 01:28:59,690 --> 01:29:03,170 باہر کر دیتا ہے، آپ چاہتے ہیں کہ اگر ایک تار کے اندر ڈبل اقتباس، 1777 01:29:03,170 --> 01:29:05,000 ہم نے استعمال کیا ہے کہ یاد آوری ڈبل اقتباس ڈبل 1778 01:29:05,000 --> 01:29:07,900 بائیں اور دائیں پر اقتباس اس طرح اب تک ہماری ڈور کی ختم ہو جاتی ہے. 1779 01:29:07,900 --> 01:29:09,420 وہ چیزیں جو الجھانے کے لئے لگ رہے ہو گے. 1780 01:29:09,420 --> 01:29:12,503 >> آپ میں ایک ڈبل اقتباس ڈال کرنا چاہتے ہیں تو ایک تار اور، بے شک کے وسط، 1781 01:29:12,503 --> 01:29:13,670 اسے دیکھنے کے لئے بردوست ہے. 1782 01:29:13,670 --> 01:29:17,120 اور اس طرح آپ کے لئے تو، فرار ہونے کی ہے بول، کچھ کے ساتھ ایک ڈبل اقتباس 1783 01:29:17,120 --> 01:29:18,860 کی طرح، لفظی، ڈبل اقتباس الٹا سلیش. 1784 01:29:18,860 --> 01:29:20,230 اور اب بھی چند دوسری بات ہے. 1785 01:29:20,230 --> 01:29:24,540 اور ہم نے ان میں سے زیادہ نظر آئے گا طویل عرصے سے پہلے اصل استعمال میں. 1786 01:29:24,540 --> 01:29:27,930 >> تو اب سے منتقلی کی اجازت اعداد و شمار، اور نمائندگی کی، 1787 01:29:27,930 --> 01:29:30,820 اور ریاضی کے آپریٹرز، تمام جس کے بارے میں ہمیں کچھ عمارت دی 1788 01:29:30,820 --> 01:29:32,070 جس کے ساتھ بلاکس کو کھیلنے کے لئے. 1789 01:29:32,070 --> 01:29:34,481 لیکن اب اصل دے ہمارے ذخیرہ الفاظ کے باقی 1790 01:29:34,481 --> 01:29:36,230 ہم نے پہلے ہی تھا کہ سکریچ کے ساتھ گزشتہ ہفتے 1791 01:29:36,230 --> 01:29:39,350 کچھ دوسرے پر ایک نظر لینے کی طرف سے C-- میں تشکیل ان میں سے نہیں. 1792 01:29:39,350 --> 01:29:41,680 لیکن نظریات ہم ہیں واقعی صرف دیکھنے والے 1793 01:29:41,680 --> 01:29:45,610 سے ترجمہ زور دینا ایک زبان، سکریچ، دوسرے میں، C. 1794 01:29:45,610 --> 01:29:48,470 >> اور وقت کے ساتھ، ہم اٹھا لیں گے ہمارے ٹول کٹ کے لئے مزید اوزار، 1795 01:29:48,470 --> 01:29:49,820 syntactically ہے، تو بات کرنے کی. 1796 01:29:49,820 --> 01:29:54,190 اور، یقینا، آپ کے خیالات پر نظر آئے گا ابھی گزشتہ ہفتے سے بجائے واقف ہیں. 1797 01:29:54,190 --> 01:29:55,200 تو ایسا کرنے دو. 1798 01:29:55,200 --> 01:29:58,870 >> آگے بڑھو اور ایک پروگرام کوڑا دو کہ اصل میں کچھ اظہار کا استعمال کرتا، 1799 01:29:58,870 --> 01:30:00,720 ایک بولین اظہار. 1800 01:30:00,720 --> 01:30:02,810 مجھے آگے یہاں جانے دو اور ایک نئی فائل بنانے. 1801 01:30:02,810 --> 01:30:06,090 میں نے اس condition.c فون کروں گا. 1802 01:30:06,090 --> 01:30:09,350 >> مجھے آگے جانے دو اور CS50 لائبریری شامل. 1803 01:30:09,350 --> 01:30:12,640 اور مجھے آگے جانا ہے اور اس میں شامل ہونے دیں ہمارے افعال کے لئے معیاری io.h، 1804 01:30:12,640 --> 01:30:14,690 اور printf کے، اور زیادہ بالترتیب. 1805 01:30:14,690 --> 01:30:18,900 مجھے اپنے آپ پر کہ نمونہ دینے کرو int اہم باطل، جن کی وضاحت ہم کریں گے 1806 01:30:18,900 --> 01:30:20,360 واپس مستقبل میں آتے ہیں. 1807 01:30:20,360 --> 01:30:23,820 >> اب مجھے آگے جانا ہے اور دے دو اپنے آپ کو حاصل INT ذریعے ایک int. 1808 01:30:23,820 --> 01:30:25,970 پھر مجھے آگے بڑھو اور اس کے کیا. 1809 01:30:25,970 --> 01:30:30,150 میں نے دو less-- ہے تو میں کہنا چاہتا ہوں مثبت، منفی درمیان تمیز، 1810 01:30:30,150 --> 01:30:31,260 یا صفر اقدار. 1811 01:30:31,260 --> 01:30:36,630 >> تو میں صفر سے بھی کم ہے، مجھے دو صرف اس پروگرام کو صرف کا کہنا ہے، 1812 01:30:36,630 --> 01:30:42,370 منفی، الٹا سلیش (ن)، ورنہ میں صفر سے زیادہ ہو تو. 1813 01:30:42,370 --> 01:30:47,030 اب میں ہوں، ظاہر کی، کہنے جا مثبت، (ن) printf کے. 1814 01:30:47,030 --> 01:30:50,690 اور پھر تو میں ایسا کر سکتا if--. 1815 01:30:50,690 --> 01:30:53,410 >> میں نے کے برابر ہے، تو 0 میں کر سکتا. 1816 01:30:53,410 --> 01:30:55,840 لیکن میں بنا رکھا تھا پہلے سے ہی کم از کم ایک غلطی. 1817 01:30:55,840 --> 01:30:59,480 برابر علامت ہے کہ یاد کرتے ہیں برابر نہیں، ہم انسانوں کو یہ پتہ ہے کے طور پر. 1818 01:30:59,480 --> 01:31:01,010 >> لیکن یہ تفویض آپریٹر ہے. 1819 01:31:01,010 --> 01:31:05,640 اور ہم پر 0 لینے کے لئے نہیں کرنا چاہتا دائیں اور بائیں طرف میں میں ڈال دیا. 1820 01:31:05,640 --> 01:31:11,810 لہذا اس الجھن سے بچنے کے لئے، یا شاید برابر کے غلط استعمال پر دستخط، 1821 01:31:11,810 --> 01:31:14,740 انسانوں کچھ سال پہلے کا فیصلہ بہت سے پروگرامنگ زبانوں میں 1822 01:31:14,740 --> 01:31:18,000 آپ مساوات کے لئے کی جانچ کرنا چاہتے ہیں جب بائیں اور دائیں کے درمیان، 1823 01:31:18,000 --> 01:31:19,635 آپ اصل میں برابر کا استعمال. 1824 01:31:19,635 --> 01:31:21,010 تو آپ کو برابر دو بار دستخط مارا. 1825 01:31:21,010 --> 01:31:25,600 آپ صحیح سے تفویض کرنا چاہتے ہیں تو بائیں کرنے کے لئے، آپ کو کسی ایک ہی علامت کا استعمال کرتے ہیں. 1826 01:31:25,600 --> 01:31:29,360 تو ہم this-- ورنہ ایسا کر سکتا ہے صفر کے برابر میں برابر تو. 1827 01:31:29,360 --> 01:31:31,710 >> میں نے تو جانا ہے اور کر سکتے تھے میرے گھوبگھرالی منحنی خطوط وحدانی کے کھولنے، 1828 01:31:31,710 --> 01:31:36,087 اور کہتے ہیں، printf کے 0، (ن)، کیا. 1829 01:31:36,087 --> 01:31:38,170 لیکن کس طرح ان کو یاد راستے میں کانٹے کام کر سکتے ہیں. 1830 01:31:38,170 --> 01:31:39,836 اور، واقعی، صرف منطق کے بارے میں سوچنا. 1831 01:31:39,836 --> 01:31:41,510 میں نے ایک نمبر ہے. 1832 01:31:41,510 --> 01:31:43,320 یہ خاص طور پر ایک عددی ہے،. 1833 01:31:43,320 --> 01:31:48,600 اور اس کا مطلب یہ کم ہو رہا ہے 0، یا 0، یا 0 سے بڑا مقابلے میں. 1834 01:31:48,600 --> 01:31:51,600 تو اس کی قسم ہے تقاضا ڈیفالٹ کیس. 1835 01:31:51,600 --> 01:31:54,920 >> اور اس طرح ہم، صرف پسند کر سکتا ہے سکریچ،، ورنہ تو اس کے ساتھ تقسیم 1836 01:31:54,920 --> 01:31:55,747 اور صرف کسی اور کا کہنا ہے کہ. 1837 01:31:55,747 --> 01:31:57,830 منطقی طور پر، اگر آپ کو پروگرامر صرف وہاں ہے 1838 01:31:57,830 --> 01:32:01,635 تین بالٹیاں جس کی وجہ سے میں منظر نامے، پہلی fall-- سکتے ہیں 1839 01:32:01,635 --> 01:32:03,510 دوسرے، یا تیسرے اس کی نہیں کرتے معاملے میں 1840 01:32:03,510 --> 01:32:07,100 اضافی صحت سے متعلق انہوں نے مزید کہا کی زحمت اور وہاں اضافی منطق. 1841 01:32:07,100 --> 01:32:09,690 بس کے ساتھ آگے جا یہاں کسی اور کے ڈیفالٹ کیس. 1842 01:32:09,690 --> 01:32:11,950 >> اب، چلو آگے بڑھو اس کو بچانے کے بعد، بنانے 1843 01:32:11,950 --> 01:32:15,760 حالات کے حالات سلیش ڈاٹ نہیں ایک عظیم یوزر انٹرفیس، 1844 01:32:15,760 --> 01:32:18,914 میں نے فورا ہی نہیں کر رہا ہوں، کیونکہ صارف، میں نے پہلے ذکر کیا ہے. 1845 01:32:18,914 --> 01:32:19,580 لیکن یہ ٹھیک ہے. 1846 01:32:19,580 --> 01:32:20,454 ہم اس سادہ رکھیں گے. 1847 01:32:20,454 --> 01:32:21,890 کے نمبر 42 کی کوشش کرتے ہیں. 1848 01:32:21,890 --> 01:32:23,240 اور یہ کہ مثبت ہے. 1849 01:32:23,240 --> 01:32:26,120 کے نمبر کی کوشش کرتے ہیں منفی 42، منفی. 1850 01:32:26,120 --> 01:32:28,244 >> کی قیمت 0 کوشش کرتے ہیں. 1851 01:32:28,244 --> 01:32:29,160 اور، یقینا، یہ کام کرتا ہے. 1852 01:32:29,160 --> 01:32:33,900 اب، تم سے پہلے کے مسائل کے ساتھ نظر آئے گا طویل، ٹیسٹنگ چیزوں میں تین بار، 1853 01:32:33,900 --> 01:32:34,980 شاید کافی نہیں. 1854 01:32:34,980 --> 01:32:37,438 آپ نے شاید کچھ کی جانچ کرنا چاہتے ہیں بڑی تعداد، بعض چھوٹے 1855 01:32:37,438 --> 01:32:40,520 نمبرز، کسی کونے مقدمات، کے طور پر ہم نے ان کو بیان کرنے کے لیے آتا ہوں. 1856 01:32:40,520 --> 01:32:42,500 >> ایک لیکن اب کے لئے، یہ ہے بہت سادہ پروگرام. 1857 01:32:42,500 --> 01:32:45,160 اور میں،، یقین منطقی طور پر جو تین مقدمات میں آتا ہے کہ. 1858 01:32:45,160 --> 01:32:49,360 اور، یقینا، یہاں تک کہ ہم اگرچہ صرف ممکنہ منفی پہلو پر توجہ مرکوز 1859 01:32:49,360 --> 01:32:53,480 گئی imprecision اور فلو کی، میں حقیقت جہاں CS50 کے مسائل کے بہت سے، 1860 01:32:53,480 --> 01:32:56,000 ہم فکر کرنے نہیں جا رہے ہیں کے بارے میں، ہر وقت، 1861 01:32:56,000 --> 01:32:59,050 اتپرواہ میں سے ان لوگوں کے مسائل اور گئی imprecision، کیونکہ، حقیقت میں، سی، 1862 01:32:59,050 --> 01:33:01,889 یہ اصل میں سب نہیں ہے کہ ان چیزوں سے بچنے کے لئے آسان. 1863 01:33:01,889 --> 01:33:04,180 آپ کو شمار کرنے کے لئے چاہتے ہیں، تو بڑا، اور بڑا، اور بڑا، 1864 01:33:04,180 --> 01:33:07,510 اس تکنیک آپ وہاں ہیں باہر کر دیتا ہے اکثر کہا جاتا چیزیں شامل، استعمال کر سکتے ہیں 1865 01:33:07,510 --> 01:33:11,240 لائبریریوں، کوڈ کا مجموعہ، کہ آپ استعمال کر سکتے ہیں کہ دوسرے لوگوں، لکھا 1866 01:33:11,240 --> 01:33:13,910 جیسے اور دیگر زبانوں میں جاوا اور دوسروں، اصل 1867 01:33:13,910 --> 01:33:15,800 یہ ایک بہت آسان کر دے یہاں تک کہ اعلی کو شمار کرنے کے. 1868 01:33:15,800 --> 01:33:19,810 تو یہ واقعی ان خطرات میں سے کچھ ہے زبان آپ استعمال کی ایک تقریب. 1869 01:33:19,810 --> 01:33:22,710 اور آنے والے ہفتوں میں، ہم کریں گے واقعی کتنا خطرناک C دیکھیں 1870 01:33:22,710 --> 01:33:24,950 آپ کو مناسب طریقے سے اس کا استعمال نہیں کرتے ہیں تو ہو سکتا ہے. 1871 01:33:24,950 --> 01:33:27,610 لیکن وہاں سے، اور اس کے ساتھ ازگر، اور جاوا سکرپٹ، گا 1872 01:33:27,610 --> 01:33:32,620 ہم نے کچھ اضافی تحفظات پر پرت، اور ان خطرات کے کم چلاتے ہیں. 1873 01:33:32,620 --> 01:33:35,820 >> تو چلو بنانے میں تھوڑا اور ہمارے پروگرام میں دلچسپ منطق. 1874 01:33:35,820 --> 01:33:39,110 تو مجھے آگے بڑھو اور تخلیق ہیں منطقی نامی پروگرام 1875 01:33:39,110 --> 01:33:43,804 صرف اس میں سے کچھ کے ساتھ ادا کر سکتے ہیں اصل منطق، logical.c. 1876 01:33:43,804 --> 01:33:46,870 میں نے صرف کاپی اور کچھ چسپاں کریں گے اس سے قبل اتنی سے کوڈ میں واپس حاصل کرنے کے 1877 01:33:46,870 --> 01:33:49,950 یہ اچھا نقطہ اغاز پر. 1878 01:33:49,950 --> 01:33:53,980 >> چار C. میں رہا ہوں میرے لئے اس وقت دو یہ سی کے ایک نام دینے جا رہا 1879 01:33:53,980 --> 01:33:58,510 یہ روایتی ہے صرف اس وجہ، صارف کی طرف سے ایک کردار حاصل. 1880 01:33:58,510 --> 01:34:00,730 اور چلو طرح کا ڈرامہ کرنے دو میں نے حصہ پر عمل درآمد کر رہا ہوں 1881 01:34:00,730 --> 01:34:04,130 کہ ری مکس پروگرام کے، ہٹائیں اس سے پہلے پروگرام صارف کی حوصلہ افزائی 1882 01:34:04,130 --> 01:34:05,400 ایک فائل کو دور کرنے کے. 1883 01:34:05,400 --> 01:34:06,750 ہم ایسا کیسے کر سکتا ہے؟ 1884 01:34:06,750 --> 01:34:11,090 >> C کے برابر ہے تو میں، یہ کہنا چاہتا ہوں برابر، اقتباس unquote، 1885 01:34:11,090 --> 01:34:16,304 Y، تو میں فرض کرنے جا رہا ہوں صارف ہاں منتخب کیا ہے کہ. 1886 01:34:16,304 --> 01:34:17,470 میں نے صرف ہاں پرنٹ کرنے کے لئے جا رہا ہوں. 1887 01:34:17,470 --> 01:34:19,440 یہ اصل میں لکھ رہے تھے تو ہٹانے کا پروگرام، 1888 01:34:19,440 --> 01:34:21,420 ہم فائل کو خارج کر سکے کوڈ کے زیادہ لائنوں کے ساتھ. 1889 01:34:21,420 --> 01:34:22,461 لیکن ہم نے اسے سادہ رکھیں گے. 1890 01:34:22,461 --> 01:34:25,950 1891 01:34:25,950 --> 01:34:31,250 >> ورنہ سی کے برابر ہے، اگر (ن) کے برابر ہے اور اب یہاں، میں، کہنے جا رہا ہوں 1892 01:34:31,250 --> 01:34:32,980 صارف کی کوئی مراد لیا ہو گا. 1893 01:34:32,980 --> 01:34:34,360 اور پھر کسی اور، آپ کیا جانتے ہیں؟ 1894 01:34:34,360 --> 01:34:36,200 میں کیا کوئی اور نہیں جانتے صارف ٹائپ کرنے جا رہا ہے. 1895 01:34:36,200 --> 01:34:38,533 تو میں صرف یہ کہنا جا رہا ہوں کہ ایک غلطی، جو کچھ بھی ہے 1896 01:34:38,533 --> 01:34:40,070 وہ اصل ٹائپ. 1897 01:34:40,070 --> 01:34:41,180 >> تو کیا یہاں کیا ہو رہا ہے؟ 1898 01:34:41,180 --> 01:34:44,530 ایک بنیادی فرق ہے میں نے ماضی میں کیا کیا ہے کے مقابلے میں. 1899 01:34:44,530 --> 01:34:49,300 ڈبل قیمت درج کرنے، ڈبل قیمت درج کرنے، ڈبل کی قیمت درج کرنے، اور، ابھی تک، ایک کی قیمت درج، 1900 01:34:49,300 --> 01:34:50,170 ایک کی قیمت درج. 1901 01:34:50,170 --> 01:34:52,860 اس وقت جب کہ، C میں پتہ چلا آپ کو ایک تار لکھنے کے لئے چاہتے، 1902 01:34:52,860 --> 01:34:56,680 آپ سے ہم نے صرف کے طور پر ڈبل قیمت درج کرنے کا استعمال کرتے ہیں، printf کے ساتھ یہ سب وقت کا استعمال کیا گیا. 1903 01:34:56,680 --> 01:35:02,030 >> لیکن اگر آپ صرف ایک کے ساتھ نمٹنے کے لئے چاہتے ہیں تو ایک کردار، ایک نام نہاد چار، 1904 01:35:02,030 --> 01:35:03,780 پھر آپ نے واقعی ایک کی قیمت درج کا استعمال. 1905 01:35:03,780 --> 01:35:05,450 آپ کے وہ لوگ پروگرام کیا ہے جو اس سے پہلے، آپ کو نہیں ہو سکتا 1906 01:35:05,450 --> 01:35:07,850 اس کے بارے میں فکر کرنا پڑا بعض زبانوں میں امتیاز. 1907 01:35:07,850 --> 01:35:09,450 C میں، یہ فرق پڑتا ہے. 1908 01:35:09,450 --> 01:35:12,560 اور اگر ایسا ہے تو میں ایک چار ہو جاؤ اور میں چاہتا ہوں برابر کا استعمال کرتے ہوئے چار موازنہ کرنے 1909 01:35:12,560 --> 01:35:18,350 Y یا ن کی طرح کچھ خط کے برابر ہے، مجھے کیا کرنا ہے، یقینا، ایک کی قیمت درج کرنے کی ضرورت ہے. 1910 01:35:18,350 --> 01:35:19,770 >> اب، چلو آگے بڑھو اور اس کے کیا. 1911 01:35:19,770 --> 01:35:26,180 آگے بڑھو اور بنانے کرو منطقی ڈاٹ منطقی سلیش. 1912 01:35:26,180 --> 01:35:27,305 اور اب میں حوصلہ افزائی کی جا رہی ہوں. 1913 01:35:27,305 --> 01:35:30,638 لہذا، شاید، ایک بہتر صارف کے تجربے یہاں کیا کرنا ہے اصل میں مجھے بتاو گے. 1914 01:35:30,638 --> 01:35:33,030 لیکن میں صرف آنکھ بند کرنے جا رہا ہوں ، جی ہاں کے لئے، OK اچھا Y کہنا. 1915 01:35:33,030 --> 01:35:35,780 >> چلو پھر سے چلانے دو، N کوئی لئے، اچھا. 1916 01:35:35,780 --> 01:35:39,610 مجھے معلوم ہے کہ بعض لوگوں کی طرح مان لیں، میرے ٹوپیاں تالا چابی بھی اکثر سب پر ہے. 1917 01:35:39,610 --> 01:35:43,740 تو میں نے غلطی کو دارالحکومت Y، درج کرتے ہیں،. 1918 01:35:43,740 --> 01:35:46,130 OK، جو میں امید کر رہا ہوں بالکل وہی نہیں ہے. 1919 01:35:46,130 --> 01:35:48,170 بے شک، کمپیوٹر لفظی کیا کر رہا ہے 1920 01:35:48,170 --> 01:35:51,794 میں نے کے لئے چیک do-- کو بتایا چھوٹے Y اور چھوٹے ن. 1921 01:35:51,794 --> 01:35:53,960 یہ اچھی طرح محسوس نہیں کرتا صارف کے تجربے، اگرچہ. 1922 01:35:53,960 --> 01:35:59,010 میرے لئے دعا گو ہیں اور قبول کرتے ہیں یا تو کم کیس یا اوپری کیس. 1923 01:35:59,010 --> 01:36:02,090 یہ پتہ چلتا ہے تو، تم چاہتے ہو سکتا ہے اسکریچ میں جیسے کچھ کہنا، 1924 01:36:02,090 --> 01:36:08,150 طرح لفظی یا سی کے برابر ہے دارالحکومت واحد کے حوالے سے کہا Y برابر. 1925 01:36:08,150 --> 01:36:11,400 باہر کر دیتا ہے، C استعمال نہیں ہوئے اس لغوی مطلوبہ لفظ یا. 1926 01:36:11,400 --> 01:36:12,880 >> لیکن یہ دو عمودی سلاخوں ہے. 1927 01:36:12,880 --> 01:36:15,463 آپ، عام طور پر شفٹ منعقد کرنے کا ہے آپ کو ایک US کی بورڈ استعمال کررہے ہیں، 1928 01:36:15,463 --> 01:36:18,910 اور عمودی بار مارا آپ کی واپسی کی کلید اوپر چابی. 1929 01:36:18,910 --> 01:36:22,410 لیکن یہ عمودی بار عمودی بار کا مطلب یا. 1930 01:36:22,410 --> 01:36:26,220 >> تو، اس کے برعکس، ہم چاہتے تھے کہنا اور، سکریچ میں طرح، 1931 01:36:26,220 --> 01:36:28,180 ہم ایمپرسینڈ ایمپرسینڈ ایسا کر سکتا ہے. 1932 01:36:28,180 --> 01:36:31,330 یہی وجہ ہے کہ، یہاں کوئی منطقی احساس کرتا ہے کیونکہ ایک انسان ممکنہ طور پر نہیں کر سکتا 1933 01:36:31,330 --> 01:36:37,110 ٹائپ کیا ہے Y اور چھوٹے Y دونوں اور ایک ہی کردار کے طور پر دارالحکومت Y. 1934 01:36:37,110 --> 01:36:39,470 لہذا یا ہے ہم یہاں کیا ارادہ رکھتے. 1935 01:36:39,470 --> 01:36:46,280 >> تو میں دونوں جگہوں پر ایسا کرتے ہیں تو، یا C برابر برابر دارالحکومت N، اب ہے rerun، 1936 01:36:46,280 --> 01:36:49,390 منطقی بنانے، منطقی ہے rerun. 1937 01:36:49,390 --> 01:36:51,200 اب، میں Y ٹائپ کر سکتے ہیں. 1938 01:36:51,200 --> 01:36:53,920 اور میں کے ساتھ دوبارہ ایسا کر سکتے ہیں دارالحکومت Y، یا سرمایہ N. 1939 01:36:53,920 --> 01:36:56,630 اور میں اضافی میں شامل کر سکتے ہیں اب بھی مجموعے. 1940 01:36:56,630 --> 01:36:58,810 >> تو یہ ایک منطقی ہے اب insofar کے پروگرام 1941 01:36:58,810 --> 01:37:01,940 میں نے کے لئے منطقی طور پر کر رہا ہوں. اس قدر یا اس کی قیمت. 1942 01:37:01,940 --> 01:37:06,420 اور میں نے کی ضرورت نہیں ہے، ضروری نہیں کہ، دو مزید IFS ورنہ IFS کے ساتھ آئے. 1943 01:37:06,420 --> 01:37:09,960 میں واقعی میں سے کچھ جمع کر سکتے ہیں اس طرح سے ایک دوسرے کے ساتھ منطق کے متعلق. 1944 01:37:09,960 --> 01:37:11,950 تو یہ بہتر ہو گا بس کے مقابلے میں ڈیزائن کیا 1945 01:37:11,950 --> 01:37:17,490 ، کہہ C کم کیس Y برابر ہے تو، پرنٹ ہاں، ورنہ سی دارالحکومت Y برابر ہے تو، 1946 01:37:17,490 --> 01:37:20,074 پرنٹ ہاں، کسی اور C کے برابر ہے تو دوسرے الفاظ میں lower--، 1947 01:37:20,074 --> 01:37:21,990 آپ کے پاس کرنے کی ضرورت نہیں ہے زیادہ سے زیادہ شاخیں. 1948 01:37:21,990 --> 01:37:28,840 تم برابر کے کچھ جمع کر سکتے ہیں منطقی طور پر شاخیں، اس طرح سے کے طور پر. 1949 01:37:28,840 --> 01:37:34,150 >> تو صرف ایک پر ایک نظر ڈالیں ہیں حتمی جزو، ایک حتمی تعمیر، 1950 01:37:34,150 --> 01:37:34,847 کہ C اجازت دیتا ہے. 1951 01:37:34,847 --> 01:37:36,930 اور ہم میں واپس آ جائیں گے اب بھی دوسروں کے لئے مستقبل. 1952 01:37:36,930 --> 01:37:41,400 اور پھر ہم کو دیکھ کر یہ نتیجہ اخذ کر لیں گے کوڈ کے نہیں درست اوپر 1953 01:37:41,400 --> 01:37:46,070 work-- لیکن ڈیزائن کے کوڈ حاصل کوڈ کے، اور ابتدائی پر ان لوگوں کے بیج پلانٹ. 1954 01:37:46,070 --> 01:37:51,337 >> تو مجھے آگے بڑھو اور یہاں ایک نئی فائل کو کھولنے. 1955 01:37:51,337 --> 01:37:51,920 آپ کو پتہ ہے؟ 1956 01:37:51,920 --> 01:37:54,450 میں نے دوبارہ عمل درآمد کی جا رہی ہوں اسی پروگرام، 1957 01:37:54,450 --> 01:37:55,940 لیکن ایک مختلف تعمیر کا استعمال کرتے ہوئے. 1958 01:37:55,940 --> 01:38:00,110 >> تو مجھے فوری طور پر اپنے آپ کو دے دو رسائی cs50.h شامل کرنے 1959 01:38:00,110 --> 01:38:04,150 CS50 لائبریری کے لئے، printf کے لئے معیاری io.h. 1960 01:38:04,150 --> 01:38:06,510 مجھے میری int اہم باطل دے. 1961 01:38:06,510 --> 01:38:09,310 اور پھر یہاں، دو مجھے آگے بڑھو اور اس کے کیا. 1962 01:38:09,310 --> 01:38:12,010 >> چار ج ذرا پہلے، چار کی طرح حاصل ہو جاتا ہے. 1963 01:38:12,010 --> 01:38:16,770 اور میں نے ایک نئی تعمیر کو استعمال کرنے کے لئے جا رہا ہوں کیا کردار پر، سوئچ now--؟ 1964 01:38:16,770 --> 01:38:19,820 لہذا سوئچ قسم کی طرح ہے ایک ٹرین کی پٹریوں سوئچنگ. 1965 01:38:19,820 --> 01:38:22,070 یا، واقعی، اس قسم کی ہے ایک باقی ہے تو، اگر کوئی اور تو، 1966 01:38:22,070 --> 01:38:23,980 لیکن کسی حد تک مختلف طریقے سے لکھا. 1967 01:38:23,980 --> 01:38:25,490 >> ایک سوئچ اس طرح لگ رہا. 1968 01:38:25,490 --> 01:38:29,060 آپ کو سوئچ ہے، اور پھر کیا کردار یا آپ کو دیکھنے کے لئے چاہتے ہیں کی تعداد، 1969 01:38:29,060 --> 01:38:32,000 پھر کچھ گھوبگھرالی منحنی خطوط وحدانی میں چاہوں سکریچ، صرف اس چیزیں کہنا. 1970 01:38:32,000 --> 01:38:33,480 اور پھر آپ کو مختلف مقدمات ہیں. 1971 01:38:33,480 --> 01:38:34,830 >> اگر آپ اور کچھ استعمال نہیں کرتے. 1972 01:38:34,830 --> 01:38:37,050 آپ لفظی لفظ کیس استعمال. 1973 01:38:37,050 --> 01:38:38,790 اور تم کچھ اس طرح کہیں گے. 1974 01:38:38,790 --> 01:38:43,820 >> تو ایک چھوٹے Y کی صورت میں، یا ایک سرمایہ Y کی صورت میں، 1975 01:38:43,820 --> 01:38:47,350 آگے بڑھو اور ہاں باہر پرنٹ. 1976 01:38:47,350 --> 01:38:49,020 اور پھر سوئچ سے باہر کو توڑنے. 1977 01:38:49,020 --> 01:38:49,580 یہی ہے. 1978 01:38:49,580 --> 01:38:50,880 ہم کیا کر رہے ہیں. 1979 01:38:50,880 --> 01:38:57,270 >> ، اگر تو بات کرنے کے علاوہ، کم کیس این، یا سرمایہ N، 1980 01:38:57,270 --> 01:39:02,560 تو آگے بڑھو اور پرنٹ باہر کوئی، اور پھر توڑ. 1981 01:39:02,560 --> 01:39:08,022 Else-- اور اس قسم کی ہے پہلے سے طے شدہ کیس indeed-- printf کے error-- 1982 01:39:08,022 --> 01:39:10,980 اور صرف اچھے کی پیمائش کے لئے، اگرچہ منطقی طور پر اس وقفے ضروری نہیں ہے 1983 01:39:10,980 --> 01:39:12,896 ہم آخر میں ہیں کیونکہ ویسے بھی سوئچ کی، 1984 01:39:12,896 --> 01:39:14,520 اب میں سوئچ سے باہر توڑ رہا ہوں. 1985 01:39:14,520 --> 01:39:16,280 تو یہ تھوڑا مختلف لگ رہا. 1986 01:39:16,280 --> 01:39:18,272 >> لیکن، منطقی طور پر، یہ ہے اصل میں برابر. 1987 01:39:18,272 --> 01:39:19,980 اور تم کیوں استعمال کرے گا دوسرے پر ایک؟ 1988 01:39:19,980 --> 01:39:23,220 کبھی کبھی، صرف ذاتی ترجیح، کبھی کبھی جمالیات، 1989 01:39:23,220 --> 01:39:25,420 میں اس کی جانب دیکھنے لگتے تو اب، وہاں کچھ ہے 1990 01:39:25,420 --> 01:39:27,510 لئے کہا جائے گا اس کوڈ کے پڑھنے کی اہلیت. 1991 01:39:27,510 --> 01:39:30,690 میرا مطلب ہے، اس حقیقت یہ ہے کہ کوئی بات نہیں کوڈ کے کمرے میں ہم میں سے بہت کے لئے نئی ہے. 1992 01:39:30,690 --> 01:39:33,515 >> لیکن یہ صرف کی قسم خوبصورت ہے. 1993 01:39:33,515 --> 01:39:37,760 تم، خفی Y، دارالحکومت Y دیکھیں کم کیس N، N دارالحکومت ڈیفالٹ، 1994 01:39:37,760 --> 01:39:40,150 یہ صرف کی قسم چھلانگ ایک طرح سے اپنے آپ کو باہر 1995 01:39:40,150 --> 01:39:42,200 کہ، arguably سب، شاید گزشتہ مثال 1996 01:39:42,200 --> 01:39:45,780 آئی ایف ایس، اور عمودی سلاخوں کے ساتھ، اور کچھ آئی ایف ایس، نہیں ہو سکتا ہے. 1997 01:39:45,780 --> 01:39:51,600 تو یہ واقعی ذاتی کی بات ہے انتخاب، واقعی، یا پڑھنے کی اہلیت، 1998 01:39:51,600 --> 01:39:52,360 کوڈ کے. 1999 01:39:52,360 --> 01:39:58,230 >> لیکن فعالیت کے لحاظ سے، مجھے دو آگے بڑھو اور ایک سوئچ، ڈاٹ سلیش بنانے 2000 01:39:58,230 --> 01:40:05,830 سوئچ، اور اب، خفی Y میں ٹائپ دارالحکومت Y، خفی (ن)، دارالحکومت N، 2001 01:40:05,830 --> 01:40:09,250 ڈیوڈ، کہ ہے کیونکہ دوبارہ کوشش نہیں ایک کردار. 2002 01:40:09,250 --> 01:40:12,050 توقع کے مطابق کی، ایکس، غلطی کرتے ہیں. 2003 01:40:12,050 --> 01:40:15,640 اور، logically-- اور یہ کچھ ہے I general-- بھی حوصلہ افزائی کرے گا 2004 01:40:15,640 --> 01:40:17,790 ہم صرف کریدنے رہے ہیں اگرچہ ان کی خصوصیات میں سے کچھ کی سطح. 2005 01:40:17,790 --> 01:40:20,560 >> اور یہ واضح نہیں ہو سکتا ہے جب آپ اپنے آپ کو، کی بورڈ پر بیٹھ جاؤ 2006 01:40:20,560 --> 01:40:21,370 یہ کیسے کام کرتا ہے؟ 2007 01:40:21,370 --> 01:40:22,240 یہ کیا کریں گے؟ 2008 01:40:22,240 --> 01:40:25,630 کے بارے میں خوبصورت بات ایک لیپ ٹاپ، یا ڈیسک ٹاپ، یا رسائی 2009 01:40:25,630 --> 01:40:29,290 ایک سنکلک کے ساتھ ایک کمپیوٹر پر، اور اس طرح ایک کوڈ ایڈیٹر کے ساتھ، 2010 01:40:29,290 --> 01:40:32,990 آپ کو تقریبا ہمیشہ ان کا جواب دینے کے کر سکتے ہیں ہے صرف کوشش کر اپنے آپ کے لئے سوالات. 2011 01:40:32,990 --> 01:40:36,570 >> اگر بیان بازی ہاتھ میں سوال تھے، 2012 01:40:36,570 --> 01:40:39,540 آپ بھول جائیں تو کیا ہوتا آپ کے وقفے کے بیانات؟ 2013 01:40:39,540 --> 01:40:41,400 جو اصل میں ایک بہت عام بات کرنے کی، 2014 01:40:41,400 --> 01:40:43,540 یہ نظر نہیں ہے کیونکہ جیسے آپ واقعی ان کی ضرورت. 2015 01:40:43,540 --> 01:40:46,790 انہوں نے سچ کو مکمل نہیں آپ ایک خانے یا ایک گھوبگھرالی طرح سوچا 2016 01:40:46,790 --> 01:40:47,714 تسمہ کرتا. 2017 01:40:47,714 --> 01:40:49,630 چلو آگے بڑھو اور کوڈ recompile اور دیکھنے. 2018 01:40:49,630 --> 01:40:53,690 تو سوئچ، ڈاٹ سلیش سوئچ بنانے. 2019 01:40:53,690 --> 01:40:56,435 کی کم کیس میں ٹائپ کریں Y، اوپر کیس، درج. 2020 01:40:56,435 --> 01:40:59,390 2021 01:40:59,390 --> 01:41:00,700 تو میں نے Y ٹائپ. 2022 01:41:00,700 --> 01:41:04,420 >> پروگرام نہیں، ہاں کہا، غلطی، گویا یہ اس کے دماغ تبدیل کر رہا تھا. 2023 01:41:04,420 --> 01:41:09,280 لیکن اس قسم کی کیا ہوتا ہے کیونکہ، تھا ایک سوئچ کے ساتھ پہلی صورت یہ ہے کہ 2024 01:41:09,280 --> 01:41:13,899 میچ بنیادی طور پر مطلب یہ ہے کہ، ارے کمپیوٹر، اس کے نیچے تمام کوڈ کو پھانسی. 2025 01:41:13,899 --> 01:41:16,690 اور آپ کہتے ہیں نہیں ہے تو بریک، یا وقفے نہ کہو، یا وقفے نہ کہو، 2026 01:41:16,690 --> 01:41:19,540 کمپیوٹر اڑانے کی جا رہی ہے ان خطوط کے تمام کے ذریعے 2027 01:41:19,540 --> 01:41:22,779 اور جب تک ان سب کو پھانسی جو کہ گھوبگھرالی تسمہ لئے ہو جاتا ہے. 2028 01:41:22,779 --> 01:41:24,320 تو بریک، یقینا، ضروری ہیں. 2029 01:41:24,320 --> 01:41:27,120 لیکن یہاں ایک takeaway ہے، جب ہے شک میں، کچھ کرنے کی کوشش. 2030 01:41:27,120 --> 01:41:29,510 ہو سکتا ہے کہ سب سے پہلے اپنے کوڈ کو بچانے کے، یا ایک اضافی فائل میں اس کو بچانے کے 2031 01:41:29,510 --> 01:41:32,930 آپ کے بارے میں بہت فکر مند ہیں تو الجھ اور ٹھیک کرنے کے لئے 2032 01:41:32,930 --> 01:41:34,430 کام آپ کو معلوم ہے کہ کام کر رہا ہے. 2033 01:41:34,430 --> 01:41:35,410 >> لیکن چیزوں کی کوشش. 2034 01:41:35,410 --> 01:41:38,074 اور، جیسا کہ ڈرو شاید نہیں کرتے، کمپیوٹر ایسا ہو سکتا ہے کے، 2035 01:41:38,074 --> 01:41:39,490 یا آپ یہاں کچھ بھی منسوخ کروں. 2036 01:41:39,490 --> 01:41:42,790 آپ ہمیشہ واپس آ سکتے ہیں کچھ پہلے ورژن کے لئے. 2037 01:41:42,790 --> 01:41:45,640 >> تو چلو دیکھ کر ختم کرنے دو کوڈ کے ڈیزائن. 2038 01:41:45,640 --> 01:41:49,020 ہم لکھنے کے لئے اب اس کی صلاحیت ہے حالات، اور لکھنے کے loops، 2039 01:41:49,020 --> 01:41:50,850 اور متغیر، اور کال کے افعال. 2040 01:41:50,850 --> 01:41:54,590 لہذا، واضح طور سے، ہم اس قسم کی پشت پر ہیں جہاں ہم، سکریچ کے ساتھ ہفتے پہلے تھے 2041 01:41:54,590 --> 01:42:00,120 ایک کم مجبور متن کے ساتھ ہی سہی اسکریچ سے زیادہ ماحول کی اجازت دیتا ہے. 2042 01:42:00,120 --> 01:42:03,990 >> لیکن ہم حاصل کر لیا ہے کہ کس طرح فوری طور پر محسوس کریں سے لغت، یہ بات ہے یہاں تک کہ اگر 2043 01:42:03,990 --> 01:42:07,570 میں ڈوب کرنے کے لئے تھوڑا وقت لگ کرنے کے لئے جا، اب ہم اس کے ذخیرہ الفاظ کا استعمال کر سکتے ہیں تاکہ 2044 01:42:07,570 --> 01:42:10,320 زیادہ دلچسپ پروگراموں کو لکھنے کے لئے. 2045 01:42:10,320 --> 01:42:12,940 اور چلو ایک بچہ قدم لے کہ طرف، کے طور پر مندرجہ ذیل ہے. 2046 01:42:12,940 --> 01:42:14,890 مجھے آگے جانے دو اور یہاں ایک نئی فائل بنانے کے. 2047 01:42:14,890 --> 01:42:17,750 >> میں نے اس کو فون کرنے جا رہا ہوں prototype.c، اور متعارف کرانے 2048 01:42:17,750 --> 01:42:20,954 پہلی بار کے لئے، کی صلاحیت اپنے اپنے افعال بنانے کے لئے. 2049 01:42:20,954 --> 01:42:22,870 تم میں سے کچھ کو ہو سکتا ہے سکریچ کے ساتھ یہ کام کیا، 2050 01:42:22,870 --> 01:42:25,430 جس کے تحت آپ تشکیل دے سکتے ہیں شروع میں اپنی اپنی مرضی کے بلاکس، 2051 01:42:25,430 --> 01:42:27,892 اور پھر جگہ میں ان کو کھینچ کر لائیں جہاں بھی تم سی میں چاہوں گا 2052 01:42:27,892 --> 01:42:30,100 اور سب سے پروگرامنگ میں زبانوں، آپ کو بالکل ایسا کر سکتے ہیں 2053 01:42:30,100 --> 01:42:33,580 that-- اپنے اپنے افعال بنانے، وہ پہلے سے ہی موجود نہیں ہے تو. 2054 01:42:33,580 --> 01:42:38,660 >> لہذا، مثال کے طور پر، مجھے آگے جانے دو اور cs50.h شامل کریں، اور شامل ہیں 2055 01:42:38,660 --> 01:42:43,110 معیاری io.h، int اہم باطل. 2056 01:42:43,110 --> 01:42:46,020 اور اب ہم ایک ہونا جانے کے لئے تیار پلیس ہولڈر. 2057 01:42:46,020 --> 01:42:48,550 I پرنٹنگ چیزیں رکھنے آج لوگوں کے ناموں کی طرح. 2058 01:42:48,550 --> 01:42:51,910 اور یہ کہ like-- محسوس ہوتا ہے اچھا نہیں ہو گا اگر وہاں 2059 01:42:51,910 --> 01:42:53,936 پرنٹ کا نام نامی ایک تقریب تھی؟ 2060 01:42:53,936 --> 01:42:55,060 میں printf استعمال کرنے کی ضرورت نہیں ہے. 2061 01:42:55,060 --> 01:42:56,976 مجھے یاد کرنے کی ضرورت نہیں تمام فارمیٹ کوڈ. 2062 01:42:56,976 --> 01:43:00,050 میں کیوں، یا کیوں نہیں، مجھ سے پہلے کسی نے 2063 01:43:00,050 --> 01:43:02,980 ایک تقریب میں بلایا تعداد تخلیق نام، کچھ نام دیا ہے کہ، 2064 01:43:02,980 --> 01:43:03,980 صرف اسے باہر پرنٹ؟ 2065 01:43:03,980 --> 01:43:08,700 >> دوسرے الفاظ میں، اگر میں کہوں، ارے، کمپیوٹر، مجھے ایک تار دے 2066 01:43:08,700 --> 01:43:11,870 اس طرح کے لئے صارف پوچھ کر، CS50 کی حاصل سٹرنگ تقریب کے ذریعے. 2067 01:43:11,870 --> 01:43:15,090 ارے، کمپیوٹر، میں اس سٹرنگ ڈال بائیں ہاتھ کی طرف میں متغیر، 2068 01:43:15,090 --> 01:43:16,150 اور یہ کال. 2069 01:43:16,150 --> 01:43:22,150 اور پھر، ارے کمپیوٹر، آگے بڑھو اور پرنٹ شخص کا نام، کیا. 2070 01:43:22,150 --> 01:43:26,240 >> اب، یہ، اچھا ہو گا کیونکہ اس پروگرام، بجا، پر نامزد 2071 01:43:26,240 --> 01:43:29,170 ایسا کرنے کی توقع کی جاتی ہے کے مجھ سے کہتا ہے ان لوگوں تقریب کے ناموں کی راہ کی طرف سے. 2072 01:43:29,170 --> 01:43:32,930 مجھے جانے اور پروٹوٹائپ، درج کریں. 2073 01:43:32,930 --> 01:43:34,930 اور، بدقسمتی سے، اس پرواز کرنے والا نہیں ہے. 2074 01:43:34,930 --> 01:43:39,430 >> Prototype.c، 7 لائن، کردار 5، کی خرابی، ضمنی اعلان 2075 01:43:39,430 --> 01:43:42,960 تقریب پرنٹ نام کے C99، C99 میں غلط ہے 2076 01:43:42,960 --> 01:43:45,130 C کے ایک ورژن کے معنی کہ 1999 میں باہر آئے. 2077 01:43:45,130 --> 01:43:45,730 وہ سب ہے. 2078 01:43:45,730 --> 01:43:48,780 >> تو میں نے پتہ نہیں کیا اس کی سب ابھی تک کا مطلب ہے. 2079 01:43:48,780 --> 01:43:50,810 لیکن میں نے سرخ رنگ میں غلطی کو تسلیم کرتے ہیں. 2080 01:43:50,810 --> 01:43:51,770 یہ بہت واضح ہے. 2081 01:43:51,770 --> 01:43:53,769 >> اور اس کے ساتھ ہے کہ لگتا ہے یہاں سبز کردار، 2082 01:43:53,769 --> 01:43:57,520 مسئلہ، کھلے پرنٹ نام کے ساتھ ہے قوس ے، قوس، نیم بڑی آنت. 2083 01:43:57,520 --> 01:44:01,800 لیکن شامل اعلان تقریب ہم مختصر طور پر اس سے قبل دیکھا. 2084 01:44:01,800 --> 01:44:04,880 یہ بس، کا مطلب ہے، کہ بجنا پتہ نہیں ہے کہ میرا کیا مطلب. 2085 01:44:04,880 --> 01:44:09,000 >> یہ بات ہے کہ میں ایک ڈکشنری کا لفظ استعمال کیا ہے کبھی نہیں دیکھا یا اس سے پہلے سکھایا گیا. 2086 01:44:09,000 --> 01:44:11,950 اور اس طرح میں نے اسے سکھانے کی ضرورت اس تقریب کا مطلب کیا. 2087 01:44:11,950 --> 01:44:13,590 تو میں نے آگے جانے کے لئے اور ایسا کرنے کے لئے جا رہا ہوں. 2088 01:44:13,590 --> 01:44:17,970 >> میں آگے بڑھو اور لاگو کرنے کے لئے جا رہا ہوں میری اپنی تقریب میں بلایا پرنٹ نام. 2089 01:44:17,970 --> 01:44:24,720 اور میں کہتا ہوں، مندرجہ ذیل کے طور پر، کہ جا رہا ہوں اسے اس، printf کے، ہیلو، فیصد کرتا 2090 01:44:24,720 --> 01:44:27,760 ے، الٹا سلیش (ن)، نام، نیم بڑی آنت. 2091 01:44:27,760 --> 01:44:29,250 تو میں صرف کیا کیا؟ 2092 01:44:29,250 --> 01:44:31,325 >> لہذا اس کے لئے، باہر کر دیتا ہے اپنی خود کی تقریب کو لاگو، 2093 01:44:31,325 --> 01:44:33,845 ہم اس قسم کی کچھ قرضے لے اہم طور پر ایک ہی ساخت کے 2094 01:44:33,845 --> 01:44:35,720 ہم صرف کیا گیا ہے کہ کے لئے لیا جاچکی، اور میں 2095 01:44:35,720 --> 01:44:37,730 جانتے صرف کاپی اور بہت زیادہ کیا چسپاں 2096 01:44:37,730 --> 01:44:39,170 میں نے ماضی میں لکھ رہا ہوں. 2097 01:44:39,170 --> 01:44:40,570 لیکن یہاں پیٹرن نوٹس. 2098 01:44:40,570 --> 01:44:43,750 int، اہم، باطل، ہم علاوہ چڑھاو لیں گے طویل عرصے سے پہلے کہ اصل میں کیا مطلب ہے. 2099 01:44:43,750 --> 01:44:46,160 >> لیکن آج کے لئے، صرف متوازیت محسوس. 2100 01:44:46,160 --> 01:44:48,210 صفر، پرنٹ کا نام، سٹرنگ کا نام، تاکہ وہاں ہے 2101 01:44:48,210 --> 01:44:50,310 ایک جامنی رنگ کے مطلوبہ الفاظ کی، جس میں ہم شروع کرنے جا رہے ہیں 2102 01:44:50,310 --> 01:44:54,067 واپسی کی قسم بلا، کے نام تقریب، اور پھر ان پٹ. 2103 01:44:54,067 --> 01:44:56,400 لہذا، اصل میں، ہم کشید کر سکتے ہیں طرح گزشتہ ہفتے کے اس قسم کے 2104 01:44:56,400 --> 01:44:59,030 کے طور پر، اس کا نام یا ہے کوڈ ہم ہیں کے الگورتھم 2105 01:44:59,030 --> 01:45:00,761 لکھنا ہے کے لئے جا بنیادی الگورتھم 2106 01:45:00,761 --> 01:45:02,010 کوڈ ہم لکھنے کے لئے جا رہے ہیں. 2107 01:45:02,010 --> 01:45:03,180 >> یہ اس کی ان پٹ ہے. 2108 01:45:03,180 --> 01:45:04,670 یہ اس کی پیداوار ہے. 2109 01:45:04,670 --> 01:45:08,730 یہ تقریب، پرنٹ کا نام، ہے نام نامی ایک سٹرنگ لینے کے لئے ڈیزائن کیا گیا، 2110 01:45:08,730 --> 01:45:11,350 یا جو کچھ بھی، ان پٹ کے طور، اور پھر باطل. 2111 01:45:11,350 --> 01:45:13,904 یہ، کچھ بھی واپس نہیں کرتا جیسے تار حاصل یا INT کرتا حاصل. 2112 01:45:13,904 --> 01:45:15,570 تو اسے واپس مجھ سے کچھ حوالے کرنے جا رہا ہے. 2113 01:45:15,570 --> 01:45:17,960 یہ صرف ایک کی ضرورت کے لئے جا رہا ہے ضمنی اثر، تو بات کرنے کی، 2114 01:45:17,960 --> 01:45:19,570 ایک شخص کا نام پرنٹ کے. 2115 01:45:19,570 --> 01:45:22,260 تو نوٹس، 7 لائن، I پرنٹ کا نام کال کر سکتے ہیں. 2116 01:45:22,260 --> 01:45:25,920 لائن 10 میں، میں وضاحت کر سکتے ہیں یا پرنٹ کے نام پر عملدرآمد. 2117 01:45:25,920 --> 01:45:28,450 لیکن، بدقسمتی سے، کہ نہ کافی ہے. 2118 01:45:28,450 --> 01:45:31,230 >> مجھے آگے جانے دو اور محفوظ کرنے کے بعد اس recompile. 2119 01:45:31,230 --> 01:45:33,910 واہ، اب، میں نے اسے بنایا ہے بدتر، یہ لگتا ہے. 2120 01:45:33,910 --> 01:45:37,027 کی اتنی ضمنی اعلان تقریب پرنٹ نام غلط ہے. 2121 01:45:37,027 --> 01:45:38,360 اور، ایک بار پھر، وہاں زیادہ غلطیوں ہے. 2122 01:45:38,360 --> 01:45:41,430 لیکن میں بھی، اس سے قبل خبردار طور آپ کے ساتھ ابیبھوت ہو تو، 2123 01:45:41,430 --> 01:45:44,850 یا ایک چھوٹا سا دکھ اتنے دیکھنا غلطیاں، پہلے پر صرف توجہ مرکوز 2124 01:45:44,850 --> 01:45:47,500 صرف ابتدائی طور پر، کیونکہ یہ شاید ایک جھرن کاری اثر پڑا ہے. 2125 01:45:47,500 --> 01:45:51,970 C، یا بجنا تو زیادہ خاص طور پر، اب بھی پرنٹ کے نام کو تسلیم نہیں کرتا. 2126 01:45:51,970 --> 01:45:54,580 >> اور یہ کہ کیونکہ بجنا ہے، ڈیزائن کی طرف سے، اس قسم کی گونگا ہے. 2127 01:45:54,580 --> 01:45:56,280 یہ صرف آپ کو ایسا کرنے پر یہ بتانے ہے کرتا ہے. 2128 01:45:56,280 --> 01:46:00,950 اور یہ صرف ترتیب میں ایسا کرتا ہے جس میں آپ کو ایسا کرنے کی یہ بتا. 2129 01:46:00,950 --> 01:46:05,270 >> تو میں نے، لائن چار اہم تعریف کی ہے جیسے ہم بہت کثرت سے کر رہا ہوں. 2130 01:46:05,270 --> 01:46:07,980 میں لائن 10 پر پرنٹ نام وضاحت کی گئی ہے. 2131 01:46:07,980 --> 01:46:11,793 لیکن میں استعمال کرنے کے لئے کوشش کر رہا ہوں سطر سات پر پرنٹ نام. 2132 01:46:11,793 --> 01:46:13,670 >> یہ بھی جلد ہی، ابھی تک موجود نہیں ہے. 2133 01:46:13,670 --> 01:46:19,150 لہذا میں ہوشیار ہونا، اور طرح ہو سکتا ہے، ٹھیک ہے، تو صرف ساتھ کھیلنے کی اجازت، 2134 01:46:19,150 --> 01:46:23,680 اور پرنٹ کے نام تک منتقل یہاں، اور دوبارہ مرتب. 2135 01:46:23,680 --> 01:46:24,550 یا الله. 2136 01:46:24,550 --> 01:46:25,260 یہ کام کر گیا. 2137 01:46:25,260 --> 01:46:26,670 یہ کہ کے طور پر آسان تھا. 2138 01:46:26,670 --> 01:46:28,120 >> لیکن منطق بالکل ہے. 2139 01:46:28,120 --> 01:46:30,870 آپ بجنا سکھانے کے لئے ہے جو کچھ اس پہلی تقریب وضاحت کی طرف سے ہے. 2140 01:46:30,870 --> 01:46:31,920 اس کے بعد آپ اسے استعمال کر سکتے. 2141 01:46:31,920 --> 01:46:33,940 لیکن، واضح طور سے، اس محسوس ہوتا ہے ایک مستحکم ڈھال کی طرح. 2142 01:46:33,940 --> 01:46:35,773 >> تو ہر وقت میں چلانے کے ایک مسئلہ میں، میں نے صرف ہوں 2143 01:46:35,773 --> 01:46:39,450 اجاگر اور کوڈ کو کاپی کرنے کے لئے جا میں نے لکھا تھا، اسے کاٹا اور اسے یہاں چسپاں. 2144 01:46:39,450 --> 01:46:41,370 اور، یقینا، ہم کر سکتے تھے کچھ منظرنامے تدبیر 2145 01:46:41,370 --> 01:46:43,286 جہاں ایک تقریب شاید ایک اور بات کرنے کی ضرورت. 2146 01:46:43,286 --> 01:46:46,030 اور تم صرف ہر نہیں ڈال سکتا ہر دوسرے کے اوپر کی تقریب. 2147 01:46:46,030 --> 01:46:47,930 >> تو یہ بدل جاتا ہے وہاں ایک بہتر حل. 2148 01:46:47,930 --> 01:46:50,100 ہم یہ ہو چھوڑ سکتے ہیں. 2149 01:46:50,100 --> 01:46:53,677 اور، واضح طور سے، یہ عام طور پر اچھا ہے، اور آسان، اور اچھا ڈیزائن 2150 01:46:53,677 --> 01:46:56,760 مرکزی پہلے ڈالنے کے لئے، کیونکہ، ایک بار پھر، صرف سبز پرچم پر کلک کیا جب کی طرح اہم، 2151 01:46:56,760 --> 01:46:59,027 اس تقریب ہے ڈیفالٹ کی طرف سے قتل ہو جاتا. 2152 01:46:59,027 --> 01:47:01,110 تو تم اس کے ساتھ ساتھ ڈال سکتا فائل کے سب سے اوپر اس کے 2153 01:47:01,110 --> 01:47:03,560 تاکہ آپ کو یا کسی بھی وقت جب دیگر انسانی کی فائل کو دیکھتا ہے 2154 01:47:03,560 --> 01:47:06,360 آپ کو کیا ہو رہا ہے پتہ ہے صرف مرکزی پہلے پڑھنے کی طرف سے. 2155 01:47:06,360 --> 01:47:15,360 یہ پتہ چلتا ہے تو، ہم بجنا بتا سکتے ہیں مستعدی، ارے، بجنا، چار آن لائن، 2156 01:47:15,360 --> 01:47:17,940 میں لاگو کرنے کے لئے وعدہ کرتا ہوں ایک تقریب میں بلایا تعداد 2157 01:47:17,940 --> 01:47:22,600 نام ایک تار بلایا نام لیتا ہے کہ ان پٹ، اور ریٹرن کچھ نہیں، باطل کے طور پر. 2158 01:47:22,600 --> 01:47:24,770 اور میں کے ارد گرد حاصل کر لیں گے بعد میں اس پر عمل درآمد. 2159 01:47:24,770 --> 01:47:25,680 >> یہاں مین آتا ہے. 2160 01:47:25,680 --> 01:47:29,130 مین اب لائن پر 9 استعمال کر سکتے ہیں پرنٹ کریں نام، کیونکہ بجنا 2161 01:47:29,130 --> 01:47:32,600 کہ یقین کرنے کے ہے، بالآخر، جو تعریف کا سامنا کریں گے 2162 01:47:32,600 --> 01:47:34,880 کی تعداد نام نفاذ کی. 2163 01:47:34,880 --> 01:47:37,390 تو میری فائل کو بچانے کے بعد، دو مجھے آگے بڑھو اور پروٹوٹائپ بنانے، 2164 01:47:37,390 --> 01:47:38,498 اچھا اس وقت لگ رہا ہے. 2165 01:47:38,498 --> 01:47:43,470 ڈاٹ، سلیش پروٹوٹائپ، مجھے دو آگے بڑھو اور ایک کا نام میں ٹائپ کریں. 2166 01:47:43,470 --> 01:47:48,440 ڈیوڈ، ہیلو ڈیوڈ، Zamila، ہیلو Zamila، اور، بے شک، اب یہ کام کرتا ہے. 2167 01:47:48,440 --> 01:47:52,200 >> تو یہاں جزو ہے کہ ہم کر لیا ہے ایک اپنی مرضی کی طرح، ایک اپنی مرضی کی تقریب بنا دیا 2168 01:47:52,200 --> 01:47:54,219 سکریچ بلاک کے ہم اس کو بلا رہے ہیں. 2169 01:47:54,219 --> 01:47:57,010 لیکن سکریچ برعکس جہاں آپ کر سکتے ہیں صرف اسے تخلیق اور اس کا استعمال شروع، 2170 01:47:57,010 --> 01:47:59,330 اب ہم ایک ہونا پڑے گا زیادہ pedantic چھوٹی، 2171 01:47:59,330 --> 01:48:03,410 اور اصل میں بجنا کو تربیت استعمال کرنے کے لئے، یا یہ توقع کرنا. 2172 01:48:03,410 --> 01:48:09,140 اب، جیسا کہ ایک ایک طرف، یہ سب وقت ہے یہی ہم سمیت ایمان پر صرف آنکھ بند کر دیا گیا 2173 01:48:09,140 --> 01:48:12,170 cs50.h، میں، اور معیاری io.h سمیت؟ 2174 01:48:12,170 --> 01:48:15,190 >> ویسے، یہ پتہ چلتا ہے، چند دوسری چیزوں کے درمیان، 2175 01:48:15,190 --> 01:48:18,550 تمام ہے کہ ان لوگوں کو ڈاٹ H میں ہے فائلوں، ہو جس میں فائلوں کے لیے. 2176 01:48:18,550 --> 01:48:20,460 انہوں ہیڈر فائلوں، تو بات کرنے کی کر رہے ہیں. 2177 01:48:20,460 --> 01:48:23,270 وہ اب بھی سی میں لکھا ہو لیکن وہ فائل کی ایک مختلف قسم ہو. 2178 01:48:23,270 --> 01:48:28,690 >> ابھی کے لئے، آپ کو بہت زیادہ فرض کر سکتے ہیں cs50.h، میں کے اندر ہے کہ تمام ہے کہ 2179 01:48:28,690 --> 01:48:33,360 اس طرح کچھ ایک liners، نہیں ہے کہا جاتا پرنٹ نام افعال کے لئے، 2180 01:48:33,360 --> 01:48:36,840 لیکن تار حاصل کی، حاصل کریں فلوٹ، اور چند دیگر. 2181 01:48:36,840 --> 01:48:41,510 اور اسی طرح prototypes کی ہیں، کسی ایک liners کے، معیاری io.h کے اندر 2182 01:48:41,510 --> 01:48:46,241 printf کے، میں اب ہے، جس کے لئے میری اپنی پرنٹ نام کی تقریب. 2183 01:48:46,241 --> 01:48:49,490 تو دوسرے الفاظ میں، اس پورے وقت سے ہم نے صرف آنکھ بند کاپی اور چسپاں کر دیا گیا 2184 01:48:49,490 --> 01:48:51,780 اس میں شامل ہیں، شامل ہیں کہ، کیا ہو رہا ہے؟ 2185 01:48:51,780 --> 01:48:55,310 لوگ سراگ کے صرف قسم کے ہیں کیا افعال کے طور بجنا 2186 01:48:55,310 --> 01:49:00,170 رہے ہیں، یقینا، لاگو کیا، صرف دوسری جگہوں پر مختلف فائلوں میں 2187 01:49:00,170 --> 01:49:02,440 کہیں اور سسٹم پر. 2188 01:49:02,440 --> 01:49:05,160 >> تو ہم نے پرنٹ کے نام کو لاگو کیا ہے. 2189 01:49:05,160 --> 01:49:07,910 اس کے اس طرف کا اثر ہے سکرین پر کچھ پرنٹنگ. 2190 01:49:07,910 --> 01:49:10,170 لیکن یہ اصل میں ایسا نہیں ہوتا مجھے کچھ واپس حوالے. 2191 01:49:10,170 --> 01:49:12,200 ہم کے بارے میں جانے کے لئے کس طرح ایک پروگرام پر عمل پیرا ہے کہ 2192 01:49:12,200 --> 01:49:14,510 مجھے کچھ واپس حوالے کرتا ہے؟ 2193 01:49:14,510 --> 01:49:15,580 >> ویسے، چلو اس کی کوشش کرتے ہیں. 2194 01:49:15,580 --> 01:49:21,360 مجھے آگے بڑھو اور لاگو کرتے ہیں ایک فائل کہا جاتا return.c 2195 01:49:21,360 --> 01:49:24,530 تو ہم کس طرح کچھ کا مظاہرہ کر سکتے جیسے تار حاصل، یا int حاصل، 2196 01:49:24,530 --> 01:49:27,340 اصل میں واپس آ رہا ہے صارف کو واپس کچھ. 2197 01:49:27,340 --> 01:49:29,840 آگے بڑھو اور int اہم باطل کی وضاحت کرتے ہیں. 2198 01:49:29,840 --> 01:49:33,230 >> اور، ایک بار پھر، مستقبل میں، ہم کریں گے کہ int اور یہ کہ باطل کیا معلوم 2199 01:49:33,230 --> 01:49:34,090 اصل میں کر رہا ہے. 2200 01:49:34,090 --> 01:49:35,840 لیکن آج کے لئے، ہم کریں گے اس کو تحفہ کے طور پر لیں. 2201 01:49:35,840 --> 01:49:39,970 I، آگے اور printf کے جانے کے لئے جا رہا ہوں ایک اچھا صارف کے تجربے کے لئے، ایکس ہے. 2202 01:49:39,970 --> 01:49:44,360 اور پھر میں نے کے لئے انتظار کرنے جا رہا ہوں صارف کو حاصل int کے ساتھ ایکس مجھے دینا. 2203 01:49:44,360 --> 01:49:48,459 >> اور پھر میں نے آگے جانے کے لئے جا رہا ہوں اور مربع ایکس باہر پرنٹ. 2204 01:49:48,459 --> 01:49:50,500 تو آپ کو صرف ایک ہے جب کی بورڈ، عام لوگوں 2205 01:49:50,500 --> 01:49:52,600 چھوٹی گاجر کا استعمال کی بورڈ پر علامت 2206 01:49:52,600 --> 01:49:55,330 اقتدار میں نمائندگی کے لئے کے، یا کے مائپادک. 2207 01:49:55,330 --> 01:49:58,960 لہذا مربع X میں موجود ہے. 2208 01:49:58,960 --> 01:50:00,660 >> اور اب میں ایسا کرنے جا رہا ہوں. 2209 01:50:00,660 --> 01:50:03,940 میں نے صرف ایکس کیا do-- سکتا ہے مربع؟ X مربع X اوقات ایکس ہے. 2210 01:50:03,940 --> 01:50:06,690 >> اور ہم نے اس میں کچھ وقت پہلے پہلے سے ہی آج. 2211 01:50:06,690 --> 01:50:08,730 اس طرح محسوس نہیں کرتا تمام زیادہ پیش رفت. 2212 01:50:08,730 --> 01:50:09,570 آپ کو پتہ ہے؟ 2213 01:50:09,570 --> 01:50:13,100 کے اس خیال کی کچھ بیعانہ دو تجرید کی پچھلی بار سے. 2214 01:50:13,100 --> 01:50:16,080 >> یہ تو اچھا نہیں ہو گا نامی ایک تقریب نہیں ہے 2215 01:50:16,080 --> 01:50:18,460 مربع بالکل اس کرتا ہے؟ 2216 01:50:18,460 --> 01:50:20,640 اب بھی یہ، کے اختتام پر دن، ایک ہی ریاضی کرتا ہے. 2217 01:50:20,640 --> 01:50:22,410 لیکن خلاصہ بتائیں دور لینے کا خیال 2218 01:50:22,410 --> 01:50:25,280 ایک ہی نمبر سے ضرب ایک اور، اور صرف اس کا نام دیں، 2219 01:50:25,280 --> 01:50:27,360 کی طرح اس قدر مربع. 2220 01:50:27,360 --> 01:50:29,560 >> اور، دوسرے الفاظ میں، میں C، کی ایک تقریب کی تخلیق ہیں 2221 01:50:29,560 --> 01:50:32,660 کہا جاتا مربع بالکل اس کرتا ہے. 2222 01:50:32,660 --> 01:50:34,600 اس اسکوائر کو بلایا جا رہا ہے. 2223 01:50:34,600 --> 01:50:35,790 یہ ایک int لے جا رہا ہے. 2224 01:50:35,790 --> 01:50:37,820 اور ہم صرف کریں گے گے ڈیفالٹ کی طرف سے ن کہتے،. 2225 01:50:37,820 --> 01:50:39,403 >> لیکن ہم یہ ہم چاہتے ہیں کچھ بھی کہہ سکتے ہیں. 2226 01:50:39,403 --> 01:50:42,900 اور سب اس کے لئے جا رہا ہے کہ لفظی، واپسی ہے ایسا، 2227 01:50:42,900 --> 01:50:45,810 ن اوقات (ن) کا نتیجہ. 2228 01:50:45,810 --> 01:50:48,980 لیکن یہ ہے کیونکہ کسی چیز کے واپس لوٹنے، جس 2229 01:50:48,980 --> 01:50:53,690 میں جامنی رنگ سے ہم نے مطلوبہ الفاظ کی ہے پہلے کبھی نہیں دیکھا، میں نے، 11 لائن پر، 2230 01:50:53,690 --> 01:50:55,410 نہیں صرف باطل اس وقت کہہ سکتے ہیں. 2231 01:50:55,410 --> 01:51:01,320 >> صفر، مثال میں ہم نے ابھی دیکھا پرنٹ نام کے بجائے، صرف، کا مطلب ہے کہ 2232 01:51:01,320 --> 01:51:02,190 کچھ کرو. 2233 01:51:02,190 --> 01:51:04,170 لیکن مجھے کچھ واپس حوالے نہیں کرتے. 2234 01:51:04,170 --> 01:51:06,790 اس صورت میں، میں چاہتی ہو واپس کرنے کے لئے (ن) کے اوقات (ن)، 2235 01:51:06,790 --> 01:51:08,460 یا یہ کہ جو کچھ بھی ہے، وہ نمبر. 2236 01:51:08,460 --> 01:51:12,460 >> تو میں نہیں کہہ سکتا، ارے، کمپیوٹر، I باطل کچھ بھی نہیں واپس آ جائیں،. 2237 01:51:12,460 --> 01:51:16,166 یہ، فطرت کی طرف لوٹ آئے ایک int ہو رہا ہے. 2238 01:51:16,166 --> 01:51:17,790 اور تو ہے کہ یہاں کیا ہو رہا ہے کہ تمام ہے. 2239 01:51:17,790 --> 01:51:20,070 >> مربع کی ان پٹ ایک int ہونے جا رہا ہے. 2240 01:51:20,070 --> 01:51:24,760 اور تاکہ ہم اس کا استعمال کر سکتے ہیں، جو ضروری ہے ایک نام ہے، N. یہ پیداوار جا رہا ہے 2241 01:51:24,760 --> 01:51:26,240 ایک نام کی ضرورت نہیں ہے کہ ایک int. 2242 01:51:26,240 --> 01:51:29,590 ہم آپ کو مین پر چھوڑ کر سکتے ہیں، یا جو بھی ہے اس کی قیمت تو ہمیں یاد کرنے کے لئے مجھے استعمال کرتے ہوئے 2243 01:51:29,590 --> 01:51:31,120 اس کی اپنی متغیر کے ساتھ چاہتے ہیں. 2244 01:51:31,120 --> 01:51:33,230 >> اور، ایک بار پھر، صرف نئے یہاں مطلوبہ لفظ کی واپسی ہے. 2245 01:51:33,230 --> 01:51:34,480 اور میں صرف کچھ ریاضی کر رہا ہوں. 2246 01:51:34,480 --> 01:51:41,825 میں واقعی غیر ضروری ہونا چاہتے تھے تو، میں کہہ سکتا INT مصنوعات کو ملتا ن اوقات ن. 2247 01:51:41,825 --> 01:51:44,170 >> اور پھر میں مصنوعات کو واپس، کہہ سکتے ہیں. 2248 01:51:44,170 --> 01:51:47,360 لیکن، پھر، میرے نقطہ کرنے کے اوائل یہ صرف نہیں کیا جا رہا اچھے design-- 2249 01:51:47,360 --> 01:51:50,060 کی طرح، کیوں ایک نام کو متعارف کرانے، ایک علامت، مصنوعات کی طرح، 2250 01:51:50,060 --> 01:51:51,570 صرف فوری طور پر اس کو واپس کرنے کے لئے؟ 2251 01:51:51,570 --> 01:51:53,670 یہ ایک چھوٹا سا صاف ستھرا ہے، ایک چھوٹا سا سخت، تاکہ 2252 01:51:53,670 --> 01:51:59,380 صرف واپسی (ن) بار کہنے کے لئے بات کرنے کے لئے، ن، یکسر اس لائن سے چھٹکارا حاصل. 2253 01:51:59,380 --> 01:52:02,860 >> اور یہ، پڑھنے کے لئے صرف کم کوڈ ہے غلطیوں کے لئے کم موقع. 2254 01:52:02,860 --> 01:52:05,180 اور ہے تو آپ یہ دیکھتے ہیں اصل میں اب کام کرتا ہے. 2255 01:52:05,180 --> 01:52:09,380 اب، میں جا رہا ہوں آگے اور واپسی بنانے کے. 2256 01:52:09,380 --> 01:52:11,460 >> افوہ، تقریب کے ضمنی اعلان. 2257 01:52:11,460 --> 01:52:14,080 میں نے پہلے کوئی بڑی بات یہ غلطی کی ہے،. 2258 01:52:14,080 --> 01:52:18,950 مجھے صرف ٹائپ کریں، یا اجاگر اور کاپی، بالکل وہی تقریب پروٹوٹائپ، 2259 01:52:18,950 --> 01:52:21,342 یا دستخط، یہاں تقریب کی. 2260 01:52:21,342 --> 01:52:22,800 یا مجھے پوری تقریب منتقل کر سکتے ہیں. 2261 01:52:22,800 --> 01:52:23,841 >> لیکن یہ ایک چھوٹا سا سست ہے. 2262 01:52:23,841 --> 01:52:24,870 تو ہم ایسا نہیں کریں گے. 2263 01:52:24,870 --> 01:52:27,960 اب، مجھے واپسی بنانے کے لئے ہیں ایک بار پھر، سلیش واپسی ڈاٹ. 2264 01:52:27,960 --> 01:52:32,790 >> X 2. ایکس مربع جاتا ہے 4. X 3. ایکس مربع ہے 9 ہے. 2265 01:52:32,790 --> 01:52:35,300 اور تقریب لگتا اب کام کرنے کی. 2266 01:52:35,300 --> 01:52:36,550 تو فرق یہاں کیا ہے؟ 2267 01:52:36,550 --> 01:52:42,520 I، مربع کہا جاتا ہے کہ ایک تقریب ہے اس صورت میں، میں ایک ان پٹ میں ڈال دیا جس میں. 2268 01:52:42,520 --> 01:52:43,830 اور میں ایک پیداوار واپس حاصل. 2269 01:52:43,830 --> 01:52:46,210 اور ابھی تک، ماضی میں، اگر میں نے دوسری مثال کھولنے 2270 01:52:46,210 --> 01:52:51,640 ، پہلے سے جس prototype.c کہا جاتا تھا، 2271 01:52:51,640 --> 01:52:54,770 میں پرنٹ نام، تھا جس میں باطل واپس آئے، تو بات کرنے کی، 2272 01:52:54,770 --> 01:52:58,730 یا پھر یہ کچھ بھی نہیں واپس آئے، اور محض ایک ضمنی اثر تھا. 2273 01:52:58,730 --> 01:53:00,230 >> تو کیا یہاں کیا ہو رہا ہے؟ 2274 01:53:00,230 --> 01:53:03,520 ویسے، تقریب پر غور صرف ایک لمحے کے لئے سٹرنگ حاصل. 2275 01:53:03,520 --> 01:53:06,570 ہم تقریب کا استعمال کرتے ہوئے کر رہا ہوں مندرجہ ذیل طریقے سے تار حاصل. 2276 01:53:06,570 --> 01:53:10,464 >> ہم نے ایک تقریب حاصل پڑا ہے سٹرنگ، طرح، cs50.h شامل کریں 2277 01:53:10,464 --> 01:53:16,624 معیاری io.h، int، اہم، باطل شامل. 2278 01:53:16,624 --> 01:53:18,790 اور پھر ہر وقت میرے پاس اس طرح اب تک حاصل سٹرنگ بلایا، 2279 01:53:18,790 --> 01:53:23,260 میں نے کہا ہے کچھ، کی طرح سٹرنگ ، تار حاصل ہو جاتا ہے کیونکہ تار 2280 01:53:23,260 --> 01:53:27,880 چلو اس get.c-- حاصل سٹرنگ بلالے خود ایک تار واپس کہ میں نے تو یہ کر سکتے ہیں 2281 01:53:27,880 --> 01:53:32,050 استعمال، اور، کا کہنا ہے کہ ہیلو، کوما، فیصد ے، الٹا سلیش (ن)، ے. 2282 01:53:32,050 --> 01:53:35,660 >> تو یہ ایک ہی مثال ہے، واقعی، ہم نے پہلے کیا تھا کہ. 2283 01:53:35,660 --> 01:53:37,920 تو سٹرنگ ایک قدر واپس حاصل. 2284 01:53:37,920 --> 01:53:41,260 لیکن ایک لمحے پہلے، تعداد سٹرنگ ایک قدر واپس نہیں کرتا. 2285 01:53:41,260 --> 01:53:42,721 یہ صرف ایک ضمنی اثر ہے. 2286 01:53:42,721 --> 01:53:44,220 تو یہ ایک بنیادی فرق ہے. 2287 01:53:44,220 --> 01:53:46,710 ہم نے مختلف دیکھا ہے ابھی افعال کی اقسام، 2288 01:53:46,710 --> 01:53:49,490 جن میں سے کچھ واپس آ چکے ہیں اقدار، جن میں سے کچھ نہیں کرتے. 2289 01:53:49,490 --> 01:53:51,890 تو شاید یہ سٹرنگ، یا INT، یا فلوٹ ہے. 2290 01:53:51,890 --> 01:53:53,480 یا شاید یہ صرف باطل ہے. 2291 01:53:53,480 --> 01:53:55,710 >> اور فرق یہ ہے ان افعال ہے کہ 2292 01:53:55,710 --> 01:53:59,940 اعداد و شمار کو حاصل کرنے اور ایک قدر واپس اصل میں ہیں مذاکرات کی میز پر واپس کچھ لانے، 2293 01:53:59,940 --> 01:54:01,110 تو بات کرنے. 2294 01:54:01,110 --> 01:54:03,710 تو آگے بڑھو اور ایک آخری سیٹ پر نظر ڈالیں 2295 01:54:03,710 --> 01:54:09,129 اب، ایک احساس دیتا ہے کہ، مثالوں کے ہم کس طرح طاقت ہو، بے شک، تجریدی بہتر، 2296 01:54:09,129 --> 01:54:11,670 اور بہتر ہے، اور بہتر، یا اس سے زیادہ، اور اس سے زیادہ، اور زیادہ، حکم میں 2297 01:54:11,670 --> 01:54:13,810 لکھنے کے لئے، بالآخر، بہتر کوڈ. 2298 01:54:13,810 --> 01:54:16,860 آگے بڑھو، اور روح میں رہنے دو سکریچ کے، مندرجہ ذیل کام کریں. 2299 01:54:16,860 --> 01:54:21,700 >> مجھے آگے بڑھو اور شامل ہیں cs50.h، میں اور معیاری io.h. 2300 01:54:21,700 --> 01:54:24,010 مجھے آگے بڑھو اور دے دو اپنے آپ کو ایک int، اہم، باطل. 2301 01:54:24,010 --> 01:54:27,380 اور مجھے آگے جانا ہے، اس cough.c بلالے. 2302 01:54:27,380 --> 01:54:35,510 >> اور مجھے آگے اور صرف جانے دو سکریچ طرح، کھانسی / N باہر پرنٹ. 2303 01:54:35,510 --> 01:54:37,170 اور میں اس کو تین بار کیا کرنا چاہتے ہیں. 2304 01:54:37,170 --> 01:54:39,670 لہذا میں ہوں، کورس کے، صرف جا کاپی اور تین بار پیسٹ کرنا. 2305 01:54:39,670 --> 01:54:46,440 اب میں بنانے کے لئے جا رہا ہوں ڈاٹ سلیش کھانسی کھانسی. 2306 01:54:46,440 --> 01:54:50,120 کے اپنے آپ کو تھوڑا اور کمرے دینے کرو یہاں، درج، کھانسی، کھانسی، کھانسی. 2307 01:54:50,120 --> 01:54:53,970 >> ظاہر ہے، نہیں ہے، پہلے سے ہی ایک بہتری کے لئے موقع. 2308 01:54:53,970 --> 01:54:55,679 مجھے کاپی اور چسپاں کیا چند بار آج. 2309 01:54:55,679 --> 01:54:58,261 لیکن یہ صرف اس لئے میں نے نہیں کیا تھا کے طور پر بہت سے حروف ٹائپ کرنا ہے. 2310 01:54:58,261 --> 01:55:00,250 میں اب بھی تبدیل کر دیا گیا کیا کوڈ کا ان لائنوں ہیں. 2311 01:55:00,250 --> 01:55:04,240 >> یہ تین لائنوں، ایک جیسی ہیں جس سست محسوس ہوتا ہے اور بے شک ہے، 2312 01:55:04,240 --> 01:55:07,110 اور شاید صحیح نقطہ نظر نہیں ہے. 2313 01:55:07,110 --> 01:55:11,029 کیا جزو کے ساتھ تو ہم اس کوڈ کو بہتر بنانے کے کر سکتے تھے؟ 2314 01:55:11,029 --> 01:55:12,570 ہم کاپی اور پیسٹ کوڈ کی ضرورت نہیں ہے. 2315 01:55:12,570 --> 01:55:15,070 >> اور، یقینا، اگر آپ محسوس کرتے ہیں کسی بھی وقت اپنے آپ کو کاپی اور چسپاں، 2316 01:55:15,070 --> 01:55:17,700 اور یہاں تک کہ، کوڈ کو تبدیل نہیں مشکلات ایک بہتر طریقہ ہے ہیں. 2317 01:55:17,700 --> 01:55:19,470 اور، یقینا، نہیں ہے. 2318 01:55:19,470 --> 01:55:22,510 مجھے آگے بڑھو اور لوپ کے لئے ایک ایسا، اگرچہ نحو نہ کروں 2319 01:55:22,510 --> 01:55:24,570 ابھی تک قدرتی طور پر آ. 2320 01:55:24,570 --> 01:55:29,494 >> یہ تین بار کیا، صرف مندرجہ ذیل کام کرکے 2321 01:55:29,494 --> 01:55:31,160 اور میں مشق سے یہ پتہ کرنے کے لئے ہو. 2322 01:55:31,160 --> 01:55:32,810 لیکن اب ہم مثالوں کی ایک بڑی تعداد ہے. 2323 01:55:32,810 --> 01:55:34,950 اور آپ دیکھیں گے سب اب بھی زیادہ ریفرنسز. 2324 01:55:34,950 --> 01:55:37,790 >> یہ ہے کہ، 6 لائن پر نحو ہے دوہراتا ہے کہ اسکریچ طرح بہت 2325 01:55:37,790 --> 01:55:40,090 بلاک کے، مندرجہ ذیل تین بار دہرائیں. 2326 01:55:40,090 --> 01:55:41,340 یہ اب کے لئے ایک چھوٹا سا جادو ہے. 2327 01:55:41,340 --> 01:55:43,050 لیکن یہ زیادہ ملے گا، اور زیادہ واقف. 2328 01:55:43,050 --> 01:55:45,050 >> اور اسے دہرانے جا رہا ہے لائن آٹھ میں تین بار، 2329 01:55:45,050 --> 01:55:52,390 کہ میں تو دوبارہ مرتب میک کھانسی اتنا، ڈاٹ سلیش کھانسی، کھانسی، کھانسی، کھانسی. 2330 01:55:52,390 --> 01:55:54,030 یہ اب بھی اسی طرح کام کرتا. 2331 01:55:54,030 --> 01:55:55,550 تو ہے کہ سب ٹھیک ہے اور اچھا ہے. 2332 01:55:55,550 --> 01:55:58,200 لیکن اس سے بہت پر abstracted نہیں ہے. 2333 01:55:58,200 --> 01:55:59,371 >> یہ بالکل صحیح ہے. 2334 01:55:59,371 --> 01:56:01,370 لیکن یہ وہاں کی طرح محسوس ہوتا ایک موقع ہو سکتا ہے، 2335 01:56:01,370 --> 01:56:03,750 کی دنیا میں کے طور پر سکریچ، آغاز کی قسم 2336 01:56:03,750 --> 01:56:07,530 تا کہ یہ چند semantics کے شامل کرنے کے لئے میں نے صرف لوپ کے لئے کچھ بھی نہیں ہے، 2337 01:56:07,530 --> 01:56:09,867 اور ایک تقریب کا کہنا ہے کہ کھانسی، یا کھانسی کرتا. 2338 01:56:09,867 --> 01:56:10,450 آپ کو پتہ ہے؟ 2339 01:56:10,450 --> 01:56:12,620 مجھے ایک بننے کے لئے کوشش کرتے ہیں اس سے بھی تھوڑا کولر، 2340 01:56:12,620 --> 01:56:16,090 اور اصل میں ایک تقریب لکھتے ہیں کہ کچھ ضمنی اثرات ہیں، یہ کھانسی فون کریں. 2341 01:56:16,090 --> 01:56:20,830 >> اور یہ کوئی ان پٹ لیتا ہے، اور پیداوار کے طور پر کوئی قیمت واپس. 2342 01:56:20,830 --> 01:56:22,680 لیکن تم یہ کیا کرتا ہے معلوم ہے؟ 2343 01:56:22,680 --> 01:56:29,370 یہ this-- printf کے کراسکتا unquote جو اقتباس، کھانسی. 2344 01:56:29,370 --> 01:56:32,380 >> اور اب یہاں، میں جا رہا ہوں آگے اور int کے لئے جانے کے لئے، 2345 01:56:32,380 --> 01:56:36,070 میں، صفر ہو جاتا ہے میں سے کم 3، میں پلس پلس. 2346 01:56:36,070 --> 01:56:39,770 میں ہے جو، printf کا کام نہیں کرنے جا رہا ہوں arguably سب ایک کم سطح پر عمل درآمد 2347 01:56:39,770 --> 01:56:40,270 تفصیل کے. 2348 01:56:40,270 --> 01:56:41,353 مجھے کھانسی کے لئے کس طرح کی پرواہ نہیں کرتے. 2349 01:56:41,353 --> 01:56:43,240 میں نے صرف کھانسی تقریب کا استعمال کرنا چاہتے ہیں. 2350 01:56:43,240 --> 01:56:44,840 اور میں صرف کھانسی کو فون کرنے جا رہا ہوں. 2351 01:56:44,840 --> 01:56:46,204 >> اب وجود میں ائی کو نوٹس. 2352 01:56:46,204 --> 01:56:49,370 آپ ایسا نہیں کرتے تو آپ کو ایک تقریب کہتے ہیں یہ، آدانوں مکمل طور پر ٹھیک دینا چاہتا ہوں. 2353 01:56:49,370 --> 01:56:51,780 بس کھلی قوس، بند کر سکتا ہوں قوس، اور آپ کیا کر رہے ہیں. 2354 01:56:51,780 --> 01:56:56,271 >> آپ کو ایک تقریب کی وضاحت کرتے ہیں، یا ، ایک تقریب کے پروٹوٹائپ کا اعلان 2355 01:56:56,271 --> 01:56:58,770 آپ کو پیشگی میں معلوم ہے کہ اگر یہ نہیں ہے کوئی بحث کرنے جا رہا، 2356 01:56:58,770 --> 01:57:01,170 وہاں ان لوگوں کو قوسین میں صفر کہتے ہیں. 2357 01:57:01,170 --> 01:57:05,660 اور یہ کہ بعض ہوتا تمہیں وہ اتفاقی طور پر اسے کا غلط استعمال نہیں کرے گا. 2358 01:57:05,660 --> 01:57:07,020 مجھے آگے بڑھو اور کھانسی بنا دو. 2359 01:57:07,020 --> 01:57:08,540 اور، کورس کی، میں نے ایک غلطی کی ہے. 2360 01:57:08,540 --> 01:57:10,410 >> Dammit، کہ وہاں ہے ضمنی اعلان. 2361 01:57:10,410 --> 01:57:11,325 لیکن یہ ٹھیک ہے. 2362 01:57:11,325 --> 01:57:12,590 یہ ایک آسان حل ہے. 2363 01:57:12,590 --> 01:57:18,240 میں نے صرف پروٹوٹائپ اعلی اپ کی ضرورت ہے میری فائل میں میں نے اصل میں اسے استعمال کر رہا ہوں کے مقابلے میں. 2364 01:57:18,240 --> 01:57:20,070 >> تو اب مجھے کھانسی ایک بار پھر، اچھا بنانے کے لئے ہیں. 2365 01:57:20,070 --> 01:57:20,790 اب، یہ کام کرتا ہے. 2366 01:57:20,790 --> 01:57:22,930 کھانسی، کھانسی، کھانسی، کھانسی بنائیں. 2367 01:57:22,930 --> 01:57:25,930 لہذا اگر آپ کو لگتا ہے ہو سکتا ہم سچ ہو کہ صرف اس مسئلہ انجینئرنگ. 2368 01:57:25,930 --> 01:57:26,763 اور، یقینا، ہم ہیں. 2369 01:57:26,763 --> 01:57:28,870 یہ ایک اچھا نہیں ہے ایک پروگرام کے امیدوار 2370 01:57:28,870 --> 01:57:31,930 کے لئے اس وقت refactoring پر، اور کام کر رہے 2371 01:57:31,930 --> 01:57:35,645 پدانکردوست سڑن بلایا، جہاں آپ کو کچھ کوڈ کے لے، اور اس کے بعد 2372 01:57:35,645 --> 01:57:38,790 آپ کی قسم عنصر چیزیں باہر، تو کے طور پر ان کے لئے زیادہ semantics کے بتانا، 2373 01:57:38,790 --> 01:57:40,930 اور یہ بالآخر طویل مدت کے دوبارہ استعمال. 2374 01:57:40,930 --> 01:57:43,490 لیکن اس کی طرف سے ایک عمارت بلاک ہے زیادہ جدید ترین پروگراموں 2375 01:57:43,490 --> 01:57:45,600 کہ ہم شروع کریں گے طویل عرصے سے پہلے کہ تحریری طور پر 2376 01:57:45,600 --> 01:57:50,090 ہمارے ذخیرہ الفاظ کی اجازت دیتا ہے بہتر کوڈ لکھنے کے لئے ہے جس کے ساتھ. 2377 01:57:50,090 --> 01:57:52,920 اور، یقینا، کی صورت میں آپ دیکھتے ہیں ہم مزید اس وسیع نہیں کر سکتے. 2378 01:57:52,920 --> 01:57:57,984 >> یہ تھوڑا لنگڑا لگتا ہے کہ میں، اہم، لوپ کے لئے اس خوفناک کے بارے میں فکر کرنے کی ضرورت ہے، 2379 01:57:57,984 --> 01:57:59,400 اور بار بار کھانسی کالنگ. 2380 01:57:59,400 --> 01:58:03,050 کیوں میں نے صرف کھانسی نہیں بتا سکتا، تین بار کھانسی، براہ مہربانی؟ 2381 01:58:03,050 --> 01:58:08,170 دوسرے الفاظ میں، میں کیوں نہیں صرف کھانسی اور ایسا کرنے کی ان پٹ کو دے؟ 2382 01:58:08,170 --> 01:58:11,270 >> کیوں میں نے صرف، نہیں کہہ سکتا میں مرکزی کھانسی تین بار. 2383 01:58:11,270 --> 01:58:13,150 اور اب، اس قسم کی جادو ہے. 2384 01:58:13,150 --> 01:58:14,540 یہاں بہت تکراری ہے. 2385 01:58:14,540 --> 01:58:15,940 اور ویسے، ایک بچہ قدم ہے بے شک،. 2386 01:58:15,940 --> 01:58:19,250 >> لیکن صرف صلاحیت پر کہنے کے لئے لائن آٹھ، تین بار کھانسی، 2387 01:58:19,250 --> 01:58:20,730 یہ صرف اتنا زیادہ پڑھنے کے قابل ہے. 2388 01:58:20,730 --> 01:58:24,210 اور، اس کے علاوہ، مجھے پتہ کرنے کی ضرورت نہیں یا کھانسی لاگو کیا جاتا ہے کس طرح دیکھ بھال. 2389 01:58:24,210 --> 01:58:26,460 اور، یقینا، بعد میں میں اصطلاح اور آخری منصوبوں کے لئے، 2390 01:58:26,460 --> 01:58:29,150 آپ کے ساتھ ایک منصوبے سے نمٹنے تو ایک ہم جماعت یا دو ہم جماعتوں، 2391 01:58:29,150 --> 01:58:32,370 آپ کا احساس ہوگا کہ آپ کے لئے جا رہے ہیں کرنے کے لئے ہے، یا کرنے کے لئے، کام کی تقسیم چاہتے ہیں. 2392 01:58:32,370 --> 01:58:34,650 >> اور آپ کا فیصلہ کرنے کے لئے چاہتے ہیں جا رہے ہیں پیشگی، کون کیا کیا جا رہا ہے، 2393 01:58:34,650 --> 01:58:35,483 اور جو ٹکڑوں میں؟ 2394 01:58:35,483 --> 01:58:37,520 اور نہ یہ اچھا ہو گا اگر آپ، مثال کے طور پر، 2395 01:58:37,520 --> 01:58:40,100 تحریری طور پر اہم کے انچارج، کیا لے. 2396 01:58:40,100 --> 01:58:43,470 اور آپ کا روم میٹ، یا آپ پارٹنر زیادہ عام طور پر، 2397 01:58:43,470 --> 01:58:45,230 کھانسی کو لاگو کرنے کا خیال رکھتا ہے. 2398 01:58:45,230 --> 01:58:49,540 >> اور یہ ڈویژن، ان تجرید کی دیواروں، 2399 01:58:49,540 --> 01:58:52,310 یا تجرید کی تہوں تو آپ گے،، سپر طاقتور ہیں 2400 01:58:52,310 --> 01:58:55,480 ، خاص طور پر بڑے کے لئے، کیونکہ زیادہ پیچیدہ پروگراموں اور سسٹمز، 2401 01:58:55,480 --> 01:59:00,070 یہ ایک سے زیادہ لوگوں کو تعمیر کرنے کی اجازت دیتا چیزیں ایک ساتھ، اور بالآخر 2402 01:59:00,070 --> 01:59:02,680 اس طرح سے ایک دوسرے کے ساتھ ان کے کام کو سلائی. 2403 01:59:02,680 --> 01:59:05,332 لیکن، کورس کے، ہم اب کھانسی ٹھیک کرنے کی ضرورت. 2404 01:59:05,332 --> 01:59:07,290 ہم کھانسی بتانے کی ضرورت کہ، ہے، تم کیا جانتے ہو؟ 2405 01:59:07,290 --> 01:59:11,230 آپ ایک لینے کی ضرورت کے لئے جا رہے ان پٹ تاکہ باطل نہیں، لیکن int اور اب. 2406 01:59:11,230 --> 01:59:15,170 آگے بڑھو اور میں ڈال دو INT کھانسی. میں صفر ہو جاتا ہے. 2407 01:59:15,170 --> 01:59:16,890 >> میں نے کتنی بار سے بھی کم ہے. 2408 01:59:16,890 --> 01:59:18,550 میں نے تین پہلے کہا. 2409 01:59:18,550 --> 01:59:20,420 لیکن اس میں کیا چاہتا ہوں نہیں ہے. 2410 01:59:20,420 --> 01:59:25,520 میں عام کیا جا کرنے کھانسی چاہتے تکرار کے کسی بھی تعداد کی حمایت. 2411 01:59:25,520 --> 01:59:28,800 >> لہذا، بے شک، یہ کہ میں چاہتا ہوں ن ہے، جو کچھ بھی صارف مجھ سے کہتا ہے. 2412 01:59:28,800 --> 01:59:31,620 اب میں آگے بڑھو اور پرنٹ کھانسی کہہ سکتے ہیں. 2413 01:59:31,620 --> 01:59:34,750 اور کوئی بات نہیں کیا تعداد صارف، میں گزر جاتا ہے 2414 01:59:34,750 --> 01:59:36,890 میں نے اس پر کئی بار iterate گا. 2415 01:59:36,890 --> 01:59:39,160 >> دن کے آخر میں اتنی، پروگرام ایک جیسی ہے. 2416 01:59:39,160 --> 01:59:42,820 لیکن یہ چیزیں سب کو نوٹس یہاں تک کہ ایک اور فائل میں ہو سکتا ہے. 2417 01:59:42,820 --> 01:59:45,620 بے شک، میں میں نہیں جانتے لمحے کس طرح printf کا لاگو کیا جاتا ہے. 2418 01:59:45,620 --> 01:59:47,980 >> میں اس وقت پتہ نہیں کس طرح حاصل سٹرنگ، یا int حاصل، یا فلوٹ حاصل 2419 01:59:47,980 --> 01:59:48,646 لاگو کیا جاتا ہے. 2420 01:59:48,646 --> 01:59:50,930 اور میں نہیں چاہتا ہوں میری سکرین پر انہیں دیکھ. 2421 01:59:50,930 --> 01:59:55,320 ویسے بھی، میں نے پر توجہ مرکوز کرنے کے لئے شروع کر رہا ہوں میرا پروگرام، ان کے افعال نہیں. 2422 01:59:55,320 --> 01:59:59,070 >> اور اگر ایسا ہے، بے شک، جیسے ہی آپ کے طور پر اس طرح کے کوڈ کو باہر فیکٹرنگ شروع، 2423 01:59:59,070 --> 02:00:01,397 ہم بھی کھانسی منتقل کر سکتے ہیں ایک علیحدہ فائل کرنے کے لئے؟ 2424 02:00:01,397 --> 02:00:02,730 کسی اور نے اس پر عملدرآمد کر سکتے تھے. 2425 02:00:02,730 --> 02:00:06,810 اور آپ اور آپ کے پروگرام بن بہت خوبصورت، اور پڑھنے کے قابل، 2426 02:00:06,810 --> 02:00:10,830 arguably سب، واقعی چار وہیں لائن پروگرام. 2427 02:00:10,830 --> 02:00:13,510 >> تو اب آگے چلتے ہیں اور ایک اور تبدیلی. 2428 02:00:13,510 --> 02:00:16,180 نوٹس کہ میری پروٹوٹائپ سب کو تبدیل کرنے کے لئے ہے. 2429 02:00:16,180 --> 02:00:18,390 تو مجھے تو ہے کہ حل کریں میں چللایا نہ ہو. 2430 02:00:18,390 --> 02:00:22,580 >> کھانسی بنائیں، مجھے ایک بار کھانسی چلانے کے زیادہ، اب بھی ایک ہی بات کر. 2431 02:00:22,580 --> 02:00:26,010 لیکن اب، ہم ایک ہے نوٹس ایک آخری ورژن کے لئے جزو. 2432 02:00:26,010 --> 02:00:26,940 آپ کو پتہ ہے؟ 2433 02:00:26,940 --> 02:00:29,040 میں ضروری، صرف کھانسی نہیں کرنا چاہتا. 2434 02:00:29,040 --> 02:00:30,802 میں زیادہ عام ہے کچھ ہے کرنا چاہتے ہیں. 2435 02:00:30,802 --> 02:00:31,510 تو تم کیا جانتے ہو؟ 2436 02:00:31,510 --> 02:00:32,450 مجھے یہ کرنا چاہتا ہوں. 2437 02:00:32,450 --> 02:00:37,140 مجھے زیادہ سکریچ کی طرح، ہے کرنا چاہتے ہیں ، کرتا ایک کا کہنا بلاک کے، لیکن نہ صرف 2438 02:00:37,140 --> 02:00:38,680 کچھ تو کئی بار کچھ کہنا. 2439 02:00:38,680 --> 02:00:41,510 میں نے اسے ایک بہت ہی خاص سٹرنگ کہنا چاہتا ہوں. 2440 02:00:41,510 --> 02:00:43,850 اور، اس وجہ سے، میں ایسا نہیں کرتے یہ صرف کھانسی کہنا چاہتا ہوں. 2441 02:00:43,850 --> 02:00:47,660 مجھے یہ کہنا چاہتا ہوں جو کچھ بھی سٹرنگ میں منظور کیا جاتا ہے. 2442 02:00:47,660 --> 02:00:49,960 >> تو نوٹس، میں عام کر دیا ہے یہ تو اب جب کہ 2443 02:00:49,960 --> 02:00:53,110 کہہ دو کہ اچھا نام کی طرح لگتا ہے اس کے لئے، سکریچ کی طرح، 2444 02:00:53,110 --> 02:00:55,530 ، دو دلائل لیتا سکریچ برعکس. 2445 02:00:55,530 --> 02:00:56,570 ایک ایک تار ہے. 2446 02:00:56,570 --> 02:00:57,300 ایک ایک int ہے. 2447 02:00:57,300 --> 02:00:58,130 >> اور میں ان کو سوئچ کر سکتے. 2448 02:00:58,130 --> 02:01:00,713 میں صرف کی قسم کے خیال کی طرح پہلا سٹرنگ کہنا، اور پھر 2449 02:01:00,713 --> 02:01:01,940 کس طرح بہت سے پچھلوں. 2450 02:01:01,940 --> 02:01:03,970 باطل کو اب بھی اس کا مطلب ہے کہ کچھ بھی واپس نہیں کرتا. 2451 02:01:03,970 --> 02:01:06,428 یہ صرف بصری طرف ہیں اثرات، [کے ساتھ کی طرح؟ اردن،؟] 2452 02:01:06,428 --> 02:01:08,240 چللانا کی زبانی ضمنی اثر. 2453 02:01:08,240 --> 02:01:12,630 یہ اب بھی کچھ ن بار کرتا، 0 تک، لیکن ن کے برابر نہیں. 2454 02:01:12,630 --> 02:01:14,540 اس کا مطلب یہ ن کل اوقات. 2455 02:01:14,540 --> 02:01:16,540 اور پھر صرف باہر پرنٹ جو کچھ بھی اس سٹرنگ ہے. 2456 02:01:16,540 --> 02:01:19,060 تو میں واقعی عام کیا ہے کوڈ کے اس لائن. 2457 02:01:19,060 --> 02:01:22,460 تو اب، میں نے کس طرح عمل درآمد کرتے کھانسی تقریب؟ 2458 02:01:22,460 --> 02:01:25,520 >> I باطل کھانسی بھی کر سکتے ہیں. 2459 02:01:25,520 --> 02:01:28,501 اور میں اب بھی کس طرح میں لے جا سکتے ہیں کئی بار آپ کو کھانسی کے لئے چاہتے ہیں. 2460 02:01:28,501 --> 02:01:29,250 لیکن تم کیا جانتے ہو؟ 2461 02:01:29,250 --> 02:01:31,240 اب مجھے کیا کہنا پنٹ سکتے ہیں. 2462 02:01:31,240 --> 02:01:36,540 >> I ساتھ کہہ کال کر سکتے ہیں لفظ کھانسی، ن میں گزر. 2463 02:01:36,540 --> 02:01:40,410 اور میں یہ بھی لاگو کرنے کے لئے چاہتے ہیں تو، صرف تفریح ​​کے لئے، ایک چھینک کی تقریب، 2464 02:01:40,410 --> 02:01:42,290 میں نے کئی بار کچھ چھینک کر سکتے ہیں. 2465 02:01:42,290 --> 02:01:47,300 اور میں، میں reusing ن رکھ سکتے کیونکہ اس تناظر یا دائرہ کار میں ہے کہ میٹر کو نوٹس 2466 02:01:47,300 --> 02:01:49,470 اس تقریب کے اندر اندر صرف موجود. 2467 02:01:49,470 --> 02:01:52,767 >> اور (ن) اس سلسلے میں صرف یہاں اس تقریب کے اندر موجود ہے. 2468 02:01:52,767 --> 02:01:54,600 تو ہم واپس آ جائیں گے گنجائش کے ان مسائل. 2469 02:01:54,600 --> 02:02:01,160 اور یہاں، میں نے صرف کہنے جا رہا ہوں، ہیں achoo، اور اس کے بعد (ن) بار، نیم بڑی آنت. 2470 02:02:01,160 --> 02:02:04,340 >> اور اب، میں صرف قرضے لینے کی ضرورت ان کی تقریب یہاں دستخط. 2471 02:02:04,340 --> 02:02:06,290 تو کھانسی درست ہے. 2472 02:02:06,290 --> 02:02:10,090 باطل چھینک اب صحیح ہے. 2473 02:02:10,090 --> 02:02:12,390 >> اور میں اب بھی صرف اتنا کہنا ضرورت. 2474 02:02:12,390 --> 02:02:18,990 تو میں کہتا ہوں، کہنے جا رہا ہوں سٹرنگ، int ن، نیم بڑی آنت. 2475 02:02:18,990 --> 02:02:22,010 اس لیے میں زیادہ انجنیئر کیا ہے heck کے اس پروگرام سے باہر. 2476 02:02:22,010 --> 02:02:23,760 >> اور یہ ایسا نہیں کرتا ضروری یہ ہے مطلب 2477 02:02:23,760 --> 02:02:26,343 تحریری طور پر جب آپ کو کیا کرنا چاہئے پروگراموں میں سے بھی آسان. 2478 02:02:26,343 --> 02:02:29,280 کہ ظاہر ہے کچھ لے واقعی آسان، بہت مختصر، 2479 02:02:29,280 --> 02:02:31,800 اور دوبارہ عمل درآمد راستے میں بہت زیادہ کوڈ کا استعمال کرتے ہوئے. 2480 02:02:31,800 --> 02:02:34,560 لیکن آپ کو اصل میں نظر آئے گا، اور میں وقت، ان مثالوں پر واپس دیکھو 2481 02:02:34,560 --> 02:02:38,610 اور احساس، اوہ، ان مراحل ہیں ہم، اصل میں وسیع کرنے کے لئے لے گئے 2482 02:02:38,610 --> 02:02:40,797 کسی چیز فیکٹر، دن کے آخر میں جب تک 2483 02:02:40,797 --> 02:02:42,380 میرا کوڈ اصل میں بہت مناسب ہے. 2484 02:02:42,380 --> 02:02:45,960 میں نے تین کھانسی کے لئے چاہتے ہیں کیونکہ بار پھر تین بار چھینک، 2485 02:02:45,960 --> 02:02:50,420 میں نے صرف، اس rerun کرنے جا رہا ہوں پروگرام کھانسی بنانے، اور کھانسی چلانے. 2486 02:02:50,420 --> 02:02:53,620 اور میں تین کھانسی ہے اور تین چھینک. 2487 02:02:53,620 --> 02:02:55,990 >> اور اس طرح یہ ایک بنیادی ہے پیرا میٹر، اگر آپ، 2488 02:02:55,990 --> 02:03:00,110 ہم کے بارے میں جانا ہو سکتا ہے کہ کس طرح کے لئے اصل میں ایک پروگرام کو لاگو. 2489 02:03:00,110 --> 02:03:03,220 لیکن ذرا دیکھو ابھی کیا ہے دو ہم اس وقت کے سب کر رہا ہوں 2490 02:03:03,220 --> 02:03:06,940 اور کیا حتمی ٹکڑوں میں سے کچھ اس سادہ کمانڈ کے پیچھے ہیں. 2491 02:03:06,940 --> 02:03:09,620 دن کے آخر میں، ہم نے ہمارے سنکلک طور بجنا کا استعمال کرتے ہوئے کیا گیا. 2492 02:03:09,620 --> 02:03:11,494 ہم سورس لکھ رہا ہوں کوڈ، تبدیل 2493 02:03:11,494 --> 02:03:12,820 مشین کوڈ میں بجنا ذریعے. 2494 02:03:12,820 --> 02:03:15,540 >> اور ہم صرف میک استعمال کر رہا ہوں تاکہ ہمارے اسٹروکس کی سہولت کے لئے 2495 02:03:15,540 --> 02:03:20,740 ہمیں یاد کرنے کی ضرورت نہیں ہے کہ بجنا خود سے ان لوگوں کے منتر. 2496 02:03:20,740 --> 02:03:22,640 لیکن اصل بنائیں کیا کر رہی ہے؟ 2497 02:03:22,640 --> 02:03:24,750 اور، کے نتیجے میں، کیا بات ہے بجنا اصل میں کر؟ 2498 02:03:24,750 --> 02:03:28,790 >> ہم آسان کر دیا ہے، حالانکہ یہ باہر کر دیتا ہے آج کی یہ کہہ کر بحث، 2499 02:03:28,790 --> 02:03:33,090 آپ، ماخذ کوڈ لے کے طور پر اسے منظور آپ کو دیتا ہے جس میں ایک سنکلک، ان پٹ 2500 02:03:33,090 --> 02:03:35,750 مشین کی پیداوار کوڈ، بدل جاتا ہے وہاں 2501 02:03:35,750 --> 02:03:37,420 وہاں کے اندر کچھ مختلف اقدامات. 2502 02:03:37,420 --> 02:03:41,940 اور مرتب چھتری ہونا ہوتا اقدامات کی ایک پوری چڑھانے کے لئے مدت. 2503 02:03:41,940 --> 02:03:43,970 لیکن صرف چڑھاو دو اس سے باہر واقعی بہت تیزی سے. 2504 02:03:43,970 --> 02:03:48,070 >> یہ ہم کر رہا ہوں باہر کر دیتا ہے زیادہ سے زیادہ چیزوں کو ہر بار میں نے ایک پروگرام چلائیں، 2505 02:03:48,070 --> 02:03:50,990 یا ہر بار میں نے آج ایک پروگرام مرتب. 2506 02:03:50,990 --> 02:03:55,020 تو کے preprocessing سے مراد سی کے ایک پروگرام میں کچھ بھی this--، 2507 02:03:55,020 --> 02:03:58,720 ہم نے بار بار نظر آئے گا کے طور پر، کہ، اس ہیش کی علامت کے ساتھ شروع ہوتا ہے 2508 02:03:58,720 --> 02:04:03,320 یا یہاں ہیش ٹیگ علامت، کا مطلب ہے کہ یہ ایک پریپروسیسر ہدایت ہے. 2509 02:04:03,320 --> 02:04:07,330 اس کا مطلب ہے، اس معاملے میں، ارے کمپیوٹر، اس فائل کے ساتھ کچھ 2510 02:04:07,330 --> 02:04:09,430 اس سے پہلے کہ آپ کو اصل میں میرے اپنے کوڈ کو مرتب. 2511 02:04:09,430 --> 02:04:15,220 >> اس صورت میں، ہیش ہے شامل ہیں، بنیادی طور پر، کہہ کے C کی راہ، 2512 02:04:15,220 --> 02:04:19,325 ارے کمپیوٹر، مندرجات مل جاؤ cs50.h، میں کے لئے اور ان کے یہاں چسپاں. 2513 02:04:19,325 --> 02:04:22,170 ارے کمپیوٹر، مل جاؤ معیاری io.h کے مندرجات، 2514 02:04:22,170 --> 02:04:24,690 اس پر ہے جہاں کہیں بھی ہارڈ ڈرائیو، اسے یہاں چسپاں. 2515 02:04:24,690 --> 02:04:27,390 لہذا ان چیزوں ہو کے preprocessing دوران پہلی. 2516 02:04:27,390 --> 02:04:28,880 >> اور بجنا ہمارے لئے اس کے تمام کرتا ہے. 2517 02:04:28,880 --> 02:04:30,510 اور ایسا ہی رفو کرتا ہے تیزی سے، آپ کو بھی ایسا نہیں کرتے 2518 02:04:30,510 --> 02:04:32,000 کیا ہو چار مختلف چیزیں دیکھ. 2519 02:04:32,000 --> 02:04:34,100 لیکن اس سے پہلے اس طرح قدم ہے. 2520 02:04:34,100 --> 02:04:35,560 >> کیا اصل میں اگلے کیا ہوتا ہے؟ 2521 02:04:35,560 --> 02:04:38,320 ویسے، اگلے عہدیدار قدم مرتب کر رہا ہے. 2522 02:04:38,320 --> 02:04:40,385 اور یہ پتہ چلا ہے کہ ایک پروگرام مرتب 2523 02:04:40,385 --> 02:04:44,060 تکنیکی طور سے جانے کا مطلب ہے کہ ماخذ کوڈ، ہم نے سامان 2524 02:04:44,060 --> 02:04:47,890 کچھ کرنے کے لئے، آج لکھ دیا گیا اسمبلی کا کوڈ بلایا، کچھ نہ کچھ 2525 02:04:47,890 --> 02:04:49,260 کہ تھوڑا مختلف لگ رہا. 2526 02:04:49,260 --> 02:04:51,050 >> اور، اصل میں، ہم اس حقیقی تیزی کو دیکھ سکتے ہیں. 2527 02:04:51,050 --> 02:04:53,890 مجھے اصل میں میرے IDE کو چلیں. 2528 02:04:53,890 --> 02:04:58,050 ، مجھ سے آگے اور کھلے hello.c کے چلتے ہیں جس بہت پہلے پروگرام ہے جس کے ساتھ ہم 2529 02:04:58,050 --> 02:04:59,120 آج شروع کر دیا. 2530 02:04:59,120 --> 02:05:04,130 اور مجھے آگے جانا ہے اور بجنا ایک چلانے کی اجازت مختلف طریقے سے تھوڑا، بجنا ایس، hello.c کے، 2531 02:05:04,130 --> 02:05:07,720 جو اصل میں کرنے جا رہا ہے مجھے ایک اور فائل hello.s یہ دے. 2532 02:05:07,720 --> 02:05:10,330 >> اور ہم نے کبھی نہیں شاید ہو جائے گا ایک بار پھر کوڈ کے اس طرح دیکھنے. 2533 02:05:10,330 --> 02:05:13,030 آپ ایک کم سطح لے تو CS61 کی طرح کے نظام کی کلاس، 2534 02:05:13,030 --> 02:05:14,920 آپ کو بہت زیادہ نظر آئے گا کوڈ کی اس قسم کی. 2535 02:05:14,920 --> 02:05:17,020 لیکن یہ اسمبلی زبان ہے. 2536 02:05:17,020 --> 02:05:22,050 یہ x86 اسمبلی زبان ہے کہ CPU بنیادی جاتا ہے کہ 2537 02:05:22,050 --> 02:05:24,460 CS50 IDE اصل میں سمجھتی. 2538 02:05:24,460 --> 02:05:27,060 >> اور خفیہ یہ کرتا ہے کے طور پر نظر آتے ہیں، یہ کچھ ہے 2539 02:05:27,060 --> 02:05:29,180 کمپیوٹر بہت اچھی طرح سمجھتا ہے. 2540 02:05:29,180 --> 02:05:30,790 نائب ق، یہ ایک منہا ہے. 2541 02:05:30,790 --> 02:05:31,660 تحریکوں نہیں ہے. 2542 02:05:31,660 --> 02:05:35,730 >> یہاں کے افعال میں سے نہیں بلا رہا ہے، X oring، ایک تحریک، ایک اضافہ، ایک پاپ، 2543 02:05:35,730 --> 02:05:36,430 ایک واپسی. 2544 02:05:36,430 --> 02:05:38,850 تو وہاں کچھ بہت کم سطح کی ہدایات 2545 02:05:38,850 --> 02:05:41,280 CPUs کے سمجھتے ہیں کہ کہ میں نے پہلے اشارہ. 2546 02:05:41,280 --> 02:05:43,100 یہی انٹیل کے اندر ہے. 2547 02:05:43,100 --> 02:05:45,030 >> کے پیٹرن ہیں zeros اور ہیں کہ 2548 02:05:45,030 --> 02:05:51,800 ان arcanely الفاظ نقشہ، لیکن کسی حد تک اچھی طرح کا نام دیا، ہدایات، 2549 02:05:51,800 --> 02:05:52,780 تو بات کرنے. 2550 02:05:52,780 --> 02:05:54,780 یہی تو کیا ہوتا ہے آپ اپنے کوڈ کو مرتب. 2551 02:05:54,780 --> 02:05:58,560 آپ کو اسمبلی ملتا اس سے باہر زبان، جس میں 2552 02:05:58,560 --> 02:06:04,680 تیسرا قدم جمع کرنے کے لئے ہے کا مطلب ہے کہ کہ اسمبلی کے کوڈ میں، بالآخر، 2553 02:06:04,680 --> 02:06:09,080 مشین code-- zeros اور ہیں، نہ کہ ہم صرف ایک لمحے پہلے دیکھا متن. 2554 02:06:09,080 --> 02:06:13,370 >> تو پری پروسیسنگ ہے کہ تلاش کرتا اور جگہ لے لے، اور چند دوسری چیزوں کے. 2555 02:06:13,370 --> 02:06:16,430 مرتب اپنے ماخذ لیتا C سے کوڈ، ماخذ کوڈ 2556 02:06:16,430 --> 02:06:18,980 ہم جماعت سے، لکھا ہے کہ کوڈ ہم صرف میں glanced کہ. 2557 02:06:18,980 --> 02:06:22,170 جمع کے کہ اسمبلی لیتا zeroes اور کرنے کے لئے کوڈ 2558 02:06:22,170 --> 02:06:24,680 CPU واقعی گے دن کے آخر میں سمجھ. 2559 02:06:24,680 --> 02:06:27,630 اور لنک آخری مرحلہ ہے پھر ہمارے لئے ہوتا ہے، 2560 02:06:27,630 --> 02:06:29,830 اتنی تیزی سے کہ ہم بھی ایسا نہیں کرتے کا کہنا ہے کہ نوٹس، 2561 02:06:29,830 --> 02:06:32,460 ارے کمپیوٹر، کے تمام لے zeros اور ہیں کہ 2562 02:06:32,460 --> 02:06:36,750 داؤد کے کوڈ کو مرتب کرنے کا نتیجہ اور اس صورت میں اس کی اہم تقریب. 2563 02:06:36,750 --> 02:06:39,160 >> اور ہے کمپیوٹر، مل جاؤ zeros اور ہیں تمام 2564 02:06:39,160 --> 02:06:42,180 CS50 عملے نے لکھا ہے کہ CS50 لائبریری کے اندر. 2565 02:06:42,180 --> 02:06:43,440 داؤد کے ساتھ میں ان لوگوں کو ملائیں. 2566 02:06:43,440 --> 02:06:46,648 اور ہے کمپیوٹر، تمام zeros مل جاؤ اور کسی اور سال لکھا والوں کہ 2567 02:06:46,648 --> 02:06:47,470 پہلے printf کے لئے. 2568 02:06:47,470 --> 02:06:49,880 اور میں ان لوگوں کو شامل پوری بات، تو ہے کہ ہم نے 2569 02:06:49,880 --> 02:06:52,870 میرے zeros اور ہیں، مل گیا CS50 عملے کے zeros اور ہیں، 2570 02:06:52,870 --> 02:06:55,370 printf کے zeros اور ہیں، اور کچھ اور ہم استعمال کر رہے. 2571 02:06:55,370 --> 02:07:00,410 >> وہ سب ایک میں ایک دوسرے کے ساتھ مل کر کیا حاصل پروگرام، نامی اس صورت میں، ہیلو. 2572 02:07:00,410 --> 02:07:03,141 بس تو آج کے بعد، ہم کریں گے لفظ مرتب استعمال کرتے ہیں. 2573 02:07:03,141 --> 02:07:06,390 اور ہم نے حاصل کی جاچکی کے لئے لے جائے گا جب کہ ہم اس کا مطلب آپ کے پروگرام مرتب، کا کہنا ہے کہ،، 2574 02:07:06,390 --> 02:07:08,849 ارے پری پروسیسنگ، جمع، اور لنک. 2575 02:07:08,849 --> 02:07:11,890 لیکن اصل میں کچھ رسیلی چیزیں وہاں ہے ہڈ کے نیچے ہو رہا. 2576 02:07:11,890 --> 02:07:13,723 اور خاص طور پر اگر آپ کو ، متجسس کچھ وقت حاصل 2577 02:07:13,723 --> 02:07:15,900 آپ poking ہے شروع کر سکتے ہیں یہ کم سطح پر ارد گرد. 2578 02:07:15,900 --> 02:07:19,660 لیکن اب کے لئے، اس بات کا احساس آج کے لئے نتائج یہ درمیان 2579 02:07:19,660 --> 02:07:23,420 ہیں بہت صرف ایک عمل کا آغاز، 2580 02:07:23,420 --> 02:07:26,700 کے ساتھ آرام دہ ہو رہی ہے کے ہیلو دنیا کی طرح کچھ. 2581 02:07:26,700 --> 02:07:29,575 بے شک، ہم آج جو کچھ کیا کے سب سے زیادہ یقینی طور پر انتہائی تیز رفتار میں نہیں ڈوبیں گے. 2582 02:07:29,575 --> 02:07:31,491 اور یہ کچھ لے جائے گا وقت، اور کچھ پریکٹس. 2583 02:07:31,491 --> 02:07:33,864 اور مشکلات ہیں، آپ کو ترتیب دیں گے کے لئے اپنے کی بورڈ مارا چاہتے ہیں 2584 02:07:33,864 --> 02:07:34,780 یا سکرین پر چللاو. 2585 02:07:34,780 --> 02:07:35,880 اور اس کے سب ٹھیک ہے. 2586 02:07:35,880 --> 02:07:38,320 اگرچہ، شاید نہیں کرنے کی کوشش بہت بہت لائبریری میں یہ کروں. 2587 02:07:38,320 --> 02:07:40,820 >> اور بالآخر، تمہیں اگرچہ قابل شروع کرنے کے لئے کیا جائے، 2588 02:07:40,820 --> 02:07:44,580 اچھا کوڈ میں دونوں نمونوں کو دیکھ کر، آپ نے لکھا ہے کہ اور غلطیوں میں 2589 02:07:44,580 --> 02:07:45,370 آپ نے کر دیا ہے کہ. 2590 02:07:45,370 --> 02:07:48,965 اور کرنے کے عمل کی طرح بہت ایک TF بننے یا کسی CA کی طرح ہے، 2591 02:07:48,965 --> 02:07:51,590 آپ بہتر حاصل کرنے کے لئے شروع کریں گے اور ان نمونوں کو دیکھ کر میں بہتر، 2592 02:07:51,590 --> 02:07:53,774 اور صرف آپ کو حل کرنے کے بالآخر اپنے مسائل. 2593 02:07:53,774 --> 02:07:56,940 اس دوران میں، کافی مقدار ہو جائے گا ہم میں سے آپ کو مدد کی قرضے دے، اور آپ کو حاصل کرنے کے لئے 2594 02:07:56,940 --> 02:07:57,481 اس کے ذریعے. 2595 02:07:57,481 --> 02:07:59,450 اور لکھنے اپس میں مسائل میں سے سب کے لئے 2596 02:07:59,450 --> 02:08:01,366 آپ کے ذریعے ہدایت کی جائے گی حکم دیتا ہے میں سے سب 2597 02:08:01,366 --> 02:08:05,330 میں یقینی طور سے جانتے ہیں کہ اب تک پریکٹس کی ایک بہت، 2598 02:08:05,330 --> 02:08:07,380 لیکن اڑایا ہے ہو سکتا ہے اب کے لئے کسی کی سر پر. 2599 02:08:07,380 --> 02:08:08,580 اور یہ کہ مکمل طور پر ٹھیک ہے. 2600 02:08:08,580 --> 02:08:11,230 >> لیکن، بالآخر، تم جا رہے ہو پیٹرن ابھر کر سامنے دیکھنے کے لئے شروع کرنے کے لئے. 2601 02:08:11,230 --> 02:08:14,260 اور ایک بار آپ کے تمام ماضی حاصل پاگل تفصیلات، قوسین کی طرح، 2602 02:08:14,260 --> 02:08:16,710 اور گھوبگھرالی منحنی خطوط وحدانی، اور نیم کولون، اور چیزیں، واضح طور سے، 2603 02:08:16,710 --> 02:08:19,360 کہ بالکل نہیں ہے ذہنی دلچسپ. 2604 02:08:19,360 --> 02:08:22,690 اور اس کا مقصد نہیں ہے کسی بھی تعارفی کلاس لینے. 2605 02:08:22,690 --> 02:08:24,410 اس سے کوئی فرق کرنے جا رہے ہیں کہ خیالات کے مطابق ہے. 2606 02:08:24,410 --> 02:08:26,659 >> اس کے loops ہے، اور حالات، اور افعال، 2607 02:08:26,659 --> 02:08:30,552 اور زیادہ طاقتور تجرید، اور کوڈ کے فیکٹرنگ، 2608 02:08:30,552 --> 02:08:33,510 اور اچھا ڈیزائن، اور اچھی سٹائل، اور بالآخر درست 2609 02:08:33,510 --> 02:08:37,330 آپ کے کوڈ کے، بالآخر ہے سب سے زیادہ اہمیت کے لئے جا. 2610 02:08:37,330 --> 02:08:40,925 لہذا اگلے ہفتے، ہم ان کو لے جائے گا کہ ہم سب سے پہلے شروع میں دیکھا خیالات 2611 02:08:40,925 --> 02:08:42,800 اور اب ترجمہ C. کے لئے اور ہم شروع کریں گے 2612 02:08:42,800 --> 02:08:45,740 کے پہلے متعارف کرانے کے لئے کورس کی حقیقی دنیا ڈومینز. 2613 02:08:45,740 --> 02:08:50,140 >> Glosbe پر آپ کو سیکورٹی کی دنیا پر توجہ مرکوز کریں گے اور مزید خاص خفیہ نگاری، 2614 02:08:50,140 --> 02:08:51,980 scrambling معلومات کے فن. 2615 02:08:51,980 --> 02:08:54,000 سب سے پہلے میں اور آپ کے مسائل اپنے آپ کو 2616 02:08:54,000 --> 02:08:56,840 اس سے آگے لکھنے کے لئے حاصل کرے گا نحو کے کچھ کے ساتھ کھیلنے کے 2617 02:08:56,840 --> 02:08:59,880 اور بعض منطقی حل کرنے کے مسائل، بالآخر طویل عرصے سے پہلے، 2618 02:08:59,880 --> 02:09:03,960 اصل میں جدوجہد کرنا ہے، یا کو خفیہ، اور بالآخر بےرمز معلومات. 2619 02:09:03,960 --> 02:09:06,470 اور سب کچھ ہم نے کیا ہے آج، کافی کم کرے گا 2620 02:09:06,470 --> 02:09:09,190 سطح، صرف اجازت دینے کے لئے کی جا رہی ہے ہم سے ایک، اور ایک لینے کے لئے، 2621 02:09:09,190 --> 02:09:13,550 اور اوپر کی جانب ایک اور قدم ابھی تک سب سے زیادہ دلچسپ کوڈ لکھنے. 2622 02:09:13,550 --> 02:09:15,050 >> کہ اگلے ہفتے پر تو زیادہ. 2623 02:09:15,050 --> 02:09:17,834 2624 02:09:17,834 --> 02:09:18,762 >> [ویڈیو پلے بیک] 2625 02:09:18,762 --> 02:09:19,690 2626 02:09:19,690 --> 02:09:22,006 >> وہ کیا آپ کے بارے میں مجھے بتا سکتے ہیں آخری بار آپ نے اسے دیکھا؟ 2627 02:09:22,006 --> 02:09:26,041 2628 02:09:26,041 --> 02:09:27,040 وہ کیا میں واقعی، کہہ سکتے ہیں؟ 2629 02:09:27,040 --> 02:09:30,500 2630 02:09:30,500 --> 02:09:35,340 میرا مطلب ہے، یہ کسی بھی دوسرے کی طرح تھا پہلے سے پیداوار ریہرسل، 2631 02:09:35,340 --> 02:09:40,510 کچھ بھی نہیں تھا سوائے اس نے کہا میرے ساتھ پھنس کہ بہت آخر میں. 2632 02:09:40,510 --> 02:09:44,810 2633 02:09:44,810 --> 02:09:46,640 >> -یہ CS50 تھا. 2634 02:09:46,640 --> 02:09:49,440 2635 02:09:49,440 --> 02:09:52,190 >> یعنی، ایک کٹ سب کی ریہرسل پر بہت اچھا کام. 2636 02:09:52,190 --> 02:09:53,070 >> یعنی دین کے لنچ؟ 2637 02:09:53,070 --> 02:09:54,986 >> ہاں، تم نے اور میں کر سکتے ہیں تھوڑا سا میں ایک سینڈوچ قبضہ. 2638 02:09:54,986 --> 02:09:58,380 مجھے صرف ساتھ debrief میں دو ڈیوڈ واقعی بہت تیزی سے. 2639 02:09:58,380 --> 02:09:59,160 ڈیوڈ؟ 2640 02:09:59,160 --> 02:10:01,260 ڈیوڈ؟ 2641 02:10:01,260 --> 02:10:03,110 >> [END پلے بیک]