[Powered by Google Translate] [♪ بنبنا ♪] تو آپ کو کیا میں سکرین پر ملا ہے سے واقف؛ اوزار ہم موسم گرما میں تیار کی ایک ہے؛ CS50 خالی جگہوں کو کہتے ہیں، اور یہ ہمارے باہمی تعاون کے ساتھ کوڈنگ کی درخواست ہے کہ ہم حصوں میں استعمال کرنے کے لئے جا رہے ہیں. یہ بہت اچھا ہے. تم میں سے کسی CS50 رن ابھی تک دیکھا ہے؟ کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے دوسرے ٹیب میں اس کو روکنا ہے. Run.cs50.net تو اگر آپ run.cs50.net جاتے ہیں، تمہیں دیکھ کر سکتے ہیں یہ ایک اپنے براؤزر راہ میں ہے اصل کوڈ - C کوڈ لکھنے، اور پھر، اسے چلانے تو یہ دونوں اس سے آگاہ کریں، اسے چلاتے ہیں، تو آپ پیداوار واپس، تو یہ ڈاؤن لوڈ، اتارنا طریقے کی طرح تجربہ ہے کوڈ کا کچھ کہ ڈیوڈ لیکچر میں ختم ہو جاتی ہے کے ساتھ اور ہم نے تم پر مسئلہ سیٹ پر دے اصل آلے پر گولی چلانے کے بغیر. تو کیا خالی جگہوں کرتا ہے کہ اس سے مختلف ہے اگر میں اس ٹیب پر واپس سوئچ، خالی جگہوں CS50 شو ہے، جیسا کہ تم دیکھ، لیکن اگر ہم سکرال کریں اور ونڈو کے دوسری طرف میں تلاش کریں، تم ٹھیک کہہ دیکھتا ہوں میں اس جگہ میں واحد شخص ہوں، لیکن جو میں کرنے جا رہا ہوں تم لوگ میرے ساتھ اس جگہ میں شامل ہو جائیے. سے پوچھنا ہے اور ہم اسی چھوٹی سی ونڈو میں کوڈ ملے گی، ایک دوسرے کے ساتھ کوڈ کی اور ہمارے کوڈ کے درمیان اختلافات کے بارے میں بات کرتے ہیں. تو یہ ایک ٹھنڈی چیز کی طرح ہے - ایسا ہے، تو اگر آپ کو سب سے اوپر یہیں اس کا لنک ملاحظہ کریں گے میں شامل ہونے کے کہ میں پر روشنی ڈالی ہے، آپ apps.cs50.net/spaces/vqcspSnO میں ٹائپ کرسکتے ہیں. ٹھیک ہے، تو شروع کرنے کے لئے، میں آپ کو اس کے دورے کا ایک تھوڑا سا دینے جا رہا ہوں. ہم سب سے پہلے میں اس کے ساتھ کچھ پاگل سی کوڈنگ کرنے والے ہیں، صرف اس لئے کہ ہر کوئی جیسا احساس ہو جاتا ہے، جو کچھ اس طرح ہے کیا لیکن میں نے کیا کیا ہے - یا کیا میں ابھی یہاں کیا کرنے کے بارے میں ہوں - میں کوڈ ہے کہ میں نے یہاں لکھا ہے لینے کے لئے جا رہا ہوں، جیسا کہ آپ ابھی دیکھ خالی ہے، اس سے بھی کچھ نہیں کرتا. یہ صرف بوائلر پلیٹ کوڈ ہے، ہم نے اسے فون کرتا ہوں. ایک تبصرہ کرنا بہت کم ہے. میں اس محفوظ کریں بٹن پر مار کی طرف سے بچانے کے لئے جا رہا ہوں. اور ہے کہ وہ کیا کرتا ہے یہ ہے اس پر روشنی ڈالی یہاں مختصر طور پر - کہ نظرثانی محفوظ سبز خانے، اور اب، اگر آپ خلا میں کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے متعلق، تلاش آپ کو میرے نام پر کلک کریں، آپ دیکھیں گے کہ میں نے اس پر نظر ثانی ہے یہیں کر سکتے ہیں، ، اور اگر تم نے اس پر نظر ثانی کے پر کلک کریں یہ ہے کہ آپ کے خلا میں کوڈ لوڈ، بھی کریں گے. تو سب لوگ ان کے خلا میں کوڈ بھری ہوئی ہے؟ ٹھیک ہے، اگر آپ نے ابھی تک نہیں ہے، آگے بڑھو اور کہ اور پھر کیا میں نے تم لوگوں کو اس چھوٹے سے حصے کرنا کرنا چاہتے ہیں ہے اپنے بارے میں تھوڑا سا printf کا استعمال کرتے ہوئے تھوڑا لکھنے، تو میں مثال کے طور پر لکھتے ہیں، printf ("میرا نام نیٹ ہے")؛ اور میں تو لکھنا تھا "میں نے 2009 میں گریجویشن "سٹینفورڈ سے اور میں نے کے بارے میں سن کر اچھا لگے گا کیا سال آپ کو اسکول میں ہیں، کہ کیا آپ کاروبار، اسکول یا کالج میں ہیں یا کسی دوسرے ہارورڈ اسکول، جو آپ کا مطالعہ اگر ابھی یہ معلوم کر رہے ہیں؛ کہ اگر یہ معلوم نہیں ہے، مکمل طور پر اچھا ہے. میں فیصلہ نہیں کیا جب تک میں میرے sophomore سال میں دیر ہو گئی تھی. اور پھر میں یہ جاننا بھی پسند کروں گا پاگل کچھ تم میرے یا بتانا چاہتے ہیں کلاس یا کسی اور چیز کے بارے میں کچھ. ، جب تم نے کیا کیا کر رہے ہیں کہ آپ کی چھوٹی printf کے ساتھ تحریری اگر آپ نظرثانی کو بچانے کے لئے یا ان کے گے سب سے پہلے اس بات کا یقین کر لیں کہ آپ اسے چلا سکتے ہیں بنانے کے ، اور یہ کہ اسے باہر پرنٹ بالکل وہی جو آپ اسے باہر پرنٹ کرنے کے لئے چاہتے ہیں اور پھر اگر تم آگے جاؤ اور اس پر نظر ثانی کو بچانے کے نظر ثانی محفوظ کریں بٹن، یہاں پر یہ پہلا بندا کا استعمال کرتے ہوئے، اور ہم تھوڑے ذریعے اور طریقہ ہے کہ ایک چھوٹا سا تعارف کرو جائیں گے. تو کیا تم صرف کھیل کا بٹن دبائیں ہونا چاہئے، جو سب سے اوپر بائیں طرف کے ہے، تو سب سے اوپر بائیں طرف کے اس کھیلیں بٹن اپنا کوڈ ہمارا سرور بھیجنے جہاں اسے مرتب کیا ہے اور اس کے بعد چلانے کے لئے ہو جاتا ہے. تو اس کے بارے میں کیا جیسا پاگل ہے اس کوڈ کو اصل میں آپ کے کمپیوٹر پر نہیں چل رہا ہے؛ یہ اصل میں انٹرنیٹ بھر میں بھیجا جا رہا ہے. یہ کیسا چل رہا ہے شارلٹ؟ >> I - ٹھیک ہے. ہوں - مجھے لگتا ہے کہ میں ہوں ہے مشکلات اس کی بچت سرور پر ہے کہ اس طرح کر سکتے ہیں - میں پروگرام چلا سکتے ہیں. اور پھر جب میں اسے چلانے کی کوشش کرتے ہیں، کا کہنا ہے کہ ہے کہ اس میں ایک خامی ہے. جو ایک وائرس کے طور پر اعلان کیا ہے، وہاں نہیں ہے. اوہ، دیکھو، تم محفوظ مارا پھر کر سکتے ہیں؟ میں اسے سکرین پر دیکھ رہے ہیں. >> ٹھیک ہے، ٹھیک ہے، تو ہے جو میں نے. اور مجھے پتہ ہے کہ کیوں مجھے اسے چلانے نہیں ہے. اوہ، ٹھیک ہے، معاف کرنا. کیا غلط تھا - - کیا اس کے ساتھ کام نہیں کر رہا تھا آپ کو اس کی وجہ کی وضاحت کر سکتا ہوں؟ >> جی ہاں، میں نے کی وجہ سے نظر نہیں آ رہا ہے کہ آخری سطر تھا جہاں اب بھی متغیر ہے کہ میں اعلان نہیں کیا تھا جو میں نے اسے وہاں رہنے کے لئے کا ارادہ نہیں کیا. جی ہاں، کامل! >> اب اگر میں اسے بچانے کے لئے، مجھے لگتا ہے کہ یہ کام کرنا چاہئے. اب جب کہ آپ نے اسے محفوظ کر لیا ہے، یہ کام کرتا ہے، بہت اچھا. تو جی ہاں، جیسا کہ ہم کے ذریعے جانا - تو کیا جا رہا تھا، میں صرف کیمرے کے لئے اس پر دوبارہ جا رہا ہوں. کیا ہو رہا تھا کہ اس کے متغیر کے بعد میں چھوڑ دیا - مجھے لگتا ہے تم نے کچھ دیگر سامان کو خارج کر دیا جیسا کہ آپ کہاں اعلان تو یہ چیزیں پھینک تھی کیا گیا تھا اور نہیں دے آپ اسے چلاتے. تو یہ ہے کے سیکشن میں بالکل وہی جو ہم کرنا چاہتے ہیں ہے، لوگوں کو کوشش کرنی کوڈ کے مختلف ٹکڑوں لکھنے دیکھیں یہ انتخاب دیکھ، کیا کام کرتا ہے، کیا نہیں کرتا ہے، اور ان چیزوں کے بارے میں اس وقت کے تھوڑے بات کرتے ہیں، کیونکہ یہ tripping پوائنٹس ہیں کہ میں اب بھی سامنا ہوتا ہے، پھر بھی میں - میں پاگل چیزیں ہر وقت بہت کرتے ہیں، ہوں اور مجھے پتہ نہیں کیوں یہ کام نہیں کرتا، تو شارلٹ 3 نظرثانی ھیںچو اور ہم اسے چلانے دونگا. تو جب میں چلاتے ہیں، اب کہ میں یہاں اس کوڈ ہے، میں زوم کر سکتے ہیں چلائیں بٹن دبائیں، اپ لوڈ، یہ بناتا ہے، چلتا ہے، کا کہنا ہے کہ وہ کامیابی کے ساتھ بھاگ گیا ہے، اور اگر میں ذیل میں سکرال، دیکھتے ہیں شارلٹ ایڈمز ہاؤس میں ایک جونیئر ہے، نفسیات، معاشیات میں پر خوفناک ہے. تم سے ملنے کے لئے بہت اچھا ہے! بہت اچھے. ٹھیک ہے، پر منتقل، ڈینیل پر چلتے ہیں، 3 نظر ثانی، مرتب، باگو؛ آپ ہمیں اپنے بارے میں کیوں نہیں تھوڑا بتا، ڈینیل؟ >> آپ کے وزٹرز کا ریکارڈ رکھا کال ڈین. میں لوگ تم سے بھر میں کاروبار، اسکول کے لئے جا رہا ہوں، اور میں یہاں سے پہلے میرینز میں تھا، اور یہ میرے لئے نیا سب ہے، تو جی ہاں. برا مت ماننا، میں 30 ہوں اور میں یہ سب نہیں جانتے. بہت اچھے، شکریہ، ڈین! ٹھیک ہے، ہم ایک دوسرے سے ڈینیل ہے. آپ کی طرف سے ڈینیل - تم خود کو متعارف کرائے گا، ڈینیل؟ ضرور >>، میں ڈینیل ہوں. میں Mather میں sophomore ابھی ہوں. میں حکومت پر اپنی توجہ مرکوز کر رہا ہوں، لیکن میں CS50 لینا چاہتا تھا کیونکہ میں نے کلاس کے بارے میں عظیم جائزے میں سنا ہے اور میں CS سے پہلے کی کوشش کبھی نہیں کی ہے. یہاں ذیل میں سکرال کریں اور یہ ظاہر کریں - ڈاؤن لوڈ، اتارنا. پر منتقل، Jared. یہ کس طرح چل رہا ہے؟ >> اچھا ہے، تم کیسے ہو؟ جیسا کہ آپ دیکھ سکتے ہیں، میں ایلیٹ میں جونیئر فلسفہ concentrator ہوں، ، اصل میں جنوبی کیلی فورنیا سے اور میں CS50 کرنے میں دلچسپی رکھنے والے ہوں، کیونکہ مجھے اس کی منطق پسند، اور یہ واقعی ڈاؤن لوڈ، اتارنا لگتا ہے کہ کمپیوٹر پر کام کرنا ہے، لہذا. بہت اچھے، تم کہاں اب جنوبی کیلی فورنیا میں سے ہیں؟ ایک گھنٹے کے بارے میں سے >> [اشراوی]، ایک چھوٹا سا شہر [اشراوی. اوہ، جی ہاں، میرے والد صاحب Redlands سے ہے. ڈاؤن لوڈ، اتارنا چیزیں. ٹھیک ہے، جمی، یہ کس طرح جمی جا رہے ہیں؟ >> اچھا ہے، تم کیسے ہو؟ بہت اچھی طرح کرنا ہے! اپنے بارے میں ہمیں بتائیں. >> میں ایک freshman ہوں، اور میں مکمل طور پر یقین ہے کہ میں majoring رہا ہوں نہیں ہوں لیکن میں تھوڑے معاشیات کی طرف جھکاو رہا ہوں. ڈینیل طرح کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے متعلق سامنے میں کوئی CS کبھی نہیں کیا ہے، لیکن جیسا ٹھنڈا لگتا ہے. میں شکاگو سے اصل میں ہوں. بہت اچھے. تو اس کا پرنٹ آؤٹ یہاں چیک کریں. میں پوچھنا چاہتا تھا، اس پرنٹ کیا جیسا کہ آپ کی توقع ہے؟ کوئی >>، میں ایک نئی سطر کو پرنٹ کرنے کے لئے بھول گیا. اصل میں میں بھول گیا تھا کہ جب میں نے اپنی بات لکھ رہا تھا پہلی بار کے لئے، بھی ہے. دستی طور پر میں ان کو ڈال یاد رکھیں یہ درد کی طرح ہے. یہ اچھا ہو گا اگر یہ صرف اتنا جانتا ہوں کہ ہے جو تم چاہتے تھے تھا. ٹھیک ہے، کیلی. واہ، ہم نے 2 Kellys ہے، 2 ڈینیل، 2 Kellys. کیلی تو میں سب کچھ - آپ کو کیلی بچوں کی طرف سے جانا ہے؟ ٹھیک ہے، بہت اچھا،. یا کیلی، میرا مطلب ہے. >> تو ہاں، تو میں کیلی ہوں. میں Pfoho میں sophomore ہوں. میں نے آج کہ 7 ہفتوں میں اب بھی اپنے ارتکاز کا اعلان ایک ای میل ہے، تو میں نے اس کے بارے میں نہیں سوچا کرنے کی کوشش کر رہا ہوں، اور میں بیکنگ پسند ہے، چل رہا ہے، اور Craisins. میں کاوچ سرفنگ کے سب سے زیادہ تجربہ کار نہیں ہے؛ میں اپنے آپ کو سکھایا ویب سائٹس کی تعمیر کے لئے جب میں بہت چھوٹا تھا، لیکن مجھے لگتا ہے کہ میں شاید اپنے آپ کو غلط وقت کی ایک بہت سکھایا. امید ہے کہ میں تھوڑا سا پتہ چل جائے گا - جی ہاں. بہت اچھے، ٹھیک ہے، آپ کا شکریہ. دیگر کیلی چلتے ہیں؛ میں کچھ بھی نہیں ہے - کیا تم نے یہاں میں کچھ کہنا ہے؟ >> [اشراوی] ہے! پیارا! >> ٹھیک ہے، تو میں کیلی ہوں. میں پہلے سال کے گریجویٹ طالب علم ہوں. میں ذہن، دماغ، تعلیم اور میں majoring رہا ہوں. میں 2008 میں فرینکلن اور عمومی مارشل کالج میں گریجویشن نفسیات اور سوشیالوجی میں بڑی کمپنیوں کے ساتھ اور فرانسیسی زبان میں ایک چھوٹی سی ہے. میں CS50 لے جا رہا ہوں کیونکہ میں عصبی سائنس میں پی ایچ ڈی کی ڈگری حاصل کرنے میں دلچسپی رکھتا ہوں اور مجھے لگتا ہے کہ اس طرح سے کیا جا رہا ہے ٹیکنالوجی کو سمجھنے میں میری مدد. بہت اچھے. پر منتقل، Mikaela. کیا یہ صحیح تلفظ ہے؟ ٹھیک ہے، بہت اچھا،. >> میں Mikhaila ہوں. میں جانے کے لئے Kirkland ہاؤس میں ایک sophomore ہوں، اور میں میکینکل انجینئرنگ میں توجہ دے رہا ہوں. میں واقعی میں سائیکلنگ پسند کرتے ہیں، اس موسم گرما میں ایک موٹر سائیکل بنایا. میں CS لے رہا ہوں، اصل میں، ایک ارتکاز کی ضرورت کے طور پر، لیکن آپ کو پتہ ہے، مجھے لگتا ہے کہ یہ اب بھی انجینئرنگ طبقے کی ٹھنڈی طرح ہے. بہت اچھے - آپ کو اس موسم گرما میں ایک موٹر سائیکل بنایا؟ >> جی ہاں. واہ، فریم اور وہ سب کی طرح؟ >> اہ hunh (مثبت). واہ، یہ بہت اچھا ہے. >> [اشراوی چیٹ کیمرے] [ہنسی] جی ہاں، یہ اتنی دیر ہو گئی ہے. تم کبھی نہیں جانتے ہیں، ہے نا؟ ٹھیک ہے، ڈاؤن لوڈ، اتارنا، اچھی طرح شکریہ، Mikhaila. ٹھیک ہے، Missy. >> میرا نام Missy، میں ایک freshman ہوں، تو اس کا مطلب ہے کہ میں کچھ نہیں جانتے! میں ھگول طبیعیات میں اپنی توجہ مرکوز کرنا چاہتے ہیں. CS50 میں مجھے لگتا ہے جیسے اس کے ساتھ ضرور مدد کرے گا. آپ کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے متعلق ایک عجیب حقیقت یہ ہے میں ایک قومی مصدقہ firefighter ہوں. واہ! کہ کیسے ہوا؟ >> میں ایک اکیڈمی میں شرکت کی اور ہفتے کی ایک بہت کے لئے جہنم کے ذریعے چلا گیا اور میری تصدیق کی ہے. واہ، مبارک ہو! یہ کوئی چھوٹی کارنامے اس بات کا یقین کے لئے ہے. ٹھیک ہے، تو اب ہم آپ کے وزٹرز کا ریکارڈ رکھا کروں گا. میں صف میں اگلے ہوں. ہوں - اسے چلاتے ہیں. تو میرا نام نیٹ ہے. میں سٹینفورڈ میں 2009 کی کلاس تھی. میں ایک علامتی بڑے نظام تھا، جو ذہن، دماغ، رویہ یہاں حراستی کی طرح ہے، لیکن اس کے مرکب کی طرح ہے کمپیوٹر سائنس، لسانیات، نفسیات، اور فلسفہ. قسم کی - ہاں، عجیب چیزیں بہت، لیکن یہ بہت اچھا تھا، اور پھر میں نے کمپیوٹر سائنس میں میرے مالک نے، کے ساتھ ساتھ. تو میں نے ہارورڈ میں نئے اس سال ہوں. میں واقعی میں تعلیم میں حاصل کرنے کے لئے کرنا چاہتا تھا. گزشتہ 4 سال میں سٹینفورڈ TA ING کمپیوٹر سائنس کی کلاس میں گزارے اور تب داؤد نے مجھے آتے، اور میں CS50 کے ساتھ باہر کرنے والے کی مدد کر رہا ہوں، تو میں اس پورے وقت کرتے ہیں، میں گریڈ اسکول میں نہیں ہوں. یہ مذاق ہو گیا ہے. امید ہے کہ یہ مزہ آئے گا جاری رکھیں گے، میں اس بات کو یقینی بنائیں کہ یہ کریں گے ہوں. ٹھیک ہے، سیم. >> میرا نام Sam ہے، میں کالج میں خاص طور پر قانون میں کسی بھی sophomore ہوں. میرے بڑے سائنس کی تاریخ، شاید، اور پر VES اور میرا پسندیدہ رنگ زرد ہوتا ہے. فیصلے یا کچھ کو منتقل کرنے کی ضرورت ہے، لیکن یہ ایک اچھا رنگ ہے! اور سٹیلا. >> ہیلو، میں سٹیلا ہوں، میں Grays میں ایک freshman ہوں. میں کوئی سراگ نہیں ہے جو میں نے ابھی تک میں مرکوز ہے، تو CS50 بے ترتیب صرف تھا، جو دلچسپ ہے. تفریح ​​حقیقت یہ ہے، جمی میری پہلی ہارورڈ دوست تھا، کیونکہ ہم دونوں شکاگو سے ہیں. ڈاؤن لوڈ، اتارنا، فضل اور - جو بہت اچھا ہونا چاہیئے، ٹھیک ہے؟ >> میں نے سوچا [اشراوی]. اوہ، جی ہاں. [اشراوی / آف کیمرے کی بات چیت] ٹھیک ہے، میں اب بھی، سیکھ رہا ہوں ابھی تک سیکھنے. تو ہم کسی اور چیز جو دلچسپ کی طرح یہاں ہے ہے. جی ہاں، میں صرف یہ سوچ رہا ہوں، آپ کو ایک نے جو نظریہ پیش کیا ہے وہ یہاں ہے؟ آپ جانتے ہیں کہ کس طرح اس کی تشریح ہے؟ >> میں ہر لائن کے بعد نیم وقفہ کے سامنے پیش کیا جائے والا تھا. یہ درد کی طرح ہے. کبھی کبھی ان semicolons ایک حقیقی درد کو ٹریک کرنے کی کر سکتے ہیں. تو یہ پتہ چلا ہے کہ خصوصی پروگرام ہم اس سال کا استعمال کرتے ہوئے کر رہے ہیں ہمارے C کوڈ مرتب بجنا کہا جاتا ہے، اور وجہ سے ہم نے اس سال کے بجنا کو استعمال کرنے کے لئے کرنا شروع کر دیا ہے - کیونکہ ہم نے ماضی میں اس پروگرام کا استعمال نہیں کیا؛ ہم نے ایک دوسرے سے ملاقات کی جی سی سی ایک ہے جو واقعی میں مقبول ہے کا استعمال کیا ہے - بجنا اصل میں آپ خرابی کے پیغامات دیتا ہے جو سمجھ میں. یہ ایک کا کہنا ہے کہ "امید کی جاتی ہے '؛' اظہار کے بعد" اور یہ بھی آپ کو اظہار ہے جس کے بعد آپ کو ایک نیم وقفہ کی ضرورت ہے بتاتا ہے. تو کیا تم اسے ٹھیک کر رہے ہیں؟ >> جی ہاں، ٹھیک ہے اب. بہت اچھے، مجھے اور ہم اسے ھیںچو، اور ہم اسے چلانے دونگا کریں گے. لیکن ہاں، میں ان semicolons ڈال درد کی طرح ہے. >> میں یہ ٹھیک ہے، تو مجھے لگتا ہے کہ یہ کام کرنا چاہئے. بہت اچھے - نظر ثانی 3. یہ اس کی طرح لگتا ہے. ٹھیک ہے، تو اب اگر ہم اسے چلاتے ہیں، اس جا رہا ہے. ڈاؤن لوڈ، اتارنا چیزیں. ٹھیک ہے. تو یہ ہے کہ ایسا کرنے کے لئے شکریہ. یہ لوگ آپ سے ملنے کے لئے بہت اچھا ہے. ہم کیا کرنے والے ہیں اب اگلے تھوڑا سا خرچ ہے اس حصے کے مسائل میں تھوڑے گوتاکھوری جو اس ہفتے سے مقرر مسئلے سے آتے ہیں اور ہم اس حصے کے سب سے زیادہ کے لئے کیا کریں گے باقی مدت کے لئے، اور پھر ہم نے گزشتہ 15 کو بچانے کے، 20 یا منٹ گے مسئلہ کے بارے میں بات کرنے کے لئے خود کو قائم اور اس کے بعد کسی بھی سوال آپ اس کلاس کے بارے میں عام ہے. اس نے کہا کہ کیا ہم واقعی چاہتے ہیں کرتے ہیں ہے سب حصہ لے ہے خالی جگہوں سامان کا استعمال کرتے ہوئے، کوڈ میں پھینک، تجاویز میں پھینک اور کے بارے میں بات کر جب معاملات اس وقفے کو پسند کام ہے یا نہیں ہے، صرف اس لئے کہ یہ وہ چیزیں ہیں جو ہیں میں جانتا ہوں کہ میں بھر آئے میں کوڈنگ جب شروع، اور واقعی تھے جیسا اوقات میں نراشا کیونکہ اگر یہ ہوں 2 کی طرح ہے سے پہلے آپ کا مسئلہ سیٹ کی وجہ سے ہے، تو - صرف انکشاف کے لئے میں پروگرامنگ شروع نہیں کیا جب تک میں کالج میں ایک sophomore تھا. یہ اس عجیب، نامعلوم چیز کی طرح تھا کہ میں نے سنا ہے جیسا اچھا تھا اور میں نے یہ بھی سنا بٹ میں ایک حقیقی درد ہو سکتا ہے اگر آپ کو ایک نیم وقفہ یاد آتی ہے اور یہ کہ صرف کام کرنے سے آپ کے پروگرام کو مد نظر رکھتے ہوئے خامی ہے اور سونے سے آپ کو رکھنے تو یقینی طور پر، اگر آپ کے پاس اس طرح کے سوالات ہیں، اگر آپ کو اس طرح کے خدشات ہیں، مجھے معلوم ہے، کیونکہ میں یہ لوگ آپ کے لئے ایک اچھا تجربہ کرنا چاہتے ہیں. تو تم لوگ سب سے ڈاؤن لوڈ کیا ہے مسئلہ ابھی تک قائم ہے؟ جیسا معلوم ہے کہ وہ کہاں ہے؟ ٹھیک ہے. تو ہم cs50.net پر جا، کیونکہ میں نے اس کے اکاؤنٹ پر یہ نہیں ہے گے، مسئلہ سیٹ ھیںچو، مسئلہ 2 سیٹ ھیںچو، اور ہم آج سٹینڈرڈ ایڈیشن کا آپس میں دیکھتا ہوں. ہم نے تفصیلات یہاں ھیںچو گے. ذیل میں سکرال. تو ہم سوالات کے اس حصے کو دیکھ کر شروع کرنے والے ہیں. کیا تم لوگ یہ شارٹس ابھی تک دیکھا ہے؟ ٹھیک ہے. تو loops پر شارٹس ہیں، جس میں ٹامی، سر تعلیم ساتھیوں میں سے ایک کی طرف سے کیا جاتا ہے. گنجائش ایک ہے، میں نے ایک اور تعلیم کے نام ڈیوڈ فیلو کی طرف سے کیا خیال ہے اور پھر کیسر صفر پر ایک ڈیوڈ کی طرف سے بھی کیا. وہ کافی ٹھنڈا ہو. کیا تم لوگ ان کے شارٹس کو اب تک دیکھ رہا ہے؟ How've وہ گیا ہے؟ مددگار؟ ٹھیک ہے، جان کر خوشی ہے. اگر وہ ان کے ساتھ نہیں ہیں، تو آپ کو ایسا کہہ سکتے ہیں. لیکن قبل اس کے کہ آپ ایسا کرتے ہیں، تم لوگ ان سوالات میں دیکھا بالکل؟ یہ تھوڑا سا کے بارے میں بات کرنے دو تو ہم نے گزشتہ دو ہفتوں کے پر پیش کیا ہے درس میں مختلف loops کی ایک بڑی تعداد ہے. لوپ کے لئے ہے، جبکہ لوپ، اور پھر کیا جبکہ لوپ، اور درس میں، ہم کیا گیا ہے کے بارے میں بہت بات کر ان loops کیسے ہیں سب بہت سے طریقوں میں سے ایک میں کافی اسی طرح، اور آپ تھوڑی دیر کے لوپ کے ساتھ ایک ہی چیزوں کے بہت کچھ کر سکتے ہیں کہ آپ کے لئے لوپ کے ساتھ کر سکتے ہیں. آپ کو صرف متغیر اور اس طرح کے دائیں مجموعے کا استعمال کرتے ہیں کی طرح ہے. اور اس طرح واقعی loops کے تمام کے درمیان حقیقی فرق یہ ہے کہ کبھی کبھی وہ زیادہ مفید ہیں انہیں کسی اور وقت سے ایک وقت میں کرنے کے لئے استعمال. تو مثال کے طور پر، جبکہ لوپ کیا جبکہ ایک لوپ سے مختلف ہے. کیا سب کو ایسا لگتا ہے کہ جب وہ ایک اچھی ہینڈل ہے ایک کرتے ہیں جبکہ لوپ ہے مفید یا کیا فرق ہے؟ >> مجھے لگتا ہے کہ فرق کیا جبکہ ایک لوپ ہے چلتا ہے - مجھے نہیں معلوم کہ بہت کیا اصطلاح ہے، لیکن لوپ کے اندر اندر کام کرتا ہے کا سلسلہ. خود کار طریقے سے وہ - یہ اس کے رنز کم از کم کرتا ہے سے پہلے اس کی حالت جانچ پڑتال کرتا ہے، یا دیر کی لوپ یہ صرف اس وقت جب چلے گا مسلسل چلتا ہے - یا نہیں کی حالت کیا جا رہا ہے مطمئن ہے. جی ہاں، اس کا کوئی مطلب ہے؟ کے کوڈ کا ایک تھوڑا سا میں ایک نظر ڈالیں. تو صرف سوال کا دوبارہ یا جواب، بلکہ، جواب یہ تھا کہ تھوڑی دیر لوپ کو دیکھنے کے لئے جانچ پڑتال کرے گا اگر شرط کہ آپ کی وضاحت سے پورا کیا جاتا ہے اس سے پہلے کہ یہ پہلی بار کے لئے لوپ کے جسم چلتا ہے، جبکہ کیا جبکہ لوپ لوپ کے جسم کو خود کار طریقے سے چلے گا، ہے جو ہم کہتے ہیں یہ - یہ عجیب اصطلاح ہے، لیکن اگر میں نے کبھی کا کہنا ہے کہ کچھ بھی مطلب نہیں ہے، مجھے پتہ ہے - لوپ کے جسم کا بھی وہ سامان ہے کہ آپ گھوبگھرالی منحنی خطوط وحدانی کے درمیان میں ڈال دیا ہے. اور کیا جبکہ ایک لوپ میں ہیں کہ انسانی بدن کم از کم ایک بار چلانے کے لئے جاتے ہیں، اور پھر حالت کی جانچ پڑتال کی ہے اس سے پہلے کہ ایک مسلسل وقت چلتا ہے ہو جاتا ہے. تو اصل میں، سیم، کیا آپ ایک سادہ لکھنے میں کوئی اعتراض جبکہ لوپ خالی جگہوں میں؟ >> آپ کی طرح کی کس طرح ترتیب ہے ایک نیا بنانے کے ...؟ میں صرف اسے خارج کر جو کچھ بھی تم وہاں ہے. جی ہاں، صرف اس کو صاف کریں. ویسے >>، مجھے یقین ہے کہ میں چل رہا ہے - کہ آپ نے جو ایک، چاہتے ہیں تھوڑی دیر، یا کیا آپ چاہتے ہیں ...؟ جی ہاں، صرف جبکہ سچ کرتے ہیں، کچھ باہر پرنٹ. اور دیکھتے ہیں. الیگزینڈر، مجھے احساس ہوا کہ ہم نے آپ کو کبھی نہیں متعارف کرایا. >> اوہ، ٹھیک ہے. کیا آپ - آپ ہمارے لئے ایک لوپ کیا جبکہ کوڈ کر سکتے ہیں؟ >> جی ہاں، میں کوشش کرتا ہوں. ٹھیک ہے، ہم یہ صرف سکرین پر ھیںچو گے، تا کہ آپ کی قسم کیا اختلافات ہیں ہینڈل ہے. تو یہاں ہے جو سام ہو چکا ہے. انہوں نے ایک ملاقات کی میں عددی کہ انہوں نے 17 initialized ہے. اس کے بعد وہ کہتا ہے جبکہ (int میں 17 =) printf ("میرا نام Sam ہے.")؛ تو جب ہم اس کوڈ کو چلاتے ہیں کیا ہوتا ہے؟ ایک خرابی آگئی ہے، غلطی کا کیا کہنا ہے؟ اسے اوپر ھیںچو اور اس کے بارے میں بات کرتے ہیں. ایک خرابی واقع ہوئی ہے، کا کہنا ہے کہ. چلو، ذیل میں سکرال. تو اس نے ہمیں اس غلطی دیا، اور اس نے کہا کہ، "ارے، میں نے ایک اظہار کی امید ہے." وہ تھوڑے خفیہ ہے. جی ہاں، بالکل - پھر اور ایک چھوٹی سی بگ ہے کہ ہم صرف ایک سیکنڈ میں پکڑ دونگا ہو جائے گا. لیکن یہ عجیب اصطلاحات چیزوں کے ان قسم کی ایک ہے، اس int میں 17 = تاکہ کا اظہار نہیں ہے. ہے، کیا ایسا لگتا ہے جیسے یہ کر رہی ہے یہ ایک عددی اعلان میں نے فون کیا اور اس کی ترتیب 17 کے برابر یا، بلکہ، اس int میں 17 ڈال میں نے فون کیا. اور اس کا کوئی مطلب نہیں ہے اس دیر لوپ کے تناظر میں. یہ احساس کرتا ہے ہم کے طور پر نظر آئے گا، لوپ کے لئے ایک کے تناظر میں کے لئے لوپ کا اعلان شروع کرتے ہیں کیونکہ کہ int کے لئے مجھے کچھ برابر کے ساتھ اور جاتا ہے. تو تم نے کیا - کچھ ٹھیک ٹھیک ہے. یہ یہاں جاتا ہے. بہت اچھا ہے. تو اب چیزیں تھوڑا مختلف لگ رہی ہو. ایک دو چیزوں کی تبدیل کر دیا ہے. تم ہمیں بتاو کہ کیا چیزیں بدل گئی ہیں کر سکتے ہیں؟ >> میں نے int لیا، تو کوئی اعلان نہیں ہے ایک کام کی بجائے [اشراوی]. ایک برابر علامت، میں 2 برابر نشانیاں، جس کا مطلب ہے کہ ایک برابر رکھ دیا. بہت اچھے. جی ہاں، تو کیا سیم کیا گیا تھا کہ وہ باہر int لیا یہ ٹھیک یہاں پہلے تھا، اگر ایسا ہے تو میں صرف اس کو دیکھو - یہ وہی ہے جو پہلے تھا، یہ int نے کہا کہ، جس میں اس کا اعلان کیا گیا تھا - تو ہم نے قسم لے لیا. int، چار، سٹرنگ، مختصر ہے، ان اقسام کہا جاتا ہے. تو آپ نے قسم لے لیا اور اس کے بعد پہلے، انہوں نے صرف سنگل سائن برابر اور کیا انہوں نے کہا کہ اس کے بارے میں مسئلہ تھا جب آپ کے پاس 1 کی علامت برابر، کہ ایک تفویض آپریٹر ہے. یہ جانچ نہیں ہے یا نہیں 2 چیزیں برابر ہیں. یہ اصل میں کچھ کرنے کے برابر کچھ قائم کرنے. ہم متغیر میں میں 17 نمبر ڈال رہے ہیں. تو اس کے مقابلے میں اس قسم، آپ ڈبل برابر استعمال کرنے کے لئے ہے، جس میں ایک عجیب بات کی قسم ہے لیکن کافی عام غلطی ہے. تو ایک دوسری چیز میں نے اشارہ، اگر تم برا نہ مانو گے، ہے کہ int اہم ہمارے یہاں تقریب، آپ دیکھیں گے کہ ہماری تقریب کے جسم بائیں طرف سے آفسیٹ 4 خالی جگہ یا ایک ٹیب کے ذریعے. وجہ سے ہم ایسا نہ کر صرف پڑھنے کی اہلیت کے لئے ہے. کے طور پر آپ کو سیم جبکہ لوپ میں یہاں دیکھ سکتے ہیں، وہ بالکل حاشیہ نہیں کیا، اور اس کوڈ کی فعالیت کو متاثر نہیں کرتا. یہ بالکل ویسی ہی چلا جائے گا. تو مثال کے طور پر، اگر ہم سب سے اوپر تک یہاں اور ہمارے کھیل کا بٹن دبائیں، اسے تعمیر کریں گے، اسے چلانے کروں گا، اور ہو کیا جا رہا ہے؟ وہ ابھی تک کیوں کہتا ہے چل رہا ہے؟ >> کیونکہ یہ ہیلو بار بار کرتے رہیں گے. بالکل، اور یہ ہیلو بار بار کیوں کرتا ہے؟ >> عددی تبدیلیاں کیونکہ کبھی نہیں، تو وہ ہمیشہ 17 ہے. جی ہاں، بالکل ایسا ہے، تو چلو کے بعد دیکھ - اپنے نام کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے متعلق دوبارہ یاد دلاتے؟ جمی. تو جمی نے کہا ہے کہ وجہ اس سے زیادہ بار بار ہیلو بار بار رکھتا ہے کیونکہ اس حالت کو ہمیشہ سچ ہے ہے. ہم میں کی قدر کبھی نہیں تبدیل کر دیں. ہم نے جو کہ متغیر میں ذخیرہ ہے کے مندرجات کبھی نہیں تبدیل کر دیں. تو ہم اس وقت اس خامی ہے کہ آپ کے پروگرام بہت زیادہ پیداوار کو جنم دیا، اور اگر ہم دیکھو یہاں کیا ہو رہا ہے نیچے اور قسم سکرال، آپ دیکھیں گے کہ یہ ہیلو، ہیلو، ہیلو، ہیلو، ہیلو، ہیلو، ہیلو پورے راستے کے ذریعے کر سکتے ہیں. بہت اچھے. تو اصل نقطہ پر واپس کی قسم کہ پوٹ کاری یہاں ہونے جبکہ لوپ کے جسم میں کچھ متاثر نہیں ہوئی تھی. پروگرام اب بھی ٹھیک بھاگ گیا. عام طور پر اچھا سٹائل کے لیے - اور یہ ایک ایسی چیز ہے جس پر ہم آپ کا مسئلہ سیٹ میں تلاش کرنے کے لئے ہے - ہم آپ 4 خالی جگہوں کی طرف سے اس پر حاشیہ سے پوچھیں، جو تم کر سکتے ہیں صرف ٹیب کے بٹن دبانے سے یا دستی طور پر اپنے آپ کو 4 خالی جگہ میں رکھ کر. ڈاؤن لوڈ، اتارنا، ٹھیک ہے، تو واپس جاؤ اور نظر الیگزینڈر ہے جبکہ-. >> بس تھوڑے ایک چھوٹی سی مصیبت ہے. ٹھیک ہے، ہم اس کے ذریعے کام. ڈاؤن لوڈ، اتارنا ہے؟ >> جی ہاں. ٹھیک ہے، تو ہم یہاں جانا ہے. یہ کوڈ ہے کہ الیگزینڈر نے لکھا ہے. کیا آپ یلیکس کی طرف سے - ٹھیک ہے. تو یہاں کوڈ یلیکس نے لکھا ہے ہے. لہذا، ہم نے اہم ہمارے اعلان یہیں مل گیا ہے، اور پھر ہم ہے اس عددی متغیر میں نے فون کیا یہیں کا اعلان کر دیا. ہم نے بیان کیا ہے اور پھر، ان منحنی خطوط وحدانی کے ساتھ دوبارہ جسم تو یہ کرتے ہوئے کیا جسم ہے - کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے اس پر میں تو یہ زیادہ پڑھنے کے قابل ہے زوم - اور جسم میں، ہم پرنٹ کرنے کی کوشش کر رہے ہیں "یہ جسم ہے"، میں +، + میں کے مندرجات کا اضافہ اور ایسا کرنے کے جب تک میں 3 ہو جاتا ہے، اور پھر ہمارے پروگرام ختم ہوتا ہے. لہذا جب ہم نے اس پروگرام چلاتے ہیں کیا ہوتا ہے؟ >> میں ایک شناخت کنندہ کی توقع ہے. ٹھیک ہے، غلطی تو تعمیر، باگو، اس وقت ہوتی ہے. کیا ہوتا ہے؟ ہم یہاں ذیل میں سکرال، ہم یہ کسی حد تک خفیہ نظر چیز ملتی ہے، اعلی درجے اعلان کے بعد نیم وقفہ کی توقع ہے. وہ تھوڑے عجیب ہے. کیا کسی نے کیا جا رہا ہو سکتا ہے کے ایک خیال ہے؟ تھوڑے عجیب ہے، جی ہاں. >> [اشراوی] قوسین سے باہر کا اعلان کر دیا جائے؟ تو اس کا اطلاق نہیں کرتا جب آپ قوسین استعمال کرتے ہیں؟ تو وہ جو قوسین کے باہر اس آدمی کا اعلان کر دیا ہے؟ اوہ، یہ لوگ - گھوبگھرالی منحنی خطوط وحدانی؟ >> جی ہاں. جی ہاں، بالکل. تو یہ پتہ چلا ہے کہ آپ نے اصل میں اس طرح متغیر نہیں یہیں اعلان کر سکتے ہیں. کیا آپ کو کرنا ہو سکتا ہے کی کوشش کر رہا تھا - اسے وہاں سے باہر کاٹ - آپ اس گھوبگھرالی منحنی خطوط وحدانی کے اندر اندر یا تو یہاں رکھ سکتے ہیں یا کسی دوسرے متبادل یہ مکمل طور پر باہر ڈال ہے. اور اس طرح ان - جہاں آپ اصل میں اعلان ڈال کے لحاظ سے ، اس عددی متغیر کی آپ کو 2 بہت مختلف قسم کے متغیر کو حاصل کر سکتے ہیں؛ جب یہ اہم باہر ہے، یہ جو ہم کہتے ہیں ایک عالمی متغیر. اس کے افعال میں سے کسی کے دائرہ کار سے باہر ہے - ایک تقریب کے اندر اندر نہیں ہے - ، اگر ہم اس کا اہم اندر ڈال جبکہ ٹھیک ہے یہاں اچھا لگتا ہے، تو یہ ایک مقامی متغیر کہتے ہیں، کیونکہ اس کا اہم دائرہ کار مقامی ہے. اور ہم کیا اختلافات ہیں کے بارے میں تھوڑا سا مزید بات کریں گے 2 اقسام کے درمیان اور کیوں آپ کے پاس مختلف قسم کے متغیر کا استعمال کرتے ہیں، لیکن اب کے لئے آپ کو تمام متغیر مقامی رکھ سکتے ہیں، کیونکہ ہم عالمی متغیر کے لئے کوئی ضرورت نہیں ہے. ٹھیک ہے، تو یہ تو ایک بات ہے وہیں. کوشش کرتے ہیں اس کو دوبارہ چلانے دیکھو، کیا ہوتا ہے. چلانے کے ایک اور غلطی ملتی ہے. تھوڑا سا میں زوم، ہم کیا ملتا ہے؟ ہم اس کی توقع خانے بعد جبکہ /. کوئی خیالات پر کیا جا رہا ہے؟ ڈین؟ >> جبکہ اس وقت خانے ہے اور اس کے بعد - مجھے پتہ ہے اگر آپ int redeclare کی ضرورت نہیں ہے، لیکن جبکہ (<3) بالکل ٹھیک ہے، جی ہاں. تو یہ پتہ چلتا ہے کہ ڈان بالکل صحیح ہے. ہم یہاں اس قسم دوبارہ ڈال کرنے کی ضرورت نہیں ہے. ہم قسم کی بجائے مار سکتا اور صرف یہ کرتے ہیں. ٹھیک ہے. میں واپس زوم، اس کی کوشش ایک بار کریں گے. اس کی طرف دیکھو، یہ کامیاب چلتا ہے. اگر ہم ذیل میں سکرال، "یہ جسم" 3 بار باہر پرنٹ. وہ بہت پیارا ہے. شاباش، شاباش، لڑکوں. اچھا کام کیا ہے. یہ اب تک کس طرح ہو رہا ہے؟ مہذب رفتار ہے؟ ٹھیک ہے ڈاؤن لوڈ، اتارنا،. تو، ہم پیچھے کی اصل سوال قسم کے طور پر، ہم - اور اب اگر ہم فرق نظر، آپ دیکھیں گے کہ کیا جبکہ اس لوپ میں، شرط آخری آتا ہے. تو کے طور پر کمپیوٹر پروگرام لکھا ہے کے بعد سی کے پروگرام اس تخکرمک ترتیب میں اس قسم کی کو پھانسی دے رہے ہیں، ، جہاں وہ لفظی کا اہم پہلی سطر کے ساتھ شروع اور پھر 6 لائن پھانسی، 7 لائن، 8 لائن، 9 لائن، لائن 10،، 11 لائن سب سے اوپر یہ یہیں سامان ایک بار پھانسی جا اس سے پہلے ہم نے کبھی اس کی حالت دیکھ ٹیسٹ یا نہیں میں - یا میں کے مندرجات، بلکہ - نمبر 3 سے کم ہیں. اور ایک بار ہم صرف اس صورت میں جب کہ 12 لائن حاصل کرنے کے لئے، میں کے مندرجات میں 3 سے کم ہیں کیا ہم واقعی واپس 7 لائن کودنا اور پھر عمل کو دہرائیں، اور اس وقت ہم حالت پھر ٹیسٹ اور بار بار. تو ہم اس کے برعکس کر سکتے ہیں کے ساتھ - واپس zooming باہر سیم ورژن ذیل میں سکرال، ہم اس پر نظر کرنے والا، تھوڑا سا تبدیل کر دیا گیا ہے تا کہ یہ اب ایک لامحدود لوپ ہو - اگر ہم میں زوم، جہاں ہم دیکھتے ہیں کہ کے طور پر اس پروگرام executes، یہ پہلی int میں اعلان ہو رہا ہے، سیٹ میں کے مندرجات 0 اور پھر جبکہ لوپ پہلے کی حالت مار دیتی ہے، تو اس صورت میں، اس کے جسم میں، اس printf ("ہیلو") + + بھی پھانسی نہیں کرے گا جب تک میں اصل سے کم 2 کے برابر یا اس. ، تو اگر میں 3 ہے، مثال کے طور پر اگر ہم اس حق کو یہاں مقرر برابر 4 - یا میں 3 کرنا، کیونکہ میں 3 نے کہا کہ گے - اور پھر، اسے چلانے تعمیر، یہ مکمل طور پر ٹھیک چلانے گے، لیکن یہ اصل میں باہر کچھ بھی نہیں پرنٹ گا، کی وجہ یہ ہے کہ پہلے کیس کے لئے امتحان میں ناکام رہے. تو کلاس میں، ہم اس قسم کی کیوں ان loops کیا جبکہ کے بارے میں بات کی مفید کبھی کبھی ہے اور ہم استعمال کرتے ہیں جبکہ لوپ کی مخالفت کیوں گی. وہاں ہیں - تم لوگ کوئی رائے ہوں، ہے کے لئے کیوں کرتے ہیں جبکہ لوپ زیادہ مفید ہو سکتا ہے؟ ویسے >>، مجھے لگتا ہے کہ جبکہ loops ہے اگر آپ صارف کی ان پٹ چاہتا ہوں، کیونکہ کہ جس طرح تم نے انہیں دے سکتے ایک بار میں کچھ ڈال دیا، اگر یہ صحیح ہے تو، ہم پروگرام کی باقی پر منتقل کر سکتے ہیں، لیکن اگر یہ درست نہیں ہے، تو آپ کو صارف نے فورا رکھنے جب تک کہ آپ کو صحیح ان پٹ رکھ دیا. جی ہاں، بالکل - بالکل، تو کرتے ہیں جبکہ لوپ مفید ہے کیونکہ جب صارف کی ان پٹ کے لئے فوری رد عمل ظاہر کیونکہ آپ نے صارف کی ان پٹ کو اس سے پہلے کہ آپ یہ اصل میں چیک کر سکتے ہیں حاصل کرنے کے لئے کی ضرورت ہے. 1 pset میں تو، 2 pset میں آپ صارف کی ان پٹ کے لئے جہاں نے فورا ایک بہت رہے ہیں، ہے جو ایک آسان استعمال کرنے کے لئے بات ہے صرف ایک سادہ دیر لوپ کی مخالفت کی. اگر تم تھوڑی دیر کے لوپ استعمال کرتے ہیں، تو آپ کو ایک ہی بات کر سکتے ہیں - آپ کو تھوڑی دیر کے لوپ کے ساتھ ایک ہی کام کر سکتے ہیں کے طور پر آپ کو کیا جبکہ ایک لوپ کے ساتھ کرتے ہیں. آپ کو صرف کی قسم یہ نقل عمل آپ ان پٹ جہاں سب سے پہلے تو اور آپ دیر لوپ شروع. جبکہ ایک کیا جبکہ لوپ، آپ صرف اسے ایک بار لکھنا ہے اور یہ ایک بہت کلینر ہے. ٹھیک ہے. کوئی سوال؟ احساس ہے؟ >> 0 واپسی - جو صرف دکان کی طرح ہے یا ہے - جی ہاں، تو ہم کر سکتے ہیں - ٹھیک ہے، ہم یہ تھوڑا سا زیادہ بعد میں احاطہ گے لیکن یہ پتہ چلا ہے کہ اس کی واپسی 0 کہ ہم ڈال اہم ہر وقت کے آخر میں - تم نے کچھ ہم کرتے ہیں کے طور پر جیسا اسے لے جا سکتے ہیں کچھ وقت کے لئے. کیا ہم افعال کے ساتھ کے بارے میں بات شروع کر دیا ہے گزشتہ ہفتے کے آخر میں کی قسم اور پھر دوبارہ اس ہفتے یہ ہے کہ ایک تقریب آدانوں جو قوسین کے اندر اندر یہ چیزیں ہیں لیتا ہے؛ ان 2 آدانوں، ہمارے دلائل یا پیرامیٹرز ہیں، کیا وہ بھی ہمارے مرکزی تقریب بلایا رہے ہیں، اور اس کے بعد ایک تقریب میں ایک پیداوار پیدا جو ہم نے واپسی کی قدر کہتے ہیں. اور اہم معاملے میں واپسی کی قیمت اس int ہے، اس عددی، اور جس طرح سے آپ کو ایک تقریب کہتا ہوں، "ارے، یہ جو تمہارے پیداوار ہونے جا رہا ہے، کی واپسی "" اس لفظ کے ساتھ ہے " کہ مطلوبہ الفاظ، بلکہ اور اس مرکزی 0 واپس لوٹنے یا مرکزی 0 لکھنا C پروگراموں میں معیاری ہے اہم مطلب یہ ہے کہ 0 واپس لوٹنے کی وجہ "ارے، میری صرف ٹھیک پروگرام کے ساتھ پھانسی سب کچھ ہے." اگر ہم 0 سے دوسرے کو کچھ دیا گیا، 1 کی طرح مثال کے طور پر، کہ بتاو جو بھی اس پروگرام بھاگ استعمال کیا جاتا ہے کہ کچھ غلط ہو گیا. ، تو جیسا کہ ہم سمسٹر سے زیادہ سامان کے ساتھ شامل ہو اگر آپ کبھی بھی کہنے کی ضرورت رہے ہیں، "افوہ، آپ جانتے ہیں، اس پروگرام کے ساتھ کچھ غلط ہو گیا،" اپنے پروگرام حادثے کے کی بجائے، میں مطلع کرنا چاہتے ہیں اپنے پروگرام کے رنر کہ کچھ غلط ہو گیا، آپ کی واپسی کی قیمت کا استعمال کر سکتے ہیں، کہ ہم اسے کہتے ہیں، 0 نہیں ہے. تو ہم یہ تھوڑا سا احاطہ کریں گے ایک بار ہم افعال میں ہو جاؤ. اس طرح کا احساس کرتا ہے؟ ٹھیک ہے. افعال عجیب قسم کا ہے - میں لوگوں کے لیے جو ریاضی پس منظر بہت لگتا ہے، یہ تھوڑا زیادہ آسانی سے آتا ہے، خاص طور پر اگر آپ تھوڑا سا زیادہ تجریدی ریاضی پس منظر ہے اور آپ کے افعال کے بارے میں بات کر استعمال کرتے رہے ہیں اور ساری چیزیں اس طرح کی ہے. لیکن ہم کوشش اور ان کا احاطہ کرتا ہوں اور اچھے اور سست جانے کے طور پر وہ آتے. اسی طرح، اس پورے int argc چار * argv] [، ابھی کے لئے، آپ کو اس کے طور پر بوائلر پلیٹ بھی لے سکتے ہیں. ہم درس میں ان تھوڑا سا کا احاطہ کرنے کے لئے شروع کر دیا ہے جب ہم دلائل ہے کہ کمانڈ لائن پروگرام میں منظور ہو جاتے ہیں کے بارے میں بات کرتے ہیں، لیکن آپ کا مسئلہ سیٹ اور آپ کے پروگراموں میں، یہ بالکل ٹھیک ہے صرف باطل لکھیں اور اسے سادہ رکھیں. اور کیا اس باطل کا مطلب یہ ہے کہ "ارے، اہم کوئی آدانوں کو قبول کرنے والا نہیں ہے؛ یہ تو صرف ایک پروگرام ہے ہم صرف چلانے کے لئے جا رہے ہیں. ہم یہ کر رہے ہیں کسی بھی اضافی معلومات نہیں دونگا ہر بار ہم اسے شروع چل رہا ہے. " تو، اب آپ کے لئے یہ کر سکتے ہیں؛ بھی تم بھی واپسی 0 ترک کر سکتے ہیں ، آپ کے پروگراموں کے آخر میں اور وہ ٹھیک چلانے گے لیکن میں صرف اندر ہے کہ رکھنے کا مشورہ دیتے دو ہفتوں میں، ہم قسم کی شروع کر دیں گے پچھلی سرورقی تھوڑا سا ھیںچو اور کے بارے میں مزید سمجھ ان تمام مختلف تھوڑا چلنے حصوں. ٹھیک ہے، اب ہمارے دوسرے سوال کے بارے میں یہاں بات کریں. تو کیا "اگھوشیت شناخت کنندہ" عام طور پر اس بات کی نشاندہی کرتا ہے اگر بجنا کی طرف سے outputted؟ مجھے لگتا ہے کہ ہم نے پہلے سے ہی ہے کہ آج دیکھا کر سکتے ہیں. کسی نے کیا اس کا مطلب ہے ایک recap دے سکتا ہے؟ چلو، کیلی دیکھ - Kellys میں سے ایک ہے. تو >> - جی ہاں کیا ہے - >> مجھے لگتا ہے جب، آپ کی طرح، متغیر کا اعلان نہیں ہے اور آپ اس کو استعمال کرنے کی کوشش کرتے ہیں. جی ہاں، بالکل، بالکل. تو اگر تم نے کبھی اس کی پیداوار کو دیکھ ، جب آپ اور آپ کا پروگرام مرتب کرنے کی کوشش جیسا کہ کیلی نے کہا کہ، اس کا مطلب یہ ہے کہ آپ کو ایک متغیر ہے کہ آپ کا اعلان نہیں کیا کرتے تھے، اگر ایسا ہے تو میں اپنے خلائی واپس جاؤ، اور میں ایسا کچھ کر (printf "ہیلو٪ s" میں) اور اس کے٪ بھرنے کی کوشش کے متغیر کہ میں اعلان کیا کہیں نہیں اور میں اسے چلانے کی کوشش کرتے ہیں، تم دیکھ، کیا میں اس کے سب سے نیچے دیئے گئے یہیں ملے گی: "اگھوشیت شناخت کنندہ کی 'کا استعمال"؛ یہ صرف کا مطلب ہے کہ آپ کو آپ متغیر کا اعلان نہیں کیا ہے. ایک ہی چیز ہوتا ہے اگر آپ ایکس ہے اور آپ اور ذخیرہ اس میں 7 کی کوشش اور میں ایکس کا اعلان نہیں کیا میں اس کے ایک ہی غلطی ملتی ہے: "اگھوشیت شناخت کنندہ 'X' کا استعمال". ٹھیک ہے، کیسر صفر، تو بہت محفوظ نہیں میں تم لوگ اس مختصر قسم، کے بارے میں کیوں سمجھ دیکھیں گے، اور امید ہے کہ اس ہفتے مسئلہ کرنے کے بعد مقرر جہاں آپ اصل میں ایک کیسر صفر لکھتے ہیں، آپ کو تھوڑا سا سمجھ جائے گا کیا اس کا مطلب ہے کہ ایک محفوظ اور غیر محفوظ - یا محفوظ نہیں، مجھے لگتا ہے - غیر محفوظ تھوڑا سا مختلف ہے. دوسری بات تھی ہم ان دیگر سوالات یہاں ہیں افعال کے بارے میں اور کیا ایک تقریب ہے، اور ہم اس قسم کی ہے کہ کچھ دیر کے بارے میں بات جب ہم واپسی اقدار کے بارے میں بات کی. جو کسی پر لیکچر ہو گیا ہے کے لئے، recap جو آج لیکچر رہا ہے؟ ٹھیک ہے. چلو دیکھتے ہیں، ہم ہے - کوئی ہمیں بتاو کہ کیا ایک تقریب ہے؟ کیلی؟ >> بنیادی طور پر آپ کو کچھ جو لائبریری ہے کہ کے وزٹرز کا ریکارڈ رکھا جائے گا وسلم کچھ کو اپنی طرف متوجہ وہاں زیادہ پیچیدہ ہے، اور اس کے بعد آپ کو صرف اس کا ایک مختصر فارم لکھنے، طرح تو آپ اس لائبریری میں واپس کا حوالہ دے رہے ہیں، کا استعمال کرتے ہوئے جو طویل کوڈ اور [اشراوی]. جی ہاں، بالکل، اور پھر تمہیں اس سے کچھ شامل کروں؟ جی ہاں >>، میں اس کے بارے میں کیا سوچتے ہیں جیسا کہ ریاضی میں ایک فارمولے کے تصور کی طرح آپ نے ابھی جہاں ایک فارمولا لکھیں اور پھر تم میں متغیر ہونا کر سکتے ہیں اور اس کا کیا ایک تقریب [اشراوی] ہے. جی ہاں، تو ہم جوابات کے ایک جوڑے کے یہاں ہے کہ دونوں واقعی اچھے اور صحیح ہے. اس کوڈ کا حوالہ ہے کہ لائبریری میں کہیں لکھا ہے جو زیادہ پیچیدہ ہے اور پھر آپ نے اس کوڈ صلی اللہ علیہ وسلم اپنی طرف متوجہ کر سکتے ہیں اور اصل میں یہ صرف اس کا مختصر طور پر لکھنے کی طرف سے استعمال کرتے ہیں - یا، بلکہ، اس کا نام - اور پھر بھی ریاضی میں ایک فارمولے کے اس مقابلے یا طبیعیات، ساری چیزیں اس طرح کی آپ کو ایک فارمولا کہاں ہے اور آپ میں تو ہونا کر سکتے ہیں اس فارمولے کے متغیر تو فارمولے کا نتیجہ حاصل کرنے کے لئے، تو تم نے چوکور مساوات کی طرح کے بارے میں میں کیا سوچتے ہیں. اگر بجائے کے بارے میں جاننے کے لئے کرنے کی کلپنا کرو چوکور فارمولہ ریاضی کی کلاس میں ہے، آپ کے پاس صرف ایک چھوٹا سا کیلکولیٹر پروگرام ہے کہ یہ آپ کے لئے کیا تھا. کیا کسی نے ہائی اسکول میں ریاضی کی کلاس میں کیلکولیٹر پروگرام استعمال کرتے ہیں؟ جی ہاں، طبیعیات کلاس؟ تم کہاں صرف "ہے کا کہنا ہے کہ، چوکور فارمولہ کر سکتے ہیں. یہ متغیر ہیں کہ میں ان پٹ کرنا چاہتے ہیں ہیں. اب مجھے جواب دیتے ہیں. " اس طرح کی ایک تقریب میں کیا ہے ہے. یہ ہمارے لئے کے لئے ایک راستہ ہے طرح کی ایک چھوٹی سی چھوٹی ذیلی پروگرام کی طرح لکھنے کے ہمارے وسیع تر پروگرام کے اندر اندر اور اسے استعمال کرتے ہیں اور پھر تاکہ ہم کوڈ کو کاپی اور پیسٹ کرنے کی ضرورت نہیں ہے، ہم اسے مختلف آدانوں دے کر سکتے ہیں اور مختلف نتائج حاصل کر سکتے ہیں، یہ انتہائی آسان ہے جب آپ نے مختلف اوقات میں مختلف پروگراموں لکھنے کی کوشش کر رہے ہیں. تو مثال کے طور پر، ایک تقریب ہے کہ ہم سے زیادہ اور ایک بار پھر استعمال کرتے ہوئے کورس پورے printf ہے. Printf خود کو ایک تقریب ہے اور یہ پتہ چلا ہے کہ یہ اصل میں ایک بہت طویل اور پیچیدہ ہے، گندی لگ لکھنے کام کرتے ہیں. تو ہی آسان ہے کیونکہ یہ ہمیں لگتا ہے سامان کی سکرین سے پرنٹ، کیونکہ ہم سب صرف سیکشن آج کے آغاز میں اس نے کیا تھا، یہ پتہ چلا ہے کہ یہ اصل میں ہے، تمہیں پتہ ہے، کوڈ سو لائنوں کی ایک اچھی جوڑی. یہ ایک ایسی چیز ہے جس پر میں لکھنا چاہتا اس بات کو یقینی کے لئے نہیں ہے، لیکن ہم ہر روز اس کا استعمال حاصل کرنے کے لئے، جو کول کی طرح ہے، تو ہم ایک دوسرے کے ساتھ اشتراک کرنے کے لئے، حاصل ، مختلف پروگراموں کے ساتھ تو ہم گوتاکھوری افعال میں ہو جائے گا؛ کچھ وقت کے لئے، ہم نہیں ہیں - صرف تقریب ہم نے لکھ رکھا جائے جا رہے ہیں سب سے اہم ہے. مین خود بھی ایک تقریب ہے، تمہیں دیکھ کر اور اس کی اپنی پیداوار ہے کر سکتے ہیں، ہم جیسے اس کے آدانوں کے بارے میں بات کی، اور پھر اس کے نام سے، جو اہم ہے. مین کی طرح ہے - وہاں ایک خصوصی تقریب ہے. اپنے سی کے پروگرام میں ایک اہم تقریب ہے، اور تو اب، ہم لپ لکھنے کے قسم ہے ، پروٹوٹائپ، یا کا اعلان، اہم. ہم آپ کو کہ دیا ہے، اور ہم صرف تم نے خالی کی قسم میں ہے کو بھرنے. >> تو ہم دوسری مسئلہ سیٹ کے لئے کی ضرورت نہیں کرتے لکھنے دوسری تقریب میں؟ مجھے یقین نہیں ہے. مجھے یقین ہے کہ یہاں سب. جی ہاں، تو، کیسر صفر، آپ کے پاس نہیں ہے، اس جیسی نظر نہیں آتی، اور Vigenere، تم یا تو نہیں، تو - اور یہ پتہ چلا ہے آپ نے واقعی کبھی نہیں لکھنے کی ضرورت ایک تقریب ہے، ٹھیک ہے؟ تم نے ہمیشہ اہم کے اندر اندر آپ کے کوڈ کے تمام ڈال کہتے ہیں، اور کئی پروگرامرز کرتے ہیں. جیسا کہ ہم پر منتقل، ہم ایک طریقہ کے طور پر متعارف کرانے افعال شروع اپنے کوڈ کو صاف، ، یہ زیادہ خوبصورت بنانے کے لئے جب ہم loops کے بارے میں بات کی تھی کی طرح - اس معاملے میں آپ کو ٹاسکس ہے کبھی کبھی کس طرح چیزیں ہیں کہ آپ بار بار بار کرنا چاہتے ہیں ہیں، اور آپ کو بولی راستے سے قسم ہے - یا جو ہم اکثر "تنکے شخص" کے حل کے کہتے ہیں، اور پیسٹ کریں اور پھر کاپی - آپ کے افعال کے ساتھ ایک ہی کام کرتے ہیں جہاں آپ کو کاپی اور پیسٹ کر سکتے ہیں سے زیادہ بار بار ایک ہی کوڈ لیکن اس سے آپ کا کوڈ bloats - یہ آپ کے کوڈ کو بنانے واقعی طویل ختم ہو جاتی ہے - اور یہ بھی تھوڑا مبہم ہو جاتا ہے، اور پھر اس کا مطلب یہ ہے کہ آپ کرنا چاہتے ہیں کے قابل نہیں ہیں - اگر آپ نے کبھی کسی دوسرے پروگرام میں اس کوڈ کو دوبارہ استعمال کرنا چاہتے ہیں، آپ کو بھی کاپی اور اسے دوبارہ پیسٹ پھنس گئے ہیں، تو میں سے ایک چیز کے بارے میں ہم بات کریں گے آپ کے پروگراموں کے ڈیزائن اور سٹائل کی طرح، اور اسی طرح جب وہ سمجھ میں آتا ہے قسم کی پیکج کچھ ایک علیحدہ تقریب کے طور پر رکھ، ہم آپ کو ایسا کرنے کے لئے حوصلہ افزائی کرتے ہیں، اور یہ کہ ایک ایسی چیز ہے جس پر ایک بار پھر، ہے، کوئی مشکل اور روزہ اصول ہے. ہم بہت کم کا کہنا ہے کہ ہے کہ آپ کو ایک ملاقات کی اس تقریب کو لکھنا ضروری ہے، لیکن یہ ان چیزوں میں سے ایک سے زیادہ ہے آپ صرف وقت کے ساتھ ترقی کے طور پر آپ کو زیادہ سے زیادہ پروگراموں لکھتے ہیں. مزید کوئی سوال؟ ٹھیک ہے، تو اب ہم ، اس آدمی کو یہاں واپس جانا تو میں سوال کے جواب میں اس کے حصے میں اب بھی ہوں. ہم نے ان تمام مختلف ہیں کے بارے میں بات کی ہے، ایک تقریب ہے، کیوں افعال لکھنے، آپ جب کو کاپی اور پیسٹ کر سکتے ہیں؟ امید ہے کہ ہم آپ کو اس بات پر یقین رکھتے ہیں کہ افعال لکھنے ایک اچھی بات ہے. تو اب اس مااسپیس پروگرام پر منتقل، اور ہم ایسا کرنے کے تھوڑا سا خرچ کریں گے. تو، چلو دیکھتے ہیں، میں میرے لئے کسی کو یہ پڑھ سکتے ہیں؟ چلو Mikhaila ہے - یہ آپ ہمارے لئے پڑھ جائے گا؟ >> تم واپس مطلب جب مااسپیس - کی حمایت جب مااسپیس اچھا تھا. >>، "جب مااسپیس اچھا تھا یہ سب اس طرح ٹائپ کرنا غصے تھا. شاید وہ اب بھی ہے؟ مجھے سچ میں یقین نہیں ہوں. کسی بھی صورت میں، CS50 آلات کا استعمال کرتے ہوئے، CS50 چلائیں، یا CS50 خالی جگہوں، ایک ایسا پروگرام ہے جو کہ ایک پیغام کے لیے صارف اشارہ لکھیں اور پھر اس کے پہلے حرف کو بڑا پیغام نتائج باری کے معاملے میں دوسرے حروف کے ساتھ، نمونہ ذیل پیداوار فی جس boldfaced متن کسی صارف کی ان پٹ کی نمائندگی کرتا ہے. سادگی کے لئے آپ فرض کر سکتے ہیں، کہ صارف صرف ان پٹ چھوٹے حروف اور خالی جگہوں گے. اس مسئلہ پر عمل کرنے کا موقع سمجھتے ہیں؛ آپ کو اس پروگرام پیش نہیں کہا جائے گا. " بہت اچھے، آپ کا شکریہ. تاکہ Mikhaila نے کہا کہ، ہم ایک پروگرام ہے کہ آپ کا کوڈ MySpaces لکھنے کے لئے جا رہے ہیں. تو آپ لوگ میں سے کسی ایک مااسپیس کا استعمال کیا ہے؟ تم میں سے جو بھی مااسپیس اکاؤنٹس ہے؟ اوہ، جی ہاں، جی ہاں! یہ بہت اچھا تھا. [ہنسی] میں جانتا ہوں. خود چلیں. تو ہے کہ ہم کیا کرنے کی کوشش کر رہے ہیں ایک پروگرام لکھنا کہ اس سے گزرتا ہے اور پہلا خط capitalizes اور پھر اس کے بعد ہر خط - یا ہر دوسرے خط اس کے بعد، میں معافی چاہتا ہوں. تو - آپ کو اس مثال میں دیکھتے ہیں اور کر سکتے ہیں، یہ ہے کہ ہم کس طرح کے پروگرام چلاتے ہیں، اور اسی طرح یہ صرف کہہ رہا ہے انہوں نے کہا کہ ہم نامی a.out پروگرام چلا رہے ہیں. ان پٹ ہے کہ ہم دینے کے لئے جا رہے ہیں کیا ہے اور اس کا پوچھا جائے جا رہے ہیں. ہم کیا کرنے والے نہیں کمانڈ لائن پر ان پٹ فراہم کر رہے ہیں. " اگر آپ کو دیا ہے تمام لیکچر کے بعد اور کمانڈ لائن کے دلائل کے بارے میں سننے کے ہے کہ اس قسم کی ہے جہاں ان - کہ funky نحو اہم int argc، یہ سب چیزیں کے ساتھ میں آتا ہے، تو یہاں ہم اس کا استعمال نہیں کر رہے ہیں، ہم اس کی کسی کے ساتھ نمٹنے نہیں کر رہے ہیں. ہم صرف صارف کی طرف سے میں اس ٹائپ جا رہے ہیں، funky کیپٹلائزیشن کے ساتھ اور پھر یہ دوسری لائن ہے جو ہم اپنے پروگرام پیداوار چاہتے ہیں. لہذا، ہم آلات یا رن کا استعمال کرتے ہوئے کی بجائے خالی جگہ استعمال کریں گے، کیونکہ ہم خالی جگہ ہے، اور اگر ایسا ہے تو تم لوگ چاہتے ہیں اپنے کوڈ کو کچھ اس طرح نظر آئے، تو میں اس ترمیم کو بچانے کے لئے جا رہا ہوں صرف اس لئے آپ کو بوائلر پلیٹ یہیں ہے ہے کہ اس طرح لگ رہا ہے، int (باطل) کے مرکزی، اس میں کچھ نہیں ہے. اصل میں، ہم کیا کریں گے یہ ہے کہ ہم سب کچھ سب کو ایک ساتھ حذف کریں گے. ہم نے ایک خالی سلیٹ کی ضرورت ہے، کیونکہ ہم کوڈ لکھنے شروع نہیں کریں گے؛ بلکہ ہم کچھ pseudocode لکھنے کی کوشش کرنے والے ہیں جو واقعی صرف کا مطلب ہے کہ ہم کچھ کہ کوڈ نہیں ہے لکھنے کے لئے جا رہے ہیں اس قسم کی وضاحت کرتا ہے جو ہم کرنا چاہتے ہیں، ڈیوڈ کی طرح تھوڑے لیکچر کے پہلے دن کیا، یا مجھے لگتا ہے کہ یہ لیکچر کے دوسرے دن تھا جب اس نے تمام موزوں اورجرابوں ڈیمو کیا. ہے کہ تم لوگوں کو یاد ہے - موزوں پر دیکھ؟ جوزف نے وہاں انگریزی میں ٹائپ کی قسم ہے؟ تو ہم ایک ہی بات کرنے والے ہیں. ، تو جب میں شروع pseudocode لکھنے کیا ان پٹ جا رہا ہے دیکھ کر شروع کرنا چاہتے ہیں. اور میں اپنے آپ کو ایک نمونہ کے کیس دے، طرح "کا اضافہ کریں کے لئے شکریہ!" اور پھر میں نے بھی لکھنا جو میں پیداوار کرنا چاہتے ہیں، جو کہ اس معاملے میں کچھ اس طرح ہے. اور اس طرح کی آپ کے وزٹرز کا ریکارڈ رکھا ایک اچھی، طرح، شروع کرنے کے بارے میں سوچنے کی جگہ دیتا ہے، "ٹھیک ہے، میں سطر نمبر 1 کو لینے کے لئے چاہتے ہیں اور میں نے اسے لائن 2 میں تبدیل کرنا چاہتے ہیں، " اور اس طرح سے میری سوچ کی رہنمائی میں مدد ملتی ہے. یہ شروع کرنے کے لئے ایک اچھی جگہ ہے. ایک اور طریقہ ہے اس کے بارے میں سوچنے بھی، جیسا کہ ہم آگے بڑھنے جیسا اور کے طور پر آپ کو آپ کے اپنے پروگراموں میں یہ کرتے ہیں، ہے قسم کا جو اس کے کنارے مقدمات ہیں کے بارے میں سوچتے ہو؟ طرح کی عجیب حالتوں سے کیا ہیں؟ عجیب آدانوں ہم کہ ہو سکتا ہے کیا ہے؟ اور کس طرح ان نتائج کو نظر آنا چاہئے؟ مثال کے طور پر، ایک عجیب ان پٹ اس سے ہو جائے گا، بالکل کچھ بھی نہیں پیدا، جیسا کہ ہم نے اس معاملے میں پیداوار کرنا چاہئے؟ کچھ کے بارے میں ہم یہ سمجھتے ہیں کہ اس پر بھی کرنا چاہتے ہیں. تو، ایک سوال کے جواب میں ہم پیداوار پر کیا کرنا چاہتے ہیں کر سکتے ہیں؟ اگر ہم سب کوئی ان پٹ نہیں ملے، جو ہمارے پروگرام لکھنا چاہئے؟ >> کچھ بھی نہیں. کچھ نہیں؟ بہت اچھا لگتا ہے. تو ہم اس بات کا یقین کر لیں کہ ہم کچھ نہیں لکھ رہے ہیں کرنا چاہتے ہیں اگر ہم کچھ نہیں ملے گا اندر ڈاؤن لوڈ، اتارنا. ٹھیک ہے. تو میں لوگوں کے ایک جوڑے پر فون کرنے والا جیسا کہ ہم کے ذریعے جانا رہا ہوں اور صرف عام الگورتھم ہے جیسے قسم کے اعداد و شمار اور ہم نے اس کے ساتھ مل کر کے ذریعے کام کرنے والے قسم کا آغاز کریں گے. تو، چلو دیکھتے ہیں. Missy. آپ کے خیال میں ہم کس طرح شروع ہوتا ہے؟ کیا ایک اچھا یہاں شروع کرنے کی جگہ ہو گی اگر ہم کو تبدیل کرنا چاہتے ہیں، 1 لائن کا کہنا ہے کہ لائن 2 میں؟ آپ کو صرف انگریزی میں مجھے سمجھانے کی، جو تم سوچ رہے ہو، اس قسم کی بنا سکتے ہیں؟ کوڈ کے بارے میں بھی فکر نہ کرو. >> پہلی بات میں کرتے ہیں تو براہ راست صارف کے طرح ان سے کہو جو تم چاہتے ہو. ٹھیک ہے تو ایسا کہیں،، "ارے، صارف میں چاہتا ہوں ایک تار - بہت اچھا. تو یہ لکھ. صارف کو ایک تار کے لئے فوری طور پر. یہ ایک اچھی شروعات کی طرح لگتا ہے. ٹھیک ہے. کیلی بچوں اس وقت سے دو تو پھر ہم کیا کرنا چاہتے ہیں؟ کیا ہمارے اگلے کی طرح ہے - >> ان کی ان پٹ جمع کریں اور ایک متغیر کے طور پر محفوظ کریں. بہت اچھا ہے. تو سٹرنگ کو جمع کریں، ایک متغیر میں سٹور. تو کچھ خاص ہے ہم یہاں کیا کرنا چاہتے ہے؟ کیا ہم ان کے ان پٹ چیک کرنے کے لیے کرنا چاہتے ہیں سے پہلے - >> جی ہاں. ہم کے لئے چیک کرنے کے لیے کیا کرنا چاہتے ہیں کر سکتے ہیں؟ ویسے >>، تم نے کہا تھا کہ ہم اگر یہ ایک بڑی تعداد ہے، ٹھیک ہے چیک کرنے کے لیے کی ضرورت نہیں ہے؟ یہ فرض ہے کیونکہ کہ وہ چھوٹے ہے.؟ جی ہاں. تو یہ پتہ چلا ہے کہ - جی ہاں. تو getString ہمیں ایک تار واپس بات کی ضمانت ہے. یہ ہمیں یا اس طرح کچھ بھی ایک بڑی تعداد کو واپس نہیں ہے. اس سٹرنگ کے اندر اندر ہندسوں حروف کا ہونا ہے، تاہم ہو سکتا ہے. اور وہ لوگ، ہم نظر انداز کے طور پر ہم نے بڑے حروف تہجی کیا جا سکتا ہے. لیکن ایک خالی سٹرنگ بالکل ٹھیک ہے، 4 لائن اور 5 یہیں کیس تو، ٹھیک ہے، جہاں کوئی ان پٹ نہیں ہے، اور ہم اپنے پیداوار کے طور پر کچھ بھی نہیں دیا ہے. ہم اس بات کو یقینی بنانے کے کہ سٹرنگ میں کچھ ہو گیا ہے کے بارے میں فکر کرنے کی ضرورت نہیں ہے یا یہ کہ سٹرنگ میں کم از کم 4 حروف لمبا ہے. کچھ ٹھیک ہے. تو یہ مثال کے طور پر، برعکس ہے پیسے پروگرام جو آپ نے لکھا کی طرح، جہاں آپ کو اس بات کا یقین کر لیں کہ آپ غیر منفی تعداد حاصل کر رہے ہیں بنانے کے لئے تھا. آپ کو اس بات کا یقین کر لیں کہ آپ ایک ماہ میں دن کی صحیح تعداد حاصل کر رہے ہیں بنانے کے لئے تھا. اور کس طرح ہے کہ تم لوگ کر رہے ہیں؟ تم نے اس امتحان کو کس طرح کرے گا؟ کیا ہے کہ آپ کو استعمال کرنے کی ضرورت کیا ہے؟ >> loops کرتے ہوئے کیا. جبکہ کیا loops، loops کے دیگر قسم کے، بھی، جی ہاں. تو یہ پتہ چلتا ہے ہم اس معاملے میں ایک لوپ استعمال کرنے کی ضرورت نہیں ہے، جو کہ جب ہم ایک تار کے لئے فوری رد عمل ظاہر کر رہے ہیں، اچھی قسم کا ہے. ٹھیک ہے، پر منتقل. تو، سٹیلا. آپ ہمیں کیا ہمیں کیا کرنا چاہیئے کے بارے میں تھوڑا سا بتا سکتے ہیں؟ تو اب ہم سٹرنگ ہے، ہم نے یہ ایک متغیر میں جمع کیا ہے؛ سٹرنگ کے ساتھ جو ہم کرنے کی ضرورت ہے؟ >> ہم کرنے کی ضرورت ہے - 2 کی شناخت - ہے کہ جی ہاں، انگریزی میں، صرف یہ کہنا، یہ بہت اچھا ہے. >> [اشراوی] دارالحکومتوں کی نشاندہی کریں - یا بڑے. جی ہاں، تاکہ آپ کی شناخت کون بڑے اور چھوٹے ہیں چاہتے ہیں. ہم بڑے یا نہیں ان کے چھوٹے سکتے ہیں جب تک ہم نے جو کی شناخت کی ہے. تو ہم یہاں میں ڈال دیتا ہوں. تو، صرف اس عمل کے بارے میں سوچ رہی ہے، ہم نے اس کی شناخت کس طرح کرتے ہیں؟ کیا آپ کو، ڈین کو جانتے ہو؟ قسم کی ہے کہ ہم کیا - کیا آلہ ہم ہمارے آلات سے باہر کرنے کے لئے استعمال کرنا چاہتے ہیں؟ >> میں اسے ڈال ایک صف یا ہر سطر کی طرح کسی نہ کسی طرح تھا کو اپنے چھوٹے باکس ہے، اور پھر وہاں ہے یا نہیں یہ سے بڑے ہیں. ٹھیک ہے، تو ایک آلہ ہم استعمال کر سکتے ہیں ایک صف ہے. کیا ہم سٹرنگ میں نظر ہے، تاہم، معلوم کرنا - ہم حروف کو دیکھنے کے لئے تھا. >> تو آپ سٹرنگ کی لمبائی کو دیکھنے کے لئے ہے؟ جی ہاں، اس لئے جو سٹرنگ کی لمبائی ہو رہی ہے کے ایک حصے کے. صرف باہر تجسس کی جو ہم ایک تار کی لمبائی کو حاصل کرنے کے لئے استعمال کرتے ہیں؟ strlen >>؟ جی ہاں، strlen، ہم کہتے ہیں اس "strlen" ان سٹرنگ کے افعال میں سے سب، تو strlen ایک تقریب ہے، اور یہ انتہائی آسان ہے، کیونکہ ہم اس کا استعمال صرف کا کہنا ہے کہ کر سکتے ہیں، ہے، strlen: یہاں ایک تار ہے، مجھے کتنی دیر تک بتاو ہے. آج لیکچر میں، ڈیوڈ کس طرح strlen لاگو کیا جاتا ہے کے بارے میں بہت بات کی، کیا اصل میں پردے کے پیچھے جا رہے ہیں. لیکن یہ بہت ہی سپر ہاتھ والوں میں سے ایک ہے. دوسرے جو سٹرنگ لائبریری میں بھی ہیں، اس طرح strcmp، جو "strcmp" ہجے کے طور پر، جو ایک دوسرے سے تاروں کا موازنہ کرنے کے لئے استعمال کیا جاتا ہے. دوسرے جو آپ strstr کی طرح استعمال کریں گے، جو ذیلی ڈور کو تلاش کرنے اور اس کے لئے اچھا ہے. سب سے زیادہ حصہ کے لئے، وہ STR کے ساتھ تمام اور اس کے بعد شروع کچھ. کی وجہ سے وہ ان سٹرنگ کی طرح اصل میں نہیں ہے اور اس جادو پر پیچھے C کے ابتدائی دنوں کی طرح ہے کیونکہ، لوگوں کو سب سے پہلے تحریری جب تھے اور یہ سب، وہ حروف کے کہ آپ استعمال کر سکتے ہیں کی تعداد پر حدود تھا تقریب کے نام اور متغیر کے نام کے لئے، تو سب کچھ سپر گاڑھا کی طرح ہے. لیکن کسی بھی وقت آپ کو کچھ کہ STR کے ساتھ شروع ہوتی ہے، کہ عام طور پر مطلب ہے کہ یہ ایک تار کے ساتھ کیا کچھ ہے. ٹھیک ہے، تو آپ کو سٹرنگ کی لمبائی کو حاصل کرنے کے لئے ہے، اور پھر، کیا ہم کرداروں کے ساتھ کیا کرتے ہیں؟ کیا آپ کے پاس ہے، سیم کو جانتے ہو؟ >> مجھے پتہ نہیں، میں یہ جاننے کی کوشش کر رہا تھا. مجھے سچ میں پتہ نہیں ہے - میں چاہتا ہوں کہ کچھ طرح تھے - میرا مطلب، مجھے لگتا ہے کہ شاید ہم نے مشکلات کے ساتھ کچھ کر سکتے ہیں اور evens گے، لیکن میں اس طرح کسی بھی پروگرام کے بارے میں نہیں جانتے ہیں. جی ہاں. >> لیکن یہ - یہ ضروری کام نہیں کرے گا، کیونکہ اس وقت آپ خالی جگہوں کو ملے گا - آپ کی جگہ کس طرح کے بارے میں تراکیب حاصل کرنے کے لئے ہوگا - ٹھیک ہے. >> مجھے نہیں پتہ - I'm کی طرح اس وقت کھو. جی ہاں - نہیں، نہیں، نہیں، یہ اچھے پوائنٹس ہیں. تو ہے کہ ہم کیا کرنے کی ضرورت ہے ہے، طرح سام نے کہا، ہم پر نظر رکھنے کے کرنے کی ضرورت ہے جو خطوط عجیب حروف ہیں، اور جو ہیں بھی حروف ہیں. لیکن ہمیں یقین ہے کہ ہم دیکھ ہی نہیں رہے ہیں کرنا چاہتے ہیں بھی عجیب سٹرنگ میں سوچکانک بلکہ سٹرنگ میں عجیب اور یہاں تک کہ خط میں تلاش تو ہم جیسا کے درمیان یہ فرق ہے کی ضرورت ہے خط - کیا A، B، C، D، یا تو اصل میں ہے کی طرح اور جو چیزیں لیکن اب بھی ہمارے سٹرنگ میں حروف نہیں ہیں. یہاں مثال کے طور پر، اس فجائیہ نقطہ کی طرح ایک خط نہیں ہے، لیکن یہ اب بھی ہمارے سٹرنگ کا حصہ ہے، یہ اب بھی ایک چار ہے. اسی طرح، ان خالی جگہوں کے سب - اس کا کوئی مطلب نہیں ہے جگہ استفادہ، ٹھیک ہے؟ تو ہم اس بات کا یقین کر لیں کہ ہم کسی نہ کسی طرح ان لوگوں پر بنانا چاہتے ہیں کو بھی مشکلات سے باخبر رہنے کے اور evens. ہمارے پروگرامنگ آلات میں تو قسم کی اب تک، اگر آپ ہم مختلف ٹولز کی ایک بڑی تعداد ہے کہ ہم کے بارے میں بات کی ہے، ہے. ایک تو مثال کے طور پر، متغیر ہیں، جیسا کہ ہم نے یہاں کے بارے میں بات کی ہے. ہم ایک اور آلہ کے بارے میں بات کی ہے افعال ہیں. تو ہم اپنے pseudocode میں متغیر کے بارے میں بات کی ہے یہاں کیا جیسا کہ ہم اپنے سٹرنگ کو ذخیرہ کرنے کے لئے استعمال کرنے کے لئے جا رہے ہیں. ہم ایک تار کی لمبائی کو حاصل کرنے کے لئے کے لئے کام کرتا ہے کے بارے میں بات کی ہے strlen کی طرح. ہم کسی اور کے بارے میں بات کر رہے ہیں، اور ہم نے اس کے بارے میں بات کی ہے loops: پہلے حصے میں بہت آج کے لئے. کیا لوگ آپ کو اس پروگرام میں ایک لوپ کا استعمال کرتے ہوئے کے بارے میں کیا خیال ہے؟ Jared، آپ کو کیا لگتا ہے؟ ہم نے اس پروگرام میں ایک لوپ استعمال کریں گے؟ >> شاید اس لئے کہ، نہیں، نہیں تم نے نہیں اس کے ذریعے ایک سے زیادہ بار جانا پڑے ہے. ٹھیک ہے، تم نے کیا کے ذریعے ایک سے زیادہ بار جانے کی ضرورت نہیں ہے؟ >> پورے سٹرنگ. ٹھیک ہے، تو آپ کو پوری سٹرنگ کے ذریعے ایک بار جانے کی ضرورت نہیں ہے. افسوس ہے کہ بالکل کوئی مطلب نہیں بنایا! آپ پورے سٹرنگ کے ذریعے ایک سے زیادہ بار جانے کی ضرورت نہیں ہے. ٹھیک ہے. آپ کا کیا خیال ہے؟ >> میں خیال ہے کہ یہ بہتر ہے ان کو استعمال کرنے کے لئے تو ہم جیسے استفادہ حاصل کر سکتے ہیں جبکہ اس کی جگہ [اشراوی] تعداد ہے. بہت اچھا، اور تو کیا فائدہ؟ ٹھیک ہے، تو ہم کہہ رہے ہو کہ ہم ایک لوپ استعمال کرتے ہیں کیونکہ ہم چاہتے ہیں ایک خط فائدہ جبکہ یہ ایک نمبر نہیں ہے. تو - معاف کرنا، آپ شامل کرنا چاہتے ہیں کیا؟ >> میں یہ کہنا ہے کہ جس طرح تم نے سٹرنگ کے علاج کے لئے جا رہا تھا اور یہ [اشراوی] الگ الگ حروف [اشراوی]؟ جی ہاں. >> اور پھر ہم نمبرز تفویض کر سکتے ہیں - یا سٹرنگ میں حروف کی جگہ کی بنیاد پر ہے؟ جی ہاں. >> اور شناخت چاہے وہ یا اس سے بھی عجیب ہے اور خط خود فائدہ جبکہ خط کی جگہ ہے [اشراوی] - معاف کرنا. بہت اچھا ہے. تو صرف ایک recap. کیا آپ مجھے اپنے نام کے دوبارہ یاد دہانی ہو - ہوں معاف کرنا. >> شارلٹ. شارلٹ، ٹھیک ہے. تو کیا شارلٹ کہہ رہا ہے، جو کہ مکمل طور پر صحیح ہے - رے، آٹو یہ پسند ہے مجھ پر حاشیہ - یہ ہے کہ اگر ہم ایک تار پر نظر - سب سے اوپر اس میں سے ایک کے طور پر اس طرح کے "شامل کرنے کے لئے شکریہ" - حروف کی ترتیب کے طور پر 0 پوزیشن میں کہاں ہے، H 1 پوزیشن میں ہے. 2 ہے، تو ہم 3، 4، 5؛ خلائی 6 پوزیشن پر ہے. جبکہ - F کی پوزیشن کیا ہے؟ 7! O؟ 8. R؟ 9. اور پھر ہم 10 ہے، ہے اور تو میں واقعی اس کے بغیر نہیں لکھ سکتے ہیں جیسا سکرین پر گندا ہو رہا ہے. لیکن یہ اصل میں یہ ہے کہ ہم کس طرح یاد میں تاروں کے بارے میں بات کر سکتے ہیں. یہ ایک تار ہے حروف کی ترتیب ہے، اور جب ہم ایک تار میں ایک انفرادی کردار کا حوالہ دیتے ہیں، ہم اکثر ہے کہ کردار کی پوزیشن کا حوالہ دیتے ہوئے کی طرف سے ایسا کرتے ہیں سٹرنگ کے اندر اندر، شاید اسی طرح ہے کہ ہم ستمبر کے بارے میں بات کرتے ہیں سال کے نویں مہینے ہونے یا پیر کے روز ہفتے کے پہلے دن ہونے کی وجہ سے ہے. تو یہ ہمیں ایک طریقہ فراہم کرتا ہے اعداد و شمار کون بمقابلہ بھی عجیب ہوتے ہیں کیونکہ آپ یہاں دیکھ سکتے ہیں، اگر ہم اس ٹی کے ساتھ ملتی ہیں، آپ دیکھ سکتے ہیں کہ ونیاست ہیں بھی پوزیشن میں ہیں، پہلا لفظ کے لئے کم از کم، اور پھر چیزوں سے دور پھینک دیا ایک بار ہم اس کی جگہ مارا جاتے ہیں، کیونکہ ہم نے ایک خط کے طور پر اس خلا کو شمار نہیں کرتے، تو یہ ہے کے طور پر اگر ہم شروع اور 0، 1، 2، 3، 4، 5 گئے، خلائی، 6، 7، 8، خلا، 9، اور پھر 10، 11، 12، اور اسی طرح کی. ڈاؤن لوڈ، اتارنا، تو ہم یقینی طور پر لوپ کسی قسم کو استعمال کرنے کے لئے چاہتے ہیں کے نتیجے میں حروف میں سے ہر ایک کو جانا. تو، اس وقت، ہم اپنے پرانے pseudocode یہاں واپس آ جائیں گے. جو اس کی شناخت کے ایک حصے کے کے طور پر بڑے ہیں اور کون سے چھوٹے ہیں، ہم لوپ کے کچھ قسم میں یہ کرنا چاہیں گے. لوپ، بڑی آنت. لوپ سے باہر loops کہ ہم قسم کی کس قسم کی ہے، اس صورت میں استعمال کرنے کے لئے ایک اچھا ایک لگتا ہے؟ >> میں لوپ کے لئے میں سوچ رہا تھا. اور تم کیوں لوپ کے لئے کے بارے میں سوچ رہے ہیں؟ >> کیونکہ یہ صفر سے شروع ہوتی ہے، اور پھر جب ہم تار کی لمبائی تک پہنچ جاتے ہیں، اور پھر ہر iteration آپ کر سکتے ہیں [اشراوی]، بھی؟ جی ہاں، بالکل. تو، loops کے مختلف انتخاب کے باہر ہم loops کے لئے ہے، جبکہ loops، اور کرتے ہیں جبکہ loops. لوپ کے لئے خاص طور پر مفید کہاں ہے جب تم جاننا چاہتی ہے جہاں آپ لوپ میں ہیں کی طرح، کتنی بار لوپ گیا ہے اب تک پھانسی. جس کا ہے ہم اس حالت میں بالکل وہی جو میں جاننا چاہتا ہوں، جیسے کیلی نے کہا کہ، شارلٹ پہلے تبصرہ سے دور کی بنیاد پر کہ ہم پوزیشن میں جاننا چاہتا ہوں سٹرنگ کے اندر اندر کردار کی اور لوپ کے لئے ہمیں صرف یہ ہے کہ دے گا، کیونکہ اگر ہم اس قسم کی شروع ہمارے سٹرنگ میں واپس دیکھ، اگر ہم نے 0 میں ہمارے لیے لوپ شروع، اور ہم پوری سٹرنگ کی لمبائی کے ذریعے جانا، تو ہم نے خط T منسلک کر سکتے ہیں لوپ کے لئے ہمارے 0 ہمارے لوپ کے لئے، اور اس میں 1 کے ساتھ خط H، تار کے آخر کے ذریعے پورے راستے. تو یہ صرف ایک چھوٹا سا بٹ کوڈنگ شروع صرف اس لئے تم لوگ یہ کس طرح لگتا ہے کے لئے ایک احساس ملتا ہے. میں اس کو بچانے کے لئے جا رہا ہوں، تو ہم یہاں ہماری چھدم کوڈ ہے، اور میں سب کچھ کو خارج کرنا جا رہا ہوں. تو میں نے ایک خالی سلیٹ ہے. میں int اہم (باطل) لکھنے کی طرف سے شروع کرنے جا رہا ہوں { میں میں واپسی 0 والا ڈال رہا ہوں اور اس کے بعد}. تو یہ عام طور پر جب میں پروگرام شروع ہے، کیا میں اس کے ساتھ شروع. میں اسے بچانے کے لئے تاکہ تم لوگ پڑے گا. تو پہلے چیزوں کو ہم کے بارے میں بات کی تھی میں سے ایک تھا صارف سے ان پٹ اور ایک سٹرنگ میں ذخیرہ کرنے. ہم ایک صارف سے کس طرح ان پٹ ہے؟ >> GetString. GetString، ٹھیک. تو اگر میں GetString (ٹائپ) اور ایک نیم وقفہ. کوشش کرتے ہیں یہ چل رہا، اس دوڑ سب سے پہلے؟ اور یہ حصہ نہیں کرے گا کیوں؟ >> آپ متغیر کا اعلان کرنا ہوگا. میں ایک متغیر کا اعلان کرنا ہوگا. ٹھیک ہے. تو میں کہ کس طرح کرتے ہیں؟ کیا آپ کو کچھ لکھ، اس اشتراک میں کوئی اعتراض ہے؟ اور پھر ہم اسے ھیںچ سکتے ہیں. چلو دیکھتے ہیں، ڈین، ٹھیک ہے، ٹھیک ہے. یا ڈینیل. کہ کاپی کریں، سٹرنگ ان پٹ = GetString (). بہت اچھے. یہ چلے گا؟ چلو اس کی کوشش کریں. رن مارو، اپ لوڈ کے منبع کوڈ، عمارت، ایک خرابی آگئی ہے. ٹھیک ہے. تو کیا ہے ہو رہا ہے یہاں؟ اگھوشیت شناخت کنندہ 'STRING' کا استعمال کریں. >> ہم لائبریریوں کو شامل کرنے کے لئے ہے؟ جی ہاں، تو ڈان کی یہ کہتے ہوئے ہم لائبریریوں کو شامل کرنے کے لئے ہے. کہ جو تم، سٹیلا کہنا جا رہے تھے کیا؟ بہت اچھے. وہ بہت اچھا ہے، تو سٹیلا، آپ یہ کر سکتے ہیں ڈینیل خلائی میں سے اس کوڈ کو کاپی کریں؟ اگر آپ کو ڈینیل رولینڈ کی پر کلک کریں، کاپی، اور پھر شامل لائن میں ڈال دیا، اور پھر اسے باہر بچانے کے؟ مجھے پتہ ہے کہ جب تم تیار ہو. تو اس میں نحو بھی funky کی طرح ہے؛ اس ہیش ٹیگ کی طرح ہے، اور وہاں، اور پھر شامل ان قوسین زاویہ ہیں. کیا آپ کو یاد ہے کہ کس طرح یہ کام کرتا ہے، یا اس میں اس کوڈ کو یہاں کر دینا چاہئے؟ >> میں اچھا ہوں. ٹھیک ہے. >> میں اس پرنٹ میں طباعت کی - مجھے یقین نہیں تھا لائبریری جس میں. اوہ، ٹھیک ہے - ہاں، تو اس CS50 لائبریری ہے. >> اوہ، میں stdio لائبریری رکھ دیا. اوہ، یہ ہے - جی ہاں، نہیں، that's - تو یہ پتہ چلا ہے کہ سٹرنگ واقعی میں کچھ CS50 پر خصوصی ہے. اصل میں ایک حقیقی سٹرنگ قسم نہیں ہے کیونکہ یہاں، سٹرنگ قسم کی پوزیشن میں ہے - ہم قسم سٹرنگ کے نامی ایک متغیر ان پٹ کا اعلان کر رہے ہیں - اور ہم ان پٹ کے اندر ڈال کر رہے ہیں قیمت جو ہم سے واپس ہو جاتا ہے: اس GetString تقریب کال کی پیداوار. تم بتاو یہ ایک تقریب کا فون ہے، کیونکہ یہ قوسین printf ہے کی طرح ہے، کر سکتے ہیں، صرف strlen طرح کرتا ہے. لیکن سٹرنگ واقعی نہیں ہے ایک حقیقی کی قسم سی زبان میں ہے. ہم نے ایک قسم میں نے اسے بنایا ہے، اور ہم لے جائیں گے یہ اصل میں کیا ہے C، کیونکہ ایک ڈور کے ساتھ کام کرنے کا ایک طریقہ ہے. ہم نے ابھی نے اسے تھوڑا اچھے نظر کچھ کیا ہے. تو ہم یہاں جانا. سٹیلا کوڈ ہے. # شامل ہیں کے پاس ہے. دیگر لوگوں کو ایک ہیش کی طرح یہ فون کروں گا کبھی کبھی میں شامل ہیں یا تیزی سے شامل ہیں. اب ہم نے اسے شروع، اسے چلانے کر سکتے ہیں اور ہم اب بھی کوئی غلطی ملتی ہے. چلو دیکھتے ہیں کیا ہو رہا ہے. "غیر استعمال شدہ متغیر 'ان پٹ'." ٹھیک ہے، تو اچھا ہے، اچھا ہے. میرا مطلب ہے، یہ واقعی ڈاؤن لوڈ، اتارنا نہیں ہے، کیونکہ ہم نے ایک غلطی ہو رہے ہیں اور یہ نہیں چل رہا ہے، لیکن یہ کیا کہہ رہا ہے یہ ہے کہ ہم اپنے متغیر استعمال نہیں کیا ہے، جو سمجھ میں آتا ہے. ہم نے اس کے ساتھ کچھ کرنا نہیں ہے. یہ ایک طریقہ ہے کہ ہے بجنا ہمیں اس بات کا یقین کر لیں کہ ہم متغیر نہیں کر رہے ہیں کا استعمال کرتے ہوئے بنانے کے میں مدد کرنے کی کوشش کر رہی ہے اور تو نادانستہ طور پر ان کے اپنے کوڈ میں اور بعد میں کچھ کہنے، ہماری مدد کی غلطیوں طریقہ ہے جس سے بچنے کے. ٹھیک ہے، تو ہم صارف سے ان پٹ ہے، ہم ایک متغیر میں محفوظ ہے. پھر اگلا قدم تھا سٹرنگ میں حروف کے تمام تلاش شروع اور جو ہیں بڑے کی شناخت ہیں اور کون چھوٹے ہیں. اور کیلی طرح اور شارلٹ لائے، ہم اس لوپ کے لئے ایک کا استعمال کرتے ہوئے کرتے ہیں. تو کسی لوپ کے لئے ایک نحوی یاد ہے اور صرف لکھنے میں کوشش کرنا پسند کریں گے لوپ کے لئے پہلی سطر، تھوڑا کے لئے صرف؟ کیلی چاہتا ہوں، تم کوشش کرو ایک دے؟ >> جی ہاں، تو آپ کو پہلے ابتدا ہے، تو میں میں = 0 ڈال، اور اس کے بعد میں میں > جی ہاں، میں نے تھوڑا سا خراب، لیکن ہاں. ٹھیک ہے، چلو اسے اوپر ھیںچو. بہت اچھے. لیکن اس وقت >> مجھے پتہ ہے اگر آپ کہ نہیں تھا - جی ہاں، ٹھیک ہے. تو یہاں ہے جو کیلی کی ہے: اس میں فوری طور پر نظر آتے ہیں. تو وہ سب سے اوپر cs50 لائبریری شامل ہے. وہ سب سے اوپر معیار IO لائبریری شامل ہے، اور معیاری IO افعال printf طرح ہے، اگر ایسا ہے تو کیا تم نے کبھی printf کو استعمال کرنے کے لئے چاہتے ہیں، آپ اس لائن کی ضرورت ہے. اور پھر وہ سٹرنگ لائبریری، ہم جس کی ضرورت ہو گی، کیونکہ سٹرنگ لائبریری strlen تقریب ہے، جس سے ہم صرف تھوڑا سا میں حاصل کرنے کے لئے کریں گے. اگر ایسا ہے تو ہم کیا کیلی کیا ہے یہاں دیکھو، آپ ہمیں جو تم نے کیا کے ذریعے چل سکتا ہے؟ ، تو جی ہاں >> - میرا مطلب ہے، میں غلطیاں ہے، تو - جی ہاں، نہیں، it's - تو >> میں سٹرنگ ہے کہ میں صرف "STRING" ہے فون کرنا چاہتا تھا. میں سٹرنگ پرنٹ کرنا چاہتا تھا اور پھر میں - میں کے طور پر ہر کردار کی ایک صف کی طرح سٹرنگ قائم کرنا چاہتے ہیں کرنا چاہتا تھا مختلف ہونے کے [اشراوی]، ہے نا؟ اور پھر میں 0 عہدے پر شروع کرنے کے لئے کرنا چاہتا تھا اور پھر ہر 2 خالی جگہیں، میں فائدہ جا رہا تھا، تو میں صرف 23، کیونکہ میں ASCII میز پر دیکھ رہا تھا. تو ہے کہ میں کیا سوچ رہا تھا - مجھے پتہ ہے کہ یہ درست نہیں ہے. سمجھے، تو یہ ایک بہت اچھا آغاز ہے. مجھے لگتا ہے کہ فریم ورک کا ایک بہت جگہ میں یہاں ہے. لائن کی طرف سے لائن کی طرح کے ذریعے جاؤ اور دیکھو کیا ہو رہا ہے. تو کوڈ انتخاب کی طرف سے جس طرح سے مجھے یہ کرنا اچھا لگتا ہے صرف آغاز ہے اور دے سنکلک کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے اپنے کوڈ کے ساتھ کیا غلط ہے جیسے میں بتا کیونکہ سنکلک تم سے کہہ رہی ہے کہ آپ کے کوڈ کے ساتھ غلط ہے میں واقعی میں بہت اچھا ہے. تو اگر ہم اسے ادا، تعمیر، اور اس کی تعمیر نہیں کرتا. اس کا کہنا ہے کہ اس میں ایک خرابی تھی، اگر ایسا ہے تو ہم ذیل میں سکرال اور پہلی غلطی کی طرف دیکھو، یہ کہا - ہم واپس سب سے اوپر تک سکرال، ہم دیکھتے ہیں 5 غلطیوں کے نیچے دیے گئے پیدا یہاں ہیں کر سکتے ہیں. افوہ، یہ واقعی منقطع ہے. مجھے لگتا ہے کہ یہ صرف بہتر کسی کو حاصل کرنے کے لئے نہیں ہے. یہاں ہم چلے. تو 5 کل پیدا کی غلطیاں ہیں. میں یہاں پہلے 2 ہی دیکھ سکتے ہیں، تو میں تھوڑا سا اپ تو منتقل اور طرح کتاب اپ کر سکتے ہیں. یہ حکم ہے کہ کوڈ کو مرتب چلانے کے لئے کیا گیا تھا ہے، اور پھر پہلی غلطی file.c میں یہیں تھا: "شناخت یا امید کی جاتی ہے '('"، اور یہ اس لائن پر تھا جہاں ہم نے کہا کہ سٹرنگ = GetString (). تم یہیں دیکھ سکتے ہیں کہ یہ file.c 8 لائن پر تھا، اور پھر مجھے یقین ہے کہ یہ 12 کردار ہے - کیا یہ خامی ہے. کیلی - تو کیا 8 لائن پر غلط ہو رہا ہے؟ >> تم بس اس طرح، ایک خط یا کچھ اور پر فون کرنے کے لئے، کی ضرورت ہے، کے سٹرنگ یا کچھ اور طرح؟ جی ہاں، تو یہ پتہ چلتا ہے کہ یہ خاص قسم کے نام، ، تو سٹرنگ، int، چار مختصر، وہ تمام خصوصی مطلوبہ الفاظ ہیں، اور آپ کو آپ کے متغیر کے نام کے طور پر اصل میں ان کا استعمال کر سکتے ہیں، کیونکہ سنکلک کہ کم لگتا ہے اور کہتا ہے، "اوہ، میں جانتا ہوں کہ ایک قسم ہے، تو آپ نے واقعی میں ایک تار کہتے سٹرنگ متغیر نہیں کر سکتے ہیں، جیسا کہ میں یہاں کیا کرنے کی کوشش کر رہا ہوں، یہ کام نہیں کرے گا. لیکن اس کے بجائے، ہم اسے یا تخسوچت جنجاتی کے یا STR کی طرح کچھ کہہ سکتے ہیں. ہم نے اسے int فون نہیں کر سکتا. ہم نامی int سٹرنگ نہیں ہو سکتے. ہم نامی چار سٹرنگ نہیں کر سکتے ہیں، ان میں سے کوئی بھی کام کریں گے. تو ہم نے کچھ وقت کے لئے کی یہ صرف فون کرتا ہوں. بہت اچھے. تو اگلے اس لائن میں کیا جا رہا ہے؟ جملہ - یہ لائن بہت اچھا لگ رہا ہے؟ چلو اس کی کوشش کسی دوسرے دو، ہم اسے چلانے. ٹھیک ہے، تو ہم اب بھی غلطیاں ہو جاؤ. اس وقت، ہم نے 4 کی غلطیوں کو نیچے ہیں. تو ہم ان میں سے ایک ہے. آو تک منتقل. "غیر متوقع قسم کا نام 'STRING': متوقع اظہار،" ہاں؟ >> جی ہاں، کیونکہ میں سٹرنگ کا نام کرنے کی کوشش کی ہے. جی ہاں، ایسا لگتا ہے کہ اب ہم بھی طے کر جانا ہی ہو گا سٹرنگ پر ان ریفرنسز کی. آپ دیکھ سٹرنگ پر ایک حوالہ ہے، یہاں ایک، یہاں ایک کر سکتے ہیں، تو ہم کے ان تمام منتقل کر سکتے ہیں. بہت اچھا ہے. ٹھیک ہے، اسے دوبارہ چلائیں. عمارت - ایک خامی پیش آگئی ہے. ٹھیک ہے، اب ہم ایک خرابی کی ہیں، تو int میں = اور پھر مربع بریکٹ. تو آپ ہمیں تم یہاں کیا کر رہے تھے کے بارے میں تھوڑا سا بتا سکتے ہیں، کیلی؟ >> جی ہاں. یہ لائن 10 پر تھا. میں >> معلوم نہیں ہے اگر ہم یہ سب کی ضرورت ہے، لیکن مجھے لگتا ہے کہ میں کوشش کر رہا تھا - میں محفوظ کریں تاکہ آپ کے ساتھ عمل کر سکتے ہیں کریں گے. >> مجھے لگتا ہے کہ میں تھا 0 پوزیشن میں شروع بتانے کی کوشش کر لوپ کے لئے میری شروع میں، تو مجھے لگتا ہے کہ شاید وہ کہہ ضروری تھا. تو recap، تم کہہ رہے ہو کہ یہ کیا گیا تھا - تم 0 پوزیشن میں یہ شروع کرنے کی کوشش کر رہے تھے اور یہ حاصل - ہاں، تو میں نے پہلے لگتا ہے، بھی، جب آپ کوڈ کے ذریعے چل رہے تھے، آپ کو کہ آپ کس طرح ایک صف کے طور پر سٹرنگ کا علاج کرنا چاہتا تھا اس کے بارے میں میں بات کر رہے تھے تو ہم ہر کردار کو انفرادی طور پر تک رسائی حاصل کر سکتے ہیں. میں ڈین کا ذکر arrays کا خیال ہے کہ، بھی، arrays میں ڈور میں تبدیل کرنے کی کوشش کر رہا ہے. یہ ہڈ کے تحت بدل جائے تو سمجھ لینا اس طرح کی، ایک تار اصل میں ایک صف کے طور پر محفوظ کیا جاتا ہے پہلے ہی، اور آپ نے اسے ایک صف کی طرح تک رسائی حاصل کر سکتے ہیں؛ کوئی تبادلوں سے کہ تمہیں کیا کرنا ہے ہے. ایک تار isn't - تو - ایک تار واقعی نہیں ہے ایک صف، لیکن تم نے اسے اس طرح کے طور پر تک رسائی حاصل، کیونکہ حروف کے تمام جمع کیے جاتے ہیں کر سکتے ہیں یاد میں ایک دوسرے سے اگلے ایک، اگر ایسا ہے تو آپ کو سٹرنگ کے پہلے کردار کو حاصل کرنے کے لئے چاہتے ہیں، یہ ایک عددی صف میں پہلی عددی حاصل کرنے کے طور پر ایک ہی ہے. تو اکثر ہم - we'll 2 کی طرح سے رجوع کریں اوہ، ایک تار کے طور پر، ایک صف کے طور پر، اگرچہ یہ واقعی - بہت مختلف چیزیں they're لیکن آپ انہیں بہت ایک ہی علاج کر سکتا ہے. تو یہ پتہ چلتا ہے کہ اصل میں یہ لائن - ہم کسی بھی تبادلوں کے کرنے کی ضرورت نہیں ہے، اور اصل میں، یہ اصل میں ایک درست اظہار نہیں ہے، ہے جو ہمارے سنکلک ہمیں بتا رہا ہے. یہ کہا، "ارے، یہ ایک اظہار کی امید ہے، اور ایسی چیز ہے جس کا اظہار نہیں ہے کہ میں یہاں کیا مل گیا ہے. " ایک صف کا اعلان کرنے کے لئے، آپ کیا کرنے کی ضرورت ہے، ایک نیم وقفہ کے ساتھ کچھ اس طرح ہے، اور پھر آپ نے صف بتاو تم کتنی دیر تک یہ کرنا چاہتا ہوں، اس طرح 5 تو، یہ لائن 10 اس میں 5 integers کے ساتھ ملاقات کی میں صف کا اعلان کریں گے. یہ ایک طرف ایک ہے، اس کوڈ کے لئے ضروری نہیں ہے، لیکن یہ ہے - یہ کیا اعلان کی طرح لگتا ہے کی طرح ہے. >> تم کس طرح حروف میں [strlen (زبانیں)] استعمال کریں گے چار میں [strlen (زبانیں)] >> چار میں، اور پھر بریکٹ، strlen (زبانیں) کے اندر ہے. جی ہاں، اس لئے ہم یہ کر سکتے تھے - کیا ہم یہ کر سکتے ہیں، اور اس کا اعلان کریں گے - یہ کیا کریں گے؟ >> میں لگتا ہے کہ یہ ایک صف کا اعلان کریں گے ، جیسے - کی - اوہ، تم نے مجھے اس کی ضرورت نہیں ہے - اوہ جی ہاں، تم ضرور مجھے اس کی ضرورت نہیں ہے. آپ حروف کی ایک سرنی کا اعلان لمبائی S. اور تو کیا سیم کہہ رہے ہے یہ لائن 10 - کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے اور باقی حصوں کے درمیان میں کچھ جگہ تو ہم اسے الگ تھلگ کر سکتے ہیں ڈال دو - یہ لائن 10 کے ایک صف کا اعلان کریں گے حروف، ان میں سے strlen مالیت (زبانیں) لیکن ہم اصل میں میں نے کی ضرورت ہے، اور وجہ سے ہمیں ضرورت میں ہے کیونکہ ہم صف ایک کا نام دینے کی ضرورت ہے؛ دوسری صورت میں، ہم نے ایک کوڈ میں صف بعد سے رجوع کا طریقہ نہیں کریں گے. تو یہ یہاں حق صف نام ہے اور کی حد کے اندر ہے. اس سے ہمیں ایک صف دے گا، لیکن یہ ہے - یہ ایک بار پھر، یہ ایک اعلان ہے. یہ ایک کام نہیں ہے، یہ ایک ابتدا نہیں ہے. اگر ہم اس صف، اس طرح کا اعلان وہاں اصل میں صف کے مندرجات میں کچھ بھی نہیں ہے. یہ صرف ردی ہے - اس میں جو کچھ بھی ہے. اور جیسا کہ ہم نے کہا، ہم اصل میں اس کے تبادلوں کرنے کی ضرورت بھی نہیں ہے، کیونکہ ہم ایک صف کے طور پر کی سٹرنگ پہلے ہی علاج کر سکتا ہے. مجھے پتہ ہے کہ ہم نے وقت پر ایک طویل سا چلا رہے ہیں، لیکن میں واقعی بہت تیزی سے لوپ کے لئے حاصل کرنے کے لئے کرنا چاہتے ہیں ، اور آپ کو کس طرح صف میں انفرادی حروف تک رسائی حاصل کر سکتے ہیں کرنے کے دکھائیں جو ہمارے تفویض کے لئے اہم ہے کیونکہ. اور پھر ہم آپ کو وہاں سے چلے جائیں گے. تو یہاں ہم لوپ کے لئے ایک ہے جو تقریبا اچھا لگ رہا ہے. بہت تقریبا وہاں کیا نہیں ہے؟ What's - بالکل ٹھیک کیا لوپ کے لئے اس کے بارے میں نہیں ہے؟ >> کوئی گھوبگھرالی منحنی خطوط وحدانی؟ ایک کے لئے کوئی گھوبگھرالی منحنی خطوط وحدانی،. چاہتے اس بات کا یقین کر لیں کہ ہم گھوبگھرالی منحنی خطوط وحدانی کے ساتھ لوپ کی لاش ہے. افوہ، مربع تسمہ نہیں! اور اگلی بات یہ ہے کہ ہم اس لوپ کے ساتھ کیا کرنے کی ضرورت ہے کیا ہے؟ اگر میں اور اسے چلانے کی کوشش کریں، یہ غلطی ہے کہ میں کیا ہے؟ میں نے ان تمام غلطیوں کو ملتا ہے - میں میں ابتدا ہے. بہت اچھا ہے. تو یہ ایک لوپ ہو جائے گا - یہ کافی نہیں ہے، لیکن یہ واقعی قریب ہو رہا ہے. اس کوڈ سے ہم اب چلا سکتے ہیں، تعمیر میں ایک خامی اب بھی ہوتی ہے. وہ ابھی تک کیوں شکایت ہے، اظہار ہوئے کہا کہ غیر استعمال شدہ ہے، اور وہ اس لئے ہے کیونکہ یہ لائن کچھ بھی نہیں ہے. ہم نے اسے محفوظ نہیں کیا کہیں، ہم نے نتیجہ نہیں بچا تھا. ہم یہ نتیجہ کہاں ہونا چاہئے بچانے؟ >> کی یا میں؟ بالکل، اور اس funky نحو، مربع بریکٹ کے ساتھ اس کی کا مطلب ہے کہ کے کردار میں ویں تک رسائی حاصل ہے. یہ کچھ جو تفویض کے لئے بہت ضروری ہے جا رہا ہے. بدقسمتی سے، ہم یہاں کو روکنے کے لئے کی ضرورت کے لئے جا رہے ہیں، تاکہ سیبسٹین کے حصے میں آ سکتے ہیں، لیکن میں باہر کے بعد رہنے کے لئے بہت خوش ہوں اور اس کے ذہن میں کوئی سوالات لے جائے گا. تو آپ کو آنے کے لئے لوگوں کا شکریہ ادا کرتے ہیں. ، اب تعمیر اپ لوڈ، چاہئے چلائیں. ہم ایک تار کی طرح "ہیلو" میں داخل کر سکتے ہیں اور اسے "QOX" پرنٹ. [ہنسی] تو، بہت وہاں نہیں بلکہ منتقل، ان loops کی طرف ہو رہی ہے! آنے کے لئے شکریہ، اور میں باہر ہو جائے گا.