[Powered by Google Translate] DAVID J. MALAN: ٹھیک ہے، اس CS50 ہے اور یہ ہے 1 ہفتہ ختم، تو مطالعہ کارڈ میں ہیں اور کل کی تعداد ہم جماعتوں نے اس سال ہے کہ آپ نے 745 ہے. اور ہم اتنے کورس میں آپ کی بہت زیادہ ہیں کی حوصلہ افزائی کر رہے ہیں اس سمسٹر، لیکن اگرچہ اس کورس بہت بڑی ہے، احساس ہے کہ جمعہ کو کھانا کی طرح ان چیزوں کی طرح ہے، دفتر گھنٹے، 15 شخص حصوں، اور وغیرہ کہ کر رہے ہیں واقعی میں اس کو مزید گہرا بنانے کے لئے کا مطلب ماحول. تو اگرچہ ہم ایک یا ایک ہفتے میں دو بار جمع، یہاں میں کر سکتے ہیں Sanders، اس کورس میں آپ کے تجربے کی ہے کہ اتنا جانتا ہوں ہاتھوں پر اپنے ہم جماعتوں کے ساتھ مل کر بہت ہو جائے گا اور تدریسی عملے. لہذا ہم یہاں جاؤ، 2012 گر. تو یاد ہے کہ آخری بار ہم نے ایک نوٹ کو ختم ہو گئی imprecision، تعداد کی نمائندگی کے بارے میں بات کر رہی ہے. اور ہم ناکامی جو کچھ بھی ہوا میں میں سے ایک میں دیکھا، حقیقی دنیا میں، جب یہ غلط فہمی پر آئے کمپیوٹر کیسے کام کرتا ہے. ٹھیک ہے، آج ہم کے طور پر ان خیالات کا ایک نظرثانی کریں گے CS50 گاہک کے ساتھ ساتھ ہماری بات چیت جاری اور C اور اس پروگرام کا کیا مطلب ہوتا ہے. لیکن اس سے پہلے، صرف بونڈر اعلانات کے ایک جوڑے کی ہے. حصے میں اس اتوار کو شروع، اور پہلے ہفتے ہمیشہ ایک ہے تیزی سے شروع کی بٹ، کیونکہ ہم صرف مل گیا اپنے حصے کی اقسام. ہم ویسا ہی کر رہے ہیں، اب، تعلیم ساتھیوں کے ساتھ، اب ہے کہ وہ ان کے نظام الاوقات کا پتہ ہے، ہم ارادہ کر رہے ہیں، کی طرف سے ہفتے کی صبح، آپ کے ساتھ آپ کے سیکشن کے ساتھ کی پیروی کرنے تفویض اور TF. احساس ہے کہ وہ اگلے دن کا آغاز کریں گے اتوار، یا پیر یا منگل کو. اور پھر ہم سیکشن تبدیلیوں کو ایڈجسٹ کے طور پر وہ پیدا دنوں میں آنے کی. دفتری اوقات کے دوران، ہیں، ایک بار پھر، آج رات، میں 8 11 PM Annenberg، جیسا کہ کل رات کے طور پر اچھی طرح سے. اگرچہ مسئلہ سیٹ عام طور پر جمعرات کی وجہ سے دوپہر کو احساس ہوتا ہے، آپ کو پانچ دیر دن ہے خرچ، دفتری اوقات کے اس وجہ سے جمعرات دستیابی اگر ان دیر دنوں میں سے ایک میں آپ کو نقد رقم، اور اس طرح پیش کریں، جمعہ کے روز کچھ. مجھے تجویز ہے کہ سکریچ زیادہ مزہ آئے کے درمیان ہے کے درمیان، کم اہم مسئلہ سیٹ. اور میں ان کے آخر دن پر پھانسی کی پالیسی، صرف کے لئے بعد میں سمسٹر میں جب زندگی کے راستے میں حاصل کرنے کے لئے شروع ہوتا ہے midterms اور دوسری کلاس کے ساتھ. دوران مسئلہ 1 سیٹ، کی راہ پر پوسٹ کریں گے اس جمعہ کی ویب سائٹ (ویب سائٹ) کورس واک کے طور پر ہو جائے گا، ویڈیو کے ذریعے، جو جمعہ کو 2:30 PM پر فلمایا جائے گا اور پھر اگلے دن کی طرف سے آن لائن کے بارے میں تو ہم نے پیر کے روز ختم ہو گئی. اصل میں، ایک یہاں نوٹ - میں کرنا چاہتے ہیں. کیونکہ کلاس - کیونکہ Sanders بالکل قرضے نہیں ہے خود کو آرام دہ اور پرسکون Q & A واپس اور بیان بہت اچھا، ہم ایک چھوٹا سا نیا اس سال کچھ کرنے کی کوشش ہے، جس کے تحت اگر آپ کو آرام دہ اور پرسکون نہیں ہو ہاتھ اٹھانے یا آپ صرف اس طرح ایک کمرے میں نہیں بلکہ اپنے ہاتھ اٹھانے کی، ہم تعلیم کے ساتھیوں اور کیس کے کچھ کرنے جا رہے ہو لیکچر کے دوران cs50.net/discuss manning. اگر ایسا ہے تو آپ کو ایک سوال کے جواب میں ہے کیونکہ میں مکمل طور پر تھا کچھ یا آپ کے بارے میں واضح نہیں کچھ کے بارے میں جاننا ہے موضوع، اسے وہاں پوسٹنگ کرنے کی کوشش کریں. لیکچر کے لیبل کے ساتھ ٹیگ، اور ہم اپنی پوری کوشش کروں گا آج اور اگلے ہفتے - we'll یہ کرنے کی کوشش کریں - یہ میدان یا تو الیکٹرانک، آن لائن، یا اگر ہم کرنا چاہئے جیسا لگتا ہے واقعی یہ masse EN سے نمٹنے، تعلیم ساتھیوں کی ایک یا ایک سے کیس ان کے ہاتھ اٹھانے اور پوچھیں گے آپ کی طرف سے پر گمنام ہے. تو ہم یہ ایک اور دیکھ کتنی اچھی طرح یہ کام کرنے کی کوشش کو دے دونگا. لیکن، سب کا مطلب ہے کی طرف سے، ہاتھوں آپ کے طور پر کرنا چاہتے ہیں میں اضافہ کرنے کے لئے جاری ہے. تو آخری بار ہم نے انکشاف کیا ہے کہ 10 فیصد یا ایک دسویں ہے، میں نہیں یہ حقیقت، 0.1، جیسا کہ تم کئی سال پہلے سکھایا جاتا تھا. یہ حقیقت میں ہے، اس طرح ایک قدر ہے. لیکن یہ مکمل طور پر سچ نہیں ہے، ٹھیک ہے؟ ہم صرف کمپیوٹر جس میں اس رکاوٹ ہے، اگر آپ صرف میموری کا ایک محدود رقم، RAM، یا اس سے زیادہ ہے خاص طور پر کی بٹس، ٹھیک ہے، صرف ایک محدود تعداد آپ چیزوں کی نمائندگی کرسکتے ہیں. مثال کے طور پر، اگر ہم صفر نمبر ہے، اور ہم چاہتے ہیں بائنری کی نمائندگی کرتے ہیں، آٹھ بٹیں کا استعمال کرتے ہوئے، جہاں تھوڑا سا پھر ایک صفر یا ایک ہے، ہم شاید 00000000 کے طور پر اس کی نمائندگی کرتے ہیں. اور اس سے پہلے ایک چھوٹی سی بیکار شبدبہل ہے. صرف حقیقی دنیا میں دشملو نظام کی طرح، عام طور پر، ہم نے، اگر آپ تعداد 123 لکھنا چاہتے ہیں انسان شاید 00000123 نہیں لکھتے اگرچہ فعل، یہ بالکل وہی تعداد ہے. ہم صرف معروف zeros چھوڑ، تو بات کرنے کی. بائنری میں، ہم وہی کر سکتے ہیں. بائنری اور صفر صفر ہے، اور بائنری صفر ہے. آپ کے پاس صرف ایک تھوڑا سا کی ضرورت ہے. لیکن پھر پیمائش کی، دنیا میں سب سے زیادہ عام یونٹ کمپیوٹنگ کی بائٹس، آٹھ بٹیں ہے. صرف اس لئے کہ ایک تھوڑا سا، بہت بیکار ہے. آٹھ بٹس، بہت مفید نہیں ہے، لیکن کم از کم یہ ہے پیمائش کی ایک یونٹ سے مفید ہے. تو، ہم آٹھ بٹس کے ساتھ بائنری عام طور پر کی نمائندگی کریں گے. لہذا ہم یہاں کی تعداد صفر، ایک، دو، ہے، اور پھر، جیسا کہ نیٹ گزشتہ بدھ کو اپنے ویڈیو میں ہم نے جاری کر سکتے ہیں، سات سے آٹھ گنتی،. اور پھر اگر ہم زیادہ سے زیادہ بٹس کا استعمال کرتے ہیں، ہم انفینٹی کو شمار کر سکتے ہیں. لیکن اگر آپ کو صرف ان بٹس کی ایک محدود تعداد ہے، کے طور پر ہے کسی بھی کمپیوٹر کے نظام میں کیس، یا اس سے بھی میزائل نظام، بلکہ آپ کو صرف ایک ہے صحت سے متعلق کے محدود رقم تو اگر آپ 0.1 کی طرح تعداد کی نمائندگی کرتے ہیں، اچھی طرح کرنا چاہتے ہیں، کمپیوٹر اور منتخب کرنے کے لئے لینے کی ہے. اور اگر یہ صرف اعداد کی ایک محدود تعداد میں کر سکتا ہے ، اس کی نمائندگی کرتے ہیں آپ کے لئے 0.1 کے قریب آتے ہیں، لیکن یہ نہیں کر سکتا کر سکتے ہیں ضروری تم بالکل قیمت جو آپ چاہتے ہیں دیتے ہیں. اور یہ صرف کمپیوٹر کے چیلنجوں میں سے ایک ہے، ہڈ کے نیچے، شکر ہے. جیسا کہ ہم سمسٹر میں دور منتقل، ان نچلے درجے تفصیلات بہت کم دلچسپ ہو جاتے ہیں، لیکن یقینی طور پر ان خیالات کا درخواست میں کچھ بہت اصلی دنیا کو ہو سکتا ہے نتائج. ایک تھوڑا سا مزہ ہے. تم میں سے کتنے حیرت انگیز فلم آفس خلائی دیکھا ہے؟ اگر آپ ان کے ساتھ نہیں ہے، جس سے آپ کی غیر سرکاری ہے ہفتے کے لئے ہوم ورک. لیکن آفس کی جگہ میں اس فلم میں ساتھیوں کو لے، خاص طور پر اس خیال کا فائدہ، لیکن وہ اصل میں چوری کی یہ ایک اور فلم ہے کہ تم ہو سکتا ہے سے دیکھا، سال بھی پہلے. تو مجھے تم سے اس ٹریلر میں سے چند ایک پر دینے سے یہ حیرت انگیز فلم ہے اور یہ بہت زیادہ ہے تعلیمی متعلقہ ہے. [فلم ادا کرتا ہے] اصل میں، میں کیا جا رہا ہے ترقی دے رہا ہوں. میں ایک ایسا وائرس ہے جو چیر گا پروگرام کر سکتے ہیں کہ بڑا وقت لگا. ٹھیک ہے، یہ کس طرح کام کرتا ہے؟ ہر بار ایک بینک ٹرانزیکشن ہے جہاں سود ہے کمپیوٹر حساب، وہاں ہزاروں کی تعداد میں ایک دن ہیں، ختم ہو جاتی ہے ایک سینٹ کے ان مصنوعات کے ساتھ. لیکن میں غیر قانونی طور پر کچھ کرنے کے لئے نہیں کر رہا ہوں. غیر قانونی ہے؟ سمیر، یہ امریکہ ہے. آپ کو خدا کی قسم کھا کر ہے. اگر کوئی بھی اس کے بارے میں جانتا ہے لیکن ہمیں صحیح ہے، تمام؟ کوئی خاندان کے اراکین کو، کوئی گرل، کوئی نہیں. [اشراوی]. فکر مت کرو، نہیں یار، میں نے کسی کو بھی نہیں گا. [فلم ختم ہو جاتی ہے] ٹھیک ہے، تو ہو سکتا ہے میں اس فلم کا سب سے زیادہ سے زیادہ بہتر پایا یہاں کے لوگ کسی بھی صورت میں، لیکن، وائرس ہے جو وہ کر رہے تھے کی تخلیق کی کوشش کر رہے - اور فلموں میں، کسی بھی وقت وہ کچھ ایک وائرس فون کروں گا، یہ عام طور پر ایک وائرس ہے اصل میں نہیں ہے. یہ صرف ایک پروگرام ہے کہ کسی کو کچھ کرنے کی لکھا ہے. اور اس معاملے میں لوگ ایک پروگرام لکھنے کی کوشش کر رہے تھے ہے کہ ان کی کمپنی کے فائدہ اٹھایا بلایا Innotech کی کمپیوٹنگ نظام، جس میں کمپیوٹر، بھی، یہاں تک کہ جب وہ پیسہ آتا ہے، ضروری نہیں کر سکتے ہیں رقم خاص طور پر نمائندگی کرتے ہیں. تو اگرچہ آپ کو آپ کے بینک اکاؤنٹ میں 0.10 ڈالر ہو سکتا ہے، 0.10، اچھی طرح، کمپیوٹر اصل میں کہ آپ کو لگتا ہے کہ ہو سکتا ہے آپ کے بینک اکاؤنٹ میں یہ بہت سینٹ. اور تو کیا یہ لوگ کرنے کے خواہشمند تھی - اور وہ خیال چرایا ہے، سپرمین III سے پتہ چلتا ہے، جہاں رچرڈ Pryor ایک ہی کام کیا ہے - وہ بنیادی طور پر کر رہے تھے لکھنے پروگرام جو پیچھے کے تمام لے خواہش تعداد، چھوٹے، چھوٹے، چھوٹے مصنوعات کے سب پیسے، اور جو تو نے siphoning انسان صرف سوچ، اوہ، یہ صرف 0.10 ڈالر ہے وہاں، لیکن ان میں سے سب پیچھے تعداد آخر میں شامل کریں. ایک عجیب خیال تو اور اس میں hilariously backfired خاص طور پر فلم. لیکن حقیقی دنیا میں بھی، وہاں زیادہ کے بارے میں ہیں چیزوں کی ان قسم کے مضمرات. اور وجوہات میں سے ایک کمپیوٹر کے میدان میں کودو سائنس ہے، پھر، اس کے نہیں لاگو ہونے کی شرائط انجینئرنگ سائنس صرف، لیکن صرف دوسرے کو اچھی طرح کھیت. تو یہ کیا ہوا جا سکتا ہے میں ایک کم lighthearted نظر ہے، لیکن یہ بھی بہت آنکھ کھلنے ہے، میرے خیال میں، جب وہ آتا ہے سمجھنے کس طرح سروویاپی ٹیکنالوجی کی طرح کمپیوٹر اور پروگرامنگ کی یا ان دنوں، سافٹ ویئر کی شکل میں. تو یہ اگلے کلپ صرف چھ منٹ کے بارے میں ہے، جاری ہم کہاں آخری بار کو چھوڑ دیا ہے، لیکن ہمیں تھوڑا نظر کی اجازت دیتا ہے ان مسائل کے اس طرح کے ایک گہرائی میں کے بارے میں مزید. ، مجھے جہاں ہم نے بائیں آگے پر جو یہیں تھی. اور ہم چھ منٹ کے لئے دو میں سے دو حصہ ہے. [فلم کھیلیں] جدید راکٹ ٹیکنالوجی دوچار ہیں. 1991 میں، خلیج کی پہلی جنگ کے آغاز کے ساتھ پیٹریاٹ میزائل ایک اسی قسم کی تجربہ تعداد تبادلوں سے مسئلہ ہے. اور اس کے نتیجے کے طور پر، 20 افراد، 20 امریکی فوجیوں، ہلاک ہو گئے تھے اور تقریبا 100 زخمی، جب پیٹریاٹ، جو چاہیے تھا آنے والے Scuds کے خلاف کی حفاظت کے لئے، ایک میزائل کو برطرف کرنے میں ناکام رہے. جب عراق پر حملہ کر دیا کویت اور امریکہ نے ایک صحرا کا آغاز ابتدائی 1991 میں طوفان، پیٹریاٹ میزائل بیٹریاں تھے عراق سے سعودی عرب اور اسرائیل کی حفاظت تعینات Scud میزائل حملوں. پیٹریاٹ ایک امریکی درمیانی فاصلے کے زمین سے فضا میں نظام پر ہے، ریتیان کمپنی کی طرف سے تشکیل. پیٹریاٹ بلاکر خود کے سائز، اس کے بارے میں ہے 20 تقریبا طویل پاؤں اور اس کے بارے میں 2،000 پونڈ کا وزن. اور اس کے بارے میں ایک warhead اٹھانے - مجھے لگتا ہے کہ یہ تقریبا ہے 150 پونڈ. اور warhead خود ایک اعلی دھماکہ خیز مواد ہے جس ہے اس کے ارد گرد ٹکڑے. warhead کے سانچے buckshot کی طرح کام کرنے کے لئے ڈیزائن کیا گیا ہے. میزائل کنٹینر فی چار کئے ہیں اور ایک نیم ٹریلر کی طرف سے منتقل. پیٹریاٹ اینٹی میزائل نظام میں کم سے کم کرنے کے لئے واپس چلا جاتا ہے 20 سال. یہ اصل میں ایک فضائی دفاعی میزائل کے طور پر ڈیزائن کیا گیا تھا نیچے دشمن کے ہوائی جہاز کو خلیج کی پہلی جنگ میں گولی مار. جب کہ جنگ کے ساتھ ساتھ آئے تھے، فوج نے اسے گولی مار کرنے کے لئے استعمال کرنا چاہتا تھا Scuds، نہیں ہوائی جہاز کے نیچے. ایئر عراقی فوج نے ایک مسئلہ کے بہت نہیں تھا، لیکن فوج Scuds کے بارے میں فکر مند ہے. اور اس طرح انہوں نے پیٹریاٹ کو اپ گریڈ کرنے کی کوشش کی ہے. Intercepting دشمن 5 مچ میں سفر میزائل جا رہا تھا کافی چیلنج کیا جائے گا. لیکن جب پیٹریاٹ کی خدمت میں لے جایا گیا تھا، فوج کہ ان کے نے ایک عراقی ترمیم کے بارے میں معلوم نہیں تھا تقریبا ناممکن مارا Scuds. کیا ہوا Scuds تھی میں آنے والے عدم استحکام کا شکار تھے. وہ wobbling گیا تھا. اس کی وجہ عراقی تھا، میں 600 حاصل کرنے کے لئے ایک 300 کلومیٹر رینج کے میزائل کا کلومیٹر لیا، سامنے warhead سے باہر وزن اور warhead ہلکا کیا. تو اب پیٹریاٹ Scud میں آنے کی کوشش کر رہے ہیں، اور سب سے زیادہ وقت، وقت کی بھاری اکثریت، یہ کریں گے صرف Scud کی طرف سے پرواز. ایک بار پیٹریاٹ نظام آپریٹرز پیٹریاٹ احساس ہوا اس کا ہدف یاد، انہوں نے پیٹریاٹ warhead اڑا دیا. ممکن جانی نقصان سے بچنے کے لئے، یہ اجازت دی گئی تھی زمین پر گر. یہ تھا جو سب سے زیادہ لوگوں نے دیکھا کہ آسمان میں بڑے fireballs کے طور پر، اور Scud ہتھیاروں کے پکڑے کے طور پر غلط فہمیاں پائی جاتی ہیں. اگرچہ، رات آسمان میں، محب وطن ہو شائع کامیابی سے تباہ Scuds Dhahran میں، کوئی ہو سکتا ہے اپنی کارکردگی کے بارے میں غلطی. آمدید، پیٹریاٹ کے رڈار نظام ایک کا ٹریک کھو دیا آنے والے Scud اور شروع کی وجہ سے کبھی نہیں ایک سافٹ ویئر کے دوش پر. یہ اسرائیلیوں کو جو سب سے پہلے دریافت کیا تھا کہ اب نظام تھا، زیادہ وقت تضادات پائے جانے کے بنے، نظام کے کمپیوٹر میں سرایت گھڑی کی وجہ سے. Dhahran، میں سانحہ سے پہلے کے بارے میں دو ہفتوں اسرائیلی محکمہ دفاع کی رپورٹ کے مطابق نظام وقت ہار رہا ہے. چلانے کے آٹھ گھنٹے کے بعد، انہوں نے محسوس کیا ہے کہ نظام کافی کم درست ہوتا جا رہا تھا. محکمہ دفاع نے سب کو کہہ کر جواب پیٹریاٹ بیٹری نظام نہیں چھوڑ ایک طویل وقت کے لئے. انہوں نے کبھی نہیں کہا ہے کہ ایک طویل وقت تھا - 8 گھنٹے، 10 گھنٹے، 1،000 گھنٹے. کوئی نہیں جانتا تھا. پیٹریاٹ بیٹری Dhahran میں بیرکوں میں تعینات اور اس کے نظم و ضبط میں بہت سی خامیاں ہیں جن کی بنا پر اندرونی گھڑی پر 100 سے زائد گھنٹے رہا تھا فروری کی رات 25th. یہ ایک دوسرے کے دسویں کے بارے میں ایک درستگی کا وقت پتہ لگایا. اب دوسرے کی دسویں ایک دلچسپ تعداد ہے کیونکہ یہ بائنری میں نہیں کیا جا سکتا ہے کا اظہار کیا، بالکل، جس کا مطلب یہ بالکل کسی بھی میں کا اظہار نہیں کیا جا سکتا جدید ڈیجیٹل کمپیوٹر. یہ مشکل ہے یقین. لیکن ایک مثال کے طور پر اس کا استعمال کریں. کی تعداد ایک تہائی ہے. ایک تہائی دشملو میں نہیں کیا جا سکتا ہے کا اظہار کیا، بالکل. ایک تہائی 0،333 انفینٹی کے لئے جا رہی ہے. کوئی دشملو میں مکمل درستگی کے ساتھ کرنے کا ایک طریقہ ہے. یہی اس مسئلے کا ایک ہی قسم ہے کہ میں بھی ایسا ہی ہوا تھا پیٹریاٹ. اب نظام بھاگ گیا، برا وقت غلطی بن گیا ہے. آپریشن کے 100 گھنٹے کے بعد، وقت میں غلطی صرف تھا ایک کے بارے میں ایک دوسرے کے تیسرے. لیکن، 5 مچ میں سفر میزائل کی ھدف بندی کی شرائط میں، اس نے 600 سے زائد میٹر سے باخبر رکھنے کی غلطی کے نتیجے میں. Dhahran میں فوجیوں کے لئے یہ ایک مہلک غلطی ہو گی. کیا ہوا ایک Scud آغاز ہے ابتدائی انتباہ کی طرف سے پایا گیا تھا مصنوعی سیارہ اور وہ جانتے تھے کہ Scud ان میں آ رہی تھی عام سمت. وہ جانتے ہیں جہاں وہ آ رہا تھا نہیں تھا. اب یہ پیٹریاٹ کے ریڈار جزو تھا اس نظام کا دفاع Dhahran، کا ٹریک رکھنے کے لئے تلاش آنے والے دشمن میزائل. ریڈار بہت ہوشیار تھا. آپ Scud کی پوزیشن اصل میں اور اس کے بعد سے باخبر رھنے کے گے جہاں یہ شاید اگلی بار ہو جائے گا کی پیشن گوئی ریڈار ایک پلس بھیجا. یہ رینج دروازے بلایا گیا تھا. اس کے بعد، ایک بار پیٹریاٹ کا فیصلہ کافی وقت گزر گیا ہے چیک کرنے کے لیے حمایت اور اس کا پتہ چلا کے لئے اگلے مقام اعتراض، وہ واپس آ جاتا ہے. تو جب یہ غلط جگہ پر واپس چلا گیا، دیکھ لیا تو کوئی اعتراض کرتے ہیں، اور یہ فیصلہ کرتا ہے کہ کوئی اعتراض نہیں تھا. یہ ایک جھوٹ کا پتہ لگانے اور ٹریک قطرے. آنے والے Scud ریڈار اسکرین سے غایب ہو گیا. اور بعد میں اور بیرکوں میں slammed. Scud 28 ہلاک اور گزشتہ کے دوران فائرنگ سے ایک تھا خلیج کی پہلی جنگ کے. بدقسمتی سے، اپ ڈیٹ کر سافٹ ویئر Dhahran پر پہنچے اگلے دن. اور سافٹ ویئر دوش مقرر کیا گیا تھا، میں ایک باب بند پیٹریاٹ میزائل کے شورش زدہ تاریخ. اصل میں محب وطن "مرحلہ وار لڑی سے باخبر رکھنے کے لئے مخفف ہے کے ہدف کا پکڑ. " ٹھیک ہے، نہیں بہت بہت بہت زیادہ دکھی نتیجہ اس دنیا کو سمجھنے. اور takeaway، سچ میں، فلم کی طرف سے ہے کہ حل اپنے میزائل دفاعی نظام ربوٹ کیا گیا تھوڑی ہی دیر میں ہر ایک بار. اور تو پھر یقینی طور پر، اس کورس کے مقاصد میں سے ایک، یہ اطلاقات کے مقابلے میں ایک زیادہ شائستہ پیمانے پر ہے تمہارے بارے میں کس طرح جانے کے لئے واقعی کھلے سب کی آنکھوں بنانے مشینیں ہے کہ آپ ان سے کیا چاہتے ہیں اور کس طرح تم جاؤ کے بارے میں صحیح طریقے سے کہ کر رہی ہے، جبکہ اس کے راستے میں کیا کر رہی ٹھیک ہے، elegantly، اور وغیرہ. اور آج ایسا ہے، تو ہم اس کا ایک چھوٹا سا تھوڑا سا میں کودو، لیکن تاکہ ہم خاص طور پر ان لوگوں سے کم کے لئے بہت تیز ہو نہ، آرام دہ اور پرسکون، لیکن یہ بھی تو ہے کہ ہم کے مفاد برقرار رکھنے کر سکتے ہیں ان لوگوں کو زیادہ آرام دہ اور پرسکون، صرف فوری طور پر تھوڑی سی کے ساتھ شروع ان خیالات کے کچھ recap. اور پھر دونوں سے ذاتی طور پر یا آن لائن، دور سے پوچھو،، اگر آپ کے پاس سوال تو ہم سب کو ایک ہی صفحے پر رکھ سکتے ہیں. تو CS50 آلات، جلد واپس قدم ہے، آپ کے اپنے الفاظ میں، کیا؟ یہ ٹھیک ہے اگر آپ کو کوئی اندازہ نہیں ہے جو ان الفاظ کو ابھی تک ہو سکتا ہے ہے. [اشراوی] ٹھیک ہے، تو ایک عالمگیر کے لئے انٹرفیس - ہم اس کا اشتراک کر سکتے ہیں. بالکل. تو ہم نے مثال کے طور پر، آپ کو کچھ لوگوں کے جانے کے بتا سکتا ہوں ویب سائٹ، میک OS کے لئے اس سافٹ ویئر کو ڈاؤن لوڈ، اتارنا. ونڈوز کے لئے اس سافٹ ویئر کو ڈاؤن لوڈ، اتارنا، میں ترتیب دیں اس طرح اور یہ کہ. لیکن حقیقت تو یہ ہے کہ ہم گنت تکنیکی میں چلاتے ہیں مسائل کی حمایت کرتے ہیں. اور بھی ان دنوں، سرور سائیڈ کیا جا رہا ہے کے زیادہ تر کمپیوٹنگ کی دنیا میں، خاص طور پر جب یہ آتا ہے ویب کی ترقی اور ویب پر مبنی ایپلی کیشنز، اصل میں ہے اکثر یونیکس یا لینکس کمپیوٹر پر کیا گیا ہے، کے طور پر کی مخالفت Macs یا ونڈوز پی سی. تو upsides میں، تو، اس چیز کا استعمال کرتے ہوئے کی سے ملاقات کی CS50 آلات ہے کہ ہم ایک ہی ماحول پڑے گا. تو ہر کسی کو ایک ہی صفحے پر نہیں، تم کیا ہارڈویئر بات ہے کے ساتھ کیمپس پر آئے بلکہ بالکل میں رکھا جائے dabbling گا وہی ماحول ہے کہ آپ کی طرف کا استعمال کریں گے سمسٹر کے طور پر اچھی طرح سے کے لئے آخر ویب کی ترقی، کے ساتھ ساتھ حقیقی دنیا اس ایپلی کیشنز کے لیے مستقبل. تو زیادہ concretely، CS50 آلات ایک مفت کا ٹکڑا ہے سافٹ ویئر ہے کہ آپ کو ایک اور آپریٹنگ سسٹم کو چلانے کے لئے کی اجازت دیتا ہے ہے، لینکس، اس صورت میں، آپ کے اپنے کمپیوٹر پر، ایک ونڈو میں. اب تم صرف آلات نہیں ڈاؤن لوڈ کر سکتے ہیں. تم نے جس کے ساتھ یا چلانے کے لئے آلات کھیلنے کے ایک پروگرام کی ضرورت ہے. اور سافٹ ویئر کے اس کے ٹکڑے کو عام طور پر ایک کے طور پر جانا جاتا ہے hypervisor. Hypervisors VMware طرح کی مصنوعات کی شکل میں آتے ہیں، مجازی باکس، Parallels. سب طرح کی کمپنیوں کے سافٹ ویئر، دونوں مفت اور تجارتی، یکساں ہے. کیا آپ کو مصیبت میں دیکھ لیں گے 1 سیٹ کس طرح پر دی گئی ہدایات پر ہیں آزاد سافٹ ویئر حاصل جس کے ساتھ CS50 آلات چلا رہے ہیں. اور ایک بار تم، آپ، اپنے میک یا پی سی پر ایک ونڈو میں پڑے گا، ایک ڈیسک ٹاپ ماحول ہے جو کہ بالکل اس طرح لگ رہا ہے، جہاں اس میں اسٹارٹ مینو کی طرح بات ہے نیچے کونے بائیں ہاتھ. یہ سب سے اوپر بائیں سمت میں ایک گھر، فولڈر، یا ہوم ڈائریکٹری ہے، ، ردی کی ٹوکری، وغیرہ کر سکتے ہیں اور. تو ہم علاوہ ہمیں جانا ضروری تفصیلات چڑھاو گے. لیکن اب سی میں کودو شروع تو C یہ پروگرامنگ زبان ہے، روح میں اسی طرح کے سکریچ، لیکن اب تک کم گرافیکل، وڈمبنا ہے لیکن اب تک، زیادہ طاقتور ہے ایک بار تم اس کے ساتھ پریمی ملتا ہے. تو C میں، ہم ماخذ کوڈ لکھنے کی طرف سے پروگراموں لکھتے ہیں، جو یہ انگریزی کی طرح نحو، موزوں اورجرابوں پر اسی طرح مظاہرہ ہے کہ ہم نے آخری بار ہے جو آپ کو کرنے کی اجازت دیتا ہے کیا خود کافی واضح طور پر اظہار، اگر arcanely، کمپیوٹر. تو آپ کس قسم کی مصنوعات کی سافٹ ویئر کی اصل ضرورت ہے C کی طرح ایک زبان میں پروگراموں ہمارے پر کی بنیاد پر لکھنے، پیر کے روز بات چیت؟ [اشراوی] ٹھیک ہے، آپ کے پاس صرف ایک ٹیکسٹ ایڈیٹر کی ضرورت ہے. آپ کو کسی مخصوص سافٹ ویئر کی ضرورت نہیں ہے فی SE پروگراموں کو لکھنے کے لئے ہے. آپ کو صرف ونڈوز نوٹ پیڈ کی طرح ٹیکسٹ ایڈیٹر، کی ضرورت ہے، میک پر TextEdit، یا کی دنیا میں سے ملاقات کی gedit کچھ، لینکس، جو ہم یہاں استعمال کریں گے. اور یہ کہ یہ ہے، پروگراموں لکھنے. لیکن تحریری مساوات میں سے صرف نصف ہے. اس کے بعد آپ کو ان کو چلانے کے لئے کی ضرورت ہے. لیکن کے لئے پروگراموں کو چلانے کے لئے - آپ کے منبع کوڈ کو نہیں چلا سکتے ہیں. تم بجائے اس کا کیا سب سے پہلے کیا کرنا ہے؟ جی ہاں. DAVID J. MALAN: آپ کی ضرورت ہے تالیف. اور کسی اور منبع کوڈ مرتب کا مطلب ہے کہ - [اشراوی] DAVID J. MALAN: بالکل. zeros اور ہیں یہ ترجمہ ہے. کیونکہ ان دنوں ہم سب، کمپیوٹر جو CPUs ہے ہے، جن میں سے تقریبا تمام نامی انٹیل کمپنی کی طرف سے بنائی گئی ہے، کر رہے ہیں اور انٹیل کے اندر کا مطلب ہے، آپ کی اس کے دماغ کے اندر ہے کمپیوٹر، CPU کے طور پر جانا جاتا ہے. اور چیزیں ہیں جو کہ دماغ کرتا ہے میں سے ایک ہے، اسے جانتا ہے zeros اور ہیں کے نمونوں کو کس طرح سمجھ. یہ جانتا ہے کہ کیا بٹس کی طرز کے علاوہ کی نمائندگی کرتا ہے، کیا پیٹرن subtractions کی نمائندگی کرتا ہے، کیا پیٹرن کی بٹس، پرنٹنگ اور کی نمائندگی کرتے ہیں ایک شروی آواز پیدا. اتنی مختصر میں، CPU، آپریٹنگ سسٹم کے ساتھ مل جس میں سافٹ ویئر کا ایک ٹکڑا ہے جو CPU کے سب سے اوپر پر چلتا ہے، تو بات کرنے کے لئے. ایک ساتھ مل کر، ان دو ٹکڑوں کو پتہ ہے کہ کس طرح پروگرام کو چلانے ہم انسان لکھتے ہیں. تو اگر میں CS50 آلات میں یہاں جانا ہے، میں کھولنے کی ضرورت ہے ایک ٹیکسٹ ایڈیٹر کے اوپر اور میں اس تک رسائی حاصل کر سکتے ہیں طریقوں میں سے ایک جوڑے میں. میں مینو یا تو جا سکتے ہیں، پروگرامنگ اور میں تو منتخب کر سکتے ہیں - نہیں، وہ مینو نہیں ہے. میں اشیاء پر جانا / کھول gedit کر سکتے ہیں میری چھوٹی ٹیکسٹ ایڈیٹر ہے. یا اس سے زیادہ آسانی سے، میں سب سے نیچے میں اس چھوٹے سے آئکن کلک کر سکتے ہیں بائیں ہاتھ کونے. اور اب میں اس ماحول کو یہاں ملے. یہ ایک سادہ ٹیکسٹ ایڈیٹر کے بہت یاد تازہ ہے، صرف کے ساتھ ایک یا ایک سے دو اختلافات. سب سے اوپر میں، اس جہاں کرسر ٹمٹمانے ہے، وہ جگہ ہے جہاں میں اپنے کوڈ لکھنے شروع کر سکتے ہیں. نیچے میں اس بات کو ٹرمینل دریچہ کہا جاتا ہے. اور جو قسم کی چیزوں کی میں اس میں کیا کر سکتے ہیں ٹرمینل دریچہ نام نہاد؟ [اشراوی] ٹھیک ہے، تو میں حکم چلانے گے. اور حکم ہم نے پیر کو بھاگ گیا کچھ چھوٹے تھے کی فہرست کے لئے خفیہ پہلی نظر میں، LS لیکن تبدیلی کی ڈائریکٹری کے لئے سی ڈی، RM، کے لئے ہٹا دیں. تو یہ اپنے گشت کا ایک طریقہ پرانے اسکول کی طرح ہے کمپیوٹر، صرف اپنے کی بورڈ اور ٹیکسٹ حکم کا استعمال کرتے ہوئے، اور عام طور پر، نہیں، ماؤس کا استعمال کرتے ہوئے. لیکن ہم طویل عرصے سے پہلے دیکھیں گے، اصل میں ہمیں ایک دیتا ہے کچھ زیادہ طاقت اور جس کے ساتھ کچھ اور صحت سے متعلق خود کرتے ہیں. اور پھر یہاں بائیں میں، ہم صرف دیکھنے جا رہے ہیں، جیسا کہ ہم نے لکھنے کا سافٹ ویئر، کا ایک چھوٹا سا خلاصہ شروع پروگرام ہے کہ ہم نے سب سے اوپر بائیں میں لکھا ہے. لیکن ہم نے بہت پہلے پھر سے نظر آئے گی. تو کافی سادہ یہاں کچھ کرنا. مجھے سب سے پہلے آگے بڑھو اور محفوظ کرنے کے لئے فائل، اور میں صرف ہوں jharvard یہاں پر کلک کریں گے، بائیں سے زائد jharvard ہے، پھر میرے گھر کے فولڈر کے لئے نام، میرا ذاتی فائلوں، آپ کے وزٹرز کا ریکارڈ رکھا، اب کیا جا رہا ہے جان ہارورڈ، تم سب کو جان ہارورڈ نے جلد ہی اس ماحول میں ہو جائے گا. وہ اس کے گھر کی ڈائریکٹری ہے، میری دستاویزات اور وغیرہ، کہ میں، اب کو بچانے کے لئے کرنا چاہتے ہیں، اس کے اندر فائل تو میں اسے hello.c فون کرنے جا رہا ہوں. پھر میں جا رہا ہوں آگے محفوظ کریں اور، اور اب میں یہاں ایک ٹیب ہے پر کلک کریں کہا جاتا hello.c اتنا ایڈیٹر کی ایک اور قسم کی طرح،. تو اب ہم آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور ایک پروگرام لکھنا شروع. int اہم (باطل). اور پھر میں نے آخری بار کیا، printf کے لئے، پرنٹ فارمیٹ ("ہیلو دنیا! ). تقریبا مکمل ہے. لیکن میں تفصیلات کے ایک جوڑے کی کمی محسوس کر رہا ہوں. اس پروگرام ہے کہ میں واقعی کی ضرورت سے کیا غائب ہے یہ اصل میں مرتب ہے؟ جی ہاں. [اشراوی]؟ DAVID J. MALAN: جی ہاں، تو میں معیار کو شامل کرنے کی ضرورت ہے I / O لائبریری. اس کی ضروریات کو اہم اوپر جانے کے لئے، تو میں صرف جا رہا ہوں تاکہ کمرے میں اس کے لئے کچھ وہاں ہے. اور میں # شامل کرنے جا رہا ہوں. اور angled بریکٹ نوٹس اور ایک طرف ایک gedit ایک چھوٹا سا صارف دوست ہے، اگر کبھی کبھی تھوڑا سا مبہم ہے، کہ میں اس کی مدد کرنے کی کوشش کرتا ہے اپنے آنکھیں کس کے ساتھ کیا لائنوں نوٹس تو حقیقت یہ ہے کہ میرے کا کرسر اس angled اگلے ہے بریکٹ نوٹس، کہ یہ کس طرح دوسرے angled اجاگر ہے بریکٹ کے علاوہ کسی کو اس. اور یہ صرف اس بات کی میری توجہ اپنی طرف متوجہ کرنے کے ہے کہ میں توازن ہے. اور پروگرامنگ میں توازن عام طور پر ایک اچھی بات ہے. اسی طرح، محسوس، اگر میں آخر تک میرے کرسر منتقل، کس طرح گھوبگھرالی منحنی خطوط وحدانی لائن ظاہر ہے کہ جی ہاں، میں نے ایک کھلا ہے اور بند، تو بات کرنے کی. ٹھیک ہے، اور میں ایک اور کام کر سکتے ہیں. یہ سختی ضروری ہے، لیکن اچھی پریکٹس نہیں ہے، کا کہنا ہے کہ 0 واپس. اور بدلے 0 ہمارے لئے یہاں کیا کرتا ہے؟ تو کیا ابیوینجک ہے؟ [اشراوی] DAVID J. MALAN: لیکن کچھ غلط نہیں ہے. اور واضح طور سے یہ مشکل ہے میں غلط اس چھوٹے سے پروگرام. لہذا میں نے صرف سپر واضح ہو رہا ہوں کہ سب کچھ ٹھیک ہے. میں، انسان، جب میں اس پروگرام چلاتے ہیں، شاید کبھی نہیں 0 یہ دیکھ. عام طور پر، ان کی تعداد کہ اہم سے واپس جا رہے ہیں صرف انسانوں جب ان کے سر ریئر کچھ غلط ہو جاتا ہے. اور تم ہوئے کہا کہ نظام کی خرابی کے تھوڑا پاپ ملتا ہے، ایک، دو، تین، یا جو کچھ بھی نمبر یہ تھا کہ اصل میں واپس. تو اور اس کے ساتھ کچھ غلط ہے؟ [اشراوی] DAVID J. MALAN: تو یہ اتنا فعال غلطی نہیں ہے لیکن ایک جمالیاتی ایک ہے. میں ایک newline کردار میں شاید وہاں میں رکھنا چاہئے تاکہ میں اس جملے کے آخر ہم اصل میں کرسر کو منتقل کرنے کے اگلی لائن، اور پروگرام صرف تھوڑا خوبصورت لگ رہا ہے. تو اب مجھے میرے ٹرمنل ونڈو کے نیچے جاؤ اور واپس اندر زوم اور یہاں یہ بات ہے، یہ فوری طور پر کہا جاتا ہے. یہ صرف آپ کے وزٹرز کا ریکارڈ رکھا یاد ہے کہ میں کون ہوں، jharvard @ آلات، جہاں آلے کمپیوٹر میں ہوں کے نام پر ہے. قوسین میں یہ کی ٹلڈا، squiggle علامت ہے، جس جو کی نمائندگی کرتا ہے؟ سامعین: ہوم ڈائریکٹری. DAVID J. MALAN: ہوم ڈائریکٹری. جو کہ تم میں ہیں کے لئے ایک آشلپی سنکیتن ہے تو آپ کی ذاتی فولڈر جہاں اپنے تمام فائلوں کی ڈیفالٹ کے ذریعہ. تو اب، یہاں، میں فہرست کے لئے LS ٹائپ کر سکتے ہیں. اور صرف ایک چیز میں اس وقت یہاں دیکھ hello.c ہے. اور یہ اچھا ہے کیونکہ میں صرف یہ لکھا ہے. تو آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور خوش کرنا. نوٹس اور میں ٹائپ hello.c بنا رہا ہوں. اس کے بجائے، میں صرف فائل کی بنیاد نام ٹائپ کر رہا ہوں، ہیلو. اور، جیسا کہ ہم نے پیر کو دیکھا، صرف یہ ہے کہ میں چاہتا ہوں کہ نتیجہ نکالنا گا سی فائل. تو اب میں ٹائپ بنانے ہیلو ہے. اب میں یہ کافی طویل کمانڈ دیکھتے ہیں اور جاری رہے گا یہ بار بار دیکھ کر. لیکن واضح، بجنا، لفظ جو صرف شائع، جو اصل سنکلک ہے. صرف تعمیر افادیت ہے. یہ صرف ایک سے زیادہ صارف دوست پروگرام ہے جو آپ کے وزٹرز کا ریکارڈ رکھا بچاتا ہے، طویل عرصے سے ٹائپ کرنا ناقابل یقین حد تک طویل تکاؤ کرنے سے چلانے، ایک اس طرح کا حکم دیتا ہے. تو آپ بجنا دستی طور پر چلا سکتا ہے. آپ کو دستی طور پر اس بات کا سب کو ٹائپ کر سکتے ہیں. بس بہت تکاؤ ہو جاتا ہے. اور اس طرح صرف ایک پروگرام ہے جو ہماری زندگی آسان ہے اور ہمارے لئے زیادہ پیچیدہ حکم چلاتی ہے. ٹھیک ہے، تو اب کیا فائل میں ہونا چاہئے اپنے موجودہ ڈائریکٹری میں؟ نہ صرف hello.c بلکہ ہیلو. تو اگر میں چلانے ہیلو چاہتے ہیں یاد ہے، کہ میں ڈاٹ سلیش کا کہنا ہے کہ، نقطہ کا مطلب ہے موجودہ فولڈر، تم جہاں بھی میں کہاں ہیں، اور تو پروگرام کا کہا جاتا ہیلو چلائیں، اور یقینا، اب، میں نے ہیلو دنیا ہے. ٹھیک ہے، کام کے فلو کو کوئی سوال یا نحو کیا ہم صرف کیا؟ ٹھیک ہے، تو چلو نشان تک چیزوں کو دوبارہ لے. تو یہ صرف ایک پروگرام لکھنے underwhelming کیا گیا کہ صرف کبھی ہیلو دنیا کا کہنا ہے کہ. تو ہم نے اسے تبدیل کر دیا گیا، پیر کو، کہنے، ہیلو، ڈیوڈ. یہ تھوڑا زیادہ ذاتی معاملہ ہے، لیکن کے طور پر مشکل کے طور پر کوڈت پہلا ورژن. تو وہ سب مجبور نہیں ہے. لیکن C میں موجود ہے، کام کرتا ہے اس کے علاوہ ضرور پرنٹ، کام کرتا ہے کہ آپ صارف کی ان پٹ حاصل. اور جس طرح ہم نے یہ کیا ہے، دوسرے دن، مندرجہ ذیل تھا. اس سے پہلے کہ میں واقعی کچھ پرنٹ، میں نے سب سے پہلے ہے صارف سے کچھ. تو مجھے یہ پھر سے کرتے ہیں. سلک S، جہاں کی صرف ایک صوابدیدی کے لئے نام، یہاں، ہے سٹرنگ، GetString برابر. تو کیا GetString گیا تھا؟ یہ ظاہر ہے ایک تار اس کے نام کی بنیاد پر ہو جاتا ہے،. لیکن یہ کیا ہے، زیادہ تکنیکی؟ یہ ایک تقریب ہے. تو یہ ایک تقریب ہے جو SE فی C کے ساتھ نہیں آتی ہے. CS50 عملے یہ لکھا تھا. اور اس طرح اس کا استعمال کرنے کے لئے، آپ کو صرف stdio.h شامل نہیں کر سکتے ہیں، تم بھی کیا شامل کرنے کے لئے کی ضرورت ہے؟ جی ہاں. cs50.h، جس میں صرف ایک فائل ہے تو ہم نے کچھ سال پہلے لکھا. ہم اس کے ساتھ ساتھ آپ کے لئے آلے پر نصب معیاری فائلوں کی. اور اس طرح ہم نے کلاس کے ان پہلے چند ہفتوں میں استعمال کریں گے، یہ صرف بہت بنیادی کرنے کے عمل کو آسان کرنے کے لئے چیزیں ہو رہی ہے صارف کی ان پٹ کی طرح. کیونکہ میں کے طور پر ہم چند ہفتوں میں دیکھیں گے، ہو رہی ہے صارف کی ان پٹ C طرح زبان اصل میں حیرت انگیز پیچیدہ ہے، خاص طور پر کیونکہ آپ پہلے سے نہیں جانتے، عام طور پر، کس طرح زیادہ چیزیں صارف اندر ٹائپ کی جا رہی ہے اور تم جب پتہ نہیں کس طرح زیادہ ڈیٹا کی توقع کرتے ہیں، تم نہیں جانتے کتنی میموری مختص. اور اگر آپ واقعی ایک معاندانہ کرنے والے صارف کی کوشش کر رہا ہے ہے آپ کے سسٹم میں ہیک کرنے کے لئے، آپ کے کمپیوٹر سے کریش ہوا، ٹھیک ہے، عام طور پر حملے کی پہلی طریقہ ہے، بالکل اسی طرح جیسے میں نے کیا پیر، بے ترتیب حروف کی ایک پوری طویل ترتیب ٹائپ کریں، درج کریں مارا، اور دیکھتے ہیں جو ٹوٹ جاتا ہے. کیونکہ عام طور پر، ایک پروگرام ٹوٹ اگر کہ طرف اشارہ ، ممکنہ طور پر ایک سیکورٹی دوش. اس بات کو یقینی طور سے اپنے آپ کو اشارہ کیا، پروگرامر، ہے ایک بنایا غلطی کی ہے، لیکن زیادہ خطرناک، آپ نے شاید ایک غلطی سیکورٹی سے متعلق، اور ہم عام طور پر دیکھیں گے کہ دونوں اس طرح مشینوں کو اس دن سے سمجھوتہ کر رہے ہیں، میں ویب اور پروگراموں کی دنیا میں اس طرح کمانڈ لائن. ٹھیک ہے. تو سٹرنگ کے برابر GetString. تو concretely اب، 6 لائن یہاں کیا کرتا ہے؟ تو دائیں طرف کے تقریب تار ہو جاتا ہے، کتنے دلائل لگتا ہے؟ ٹھیک ہے. تو نہیں ہے. ایک چھوٹا سا وویک چیک کرنے کے لیے. ایک دلیل ہے، پھر، صرف ایک تقریب میں ایک ان پٹ تبدیل کسی طرح سے اس کا بنیادی رویہ. لیکن اس معاملے میں، میں تبدیل کرنا نہیں ہے GetString کے رویے. میں صرف ایک تار کو حاصل کرنے کے لئے کرنا چاہتا تھا. تو میں قوسین میں کچھ نہیں دیا، اور پھر میں ڈال نیم وقفہ کوڈ کے لائن کے آخر demarking. اب، علامت برابر ہے برابر کا مطلب یہ نہیں ہے، SE فی. جو یہ تفویض کا مطلب ہے، ڈال جو کچھ بھی ہو جاتا ہے کا مطلب ہے بائیں پر جو کچھ بھی ہے کے دائیں اندر outputted. تو بائیں جانب، ہم کہتے ہیں کہ ہم نے اعلان کر دیا ہے سٹرنگ ملاقات کی. اور خاص طور پر ہم کے اندر میموری مختص ہے جو ہم بٹس ہے کہ میں ایک ہی تسلسل کی نمائندگی کرتا ہے ڈال دیتا ہوں حروف. لیکن آج کے لئے، ہم مختص ہے یا ایک تار کا اعلان کر دیا ہے. ٹھیک ہے. تو اب ایک بار میں نے یہ کیا ہے، میں کی قدر میں ہونا چاہتے ہیں S، داؤد کی قدر نہیں ہے. تو یہ غلط کیوں ہے؟ تو یہ صرف لفظی S مشکل کوڈت ہے. "ہیلو، S،" کا کہنا ہے کہ جو نہیں ہے جو میں چاہتا ہوں ہے. لہذا میں نے یہ کر سکتے ہیں. فیصد نشان پلیس ہولڈر ہے، لیکن اب مجھے کرنے کی ضرورت ہے ایک دوسری دلیل پرنٹ میں گزرتا. کو یاد ہوگا کہ کاموں کے دلائل کی طرف سے الگ کر رہے ہیں کی علامت، تو اگلے یہاں کوما میں نے اس کے خط کے بعد رکھ دیا. اور اب اس سلسلے میں ایس متغیر ہے، اور printf ان دو آدانوں حاصل کرنے صلی اللہ علیہ وسلم - دائیں بائیں اور متغیرہ کا نام S سٹرنگ - یہ ہمارے لئے سابق میں آخرالذکر ہونا، اور صرف ایک اچھا خوبصورت مشتمل سٹرنگ پرنٹ جو کچھ بھی اس کا یہ ہے کہ ہم اندر ٹائپ تو اس کی کوشش ہے. آگے جاؤ اور باہر زوم، واپس جا میرے ٹرمینل دریچہ. کے نیچے دیے گئے یہاں زوم. Retype بنانے ہیلو. بجنا گیا ہے rerun ہے لگتا ہے. میں ٹائپ جا رہا ہوں / ہیلو درج کریں. ابھی تک کچھ بھی نہیں ہو رہا ہے، لیکن اس سے یہ فوری طور پر ہے کہ میں نیٹ کی طرح کچھ ٹائپ کر سکتے ہیں، درج کریں، اور اب ہم نے ہیلو، نیٹ. اور میں یہ روب کے ساتھ پھر سے کرتے ہیں، کر سکتے ہیں اور وغیرہ. تو امید ہے کہ اب اس پروگرام ایسے برتاؤ کر رہی ہے جیسا کہ میں نے کا ارادہ رکھتے ہیں. اب دوستانہ، تمام کہ صارف نہیں ہے. مجھے کوئی اندازہ نہیں ہے جو مجھ سے کیا جا رہا ہے کی توقع ہے. تو کیا ہم تھوڑا سا اس ضرور صاف کر سکتے ہیں. مجھے واپس یہاں، اور اس کی بجائے صرف میں گوتاکھوری اور ایک تار کے لئے صارف سے پوچھ، مجھے واضح طور پر بتا صارف جو میں توقع کر رہا ہوں. تو printf ("ایک تار درج کریں:" ؛) تو کوئی یہاں متغیر. فیصد علامات نہیں ہیں. صرف سادہ انگریزی جملے. مجھے اب نیچے جاؤ اور میرا پروگرام rerun. لیکن کچھ بھی نہیں تبدیل کر دیا ہے لگتا ہے. کیوں؟ میں یہ recompile ہے. آسان غلطی تو بنانے کے لئے. لیکن آپ نہ صرف فائل کو بچانے کے لئے ہے لیکن پروگرام recompile. اور اگر ایسا ہے تو میں چلانے کو دوبارہ ہیلو، اب بجنا چلاتی ہے. اب میں چلانے / ہیلو کرسکتے ہیں. اور اب میں دیکھ کر "ایک تار درج کریں:". ٹھیک ہے. اب یہ تھوڑا زیادہ صارف دوست ہے. نیٹ درج کریں، ہیلو، نیٹ. چلو، پھر سے کوشش کریں اور سوچ شروع کونے مقدمات کے بارے میں. تو صرف شروع میں چاہیں، تو آپ کی حوصلہ افزائی کر رہے ہیں یا کر رہے ہو رپورٹ میں حوصلہ افزائی کی طرح کیا جا سکتا کے بارے میں سوچنا غلط ہے اگر آپ کو سب کچھ صارف کر سکتے اندازہ نہیں ہے. کیڑے، لہذا ensue، ہو سکتا ہے. تو ایک تار میں داخل - ایک کونے کیس کیا ہے؟ جائزہ ہے کہ میں پروگرامر نہیں ہو سکتا ہے کیا متوقع؟ جی ہاں. ٹھیک ہے. تو کیا ہوا اگر میں نے اس طرح ایک بڑی تعداد میں ٹائپ کریں؟ ٹھیک ہے. تو یہ اب بھی کام کر رہا ہے. Gramatically کوئی احساس نہیں کرتا ہے. لیکن کم از کم پروگرام کام کر رہا ہے. ایک اور کونے کیس کیا ہے؟ کچھ مجھے توقع نہیں تھی. جی ہاں؟ ٹھیک ہے. تو ہم نے ایک بہت، بہت بڑی تعداد کی طرح کچھ کر سکتے ہیں. تو یہ یہاں کیا ہیں. کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے ایک لمحے کے لئے باہر زوم، آپ کے وزٹرز کا ریکارڈ رکھا اجاگر. کاپی کریں اور یہاں پیسٹ کر سکتے ہیں. ٹھیک ہے. تو تو میں کاپی کریں اور اس ٹرمنل ونڈو میں پیسٹ کر سکتے ہیں، ہم کریں گے صرف یہ انکرن. مجھے باہر زوم، لپیٹ جا. میں بہت لمبے وقت تک کے لئے یہ کرنا نہیں کر رہا ہوں، کیونکہ یہ نہیں کریں گے اصل میں اس پروگرام میں توڑ. لیکن یہ کر سکتا تھا. درج کریں. لیکن اس نے ایسا نہیں کیا. ٹھیک ہے. لیکن یہ ایک حقیقی کونے کا معاملہ ہے. اور صرف وجہ یہ ہے کہ صحیح طریقے سے برتاؤ کیا، تاکہ ، بات ہے کیونکہ CS50 تقریب GetString اصل میں ہے ہڈ کے نیچے ڈیزائن کیا گیا ہے، جیسا کہ ہم چند ہفتوں میں دیکھیں گے، خود کار طریقے سے زیادہ سے زیادہ RAM، زیادہ سے زیادہ کرنے کے لئے مختص آپریٹنگ سسٹم سے یاد، واہ، جب یہ پتہ چلتا ہے، آپ واقعی کافی دیر کچھ میں ٹائپ ہے. اب، یہ ایک سفید جھوٹ کے تھوڑا سا ہے. اگر ہم اصل میں بہت دیر کے لئے روک دیا گیا اور میں ٹائپ کی بورڈ میں 5 ارب حروف کی طرح کچھ یہاں، یا واقعی میں کاپی پیسٹ کی بہت مارا، ہم بہت ممکن ہے کریش پروگرام کا سبب بن سکتا ہے. بس تھوڑا مشکل ہے کہ ایک تبدوست کے ساتھ انکرن پر وقت کی رقم. دوسرے کونے کیس ہم کوشش کر سکتے ہیں کیا ہے؟ جی ہاں؟ جی ہاں. تو ہم کچھ بھی جواب کیوں نہیں دیتے؟ تو ہم اصل میں کچھ کارروائی کی ہے، دوسری صورت میں کیونکہ پروگرام وہاں سارا دن ٹمٹمانے بیٹھ کر جا رہا ہے. لیکن اگر میں صرف مارا درج کریں - ٹھیک ہے، اب، اب بھی غلط لگتا ہے. کیا کریش، لیکن ہو سکتا ہے کہ اب ایک موقع ایک سے زیادہ سخت پروگرام کو لاگو کرنے شروع کہ اصل میں چیک کرتا ہے. اور اگر سٹرنگ، سزا، لفظ جو میں نے 0 لمبائی میں ٹائپ، اچھی طرح، میں شاید چللانا چاہئے صارف، یا اس سے کہو یا اسے ایک تار کو دوبارہ درج کریں، تاکہ ہم واقعی جو درست رویہ کی طرح لگ رہا ہے اور نہ میری طرف سے مکمل نگرانی. پیٹھ میں سوال؟ دشملو تعداد ہے. تو ہم اس کی کوشش بھی کر سکتے ہیں. 1،10000005. کی طرح ہے کہ اصل میں ٹھیک کام ہو رہا ہے لگتا ہے. اور اس کے اصل ہونے کی امید ہے. اگرچہ ہم ٹائپ ہو کہ وہاں نمبر، یا ایک پہلے بڑی تعداد کا احساس ہے کہ ہم صارف جب ٹائپ کر رہے ہیں ان پٹ اور ہم GetString تقریب کا استعمال کر رہے ہیں، نہیں ہے جو میں ٹائپ کر رہا ہوں اگر معاملہ ایک نمبر کی طرح لگ رہا ہے. کہ یاد ASCII، آپ کے سب کچھ کے مطابق بورڈ ایک عددی قدر ہے جو ایک رکھا جائے نقشے کیا جا سکتا ہے ہے کردار حروف. تو اگرچہ اس معاملے میں میں ایک نمبر ٹائپ کریں، ہو سکتا ہے کمپیوٹر اس کے بارے میں سوچ رہا ہے، تو ایک تار کے طور پر، بات - کچھ جو کہ ایک نمبر کی طرح لگتی ہے، لیکن ہے ایک نمبر اصل میں نہیں ہے. لیکن یہ اصل میں ایک کامل segue اب ہم ایسا کر سکتے ہیں کیونکہ اصل میں لکھنے کے پروگراموں کی منتقلی کہ دیگر ڈیٹا کی اقسام کا استعمال کرتے ہیں. تو اس کے علاوہ حروف کا استعمال کرتے ہوئے، یا بلکہ، اس کے علاوہ ڈور کا استعمال کرتے ہوئے، احساس ہے کہ ہم نے سی دیگر ڈیٹا کی اقسام کے ساتھ ساتھ میں دیگر زبانوں میں. ایک چار ہے، جیسا کہ نام سے پتہ چلتا ہے، صرف ایک کردار ہے. ناو چل نقاط کی قیمت ہے، اور یہ کہ صرف پسند ہے ایک حقیقی تعداد کہہ کے راستے - کچھ ہے جو ایک دشملو ہے بائیں اور / یا دائیں کچھ تعداد کے ساتھ اس میں نقطہ. ایک int ایک عددی ہے، جس میں صرف 123 کی طرح ایک بڑی تعداد ہے ہے. اور اب زیادہ دلچسپ بات یہ ڈبل طرح چیزیں ہیں. ہمیں کیا کہا ڈبل ​​آخری بار تھا؟ یہ 64 ہے، ٹھیک ہے. تو عام طور پر جبکہ ایک فلوٹ 32 بٹ ہے - تو اس طویل یاد میں یہ، 32 zeros اور ہیں استعمال کرتا ہے اقدار کی نمائندگی کریں - ڈبل لفظی دو مرتبہ ہے کہ، جس کا مطلب ہے کہ آپ بڑی تعداد یا تو نمائندگی کرسکتے ہیں، یا آپ کو زیادہ عین مطابق اعداد و شمار کی نمائندگی کر سکتے ہیں. تو آپ دشملو نقطہ کے بعد زیادہ تعداد ہے، لیکن کر سکتے ہیں فیلو ویڈیو میں نے کہا، یہاں تک کہ سادہ کچھ conceptually طرح 1/3 خاص طور پر کی طرف سے کیا جا سکتا ہے نہیں نمائندگی کمپیوٹر، کیونکہ آخر میں آپ بٹس کے ختم اور لہذا آپ کو .33333333 کتنی بار میں ہی کر سکتے ہیں جس کے آپ کو صرف اتنا کہنا میں نمائندگی ہوں کی جگہ، میں نے صرف اس ایک دن میں فون کرو اور اس کی نمائندگی ہے کسی حد تک imprecisely یہ پسند ہے. اور ایک طویل طویل - پاگل کا نام، لیکن اس کی وجہ یہ ہے ایک ڈیٹا کے طور پر جانا جاتا ہے کی قسم ہے C میں طویل جو اتفاق اکثر صرف ایک ہی 32 بٹس، ہے int 32 بٹیں ہے، لیکن ایک طویل طویل ہے عام طور پر 64 بٹس. تو یہ صرف مطلب ہے کہ آپ بڑے کی نمائندگی کر سکتے ہیں اس سے تعداد. ٹھیک ہے. تو اگر ہم واقعی چیزوں کی نمائندگی، ہم شروع کرنا چاہتے ہیں زیادہ پیچیدہ اقسام کی ضرورت ہے، اور ہو سکتا ہے یہی وجہ ہے کہ ہم سٹرنگ ہے. تو CS50 لائبریری میں یہ فائل cs50.h فون کیا، ہم نے اصل میں ایک ڈیٹا کی قسم، بات، کہا جاتا سٹرنگ کا اعلان کیا، لیکن سٹرنگ اصل میں موجود نہیں ہے. یہ اس لئے ہے، پھر ان تہوں میں سے ایک ہم چھیل جا رہے ہیں ایک یا دو ہفتے میں اور اس کے پاس سے پھینک دے، اور اصل میں جو اصل میں ایک سٹرنگ میں ہڈ کے نیچے نظر آئے گا اور یہ کس طرح نمائندگی ہے. ہم نے بھی بولین اقدار کو دیکھنے کے لئے جا رہے ہیں. تو کیا اسکریچ کے تناظر میں ایک bool تھا؟ یہ سچ ہے یا جھوٹ ہے. اس لئے یہ صرف ایک قیمت ہے جو صحیح یا غلط ہے، یا 1 یا 0، تاہم آپ کو دنیا کو دیکھنے کے لئے چاہتے ہیں. تو C، CS50 لائبریری کا شکریہ، جس کے نتیجے میں ہڈ کے نیچے ایک اور لائبریری میں شامل ہیں، ہم ایک ڈیٹا کی قسم کہ bool کہتے ہیں، تک رسائی حاصل ہے جس گے لفظی ہمیں اقدار حقیقی یا جھوٹی تفویض کرنے کی اجازت ایک پروگرام میں باتیں. تو آگے یہاں جاؤ اور ایک چھوٹا سا پروگرام ہے کہ لکھنے تعداد بجائے شامل کچھ کرتا ہے. تو آپ کے وزٹرز کا ریکارڈ رکھا CS50 آلات پر واپس جانا، مجھے آگے بڑھیں اور یہاں اس لئے بلایا ایک نئی فائل بنانے - چلو کچھ سادہ math.c. کی طرح کا کہنا ہے کہ، ٹھیک ہے. اور اب اپنے پروگرام کے سب سے اوپر تک جاؤ، میں ہوں ہمیشہ کی طرح کیا جا رہا - # میں شامل ہیں میں ، تو اس کا استعمال کر سکتے ہیں printf، int (باطل) اہم - ہم واپس آ، بالآخر کریں گے، کیا int کا مطلب یہاں، یہاں کیا باطل کا مطلب ہے اب کے لئے، لیکن صرف اتنا معلوم ہے کہ آپ اس طرح کے پروگراموں کو شروع کرنے کے لئے ہے. اب میں آگے جانے کے لئے کچھ اور کہتے ہیں جا رہا ہوں مختلف - printf ("مجھے ایک نمبر دو:" ). کیونکہ اس وقت میں int ن GetInt = کرنے کے لئے جا رہا ہوں، یہ پتہ چلتا ہے GetInt CS50 لائبریری میں ایک اور تقریب ہے GetString کے علاوہ. اور اب میں پاگل کچھ کرنا پسند نہیں "شکریہ جا رہا ہوں، ٪ D کے لئے، کے لئے "دشملو عددی، اور پھر کوما ن اور پھر واپس 0. تو دوبارہ واپس 0 تعداد میں کے ساتھ کوئی تعلق نہیں ہے کے لیے صارف پوچھ رہا تھا. آخر کہ تمام، شاید، ٹھیک ہے کا ابیوینجک ہے. تو مجھے میری ٹرمینل دریچہ یہاں نیچے جا. چلو آپ کے وزٹرز کا ریکارڈ رکھا ٹائپ ریاضی، میں داخل ہیں. اور کچھ گڑبڑ ہے. ریاضی کام نہیں تھا. یہاں ہمارے خرابی کے پیغامات کی پہلی ہے. کیوں؟ ایک چھوٹا سا خفیہ ہے، لیکن - جی ہاں. تو cs50.h. تو پھر خاص طور پر جلد، آپ اپنے پہلے لکھیں گے حصوں میں 1 pset کے لئے پروگرام، دفتری اوقات میں واضح طور سے، یہ زبردست کبھی کبھی ہو جائے گا جو ان چیزوں کر رہے ہیں اصل میں کہہ رہے ہیں. لیکن آپ کو بہت جلد احساس وہ گر کا آغاز کریں گے بالٹیاں جس کے تحت اس کا مطلب یہ ہے کہ آپ نے بائیں ایک ہے میں # فائل کے سب سے اوپر دیئے گئے شامل ہیں. اور بجنا، سنکلک، آپ کو اس کی طرف سے مطلع کیا جاتا ہے کہہ رہے ہو، بلکہ fancifully، انترنہیت کا اعلان تقریب GetInt باطل ہے. ٹھیک ہے. تو اس کا کیا مطلب ہے؟ یہ صرف کا مطلب ہے کہ آپ کو لپیٹ کا اعلان GetInt میں ہے احساس ہے کہ تم نے یہ واضح طور پر نہیں کا اعلان کر دیا ہے. واضح طور پر int کرنے کا اعلان کرنے کے لئے، آپ کو سکھانا پڑے بجنا ہے کہ یہ موجود ہے. اور اس کے لئے بہت آسان حل ہے اس کی طرف سے سکھانے یہ دوسری فائل، cs50.h، میں بھی شامل ہے آپ کی فائل کے سب سے اوپر ہے. کیونکہ لفظی، # شامل ہے بجنا بتاتا ہے بہت cs50.h، کاپی نامی فائل کو تلاش کرنے کے لئے اپنے پروگرام کے سب سے اوپر میں کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے متعلق کے لئے خود کار طریقے سے چسپاں کر دیں، zeros اور ہیں ماخذ کوڈ میں تبدیل کریں. لیکن یہ بہت تکاؤ ظاہر ہو اگر ہم انسان تھا ان بڑی فائلوں کو کاپی اور پیسٹ ہر وقت جانا ہے، # میں شامل ہیں صرف وہ سب کے بغیر خود کار طریقے سے کرتا ہے کسی دوسرے کی لائبریری کے ساتھ میرا کوڈ muddying. اور ایک لائبریری صرف ایک افعال پر مشتمل فائل اور ہے دوسری چیزوں کے کہ کسی اور لکھا ہے، کہ ہم ہیں ہمارے خود کے لئے استعمال. ٹھیک ہے. میں دوبارہ کوشش کریں. ریاضی بنائیں. درج کریں. اچھی بات ہے. تو یہ کام کیا ہے لگتا ہے. تو اب مجھے ریاضی چلانے، ریاضی /. آپ کے وزٹرز کا ریکارڈ رکھا درج کریں تعداد 123 دیتا ہے. 123 کے لئے شکریہ. اب دوسرے کونے کے کیس کی کوشش. ایک تار بہت ادار وجہ سے ہے، ایک سٹرنگ کچھ بھی ہو سکتا ہے. تعداد کی طرح دیکھ سکتے ہیں، کی طرح نظر آتے حروف، الفاظ کی طرح نظر آتے ہیں. لیکن ایک int ایک int ہے. تو اب اگر میں مشکل صارف ہوں، اور یہ کہ "مجھے دو ایک نمبر، "اگر میں 0.1 کی طرح کچھ کرنے کی کوشش کرتے ہیں کیا ہوا؟ ٹھیک ہے، یہ ایک نمبر ہے، اور اس کے مطابق ہے گرائمر میں یہاں کیا کرتے تھے، لیکن ہڈ کے نیچے، میں ہوں تقریب GetInt کا استعمال کرتے ہوئے ضرور. تو چلو دیکھتے ہیں کیا ہوتا ہے. درج کریں، دوبارہ کوشش کریں. ٹھیک ہے. مجھے مشکل اور صرف متاثر دوبارہ درج کریں. درج کریں، درج کریں. تو اب یہ لگتا ہے کہ GetInt تھوڑا زیادہ ہے GetString سے طاقتور. ہم، ملازمین، اس طرح کہ اگر ہم نے نوٹس میں لاگو کیا نے آپ کو نہیں ایک int - اور ایک int ایک دشملو تعداد ہے پر مشتمل zeros، ہیں، twos، threes، چوکوں، fives، چھکے، sevens، آٹھ، یا nines. اور یہ کہ یہ ہے. کوئی دشملو پوائنٹس، کوئی حروف نہیں، کوئی اوقاف نہیں. ایسا لگتا ہے کہ ہم تعاون ہے. تو مجھے کوشش کرنے دو چار، پانچ، چھ، اور یہ کہ آپ کے وزٹرز کا ریکارڈ رکھا ذریعے ہو جاتا ہے. تو سچ میں، مقعد یہاں، میں "شاید کہنا مجھے دے دو ایک عدد صحیح "کے لئے صارف کو تبلیغ بالکل وہی جو میں ارادہ رکھتے ہیں. اب چلو ہڈ کے نیچے کے بارے میں سوچنا. ہم آج کس طرح cs50.h لاگو کیا جاتا ہے کو دیکھنے کے لئے نہیں کر رہے ہیں، کہ لائبریری. لیکن اگر وہ کہہ رہا ہے دوبارہ کوشش کریں، دوبارہ کوشش کریں، دوبارہ کوشش کریں، رہتا ہے کیا پروگرامنگ تعمیر کر رہا ہوں میں شاید ڈاکو پر کے نیچے کا استعمال کرتے ہوئے عمل درآمد؟ تو صرف ایک لوپ ہے، ٹھیک ہے؟ سادہ خیالات میں سے ایک ہے کہ ہم سکریچ پر دیکھا ہے. ہمیشہ کی تعمیر، مکرر کی تعمیر. شاید، اس پروگرام میں، ہڈ کے نیچے، یہاں تک کہ اگرچہ اس C کے وزٹرز کا ریکارڈ رکھا جائے گا اور نہ شروع کر رہی ہے کچھ ہمیشہ کے لئے برابر قرار دیا اگر صارف نہیں ہے کا کہنا ہے کہ ایک عددی میں ٹائپ، دوبارہ کوشش کریں، دوبارہ کوشش کریں، دوبارہ کوشش کریں، دوبارہ کوشش کریں، تو پھر آخر میں جب ہم کرتے ہیں ایک عددی حاصل، تو آپ کہ لوپ سے باہر توڑ. تو اور کیا کام کرتا ہے ہم CS50 لائبریری میں یہاں استعمال کر سکتے ہیں؟ ٹھیک ہے، واضح ہیں کی طرح، کم سے کم میں کی بنیاد پر ڈیٹا قسم ہے کہ اب ہم جانتے ہیں موجود ہیں. ہم GetString، GetInt عملدرآمد، لیکن بھر مدت کے پہلے ہفتے، آپ GetFloat بھی استعمال کر سکتے ہیں اور GetDouble اور خاص طور پر حاصل کرنے کے لئے کے لئے GetLongLong ڈیٹا قسم جو آپ چاہتے ہیں. کیونکہ اہم تفصیل ہے کہ یہاں کچھ زبانوں کے برعکس ہے ازگر اور روبی، جہاں آپ کو ضروری نہیں ہے جیسے ایک متغیر کے اعداد و شمار کی قسم کا اعلان - آپ کے کمپیوٹر کو بتانے کی ضرورت نہیں ہے، چیزیں کس قسم آپ متغیر میں ڈال کے لئے جا رہے ہیں - C میں، آپ کو کبھی تو عین مطابق ہے. تو اگر آپ کے نام (ن) متغیر، اسٹوریج کا ایک حصہ چاہتے ہیں ہے کہ اس معاملے میں کنونشن کی طرف سے 32 بٹیں ہوتا ہے، آپ کے کمپیوٹر کو بتانے کے لئے ہے کہ ان کی بٹس ایک نمبر کو محفوظ کرنے جا - نہیں، کردار ایک سٹرنگ نہیں، نہیں ایک فلوٹ. اور اس مسئلے کو مؤثر انداز میں ہم سے مخاطب گزشتہ ہفتے میں بھاگ گیا. اگر ہم zeros اور والوں کی تعداد کا استعمال کرتے ہوئے نہ صرف کی نمائندگی کر رہے ہیں تعداد کے طور پر نہیں بلکہ اور گریڈ اور کاوچ سرفنگ کے، کہ کس طرح دنیا میں ہے ایک کمپیوٹر پر پتہ جا رہا ہے کہ دراصل بٹس کے اس طرز 65 نمبر، کے طور پر کی نمائندگی کی مخالفت کی نمائندگی کرتا ہے خط A، اتفاق جس کے مطابق، ASCII، یاد، 65 کے برابر تھا؟ ان اعداد و شمار اقسام تو کمپیوٹر پر سیاق و سباق فراہم کرتے ہیں، تو کہ وہ جانتا ہے کہ اگر ان کی بٹس ایک کے طور پر رکھا جائے تشریح کیا جانا چاہئے یا سٹرنگ کے طور پر int. کوئی سوال، تو، اس پر؟ جی ہاں؟ DAVID J. MALAN: اچھا سوال ہے. اگر ہم باہر stdio.h لو، ہم فائل کو محفوظ کریں - آپ کے وزٹرز کا ریکارڈ رکھا ٹرمینل دریچہ نیچے جاؤ اور چلانے بنانے کی ریاضی، زوم میں درج کریں - اب میں ایک مختلف غلطی ملتی ہے، کیونکہ میں لپیٹ ہوں اعلان اب کیا کام ہے؟ Printf. تو اب میں نے ایک نیا مسئلہ ہے، جس کا حل ہے تشکیل دے دیا ہے بنیادی طور پر ایک ہی ہے. مجھے وہ واپس ڈال کرنے کی ضرورت ہے. سامعین: [اشراوی] DAVID J. MALAN: اوہ. تو اگر میں باہر لے جانا - ٹھیک ہے، جی ہاں. تو اگر میں معیاری I / O لائبریری میں شامل کرنے کے ہٹانے یہاں تو آپ کہہ رہے ہیں اگر میں printf سے چھٹکارا حاصل حاصل کر رہے ہیں printf سے چھٹکارا؟ جی ہاں. یہ کام کرتے ہیں، کیونکہ اب میں نہیں رہا ہوں کسی کا استعمال کرتے ہوئے کرنا چاہئے - افوہ. کیا میں نے صرف جھوٹ ہے؟ اوہ، ٹھیک ہے. یہ ایک نئی خرابی ہم صرف متعارف کرایا کی وجہ سے کام نہیں کریں گے. اور یہ بھی تھوڑا زیادہ خود وضاحتی ہے. کیا مسئلہ ہے؟ غیر استعمال شدہ متغیر N. ہماری ترتیب دیا ہے تو یہ خرابی کا نتیجہ یہ نکلتا ہے خاص طور پر pedantic، واقعی میں چللانا آلات ہر ممکنہ غلطی کے لئے آپ کو، یہاں تک کہ اگر اس قسم کی اس طرح ایک غیر مہلک غلطی - یہ واقعی میں نے اتنا بڑا ہے نمٹنے کے کہ میں نے ایک int مختص ہیں، اس میں ایک نمبر ڈال، اور پھر صرف اس کے ساتھ کچھ نہیں کیا؟ تو فعل، نہیں. اس پروگرام کو توڑنے کے لئے نہیں ہے. یہ پاگل ٹھیک ہے، صرف ایک قسم ہے؟ کوئی اس نمبر کے لئے کہا ہے ذخیرہ کی گئی ہے یہ متغیر میں اگر آپ کو کچھ کرنے کی کبھی نہیں رہے ہیں اس کے ساتھ، چاہے وہ پرنٹ یا اسے بچانے کے لئے. تو اس معاملے میں، بجنا زیادہ کے طور پر تسلیم کرتے ہیں، ہے اور غیر استعمال شدہ متغیر N کہہ رہا ہے. تو ہم اس کو ٹھیک اگر ہم واقعی چاہتے ہیں کر سکتے ہیں. لیکن پھر یہ اچھی پروگرامنگ نہیں ہے. تو میں ایسا ہو سکتا - یہاں نیچے جاؤ، آپ کے وزٹرز کا ریکارڈ رکھا سکرین واضح، ریاضی بنا. اس کا کام کرتا ہے. اب میں اپنے ریاضی کے پروگرام چلاتے ہیں، کر سکتے ہیں ان پٹ لیتا ہے - ٹھیک ہے، وہ بری تھی. ان پٹ لیتا ہے، اور یہ کہ یہ سب کرتا ہے اس صورت میں ہے،. تو اصل میں، ایک دوسرے کونے کیس کی کوشش ہے کہ ہم پہلے نہیں سوچا تھا. اس صورت میں - یہاں، جو ایک ہے واپس جانے کچھ زیادہ صارف دوست ہے. مجھے یہاں واپس جاؤ اور ریاضی دوبارہ چلانے. افوہ، کیا میں غلط کیا ہے؟ مزید واپس رول ہے. ٹھیک ہے. اب ہم اصل حالت میں واپس آ گئے ہیں، سب کہاں امید ہے کہ اچھا ہے. اور اب اگر میں ریاضی چلاتے ہیں، 123 کام کرنے لگتا ہے. لیکن یہ سچ نہیں ہے ایک مؤثر ثبوت صرف اتنا کہنا ٹھیک ہے، یہ کام کرتا ہے. 789، کہ کام کرتا ہے. جمع کرانے کے وقت. کیونکہ دوسرے کونے یہاں مقدمات ہے. ایک تار نے ہمیں واقعی میں ٹائپ کی طرف سے نہیں کیا بہت تکلیف دے حروف کی بہت ساری. لیکن کیا میں اس میں اگر ٹائپ کیا؟ نمبر 1 ایک پوری بہت ساری یہاں بہت مار - ٹھیک ہے، یہ ایک چھوٹی سی بورنگ ہو رہی ہے، ہے تو میں جا رہا ہوں یہاں بند کرو، اور میں درج کریں کو مارنے جا رہا ہوں. کیا ہو ابھی ہوا ہے؟ تو یہ اصل میں وضاحت کی جا سکتی ہے. تو یہ بائنری کے طور پر لے گئے تھے؟ ایک اچھا خیال ہے، لیکن نہیں، یہ حقیقت یہ ہے کہ وہ اسے لے نہیں ہے بائنری کے طور پر، بے شک کی وجہ سے ہے، جو صرف ایک قسم تھی اتفاق. ہم یہ پھر سے کر سکتے ہیں. تو کوئی بائنری سسٹم میں 2، یہ ہے شاید ویسے بھی کافی ہے. درج کریں. تو یہ مسئلہ نہیں تھا. اور کیا؟ بالکل. تو کیا ایک int اصل میں ہے واپس لگتا ہے. 32 بٹیں ہیں جو اجتماعی تشریح کر رہے ہیں ایک نمبر کے طور پر. اگر آپ کے 32 بٹیں ہیں، اس کا مطلب ہے کہ بٹس میں سے ہر ایک کو ہو سکتی ہے 0 یا 1 0 یا 1. تو اس کا مطلب ہے کہ یہ تھوڑا کے لئے دو امکانات ہیں، اس کے لئے دو امکانات ہیں، اس کے لئے دو امکانات سا - جس میں 2 مرتبہ 2 مرتبہ - تاکہ 32 اقتدار میں 2 کل تعداد ہے zeros اور والوں میں ترتیب اگر آپ 32 ہے جگہ دار zeros، یا آپ کے سامنے ہیں. تو اگر میں، 32 mathematically، اس کا کیا ہے 2 ہے؟ تو یہ ایک بہت ہے. یہ 4 ارب ہے، یا لو اور دو. اور 4 ارب کیا باہر طباعت یہاں کیا گیا تھا نہیں لگتا ہے. اصل میں، یہ 2 ارب کے قریب لگتا ہے. لیکن یہ ایک اتفاق نہیں ہے. حقیقت یہ ہے کہ کمپیوٹر نے میری بڑی تعداد کی غلط تشریح کی ہے، میرے ہیں اور پھر میری twos کی بڑی ترتیب کی بڑی ترتیب 2 تقریبا ارب کے طور پر، کس طرح بیان کی گئی ہے؟ int پر ایک ٹوپی ہے. یقینا ایک زیادہ سے زیادہ قیمت ہے کہ آپ کی نمائندگی کر سکتے ہیں. لیکن یہ عام طور پر 4 ارب ہے، ٹھیک ہے؟ اگر 32 2 4 تقریبا ارب، ایسا لگتا ہے یہ سب سے بڑی تعداد ہے. تو نہیں، باقی، بلکہ ایک اچھا خیال ہے. منفی نمبر. تو اگر آپ کو 4 ارب ممکن چیزیں آپ کر سکتے ہیں ہے 32 0s کے ان مختلف ترتیب کے ساتھ نمائندگی کرتے ہیں اور 1s، ٹھیک ہے، یہ وجہ ہے کہ ہم انسان چاہتے ہو پر کھڑا ہے مثبت نہ صرف integers کی نمائندگی لیکن منفی integers. اور یقینا، یہ مفروضہ ہے کہ C کرتا ہے ہے. تو آپ کو 32 بٹیں کے ساتھ کی نمائندگی کرتے ہیں، تقریبا منفی 2 کر سکتے ہیں ارب مثبت 2 ارب طریقہ ہے. اور تو اس صورت میں، کیا ہم واقعی دیکھ رہے ہیں وہ صرف ہے ہمارے عددی کی صلاحیت موجود ہے، اور ہم نے تو بات، ایک عددی overflowed. ہم نے اس میں مزید بٹس سے اصل میں فٹ کر سکتے ہیں رٹنا کرنے کی کوشش کی ہے. تو آخری نتیجہ یہ ہے کہ ہم بنیادی طور پر سب 1 بٹس. ہم ہمارے بٹس کی سب flipped ہے، کی نمائندگی کرنے کی کوشش کی ہے سب سے بڑا ممکن نمبر، لیکن یہ واضح طور پر نہیں ہے تقریبا دو چیزوں میں صرف اندر ٹائپ ہے کی نمائندگی کے لئے کافی بڑا جی ہاں؟ سامعین: [اشراوی] DAVID J. MALAN: اچھا سوال ہے. ہم صرف کیوں نہیں ہے کہ نمائندگی کرسکتے ہیں منفی صرف ایک کردار کے طور پر سائن ان کریں؟ تو ہم بالکل، تو ہم بچا سکتا ہے اور ایک اضافی سا. لیکن آپ اب بھی اس ڈیش کی نمائندگی کرنے جا رہے ہیں، اور ہے کہ آپ کو کم از کم کچھ لاگت جا رہا ہے، شاید تھوڑا سا. تو ہاں، ہم نے اپنے نمبر کے لئے استعمال کیا جاتا 32 بٹس ہے، لیکن کر سکتے ہیں اب ہم ایک دوسرے ہمارے ڈیش کے لئے استعمال کیا جاتا بٹ کی ضرورت ہے سنہرے بالوں والی، مائنس علامت. تو اب ہم 33 بٹ اقدار، ہم جو کر سکتے ہیں ہے، لیکن یہ ہے صرف اس طرح نہیں کیا ہے. 32 بٹیں ہم نے ایک فیصلے نے کال سال پہلے طرح کی ہے پیمائش کی اکائی. تو ہم ان بٹس کی ایک مؤثر طریقے سے استعمال کرنے کے لئے جا رہے ہیں منفی کی نمائندگی کرتے ہیں، اور 31 نمبر کی نمائندگی کرنے بٹس. دیگر سوال؟ ٹھیک ہے. یہ بہت ہے. ہم آگے کیوں نہیں چلے جاتے اور ہمارے یہاں پانچ منٹ کے وقفے لے؟ ٹھیک ہے. تو پھر، ریاضی ایپلی کیشنز نہیں overemphasize پروگرامنگ کی، چلو صرف اس ایک مثال کے طور پر جمع کرنا اس سے پہلے کہ ہم دوسرے تشکیل میں منتقل، صرف اس لئے کہ یہ میں سے کچھ کا کچھ عام ٹھوکر کھا پوائنٹس کی نمائندگی کرتی ہوں گے مبادیات جب وہ لکھ پروگراموں آتا ہے. اس صورت میں، ریاضی اظہار ہے کہ کچھ کر رہے دلچسپ نحو کی مطابقت. تو یہ صرف ایک فارمولہ ہے ہم نے جس کے ساتھ تبدیل کر سکتے ہیں ہے فارن ہائیٹ سے سیلسیس پر درجہ حرارت. اگر آپ کو یاد نہیں کرتے، یہ فارمولہ ہے. تو اگر ہم نے 32 ڈگری فارن ہائیٹ قیمت ہے، جو میں ہونا منجمد کرنے، ہو جا 32 مائنس 32 0 ہے، اور یقینا، سیلسیس میں 0 بھی منجمد ہے. اتنی جلدی وویک وہاں چیک کرنے کے لیے - کہ واقف فارمولا ہے. آپ کے وزٹرز کا ریکارڈ رکھا آلات جاتے ہیں، اگرچہ شروع نامی پروگرام کی طرح، f2c لکھنے، فارن ہائیٹ " ڈاٹ سی سیلسیس ". اور یہاں سب سے اوپر دیئے گئے، میں # شامل کے ساتھ شروع کی جا رہی ہوں stdio.h، اور میں int (باطل) اہم کیا کرنے جا رہا ہوں، اور ایک بار پھر، ہم مستقبل میں کیا int مطلب واپس آ جائیں گے وہاں اور کیا باطل کا مطلب ہے. اور اب ہم آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور ایک پروگرام ہے کہ عمل درآمد بنیادی طور پر ہمارے لئے اس کے تبادلوں کرتا ہے. تو printf،، فارن ہائیٹ میں درجہ حرارت کا کہنا ہے کہ. اور پھر ہم آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور صارف سے قدر حاصل ہے. میں صارف سے قیمت کس طرح کا ملے گا اگر میں چاہتا ہوں ان کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے فارن ہائیٹ میں درجہ حرارت دینے کے لئے؟ جی ہاں؟ آپ کیا تجویز کریں گے؟ جی ہاں. تو فلوٹ کافی مناسب لگ رہا ہے. ہم نے، پھر، صرف چند اختیارات ہم ابھی تک دیکھا ہے. ہم نے چار، ڈبل، فلوٹ، int کی طرح چیزیں ہیں، طویل، bool سٹرنگ،. تو ان میں سے، فلوٹ کافی مناسب لگ رہا ہے. ہم ایک ڈبل کے حق کا استعمال کرتے ہیں، کیونکہ اگر ہم واقعی چاہتے ہیں کر سکتے ہیں انسان کا درجہ حرارت کی نمائندگی - 98،60000 - ہم ایسا کرنے کے لئے کے لئے 64 بٹس استعمال، لیکن اس کی طرح محسوس ہوتا ہے ہے درجہ حرارت کے لئے overkill. تو فلوٹ کے ساتھ جانا. اب میں ایک متغیر کی ضرورت ہے. صرف چیزوں کو آسان رکھنے کے لئے، میں نے اسے F فون کرنے کی جا رہی ہوں، لیکن میں صرف درست طریقے سے اس درجہ حرارت کو کہہ سکتے ہیں، لیکن یا تو ٹھیک ہے. تو F = GetFloat تیرنے لگتے ہیں. اب جیسے ہی میں GetFloat کو استعمال کرنے کا فیصلہ کیا ہے، تاہم میں ایک درست بنانے کے لئے کی ضرورت ہے. جی ہاں. تو ہم # شامل کرنے کی ضرورت ہے، دوسری صورت میں سنکلک ہے ہم پر چللانا. اب جب کہ میں ایک فلوٹ ہے، مجھے آگے بڑھو اور تبادلوں سے. سب سے پہلے تو، مجھے بھی عادت ہو یہاں سے میرا کوڈ تبصرہ. تو پھر، ایک تبصرہ صرف انسان یہ ایک سنکیتن ہے حصہ SE فی پروگرام کی نہیں، لیکن ایک، آپ کی مدد کرتا ہے سمجھ اگلی صبح تم نے کیا کیا، یا اگلے ماہ میں مدد ملتی ہے آپ کی تعلیم کا ساتھی سمجھتے ہیں جو تم نے کیا یا تم کیا کرنے کا ارادہ ہے، تو اس عام طور پر بہت اچھا مشق کرتے ہیں. کوڈ کا ہر چند سطریں، ایک تبصرہ لکھنے اپنے آپ کو یا آپ کے ساتھی. یہاں تو میں کہنا جا رہا ہوں "درجہ حرارت کے لئے صارف سے پوچھو." کیا ایک مکمل جملہ ہے، صرف ایک مختصر فقرہ نہیں ہے. لیکن C میں تبصرہ کے پیچھے خیال یہ ہے کہ آپ میں سے ہر ایک تبصرے آپ کو بااختیار بنانے چاہئے - یا، کا کہنا ہے کہ TF یا ایک ساتھی - اپنے پروگرام کو ملائی اتارا اور نہ میں جاننا بالکل وہی جو اس سے فرق پڑتا ہے، اتنا کوڈ کو پڑھنے، لیکن تبصرے پڑھنے سے جو succinct اور واضح ہونا چاہئے. ٹھیک ہے، تو اب مجھے آگے بڑھو اور کہتے ہیں، "میں تبدیل فارن ہائیٹ سیلسیس. "تو میں آگے بڑھو اور کرنے جا رہا ہوں، ہم کا کہنا ہے کہ، سی فلوٹ. ہم چل نقاط کی قیمت کے طور پر کریں گے سیلسیس ہے. اور کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے یہ کوشش لے. فارمولا ہے، پھر، یہاں. اوقات 5/9 کے طور پر F مائنس 32. تو ایسا کرنے دو تو 5 9 سے تقسیم، مائنس - افوہ، میں نے اسے گڑبڑ پہلے ہی. ٹائمز. تو 5 9 / اوقات F مائنس 32. تو F مائنس 32، نیم وقفہ. اور اب، یہاں نیچے، میں آگے بڑھو جا رہا ہوں ، اور اس کے نتائج کو پرنٹ کہنا. اور یہ حصہ آسان ہے. Printf. میں اس پرنٹنگ کے بارے میں کیسے جا سکتا ہوں؟ اچھا، مجھے کہنا ہے، "میں سیلسیس یہ تعداد٪ F ہے \ n" کر سکتے ہیں، صرف کچھ جمالیات کے لئے. اور پھر میں کس قدر printf کی کے طور پر یہاں میں ہونا چاہتے ہیں دوسری دلیل ہے؟ ٹھیک ہے. تو سی. تو ہم اس کے ساتھ شروع کریں اور اس کے بعد صرف 0 لوٹا دونگا. ایک بار پھر، یہ ریاضی کے ساتھ کوئی تعلق نہیں ہے. یہ صرف کا مطلب ہے کہ سب کچھ ٹھیک ہے. اب، یہ درست ہے، اس پروگرام ہے؟ ٹھیک ہے. اس لئے میں نے کچھ غلطیاں کی ہے. یہاں تک کہ اگر آپ کو کوئی خیال نہیں کیا پروگرامنگ ہے ہے، آپ کو الگ الگ کر سکتے ہیں نتیجہ نکالنا گریڈ اسکول واپس کیا یہاں غلطی ہو سکتا ہے. کیا سب سے پہلے ایک ہے؟ سامعین: [اشراوی] DAVID J. MALAN: جی ہاں. تو ہم قوسین کمی محسوس کر رہے ہیں. یہ جان بوجھ کر یہ تھا کہ میں اہم میں قوسین کیا یہاں سلائڈ، کیونکہ وہاں اصل کے حکم کی اس اصول کی کارروائیوں کی جس کے تحت، یا مقدم، بعض آپریشن - ضرب - زیادہ پابند ہوتا، چیزوں سے زیادہ مقدم ہے، کے علاوہ یا ویوکلن طرح. تو ہم سال کے لئے اس نے کیا ہے بالکل واضح کرنے کے لئے کیا ریاضی آپریشن پہلے ہو جانا چاہئے. تو میں بالکل شاید یہ نقل چاہئے. ورنہ، کمپیوٹر شاید کرنے کی کوشش کی جا رہی ہے تقسیم 5 کی طرف سے 9 کی طرح کچھ، تو F ضرب، تو منہا پوری بات سے 32. جو حقیقت میں، نہیں، جو ہم کرنا چاہتے ہیں. تو parenthesize ہیں. چلو، میرے یہاں قوسین، قوسین یہاں شامل کریں. یہاں یہ ڈال دو. یہاں، میں صرف ایک غلطی میں نے راستے میں بنایا دیکھا. جی ہاں؟ سامعین: [اشراوی] DAVID J. MALAN: آہ. اچھی بات ہے. تو ہم اصل میں ایک ہی عدد صحیح ہے پہلے سے تقسیم کا مسئلہ ہے. مجھے درست ہے کہ، چلو دیکھتے علامت ہوتی ہے. لیکن ہم ایک کو درست کرنے کی ضرورت کے لئے جا رہے ہیں دوسری غلطی. جی ہاں؟ سامعین: [اشراوی] DAVID J. MALAN: جی ہاں. پاگل غلطی تو میں نے، لیکن انتہائی اہم ہے. کمپیوٹر صرف ایک نظر کی باری ہے اور نہیں ہے آپ کے وزٹرز کا ریکارڈ رکھا دارالحکومت F کا استعمال کرتے ہیں، جب میں نے اصل میں متغیر کا اعلان کے طور پر ایک چھوٹے 8 لائن میں F،. تو میں اوپر 11 میرے بڑے حروف تہجی میں کو درست کرنے کی ضرورت ہے، جس میں ایک لمحے پہلے غلطی سے دارالحکومت F تھی. یہاں کس کے بارے میں ہے؟ خفی اس کے ساتھ ہونا چاہئے؟ یہ ہو سکتا ہے، لیکن کہ ایک اتفاق ہے. اس٪ F متغیر کے ساتھ کوئی تعلق نہیں ہے. تو سپر واضح ہو، مجھے آگے بڑھیں اور اس، مختصر، "درجہ حرارت." کا نام تبدیل مجھے نام تبدیل اس "درجہ حرارت." مجھے اس کا نام تبدیل نہیں. کیونکہ، دوبارہ،٪ F عالمی سطح کا مطلب ہے، "نقطہ قیمت تیرتا." میرے متغیر کے ساتھ کوئی تعلق نہیں ہے. لیکن سب جگہ "درجہ حرارت" تھوڑی wordy ہے، تو میں نے میرے چھوٹے "F" S واپس جا رہا ہوں. اب، مجھے آگے میری ونڈو یہاں نیچے جانا. f2c بنائیں - جو تھا، پھر میں صوابدیدی نام اس ملف (فائل) دی. مرتب کی ہے لگتا ہے. آپ کے وزٹرز کا ریکارڈ رکھا f2c چلانے. درج کریں. فارن ہائیٹ میں درجہ حرارت - ایک آسان ہیں. 32. ٹھیک ہے، درست. لیکن، اگر اب میں ابل کے لئے 212 - لات. ٹھیک ہے. تو واضح طور پر درست نہیں ہے اگر آپ TF کی کوشش کرتا ہے کم از کم دو اقدار. تو مسئلہ کیا یہاں ہے؟ ٹھیک ہے، تو آپ کے پاس پہلے سے ہی کیا مسئلہ ہے پر اپنی انگلی ڈال دیا ہے. لیکن اس صورت میں کیوں ہے؟ یہاں اوپر، جب میں 5 میں سے ریاضی 9 سے تقسیم کر رہا ہوں. تو conceptually، وہ بالکل صحیح ہے. فارمولے کے ساتھ مکمل طور پر مطابق ہے. لیکن کمپیوٹر صرف خاص طور پر وہی کروں گا جو تم نے ان سے کرنے کو کہو. اور کیا ہم مؤثر طریقے سے کمپیوٹر کہہ رہے ہو یہاں ہے عددی 9 عددی 5 تقسیم اور آپ کے وزٹرز کا ریکارڈ نتیجہ دیتے ہیں. مسئلہ ہے، تاہم، جب آپ تقسیم ڈیٹا کا استعمال کرتے ہوئے کرتے ہیں اقسام، پیداوار آدانوں کے طور پر ایک ہی اعداد و شمار کی قسم ہے. اور اگر ایسا ہے تو دونوں آدانوں دونوں ints ہیں، پیداوار جا رہا ہے ایک int. اور اس طرح 9 سے تقسیم 5 نکاتی کچھ ہے. لیکن کیا کچھ کی طرف اشارہ کرنے کا سب سے قریبی عددی ہے؟ تو ہے، یہ اصل میں 0 ہے. دشملو کے بعد سب کچھ تو جیسا کہ ہم پیر کو بات چیت کی، نقطہ مقطوعہ ہو جاتا ہے. یہ صرف دور پھینک دیا جاتا ہے. تو یہ ایک مکمل غلطی ہے، کیونکہ میں طاقت کے ساتھ صرف یہاں 0 سب کچھ ضرب. اب، میں طریقوں میں سے ایک جوڑے میں اسے درست کر سکتے ہیں. میں یہ کر سکتا ہوں. 5.0 9.0 کی طرف سے تقسیم کیا ہے. تکنیکی طور پر، میں نے ایسا بھی نہیں کی ضرورت ہے. صرف تعداد ناو میں سے ایک بنانے کے لئے یہ کافی ہے - یا ڈبل ​​- اعشاریہ یہاں رکھ کر. کیونکہ اب کیا ہوتا ہے جب آپ کی طرف سے ایک عددی تقسیم فلوٹ، یا ڈبل، کمپیوٹر کا احساس ہو رہا ہے اوہ، ان میں سے ایک زیادہ عین مطابق ہے. کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے سے آپ کو زیادہ صحت سے متعلق دینے کی طرف غلطی آپ کا ارادہ ہے. تو اس کا نتیجہ تبدیل کریں گے - یہ نتیجہ چل نقاط کی قیمت کے طور پر اچھی طرح کے طور پر واپس آ جائیں گے. ایسا کام کریں گے. یہ کام کریں گے. اور ایک دوسرے طریقہ کار یہ ہے کہ ہم میں نظر آئے گا مزید تفصیل اگلے ہفتے. آپ پروگرامر کے طور پر، اصل میں، کمپیوٹر بتا سکتے ہیں اصل میں ایک اعداد و شمار کی قسم کے طور پر علاج اگرچہ اس نے ایک اور تھے. لہذا میں نے یہ بھی کر سکتا ہے. قوسین میں، میں نے ایسا کچھ (فلوٹ)، کھلی کہہ سکتے ہیں قوس، قریبی قوس. اور یہ کیا کہتے ہیں "کاسٹنگ." ایک بار پھر، اس اگلے ہفتے. لیکن یہ کہہ کے پروگرام کا طریقہ ہے کمپیوٹر، جی ہاں مجھے پتہ ہے کہ 9 ایک عددی یا ایک طویل ہے. مجھے معلوم ہے کہ یہ ایک چل نقاط کی قیمت نہیں ہے. لیکن یہ ویسے بھی اس طرح کے طور پر علاج کرتے ہیں. تو ایک ڈیٹا کی قسم ڈالنے تبدیل کرنے کا مطلب ہے ایک سے دوسرے. سچ کہوں تو، یہ صرف تھوڑا بدسورت ہے، میں بہت تجویز کیا ہم جا صرف تبدیل کرنے کے اصل تجویز کی حمایت ان چیزوں نقطہ اقدار کو دستی طور پر تیرتا ہے. کیونکہ اب یہ صرف سپر واضح کیا ہو رہا ہے، اور کہ پریشان نہیں ہے. تو اب میرے ٹرمنل ونڈو میں واپس جانے. f2c بنائیں. آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور اس کے چلانے دو اور، ایک طرف ایک آپ کو یہ حکم لکھ ؤب بار پھر لینکس کی طرح، کہ کمپیوٹر کا احساس، یہاں، بہت ہوشیار ہوتے ہیں. اور اگر میں مارا ہم نے اپنی پوری تاریخ کے ذریعے جا سکتے ہیں کمانڈز، اوپر اور نیچے. لہذا، میں یہاں اس صورت میں صرف چلانے f2c بنانے کے لئے جا سکتے ہیں. میں رہا ہوں میں کیا جا رہا ہے چللایا، کیونکہ میں صرف کیا ہے کہ ایک سیکنڈ پہلے. یہ پہلے ہی کی تاریخ ہے. تو اب میں f2c دوبارہ چلا سکتے ہیں. چلو، 32 فارن ہائیٹ کی کوشش. اب ہم 212 فارن ہائیٹ کی کوشش کریں. وفف. کام کرنے لگتا ہے. اب، یہ اچھا ہے، لیکن یہ تھوڑا صوابدیدی لگ رہا ہے کہ میں دشملو پوائنٹس کے بعد میں چھ کی تعداد ظاہر کر رہا ہوں. ٹھیک ہے نا؟ اگر آپ کو ٹی وی پر موسم کی انسان ہو، آپ کو ایک doofus کی طرح ہیں اگر آپ کا درجہ حرارت پڑھ رہے ہیں صحت سے متعلق کے اس حد تک ہے. تو اس کو آسان بنانے. تو اصل میں میرے printf یہاں،. اور ہاں، میں فلوٹ چاہتے ہیں. لیکن اب میں صحت سے متعلق کی وضاحت کرنا چاہتے ہیں. اور میں ایک چھوٹا سا succinct کے لئے جا رہا ہوں. مجھے کہنا ہے، کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے دشملو جگہ کے بعد ایک پوائنٹ دے جا رہا ہوں. بجائے٪ F کا کہنا ہے کہ، میں٪ .1 F کہنے جا رہا ہوں. اور یہ تو صرف مجھے ایک پوزیشن دے کا مطلب ہے دشملو نقطہ کے بعد. ٹھیک ہے. چلو، پھر سے کوشش کریں. چلو، مجھے اس کے انتخاب کے بعد دوبارہ چلانے. اور اب میں 32 میں ٹائپ کریں، اور میں واپس جاؤ مزید succinct قدر. اور میں ٹائپ کریں، اب کر سکتے ہیں، 212، اور ایک سے زیادہ succinct واپس حاصل کے طور پر قیمت. اور دوسری چیزوں آپ printf کے ساتھ کیا کر سکتے ہیں ہے. تم واقعی نمبر کس طرح وسیع ہونا چاہئے کی وضاحت کر سکتے ہیں. اگر آپ اس پر بھرتی کرنا چاہتے ہیں، تو آپ کے دائیں سیدھ کریں یا بائیں سیدھ کریں آپ کے نمبروں کی تمام یا مرکز چیزیں کرنے کی کوشش کریں. تو احساس ہوتا ہے وہاں تھوڑا چالوں تم وہاں کیا کر سکتے ہیں ہیں. لیکن وہ صرف شکل کوڈ نیچے ابال، جیسا کہ ہم وہاں ہیں. تو مقدم کے اس مسئلہ کے سلسلے میں. یہ ایک بہت بورنگ کے ذریعے طریقے پر جانے کی میز ہے. لیکن احساس کہ C کے مصنفین کے ساتھ آئے ہیں قوانین کہ وضاحت کریں کہ کون آپریٹرز اعلی ہے مقدم، دوسروں کے مقابلے میں زیادہ پابند کرنے والا بجلی،. تو جبکہ گریڈ اسکول میں، عام طور پر ہمیں پتہ ہے کہ یہ تھا ضرب اور تقسیم، پھر اس کے علاوہ اور باقی نکالنا، تو کچھ دیگر چیزیں. پروگرامنگ کی ایک ایسی دنیا میں، وہاں ایک بہت ہے چیزوں کی طویل فہرست ہے. اور یہ اب یاد کرنے کے قابل کچھ نہیں ہے. تم نے طویل عرصے سے اس سے پہلے کہ acclimated ہو جائیں گے. لیکن، قوسین جیسا کہ گریڈ اسکول میں عام طور پر کو حل مقدم سپر واضح کر کے مسائل، کمپیوٹر اور یکساں انسانی ہے کیا کرنا ہے. تو یہ صرف ایک چھوٹا سا دھوکے باز شیٹ پر غور کریں. لیکن ان کی تفصیلات سب سے زیادہ ہم کچھ وقت کے لئے حاصل کرنے کے لئے نہیں کریں گے. ٹھیک ہے. اب، تعمیر اور ان پاگل تھوڑا سے دور منتقل حساب مثال کے طور پر. ابھی بھی وہی بنیادی اصولوں کا استعمال کرتے ہیں، لیکن شروع خود کو تھوڑا سکریچ طرح کا اظہار کیا. تو سکریچ میں، ہم نے ان بولین اظہار تھا. اور انگریزی میں، ایک بولین اظہار کیا ہے؟ صحیح یا غلط ہے. یہ کچھ ہے جو صحیح یا غلط کی تشخیص کرتا ہے. 1 یا 0. یا بند. جو کچھ بھی تم سے بات کرنا چاہتے ہیں. اب اسکریچ، پہیلی کے ٹکڑے ٹکڑے اس طرح دیکھا. اور اس مجموعہ ہے، وہاں نیچے کی تین، پہیلی ٹکڑے ٹکڑے. ایک مل - کچھ جو خالی اور خالی ہے. اور پھر اس کے اندر دو بولین اظہار. تو آپ گھوںسلا بولین حاصل کرنے کے لئے اظہار کر سکتے ہیں بولین اظہار پیچیدہ بنا دیا. مثال کے طور پر، اگر یہ ہفتہ ہے، اور یہ اچھا ہے موسم، پھر باہر جاؤ. یا کچھ اس طرح صوابدیدی ہے. تو آپ کو بولین اظہار میں شامل ہونے کے ساتھ آ سکتے ہیں بڑا سچ قیمت، جن کے جواب کی بنیاد پر ہے. چھوٹے. اب، C میں شکر، اس میپنگ ہے واقعی بہت آسان ہے. قوسین چیزیں یہاں واضح ہے. && ہے، کیا مطلب ہے کہ "اور" تو اس طرح ہم شروع سے C. ان بلاکس میں تبدیل کرنے جا رہے ہیں اور ہم حالات کے لئے شروع میں بائیں طرف دیکھا، طرف وہاں، میں انہیں C. میں اسی طرح ڈھیر لگانا کر سکتے ہیں اگر X کم ہے Y سے، تو یہ کرتے ہیں. ورنہ اگر X Y سے بڑی اور عظیم چیز ہے، تو یہ کرتے ہیں. نہیں تو منطقی طور پر وہ برابر ہو تو ایسا کہیں ضروری ہے کہ وہ برابر ہیں. تو ہم اب ان چیزوں کی تعمیر شروع کر سکتے ہیں. تو اس کی ایک مثال دیتے. مجھے ایک فائل ہے جو کہ کورس کی ویب سائٹ ہے کہ ہے کھول میں پہلے سے لکھا. یہ nonswitch.c کہا جاتا ہے. اور ہم دیکھتے ہیں صرف ایک لمحے میں کیوں کریں گے. تو یہ فائل میں - nonswitch.c - پہلی بار احساس ہے کہ ایک پوری چڑھانے ہے سب سے اوپر تبصرے. یہ صرف فائل کے نام کی وضاحت کر رہا ہے، اس سے کیا کرتا ہے، اور وغیرہ. اور یہ بظاہر بولین اور ING-استعمال کا ثبوت ہے - دو اظہار conjoining. تو چلو دیکھتے ہیں کس طرح اس پروگرام کے کام. میں اپنے دو فائلوں، cs50.h اور stdio.h شامل ہیں. اگر میں ان کے ساتھ ذیل میں سکرال، اب، پروگرام، یہ اب تھوڑا ہے سے ہم پہلے لکھا ہے لیکن بہت پڑھنے کے قابل ہے. تو میں 18 لائن پر سب سے پہلے صارف کو پرنٹ، "کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے 1 اور 10 کے درمیان ایک عددی کرو." تو یہ ٹھیک بات ہے. اب میں عددی ملتا ہے. لیکن اس GetInt کو احساس - بہت آسان ہے. یہ صرف ایک int حاصل کرنے کے لئے جا رہا ہے. یہ اس بات کا یقین کرنے کے لئے کہ یہ ایک int حاصل ہے جا رہا ہے اور نہیں سٹرنگ یا ناو. لیکن یہ حد چیکنگ کسی بھی قسم کی نہیں ہے. یہ نمبرز کے درمیان رہنے کا فلٹر کرنے والا نہیں ہے بعض رینج. تو ہم خود کو لاگو کرنے کے لئے ہے. تو صرف شروع میں پسند کرتے ہیں، جہاں میں مل کر کر سکتے ہیں دو اظہار، میں سی ہے کہ مندرجہ ذیل کر سکتے ہیں. اگر (ن) سے زیادہ یا 1 کے برابر ہے، اور این سے کم ہے اور 3 کے برابر یا اس میں بہت منمانے حکم جا رہا ہوں کہ ایک چھوٹی سی تعداد کی تعداد. صرف ایک بیان کی خاطر کے لئے. ورنہ اگر N 4 اور 6 کے درمیان ہے، پرنٹ "تم ایک ذریعہ اٹھایا نمبر. "نہیں تو اگر (ن) نے 7 اور 10 کے درمیان ہے، پرنٹ" تم ایک منتخب کیا بڑی تعداد. "باقی پرنٹ" آپ کو ایک غلط نمبر منتخب کریں. " کیونکہ منطقی طور پر، یہ مندرجہ ذیل اگر ہم نے ہماری رینج ختم. تو احساس یہ کافی نہیں ہے کہ ہم کس طرح اس سے بڑا لکھنے یا برابر ریاضی کی کلاس میں ہے. ٹھیک ہے نا؟ آپ عام طور پر اس طرح اس کے تحت لائن کے ساتھ اپنی طرف متوجہ،. لیکن اپنے کی بورڈ پر کوئی ایسی چابی ہے. تو اس سے بڑھ کر کا اظہار کرنے کے لئے C میں علامت یا برابر دو حروف، اور سے بھی کم وقت کے لئے نشانی ہے یا برابر دو حروف کے طور پر ہے. ٹھیک ہے. اگر ایسا ہے تو میں اس پروگرام چلاتے ہیں، آپ شاید یہ کیا ہے اندازہ لگا سکتے ہیں کرنے جا رہی ہے. اگر میں آگے بڑھیں اور nonswitch بنانے کے لئے، درج کریں. اور پھر nonswitch چلائیں. کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے 1 اور 10 کے درمیان نمبر دو. میں اسے 11 دینے جا رہا ہوں. میں ایک غلط نمبر اٹھایا. مجھے نمبر 3 کی کوشش کریں. میں نے ایک چھوٹی سی تعداد اٹھایا. تو کافی وہاں سے براہ راست ہے. کیا ہوگا اگر میں اس پروگرام کے رویے اور تبدیل کرنا چاہتے بدلے میں تھوڑا مختلف چیز کو کیا کرتے ہیں؟ آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور اس کا کہنا ہے کہ دو کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے اس سب کے چھٹکارا حاصل ہے. اور آپ کے وزٹرز کا ریکارڈ رکھا کہنا اگر (ن 42 ==). اور پھر میں نے آگے جانے کے لئے اور پرنٹ کا کہنا ہے کہ جا رہا ہوں "آپ اٹھایا درست جواب "نہیں تو ہم آگے بڑھیں اور کہنے جا رہے ہیں، printf ("آپ اٹھایا جواب غلط ہے ")؛. ٹھیک ہے صرف اس لیے کہ. اب چند پوائنٹس ہم یہاں کر سکتے ہیں. ایک، میں علامت ہے کہ تم یہ سمجھتے ہیں کہ ہے ٹائپ نہیں کیا سب سے زیادہ معقول. جب میں مساوات کو چیک کرنے کے لیے کرنا چاہتے ہیں، بدل جاتا ہے باہر آپ استعمال نہیں کرتے برابر سائن ان کریں. آپ بجائے برابر برابر علامت کا استعمال کریں. اور یہی وجہ ہے کہ intuitively ہو سکتا ہے؟ جی ہاں. سامعین: [اشراوی] DAVID J. MALAN: صحیح. برابر علامت کو پہلے ہی تفویض کے لئے استعمال کیا جاتا ہے. کسی نے یہ سچ کے ذریعے نہیں لگتا ہے. اور تو اب، جب اس مساوات کی جانچ کے لئے آتا ہے، ہم ہیں زیادہ واضح ہو، اور کہتے ہیں برابر برابر. ایک بہت عام غلطی ایسا ہے. اور اگر دفتری اوقات یا کچھ دیر کے اگلے ہفتے میں یا اگلے دو ہفتے آپ کو کچھ اس طرح کرتے ہیں اور پھر 10 کے لئے اس کے ساتھ جدوجہد، 20 منٹ جاننے کی کوشش کر رہے احساس لات بگ کیا ہے کہ آپ ان میں سے ایک ہیں، لوگوں کو جو اس نے غلطی کی ہے. تو، آسان بنانے کے لئے سپر ہے. لیکن مقصد اب اس غلطی سے بچنے ہے. یہ اندازہ، اس لیے کہ یہ سچ کہہ رہا ہے کر سکتے ہیں؟ اگر (ن) 42 ہو جاتا ہے. تو فعل لوگ استعمال کرتے ہیں، زبانی طور پر، کا اظہار کرنے کی تفویض کے تصور ہے "ہو جاتا ہے." تو اگر (ن) 42 ہو جاتا ہے. تو اس کا مطلب ہے کہ (ن) 42 تفویض. اب میں قوسین میں بولین اظہار ہے، اس حالت کے اندر، جس کی قیمت 42 ہے. ٹھیک ہے نا؟ کیونکہ اگر تم اس کے اندر، باہر، کل سے اندازہ جواب، اب 42 ہے. تو اگر میں نے تم سے سوال کیا، "اگر (42)" کیا ہے کہ واقعی کہہ رہی ہو؟ ، بولین اظہار صرف صحیح یا غلط ہو سکتا ہے. 1 یا 0. یا بند. تو ہم ایک کونے کے کیس کو یہاں دیکھ کر لگ رہے ہو، جس کے تحت ایک کے تمام اچانک، میں کہہ رہا ہوں "اگر (42)" رہا ہوں. یہ ایک بولین قیمت نہیں ہے. تو کمپیوٹر کرتے ہیں، اگرچہ ہے، یہ بنیادی طور پر کے مترادف قرار دیا ہے کچھ کہ 0 نہیں ہے، سچ کی تشریح ہے. 1. پر. وہ تمام فعل کے برابر ہیں. صرف قدر 0، یا جھوٹے مطلوبہ الفاظ ہم کریں گے، آخر میں دیکھو، اصل میں باطل ہے. تو "اگر (42)" صحیح اصل میں، کیونکہ یہ غیر صفر ہے. زیادہ عین مطابق یہاں تو، ایک بولین قدر واقعی نہیں ہے لہذا بہت صحیح یا غلط، لیکن اس کے لئے کیس، اگر 0 یا غیر صفر ہے. تو غلط یا جھوٹی نہیں ہے. اور یہ کہ ہم سب کو زیادہ سے زیادہ کا احاطہ کرنے کے لئے کی اجازت دیتا ہے parenthetical اظہار میں امکانات. تو ہمیں ضرورت ہے، کبھی تو احتیاط سے، اس کا کہنا ہے کہ - اگر (ن 42 ==). بس کیونکہ ہم مساوات کے ایک ٹیسٹ کی وضاحت کرنے کی ضرورت ہے، کوئی قدر نہیں تفویض. اور کیا یہاں نوٹنگ کے قابل ہے؟ یہ گھوبگھرالی منحنی خطوط وحدانی اصل میں نہیں ہیں ضروری ہے. میں نے ان کر رہا ہے صرف این آئی ٹی picky یہاں. لیکن آپ کو ایک شرط یہ ہے کہ صرف ایک لائن ہے کب کوڈ، پروگرامرز ایک سہولت کے طور پر استعمال کرنے کی ضرورت نہیں ہے گھوبگھرالی منحنی خطوط وحدانی. یہ صرف جمالیاتی وجوہات کی بناء پر بڑھائیں، کافی ہے، اور تو کوڈ کے لائن لکھتے ہیں. کے لئے - صرف اس وقت جب آپ کوڈ کی دو سطریں لکھنے کے لئے چاہتے ہیں مثال کے طور پر، اور printf ("الوداع!"). اگر آپ کرنا چاہتے ہیں کہ یہ ٹوٹ گیا ہے. تم سب آپ چاہتے ہیں پوٹ کر سکتے ہیں، لیکن حقیقت یہ ہے کہ آپ کے پاس گھوبگھرالی منحنی خطوط وحدانی کا استعمال کرتے ہوئے بغیر کوڈ کی دو سطریں ٹائپ کا مطلب ہے کہ اس پروگرام کو صحیح طریقے سے یا شاید حصہ نہیں ہوں گے صحیح طریقے سے بھی نہیں مرتب. تو اب، ایماندار، مجھے لگتا ہے کہ سب سے بہترین عادت صرف ہے گھوبگھرالی منحنی خطوط وحدانی کا استعمال کریں، اور آپ کو لگتا ہے کہ وہ بنا دیں گے سپر واضح کیا جا رہا ہے. کے علاوہ، ایک طرف ایک - خاص طور پر اگر آپ ان کے درمیان ہو جو استعمال کرتے ہیں سفارش کی کتابوں یا وسائل آن لائن - احساس ہے کہ میں سٹائل کے اس اصول کی ہے پروگرامنگ. اور کچھ لوگ اصل میں گھوبگھرالی تسمہ ڈال کو ترجیح دیتے ہیں یہاں پر ایک سطر ہے. مضحکہ خیز چیز پر کچھ لوگوں کو ترجیح دیتے ہیں، انہیں یہاں رکھنا چاہتا ہوں. کوئی غلط جواب ہے جب یہ آتا ہے ہالی ووڈ، لیکن یہ غلط ہے. لیکن بعض لوگ کرتے ہیں. [ہنسی] DAVID J. MALAN: تو میں اس کا ذکر اب، صرف کیونکہ تم کتابیں یا آن لائن میں چیزوں پر پڑھا، آپ کو حاصل کرنے کے لئے جا رہے ہیں مختلف اساتذہ کی طرف سے مختلف پیغامات اور مختلف مصنفین. اور صرف یہ ہے کہ احساس، فعل، وہ ہیں عام طور پر برابر ہے، لیکن مسلسل ہو. تو گھوبگھرالی پر ہم نے اس معاملے میں معیاری کریں گے، منحنی خطوط وحدانی بائیں پر پرت یہاں. ٹھیک ہے. تو آگے اب جا اور اس کے چلانے، اور دیکھتے ہیں کیا ہوتا ہے اس پروگرام کے ساتھ. nonswitch بنائیں. پھر nonswitch چلائیں. کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے 0 درمیان ایک عددی دو اور - اس لئے جو کہ متعلقہ نہیں ہے اب، لیکن میں صرف منمانے 42 کا کہنا ہے کہ جا رہا ہوں. اور میں نے درست جواب چنے. ٹھیک ہے اب، اصل میں ایک مختلف سمت میں یہ لے لو. یہ بدل جاتا ہے وہاں کسی اور نحو ہے ہم ایک پروگرام میں استعمال کر سکتے ہیں. یہاں نحو کی ایک نئی ٹکڑا ہے کہ فعل ایک ہی ہے، لیکن صرف خود کو ظاہر کرنے کا ایک اور طریقہ متعارف کرایا. تو یہ ہے جو ایک کہتے ہیں. "سوئچ بیان." اور ایک سوئچ بیان مندرجہ ذیل کام کرتا ہے. یہ قوسین میں لیتا ہے، ایک قدر ہے کہ آپ کرنا چاہتے ہیں، "سوئچ". آپ کو اس کی قیمت کی بنیاد پر مختلف برتاؤ کرنا چاہتے ہیں. تو یہ (ن) کی قیمت پر سوئچ کا مطلب ہے کہ. اور اس کا کیا مطلب ہے؟ ٹھیک ہے، اگر (ن) 1 یا 2 یا 3 ہے، آگے بڑھو اور پرنٹ "تم ایک بڑی تعداد میں اٹھایا اور پھر توڑ. وقفے کی وجہ یہ ہے کہ C کام کے طور پر ہے جیسے ہی یہ ایک کیس ہے کہ میل کھاتا ہے پائے، انہیں قابل عمل شروع ہوتا ہے اس کے نیچے کوڈ کی. ، تو اگر میں کوڈ کی ایک ہی لائن میں ہے، کے طور پر میں 27 لائن پر یہاں کیا ہو جاتا ہے پھانسی. اگر میں نے ایک اور لائن یہاں، یہ قتل ہو جاتا ہے. ایک اور لائن یہاں، یہ قتل ہو جاتا ہے. پروگرام صرف قتل روکتا ہے جو نیچے ہے جب میں نے واضح طور پر لاگو کیس بیان کا کہنا ہے کہ "توڑ." تو غلط ہے. ٹھیک ہے، اس صورت میں، اس کے نتیجے کے طور پر. کیس 4 یا 5 یا 6، اسی طرح ہو رہا ہے، ایک پیغام پرنٹ. اس صورت میں، درمیانے تعداد. توڑ. 7 کیس، 8، 9، 10،، اسے باہر پرنٹ کرنے کے لئے جا رہا ہے "تم نے ایک بڑا اٹھایا number "کا توڑ دو. اور پھر وہاں لفظی "ڈیفالٹ" مطلوبہ الفاظ جو مؤثر طریقے سے "باقی" کی تعمیر کی طرح ہے. تو نئے نحو، لیکن ذہنی، تمام نئے یہاں کچھ بھی نہیں ہے. یہ صرف سکریچ کی طرح ہے. اگر، اور اگر، اور اگر، طرح بلاک کی. تو ہے کہ اس پروگرام کے تبدیل کر دیا ورژن ہے. نوٹس لیکن ہے کہ ہم اسے یہاں کی تعداد کے ساتھ کیا تھا. مجھے ایک دوسری ورژن کھولنے، صرف دکھانے کے لئے تھوڑا سا زیادہ ٹھوس کچھ. لہذا ہم یہاں گریڈ بجائے ہے. باہر آپ کو نہ صرف integers پر سوئچ استعمال کر سکتے ہیں کر دیتا ہے، لیکن حروف. تمام اعداد و شمار اقسام میں، لیکن کم از کم حروف پر نہیں. تو یہاں کی طرح کچھ ہم کرتے ہیں، کر سکتے ہیں اگر کہ C کی قدر صارف میں ٹائپ، 19 لائن میں GetChar تقریب کا استعمال کرتے ہوئے کی طرف سے، ایک یا ایک چھوٹے، یہ گریڈ کے طور پر تشریح کی دارالحکومت ہے کہنا اور وہ ایک بہترین گریڈ اٹھایا. اور نیچے سوئچ کے بیان کے ساتھ ساتھ، ہم نے دوسری ہے "B" اور "C" کے، اور وغیرہ کے مقدمات. لیکن اب ایک اور چیز منہاج القرآن کے. اور پھر قسم کے ذریعے پرواز ان مثالوں میں سے کچھ. لیکن یہ واقعی ایسا ہے کہ ہم ان کے اطلاق کے لئے کوشاں ہوں، اب کر سکتے ہیں - یا سچ، اب صرف ان کے ترجمہ - C. پر تو آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور اس کام کو. میں نے ایک نئی فائل کھولنے جا رہا ہوں. اور میں شامل کرنے کے لئے جا رہا ہوں. اور پھر میں int اہم (باطل) میں کیا کرنے جا رہا ہوں. کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے ایک loop.c. کے طور پر اس فائل کو بچانے کے صرف ایک مثال کے طور پر. اور میں آگے جانا ہے اور مندرجہ ذیل کر جا رہا ہوں. میں ایک بہت تکاؤ پروگرام کو لکھنے کے لئے چاہتے ہیں. تو 10. چلو، ایسا. 9. ٹھیک ہے. جیسے ہی آپ کو پروگرامنگ میں یہ کر رہی شروع ہو جائیں، تو آپ ہیں شاید کچھ غلط کر رہے ہیں. لیکن ہم وہاں ویسے بھی شروع کر دیں گے. افوہ. یہ اصل میں غلط ہے. 7. 6. 5. 4. کچھ بھی نہیں جب ہم 0 حاصل کرنے کے لئے کیا ہونے جا رہا ہے. 3. 2. 1. ٹھیک ہے. 0. خارج کر دیں. ٹھیک ہے. تو واپس 0. تو یہ پروگرام ظاہر کیا ایسا ہو رہا ہے tediously کا کہنا ہے کہ یہ کیا ہو رہا ہے. یہ ان میں سے سب کو پرنٹ کرنے کے لئے جا رہا ہے اوپر سے نیچے تک اقدار،. تو آپ کے وزٹرز کا ریکارڈ رکھا لوپ کروں. اور پھر - افوہ. لوپ بنائیں. میں غلط ڈائریکٹری میں تھا. اور اب مجھے لوپ چلانے. درج کریں. واہ واہ. بہت اچھا ہے. اچھا، طویل پروگرام. ٹھیک ہے، لیکن اب ایسا بہتر ہیں. صرف شروع میں پسند کرتے ہیں، جب آپ looping کا استعمال کرتے ہوئے شروع کر دیا ، کی بجائے تعمیر صرف کاپی اور سب کے پیسٹ پہیلی ٹکڑے ٹکڑے کر، مجھے اس بات کو متعارف کرانے. تو سی مختلف looping تشکیل ہے، جن میں سے ایک اس طرح لگ رہا ہے. A "کے لئے" لوپ میں تین چیزوں، دو semicolons کی طرف سے الگ ہے. اور لوپ کے جسم کے اندر تو، تو بات - کی چیزیں اندر گھوبگھرالی منحنی خطوط وحدانی - ہم کچھ بار بار کر سکتے ہیں. تو یہ کیا میں سکرین پر یہاں ہے، ہے لفظی صرف ایک تبصرہ ہے. / / یہاں کا مطلب ہے کہ ایک تبصرہ آتا ہے. اس کوڈ کو نہیں ہے. یہ صرف انگریزی آپ کے وزٹرز کا ریکارڈ رکھا وضاحت، انسان ہے. تو initializations، حالات، اور اپ ڈیٹس. ٹھیک ہے، یہ کس طرح کام کرتا ہے کو دیکھنے کے دو. یہ کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے مندرجہ ذیل اس پروگرام کو دوبارہ سے لکھنا کی اجازت دیتا ہے ہے. کے لئے - تو میرا لوپ آتا ہے - میں int - یہاں ایک متغیر "میں" آتا ہے - 10 initialized ملتا ہے. تو میری ابتدا ہے. میں اس لوپ کو اتنی دیر کے طور پر "میں" یا اس سے زیادہ ہے کرنا چاہتے 0 کے برابر ہے. اور اس لوپ میں سے ہر ایک iteration، میں چاہتا ہوں میں وہی کروں گا - تو ہم نے پیر کو + + دیکھا. - کے برعکس ہے. 1 کی طرف سے قیمت decrements. اس لوپ کے اندر، میں واقعی کچھ کرنا چاہتے ہیں. تو میں printf طرح کچھ کہنے جا رہا ہوں. میں 10 اب نہیں کہنا چاہتا، کیونکہ یہ صرف ظاہر ہے اسی قدر کو پرنٹ کرنے کے لئے جا رہا ہے. کیا میں بجائے شاید، پرنٹ کرنا چاہتے ہیں؟ جی ہاں. تو "میں." تو٪ D،. تو میں نے پہلے سے ان خیالات میں سے ایک چوری کی جا رہی ہوں - فارمیٹ کے کوڈ کے لئے اس متبادل - اور پھر نیچے کے نیچے دیے گئے یہاں، میں 0 واپس صرف کریں گے اچھا اقدام کے لئے. لیکن اب، میں ایک succinct پروگرام ہے. یہ صرف ایک چند لائنوں ہے، اور کچھ 10 یا نہیں 11 لائنوں. مجھے میرے نیچے فوری یہاں. ریمیک لوپ. لوپ Rerun. اور یہ وہی ہو ظاہر ہوتا ہے. اب کوئی زیادہ دلچسپ پروگرام ہے. لیکن اب میں کچھ اس طرح ٹائپ کر سکتے ہیں. میں 100 اس کو تبدیل کر سکتے ہیں. میں میرا پروگرام تو recompile کر سکتے ہیں. اور پھر میں نے اپنے پروگرام کو دوبارہ چلا سکتے ہیں. اور اب یہ آج کل کے کمپیوٹرز پر سپر فاسٹ جاتا ہے. لیکن وہاں میں ہے - اور اصل میں، میری scrollback بفر نہیں ہوتا ہے بھی اتنی دور جانا ہے. ہم وہاں جا رہے ہیں. تو ہم وہاں 100 تمام ہے. لیکن یہ آسان ہے غلطیوں بنانے کے. متوقع رویے کیا جا رہا ہے اگر میں اتفاقی طور پر ایسا ہے؟ تو اس لامحدود کی طرح لگ رہا ہے. تو چلو دیکھتے ہیں اگر کمپیوٹر برتاؤ کرتی ہے. تو آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور لوپ بنا. اور آپ کے وزٹرز کا ریکارڈ رکھا لوپ چلانے. تو ہے کہ صرف ایک لمحے میں واپس آنا. ہم اس دوڑ کو دونگا. کیونکہ کیا ہم، minimally پر شمار کرنا چاہئے؟ شاید کم از کم 2 ارب، اگر ہم ہے کہ بہت سے بٹس اور ہم مثبت اقدار کا استعمال کرتے ہوئے کر رہے ہیں. تو یہاں واپس کود. loops کے اس قسم کے علاوہ، ہم نے کیا جبکہ کہا جاتا ہے loops. تو، جیسا کہ سکریچ میں، آپ کو ہمیشہ کے لئے تھا بلاکس، اور آپ کو دہرائیں بلاکس تھا. اسی طرح، آپ C میں صرف دوسرے طریقوں اپنے آپ کو ظاہر کرنے کا. تو آپ کو دیر لوپ ہے جو آپ کو کرنے کی اجازت دیتا ہے کے اس اصول کی ہے اپنے آپ کو ایک مختلف طریقے سے تھوڑا اظہار. اور پھر آپ کے پاس کیا جبکہ ایک لوپ ملاقات کی کچھ ہے، جو تھوڑا مختلف ساتھ ساتھ چلتی ہے. اور ہم یہ وقت گزرنے کے علاوہ چڑھاو گے. لیکن یہ آخری ایک پر ایک نظر لے. اگر ہم میں جانے - اب بھی چل رہا ہے. یہ بہت لامحدود ہے. تو کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے مثبت میں جانے، اور ظاہر ہے کہ کس طرح ہم اصل میں کر سکتے ہیں صارف کی ان پٹ تھوڑا مزید مؤثر طریقے سے حکومت. یہ ایک بہت مختصر پروگرام ہے. اور ہم یہاں اہم، ایک int اعلان (ن) میں ہے. تو آپ کے وزٹرز کا ریکارڈ رکھا نامی این متغیر دے. اب، میں لفظی کا کہنا ہے کہ "کرتے ہیں." اور پھر میں نے کھلی گھوبگھرالی ہے تسمہ، گھوبگھرالی تسمہ بند کریں. اور پھر اس کے بعد میں ٹھیک ہے میں محسوس کرتے ہیں، کا کہنا ہے کہ جبکہ این سے بھی کم 1 ہے. تو دیکھیں گے کہ ان لائنوں - 19 24 - اجتماعی کیا ہے جبکہ ایک لوپ تحریر کریں. اور پھر نئے نحو، ایک نیا خیال نہیں ہے. یہ صرف looping کا ایک اور طریقہ ہے، syntactically ہے. تو یہ کیا کرتا ہے؟ مندرجہ ذیل پر عمل کرتے ہوئے این 1 سے بھی کم ہے. تو مجھے کیا کرنا چاہتے ہیں؟ میں درخواست کرتا ہوں کہ تم نے مجھے ایک مثبت عدد صحیح دے. اس کے بعد میں واقعی میں صارف کی جانب سے ایک عددی حاصل کرنے کی کوشش کریں. لیکن آپریشن کے حکم کی شرائط یہاں کیونکہ جبکہ حالت نیچے یہاں ہے، (ن) میں پھر چیک کرنے کے لیے جا رہا ہوں، ہے 1 سے بھی کم ہے؟ تاکہ صارف لگتا ہے کہ - کے بعد کیا جا رہا ہے اس طرح کا مطالبہ - 0 قیمت میں اقسام. یہ حالت صحیح یا غلط ہونے جا رہا ہے؟ ٹھیک ہے، یہ اصل میں سچ ہونے جا رہا ہے. کیونکہ ن 0 ہے، اور 0 سے کم 1 ہے. تو اس کا کیا مطلب ہے؟ پھر سے کرو. پھر سے کرو. پھر سے کرو. صرف ایک بار شرط باطل کی تشخیص کرتا ہے. اگر میں 42 میں ٹائپ کریں. نہیں، 42 سے بھی کم 1 نہیں ہے. لہذا اس لوپ کو قتل کیا جاتا ہے. اور ایسا ہے، تو پروگرام اس وقت کہتے ہیں، کے لئے شکریہ اس معاملے میں، 42. اب جب کہ آپ کے پاس اپنے آپ کو ظاہر کرنے کا یہ طریقہ ہے - ہم نے اس کے لئے مکمل ہونے کا انتظار نہیں کرنا چاہئے. یہ کچھ وقت لے جا رہا ہے. اگلی بار جاری، شاید. لیکن اب، تم امید کرنے کی صلاحیت کو سمجھنے کی ہے geek مزاحیہ سا. مستثنی تقاضہ. یہ مزاحیہ کی نمائندہ کمپیوٹر سائنس میں نہیں ہے دنیا ہے، لیکن یہ پیارا ہے. [ہنستا ہے] ہم آخر اس بات پر. اور ہم آپ کو پیر کو نظر آئے گا. [اپلاز]