[Powered by Google Translate] DAVID J. MALAN: ٹھیک ہے. یہ CS50 ہے، اور اس کے دو ہفتے کے اختتام پر ہے. اگر آپ کل اس وقت کے ارد گرد بھوکا ہونے کی توقع جانتے ہیں، کہ ہم جا رہے ہیں ایک چھوٹا سا گروپ کل جمعرات، 1:15 PM منعقد. اس یو آر ایل یہاں ہے اگر آپ پر RSVP کرنا چاہتے ہیں. جگہ محدود ہے، لہذا آپ براہ مہربانی اگر فارم کے وقت کی طرف سے بھرا ہوا ہے معاف کریں اس سے بھرنے. ایک اور اگرچہ یو آر ایل دلچسپی کے ہو سکتا ہے یہ ہے. تو صرف ایک ماہ کے وقت کے بارے میں، کورس دستیاب کرایا جا رہا ہے edX کے ذریعے زیادہ موٹے طور پر تمام انٹرنیٹ پر لوگوں کے ذریعہ کیا جائے گا ساتھ کی پیروی کرنے کے لئے، اصل میں کورس میں بہت فعال طور پر مصروف، کے قابل ہے. وہ CS50 آلات اور CS50 بحث کریں گے اور سب سے زیادہ استعمال کریں گے مختلف سافٹ ویئر کے اوزار ہے کہ ہم نے پہلے سے ہی کیا گیا ہے اس سمسٹر کا استعمال کرتے ہوئے. اور اقدامات میں سے ایک ہم ایک استعمال کے طور پر اس سال پر لے جانا چاہتے ہیں تو یہ دیکھنے کے لئے کتنا مواد ہم نے دوسری بات میں ترجمہ کر سکتے ہیں اور تحریری زبانوں. تو اگر آپ کو اس منصوبے میں حصہ لینے میں دلچسپی ہے، جس کے تحت ہو سکتا ہے ہم نے کی کورس کے لئے انگریزی ٹرانسکرپٹس اور سب ٹائٹل فراہم کرے گا لیکچر اور شارٹس اور سیمناروں اور حصوں اور طرح - اگر آپ روانی سے بات کرتے ہیں یا روانی کسی اور زبان لکھنے، ہم کریں گے آپ کو اس منصوبے میں اترنے کی محبت، آپ میں سے ایک یا اس سے زیادہ پر جس کے تحت لے ویڈیوز، اور ایک زبان ہے تم بہت اچھی طرح سے جانتا ہوں میں ان کا ترجمہ ہے. آپ کے انٹرفیس کا احساس دیتے ہیں، اس ویب پر مبنی یوزر انٹرفیس ہے کہ ہم جو بنیادی طور پر اس طرح ایک UI پیدا کر دے گا کے ذریعے کریں گے. یہ آپ کے وزٹرز کا ریکارڈ رکھا پہلے کچھ ہالووین سکھا رہی تھی. اور سیاہ دائیں ہاتھ کی طرف ان وقت کے ٹکٹ پر اگلے آپ کو مختلف چیزیں ہیں جو میرے منہ سے اس دن باہر آئے نظر آئے گا. اور اس کے بعد، آپ اس کے نیچے کسی دوسری زبان میں ترجمہ کرنے کے قابل ہو جائے گا. بالکل ٹھیک کیا میپنگ کے درمیان اس معاملے میں، انگریزی میں ہے، اور، کا کہنا ہے کہ ہسپانوی. تو یہ اصل میں ایک بہت ہی صارف دوست آلہ ہے. تم اور تیزی سے آگے کی بورڈ شارٹ کٹس کے ساتھ ماضی بہت آسانی سے کر سکتے ہیں. اگر ایسا ہے تو آپ کو اس کے استعمال میں حصہ لینے کے لئے چاہتے ہیں اور اپنے الفاظ کو ہوگا براہ مہربانی وہاں لوگ ہزاروں کی طرف سے ممکنہ طور پر دیکھا اور پڑھا، لگتا شرکت مفت. اب پیر سے بلی کے بچے کے بارے میں ایک لفظ، ایسا نہ ہو کہ ہم نے حد سے زیادہ ایک بھیجا ہے ڈراونا پیغام ہے. کہ دفتری اوقات تجویز اور حصے مشورہ ہے کہ احساس، کیا کورس کے ڈیزائن بہت سے طالب علموں کو تعاون کر بہت ہے اور مسئلہ سیٹ اور مسائل کے ذریعے ایک ساتھ کام کرنے کی بات کر رہا ہے. اور واقعی لائن صرف نیچے آتا ہے، پھر، کام بالآخر آپ پیش کرنا چاہئے، اپنی خود کی ہونا چاہئے. یہ ہے، بہت ایمانداری سے - دفتری اوقات میں، یہ مکمل طور پر عام ہے - یہ مکمل طور پر ہے، بھی رکھا جائے کی توقع - کچھ کے ساتھ بات تمہارے ساتھ. اگر وہ یا وہ کسی موضوع کے ساتھ جدوجہد کر رہا ہے، اور آپ کی طرح ہو، اوہ، ٹھیک ہے دو آپ کے وزٹرز کا ریکارڈ رکھا آپ کوڈ کے کچھ لائن ہے کہ میں نے لکھا کی ایک جھلک دیتے ہیں. یہ ٹھیک ہے. یہ ہوتا ہے. اور یہ سیکھنے کے عمل کے ساتھ بہت سازگار ہے، مجھے لگتا ہے،. لائن، پھر سے تجاوز کر گیا ہے، ہو جاتا ہے، اور جب سر کی طرح میں tilted ہے کہاں ہے یہاں سچ میں اس کے لیے بہت پر یا منٹ کے لئے صرف آپ کے دوست کے لئے ایک غیر مسدود موقع رہی ہے. اور یقینی طور پر، جب چیزیں ای میل اور ڈراپ باکس اور کے ذریعے کا تبادلہ کرنے کے لئے کی طرح، وہاں بھی لائن ہے. تو سب کا مطلب ہے کی طرف سے، آرام دہ اور پرسکون لگے گا اور محسوس دوستوں کے ساتھ بات چیت کرنے کی حوصلہ افزائی کی psets اور زیادہ کے بارے میں ہم جماعتوں. اور صرف احساس ہے کہ جو تم بالآخر پیش ہونا چاہئے مصنوعات آپ کی تخلیق اور کسی اور کی نہیں. تو cuddly مخلوق کے اسی رگ میں، آپ کو شاید اس آدمی کے یہاں جانتے ہیں. لہذا اس سال پہلے سے ایک horrifically cheesy فلم ہے. یہاں کوئی Spaceballs دیکھا ہے؟ ٹھیک ہے. ایک اچھی تعداد میں یہاں تو. تو یہ ہمارا آج بالآخر متعارف کرانے کا wonderfully تعلیمی طریقہ ہے خفیہ نگاری کے تصور. اور 2 pset، جو آئے گا کے لئے ڈومین مخصوص مسائل میں سے ایک دیر کل رات، خفیہ نگاری کی دنیا میں کودو، جو ہے خفیہ کاری یا scrambling معلومات کے فن ہے. اور یہ بالآخر سیکورٹی کی دنیا سے متعلق ہے. اب ہمیں سلامتی کے سب سے زیادہ کے لئے کافی اشیاءہوسکتی میکانزم کی شکل میں آتی ہے. ہم سب کو صارف نام اور پاس ورڈ ہے. اور ہم سب بہت خراب صارف کا نام اور پاس ورڈ ہے، امکان سب سے زیادہ ہے. اگر آپ کا پاس ورڈ ایک سے زیادہ ویب سائٹ پر ایک ہی ہے، جو شاید نہیں ہے سب سے اچھا خیال ہے، ہم سمسٹر آخر کی طرف کے طور پر بات کریں گے. اپنے - کوئی مذاق نہیں ہے - اگر آپ کے پاس ورڈ میں ایک چپچپا نوٹ کے وزٹرز کا ریکارڈ رکھا جائے گا ہے باخبر رہنا، وہ بھی ضروری نہیں ہے سب سے بہتر ڈیزائن لیکن کافی عام رجحان. اور اگر تم خفیہ نگاری کا استعمال نہیں کر رہے ہیں آپ کے پاس ورڈ کو خفیہ کرنے کے لئے، وہ کر رہے ہیں خاص طور پر کمزور ہے. تو اگر آپ کو لگتا ہے کہ آپ سپر ہونے کے ایک خفیہ لفظ کے کی طرف سے ہوشیار کر رہے ہیں آپ کی ہارڈ ڈرائیو جو آپ کے پاس ورڈ کے تمام ہے لیکن کہیں دستاویز یہ ایک فولڈر میں ہے کہ کوئی بھی نظر ہو رہا ہے، وہ بھی بہت نہیں ہے محفوظ طریقہ کار. اور تو کیا 2 pset متعارف کرائے گا، خفیہ نگاری کے اس فن ہے اور معلومات scrambling تاکہ پاس ورڈ طرح چیزیں ہیں زیادہ محفوظ ہے. تو کے طور پر ایک بہت ہی غیر حقیقی دنیا کے ساتھ یہ بہت حقیقی دنیا کے مسئلے کو حوصلہ افزائی کرنے کے منظر نامے کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے اس سے آپ میں سے ایک ہمارے پسندیدہ کلپس متعارف کرانے فلم، Spaceballs. [ویڈیو پلے بیک] ہیلمیٹ، آپ پریت، کیا ہو رہا ہے؟ آپ نے میری بیٹی کو کیا کر رہے ہیں؟ آپ کے وزٹرز کا ریکارڈ رکھا شاندار نوجوان پلاسٹک سرجن، ڈاکٹر فلپ کو متعارف کرانے کے لئے اجازت Schlotkin، پوری میں سب سے بڑی ناک کام آدمی کائنات اور بیورلی ہلز. آپ کے مہاراج. کے ناک کام؟ مجھے سمجھ نہیں آتا. وہ پہلے سے ہی ایک ناک کام تھا. یہ ایک میٹھی 16 موجود تھے. نہیں، یہ نہیں ہے کیا آپ کو لگتا ہے کہ. یہ بہت ہے، بہت برا ہے. اگر تم مجھے نہیں دے ہوائی ڈھال مجموعہ، ڈاکٹر Schlotkin آپ کی بیٹی واپس اپنے پرانے ناک دیتے ہیں. کے نہیں! کہ تم کہاں سے ملے؟ دائیں. میں بتا دونگا. میں بتا دونگا. نہیں، والد، نہیں. تم نہیں کرنا چاہئے. You're حق، میرے عزیز. میں اپنے نئے ناک کی کمی محسوس کریں گے. لیکن میں نے انہیں نہیں بتا مجموعہ کوئی بات نہیں کیا جائے گا. بھی بہت ہے. ڈاکٹر Schlotkin، تمہاری سب سے بری کرنا. میری خوشی ہے. کے نہیں! رکو، رکو. میں بتا دونگا. میں بتا دونگا. میں جانتا تھا کہ یہ کام کریں گے. ٹھیک ہے، یہ مجھے دے دو. کے مجموعہ میں سے ایک ہے. ایک. ایک. دو. دو. دو. تین تین. تین. چار. چار. چار. پانچ پانچ. پانچ. تو مجموعہ ایک، دو، تین، چار، پانچ ہے. یہ بیوکوفی مجموعہ میں نے کبھی اپنی زندگی میں سنا ہے. یہ چیز کی طرح ایک بیوکوف اس کے سامان پر ہوگا. شکریہ، مہارانی. تم نے کیا کیا؟ میں نے دیوار دیا. نہیں، تم نے نہیں. تم نے پوری فلم کر دیا ہے. میں نے غلط بٹن پر زور دیا ضروری ہے. ٹھیک ہے، اسے واپس رکھ. فلم واپس رکھو. جی ہاں، صاحب. جی ہاں، صاحب. آو، Erna جانا. ، Gretchen چلو. بالکل آپ کو پتہ ہے کہ میں آپ کو اس کے لئے بل اب بھی پڑے گا. سے اچھا، یہ کام کیا؟ دروازے کہاں ہے؟ نے یہ کام کیا ہے، سر. ہم مجموعہ ہے. عظیم. اب ہم سیارے Druidia سے تازہ ہوا کے ہر آخری سانس لے سکتے ہیں. مجموعہ کیا ہے؟ ایک، دو، تین، چار، پانچ،. ایک، دو، تین، چار، پانچ،؟ جی ہاں. یہ حیرت انگیز ہے. میں نے اپنا سامان اسی مجموعہ ہے. 1 Spaceball کو فوری طور پر روانگی کے لیے تیار کریں. جی ہاں، صاحب. اور میرا سامان مجموعہ کو تبدیل. وا! [END ویڈیو پلے بیک] DAVID J. کریں MALAN: ایک حیرت انگیز فلم ہے آپ سب اب دیکھنا چاہئے. تو یہاں سیاق و سباق یہ ہے کہ غیر محفوظ اعداد و شمار کے ساتھ کا موقع آتا ہے اسے خفیہ اور اس جدوجہد پر ہے. اور اس طرح یہ، مثال کے طور پر، ایک خفیہ کردہ پیغام کی ایک مثال ہے. یہ اصل میں انگریزی میں کچھ کا کہنا ہے کہ. لیکن یہ واضح طور پر مکمل طور پر واضح نہیں ہے. اور ہم آج مکمل دائرے میں آنے کے علاوہ چڑھاو گے جو یہ راز یہاں پیغام ہے. لیکن کمپیوٹر کی حقیقی دنیا میں، چیزیں وہ طاقت کی طرح بھی نہیں لگتی انگریزی جملے. مثال کے طور پر، یہ ہے جو آپ کو ایک معیاری لینکس یا میک پر تلاش کر سکتے یا ہو سکتا ہے ایک فائل ہے کہ ایک وقت تھا میں UNIX کمپیوٹر پاس ورڈ فائل سے ملاقات کی. آج کل، یہ دوسرے مقامات پر منتقل کر دیا گیا ہے. لیکن اگر آپ کو ایک ایسا نظام پر صحیح جگہ میں دیکھو، تم نہ صرف آپ دیکھیں گے صارف کا نام یا سسٹم پر دوسرے لوگوں کی، لیکن آپ دیکھیں گے ایک ان کے پاس ورڈ کے مرموز ورژن. درحقیقت لفظ وہاں crypt تجویز کیا گیا ہے کہ مندرجہ ذیل چیزیں خفیہ ہے. اور بظاہر بے ترتیب حروف اور حروف اور اعداد کا یہ سلسلہ اور وغیرہ صرف عام طور پر کوئی راز جاننے کی طرف سے رکھا جائے decrypted کیا جا سکتا ہے - ایک خفیہ لفظ، ایک خفیہ نمبر ہے. اور تو یقینا کچھ بالآخر فوڑے خفیہ نگاری نیچے کے فن پر اعتماد کرتے ہیں، ترتیب دیں اور ایک ایسی چیز ہے جس پر کوئی اور نہیں ہے جاننے کے. ہم آج تھوڑا تفصیل سے اس کی اور pset میں آنے کی کریں گے. اور اب پاس / ناکام پر ایک لفظ. تو خاص طور پر، تم میں سے بعض کے طور پر 1 pset، آلات میں dived ہے، اور اپنے آپ کے لئے ایک بہت نئی دنیا، کوبٹھاوں کہ احساس ہوا اور الجھن اور صرف تکنیکی مشکلات متوقع ہیں. پہلے pset، جہاں صرف اتنا نیا ہے، خاص طور پر صرف ہو رہی ہے کے ساتھ LS اور سی ڈی اور ایک نئے ماحول میں ان تمام arcane حکم سے واقف ہے. اور اس کے اصل مال اور خود پروگرامنگ سے الگ ہے. تو بھی احساس ہے کہ یقینی طور پر دفتری اوقات کے طور پر موجود ہیں، حمایت ساخت. حصے میں اس آنے والے اتوار کو شروع کرتے ہیں. لیکن سب سے اہم بات یہ ہے کہ اگر آپ کو صرف یہ ہے کہ محسوس کر رہے ہو یہ نہیں ہے آپ کے لئے دنیا کا احساس، کہ یہ واقعی وقت لگے ہے. اور یہ اس موقع کے لئے سال پہلے ایک کلاس لینے کے تھے میرے لئے نہیں ناکام / منظور، سکوئر سے، میں نے بھی کبھی نہیں کلاس روم میں قدم. اور آپ اسے تبدیل تک، کا کہنا ہے کہ کر سکتے ہیں، پانچویں کورس کے پیر. تو اگر آپ کنارے پر اب کچھ دوسرے ہیں میں، کہ بجائے سر کا احساس پانی مکمل طور پر، یقینی طور پر / ناکام گزر کو تبدیل کرنے کے بارے میں غور ہے. ایک بار پھر، واقعی یہ ثقافت نہیں یہاں چیزیں لینے کے ہارورڈ میں / گزر کے بعد سے سب واقعی کو حاصل کرنے یا overachieve چاہتا ناکام. لیکن سچ کہوں تو، یہ کچھ کرنے کی کوشش کے ایک شاندار طریقہ یہ ہے کہ نہ ہو آپ سے واقف ہو. اور تم سب سے زیادہ ٹھیک صورتوں میں کیا کر رہے ہیں، شاید گے اپنے حیرت پر زیادہ ہے. اور زیادہ ٹھوس لحاظ سے، جو مجھے لگتا ہے کہ گزر / عام طور پر ناکام ہے، خاص طور پر اس صورت حال میں جبکہ آپ 0 pset کے ساتھ تجربہ ہو سکتا ہے، اگر آپ کو رکھا ہے. میں 10 گھنٹے، 15 گھنٹے، 25 گھنٹے کچھ pset میں - اور آپ نے ابھی پیٹنے کر رہے ہیں دیوار کے خلاف اپنے سر، اور یہ انتہائی رات کو ہو رہا ہے دیر، لیکن آپ کو راستے سے 90 فی صد کی طرح pset کر لیا ہے، آپ کو معلوم ہے کہ تم صرف ایک بات سمجھ نہیں کر سکتے ہیں - منظور / ناکام واقعی برتری لیتا ہے ایک طبقے کی اس طرح، تم کہاں الگ الگ کرسکتے خوشی ٹھیک کہتے ہیں، مجھے معلوم ہے کہ یہ درست نہیں ہے. لیکن میں نے اس پر اپنی گدی کام کیا. میں جہاں یہ ختم ہونے کے ساتھ بہت خوش ہوں. اور اس کے پاس کے لئے توقعات پر پورا اترنے / ناکام ہو جائے گا. تاکہ ذہن میں رکھنے کی ہے. ٹھیک ہے. تو تم میں سے وہ لوگ جو ہارورڈ یونیورسٹی کے وائی فائی کا استعمال کرنے کی جدوجہد میں مصروف ہے معلوم کہ ایک CS50 SSID ہے، ایک وائی فائی کنکشن کی کہ ارد گرد تیرتا آپ کے لئے بہتر قسمت ہو سکتا ہے. اگر آپ کو کرنے کی کوشش کرنا چاہتے ہیں - یہ ایک چھوٹا سا ستم ظریفی کہئیے کہ اس کے لئے پاس ورڈ بہتر رفتار کے لئے اس سے منسلک اور ہمیں معلوم ہے کہ اگر یہ بہتر نہیں ہے - ایک، دو، تین، چار، پانچ، ہر طرح آٹھ ہے کیونکہ آٹھ ہے پانچ سے زیادہ محفوظ ہے. لہذا اگر آپ کو پاس ورڈ وائی فائی کی ضرورت ہے، CS50 wirelessly یہاں رابطہ قائم کریں. ایک، دو، تین، چار، پانچ، چھ، سات، آٹھ. اور CS50 پر عہدے کے بارے میں بات اگر آپ کے پاس ابھی تک وقفے وقفے سے رابطے کے مسائل ہیں، اور ہم اختیارات ہے کہ اس جگہ کے لئے پتہ رکھا جائے گا. ٹھیک ہے. خاص طور پر تم میں سے ان لوگوں کو جو پرستار لڑکے یا لڑکیاں ہیں تو ایک فوری جھلکی ہر چیز ایپل کے. کیا میں نے چند سال سے واپس کھودا اس فائل یہاں تھی، ilock.c، صرف اس قسم کی زیادہ مکمل اور زیادہ پیچیدہ بنانے کے کچھ زیادہ بنیادی C پروگراموں ہم لکھ رہا ہوں. تو میں نے اس فائل کو کھولا، ilock.c. یہ آج کے لئے لیکچرز کے صفحے پر دستیاب ہے. بائیں ہاتھ پر، آپ کے افعال میں سے ایک طویل فہرست دیکھیں. تو فیلو جو اس نے لکھا کے افعال میں سے ایک بہت کچھ لکھا ہے، صرف مرکزی سے زیادہ. انہوں نے لائبریریوں کے ایک مکمل جھوبڈ یہاں استعمال کیا. اور اگر ہم طومار کر شروع کے ذریعے، یہ اصل میں ہے بہت ہے سب سے پہلے، مجھے یقین ہے، اصل فون کے لئے ٹوٹ. جو جب آپ اصل فون باگنی چاہتے تھے، untether کا مطلب T & AT اور اصل میں سے اس پر خصوصی سافٹ ویئر انسٹال کریں اور کام کرتے ہیں کہ ایپل لوگوں کو کرنا نہیں چاہتے تھے - ٹھیک ہے، کسی کو جاننے کے وہ کس طرح کا استحصال کر سکتا ہے وقت لگا سافٹ ویئر کی خرابی، غلطیوں، ایپل کے سافٹ ویئر میں کیڑے. اور اسی طرح ilock.c پیدا کیا گیا تھا. کہ اگر آپ ایک کمپیوٹر پر مرتب کیا گیا اور ایک فون ہے کہ پر اسے نصب ذریعے کا کہنا ہے کہ، ایک USB کیبل آپ کے کمپیوٹر سے منسلک، یہ آپ کو دے گی آپ کے فون اور دو انتظامی یا جڑ استحقاق آپ کو بہت زیادہ کرتے ہیں جو کچھ بھی تم چاہتے ہو. اور اس طرح اس دلچسپ بلی اور ایپل کے درمیان ماؤس کھیل اور وہ خاص طور پر باقی دنیا کے بہت سے کمپنیوں کی طرح، مقفل کرنے کی کوشش ان کے نیچے چیزیں تاکہ تم اس کے ساتھ صرف کیا جو وہ ارادہ رکھتے ہیں کر سکتے ہیں. لیکن اس جیسے لوگوں کا شکریہ اور کم درجے کے ان کی سمجھ کی تفصیلات اور اس معاملے میں، C پروگرامنگ اور واقف تشکیل کی بہت کہ ہم کھیلنا شروع کر دیا ہے، تو آپ کو واقعی بیعانہ کر سکتے ہیں اس طرح آپ کو دیکھ کر صحت مند اور کچھ کارپوریٹ ہستی ضروری نہیں کہ میں ہارڈ ویئر. تو مثال کے طور پر، مجھے پتہ نہیں یہ سب کیا کر رہی ہے. لیکن GetVersion بہت براہ راست آواز. اور ایسا لگتا ہے جیسے یہ ایک تقریب میں ہے کہ اس شخص نے لکھا ہے. کچھ طرح کی ایک دلیل کے طور پر عددی کے لے لو، کچھ واپس نہیں کرتا ہے، لیکن لوپ کے لئے یہاں ایک اور ایک کے ساتھ حالت اگر، اگر حالت لوپ ظاہر توڑ، اور کسی نہ کسی طرح ورژن کی تعداد سے متعلق ہے. اگر ہم ذیل میں سکرال - اگرچہ ان مطلوبہ الفاظ میں سے ایک بہت کچھ کے نئے ہو رہا ہے، کر رہے ہیں اور وہاں ہے ایک ہم یہاں کے افعال میں سے بہت ساری کبھی نہیں دیکھا ہے اور کبھی ختم نہیں دیکھ سکتے ہیں سمسٹر کے دوران - دن کے آخر میں، یہ ایک ہی اصول اور منطق ہے کہ ہم نے رہا کیا ہے مندرجہ ذیل کے ساتھ اس طرح دور کر رہا ہے. تو یہ اب تک بھی آپ کے فون 3s یا 4s یا جلد ہی 5s، ان دنوں ٹوٹ پرانی ہے، جانتے ہیں کہ یہ سب کی بہت اس دنیا سے حاصل کیا ہے کہ ہم میں dived. تو تھوڑا سا زیادہ سادہ مثال کے طور پر ایک نظر ڈالیں. یہ ایک ہے، کچھ نحو کے ساتھ کرنے کو گرم بھی اور کچھ دیگر ڈیٹا قسم ہے کہ ہم کے بارے میں بات ہے لیکن سی میں واقعی نہیں دیکھا تو یہ ہے فائل بلایا positive1.c. اور سب سے اوپر تبصرے کے مطابق، یہ مطالبہ ہے کہ ایک صارف ایک فراہم مثبت نمبر. تو اس نے کیا جبکہ ایک لوپ ہے، جو صارف انٹرایکٹو کے لئے اچھا ہے کی ایک مثال ہے پروگراموں جہاں آپ صارف کو کچھ کرنے کی بتانے کی ضرورت ہے. اور اگر وہ تعاون نہیں کرتے آپ کو ان پر چللاوگی، یا ان کی ان پٹ کو مسترد کرتے ہیں. پوائنٹ میں کیس میں 24 اتنے لمبے وقت کے ذریعے کی لائنز 19 کرنا جا رہا ہوں کے طور پر صارف کو نے مجھے ایک مثبت عدد نہیں ہے. اب اس تفصیل 18 لائن پر، میں اس پورے اوپر کیوں (ن) نے اعلان looping کی تعمیر کے طور پر 22 لائن کے ساتھ درست کرنے کی مخالفت کی تھی جہاں میں (ن) کو حاصل کرنے کے لئے اصل میں پرواہ ہے؟ جی ہاں؟ [اشراوی] DAVID J. MALAN: جی ہاں، تو گنجائش کے اس مسئلہ ہے. اور عام آدمی کی اصطلاح میں، جو گنجائش سے رجوع کرتا ہے؟ جی ہاں؟ [اشراوی] DAVID J. MALAN: آپ کو ایک زور کچھ بات کر سکتا ہوں؟ اسپیکر 1: جہاں آپ کسی خاص متغیر تک رسائی حاصل کر سکتے ہیں. DAVID J. MALAN: ٹھیک ہے. تم کہاں کسی خاص متغیر تک رسائی حاصل کر سکتے ہیں. اور عام طور پر، انگوٹھے کی حکمرانی ابھی تک رہا ہے کہ کچھ کے دائرہ کار متغیر سب سے حال ہی میں گھوبگھرالی منحنی خطوط وحدانی ہے کہ تم نے دیکھا ہے کی طرف سے وضاحت کی گئی ہے. اور تو اس صورت میں اگر میں 22 لائن پر (ن) اعلان کی غلطی کی، اس لائن کام کریں گے. میں ایک int حاصل کرتے ہیں، اور میں یہ 22 سطر میں اس متغیر (ن) میں ڈال دیں گے. لیکن جس کے کوڈ کے مطابق کوئی اندازہ نہیں ہے میں کس بارے میں بات کر رہا ہوں اب ہوگا؟ تو، 25، اور 24 باہر بدل جائے تو سمجھ لینا، اچھی طرح کے طور پر، کیونکہ اس صورت میں، اس کے باہر گر گھوبگھرالی منحنی خطوط وحدانی. تو اذيت دينے والے صرف ایک تھوڑا سا ہے لیکن بہت آسانی سے صرف اعلان کی طرف سے حل تقریب میں خود متغیر باہر. اب آج ہم بعد میں دیکھیں گے، آپ کو مزید ایک قدم کر سکتے ہیں. اور تم تھوڑا سا سست بھی مل سکے - اور یہ عام طور پر نہیں کی سفارش کی - لیکن آپ کو سست بھی ایک متغیر کو عالمی سطح پر ڈال، تو بات نہیں کر سکتے ہیں کے اندر ایک تقریب کے اندر ایک لوپ، لیکن فائل خود باہر، آپ کے افعال میں سے سب سے لکھا ہے، کے طور پر میں 15 لائن پر یہاں آیا ہے. لیکن یہ عام طور وسلم frowned ہے. لیکن یہ کبھی کبھی دیگر مسائل کا حل ہے احساس جیسا کہ ہم کریں گے، آخر میں دیکھیں. تو اب، ہم اس طرح چھوڑ دیں گے. لیکن اگر ہم دوبارہ سے لکھنا یہ تو صرف ایک خود کا اظہار کرنا شروع کر سکتے ہیں تھوڑا مختلف ہے. تو، صرف صاف ہو جائے، اس پروگرام positive1 ہے. مجھے آگے یہاں جاؤ اور میرے ٹرمنل ونڈو میں positive1، درج کریں. سے آگاہ کریں، ٹھیک ہے. میں positive1 چلانے کے لئے، مارا درج کریں کی جا رہی ہوں. میں درخواست کرتا ہوں کہ تم نے مجھے ایک مثبت عدد صحیح دے. میں -1 کہیں گے. یہ کام نہیں کیا. 0 99، جو کام کرنے لگتا ہے. ہو سکتا ہے کہ سب سے زیادہ سخت نہیں ٹیسٹ. لیکن کم از کم یہ ایک اچھا وویک چیک کہ ہم صحیح راستے پر ہیں. تو اب ہم آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور اس کے دو ورژن کھول. اور کیا مختلف پہلے سے ہی ہے؟ یہ وہی چیز عملدرآمد کرتا ہے. لیکن جو واضح طور پر مختلف اس وقت کے طور پر باہر کود ہے؟ جی ہاں، تو یہ bool سبز رنگ میں. Gedit سبز bool کے طور پر جانا جاتا ہے کے مطلوبہ الفاظ میں اجاگر کیا ہے، جو کہ ایک ڈیٹا کی قسم ہے. یہ سی کے تمام ورژن میں تعمیر نہیں آتی آپ کو شامل کرنے کے لئے کی ضرورت ہے مخصوص لائبریری. ہمارے معاملے میں، میں CS50 لائبریری بھی شامل ہے تاکہ ہم bool پر رسائی حاصل ہے. لیکن 18 کی لائن میں، ہم بولین یہاں قدر کہا جاتا شکر گزار ہیں. تو میں نے اس میں کچھ فون کیا جا سکتا ہے. لیکن میں اس کی طرح کچھ semantic معنی کی تبلیغ کا شکر ادا سے ملاقات کی. تو ابتدائی طور پر 18 لائن پر، میں بظاہر شکر گزار نہیں ہوں کیونکہ بولین شکر گزار قدر 18 سطر میں جھوٹے initialized ہے. اور پھر ایسا لگتا ہے میں 21 لائنوں میں یہاں 23 کے ذریعے کیا ہے میں صرف ہے کی قسم میری منطق دوبارہ. تو کوئی فعل مختلف ہے. لیکن 22 سطر میں اب، میں چیک کرنے کے لیے اگر int صارف فراہم کی ہے اس سے بڑا ہے 0، تو میں صرف حقیقی کا شکر ادا کی قدر تبدیل کریں. اور مجھے ایسا کیوں کرتے ہیں؟ کیونکہ 25 سطر میں، بظاہر، میں ایک شرط چیک کرنے کے لیے جا رہا ہوں. اس لوپ کو کیا جبکہ شکر گزار باطل ہے. تو میں نے ایک ورژن کے لئے ایک متبادل کے طور پر اس تجویز کیونکہ اس سے کم سے کم ایک ہے تھوڑا زیادہ بدیہی، شاید. یہ تھوڑا انگریزی میں زمین. تو مندرجہ ذیل کرتے ہیں جبکہ آپ کے شکر گزار ہیں یا نہیں جبکہ شکر گزار باطل ہے. اور اس وقت بھی، میں بظاہر یاد ہے جو صارف ٹائپ کی پرواہ نہیں کرتے نوٹس وجہ سے میں کوئی متغیر (ن) ہے. تو اصل میں، میں - ایک چھوٹی سی سفید جھوٹ وہاں. فعل، پروگرام تھوڑا سا مختلف ہے، ایک بار ہم کے سب سے نیچے حاصل کرنے کے لئے کیونکہ مجھے یاد نہیں کیا (ن) ہے رہا ہوں. لیکن میں یہاں کا مظاہرہ کرنا چاہتے تھے بھی ہے کہ اگرچہ ہم GetInt اور دیکھا ہے GetString ایک ہی علامت کے دائیں ہاتھ کی طرف پر ابھی تک تاکہ استعمال کیا جا رہا ہے ہم قدر، تکنیکی طور پر، جو سختی ضروری نہیں ہے یاد ہے. اگر آپ کو کسی بھی وجہ سے قدر کو بچانے کے لئے کی پرواہ نہیں کرتے ہیں، تو آپ کو صرف یہ چاہتا ہوں قیمت چیک کرنے کے لیے کو نوٹس، کہ ہم کھلے GetInt یہ صرف لکھ سکتے ہیں قوس، قریبی قوس. یہ فنکشن ایک قدر واپس جا رہا ہے، کے طور پر ہم کہہ رہے ہیں. کیا آپ اسے دوبارہ ایک int دینے جا رہا ہے. اور اگر ایسا ہے تو تم ذہنی طور پر یہ کیا ہو رہا لگتا ہے، جب میں 99 میں ٹائپ کریں، GetInt 99 نمبر فراہم کرتا ہے. اور تو conceptually، ایسا لگتا ہے جیسے میرا کوڈ اصل میں یہ تھے. تو اگر 99 یقینا 0 سے بڑا ہے، تو شکر گزار سچ ہو جاتا ہے. اس کے بعد 25 لائن کا احساس اہ، ہم نے کیا ہے کیونکہ میں اب شکر گزار ہوں رہے ہیں. اور اوپر 26 میں ہم یہ کہتے ہیں، مثبت عدد صحیح کے لئے شکریہ، یہ جو بھی ہوا. اب معمولی syntactic چینی کرتے ہیں، تو بات کرنے کی. چلو دیکھتے ہیں کہ اگر ہم نے اس تیسرے اور آخری بادبانی کے ساتھ اس لائن کو صاف کریں 25 کر سکتے ہیں positive3. تو فرق صرف اتنا ہے جو کوڈ کے مطابق دیکھا؟ جی ہاں، 25 ہے. اور ہم نے یہ چال نہیں ہے ابھی تک دیکھا ہے. لیکن ہم پیر فجائیہ نقطہ، جس میں کیا کرنا دیکھا؟ تو نہیں، نفی یا. تو ایک بولین قدر اور اس کی قدر پلٹائیں. یہ سچ ہے کہ باطل ہو جاتا ہے. جھوٹے سچ ہو جاتا ہے. تو یہ، میں تجویز کریں گے، یہاں تک کہ ایک چھوٹی سی کا ایک طریقہ سے زیادہ بدیہی ہے کوڈ نے تحریری طور پر کیونکہ میں اب بھی جھوٹے مشکور ابتدا. میں اب بھی مندرجہ ذیل کرتے ہیں. میں صحیح شکرگزار مقرر وقت آنے پر. لیکن اب آپ نے ابھی واقعی یہ زبانی طور پر بائیں سے دائیں کوڈ کا ترجمہ کر سکتے ہیں، جبکہ شکر گزار نہیں. کیونکہ دھماکے، یا فجائیہ نقطہ، نہیں تصور کرنا، تو جبکہ نہیں شکر گزار ہے. تو پھر، ہم SE فی کوئی نئے متعارف کروایا نہیں ہے. ہم Booleans کے بارے میں واپس بات کی ہے جب ہم سکریچ کے ساتھ ادا کیا ہے. لیکن اب احساس ہوتا ہے ہم میں ہماری کوڈ لکھنے شروع کر سکتے ہیں بہت سے مختلف طریقوں سے. تو خاص طور پر pset1 میں اگر آپ کو راہ پر اعداد و شمار کے لئے جدوجہد کر طرح کی ہیں کچھ پروگرام لکھنا، مشکلات کی وجہ سے ہے تم قسمت میں ہو کوئی ہو جا حل ہے کہ آپ صلی اللہ علیہ وسلم ہو سکتا ہے کی تعداد. مثال کے طور پر، یہ پروگراموں میں سے بھی آسان کے لئے صرف تین ہے. ٹھیک ہے. اور اب پیر کو یاد کرتے ہیں، ہم واپسی کی اقدار کے ساتھ اس بات کو نوٹ کیجیئے پر چھوڑ دیا ہے. تو بہت ہی پہلی بار کے لئے، ہم نے ایک ایسا پروگرام ہے جو بنیادی ہی نہیں ہے لکھا ہے، یہ بھی اس کی اپنی مرضی کے تقریب میں ہے کہ میں نے یہاں لکھا ہے. تو لائن 34 کے ذریعے 31 میں، میں نے ایک کیوب تقریب کو لاگو کیا ہے. یہ پیچیدہ نہیں ہے. یہ صرف ایک بار بار ہے، اس معاملے میں. لیکن کیا اس کے بارے میں ضروری ہے یہ ہے کہ میں ایک کی شکل میں ان پٹ لے جا رہا ہوں اور میں بار کی شکل میں پیداوار میں واپس آ رہا ہوں ایک بار. تو اب میں کرنے کی صلاحیت ہے، بہت جیسے میں printf واحد کے ساتھ کیا کرتے تھے، فون کیوب تقریب کو فون کر کے اس تقریب میں ہے. اور کیوب تقریب کچھ ان پٹ لیتا ہے. اور کیوب تقریب کچھ پیداوار واپس. اور اس کے برعکس، printf صرف کچھ کیا. یہ کچھ ہے کہ ہم پرواہ واپس نہیں کیا - ایک کے طور پر اگرچہ، ایک طرف، یہ ایک قیمت کو واپس کرتا ہے. تم صرف عام طور پر نظر انداز. Printf کچھ میں نے کیا. یہ پردے پر پرنٹ کی ایک ضمنی اثر تھا. یہاں اس کے برعکس، ہم نے کیوب تقریب ہے، جس اصل میں کچھ واپس. تو یہ عام طور پر ہے - جو لوگ اس سے واقف ہیں ان کے لئے، یہ ایک کافی براہ راست خیال ہے. لیکن ان آدانوں میں گزر رہا حاصل کرنے کے اس خیال کے ساتھ کم واقف کے لئے واپس نتائج، صرف کچھ سپر سادہ کرنے کی کوشش کریں. آرام دہ اور پرسکون کسی مرحلے پر مختصر طور پر آ رہی ہے؟ آپ کو تم پر کیمرے کے ساتھ آرام دہ اور پرسکون ہے، کے طور پر اچھی طرح سے ہے. جی ہاں. ٹھیک ہے، تمہارا نام کیا ہے؟ KEN: کین. DAVID J. MALAN: کین. ٹھیک ہے، کین. پر چلو. تو کین قسم کی ایک تقریب یہاں ہونے جا رہا ہے. اور آگے بڑھو اور اس کے کیا. چلو، ایک چھوٹا سا پسند ہیں. آپ سے مل کر اچھا لگا. مرکز مرحلے میں آپ کا استقبال ہے. ٹھیک ہے. چلو اس بٹن کو یہاں مارا. ٹھیک ہے. تو یہاں آپ کو ایک جدید چاکبورڈ ہے. اور میں کیا ہوں اہم تقریب میں مثال کے طور پر ہے،. اور میں نے اپنے ہاتھ میں ایک رکن نہیں ہے. ٹھیک ہے، اصل میں، یہ کہنا نہیں کر سکتے ہیں - میں واقعی میں نہیں کس طرح یاد ہے. میں اچھی کی لکھاوٹ واقعی نہیں ہے. اور اس طرح اس لئے میں نے آپ کو میرے لئے سکرین پر کچھ کو پرنٹ کرنے کے لئے چاہتے ہیں. تو میں اہم پروگرام ہو رہا ہوں. اور میں آپ کے پاس جا رہا ہوں میرے چکن شروع میں لکھ کر اس کا کہنا ہے کہ، اور تو پھر آپ ان پٹ کو منظور ہے. تو کے طور پر پاگل ہے اگرچہ اس مشق ہے، کے افعال میں سے تصور اور ایک بلا تقریب اور ایک تقریب واقعی فوڑے اس آرہے ہیں نیچے. میں اہم ہوں. میں صرف printf سکرین پر لکھا ہے ("کچھ"). میں اس پروگرام کو چلا رہا ہوں. اور جیسے ہی کے طور پر کہا جاتا printf ہو جاتا ہے، یہ ایک دلیل لیتا ہے - یا ایک پیرامیٹر کبھی کبھی - ڈبل قیمت درج کرنے کے درمیان ہے. یہاں یہ دلیل ہے. میں کین پر گزر رہا ہوں. اب وہ بظاہر کہ پہلے کئی سال کے کچھ لکھا ایک سیاہ باکس ہے صرف جانتا ہے کہ سکرین پر چیزوں کو کس طرح پرنٹ کرنے کے لئے ہے. تو، پھانسی. یہ برا نہیں ہے. تو، بہت اچھا ہے. تو اب کین قتل کیا جاتا ہے. کیا اس نے مجھ سے کچھ کے ہاتھ میں واپس کی ضرورت ہے؟ تو ہم ابھی تک نہیں دیکھا ہے. ایک بار پھر، printf اصل میں ایک بڑی تعداد واپس کرتا ہے. لیکن ہم اب کیونکہ ہم نے اسے کبھی استعمال نہیں کیا ہے نظر انداز کی جا رہے ہیں. تو وہ کین کے لئے ہے. اور تو اب اہم واپس پلٹ آئے پھانسی - اہم پروگرام کے کنٹرول کے کوڈ کا اس لائن کیونکہ دوبارہ لیتا ہے، printf، قتل کیا جاتا ہے. اور ہم ہمارے قتل جو دوسرے لائنوں ہیں جس طرح کے بارے میں جانا. ٹھیک ہے. تو اب ہم ایک تھوڑا سا مختلف مثال کے طور پر کرنے کی کوشش کریں. اور اس وقت یہاں، یہاں پہلے سکرین صاف. اور اس وقت، ہم cubing تقریب کر دونگا. لیکن اس وقت، میں ایک پیداوار کی قیمت کی توقع ہے. تو آگے بڑھو اور اس کے کیا. تو اب میں کوڈ کی ایک سطر ہے جو کہتا ہے X = (X) کیوب. تو اصل میں let's - کوڈ، یاد، کی لائن اس طرح لگ رہا ہے. X = کیوب (X). تو یہ کس طرح کام کرنے جا رہا ہے؟ تو آگے بڑھیں اور آپ کو ایک سفید سکرین کو دوبارہ دے. اور میں اب X کی قدر نیچے ہے جس میں اس وقت لکھنے جا رہا ہوں وقت دو، کی کا کہنا ہے کہ، 2، اسے سادہ رکھیں ہوتا ہے. تو میں 2 کی قدر پر ایک کاغذ کا ٹکڑا نیچے لکھا ہے، جو میری قیمت ایکس ہے. میں اس کین حوالے. KEN: اور میں صرف جواب لکھا؟ DAVID J. MALAN: جی ہاں، صرف جواب لکھنا. ٹھیک ہے. اور اب وہ مجھ سے کچھ واپس ہے. تو - کامل. segue اچھا لگا. لہذا اب اس نے مجھے دیتا واپس اس کیس میں 8 کی قیمت. اور کیا میں اس کے ساتھ کیا کرتے ہیں؟ ٹھیک ہے، اصل میں، چلو دیکھتے ہیں. یہ حق حاصل کریں. میں نے اس کے ساتھ کیا کرنے جا رہا ہوں؟ اب میں اس قیمت کو لینے کے لئے اور اصل میں یہ ان لوگوں میں جمع کی جا رہی ہوں یاد میں ایک ہی بٹس. پر نوٹس، میں یہاں جدوجہد کر کے رہا ہوں. میں کچھ الجھن میں ہوں کیونکہ جہاں میں اصل میں X کی قدر کرتے ہیں لکھنے؟ کیونکہ جو میں نے ابھی کیا ہے وہ جسمانی طور پر ہاتھ کین ایک کاغذ کا ٹکڑا ہے 2 قدر جس X تھا تھا. اور یقینا، یہی ہے کیا ہوتا ہے. تو یہ پتہ چلتا ہے کہ جب تم میں سے کسی ایک کو آپ کو ایک تقریب کہتے ہیں، اور آپ کو ایک بحث میں گزر "ہیلو دنیا" کو پسند کریں یا آپ 2 کی طرح بحث میں گزر، عام طور پر، تم اس دلیل کی ایک کاپی میں گزرنے والے. اور اس طرح کے طور پر میں نمبر 2 یہاں لکھا اور کین کو اس کے حوالے کر دیا، وہ ضروری کا مطلب یہ ہے کہ میں اب بھی قیمت 2 کی ایک کاپی کو کہیں ہے. کیونکہ یقینا، اب کہ میں واپس ہو گیا 8 قدر ہے، میں واپس جانے کی ضرورت ہے RAM اور اصل میں 8 لکھنے جہاں میں نے ایک بار نمبر 2. تو نابینا لفظی میں گزرنے والے کے اس اصول کی یاد قدر کی ایک نقل. کین اس کی بات کرتا ہے، آپ کے وزٹرز کا ریکارڈ رکھا واپس دیتا کچھ - اس معاملے میں، 8 کی طرح ایک قدر ہے. اور پھر میں نے اس کی قیمت کے ساتھ کچھ کرنا ہے اگر میں اس کے ارد گرد رہنا چاہتا ہوں. تو یہ سب بہت پہلے بھی واقف ہو جائے گا. آپ اس ڈیمو کے لئے بہت بہت شکریہ، کین. ٹھیک ہے. بہت اچھا کام کیا ہے. تو چلو دیکھتے ہیں کہ کس طرح بالآخر تقریب میں سے کچھ سے متعلق بلا کہ ہم یہاں کیا کر رہے ہو. تو آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور ہمیں cubing مثال کے طور پر یہاں واپس لانے. نوٹس اور یہ کہ اگر ہم واقعی اس کے لینے کے شروع کرنا چاہتے ہیں، ہم جا رہے ہیں حقیقت یہ ہے کہ تعداد X ہے کہ جا رہا ہے میں منظور کی احساس ہونا پڑے گا یہاں اصل میں کیا ہے تقریب میں منظور کی جا رہی ہے سے مختلف ہے. تو پھر، کاپی کی طرف سے منظور یہ بہت بننے جا رہا ہے صرف ایک لمحے میں germane. تو ایسی چیز ہے جس کا حق ابھی تک بہت کام نہیں کرتا پر ایک نظر لے. مجھے آگے جانا ہے اور ایک تہائی چھوٹی گاڑی مثال کے طور پر کھولنے جا رہا ہوں، جس نوعیت کمرشل سے غلط ہے. اور یہ buggy3 کہا جاتا ہے، اور یہ ایک گماگمن تقریب نافذ. تو ہم یہاں ایک اہم تقریب ہے جو X اور Y کو منمانے ہے initialized ہے 1 اور 2، بالترتیب. ہم GetInt استعمال کرتے ہیں، لیکن ہم صرف ایک سادہ ورزش کی ضرورت ہے کر سکتے ہیں. تو یہ 1 اور 2 کے طور پر مشکل کوڈت ہے. 21 لائنوں اور 22 میں، ہم بظاہر X اور Y، فی سطر ایک پرنٹ ہے. اس کے بعد، 23 لائن پر، میں دعوی کرتے ہیں میں ان اقدار کو گماگمن رہا ہوں، ڈاٹ، ڈوٹ، ڈوٹ. میں بظاہر 24 لائن میں ایک تقریب میں کہا جاتا سویپ فون جو دو دلائل لیتا ہے. یہ مکمل طور پر legit ہے کے لئے کام کرتا ہے دو دلائل لے. ہم یہ دیکھ چکے ہیں printf یہ پہلے سے ہی کرنا ہے. تو سویپ بظاہر X اور Y لیتا ہے. اور جیسا کہ اس کے نام سے پتہ چلتا ہے، میں امید کرتا ہوں کہ یہ جا رہا ہے ان دونوں اقدار کا تبادلہ کریں. تبدیل تو پھر میں 25 لائن پر دعوی کرتے ہیں،. اور میں اس مفروضے کے تحت X اور Y دوبارہ پرنٹ ہے کہ وہ یقینا ہے تبدیل کیا گیا ہے. لیکن اگر میں واقعی اس پروگرام کو چلانے کے - مجھے ایک ٹرمینل ونڈو کھولنے کے. مجھے buggy3 بنانے. جیسا کہ نام سے پتہ چلتا ہے، یہ اچھی طرح سے ختم کرنے کے لئے نہیں ہے. کیونکہ جب میں درج کریں، دیکھیں گے کہ X 1 مارا یہ. Y 2 ہے. اور ابھی تک پروگرام کے اختتام پر، وہ اب بھی ہیں، حقیقت میں، وہی. تو مظاہرے ابھی کین کے ساتھ، جو اصل میں ہو رہا ہے کی بنیاد پر؟ چلو، اس سویپ تقریب میں کودو. یہ انتہائی مختصر ہے. یہ صرف طویل عرصے سے کوڈ کا ایک چند لائنوں کے ہے. لیکن کیا سادہ کہانی کی بنیاد پر بنیادی مسئلہ ہے کہا یہاں کین کے ساتھ؟ سویپ ٹوٹ کیوں ہے؟ [اشراوی] بالکل. تو ہم ایک نقل ذخیرہ کرنے کر رہے ہیں، خود متغیر نہیں ہے. دوسرے الفاظ میں، سویپ بظاہر دو دلائل، ایک int لیتا ہے. اور یہ منمانے ایک بی اور کہا جاتا ہے. اور یہاں میں X اور Y، جس سے بالترتیب 1 اور 2 میں منظور کر لیا ہے. لیکن میں ایکس میں لفظی نہیں گزر رہا ہوں. میں Y میں لفظی نہیں گزر رہا ہوں. میں ایکس کی ایک کاپی اور Y کی ایک کاپی کو منظور کر رہا ہوں. یہ تقریبا کی طرح ہے جیسے آپ کاپی اور اقدار کہ تبادلہ میں پیسٹ آپ یہ اصل میں جوڑتوڑ کرنا چاہتے ہیں. تو اگر یہ بات ہے، جب میں پروگرام پر عمل شروع ہے 35 لائن، پھر 36 - جب میں 37 لائن کہانی میں اس وقت ملتا ہے، کی قیمت کیا ہے؟ کہانی میں اس وقت، 37 لائن، جو اس وقت کی قیمت ہے؟ تو یہ صرف 1 ہونا چاہئے. ٹھیک ہے نا؟ کیونکہ ایکس پہلی دلیل کے طور پر میں منظور کیا گیا تھا. اور یہ تقریب صرف منمانے اپنی پہلی دلیل بلا، ایک ہے. اسی طرح Y، دوسری دلیل ہے. اور یہ صرف منمانے دوسری دلیل ب بلا رہا ہے. اب اس سے وجود میں ائی اصل میں کافی صرف وضاحت کی ہے. اس کے بارے میں سوچو. ہم میں سے کوئی بھی شخص جو printf لکھا سے ملاقات کی ہے. تو ضرور وہ کوئی اندازہ نہیں ہے جو ہمارے متغیر 30 سال کے بعد جا رہے ہیں بلایا جائے. تو آپ کیا کہتے ہیں متغیرات میں کے درمیان ایک فرق ہے کام کرتا ہے آپ لکھ رہے ہیں اور کیا آپ کے پاس کام کرتا ہے تم میں متغیر کہتے بلا یا استعمال کرتے ہوئے. تو دوسرے الفاظ میں، میں میری متغیر X اور Y کے طور پر لکھا ہے. لیکن اگر کسی سویپ کی تقریب لکھا تھا، وہ یا وہ اس بات کو یقینی طور معلوم نہیں کہ میرا متغیر بلایا جا رہا ہے. تو احساس ہوتا ہے کہ یہی وجہ ہے کہ آپ کے ناموں کی اس duality ہے. تکنیکی طور پر، میں اتفاق کی طرف سے یہ کر سکتے ہیں. لیکن وہ اب بھی نقول کے طور پر کی جائے گی منظور. یہ ایک خالص اتفاق جمالیاتی اعتبار سے اس شخص کو اگر جو لکھا ہو گا سویپ اسی کے نام کا استعمال کیا تھا. ٹھیک ہے. تو کہانی میں اس وقت 37 اوپر، 1 ہے. ب 2 ہے. اور اب میں ان کے تبادلہ پر کارروائی. ٹھیک ہے سب سے پہلے، مجھے اصل میں یہ بہت زیادہ صرف دو. مجھے نہیں پتہ ہے کہ کوڈ کا ان تین لائنوں کر رہے تھے. مجھے ایسا. ب ملتا ہے. ب ہو جاتا ہے. ہو گیا. اس وجہ سے ٹوٹا ہوا ہے، منطقی طور پر؟ یہ بدیہی چیز کی طرح ہے، ہے نا؟ تو ب ہو جاتا ہے. اور بی ہو جاتا ہے. لیکن مسئلہ یہ ہے کہ جیسے ہی 37 لائن executes کیا ہے a اور b کی قیمت ہے؟ اسی، 1. کیونکہ آپ clobbered، تو بات ہے، آپ B تبدیل کر دیا گیا ہے ایک کے برابر ہے. تو ایک بار 37 لائن کو پھانسی دے دی ہے، بہت اچھا ہے. اب آپ اس تقریب کے نمبر 1 کے اندر دو کاپیاں ہیں. تو پھر جب آپ 38 سطر میں کہتے ہیں، ایک ب ہو جاتا ہے، ٹھیک ہے، تم اس قسم کی مصیبت میں ہیں. کیونکہ تم نے صرف 1 1 بتائے رہے ہیں. آپ کی طرح کی قیمت کے بارے میں آپ دیکھ بھال کو کھو دیا ہے. تو اس کی اصل ورژن میں نوٹس، جو میں نے کیا ہے. بجائے میں کوڈ کا ایک تہائی لائن ہے کہ اس طرح دیکھا تھا. میں ایک عارضی متغیر کا اعلان - tmp ایک بہت عام نام ہے ایک عارضی متغیر کے لئے. یہ ایک int ہے کیونکہ یہ میچ جو میں نے اس کی ایک کاپی بنانے کے لئے چاہتے ہیں ہے. میں tmp کے اندر اس کی ایک کاپی سٹور. تو ایک بار 37 لائن کو پھانسی دے دی ہے، کی قیمت ہے - فوری وویک چیک کرنے کے لیے - 1. ب کی قیمت 2 ہے. اور tmp کی قیمت بھی 1 ہے. تو اب میں 38 لائن پھانسی. تو میں ایک بار 38 لائن executes، ب کی قیمت پر لیتا ہے. اور بی 2 تھی. تو اب 2 ہے. ب تو کہانی میں اس وقت، 2، 2 ہے، اور tmp 1 ہے. تو اب منطقی طور پر، ہم ب میں صرف plop tmp قدر کر سکتے ہیں. اور ہم کیا کر رہے ہیں. تو ہم نے اس مسئلہ کو حل کیا ہے. بدقسمتی سے، جب میں نے اس فارم میں اس پروگرام چلاتے ہیں، یہ اصل میں تبادلہ نہیں ہوتا کوئی اہمیت دیتا ہے. لیکن واضح، کیوں؟ میں صرف ایک لمحے سے پہلے منطقی مسئلہ طے ہوئی ہے. لیکن پھر اگر میں اس پروگرام چلاتے ہیں، X اور Y کے آخر تک کوئی تبدیلی نہیں رہیں گے پروگرام پر عملدرآمد ہے. [اشراوی] DAVID J. MALAN: تو ہم نے کچھ واپس نہیں کیا ہے. تو یہ درست ہے. لیکن یہ بدل جاتا ہے وہاں ایک مسئلہ کے تھوڑا سا ہے کیونکہ ابھی تک، صرف ایک ہی چیز ہے ہم واپس کرنے کے قابل ہو گیا ہے ایک بات یہ ہے. اور یہ سی کی پابندی تم واقعی میں صرف ایک قدر واپس کر سکتے ہیں ہے، جس صورت میں، میں یہاں اٹک کی قسم ہوں کیونکہ میں ایکس کی نئی قیمت واپس یا جا سکتا ہے میں واپس کر سکتا ہوں Y کی نئی قیمت. لیکن میں دونوں واپس کرنا چاہتے ہیں. تو یہاں آنے آسان حل نہیں ہے. لیکن مسئلہ بنیادی طور پر کیوں ہے؟ کیا ہم اصل میں تبدیل کر دیا ہے؟ A اور B. لیکن a اور b X اور Y کی کاپیاں ہیں جس کا مطلب ہے کہ ہم صرف اس کی سب نے ہے ہم صرف تین منٹ کی طرح خرچ سویپ کے بارے میں بات کر - کام تقریب اور ان متغیرات میں سے تین. اور اس تنہائی میں عظیم ہے، بالکل صحیح ہے. لیکن ایک اور ب کے دائرہ کار صرف ان لائنوں میں ہے. لہذا اگر آپ نے ابھی لوپ کے لئے ایک طرح، میں اندر کے لئے ایک عددی اعلان لوپ - اسی طرح ہے کہ ایک تقریب کے اگر آپ اعلان کر رہے ہیں اور بی اندر آپ کا لکھا ہے، وہ صرف اس تقریب کی درست اندر ہیں. جو جیسے ہی کے طور پر سویپ قتل کیا جاتا ہے کا مطلب ہے کہ اور ہم 24 لائن سے چلے جاؤ اوپر 25 X، اور Y بالکل تبدیل نہیں کیا گیا ہے. تم نے صرف وقت کی ایک پوری بہت متغیر کی کاپیاں گماگمن برباد کیا. تو یہ پتہ چلا ہے کہ اس کا حل کیا واقعی غیر واضح ہے. یہ کافی کافی نہیں ہے اقدار واپس کیونکہ ہم کر سکتے ہیں صرف ایک قدر واپس. اور میں واقعی میں ایک ہی وقت میں دونوں X اور Y تبادلہ کرنا چاہتے ہیں. تو ہم اس کے واپس آنے جا رہے ہیں. لیکن اب احساس ہوتا ہے کہ اس معاملے کو بنیادی حقیقت سے حاصل کہ a اور b کاپیاں ہیں. اور وہ ان کے اپنے دائرہ کار میں ہیں. ٹھیک ہے، کسی طرح سے اس کو حل کرنے کی کوشش کی تو. مجھے اصل میں یہاں واپس سکرال کریں اور کھول دو، کا کہنا ہے کہ، ایک چوتھی مختلف اس کے، buggy4. اور اس کے بارے میں کیا خیال ہے؟ یہ اسی طرح کی لیکن اس سے آسان میں نظر آتے ہیں اس سے پہلے کہ ہم ایک کوشش لے مسئلہ ہے اسے حل کرنا بھی سکھایا جاتا ہے. اس پروگرام میں اضافہ کہا جاتا ہے. اور یہ بظاہر 1 18 سطر میں ایک ایکس عددی initializes ہے. مجھے تو دعوی ہے X 1 ہے. میں تو incrementing، ڈوٹ، ڈوٹ، ڈوٹ دعوی کرتے ہیں. میں اس وقت اضافہ پر کال کریں. لیکن پھر لائنوں میں 22 اور 23، میں دعوی ہے یہ incremented کیا گیا ہے. میرا دعوی ہے ایکس ہے جو کچھ بھی ہے، 2 شاید. لیکن یہ پروگرام چھوٹی گاڑی ہے. کیا مسئلہ ہے؟ جی ہاں؟ [اشراوی] DAVID J. MALAN: بالکل. تو ایکس گیا ہے، 18 لائن پر واضح طور پر اعلان کیا ہے. یہ اہم گھوبگھرالی منحنی خطوط وحدانی کے اندر ہے. بہت آسان جواب یہ ہے کہ، X یہاں موجود ہے. یہ 32 سطر میں موجود نہیں ہے. تو اس پروگرام اصل میں بھی مرتب نہیں ہوں گے. سنکلک، جب میں اس کوڈ کو مرتب کرنے کی کوشش کریں، مجھ پر چللانا جا رہا ہے کچھ اگھوشیت شناخت کنندہ یا اس اثر سے کچھ کے بارے میں. اصل میں،،، کرنے کی کوشش کریں. یہ buggy4 بنانا ہے. وہاں ہے. لائن میں اگھوشیت شناخت کنندہ ایکس کا استعمال 32. اور اصل میں، یہاں واضح آج تاکہ اس میں مفید ہے دفتری اوقات اور گھر میں. یاد رکھیں کہ یہ ایک cryptically لکھا تھوڑا ہے. لیکن حقیقت یہ ہے کہ بجنا ہے ہم پر چللایا، اور کہا کہ buggy4.c: 32:5، اصل میں مفید ہے. اس کا مطلب یہ ہے کہ غلطی کردار پانچ پوزیشن میں 32 لائن پر ہے. تو ایک، دو، تین، چار، پانچ. یہ حقیقت میں ہے، جہاں مسئلہ ہے. اور دفتری اوقات میں اور گھر میں بھی ذہن میں رکھنے کی، میں خوش قسمت یہاں ہوں. میں ایک غلطی ہے. یہ نسبتا آسان ہے طے کرنے جا رہا ہے. لیکن اگر آپ ایک پوری زبردست خرابی کے پیغامات، پھر فل سکرین ملتی ہے، احساس کہ bottommost ایک کے روگسوچک ہو سکتا ہے اوپر والے. تو ہمیشہ اوپر سے نیچے سے اپنے کیڑے کا پیچھا. کیونکہ وہاں ایک اثر گلبہار چین ہے جو آپ کو تجویز کر رہا ہے ہو سکتا ہے راستہ مسائل سے آپ اصل میں کرتے ہیں ہے. تو ہم یہ کیسے ٹھیک اگر میرا مقصد X اضافہ کر سکتا ہے؟ یہ کیا ہے؟ ٹھیک ہے. تو ہم X عالمی کر سکتے ہیں. شارٹ کٹ کہ میں پہلے خبردار کیا لے. لیکن heck، ہم صرف ایک فوری حل کی ضرورت ہے. تو صرف int X یہاں کہہ. X عالمی کرتا ہے. تو اب اہم اس تک رسائی حاصل ہے. اور اضافہ اس تک رسائی ہے. اور اس طرح ہم آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور اب یہ تالیف. buggy4 بنائیں، درج کریں. اب مرتب لگتا ہے. چلو buggy4 چلاتے ہیں، اور یہ اصل میں کام کرنے لگتا ہے. اب یہ ان چیزوں میں سے ایک ہے - جیسا کہ میں کہتا ہوں، میں کے طور پر نہیں کرتے ہیں، جیسا کہ میں یہاں صرف کیا ہے. کیونکہ عام طور پر، ہمارے پروگرام زیادہ دلچسپ حاصل کرنے کے لئے جا رہے ہیں اور اس سے بہت لمبی ہے. اور اگر آپ کے زندگی کے مسائل کا حل صرف آہ ہے، ڈال آپ کی فائل کے سب سے اوپر دیئے گئے متغیر، بہت جلد پروگراموں حاصل horrifically کا انتظام مشکل ہے. نئے متغیر کے نام سوچنا یہ مشکل ہو جاتا ہے. سمجھ متغیر کیا کر رہا ہے یہ مشکل ہو جاتا ہے. اور عام طور پر، یہ ایک اچھا حل نہیں ہے. تو ایسا بہتر ہیں. ہم ایک عالمی متغیر کو یہاں استعمال نہیں کرنا چاہتے. مجھے X اضافہ کرنا چاہتے ہیں. لہذا میں نے ظاہر کر سکتے - دن کے آخر میں، یہ بیوکوف کہانی کی طرح ہے کیونکہ ہم صرف ایسا ہے. لیکن اگر میں اس آپریٹر کے بارے میں نہیں جانتے، کیا یا میں کرنے کی اجازت نہیں کیا گیا تھا اہم میں ہی اسے تبدیل، اور کس طرح کین میں یہاں، اس کو نافذ کر سکتے ہیں کیوب لیکن اضافہ کرنے کا وقت نہیں ہے؟ میں اس بات کو یہاں کیسے تبدیل کروں؟ جی ہاں. [اشراوی] DAVID J. MALAN: ٹھیک ہے، اچھا ہے. تو میں ایکس میں گزر کیوں نہیں کرتے؟ اور پھر بجائے اسے واپس کیوں کیا میں صرف X 1 + کی واپسی نہیں ہے؟ اب، ایک جوڑے چیزیں یہاں کو تبدیل کرنا ہوگا. میں صحیح راستے پر ہوں. اور کیا میں موافقت کی ضرورت ہے؟ کوئی اور. جی ہاں؟ [اشراوی] DAVID J. MALAN میں اضافہ کی واپسی کی قسم کو تبدیل کرنے کی ضرورت ہے کیونکہ یہ باطل نہیں ہے. صفر کا مطلب ہے کہ کچھ بھی نہیں ہے واپس کیا جا رہا ہے. لیکن واضح طور پر، اب یہ ہے. تو یہ ضروریات کو تبدیل کرنے کے لئے جو کچھ بھی کے مطابق int میں اصل میں واپس آ رہا ہوں. اب کچھ اور اب بھی چھوٹی گاڑی یہاں ہے. جی ہاں؟ [اشراوی] DAVID J. MALAN: تو مجھے X اضافہ کرنے کی ضرورت ہے؟ [اشراوی] DAVID J. MALAN: آہ، تو میں ایکس کو منتقل کرنے کی ضرورت ہے. لہذا میں نے یہ یہاں کرنے کی ضرورت ہے. پروٹوٹائپ تو میں یہ یہاں پر تبدیل کرنا ہوگا. تو یہ ایک int بننا ہے. یہ بن گیا ہے - ہمم. میں اصل میں ایک بگ ہے یہاں. میں کسی شخص کی یہ پہلی کو ٹھیک ہوں. یہ اصل میں کیا ہونا چاہئے؟ تو یہ ایک int کچھ ہوگا. یہ x ہو سکتا ہے. لیکن سچ کہوں تو، اگر آپ کو آپ کے متغیر X کے سب بلا شروع، یہ حاصل کرنے کے لئے جا رہا ہے کم سے کم واضح ہے جس جس ہے. تو صرف منمانے میرے لئے ایک مختلف نام دینے کے کنونشن کا انتخاب مددگار کام کرتا ہے، افعال میں لکھ رہا ہوں. ہم نے اسے فون کروں گا. یا ہم یہ کہہ سکتے ہیں - چلو کہتے ہیں اس سے بھی زیادہ واضح ہو even_number. تو پھر میں واپس جو نمبر 1 کے علاوہ ہے. اور اب میں ایک اور چیز کو تبدیل کرنے اور ایک ہے دوسرے یہاں بات. میں 21 لائن پر پہلے تبدیل کیا ہے؟ میں یہ x تفویض ہے. تو میں صرف اضافہ ایکس نہیں کہہ سکتے. X کی قدر تبدیل کرنے کے کی طرف سے جواب یاد کرنے کی ضرورت ہے بائیں ہاتھ کی طرف. اور اگرچہ X اب یہ ہے کہ بائیں اور دائیں، مکمل طور پر ٹھیک ہے کیونکہ دائیں طرف سب سے پہلے پھانسی ہو جاتا ہے تو بائیں میں plopped ہو جاتا ہے ہاتھ کی بات ہے، اس کیس میں ایکس. اور پھر آخر میں، یہ ایک آسان حل ہے. یہ صرف نیچے ذیل کیا ہے میچ چاہئے. Int تعداد. ٹھیک ہے. تو واقعی پاگل تقریب کے لئے تبدیلیاں کی ایک پوری گچرچھا ہے. لیکن چیزیں ہے کہ ہم تیزی سے چاہتا ہوں کے نمائندے شامل ہیں. تو buggy4 ہے. میں کہیں خراب ہے. اوہ میرے خدا. میں پانچ غلطیوں،، پسند، چھ لائن پروگرام ہے. تو کیا 18 لائن پر غلط ہے، کردار 5؟ ٹھیک ہے. تو میں اس int اعلان ہے. ٹھیک ہے. تو، دوسرے کی غلطیوں کی ایک پوری چڑھانے. اوہ میرے خدا. 19، 18، 21. لیکن پھر، صرف سکرین صاف - کنٹرول یہاں L - اور بجنا دوبارہ چلنے والے. تو پانچ مسائل اصل میں صرف یہ ہے کہ ایک ہے. تو اب ہم buggy4 چلانے، درج کریں. واہ. X درست طریقے سے کیا گیا ہے incremented ہے. ٹھیک ہے. تعداد میں کس طرح اضافہ کرنے کے کوئی سوال؟ جی ہاں؟ اسپیکر 2: ایسا کیوں ہے کہ آپ ایکس متغیر میں صرف نمبر پر تبدیل کر سکتے ہیں نام اور یہ معلوم ہے کہ تم کیا مطلب گے؟ DAVID J. MALAN: اچھا سوال ہے. یہ کس طرح ہے کہ میں ایکس نمبر پر اور پروگرام پتہ چل جائے گا تبدیل کر سکتے ہیں فوری طور پر؟ تو ایک بار پھر اس کا اس تجرید کے طور پر لگتا ہے. تو اگر میں اہم ہوں، اور کین اضافہ ہے، اصل میں، میں نہیں پرواہ نہیں ہے کین کیا مطالبہ اس کی رکن. مجھے پرواہ نہیں کہ اس نے فون کچھ ہے کہ ان کے عمل سے کیا ہے اس کی فعالیت کے. تو یہ ایک پر عملدرآمد کی تفصیل کہ میں، اہم، نہیں ہے کے بارے میں دیکھ بھال کرنے کی ضرورت ہے. اور اس طرح صرف اسے تبدیل کرنے پر مسلسل تقریب کے اندر نمبر یہاں اور یہاں نمبر، یہ تو جب تک میں recompile لیتا ہے. ایسا لگتا ہے کی طرح اگر آپ کے بارے میں لگتا ہے کہ - ہم میں سے بہت سے لوگ کی ڈرائیور کے ساتھ، تم میں سے ان لوگوں لائسنس جو کارفرما ہے، یا اگر آپ بھی ایک گاڑی میں کارفرما ہے - ہم میں سے سب سے زیادہ نہیں پتہ ہے کہ کس طرح ایک کار ہڈ کے نیچے کام کرتا ہے ہے. اور لفظی، اگر آپ کو ڈاکو، ہم میں سے سب سے زیادہ کھولتے ہیں - خود شامل ہیں - جا رہے ہو سچ میں پتہ ہے جو ہم دیکھ رہے ہیں. کی طرح آپ کو یہ حق کی طرح سامان کے ساتھ اب محسوس ہو سکتا ہے ہے. لیکن ہم دیکھ بھال کس طرح کار کام واقعی نہیں ہے. ہم اس کی پرواہ نہیں ہے کہ کے اندر اندر کی سلاخوں اور pistons اور کیبلز کے تمام کار اصل میں کر رہے ہیں. تو آپ کیا کہتے ہیں پسٹن کی طرح کچھ فرق نہیں پڑتا یہاں اس معاملے میں. ایک ہی خیال ہے. جی ہاں؟ [اشراوی] DAVID J. MALAN: اگر متغیر مساج پل کی استعمال پہلے تھے، آپ، پروگرامر، انہیں ہر جگہ کو تبدیل کرنے کی ضرورت گے. یا آپ فائل مینو، لفظی، تو کرتے ہیں اور تلاش کریں / بدلیں اس طرح کچھ. لیکن آپ کو وہ تبدیلیاں خود بنانے کی ضرورت کے لئے جا رہے ہیں. تم مسلسل ہونا پڑے گا. [اشراوی] DAVID J. کریں MALAN: یہاں کی طرح ایک خاص حکم ہے؟ اگر یہ دوسرے نمبر int؟ جی ہاں. حکم تو فرق پڑتا ہے جب آپ تقریب کو بلا رہے ہیں. تو اگر میں اضافہ کچھ کوما کچھ کے ساتھ بلا رہے تھے یہاں، وہاں ایک براہ راست میپنگ ہے. پہلی متغیر، جو کچھ بھی کہتے ہیں، سب سے پہلے ایک نقل کی جاتی ہے یہاں دلیل. معاف کیجئے گا، یہ ایک خانے نہیں ہونا چاہئے. دوسرے کے ساتھ دلیل لائنوں. تو حکم، جی ہاں، معاملات. ٹھیک ہے. معاف کرنا میں وہاں حاصل کرنے کے لئے ایک طویل راستہ لیا. دیگر سوال؟ ٹھیک ہے. تو چلو دیکھتے ہیں، اگر ہم جو اصل میں ہو رہا ہے کی ایک تصویر پینٹ نہیں کر سکتے ہیں یہاں ہڈ کے نیچے، تو بات کرنے کی. تو یہ ایک مستطیل ہے کہ آپ کے کمپیوٹر کی میموری کی نمائندگی کر سکتے ہیں ہے. تو بھی اگر آپ کو کوئی اندازہ نہیں ہے میموری کس طرح کام کرتا ہے یا کس طرح RAM کام ہے، کم از کم فرض ہے کہ آپ کو اس کے bunches ان دنوں ہیں. تم اس کے میگا بائٹ ہے. آپ کے پاس اس کی گیگا بائٹس ہے. اور ہم ہفتے صفر سے جانتے ہیں کہ صرف ایک بائٹ کیا ہے؟ 8 بٹس. ٹھیک ہے، تو 8 zeroes اور ہیں. لہذا اگر آپ کے کمپیوٹر میں ان دنوں RAM کے ایک ٹمٹم، RAM کے دو gigs ہیں، آپ کو ایک ہے بلین یا 2 ارب بائٹس میموری، یا 8 تقریبا ارب یا 16 ارب اندر آپ کے کمپیوٹر کی بٹس،. اب تھوڑا Woolly ولی مثال کے برعکس، مقناطیسی ذرات نہیں ہے عام طور پر اب. تیزی، لیپ ٹاپ میں کم از کم، اس ٹھوس ریاست ڈرائیوز، SSDs کہ صرف کوئی حصوں کو منتقل کر دیا ہے. یہ تمام الیکٹرانک ہے. یہ سب کی بنیاد پر بجلی ہے. تو ہے، لیکن صرف ایک یا دو کی نمائندگی کے طور پر اس مستطیل کے بارے میں سوچو، میموری کی گیگا بائٹس ہے کہ آپ ہے. تو اس میموری کا ایک حصہ ہے. اب کمپیوٹر سائنس کی دنیا سے دور تقسیم حصوں کی طرح ہے میموری مختلف چیز ہے. تو مثال کے طور پر، اگر یہ آپ کے کمپیوٹر کی RAM ہے - کے طور پر کی طرف سے تجویز پیش کی وہاں مستطیل - کہ کنونشن کی طرف سے بدل جائے تو سمجھ لینا، آپ کے RAM کے سب سے اوپر دیئے گئے، تو بات، عام طور پر ہے جو متن کے ٹکڑے بھی کہا جاتا ہے. وہ zeroes اور ہیں کہ آپ نے مرتب کیا ہے. تو جب ہم کیا a.out ہے میں ہڈ کے نیچے دیکھا ہے، zeroes اور ہیں - جب تم نے ایک پروگرام چلاتے ہیں، ان zeroes اور ہیں آپ کی ہارڈ سے بھری ہوئی ہیں کہا جاتا RAM کچھ میں ڈرائیو. اور RAM میں، وہ سب سے اوپر ڈال رہے ہیں. اب اس دوران، آپ کو دوسری چیزوں ہے. Initialized ڈیٹا، غیر ابتدا شدہ ڈیٹا. میموری کا وہ دو علاقے اس وقت عالمی متغیر کا حوالہ دیتے ہیں، جس آپ اکثر استعمال نہیں کرتے. لیکن کبھی کبھی اگر آپ ایسا کرتے ہیں، انہوں نے وہاں ساتھ ساتھ ختم. اس کے علاوہ کسی اور چیز ہے. ماحولیات متغیر، جو ہمارے پاس زیادہ وقت خرچ نہیں کریں گے. لیکن اس وقت دو اہم چیزیں جو اس پورے واپس آئے گا سمسٹر، اسٹیک، اور ڈھیر. تو آپ کے کمپیوٹر کی میموری کا سب سے زیادہ محفوظ ہے جب کے لئے ایک پروگرام چلا رہا ہے کچھ اسٹیک کو فون کیا اور کچھ ڈھیر ملاقات کی. اور ہم آج ڈھیر کے بارے میں بات کرنے کے لئے نہیں جا رہے ہیں، لیکن ہم اسٹیک کے بارے میں بات کرتے ہیں. اور اسٹیک کھانے کے ہال کی طرح بصری جادو مراد ہے Mather ہاؤس میں کھانے کی ٹرے، یا تم جہاں بھی ہو ہو، جہاں ہر روز ڈائننگ ہال کے عملے نے انہیں صاف. وہ انہیں اوپر منزل سے کتابیں رکھی. اور اسی طرح یاد میں، کچھ ڈال کے اس کا خیال ہے ، ایک اسٹیک کچھ ڈال، ایک اسٹیک کچھ ڈال کتابیں رکھی. اور کیا ہم اس سے کیا مطلب ہے؟ چلو، اس تصویر کے کم نصف پر میں زوم، آپ کے کمپیوٹر کی RAM، مندرجہ ذیل تجویز ہے. یہ پتہ چلا ہے کہ جب آپ a.out کی طرح ایک پروگرام چلاتے ہیں یا خوش جو کچھ بھی ہے، پروگرام ہے کہ آپ نے لکھا ہے، پھر، کے zeroes اور ہیں ان کو آپ کی ہارڈ ڈرائیو سے بھری ہوئی ہیں - جو طویل مدتی سٹوریج، وہاں رہتا ہے اس وقت بھی جب آپ کو پلگ ھیںچو - RAM میں بھری ہوئی ہے. RAM ہارڈ ڈرائیوز سے تیز ہے. یہ ہارڈ ڈرائیوز سے چھوٹا ہے. لیکن یہ پروگراموں جہاں رہتے ہیں جب تم ان سے چلا رہے ہیں. تو آپ ڈبل میک یا PC پر ایک پروگرام پر کلک کریں - اس سے بھری ہوئی ہے RAM میں ہارڈ ڈرائیو. جیسے ہی یہ RAM میں بھری ہوئی ہے، zeroes اور ہیں ویسے سب سے اوپر دیئے گئے، متن کے ٹکڑے سے ملاقات کی. لیکن پھر جیسے ہی کے طور پر آپ کے پروگرام اصل میں شروع ہوتا ہے چل رہا ہے، بنیادی تقریب میں کہا جاتا ہے. اور اہم، جیسا کہ ہم نے دیکھا ہے، اکثر مقامی متغیر ہے. اور ints اور ڈور اور حروف اور طرح کی ہے. تو اگر آپ کا پروگرام ہے کہ آپ نے لکھا ہے یا پروگرام ہے کہ آپ کو ہے ڈبل کلک کیا ہے اہم اندر کچھ متغیر کا استعمال کیا ہے، وہ میں ختم میموری کا اپنے اسٹیک کے سب سے نیچے دیئے، تو بات کرنے کی. اب concretely، یہ اصل میں کیا مطلب ہے؟ یہ صرف کا مطلب یہ ہے کہ اگر ہم چیزوں نمبر پر جا رہے تھے - اگر ہم آپ کے کمپیوٹر میں RAM کی بائٹس کی تعداد کو جا رہے تھے نوٹس، کہ یہ بائٹ تعداد صفر ہو سکتا ہے. یہ بائٹ نمبر ایک، دو، تین، چار، پانچ، چھ، ہو سکتا ہے راہ پسند - ارب 2 تمام طریقہ سب سے اوپر ہو جائے گا. تو دوسرے الفاظ میں، یہ، جب ہم بائٹس کی شرائط میں RAM یا میموری کے بارے میں بات کرتے ہیں کا مطلب صرف اتنا ہے کہ کسی نے فیصلہ کیا ہے جو ہر ایک کی تعداد میموری کی وہ مقدار. تو جب آپ ایک int کے لئے 32 بٹیں کی ضرورت ہے، یا آپ کو ایک چار کے لئے 8 بٹس، جہاں کی ضرورت ہے وہ یاد میں آخر؟ اچھا conceptually، وہ اس کے سب سے نیچے دیئے گئے آخر بات اسٹیک ملاقات کی. لیکن جو دلچسپ اب ہے جب اہم مطالبہ ایک تقریب ہے. FOO، صرف ایک صوابدیدی نام نامی ایک تقریب مان لیں. کیا ہوتا ہے اہم ہے میموری کی یہ اسٹیک کے سب سے نیچے دیئے گئے ہے. FOO اب یاد میں مرکزی کے سب سے اوپر پر لگایا جاتا ہے. تو ہے جو کسی بھی مقامی متغیر FOO طرح کی conceptually اوپر ختم ہے اہم ہیں. FOO کو ایک دوسرے سے ملاقات کی بار ایک تقریب کہتے ہیں، اگر ان متغیرات یہاں ختم. اگر بار کچھ اور، یہاں، یہاں، یہاں کہتے ہیں. تو ایک پروگرام چلا رہا کرنے کے بارے میں دلچسپ کیا ہے یہ ہے کہ آپ کے افعال کہتے ہیں، اور ان افعال افعال کہتے ہیں، اور ان افعال کے افعال کا فون، آپ کو یاد میں اس کے افعال میں سے اسٹیک تعمیر. اور صرف ایک تقریب کی واپسی میں ایک بار تم اس میموری کے واپس آنے شروع ہے. تو ایک کمپیوٹر پروگرام میں میموری سے باہر چلانے کا سب سے آسان کے طریقوں میں سے ایک ہے کام کرتا ہے جو کبھی واپس لکھنے. تو مثال کے طور پر، ایک سے زیادہ کے طور پر مظاہرہ جان بوجھ کر چھوٹی گاڑی پروگرام. چلو آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور # ، int اہم (باطل) شامل ہیں. اور میں کرنے جا رہا ہوں جبکہ (> 1 2)، جو شاید کبھی نہیں کرے گا ہم پر تبدیل کریں. اور اب آپ کے وزٹرز کا ریکارڈ رکھا آگے جا اور printf کرنا. اصل میں، یہ کم ضعف دلچسپ ہونے جا رہا ہے. چلو، ایسا. int کے لیے (میں = 0، میں 0>). چلو یہ غلطی، میں + +. اور printf یہاں نہیں ہے. پر عمل کیا میں تبلیغ کر رہا تھا. ایک طریقہ یہاں ہے. باطل کورس، اور ہم میں int کہیں گے. اور پھر میں، printf کہنے جا رہا ہوں - اوہ، اس کو زیادہ دلچسپ بنانے کے. چلو، اصل میں کچھ بھی نہیں پرنٹ. چلو ایسا کریں. کورس (آئی) ہے. ٹھیک ہے. تو یہ چھوٹی گاڑی ہے کیونکہ کیوں؟ میں اس بنا رہا ہوں جیسا کہ میں جا رہا ہوں کیونکہ پروگرام کی کچھ اصل نہیں کرتی دلچسپی کے. لیکن اس کا مقصد نہیں ہے. مقصد یہ ہے کہ ایک پروگرام جن کی اہم تقریب کیا، بظاہر ہے کو لکھنے کے لئے ہے؟ خود کو کال کریں. اور اصل میں، ہم لوپ کی ضرورت نہیں ہے. چلو یہ بھی صرف اس لئے آسان بنانے کے طور پر واقعی کے نزدیک نہ کھو بنیادی مسئلے سے. مین کالز کو کچھ کورس گانے کورس. اس وقت میں مورھ کچھ کیا، اور میں کورس کال کورس تھا کیونکہ میں فرض کیا گیا ہے کسی اور شاید اسے نافذ کرنے جا رہا تھا. اور اب یہ ابھی تک مرتب نہیں ہے. مجھے کیا کرنے کی ضرورت ہے؟ یاد میں پروٹوٹائپ کی ضرورت ہے. اس لئے میں یہاں باطل کورس (int میں) کی ضرورت ہے. تو اب، اگر میں یہاں نیچے جاتے - اصل میں، بڑی ونڈو کا استعمال کریں. چلو آگے بڑھو اور کورس بنانا. چلو آگے بڑھو اور کورس بنانا. نامعلوم declarer میں استعمال کریں. اوہ، یہ پاگل تھا. ہم دلیل کی ضرورت نہیں ہے. چلو ایسا کریں. کاش ہم اس طرح شروع کیا تھا. یہ لکھنا بہت آسان پروگرام ہوتا ہے. تو ہے. اب میری ٹرمنل ونڈو دوبارہ چلنے والے بجنا. اور ہم یہاں جانا ہے. وہ بہت تیز تھا. کیا اصل میں صرف ہوا ہے، لیکن؟ اچھا، اب میں پرنٹ لائن شامل کریں گے، ہم دیکھ سکتے ہیں. تو مجھے printf کا کہنا ہے کہ، چلو کا کہنا ہے کہ، میں یہاں ہوں. ٹھیک ہے، کوئی متغیر نہیں، ہم اس طرح اس کو چھوڑ دیں گے. آپ کے وزٹرز کا ریکارڈ رکھا چلانے کو دوبارہ. آپ کے وزٹرز کا ریکارڈ رکھا کورس دوبارہ چلنے والے دو. اور آتے ہیں. جاری رکھتے ہیں. ایک طرف ایک کے طور پر، کیوں یہ ابھی تک گر کر تباہ ہو گیا ہے نہیں؟ انقطاع غلطی سپر روزہ پہلے ہوا. [اشراوی] DAVID J. MALAN: بالکل. تو پرنٹ میں وقت لگتا ہے. یہ صرف کمپیوٹر حصہ پر زیادہ کام کرتا ہے. اور وہاں ہے. انقطاع غلطی ہے. تو توجہ صرف روزہ پروگراموں کو کس طرح چلاتے ہیں. اگر آپ کو کسی بھی چیز کی، سپر روزہ پرنٹ نہیں کر رہے ہیں. لیکن ہم ابھی تک اس انقطاع غلطی ہے کیونکہ جو کچھ ہو رہا تھا؟ ٹھیک ہے، اگر آپ کو کہ کس طرح آپ کے کمپیوٹر کی میموری میں رکھی ہے اس کے بارے میں میں کیا سوچتے ہیں اہم ہو ہوتا ہے. لیکن یہاں - چلو صرف اس کورس کو فون، اور ہم اس کورس کو کہتے ہیں. اور اب اگر میں اپنے جمالیات حق ہے، یہ تو صرف کورس کہنا جا رہا ہے، کورس، کورس، کورس، کورس، کورس، کورس، اشتھاراتی nauseum. اور آخر میں ہو کیا جا رہا ہے؟ اگر بڑی تصویر لفظی یہ ہے، کیا صرف conceptually ہوتا ہے؟ اسٹیک overruns ڈھیر. یا برا، آپ کے پاس صرف متن طبقہ بھی شامل ہے، سب کچھ، جو overrun zeroes اور جو آپ کے پروگرام کی نمائندگی کرتے ہیں. مختصر میں، یہ صرف سپر، سپر برا ہے. ٹھیک ہے نا؟ آپ کے پروگرام کے کنٹرول سے باہر spiraled ہے. آپ راستہ میں مزید میموری سے کیونکہ تم ایک پاگل کا ارادہ کا استعمال کرتے ہوئے کر رہے ہیں اس معاملے میں غلطی کی ہے،. یا اس کیس میں بہت جان بوجھ کر کیا ایک تقریب خود بلا رہا ہے. اب یہ سب برا نہیں ہے. خود بلا افعال دراصل عظیم طاقت ہے تم جب صحیح طریقے سے استعمال کرتے ہیں. میں نے اسے صحیح طریقے سے استعمال نہیں کیا ہے یہاں. تو یہ سب برا نہیں ہے. لیکن حقیقت یہ ہے کہ میں اپنے آپ کو بلا اصل میں کبھی نہیں روکنے بنیادی ہے اس پروگرام کے کمزوری. تو ہم کہاں اس سب کے ساتھ جا رہے ہیں؟ ٹھیک ہے، کہ اصل میں کیا ہو رہا ہے؟ کی طرح جب میں اضافہ کی تقریب کہتے ہیں، ہم ان مثالوں میں کیا کر رہے تھے، میں 1 کہ میں اندر سے گزر طرح ایک قدر ہے میں ایک نمبر کی ایک کاپی میں گزرتے ہیں. تو مندرجہ ذیل ہوتا ہے. تو اضافہ کی مثال کے طور پر میں جانے. اور یہاں یہ آدمی. تو یہاں اصل میں کیا ہو رہا ہے. میں اضافہ جب کہا جاتا ہے، اور میں نے X میں گزرتے ہیں، pictorially کیا ہے یہاں پر ہو رہا ہے - اگر میں 1 کی قدر یہاں محفوظ ہے، اور میں اصل میں اضافہ کہتے ہیں جو، اب کورس کی کہا جاتا ہے - جی ہاں، یہ آپ کے وزٹرز کا ریکارڈ رکھا پھینک دور یہاں. تو اس اضافہ کو فون. ہمیں پتہ نہیں ہے کہ یہ اگلے تقریب ہو رہا ہے. تو کیا ہے اصل میں ہو رہا یہاں اہم ہے کہیں، میں ایک حصہ ہے میموری جو نمبر 1 ذخیرہ کرنے. جب میں اضافہ کہتے ہیں، میں میموری کا ایک حصہ کا استعمال کرتے ہوئے کر رہا ہوں، لیکن اب میں 1 کی کاپی ہے. جب میں اس قدر اضافہ، 2 بن جاتا ہے - انتہائی پر لکھا یہاں سکرین. لیکن اس وقت، کیا اضافہ کی واپسی کے طور پر کے طور پر جلد ہی ہوتا ہے؟ جو یہ میموری صرف آپریٹنگ سسٹم پر واپس کے حوالے ہو جاتا ہے، کا مطلب ہے کہ تمام تم کچھ نہیں ہے مفید کیا ہے. کہ اصل میں اہم میں شامل کیا گیا تھا اب بھی اصل میں وہاں ہے. تو ہم کہاں اس کے ساتھ جا رہے ہیں؟ ٹھیک ہے، یہ پتہ چلا ہے کہ آپ کو یاد میں اس کی پیٹھ کی ترتیب کی حمایت ہے بائٹس ہے کہ آپ چیزیں اندر ڈال سکتے ہیں اور یہ پتہ چلا ہے کہ ہم نے پہلے سے ہی ایسی چیز ہے جس ڈال شامل دیکھا ہے چیزیں واپس واپس، واپس واپس. ایک سٹرنگ، ایک ہفتے اور اب دو ہفتے کی بنیاد پر کیا ہے؟ تو یہ صرف حروف کا ایک مجموعہ ہے. تو یہ پتہ چلتا ہے، جیسا کہ آپ کو یاد میں نمبر رکھ سکتے ہیں، اسی طرح آپ یہ کر سکتے ہیں حروف یاد میں ڈال دیا ہے. اور ایک بار ہم نے یاد میں ڈال حروف واپس شروع کی حمایت کی حمایت واپس، یہ پتہ چلتا ہے کہ ایک طرح لوپ کے لئے چیزوں کی آسان کا استعمال کرتے ہوئے یا تھوڑی دیر لوپ ہم iterate، کر سکتے ہیں - ایک تار کے کرداروں کے دوران بائیں سے دائیں - اور مختلف حروف میں ان سے مکمل طور پر مساج کرنا شروع کریں. A بن B. B C. بن تو ہے کہ آخر میں، ہم نے ایک لے سکتے ہیں کر سکتے ہیں انگریزی سزا ہے جو اصل میں سمجھ میں آتا ہے اور ان میں سے ہر ایک میں تبدیل خط ہمارے کمپیوٹر میموری کے ذریعے چلنے کی طرف سے ایک وقت میں ایک سے چھوڑ دیا اصل میں خفیہ کا حق ہے. تو ہمارے یہاں پانچ منٹ کے وقفے لے، اور جب ہم واپس آتے ہیں، ہم کریں گے معلومات scrambling کے اس عمل کو شروع کریں. ٹھیک ہے. تو اس سے پہلے کہ ہم کچھ crypto میں کودو اور ان چیزوں arrays کہا جاتا ہے، مجھے کیونکہ مجھے لگتا ہے کہ میں واقعی میں اس قسم کی muddled کے ذہن میں کوئی سوالات کے لئے روکنے کے کچھ ان عنوانات سے. لہذا کو ٹھیک اب اگر ہم کر سکتے ہیں ہیں. تو ہم صرف واپسی اقدار کے بارے میں بات کی تھی. ہم دلائل کے بارے میں بات کی تھی. اور ہم اس تصور کے بارے میں بات کی، جو ہم ہفتوں میں واپس آ جائیں گے ایک مکمل جھوبڈ کے طور پر ان سجا دیئے کی میموری دیکھنے کے آتے ہیں، ٹرے، تو بات کرنے کی. اپ پر گہرائی سے، اس طرح کہ ہر ایک ٹرے اسٹیک پر ڈال دیا ہو جاتا ہے کی نمائندگی کرتا ہے ایک تقریب ہے کہ اس وقت کیا جا رہا ہے کہا جاتا ہے. کوئی سوال؟ تو اس کے بارے میں کس طرح - مجھے کرنے کی کوشش ایک سوال پوچھ رہا ہے. کہ میں خراب کر رہتے ہیں، لیکن اب it's - you've سب لڑکے کے چہرے کو دیکھا. تو ہم اس پر واپس آ جائیں گے. تو مجھے ایک سوال پوچھنا ہے. مجھے جو اس نے ہمارے پہلے Q & A. میں سے کچھ پہلے تھا اس کی پیٹھ کو آسان بنانے اور حقیقت یہ ہے کہ اضافہ کھلی خانے ہے، int نمبر بند خانے. int تعداد کیا کی نمائندگی کرتا ہے؟ [اشراوی] DAVID J. MALAN: دلیل ہے. ٹھیک ہے، لیکن ایک دلیل کیا ہے؟ [اشراوی] DAVID J. MALAN: معاف کیجئے گا، وہ کیا ہے؟ 3 اسپیکر: تم کچھ اندر گزر DAVID J. MALAN: ٹھیک ہے. تو کچھ ہے جو تم اندر سے گزر اور عام طور پر، یہ صرف ان پٹ ہے. اگر آپ زندگی میں ایک تقریب ہے اور ہے کہ تقریب کا مقصد لکھ رہے ہیں کرنا ہے تھوڑا سا مختلف ہر بار آپ اسے استعمال کرتے ہیں، کچھ تو صرف اس کے لئے راستہ کہ واقعی ہو اسے ان پٹ کے ساتھ فراہم کرنے کے لئے لگ رہے ہو گے تاکہ یہ اس ان پٹ کے ساتھ کچھ مختلف ہر وقت کر سکتے ہیں. تو آپ کو دو چیزوں کے جب ایک تقریب آدانوں لیتا ہے پر کی وضاحت کرنے کی ضرورت ہے. آپ کو نام ہے کہ آپ کہ ان پٹ دینے کے لئے کرنا چاہتے ہیں، مکمل طور پر کی وضاحت کرنے کے لئے کرنے کی ضرورت ہے تقریب میں آپ کو آپ کی اپنی سہولت تاکہ وہ رجوع کر سکتے ہیں کہ آپ خود لکھنے، کے طور پر میں 32 سطر میں یہاں کیا کر رہے ہیں. لیکن تم نے بھی اس قسم کی وجہ سے سی ایک پروگرامنگ زبان ہے کی وضاحت کی ضرورت ہے یہ صرف کی ضرورت ہے کہ اگر آپ ایک متغیر کرنا چاہتے ہیں، تو آپ کے کمپیوٹر کو بتانا پڑے گا کیا ڈیٹا ٹائپ ہے، بڑے حصے میں تاکہ یہ کی بٹس کتنے ہے اس ویرئیےبل کے لئے مختص ہے. کیونکہ یہ چھ ہو سکتا ہے - افسوس ہے، یہ چھ نہیں ہوگا. یہ 16 ہو سکتا ہے. یہ 8 ہو سکتا ہے. یہ 32، یہاں تک کہ 64 کر سکتے ہیں. لیکن کمپیوٹر پر پتہ کی ضرورت ہے. اب بائیں طرف پر int کے برعکس کیا، کی نمائندگی کرتا ہے؟ [اشراوی] DAVID J. MALAN: یہ کیا ہے؟ [اشراوی] DAVID J. MALAN: تقریب کی قسم، اور مزید خاص طور پر، اس کی پیداوار کی قسم. ٹھیک ہے. تو قوسین میں بات جبکہ اس کی ان پٹ کی نمائندگی کرتا ہے، اگر کوئی ہے تو، بائیں بات اس کی پیداوار کی نمائندگی کرتا ہے. اور اس معاملے میں اضافہ بظاہر ایک int واپس. اور اس طرح int اس تقریب کی واپسی کی قسم ہے. کیا اس سے فرق پڑتا ہے کی واپسی کا مطلب؟ لفظی، آپ کو مطلوبہ الفاظ کی واپسی کا استعمال کرتے ہیں. اور پھر اگر آپ کے مطلوبہ الفاظ کے دائیں جانب سے واپس لوٹ رہے ہیں ایک ہے عددی ہے، تو وہ جو ہم سے وعدہ کیا ہے اس کے ساتھ یقینا مطابق ہے. تم نے اس طرح کچھ بھی نہیں کر سکا - ہیلو دنیا - اس لیے کہ وہ ایک تار ہے. ظاہر ہے یہ ایک عدد صحیح نہیں ہے. تو مختصر میں، بوجھ ہم پر واقعی ہے، پروگرامر، کے طور پر مخصوص جو ہم پر آرہے ہیں اور اس کے واپس لوٹنے کے بارے میں تو اصل میں جا رہے ہیں. اور پھر ایک tad زیادہ واضح تناظر بنانے کے لئے - وہاں وہ پھر سے ہے. تناظر - بڑا تعجب صرف ایک لمحے میں آ رہا ہے. یہاں سیاق و سباق اب یہ ہے کہ آپ کے کمپیوٹر کی میموری ہے، پھر سے، ایک گیگا بائٹ، دو گیگا بائٹ، جو کچھ بھی. شاید یہ زیادہ ہے. شاید یہ کم ہے. لیکن کمپیوٹر کے مختلف حصوں ہونے کے طور پر دیکھتا ہے. کچھ وہاں نیچے جاتا ہے. کچھ اور وہاں جاتا ہے. مختلف چیزیں درمیان میں جاتا ہے. اور آج، ہم صرف اس کہانی کہہ کر شروع کرتے ہیں. لیکن ہم اس سے زیادہ وقت واپس آ جائیں گے. اب کے لیے، میموری کا واحد ٹکڑا ہم واقعی پرواہ متن حصہ ہے کیونکہ یہ صرف zeroes اور ہیں کی نمائندگی کرتا ہے کہ بجنا outputted ہے. تو ڈبل جب تم a.out طرح کی بورڈ میں ایک کمانڈ چلائیں، یا آپ میک OS یا ونڈوز پر ایک آئکن پر کلک کریں، آپ کے پروگرام آپ کی ہارڈ سے بھری ہوئی ہے RAM میں ڈرائیو. اور یہ آپ کے کمپیوٹر کے RAM کے سب سے اوپر دیئے گئے plopped ہے، تو بات کرنے کی. اب اس دوران، چلانے کے طور پر آپ کے پروگرام شروع ہوتا ہے اور سب سے اہم میں پکارا جاتا ہو جاتا ہے پروگرام آپ نے لکھا یا پروگرام مائیکروسافٹ یا ایپل نے لکھا، اس میں سے کسی مقامی متغیر وہاں نیچے آپ کے کمپیوٹر کی میموری کے سب سے نیچے دیئے گئے ختم. لیکن اگر اہم ایک اور تقریب کا مطالبہ ہے کہ خود متغیر ہے یا دلائل، وہ اس سے اوپر ختم. اور اگر اس تقریب کو کچھ کہلاتا ہے، وہ اس سے اوپر ختم، اس کے اوپر، اس کے اوپر ہے. اور صرف ایک بار ایک تقریب قتل ٹرے کے اسٹیک، تو کیا جاتا ہے سے بات کرنے کے لئے، کم اور کم حاصل کرنے کے لئے شروع کر دیں. اور یہ وہی ہے جو اس کے بعد، ایک مختصر میں، کیوں، جب تم کیوب فون کی وضاحت کرتا ہے - یا آپ اضافہ فون - آپ کو قدر کی ایک کاپی میں گزر رہے ہیں. اور اس کا کیا pictorially کا مطلب یہ ہے کہ آپ لفظی لکھ رہے ہیں میموری کا ایک حصہ میں نمبر 1، تبدیل 1 2 کی صورت میں، اضافہ - 8 ایک یا، کیوب کی صورت میں - اور پھر اس میموری کو دور جیسے ہی اضافہ یا کیوب کے طور پر پھینک تقریب میں آئے. سوال. [اشراوی] DAVID J. MALAN: کہاں - عالمی متغیر کیا میں جمع کیے جاتے ہیں اس وقت کہا جاتا initialized ڈیٹا یا غیر ابتدا شدہ ڈیٹا فرق کیا جا رہا ہے، اگر آپ کو ایک عالمی متغیر ہے، اور آپ نے اسے تفویض فوری طور پر برابر دستخط کے ساتھ ایک قدر، یہ سب سے اوپر وہاں ختم ہو جاتی ہے. اور اگر تم صرف بغیر کسی قیمت کے ساتھ int X نیم وقفہ کا کہنا ہے کہ، یہ تھوڑا سا ختم ہو جاتی ہے صرف کنونشن کی طرف سے RAM میں کم. دیگر سوالات. ٹھیک ہے. تو یہ تصویر واپس آنے کے طور پر ہم ہم کیا کر سکتے ہیں کے ساتھ زیادہ طاقتور ملے گا کمپیوٹر کے ساتھ. لیکن اب کے لئے، خفیہ نگاری، ایک مخصوص قسم کی ایک مختصر تعارف ہے دو خفیہ نگاری ہے کہ دنیا کے مسائل کا حل نہیں ہے لیکن اس کو حل ان میں سے کچھ. یہاں اس صورت میں، ہم نام خفیہ کلید خفیہ نگاری کچھ ہے. اور خفیہ کلید خفیہ نگاری، جیسا کہ نام سے پتہ چلتا ہے، اس کی سیکورٹی کو حاصل ایک راز سے. تو مثال کے طور پر، اگر آپ کو گریڈ اسکول میں واپس آ گئے ہیں اور آپ کو ایک گزر رہے ہیں چھوٹے سے رہسی محبت لڑکا ہے یا لڑکی تم پر کچل رہے ہیں خط - اگر آپ کو سامعین کے ذریعے منتقل کرنا چاہتا تھا، تو شاید آپ نہیں لکھا بلکہ، اس طرح انگریزی میں ایک نوٹ یا جو بھی اپنے آبائی زبان ہے یہ خفیہ ہو سکتا ہے. یا آپ ان کو ان دنوں ایک لفظی پیغام بھیجیں کر سکتے ہیں. لیکن آپ انہیں اصل میں کلاس بھر میں ایک نوٹ کے پاس ہو سکتا ہے. اور یہ محفوظ طریقے سے اس طرح کیا ہے کہ اپنے دوستوں اور اساتذہ یہ معلوم نہیں ہے کہ آپ کیا لکھ رہے ہیں، آپ کو کافی آسان کے ساتھ آ سکتا ہے الگورتھم - نوجوان اگرچہ تم ہو سکتا ہے - صرف الفاظ جدوجہد. تو، آپ کو ایک لکھنے کی بجائے بی لکھ B کے بجائے ہو سکتا ہے آپ کو لکھ سکتا ہے، کی بجائے C. C، آپ D لکھیں، اور وغیرہ ہو سکتا ہے. یا آپ کو حروف کی ایک سے زیادہ بہتر ترجمہ کے ساتھ آ سکتا ہے مختلف خطوط. لیکن پکڑنے لڑکا ہے یا جن کیا آپ یہ معلومات بھیج رہے ہیں لڑکی ہے کرنے کی ضرورت ہے کچھ جانتی ہو. کون ہے جو، ظاہر ہے؟ کی طرح، تمہارا راز کیا ہے. کی طرح، کیا ہے کہ کے طور پر اور گریڈ اور کاوچ سرفنگ کے اور ڈی ایس کے درمیان میپنگ ہے؟ کیا یہ صرف ایک حروف میں سے ہر ایک سے جانے کے لئے انہوں نے مزید کہا، اس سے بات کرنے، B، B C A؟ یہ اس سے بھی زیادہ پیچیدہ ہے؟ تو آپ اور آپ کے چاہنے والوں کو یہ خفیہ معلومات فراہم کرنے کی ضرورت ہے. لیکن یہاں پکڑنے-22 کی طرح ہے. اگر یہ بہت ہی پہلی بار ہے آپ کے ذریعے اس محبت خط بھیج رہے ہیں کلاس، کس طرح ہے کہ لڑکا ہے یا لڑکی کا پتہ بھی کیا راز ہے جا رہا ہے؟ تو خفیہ کلید crypto تمام دنیا کے مسائل کو حل نہیں ہے. اور وہاں اصل میں تعلق ہے کہ ہم نے کی طرف واپس آتا ہوں سمسٹر آخر ہے. اسی طرح ہے، شاید ہم میں سے کوئی بھی کبھی ایک بھیجا - اسی طرح، ہم میں سے سب سے زیادہ کسی جو مثال کے طور پر کام کرتا ہے، جانتے ہیں نہ، Amazon.com. اور ابھی تک، ہم میں سے بہت سے لوگ شاید Amazon.com میں سامان خریدا. اور ہم فرض سکھایا گیا ہے کہ یہ ای کامرس لین دین محفوظ ہیں. ٹھیک ہے نا؟ URL شاید HTTPS کہتے ہیں. شاید ایک پاگل سی پیڈلاک آئکن کہیں. خفیہ نگاری کے کچھ قسم کی آپ کے کریڈٹ کارڈ کی معلومات کی حفاظت ہے آپ اور Amazon.com کے درمیان. اور پھر بھی، اگر خفیہ نگاری شامل کچھ راز جاننے، اور ابھی تک مجھے نہیں ایمیزون پر کسی کو جانتے ہو، اور میں اس بات کو یقینی طور سے اہتمام کسی بھی قسم کی ہے نہیں ایمیزون میں کسی کے ساتھ خفیہ، کہ کس طرح اپنے کمپیوٹر یا اپنے براؤزر یہ کر رہا ہے؟ ویسے بدل جاتا ہے، وہاں خفیہ نگاری کے دیگر اقسام کے مکمل طور پر کہ کو حل اس مسئلہ. لیکن سادہ ایک، میں جہاں آپ کا بندوبست کر سکتا ہوں پر ہم آج کے لئے توجہ مرکوز کریں گے، کچھ رہسی کے بارے میں جاننا 1 پلس یا کے طور پر اور گریڈ کے درمیان کچھ میپنگ کی طرح آگے بڑھانے،. اور خفیہ نگاری کے عمل عام طور پر شامل ہیں. آپ کو کچھ سادہ متن، بائیں میں دکھائے جانے والے تاثر ہے. تم یہ الگورتھم یا عمل کے کسی قسم کے ذریعے چلاتے ہیں یہ خفیہ کاری کے لئے. شاید B کہ A B ہو جاتا ہے، C. ہو جاتا ہے اور پھر آپ کے ساتھ ختم متن صفر. وہ اس دوران، ایک بار آپ کے چاہنے والوں کو خفیہ نوٹ حاصل ہے، تو ہے بےرمز یہ عام طور پر اس الگورتھم کو تبدیل کے طور پر حاصل کرنے کے لئے کی طرف سے سادہ متن کی حمایت کریں. اب اس کی جسمانی incarnations ہیں. مثال کے طور پر، یہ ایک چھوٹے سے رہسی کوٹواچک انگوٹی ہے. اور یہ احساس ہے کہ دو dials یہاں ہے میں ایک انگوٹی ہے. اس چیز سے باہر علاقے، Z ذریعے ایک خط ہے، اگرچہ وہ بے ترتیب ترتیب میں ہیں. اور اندر، اصل میں ہے اس طرح کہ اس کے ساتھ کچھ تعداد، رنگ، اس قسم کی آپ کو باہر لیکن اندر نہیں تاکہ لائن تبدیل کر سکتے ہیں خط کے ساتھ کی تعداد. اور کلپ تم کو دیکھنے کے لئے کے بارے میں - جن میں سے کچھ آپ 24/7 کو دیکھا جا سکتا ہے نامی ایک کرسمس کہانی فلم سے کرسمس کے موسم کے ارد گرد. تم نے دیکھا کہ کی چھوٹی سی Ralphie تو کیا تھوڑا یتیم پر اعداد و شمار کے شوقین تھا گے ینی کے خفیہ پیغام کو اس سے تھا نے میں کیا گیا ہے، مجھے لگتا ہے، آگاہ ایک سیریل باکس پر عددی پیغامات کی تشکیل کرتے ہیں. اور آپ کو تمام چھوٹی سی کارڈ کہ آیا جمع تھا اناج کے خانے میں. تم انہیں اندر میل تھا آپ خفیہ کوٹواچک کی انگوٹی واپس حاصل کرنے کے لئے تھا، تا کہ آپ آخر میں اعداد و شمار کر سکتے ہیں تعریفیں حروف اور اعداد کے درمیان کیا ہے، حروف یا حروف اور. تو میں تم سے ایک کرسمس کہانی کی طرف سے اس مختصر کلپ کو 2 pset حوصلہ افزائی کرنے اور ہمارے arrays کے ایک پل میں بحث،. لہذا ہم یہاں Ralphie ہے. [ویڈیو پلے بیک] کی جائے اور متفرق طور پر جانا جاتا ہے کہ رالف پارکر اس طرح سے مقرر کیا جاتا ہے لٹل یتیم اینی خفیہ سرکل کے رکن اور سب کا حق ہے احترام اور فوائد کیا آرہے ہیں. ، لٹل یتیم اینی دستخط کئے گئے. Countersigned، پیری اندرے! سیاہی میں! احترام اور پہلے ہی نو سال کی عمر میں فوائد. چلو، ہم اس کے ساتھ ہیں. میں اسمگلروں اور قزاقوں کے بارے میں ہے کہ تمام جاز کی ضرورت نہیں ہے. کل رات سیاہ کے اختتام ساہسک کے لئے مدد سمندری ڈاکو جہاز. اب اس کے اراکین آپ کے لئے ینی کے خفیہ پیغام کے لئے وقت ہو گیا ہے خفیہ سرکل کے. ، بچوں یاد ینی کے خفیہ سرکل کے رکن ہی وضاحت کر سکتے ہیں، ینی کے خفیہ پیغام ہے. یاد رکھیں، ینی تم پر انحصار کر رہا ہے. B2 اپنے پن کو مرتب کریں. یہ پیغام ہے. 12، 11 - میں میری پہلی خفیہ ملاقات میں ہوں. -14، 11، 18، 16 - پیری عظیم آواز آج رات میں تھا. میں کہہ سکتا ہوں کہ آج رات کا پیغام بہت ضروری تھا. -3، 25. یہ ینی خود کی طرف سے ایک پیغام ہے. یاد رکھیں، کسی سے نہ کہنا. -90 سیکنڈز بعد، میں گھر میں صرف کمرے میں ہوں جہاں نو کے ایک لڑکے پرائیویسی اور ضابطہ ربائی میں بیٹھ سکتا ہے. آہا، B. میں اگلے گیا. E. پہلا لفظ ہے. یہ S. آسان اب آ رہا تھا. U. اوہ، آو، Ralphie. میں جانا ہے. I'll سے دائیں نیچے، MA. جی whiz. T-، O. اس بات کا یقین ہو جائے. کیا اس بات کا یقین ہے؟ لٹل یتیم کہنے کی کوشش کر اینی کیا تھا؟ کیا اس بات کا یقین ہے؟ Ralphie! رینڈی جانا ہے. کیا آپ براہ مہربانی باہر آو کریں گے؟ ٹھیک ہے ماں. میں باہر ہو جائے گا. میں قریب ہو رہا تھا. کشیدگی خوفناک تھا. وہ کیا تھا؟ سیارے کی قسمت کا توازن میں پھانسی پر لٹکا کر سکتے ہیں. Ralphie! رینڈی جانا ہے. I'll باہر زور سے رونے کے لئے،. جی، تقریبا وہاں. میری انگلیاں اڑ گیا. میرا دماغ ایک سٹیل کا نیٹ ورک تھا. ہر تاکنا vibrated نہیں ہے. یہ تقریبا واضح تھا. جی ہاں، ہاں، ہاں، ہاں. آپ Ovaltine پینے کے لئے اس بات کا یقین. Ovaltine؟ ایک crummy تجارتی؟ کتیا کا بیٹا ہے. [END ویڈیو پلے بیک] DAVID J. MALAN: تو ہم وہاں خفیہ نگاری ہے. تو کس طرح کمپیوٹر میں ہم پر عملدرآمد کے بارے میں جانا ہے یا کر سکتے ہیں اس طرح چیزوں کی نمائندگی؟ ٹھیک ہے، ہم تھوڑا flexibly پر سے خود کا اظہار کرنے کا ایک طریقہ کی ضرورت ہے ہمارے متغیر کو ابھی تک کی اجازت دی ہے. ہم ints لیا ہے. ہم حروف لیا ہے. ہم floats اور ڈبلز اور دیگر لیا ہے. لیکن وہ میموری کی انفرادی ٹکڑے ٹکڑے ہیں جو ہمیں واقعی نہیں دیتے ہیں الفاظ اور جملے اور جملے کی طرح چیزوں کا اظہار کریں. بے شک ہم ایسی چیزیں ڈور بلایا ہے. لیکن ہم نے وعدہ کیا ہے کہ اس قسم کی یہ واقعی صرف CS50 میں ایک آسان بنانے ہے لائبریری کہ ہم واپس چھیل ارادہ کر رہے ہیں. اور اس لئے کہ یہاں کرنا شروع کر دیں. آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور ایک فائل کو کھولنے کے دو - ان تمام فائلوں کی ہمیشہ کی طرح آن لائن کے طور پر دستیاب ہیں - کہا جاتا ہے ایک ڈور کوئی تعلق مسئلہ کو حل کرنے کے array.c لیکن اس پینٹ ایک یہاں ہم کچھ کس طرح استعمال کر سکتے ہیں اس تصویر میں ایک صف قرار دیا ہے. ایک صف میں ایک ڈیٹا کی قسم ہے. کہ یہ متغیر کی ایک طرح کی قسم، ہے، ایک سے زیادہ چھوٹے اعداد و شمار اقسام ہیں اس کے اندر واپس واپس، واپس واپس. تو مثال کے طور پر، اگر ہم ایک چھوٹا سا پروگرام ہے جو آپ کو فراہم کرتا ہے کو لکھنا چاہتے ہیں 50 کی طرح ایک کورس ہے کہ دونوں ہے quizzes آسانی سے، آپ بہت سکتا ہے کے لئے اوسط کوئز اس پروگرام لکھنے - یہاں تک کہ گزشتہ ہفتے کے مال کی کچھ کی بنیاد پر - GetInt اور متغیرات میں سے ایک جوڑے کا استعمال کرتے ہوئے کی طرف سے. Int quiz1، quiz2 int، اور یہ بہت سیدھا ہے. شاید 10 ہے، کوڈ، زیادہ سے زیادہ 20 لائنیں، ایک ایسا پروگرام ہے جو پوچھتا ہے کو لاگو کرنے کے لئے دو گئے تمام سوالات کے اسکور کے لئے اور اس کے بعد صارف میں شامل کرنے کی طرف سے ان کی اوسط computes کے ساتھ مل کر، دونوں کی طرف سے تقسیم، اور پھر نتائج چھپائی. ہم کہ شاید بعد اب بہت آسانی سے کر سکتے ہیں منٹ میں سے کچھ تعداد ہے. لیکن مسئلہ یہ ہے کہ لگتا ہے کہ 50 تین تھا quizzes یا چار. لگتا ہے کہ آپ ایک کلاس تھا کے لئے ایک ہی پروگرام استعمال کرنے کے لئے کرنا چاہتا تھا ہفتہ وار quizzes. ایک کلاس ہے کہ ہفتہ وار quizzes ہے کے بارے میں سوچو. اگر ایک سمسٹر میں 16 یا تو ہفتے کی طرح ہے، اب آپ کو 16 متغیر ہے - int quiz1، int quiz2، int quiz3، quiz4 int. جیسے ہی تم اس فالتوپن کو دیکھ کر شروع، اس کو کاپی اور پیسٹ کوڈ کا، تم چاہو وہاں ایک بہتر طریقے تھے شروع کر دینا چاہئے. اور شکر ہے، کیونکہ arrays، وہاں ہے. تو ایسا کرنے دو سب سے پہلے، مجھے ایک بہت ہی سادہ بات یہ ہے کہ ہم نے استعمال کیا ابھی تک نہیں کیا ہے متعارف کرانے، لیکن آپ کو یہ کوڈ میں کبھی کبھار نظر آئے گا. اس کا ہے جو عام طور پر کہا جاتا مسلسل ہے. تو اس بات کا احساس ہے کہ اس کی قیمت کبھی نہیں بدل میں مسلسل ہے. انسانی کنونشن جب ایک مسلسل پیدا تمام سرمایہ کو استعمال کرنے کے لئے ہے حروف، صرف اس لئے کہ یہ واقعی آپ کے کوڈ میں باہر کھڑا ہے. اور مخصوص مطلوبہ الفاظ کی ہے کہ آپ C میں استعمال کرتے ہیں # وضاحت ہے. تو اگر آپ کا کہنا ہے کہ #، تو ایک خلا کی وضاحت، تو لفظ ہے کہ آپ کے لئے استعمال کرنے کے لئے کرنا چاہتے ہیں مسلسل کا نام، اور پھر مسلسل کی قدر ہے. نوٹس لہذا، یہ ایک متغیر کچھ بتائے سے مختلف ہے. وہاں کوئی اشارہ نہیں برابر. کوئی نیم وقفہ ہے. یہ وہی ہے جو عام طور پر پریپروسیسر ہدایت کے طور پر نام سے جانا جاتا ہے، لیکن زیادہ پر کہ کسی اور وقت. اب کے لیے، یہ پیدا نامی ایک تبدیل قدر جس کی اصل QUIZZES عددی قیمت 2 ہے. ہے کہ تو کہیں آپ QUIZZES دیکھ، QUIZZES اس فائل کے دوران، QUIZZES ہے، صرف نمبر 2. اب، اگر میں مرکزی اب دیکھو، یہ کس طرح کام کرتا ہے کو دیکھنے کے. سب سے پہلے، یہ تھوڑا خفیہ لگ رہا ہے. لیکن یہ ایک ہفتے سے تمام چیزیں ہے. گریڈ کے لئے صارف سے پوچھو. ہم اس کو کس طرح کرتے ہیں؟ ، 22 لائن میں - یہ سچ رسیلی حصہ ہے - میں فلوٹ، لیکن صرف ایک فلوٹ کا اعلان. میں اعلان، بلکہ رہا ہوں، چل نقاط کے اقدار کی ایک صف ہے. یہ متغیر گریڈ کہا جاتا ہے، جیسا کہ یہاں تقاضا جا رہا ہے. لیکن نئے نحو کا واحد ٹکڑا تو یہ مربع بریکٹ ہیں، یہ حقیقت کہ میں فلوٹ اور پھر گریڈ کھلا بریکٹ اور پھر ایک نمبر کا کہنا ہے کہ ہے. نوٹس، اگر یہ مسلسل جاری ہے، یہ تو صرف ہے جیسا کہ ہم نے یہ کیا ہے. اس کا مطلب یہ ہے کہ ارے کمپیوٹر، مجھے دو floats دے، اور مجموعی طور پر دو کال ان کے گریڈ. یہ اس طرح ایک زیادہ تکاؤ عمل کے برعکس ہے. میں grade1 فلوٹ، grade2 فلوٹ، اور وغیرہ. تو ایک صف ہمیں اس خیال پر عمل در آمد کی بہت کم messily کی اجازت دیتا ہے لیکن، میں اس طرح کہ ہم کوڈ کا ایک لائن لکھنے کے بجائے، کا کہنا ہے کہ کر سکتے ہیں، 16 کے لئے 16 ہفتے سمسٹر. تو میں نے 2 مشکل کوڈ نہیں کرنا چاہتے تھے کیونکہ اگر آپ نے اس کے بارے میں لگتا ہے اب منطقی طور پر - اگلے سال فرض 3 CS50 تبدیلیاں بجائے quizzes. اور میں نمبر 2 یہاں تھا. میں نمبر 2 یہاں تھا. میں نمبر 2 یہاں تھا. میں نمبر 2 یہاں تھا. یہ بہت تکاؤ اور بہت بگاڑ اور اتفاقی طور پر تبدیل کرنے کی آسان ہو جاتا ہے ایک قدر 3 اور 2 میں سے کچھ دوسرے قدر یاد آتی ہے. تو میں بجائے خلاصہ دور جا رہا ہوں اور اس کے مسلسل استعمال کرتے ہیں کہ، اس کے طور پر نام سے پتہ چلتا ہے، کبھی تبدیلیاں. اور اب، کوئی بات نہیں ہے کہ ہم مختلف ہے quizzes، اس سال یا آئندہ میں، صرف ایک ہی جگہ میں تبدیل کرنے، سب سے اوپر یہاں ہے. تو وہ مسلسل جاری ہے. دریں اثنا، نیا تصوراتی خصوصیت ایک صف کی ہے. تو مربع بریکٹ آپ کے وزٹرز کا ریکارڈ رکھا یہ بہت floats دیتے ہیں اور آپ کے وزٹرز کا ریکارڈ رکھا مجموعی طور پر کی اجازت دیتا ہے ان کے گریڈ یہاں پر کال کریں. تو اب دیکھنے کی بات ہے کہ میں کیا کرنے جا رہا ہوں. یہاں 24 سطر میں لوپ کے لئے ایک آغاز ہے. یہ واقعی میں کچھ بھی نہیں پسند ہے. یہ صرف quizzes کا استعمال کرتے ہوئے مشکل کوڈت ایک بڑی تعداد کے بجائے. لیکن ذہنی گزشتہ ہفتے سے مختلف نہیں ہے. یہ صرف printf ہے. تو printf ("٪ ڈی کی کوئز NUMBER٪ D") کیونکہ میں صرف مجھے کوئز پرنٹ کرنا چاہتے ہیں نمبر دو میں سے ایک اور پھر دو میں سے دو. تو یہ خالصتا ایک جمالیاتی بات یہ ہے. لیکن دلچسپ حصہ اب 27 لائن میں ہے. میں چل نقاط کے ساتھ دو جگہ دار میں سے ایک میں مکمل قیمت، آپ نے پھر مربع بریکٹ کا استعمال کریں. اس صورت میں، میں نے میں کا استعمال کریں کیونکہ لوپ کے لئے اس میں برابر کے ساتھ شروع کر دیا ہے رہا ہوں کس قدر بظاہر؟ 0. تو اس لوپ کے پہلے iteration پر، یہ اسی طرح اگرچہ یہ ہے کہ میں کوڈ میں یہ لکھا تھا. لیکن اس لوپ کے دوسرے iteration پر، یہ اسی طرح اگرچہ یہ ہے کہ میں اپنے کوڈ میں یہ لکھا تھا. لیکن حقیقت یہ ہے کہ میں ایک متغیر کا استعمال کرتے ہوئے کر رہا ہوں کامل ہے کیونکہ، نام کے طور پر سے پتہ چلتا ہے، یہ ہر iteration پر اس قدر مختلف ہے. تو میں اس صف ایک وقت میں بھرنے رہا ہوں ایک جگہ. کیا اس صف کی طرح لگتی ہے؟ ٹھیک ہے، وجہ ہے کہ میں یہاں کی سکرین پر اس سپر آسان مستطیل متوجہ پہلے اس وجہ سے تھا. ایک صف میموری کا ایک حصہ میموری کا ایک حصہ کے بعد ہے، میموری کا ایک حصہ کی طرف سے کے بعد، اور وغیرہ. تو اگر میرا صف 2 سائز کی ہے، یہاں اس صورت میں، میں کی طرف سے کر رہے گی میرے کوئز کے اسکور میں ٹائپ کرنا، یہاں اچھا لگتا ہے. میں نے اس ایک پر 100 ہے. اور پھر میں نے اس پر 99 ایک ہے. تو پھر یہ میموری بھی نہیں ہو سکتا ہے استعمال کیا جاتا کیونکہ میں نے صرف پوچھا ہے 2 سائز کے ایک صف کے لئے کمپیوٹر. وہ چوکوں اب بھی وہاں ہیں. ٹھیک ہے نا؟ آپ کو اب بھی RAM کے دو گیگا بائٹس ہے، یہاں تک کہ اگر آپ کو صرف ہو دو floats کے لئے پوچھ رہا تھا. تو arrays کے پیچھے خیال ہے کہ کمپیوٹر میموری کا ایک حصہ لیتا ہے اور پھر چھوٹے ٹکڑوں واپس apportions واپس، واپس واپس. اور اس طرح ہے کہ ایک صف ہے. یہ میموری کا ایک ملحق حصہ ہے، اندر جس میں سے آپ کو چیزیں ڈال کر سکتے ہیں. اب یہ تو صرف کچھ بورنگ ریاضی کرنا ہوتا ہے. اگر میں یہاں نیچے سکرال، یہ وہ جگہ ہے جہاں تو میں صف پر iterate. میں صف میں تمام اقدار کے summation کے ساتھ آتے ہیں. اور پھر میں گول تقریب کا استعمال کرتے ہیں اصل میں کرنا خلاصہ quizzes کی طرف سے تقسیم کیا ہے. لیکن کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے اب کے لئے کافی ریاضی کی طرح کے طور پر اس میں اپنے ہاتھ لہر. لیکن جو میرے لئے کر رہی ہے بالآخر اوسطا کمپیوٹنگ ہے. تو پہلے کوئز کے علاوہ دوسری کوئز 2 سے تقسیم اور اس کے بعد پرنٹنگ ایک int کے طور پر باہر. لیکن چلو اب نامی ایک مختلف string1 مثال کے طور پر منتقلی جس میں ایک اسی طرح کی تصویر کا استعمال کرتے ہوئے کی ڈور پینٹ. آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور صرف ایک لمحے کے لئے یہ آسان بنانے. اور اب کے لئے پوٹ کاری معاف کرتا ہوں. اس مثال میں سے 19 کی لائن میں نوٹس، میں صارف کی طرف سے ایک تار ملتا ہے. نوٹس لیکن کیا میں اگلے لائنوں میں 22 آگے کر رہا ہوں. میں اصل میں میں سے iterating رہا ہوں - اور یہ ایک نئی چال ہے - strlen، سٹرنگ، کی حد کے ہے. یہ ایک تقریب ہے کہ C کے ساتھ آتا ہے ہے کہ اگر آپ اس کو ایک تار کے پاس، یہ بتاتا ہے کہ ہے آپ اس سٹرنگ میں کتنے حروف ہیں. وہ سب ہے. حقیقت یہ ہے کہ یہ تار کی لمبائی کی بجائے strlen ہے صرف اس لئے کہ یہ مزید succinct. 30 سال پہلے، لوگوں، چیزوں اور succinctly ممکن لکھنا پسند ہے. تو ہم نے اس کنونشن کو یہاں رکھ دیا ہے. میں + کا مطلب صرف + ہر iteration میں اضافہ. اور اب اس نوٹس کے، جو واقعی دلچسپ ہے. تو 24 سطر میں، میں نے کمپیوٹر کا کہنا ہے کہ، مجھے ایک کردار دے، آٹھ بٹس، اور یہ سی کو فون کریں. لیکن کیا دائیں طرف کے کہنے پر یہ کیا ہے؟ انگریزی میں، اس کا کیا کی نمائندگی کرتا ہے؟ [اشراوی] DAVID J. MALAN: بالکل. کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے صف میں سب سے پہلے کردار دے دو. یا اس سے زیادہ عام طور پر، کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے صف میں کردار میں ویں دیتے ہیں. اور اب احساس یہ ضروری ہے کہ کمپیوٹر سائنسدانوں کے طور پر، ہم واقعی ہو 0 سے گن رہا تھا. آپ صوابدید نہیں ہے ایسا کرنے شروع کرنے کے لئے. اب آپ کو کمپیوٹر کی توقعات کے مطابق سلوک ہے اور صفر سے اعتماد کیونکہ [0] پہلے ہو رہا ہے ایک تار میں کردار ہے. [1] دوسری جا رہا ہے. [2]، تیسری، اور وغیرہ کی جا رہی ہے. تو اس پروگرام پر، اگر میں اسے مرتب - یہ ہے، پھر string1. تو string1 ہے. اور اب میں میرے ٹرمنل ونڈو میں string1 چلاتے ہیں. یہ ان پٹ کے لئے انتظار کر رہا ہے، تو میں میں، کا کہنا ہے کہ ڈیوڈ ٹائپ کرنے جا رہا ہوں. درج کریں. اور اب یہ مختلف لائنوں پر DAVID کا پرنٹ ہے کیونکہ نوٹس ہے کہ میں کیا کر رہا ہوں. میں ایک وقت میں ایک کردار چھپائی رہا ہوں. اب ہم تفصیل میں جانا آج اس پر نہیں ہو گا. لیکن میں نے اس چیک پہلے ایک لمحے کے یہاں سے خارج کر دیا ہے. یہ پتہ چلا ہے کہ اگر صارف ناجائز استعمال، معاندانہ ہے، یا صرف الجھن میں، آپ کو کچھ کی لمبائی کی ایک تار دینے کے لئے اصل میں ناکام کر سکتے ہیں. اگر آپ نے کی بورڈ پر غلط کلید کو مارا آپ کو دے سکتا ہے، بالکل کوئی تار. یا اگر آپ کو بدنیتی پر مبنی ہو، آپ کو ایک ایک گیگا بائٹ کی مالیت میں پیسٹ کرنے کی کوشش کر سکتے ہیں مضمون میں اس جملے کو بھرنے کے لئے. اور اگر کمپیوٹر میموری سے باہر چلتا ہے، یہ پتہ چلا ہے کہ ہم جا رہے ہیں واپس نامی اس خصوصی شہوت انگیز null قیمت حاصل کرنے کے لئے. تو اب کے لئے، صرف اتنا جانتا ہے کہ اس خصوصی ملاقات کی، شہوت انگیز null قیمت ہے کہ ہمیں چیک کرنے کے لیے جب ہم میموری کی دوسری چیزوں کے درمیان ہیں، کی اجازت دے گا. لیکن اگر میں کھول اب string2، یہاں ایک فرق محسوس کریں. string2 کے ساتھ ایک فرق نوٹس string2 کے ساتھ، لوپ کے لئے یہ تھوڑا مختلف ہے. مجھے nulls تاکہ ہم ان لوگوں کو کسی اور وقت کے بارے میں بات کر سکتے ہیں حذف. لیکن لوپ کے لئے اس وقت کے بارے میں مختلف کیا ہے؟ اور میں گزشتہ مثال کے طور پر واپس جا سکتے ہیں. تو یہ دو ورژن ہے. یہ ایک ورژن ہے. ایک، دو، ایک دو. تو strlen فون ہے کہاں؟ یہ لوپ کے لئے سب سے پہلے حصے میں ہے. میں نے یہ کیوں کر رہا ہوں کوئی خیال؟ جی ہاں. [اشراوی] DAVID J. MALAN: تو ہم FUNCTION کو کال نہیں ہر ایک وقت. بالکل. loops کے لئے سے یاد ہے کہ وہ سپر آسان ہیں ایک بار آپ کی طرح سمجھتے ہیں کہ یہ ابتدا ہے، حالت، اور تازہ کاری کریں. مسئلہ یہ ہے کہ حالت ہر پر ہوتا ہے لوپ کی iteration. اور اس وجہ سے یہاں اس مثال میں، اس حقیقت کے بارے میں برا کیا ہے کہ یہ میری شرط ہے؟ آپ strlen پھر سے فون کر رہے ہو اور بار بار. کہ سٹرنگ کی طوالت لیکن ایک بار میں DAVID میں ٹائپ ہے، پانچ ہے. اور اس وجہ سے لوپ کے ہر iteration پر تبدیل نہیں ہے سٹرنگ اب بھی ہے D-A-V-D-. کیا بننے جا رہی ہے تو یہ ایک اشارہ ہے ایک ڈیزائن کے فیصلے کے طور پر جانا جاتا ہے تیزی سے اہم خیال، جہاں - کیا نہ صرف کمپیوٹر کے غیر ضروری کام کرتے ہیں. اب کے طور پر سٹینڈرڈ ایڈیشن کا آپس میں ایک 2 pset، 2 pset چوری چھپے پیش منظر ہے آپ اصل میں خفیہ کار کے کچھ نمبر، کچھ پر عملدرآمد کو چیلنج کرنے والے خفیہ کاری یلگوردمز کی تعداد اتنی ہے کہ آپ کر سکتے ہیں ینکریپٹ اور بےرمز دونوں وہاں بہت ایک Ralphie طرح خفیہ پیغامات، ضابطہ ربائی مکمل. 2 pset کے ہیکر ایڈیشن میں، ہم تھوڑا مزید جانے کے لئے جا رہے ہیں. ہم نے ایک اصل کمپیوٹر سسٹم ہے کہ ایک پر مشتمل ہے سے آپ کو ایک فائل کے ہاتھ میں جا رہے ہیں صارف نام اور اصل مرموز پاس ورڈ کی پوری جھوبڈ، اور چیلنج کے لئے ہیکر ایڈیشن ان پاس ورڈ اور اعداد و شمار درار جا رہا ہے کیا خفیہ نگاری یا کیا راز اصل میں کیا گیا باہر ان پاس ورڈ کو پیدا. اور ہم نے ایک نئی خصوصیت کا استعمال کرتے ہوئے یہاں C میں دے دونگا یہ کرنے جا رہے ہیں آپ کے پاس صرف ایک کی ڈیمو، دلائل کمانڈ لائن کے طور پر جانا جاتا ہے. تو یہ پتہ چلتا ہے، جیسا کہ تم میں سے بعض کے حصے میں یا درسی کتابوں میں دیکھا جا سکتا ہے، اہم قوسین میں صفر ہو ہمیشہ نہیں ہے. یہ پتہ چلا ہے کہ اہم بھی اس طرح کر سکتے ہیں لکھا دو دلائل کے ساتھ، argc اور argv، جہاں argc الفاظ کی تعداد ہے کہ آپ ٹائپ کے بعد ہے آپ کے کمانڈ لائن پر پروگرام کا نام ہے. اور argv اصل الفاظ ہیں. اور کے طور پر مربع وہاں بریکٹ تجویز ہے، argv بظاہر ایک صف ہے. یہ یاد میں ایک اسٹرنگ کے بعد ایک اسٹرنگ کے بعد ایک تار ہو رہا ہے. تو کیا ہم کرنے کے قابل ہو جائے جا رہے ہیں، 2 pset کے ساتھ شروع ہونے والے ہے، کچھ اس طرح ہے. اگر میں argv1 بناتے ہیں، جس میں ایک مثال کے طور پر ہم نے پیر کو واپس آنے کی، اور چلانے گے نوٹس، کہ یہ ابھی تک کچھ کرنا نہیں لگ رہا ہے. یہ صرف اس کے اپنے نام پرنٹ. لیکن اگر میں کہتا ہوں کہ الوداع کلاس، کا نوٹس کہ اس پروگرام بظاہر iterates الفاظ ہے جو کہ آپ نے فوری طور پر ٹائپ کیا گیا ہے وہ یہ کہ یہ ہر ایک سے زیادہ ہے. اور اس کا مطلب ہے جس کے ذریعے ہم الفاظ کہ صارف کو رسائی حاصل کرے گا اہم کو تبدیل کرنے، اس ہفتے کے آخر میں شروع ہونے والے کی طرف سے فوری طور پر میں ٹائپ int کی طرف سے ہے، اہم (باطل) کے مرکزی (argc، argv) int. اور اسی طرح کمانڈ لائن دلائل پیدا کیا جائے گا. اور ایک بار تم اس میں واقعی بہتر ملے، تو آپ کو لکھنے کے قابل ہو جائے گا جیسا کہ یہاں ایک کے طور پر واقعی trippy پروگرام، جس کے اوپر اور اس سے باہر جاتا ہے فعالیت میں سے کچھ ہم اس طرح دور کیا ہے لیکن سب کو بہت طاقتور ہے. تو ہم نے اس کے ساتھ سکرین پر یہ چھوڑ دیں گے. اور ہم آپ کو پیر کو نظر آئے گا.