[موسیقی بجانے] DAVID MALAN: ہیلو، سب لوگ. یہ CS50 کی supersection ہے. تفویض حصے نہیں ایک ہفتے کے لئے شروع. اور اس طرح آج، میں یہاں ہوں with-- ماریا: ماریا. DAVID MALAN: اصل --to مسئلہ پر ایک نظر ڈالیں ایک، کورس کی مقرر مواد کے پہلے ہفتے، آپ CS50 IDE کے ساتھ پر مبنی ہو، تھوڑا سا لینکس، ہے کہ آپریٹنگ سسٹم کے IDE پر چلنے، کے طور پر اچھی طرح سے کے طور پر منتقلی میں سے کچھ نظر سی معروف کے لئے شروع سے مسئلہ تک ایک مقرر. تو مزید ado کے بغیر، مسئلہ میں، ایک مقرر آپ جا رہے ہیں CS50 IDE، کرنے کے لئے متعارف کرایا ہے جس اس ویب پر مبنی پروگرامنگ ہے ہم نے آرڈر میں استعمال کرتے ہیں ماحول پروگرام لکھنے کے لئے. یہ بہت تلاش کرنے کے لئے ڈیزائن کیا گیا ہے ایک عام کمپیوٹر کی یاد تازہ ایک آپریٹنگ سسٹم چل رہا ہے لینکس نامی نظام. لیکن یہ نام نہاد بادل میں ہے، جس کی کلاس میں سب کا مطلب ہے اصل میں ہو سکتا ہے اس کا یا اس اپنے اکاؤنٹ کے ساتھ ساتھ، اس کا استعمال اور. تو تم میں سے سب سے زیادہ شاید کبھی استعمال نہیں کیا پہلے یا شاید ایک لینکس ماحول یہاں تک کہ ایک کمانڈ لائن ماحول. اور ایک کمانڈ لائن ماحول مختلف ہے. یہ تمام ٹیکسٹ ہے. یہ سب بورڈ حکم دیتا ہے. اور یہ کوئی mousing کی، کوئی شبیہیں ہے، کوئی بات چیت ونڈوز، کوئی مینو. یہ خالصتا متن. تو سب سے پہلے میں، اس قسم کی ایک قدم کی طرح محسوس ہوتا ہے پیچھے نفاست کے لحاظ سے. لیکن یہ ایک بہت کیا جا رہا ہے ختم ہو جاتی ہے زیادہ طاقتور، یقینی طور پر، ایک کمپیوٹر سائنسدان کے لئے، آخر. تو ایک نظر ڈالیں. یہاں میں، CS50.io میں ہوں جس کے ذریعے آپ CS50 IDE میں لاگ ان کر سکتے ہیں. اور بہت سکریچ کی طرح، وہاں ہے اس کی سکرین پر تین بنیادی علاقوں. تو بائیں ہاتھ کی طرف پر، ہم نے کیا فائل براؤزر ہو جائے گا. اور اس فولڈر میں موجود ہے حق اب خالی ہے جو سب سے اوپر، میں سب سے چھٹکارا مل گیا کے بعد سے میرا supersection پہلے فائلوں. اور یہ کہ ہم کہاں گے ہے ہم لکھتے ہیں کہ سی فائلوں کو بچانے کے. اوپر دائیں، ہم نے ایک جگہ ہے جہاں ہے ہماری کوڈ کے تمام تحریری حاصل کرنے کے لئے جا رہا ہے. اور بے شک، میں نے اس کے علاوہ پر کلک کریں تو، اس مجھے نئی فائل کا انتخاب کرتے ہیں کی جا رہی ہے. اور یہاں میں یا C کوڈ لکھنے شروع کر سکتے ہیں، واقعی، دیگر زبانوں کے کسی بھی تعداد. اور پھر یہ کہاں سے نیچے دیئے گئے کا کہنا ہے کہ jharvard کے @ ide50-- اور تمہارا گا ایک چھوٹا سا کچھ کا کہنا ہے کہ different-- یہ کیا کہا تھا؟ ٹرمینل ونڈو. جی ہاں. تو ٹرمنل ونڈو ہے نام نہاد کمانڈ لائن آپ کو بات چیت کر سکتے ہیں جس کے ذریعے انٹرفیس بنیادی آپریٹنگ سسٹم کے ساتھ. اور اب کے لئے، ہم جا رہے ہیں this-- کا بہت کم استعمال کر صرف کو دیکھنے کے لئے، مرتب کرنے کے لئے ہم دیکھتے ہیں کہ خرابی کے پیغامات، اور ہمارے پروگراموں کو چلانے کے لئے. لیکن بالآخر، ہم جا رہے ہیں اس کے ساتھ ساتھ، اتنا زیادہ کرنا. اور آپ کو بھی سافٹ ویئر کو انسٹال کر سکتے ہیں اور اپنے کام کی جگہ کا انتظام CS50 IDE کے اندر اندر، اس کے ساتھ ساتھ. لیکن اس سے کسی دوسرے وقت پر زیادہ. تو آگے بڑھو اور لکھ دو ایک بہت سادہ پروگرام صرف کا ایک وارم اپ کے ذریعے جانے کے لئے شاید ہے جس hello.c کے، ہم لکھ سکتے ہیں سادہ پروگرام. میں نے پہلے ہی ایک نیا ٹیب کھول دیا ہے. میں آگے جانے کے لئے جا رہا ہوں اور معیاری io.h. شامل کہنا پھر سب سے اہم (باطل) int کی. اور پھر printf ("ہیلو، دنیا" الٹا سلیش (ن)، بند اقتباس، بند قوسین، اور نیم وقفہ. بالکل ٹھیک. تو اب میری ونڈو بلاعنوان محسوس. تو میں نے بہت تیزی سے جا رہا ہوں ، محفوظ فائل تک جانے کے لئے. اور یہ کہ ضروری ہے میں "ہیلو." یہ کہتے ہیں تو ایک بہت عام غلطی، خاص طور پر مسئلہ میں، مقرر اتفاقی طور پر صرف کال کرنا ہے آپ پروگرام "پانی" یا "لالچی" یا "ماریو" "کریڈٹ" یا جیسے یا. لیکن اگر آپ واقعی بنانا چاہتے ہیں یقین ہے کہ آپ فائل چڑھانے کی کوشش ہے اس کا واحد راستہ یہ ہے کہ کیونکہ سنکلک اور بھی کوڈ ایڈیٹر تم جانتا ہے کہ اصل C کوڈ لکھنے. تو مجھے آگے بڑھو اور محفوظ کلک کریں. اور اب، بھی، کیا CS50 IDE یہ بھی ہمارے لئے کیا ہے نحو سب کچھ پر روشنی ڈالی. تو یہ سب کچھ بہت رنگا رنگ بنایا ہے. اور کا سارا مقصد کہ فعال نہیں ہے. یہ میری آنکھوں کو اپنی طرف متوجہ کرنے کے لئے صرف ہے تصوراتی مختلف ٹکڑوں اس پروگرام کے. تو آگے بڑھو اور اس کے مرتب کرتے ہیں. اور میں نے اس کو مرتب کر سکتے ہیں طریقوں میں سے ایک جوڑے میں. اور ایک ہفتے میں، پرانے اسکول کے راستے ہم نے اس میں لفظی تھا کمانڈ line-- "بجنا hello.c." اور پھر میں درج کریں مارا. اور کچھ بھی نہیں ہونے لگتا ہے ٹرمنل ونڈو میں. لیکن IDE میں تبدیلی کیا کیا؟ کہاں، ایک بار پھر، IDE صرف کا مطلب ہے ایکیکرت ترقی کے ماحول. یہ کہہ کے پسند طریقہ ہے اس مربوط ترقی سافٹ ویئر کی ترقی کے لئے ماحول. تو UI میں تبدیل کیا تھا؟ آپ کیا محسوس کیا کہ ماریا، مختلف ہے؟ ماریا: میں نے کچھ محسوس کیا IDE50 تحت یہاں فولڈر. DAVID MALAN: جی ہاں. تو یہاں، نہ صرف ہم کرتے ہیں "hello.c کے." ہم نے بھی ہے جس میں "، میں a.out" ہے ایک پروگرام کے لئے ایک گونگا نام کی طرح. لیکن بے شک، یہ ایک کے لئے پہلے سے طے شدہ نام ہے آپ کو صرف اپنے کوڈ کو مرتب جب پروگرام اور سنکلک نہیں بتانا پیداوار کے لئے کیا فائل. تو میں نے اس کو چلانے کے لئے کرنا چاہتے ہیں تو، میں compiler-- بتانے کی ضرورت ہے یا بلکہ، میں کرنے کی ضرورت کام کی جگہ کو بتانا ہے کہ میں نامی پروگرام کو چلانے کے لئے چاہتے ہیں "میں a.out." درج. اور، ہیلو "ہے دنیا. "اب" ./ ". اصل میں ضروری ہے. یہاں تک کہ عام طور پر ہم صرف اگرچہ حکم دیتا ہے کے نام لکھ، یہ آپ نے ایک پروگرام ہے جب لکھا، آپ کو "./" کہنا چاہتے ہیں کہ واضح طور پر لینکس کو بتاتا ہے کیونکہ آپ نامی ایک پروگرام کو چلانے کے لئے چاہتے ہیں کہ اس میں ہے کہ "میں a.out"، جہاں ڈاٹ میں فی الحال ہوں کہ اس ڈائریکٹری کا مطلب ہونا ہوتا ہے جس میں، "میں a.out، کام کی جگہ بلایا. میں نے ابھی کہا کیونکہ اگر "میں a.out،" درج کریں، میں کمانڈ میں a.out "نہیں حاصل کرنے کے لئے جا رہا ہوں ملا "کمپیوٹر کی وجہ سے میں ایجاد کیا کیونکہ "میں a.out" یہ کمپیوٹر کے ساتھ نہیں آیا تھا یہ کہاں تلاش کرنے کے لئے پتہ نہیں ہے، یہاں تک کہ اس کا حق ہے، اگرچہ میری ناک کے نیچے، تو بات کرنے کی. ٹھیک ہے. تو ہم اس کو تبدیل کر سکتا "ہیلو -o بجنا hello.c." ہو اور میں درج کریں مارا تو، کیا پروگرام یہ میرے لئے پیداوار کے لئے جا رہا ہے؟ فائل کا نام کیا ہے؟ جی ہاں، پیچھے. یہ ٹھیک ہے. "ہیلو." تو "ہیلو" کی جا رہی ہے پروگرام کا نام ہم نے استعمال کیا ہے کیونکہ ایک نام نہاد صرف ہے جس میں کمانڈ لائن کی دلیل، کے رویے کو تبدیل کرنے کا ایک طریقہ اصل میں پیداوار کے لئے سنکلک ایک مخصوص فائل کے نام. اور یقینا، میں زوم تو باہر اور یہاں تک نظر آتے ہیں، اب میں نہ صرف "میں a.out" ہے اور کے طور پر اچھی طرح سے "hello.c کے" بلکہ "ہیلو". تو اب مجھے کیا کرنا ہے "خوش کی،" درج کر سکتے ہیں. اور "ہیلو، دنیا." ہے lastly-- اور اس لیکن اب کنونشن ہو گا ہم بھر میں استعمال سمسٹر، typically-- آپ یہ بھی صرف کہہ سکتے ہیں "ہیلو." اور یقینا، یہ منحصر ہے کہہ رہا ہے تاریخ میں یہ پہلے سے ہی موجود ہے کیونکہ. مجھے آگے جانا ہے اور اس کے ساتھ، کو ہٹا دیں RM کمانڈ، "میں a.out" دونوں - اور کہتے ہیں کہ "باقاعدہ فائل میں a.out کو ہٹا دیں؟" صرف کا مطلب ہے کہ، تم ہو یقین ہے کہ آپ اس کو حذف کرنا چاہتے ہیں؟ میں ہاں کہنے جا رہا ہوں. اور پھر میں نے دور کرنے کے لئے جا رہا ہوں "ہیلو" نہیں بلکہ "hello.c کے." میں، واضح طور پر "ہاں" کہنے جا رہا ہوں لیکن "Y" کے طور پر ساتھ ساتھ، کافی ہے. اور اب تو نوٹس میں ، ls-- جس، یاد ٹائپ یہ سب کی فہرست list-- مطلب میرے فولڈر میں فائلوں کی. اور یقینا، میں زوم تو باہر اور سب سے اوپر بائیں طرف دیکھو، یہ کیا ہے کہ اس بات کی تصدیق اس فولڈر میں، یہاں تک کہ اسے یہاں IDE50 طور پر لیبل لگا ہے اگرچہ اور کام کی جگہ، یہ صرف "hello.c کے." ہے تو اب یہاں نیچے، میں تو درج کریں "ہیلو، بنانے" کرتے ہیں، اب میں ایک بہت طویل کمانڈ دیکھتے ہیں لیکن ایک جا رہا ہے کہ زیادہ بہتر حکم آنے والے ہفتوں میں مفید ہو. اور اب میں "میں خوش کی." کہہ سکتے ہیں تو ایک فوری اعلان لینے دو کچھ دوسرے لینکس حکم. تو پھر کیوں ہم ایک قدم نہیں لیتے واپس اور اصل میں زیادہ C میں نظر آتے ہیں عام طور پر، سکریچ کی طرف سے تبدیل C کرنے کے لئے، اور اس کے بعد ایک نظر کے ساتھ یہ نتیجہ اخذ سب سے پہلے مسئلہ سے اوپر سی میں قائم تمام حق. تو میں نے آگے اور صرف صاف جانے کے لئے جا رہا ہوں کنٹرول ایل صرف کے ساتھ اپنے کام کی جگہ کو صاف سکرین رکھنے کے لئے. لیکن یہ کوئی فعال ہے دوسری صورت میں اثر انداز. ہم نے دیکھا ہے کہ یادآوری اب چند احکام. تو ہم جو عام طور پر، بجنا دیکھا ہے آپ اب دستی طور پر عمل کرنے کی ضرورت نہیں پڑے گی. ہم بجائے بنانے کا استعمال کریں گے. لیکن ہم یہ بھی ایک سے پتہ چلتا ہے، LS دیکھا میرے ڈائریکٹری میں فائلوں کی لسٹنگ. اور اب کیوں there-- دو رہا ہے اب فائلوں، "ہیلو" اور "hello.c کے." کیوں ایک ایک ستارہ یا نہیں ہے "ہیلو" کے بعد ستارے؟ کہ بنیاد پر، کیا مطلب تھا ہم ایک ہفتے میں دیکھا ہے؟ آپ کیا سوچتے ہیں؟ کیا سٹار نشاندہی کرتا ہے؟ ماریا: "ہیلو" پروگرام For--؟ DAVID MALAN: "ہیلو *". جی ہاں. ارے ہان؟ اوہ، کارکردگی. یہ ٹھیک ہے. تو اس کا مطلب ہے کہ "ہیلو" کارکردگی قابل ہے. تو یقینا، یہی وجہ ہے کہ ہے میں "میں خوش کی." کر سکتے ہیں بالکل ٹھیک. تو اور کیا میں یہاں کر سکتے ہیں؟ ویسے، اس میں کر سکتے ہیں باہر کر دیتا ہے بھی ڈائریکٹریز کی تخلیق. تو مجھے آگے جانا ہے اور تشکیل دیں، مثال کے طور پر، ایک "pset1 کے" ڈائریکٹری. اور مسئلہ سیٹ تفصیلات تم بالکل ایسا کرنا پڑے گا، لہذا آپ کو آج یاد کرنے کی ضرورت نہیں. لیکن "mkdir کی pset1 کے" لگتا ہے کوئی اثر پڑے. لیکن ایک بار پھر، کوئی خرابی کا پیغام عام طور پر ایک اچھی بات ہے. تو میں، آہ now-- اب "LS" ٹائپ کریں تو میں نامی ایک executable فائل ہے "ہیلو،" ایک سی فائل "hello.c کے." نامی اور پھر پشت بندی سلیش، کے لئے اتنا ، بات یہ ایک ڈائریکٹری ہے کا مطلب ہے کہ. تو یقینا، اب میں اس کو کھولنے کے لئے چاہتے ہیں. اور میں کی طرح اس پر کلک کریں ڈبل نہیں کرتے ایک GUI، ایک گرافیکل ماحول میں. میں بجائے "CD pset1 کے." کا کہنا ہے کہ درج. دلچسپ کچھ ہے لگتا ہے میرے چھوٹے فوری طور پر چھوڑ کر ہوا یہاں اس یاد دلانے کے لینکس کی راہ ہے مجھے کہاں ہوں، تو کیا فولڈر کھلا ہے. یہ واضح طور پر مجھ سے کہہ رہا ہے کے طور پر گراف کی مخالفت. میں ٹائپ کریں تو اور "LS،" کیوں میں نے ایک اور دیکھتے ہیں آپ کو لگتا ہے، فوری طور پر فوری طور پر، میں pset1 کے کے مواد کی فہرست ہے؟ ماریا: آپ نے شاید ایسا نہیں کرتے وہاں کچھ ہے. DAVID MALAN: جی ہاں. تو ہم واضح طور پر نہیں ہے وہاں میں کچھ پیدا میں صرف ڈائریکٹری پیدا کیا ہے کیونکہ. اب، میں نے کے لئے ایک فائل تخلیق کرنے کے لئے کرنا چاہتا تھا تو مثال کے طور پر، میں نے ایک نئی فائل بنانے کے کر سکتے ہیں. اور پھر میں جا سکتے ہیں محفوظ کریں اور کے طور پر بچانے کے لئے، کی طرح، "mario.c" آپ کر رہے ہیں pset کے ایک کے سٹینڈرڈ ایڈیشن. اور پھر، کسی بھی میک یا پی سی کی طرح، صرف ، محفوظ فولڈر "pset1 کے منتخب کریں. اور اب فائل خالی ہے. لیکن ایک سیکنڈ کے لئے ایک بار پھر میں زوم. یہاں LS کرتے ہیں. اب ہم "mario.c" دیکھیں. تو چند دیگر احکام ہے کہ وہاں ہیں وقت کے دوران ذہن میں رکھنے کے قابل ہیں واضح، یا کنٹرول-L میں کیا ہے مار رہی ہے؛ mkdir کی ہم نے دیکھا ہے؛ RM ہم ہے جو، کے طور پر اچھی طرح سے، دیکھا ہے ہٹانے یا ایک فائل کو خارج کرنے کے لئے. آپ کو نظر آتے ہیں تو آپ کو also-- سکتا بچو اور آن لائن سبق میں، آپ -rf RM گا کہہ کا ایک بہت عام طریقہ ہے اس میں چیزیں ہے کہ ایک فولڈر کو خارج. بس سپر ہوشیار، سپر ہو. -rf تکراری مطلب یہ جو کچھ بھی ہے کو خارج کر دیں آپ کو خارج کرنے کی کوشش کر رہے ہیں اور زبردستی اس کو حذف. یہ ایک فولڈر کے ساتھ ہے تو کا مطلب ہے تاکہ پنراورتی ایک فولڈر کے ساتھ ایک فولڈر کے ساتھ ایک فولڈر، ان میں سے سب کو خارج کر دیں. اور زبردستی بھی نہیں کا مطلب ہاں مجھ سے پوچھیں یا نہیں، مجھے یقین ہے کہ ہوں؟ تو اس کا ایک خطرناک سپر طریقہ ہے فوری طور پر چیزیں بہت کو خارج. لیکن beware-- بھی اکثر ایک نڈر کرتا طالب علم اتفاقی طور پر، کا کہنا ہے کہ، pset کے خارج مثال کے طور پر ایک،. MARIA اور وہ تو صرف -r کرتے ہیں، وہ جا رہے ہیں ہر ایک فائل کے بارے میں ان سے پوچھیں کرنے. DAVID MALAN: کون سا ہے اعتدال پریشان. MARIA: جی ہاں. DAVID MALAN: تو یہی وجہ ہے کہ ہے ہم میں سے بہت، خود بھی شامل ہیں، -rf استعمال کرتے ہوئے کی عادت میں ہوں. لیکن یہ خطرناک ہے. تو خریدار ہوشیار. اور پھر MV قسم کی ہے دلچسپ بات یہ ہے نام. لہذا اس اقدام کی کمانڈ ہے، جو عجیب لگ رہا ہے ایک چھوٹا سا تم واقعی کرنے کے لئے استعمال کر سکتے ہیں کیونکہ ایک جگہ سے فائلوں کو منتقل. مثال کے طور پر، میں نے گڑبڑ کر دی ہے کہ فرض. میں پیدا کیا ہے کہ فرض کریں pset کے لئے ایک نئی فائل. اور میں کے طور پر محفوظ "greedy.c." لیکن اتفاقی طور پر مجھے لگتا ہے اس کو بچانے کے IDE50-- میں اپنے کام کی جگہ میں ہی تو اور pset1 میں. آپ سب سے اوپر بائیں میں جتنا دیکھ سکتے ہیں. "greedy.c." نہیں ہے اور چند حل ہے. تو ایک، میں استعمال کر سکتے ہیں سپر صارف دوستانہ طریقہ صرف گھسیٹنے اور گر. اور یہ کہ اصل میں کریں گے اس مسئلہ کو حل. لیکن آج، ہم پر نظر کرنے کی کوشش کر رہے زیادہ arcane لیکن طاقتور طریقوں اس کر. تو مجھے pset1 میں "LS" لے. اور میں صرف "mario.c." دیکھیں مجھے آگے بڑھو اور کرتے ہیں "CD ..". تو سی ڈی ایک بار پھر تبدیلی کی ڈائریکٹری ہے. ".." اگرچہ، مطلب کیا ہے؟ آخری بار میں نے کہا "سی ڈی pset1 کے "pset1 کے میں جانے کے لئے. میں "CD .." کہتے ہیں تو، میں کیا کر رہا ہوں؟ پیچھے کی طرف. جی ہاں. تو یہ نام نہاد والدین جا رہا ہے. کی طرح، ایک سطح تک جانا ایک فولڈر سے باہر باہر نکلنے. درج کریں تاکہ. اور یقینا، یہ کیا نظر آتے ہیں. اس کی بجائے صرف کام کی جگہ میں میرے منتقل کر دیا کے کام کی جگہ میں ہے pset1 کے، میں. اور اب میں "LS" ٹائپ کریں تو، سامان کی ایک پوری چڑھانے ہے. میں "greedy.c" ہے. تو اب مجھے لفظی MV کا استعمال کرتے ہیں pset1 کے میں "greedy.c" میں منتقل. اور اس طرح لینکس کی ایک بہت کا حکم بالکل اس طرح کام کرتے ہیں. انہوں نے کوئی بحث نہیں لے یا وہ ایک لے دلیل یا وہ دو کمانڈ لائن لے دلائل اور تو آگے. اور اس معاملے میں، یہ ہے لفظی کیا کر یہ succinctly-- سہی، کا کہنا ہے کہ pset1 کے میں greedy.c منتقل. درج. کچھ نہیں ہونے لگتا ہے. میں ایک بار پھر ایک LS کرتے ہیں تو لیکن، لالچی چلا گیا ہے. میں "سی ڈی pset1 کے" کرتے ہیں تو، پھر درج کریں، اور LS پھر، اب یہ صحیح جگہ میں ہے. ایک طرف، کے لئے کے طور پر اگر کچھ خاص طور پر reason-- آپ وقفے وقفے سے ہے نیٹ ورک کنیکٹوٹی یا آپ کے ارد گرد چل رہے ہیں اپنے لیپ ٹاپ ڑککن کے ساتھ کیمپس بند کر دیا اور پھر اسے کھولو بار اپنے کام کی جگہ کسی حد تک ہم آہنگی، کوئی بڑی بات نہیں کے باہر لگتا ہے. بس اپنے براؤزر کو دوبارہ لوڈ کریں ونڈو، اور یہ ہونا چاہئے resync تاکہ بائیں ہاتھ فائل براؤزر بالکل لگتا ہے ٹرمینل ونڈو کی طرح. فکر کرنے کی نہیں. جب شک میں، تو، صفحہ دوبارہ لوڈ کریں جب تک آپ کو پہلے ہی فائلوں کو محفوظ ہے کے طور پر. ٹھیک ہے. تو MV بھی فائلوں کا نام تبدیل کرنے کے لئے استعمال کیا جا سکتا ہے. اور چلو پر ایک نظر ڈالیں یہاں یہ آخری کمانڈ. تو suppose-- اور یہ ہے سپر عام، بھی، جلد. کچھ طالب علموں کو کبھی کبھار ایک فائل تخلیق کہا جاتا ہے، کی ایک کیا say-- ہیں؟ "WATER.C." کی طرح لہذا میں نے صرف آپ کے لئے، چللانا کریں گے تمام بڑے حروف میں کوئی وجہ نہیں،. لیکن یہ نہیں ہے فائل کے لئے صحیح نام ہمارا مسئلہ سیٹ صرف کیونکہ اگر تفصیلات آپ کو بتا نہیں کیا تمام بڑے حروف کے طور پر فائل کو بچانے کے لئے "WATER.C." اس کے بجائے، ہم توقع چھوٹے میں "water.c". اور، اصل میں، یہ ہے مشکلات کی وجہ سے check50، تم جا رہے ہو پروگرام مسئلہ میں سے ملنے کے لئے خود کار طریقے سے جانچ کرتا ہے کہ ایک مقرر آپ کے کوڈ کے درست تم پر چللانا جا رہا ہے اگر یہ نہیں کر سکتے تمام چھوٹے "water.c" تلاش. تو میں اس کو ٹھیک کرنے کی ضرورت ہے. کرنے کے لئے بہت سے مختلف طریقوں ، جن میں سے سب سے پہلے ایسا کنٹرول پر کلک کریں یا دائیں کلک کرنے کے لئے ہو جائے گا فائل کا نام صرف نام تبدیل، تبدیلی اور. ایسا کرنے کے لئے مکمل طور پر ٹھیک. لیکن ایک بار پھر، آج، چلو یہ ایک تھوڑا fancier کرتے. کو تبدیل کرنے کے لئے MV کا استعمال کرتے ہیں کے لئے "WATER.C" "water.c." تو تم بھی پہلی دلیل استعمال کر سکتے ہیں دوسری دلیل کے لئے اس کا نام تبدیل کرنے دوسری دلیل میں نہیں ہے تو حقیقت یہ ہے کہ، ایک فولڈر یا ایک ڈائریکٹری کا نام. بالکل ٹھیک. اور آخر میں، ایک چھوٹی سی چال تو میں ہوں اس وقت میری کام کی جگہ ڈائریکٹری. میں pset کے ایک میں حاصل کرنے کے لئے چاہتے ہیں، میں یقینی طور پر "CD pset1 کے." ٹائپ کر سکتے ہیں لیکن یہ "pset1 کے" ٹائپ کرنے کے لئے اتنا تکاؤ ہے یا فائل کے نام یا ڈائریکٹری نام اب اب بھی. تو بہت اکثر لینکس میں، کیا آپ "PSE" ٹائپ کرنا شروع کیا ہے کر سکتے ہیں اور صرف ؤب ٹیب مارا، اور دو آپ کے کمپیوٹر کے اعداد و شمار اس کے باہر. اس عادت میں حاصل کرنے کے لئے سپر مددگار. اگر آپ کے پاس صرف پکڑنے ہے شروع ایک سے زیادہ فائلوں یا فولڈرز خط "P" کے ساتھ یا "PS،" آپ ہو سکتا ہے پہلے چند مزید ٹائپ کرنا کمپیوٹر کیا جانتا ہے. MARIA: ہم شارٹ کٹس پسند. DAVID MALAN: یہ آپ کو اتنا وقت بچانے کے. اور بھی، ہم آپ کو، لیکچر میں کہا کہ اوپر اور نیچے، تاریخ میں سکرال کر سکتے ہیں، حال ہی میں پھانسی تلاش کرنے کے لئے حکم دیتا ہے، کے طور پر اچھی طرح سے. بالکل ٹھیک. تو اب، کی ہماری توجہ پیٹھ پھیر کر دو ایک سادہ پروگرام میں، ہیلو دنیا. تو ہم بالکل اس مرتب کیا ہے. اور اب ہم کیوں نہیں لیتے اعداد و شمار اقسام پر ایک نظر اور پھر کچھ سے منتقلی سی سکریچ بلاکس اسی MARIA: بہت اچھے. تو اب آپ کو شروع کر دیا ہے C میں پروگرام لکھ، ہم بات کر شروع کرنے کے لئے جا رہے ہیں ڈیٹا کی اقسام اور متغیر کے بارے میں. تو کچھ اعداد و شمار اقسام کہ تم اب شروع جاننا چاہتا ہوں گے ہیں کہ لوگ ہیں نیلے رنگ میں روشنی ڈالی. تو ہم سب سے پہلے int ہے جو عددی کے لئے کھڑا ہے. اور یہ کہ آپ کے طور پر، integers کے کی ڈگری حاصل کی ہو سکتا ہے guessed-- تو 1، 2، 3، اور کسی دوسرے integers کے آپ کے بارے میں سوچ کر سکتے ہیں. DAVID MALAN: اور بھی منفی. MARIA اور بھی منفی ہیں، جی ہاں. اور 0. پھر ہم floats، ہے جس نقطہ نمبر تیرتا رہے ہیں. تو ہے کہ حقیقی اعداد ہے اس دشملو پوائنٹس ہیں. تو 5.0، 5.2، اور بھی زیادہ دشملو نقطہ کے بعد ہندسے، اس کے ساتھ ساتھ، اور بھی منفی ہیں. پھر ہم نے ایک کردار ہے جس میں چار ہے. لہذا میں ہم کے بارے میں بات لگتا ہے اس لیکچر میں آج. لیکن ہم ایک مثال کے لئے، خط ہے ایک چار کے طور پر محفوظ کیا جا سکتا ہے کہ بی، C--. لیکن اس وقت ہم نے ایک بہت زیادہ علامات ہے کہ ایک چار کے طور پر محفوظ کیا جا سکتا ہے. اور وہ ASCII کے طور پر محفوظ کیا جاتا ہے. اور پھر ہم bool ہے، جس Booleans کے ہیں. اور وہ سچ کا اندازہ یا جھوٹی یا بالترتیب 1 اور 0،. DAVID MALAN: اور یاد ہے کہ bool کے CS50 لائبریری سے آتا ہے. تو یہ میں تعمیر نہیں سی، لیکن یہ انتہائی مفید ہے سچ اور جھوٹ کے تصور حاصل کرنے. اور یہاں تک کہ آپ اگرچہ تفریح ​​حقیقت think-- سکتا. ایک bool تکنیکی کتنے بٹس کی ضرورت ہے، صحیح معنوں میں، جھوٹے بمقابلہ سچ کی نمائندگی کرنے کے لئے؟ کتنے بٹس آپ کو لگتا ہے آپ زیادہ سے زیادہ، کی ضرورت ہو گی؟ جی ہاں، صرف ایک. تو یہ ہے کہ سی باہر کر دیتا ہے آپ کو صرف ایک تھوڑا سا نہیں دے سکتا. پیمائش کی سب سے چھوٹی اکائی حاصل کر سکتے ہیں آٹھ ہے. تو یہ وہ تم ایک چھوٹی سی بیکار ہے ایک پورے بائٹ، یا آٹھ بٹس استعمال کر رہے ہیں، صحیح یا غلط کی نمائندگی کرنے. لیکن یہ بات ہے صرف طریقہ ہے CS50 لائبریری کی طرف سے سی میں لاگو کیا. MARIA: ہم ہیں اور اس کے بعد والوں بڑے پیمانے پر کے بارے میں بات کرنے کے لئے نہیں جا رہا حق ڈبل now--، کہ بڑے floats کے لئے ہے. طویل اور مختصر integers کے لئے بھی ہیں. DAVID MALAN: بے شک. pset کے ایک کے ہیکر ایڈیشن میں، ہم اصل میں طویل استعمال. لیکن معیاری ایڈیشن کے لئے، یہ ضروری نہیں ہونا چاہئے. MARIA: ٹھنڈی. ٹھیک ہے. تو آپ کو ہونا چاہئے operators-- ان میں سے سب سے زیادہ شاید واقف. اس کے علاوہ، +؛ باقی نکالنا، -. ضرب کے لئے، ہم * ہے. تو نہ ایکس ہم عام طور پر استعمال کرتے ہیں کہ. ڈویژن، ہم الٹا سلیش ہے. اور modulo ہے ہماری آخری آپریٹر ہے کہ ہم ابھی کے بارے میں بات کرنے کے لئے جا رہے ہیں. یہ کرنے کی اجازت دیتا ہے کہ ایک آپریٹر ہے ایک ڈویژن کا باقی حصہ لے. ہم 4٪ ہے تو 2، 4 تقسیم تو 2 0 کے باقی کے ساتھ ہے 2. تو 4٪ 2 0. 4٪ 3 1 ہے. آپ اندازہ کر سکتے ہیں کے طور پر 4 5، 4 ہے. اور ان کے تمام کا استعمال کرتے وقت یاد آپریٹرز PEMDAS قوانین کو استعمال کرنے. DAVID MALAN: تو، صاف ہو جائے کرنے کے لئے اگر آپ کو 4٪ 2 ہے، کیوں بالکل، کہ 0 ہے؟ MARIA: 4 کیونکہ کی طرف سے تقسیم 2 0 کے باقی کے ساتھ ہے 2. تو modulo ہم کے طور پر ہے کہ باقی دیتا ڈویژن کے نتیجے کے خلاف. DAVID MALAN: اور بے شک، ہم اس مفید تلاش کر لیں گے کے لئے کچھ مسائل میں ہے کہ، ضروری نہیں ہے آپ کرنا چاہتے ہیں تو اپنے آپ کو محدود کرنے کا اثر نمبروں کی ایک رینج کے لئے کچھ کے ذریعے 0 طرح، آپ کے ارد گرد لپیٹ modulo استعمال کر سکتے ہیں پہلے 2 ارب طرح کے مقابلے میں یا 4 ارب قدر ہم درس میں کے بارے میں بات کی ہے. MARIA: جی ہاں. اور ہمیں بھی ہو سکتا ہے "لالچی" میں. DAVID MALAN: جی ہاں، میں مسئلہ کے طور پر اچھی طرح سے، ایک مقرر. MARIA: جی ہاں، اچھا. DAVID MALAN: اچھا اشارہ. MARIA: معذرت. بولین تو expressions-- بولین آپریٹرز کے لیے، ہم کے بارے میں بات کرنے کے لئے جا رہے ہیں ان سے آپ کو یہاں دیکھ کر. تو اب، ہم نے دو ہے برابر نشانیاں برابر کے لئے درج. تو ان کے مقابلے کے لئے ہیں. اب تک، ہم صرف دیکھا ہے ایک نشانی برابر. ہم تفویض جب کہ ایک متغیر کی قدر. تو پھر ہم، int ن = 5 دیکھا ہے ہم متغیر (ن) کے 5 تفویض ہے. لیکن ہم نے کے لئے == استعمال کرنا چاہتے ہیں مقابلے، اگر ہم (ن) == 5 جانچ پڑتال کر سکتے ہیں. اور (ن) == 5 تو یہ سچ ہے. تو بولین آپریٹرز بنیادی طور پر، ہمیں اجازت، بولین کا اندازہ کرنے کے سچ ہے یا جھوٹے پر اظہار. تو ہم برابر نہیں فجائیہ نشان اور برابر. تو ہم بھی (ن) تو چیک کر سکتے ہیں کرتا ہے برابر نہیں 5-- تو (ن)! 5 =. سے کم یا اس کے برابر، کے مقابلے میں کم، یا اس سے زیادہ کے برابر، کے مقابلے میں زیادہ، اور پھر ہم منطقی ہے اور منطقی یا. اور وہ ہمیں اندازہ کرنے کے لئے کی اجازت دیتے ہیں ایک سے زیادہ بولین اظہار بنیادی طور پر ایک دوسرے کے ساتھ کے طور پر آنے کے لئے ایک پوری بولین اظہار. ہم نے ایک بڑی تعداد کو تلاش کرنا چاہتے ہیں تو،، کا کہنا ہے کہ کہ زیادہ سے زیادہ کم 5 لیکن کم از کم 15 ہے ایک ہی وقت میں، ہم استعمال کریں گے (ن) ہے تو دیکھنے کے لئے منطقی اور آپریٹر زیادہ 5 && کم از کم 15 ن. DAVID MALAN: اور یہاں، بھی، یہ واقعی آسان ہے ابتدائی پر اتفاقی طور پر صرف ایک ایمپرسینڈ استعمال یا ایک عمودی بار. اور امید ہے کہ سنکلک گا پر چللانا آپ اصل میں وہ ایک بہت مختلف معنی ہے. ان لوگوں کے تجسس کے لیے، وہ کر رہے ہیں bitwise آپریشن کے لئے استعمال کیا جاتا ہے، انفرادی بٹس پر کام. لیکن آپ کو یہاں ان کی جوڑی چاہتے ہیں. اور سپر اہم ہے سب سے پہلے، برابر علامت، مساوات آپریٹر کے طور پر جس میں تفویض آپریٹر کی مخالفت. ماریا: اور عمودی بار ہے حذف کریں اور واپسی کے درمیان واقع. DAVID MALAN: جی ہاں. ایک عام امریکی کی بورڈ پر. MARIA: جی ہاں. تو حق میں کود مشروط بیانات. اسکریچ میں، آپ نے پہلے سے ہی دیکھا، شاید، اگر آپ اجازت دیتے ہیں کہ بیانات کچھ سچ ہے تو، چیک کچھ اور. تو تم چاہتے ہو سکتا ہے آپ سپرائٹ ہے تو چیک کرنے کے لیے کچھ دوسرے سپرائٹ چھونے یا آپ کی سکرین کی سرحد. اور پھر آپ کے لئے چاہتا ہے ہو سکتا ہے کھیل ختم ہو یا کچھ اور. اس کے لئے نحو تو "اگر (کی حالت)." ہے اگر ایسا ہے تو آپ سپرائٹ کچھ کو چھو رہی ہے، تو گھوبگھرالی منحنی خطوط وحدانی کے اندر ہے ہے. پھر ہم اگر کچھ بیانات ہیں. ورنہ ہمیں کچھ کرنے کی اجازت دیتا حالت ہے کہ اگر ہم شروع میں کے لئے چیک سچ نہیں ہے. سپرائٹ کو چھو رہی ہے تو سرحد اور، ایسا کچھ. تو دوسری صورت میں کچھ اور. پھر ہم اس کے لئے ایک مختصر مثال ہے. اگر ایسا ہے تو (military_time <12)، ہم printf کے لئے چاہتے ہیں "گڈ مارننگ!" ورنہ ہم کرنے جا رہے ہیں printf کے "اچھا شام!" بنیادی مثال. DAVID MALAN: اچھا. MARIA: ٹھنڈی. تو اب ہم سوئچ بیانات ہیں. عام کر سکتے ہیں میں بیانات سوئچ ہمیں ایک ہی چیز کے بارے میں ایک بہت کچھ کرنے کی اجازت دیتے ہیں ہم صرف بات کی ہے کہ بیانات تو ساتھ کے بارے میں. مثال کے طور پر، اب ہم ہیں سوئچ بیان کی عام شکل کہ ہمیں لینے کے لئے کی اجازت دیتا ہے ایک متغیر کہا جاتا ن اور کی ایک بہت پر اس کا موازنہ مختلف اقدار، جو ہم یہاں constant1، constant2 بلایا ہے. ہم نے ایک بہت زیادہ ہو سکتا ہے. اور ان صورتوں کہا جاتا ہے. ہم ایک سوئچ ہے تو statement-- اور یہ کام کرتا ہے صرف ہم ایک ہے integers-- لئے (ن) ہے کہ اس معاملے میں متغیر. متغیر (ن) ہے، تو ، ہم constant1 کے برابر کوڈ کے کچھ ٹکڑا عملدرآمد کیا جائے گا یا ہم کرنا چاہتے ہیں کہ کچھ. اور پھر ہم ٹوٹ جائے گی. تو وقفے کا مطلب ہے کہ سوئچ بیان تو عمل روک دے گا (ن)، constant1 کے برابر ہے اور پھر اپنے پروگرام جاری رکھیں گے. اس سے باہر سے باہر نکلیں گے بیان سوئچ اور یہ کروں گا کچھ اور کرتے رہیں. ، تاہم، (ن) کے برابر نہیں ہے تو constant2 لئے constant1، تو کیس چیک کیا جائے گا. تو (ن)، کہ دوسرے constant2 برابر ہے کوڈ کا ٹکڑا قتل کیا جائے گا. اور پھر یہ توڑ دونگا کہ اس کے لئے برابر ہے. اور پھر ہم also-- نہیں کر سکتے ہیں ضروری،، پہلے سے طے شدہ کیس اگرچہ (ن) کے برابر نہیں ہے تو جو ہو گا آپ درج ہے کہ مقدمات میں سے کسی. اور ڈیفالٹ کی صورت میں، ہم بھی ضروری نہیں کہ ایک وقفے کی ضرورت نہیں ہے سوئچ بیان پتہ چل جائے گا کیونکہ یہ ڈیفالٹ کے بعد ختم کرنے کی ضرورت ہے کیس ہے کہ اگر کیس. DAVID MALAN: لیکن stylistically، ہم نے ہمیشہ وہاں میں ڈال دیا. MARIA: جی ہاں. DAVID MALAN: جی ہاں. تو خاص طور پر، باہر شروع جب خاص طور پر ان کے درمیان کم ہے آرام دہ اور پرسکون، میں ذاتی طور پر کریں گے صرف اگر کے ساتھ رہنا مشورہ دیتے ہیں اور اگر، سے Elses اور اگر کسی اگر-سے Elses اور تو آگے صرف اس صورت میں وہ ایک چھوٹی سی ہیں کیونکہ زیادہ براہ راست. یہ ایک اچھا کی اصلاح ہے، یا کبھی کبھی بھی جمالیاتی یہ کوڈ زیادہ پڑھنے کے قابل بناتا. اور حقیقت میں، شاید وسط سمسٹر ہم نے ایک مسئلہ کو دیکھ لیں گے یہ صرف بہتر لگ رہا ہے جہاں مقرر اور آسان انسانوں کے لئے پڑھنے کے لئے ایک سوئچ بیان کا استعمال کرتے ہوئے. لیکن اس کے بارے میں فکر نہ کرو بہت جلد اس سے معلق. MARIA: جی ہاں. آپ بیانات اگر ایک بہت ہے، یہ صرف بہت پڑھنے کے قابل نہیں ہو سکتا ہے. یہ بہت تیزی سے نہیں ہو سکتا ہے کے لئے آپ کو اس کے ذریعے جانا. تو بیانات کر سکتے ہیں سوئچ بہت مفید، کے طور پر اچھی طرح سے ہو. اور بھی، remember-- نہ کرو وہاں میں ٹوٹ جاتا ہے ڈال کرنے کے لئے بھول جاتے ہیں. DAVID MALAN: یہ یاد نہیں ہے. MARIA پھر تم گر سکتا ہے کیونکہ کے ذریعے ایک کیس سے. تو اس صورت constant1 کہنے دو اس میں ایک وقفے کے بیان کی ضرورت نہیں تھی. پھر ہم کے ذریعے گر سکتا ہے اندر کیس constant2. اور اگر ہم ایسا کرنے کے لئے نہیں کرنا چاہتے ہم نے پہلے ہی کیس constant1 پہنچ گئے اور یہ (ن) کے برابر ہے. تو، مثال کے طور پر، ہم ایک متغیر ہے ایک کلاس تعداد پر مشتمل ہے کہ (ن)، اور ہمیں کیا ہے کہ کو دیکھنے کے لئے چاہتے ہیں (ن) 50 کے برابر ہے تو کلاس، is-- ہم CS50 ہے "پرنٹ کرنے کے لئے جا رہے ہیں کمپیوٹر سائنس I. تعارف " پھر ہم کو توڑنے کے لئے جا رہے ہیں. اور یہ بات ہے. اگر، تاہم، (ن) کے برابر ہے 51، ہم جا رہے ہیں CS51 تعارف "پرنٹ کرنے کے لئے کمپیوٹر سائنس II کے. " پھر، ایک بار پھر، ہم کو توڑنے کے لئے جا رہے ہیں. تاہم، تو ہم ڈال 124، 61، کوئی آپ کے بارے میں سوچ سکتا ہے کہ دوسرے نمبر، یا پروگرام نہیں جا رہا ہے تسلیم کرتے ہیں کہ. تو یہ معذرت، ہوں "، کا کہنا ہے کہ جا رہا ہے اس طبقے کے ساتھ واقف نہیں. " اور اس کو توڑنے جا رہا ہے. DAVID MALAN: تو کیا تم واقعی دیکھ سکتے ہیں ، تو کسی اور یہاں کسی خیال، تو. اس کے لئے صرف مختلف نحو ہے عین مطابق ایک ہی خیال کا اظہار. MARIA: بالکل. اب ہم ہمارے تہرا آپریٹرز ہیں. تو تہرا آپریٹرز ہیں تین، ایک شرط parts-- تو کیا کرنا کچھ شرط یہ ہے کہ سچ ہے، اور اس کے بعد کچھ کرنا کہ اگر شرط باطل ہے. تو آپ، بنیادی طور پر، دیکھیں یہاں اس کی نحو. ہم سوالیہ نشان ہے، اور پھر the-- کیا ہم اس کو کال کروں؟ DAVID MALAN: بڑی آنت. ماریا: بڑی آنت. آپ کا شکریہ. معذرت. تو ہماری مثال میں نظر آتے ہیں ہم this-- کا احساس کر سکتے ہیں دیکھنے کے class_num == 50. لہذا ہم یہاں == ہماری بولین آپریٹر دیکھیں کہ متغیر class_num موازنہ 50. تو class_num اسٹورز ایک عددی. اور اس عددی تو تو ہم ہیں، 50 کے برابر ہے ذخیرہ کرنے کے لئے جا "ڈیوڈ Malan" سٹرنگ پروفیسر اندر. کلاس نمبر نہیں ہے تو "نہیں ڈیوڈ Malan"، 50 کے برابر پروفیسر ہونے جا رہا ہے. DAVID MALAN: آپ کا شکریہ. اور اس طرح اس کے برابر لگتا ہے تم پہلی نظر میں، کیا، کہیں گے؟ ماریا: میرے لئے ایسا لگتا ہے طرح اگر کچھ بیانات. DAVID MALAN: جی ہاں. اور حقیقت میں، اس قسم ہے ایک خوبصورت ایک لائنر کی، تو لاگو کرنے کے لئے، بات کرنے کے لئے کے بالکل منطق اگر کچھ لیکن ایک قدم میں سب کچھ کر. MARIA: بالکل. جی ہاں. تو اگر کچھ بیانات طاقت جگہ کی ایک بہت لے. انہوں نے کے لئے بہت طویل ہو سکتا ہے اس کے طور پر سادہ کچھ. تو یہ بہت ہو سکتا ہے succinct اور بہت اچھا. تو اب ہم دیکھ رہے میں جا رہے ہیں بار بار کچھ عمل، تو ایک کے لئے جانچ پڑتال ایک سے زیادہ بار کی حالت اور اس کے بعد کچھ کرنا جاری شرط یہ ہے کہ سچ ہے. تو یہ ہمیں لاتا ہے اچھی طرح جبکہ loops میں. بائیں کرنے کے لئے، ہم نے ہماری پہلی جبکہ لوپ. کچھ سچ ہے جبکہ تو، بار بار کچھ. تو ہے کہ محسوس کرنے کے لئے بات کو یقینی بنانا ہماری حالت یہاں سب سے اوپر کی توثیق ہے. ہم کہتے ہیں ہماری دوسری loop-- ساتھ جبکہ جبکہ مت ہمیں کچھ کرنا loop-- کہ، پھر ہم ایک کی حالت کے لئے کی جانچ پڑتال. اور اس شرط تو سچ ہو کرنے کے لئے جاری، ہمیں واپس جانا اور پھر بات کرتے ہیں. تو بنیادی فرق کہاں ہے حالت کے لئے جانچ پڑتال کی ہے. اور کوڈ کبھی نہیں ہو سکتا شرط نہیں ہے تو پھانسی دے دی جبکہ لوپ کے ساتھ سچ. کرتے ہیں جبکہ جبکہ لوپ، ہم کوڈ ہے کہ ہمیشہ کم از کم ایک بار پھانسی دے دی ہے. اور پھر حالت جبکہ سچ ہو کرنے کے لئے جاری، ہم واپس جاؤ اور اندر دوبارہ iterate کرسکتے ہیں. تو تم کیوں ہم استعمال کریں گے لگتا ہے ایک جبکہ لوپ سے زائد لوپ کیا جبکہ؟ حق. ہم فوری طور پر کرنا چاہتے ہیں تو ان پٹ کے کسی قسم کے لئے صارف، ہم ان سے پوچھنا چاہتا ہے ان کے نام درج کرنے کے لئے، ہم کم از کم ایک بار ان سے پوچھنا چاہتا. اور وہ داخل ہو تو اس کا نام، ہم نہیں ہیں پھر ان سے پوچھیں کرنے کے لئے جا ہم نے پہلے ہی یہ جانتے ہیں کیونکہ. لیکن وہ داخل نہیں ہے تو ان کے نام، یا اگر وہ ہے کہ کچھ میں داخل واضح طور پر نہیں ایک نام، ہم اب بھی جاری رکھنا چاہتے ہیں ان کے نام کے لئے ان پر پوچھ. DAVID MALAN: اور درس میں ہم سے ایک تھا حاصل مثبت INT کے ساتھ اس طرح کچھ بھی نہیں ہے جہاں مثال کے طور پر، آپ کو بھی نہیں ہے کیونکہ سب سے پہلے میں کی جانچ پڑتال ایک int ہو. تو ہم this-- کرنا چاہتے ہیں user-- سے ایک int حاصل تو شاید، اس کی جانچ پڑتال، دوبارہ اور بار بار. MARIA: بالکل. loops-- ٹھیک ہے کے لئے. loops کے اجازت دے سکتے ہیں کے لئے ہم تقریبا کرنا بالکل وہی بات، اس کے ساتھ ساتھ. یہ اصل میں عین مطابق ایک ہی بات ہے. تو کچھ بھی نہیں ہے کہ وہاں آپ loops کے لئے کے ساتھ کیا کر سکتے ہیں آپ نہیں کر سکیں گے کہ جبکہ loops کے ساتھ کیا کرنا. لیکن loops کے لئے ایک چھوٹا سا لگ سکتا ہے تھوڑا سا زیادہ پیچیدہ syntactically ہے وہ ہے کیونکہ تین حصوں اندر کیا صرف پہلے تھا جبکہ loops کے ساتھ شرط. تو سب سے پہلے حصہ ہے کہ آپ کو سمندر، بائیں سب سے زیادہ، ہم "INT بونے = 0." تو یہ وہ جگہ ہے جہاں ہم ہمارے متغیر ابتدا. پھر ہم ایک نیم وقفہ ہے اور "بونے 7. <" تو اس جہاں سے باہر ہے حالت اصل میں ہے. تو ہے کہ ہم پڑے گا کیا ہے تھوڑی دیر میں صرف ڈال loop-- "بونے 7. <جبکہ" یہاں، کہ میں چلا جاتا ہے ہمارے لیے لوپ کے وسط. تو "dwaves 7. <" اور پھر ہماری آخری حصہ "، بونے + +" ہے جس میں ہم ہمارے متغیر کو اپ ڈیٹ کہاں ہے. اہم بات یہ ہے کہ احساس کرنے کے لئے یہ ہے کہ ہے لوپ کے لئے اس کے ذریعے جانے کے لئے کی جا رہی ہے سات بار اور پھانسی سات بار. تو ہم سات بونے، اور وہ سب کے سب ہیں میں یہاں ہوں "، کہنے جا رہا آپ کی مدد کرنے، ہمشوےت " وہ تیار ہیں کیونکہ ہمشوےت کی مدد کرنے کے لئے. loops کے، ہم نے کیا کریں گے جبکہ ساتھ ابتدا اور اپ ڈیٹ نہیں کی حالت کے اندر، ایک بار پھر، لیکن پہلے یا دیر لوپ کے اندر یا تو اس بات کا یقین کرنے کے لئے کہ we-- کیونکہ ہم نے ہمیشہ ان حصوں کی ضرورت ہے. تو ہم اس بات کو یقینی بنانے کے لئے ان، ہم اب بھی ہے ان میں شامل کریں گے پر، نہ صرف قوسین کے اندر. DAVID MALAN: اور تو یہ like-- لگتا لیکچر میں، مثال کے طور پر، میں تقریبا ہمیشہ، استعمال کی طرح، میں اور (ن) اور خوبصورت بورنگ متغیر. آپ کو زیادہ استعمال کر سکتے ہیں کی طرح لگتا ہے چالاکی سے بھی، متغیر نام. MARIA: جی ہاں، یہ اصل میں بہت اچھا ہے تھوڑا سا زیادہ وضاحتی متغیر استعمال کرنے کے لئے کسی ہے خاص طور پر کیونکہ اگر آپ code-- پڑھنے شاید تم جماعت کے طالب علم یا آپ کو تعاون کر رہے ہیں تو somebody-- ساتھ آپ اس بات کو یقینی بنانا چاہتے ہیں وہ آپ کیا کر رہے ہیں کو سمجھنے. ٹھیک ہے. تو یہ کچھ بہت funky-- ہے لوپ کے لئے ایک کے اندر لوپ کے لئے. ہم اس سے پہلے دیکھا ہے تو مجھے نہیں معلوم. غالبا نہیں. لیکن ہم اصل this-- کر سکتے ہیں تو بجائے loops کے loops کے. تو کسی کو شاید چلنا چاہتا ہے مجھے کیا کے ذریعے یہاں کیا ہو رہا ہے؟ DAVID MALAN: میں نے ایک کوشش لے لیں گے. MARIA: ٹھنڈی. DAVID MALAN: ٹھیک ہے. لہذا، ہم چیزیں پرنٹ کرنا چاہتے ہیں spoiler-- کہ سب سے نیچے دائیں کونے میں ہے وہاں. MARIA: دائیں. جی ہاں. DAVID MALAN: تو ہم نے صرف وہاں اس نمونے کی پیداوار ڈال. لہذا میں سے اندازہ کر سکتے ہیں آپ ہیں کہ اولین لوپ قطاروں پر iterating بیرونی لوپ، تو بات کرنے کی. اور آپ سے زیادہ iterating کر رہے اندرونی لوپ کے ساتھ کالم. اور intuitively، اس امید ہے کہ سمجھ میں آتا ہے چاہئے کی وجہ سے فطرت کی طرف سے ہم نے دیکھا ہے ہر پروگرام ہے جس سے پہلے، printf کے، تقریب ہم، بالآخر، استعمال کر رہے ہیں چیزیں پرنٹ کرنے کے لئے کی صلاحیت ہے لائن کی طرف سے بنیادی طور پر لائن. کی طرح، ایک بار آپ سے outputted ہے ایک نئی سطر، وہاں ہے کوئی واپس دوگنا کرنے اور کچھ پرنٹنگ کم از کم، سکرین میں اعلی اس طرح printf کا استعمال نہیں. اور اس طرح اس سلسلے میں، یہ بناتا ہے احساس ہے کہ بیرونی لوپ قطاروں کا حوالہ دیتے ہوئے کیا جانا چاہئے ہر صف دیا کیونکہ، آپ کرنا چاہتے ہیں کے لئے جا رہے ہیں پھر XXXXX باہر پرنٹ، اور اگلی صف، XXXXX پر منتقل. تو قطاروں سے پہلے آتے. اور پھر اندر اندر ہر صف، آپ کالم پرنٹ. آپ کو ایسا کرنے کی کوشش کی تو برعکس، یہ شاید نہیں کرے گا آپ کا ارادہ رکھتے ہیں کے طور پر باہر آئے. MARIA: جی ہاں. ہم صرف کرنے کے لئے واپس نہیں جا سکتا printf کے ساتھ پچھلے صف. DAVID MALAN: اور کیا دلچسپ ہے دائرہ کار کے بارے میں آج کی بات چیت فی، اصل میں، ایک int صف ہے کہ اولین لوپ میں اعلان کر دیا ہے. لیکن یہ اب بھی ہے کہ محسوس کے اندر، تو بات کرنے کی، گھوبگھرالی منحنی خطوط وحدانی ہے کہ فوری طور پر، کی پیروی یہ تکنیکی طور پر نہیں ہے اگرچہ ان گھوبگھرالی منحنی خطوط وحدانی کے اندر اندر. تو صف کے لئے دائرہ کار میں ہے کوڈ کا ٹکڑا کی مکمل، دونوں لوپ کے لئے بیرونی کے اندر اور لوپ کے لئے اندرونی کے اندر. لیکن اس کے برعکس کی طرف سے، جہاں کالم دائرہ کار میں ہے؟ متغیر کالم؟ جی ہاں، صرف اندر لوپ میں. ہم تک رسائی حاصل نہیں ہے کیونکہ اور یہ کہ ٹھیک ہے اس گھوبگھرالی منحنی خطوط وحدانی کے باہر. ہم کرتے ہیں ایک نیا باہر پرنٹ ہے وہاں بہت آخر میں لائن. حقیقت میں تو ٹھیک ہے. تو اس کا اثر ہے، یہ، کی طرح لگتا ہے تین قطاروں اور چار کالموں کر. MARIA: دائیں. تو سب سے پہلے ہم اپنے پہلے صف کے ذریعے جانے. اور صرف ہماری پہلی قطار میں، ہم کرتے ہیں پہلی صف کے اندر چار کالم. تو ہم چار ایکس کی باہر پرنٹ. اور پھر ہم بعد، لوپ کے لئے باہر نکلیں کر سکتے ہیں ہم نے پہلے ہی چار ایکس کی طباعت ہے. اور ہم نے ایک نئی سطر میں پرنٹ. اور پھر ہم کے ذریعے جانا مزید دو قطاروں کے لئے ایک ہی عمل تین کی کل بنانے کے لئے. DAVID MALAN: اور یہ اس کے نوٹنگ کے قابل ہے فونٹ کا صرف ایک artifact، حقیقت نمونے کی پیداوار ہے کہ ، اتنا طویل لگتے ہیں وہاں زیادہ ہے اگرچہ کے طور پر کالم کے مقابلے میں قطار. صرف ایکس کیونکہ یہ ہے یہ وسیع ہے کے مقابلے میں طویل ہے. کہ، وہاں کیا ہو رہا ہے کہ تمام ہے لائنوں کے درمیان کے علاوہ سفید جگہ. MARIA: دائیں. ٹھنڈا. DAVID MALAN: ٹھیک ہے. تو مسئلہ پر ایک فوری نظر، ایک مقرر کسی بھی سوالات کے لے، اور پھر ملتوی؟ بالکل ٹھیک. مسئلہ ایک سیٹ میں تو، تین ہے بنیادی چیلنجوں، بالآخر. لیکن سب سے پہلے، آپ کو تلاش کر لیں گے مسئلہ سیٹ ہے کہ ساتھ کے طور پر تفصیلات، بہت کی psets اس موسم خزاں، آپ کو چلنے کے لئے جا رہا ہے چند وارم اپ مشقوں کے ذریعے، کچھ وسائل آپ کو باہر کی طرف اشارہ کہ تم کر سکتے ہو یا مئی پہلے سے ہی دیکھا ہے. مثال کے طور پر، CS50 ، شارٹس کی ایک سوٹ ہے مختصر ویڈیوز ہیں جو، اس کے برعکس، لیکن اس بہت موضوع specific-- ہیں شاید پانچ منٹ، loops پر لمبائی میں 10 منٹ یا حالات پر یا یلگوردمز پر یا بعد میں زیادہ پر اعلی درجے کی موضوعات، کے ساتھ ساتھ. اور ہم عام طور پر سرایت مسئلہ میں ان سیٹ تاکہ طالب علموں کو جس کے ساتھ ایک وسائل ہے ہو سکتا ہے کہ مواد کا جائزہ لینے کے پہلے ہی لیکچر یا حصے میں آئے. لیکن اس طرح یہ زیادہ توجہ مرکوز کی ہے اور ان کی انگلی میں زیادہ. ہم نے بھی مسئلہ میں یمبیڈ کرنے کے لئے کی کوشش کرتے ہیں walkthroughs کے کہا جاتا ہے چیزوں کا تعین کرتا ہے. تو تقریبا تمام میں کروں مثالوں کے لیکچر میں، یہاں اسٹیج پر، ہم بھی میں کیمرے پر گولی مار دی ایک سے زیادہ سست آگے بڑھانے، پر میری طرف سے ایک سے زیادہ مباشرت واک تھرو اس کوڈ کے اپنے لیپ ٹاپ، لائن کی طرف سے لائن تاکہ کلاس میں، ہم اکثر گے کچھ یا کسی کے ذریعے ملائی ایک کے ساتھ interject گا ایک سوال کے جواب. لیکن یہ ضروری نہیں ڈوب نہیں کرتا حاضرین میں سے سب کے لئے میں. تو آپ کو کوڈ walkthroughs کے تلاش کر لیں گے مثالوں کے سب سے زیادہ کے لئے ہم درس میں یہاں کیا ہے کہ تا کہ آپ آپ کی اپنی رفتار پر اس کے ذریعے چل سکتا ہے اور آگے تیزی سے ماضی یا یا اگر آپ چاہیں تو، مکمل طور پر. اکثر چند نہیں ہے وارم اپ سوالات کہ کے حل کرنے کے لئے تم سے پوچھنا اس مواد کو مضبوط بنانے اور تم سے پہلے آرام کر رہے ہیں اس بات کو یقینی بنانے کے آپ pset کے باقی حصوں کے ساتھ آگے بڑھنے. اور پھر، کورس کے، pset کے خود موجود ہے. اور چیزوں میں سے ایک بہت جان بوجھ کر ہم CS50 میں ایسا تقریبا ہر uninteresting ہے یا ذہنی پر uninteresting میکانی قدم ہے تمہیں کیا کرنا ہے ہو سکتا ہے تقریبا ہمیشہ بہت اچھی طرح سے دستاویزی کیا جاتا ہے. مدت کے دوران، ہم کریں گے مزید بیان بازی سوال پوچھنا شروع کی طرح یہ یا وہ کس طرح کرنا ہے یاد ہے؟ لیکن عام طور پر، آپ کو تلاش کر لیں گے مسئلہ سیٹ آپ کو ملتا ہے کہ میکینکس کے ذریعے کچھ تاکہ دلچسپ، دانشورانہ چیلنجوں کا بالآخر آپ کو طالب علم چھوڑ دیا جاتا ہے. ساتھ اس نے کہا، کیا Zamyla، جن کی طرف ہم لیکچر میں آج کا حوالہ دیتے ہوئے رکھا، ہماری طویل عرصے سے عملے میں سے ایک ہے بھی walkthroughs کے رکھتا ہے جو رکن ماریو کی طرح مخصوص pset کے مسائل پر اور لالچی، اگرچہ اس سال پانی نہیں. اور یہ ان میں ہے وہ اکثر walkthroughs کے کے لئے کچھ تجاویز اور ترکیبیں پیش کرتا ہے کس طرح آپ کو بتا کبھی نہیں، آگے بڑھنے کے لئے بالکل کیا کرنا ہے، لیکن ایک شرط طرح rather--، تمہیں دے will-- اگر آپ کم از کم ایک تاکہ خیالات کے جوڑے، آپ پر منحصر ہے بالآخر، فیصلہ کرنے کے لئے کس طرح ان سے رجوع کرنے. MARIA عتبار کے ایک اعلی سطح کی طرح کی منطق کی سمجھ کیا ہمیں کیا کرنا تم سے پوچھ رہے ہیں. DAVID MALAN: بالکل. اور، اصل میں، کیا Zamyla کی walkthroughs کے ہوتے ہیں اکثر کا جواب دینے کی جہاں سوال میں خاص طور پر جب، شروع کرنا ان طویل وضاحتیں ایک چھوٹی سی مشکل تمام متن دی اور وہ ان میں منظر کشی ہے کہ. تو water.c، آپ کو مل جائے گا آپ اسے مکمل کر لیا ہے کے بعد، اصل میں نسبتا براہ راست ہے. بالکل ایک گروپ ہیں آپ بینگ کے لئے جانے کا کوشش کر دیوار کے خلاف اپنے سر اس کی تالیف نہیں ہے کیوں پتہ کرنے کے لئے یا کیوں یہ درست طریقے سے نہیں چل رہا ہے. لیکن تم نے کیا کر رہے ہیں ایک بار اس کے ساتھ اور آپ کرلینے کسی کے ساتھ کشتی کچھ وقت گزارا آپ ہو سکتا ہے کہ کیڑے کی، آپ اسے ہے کہ تلاش کر لیں گے ایک بہت مختصر پروگرام. یہ صرف چند ایک میں کیا جا سکتا ہے کوڈ کی لائنیں، جن میں سے بیشتر اگر ہم پہلے ہی لیکچر میں یہاں دیکھا ہے آپ صحیح عمارت بلاکس جمع. اور ہم مشورہ کے طور پر یہاں، یہ پوچھنا جا رہا ہے آپ کتنے منٹ کی وضاحت کرنے کی کسی کیمپس میں ایک شاور لے جا رہا ہے. ہم اس مسئلے میں وضاحت پانی کے بہاؤ کی شرح مقرر ، کی طرح، ایک کم بہاؤ شاور میں سر، زیادہ Seinfeld کے کلپ کی طرح ہم کل دیکھا یا اس کے برعکس. اور پھر آپ کو صرف ریاضی کا ایک تھوڑا سا کرنا، بتانے کے لئے سی کا استعمال کرتے ہوئے ریاضی really-- ہم کس طرح پانی کے بہت سے، تقریبا، بوتلیں ہم ہیں تو ہے کہ برابر ہے ایک ن منٹ شاور لینے. اب، mario.c میں، اس جا رہا ہے ایک قدرے طویل پروگرام ہونا. یہ اب بھی طویل عرصے سے اس لئے نہیں جا رہا ہے. صرف چند لائنوں water.c سے زیادہ. لیکن یہ موقع ہونے جا رہا ہے پرانے اسکول ماریو بہلانا کرنے کے لئے سپر ماریو کی طرف سے پرامڈ برادران یا کسی کی پیروی پر. یہ خوبصورت کے طور پر دیکھنے کے لئے نہیں جا رہا ہے یا وہاں ہے کہ ایک کے طور پر رنگا رنگ. ہم صرف تھوڑا hashtags کے استعمال کرنے کے لئے جا رہے ہیں کی طرح ہم سکرین پر یہاں ہے ASCII ٹیکسٹ استعمال. لیکن یہ ایک ہی خیال اندازا گا. اور یہ ایک ہونے جا رہا ہے پہلی نظر میں ہے کہ ورزش صرف خوبصورت simple-- لگتا ہے ایک سادہ پرامڈ پرنٹ. لیکن ایک جوڑے خصوصیات ہے یہاں دلچسپ ہیں. کے کہ rightmost کنارے کہ نوٹس پرامڈ اصل چوڑائی دو ہے. برابر دو ہے اونچائی کالم، جس یہ ایک چھوٹا سا کی ضرورت کرتا ہے سوچ کا تھوڑا سا بنانے کے لئے یقین ہے کہ آپ کے طور پر، کہ بالکل حق حاصل صرف ایک بالکل angled ہے کی مخالفت لائن. تو یہ ایک کونے کیس کی تھوڑا سا ہے لیکن اصل کھیل سے میل کھاتا ہے. اور یہ بھی سب سے پہلے میں غیر واضح ہے سفید جگہ پرنٹ کرنے کے لئے کس طرح نظر. تو میں نظر آتے ہیں جب نمونے کی پیداوار یہاں اور یہ spec-- میں بھی ہے یہ قسم کے، ایک مستطیل کی طرح لگتا ہے لیکن ایک اخترن مستطیل، کاٹ کر دیا گیا ہے اور یہ صرف سفید خالی جگہ، تو بات کرنے کے لئے ہے. اور اس طرح ایک اکثر پوچھے گئے سوال یہاں اچھی طرح، ہمیشہ ہے، میں hashtags کے منتقل کیسے درست کرنے کے لئے تھا؟ یا کس طرح میں خالی جگہوں پرنٹ کروں؟ اور یہ اصل میں آسان ہے سب سے زیادہ طالب علموں کو لگتا ہے کے مقابلے. ٹھیک ہے؟ آپ کو صرف کی طرف سے ضعف یہ اندازا کر سکتا ہے ایک یا دو بار خلائی بار مارنے یا تین بار. اور یہاں تک کہ ہم نے تقریبا printf کے ساتھ اگرچہ ہمیشہ ایک تار یا ایک int باہر پرنٹ یا ہیلو "کی طرح ایک لفظ، الفاظ کی دنیا "یا سیریز، آپ یہ بھی صرف پرنٹ کر سکتے ہیں اقتباس، خلائی، unquote جو. اور یہ کہ اصل میں دے گا آپ وہاں ایک سفید جگہ. تاکہ ذہن میں رکھنے کے لئے اور اس overthink نہیں. تم سچ میں کرنا پڑے صف کی طرف سے صف کی طرف سے صف فیصلہ، نہیں آپ کی مثال کے برعکس ایک ان میں سے پہلے، کتنے لمحے کالم سفید خالی جگہ ہونا چاہئے اور hashtags کے ہونا چاہئے کہ کس طرح ان میں سے بہت سے. یہ وقت کی ایک تھوڑا سا لے جائے گا، لیکن یہ ہے قسم کی بالآخر ایک منطق پہیلی. MARIA: جی ہاں. لیکن صف کی طرف سے صف جانے کی منطق یہاں بہت مفید ہو جا رہا ہے. DAVID MALAN: جی ہاں. میں نمونے کے کوڈ آپ کو بھی لگتا ہے gave-- یہ ایک مکمل پروگرام نہیں تھا. اگر آپ اب بھی int اور اہم ضرورت اور صفر اور # stdio.h شامل، لیکچر سے سامان کی ایک بہت. لیکن عمارت بلاکس وہاں لگتے ہو. اور پھر آخر میں کچھ ہے ایک چھوٹا سا زیادہ پر algorithmic. تو یہ کسی بھی وقت پتہ چلا ہے کہ آپ CVS یا کسی بھی سہولت اسٹور میں جانا اور کسی کو آپ کے ہاتھ کوشپال بل یا تبدیلی کے طور پر سکے، یہ باہر کر دیتا ہے کہ وہ، انسان، وہ یہ جانتے ہیں یا نہیں یا نہیں، شاید کیا استعمال کر رہے ہیں ایک لالچی الگورتھم بلایا، آپ کو واجب الادا رہے ہیں، کا کہنا ہے کہ جس کے تحت، $ 21 تبدیلی کی وجہ سے کسی وجہ کے لئے آپ کو بہت کچھ سستا خرید CVS میں ایک بہت بڑا بل کے ساتھ، یہ تو واقعی پریشان ہو جائے گا کوشپال آپ 21 سنگلز یا، بدتر دی ابھی تک، سککوں کی ایک پوری بہت. بلکہ، ایک معقول شخص ہے شاید ایسا کرنے جا وہ جا رہے ہیں ایک $ 20- اور اس کے بعد ایک $ 1 بل، اور قبضہ کرنے کے لئے آپ اس صورت میں صرف دو بل ہاتھ. MARIA: تو وہ کم سے کم کرنے کی کوشش کر رہے ہیں وہ آپ کو واپس دے کہ تبدیلی. DAVID MALAN: بالکل. اور اسی معاہدے کے سککوں کے ساتھ، کے طور پر اچھی طرح سے. آپ کو واجب الادا رہے ہیں،، $ 0.50، کا کہنا ہے کہ امید ہے کہ آپ کو 50 پیسے نہیں کرنا چاہتا. آپ اس کے بجائے دو چاہتے ہیں مثال کے طور پر چوتھائی،. اب، یہ فرض ہے کوشپال ہے کہ ہر مسلک کے کافی وہ تمہیں دینے کے لئے چاہتے ہو سکتا ہے. لیکن ہم آپ کو فرض کرنے کی اجازت دیتے ہیں مسئلہ میں زیادہ سے زیادہ. اور مقصد، بالآخر، کرنے کے لئے ہے C کوڈ میں ایک لالچی الگورتھم کو لاگو. تو صارف کی اجازت ہے کتنا میں ٹائپ کرنا وہ تبدیل یا وہ ڈالر واجب الادا ہے اور سینٹ، چل نقاط کے کچھ قسم شاید قیمت. اور پھر آپ کو ریاضی کرنا ہے اور اچھی طرح سے، algorithmically ہے پتہ، کتنے سککوں میں دے سکتے ہیں آپ کم از کم آپ کو دینا تبدیلی کے بالکل اس رقم. لیکن ایک ہونے جا رہا ہے یہاں چند مشکل حصوں، ٹھیک ہے؟ پوری وہاں کی طرح گئی imprecision مسئلہ. MARIA: بالکل. تو چل نقاط اقدار گئی imprecision ہے. ہم آج لیکچر میں اس کے بارے میں بات کی تھی؟ DAVID MALAN: ہم نے لیکچر میں آخری بار. ہم کے بارے میں بات گئی imprecision. اور آپ کو صارف کو دھوکہ نہیں کرنا چاہتا کتنا تبدیلی کی وہ واجب الادا ہے. اور اس طرح واک تھرو، میں مسئلہ سیٹ کی تفصیلات، کے طور پر، بالآخر، کچھ سوچ دے تم نے ان کو کم کر سکتے ہیں کہ کس طرح گئی imprecision غلطیاں، ممکنہ طور پر. اس کے لئے، یقینی طور پر، پرہاری ہے ہم کے بارے میں بات کر رہے ہیں آدانوں. اور، اصل میں، pennies-- شاید ہم کیا Zamyla لئے ملتوی کریں گے، میں وہاں چالوں کے لئے، لگتا ہے. تو بالآخر، آپ کو ایک تلاش کر لیں گے مسائل کے بڑھنے اس ہفتے، جن میں سے سب سے پہلے، بہت چھوٹا ہے پھر درمیانے، پھر ایک چھوٹا سا بڑا. لیکن ان میں سے تمام عمارت استعمال یہ گزشتہ ہفتے سے بلاکس، اس supersection سے، مسئلہ سیٹ کی تفصیلات ان گنت وسائل میں آپ کو دکھاتی ہے. لیکن پھر بھی، اگر تمام جدوجہد، خاص طور پر کم آرام دہ اور پرسکون والوں میں کوئی پیشگی پس منظر کے ساتھ، دفتری اوقات میں آتے ہیں پیر اور منگل اور بدھ اور جمعرات. کے ذریعے بات چیت CS50 پر جائیں کورس کی ویب سائٹ، جس کے ذریعے آپ کو بات چیت کر سکتے عملے اور ہم جماعتوں کے ساتھ. لیکن بالآخر، مجھے لگتا ہے کہ سب سے بہترین مشورہ صرف جلد از جلد شروع کیا ہے. کلاس کی طرح نہیں ہے کہ آپ کو بدھ کے روز کی psets شروع کیا جانا چاہئے رات، یا بدتر جمعرات کی رات. MARIA: میرا سب سے بہترین مشورہ ہے Monday کی طرف سے شروع کر دی ہے. DAVID MALAN: پیر. تو کیا تم نے پہلے ہی شروع نہیں کیا ہے. لیکن پھر بھی اگر نہیں پیر، تو منگل. بہتر پہلے. اور اس وجہ سے ہے کورس ہے بہت دیر دن ہے آپ کو ایک کا تھوڑا سا دینے کے لئے نفسیاتی دباؤ پہلے شروع لیکن اب بھی کرنے کی اجازت دینا چیزیں اب لے جب چیزوں پرچی آپ کی توقع سے زیادہ. MARIA اور آپ کے استعمال بنانے کے لئے چاہتے ہیں دفتری اوقات بھی، آپ کر سکتے ہیں جتنا. DAVID MALAN: کوئی سوال؟ بالکل ٹھیک. ویسے، ہم یہاں کیوں ملتوی نہیں کرتے؟