اسپیکر 1: ٹھیک ہے. واپسی پر خوش آمدید. یہ CS50 کے ہفتے دو ہے، اور ہم ہیں اس طرح اب تک لیکن افعال کا استعمال کرتے ہوئے کیا گیا حاصل کی جاچکی کے لئے بڑی حد تک ان کے اٹھائے گئے. ہم جس printf کا استعمال کیا ہے پرنٹنگ کی طرف اثر سکرین پر چیزیں. ہم حاصل-INT کا استعمال کیا ہے، تیرنے لگتے ہیں ملتا ہے. لیکن آپ نے واقعی پیدا کرنے کے لئے کیا چاہتے ہیں تو آپ کا اپنا کام کرتا ہے، بعض کے طور پر آپ پہلے سے ہی شروع کر دیئے ہیں ہو سکتا ہے مسئلہ سیٹ ایک، اگرچہ کے لئے کیا سختی کی ضرورت نہیں؟ ٹھیک ہے، اس کے آگے بڑھو اور نظرثانی کرتے ہیں صرف یوزر کے پوچھ کا مسئلہ پر ان کے نام اور پرنٹنگ کچھ سکرین، لیکن کچھ باہر عنصر کرنے کی کوشش کریں ہم ہے کہ مشترک ابھی تک ہمارے کوڈ میں دیکھا. تو اس سے میں نے مندرجہ ذیل مطلب ہے. میں آگے بڑھو اور تخلیق کرنے کے لئے جا رہا ہوں ایک نیا پروگرام، صرف فون یہ ایک عام hello.c. میں آگے بڑھو اور اپنے آپ کو دینے کے لئے جا رہا ہوں سب سے اوپر معیار io.h شامل ہیں. میں نے بھی اپنے آپ کو دینے کے لئے جا رہا ہوں preemptively CS50 لائبریری تاکہ میں کمپائلر کی طرف سے پر چللایا نہ ہو. اور اب میں آگے بڑھو کرنے جا رہا ہوں اور INT، اہم، صفر کا اعلان. میں چاہتی ہوں جہاں اور پھر یہاں، یہ ہے کرنے کے لئے فعالیت کو آاٹسورس کرنے کے لئے شروع کرنے کے لئے میں خود ہوں کہ کچھ دوسرے تقریب لکھنے کے لئے جا رہے ہیں لیکن یہ نہیں ہوتا اس وقت موجود ہیں. مثال کے طور پر، میں چاہتا تھا کہ لگتا ہے مجھ سے کرنے کی اجازت دیتا ہے کہ ایک تقریب لکھنا ہیلو، کوما باہر پرنٹ، اور پھر کچھ صارف کا نام. printf کرنے کے لئے جاری رکھنے کے بجائے ہیلو،٪ S، یہ تو اچھا نہیں ہوگا نامی ایک تقریب میں صرف وہاں تھے printf لیکن پرنٹ کا نام نہیں ہے؟ تو دوسرے الفاظ میں، میں کرنے کے قابل بننا چاہتا ہوں تھوڑا کرتا ہے ایک پروگرام لکھنا کچھ اس طرح. سب سے پہلے، میں نے printf کہنے جا رہا ہوں آپ نام، اس طرح کرنے کے لئے صارف کو فورا میں ہوں تو مجھے اس کا یا اس کا نام دے، اور سے واقف سٹرنگ کا استعمال کرنے کے لئے جا ایک تار کا اعلان. ، مجھے قسم سٹرنگ کا ایک متغیر دے دو کہ میں اس کے فون، اور اسٹور سٹرنگ حاصل بلا کا نتیجہ. لیکن اب گزشتہ ہفتوں میں، میں ہوگا کسی حد تک tediously کیا ہیلو،٪ S / N. اور دوسرے لفظوں میں ہم نے یہ دیکھا ہے وقت کی مثال کے طور پر ایک گروپ ہے، اور یہ ہے ایک صرف ایک ہے کیونکہ مثال کے طور پر چھوٹی سی کوڈ کی لائن تو یہ واقعی نہیں ہے بڑا سودا دوبارہ ٹائپ رکھنے کے لئے. لیکن لگتا ہے کہ کوڈ کے اس لائن اصل میں ایک بوجھ بنتی جا رہی ہے، اور کر رہے تھے اس کوڈ کی ایک لائن نہیں ہے لیکن یہ 10 ہے کوڈ کی لائنیں اب سے ایک جوڑے ہفتوں، اور آپ کو صرف تھکاوٹ ہو رہی ہے کاپی اور چسپاں یا اسی کوڈ retyping. اس کی بجائے کر کے اچھا نہیں ہوگا printf ہیلو،٪ s ہے اور تو آگے، صرف وہاں تھے تو یہ اچھا نہیں ہو گا پرنٹ کا نام کہا جاتا ہے کہ ایک تقریب ایک دلیل لیتا ہے - دوسرے الفاظ میں، یہ ان پٹ لیتا ہے - اور پھر نیم وقفہ. تاکہ تقریب، ہے نہ وجود کہ اگر اچھا ہو؟ اس کے بعد میں کے بارے میں فکر کرنے کی ضرورت نہیں کرے گا printf کیا ہے، کیا ہے٪ s اور تمام ہیں کہ ان پیچیدگیوں تمام نہیں کہ دلچسپ. وہ مفید ہیں. تو پرنٹ نام، بدقسمتی سے، نہیں تھا 40 سے زیادہ سال پہلے کچھ ایجاد کیا. کوئی اسے لکھنے کے لئے سوچا. لیکن اس کے ایک ہونے کی خوبصورتی ہے صرف کی طرح پروگرامنگ زبان، اسکریچ تم اتنا، اپنی مرضی کے بلاکس کی وضاحت کر سکتے ہیں C میں اور سب سے زیادہ کسی بھی زبان، آپ کر سکتے ہیں اپنی خود کی فعالیت کی وضاحت، کر سکتے ہیں آپ کو اپنے افعال کا تعین. ہم مرکزی کی طرف سے حاصل تو اگرچہ خود کار طریقے سے مفت کے لئے، ہم اعلان کر سکتے ہیں ہمارے اپنے کام کرتا ہے. تو میں یہاں کچھ جگہ بنانے کے لئے جا رہا ہوں اپ سب سے اوپر، اور میں اعلان کرنے جا رہا ہوں میری ایک نظر جا رہا ہے کہ خود کی تقریب تھوڑا پہلے عجیب لیکن ہم آ جائیں گے واپس اس سے پہلے طویل ہے. میں نے اس طرح، صفر کہنے جا رہا ہوں اس تقریب کی طرف اشارہ کرتا ہے کچھ، ایک طرف اثر ہے، لیکن یہ میں مجھ سے کچھ واپس نہیں کرتا یا INT حاصل ہے کہ اسی طرح خود کرتا ہے سٹرنگ ملتا ہے. اور میں اس تقریب میں ایک دینے کے لئے جا رہا ہوں پرنٹ کے نام کے نام پر، اور میں کرنے جا رہا ہوں اس آدمی کو لے جا رہا ہے کہ اس کی وضاحت ایک سٹرنگ، اور میں نے اس کو فون کرنے جا رہا ہوں سٹرنگ کا نام. میں نے اس میں کچھ کرنا چاہتے ہیں فون، لیکن کر سکتے ہیں میں میرا کوڈ خود دستاویز بننا چاہتا ہوں. دوسرے الفاظ میں، اگر تم میں سے کسی ایک کے پاس تھے اس فائل کو کھولنے اور اسے پڑھا، آپ کر سکتے تھے اس کے نام سے نتیجہ نکالنا قسم یہ کھیلنے والا ہے کیا کردار ادا کیا ان پٹ. اور اب اس کے ذیل میں، میں کھولنے کے لئے جا رہا ہوں گھوبگھرالی منحنی خطوط وحدانی اور بند گھوبگھرالی منحنی خطوط وحدانی، اور اس لئے میں اسی کی پیروی کی ہے توجہ سات لائنوں کے ذریعے چار کے طور پر پیٹرن میں ایک اچھا ہفتہ پلس کے لیے مندرجہ ذیل گیا ہے اب لائنوں نو اور، کا کہنا ہے کہ، کے درمیان اہم تحریر جو 14. دوسرے الفاظ میں، نام کو پرنٹ ایک اور تقریب ہے. اب، سنکلک جاننے کے لئے نہیں جا رہا ہے خود کار طریقے سے اس بات کو فون کرنے کی میں لفظی صرف اسے ایجاد، کیونکہ لیکن یہ اہم فون کرنے کے لئے اب بھی پتہ چل جائے گا خود کار طریقے سے، اور پھر یقینا میں لائن 13، میں اپنی خود کی تقریب میں بول رہا ہوں. اور کیونکہ میں اعلان کیا ہے کہ تقریب اپ مین لائن سے پہلے چار پر، اس سنکلک سکھانے کے لئے جا رہی ہے کیا اقتباس، unquote، "پرنٹ کا نام" کا مطلب ہے اور اسے کیا کرنا چاہئے. تو میں نے اسے ایک نئے اپنی مرضی کے مطابق دینے کی طرح ہوں سکریچ، کا کہنا ہے کہ، کے تناظر میں بلاک. تو یہاں میں، میں نے وہ بہت عام ڈال کر سکتے ہیں میں رکھنے کے لئے کوڈ کی یا بار بار چلنے والی پیٹرن کلاس میں لکھنے، printf ٪ s کو خوش،٪ S / N "، - میں یہاں ڈال کرنے کے لئے کیا چاہتے ہیں؟ S؟ تو میں نے اس تناظر میں نام ڈال کرنا چاہتے ہیں. تو یہاں ایک dichotomy کا تھوڑا سا محسوس. میں اپنی خود کی تقریب میں اعلان کر رہا ہوں کیونکہ اور میں کسی حد تک منمانے بلایا ہے اس کا نام پرنٹ، اور میں نے کیونکہ قوسین میں بیان کیا ہے کہ اس تقریب سے ایک دلیل کی قسم لیتا ہے جو ایک تار ہے - تو یہ ایک لفظ ہے یا فقرہ یا کچھ اس طرح ہے - اور میں سمجھتا ہوں کہ، دلیل ہے کہ نام کو بلا رہا ہوں میں ہے کہ صرف متغیر مطلب گنجائش،، تو بات کرنے کا نام ہے. S صرف کیا ان دونوں کے درمیان موجود ہے گھوبگھرالی منحنی خطوط وحدانی، کورس کی؟ واقعی، بس لائن 10 کے ذریعے کی طرح ویسے 14، تو صرف پیر کو پسند استعمال نہیں کر سکتے S، لیکن جو میں کر سکتا گزر رہا ہے پرنٹ نام میں ایس. پرنٹ کریں نام صرف اس لئے یہ دینے کے لئے ہوتا ہے ایک عرف، ایک متبادل، ایک عرفیت، یہ نام بلا، اور اب اس لائن میں اس کا استعمال کرتے ہوئے. تو اب باہر زوم، مجھے اس کو بچانے کے ہیں. مجھ سے آگے بڑھو اور خوش کرنے دو اچھا لگ رہا ہے. کسی بھی غلطی نکالنا ممکن نہ تھا. . / درج کریں ہیلو. میرا نام کیا ہے؟ ڈیوڈ. اور ڈیوڈ ہیلو. تو سب کہ دلچسپ نہیں، لیکن ابھی لگتا ہے کہ. اب آپ اسی جزو ہے ہم سکریچ میں کیا تھا کے طور پر ہمارے اپنے افعال بناتے ہیں. لیکن ایک پکڑ لیا کے تھوڑا سا ہے. مجھے سچ میں نہیں سوچا تھا کہ فرض کریں یہ اصل میں کے ذریعے اور میں بغیر واقعی اس کے بارے میں سوچ لکھا کہ یہاں تقریب کے نیچے. بالکل مناسب لگتا ہے. اسکریچ میں کوئی تصور نہیں ہے آپ لپیوں میں جگہ. آپ ایک، یہاں، یہاں ایک کو پیش کر سکتا ہے ایک یہاں ہے، اور یہ شروع کر سکتے ہیں اگر تم نہیں تھوڑا گندا ملاحظہ کرنے کے لئے یہ صفائی باہر پوشیدہ ہے، لیکن یہ نہیں کرتا جسمانی طور پر سکرپٹ جہاں سے کوئی فرق سکرین پر تھے. بدقسمتی سے سی - اور اس کے برعکس ہے جاوا اور ازگر کی طرح زبانوں اور آپ واقف ہو سکتا ہے دوسروں کے بدقسمتی سی، حکم کرتا ہے - کے ساتھ گھڑی کیا ہے کیونکہ اس سے کوئی فرق اب کیا ہونے جا رہا. جا رہا ہے کہ پہلے سے طے شدہ کی تقریب عملدرآمد کرنے کے لئے، کورس کی، سب سے اہم ہے. مین پر پرنٹ نام پر فون کرنے کے لئے جا رہی ہے لائن آٹھ، لیکن بدقسمتی سے، سنکلک بھی پرنٹ کا نام پتہ نہیں چلے گا یہ لائن 11 پر ہو جاتا ہے، جب تک موجود ہے جو بدقسمتی سے ہے بہت دیر ہونے جا رہا. تو خوش بنا کرتے ہیں. اور اب لات، دو غلطیوں سے پیدا. تو اب مجھے بہت تک سکرال دو سب سے پہلے، جیسا کہ ہم ہمیشہ کرتے ہیں، اور چاہئے یہ مجھ پر چللانا ہے کہ نوٹس تقریب کی "ضمنی اعلان نام پرنٹ. " تو ہم نے اس پیغام سے پہلے دیکھا ہے، تقریب کے ضمنی اعلان. جب ہم نے غلطی کی اس قسم کو دیکھا ہے؟ میں ایک لائبریری شامل نہیں کب. میں cs50.h بھول گئے اور تو میں ملے گا سٹرنگ ملے یا INT حاصل کرنے کے لئے چللایا. لیکن اس صورت میں، اس تقریب پرنٹ کریں نام حق، ایک لائبریری میں نہیں ہے؟ یہ اتنا، اس فائل میں لفظی ہے کیا واقعی مسئلہ ہے؟ ویسے بدقسمتی سی، اسے لے جاتا ہے تو ناقابل یقین حد تک لفظی کہ اگر آپ پرنٹ کے نام سے ملاقات کی ایک تقریب چاہتے ہیں موجود ہیں، آپ کو یا تو لاگو کرنے کے لئے ہے آپ میں سے بہت سے اوپر دیئے گئے اس تقریب کوڈ یہ کم کرنے کے لئے قابل رسائی ہے تاکہ کام کرتا ہے، لیکن واضح طور سے، کہ ہو جاتا ہے بہت جلد میلا. ذاتی طور پر میں سب سے پہلے اہم ڈال اچھا لگتا ہے تو یہ بہت کیا یہ واضح ہے کیونکہ پروگرام کی پہلی نظر میں ہے. اور کے علاوہ، آپ کو عجیب کونے میں حاصل کر سکتے ہیں ایکس فون کرنے کے لئے چاہتا ہے تو جہاں مقدمات Y لیکن y کیا آپ، X صرف فون کر سکتے ہیں جسمانی طور پر اصل میں ایک نہیں ڈال سکتا دوسرے کے اوپر. لیکن یہ ہم نے سی کر سکتے ہیں باہر کر دیتا ہے بہت سادہ الفاظ میں اس کو حل کرنے کے. مجھے خلا کا ایک تھوڑا سا ڈال کرنے جا رہا ہوں یہاں، اور میں کرنے جا رہا ہوں preemptively، تاہم کسی حد تک redundantly، سکھانے والا ایک تقریب وہاں موجود ہے سنکلک پرنٹ کا نام کہا جاتا ہے، یہ ایک سٹرنگ لیتا ہے اور میں بلا رہا ہوں اس نیم وقفہ نام دیں. ، اب لائن چار میں یہ تو جو ہم اس سے پہلے نہیں دیکھا ہے، ایک اعلان ہے ایک تقریب پرنٹ کے نام کی ہے، لیکن یہ صرف اس صورت میں ہے یہ کام کرے گا کہ ایک وعدہ آخر میں کے آخر میں، تعریف یوں کی جا عمل درآمد کیا جائے. یہ اب مجھے اکیلے چھوڑ کر سکتے ہیں کیونکہ اب اس کی تعریف یہ ہے، آخری میل کے نفاذ، ترتیب دیں اس کے عمل کا خاص طور پر تقریب. تو واضح طور سے یہ احمقانہ ہے، یہ، پریشان کن ہے لیکن یہ سی ہے طریقہ ہے، اور یہ ہے یہ بہت لفظی لے جاتا ہے کیونکہ اور، ایک کمپیوٹر واضح طور سے ہونا چاہئے کے طور پر، صرف آپ اس پر چلتا ہے بالکل وہی جو کرتے ہیں، اور اسی طرح کی ترتیب ضروری ہے. تو ذہن میں ہے کہ کو برقرار رکھنے اور پھر شروع پیٹرن کی دوبارہ آنا کو نوٹس. کیا تم نہیں ہے تو مشکلات، تم کروگے ہیں پہلے ہی، پیغامات کا سامنا کرنا شروع اس طرح کہ پہلی نظر میں لگ رہے ہو مکمل طور پر خفیہ، لیکن آپ شروع تو کی طرح ان اہم الفاظ تلاش کرنے کے لئے ایک کے "غیر واضح اعلان،" ذکر اس کیس میں تقریب - اور واضح طور سے، آپ کبھی کبھی بھی ایک چھوٹی سی سبز حاصل جہاں آپ کو بتاتا ہے کہ گاجر کی علامت شاید مسئلہ ہے - آپ کے ذریعے اپنے طریقے سے کام کرنے کے لئے شروع کر سکتے ہیں ابھی غیب خرابی کے پیغامات. تحریری طور پر کسی بھی سوال آپ کا اس طرح خود تقریب؟ ایک ہے کہ کچھ کر چلو تھوڑا زیادہ مجبور. ہے کہ کچھ کرنا صرف کے بجائے پرنٹنگ کے ایک طرف اثر، مجھے جانے دو آگے اور ایک نئی فائل کو بچانے کے، اور ہم کروں گا یہ ہے، اگرچہ اس positive.c فون تھوڑا مختلف ہونے جا رہا آخری بار بمقابلہ. اور اس بار، میں دوبارہ لاگو کرنے کے لئے کرنا چاہتے ہیں آخری بار کی positive.C مثال کے طور پر، جس میں صارف دینے کے لئے مجبور کیا جاتا ہے مجھے ایک مثبت عدد صحیح. لیکن میں INT آخری وقت ملتا استعمال کرنے کے لئے تھا. وہاں تھا تو یہ اچھا نہیں ہوتا ایک تقریب مثبت INT حاصل کہا جاتا ہے میں صرف اس آاٹسورس کر سکتے ہیں پر فعالیت کا ٹکڑا؟ یہاں فرق ہم کروں گا ہے مثبت INT حاصل کرنے کے نفاذ، لیکن برعکس ایک طرف اثر پڑا جس میں پرنٹ کا نام ہے - یہ جیسے مجھ سے کچھ نہ ہوسکا ایک نمبر یا ایک تار - مثبت INT، کورس کے، جا رہا ہے ہو ، امید ہے کہ، ایک مثبت INT واپس. تو یہ کرتے ہیں. cs50.h شامل کریں، معیاری io.h. شامل کریں مرکزی صفر INT. اور اب یہاں پر میں، میں آگے بڑھو کرنے جا رہا ہوں اور دو کی INT کا کہنا ہے کہ (ن) یہ کہتے ہیں، برابر مثبت INT ملتا ہے. اور جیسا INT پہلے سے ہی موجود ہو جاؤ عملے نے اسے لکھا کیونکہ میں جا رہا ہوں حاصل کرنے کے اس لمحے کا فرض مثبت INT موجود ہے، اور اب میں جا رہی ہوں آگے بڑھو اور printf کہنا، ٪ I / N "، (ن) کے لئے شکریہ. میں نے اس پروگرام مرتب تو اب تو، کیا میری ٹرمینل میں ہونے جا رہا ہے اسکرین کے نچلے حصے میں ونڈو؟ میں شاید اس کے حاصل کرنے کے لئے جا رہا ہوں پہلے کی طرح اسی کی خامی. تو اس کی کوشش کرنے دو مثبت بنائیں. اور پھر، ضمنی اعلان تقریب کی، مثبت INT ملتا ہے. تو ہم میں اس حل کر سکتے ہیں طریقوں میں سے ایک جوڑے. میں صرف یہ سادہ اور رکھنے کے لئے جا رہا ہوں یہاں اپنے اعلان کو ڈال دیا اور حاصل مثبت INT. میں نام نہاد دستخط کی ضرورت ہے. دستخط صرف سے مراد کی جمالیات پر پروگرام کی پہلی سطر. تو کیا ہوا اگر مثبت ہو جانا چاہئے واپسی INT؟ تو ایک INT. میں مثالی طور پر مطلب ہے، یہ واپس کردے گا، مثبت INT طرح کچھ، لیکن اس موجود نہیں ہے. ہم نے دیکھا نہیں ہے کہ ہمارے اعداد و شمار کے درمیان اقسام، تو ہم سے نمٹنے کے لئے ہے ہم نے بہت ہی کم ہے کہ حقیقت یہ ہے کہ اعداد و شمار اقسام کے ساتھ کام کرنے کے لئے. لیکن ہم ایک INT اور صرف واپس آ سکتے ہیں یہ مثبت ہو جائے گا پر اعتماد ہے. یہ کہا جا جا رہا ہے مثبت INT ملتا ہے. اور اب کس طرح اس کے دلائل کے بارے میں؟ یہ کسی بھی ان پٹ لگتا ہے؟ یہ کسی بھی ان پٹ کی ضرورت ہے؟ تو یہ جاننے کی ضرورت نہیں ہے پیشگی کسی بھی چیز میں. سٹرنگ، INT نہیں کرتا حاصل نہیں کرتا حاصل کریں. Printf کرتا ہے - یہ کچھ کرنے کی ضرورت ہے ان پٹ اس میں گزر چکا ہے - اور پرنٹ کا نام کچھ ان پٹ کی ضرورت ہے، لیکن ملے مثبت INT نہیں کرتا. تو میں نے واضح طور پر جا رہا ہوں سنکلک صفر بتائیں. صفر کچھ کی غیر موجودگی ہے. تو صفر کا مطلب کچھ بھی نہیں کے اندر جا رہا ہے ان قوسین کے، نیم وقفہ. اور اب میری فائل کے آخر میں - اور مقعد کی ایک بار پھر، میں صرف ہو رہا ہوں قسم یہاں سب سے اوپر اہم ڈال، جو اچھی پریکٹس ہے اس طرح کی وجہ سے، آپ کو یا کسی اور کو کسی بھی وقت آپ کی فائل کو کھولتا ہے، فعالیت کا حق نہیں ہے. آپ مربع ایک سے میں گوتا لگا سکتا ہوں. تو اب میں یہ نقل کرنے جا رہا ہوں مثبت INT صفر ہو جاؤ، لیکن میں نہیں ہوں اب ایک نیم وقفہ مارا جا رہا ہے. میں، گھوبگھرالی منحنی خطوط وحدانی کھولنے کے لئے جا رہا ہوں اور اب میں قرضے لینے کی ضرورت ہے سوموار سے کچھ خیالات. تمہیں یاد تو کے طور پر، ہم نے کچھ کیا مندرجہ ذیل جبکہ طرح کچھ سچ تھا. اور میں نے کیا کیا؟ مجھے دے کچھ اس طرح کیا مجھے ایک مثبت عدد صحیح، ایک فوری طور پر کے تھوڑا سا. میں چاہتا ہوں کوئی بھی الفاظ استعمال کر سکتے ہیں. اور پھر میں نے کیا استعمال کیا؟ INT ن، INT حاصل کرنے کے برابر ہے اس پر کوئی بحث نہیں. اور فرق محسوس کریں. اگر آپ استعمال کرتے ہیں تو آپ کو ایک تقریب فون جب ایک تقریب، آپ کو صفر میں ڈال دیا نہیں ہے. ایک قرار دیا جب تم نے ہی ایسا تقریب، سنکلک تعلیم کیا اس کی امید کرنی چاہئے. تو کیا تم ڈال کرنے کی ضرورت نہیں وہاں اپنے آپ کو خالی. اور اب میری حالت کیا تھی؟ ٹھیک ہے، (ن)، مثبت کے برابر نہیں ہے لیکن یہ صرف چھدم کوڈ ہے. تو کس طرح میں زیادہ cleanly اس کا اظہار کرتے ہیں؟ تو اس سے کم یا صفر کے برابر. تو ایک بار پھر، آپ کر سکتے نوٹس سے کم یا اس کے برابر. یہ دو الگ الگ ہے اگرچہ علامات، تم پر ایسا کر سکتے ہیں جیسا کہ اپنے کی بورڈ. لیکن اس ایک مسئلے اب بھی موجود ہے میں بھی آخری وقت تک مصیبت میں. میں اعلان کرنے کے لئے ہے - بالکل. میں باہر (ن) کا اعلان ہے لوپ کی. تو میں یہاں تک ن ڈال کرنے کی ضرورت ہے، اور میں ایسا نہیں کرتے یہاں میں مکرر اعلان کرنا چاہتا ہوں ایسا نہ ہو کہ میں ایک نیا متغیر ہو جاتے ہیں. میں صرف یہاں میں ایک قیمت کی وضاحت کرنا چاہتے ہیں. اور اب میں کافی یہاں کیا نہیں کر رہا ہوں. مجھے آگے خود کی ہو جانے دو اور میرا کام ہو گیا دکھاوا. مثبت بنائیں، اور اب ایک نئی غلطی ہے. کنٹرول کے آخر تک پہنچ جاتا ہے غیر صفر کی تقریب. نئے خرابی کا پیغام تو ہے، لیکن اگر آپ قسم الفاظ میں سے ہر ایک کے علاوہ چڑھاو، اس کے شاید کیا گڑبڑ ہے میں اشارہ کیا. قابو رکھو. کنٹرول صرف حکم کا مطلب ایک پروگرام میں کارروائیوں کی. کمپیوٹر کنٹرول میں ہے اور کچھ غلط ہوگیا. تو اس کے آخر تک پہنچ جاتا ہے ایک غیر صفر کی تقریب. یہ کیا تقریب بظاہر ہے کا حوالہ دیتے؟ کیا تقریب غیر باطل ہے؟ تو مثبت INT ہو جاؤ، اور تھوڑا اس کے ساتھ ساتھ میں بردوست، یہ باطل کی طرح ہے. اس لیے صفر کی تصریح ہے دلائل، لیکن اس کی پیداوار کی جا رہی ہے کی قسم (ن) کا ہو. تو بائیں طرف لفظ ہے واپسی قسم کے نام نہاد. یہاں اندر لفظ ہے صفر یا اس سے زیادہ دلائل ایک تقریب لیتا ہے. تو میں نے کیا کرنے کی ضرورت ہے؟ اپنے کوڈ میں اس نقطہ، لائن 21 کہاں فوری طور پر ٹمٹمانے اب میں، ہے ایک مثبت INT اندر ہے (ن) کو بلایا متغیر کی. میں کس طرح اہم کرنے کے لئے اسے واپس دے رہے ہو؟ لفظی. N نیم وقفہ واپس جائیں. تو بالکل اسی طرح جیسے کولٹن کا ایک ٹکڑا واپس لوٹ آئے گر کی طرف سے میرے لئے ایک جواب کے ساتھ کاغذ چھوٹی سی سیاہ میں کاغذ کے اس ٹکڑے میں ایسا کرنے کے لئے میز پر باکس، کوڈ، آپ لفظی صرف واپس، لکھنا کولٹن تھے اگرچہ کے طور پر (ن)، اور یہ ہے مجھ سے کچھ جسمانی واپس حوالے. اس صورت میں، کیا ہو رہا ہے حاصل ہے مثبت INT واپس حوالے کرنے جا رہی ہے کیا شاید ایک مثبت ہے جن کے پاس عددی؟ اس قدر کہاں ختم ہوتا ہے؟ کہ (ن)، اس متغیر میں ختم ہو جاتی ہے، اور پھر ہم لائن نو کے ساتھ آگے بڑھنے. تو دوسرے الفاظ میں، کی ترتیب میں آپریشنز، اس پروگرام کے شروع ہوتا ہے ، عمل، اور سنکلک احساس اوہ، آپ لائبریری چاہتے ہیں؟ مجھے تصویر اس کے اندر جو کچھ بھی چلو. ارے، تم کب معیاری لائبریری چاہتے ہیں؟ مجھے تصویر اس کے اندر جو کچھ بھی چلو. سنکلک خود کیا کہتا ہے یہ لائن میں چار مار دیتی ہے جب؟ اوہ، آپ کو نافذ کرنے کا وعدہ کیا تقریب مثبت حاصل کہا جاتا ہے، لیکن ہم بعد میں اس کو واپس مل جائے گا ان خطوط پر کچھ. INT اہم صفر یہاں صرف کا مطلب میرا پروگرام کی ہمت. لائن سات صرف ایک گھوبگھرالی منحنی خطوط وحدانی ہے. لائن آٹھ دے، بائیں طرف کہہ رہا ہے ایک عددی کے لئے مجھے 32 بٹیں، یہ (ن) کہتے ہیں. دائیں ہاتھ کی طرف، یہ ہے مثبت INT حاصل کہہ. اب لشکر طیبہ کی کہانی کو روکنے کہ کیونکہ اب میں اپنے کرسر کو نیچے منتقل نہیں رکھتے. میرا کرسر اب یہاں نیچے جاتا ہے کیونکہ اب مثبت INT executes ملتا ہے. INT (ن) کا اعلان کر دیا ہے. مندرجہ ذیل کریں. Printf مجھے ایک مثبت عدد صحیح دیتا ہے. ، صارف کی جانب سے ایک INT حاصل کریں (ن) میں اسٹور، اور شاید بار بار یہ کرتے ہیں. یہ لوپ اس کوڈ شاید مطلب یہ ہے کہ پھر اس طرح اپ کو پھانسی اور نیچے اور پھر، لیکن صارف جب آخر تعاون اور مجھے ایک مثبت دیتا ہے INT، میں جس نقطہ پر، لائن 21 مارا تعداد واپس حوالے کر دیا، اور جس سے ایک ہے اب میں اجاگر کرنا چاہئے؟ نو. کنٹرول،، تو بات کرنے واپس نو لائن. انچارج اب ہے کہ لائن ہے. تو وہ سب ہو رہا ہے کیا ہے اس ہڈ کے نیچے وقت، لیکن ہم printf کی طرح کام کرتا ہے استعمال کیا جاتا ہے جب یا اس سے بھی سٹرنگ حاصل ہے کہ کسی اور آپ کے لئے لکھا ہے، کنٹرول کے حوالے کیا جا رہا تھا بند کرنے کے لئے کسی اور کی کوڈ لائن لائن کی طرف سے لائن کی طرف سے. یہ صرف ہم اسے دیکھتے ہیں اور ہم نہیں کر سکتے ہیں ہے واقعی میں اس میں یہ بیان نہیں کیا جا سکتا یہ کسی دوسرے میں ہے پروگرام کی وجہ سے ہارڈ ڈرائیو پر فائل ہم سے لوگ شاید نہ جانتے. تو اصل میں مرتب کرتے ہیں اور اب اس چلاتے ہیں. مثبت بنائیں. پیش رفت ہے، مرتب کریں. . / مثبت. مجھے ایک مثبت عدد صحیح دے. کی مشکل ہیں. 1 منفی. زیرو. اس 50 دینے کرو 50 کے لئے شکریہ، اور تو کنٹرول اب واپس آ گیا ہے. ذہن میں کوئی سوال ہے، تو، اس پر؟ جی ہاں؟ [اشراوی]. پھر کہو. اوہ، اچھا سوال ہے. تو تم یہاں ایک متوازی توجہ سکتا ہے میں ایک کونے کاٹ رہا ہوں. لائن 12 میں، میں یہ کہہ رہا ہوں، مثبت INT حاصل ایک INT واپس، لیکن اسی کی طرف سے منطق، اب یہ وجہ ہے کہ میں لائن چھ، میں یہ کہہ رہا ہوں کہ بنیادی واپسی ایک INT، لیکن کیا ہم نے کبھی نہیں ہمارے پروگراموں میں سے کسی میں تھا؟ ہم کا ذکر کبھی نہیں ہوئی اس کلیدی لفظ کی واپسی. تو یہ کم از کم، سی کہ باہر کر دیتا ہے ہم استعمال کر رہے ہیں کہ اس کا ورژن 1999 ء میں بنایا گیا تھا، تکنیکی طور پر، یہ ہے خود کار طریقے سے آپ کے لئے ہو رہا ہے. کسی بھی وقت آپ کو ایک پروگرام اور آپ پر عملدرآمد ، اہم ملاقات کی ایک تقریب پر عملدرآمد اس تقریب کی طرف سے صفر کے واپس آ جائیں گے ڈیفالٹ آپ کا کہنا ہے کہ دوسری صورت میں نہیں ہے تو، اور صفر صرف ایک کنونشن ہے. دنیا اس طرح صفر واپس سب کچھ ٹھیک ہے کا اشارہ، مؤثر طریقے سے ہمیں چھوڑ کر چار ارب جا سکتا ہے ممکن چیزیں غلط تاکہ ہم ایک واپس تو، اس اس کا مطلب ہے کہ ایک کوڈ کی نشاندہی کر سکتے ہیں بات غلط ہو گیا. ہم جس کا مطلب ہے، دو کو واپس کر سکتے ہیں یہ دوسری چیز غلط ہو گیا. ہم نے چار ارب روپے واپس آ سکتا ہے یہ دوسری چیز غلط ہو گیا ہے. اور اب آپ خود اپنے بارے میں سوچنا تو پی سی یا میک، آپ کو یاد کر سکتے ہیں کبھی کبھی آپ سے خفیہ خرابی کے پیغامات ملے تم اس سافٹ ویئر کی طرف سے کا استعمال کرتے ہوئے، اور بعض اوقات تو یہ ایک انسان ہے دوستانہ وضاحت، لیکن وہاں ہے اکثر ایک کوڈ یا ایک بڑی تعداد سکرین پر؟ اس کے دماغ میں نہیں آتی ہے تو، صرف اس کے لئے ایک آنکھ سے دور رکھیں. یہ عام طور پر کیا ہے یہ کوڈ کا حوالہ دے رہے ہیں. وہ اور مائیکروسافٹ ورڈ میں شامل کر رہے ہیں دیگر پروگراموں تاکہ تم ایک فائل تو کمپنی کے ساتھ بگ کی رپورٹ آپ کر سکتے ہیں ان سے کہو، اوہ، میں نے غلطی کی تعداد 45 ہو گئی. اور کمپنی میں کچھ پروگرامر واپس میں اس کو دیکھ سکتے ہیں اس کی یا اس میں نے کر دیا کیونکہ کوڈ اور کا کہنا ہے کہ، اوہ، کہ ہے اس مسئلے اور اس وجہ سے صارف یہ پیغام ملا. لیکن واضح طور سے، یہ صرف ایک چھوٹی سی ہے پریشان اور تھوڑا تکاؤ کم سے کم ہمارے پر، یہ نتیجہ اخذ پہلے چند پروگراموں، ہم نے تو یہ omitting گیا. آپ کے لیکن سب اس وقت ہر ایک افعال اہم خفیہ یہ دیکھا گیا ہے لائن کی طرف سے خود کار طریقے سے آپ کے لئے شامل سنکلک کرنے کے لئے، صرف کی طرف سے کنونشن آپ کو کچھ وقت کی بچت. [اشراوی]. آپ اہم میں شامل کرنے کے لئے ضرورت نہیں ہے. وہ ٹھیک ہے. تم تھے تو اس کو شامل کرنے کی ضرورت ہے اس طرح کی ایک تقریب کو لاگو کرنے کے. دوسری صورت میں تقریب فلیٹ باہر کام نہیں کرے گا. لیکن سب سے اہم میں، یہ ضروری نہیں ہے. ایک ہفتے یا دو میں ہم نے حاصل کرنے کا آغاز کریں گے اس عادت میں ہم ایک بار شروع کرنا چاہتے ہیں غلطیوں signifying. سوال بہت اچھا. ذکر اتنی جلدی زبانی توڑنے والی اس جمعہ، ہم کھانا کھا ریکارڈ نہیں رکھا جائے کے ساتھ فی SE، لیکن ہم کھانا کھا رہے ہوں گے طالب علموں اور عملے کے کچھ. کیا تم ہمارے ساتھ چاہتے ہیں، تو محسوس cs50.net/rsvp کرنے کے لئے جانے کے لئے آزاد. اس جمعہ شام 6:00. خلائی، ہمیشہ کی طرح محدود ہے، لیکن ہم کروں گا تقریبا پر ان کر جاری رکھیں ہفتہ وار بنیاد کی جگہ اگر اس ہفتے کے ختم. تو ہم پر چھوڑ دیا ہے کہ cliffhanger پیر ڈور اصل میں کر سکتے ہیں کہ کیا گیا تھا میں حساب سے ترتیب کیا جائے جس میں صرف آپ کا مطلب ہے ، سب سے پہلے کردار میں حاصل کر سکتے ہیں دوسرا کردار، تیسری کردار اور تو آگے، آپ کر سکتے ہیں کی وجہ سے مؤثر طریقے سے طرح ایک تار کے بارے میں سوچنا ہیلو، کے طور پر اس معاملے میں ہونے کی وجہ سے پانچ خانوں کے اندر خط. اور تم ان میں سے ہر ایک میں حاصل کر سکتے ہیں کیا نحو کیا خانوں سے ہم پیر کو متعارف کرانے؟ لوگ مربع بریکٹ اپنے کی بورڈ پر. صرف محل وقوع صفر پر جانا مراد ہے. ہم نے صفر پر گنتی شروع، تو بریکٹ صفر H، بریکٹ ایک ابیوینجک ای ابیوینجک، اور تو آگے. ہم رہے ہیں جب اور اس طرح ہر وقت "ہیلو" میں ڈور کا استعمال کرتے ہوئے اور ٹائپ اور "دنیا" اور دیگر چیزوں پر سکرین، یہ ذخیرہ کیا گیا ہے اس طرح خانوں میں. اور ایک اندازہ لے. ہر باکس جسمانی طور پر کیا کی نمائندگی کرتا ہے آپ کے کمپیوٹر کے اندر؟ [اشراوی]. معذرت؟ تصوراتی، بہترین. صورت میں یقینی طور پر، ایک کردار تو ڈور، اور ایک کردار صرف یہ ہے آٹھ بٹیں یا ایک بائٹ. تو آپ کو شاید کم از کم vaguely ہیں اس حقیقت سے واقف ہے کہ آپ کمپیوٹر میموری ہے. یہ میموری کی دو اقسام میں کم از کم ہے. ایک آپ کو بچانے کے لئے جہاں ہارڈ ڈسک ہے مستقل طور پر چیزیں، اور یہ کہ ہے اگر آپ کو فلموں کر سکتے ہیں عام طور پر اتنی بڑی اور موسیقی اور تو آگے. پھر آپ میموری کی ایک اور قسم ہے رام، R-A-M، رینڈم رسائی کہا جاتا ہے یاد داشت، اور یہ میموری کی قسم ہے آپ کے کمپیوٹر میں ہے جب استعمال کیا جاتا ہے تم طاقت کھو یا تو چل رہا ہے آپ کی بیٹری مرتا، ذخیرہ ہے کہ کچھ تم طاقت کھو دیتے ہیں تو RAM میں غائب یہ نہیں ہے مکمل طور پر کی وجہ سے مسلسل. آپ عام طور پر، ان دنوں، ہے اس کے ٹمٹم، شاید دو gigs،. اور رام کے الٹا یہ زیادہ ہے یہ ہے کہ ہارڈ ڈسک کے مقابلے میں بہت، بہت تیزی یا اس سے بھی ٹھوس ریاست، ان دنوں چلاتی لیکن یہ عام طور پر زیادہ مہنگی ہے تو آپ اس سے کم ہے. آج کی گفتگو واقعی مراد ہے تو رام میموری کی کہ قسم ہے کہ طاقت ہے جبکہ صرف موجود ہے آپ کے کمپیوٹر میں کھلایا جا رہا ہے. تو آپ ایچ ای ایل ایل اے میں ٹائپ کریں، جب پر درج کریں کی بورڈ، ایچ ایک میں ہو رہا ہے RAM کے بائٹ، ای میں ہو رہا ہے RAM کے ایک اور بائٹ، کے طور پر ہے لفظ کے باقی. تو ہم کامیاب ہو گئے کیا یاد آخری بار کرنا یہ تھا. مجھ سے آگے بڑھو اور فائل کھول دو ہم string.c کہا جاتا ہے، اور یاد ہے کہ یہ ایک چھوٹا سا لگ رہا تھا کہ کچھ اس طرح. مجھے اصل میں واپس رول اور تبدیل کرتے ہیں یہ اس طرح لگ رہا تھا بالکل ویسا ہی کیا ے کی سٹرنگ کی لمبائی. تو یہاں پروگرام کو دیکھو. ہم CS50 لائبریری تو شامل ہیں ہم سٹرنگ حاصل کرنے کے استعمال کر سکتے ہیں. ہم معیار io.h شامل ہیں تو ہم نے printf استعمال کر سکتے ہیں. ہم کیوں string.h شامل کیا؟ یہ پیر کو نئے تھا. تو ہم سٹرنگ کی لمبائی چاہتا تھا. STR leng. لوگ سال پہلے کا فیصلہ کی صرف succinct رہنے دو اس کی بجائے اسے "سٹرنگ کی لمبائی،" بلا کا چلو اسے "STR leng" کہتے اور کرتے ہیں باہر، اور تو ہے کہ ہے کہ دنیا کے اعداد و شمار ہم string.h کے ساتھ تک رسائی حاصل کیا. یہ واقف ہے. یہ واقف ہے. یہ واقف ہے. یہ ایک چھوٹا سا نیا ہے. لائن 22 - اور ہم واپس آ جائیں گے اس کے لئے، لیکن اب معلوم کے لئے - اور آپ کو صرف کرنے سے یہ پتہ چلے گا دستاویزات یا اگر پڑھیں آپ نے پہلے ہی معلوم تھا کہ سی - سٹرنگ کبھی کبھی بگاڑ کر سکتے ہیں ملتا ہے. صارف واقعی معاندانہ یا ہے تو uncooperative اور وہ یا وہ صرف کی بورڈ میں کچھ بھی ٹائپ کریں یا نہیں کرتا کی بورڈ میں اتنی اقسام کے کہ اس کے کمپیوٹر کی میموری overwhelms اصول میں، سٹرنگ واپس حاصل کر سکتے ہیں ایک کے مقابلے میں دیگر کچھ حروف کی سٹرنگ. یہ کہا جاتا ہے ایک خاص قدر واپس کر سکتے ہیں تمام ٹوپیاں، N-U-L-L، اور یہ ہے میں نل صرف ایک نام نہاد پرہری قیمت. یہ ابیوینجک ہے کہ ایک خاص قیمت ہے کچھ برا اس کیس میں ہوا. یہ ایک سٹرنگ کی غیر موجودگی ہے. لہذا، میں صرف اتنا ہے کہ کے لئے جانچ پڑتال رہا ہوں اتارنا null لمبی کہانی مختصر، STR leng اور سی کے ساتھ آئے کہ دوسرے کے کام کرتا ہے، تو وہ ایک تار کی توقع لیکن آپ انہیں منظور ایک تار کی عدم موجودگی، آپ کو منظور ہو تو ان، کمپیوٹر یا پروگرام اتارنا null صرف مکمل طور پر کریش ہو جائے گا. یہ رکھتی ہوں. اس میں کچھ غلطی پیغام کو پھینک دیں گے. بری چیزوں ہوگا. یہ اب بھی ہے اگرچہ اچھی طرح وضاحت نہیں ہے - یہ ایک ہفتے میں زیادہ احساس بنا یا جائے دو - لائن 22 میں، یہ صرف ایک ہے خود دفاعی غلطی چیکنگ کی مثال صرف میں کیس ایک وقت باہر ایک ملین سے کچھ کم، غلط ہو جاتا ہے کم از کم میرا پروگرام کریش نہیں کرے گا. ے نہیں کرتا لہذا، اگر کچھ برا برابر میں لوپ کے لئے یہ ہے، اور یہ تھا ہم اس دوسرے تھا جہاں نحو کے نئے ٹکڑا. میں سے iterating لوپ کے لئے ایک ہے صفر ے کی لمبائی پر منحصر ہے. اور پھر یہاں، میں ے سے باہر ایک پرنٹنگ تھا بریکٹ میں، لیکن مجھے کیوں کے تمام٪ C استعمال کیا تھا اس کی بجائے٪ s از اچانک بھی ے ایک تار ہے اگرچہ؟ یہ درست ہے، ایک کردار ہے؟ S، ایک تار ہے، لیکن کے بریکٹ کچھ میں صفر ہے جہاں کے بریکٹ میں یا ایک یا دو، کہ ایک فرد ہے سٹرنگ میں کردار، اور اس کے لئے کہ printf کو آگاہ کرنے کی ضرورت ہے کہ یہ واقعی توقع ایک کردار ہے. اور پھر یاد ہے، کس نے یہ کیا پروگرام اصل میں کرتے ہیں؟ کالموں میں اسے باہر طباعت. جی ہاں، بالکل. یہ صرف میں ٹائپ کریں کہ لفظ طباعت ایک کالم، فی سطر ایک کردار. لہذا یہ پھر سے دیکھتے ہیں. تو سٹرنگ بناتے ہیں. ٹھیک مرتب کردہ. . / سٹرنگ. مجھے ایچ ای ایل ایل اے میں ٹائپ کرتے ہیں، درج کریں، اور بے شک میں، فی سطر ایک اسے حاصل. تو مجھے یہاں ایک اصلاح کرتے ہیں. آپ کو خاص طور پر اگر اس کے بارے میں سوچتے ہو تم سے پہلے، وہاں پروگرام ہے لائن 24 میں arguably ایک اکشمتا. دوسرے الفاظ میں، یہ ضروری نہیں ہے بہترین ڈیزائن. براہ راست، کم از کم تم نے ایک بار STR leng کیا ہے یاد ہے، لیکن یہ ہے ممکنہ طور پر گونگا کچھ کر رہی. یہ کیا ہو سکتا ہے؟ [اشراوی]. بالکل ٹھیک. یہ ے کی لمبائی کے لئے جانچ پڑتال ہے ہر ایک وقت اگرچہ ایچ ای ایل ایل اے نے ہمیشہ جا رہا ہے پانچ حروف کا ہونا ہے. اس لوپ کے ذریعے ہر بار، پانچ کو تبدیل نہیں ہے. مجھے incrementing، لیکن کیا ہو سکتا ہے ہر ے کی لمبائی ہے اس لوپ کے iteration؟ یہ پانچ ہے، یہ پانچ ہے، یہ پانچ ہے، اور ابھی تک میں نے باوجود اس سے پوچھ رہا ہوں بار بار اور دوبارہ سوال. اب واضح طور سے، کمپیوٹر تو لات ہے روزہ، کوئی ایک نوٹس جا رہا ہے اس معاملے میں فرق، لیکن اس قسم کے غریب ڈیزائن کے فیصلوں کے کر سکتے ہیں سنکلک خود اگر اپ شامل کرنے کے لئے شروع کریں آپ کے لئے اس کو ٹھیک کرنے کی کوشش نہیں کرتا جو یہ عام طور پر، نہیں کرے گا آلے میں کم از. تو میں نے ایسا کرنے جا رہا ہوں. میں نے کے بعد ایک کوما شامل کرنے کے لئے جا رہا ہوں میری پہلی متغیر، میں. میں اپنے آپ کو ایک دوسرے کو دینے کے لئے جا رہا ہوں متغیر، صرف کی طرف سے ہے، یہ بلا ن پھر نمبروں کے لئے کنونشن، اور میں ہوں سٹرنگ کی قدر (ن) تفویض کرنے والا ے کی لمبائی. اور پھر میں تبدیل کرنے کے لئے جا رہا ہوں میری حالت کیا ہو ہے؟ میں نے اپنی حالت کو تبدیل کرنے جا رہا ہوں میں (ن) سے بھی کم ہے جبکہ کرنے کے لئے. تو اب، میں کتنی بار ہوں ے کی لمبائی کی جانچ پڑتال؟ ایک بار، لیکن اس کے خلاف میں چیک کرنے کے لئے ٹھیک ہے (ن) بار بار ان لوگوں کو اب اس وجہ سے اقدار کو تبدیل کرنے کے اصل میں نہیں ہیں. اب کے لئے، صرف جانتے ہیں کہ آپ کو کسی بھی وقت ایک تقریب کہتے ہیں، تھوڑا سا ہے آپ کی حوصلہ شکنی کرنے کے لئے اوور ہیڈ، کافی نہیں واقعی سے کبھی کام کرتا ہے کا استعمال کرتے ہوئے، لیکن کوڈ کی ایک لائن ہے یقینی طور پر جب اس طرح - اور لائنز مل جائے گا طویل عرصے سے اس سے پہلے زیادہ دلچسپ - جہاں اگر سوچنے کے لئے ایک موقع ہے، میں اس کوڈ ٹائپ کریں، کتنے یہ اوقات عملدرآمد کرے گا؟ آپ کو وقت کے ساتھ دیکھنے کے لئے شروع کریں گے اپنے پروگراموں کی کارکردگی کر سکتے ہیں بے شک میں تبدیلی. اصل میں، مسئلہ میں سے ایک ہم نے تعین کرتا ہے سال میں کیا ماضی شامل تم سے یاد کر سکتے ہیں کے طور پر، عمل درآمد ہفتے صفر، ایک ہجے پڑتال کار، لیکن ایک حمایت کرنے کے لئے ڈیزائن کیا گیا ہے کہ چیکر جادو میں 150،000 کی لغت پلس ہم نے تم لوگوں کو دے کہ الفاظ. آپ کو کوڈ لکھنے کرنا پڑے گا بوجھ RAM میں ان الفاظ، تو میں ہم جیسے خانوں کی سکرین پر ایک لمحے کے دیکھا آپ کے طور پر پہلے، اور پھر کے طور پر روزہ کر سکتے ہیں، آپ کو جواب دینے کے لئے قابل ہو جائے کرنے کی ضرورت ہے فارم کا سوال ہے، یہ لفظ ہے غلط ہجے شدہ؟ اس لفظ غلط ہجے شدہ ہے؟ اس لفظ غلط ہجے شدہ ہے؟ اور ہم کیا کچھ اس طرح میں سال میں کیا ماضی میں دیا گیا ہے ایک آپٹ میں اختیاری بنیاد، ایک پر اگرچہ قسم کی مقابلہ، جس کے تحت کم رام اور کم استعمال کرنے والے طالب علموں کو وقت، کم CPU سائیکل، ختم ایک چھوٹی سی کے سب سے اوپر تک bubbling رہنما بورڈ یا ہم پر ڈال دیا ہے کہ درجہ بندی ہم نے کے طور پر کورس کے ہوم پیج گزشتہ سالوں میں کیا. تو ایک بار پھر، مکمل طور پر اختیاری ہے، لیکن اس ڈیزائن کے مواقع پر خطاب کر رہے ہیں ایک بار آگے ہم شروع کر رہے ہیں ان میں سے کچھ اوپر کی تعمیر بنیادی عمارت بلاکس. تو میرے لئے اس تصویر پر واپس جانے دو صرف ایک لمحے اور تھوڑا ظاہر کچھ زیادہ. یہ واقعی ایک تار ہے، اور ہم کر لیا ہے چند لائبریریوں کا فائدہ، جو ہے سٹینڈرڈ io.h - Printf. Printf، دوسری باتوں کے علاوہ. INT ہو جاؤ اور سٹرنگ حاصل ہے جس cs50.h، اور تو آگے، string.h، جس STR leng تھا. ایک اور ابھی تک وہاں باہر لیکن یہ بدل جاتا ہے. سچ کہوں تو، بہت سے اور ہیڈر کے بہت سے ہے کام کرتا ہے کا اعلان ہے کہ فائلوں لائبریریوں کے لئے، لیکن یہ ctype.h ہے اصل میں کچھ ہونے جا رہا میں جا رہا ہوں کیونکہ فائدہ مند آگے بڑھو اور ایک لاگو کرنے کے لئے یہاں دوسرے پروگرام. مجھ سے آگے بڑھو اور کچھ کھول دو میں نے بلایا پیشگی میں لکھا capitalize.c، اور کی لے جانے دو یہ کیسے کام کرتا ہے پر ایک نظر. میں نے اس ورژن میں، استعمال کر رہا ہوں یہ نوٹس اس میں سے، تین واقف فائلوں. لائن 18 میں، میں ہوں یہ نوٹس متن کی ایک لائن مل رہا ہے. لائن 21 میں نوٹس، میں دعوی کر رہی ہوں کہ مندرجہ ذیل کوڈ جا رہا ہے صارف ٹائپ جو کچھ بھی، S فائدہ میں، اور کس طرح میں یہ کر رہا ہوں؟ ٹھیک ہے، میں لے جا رہا ہوں - سبق آخری بار سے سیکھا - میں میں اور مسلم لیگ ن کا اعلان اور iterating رہا ہوں سٹرنگ میں حروف سے زیادہ. اور پھر اس کے ٹکڑے کیا ہے 27 کے ذریعے لائن میں 24 کوڈ عام آدمی کی شرائط میں چل رہا ہے؟ واپس خط چھوٹے حروف. بالکل ٹھیک. اگر ے بریکٹ میں - اگر ایسا ہے تو میں ویں پاکستان کے کردار، جس کی وجہ سے مخصوص ہے سٹرنگ میں چار، سے زیادہ ہے کے برابر یا ایک چھوٹے اور - کہ ڈبل ایمپرسینڈ یاد مطلب رکھنا اور - اور ایک ہی کردار کے بریکٹ میں ہے Z خفی کرنے سے کم یا اس کے برابر، یہ ایک ایک یا ایک B یا ایک سی ہے یا مطلب یہ ہے کہ ڈاٹ، ڈوٹ، ڈوٹ، یا جس کا مطلب ہے ایک Z، یہ خفی ہے. میں اس صورت میں کیا کرنا چاہتے ہیں؟ ٹھیک ہے، میں کسی حد تک ایسا کر سکتے ہیں cryptically، لیکن کی اس کے علاوہ تنگ ہیں. میں printf فون کرنے جا رہا ہوں،٪ ج پرنٹ میں یہ دوبارہ پرنٹ کرنا چاہتے ہیں کیونکہ سکرین پر کردار. میں اس وقت کے بریکٹ میں لے جا رہا ہوں I-ویں ے میں کردار، اور پھر کیوں میں یہاں ہوں، اس چھوٹے سے ٹرک کر رہا ہوں ایک مائنس دارالحکومت ایک چھوٹے؟ کہ دینے کے لئے کیا جا رہا ہے آپ کے وزٹرز کا، عام طور پر خطاب کرتے ہوئے؟ [اشراوی]. بالکل ٹھیک. مجھے سچ میں یاد نہیں ہے - یہ دارالحکومت اے کے لئے 65 میں واقعی نہیں تھا ایک ہے خفی کیا یاد، لیکن کوئی بات نہیں. کمپیوٹر جانتا ہے. تو کہہ کر، ایک مائنس خفی دارالحکومت ایک، یہ ہونا عجیب بات ہے دوسرے سے ایک چار تفریق، لیکن ہڈ کے نیچے حروف کیا ہیں؟ وہ صرف نمبرز ہیں. ان لوگوں کی تعداد ہیں جو کچھ بھی تو، کمپیوٹر یہ یاد رکھنا چاہیے انسانی بلکہ مجھ سے. تو ایک ہے مائنس دارالحکومت خفی مجھے ایک فرق دینے جا رہا. یہ 32 ہونا ہوتا ہے، اور یہ کہ ہو جائے گا چھوٹے ب اور سرمایہ بی کے لئے کیس اور تو آگے. یہ شکر ہے کہ مسلسل رہتا ہے. میں بنیادی طور پر کہہ رہا ہوں تو کیا، لے خط خفی، کہ دور منہا کریں سٹینڈرڈ فرق، اور اس مؤثر طریقے سے تبدیلیاں کی بریکٹ میں سے بڑے، کورس کے، کرنے کے لئے چھوٹے، میری واقعی لگتا ہے کہ کرنے کے لئے بغیر کے بارے میں یا یاد رکھیں، ان لوگوں کو کیا تھے جب آٹھ کے بارے میں ہم نے بات کی تعداد رضاکاروں اسٹیج پر آئے؟ یہ نہیں ہے اب دریں اثنا، اس کے علاوہ میں، اگر تعین کے طور پر ایک چھوٹے خط لائن 24 کی طرف سے، صرف اسے باہر پرنٹ. میں صرف چھونا چاہتی ہوں تھے حروف دراصل اصل میں چھوٹے. تو یہ دیکھتے ہیں. فائدہ بنائیں. مرتب کردہ، ٹھیک ہے. . / فائدہ. اور مجھے ایچ ای ایل ایل اے میں ٹائپ کرتے ہیں چھوٹے میں، درج کریں. اور یہ تبدیل کیا جاتا ہے کہ متعلقہ بڑے حروف میں. میرے ساتھ ایک بار پھر یہ نہیں کرنے دو ایک مختلف لفظ. کس طرح D-A-V-میں ڈی ڈی کے ساتھ کے بارے میں سب سے پہلے ایک نام کے طور پر عام طور پر بڑا ہے؟ درج کریں. یہ اب بھی درست کے نوٹس. یہ صرف ہے کہ سب سے پہلے ڈی میں کوئی تبدیلی نہیں outputted کہ کسی اور کی تعمیر کے ذریعے. تو ایک، تو، ذہن میں رکھیں یہاں چیزوں کے جوڑے. کیا آپ نے کبھی دو چیک کرنے کے لئے چاہتے ہیں تو ایک، ایک ہی بار میں حالات، آپ کر سکتے ہیں اور ان ہم نے پیش گوئی کی ایک دوسرے کے ساتھ کے طور پر. آپ کو اس راہ میں حروف موازنہ کر سکتے ہیں اور مؤثر طریقے سے حروف کے طور پر کا علاج نمبرز، لیکن واضح طور سے، یہ کتنا لات ہے خفیہ مجھے یاد ہے کبھی نہیں جا رہا ہوں شروع سے اس کے ساتھ آنے کے لئے کس طرح کافی کے لئے اس کے ذریعے استدلال کے بغیر وقت کا تھوڑا سا. یہ اچھا نہیں ہوتا اگر کسی کو باہر ہے کہا جاتا ہے ایک تقریب وہاں لکھا کہ یا سچ میرے لئے جواب کر سکتے ہیں کو کم جھوٹے، اس کردار خفی ہے؟ ویسے شکر ہے کہ جس نے بھی لکھا ہے ctype.h بالکل وہی کیا. مجھے یہاں جانا اور سی کے لئے ctype شامل کرتے ہیں اقسام، اور اب مجھے یہاں نیچے چلتے ہیں اور اس لائن کے طور پر مندرجہ ذیل ہے دوبارہ سے لکھنا. یہ کہا جاتا ہے تو کم ہے، میں دعوی، S بریکٹ میں، تو میں حذف کرنے جا رہا ہوں مجموعی طور پر ان دو لائنیں. تو اب کسی اور، میں امید کر رہا ہوں، لکھا تھا نامی ایک تقریب میں کم ہے، اور یہ انہوں نے کیا اور انہوں نے اعلان کر دیا باری باری باہر یہ ctype.h کے اندر. اور اب میں لائن 27 کو چھوڑ کر جا رہا ہوں تنہا، میں لائن 31 کو چھوڑ کر جا رہا ہوں اکیلے، لیکن میں نے کتنی نوٹس اپنے کوڈ کو سخت. اب یہ صاف ستھرا ہے. اس کے ذریعے دیکھنے کے لئے کم مشکل ہے اب تقریب، اس کے علاوہ ہے، کیونکہ اتنی حیرت انگیز یہ صرف کا نام یہ کیا کہتا ہے. تو اب میں اس کو بچانے کے لئے جا رہا ہوں. میں باہر زوم کرنے کے لئے جا رہا ہوں. اور تم کر سکتے ہیں صرف سکریچ میں کے طور پر Booleans، بولین اقدار سچ ہے یا جھوٹے، کہ بالکل وہی جو ہے مؤثر طریقے سے واپسی کو کم. مجھے recompile ہیں. مجھے دوبارہ چلنے والے ہیں. اور اب، کی ایک بار پھر کوشش کرنے دو ایچ ای ایل ایل اے، درج کریں. وہ کافی اچھا ہے. اور اسے دوبارہ کرنے کی کوشش کریں، میں بات کو یقینی بنائیں کچھ بگاڑ نہیں کیا. وہ ساتھ ساتھ پونجیکرت ہے. لیکن یہ کافی اچھا نہیں ہے کیونکہ میں نے کبھی نہیں جا رہا ہوں کہ دوسری بات یہ ہے میں واقعی میں اس کے ذریعے کام کرتے ہیں جب تک یاد احتیاط سے پر، کا کہنا ہے کہ اخبار ہے اس لات لائن. وہاں تھے تو یہ اچھا نہیں ہو گا اوپری کرنے کے لئے فون ایک تقریب؟ ویسے یہ وہاں باہر کر دیتا ہے ساتھ ساتھ ctype.h میں ہے. میں آگے بڑھو اور ٹائپ کرنے جا رہا ہوں - مجھے اس لائن کو واپس لانے ہیں. اس کی بجائے اس کے یہاں سے، مجھ سے آگے جانے اور، کا کہنا ہے کہ٪ ج کا متبادل کرنے کے لئے اس تقریب میں بلا کا نتیجہ ے کے I-ویں کردار پر اوپری. اور اب یہ محسوس ہو رہا ہے تھوڑا متوازن. میں کتنے کا ٹریک رکھنے کے لئے ہے میں کھولی اور بند کر دیا ہے قوسین. تو اب یہ بھی صاف ستھرا ہے. اب اس پروگرام کے بہتر ہو رہی ہے اور یہ ہے کیونکہ بہتر arguably ڈیزائن بہت، بہت کچھ پڑھنے کے قابل ہے لیکن یہ کوئی کی درست چلو. فائدہ بنائیں. . / فائدہ. ایچ ای ایل ایل اے. چلو، اسے دوبارہ چلانے D-A-V-میں ڈی. ٹھیک ہے، تو ہم میں اب بھی ہیں شکل بہت اچھا. لیکن اب اوپری کرنے کے لئے. مجھے ایک اور بھی ہے کہ تجویز ادائیگی ہم کہ ہو جائے گا کر سکتے ہیں واقعی بہت سخت ہو سکتا ہے، واقعی بہت اچھا اس کوڈ کو اپ اور واقعی ہمیں پانچ دے مثال کے طور پر ڈیزائن کے لئے پانچ، سے باہر. سے چھٹکارا حاصل کرنے کے لئے اچھا ہو گا کیا؟ ٹھیک ہے، میں کس طرح لات طویل اس کے ٹکڑے نظر آتے ہیں کوڈ سادہ کچھ کرنے کے لئے بس ہے. اب ایک طرف، آپ ہو سکتا ہے کے طور پر کے طور پر اس کے ماضی کے سپر سیکشن میں دیکھا ہفتے کے آخر میں، آپ کو سختی سے کی ضرورت نہیں ہے گھوبگھرالی منحنی خطوط وحدانی آپ کو صرف ایک ہے جب ہم نے تجویز پیش کی کہ اگرچہ کوڈ کے لائن، یہ زیادہ سے زیادہ کرتا ہے تاکہ ان کو مدنظر رکھتے ہوئے خروںچ ہے یو کے سائز کی طرح، زیادہ واضح بلاکس، شاخ کے اندر کیا ہے. اوپری پر لیکن اگر یہ اچھا نہیں ہو گا اس کی ان پٹ دی تو میں تبدیل کر دیا یہ نہیں ہے کہ اگر بڑے اور جو کرے گا برعکس صورت میں بہت اچھا ہو اگر یہ پہلے سے ہی بڑے ہے؟ بس کے ذریعے منتقل اور اکیلے ہی چھوڑ دیں. تو شاید یہ کرتا ہے. میں نے کرنے کی کوشش کریں اور صرف امید کر سکتے ہیں یہ، لیکن مجھے کرتا ہے ایک اور چیز کو متعارف کرانے. اس کی بجائے اس کے بلٹ میں ٹرمینل کا استعمال کرتے ہوئے کی کھڑکی کے نیچے یہاں، یاد ہے کہ یہ مربع سیاہ آئکن آپ کو ایک دیتا ہے میں نے مکمل کر سکتے ہیں بڑی ٹرمنل ونڈو اگر میں چاہوں نمائش؟ تو یہ وہ طرح کی عجیب ہو باہر کر دیتا ہے کا نام دیا گیا، لیکن کہا جاتا ہے ان چیزوں کو نہیں ہے آدمی کے صفحات، دستی صفحات، مختصر کے لئے آدمی، اور میں ان کی طرف سے رسائی حاصل کر سکتے ٹائپ آدمی - میں کیا ٹائپ کرنا چاہتے ہیں؟ اوپری انسان. ایک وہاں موجود ہے اور اگر اب نوٹس میں، کمپیوٹر کے اندر کام اس کیس صرف ہے جو آلات، آپریٹنگ سسٹم لینکس، چل رہا ہے میرا ایک کسی حد تک خفیہ سیٹ دینے کے لئے پیداوار، لیکن آپ کو وقت کے ساتھ تلاش کر لیں گے کہ یہ ہمیشہ بہت زیادہ فارمیٹ کیا جاتا ہے وہی تو آپ کو یہ کرنے کے لئے استعمال کرنے کے لئے شروع. اوپری کرنے کے لئے سب سے اوپر دیئے نوٹس، اور بظاہر اسی دستاویزات ہے کم کرنے کے لئے. یہ کچھ کاٹنے کی گئی تھی جس نے لکھا تھا کونے کونے اور ایک صفحے پر یہ سب ڈال دیا. یہ چیزیں 'مقصد میں زندگی تبدیل کرنے کے لئے ہے اوپری یا خفی کو خط. آدمی کے صفحہ، خلاصہ کے تحت یہ نوٹس میں نے جو فائل مجھے سکھا رہی ہے اس بات کو استعمال کرنے کے لئے شامل کرنے کے لئے. یہ میرے ان کے لئے دستخط دے رہا ہے کام کرتا ہے، ان دونوں، یہاں تک کہ ہم ابھی صرف اگرچہ ایک پرواہ. یہاں اب ایک وضاحت ہے. اوپری کو خط بدلتا ہے اگر ممکن ہو تو سی بڑے پر. پھر بھی شکنپرد، لیکن مجھے نہیں ہے کہ اب واپسی قیمت کے تحت بات نظر کہ واپس حوالے کر دیا ہے. تو لوٹ آئے قدر ہے کہ تبدیل خط یا ج تو تبادلوں سے ممکن نہیں تھا. ج کیا ہے؟ اصل کردار. اصل کردار اور ہم جانتے ہیں کی طرف سے، ایک بار پھر، کرنے کے لئے جا رہی ہے کہ خلاصہ، اور جو اس میں لکھا تقریب صرف فیصلہ کیا ہے کہ ان پٹ کرنے کے لئے اوپری اور کم کرنے کے لئے صرف یہ ہے منمانے ج بلایا جا رہا. انہوں نے اسے سب سے زیادہ کچھ بھی بلا سکتی تھی وہ چاہتے ہیں، لیکن انہوں نے اسے رکھ C کے طور پر آسان ہے. تو میں نے انسان پیج مشورہ کیا ہے. یہ سزا مجھ reassures کہ اگر یہ ایک چھوٹے خط نہیں ہے، یہ ہے صرف یہ ہے جو کہ C، مجھے واپس دینے والے میں سے چھٹکارا حاصل کر سکتے ہیں جس کا مطلب ہے کامل، میرا کسی شرط. تو مجھے GEdit واپس چلتے ہیں، اور اب مجھے صرف یہ کرتے ہیں. میں اپنے printf بیان کاپی کرنے کے لئے جا رہا ہوں. میں آگے اور حق کے اندر جانے کے لئے جا رہا ہوں لوپ پرنٹ کے لئے کہ، اور ملے تعمیر تو اب کے اس پورے چھٹکارا. ایک برا خیال نہیں تھا، اور یہ بہت تھی زیادہ سے زیادہ درست اور کے ساتھ مطابقت ہم تبلیغ ہے سب کچھ، لیکن صرف ضروری نہیں. جیسے ہی آپ کو کچھ لائبریری احساس کے طور پر تقریب کے علاوہ کہ کسی موجود ہے لکھا تھا، یا شاید تم کسی اور جگہ میں لکھا فائل، آپ واقعی اسے استعمال کر سکتے ہیں کوڈ کو سخت کرنے کے لئے شروع. اور میں اچھے سٹائل کی طرح باتیں کرتے ہیں، اس شخص کو کہا جاتا ہے حقیقت یہ ہے کہ ہے پہلے اوپری، یا کام کم حیرت انگیز مفید ہے کیونکہ وہ بہت وضاحتی ہو. آپ اپنے افعال کو فون کرنے کے لئے نہیں چاہتا ہے جس میں x اور y کیا اور Z، بہت، بہت کم معنی. اس سیریز پر کوئی سوال بہتری کی؟ تو اس میں سے ایک کا کہنا ہے کہ یہ کافی takeaways بھی آپ کے اپنے مسئلے کے طور پر ہے سیٹ - شاید مسئلہ ایک سیٹ، لیکن یقینی طور پر پی بھی دو اور آگے، مقرر وہ درست ہیں، جب ضروری نہیں کرتا وہ صرف کامل ہیں مطلب ابھی یا خاص طور پر اچھی طرح سے ڈیزائن کیا. اس پر دوسرے محور ہے کے بارے میں سوچ شروع. تو یہ آپ کی ایک سٹرنگ کے اندر تھا آپ کو ایک کر کے کمپیوٹر کی میموری، لیکن اگر ایچ ای ایل ایل اے کی طرح حروف کی پورے گچرچھی RAM کے اندر، اور فرض آپ کو اپنے پروگرام میں سٹرنگ حاصل فون ہے کہ اس طرح آپ کو اس میں ایک سے زیادہ بار اگر آپ کو ایک بار سٹرنگ حاصل کال دوبارہ سٹرنگ حاصل کال کریں. ٹھیک ہے، کیا جا رہا ہے وقت کے ساتھ ہو؟ دوسرے الفاظ میں، آپ کی ایک سطر ہے تو جیسا کہ سیاق و سباق کے کوڈ، تاہم باہر، سٹرنگ کا ہو جاتا ہے - یہ کرتے ہیں. سلک کا نام سٹرنگ حاصل برابر ہے. تو کوڈ کے اس لائن مراد ہے فرض اس کا یا اس کا نام یوزر کے پوچھنا. کوڈ کا یہ اگلی لائن پوچھنا مراد ہے اس کا یا اس اسکول کے لئے صارف، اور یہ اگلی لائن، اور تو آگے. ہم پوچھتے رہتے کہ مان لیں دوسرے کے لیے صارف اور ایک اور اور ایک اور سٹرنگ. وہ یاد میں رہنے کے لئے جا رہے ہیں ایک ہی وقت میں. ایک دوسرے clobber نہیں جا رہا ہے. سکول دیگر ادلیکھت نہیں ہے. لیکن وہ سب کے سب کہاں کرتے ہیں یاد میں ختم؟ اچھا، ہم سکرین پر اپنی طرف متوجہ کرنے کے لئے شروع ہو، ہم اس چیز کو استعمال کر سکتے ہیں جس میں یہاں ایک چاکبورڈ کی طرح، اس سیاہ تو مستطیل میرے کمپیوٹر کی نمائندگی کرتا ہے میموری، میں منمانے شروع کرنے کے لئے جا رہا ہوں تھوڑا چوکوں میں اسے تقسیم، ہر ایک کی نمائندگی کرتا ہے جس میں سے میموری میں سے ایک بائٹ. سچ کہوں تو، آپ کو RAM کے ایک گیگا بائٹ ہے تو ان دنوں، آپ کو ایک ارب بائٹس ہے آپ کے کمپیوٹر میں میموری کی، تو ان چوکوں کی ایک ارب. تو یہ کہنا کہ یہ کافی بڑے پیمانے پر کرنے کے لئے واقعی نہیں ہے. لیکن ہم ان میں سے تمام ڈرائنگ رکھ سکتا واضح طور پر چوکوں پیمانے، اور اس کے لئے نہیں مجموعی طور پر کی نمائندگی کرتا ہے میرے کمپیوٹر کی میموری. اب ہم ڈاٹ، ڈوٹ، ڈوٹ کر صرف کریں گے. تو دوسرے الفاظ میں، جب میں اب فوری طور پر حاصل سٹرنگ کے ساتھ صارف نے مجھے دینے کے لئے سٹرنگ، کیا ہوتا ہے؟ اگر "ہیلو،" کہ ختم ہو جاتی ہے میں صارف کی اقسام اپ میں ایچ ای ایل ایل اے. لیکن لگتا ہے میں صارف پھر اقسام - اصل میں، میں نے ایسا نہیں کرنا چاہئے خوش ہم سے پوچھ رہے ہو کیونکہ ان کے نام کے لئے ان. تو میں ایسا کر سکتے ہیں اگر کی واپس چلتے ہیں. تو میرے نام کے لئے D-A-V-میں ڈی میں کی قسم، اگر لیکن یاد اس کی دوسری لائن کوڈ دوبارہ سٹرنگ حاصل کیا گیا تھا اپنے اسکول کے حاصل کرنے کے لئے. کہ لفظ کہاں ہے کہ صارف اگلے جانے والے کی اقسام میں؟ ٹھیک ہے، شاید اس میں جانے کے لئے جا رہا ہے H-A-R-V-A-R-D. میں نے تو اگرچہ دو لائنوں کے طور پر تیار کی، یہ صرف ہے آپ میں بائٹس کے پورے گچرچھی کمپیوٹر کی RAM. اب میں ہوں کیونکہ اگر ایک مسئلہ اب نہیں ہے یہ بہت مناسب میں رام کا استعمال کرتے ہوئے لیکن بولی راستے سے ترتیب دیں، کیا کر سکتے ہیں آپ بظاہر تمیز نہیں؟ ایک شروع ہوتا ہے اور کہاں کہاں ایک ختم ہو جاتا ہے، صحیح؟ وہ ساتھ میں blurring کی قسم ہیں. تو یہ کمپیوٹر کو باہر کر دیتا ہے ایسا نہیں ہے. مجھے اصل وقت میں واپس سکرال دو چند حروف، اور اس کی بجائے ہارورڈ کے صارف کے نام کے بعد فوری طور پر جا، صارف اصل میں پیچھے ہو جاتا ہے مناظر، ایک خاص کردار کی طرف سے داخل کردہ اس کا یا اس کے لئے کمپیوٹر. / 0، دوسری صورت میں nul کردار کے طور پر جانا جاتا annoyingly N-U-L کہا جاتا ہے، نہیں N-U-L-L، لیکن آپ اس کے طور پر / 0 لکھتے ہیں. یہ صرف تمام صفر بٹس ہے میں ایک مارکر ہے پہلا لفظ کے درمیان صارف کے ٹائپ اور دوسرا. ہارورڈ اصل میں اب ختم ہوتا ہے تو حروف کی اس ترتیب کے طور پر اور ایک اور / 0. ان ہونا تو دوسرے الفاظ میں، کی طرف سے پرہری اقدار، آٹھ ملحق صفر بٹس، اب آپ تمیز کرنے کے لئے شروع کر سکتے ہیں دوسرے سے ایک کردار. تو "ہیلو" ہے کیا یہ سب وقت اصل میں، A / 0 سے "ہیلو" اور دریں اثنا، وہاں شاید بہت اچھی طرح سے بہت تھوڑا سا زیادہ RAM ہو کمپیوٹر کے اندر. اب مجھے ایک دوسرے کام کرتے ہیں. یہ باہر کر دیتا ہے کہ ان چوکوں کے تمام ہم وہ کر رہے ہیں، جی ہاں، ڈرائنگ گیا ہے ڈور، لیکن زیادہ عام طور پر، ان چیزوں کے arrays ہیں. ایک سرنی صرف میموری کا ایک حصہ ہے کہ، واپس کرنے کے لئے واپس کرنے کے لئے واپس کرنے کے لئے واپس آ گیا ہے اور آپ کو عام طور پر راہ کی طرف سے ایک سرنی کا استعمال کرتے ہیں یہ مربع بریکٹ سنکیتن کی. تو ہم ان میں سے بہت تھوڑا سا کو دیکھنے کے لئے جا رہے ہیں وقت کے ساتھ، لیکن مجھے آگے جانے اور کھولنے، اس عمر کو فون کرتے ہیں. اور ہم کے ساتھ کیا کر سکتے ہیں نوٹس یہ ایک ہی چالوں، ایک چھوٹا سا یہاں تھوڑا اور نحو. لہذا اس پروگرام کی لائن 17 - اصل میں، مجھے پہلے پروگرام چلائیں دو تو ہم نے اس بات کو کیا کرتا ہے دیکھ سکتے ہیں. مجھ سے عمر بنانے کے فون کرنے دو اس پروگرام مرتب. . / عمر. کمرے میں کتنے لوگ ہیں؟ یہ تین کال کریں. پہلا شخص کی عمر؟ 18، 19، اور 20. اور اب کسی حد تک مضحکہ خیز ہے، میں صرف ایک پروگرام ہے کہ عمر کے ان لوگوں کو بنا دیا ہے تین افراد. تو ایک موقع واضح طور پر موجود ہے یہاں کچھ مزہ ریاضی کے لئے. شکر ہے، ریاضی کے صحیح ہے. 18 چلا گیا، 19 سے 19 چلا گیا 20 اور تو آگے. لیکن کیا واقعی میں ہونا ہے illustrative یہاں ہم محفوظ رہے ہیں کس طرح ہے ان تین لوگوں کی عمریں. مجھ سے کیا ہے پر میں زوم کرنے دو یہاں کیا ہو رہا. تو سب سے پہلے ان کی پہلی چند لائنوں چاہیے خوبصورت واقف ہو رہی. میں صرف یوزر کے فورا رہا ہوں کمرے میں لوگوں کی تعداد. پھر میں نے استعمال کرتے ہوئے INT ہو جاؤ اور ایسا رہا ہوں جبکہ بار بار بار یہ کرتے ہیں. ہم نے اس سے پہلے کہ پیٹرن دیکھا، لیکن ہے لائن 27 نئے اور اصل میں کافی ہے مفید، اور بن جائے گا تیزی سے مفید ہے. کیا لائن 27 میں مختلف ہے کہ نوٹس میں ایک اعلان کرنے کے لئے ظاہر یہ ہے کہ کہا جاتا عمر INT، لیکن انتظار کریں. یہ صرف INT عمر نہیں ہے. ان میں مربع بریکٹ، ہے جس کے اندر (ن) ہے. اس تناظر میں تو بریکٹ (ن)، نہیں لیکن یہاں ایک printf بیان کے اندر یہ واحد لائن 27 میں، اس لائن ہے ، مجھے ن ints دے، کہہ رہے ہیں جن میں سے ہر قسم INT ہے. تو اس کے، تو بات کرنے کے لئے، ایک بالٹی ہے اس معاملے میں، تین integers واپس واپس واپس تاکہ میں مؤثر طریقے سے تین متغیر ہے. متبادل، ہونا واضح ہے، یہ ہو جائے گا. میں چاہتا تھا تو سب سے پہلے طالب علم کی عمر، میں یہ کر سکتا ہے. میں چاہتا تھا تو دوسرا طالب علم کی سال کی عمر میں یہ کر سکتا ہے. میں چاہتا تھا تو تیسرے طالب علم کی عمر، میں یہ کر سکتا ہے. اور خدا نہ کرے کہ ہم سب کی ضرورت ہے اس کمرے میں عمر - میرا مطلب ہے، یہ کاپی کی ایک بہت کی ایک heck ہے، بار بار اور دوبارہ پیسٹ کریں. اور پلس ایک بار میں نے اس پروگرام مرتب ایک اور طالب علم باہر سے زائد چلتا تو اس دروازے کے، اب میرا نمبر متغیرات میں سے غلط ہے. تو کیا ایک سرنی کے بارے میں اچھی بات ہے ہے کے طور پر تم اپنے آپ کو محسوس کرنا شروع ہی کاپی اور چسپاں، مشکلات ہے کہ ہیں نہیں سب سے بہترین نقطہ نظر. ایک سرنی ممکنہ طور پر متحرک ہے. میں پیشگی کتنے لوگوں کو میں نہیں جانتے ، کمرے میں جا رہے ہیں لیکن میں ان میں سے (ن) کی ضرورت ہے جانتے ہو، اور میں کروں گا وقت آنے پر ن پتہ. کوڈ کی اس لائن کا مطلب اب، مجھے دے دو اس طرح لگتا ہے کہ میموری کا حصہ جہاں کی سکرین پر کے ڈبوں کی تعداد (ن) پر مکمل طور پر انحصار کرتی ہے کہ صارف رکنیت ٹائپ تو اب اس پروگرام کے باقی ہے کیا ہم اصل میں بہت اسی طرح کے صرف حروف کے ساتھ کیا تھا. میں لوپ کے لئے ایک ہے کا نوٹس لائن 30 میں شروع ہونے والے. میں سرنی مل جائے تو حق کے بعد، میں Y ن پر صفر تک برابر سے iterate. میں صرف یہ شکنپرد printf ہے پیغام صرف یہ کہہ کر مجھ سے عمر دے شخص کی #٪ میں، تو نمبر ایک، نمبر دو، نمبر تین. اور کیوں میں نے یہ کیا؟ سچ کہوں تو، انسانوں کو ایک سے شمار کرنے کے لئے ترجیح دیتے ہیں کمپیوٹر سائنسدانوں جبکہ اپ پر، اپ پر صفر. کمپیوٹر سائنسدانوں نہیں جا رہے ہیں اس قسم کے پروگرام کا استعمال کرتے ہیں، تو ہم ہیں صرف گنتی شروع کرنے کے لئے جا عام لوگوں کی طرح ایک میں. اور اب لائن میں 33، تھوڑا سا کا نوٹس نحو کے مختلف ٹکڑے. قسم کی ہے کہ متغیر میں I-ویں سال کی عمر سرنی ایک INT حاصل کرنے کے لئے جا رہی ہے. اور اب آخر میں، یہ صرف ہے یہاں ریاضی نیچے. میں دعوی کرنے کے لئے ایک علیحدہ لوپ میں فیصلہ کیا کچھ وقت اس میں اب گزر جاتا ہے، اور علیحدہ لوپ، ان لائنوں کو پھانسی. ، انسان میں اب سے ایک سال ہو جائے گا سال کی عمر میں، لیکن اگر اس نوٹس کے نہیں ہے میں متغیر. یہ اب٪ INT کے لئے میں ہے. پہلی پلیس ہولڈر کے طور پر اور نوٹس، میں میں پلس 1 میں پلگ ان ہے، تو ہم ایک طرح شمار عام انسان. اور پھر ان کی عمر کی قیمت کے لئے، کے لئے میں سال کی عمر میں، میں عمر کے بریکٹ لے I - اور کیوں میں یہاں ایک پلس کر رہا ہوں؟ وہ صرف عمر. یہ پروگراموں کے اپنے احمقانہ انتخاب ہے. وہ صرف ایک سال کی عمر. میں کسی بھی تعداد میں اس میں ٹائپ کر سکتے ہیں میں واقعی میں وہاں چاہتے ہیں. تو کیا واقعی تمام ہے یہاں مطابقت؟ اچھا، مجھے اصل میں واپس سکرال دو یہاں اور ایک تصویر پینٹ سامنے کیا. ہم نے اپنے اگلے کے ساتھ کیا کر رہے ہوں گے کیا مسئلہ یہ سیٹ دو dabbling ہے خفیہ نگاری کی دنیا. تو یہ حروف کی ایک تار ہے، تو ایک ایک سے زیادہ حروف کی ترتیب، اور کیا یہ کہتا ہے؟ یہ آن لائن ورژن میں نہیں ہے سلائیڈوں کی. تو میں نے ایک، یہ برابر کا دعوی ہے کہ کئی سالوں سے بیوکوف اشتہار پہلے اصل میں یاد کر سکتے ہیں اس کی اصل میں سے ایک. تو یہ خفیہ کاری کی ایک مثال ہے یا خفیہ نگاری. اگر تم چاہو تو یہ کہ باہر کر دیتا ہے دراصل معلومات یا بانٹیں بھیجیں محفوظ طریقے سے کسی کے ساتھ کے بارے میں معلومات اس طرح ایک پیغام کی طرح، آپ کر سکتے ہیں حروف جدوجہد. لیکن عام طور پر، الفاظ ہیں تصادفی scrambled نہیں. وہ کسی طرح سے permuted یا تبدیل کر رہے ہیں کچھ راہ میں تاکہ - اوہ. کہ اگلی بار کے لئے ایک مزہ بگاڑنے ہے. تو کیا تم بظاہر کیا ہے کا نقشہ کر سکتے ہیں کہ لائنوں کو بی نوٹس اے بڑے حروف تہجی کے اعتبار سے. بظاہر R ای بن جاتا ہے. بظاہر F-H-E-ر S-U-R-E بن جاتا ہے. تو یہ ایک تعریفیں ہے باہر کر دیتا ہے، اور میں اس کیس ایک بہت بیوکوف ہے کسی کو بھی یہ پتہ چل گیا ہے تو نقشہ؟ یہ کہا جاتا ہے سڑاند 13، 13 گھمائیں. یہ خفیہ کاری کے بیوکوفی ہے میکانزم یہ لفظی صرف اس وجہ سے ، حروف میں سے ہر ایک سے 13 کا اضافہ کر دیتی احساس میں پاگل ہے کہ آپ کو صرف تو آپ کے ہاتھ پر مفت وقت کے تھوڑا سا ہے اور ایک پنسل، یا اگر آپ صرف یہ سوچتے ہیں اپنے سر میں کے ذریعے، آپ کوشش کر سکتے ہیں تمام ممکنہ اضافے - ایک، دو، تین، ڈاٹ، صرف نقطہ، ڈاٹ، 25 پورے حروف تہجی باری باری دکھائے گا، اور آخر میں، آپ کو پتہ لگا لیں گے کیا یہ پیغام ہے. آپ میں کچھ اس طرح کیا ہے اگر ایسا ہے تو آپ کو پیغامات گزر گریڈ اسکول سب سے اچھی دوست، آپ کا گریڈ اسکول تو استاد صرف کے ذریعے پڑھیں پیغام اور جانور، حل پر مجبور کر دیا تم ہو ہو اس سے ایک جواب. اب کورس کے، حقیقی دنیا میں، خفیہ نگاری زیادہ بہتر ہے. یہ ایک سے متن کا ایک ٹکڑا ہے صارف نام اور ہے کہ کمپیوٹر سسٹم پاس ورڈ، تقریبا ہماری تمام کرتے ہیں، اور کے طور پر یہ کیا آپ اپنا پاس ورڈ سکتا ہے آپ کی ہارڈ پر محفوظ کیا جاتا ہے تو طرح نظر آتے ہیں لیکن مرموز شکل میں گاڑی چلانا. یہ حروف کی صرف ایک گردش نہیں ہے ایک ہے اور بی بی سی یہ ہے بہت زیادہ پیچیدہ ہے، لیکن یہ استعمال کرتا ہے عام طور پر خفیہ کلید کے طور پر جانا جاتا ہے خفیہ نگاری. یہ تصویر درج ذیل بتاتا ہے چند شبیہیں کے ساتھ کہانی. بائیں طرف، ہم نے کیا ہم سادہ متن کو بلاتا ہوں. خفیہ نگاری، سادہ کی دنیا میں متن صرف اصل پیغام ہے انگریزی یا فرانسیسی میں لکھا یا جو کسی بھی زبان. تم نے اسے مخفی رکھنا چاہتے ہیں تو، ہم گزر جائیں گے یہ pictorially ایک تالا کے ذریعے، تو الگورتھم میں سے کچھ کی قسم، کچھ تقریب کسی نے لکھا کہ یا پروگرام حروف امید ہے کہ scrambles مزید complicatedly سے صرف 13 کا اضافہ ان میں سے ہر ایک. آپ میں اس عمل سے باہر نکل کیا مشرق وہاں cyphertext کہا جاتا ہے. ایک سیکسی لفظ کے تو قسم. یہ صرف یہ مرموز کا مطلب سادہ متن کے ورژن. اور تم اسی راز ہے صرف اس صورت میں، 13 یا مائنس 13، کرنے کے لئے آپ کے قابل ہیں اس طرح بےرمز ایک پیغام. تو اس مسئلہ میں چیزوں کے علاوہ، دو سیٹ آپ ہیکر میں تو کروں گا ایڈیشن، آپ کو کوڈ لکھنے کرنا پڑے گا باہر figuring، ان پاس ورڈ کو ٹوٹ وہ کیا تھے اور وہ کس طرح تھے ہم کرتے ہیں اگرچہ مرموز، آپ کو تھوڑا سا دے راستے کی رہنمائی. سٹینڈرڈ ایڈیشن کا آپس میں ہم نے متعارف کرانے خفیہ کار کے ایک جوڑے، خفیہ کاری میکانزم، ایک کیسر، ایک ملاقات کی Vigenere کہا جاتا ہے، کہ اب بھی ہیں ایک ہو جاتا ہے جہاں گھورنی خفیہ کار کچھ، بی کچھ ہو جاتا ہے، لیکن آپ کو پروگرام کے یہ کرنا ہو گا بے شک ایک خفیہ نہیں ہوگی کیونکہ عام طور پر ایک بڑی تعداد ہے جو ملوث اہم یا ایک مطلوبہ الفاظ کہ صرف مرسل اور ان کے وصول کنندہ پیغامات کو سمجھنا چاہئے. اب، یہ اصل میں incarnations ہے حقیقی دنیا میں. یہ مثال کے طور پر، بہت کم یتیم ہے ینی کی خفیہ کوٹواچک رنگ، اور آپ اصل میں ان کو نافذ کر سکتے ہیں گھورنی خفیہ کار - ایک کچھ ہو جاتا ہے، بی ہو جاتا ہے کچھ - پہیے کے ایک جوڑے کے ساتھ، باہر ایک، اندر ایک اس طرح کہ آپ وہیل کو باری باری یا اگر رنگ، آپ اصل میں قطار کر سکتے ہیں مختلف حروف کے ساتھ حروف، ایک خفیہ کوڈ مل رہا. اور اس طرح آج کے لئے cliffhanger کے طور پر، کیا میں نے ایسا سوچا تھا کہ تھوڑا سا ہے throwback کہ آپ ٹی وی پر پھیر لیں 24 دسمبر، آپ دیکھ سکتے ہیں کے لئے فلم اشتھاراتی nauseum ایک قطار میں 24 گھنٹے. لیکن آج کے لیے، میں یہاں اسے کھولو گے اور ہمیں ایک میں سے صرف دو منٹ کرو pedagogically متعلقہ کرسمس کہانی Ralphie نامی ایک چھوٹا سا ساتھی کے ساتھ. [ویڈیو پلے بیک] ہونے یہ سب اور متفرق کہ نام سے جانا جاتا رالف پارکر اس طرح سے تقرر کیا گیا ہے ایک لٹل یتیم بچوں اینی خفیہ کے رکن دائرے اور تمام کرنے کا حق ہے اعزاز اور فوائد کیا واقع ہونے. ، لٹل یتیم بچوں اینی-دستخط کئے گئے. سیاہی میں، پیری آندری Countersigned. اعزاز اور فوائد پہلے سے ہی نو سال کی عمر میں. [ریڈیو پر چللا] چلو، اس کے ساتھ ملے ہیں. میں نے کے بارے میں تمام ہے کہ جاز کی ضرورت نہیں ہے اسمگلروں اور قزاقوں کی. کے لئے کل رات مدد سیاہ کے اختتامی ساہسک سمندری ڈاکو جہاز. اب، یہ ینی کی سیکرٹ کے لیے وقت ہے آپ کے ارکان کے لئے پیغام خفیہ دائرے کا. ، بچوں کو یاد رکھیں. ینی کی خفیہ سرکل کے رکن ہی ینی کی خفیہ پیغام وضاحت کر سکتے ہیں. یاد رکھیں، ینی آپ پر منحصر ہے. B2 کے لئے آپ کے پنوں مقرر کریں. یہاں پیغام ہے. 12، 11، 2 - میں میری پہلی خفیہ میٹنگ میں ہوں. -25، 14، 11، 18، 16 - پیئر عظیم آواز آج رات میں تھا. میں سمجھتا ہوں کہ آج رات کا پیغام بتا سکتا ہوں بہت ضروری تھا. -3، 25. کہ ینی خود کی طرف سے ایک پیغام ہے. یاد رکھیں، کسی کو مت بتانا. -90 اور بعد میں، میں نے صرف کمرے میں ہوں گھر میں جہاں نو کے ایک لڑکے پرائیویسی اور وضاحت کرنا میں بیٹھ سکتا ہے. آہا، بی میں اگلے کے لئے گئے تھے. E. پہلا لفظ "ہو" رہا ہے ایس. اب یہ آسان آ رہا تھا. U. 25. وہ آر ہے ، Ralphie پر آو. مجھے جانا ہے. -I'll، ٹھیک ہے نیچے ماں ہو. جی whiz. -T. او کرنا نہ بھولیں. کیا اس بات کا یقین ہو جائے؟ لٹل نظام ناشناس کیا تھا ینی کہنے کی کوشش کر؟ کیا اس بات کا یقین ہو جائے؟ -Ralphie، رینڈی جانے کے لئے مل گئی ہے. آپ کو باہر آنے دیں گے؟ -ٹھیک ہے، ماں. میں نے صحیح سے باہر ہو جائے گا. میں قریب اب ہو رہی تھی. کشیدگی خوفناک تھا. وہ کیا تھا؟ سیارے کی قسمت ہو سکتا ہے توازن میں پھانسی. -Ralphie، رینڈی کی جانے چاہیئے. -I'll کے لئے صحیح باہر ہو بلند آواز سے رونا. -تقریبا وہاں. میری انگلیاں اڑ گئے. میرا دماغ ایک سٹیل نیٹ ورک تھا. ہر تاکنا vibrated. یہ تقریبا واضح تھا. جی ہاں، ہاں، ہاں، ہاں، ہاں. آپ Ovaltine پینے کے لئے اس بات کا یقین ہونے. Ovaltine؟ ایک crummy تجارتی؟ کمینا. [END ویڈیو پلے بیک] اسپیکر 1: یہ CS50 ہے، اور یہ کہ مسئلہ دو سیٹ ہو جائے گا. اگلے ہفتے ملتے ہیں. اسپیکر 2: اگلے میں CS50، ایسا ہوتا ہے. اسپیکر 1: ہم نہیں ہے تو ایک موضوع اس طرح دور ہے کی طرف دیکھا تقریب میں اشارہ ہے کہ. اب، ایک تقریب پوائنٹر صرف یہ ہے ایک عوامی کا پتہ لیکن زیادہ سے زیادہ کی طرح تقریب، - ایک کا بیٹا -