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