[Powered by Google Translate] DAVID MALAN: یہ CS50 ہے، اور یہ 1 ہفتہ کے آغاز ہے. کیا ہم نے سوچا تھا کہ ہم کر سکتے ہیں آج واپس دیکھو تم میں سے بہت سے کچھ شاید کچھ کے لئے ماضی واک اب وقت ہوا اور تھوڑا سا واقف نظر ہو سکتا ہے. یہ چیز، ظاہر ہے، اس میں کیا ہے - سامعین: سائنس. DAVID MALAN: سائنس سینٹر. تو یہ اصل میں قدیم ترین کمپیوٹر میں سے ایک ہے 1940s سے واپس. یہ پہلے الیکٹرو کمپیوٹرز کی ایک تھا جو کہ خاص طور پر طویل کے قابل تھا، خود مسلسل سنگننا، اور کیا ہم واقعی میں دیکھنا سائنس سینٹر صرف اس بات کا ایک چھوٹا سا ٹکڑا ہے. کیا ہم نے سوچا کہ ہم تو کر سکتے ہیں ہے ایک ویڈیو میں واپس دیکھ لو جو کچھ وقت پہلے کیا گیا تھا، اس کو متعارف کرانا دنیا کی بات ہے. اور آپ کو موسیقی اور یقینا کہ آواز ان سے دیکھیں گے بہت خوش اوقات تھے. [ویڈیو پلے بیک] -A ریاضی اور میکانی مہارت کی فتح ہے ہارورڈ یونیورسٹی میں نئے خودکار کیلکولیٹر. ریاضی کے پیچیدہ مسائل کے ذریعے ڈال دیا ٹیپ پر کوڈ کی شکل میں مشین، درست طریقے سے ایک میں حل کر رہے ہیں وقت کے منٹ حصہ انسانی کے لئے ضروری حساب. کی تمام شکلوں کو تیز کرنے کے لئے ڈیزائن کیا ریاضی اور سائنسی تحقیق، وشالکای میکانی دماغ متحدہ کے لئے کام کریں گے جنگ کے اختتام تک بحریہ. DAVID MALAN: تو جو تم نہیں جانتے ہو سکتا ہے یہ ہے کہ یہ میں تھا یہ وہی آلہ ہے ایک ایسی اصطلاح ہے کہ ہم سب اب بہت زیادہ لے حاصل کی جاچکی کے لئے ایک مسئلے کے بنایا گیا تھا. تو انجینئرز کی ایک اس کمپیوٹر میں کام کر رہے لفظی مشین کے ایک چھوٹے سے moth کہ اس کے نتیجے مل کچھ غلط حساب میں. اور جیسا کہ کہانی جاتا ہے کہ moth یہ لاگ ٹیپ کیا گیا یہاں جریدے،، 9 ستمبر سے 1940 کچھ میں اور اس طرح دنیا کے لئے پیدا کی اصطلاح "بگ" کیا گیا تھا. تو آگے سے ہم کیڑے میں غلطیوں کا کسی بھی طرح کے پر غور پروگرام، چاہے مرد ہو تشکیل دے دیا گیا یا اس کیس میں، کیڑے. چند اعلانات تو، ہم کے طور پر آگے بڑھنے. تو CS50 پر قسم کی کھانا پیش کرنے کی روایت رہی ہے سمسٹر، جہاں ہم 30 لینے کے دوران سب سے زیادہ جمعہ آگ پر 40 طلباء اور آرام دہ اور پرسکون چوک میں آئس چیٹ، کمپیوٹر سائنس کے بارے میں بات، مستقبل کے بارے میں بات کرتے ہیں. ہم صنعت کی جانب سے سابق طالب علم اور دوستوں کو چیٹ کے لئے مدعو ساتھ ساتھ طالب علموں کو. واقعی بنانے کے ایک کافی بڑی کلاس کیا ہے کے آخر کی طرف تمام زیادہ انترنگ، کم از کم ایک بار میں کچھ دیر کے لئے طلباء کے ذیلی سیٹ. تو اگر آپ اس جمعہ ہمارے ساتھ شامل کرنا چاہتے ہیں، 1:15 PM، RSVP کے پر CS50.net/lunch. اور ہم ایسا recurringly گے، اگر ایسا ہے تو آپ نہیں ہیں میں فکر کرنے کی ضرورت نہیں تو پہلے یا 30 اس ہفتے کے درمیان. تو نمائندے نوٹ. وسائل پر ایک لفظ ہے جو دستیاب ہونے شروع ہو جائیں گے کلاس میں طالب علموں کو. جس سے کہ اپنے سروں کو لیکچر کے دوران نہیں کی ضرورت ہے نیچے سب کچھ scribbling میں کہتا ہوں اور وغیرہ، جو ہم کرتے ہیں بجائے تدریسی عملے سے فراہم ہے نوٹوں کی وہیت سیٹ. تو ہم ہماری تعلیم ساتھیوں میں سے ایک، اینڈریو Sellergren ہے، جو ہر ہفتے ليے بيٹھے، ویڈیوز کا جائزہ، اور پھر نیچے لکھتے ہیں جو ہم سوچتے ہیں کہ کافی ہے نوٹوں کی مستند مجموعہ. اور اینڈریو میں snarky پاورقیاں ڈالنے کے شوق، بھی، نیچے. تو آپ کے لئے ایک حوالہ کتاب کے طور پر یہ امید سے لطف اندوز ہوں گے تفریح، اور بھی وقت کوئز، ایک موقع کے طور پر جائزہ لینے کے لئے انفرادی لیکچر میں کیا ہوا تھا. لہذا ان لیکچرز کے صفحے پر جڑے ہوئے ہیں. مسئلہ 0 سیٹ، دوران، سے باہر ہے. اور آپ کے لئے دستیاب وسائل کے معاملے میں میں سب کچھ - walkthrough. Milo جمعہ کو پہلے کی قیادت کی. یہ فلمایا گیا تھا، ہفتہ کی طرف سے آن لائن ڈال دیا. اور ایسا ہے، تو احساس اگر آپ واقعی کو یقین ہے کہ کہاں سے شروع نہیں ہو، اس یا مستقبل P سیٹ کے لئے، ہمیشہ سب سے پہلے باری walkthrough یا ویڈیو اس. Sectioning پیشرفت کے مرحلے میں ہے، cs50.net/section میں جہاں آپ ہے آپ کی ترجیحات پیش، اگر آپ کو نہیں ہونا چاہئے پہلے ہی کی طرف سے آج. کیونکہ حصے اس آنے والے اتوار کو پیر کے روز سے شروع ہو جائے گا، اور منگل. ہم نے ان تین دنوں حصوں کرتے ہیں، ہر ہفتے سب سے زیادہ حصہ کے لئے سمسٹر. اور ہم بھی دوبارہ متعارف کرانے، مختلف ٹریکس. تو آپ اس sectioning فارم پر کہا جائے گا، اگر آپ اس نے دیکھا نہیں پہلے ہی، اگر آپ ان کم کے درمیان ہو آرام دہ اور پرسکون، آرام دہ اور پرسکون، یا کہیں درمیان میں ہے. اور اگر آپ باڑ کی طرح ہیں، عام طور پر کہیں کے درمیان ہے جو سب سے زیادہ طالب علموں کو ختم کی جانچ پڑتال. دفتری اوقات آج رات شروع کرتے ہیں. تو سکریچ کافی کم اہم ہے، اگرچہ یہ بہت قدرتی ہے مختلف کیڑے میں چلانے کے لئے، یا کس طرح کے طور پر غیر یقینی کچھ تو لاگو کرتے ہیں. تو احساس ہوتا ہے کہ ہم اس ہفتے کے دفتر گھنٹے شروع کر دیں گے. وہ Annenberg میں پیر، منگل، بدھ ہو جائے گا، جمعرات، 8:00 PM سے دماغ کے وقفے کے دوران 11:00 PM. بالائی classmen میں حاصل، اور اگر تم نے کبھی تکلیف ہو رہی ہے کر سکتے ہیں دروازے میں، کیونکہ وہ swiping جائے گی، صرف آپ کی طرح بات اور وضاحت آپ CS50 کے ساتھ ہیں. عام طور پر 20 30 عملے پر ہم وہاں میں مدد ملے گی آپ کو ایک پر ایک. پہنچنے پر خیال یہ ہے: آپ کو اپنے لیپ ٹاپ لے کر آتا ہوں، آپ اپنا چارجر پڑے گا، ہم نے اضافی بجلی cords پڑے گا، خاص طور پر جنوبی Annenberg کی دیوار کے ساتھ ساتھ جہاں بجلی کے آاٹلیٹ کی بہت ہے. اور مین انٹری دفتری اوقات Q & A کی طرف اشارہ جانا ہے cs50.net/discuss اور پوسٹ آپ وہاں سوال ہے. اور یہ pset 0 یا pset 1 کے ساتھ لیبل، جو ہفتے کا ہو سکتا ہے. اور پھر ہم کیا کریں گے تعلیم کے ساتھیوں کی میز ہے اور کورس کے معاونین، 8 عام طور پر یا ہم میں سے یا 10، سے گزر رہا ہے، بورڈ پر ایک چوکس نظر رکھنا، اور ، سوال plucking واقعی کے طور پر فوری طور پر کے طور پر ہم کر سکتے ہیں متعلقہ خطوط کرنے کے لئے آپ کو حوالہ دیتے ہوئے اگر آپ ان لوگوں کو نہیں مل سکا ہے کرو، مناسب طور پر آن لائن حوالہ جات. اور پھر اگر وہاں مسائل ہیں، کے طور پر لامحالہ وہاں ہوسکتا ہے، یا یہ صرف احساس کرتا ہے نیچے ایک پر ایک بیٹھ، کسی کے ساتھ مسائل کے ذریعے کام کرتے ہیں. یا آپ صرف دفتری اوقات میں واقعی آ اس ذہنیت کی ضرورت ہے. آپ الیکٹرانک فارم کے ذریعے جانے کے لئے نہیں کرنا چاہتے ہیں، تو آپ واقعی کسی سے ملاقات کرنا چاہتے ہیں. ہمیں رابطہ کریں، اور کیا ہو گا جب آپ سوال ایک عملے کے رکن کی طرف سے دیکھا ہے، اور ہم کا تعین، جی ہاں، اس میں سے ایک 20 یا رکھا جائے روانہ کیا جانا چاہئے 30 ٹیم یہاں کے ارکان کو مقامی طور پر، آپ کو سب سے اوپر نظر آئے گا اس کو چھوڑ دیا تھوڑا قطار کے بٹن درج کریں cs50.net پر چمکتا شروع ہوتا ہے / بات چیت. اور یہ تم سے کہہ رہی ہے کہ اب آپ کیا گیا ہے مدعو، تو ، قطار میں داخل ہونے سے بات کریں. اور اس بٹن پر کلک کرنے کی طرف سے، آپ کا نام تو دکھایا جائے گا ایک رکن ہے کہ CS50 greeter، کورس سر میں سے ایک، Annenberg کے داخلی دروازے کے قریب انعقاد، کون ہو تو یہاں کے طور پر دکھائے جانے والے تاثر ملتے ہیں، جو طالب علم پر سوالات ہیں بائیں، عملے کے ارکان جو دائیں طرف موجود ہیں. اور بائیں اور دائیں کے ایک کلک کے ساتھ، آپ کے ویب براؤزر میں جیسے ہی کے طور پر چمکتا ہے، مثال کے طور پر، پروفیسر McGonnagal شروع آپ کو Annenberg میں ایک خاص ٹیبل پر دیکھنے کے لئے کرنے کے لئے تیار ہے. تو ہم نے یہ آخری سال میں سے کچھ کیا ہے. ہم دفتر گھنٹے اور rebooted ہے سافٹ ویئر کی دوبارہ نافذ. تو احساس ہوتا ہے کہ یہ اس ہفتے گرم گا. لیکن گزشتہ سال میں بھی احساس ہوتا ہے، جیسا کہ تم نے سنا ہے ہو سکتا ہے دوستوں کی طرف سے دفتری اوقات یقینا 50 تھا 150 طالب علموں کو ایک ہی بار میں. اور صرف کے لئے ہمیں اس سے نمٹنے کے لئے ممکن نہیں مؤثر طریقے سے، شام بھر میں ایک پر ایک. اور تو کیا ہم واقعی میں اس سال کرنے کی کوشش کروں جا رہے ہیں حقیقت یہ ہے کہ بہت سے سوالات کا ایک فائدہ اکثر پوچھے جانے والے اور اکثر بہتر ہو سکتا ہے جواب دیا asynchronously. تو آپ کے بارے میں سوچتے عملے کے جواب کے ذریعے الگ الگ کر سکتے ہیں، اور ہم نے گرم کے بغیر اپنے کوڈ کے ذریعے لگتا ہے، کر سکتے ہیں ضروری جدوجہد کر کے دباؤ کے ذریعے پارٹی کی طرف سے کی طرف. تو ہم اندازہ ہے کہ سوالات کے تقریبا ایک تہائی یا نصف شخص میں روانہ کیا جائے گا، اور ہم کے طور پر جمع کرنے کی کوشش کریں گے نصف یا اس سے زیادہ الیکٹرانک کے طور پر بہت سے، دفتری اوقات کے دوران. اور ہم استعمال کرتے بحث جاری رکھیں گے ہفتہ بھر کے ساتھ ساتھ. اور آخر میں احساس ہوتا ہے کہ اس کورس / گزر ناکام نہیں کیا جا سکتا. تو اگر آپ کو باڑ پر صرف کی ہیں یا ان کا خیال ہے کہ تم سچ میں ہو اس بات کا یقین نہیں ہے اگر یہ آپ کے لئے دنیا ہے، یا یہ سچ ہے کافی غیر ملکی احساس ہوتا ہے کہ یہ ایک اچھا طریقہ ہے جس کے ساتھ میں قدم کچھ اعتماد حاصل کرنے کے کلاس، جیسا کہ میں نے واضح کیا ہے، سال پہلے. اور پھر پانچ ہفتے کے اعداد و شمار سے باہر حل کے لئے ہے اگر آپ کو / گزر ناکام رہنا چاہتے ہیں، اپنے آپ کو ایک خط میں تبدیل گریڈ، یا جیسے. اور عام طور پر کیا / گزر ناکام ہے، مجھے لگتا ہے، طالب علموں کے لئے ہے کہ، اگر تم کہ 10 گھنٹے، 20 گھنٹے، جو کچھ بھی میں ڈال دیا کچھ مسائل پر، اور آپ اپنے سر پیٹنے رہے ہیں کر سکتے ہیں دیوار کے خلاف اور تم واقعی میں کچھ پیچھا نہیں کر سکتے ہیں، اور آپ بہت سی دیگر چیزیں جو آپ کو کرنے کی ضرورت نہیں ہے، سکوئر میں کیا لگتا ہے گزر / ناکام ہے، برتری لیتا ہے دور اس طرح حالات. آپ بات کو کہاں لے جایا راستے سے 90 فی صد ہے. آپ جانتے ہیں، یہ بہت کامل نہیں ہے. لیکن آپ کو اس کی ایک بہت ہے، باوجود. تو ناکام / تمہیں دے کہ گزر غور ذہنی ماڈل ہے، شاید. ٹھیک ہے، تو گزشتہ ہفتے ہم نے شروع میں کبوتر، اور ہم ایک کافی زیادہ گرافیکل سطح پر پروگرامنگ کے بارے میں بات کی تھی. اور آج ہم ایک زبان منتقلی بنا C، کے سب سے اوپر پر ایک کم درجے کی پروگرامنگ زبان نامی جس میں بہت سے جدید زبانوں اب کچھ سمیت تعمیر کر رہے ہیں،، ہیں ہم مدت ختم ہونے کی طرف کا استعمال کریں گے. اور syntactically، کیا وہ طرح نظر آتے ہیں ہے بالکل اسی طرح ہے. تو اس منتقلی کو یہاں کرنا شروع کر دیں. تو یہ ایک پروگرام گزشتہ ہفتے یہ تھی کہ سب سے آسان تھا ہیلو دنیا پروگراموں. یہ صرف سکرین ہیلو دنیا کے ساتھ پرنٹ چھوٹی سی تقریر بلبلا بلی سے باہر آ رہے ہیں. ٹھیک ہے، اگر ہم اب شروع دوسرے اس ترجمہ زبان احساس ہوتا ہے کہ خیالات اور آج بدھ کے روز ایک جیسی ہیں، لیکن نحو تبدیل شروع ہوتا ہے. جبکہ گزشتہ ہفتے ہم نے، جب سبز پرچم پر کلک کیا ہے، کا کہنا ہے کہ ہیلو دنیا. آج ہم int، اہم، باطل، printf جا رہے ہیں، وہاں میں کچھ دوسرے نحو کے طور پر اچھی طرح سے کے ساتھ واپسی. گھوبگھرالی منحنی خطوط وحدانی، اور قوسین اور کوٹس، اور whatnot. لیکن احساس ہے کہ یہاں خیال کی بنیاد پرنٹنگ ہے، اور حقیقت یہ ہے کہ اہم اب جا رہا ہے بالآخر ایک پروگرام کے شروع ہونے کے ساتھ متبادل ہے. مین جہاں سبز پرچم چیزوں کک نے جا رہا ہے. تو اب ہم علاوہ عمارت بلاکس میں سے کچھ کو یہاں چڑھانا اس سے پہلے کہ ہم کچھ ٹھوس مثالیں میں کودو. یہ آخری ایک بیان ہفتے تو نے ہم سے ملاقات کی، جس کے تحت یہ صرف ایک ہدایات. یہ کیا - اس معاملے میں خوش دنیا کا کہنا ہے کہ. سی، اگر ہم صرف اس لائن پر دیکھتے ہیں، یہ ہے کہ ہم کس طرح ہیں اس مخصوص پہیلی ٹکڑا کے اظہار شروع کرنے جا رہا ہے: printf ("ہیلو دنیا")؛. اور اب ہم وقت کے ساتھ ان کے علاوہ زیادہ سے زیادہ چڑھاو گے، لیکن احساس ہے کہ یہاں ایک نمونہ ہے. ایک تو ہم اس printf سے ملاقات کی بات ہے، جو ہے بنیادی طور پر لفظ مطابق کہو. یہ ہے کہ وہ کیا کرنے جا رہی ہے. Printf ہے، کا مطلب ہے اور یہاں F "فارمیٹ". تو یہ صرف کا مطلب ہے کہ آپ کو داخل کر سکتے ہیں مختلف جمالیاتی تفصیلات. تو اقتباس unquote جو ہم جا رہے ہیں کے آغاز ہے ایک تار پر کال شروع کرنے کے لئے. ایک لفظ، ایک جملہ، ایک سزا ہے. سٹرنگ ایک پروگرامنگ زبان میں ایک صفر کی ایک ہی تسلسل ہے یا حروف. لہذا H E-L-L-O، کوما، اور وغیرہ ہے، اقتباس unquote، ایک تار. اور اب الٹا سلیش (ن)، ایک چھوٹا سا syntactically عجیب، لیکن ہم کہ گزشتہ ہفتے پہلے ہی کیا مطلب کے طور پر بیان کیا ہے؟ یہ صرف ایک نئی سطر ہے. یہ صرف کمپیوٹر پر پہنچانے کا ایک طریقہ ہے آپ چاہتے ہیں ہے وہاں درج کریں مارنے کے برابر ہے، لیکن آپ ایسا نہیں کرتے اصل میں اور اس وجہ سے کے تمام پنگا درج کریں مارنا چاہتا اپنے اصل پروگرام کے فارمیٹنگ. اب قوسین میں اس جملے کو بند کرنا، کھلی قوس اور بند قوس، اندر اور یہ کہ ہماری سٹرنگ ہے. کہ C، اور دیگر پروگرامنگ ہے کیونکہ زبانوں چیزوں printf دلائل لے جانا چاہتا، یا لے پیرامیٹرز. تو اب ایک کے طور پر اس جامنی کہا بلاک کی سوچ شروع ایک طریقہ کار کے طور پر کام، ایک طریقہ کے طور پر،. تم نے یہ واقعی فون اب آپ کے لیے جو بھی کرنا چاہتے ہیں، لیکن کر سکتے ہیں یہ ایک چھوٹا پروگرام ہے جو صرف ایک ہے کی طرح ہے کسی ایک لائن ہے، کوئی کم بات ہے. تو printf بھی ہے جو ہم ایک بلا شروع کرنے جا رہے ہیں اس معاملے میں میں سب کچھ - تقریب، اور کاموں کا کچھ کرنا فارمیٹ کی سکرین پر سٹرنگ پرنٹ - لیکن افعال بھی دلائل یا پیرامیٹرز لے. اور دلائل یا پیرامیٹرز کی طرف سے، آپ کا شکریہ، ہم مطلب ہے کہ ان کا رویہ کیا آپ میں گزر جائے متاثر کیا جا سکتا ہے اندر قوسین کی. تو اس معاملے میں، printf ضروریات سے کہا تھا کیا پرنٹ کرنے، اور ہم صرف میں ڈبل قیمت درج کرنے میں منتقل، یہاں، سٹرنگ کہ ہم اصل میں پرنٹ کرنا چاہتے ہیں. اور یہ لائن کے آخر پر نیم وقفہ صرف ایک ہے تاریخی پریشانی ہے، جس کے تحت کوڈ کے سب سے زیادہ لائنوں میں سے آخر میں سپر کمپیوٹر کو واضح کرنے کے لئے آپ کو ایک نیم وقفہ ڈال کہ کوڈ کے اس لائن یہاں ختم ہوتا ہے. اب یہ اچھا ہے کیونکہ ہم دیکھتے ہیں جب پروگراموں زیادہ ملے گا پیچیدہ، نیم وقفہ سپر واضح ہمیں انسان بنا دے گی، اور بھی کمپیوٹر، جہاں کوڈ کے شروع اور آخر کے لائنوں. احساس ہے کہ کچھ زبانوں کچھ نہیں ہے یہ وہی تفصیلات کے. اور جاوا سکرپٹ میں حقیقت میں، تم سے کچھ ہمیشہ نہیں کی ضرورت ہے نیم وقفہ طرح. آئے لیکن زیادہ سے زیادہ اس بات پر. تو loops. ہم نے کچھ اس طرح تھا، بہت intuitively، واضح، کیا بار بار بار کچھ. موزوں اورجرابوں پر تيل، یا ہیلو کہہ رہے ہو، اس صورت میں پسند ہے. ٹھیک ہے، C میں آج شروع کرنے کے، ہم اس سکریچ کا اظہار کر سکتے ہیں جبکہ بلاک (صحیح) printf ("ہیلو دنیا"). تو محسوس ہم لفظی پہیلی کی تعمیر شروع کر رہے ہیں پہلے سے ٹکڑا. ہم ایک ہی جامنی بلاک ہے، لیکن یہ اس کے اندر ہے bracketed ہمیشہ کے لیے بلاک، اور کہ ترجمہ کرنے کا بہترین طریقہ مندرجہ ذیل C ہے. کوئی ہمیشہ مطلوبہ الفاظ کی ہے. آپ کو صرف سی میں F-O-R-E-V-E-R ٹائپ کرسکتے ہیں تو قریب ترین مطابق جبکہ ہے. اب، جبکہ (صحیح) تھوڑا پاگل لگتا ہے کیونکہ قدر کرتا ہے سچ کبھی تبدیلی کا؟ شاید نہیں. جبکہ ایک کہہ رہے ہے، جبکہ، جبکہ سچ ہے. سچ ہے یہ سب ایک ہی بات ہے، ہمیشہ معاملہ ہے. تو یہ لوپ اصل میں کس طرح لوپ inducing ہے؟ صرف ایک لامحدود لوپ، ٹھیک ہے. ہمیشہ لوپ یا جیسا کہ ہم نے گزشتہ ہفتے کہا جاتا ہے، صرف ایک لامحدود لوپ. تو کبھی کبھی یہ تو بری بات ہے. کبھی کبھی کہ ایک بگ ہے، کبھی کبھی یہی وجہ ہے کہ تمہیں حاصل کتائی ساحل سمندر کی گیند یا hourglass یا کی طرح. لیکن اس صورت میں، ہم نے جان بوجھ کر، جو کچھ بھی کے لئے وجہ، ایک ہی بات کو دوبارہ پرنٹ کرنا چاہتا تھا اور بار بار. یا ایک گھڑی کی طرح کے معاملے میں، تم کیا کرنا چاہتے بار بار بار کچھ. تو لامحدود loops کا کوئی مطلب ہو سکتا ہے. اور یہ ہے کہ ہم کس طرح سی کوڈ ہمیشہ کے لئے ترجمہ کر سکتے ہیں. تو اب اس سے تھوڑا زیادہ مخصوص ہے. ہم نے 10 بار مندرجہ ذیل بیان اعادہ کیا تھا. سو (صحیح) وہاں کافی نہیں سے کام، کیونکہ سچ ہے ہمیشہ سچ ہے. لہذا اگر ہم C ورژن کی بجائے دیکھو، اب نحو ایک ہو جاتا ہے کچھ خفیہ. لیکن ایماندار ایک بار آپ کو یہ دیکھنے کے لئے شروع کرنے کے لئے، یہ سب ہو جاتا ہے بہت تیزی سے واقف ہے. تو یہ ہے جو لوپ کے لئے کہا جاتا ہے. لوپ کے لئے کچھ کرنے کے لئے ایک کمپیوٹر بتانے کی جا رہی ہے بار بار اور پھر جب تک یہ چیزیں سچ ہیں. اب کیا ہم اس سے کیا مطلب ہے؟ ٹھیک ہے، لوپ کے لئے ایک تین حصوں ہے، اور ہم جا رہے ہیں اصل کے تناظر میں اس پر واپس آنے ایک پل میں مثال کے طور پر. تو فکر نہیں اگر یہ تمام ایک بار میں بہت نہیں ہے ڈوب نہیں ہے. لیکن int میں = 0 ہے، طویل مختصر کہانی، اور کہا کہ مجھے ایک دو متغیر قسم عددی ہے، تو مجھے ایک نمبر دے میں نے فون کیا، اور 0 ابتدا. یہ ایک الجبری متغیر x کی طرح کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے متعلق دینا اور 0 ابتدا. لیکن ہم اس معاملے میں میں نے فون کیا. پھر وسط میں، اس کا کہنا ہے کہ میں سے کم 10 ہے. یہ کمپیوٹر کہہ کر کرتے ہیں مندرجہ ذیل چیزیں بہت طویل کے طور پر میں سے کم 10 ہے. اور ظاہر ہے اس سے کم 10 کیونکہ شروع ہوتا ہے یہ 0 سے شروع ہوتی ہے. پھر آخر میں، آپ کیا میں + ذرائع + شاید اندازہ لگا سکتا ہے. یہ نحو کے تھوڑا سا ہے کہ صرف میں اضافہ کا مطلب ہے. تو میں 1 کا اضافہ، بار بار بار. اور اس طرح ہے جیسا کہ ہم نے اس لوپ نظر آئے گا، اس نحو، بلکہ نافذ، خاص طور پر ایک ہی بات ہے کہ، صاف صاف، سکریچ صرف اس لئے تھا بہت آسان اظہار. 10 دہرائیں، اور تم نے کیا کیا کر رہے ہیں. C میں، اور سب سے زیادہ پروگرامنگ زبانوں میں، ہم نے ایک ہونا پڑے گا تھوڑا کمپیوٹر کے لئے زیادہ شکنپرد اور اصل میں کچھ اس طرح کی وضاحت کریں. لیکن ہمیں اور دیگر نحو پر واپس آ جائیں گے. متغیر کے بارے میں کیا ہے؟ شروع میں ہم ان اورینج رنگ کے بلاکس کی طرح کچھ تھا، میں جہاں ایک متغیر کا اعلان کر سکتے ہیں. چلو منمانے یہ انسداد کہتے ہیں. اسے 0 ابتدا، اور پھر ہمیشہ کے لئے دو کچھ کرتے ہیں. تو اس صورت میں میں نے شروع میں انسداد کہہ رہا ہوں، بلی ایک چھوٹی سی تقریر بلبلا ہے کہ بول رہا ہے جا رہا ہے تعداد اس متغیر میں ہے. اور پھر ہم نے 1 کی طرف سے تبدیلی کا انسداد ہے. تو یہ سب ہمیشہ لاک کے اندر لپیٹ ہے. اس لئے ہم نے پہلے سے ہی اب کے ساتھ C میں عمارت کے بلاکس جو اس کا ترجمہ ہے. ایک راستہ ہے جس سے ہم یہ کر سکتا ہے. مجھے ایک عددی دو، اسے جوابی کال. 0 ابتدا وہاں پہلی لائن میں. جبکہ (حقیقی)، تو میں صرف ایک لمحے سے اس خیال چوری کر رہا ہوں پہلے، آگے جاؤ اور مندرجہ ذیل کرو. انسداد پرنٹ کریں، اور پھر کاؤنٹر اضافہ پھر سے، اور پھر سے، اور پھر. یا پھر، + کا مطلب صرف + کچھ 1 شامل ہے. لیکن نحو کا ایک نیا حصہ یہاں ہے. کے طور پر کے درمیان ہمارے گزشتہ مثالیں نہیں کیا باہر کود ہے؟ جی ہاں، اس٪ D. تو شاید تم یہ کیا کر رہی ہے، واضح طور سے اندازہ کرنا، کی بنیاد پر کر سکتے ہیں کیا سکریچ بلاک کر رہا ہے. لیکن پھر سی، ہم صرف تھوڑا زیادہ خاص ہے یہ خود کا اظہار کرنے کے لئے جب آتا ہے. تو printf ("٪ D \ N"). سب سے زیادہ اس بات کا اچھی طرح ہم واقف دور پھینک کر سکتے ہیں. کی قیمت درج کرنے کا مطلب صرف اتنا یہ ایک تار ہے، الٹا سلیش (ن) صرف ایک نئی سطر ہے. تو صرف نئی چیز یہاں٪ D ہے. اور یہ ہے کہ ایک پلیس ہولڈر ہے. ٪ D ایک دشملو تعداد ظاہر کی جا رہی ہے. اور٪ D مطلب کمپیوٹر، ایک دشملو تعداد یہاں ڈال. ٹھیک ہے، کیا جس نمبر پر آپ سے وہاں ڈال کرنا چاہتے ہیں؟ ٹھیک ہے، جیسا کہ آپ شاید اندازہ کر سکتے ہیں، ہم کوما کے بعد کہتے ہیں انسداد دہشت گردی، جو ایک متغیر کے نام ہے کہ ہم نے اعلان کیا یا ہے ایک جوڑے کی لائنز پہلے پیدا کیا. تو اس میں ایک متغیر میں plugging C راستہ ہے کو متحرک طور پر سٹرنگ. کیونکہ اس کے برعکس کی طرف سے، اگر میں اس کی بجائے ایسا کچھ تھا کیا یہ printf ("کاؤنٹر")، یہ کیا کریں گے پروگرام کے بجائے، شاید کیا کرتے ہیں؟ "انسداد" لفظی پرنٹ کریں گے. جو کا اثر ہے کہ میں چاہتا ہوں نہیں ہے. میں کسی عددی قدر میں متبادل کی ضرورت ہے. تو ہم اس کے افعال دیکھ تو printf طرح کریں گے، نہیں لے جا سکتے ہیں ہی جیسے ایک دلائل، "ہیلو دنیا". وہ اقتباس unquote کوما لے اور پھر کچھ متغیر اس میں پلگ ان حاصل کرتے ہیں، جیسا کہ ہم گزشتہ سٹرنگ دیکھیں گے ان٪ نشانی جگہ دار کے ذریعے. ویسے بولین اظہار کے بارے میں کیا خیال ہے؟ بولین اظہار ان اقدار، صحیح یا غلط تھے. ہاں یا نہ. 1 یا 0. یا بند. تو انہوں نے شروع میں اس طرح نظر آئے، اور دیکھیں گے کہ نیچے یہاں بلاک اصل میں مل ہے دو چھوٹے بلاکس کی. تو میں قسم گھسیٹ لیا اور تین پہیلی ٹکڑے ٹکڑے کو گرا دیا مل کر کہ طویل پہیلی ٹکڑا وہاں بنانے کے لئے تاکہ میں خیال تک پہنچا جا سکتا ہے کہ میں X Y سے کم اور چاہتے ہیں Y Z سے کم ہو. اور اس میں مندرجہ ذیل کے طور پر ان دو الگ الگ لائنوں کا ترجمہ کر سکتے ہیں. اعلی سطح پر ایک بہت trivially رکھا جائے C پر ترجمہ کر سکتے ہیں، صرف کے ساتھ X صرف ہمارے کہنے کا طریقہ ہے، میں C دے، آپ کے وزٹرز کا ریکارڈ رکھا افعال ہے کہ کسی اور نے لکھا تک رسائی. اور اس معاملے میں میں پرواہ کیونکہ میں printf چاہتے ہیں. اب ہم int اہم (باطل) ملتا ہے. تو یہ ان چیزوں میں سے ایک ہے، واضح طور سے، کہ 0 دن بہت میں زون کے باہر کی قسم ہے، کیونکہ یہ صرف ہے نہیں دلچسپ ذہنی، نحو میں سے کچھ ہیں. لیکن اب کے لئے اس کے افعال کا علم، دوسری صورت میں کے طور پر جانا جاتا ہے طریقہ کار، یا طریقوں، عام طور پر کچھ قدر پیدا کرتے ہیں. وہ کچھ کرتے ہیں. انہوں نے ایک جواب کے ساتھ آتے ہیں. وہ پیداوار پیدا کرتے ہیں. تو int اگلے اہم کہنے کی صرف ہمارے آشلپی راستہ ہے کہ یہ پروگرام، اس عمل کو، بالآخر جا رہا ہے آپ کو واپس ایک نمبر دے. اور ایسا کیوں ہے، ہم واپس آ گے. مین صرف پہلے سے طے شدہ کے لئے پہلے سے طے شدہ عالمی معیار ہے تقریب سی کے ایک پروگرام میں پھانسی کب ہو رہا ہے آپ اسے چلاتے ہیں. اہم باطل صرف اس بات کا مطلب ہے کہ،، نہیں لیتا ہے اس کیس میں دلائل،. تو میں سپر واضح ہو رہا ہوں. وہاں کوئی ڈور ہے، کوئی کوما کی علامت نہیں ہے. باطل اہم کوئی دلائل نہیں کا مطلب ہے. اب آخر میں، شکر، گزشتہ دو لائنوں واقف ہیں. گھوبگھرالی منحنی خطوط وحدانی کے اندر ہم ایک printf ہے اور ہم نے ایک واپسی ہے. اور بدلے کی قسم بدقسمتی ہے کہ ہم پر ہے اسے وہاں رکھ، کیونکہ یہ اس صورت میں یہ سب نہیں کر رہا ہے دلچسپی کے زیادہ تر. لیکن ایک کمپیوٹر پروگرام میں، جب ایک تقریب میں 0 واپس اس کا مطلب ہے کہ سب کچھ ٹھیک ہے. کچھ غلط نہیں گیا. کے برعکس، اگر ایک تقریب 1، یا منفی 1، یا واپس منفی، 1.337، یا اس طرح کچھ بے ترتیب تعداد، کہ عام طور پر مطلب یہ ہے کہ میں ایک خامی اصل میں آگئی ہے. تو اگر آپ اپنے میک یا آپ کے کمپیوٹر پر ہو، اگر تم نے کبھی دیکھا ہے کچھ پریشان کن پیغام ہے کیونکہ آپ کے کمپیوٹر یا گر کر تباہ ہو گیا ہے منجمد، اور وہاں ایک پراسرار خرابی کا پیغام ہے، اور پھر کچھ کوڈ، جیسے نظام کا کوڈ 1،2،3،4، کچھ تعداد ہے جو عام طور پر ایک غیر ضروری تفصیل بتا ہے انسان ہم سب سے زیادہ، لیکن اس کا کیا کوئی تقریب یا کچھ ہے پروگرام اصل میں، ایک غیر صفر کی قیمت واپس آ گیا ہے. اور اس کا فائدہ یہ ہے کہ 0 ساتھ ساتھ کا مطلب ہے، تو آپ بنیادی طور پر وہ چیزیں ہیں جو ایک لامحدود تعداد ہے غلط جا سکتے ہیں. یہی وجہ ہے کہ وہ اچھے کے لیے 0 کا انتخاب کیا ہے اور ایک غیر صفر کی قیمت برا، جیسا کہ ہم جلد ہی دیکھیں گے. تو آگے بڑھو اور اس کے لکھنے. تو یاد ہوگا کہ دوسرے دن میں نے اپنے میک کا استعمال ایک کھولنے کے ٹرمنل ونڈو، اور پھر میں نے متن پروگرام کی طرح کھول دیا، TextEdit، اور میں کچھ کوڈ لکھنے شروع کر دیا. ٹھیک ہے ٹھیک ہے. لیکن آپ کے تجربے کو ایک میک پر مختلف ہو رہا ہے، یا ایک Solaris لینکس کمپیوٹر، کمپیوٹر، پر جو کچھ بھی آپریٹنگ نظام آپ کا استعمال کرتے ہوئے ہوا. اور اس کورس میں، جو ہم بجائے استعمال کرنے کے لئے کچھ ہے ملاقات کی CS50 آلات. تو CS50 آلات سافٹ ویئر کی ایک ڈاؤن لوڈ، اتارنا ٹکڑا ہے ہے کہ آپ کا آپریٹنگ کہا جاتا لینکس کے نظام کو چلانے کے لئے کی اجازت دیتا ہے ہے، خاص طور پر Fedora اپنے اپنے میک یا پی سی پر لینکس،. اور آپ کو کہا جاتا ہے hypervisor کچھ ڈاؤن لوڈ کی طرف سے یہ کرتے ہیں. تو اس کے مسئلہ 1 سیٹ میں تمام دستاویزی رکھا جائے گا. اور آپ کو جو آپ کو ڈاؤن لوڈ کرنے کی ضرورت ہے کی طرف ہدایت کریں گے. لیکن آخر نتیجہ، کہ کیا آپ میک یا PC ہے، آپ ہی ہیں کوئی مفت سافٹ ویئر ڈاؤن لوڈ، اتارنا. اس کے بعد آپ کو CS50 آلات ڈاؤن لوڈ، اتارنا، اور تمہیں یہ بتایا مفت سافٹ ویئر - hypervisor - CS50 آلات کو آپ کے کمپیوٹر پر ایک ونڈو میں چلائیں. اور یہ کیا ہوتا ہے ہے. میں اب یہاں نوٹس، ایک ڈیسک ٹاپ کیا ظاہر ہوتا ہے ماحول. اور آپ کے وزٹرز کا ریکارڈ رکھا اصل میں اس ایک ونڈو کو چھوٹا. تو یہ اب میرا میک ہے، ایک چھوٹی سی کھڑکی کے ساتھ، اور اندر اس ونڈو کو پوری طرح ہوتا ہے مختلف آپریٹنگ سسٹم ہے. درحقیقت اس شروع مینو نیچے یہاں ہے، کی یاد تازہ ونڈوز،، جس میں شامل ہے کہ ذیلی مینو کی ایک پوری چڑھانے ہے CS50 دستی، ڈراپ باکس، اور اس طرح کے لنک پر کلک کریں. اور کیا اس ماحول اب ایک معیاری ماحول ہے کہ اب ہم سب کا استعمال کر سکتے ہیں، تا کہ کوئی بات نہیں جو آپ کی کمپیوٹر ہے، جو آپ کو اس پر انسٹال کیا ہے، کیا ورژن میک OS یا ونڈوز آپ چلا رہے ہیں، اب ہم سب اسی ماحول. اور اب ہم اس ماحول میں کچھ کوڈ لکھنے شروع کر سکتے ہیں. تو کیا مجھے آگے جانا ہے اور کہا جاتا gedit پروگرام کو کھولنے جا رہا ہوں. یہ notepad.exe موازنہ ہے، یا میک پر TextEdit. اور یہ صرف ایک سپر سادہ متن میں ترمیم کے پروگرام ہے جو پہلی نظر میں اس طرح لگ رہا ہے. اب بہت سب سے اوپر، میں ایک سفید تختی ہے، میں نیچے دیے گئے اس سیاہ ونڈو jharvard @ آلات کا کہنا ہے کہ ہے. اور اس کے صارف اکاؤنٹ ہے جس وجہ سے ہم پہلے پیدا سب کے لئے جان ہارورڈ کہا جاتا ہے. وہ ایک فولڈر میں جہاں ان کی فائلوں کی سب جا رہے ہیں ہے، اور یہاں ہے جہاں ہم کچھ کوڈ لکھنے شروع کر سکتے ہیں. تو آپ کے وزٹرز کا ریکارڈ رکھا آگے یہاں جاؤ اور صرف تھوڑا سا میں زوم، اور میں کرنے جا # ، int اہم (باطل) شامل ہیں، اور تو میں printf کیا کرنے جا ("ہیلو دنیا") رہا ہوں ، واپس 0. اب یہ سب بہت سیاہ اور سفید ہے. مجھے آگے بڑھیں اور ایک بات gedit میں پڑھانے کے لئے کیا کرنا اصل میں کر رہی ہیں. مجھے کے طور پر محفوظ کرنے کے لئے جانا. میں نے بائیں ہاتھ کی طرف jharvard کرنے کا انتخاب کرنے جا رہا ہوں. تو پھر بھی اگر آپ کو لینکس کبھی استعمال نہیں کیا ہے اس سے پہلے، بے تکلفی ان دنوں، ان میں سے سب بنیادی طور پر میں devolving کر رہے ہیں انٹرفیس کی ایک ہی قسم - میک OS، ونڈوز، اور لینکس. تو میں jharvard گھر فولڈر یہاں کا انتخاب کیا ہے. اور میں hello.c کے طور پر اس فائل کو بچانے کے لئے جا رہا ہوں. تو بہت سب سے اوپر، میں hello.c ٹائپ، C نام ج توسیع. کے ساتھ پروگرام ہے عام کیا ہے. اور میں محفوظ مارا. اور اب جو اچھی بات ہے یہ ہے کہ میں مؤثر طریقے سے gedit سکھایا ہے، کہ یہ سی کے ایک پروگرام ہے. یاد رکھیں کہ میں سیاہ فام اور سفید فام متن ہے رنگ کوڈت، یا نحو پر روشنی ڈالی، جس میں صرف میری توجہ کرتی ہے پروگرام کے مختلف semantic حصوں. سب سے اوپر وہاں چھوڑ دیا، کے طور پر اپنے پروگراموں زیادہ پیچیدہ ہو جاؤ، میں ہوں چیزوں میں لکھا ہے میں سے سب سے ایک کے خلاصے کے ہیں. تو یہ بات ہے وہاں. تو اب مجھے باہر زوم اور اس ٹرمنل ونڈو نیچے جاؤ. تو یہ شاید بہت سے لوگوں پر نئے ہے. اگر آپ کو ایک کمانڈ لائن ماحول کو کبھی استعمال نہیں کیا ہے، آپ نے کبھی نہیں DOS استعمال کیا جاتا ہے، یا آپ کو لینکس کبھی استعمال نہیں کیا ہے، یا آپ کو کبھی نہیں کھولا ہے اپنے Mac OS ٹرمنل ونڈو، وہاں بہت سی چیزیں تم اس طرح کی طرف اشارہ کرتے ہوئے، اور پر کلک GUI کے ساتھ کر سکتا ہے، اور گھسیٹنے، اور گر، اور اس طرح، لیکن عام طور پر - بات کو یقینی طور سے کمپیوٹر سائنس کی دنیا میں - ایک کمانڈ لائن، جہاں آپ اپنے ماؤس کی ضرورت نہیں ہے کا استعمال کرتے ہوئے عام طور پر، آپ کو صرف اپنے کی بورڈ ہے، اصل میں ایک بہت کچھ ہے انٹرفیس سے زیادہ طاقتور ہے، ایک بار آپ کو acclimated جاتے ہیں مختلف حکم. اور آپ کی نشاندہی کی ضرورت سے آزاد خود طرح کے اور پر کلک کریں سب کچھ. تو ہم gedit میں ترتیب گے دونوں جہانوں کا سب سے بہتر ہے. ہم ھیںچیں اور ڈراپ متن کر سکتے ہیں، ہم اسے دیکھ سکتے ہیں اور رنگ کوڈت اچھا لگا. لیکن جب یہ وقت آئے گا تو اپنے پروگرام کو چلانے کے لئے، ہم کبھی کبھی کریں گے صرف اس چھوٹی سی ونڈو یہاں کا استعمال کریں. تو کیا مجھے آگے جانا ہے اور ایسا کرنے جا رہا ہوں. نیچے سیاہ اور سفید ونڈو میں، میں آگے جانے کے لئے جا رہا ہوں لکھنے اور بجنا. اور بجنا ایک سنکلک کے نام پر ہے. یہ ایک ایسا پروگرام ہے جو اپنے منبع کوڈ میں بدلتا ہے میں ایسا ہے، تو اعتراض کوڈ. 0s اور 1s، کہ ہم نے گزشتہ ہفتے مختصر طور پر دیکھا ہے. گزشتہ ہفتے سے یاد ہے، ہم سے وعدہ کیا تھا کہ ہم جا رہے تھے کچھ اس طرح سے چلے جاؤ - ہم کرنے کے لئے کی ضرورت ہے کچھ اس طرح - اور یہ یقینی طور پر نہیں ہے ایک ایسی چیز ہے کہ ایک انسان کا ہو رہا ہے دستی طور پر کرنا ہے. تو اس کے بجائے ہم ایک پروگرام کو استعمال کرنے کے لئے جا رہا ہے، کر رہے ہیں اور یہ کہ پروگرام میں اس صورت بجنا کہا جاتا ہے. اور اپنے پروگرام کا نام hello.c ہے. لہذا اس میں ماخذ کوڈ سے hello.c میں مرتب اعتراض کوڈ، 0s یا 1s، یہ صرف کافی چاہئے اور اس سے متاثرہ درج کریں. ٹھیک ہے، کچھ نہیں ہوا ہے. لیکن اب میں، یا گزشتہ ہفتے سے جانتے ہیں، کہ پہلے سے طے شدہ کے نام ایک پروگرام، جب C کے وزٹرز کا ریکارڈ رکھا جائے گا، حماقت a.out کہا جاتا ہے. سب سے زیادہ uninteresting نام آپ کے ساتھ آ سکتا ہے. حروف تہجی کا پہلا حرف ہے، کیا تھا outputted، لیکن تو. یہ میرا پروگرام ہے، اور اب ڈاٹ سلیش، ہم کے طور پر نظر آئے گا، اصل میں صرف سیکورٹی کی خاصیت کے ایک طرح سے، کیونکہ a.out ایک پروگرام ہے میں نے لکھا ہے. یہ اپنے کمپیوٹر کے ساتھ نہیں آیا تھا، پروگرام مسلیں میں نہیں. یہ میک OS درخواستیں فولڈر میں نہیں ہے. میں کمپیوٹر کے ساتھ سپر واضح کرنے کی ضرورت ہے، اور کہتے ہیں اس پروگرام a.out، موجودہ فولڈر میں ہے، موجودہ ڈائریکٹری. اور جس طرح آپ کو اس طرح کے ماحول میں اس کی نمائندگی کرتے ہیں ڈاٹ نمائندگی کرتا ہے کہ آپ نے جو کچھ بھی فولڈر میں اندر ہیں اور / صرف چلانے کے a.out کا مطلب ہے کہ موجودہ فولڈر میں. اور میں درج کریں، اور voila، میری بہت پہلے پروگرام کے ساتھ چلاتے ہیں. اب مجھے ایک قدم واپس لے لو. اس ونڈو کو تھوڑا چھوٹا ہے، اور احساس ہے کہ نیچے آلات کے یہاں چھوڑ ایک آئکن ہے. ایک کروم ہے، جو کہ بہت واقف ہو، صرف ایک ویب آلے کے اندر براؤزر. اور اس میں سیاہ فام اور سفید فام کی علامت صرف ایک ہے بڑے ٹرمینل دریچہ. اگر ایسا ہے تو اس کی ترتیب کے لئے ایک چھوٹا سا پریشان ہو جاتا ہے ہے ایک کھڑکی کے اس چھوٹے سے چھوٹا سا ٹکڑا جس کے ساتھ بات چیت پروگراموں کے ساتھ، ہم اس کی بجائے کر سکتے ہیں. اور اب مجھے جلد ہی کچھ ٹائپ کرنا شروع کریں واقف حکم. LS. تو LS لسٹنگ کے لئے حکم ہے. تو، تم میک OS یا ونڈوز میں عام طور پر ایک ڈبل کلک کریں گے اور پھر فولڈر، voila، آپ کو مختلف فائلوں کی سب دیکھ فولڈر اور ایک کمانڈ لائن ماحول، جہاں آپ صرف ٹائپ کر سکتے ہیں حکم یا متن، LS کے برابر ہے. تو مجھے اس ڈائریکٹری میں کیا ہے. اب سامان کا ایک گروپ یہاں ہے کہ دونوں ایک چھوٹی سی بات ہے واقف اور ایک چھوٹا سا مجریچت. نوٹس لیکن وہ صرف ونڈوز اور میک OS، jharvard کی طرح ایک ڈیسک ٹاپ فولڈر ہے. شبیہیں جو اپنے ڈیسک ٹاپ پر ہیں تو ہو اس فولڈر میں. ڈاؤن لوڈ فولڈر، سامان کو کروم وہاں ڈال سکتا ہے. ڈراپ باکس. تو آلات بلٹ میں ڈراپ باکس کی حمایت کے ساتھ آتا ہے تاکہ آپ ڈراپ باکس کے ساتھ آپ سمسٹر پر مطابقت پذیر کر سکتے ہیں اکاؤنٹ تاکہ اپنے تمام پروگراموں کے پشت پناہی کر رہے ہیں. وہ اپنے دوسرے کمپیوٹر پر قابل رسائی ہیں. اگر کبھی کچھ آلات کے ساتھ غلط ہو جاتا ہے، آپ یہ کر سکتے ہیں بہت آسانی سے ڈراپ باکس سے نمٹنے ہیں. تو اس فولڈر میں اس کے لیے وہاں ہے. hello.c - دو فائلوں ہے کہ میں نے اور a.out. اور پھر دائیں کسی دوسرے فولڈر ہے کہ ہم کریں گے سمسٹر کے اختتام کی طرف ویب کے ساتھ حاصل کرنے کے لئے، پروگرامنگ. تو جب مجھے کیا کرنا /. a.out، درج کریں یہ کہہ رہی ہے ڈائریکٹری میں، موجودہ ڈائریکٹری ہوں، اور چلانے پروگرام a.out وہیں سے ملاقات کی. ٹھیک ہے، تو یہ اچھا اور اچھی ہے، لیکن یہ سب نہیں ہے a.out مدد کہا جاتا پروگرام لکھنے پر مجبور ہے. تو ہم یہ اصل میں ایک مختلف کچھ کر سکتے ہیں. تو بجائے صرف چلانے بجنا hello.c، شامل کیا ایک کمانڈ لائن دلیل کہا جاتا ہے. تو ایک کمانڈ لائن کی دلیل، یا اس کیس میں ایک سوئچ، صرف ایک لفظ یا فقرہ ہے کہ آپ کو ایک فوری بعد ٹائپ پروگرام آپ کے چلانے کے لئے کرنا چاہتے ہیں. تو اس معاملے میں، بجنا پروگرام میں چلانا چاہتے ہیں، اے کا مطلب پیداوار ایک فائل ہے کہ اب کوئی a.out کہتے ہیں. آؤٹ پٹ فائل کہا ہیلو، اور مرتب کر کے ایسا کر لائن پر آخری لفظ، hello.c. تو مختصر میں، یہ ایک بہت ہی معمولی بہتری ہے، جس کے تحت اس stupidly نام فائل a.out ہونے کی بجائے، میں بجنا و ہیلو، پھر hello.c اب، کیا کر سکتے ہیں اور تو درج کریں مارو. کچھ نہیں ہونے لگتا ہے، لیکن پھر بہت 0 کے ساتھ پسند ہے - جب کچھ بھی نہیں ہو کہ اس کا مطلب کچھ بھی غلط نہیں ہوا ہے لگتا ہے - تو LS اب دو، درج کریں، اور بے شک اب میں ہیلو پروگرام ہے. تو اگر میں نے ہیلو ٹائپ کریں، کمانڈ نہیں مل سکا ہے. ٹھیک ہے، /. تو بالکل صحیح. تو میں نے اس پروگرام کی وجہ سے لکھا، اور اس کے ساتھ نہیں آئے تھے ، کمپیوٹر، / ہیلو،. کا مطلب ہے درج کریں اب میں خوش رہا ہوں. تو ہے کہ وہ وہاں ہے. اب کیا ہم زیادہ سے زیادہ کمانڈ لائن کے آخر میں مل جائے گا دلائل جو ہمیں زیادہ کام کرنے کی اجازت دیتے ہیں، لیکن صرف ان لوگوں کے لیے جس کے یہ پرانے ہیٹ ہو سکتا ہے، مجھے اصل میں ایک میں جانے ڈائریکٹری یہاں اور صرف آپ اور ہم کس طرح کی ایک جھلکی ہیلو دنیا کو لاگو کرنے کے بارے میں جا سکتے ہیں. کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے یہاں میں جانے دو، اور میں نے اسے کھولنے کے لئے جا رہا ہوں. تو تو اصل میں، میں اس بات کی وضاحت ہے کہ میں کیا کر رہا ہوں میں جا رہا ہوں، یہ مفید ہے. آپ کے وزٹرز کا ریکارڈ رکھا واپس چلو. تو میں ہے یہ ایک طویل وقت کر رہے ہیں. تو دائیں جانب وہاں کے ایک جوڑے کی ہیں نوٹس ڈائریکٹریز کہ عجیب نام source1m اور source1w. یہ صرف پاگل کنونشن کو ہم استعمال کرتے ہیں. 1 ماخذ صرف ماخذ کوڈ کا مطلب ہے کہ، کا مطلب ہے کہ یہ ایک ہفتے ہے، اور میٹر کا مطلب ہے کہ یہ پیر ہے، اور w کا مطلب ہے کہ یہ بدھ ہے. تو وہاں خفیہ نہیں ہے. یہ صرف آشلپی سنکیتن ہے. یہ نیلی چیزیں فولڈر، دوسری صورت میں کے طور پر جانا جاتا ہے ڈائریکٹریز. میں اب اس فولڈر میں جانا چاہتے ہیں، اور ایک عام کمپیوٹر پر میں صرف ایک فولڈر کا آئکن پر ڈبل کلک کریں اور سکتا ہے اپنے تمام فائلوں ہے. لیکن، میں ایک کمانڈ لائن کے ماحول میں بہت نہیں کر سکتے ہیں کہ تو اس کے بجائے، میں ڈائریکٹریز کو دستی طور پر تبدیل کرنا ہوگا. تو اگر میں سی ڈیز اور پھر source1m ٹائپ درج کریں، نوٹس، کہ میرے فوری طور پر، بائیں جانب سفید میں بات، ابھی تبدیل کر دیا گیا. اور یقینا جب یہ صرف قوسین اور پھر کا کہنا ہے کہ تھوڑا squiggle، ٹلڈا کی علامت ہے، اس کا مطلب صرف میں تھا جان ہارورڈ کے گھر کی ڈائریکٹری میں، ان میری دستاویزات اپنے ذاتی فائلوں. لیکن اب یہ قوسین میں ~ source1m / کا کہنا ہے کہ. یہ صرف کا مطلب ہے کہ میں کہا جاتا source1m فولڈر میں ہوں جو جان ہارورڈ کے گھر کی ڈائریکٹری میں ہے. تو اگر اب میں اس فولڈر میں فائلوں کی فہرست، آسان کرنا چاہتے ہیں سوال کے جواب میں، میں صرف LS ٹائپ کریں. اور اب میں فائلوں کی سب دیکھتے ہیں کہ میں آج کے لئے پہلے سے پیدا لیکچر، جن میں سے سب سے زیادہ جن میں سے ہو یا ج. میں ختم کرنے کے لئے. تو اب آپ کے وزٹرز کا ریکارڈ رکھا آگے جاؤ اور نامی پروگرام کے gedit چلائیں holloway.c، جو کچھ بے ترتیب ہیکر کی طرف سے لکھا جاتا ہے انٹرنیٹ پر، یہ اس طرح ایک چھوٹا سا لگ رہا ہے. اور ہم میں سے کسی میں اس ایک کے ذریعے جانے کے لئے نہیں کر رہے ہیں ، تفصیل، لیکن ان لوگوں کو زیادہ آرام دہ اور پرسکون کے لئے، خاص طور پر اگر آپ کیا یہاں اس پروگرام ہوتا ہے کے طور پر ایک اندازہ لینے کے لئے چاہتے ہیں. باقی کو یقین دلایا، کہ کیا آپ اس سے کم یا اس سے زیادہ آرام دہ اور پرسکون ہو، کے آخر تک ہم بات اس طرح بھی نہیں کر رہے ہیں اس سمسٹر. یہ وہی ہے جو ایک obfuscated C مقابلہ، کی ایک مثال ہے جو کا مطلب سب سے زیادہ خفیہ لگ پروگرام آپ کے ممکنہ لکھتے دوسرے ہوشیار لوگوں کا زیادہ ہونا کر سکتے ہیں، جو اسی طرح ہیں چیز لکھنے اور دکھانے کے کہ وہ لکھ سکتے ہیں کی کوشش کر رہے آپ ایک سے زیادہ خفیہ باتیں. تو یہ ایک مثال کے طور پر کی طرف سے ایک پروگرام اچھا لکھا نہیں ہے سٹائل کے نقطہ نظر کے مطابق، یہ ایک پروگرام ہے کہ اس کی ایک مثال ہے لوگوں کی کوشش کر رہے کرنے کے لئے ایک مقابلہ جیت لیا، مبہم اور خلاصہ. تو اگر ہم اس بات کو چلاتے ہیں، کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے میرے ٹرمنل ونڈو میں، تو بات کرنے کے لئے. تو اس میں سیاہ فام اور سفید فام ماحول کہا جاتا ہے ٹرمینل عام طور پر ونڈو ہے. آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور اس کی تالیف ہے. میں جا رہا ہوں بجنا استعمال کرنے کے لئے نہیں کر رہا ہوں، کیونکہ یہ پروگرام ہے کچھ خفیہ ہے اور یہ ایک مختلف کی ضرورت ہے سنکلک، کہا جاتا جی سی سی. لیکن یہ ایک ہی بات کرتا ہے. یہ اعتراض کوڈ ماخذ کوڈ لیتا ہے. اور اب اگر میں a.out پروگرام ہے کہ آپ چلاتے ہیں نے ابھی دیکھا یہ ہے. اس فیلو تو سال ہے کہ اس مقابلہ جیت لیا ہے. پھر بھی، ہم نے اس سمت، SE فی میں نہیں جا رہے ہیں. تو اصل میں اب ایک دوسرے سے دور چڑھانا ہم کیا کر سکتے ہیں کرنے کی کوشش ان بنیادی عمارت بلاکس کے ساتھ زیادہ سے زیادہ بنانے کے لئے دلچسپ پروگرام. تو ہم نے ایک پروگرام لکھا ہے، ہم نے ایک پروگرام شروع کیا ہے. اب ہم اصل اور اب لکھنے کی ضرورت کو آسان بنانے کر سکتے ہیں فوری طور پر میں لفظ بجنا. یہ پتہ چلا ہے کے طور پر ہمارے پروگراموں خفیہ ملے، ہم کر سکتے ہیں، یا زیادہ پیچیدہ بلکہ، ہم اصل میں یہ کمانڈ چلا سکتے ہیں. تو مجھے میرے گھر کی ڈائریکٹری میں واپس جانا ہے، تو بات مجھے RM ہٹائیں حکم ہے - - ہٹانے ہوں کو دور کرنے والا فائل a.out بلایا اور ہیلو. اور اب ایک کمانڈ لائن کے ماحول میں بہت طرح محسوس کرتے ہیں، ایک GUI، آپ کو حوصلہ افزائی ملتا ہے. میں ایک بٹن پر کلک کریں نہیں سکتا، میں ہاں کے لئے Y، جی ہاں کے لئے Y ٹائپ ہے. اور اب اگر میں LS دوبارہ ٹائپ کریں، نوٹس کہ ان لوگوں کو سبز پروگرام - a.out اور خوش - کی گئی. RM ہوشیار رہو. یہ بری باتیں کرتے ہیں، جیسا کہ آپ کر سکتے ہیں گھسیٹنے کی طرف سے کر سکتے ہیں آپ کے ردی کی ٹوکری میں چیزوں کو. تو اب آگے بڑھو - اور میں یہ کر سکتا ہوں - بجنا اے ہیلو، ہیلو - میں نے پہلے سے ہی ہے کہ کمانڈ ٹائپ بور کر رہا ہوں. اگرچہ مجھے یہ تھوڑا تیزی سے ٹائپ ہے. تو ہم خوش بجائے کر سکتے ہیں. تو نہیں ایک سنکلک ہے. یہ صرف ایک دوستانہ پروگرام ہے جو کہ لینکس کے ساتھ آتا ہے ہے اس میں، کیس - آپریٹنگ سسٹم - کے پروگرام مرتب کرنے کے عمل automates. تو بجائے اس کے کہ بجنا O-فائل کا نام اور یاد تو بیان، خاص طور پر ایک بار ان لائنوں اب ملے گا اور طویل، میں صرف لکھ سکتے ہیں. اور یہ چیزیں اس بات کا ایک مکمل جھوبڈ پر تھوکنے کی جا رہی ہے ہم اس سمسٹر آخر میں نظر آئے گا. لیکن اب محسوس اگر میں قسم LS، ہیلو میرے ڈائریکٹری میں واپس آ گیا ہے. اور یقینا میں اس کے ساتھ چلانے / ہیلو. ، تو صرف چلانے کیا تھا کے عمل automates اس معاملے میں بہت زیادہ، زیادہ پیچیدہ کمانڈ. تو ہم شرنگار کا استعمال کرتے ہوئے شروع کرنے کے لئے جا رہے ہیں، صرف اس لئے کہ یہ ایک بہت ہے مزید دوستانہ صارف. لیکن اب ہم اس سے زیادہ دلچسپ پروگرام کرتے ہیں سے صرف اتنا کہنا ہیلو. تو ہم پروگراموں کے وزٹرز کا ریکارڈ رکھا جائے گا ابھی تک اہم ہے ہے. وہ صرف پہلے سے طے شدہ بات یہ ہے کہ سب کچھ کک نے ہے. لیکن اس کے علاوہ کام کرتا ہے وہاں کے ساتھ ہیں، اور stdio.h بات یہ ہے کہ ہم نے ہماری سب سے اوپر دیئے گئے دیکھا ہے پہلے فائل اور یہ کہ معیاری لائبریری کے طور پر نام سے جانا جاتا ہے. معیاری لائبریری کے اندر کے افعال میں سے ایک مکمل جھوبڈ ہے کہ کسی اور نے لکھا، اور ہم ان کا استعمال کرتے ہوئے شروع کر سکتے ہیں افعال میں مزید لکھنے کی دلچسپ پروگراموں خود. تو آپ کے وزٹرز کا ریکارڈ رکھا آلات پر واپس جانا. میں اس ٹرمنل ونڈو کو بند کرنے کے لئے جا رہا ہوں. میں چیزوں میں ہم سے پہلے لکھا کو بند کرنے جا رہا ہوں، اور صرف جاؤ hello.c میں، اب میں مندرجہ ذیل کر سکتے ہیں نوٹس خوش دنیا دلچسپ نہیں ہے، میں چاہوں گا خود کے لئے اس پروگرام کو مشخص کریں. تو دنیا کہنے کی بجائے، میں جا رہا ہوں آگے جاؤ اور کہو - میں داؤد ٹائپ کر سکتے ہیں - لیکن یہ سچ کی طرح ہے بنیادی طور پر ایک ہی ہے. لیکن اس پلیس ہولڈر خیال کرنے کی کوشش کریں. بلکہ printf میں C میں یاد کرتے ہیں، ہم ان تھا جگہ دار ہے، اور اس نے ابھی٪ D سے زیادہ ہیں. ٪ تو د تھا، فوری وویک چیک. ٹھیک ہے، دشملو تعداد، کہ یہ ہے. ہندسے، کہ تمام ہے. ٪ C تو، ہم کے طور پر سامنا کریں گے، ایک کردار بننے جا رہا ہے. ایک کردار کو یہاں رکھ Z ذریعے ایک خط، یا اوقاف کی علامت. دیگر زبانوں میں سے ایک کردار،٪ F، کسی کو جانتے ہو؟ تو چل نقاط کی قیمت ہے. حقیقی عدد ہے. تو دشملو تعداد - یہ اصل میں ایک حقیقی تعداد کے ساتھ ہے ایک اعشاریہ، اور ہندسوں میں سے کچھ بائیں کی تعداد اور اس کا حق ہے. ٪ s ہے، سٹرنگ. کہ ایک ہم اکثر کو دیکھنے کے لئے جا رہے ہیں. پھر ایک سٹرنگ، صرف ایک لفظ، ایک جملے، میں ایک ہی تسلسل ہے انفرادی حروف. اور آخر میں lld؟ تو یہ ایک کونے کیس کی زیادہ ہے. بہت، بہت دشملو. تو اگر آپ کے پاس صرف ایک نمبر ہے کہ یہ بڑا ہے، نہیں چاہتے ایک بڑی تعداد چاہتے ہیں تو آپ پر کی وضاحت کرنے کی ضرورت کے لئے جا رہے ہیں کمپیوٹر ہے کہ یہ ایک خاص سائز کی ہے. تو یہ ایک تھوڑا سا موافقت. بلکہ صرف ڈیوڈ میں ہارڈ کوڈ سے، آپ کے وزٹرز کا ریکارڈ رکھا تھوڑا سا دو کو متحرک طور پر٪ s کو کہو. تو یہاں٪ s کو ڈال دیا ہے، جو کہ ایک تار کے لئے ایک پلیس ہولڈر ہے. تو پھر آپ کے وزٹرز کا ریکارڈ رکھا کوما کرتے ہیں، اور پھر یہاں "ڈیوڈ". اب یہ سب نہیں ہے کہ ذہنی دلچسپ، کیونکہ اب میں نے کیا کیا ہے واقعی زیادہ کے لئے کام بنانے کے کمپیوٹر. بجائے کمپیوٹر بتا یہ سب ایک ہی وقت میں کرتے ہیں، اب میں ہوں اور کہا کہ ایسا اور یہاں ایک سٹرنگ آخر میں داخل، کوما، یہاں سٹرنگ ہے. تو یہ ایک بہتر بہتری نہیں ہے، لیکن اس میں کم سے کم اس سے زیادہ دلچسپ پروگرام کی طرف ایک قدم ہے. کیونکہ اب، مجھے آگے بڑھیں اور اس ونڈو کو تھوڑا بڑا، آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور چلانے بنانے ہیلو. اور اب، / a.out نہیں کام کر رہا ہے، کیوں؟ ٹھیک ہے، اب یہ ہیلو کہا جاتا ہے. تو پھر اور بھی ایک اے کے ساتھ بجنا، نام تبدیل کر دیا پروگرام کو زیادہ دلچسپ چیز ہے. اور voila: اب یہ کہتے ہیں کہ خوش ڈیوڈ. ٹھیک ہے، اب بھی ایک پاگل پروگرام. تو اب ہم اصل میں یہاں واپس جاؤ اور تصور کو متعارف کرانے ایک متغیر کی. یہ اچھا نہیں ہو گا اگر میں ایک متغیر کا اعلان سکتے ہیں جس کی قسم سٹرنگ ہے؟ اور متغیر کی قیمت اصل میں صارف سے آتا ہے اس کے یا خود. تو منمانے، میں میری متغیر S، جو بلا رہا ہوں صرف ایک عام کنونشن جب آپ ایک متغیر ہے بلایا سٹرنگ. میں برابر علامت رہا ہوں اور پھر میں ایک کال کے لئے جا رہا ہوں تقریب GetString سے ملاقات کی. تو GetString کچھ C. یہ ہے میں تعمیر آتا نہیں ہے ایک تقریب ہے کہ CS50 عملے نے لکھا، واقعی صرف ہفتے کے یہ پہلے جوڑے کے عمل کو آسان کرنے کے لئے صارف کی ان پٹ رہی ہے اور فارم میں صارف کی ان پٹ حاصل ڈور، یا، نمبرز، اور اس طرح. تو GetString printf طرح ہے، لیکن ظاہر ہے بجائے پرنٹ کیا کرنا ہے اس کا نام کا کہنا ہے کہ جا رہا ہے، ایک تار ہو جاؤ. لیکن GetString کو استعمال کرنے کے لئے، ہم تبدیلی کی ضرورت کے لئے جا رہے ہیں یہاں، اس سے باہر. intuitively تو، اس پروگرام، امید ہے کہ، کسی بھی طرح جا رہا ہے صارف کی طرف سے ایک تار حاصل، تو پھر اور کیا کرنے جا رہی ہے اس سٹرنگ کے ساتھ سے ملاقات کی، S؟ یہ صرف اس کو پرنٹ کرنے کے لئے ہے، ہے نہ جا رہا ہے؟ پھر بھی حوصلہ افزائی نہیں پروگرام کی وجہ سے یہ سب ہو رہا ہے جہاں کی فیصد میں اس قدر میں پلگ ہے کا کہنا ہے کہ وہ جانا چاہیئے. تو کم از کم دیکھ کر اس عمل میں. مجھے اور باہر زوم کو بچانے کے. اب میرے ٹرمنل ونڈو میں نیچے یہاں، ایک چھوٹے ٹکڑا مجھے پھر سے بنانے ہیلو. ٹھیک ہے، اور آہ، لات، میں غلطیوں کی ایک پوری چڑھانے ہے. مجھے سکرال، اور ہم نے اپنے پہلے دیکھ - تو تم اصل میں اس سے بھی بڑا ونڈو میں ایسا تو دیکھ کر مجھے کتنی بری طرح خراب کر سکتا ہے - لہذا ہیلو. ٹھیک ہے، یہ ایک آفت ہے، ٹھیک ہے؟ میں کوڈ کی تین لائنیں لکھا ہے، اور اس نے مجھے دیا 12 غلطیاں. تو یہ کیوں ہے؟ تو خوش قسمتی سے، اکثر جب تم نے دیکھا بہت غلطیاں ایک ہی بار میں باہر توکنا، یہ واقعی صرف ہے کیونکہ آپ نے کمپیوٹر الجھن میں یہاں. اور اس وقت یہاں ہو جاتا ہے کی طرف سے الجھن میں رہتی ہے. اور اس طرح یہ صرف tripping، اور ٹھوکر کھا شروع ہوتا ہے، اور زیادہ خوفناک چیزیں توکنا میں سے لاگو ہوتا ہے. تو عام طور پر ایک کے سب سے اوپر کے ساتھ ہمیشہ شروع کرتے ہیں. تو سرخ، سب سے اوپر سب سے زیادہ مثال کے طور پر اس خرابی کا پیغام ہے. اگھوشیت شناخت کنندہ سٹرنگ کا استعمال، میں نے میں معیار کیا مطلب ہے؟ میں نے نہیں کیا. میں سٹرنگ کا مطلب ہے، لیکن اس وجہ سے ہے، بھی، لفظ سٹرنگ کہ میں زبانی طور پر اصل کا استعمال جاری رکھ یا تو سی کا کوئی وجود نہیں ہے. یہ کچھ ہم صرف پہلے دو ہفتے کے لئے استعمال کریں گے یہاں ہے، لیکن یہ کہا جاتا cs50.h. فائل میں موجود ہے تو اب میں پتہ ہے کہ یہ دوسری لائبریری ہے کہ عملے نے لکھا، تو اس نے حال ہی میں سے لکھا گیا stdio.h. لیکن cs50.h کے اندر ایک تعریف ہے، کے مترادف قسم ہے، جو اس لفظ سٹرنگ پیدا کرتا ہے. تو اب مجھے میرے ٹرمنل ونڈو پر واپس جانے. میں لئے Ctrl L کی طرف سے اس پورے گندگی صاف کی جا رہی ہوں. ہم صرف کریں گے سب کچھ صاف صاف، اور میں آگے جاؤ اور جا رہا ہوں ہیلو دوبارہ درج کریں. تو اب کیا ہوا ہے؟ اب ان غلطیوں کے سب چلی گئی. تو کیا میں واقعی میں کیا ہے؟ میں صرف کمپیوٹر سکھایا ہے کہ سٹرنگ موجود ہے، اور یہ ہے کہ کہا جاتا cs50.h. فائل میں تو شکایت ہے، کیونکہ اب تم جانتے ہو کہاں تلاش کرنے کے لئے بند کرو کہ تقریب کا اعلان تو بات کرنے کی. یہ دنیا میں کہاں موجود ہے. تو اب میں آگے جانے کے لئے اور چلانے ہیلو جا رہا ہوں. میں ایک لامحدود لوپ، کچھ بھی نہیں ہو رہا ہے لگ رہے ہو. اس لئے میں یہاں کچھ ٹھیک ٹائپ کرنے کی ضرورت ہے. میرے پروگرام میں کوڈ کی پہلی لائن GetString کیا گیا تھا. تو اس کا لفظی انتظار کے لئے مجھے ایک تار کو حاصل کرنے کے لئے ہے. تو اس معنی میں جی ہاں، یہ ایک لامحدود لوپ ہے. بظاہر GetString میں پہلے سے طے شدہ رویہ ہے کہ ہم لکھا - عملے - یہ صرف کا کہنا ہے کہ اور اور انتظار انتظار انتظار انتظار انتظار، جب تک صارف آپ کو اندر کچھ لکھ کر دیتا ہے ایک تار تو آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور D-V-ٹائپ - D-، درج کریں. اور اس کے ہے، ہیلو ڈیوڈ. اب یہ لگتا ہے یہ صرف ایک ڈرامہ ہے؟ مجھے آگے بڑھیں اور ٹومی میں ٹائپ کریں. درج کریں، ٹھیک ہے، کام لگتا ہے. روب، کے کام Zamyla، کام کرتا ہے کے لئے کام کرتا ہے - ٹھیک ہے. تو اس کا سب سے زیادہ امکان کام کرنے جا رہا ہے. تو یہ پرنٹ، جو کچھ بھی ہم اصل میں یہ دینا چاہئے، اور ہم تھوڑا مشکل ہو سکتا ہے. چلو دیکھتے ہیں اگر ہم ہیلو طرح کچھ کرنا ہے. ختم یہاں کر سکتے ہیں، کی، کاپی پیسٹ کی دیکھ. میں جا رہا ہوں پر پیسٹ کرنے کے قابل ہے کہ کئی بار یہاں نہیں کر رہا ہوں. چسپاں کریں گے، ٹھیک ہے، + V. لئے Ctrl + منتقل تو کیا کر سکتے ہو سکتا ہے کہ بری یہاں ہے؟ ٹھیک ہے، تو، segfaults. آپ میں سے کچھ پہلے پس منظر کے ساتھ تو پتہ چل جائے گا کہ عام طور پر، کمپیوٹر آدانوں کی بہت دے جب وہ لوگ شاید مراد اس طرح طویل نام کو حاصل کرنے کے لئے نہیں - برے چیزیں ہوتی ہیں. درحقیقت، ویب کی دنیا میں بھی، یہ بہت تھوڑا سا ہوتا ہے، جس کے تحت جب آپ ایک ویب سائٹ کے ڈیزائن جب تم ہو ڈیزائن فیس بک، آپ کو صوابدیدی فیصلے پر قضاء کی کب تک کسی گے جیسے سامنے، فیس بک صارف کا نام؟ یا کسی کا سب سے پہلا نام کب تک ہو گا؟ کتنی دیر تک کسی کے فون نمبر کی طرح ہو جائے گا. اور اگر پروگرامرز خراب مفروضات، پروگراموں کو توڑ کیونکہ آپ ان کے زیادہ پیداوار دے، زیادہ سے زیادہ ان پٹ کی کوشش کرتے ہیں بلکہ، سے وہ یاد ہے. یا RAM اس کے لئے مختص ہے، اور تو اب اگر میں مارا درج کریں، کہ اس پروگرام اصل میں کام کیا، کیونکہ ہم نے لائبریری میں تھے اور ہم نے اصل میں اس مخصوص کیس متوقع ہے. لیکن بلاشبہ یہ سمسٹر، آپ کو کم سے کم ایک لکھیں گے پروگرام ہے کہ ان الفاظ کو کہیں گے. اب سے اس ہفتے یاد ہے، شاید اب سے دو دن. انقطاع غلطی بری چیز ہے. یہ اپنے کر کچھ کہ کمپیوٹر سے رجوع کریں گے نہیں رکھو. اور اس صورت میں، آپ، پروگرامر نہیں اندازہ تھا. بہت کچھ پسند کیا جرابوں پر جرابيں اس ڈھیر، وہاں مختلف تھے ہم کونے مقدمات کا سامنا ہو سکتا ہے. اسی طرح تم پروگراموں میں اگر اندازہ نہیں کتنی دیر تک ہے کسی کا نام چل رہا ہے. تو کیا اگر میں ایک درنساوناپورن صارف ہے، اور اس کا یا اس کا نام ہے اصل میں بہت مختصر ہے، لیکن وہ صرف کوشش کر رہے ہیں میرے ساتھ گندگی ہے؟ اپنے پروگرام کے رویے پر کیا جا رہا ہے؟ ٹھیک ہے، اس صورت میں کچھ اصل میں کریش ہو سکتا ہے. تو ایسا کرنے دو 90 منٹ میں، یہ ایک خوفناک طویل وقت ہے کمپیوٹر سائنس کرنا. ہم پانچ منٹ کرنے کے عادت میں حاصل کیوں نہیں کرتے یہاں توڑ، اور جب ہم واپس آئے، ہم نے کچھ میں کودو گے زیادہ پیچیدہ اور مجبور پروگرام ہے؟ پانچ منٹ. ٹھیک ہے. تو ایک فوری تبصرہ. میں نے کہا کہ اگرچہ یہ سکرین پر پہلے تھا جو رہا ہوں، میرے منہ سے باہر آئے cs50.net/rsvp تھا. یہ صحیح ہے. cs50.net/lunch. تو کیا اب تم / دوپہر کے کھانے کے میں اس کے لئے RSVPing کرنے کی کوشش کر سکتے ہیں. لیکن اب یہ کیا ہے. تو یہ لوگوں کی ایک بہت کے لئے سپر روزہ، سپر نئے رہا ہے. کچھ لوگ کے لئے پرانا ٹوپی. تو صرف ایک لمحے کے لئے ماضی، اور یہ دیکھنے کی ضرورت ہے کہ ہم کس طرح ہے ہیلو دنیا پہلے صرف ایک لمحے کی پیداوار. تو سب سے پہلے، اس CS50 آلات ہے. پھر، سافٹ ویئر مسئلہ کا ٹکڑا 1 بتانے جا رہا ہے آپ اس کو کس طرح ڈاؤن لوڈ، اتارنا، جہاں اسے ڈاؤن لوڈ کرنے کے، کیا پر کلک کریں اور وغیرہ. اور پھر ایک بار آپ کو ان ہدایات پر عمل کریں، آپ کے قابل ہو جائے گا آپ کی ونڈو کو زیادہ سے زیادہ کرنے کے لئے، اور اپنے میک یا پی سی نظر آئے گا کچھ اس طرح. ایک سیاہ پس منظر، سب سے اوپر ایک گھر فولڈر جہاں تمام اپنی فائلیں، ردی کی ٹوکری میں سب سے اوپر بائیں میں کر سکتے ہیں، کے نیچے دیے گئے مینو. تو پھر، روح میں کافی میک OS یا ونڈوز کی طرح اگرچہ یہ لینکس پر ہوتا ہے. تو جو ہم اگلے کیا؟ ٹھیک ہے، ہم پروگراموں لکھنا شروع کیا. اور گزشتہ ہفتے سے یہ یاد ہوگا کہ یہ سب ایک لکھنے کے لئے لیتا ہے پروگرام ایک سادہ ٹیکسٹ ایڈیٹر ہے، نوٹ پیڈ یا TextEdit جیسے. سچ کہوں تو، آپ کو مائیکروسافٹ ورڈ کا استعمال بھی کر سکتے ہیں. لیکن بری چیزوں، بالآخر ہو کیونکہ وہ بہت ہے ایک پروگرام لکھنے کے لئے بھاری ہاتھ حل کے علاوہ یہ کریں گے کو بچانے کے لئے یہ غلط فائل کی شکل میں. لیکن یہ صرف ایک ٹیکسٹ ایڈیٹر، ایک لفظ پروسیسر ہے، ہے یہ ایک پروگرام کو لکھنے کے لئے کی ضرورت ہے. تو CS50 آلات میں، ہم ایک آسان طریقہ میں یہ کر سکتا ہے. ہم نیچے بائیں میں اس علامت پر کلک کر سکتے ہیں. اور پھر مسئلہ 1 آپ اس کے مشورہ، اور voila گا - آپ اس میں سیاہ فام اور سفید فام انٹرفیس ہم کہاں سے شروع کر سکتے ہیں کوڈ لکھنے. تو چلو ایک سپر آسان پروگرام کو پھر سے لکھنا شروع. میں محفوظ کرنے کے لئے فائل کو جا رہا ہوں، اور میں کو فون کرنے جا رہا ہوں یہ، کہنا، hello2.c. اور میں صرف jharvard پر کلک کر کے یہ کہہ رہا ہوں، اسے اس کے گھر کی ڈائریکٹری میں، میں سچ میں کوئی پرواہ نہیں ہے جہاں یہ جاتا ہے. اور پھر محفوظ کریں. اور اب میں اپنے پروگرام میں لکھنا شروع کر سکتے ہیں. اور میں نے پہلے کہ میں int لکھنا ہے یاد اہم (باطل). سب سے اوپر بائیں میں زوم. اور پھر میں printf کہنا چاہتے ہیں، دو لے لو. اور اب ایک newline، اقتباس کو بند، قوسین، نیم وقفہ. اور پھر میں نیچے میرے ٹرمنل ونڈو ہے یہاں gedit میں صرف سہولت کے لئے سرایت. اور مجھے آگے جانا ہے اور لکھنے بنانے ہیلو رہا ہوں لیکن ہیلو صرف hello2. تو میری فائل hello2.c کہتے ہیں. میرے لہذا فائل hello2 رابطہ کرنا چاہئے تھا، اس معاملے میں. Dammit، کیا میں غلط کیا ہے؟ ٹھیک ہے، تو میں واضح طور پر ایک سطر لپ، اگر آپ کو یاد ہے کہ پچھلے پروگراموں کی طرح لگ رہے ہو. لیکن دیکھو، اگر ہم اس کے علاوہ چڑھانا نہیں کر سکتے ہیں. بدقسمتی سے، زیادہ تر وہ لوگ ہیں جو پروگراموں لکھتے ہیں جن کے ساتھ ہم لکھ پروگراموں چیزوں کو آسان بنانے نہیں سب کچھ ٹھیک ہے کہ. تو ہم کیا کافی نہیں ہے سے زیادہ ملائی اتارا قسم ہے یہاں جذبات اور دیکھیں اگر ہم اعداد و شمار کر سکتے ہیں کہ کیا غلط ہے. بہت پہلی سطر کا کہنا ہے کہ لپیٹ C اعلان لائبریری printf تقریب قسم int کے ساتھ. ٹھیک ہے، میں اس کا حصہ سمجھا. لیکن حقیقت یہ ہے کہ میں نے printf استعمال کیا alluding ہے غلط ہے، کسی نہ کسی طرح. اور جو احساس کیا یہ غلط ہے؟ میں صرف کمپیوٹر ہے کہ یہ ایک فائل میں ہے نہیں سکھایا کہا جاتا stdio.h. اب میں صرف اب کہ printf ہے حفظ ہے stdio.h میں، اور بے شک اس کے علاوہ ہوں گے اس ایک ہی فائل میں کام کرتا ہے کہ ہم عادت گے. تو اب ہم آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور لئے Ctrl L-واضح مارنا کہ دور rerun، hello2، اور voila. اور یہ پھر زیادہ پیچیدہ کمانڈ سے ہم کے لئے کی وضاحت کریں گے آج کے مقاصد کے. لیکن یہ بجنا چلاتے ہیں، کیا اور بجنا ماخذ کوڈ لیتا ہے اور باہر spits 0s اور 1s ہے. اور اس معاملے میں 0s اور 1s ان لوگوں کو کیا کہا جاتا ہے؟ ٹھیک ہے، کوڈ اعتراض ہے. اور فائل ہے کہ وہ میں ہیں کہا جاتا ہے، تو ہے، اس معاملے میں hello2. کیونکہ میرا ٹیکسٹ فائل hello2.c تھا درج کریں. اور اب میں دو فجائیہ نقطہ، فجائیہ رکھنا ہے نقطہ، فجائیہ نقطہ. تو ٹھیک ہے، اب ہم ڈور کو حاصل کرنے کے لئے کی صلاحیت ہے، بظاہر. ٹھیک ہے، ہم صارفین کی طرف سے اور کیا حاصل کر سکتے ہیں؟ CS50 لائبریری میں دیگر افعال ہے کہ ہیں اور ان کے پہلے کچھ دنوں میں ہماری زندگی کو آسان بنانے جا رہے ہیں. GetChar، GetDouble، GetFloat، GetInt، GetLongLong، GetString. ٹھیک ہے، ان کا پہلا سب سے آسان جمع کرنا ہیں. GetString لفظی ہے وہ کرتا ہے. یہ صرف وہاں بیٹھ کر، صارف کے لئے انتظار کر رہے میں کچھ ٹائپ، اور جیسے ہی میں کچھ ٹائپ کریں اور درج کریں مارا، اس کی قیمت کے ساتھ کچھ کرتا ہے. تو ہے کہ مثال کے طور پر واپس دیکھ کر بالکل وہی جو GetString کر رہے تھے. مجھے آگے بڑھیں اور gedit، hello.c میں کھول، اور یاد کہ حق وقفے سے پہلے، یہ وہ جگہ ہے جہاں ہم نے چھوڑ دیا ہے. تو اب یہ ایک چھوٹی سی تفصیل میں چڑھانے کے علاوہ. تو 6 لائن پر دو چیزوں اس وقت ہو رہا ہے. برابر علامت کے پہلے نصف اور دوسرے نصف کو الگ ہے. تو برابر علامت کے بائیں ہاتھ کی طرف، ہم کے سٹرنگ کہہ رہے ہیں. اور پھر، صرف عام آدمی کی شرائط کے سٹرنگ ہے کر رہے ہیں، آپ کے خیال میں ہے؟ یہ جو ایک پیدا کر رہا ہے؟ تو اس کے نام کے سٹرنگ پیدا کر رہا ہے. اب کیا یہ واقعی مطلب ہے؟ ٹھیک ہے، اس کے نام کے سٹرنگ کے لئے جگہ مخصوص ہے. یہ بالکل صحیح نہیں ہے. کیا کر رہی ہے؟ ویسے کمپیوٹر، جیسا کہ آپ جانتے ہیں، ہارڈ ڈرائیوز ہے، وہ کہاں ہے آپ کی فائلوں کو محفوظ کیا جاتا ہے. کمپیوٹر RAM ہے، اور یہ کہ جہاں پروگراموں بھری ہوئی ہیں جب وہ چلا رہے ہیں. تو آپ جب ایک آئکن اور مائیکروسافٹ ورڈ کھولتا دوہرا کلک کریں اپ، RAM میں مائیکروسافٹ ورڈ، اس سے بات کرنے، چل رہا ہے، جو آپ کے کمپیوٹر کے الیکٹرانک حصہ ہے. جسمانی نہیں، میکانی حصہ کہ کتائی ہے، جہاں ڈیٹا عام طور پر طویل مدتی محفوظ ہے. تو سٹرنگ کے بہت کہہ رہا ہوں کمپیوٹر مجھے ایک تار کو فٹ ہونے کے لئے کے لئے کافی رام. اب جو ایک oversimplification کے تھوڑا سا ہے، کیونکہ کتنا بڑا سٹرنگ ہے کیا جا رہا ہے؟ ہم اصل میں تو ہفتوں میں ابھی تک معلوم نہیں، آنے والے ہم واپس اصل پرت ہے کہ سٹرنگ ہے ھیںچو اور کریں گے ہم آپ کو بتاو کہ کیا یہ واقعی ہے گے. سٹرنگ، اب کے لئے، صرف ہماری دنیا کے ایک اچھا آسان بنانے ہے. لیکن سٹرنگ اب کے نام کے تار کی یہ وانی ہے. ایک تار کا اعلان. یہ سٹرنگ صارف نہیں ہے کے لئے RAM میں کچھ جگہ محفوظ رکھتا ہے ٹائپ کے بارے میں. اب دو برابر علامت کے حق میں نظر آئے. تو اس GetString () کا کہنا ہے کہ. ایک چھوٹا سا وویک چیک کرنے کے لیے، اور یہ حقیقت ہے کہ قوسین کے اندر کچھ بھی نہیں ہے GetString کے بارے میں کیا مطلب ہے؟ اس میں کوئی بحث نہیں لیتا ہے. یہ ہے کہ، آپ کو کسی بھی طرح میں اس کے رویے پر اثر انداز نہیں کر سکتے. ہر بار آپ اسے استعمال کرتے ہیں، یہ ایک تار حاصل ہے اور یہ کہ یہ جائے گا. کے برعکس، printf، امید ہے کہ اس کا رویہ ہے ہر وقت تبدیل. دوسری صورت میں، یہ ایک بہت بیکار پرنٹنگ کی تقریب ہے اگر یہ ایک ہی بات کرتا ہے. اگر یہ ہمیشہ ڈیوڈ یا کچھ اور پرنٹ صوابدیدی ہر وقت. تو printf سمجھ میں آتا ہے، ایک دلیل ہے. GetString بحث واقعی نہیں ہے کی ضرورت ہے، کیونکہ میں چاہتا تھا صارف سے ایک تار حاصل کرنے کے لئے اور یہ صارف کون جا رہا ہے ہے مختلف حروف میں ٹائپنگ کی طرف سے تحرک فراہم میں ہر وقت کی بورڈ. تو کیا بالآخر GetString کرتے ہیں؟ یہ چھوٹا بلیک باکس کے طور پر اس کے بارے میں سوچو. اور یہ بلیک باکس کوئی ان پٹ نہیں لیتا ہے، لیکن جب تم دھماکے پر یہ، یہ ایک تار ہے کہ صارف اندر ٹائپ ہے spits اور حقیقت یہ ہے کہ وہاں ایک ہی نشانی ہے وہاں کا مطلب لے کیا حق پر تھوکنے ہے اور اس کی دکان کے اندر کیا بچا ہے. تو برابر یہاں سائن ان کریں، یہ اصل میں نہیں مطلب ہے مساوات، بلکہ تکنیکی تفویض کا مطلب ہے. دائیں طرف کے قدر لے لو، اور میں ڈال بائیں پر متغیر. تو وہ سب جو وہاں ہو رہا ہے. اب 7 سطر میں، ہم printf بلا رہے ہیں. تو printf امید ہے کہ اب تک ایک چھوٹا سا بورنگ ہو رہی ہے. تو ایک فارمیٹ سٹرنگ پرنٹ. کیا سٹرنگ؟ پرنٹ کریں، "H E-L-L O-S،٪ کریں \ n ". ٹھیک ہے، تو کیا میں کے٪ پلگ ان کرنا چاہتے ہیں؟ لفظی، جو کچھ بھی کے میں ذخیرہ کیا جاتا ہے. تو اس معاملے میں، چھوٹے وویک چیک دلائل، کتنے printf لے؟ ٹھیک ہے، میں ایک سنی. میں ایک پھر سے سنا ہے. دو، میں دو سنا ہے. اور کس طرح تین کے بارے میں؟ ٹھیک ہے، تین؟ بہترین. تین ممکن جواب، ان میں سے صرف ایک صحیح ہے. تو دلائل پھر ایک تقریب کے رویے پر اثر انداز. ماضی میں، صرف ایک دلیل لے printf تھا. "ہیلو دنیا" ایک واحد دلیل تھی. تاہم، اب، محسوس جہاں یہ کوما ہے. یہ کوما اقتباس / unquote، جس کا مطلب ہے سے باہر ہے printf ارے، یہاں ایک دوسری دلیل آتا ہے. اس وقت سب سے زیادہ پروگرامنگ زبانوں میں کوما الگ الگ ایک سے زیادہ دلائل. یہاں تو جواب ضرور ہے، ایک وجہ سے نہیں اس کوما ہے. تو minimally، printf بظاہر دو کر رہی ہے دلائل اس وقت. لیکن ایک چال کے سوال کے لئے یہاں موقع ہے کیا یہ کوما کے بارے میں؟ کیا اس کا مطلب یہ ہے کہ اصل میں تین دلائل؟ یہ، یہ، یہ اور تو نہیں، جو اس لیے کہ وہ کوما کی قیمت درج کرنے کے اندر ہے، کا مطلب ہے کہ یہ واقعی میں صرف انگریزی کی ایک جمالیاتی ہے. کی تعداد کے ساتھ کوئی تعلق نہیں ہے اس پروگرام میں دلائل. تو یہ کوما ڈبل ​​قیمت درج کرنے سے باہر ہے. اور پھر واپس 0. کے صرف اب کے لئے دو طرح ایمان اس ایک کے لئے لے آج اور ابھی پتہ چلا کہ قتل جب افعال کیا کر رہے ہیں کوڈ کی لائنیں، وہ عام طور پر کچھ قدر واپس آ جانا چاہئے. اس صورت میں، صرف اس وجہ سے اہم ایک int واپس کرنا ضروری ہے، جو صرف زبان C کا کام ہے. تو کیونکہ کچھ غلط نہیں گیا، اس پروگرام کی طرح محسوس ہوتا ہے ٹھیک ہے، میں صرف مشکل 0 بدلے میں کوڈت ہے. لیکن اس کے برعکس، میں چھدم کوڈ میں لکھنے جا رہا ہوں اب جوزف جیسے کچھ کیا جب ہم جراب کیا گزشتہ ہفتے کی مثال ہے. اگر کچھ غلط ہو گیا تھا - یہ اصل کوڈ نہیں ہے - گئے غلط ہے، تو ہے، چلو کا کہنا ہے کہ واپس 1. دوسری صورت میں 0 واپس. تو یہ وہ جگہ ہے جہاں ہم نے اس کے ساتھ جا رہے ہیں. یہ اصل C کوڈ آن ہے نہیں، صرف pseudocode. لیکن یہ ہے کہ تم کس طرح واپس ہو سکتا ہے مختلف ممکن اقدار. لیکن اب میں صرف آگے بڑھو اور 0 واپس جا رہا ہوں. ٹھیک ہے، اس طرح اب تک نحو فعالیت کے ذہن میں کوئی سوالات پسند ہے یا؟ جی ہاں، پیچھے. سامعین: [اشراوی] DAVID MALAN: آپ کو ایک زور کچھ بات کر سکتا ہوں؟ اس پروگرام کی واپسی 0 کیوں کیا؟ سامعین: [اشراوی] DAVID MALAN: اوہ، وہ اس لئے کہ میں سست ہے، معاف کرنا. کوئی اچھا تعلیمی جواب، واپس 0. میں تکنیکی طور پر C کہہ کر کی قسم یہ بازیافت،، اگر اہم قیمت واضح طور پر نہیں واپس 0 واپس رکھا جائے گا خود کار طریقے سے آپ کے لئے. جو سچ ہے، میں نے صرف نہیں کر رہا ہوں کو ڈھکنے کا. لیکن، میں نے اسے اس طرح کرنا چاہئے. کہ میری غلطی سے دوسرے سے کوئی دلچسپ takeaway. جی ہاں؟ سامعین: عام طور پر ہے کہ جب تم باطل میں ٹائپ کریں، آپ کا مطلب ہے کچھ نہیں واپس. DAVID MALAN: صحیح. بجائے اگر، آپ کو ایک تقریب کے نام سے پہلے درج کرتے ہیں، یہاں مثال کے طور پر، باطل، تو تقریب کچھ نہیں واپس. اور اس لئے میں صرف واپسی یا بالکل کچھ بھی نہیں کہیں گے، اور اس کے مطابق کیا جائے گا. اور ہم اس کو واپس آ جائیں گے. اور بس FYI، سیکھنے کے ساتھ کیچ میں سے ایک ایک ایسی دنیا میں جو سینکڑوں کتابوں کی ہیں ویئر اور ویب سائٹس کے وہاں سینکڑوں ہے آپ ہمیشہ مختلف کتابوں میں مختلف نحو دیکھیں مختلف لوگوں کی طرف سے. احساس حصے اور لیکچرز میں ہم اپنے سب سے بہترین ہو جائے گا مطابق. لیکن کبھی کبھی آپ کو متصادم نحو نظر آئے گا. تو جب بھی شک میں، بس سے پوچھو. اور عام طور پر، ہم لیکچر اور قسموں کو میں دیکھ بھال کریں گے تقریبا ہمیشہ صحیح طریقے سے پیش کریں. اور میں تقریبا ہمیشہ ہی کہتے ہیں، کیونکہ پوائنٹ میں کیس. دیگر سوال؟ سامعین: کیا کے٪ آلات کے باہر موجود ہے؟ DAVID MALAN: کیا کے٪ آلات سے باہر موجود ہے؟ جی ہاں. تو٪ سی کے ساتھ حقیقت یہ ہے کہ ہم اس میں استعمال کر رہے ہیں کرنا ہے آلات بنیادی طور سے کوئی تعلق نہیں ہے زبان ہم استعمال کر رہے ہیں کی خصوصیات. گزشتہ ہفتے درحقیقت، جب ہم اپنے میک استعمال کیا، میں نے لکھا C کوڈ اپنے میک پر. میں نے اپنے میک پر٪ s کو استعمال کر سکتے ہیں، اور آپ اسے استعمال کر سکتے ہیں. اگر آپ کو ایک سنکلک انسٹال کی طرح، ونڈوز کمپیوٹر وژول اسٹوڈیو مائیکروسافٹ کی طرف سے. تو کا٪. سب کچھ ہم اس کھڑکی سے اندر آج کر رہے ہیں ہے C. اور بنیادی طور سے کوئی تعلق نہیں کے ساتھ کیا سوال میں نظام کام ہے. کے برعکس، میں سیاہ فام اور سفید فام ٹرمینل دریچہ - جب میں LS طرح چیزیں ٹائپ کر رہا ہوں، اور RM، سی ڈی اور - ہے کہ اور آپریٹنگ سسٹم کے ساتھ کیا کرنا ہے کے ارد گرد گشت. جی ہاں. سامعین: میں نے لائبریری کا مطلب، CS50 لائبریری. DAVID MALAN: ٹھیک ہے، کہ اگر ایسا ہے تو آپ کو مطلوبہ الفاظ کے جملے کی مطلب ہے، صرف CS50 لائبریری میں موجود ہے، درست ہے. C میں ہی وجود میں نہیں ہے، بلکہ ایک جوڑے میں ہفتوں کے ہم CS50 لائبریری پھینک دیں اور شروع ہو جائے گا شروع خود سے کچھ کر رہے ہو، اس سے بات کرنے. دیگر سوال؟ جی ہاں. سامعین: [اشراوی] DAVID MALAN: اچھا سوال ہے. احکام کیس حساس ہیں؟ اور مجھے یہاں ایک فرق ہے. تو حکم دیتا ہے عام طور پر چیزوں کو ہم میں لکھیں گے ہیں ٹرمنل ونڈو میں کھڑکی سے نیچے،. یہاں کچھ بھی بیانات یا C کوڈ جائے گا. لیکن دونوں صورتوں میں، جواب ایک ہی ہے، جی ہاں. ان دونوں ماحول کی سب سے اوپر، C کوڈ اور کے آپریٹنگ سسٹم کمانڈ لائن نیچے، کیس حساس ہیں. تو آپ کے دارالحکومت G ساتھ GetString فائدہ ہوگا، دارالحکومت S. آپ کو تمام چھوٹے printf لکھنا ضروری ہے. آپ کو تمام چھوٹے LS ٹائپ کرنا ضروری ہے. تو تقریبا ہر حال میں اس سمسٹر کیس میں حقیقت یہ ہے، معاملہ. جی ہاں. سامعین: [اشراوی] DAVID MALAN: آہ، تو ٹھیک ہے، کیا اگر ہم ایک فائل تھی کہا جاتا hello.d. تو یہ پتہ چلتا ہے ڈی ایک پروگرامنگ زبان ہے. اور ایسا ہے، تو ہم کچھ صورتوں میں میں ایک پروگرام اصل میں لکھ سکتے تھے کہ فائل اور اس فیشن میں مرتب کیا ہے. ہم اصل میں، مختصر جواب یہ ہے، مجھے پتہ نہیں ہے کر سکتے ہیں اور. تو ہم ایسا کرنے جا رہے ہیں. آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور ایک نئی فائل بنانے کے دو اور سپن یہاں ایمانداری سے عام طور پر، جب بھی کوئی شک ہے اس سمسٹر، اور آپ کو آپ کے آلے یا کمپیوٹر ہے کھل جاؤ اور کچھ کرنے کی کوشش کریں. تو میں کہا جاتا hello.d فائل کو بچانے کے لئے جا رہا ہوں. اس کو محفوظ کریں. اور میں چلانے ہیلو بنانے میں داخل کرنے جا رہا ہوں. یہ نتیجہ نکالنا ہے کہ سی زیادہ امکان تھا لگ رہا تھا D سے، اس معاملے میں. دیگر سوالات. جی ہاں. سامعین: [اشراوی] DAVID MALAN: ٹھیک ہے، یہ ایک بار پھر کہو. سامعین: [اشراوی] DAVID MALAN: آپ کس طرح کہ تشخیص یا کے بارے میں کہ حل ہے؟ تو سب سے زیادہ امکان ہے کیونکہ وہ مختلف زبانوں ہیں، سب سے زیادہ امکان آپ کو پوری طرح ملے گا مختلف پروگرام outputted. آپ بالکل ہی مختلف خرابی کے پیغامات کو حاصل کریں گے. اور ڈیزائن کے لحاظ سے بھی، یہ ایک arguably ہو گی غریب ڈیزائن مختلف دو لکھنے کا فیصلہ تقریبا identically نام فائلوں کے ساتھ زبانوں میں بالکل وہی ڈائریکٹری، ایک کا استعمال کرتے ہوئے جیسا بنانے کا خود کار طریقے سے سے مؤثر ہتھیار ہے. تو میں واپس بھی ایسا کرنے کے 15 سال میں کہنا دھکا کر سکتے ہیں، اس غلطی کو کبھی نہیں دیا. ہو سکتا ہے. لیکن وہاں صرف مختلف ہے، مجھے لگتا ہے کہ، میں رسد دفاع. پلس خرابی کے پیغامات ensue گے، جو چاہتے ہیں آخر میں ظاہر کیا مسئلہ ہے. لیکن ممکن کونے معاملہ. ٹھیک ہے، تو ہم دوسرے کی صرف ایک جوڑے کو متعارف کرانے خصوصیات یہاں، تو ہم زیادہ میں تعمیر شروع کر سکتے ہیں اور زیادہ پیچیدہ پروگرام. تو سب سے پہلے، ریاضی. تو ریاضی کی مثالیں پہلے ہفتے میں صرف آسان کی قسم ہیں. اس کا کہنا ہے کہ تمام پروگرامنگ کے بارے میں ہے نہیں ہے ریاضی. یقینا کی مختلف خصوصیات کو سمجھنے ریاضی، الجبرا، خاص طور پر ہے، بہت متعلقہ یہاں. اعلی سطح CS کلاس، لکیری الجبرا میں، ریاضی، اور اس طرح. لیکن کیا ہم اس سمسٹر کروں گا سب سے زیادہ احساس نہیں کم کر دیتا ہے ریاضی، اور بات کو یقینی طور سے ریاضی، SE فی نہیں، لیکن واقعی صرف منطق اور محتاط سوچ. اور اس طرح یہ تعلق ہے کہ کمپیوٹر سائنس طویل دیکھا گیا ہے، خاص طور پر ہائی اسکول کی سطح پر، ریاضی کے ساتھ ہے، ایک کچھ گمراہ کن ہے. کیونکہ زیادہ تر پروگراموں کہ ہم لکھنا ہے، سچ گے ہیں، طرح کی کو حل کرنے کے مسائل پر اعلی سطح اور توجہ مرکوز کی ہے کہ، ضرور، کچھ کے علاوہ، باقی نکالنا، اور مختلف استعمال کر سکتے ہیں ریاضیاتی فارمولوں یا جیسے، لیکن دن کے اختتام پر، یہ سوچ کے بارے میں ہے اور نہیں صرف عمل درآمد جو تم پر TI طرح کیا ہو سکتا ہے ہائی اسکول میں کیلکولیٹر. تو ساتھ اس نے کہا کہ اب ان کے ساتھ کچھ کرنا حساب آپریٹرز ایسا ہے کہ ہم سفر کر سکتے ہیں موجود ہو پروگرامنگ کا بنیادی پہلوؤں میں سے کچھ یا زائد C. اس کیس تو وہاں ہیں، CS50 لائبریری کا مشورہ دیا، اور آج ہم صرف GetString استعمال کر رہے ہیں - اور ایک پل میں شاید ایک دوسرے تقریب - لیکن وہاں ایک کمپیوٹر میں مختلف اعداد و شمار اقسام ہیں. دن کے آخر میں، کمپیوٹر صرف اتنا جانتی 0s اور 1s. لیکن یاد ہے کہ پچھلے ہفتے ہم نے بائنری سسٹم کے بارے میں بات کی 0 نمبر کی طرح کی تعداد، اور 1، اور 2 کی نمائندگی میں، 8 پر تمام نیٹ ویڈیو میں. اور پھر ہم کے طور پر بہت زیادہ شمار کر سکتے ہیں اسٹیج پر یہاں کیا. لیکن اگر آپ نہ صرف تعداد لیکن خط کی نمائندگی کرنا چاہتے ہیں، ہم انسان ہیں، کچھ صوابدیدی کے ساتھ آنا ہے کنونشن میں، جس کے تحت اگر دن کے آخر میں اپنے تمام کمپیوٹر 0s اور 1s، اچھی طرح ہم بہتر تھا کا اظہار کرنے کی صلاحیت ہے 1s اور 0s کے پیٹرن کی نمائندگی کرتے ہیں مانکیکرن شروع دونوں مختلف چیزیں ہیں. 0s اور 1s کا ایک طریقہ ہے جو ایک خط کی نمائندگی کرتا ہے. 1s اور 0s کے مراسلے خط Z کی نمائندگی کرتے ہیں. 0s اور 1s مراسلے رنگ نیلا کی نمائندگی کرتے ہیں، یا سرخ، یا جیسے. ہم ان 0s اور 1s خود میں اظہار کرنے کے لئے استعمال کرنے کی ضرورت ہے مختلف طریقوں سے جو نہیں ہیں میں مختلف سیاق و سباق، ضروری عددی. تو نمائندگی کی شرائط میں، C مختلف ڈیٹا کی اقسام ہیں، اور ہم نے ان میں سے ایک اب تک دیکھا ہے. ہم int دیکھا، اور سکرین پر نوٹس کیا نہیں ہے ابھی سٹرنگ ہے. جملہ حقیقت میں، C. میں نہیں، پھر موجود ہیں، ایک سرلیکرن ہم پہلے پیش کر رہے ہیں ہفتے کے جوڑے. چار ایک انفرادی کردار ہے. ایک فلوٹ ایک حقیقی تعداد ایک اعشاریہ اور اعداد و شمار کے ساتھ ہے، بائیں اور اس کا حق ہے. واپس قبل پس منظر کے ساتھ لوگوں کے لئے ایک ڈبل کیا ہے؟ تو ڈبل میں دو بار کچھ ہے. زیادہ صحت سے متعلق کے طور پر دو بار جوڑتا ہے. تو اس کا کیا مطلب ہے؟ تو ان میں سے ہر ایک میں، دنیا کو معیاری قسم کی ہے کتنے بٹس کی نمائندگی کے لئے استعمال کیا جاتا ہے ان چیزوں میں سے ہر ایک. اگر ایسا ہے تو آپ کو حصہ کے لئے نیٹ ASCII ویڈیو پہلے سے ہی دیکھا ہے 0 pset کے بعد یا اس ہفتے آپ کو، آپ گے شاید معلوم ASCII ہے کہ - کردار نمائندگی - بٹس کتنے کا استعمال کرتے ہیں؟ اور تم ہمارے ڈیمو سے بھی کس طرح کے آخری ہفتے کو یاد کر سکتے ہیں بہت سے لوگوں کو اسٹیج پر تھے. 7 تو یا 8، عام طور پر ہے. تو عام طور پر 8، اور اس کے طور پر توسیع کہا جاتا کچھ ہے ASCII ہے کہ تمام 8 بٹس، کی بجائے 7 کا استعمال کیا جاتا ہے. لیکن عام طور پر، ہم نے 2 کے اختیارات میں بات کرتے ہیں، تو اس صورت میں، 8. تو ایک پروگرامنگ زبان میں چار عام طور پر 8 بٹس ہے. تو ایک int عام طور پر 32 بٹیں ہے. عام طور پر ایک فلوٹ 32 بٹیں ہے. ایک ڈبل عام طور پر 64 بٹس ہے. اور اس کا کیا مطلب ہے؟ اس کا مطلب یہ ہے کہ آپ کو بڑی تعداد کی نمائندگی کر سکتے ہیں، یا اس معاملے میں حقیقی اعداد کے، آپ کے بعد ایک بہت زیادہ تعداد میں ہو سکتا ہے دشملو جگہ ہے. اس صورت میں ایک بہت زیادہ صحت سے متعلق،. اب بدقسمتی سے ایک طویل طویل نام پر رکھا گیا ہے. تو ایک int ہے جس میں 32 بٹیں ہے. ایک طویل ہے، نہیں، 32 بٹیں ہے. اور ایک طویل طویل ہے جس میں 64 بٹس ہے. تاہم ان میں سے کچھ سیاق و سباق کے حساس ہیں، یہ منحصر ہے کمپیوٹر کے تم کس طرح کی ہے. تو ہوم ورک میں یا ایک کوئز میں ہم عام طور پر بیان کریں گے، جب کیا یہ واقعی فرق پڑتا ہے. لیکن بات یہ ہے کہ ان مختلف یہاں نمائندگی. تو اصل میں ایک پروگرام میں کودو. بجائے شروع سے اس کو لکھنے، آپ کے وزٹرز کا ریکارڈ رکھا جاؤ اور آج کے منبع کوڈ سے کھول - جن میں سے ہے آن لائن - اگر آپ آن لائن کے ارد گرد ٹنکر کرنا چاہتے ہیں، یا واپسی آپ کے کمپیوٹر پر آلات کے ساتھ بدھ، ہدایات کورس ہوم پیج پر جس کے لئے لنک کیا جائے گا. یہ ایک سپر آسان پروگرام ہے. لیکن یہ سب سے اوپر ایک چھوٹا سا کچھ نیا مل گیا ہے کہ ہم پہلے نہیں تھا. متن کے نیلے لائنز کی ایک مکمل بہت. تو ان نیلے رنگ کی لائنز تبصرے کی نمائندگی کرتے ہیں. تو اس کو ایک پروگرام میں بہت مفید ہے. لکھنے کے قابل ہو جائے اپنے آپ کو، یا ساتھیوں یا دوستوں کو، یا کچھ تبصرے تعلیم ساتھیوں کے اس طرح بیان کیا جا رہا ہے اس فائل، لیکن C کوڈ خود سے کوئی تعلق نہیں ہے. پروگرام کے ساتھ فعل کے کرنے کی کوئی بات نہیں ہے، یہ صرف جمالیات. تو جس طرح سے آپ C میں ایسا ہے تو آپ کو عام طور پر شروع آپ / *، اور آپ کے ساتھ تبصرے کے ساتھ آپ کے تبصرے کو ختم * /. اور اگر تم واقعی مقعد اور تصاویر کی طرح اپنی طرف متوجہ کرنے کے ہیں، تو آپ کو ستاروں کی ایک پوری بہت ڈال چاہتے ہیں، تو آپ کو ایک بنانا چاہتے ہیں اس طرح چھوٹا خانہ. کہ معاملات میں سے کوئی بھی لیکن صرف ایک ہی چیز ہے کہ معتبر تو بہت پہلے ہے اور بہت آخری ہے. اس کا ہے جو ایک تبصرہ کثیر لائن کہا جاتا ہے. اور یہ صرف انسانی کنونشن اکثر ستاروں اور باکس کرنا اس طرح چیزیں اگر آپ کو مفت وقت کے ایک بہت ہے. تو اس کے بعد آپ کو کچھ تبصرے میں لکھا ہے، عام طور پر آئے، پروگرام کی اصل ہمت. ہمارے واقف # شامل ہے. اور صرف فوری، یہ ضروری ہے یا نہیں کی ضرورت ہے؟ سامعین: ضروری ہے. DAVID MALAN تو یہ اصل میں ضروری نہیں ہے. کیوں، لیکن یہ نہیں ہے ضروری ہے؟ تو printf نہیں ہے. سچ میں. ہم اس پروگرام میں کر رہے ہیں ریاضی ہے. تو میں ہے کہ اصل میں خارج کر سکتے ہیں. تو آپ ہمیشہ میں کچھ شامل نہیں ہے ایک پروگرام کے سب سے اوپر ہے. تو یہ تھوڑا سا آسان بنانے. اور اب محسوس کیا اس پروگرام کرتا ہے. دلچسپی کے بہت. int X = 1. ٹھیک ہے، یہ کیا کر رہی ہے؟ ٹھیک ہے، پہلے سے واپس ذہنی ماڈل لگتا ہے. اس اظہار کے بائیں ہاتھ کی طرف کیا ہوتا ہے؟ ایک عددی کے لئے جگہ بنائیں. تو کتنا خلا ہے؟ ٹھیک ہے، اب ہم جانتے ہیں کہ یہ 32 بٹیں ہو. سے پہلے، ایک سٹرنگ تکنیکی 32 بٹیں تھا، لیکن مستقبل میں اس پر. لیکن ایک int 32 بٹیں ہے. تو بائیں اس اظہار، int صرف X کا کہنا ہے کہ ارے نظام کام، کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے RAM کے 32 بٹیں دے - دوسری صورت میں RAM کے 4 شراکت کے طور پر جانا جاتا ہے - تاکہ میں اس جگہ میں ایک عددی ڈال کر سکتے ہیں. کیا عددی تم نے ڈال کرنا چاہتے ہیں؟ ٹھیک ہے، صرف نمبر 1. int Y 2 ہو جاتا ہے، یہ بالکل وہی بات ہے اگرچہ تعداد بڑی اس کی شدت کے لحاظ سے ہے. تعداد خود ابھی تک صرف 32 بٹس ہے. یہ صرف بٹس کی طرز ہے مختلف ہے 1 بمقابلہ 2 نمائندگی کرتے ہیں. int Z کا کہنا ہے کہ مجھے ایک اور 32 بٹیں دے، یہ Z فون، اور ڈال وہاں میں 1 اور 2 کے summation. اس لئے کہ اب Z شاید 3 قدر ذخیرہ کرنے کا ہے، اور پھر واپس 0. اب اس پروگرام، دلچسپی کے کچھ کیا کرتا ہے؟ تو یہ اصل میں سے کسی میں دلچسپ کچھ کرنا نہیں ہے، احساس، کیونکہ کیوں؟ یہ کچھ ریاضی کر رہی ہے. لیکن یہ جواب واپس لوٹنے نہیں ہے، ٹھیک ہے. یہ 0 آ. اس کا جواب چھپائی نہیں ہے. تو یہ پروگرام بنیادی طور پر بیکار ہے، اب کھڑا ہے. یہ کچھ کام کر رہا ہے. پر میں سے کچھ بڑی تعداد، یا microseconds، لے جا رہا ہے چلاتے ہیں، لیکن یہ اصل میں کچھ نہیں کر رہا انسان کے لئے مفید ہے. تو اصل میں اب math2 کھولنے، اب جہاں میں واقعی میں ہوں نتیجہ چھپائی. تو یہ بھی ہمارے گزشتہ مثالوں سے inferred کر سکتے ہیں. اگر میں کچھ آسان ریاضی کرنا چاہتے ہیں، int = X 1، Y = 2. Z 1 کے علاوہ 2 ہے. کیا یہ واضح طور پر پرنٹ کی جا رہی ہے؟ 3. تو فوری وویک چیک کرنے کے لیے. کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے اس ڈائریکٹری میں منتقل. سی ڈی source1m تو. آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور ٹائپ math2 بنانے دو کوئی خرابی کے پیغامات باہر آئے، تو آپ کے وزٹرز کا ریکارڈ رکھا چلانے - آپ کے وزٹرز کا ریکارڈ رکھا math2 نہیں چلا a.out-دو. درج کریں. اور یقینا، یہ 3 طباعت. چلو اس کی ایک مختلف میں ایک نظر ڈالیں. math3.c میں، اب ہم اس مثال یہاں ہے. تو دلچسپ اس قسم. تو یہاں ایک میں، جواب 1 10 سے تقسیم کی جا رہی ہے، نوٹس اور میں نے یہ فلوٹ کے طور پر اعلان کیا ہے. میں یہ ایک فلوٹ کیوں کرنا چاہتے ہیں؟ ٹھیک ہے، یہ ایک حصہ ہے. یہ ایک حقیقی عدد ہو جا رہا ہے. اس معاملے میں 10٪ - تو یہ 0.1، امید پر جا رہا ہے. اور تو مجھے کیا باہر پرنٹ کرنے کے لئے کرنا چاہتے ہیں؟ ٹھیک ہے، یہ جواب ہے. ٹھیک ہے، ان کے علاوہ پہلی چڑھانے دو. تو بائیں ہاتھ پر، ایک اعلان فون، فلوٹ اس کا جواب ہے. دائیں طرف، 10 سے 1 تقسیم کرتے ہیں اور پیش کیا ہے جس متغیر کے اندر جواب. اب، اس لائن کو تھوڑا زیادہ خفیہ لگتا ہے. لیکن بعض واقف خصوصیات نوٹس ٪ یہاں کا مطلب ہے کہ آتا ہے ایک پلیس ہولڈر. F یہاں کا مطلب ہے کہ ایک چل نقاط کی قیمت ہے، یہ صرف ایک حقیقی تعداد ایک اعشاریہ کے ساتھ کچھ. 0.2 کا مطلب کیا ہے؟ کوئی بھی پیشگی تجربات سے جانتے ہیں؟ دو اعشاری مقامات. تو ہم اس کو نہیں دیکھا ہے اس سے پہلے، لیکن یہ صرف ایک کی راہ ہے printf پر ایک چھوٹا سا زیادہ کنٹرول اور ورزش دشملو نقطہ کے بعد کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے متعلق کہاوت نہیں دیتے 30 پوائنٹس، بجائے مجھے صرف 2 دیتے ہیں. اور تو آگے بڑھو اور اس کے چلانے. تو 3 ریاضی، اور اب ہم آپ کے وزٹرز کا ریکارڈ رکھا 3 ریاضی چلانے، درج کریں. اور یہ درست نہیں ہے. ہم ہماری پہلی حقیقی بگ کا سامنا ہوا ہے لگ رہے ہو. ٹھیک ہے، ہو سکتا ہے میں صرف قریب کافی دیکھ رہا ہوں نہیں ہے. تو مجھے یہاں جانا ہے، اور مجھے 20 دشملو ڈال نقطہ وہاں جگہ. اور مجھے یہ تالیف، math3، چلائیں. یقین ہے کہ 10 سے تقسیم 1 0 نہیں ہے. تو کیا ہو رہا ہے؟ ٹھیک ہے، ٹھیک ہے، تو اصل میں اس کے ساتھ کیا نہیں کرتا. یہ ایک اچھا خیال ہے. یہ واقعی میں صرف ایک اتفاق ہے کہ ہم یہ کر رہے ہیں. لیکن یہ ثابت ہوتا ہے کہ یہ نہیں ہے، میں بے ترتیب کچھ واپس کریں. اس گھر میں نہیں ہے، کیونکہ یہ صرف غلط ہے. لیکن math3 بنانے کے لئے، مجھے اسے چلانے. تو کیا میں واپس آ رہا ہوں کے ساتھ کیا کچھ نہیں ہے، صرف کرنا ہے جو میں چھپائی رہا ہوں. لیکن میں نے سنا تھا یہاں. کیا ہے؟ سامعین: تو ہم تعداد میں لکھنے کی ضرورت ہے کے طور پر تقسیم - DAVID MALAN: اچھا ٹھیک ہے. تو ہم میں حصہ لینے کی تعداد کو لکھنے کے لئے کی ضرورت ہے چل نقاط کے طور پر یہاں تقسیم خود کو اہمیت دیتا ہے. یہاں تو مسئلہ پہلے کی طرح ہے: C کے ایک بہت کے ساتھ کے طور پر، زبانوں، مختلف ڈیٹا کی اقسام ہیں. اور ان اعداد و شمار کی قسم، مثال کے طور پر، یہاں یہ ہیں. اور سوال میں ڈیٹا یہاں، جب میں 1 ٹائپ کریں اور پھر میں اقسام 10 کی قسم، شاید جو ڈیٹا کی اقسام ہیں؟ تو یہ شاید ایک int ہے، ٹھیک ہے؟ یہ ضرور ہے کیونکہ کوئی دشملو فلوٹ نہیں نقطہ یا ایسا کچھ. تو واقعی، میں ایک ایک int کی طرف سے تقسیم int ہے. تو ریاضی اور کمپیوٹر کے بارے میں دلچسپ بات یہ ہے کہ اگر آپ integers کا استعمال کرتے ہوئے تقسیم کر رہے ہیں - 1 10 سے تقسیم، ہاں 0.1 ہے. تاہم، جب آپ کو ایک عددی کی طرف سے ایک عددی تقسیم کر رہے ہیں، جواب بھی صرف اب کے لئے کیونکہ ایک عددی ہے. اور تو کیا مطلب ہے؟ ٹھیک ہے، اگر جواب 1 10 کی طرف سے تقسیم کیا گیا ہے 0.1 برابر کیا کمپیوٹر پر کیا جا رہا ہے مجھے کس طرح خیال ہے 0.1 کی نمائندگی کرتے ہیں، کیونکہ وہ ایک چل نقاط قدر نہیں ہے عددی ہے، اور اس کے بعد سب کچھ کاٹ جا رہا ہے دشملو نقطہ اور آپ کو شروع میں 0. اور حقیقت یہ ہے کہ یہ ایک چل نقاط کے طور پر چھپائی ہے قیمت ہے، یہ صرف ایک جمالیاتی بات ہے. ایسا اس لئے ہے کیونکہ میں کمپیوٹر کے طور پر یہ پرنٹ کرنے کے لئے مجبور کر رہا ہوں نقطہ کا قدر تیرتا ہے. اور یقینا میں فلوٹ کے طور پر یہ اعلان کیا ہے، لیکن ریاضی ہے یہاں کیا ہو رہا ہے. تو مجھے اصل میں ایک بہت آسان طریقہ میں اسے درست کریں. مجھے کیوں نہیں 10.0 اور 1.0 ہے، اگرچہ تکنیکی طور پر میں صرف ان میں سے ایک کر کے ساتھ دور حاصل کر سکتے ہیں. اب ہم آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور math3 بنانے. مجھے آگے بڑھو اور اب math3 چلاتے ہیں، درج کریں. اور اب، اوہ لڑکے. اب ہم مکمل طور پر ایک نیا مسئلہ ہے. تو بہتر، ہے نا، ہم 0.1 قریب ہو، لیکن جو واضح طور پر ہے یہاں غلط ہے؟ جب تک ہم نے سال کے لئے تم سے جھوٹ بول رہا ہے، ہے نہ؟ 1 10 سے تقسیم اصل میں 0.1 کافی نہیں ہے، تو کیا واقعی یہاں جا رہے ہیں؟ ٹھیک ہے آپ کے پاس اس کے ذریعے وجہ کی طرح منطقی طور پر کر سکتے ہیں. اگر صرف ایک کمپیوٹر RAM کے ایک محدود رقم ہے جو شروع ہے کے ساتھ، بلکہ صرف ایک کمپیوٹر کے لئے 32 بٹیں کا استعمال کرتے ہوئے کر رہا ہے نقطہ کی قیمت تیرتا، یہ ہے کہ کسی کے ساتھ کی وجہ سے کھڑا ہے اس معاملے میں بٹس، 32 کی محدود تعداد ہے، جی ہاں، آپ یہ کر سکتے ہیں بہت ساری چیزیں نمائندگی کرتے ہیں. یہ اصل میں چار ارب مختلف اقدار ہو سکتا ہے 32 بٹس، 32 2، لیکن یہ اب بھی محدود ہے کے ساتھ نمائندگی کی. تو مسئلہ یہ ہے ہے کہ حقیقی کے ایک لامحدود تعداد ہے تعداد، ٹھیک ہے. اگر آپ مجھے ایک حقیقی نمبر دو، میں تم سے ہمیشہ ایک حاصل کر سکتے ہیں تھوڑا بڑا، صرف tweaking کی طرف سے تھوڑا سا کم تعداد جو دشملو نقطہ کے بعد ہیں. تم، تو اگر آپ بٹس کی ایک لامحدود تعداد میں نہیں ہے ممکنہ طور پر ایک لامحدود نہیں نمائندگی کرسکتے ہیں حقیقی اعداد کی تعداد. تو وہاں کمپیوٹر میں یہ موروثی imprecision ہے، اور یہ بھی سب سے آسان میں ہر وقت پر فسل گیا ہو جاتا ہے اس طرح کے پروگرام. لیکن کچھ بہت حقیقی دنیا کے مسائل میں بھی. سچ تو یہ ہے، ایک لمحے کے صرف ایک نظر میں کچھ جو کہ اصل میں حقیقت میں ہوا ہے. ہم منٹ پہلے جوڑے کو دیکھنے، اور اس کے بعد کریں گے ہم لنک آن لائن پوسٹ کریں گے. لیکن یہ صرف کیا ہوا جا سکتا ہے کا ثبوت ہے، بہت سکوئر سے، ایک بہت المناک انداز میں جب یہ چیزیں نہیں ہیں. تعریف یا صرف انسانوں ہم غلطی کرتے ہیں جب وہ آتا ہے جدید کمپیوٹرز کی پر عملدرآمد کی تفصیلات کے ان قسم کے. [ویڈیو چل رہا ہے] اب ہم جدید Marvels انجینئرنگ آفات واپس. کمپیوٹر. ہم سب اکثر نراشا مسائل کو قبول کرنے آیا ہوں کہ ان کے ساتھ جاؤ. کیڑے، وائرس، اور سافٹ ویئر کی glitches چھوٹے قیمتوں ہیں سہولت کے لئے ادائیگی کرتے ہیں. لیکن ہائی ٹیک اور ہائی سپیڈ فوج اور خلا میں پروگرام کے ایپلی کیشنز کو سب سے چھوٹی مسئلہ ہو، کر سکتے ہیں تباہی میں magnified. 4 جون، 1996، سائنسدانوں نے ایک بغیر پائلٹ شروع کرنے کے لئے تیار Ariane 5 راکٹ. یہ کرنے کے لئے ڈیزائن سائنسی مصنوعی سیارہ لے جا رہا تھا خاص طور پر زمین کے مقناطیسی میدان کس طرح قائم شمسی ہواؤں کے ساتھ انٹرایکٹ کر سکے. راکٹ یورپی خلائی ایجنسی اور کے لئے بنایا گیا تھا فرانسیسی گیانا کے ساحل پر اس سہولت سے اٹھا لیا. میں پرواز میں 37 اور وہ سب سے پہلے نے محسوس کیا کچھ غلط ہو رہا تھا، کہ nozzles تھے جس طرح وہ واقعی نہیں کرنا چاہئے میں swiveling. پرواز میں تقریبا 40 اور، واضح طور پر گاڑی مصیبت میں تھا، اور یہ کہ جب انہوں نے فیصلہ کیا اسے تباہ. زبردست ہمت کے ساتھ ایک قسم کی حفاظت افسر پر زور دیا بٹن، راکٹ دھماکے سے اڑا دیا ہے اس سے پہلے یہ ایک بن سکتا ہے عوام کے تحفظ کو خطرہ. اس 5 Ariane کی شادی سے پہلے کا سفر تھا، اور اس کے تباہی کی وجہ سے میں سرایت دوش کی جگہ لے لی راکٹ سافٹ ویئر ہے. Ariane پر مسئلہ یہ تھا کہ وہاں ایک بڑی تعداد تھی 64 بٹس کی ضرورت کا اظہار کیا ہے اور وہ اس سے تبدیل کرنا چاہتے تھے 16 بٹ تعداد. انہوں نے مانا ہے کہ تعداد میں کبھی نہیں تھا بہت بڑا ہو جائے گا، 64 بٹ کی تعداد میں ان لوگوں کو ہندسوں کے سب سے زیادہ 0s تھے. وہ غلط تھے. ایک سافٹ ویئر پروگرام کے اسمرتتا کو قبول کرنے کے لئے کسی دوسرے کی طرف سے پیدا نمبر کی قسم کی جڑ تھا ناکامی. سافٹ ویئر ڈیویلپمنٹ کی ایک بہت مہنگا کا حصہ بن گیا تھا نئی ٹیکنالوجی ہے. Ariane 4 راکٹ بہت کامیاب رہا تھا. اس کے لئے پیدا سافٹ ویئر کی اتنی بھی استعمال کیا جاتا تھا 5 Ariane. بنیادی مسئلہ تھا کہ Ariane 5 تیز تھی، تیز تیز. اور سافٹ ویئر ہے کہ کے لئے حساب نہیں تھا. راکٹ کی تباہی ایک بڑا مالیاتی تھا تباہی، ایک منٹ سافٹ ویئر کی خرابی کی وجہ سے. لیکن یہ پہلی بار ڈیٹا تبادلوں کے مسائل نہیں تھا جدید راکٹ ٹیکنالوجی دوچار ہیں. DAVID MALAN: ہم اسے اس میں چھوڑ دیں گے. لیکن یہ ثبوت ہے صرف قابل اطلاق بھی ہے کہ کس طرح میں سے کچھ ان میں سب سے کم سطح تفصیلات میں کہا گیا ہے کہ ہم نے شروع کیا ہے آج کی ہیں. تو بھی جیسا کہ آپ میں سے کچھ شاید تھوڑا مشغول ہو جاؤ نحو اور یہاں arcaneness کا احساس، کہ زائد اصطلاح ہم صرف یہ کس طرح لاگو کرنے کے لئے ہے پر توجہ مرکوز کی جائے گی دور CS سے باہر دنیاؤں. ہم آپ کو بدھ کو نظر آئے گا.