[Powered by Google Translate] [ROCK MUSIC] [MUSIC - "مل کر HAPPY" کچھی] DAVID MALAN: آج، ہم ہماری ریسرچ شروع ، کمپیوٹر سائنس اور ہماری تعارف کے بنیادی اصولوں اب پروگرامنگ کی فن، جس میں سے یہ ہے کہ صرف ایک مثال ہے. لیکن مسائل کو حل کرنے کا ایک ہی رگ میں جانتے ہیں، کہ CS50 کے روایتی پہیلی دن کل ہے. اگر آپ اس پروگرام کے لئے ابھی تک نہیں کیا ہے کی RSVPed، آپ جا سکتے ہیں cs50.net/rsvp. آپ کے پاس دو یا تین یا چار ٹیموں کو لا سکتے ہیں. آپ کو تم نے دیکھا جیسے مسائل کے ساتھ چیلنج کیا جائے گا وہاں شروع میں ہے. تمام نئے مسائل اس سال گزشتہ سال اگر آپ partook، اور آپ ایک موقع تو کچھ شاندار انعامات جیت جائے گا. ان میں، Wii اور کچھ تحفہ سرٹیفکیٹ اور طرح ہر وقت CS50 طلباء اور ہم جماعتوں کے ساتھ باہر پھانسی اور پیزا اور فیس بک. تاکہ کل پر اگر آپ چاہیں تو. یہ تو CS50 تم میں سے ان لوگوں کے لیے ہمارے ساتھ کے لئے ہے، پہلی بار. اور جان لو کہ اس کورس خاص طور پر حاصل کرنے کے لئے مقرر کیا جاتا ہے اپنی آخری آخر میں اس کورس کے ذریعے آپ، جو آپ کو نقطہ نہ صرف ان میں سے ایک سمجھ ہو کمپیوٹر سائنس کے بنیادی اصولوں، لیکن آپ کے پاس گا یہ بہت عملی مہارت کا سیٹ ہے کہ آپ واپس آ گیا تو لے جا سکتے ہیں خود اپنے شعبہ، چاہے وہ انجینئرنگ سائنس ہے، اطلاقی ریاضی، طبعی سائنس، قدرتی سائنس، یا جیسے. سچ تو یہ ہے، جو کمپیوٹر سائنس ان کے بارے میں بہت دلچسپ ہے دن یہ ہے کہ یہ صرف اس لئے پر لاگو ہے کھیتوں کی ہر قسم کی ہے. اور آج بھی اگرچہ، ہم صرف کی سطح قلم ھیںچنا گا بہت روایتی پروگرامنگ زبان C کے طور پر جانا جاتا ہے، ہم کریں گے بجائے بلایا سکریچ کچھ دیکھو، کے ساتھ کچھ جو کہ کوکی محبت کی کہانی اپنے میں سے ایک کی طرف سے لاگو کیا گیا تھا گزشتہ سال میں پچھلے، کہانیاں بتانے کے لئے، کھیل بنانے کے لئے، انٹرایکٹو آرٹ تخلیق کرنے، اور اصل میں ہمارے لپیٹ شروع بنیادی تشکیل کہ میں سے کچھ کے ارد گرد ذہنوں میں پروگرامنگ قائم کرنا ہے لیکن ایک تناظر میں، آپ کے طور پر نظر آئے گا، اس کم بہت ڈراونا، جو بہت کم arcane ہے، تم سے زیادہ نظر آئے گا بہت پہلے. اور تم میں سے ان لوگوں کے لئے بھی احساس، صرف ہمیں اس میں شامل ہونے سمسٹر، جملے ہے جس پر ہم نے بدھ کو لیکچر ختم یہ اتنی اہم نہیں ہے جہاں آپ کو ختم کرنے کے اپنے رشتہ دار اس کلاس میں ہم جماعتوں، جہاں لیکن آپ کی سمسٹر کے آخر تک، 11 ہفتے میں، اپنے آپ کو رشتہ دار آج کے دن ختم. تو مزید ado کے بغیر، یہ بھی قابل ہے کہ نوٹنگ ان کم آرام دہ اور پرسکون، درمیان میں ان کہیں، ہیں بھی اس کورس کے ڈیزائن کی طرف سے، کسی بھی نقصان میں نہیں سامنے ان سے زیادہ آرام دہ اور پرسکون اس کلاس میں آ رہے ہیں. جیسا کہ آپ ہفتوں کے دوران دیکھنے کے لئے آئے گی، ہم مختلف ہیں اسمان واپس پس منظر کے لئے پٹریوں، ان لوگوں کے لیے حصوں کم آرام دہ اور پرسکون، زیادہ سے زیادہ آرام دہ اور پرسکون، کہیں ان کے درمیان میں ہے. جیسا کہ آپ نے اس ہفتے کے آخر میں اور اگلے ہفتے کے دو ورژن دیکھیں گے دونوں معیاری اور ہیکر کے ایڈیشن تاکہ میں سب سے زیادہ مسئلہ سیٹ کہ آپ تمام راستے خود منتخب کر سکتے ہیں جس کے ساتھ آپ آرام دہ اور پرسکون سب سے زیادہ ہیں. تو آج ہم اس پروگرامنگ میں کودو، زبان سکریچ ملاقات کی. یہ ایک گرافیکل پروگرامنگ زبان ہے، اور ابھی تک ہے اسی کی خصوصیات میں سے کچھ اعلی سطح زبانوں ہم کریں گے بعد میں سمسٹر میں ان کے درمیان کی، C اور جاوا سکرپٹ اور پی ایچ پی. لیکن یہ ہمیں خلفشار میں سے کچھ سے بچنے کے لئے کی اجازت ہو رہا ہے نحو کے جلد، semicolons، قوسین کی طرح چیزوں اور دیگر arcane تفصیلات، پہلی نظر میں، صرف نہیں ہیں سب کو ذہنی دلچسپ اور میں حاصل کرنے کے لئے کرتے ہیں کچھ بنیادی سمجھ بوجھ سے راہ ہے. اب حمایت آگے ساخت کے لحاظ سے، اس کا احساس آلہ، CS50 بحث، جس کی راہ پر شامل کیا جائے گا آج بعد میں ویب سائٹ، آن لائن فورم میں ہے جس سے آپ ایک دوسرے سے سوال کرنے کے قابل ہو جائے گے اور ، عملے، اور یہ بھی ایک آلہ ہے، اگلے ہفتے کے طور پر ہم دیکھیں گے، کہ ہم میں بہت integratedly استعمال کریں گے دفتر کے ساتھ ساتھ گھنٹے. درحقیقت دفتری اوقات پیر کو شروع اور سچ کہوں تو، سب سے پہلے دفتری اوقات کے ہفتے کافی کم اہم ہے. مجھے نہیں لگتا کہ تم سکریچ تمام ناقابل رسائی ہے کہ تلاش کر لیں گے. بلکہ خود وضاحتی ہے، ہم کے طور پر نظر آئے گا، اور تو کیا ہم آج کے لئے استعمال کریں گے میں سے کچھ کو ہٹا دیں بنیادی خیالات ہیں کہ اس وقت پورے برقرار گا سمسٹر کے باقی. لیکن پیر کو شروع ہونے والے، 11:00 PM کے ذریعے 8:00 PM پر ہو جائے گا Annenberg میں دماغ کے وقفے سے زیادہ دفتری اوقات. دو Sectioning اس شام شروع، تو کچھ دیر اس ہفتے کے آخر میں، cs50.net/section، اور آپ گے سوالات کی ایک بڑی تعداد سے پوچھا جائے گا. ان میں، آپ کو آپ کس طرح بیان کریں گے آج کے طور پر اطمینان کا درجہ ہے؟ کس بالٹی میں کون ہے کوئی مشکل، روزہ اصول ہے. یہ صرف طرح کی بات کی ہے کہ آپ شاید جانتے اگر آپ کم آرام دہ اور پرسکون یا دوسری صورت میں ان کے درمیان ہیں. اور اب، walkthroughs. مسئلہ سیٹ کی تفصیلات اس ہفتے کے لئے، دونوں معیار اور ہیکر ایڈیشن یکساں، cs50.net میں اب کے طور پر آن لائن ہے. آپ کو نظر آئے گا کہ ان ایڈیشن کا پہلا سٹینڈرڈ ایڈیشن ہر ہفتے، کچھ کے ساتھ کیا جاتا ہے ہم کوڈ walkthrough کو فون، ایک سیشن میں سے ایک کی قیادت کورس کی تعلیم تم لوگوں کے ذریعے رہنمائی فراہم کرنے پر تجاویز، اور آپ نیچے ایک خاص راستہ ملے جب وہ آئے یہ مسئلہ سیٹ شروع کرنے. تو ان کی دشواری کی ہر ایک کے ساتھ کا تعین کرتا ہے، اور اگر تم نے کبھی چاہتے رہے ہیں خود میں کہاں سے شروع کروں، آپ کو ان کے ساتھ شروع walkthroughs. اور اصل میں، آپ کے وزٹرز کا ریکارڈ رکھا Zamyla چان، اس کو متعارف کرانے کی اجازت سال کی تعلیم کے ساتھی جو ہر کی قیادت رکھا جائے گا ان walkthroughs میں سے ایک ہے. Zamyla؟ [اپلاز] ZAMYLA چان: اوہ، ہیلو، سب لوگ. میرا نام Zamyla ہے. میں Winthrop ہاؤس میں ایک جونیئر کا مطالعہ، انجینئرنگ ہوں. لیکن میں اور میں بہت سے کمپیوٹر سائنس کے نصاب کے طور پر میں فٹ کرنے کی کوشش جس کا ہے کیوں مجھے سچ میں اس کی قیادت پر بہت خوش ہوں سال walkthroughs. Walkthroughs، میرے لئے، میرے CS50 کا ایک اہم حصہ تھے تجربہ. walkthrough کے دوران، ہم ہر P سیٹ کے لئے کے ذریعے جائیں گے مسئلہ مل کر قائم، مسائل کو دیکھو، قسم کی ان کے انتظام کے کاٹنے میں تقسیم. میں آپ کو حاصل کرنے کے لئے تجاویز ٹیکنالوجی، دے، کریں گے کے ذریعے شروعات. میں walkthroughs میں آپ سب کو دیکھنے کے لئے کی امید ہے. اگر آپ اس شخص میں نہیں، تو کر سکتے ہیں براہ مہربانی آن لائن میں دھن کرنا. DAVID MALAN: بہترین. آپ کا شکریہ، Zamyla. تو احساس ہوتا ہے کہ walkthroughs ہیں، بیشک جمعہ، دوپہر، لیکن یہ ڈیزائن کی طرف سے جان بوجھ ہے تاکہ یہاں تک کہ اگر آپ کی بجائے جمعہ کلاس میں شرکت چاہتے ہیں دوپہر ویڈیوز سب زیادہ تیزی سے ختم ہو جائے گی ہفتے کے آخر میں. تو احساس ہوتا ہے کہ cs50.net Zamyla کی سب ہو جائے گا walkthroughs. ہے اور آج کی تاریخ اور وقت، 3:00 PM، Harberd ہال، 104. اور تعلیم ساتھیوں میں سے کچھ بھی تیار کر رکھا ہے غائبانہ کچھ آپ کے لئے ریمارکس تم میں سے تھوڑا سا دینے کے لئے نقطہ نظر ہے کہ ان کے تجربے میں آنے اور CS50 سے باہر جا رہا تھا. لہذا اگر ہم صرف ایک لمحے کے لئے روشنی دھیما، میں تم سے دے سکتے ہیں CS50 عملے کے کچھ. جیکسن STEINKAMP: میں CS50 گزشتہ سال میں ایک freshman کے طور پر لے گئے گر جاتے ہیں، اور یہ بالکل میرے ذہن میں دھماکے سے اڑا دیا. میں کسی بھی پروگرامنگ کی کلاس لی کبھی نہیں تھا سے پہلے آیا اور میں کبھی بھی کسی بھی کمپیوٹر سائنس کے ساتھ نہیں بالکل تجربہ. اور میں کلاس کے بارے میں بز سنا اور اسے لینے کا فیصلہ کیا ہے. جولیا MITELMAN: یہ واقعی مزہ آ گیا، واقعی کشش ہے. اب بھی اس دن میں - میں نے حال ہی میں دیکھا تھا میں فلاپی ڈسک ہے کہ داؤد نے ہمیں دیا ہے ہماری لیکچر کے پہلے دن پر. میں اپنی دیوار پر لٹکا دیا تھا. شاید یہ تھوڑا nerdy، لیکن میں میری لٹکا کتنا ٹھنڈا تھا ایک یاد دہانی کے طور پر کلاس کے دوران دیوار. ٹریوس فراز: یہ بہت شرمناک ہے. جیکسن STEINKAMP: کمپیوٹر سائنس کچھ ہے آپ یہاں تک کہ اگر آپ کے لئے ایک نہیں ہو کی کوشش کرنی چاہئے روایتی علوم. یہ اس کا اپنا تجربہ ہے، اور CS50 اس بات کو یقینی بنائیں کہ تم اس کے ذریعے اس TFs کی سچا فوج کے ساتھ کی حمایت کی. ALI NAHM: میں یہ freshman کے طور پر لیا، اور تو میں نے ایک بہت نے نئے دوست. میں نے بھی اس پورے جمع کرنا اور متعارف کر لی انجینئرنگ کے تمام اسکول، اور تو میں انتہائی یہ مشورہ دیتے ہیں اور آپ ہمارے CS50 خاندان کا استقبال ہے. YANIV YACOBY: CS50 آپ کو سکھاتا ہے کہ کس طرح کے اوزار استعمال کرنے کے لئے جو وسیع پیمانے پر قابل رسائی ہیں. آپ کے پاس صرف ایک لیپ ٹاپ کی ضرورت ہے، آپ کو ایک ویب براؤزر کی ضرورت ہے، اور آپ کچھ کوڈ لکھنے کو سیکھنے کی ضرورت ہے، اور تم واقعی میں بنا سکتے ہیں صاف باتیں. کیرن ژاؤ: یہ بہت اچھا ہے کچھ بنانے کے لئے کے قابل ہو جائے ہے اور لوگ اسے استعمال کرتے ہیں اور لوگ اسے دیکھ کر، اور یہ کہ کیا میں واقعی میں اس کے بارے میں محبت کرتے ہیں. TIM MCLAUGHLIN: - کمیونٹی کا احساس اس میں، مجھے لگتا ہے کہ، کسی دوسرے کورس میں بہت دور کر لیا ہے سے زیادہ کورس. تم ایک نہیں لے رہے ہیں - آپ کو ایک دوسرے کی ضرورت کو بھرنے نہیں کر رہے ہیں. آپ کو لیکچر نہ صرف کر رہے ہیں جا رہا ہے اور کے حصے میں جا رہا ہے. لیکن تم نے چیزوں کے ٹن ہیں سب کے بارے میں کر رہے ہیں پروگرامنگ اور ٹیکنالوجی کے بارے میں تمام ہے، لیکن ایسا نہیں ہوتا ہے واقعی میں ایک کلاس کی طرح وقت کے سب سے زیادہ محسوس کرتے ہیں. ٹریوس فراز: پہلے دن پر، انہوں نے کیک کے حوالے، اور میں فوری طور پر فروخت کیا گیا ہے. جیکب PRITT: مفت کینڈی اور پججا. ZAMYLA چان: - آپ کی دلچسپی کی سطح کے قطع نظر، مجھے لگتا ہے کہ کہ CS50، آپ مذاق ہے، اور آپ ذہنی ہو جائے گا کریں گے حوصلہ افزائی کی. MARK GROZEN SMITH: یہ ہمیشہ کلاس میں ایک پارٹی ہے، اور یہ ایک ہے پارٹی ہر رات اپنی P سیٹ پر کام کر رہے ہیں. جیکسن STEINKAMP: ہر بار آپ کو کوئی مسئلہ کا سیٹ ختم، تو آپ جیسا کہ تم نے ایک منصوبہ ختم ہو گیا ہے، محسوس کریں گے. MELISSA NIU: freshman سال تھا، اور میں خریداری کیا گیا تھا. میں نے اپنی زندگی کے چار کلاس کے لئے تیار تھا، اور میں Annenberg میں تھا. اور میں کو دوستوں میں ٹکرانا، اور وہ کہتے ہیں، ارے، میں خریداری کر رہا ہوں اس کلاس CS50 کہا جاتا ہے، اور تم میرے ساتھ آنا چاہئے. کو ختم کر دیا گیا یہ ہے کہ موسم خزاں لے رہا ہے، اور اس کلاس کے بعد میں نے سوچا شاید میں CS میں معمولی جا رہا ہوں. لیکن یہاں میں تین سال بعد رہا ہوں، ابھی تک کمپیوٹر کا مطالعہ سائنس اور اصل میں یہ ایک اہم کے طور پر کر رہے ہو، اور میں نے پیار کیا ہر اس کا وقت ہے. روب BOWDEN: میں کوئی اندازہ نہیں ہے. ALI NAHM: چلو دیکھتے ہیں. MELISSA NIU: پاگلپن. 1 سپیکر: مجھے لگتا ہے جیسے میں بہت کہاوت جائے گا. میں، صرف پسند کا کہنا ہے کہ، تھا بہت اچھا ہے. YANIV YACOBY: رسائی. جیکب PRITT: مفت کینڈی اور پججا. ٹریوس فراز: ایک کلاس بند نہیں کر سکتے ہیں کہ کیک کے باہر ہاتھ. TIM MCLAUGHLIN: ؤرجاوان. وپل شیھاوت: ضروری ہے. روب BOWDEN کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے ایک جواب کا لگتا ہے. مجھے لگتا ہے کہ مجھے کچھ مل گیا. اوہ، بھگوان. جی ہاں، میرا نام Rob Bowden، اور اس CS50 ہے. [اپلاز] DAVID MALAN: ٹھیک ہے، تو چلو ایک تصویر پینٹ شروع سمت جس میں ہم جاتے ہیں، کر سکتے ہیں اور چلو متعارف کرانے کر سکتے ہیں یہاں یہ تصور pseudocode کے طور پر جانا جاتا ہے. تو pseudocode پروگرامنگ نہیں ہے خود "زبان. یہ فی SE تکنیکی کچھ بھی نہیں ہے، لیکن یہ صرف ایک طرح ہے خود کا اظہار کافی خاص طور پر عام طریقہ، کافی algorithmically، کافی procedurally، لیکن بغیر آپ کس زبان کا اظہار کر رہے ہیں کے بارے میں فکر کرنے کی کرنے خود اندر یہ انگریزی اور پروگرامنگ کی زبانوں سے کچھ کے ساتھ ماڈل ہے جس سے آپ واقف ہو، ہم تو شروع کر سکتے ہیں بات اس طرح لکھنے کے طور پر ہمیں جانا ہے. اور حقیقت میں، یوسف، آپ میں فورم پر ہو قرضے لے سکتا یہاں نمائندے؟ میں آگے یہاں چلے گئے پیشگی ڈال بھول آج کچھ موزوں اورجرابوں پر، یہ ہماری زیادہ کے درمیان ہو گا اور کریں گے مضحکہ خیز مثال کے طور پر. اب، میں تم سے کی ضرورت ہے یہاں. میں موزوں اورجرابوں حصہ کر دونگا. تو یہاں ہم ایک چھوٹی سی سکریچ پیڈ ہے. یہ لفظی صرف ایک میک میں TextEdit ہے. ہم ایک runnable پروگرام کو لکھنے اصل میں نہیں کر رہے ہیں جا، لیکن ہم صرف باہر sketching pseudocode کی بنیاد پر شروع کرنے جا رہے ہیں وکیل آپ مجھ سے یہاں فراہم کرتے ہیں میں سے کچھ ہیں. تو یہاں گھر میں جرابوں پر جرابيں ڈھیر ہے. میں جب میں صبح نيند سے بيدار کوئی موزی ہیں، اور اب ہم پروگرام کو لکھنے کی ضرورت ہے، ایک طرح کی الگورتھم، جس کے ساتھ اپنے پیروں پر ان جرابوں پر جرابيں حاصل کرنے کے لئے. اور راستے میں، دیکھتے ہیں اگر ہم سفر، یا سامنا ہوتا ہے، خیالات کہ تم جا رہے ہو شروع کرنے کے لئے کچھ ہے کے بارے میں بہت زیادہ سنجیدگی سے سوچ جب پروگرامنگ آپ کے پروگراموں کے ایسا نہ ہو کہ کافی کے طور پر سلوک نہیں ارادہ ہے. اس لئے میں یہاں بیٹھو. میں جرابوں پر جرابيں ڈھیر ہے. پہلی چیز ایک معقول انسان گے کیا ہے جب مقصد جرابوں پر جرابيں ایک جوڑے پر ڈال دیا ہے کیا؟ کسی نے مجھ سے ایک قدم، اور صرف ایک قدم دے. جی ہاں؟ سامعین: نیچے جھکنا. DAVID MALAN: نیچے جھکنا، ٹھیک ہے. دو قدم ہے. دو قدم ہے. سامعین: آپ کی جراب اٹھاو. DAVID MALAN: آپ کی جراب اٹھاو. ٹھیک ہے، تو تھوڑا سا یہاں ابہام، اور یہ سب سے پہلے ایک ہے بلاکس کہ ہم جان بوجھ کر عمدا کرنا ہیں ٹھوکر کھا یہاں کا سامنا ہے. یہ تھوڑا مبہم ہے، تو آپ کے جراب منتخب کریں. ٹھیک ہے، میں اس سے لے لو، لیکن ایک کمپیوٹر، صرف ایک احساس کریں گے تھوڑا سا ہو رہا ہے، انسانی جذبات کی اس طرح صرف نہیں ہے قریبی ایک کو منتخب کریں. ہم شروع کرنے کی ضرورت ہو، بہت پہلے، کا اظہار زیادہ واضح طور پر خود کو. ٹھیک ہے، تو دو قدم ہے اپنے جراب کو منتخب کریں. ہم لے لیں گے. تین قدم ہے. پیٹھ میں. سامعین: ایک کے ملاپ کے جوڑے تلاش کریں. DAVID MALAN: مماثلت کے جوڑے تلاش کریں. ٹھیک ہے، تو یہ اچھا ہے. میں نے اس جراب کو منتخب کرنے کے لئے تھا. تو مقصد یہ ہے کہ ایک مماثلت کی جراب کو تلاش کرنے کے لئے ہے، اب، لیکن کیا اس کا یہ مطلب ہے؟ بدھ کو ایک مناسب بہت پسند کیا جا رہا ہے، انسانی جب بس میں جانتے تھے کہ کس طرح ایک فون کی کتاب میں مائیک سمتھ تلاش کی قسم ان کے جذبات کے ساتھ چلی گئی. لیکن یہاں یہ واضح طور پر اس جراب ہے، لیکن ایک کمپیوٹر تو آسان نہیں ہے. ایک کمپیوٹر بٹس کا ایک مجموعہ ہے، ہم کے طور پر ہو رہا ہے، بدھ کے روز بات چیت کی، اور ان کے ہیں یاد میں کسی نہ کسی طرح منظم ہے. لیکن بات یہ ہے کہ ایک کمپیوٹر صرف کرنے کی صلاحیت ہے چیزوں کو ایک وقت میں ایک، حقیقت میں دیکھیں اور ہم بھی انسان - اگرچہ یہ لگتا ہے جیسے میں نیچے glanced اور تقسیم دوسری بعد میں معلوم ہے کہ جہاں جراب ہے، میرے دماغ اور میری آنکھوں شاید ان جرابوں پر جرابيں ایک فوری ملائی اتارا تھا، اور پھر latched سوال میں ایک پر ہے. اگر ایسا ہے تو ہم سب سے زیادہ جان بوجھ اب ایک کمپیوٹر کے طور پر، میں اس کی مماثلت کی جوڑی کو کس طرح حاصل کر سکتا ہوں؟ ٹھیک ہے، ہم پر iterate ہے. ہم جرابوں پر جرابيں اس گندگی میں شاید لوپ منزل جس میں ہر جراب کے لئے طرح کچھ کا کہنا ہے کہ، اسے اٹھا اپ، اور اگر اس کے بعد ایک دوسرے کے طور پر ایک ہی شکل اور سائز، ڈاٹ، ڈوٹ، ڈوٹ، ہم کہانی جاری رکھیں گے. تو ہر جراب کے لئے، تو میں نے اس سے منتخب کریں. میں دیکھتی ہے یہ اس ایک کے برابر ہے. یہ ایسا ہے، تو نہیں ہے میں ایک طرف کی طرف ڈال دیا. پھر میں نے دوبارہ iterate. اس کے برابر ہے؟ نہیں، ایسا نہیں ہے میں نے اسے ایک طرف رکھ دیا. کیا یہ ایک ہی ہے؟ نہیں یہ والا؟ نہیں، اور وغیرہ. اور پھر آخر میں، امید ہے کہ، میں یہاں جراب کا سامنا کریں گے. اگر ایسا ہے تو یہ ایک ہی شکل، سائز ہے، اسے لے لو. اور اب ہمارا اگلا قدم کیا یہاں ہو جائے گا؟ جی ہاں؟ سامعین: بائیں سے دائیں جانب کی نشاندہی کریں. DAVID MALAN: ٹھیک ہے، دائیں اور بائیں کی شناخت، تو کام کے خوش قسمتی سے، اس قسم کی ہے. ایک چھوٹا سا تشاکلی، یا میں صرف ان کے اس طرح پہنا ہے. تو ٹھیک ہے، میں نے حق کی نشاندہی کی ہے. اور اب، چلو ہم پہلے آگے بڑھنے کے لئے، آپ کے وزٹرز کا ریکارڈ رکھا اشارہ کیا جوزف سے ایک مہارت حاصل پروگرامر کی طرح کے طور پر یہاں کیا کر رہی ہے. تو پھر، ایسا کرنے کا کوئی ایک طریقہ ہے لیکن اس سے باہر ہے، صرف لائنز تعداد جوزف نے پہلے ہی یہ کرنا شروع کر دیا ہے پوٹ کاری کے طرح. درحقیقت یہ پروگرامنگ میں ایک بہت عام کنونشن ہے، جس کے تحت جب تم سے کچھ انداز looping تکراری طور پر، ہم نے ہر ایک کے لئے انگریزی جملے "کے ساتھ مطلب کر رہے ہیں ، موزا "pseudocode میں کنونشن اور ہم کے طور پر نظر آئے گا، عام پروگرامنگ زبانوں، صرف حاشیہ پر ہے. خلائی بار ایک چند بار مارو، ٹیب، کلید یا طرح مارا، تاکہ نیچے اندر در اندر "ہر جراب کے لئے" کا حصہ ہے چیزیں ہے کہ آپ کو اس لوپ کے نتیجے کے طور پر کرنے کی ضرورت ہے. تو یہ کرتے ہیں کہ وہ semantically پہنچایا ہے. اب اسی دوران، انہوں نے کہا کہ اگر یہ اسی شکل اور سائز ہے، " حقیقت یہ ہے کہ "اسے لے لو" پوٹ دار ہے مزید کا مطلب صرف اتنا ہے ہے کہ وہ صرف ایک چیز ہے جو تم نے اس کی حالت تو کیا کرنا چاہئے ہے، اگر وہ شاخ ہے، کہ راستے میں کانٹا، سچ یہ حقیقت میں ہے. تو اب یہاں ہم چار مرحلے پر ہیں، دائیں اور بائیں کی شناخت. میں نے درست شناخت کی ہے. مجھے پانچ قدم دے. اور تکنیکی طور پر، ہم نے سچ میں کہہ سکتے ہیں ہر چیز کے لئے - آپ سب کی لائنز تو شاید تعداد ہم نے یہ کیا کرنے جا رہے ہیں. JOSEPH: [اشراوی] DAVID MALAN: [اشراوی]؟ ٹھیک ہے، ٹھیک ہے ٹھیک ہے، یہ ہے کہ یہ سب، ہم اسے اپنے راستے کر دونگا. ٹھیک ہے، تو پانچ قدم، کہ ہم کس طرح صحیح جراب کیا کرتے ہیں؟ ہم اگلے کس طرح جاری رکھنا ہے، یہاں؟ جی ہاں؟ سامعین: دائیں ٹانگ اٹھاو. DAVID MALAN: دائیں ٹانگ لفٹ، ٹھیک ہے. چھ مرحلہ؟ جلدی سے. جی ہاں. سامعین: جراب کی ایک کھلی آخر تلاش کریں. DAVID MALAN: ٹھیک ہے، جراب کا کھلا آخر. تو اچھا ہے. سکوئر سے، تو یہاں ایک بہت عام ورتی ہو گی صحیح جراب پر ڈال دیا، لیکن وہ بھی کافی مبہم ہے. جب تک کمپیوٹر یا انسان جانتا ہے بالکل وہی جو اس کا مطلب ہے، یہ کہ پھانسی، تو یہاں نہیں ہے، میں نے اسٹاک کی افتتاحی ملا. سات مرحلہ؟ سامعین: آپ کی انگلیوں کو چھو. DAVID MALAN: ٹچ انگلیوں. ٹھیک ہے، تو کیا اب ہم جا - ٹھیک ہے، میں کچھ آزادی یہاں لے جا رہا ہوں. شکریہ. آٹھ مرحلہ؟ جراب پر رکھ. ٹھیک ہے، تو اب مجھے لگتا ہے کہ، ہم قریب کے حل کے لئے کافی ہو اس گھر میں سے ایک ہے. ٹھیک ہے، تو یہ جاتا ہے. میں نے کیا اس کا مطلب یہ ہے کے ساتھ کچھ آزادی لے، اصل میں کریں گے. جراب پہن لو. ٹھیک ہے، اب نو قدم؟ سامعین: پاؤں نیچے رکھو. DAVID MALAN: آپ کا شکریہ. نو مرحلہ، پاؤں نیچے رکھ، اور اب ہم دوبارہ کر سکتے ہیں. تو شاید، ہم 10 قدم میں اور کا کہنا ہے کہ شناخت جا سکتے ہیں جراب چھوڑ دیا ہے، لیکن اس کا یہ شاید پہلے ہی ہو چکا ہے. اور تو میں ان اقدامات پر دوبارہ ترتیب کر سکتے ہیں. لیکن اس طرح سوال جنم لیتا ہے. سے پہلے، آخری بار ہم نے کچھ دوبارہ، ہم چاہتے تھے یہ iteratively پھر اور پھر کیا ہے، کے لئے ایک ہر لوپ کو تو بات کرنے کی. احساس یہ لوپ کو استعمال کرنے کے لئے دونوں کو ہینڈل کرنے کے لئے کرے گا بائیں اور دائیں جراب ہے؟ کیونکہ یہ لگتا ہے کہ یہ آپریشن بہت ہیں مگر حقیقت یہ ہے کہ یہاں اور ایک شروع ہوتا ہے کے لئے ایک جیسی یہاں شروع ہوتا ہے؟ لوپ ہم کیا کرتے ہیں، یا کیا ہم صرف لکھنے کے اقدامات کو 10 اور 11 اور 12؟ سامعین: لوپ. DAVID MALAN: ٹھیک ہے، تو لوپ. دراصل میں رکھنے جا رہا ہے انہوں نے کہا کہ ہو سکتا ہے. تو یہ کیوں ہے؟ ٹھیک ہے، یہ اصل میں ہماری غیر واضح کی پہلی ہے ڈیزائن کے فیصلوں، اور اصل میں، میٹرکس میں سے ایک ہے جس کے ساتھ ہم اندازہ خود اپنے لئے اور آپ کے لئے شروع کریں گے، ایک پروگرام کے معیار یہ ہے کس طرح اچھی طرح سے ڈیزائن کیا گیا ہے ہے. کیا آپ کے کام کی کم سے کم رقم ضروری ہو گیا ہے کام سب سے زیادہ تیزی سے کیا ہے، کے معاملے میں یا تو آپ کا وقت یا کمپیوٹر چلانے کے وقت کے لحاظ سے؟ کتنے آپریشن کیا اس سے پھانسی لیتا ہے؟ تو arguably، یہ ایک لوپ کیونکہ ایک موقع ہے جیسے ہی میں نے شروع کاپی اور پیسٹ جوزف کے طور پر مؤثر طریقے سے ایک پل میں کر رہا شروع ہو جائے گا، آپ کو آپ کے ضائع کی طرح ہیں وقت، اور آپ دوگنا اظہار کر رہے ہو. لیکن ایک ہی وقت میں، یہ واقعی صرف دو خصوصی مقدمات، بائیں اور دائیں. اور میں نے پہلے 10 یا 20 یا اس سے زیادہ موزوں اورجرابوں جبکہ میں ہو سکتا ہے ایک ڈھیر، یہ یقینی طور پر سمجھ میں آتا ہے ہے کے 50 لائنوں نہیں ہے کوڈ کہہ رہا ہے یہ جراب چیک کرنے کے لیے، اور پھر اگلے ایک پھر اگلے ایک. یہاں، یہ تھوڑا کم واضح ہے، اور میں مجوزہ گے کہ ہم کسی بھی طرح سے ہو سکتی ہے. ہم اس لوپ کو یا تو، اگرچہ یہ صرف loops ہے میں دو بار، یا ہم صرف اور صرف تھوڑا سا پیسٹ کاپی کر سکتے ہیں یہاں کے لئے کام کیا. لیکن یہ پروگرام چھوٹی گاڑی ہے، تو بات کرنے کی. اس میں کچھ غلطی، غلطیاں، یا کونے کے مقدمات ہیں، تو ہو سکتا ہے بات ہے کہ ہم واقعی امید نہیں تھی. کچھ غلط نہیں اس وقت چلا گیا ہے، لیکن کیا ہوا جا سکتا ہے اس پروگرام پر عمل کرتے ہوئے؟ سامعین: آپ کسی بھی موزوں اورجرابوں کی ضرورت نہیں ہے. DAVID MALAN: تو کوئی موزوں اورجرابوں وہاں جو کچھ کر سکتے ہیں. تو اس کونے کے کیس پر غور. لہذا اگر ہم واپس سکرال ایک قدم کر سکتا ہے، تو قدم میں سے ایک تھا تو نیچے جھکنا، کہ چیک کرتا ہے. دو مرحلہ، اپنے جراب لینے، لیکن پھر ملاپ کے جراب تلاش صحیح شناخت ہے. ہم اس قسم کی مفروضات کی ایک پوری چڑھانے بنا دیا ہے، اور یہ ہے، واضح طور سے، پروگرام کبھی کبھی کیوں کریش ہوا. اگر آپ پروگرامر، بعض مفروضات، کی طرح بنا دیا ہے ضرور جراب يا شک ہو رہا ہے ہونے جا رہا ہے کمپیوٹر میں چھوڑ میموری، یقینا وہاں جا رہا ہے ہارڈ ڈرائیو پر چھوڑ ڈسک کی جگہ - ٹھیک ہے، اگر آپ ان مفروضات، اور یہ کہ نہیں ہے، اصل میں، حقیقت، جو کبھی کبھی جو کمپیوٹر جانتا کرنے جا رہے ہیں؟ اور کبھی کبھی آپ کتائی ساحل سمندر کی گیند یا جب حاصل منجمد ونڈوز یا جیسے، یہی وجہ سے ہے، اور بعض علماء پروگرامر ان نام نہاد کونے کے مقدمات کو اندازہ نہیں تھا. اور کیا غلط اس پروگرام میں گئی ہو سکتا ہے؟ جی ہاں؟ سامعین: آپ کو ایک دائیں ٹانگ اور ایک بائیں ٹانگ کی ضرورت نہیں ہے. DAVID MALAN: ٹھیک ہے، دونوں دائیں ٹانگ اور ایک نہیں کر سکتے ہیں بائیں ٹانگ تو اس پروگرام عالمی نہیں کر سکتے ہیں قابل اطلاق ہو. دیگر؟ سامعین: آپ کو ایک یتیم جراب اٹھایا ہو سکتا ہے. DAVID MALAN: تو میں نے ایک یتیم جراب اٹھایا ہو سکتا ہے، جراب غیر مماثلت کے صرف بھائی بہن ہے کیونکہ میں نے نے اسے کھو دیا، اسے پھاڑ، دھونے میں اب بھی ہے، یا پسند ہے. بھی، تاکہ، کیا گیا ہے نہیں سنبھالا. جی ہاں؟ سامعین: آپ پہلے ہی موزوں اورجرابوں پر ہو سکتا ہے. DAVID MALAN: میں موزوں پر پہلے ہی ہو سکتا ہے. میں اصل میں چیک کرنے کے لیے نہیں کیا. اگر تم پر موزوں پر نہیں ہے، تو کارروائی لائن ایک اور دو. کہ یہ ہو سکتا ہے. تم اپنے موزوں اورجرابوں کے ساتھ سو جانا اور اس طرح، تو کہ، بھی، ایک بہت ہی مناسب کونے کیس. اور شاید دوسری؟ سامعین: جراب اندر ہے. DAVID MALAN تو جراب اندر ہے، تو ہم نے کوئی غلطی نہیں کیا مختصر میں جانچ پڑتال،. ہم چیک کرنے کے لیے اگر دنیا کی حالت ہے جیسا کہ ہم امید کرتے ہیں نہیں کیا. ہم چیک کرنے کے لیے اگر ہم واقعی اس میں جو ہم تلاش کر رہے ہیں نہیں کیا. اور اگرچہ اس طرح کی ایک مضحکہ خیز مثال کے طور پر کی ہے جرابوں پر جرابيں شامل، دن کے آخر میں، یہ بالکل ہے ذہنیت کی طرح آپ جبکہ پروگراموں لکھنے کی ضرورت ہے، ، یہاں تک کہ پی ایچ پی کے ساتھ کے طور پر جاوا سکرپٹ C،، سکریچ میں ورنہ وجہ سے، اپنے پروگراموں کی نمائش کریں گے کہ کتائی ساحل سمندر کی گیند کے برابر یا برآمد غلط نتائج. ہمارے نمائندے یوسف تو بہت شکریہ یہاں. [اپلاز] DAVID MALAN: ٹھیک ہے، تو کیا ہے، میں حقیقت یہ ہے کہ ایک کمپیوٹر پروگرام ہے؟ چلو، ایک پر ایک نظر لے نمائندے یہاں ایک. تو اس کے نام C. C ہے زبان کے وزٹرز کا ریکارڈ رکھا جائے گا پروگرام ہے کافی ان دنوں کی عمر میں، لیکن بہت سے نئے زبانوں کی تعمیر کر رہے ہیں اس کے سب سے اوپر پر ہے. بے شک، پی ایچ پی، ویب کی بنیاد پر زبانوں ہم کریں گے میں سے ایک خود کی مدت کے اختتام کی طرف استعمال کرتے ہیں، کیا کہتے ہیں مترجم ایک پروگرام ہے کہ C کے وزٹرز کا ریکارڈ رکھا جائے گا، لیکن اس پر زیادہ اب سے کئی ہفتوں میں. لیکن یہ پروگرام، اور یہ وہی ہے جو یہ لکھنے کا مطلب ایک بہت سادہ اگرچہ پروگرام. ہم کچھ کافی خفیہ نحو یہاں ہے، لیکن آپ کر سکتے ہیں شاید لگتا ہے، یہاں تک کہ اگر آپ پروگرام سے پہلے کبھی نہیں کیا اس پروگرام کرتا ہے. بے شک میں جانتا ہوں کہ نہیں کیا printf ہے، لیکن یقینی طور پر پرنٹ کچھ چھپائی کی خیال conjures. اور ہاں اس پروگرام بالآخر باہر پرنٹ کرنے جا رہا ہے الفاظ "ہیلو، دنیا." اب، چاہے آپ میک یا PC یا لینکس کمپیوٹر، مشکلات ہیں، کم از کم اگر آپ نے کوئی آزادانہ طور پر ڈاؤن لوڈ دستیاب سافٹ ویئر، آپ کو سکتا ہے پروگرام لکھنے آپ کچھ وقت کے لئے اپنے اب لیپ ٹاپ ہے. میک OS، مثال کے طور پر، اس ملاقات کی پروگرام ہے ٹرمینل ہے کہ میک، جو عام طور پر آپ کے تعلقات میں آتا ہے افادیت، فولڈر، اور یہ عام طور پر ایک سیاہ فام اور کھولتا سفید یا سفید اور سیاہ ونڈو ہے جس میں آپ کو ایک ہے فوری طور پر جس میں آپ کو حکم ٹائپ کر سکتے ہیں. تو یہ اصل میں ہے کی یاد تازہ کمپیوٹر کیا ہے گرافیکل صارف سے پہلے ہوا کرتے تھے انٹرفیس، GUIs، ساتھ آئے تھے. اب، ونڈوز میں آپ فارم میں اسی طرح کے طریقہ کار ہے کمانڈ پرامپٹ. لیکن کیا میں یہاں کیا کرنے جا رہا ہوں کھلا ہوا ہے، چلو کا کہنا ہے کہ، TextEdit تو ایک ہی پروگرام دوبارہ، ہم کے لئے استعمال کر رہے ہیں pseudocode ایک لمحے قبل، اور میں آگے بڑھو جا رہا ہوں اور میرا پہلا پروگرام لکھنا. stdio.h، جو کہ اس کا مطلب سب سے اہم ہے، int شامل کریں باطل، کہ اس کا مطلب جو کچھ بھی ہو، اور پھر یہاں وسط میں printf ("ہیلو، دنیا."). اور پھر قریبی اقتباس قوس، نیم وقفہ کے قریب. اب میں آگے اور متاثر صرف کمانڈ S جانے کے لئے جا رہا ہوں. میں جا رہا ہوں لہذا آگے بڑھیں اور hello.c کے طور پر اس کو بچانے کے، میں کنونشن C پروگرامنگ کی دنیا فائل ڈاٹ سی کا نام ہے. میں صرف جان ہارورڈ کے ہوم ڈائریکٹری میں ڈال دیا جا رہا ہوں، یہاں کلک کریں، محفوظ کریں، اور اب میں اس پر جا رہا ہوں ٹرمنل ونڈو، جس میں ایک بار پھر اس میں سیاہ فام اور سفید فام فوری میں حکم دیتا ہے جہاں پھانسی کر سکتے ہیں. میں ان کے نام ٹائپ کرنے کے کی طرف سے پروگراموں کو چلانے کی طرف سے نہیں، کر سکتے ہیں معمول احساس میں ڈبل کلک کرنے سے شبیہیں. لیکن بات C کے بارے میں ہے یہ ہے کہ سی پہلے کی طرح ایک زبان اس فارم میں آتا ہے، جس کا ماخذ کوڈ کو قرار دیا ہے. کچھ جو کہ انگریزی کی طرح تھوڑا سا لگ رہا ہے لیکن ہے یقینی طور پر جوزف کے pseudocode ایک سے جیسے کم پہلے پل. یہ تھوڑا زیادہ arcane ہے. یہ کچھ پیٹرن یا اصولوں پر عمل کرنے کی ہے. حقیقت یہ ہے کہ میں نے گھوبگھرالی منحنی خطوط وحدانی، semicolons، کوٹس، ہے زاویہ منحنی خطوط وحدانی، ایک کمپیوٹر کی طرح محسوس ہوتا ہے اس کے ساتھ آئے طرح کی زبان کا ہے. لیکن اگر میں اس ٹرمینل دریچہ، اب جاؤ، میں چلا سکتے ہیں حکم ہے کہ اس کے منبع کوڈ میں تبدیل کرنے کے لئے جا رہا ہے یہ ہے کچھ اعتراض کوڈ قرار دیا ہے. یہ انگریزی کی طرح نحو zeros تبدیل کرنے جا رہا ہے اور ہیں، zeros کے اسی قسم کے اور ہیں ہم بدھ کے بارے میں بات کی. اب، میں کے نام سے بجنا کمانڈ چلانے کے لئے جا رہا ہوں. ہفتوں میں اس پر مزید آئے، لیکن یہ ایک پروگرام کے ساتھ ہے جس میں ایک مکمل جھوبڈ میں hello.c تبدیل کر سکتے ہیں zeros اور ہیں. اب، میں نے یہ کمانڈ چلائیں ہے. میں بجنا چلانے کے لئے ہے، اور اس کے بعد میں نے کہا کہ اس فائل پر اپنے آپ کو چلانے hello.c، جس میں ایک لمحے پہلے پیدا اور نامی کچھ ہونے لگتا ہے. لیکن یقینا، اگر میں اپنے گھر کی ڈائریکٹری کے ارد گرد poked میں دیکھ گے کہ یہ stupidly نام پروگرام a.out موجود ہے. یہ صرف ایک پروگرام کے لئے پہلے سے طے شدہ نام ہے جب میں لکھنے C. ہم اس آخر کار کی جگہ لے لے، لیکن کر سکتے ہیں a.out ہے اس پروگرام کا نام میں صرف zeros اور ہیں میں تبدیل کر دیا. اور اب جب کہ یہ zeros اور ہیں، اپنے میک یا، اس معاملے میں، آپ کے ونڈوز PC، ان کی بٹس، ان کو سمجھ سکتا ہوں zeros اور ہیں. اور اس طرح جب میں درج کریں مارا، میں دیکھ رہا ہوں "ہیلو دنیا! لیکن یہ تھوڑا سا چھوٹی گاڑی ہے. میں کافی نہیں کہا "ہیلو، دنیا ہوائی: -! jharvard." ایئر ہے میرے کمپیوٹر کے نام پر. Jharvard اکاؤنٹ کا نام ہے، تو کیا میں نے صاف صاف کیا پروگرام سے ترک؟ سطر توڑ کسی طرح کا. میں درج کریں برابر یا گاڑی کی واپسی نہیں مارا، اور یہی بات ہے، پھر سے، حقیقت یہ ہے کہ کمپیوٹر کر سکتے ہیں عہد نامہ صرف وہی کروں گا جو آپ ان سے کیا کہتا ہوں. حقیقت یہ ہے کہ میں کمپیوٹر کو نہیں بتایا تھا کو منتقل اور اگلی لائن پر کرسر - ٹھیک ہے، یہ یقینی طور پر یہ صرف کرنا نہیں میرے لئے presumptuously. تو اگر میں اپنے پروگرام میں واپس جاؤ، اور میں کہتا \ N - تو (ن) \، کی راہ کے طور پر ہم جلد ہی نظر آئے گا، ہے نئی لائن حروف، چیزوں کی طرح عجیب باتیں کی نمائندگی کا نتیجہ وگرنہ درج کریں کے بٹن کو مارنے. لیکن اب کے لئے، صرف اتنا معلوم ہے کہ میں داخل کلید مار صرف ہماری کوڈ عجیب لگ رہے ہو، تو دنیا کا فیصلہ کیا، تم جانتے ہو کیا، چیزوں کو خوبصورت رکھنے کے لئے، یہ ایک ہی لائن میں رکھنا دو، صرف کا کہنا ہے کہ \ ن میں ایک نئی سطر کی نمائندگی کرتا ہے. مجھے اپنی فائل کو resave، ٹرمنل ونڈو پر واپس جانے اور a.out دوبارہ چلنے والے درج کریں. پھر بھی چھوٹی گاڑی، لیکن کیوں؟ سامعین: [اشراوی] DAVID MALAN: جی ہاں، تو میں اسے recompile کرنے کی ضرورت ہے. تو صرف ایک پروگرام مرتب کا مطلب ہے کہ ذریعہ سے تبدیل اعتراض کا کوڈ zeros اور ہیں، منبع کوڈ کے کوڈ. اب، صرف حقیقت یہ ہے کہ مجھے اس TextEdit میں محفوظ مارا ہے کوئی zeros اور ہیں ان پر صبر ہے. کیونکہ میں نے سب سے پہلے کرنے کی ضرورت ہے کہو بجنا ہے، میں کوڈ کا ان لائنوں کو تبدیل کر دیا گیا ہے، ماخذ کوڈ. آپ a.out پنرجیویت کرنے کی ضرورت ہے. کچھ نہیں ہوا محسوس ہوتا ہے، لیکن ایک کمپیوٹر میں ، تو ایک کمانڈ لائن میں بولتے ہیں، جب کچھ نہیں ہوتا ہے تو، کہ عموما کا مطلب ہے کہ سب کچھ ٹھیک ہے. بات یہ کب ہوتا ہے، اس کا مطلب تم نے گڑبڑ کر دی، عام طور پر ہے. تو اب a.out جاؤ، اور یقینا اب، میں "ہیلو "دنیا اور اب، zeros اور ہیں ان کے بارے میں کیا خیال ہے؟ ، حقیقت میں کہاں ہیں؟ ٹھیک ہے، میں ڑکیلنا واقعی بہت ارد گرد صرف طرح نہیں کر سکتے ہیں مؤثر طریقے سے. آپ کے وزٹرز کا ریکارڈ رکھا TextEdit کھول دو یہاں a.out ہے. چلو آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور اس کو کھولنے، اور اس بظاہر ہے کہ میرا پروگرام کی طرح لگتا ہے. تو میں کھول نہیں hello.c ہے، لیکن a.out. لیکن یہ اصل نہیں ہے جو میرا پروگرام واقعی ہے. ظاہر ہے، یہ حروف تہجی حروف کے کچھ قسم کی ہے. میں نہیں zeros اور ہیں دیکھتے ہیں، لیکن یہ ہے کیونکہ a.out ایک پروگرام ہے. Zeros اور ہیں - لیکن TextEdit، جیسا کہ نام سے پتہ چلتا ہے، یہ جیسا کہ ونڈوز نوٹ پیڈ، صرف ایک ٹیکسٹ ایڈیٹر ہے، تو یہ ہے zeros اور ہیں ان کے تمام بردوست اگرچہ وہ تھے، کیا ہوا؟ ASCII حروف. تو بدھ کو یاد ہے، ہم صرف اس کے ساتھ آیا نمبر، یا بٹس کے صوابدیدی کے خطوط تعریفیں، حروف اور اوقاف کی علامات اور اس طرح. تو TextEdit، کہ یہ ایک ٹیکسٹ ایڈیٹر ہے misinterpreting ہے zeros اور ہیں جو توقع کی جاتی ہے کے ان نمونوں پرنٹنگ الفاظ جیسے، "ہیلو دنیا." یہ ان کی نمائش کر رہا ہے ASCII کے طور پر ہے، اور یہی وجہ ہے کہ یہ ایک چھوٹا سا گندا لگتا ہے. اب، یہاں میں کچھ درست اشارہ ہے. اگر میں اجاگر نوٹس، اصل میں کا ایک اشارہ ہے "ہیلو، دنیا "تو کہیں کہ اس پروگرام میں ہے سزا میں نے لکھا ہے. لیکن آگے بڑھو اور اب ایک مختلف پروگرام کے ساتھ دیکھیں. یہ ایک ہم اکثر اس کا استعمال کریں گے نہیں ہے، لیکن یہ بھی ساتھ آتا ہے ایک میک اور CS50 آلات کے اندر ہو جائے گا. آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور نامی XXD پروگرام کے ساتھ کھول دو. دن میں سب سے زیادہ پروگراموں کافی cryptically نام کیا گیا ہے، اور اس رجحان جاری ہے. لیکن بی کا مطلب ہے کہ اس پروگرام کو بائنری کے طور پر تھوکنے. کیا یہ نہیں چلائیں. zeros اور ہیں کے طور پر آپ کے وزٹرز کا ریکارڈ رکھا ڈسپلے، اور اس C ہے پروگرام ہم صرف لکھا. اب، میں یہاں ایک انسان کے طور پر، میں ایمانداری کا کوئی خیال نہیں ہے جو zeros اور ہیں کے ان مختلف پیٹرن کی نمائندگی کرتے ہیں. پیچھے اگلا، دوسرا دن میں، میں، میرا کارٹون کارڈ یا جیسے کے ساتھ، اصل میں کیا ان کے مختلف نمونوں پر نظر ہے 01111000، اصل میں نمائندگی کرتے ہیں. یا برا، میں چھدرن یا تخلیق کرنے کی ضرورت ہو گی zeros اور ہیں کے ان نمونوں کی. لیکن ایمان پر اب کے لئے، تاکہ ایک CPU، انٹیل کے اندر لے ان دنوں ہمارے کمپیوٹرز کی سب سے اندر، بات جانتا ہے، zeros اور ہیں ان کو کس طرح کی تشریح ہے. اور کچھ zeros اور ہیں کو پرنٹ مطلب. کچھ zeros اور ہیں کا مطلب ہے کہ آواز کھیلتے ہیں. کچھ کے zeroes اور ہیں کا مطلب ہے کہ ایک کی بورڈ سے صارف کی ان پٹ لے. مختلف نمونوں کے تمام قسم ہے، لیکن شکر ہے ہم انسان کے طور پر، صرف عام طور پر میں پروگرامنگ کے بارے میں فکر کرنے کی ضرورت یہ کافی اعلی درجے کی ہے. اور آپ CS کی دوسری کلاس میں گہری delve اور دیکھ سکتے ہیں zeros اور ہیں ان کی طرح چیزوں کو، یا ابھی تک دیگر چیزیں اب بھی. تو اب ہم یہ تبدیل. میں بہت جلد C سے دور منتقل اور کچھ میں منتقل تھوڑا زیادہ آرام دہ اور پرسکون، اس میں تھوڑا سا زیادہ دلچسپ، ہم واپس ہمارے متحرک تصاویر اور آواز اور اس طرح حاصل کر سکتے ہیں واضح طور پر اس میں ہمیں فرار ہو گئے کافی قدیم انٹرفیس. سی تو یہ ایک ہی پروگرام اب اس میں پیش کیا جا سکتا ہے پروگرامنگ زبان قرار دیا سکریچ مندرجہ ذیل. یہ اس ہیلو دنیا میں تحریری پروگرام کے برابر ہے اس پہیلی ٹکڑا طرز زبان اسکریچ کہا جاتا. تو آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھو اور یہ بہت ہی پروگرام کو کھولنے. یہ دوبارہ سکریچ کہا جاتا ہے. یہ آزادانہ طور پر دستیاب ہے، اور یہ ایک ہی بات ہے، ہم آج شروع کر دیا. تو یہ یہاں سکریچ ہے، اور یہ چند میں ٹوٹ گیا ہے مختلف ٹکڑے ٹکڑے. بہت اوپر دائیں پر، ہم نام نہاد مرحلے ہیں، اور یقینا، یہ وہ جگہ ہے جہاں کوکیز پہلے صرف تھوڑا سا کیا. اور اس مرحلے پر چیزیں sprites، حروف، یا کہا جاتا ہے اشیاء، اداروں یا یہ سچ نہیں ہے کہ تم کس طرح ان کے بارے میں سوچتے ہیں کوئی بات، لیکن وہ پروگرام، جنگم چیزیں ہیں، اور اس صورت میں اس پروگرام ہے کہ ہمارے طالب علم نے لکھا جنجربریڈ کے ایک جوڑے کی ہے کوکیز کو، سرکلر کوکیز کے ایک جوڑے، ایک پوری چڑھانے دل eyeglasses کی ایک پوری گچرچھا ہے. اس کی وجہ سے، وہ ان میں سے ہر پروگرام کے قابل ہے انفرادی الگ الگ حروف. اب، کیا یہ ان حروف کے پروگرام کو کیا مطلب ہے؟ اچھا، مجھے آگے بڑھو اور اس کے بائیں ہاتھ کوکی پر کلک کریں اور سب سے اوپر بائیں یہاں سکرال. اب اپنی سکرین کے سب سے اوپر بائیں میں ہے سکرپٹ علاقے سے ملاقات کی. یہ ایک خالی سلیٹ کی طرح ہے، ابتدائی طور پر، جس پر میں کر سکتا ہوں پہیلی چھوڑ ٹکڑے ٹکڑے کہ صاف صاف کرتے ہیں، اور کھینچ کر لائیں بالکل وہی جو وہ کہتے ہیں. پہیلی کے ٹکڑے ٹکڑے کر کے اس اسٹیک کے سب سے اوپر پر لفظ ہے جب سبز پرچم کلک کیا ہے، اور اگر تم سے پہلے نہیں دیکھا، جس طرح سے میں اس کوکی گانا شروع پر کلک لفظی گیا تھا، ایک سبز پرچم. تو سب سے اوپر بائیں میں اس پہیلی ٹکڑا کا مطلب ہے کہ جب انسانی کلکس سبز پرچم کرنا شروع مندرجہ ذیل اشیاء. اب، کیا کوکی وہ آگے بڑھنے دیا؟ مجھے سچ میں نہیں کس طرح یہ ابھی تک کی تشریح معلوم، لیکن کوکی بظاہر اس کی نالی کو صفر مقرر کرتے ہیں، تو اس انتظار تین اور، تو یہ ایک اس گروپ کو تبدیل کر دیا، تو اس ایک پل انتظار کر رہے تھے، تو اس کو تبدیل کر دیا گیا اس کے نالی ایک واپس. اور پھر یہ اصل میں ایک مسئلے کا تھوڑا سا کی طرح لگ رہا ہے، نہیں کرنا چاہئے اس نالی سے بار بار تبدیل کرنے کے لئے جب تک وہ ہے کیا جا رہا ہے دوسری جگہوں پر تبدیل کر دیا گیا ہے، لیکن اقدامات کا یہ سلسلہ ہے کیا ہے اس مخصوص کوکی کے رویے dictating. تو اصل میں واپس سکرال کریں اور کچھ نہیں دیکھو ابھی تک تو بہت پیچیدہ ہے. ، آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور فائل، نئی اور ایک صاف سلیٹ لے آو. تو اب، میں واقعی ایک خالی سکرپٹ کے علاقے، ایک خالی مرحلے ہیں، ہمارے پہلے سے طے شدہ سپرائٹ سکریچ کے ساتھ، اور سب سے اوپر بائیں میں اپنی سکرین پر میں ان کے سب سے pallet کرتے ہیں دستیاب پہیلی ٹکڑے ٹکڑے. اور ہم نے ان چیزوں میں سے تقریبا ہے کہ بہت سے ذریعے نہیں جائیں گے کیونکہ آج ایک بار پھر، سب سے زیادہ خود وضاحتی ہیں، لیکن ہم ان کی درجہ بندی اور مماثلت کی طرف اشارہ کرنے کی کوشش کریں ان مستقبل کی زبانوں سے جو ہم گے کودو. اور اس کے سب سے اوپر بائیں یہاں پہلے جب سبز پرچم کلک ہے، تو کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے یہاں کھینچ کر لائیں، یہ تھوڑا زوم. اور اگر میں سبز پرچم پر کلک کریں، واقعی کچھ نہیں ہوتا ہے کیونکہ میں کوئی منطق کے ساتھ منسلک نہیں کیا ہے، کوئی بیان، بات کرنے کے لئے وہ سبز پرچم، تو مجھے جانا یہاں اقسام. میں کنٹرول زمرے میں ہوں. میں بجائے لگتا ہے زمرہ نیچے جا رہا ہوں، اور چیزوں کی ایک مکمل جھوبڈ ہے کہ کہنا ہے کہو، سوچو، رنگ، سوئچ کی تصویر کو تبدیل کریں. تو کیا تم ملبوسات کے ساتھ پاگل چیز کر سکتے ہیں اور آواز اور طرح. آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور صرف اتنا کہنا کہہ دو، اور اب میں کھینچ کر لائیں نوٹس اور اس پہیلی ٹکڑا چھوڑ، سٹکنی کرنا چاہتے ہو رہا ہے اسی شکل میں. تو جب میں آگے بڑھو اور اپنے ماؤس کے جاؤ، وہ تالا لگا ایک ساتھ مل کر، اب اگر میں یہاں سے جاؤ اور سبز پرچم پر کلک کریں، بلی حقیقت میں خوش کیونکہ اس کہ اندر کیا ہے کا کہنا ہے کہ یہ سفید باکس کے. ہم جلد ہی نظر آئے گا کہ یہ سفید باکس ہے کیا کہتے ہیں دلیل، یا ایک پیرامیٹر. اس کے رویے کو تبدیل کرنے کا ایک طریقہ ہے، اس معاملے میں ایک ٹکڑا پہیلی ہے، لیکن اگر میں یہ کہنا بالکل وہی جو میں نے کہا کہ چاہتے ہیں پہلے، کہو ہیلو، دنیا، میں یہاں واپس اب جا سکتے ہیں، کلک کریں کھیلتے ہیں، اور "ہیلو، دنیا" ہے جو نے کہا کہ. تو ہم لفظی اب پروگرامنگ کر رہے ہیں. یہ ہے کہ ایک پروگرام کے مجبور نہیں ہے، لیکن کم از کم یہ ایک چھوٹی سی سے زیادہ مجبور ایسی چیز ہے جس میں لگتا ہے، ہے اس طرح پہلی نظر. اور ہم سب سے زیادہ ابیوینجک بہت جلد حاصل کر سکتے ہیں کیونکہ سکریچ میں دیگر زبانوں کی طرح وہاں سب بیانات کی قسم، یا نہ صرف پرنٹنگ کچھ کہو، لیکن آپ کو انتظار کی طرح کام کرتے ہیں، جیسا کہ ہم نے ابھی دیکھا کے ساتھ کر سکتے ہیں کوکی، اور میں سے کچھ بڑی تعداد ہے. تم سکریچ کے ماحول میں آواز کو ادا کر سکتے ہیں صرف کی طرح آپ کو ایک عام کمپیوٹر پروگرام کھیل آواز میں کر سکتے ہیں. آپ کو چیک کرنے کے لیے بولین اظہار کہا جاتا ہے کر سکتے ہیں. تو اب، ہمارے ٹولکٹ کچھ اصطلاحات کو شامل کرنے کے لئے شروع کر دیں جو اصل میں مثال کے طور پر کہ یوسف اور میں نے سے متعلق یہاں جرابوں پر جرابيں کے ساتھ. تو بیانات صرف یہ حقیقت کے بیانات ہیں. یہ کرتے ہیں. سپرائٹ کے لئے ہدایات، یا آپ کے وزٹرز کا ریکارڈ رکھا انسان، کچھ تو کرنا ہے. ایک بولین اظہار کچھ ہے جو ایک قیمت ہے، ہے نام نہاد حقیقت قدر ہے کہ یا تو ایک صفر یا ایک غلط یا سچ کو آن یا آف، نہیں، یا جی ہاں. واقعی کیا کہ آپ کس طرح اس کے بارے میں سوچتے ہیں کوئی فرق نہیں پڑتا، لیکن یہ ایک بائنری ریاست. نیٹ بدھ کی ویڈیو میں بات چیت کی دو، دونوں مختلف چیزیں ہیں. تو شروع میں، بولین اظہار نظر ہو ان نیلے اشیاء کی طرح، اور اس صورت میں سوال نشان کا مطلب یہ ہے کہ آپ سے ایک سوال پوچھ رہے ہو. کیا بلی یا سپرائٹ، ماؤس پوائنٹر چھونے؟ تو یہ صرف ایک سکریچ بلاک ہے جو ہو رہا ہے اس کی ایک مثال ہے ہمیں ہاں یا نہیں چیک کرنے کے لیے کی اجازت چھونے ماؤس ہے سکرین پر سپرائٹ؟ اور یہ مفید ہو گا اگر آپ اصل چیز پر کرنا چاہتے ہیں کر سکتے ہیں اپنے ماؤس کے ساتھ. بولین اظہار کے علاوہ میں، ہم چیزیں ہیں جیسے ماؤس نیچے ہے، لہذا آپ کو اس طرح کی کا پتہ لگانے کے کر سکتے ہیں ساتھ ساتھ سوال. ہم ریاضی اگر آپ واقعی چاہتے ہیں، اور کر سکتے ہیں وہاں ہے صرف پاک کے مقابلے میں اس کے لئے واقعی مجبور استعمال ہم کے طور پر نظر آئے گا، ریاضی،. چھدم randomness اور آپ کے پروگرام کرنے لگتا ہے ظاہر یا کچھ بظاہر بے ترتیب اقدار کی بنیاد پر مختلف طریقے سے برتاؤ، اور پھر ہم طرح بولین اظہار کی طرح چیزیں ہیں. تو اگر آپ اصل میں دو قیمتوں کو چیک کرنے کے لیے کرنا چاہتے ہیں، ہم دیکھیں گے میں اسکریچ ہے کہ اگر ہم یہ اصل امتحان کر سکتے ہیں سچ ہے اور یہ سچ ہے. مثال کے طور پر، میں میری جرابوں پر جرابيں صورت میں ہے، ہو سکتا ہے آخر سوال اگر بائیں جراب پر ہے اور حق موزا ہے چھوڑ. تم سب کو دن کے لئے کیا کر رہے ہیں، تاکہ ایک ہو گا اس کا موقع. تو آگے بڑھیں اور ایک ساتھ مل کر ان میں سے کچھ ٹکڑے کرنے کی کوشش کریں اور مثال کے طور پر کے ایک جوڑے میں زیادہ جانا اس سے مجبور. تو آپ کے وزٹرز کا ریکارڈ رکھا آگے یہاں جاؤ اور مثالوں میں سے کچھ کھول جو کہ کورس کی ویب سائٹ پر ہمیشہ ساتھ ساتھ، اور گا اپ hello2 کھول. تو یہاں hello2 میں، ہم نے ایک پروگرام ہے کہ کچھ کر رہی ہے چیزیں، لیکن یہ نہیں کر رہا ہے کے طور پر ہم کر سکتے ہیں کے طور پر مؤثر طریقے سے. تو یہ کہتے ہیں کہ ایک کے لئے "ہیلو، دنیا" اور پھر انتظار ایک پل کے لئے. اور پھر اسے دوبارہ کرتا ہے، اور پھر اسے دوبارہ کرتا ہے. تو اگر میں سبز پرچم پر کلک کریں، سکریچ کا کہنا ہے کہ "ہیلو دنیا ہے. ہیلو، دنیا. ہیلو، دنیا "اور یہ ظاہر ہے کے امیدوار ہے اب بہتری. معمولی بہتری کیا ہے، امید ہے کہ، ہم یہ کر سکتے ہیں اب اگر سکریچ تصور کی حمایت کرتا ہے؟ لوپ میں سے کچھ قسم کی ہے. کچھ قسم کی تکرار کی، اب، اچھا ہو گا، تو مجھے اصل میں یہ کرنے کی کوشش کریں. مجھے اصل میں جاؤ اور اس میں منتقل کریں. تو نوٹس بلاکس کے طور پر آسانی سے جدا ہے جیسا کہ آپ کا اضافہ کر سکتے ہیں کر سکتے ہیں ان سے منسلک. کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے کنٹرول میں جانا، یہاں نیچے سکرال، یقینا، اور دو اس پہیلی کا ٹکڑا ہے، اور ہمیشہ کے لیے دہرائیں اور ہمیشہ اگر تو وہاں looping تشکیل کا اظہار کرنے کے طریقوں کی ایک بڑی تعداد ہے سکریچ. جسے میں شاید یہاں کرنا چاہتے ہیں ہمیشہ کے لیے نہیں ہے کیونکہ صرف میں اس سے تین گنا ہونے کے لئے چاہتے ہیں، لیکن شاید دہرائیں. تو مجھے کھینچ کر لائیں یہاں دہرائیں، اور اسے ھیںچ کر رکھ دیں، اور اب، "ہیلو، دنیا" تین علیحدہ ٹائمز کی بجائے کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے یہاں اس پہیلی کا ٹکڑا کھینچ کر لائیں. اور پروگرام اگرچہ یہ فٹ نہیں لگ رہا ہے، ہوشیار ہے احساس اسے بھرنے اضافہ ہو گا کافی ہے، تو یہ ہے شکلیں بات ہے کہ اور مکمل سائز نہیں ہے. آپ کے وزٹرز کا ریکارڈ رکھا تین سے تکرار کو تبدیل کریں، اور اب مجھے جانے دو آگے اور وہاں ایک دوسری کے ساتھ ساتھ انتظار کھینچ کر لائیں. اس کے ساتھ ساتھ میں سنیپ جا رہا ہے، اور تو اب میں کھینچ کر لائیں جا رہا ہوں یہاں اور یہ لوگ ان کے پاس سے پھینک دے کیونکہ میں ان کی ضرورت نہیں ہے. مجھے باہر زوم اور سبز پرچم اب کلک کریں، اور ہم ایک ہی پروگرام ہے لیکن، جیسا کہ میں نے پہلے بہتر پیش گوئی کی کیونکہ آپ تصور کر سکتے ہیں ڈیزائن برے اس پروگرام کو کس طرح حاصل، یقینی طور پر خوبصورت، اگر آپ تھا کاپی اور چسپاں، کاپی اور چسپاں شروع، یا گھسیٹنے اور ایک ہی خوفناک چیزوں گر بار بار. اب، صرف سکرین پر سامان کہہ، پرنٹنگ سکرین، واقعی اس دلچسپ سب نہیں ہم کو کھولنے ایک تیسری متنوع یہاں. اور اب، آپ کے طور پر نظر آئے گا، اس پریشان تیزی سے ملے گی - [میانو] DAVID MALAN: - لیکن یہ بھی پیارا کی طرح ہے. [میانو] DAVID MALAN: ٹھیک ہے، تو بہتر ہے، اور ہم یقینی طور پر استعمال کر سکتے ہیں کہ یہ ایک looping میں chunking تک کی اسی منتقلی ساخت، دو لیکن ابھی بھی زیادہ دلچسپ بنانے کے. آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور چوتھے بادبانی یہاں کھول دو، میں کہاں چیزوں کو مزید ایک قدم لے لو. تو اس کے مطابق، مورھ اگرچہ اس سے پہلے ہے نظر، کیا اس پروگرام کے تحت کیا جا رہا ہے؟ یہ میانو ایک بار جا رہا ہے. کیوں؟ ٹھیک ہے، میں سے ایک ہے، جہاں تک میں جانتا ہوں، ہمیشہ دو سے کم. randomness کا کوئی تصور ہے. میں لفظی مشکل کوڈت ایک اور دو ہے، لیکن یہ ایک ہے مثال کے طور پر اب اصل کی ایک بولین اظہار کا استعمال کرتے ہوئے. زیادہ پسند جوزف اس کے pseudocode میں کیا، پوٹ کاری IF آپ کو تلاش کے ملاپ کے موزوں اورجرابوں اس کے بعد مندرجہ ذیل کام کریں، ہم یہاں ہیں کا اظہار اگر ایک سے بھی کم ہو تو پھر دو ہے - اور ہم اس حقیقت میں بھی پوٹ کاری کے تھوڑا سا ہے، جامنی رنگ تھوڑا جہاں صحیح پوٹ دار ہے - تو پھر تم آواز میانو ادا کرنے جا رہے ہیں. اب، اس صورت میں ہے کہ ایک ہمیشہ سے کم دو ہے، لہذا اس ایک شرط کی بربادی کی طرح ہے. لیکن ہم قابل ہو جائے، ہم کے طور پر نظر آئے گا، دوسری چیزوں میں ہونا گے یہ جگہ دار جہاں ایک اور دو ہیں. تو اب ان کئی پانچ مثال کو ترقی hellos اور کیا اس پروگرام کے تحت کیا جا رہا ہے کو دیکھو. تو اب، ایک انگریزی جملے میں، یہ کیسا ہے پروگرام برتاؤ ہے؟ سامعین: آدھا وقت Meows. DAVID MALAN: وقت کی میانو نصف، تو اس کا ایک طریقہ ہے ایک بہت آسان خیال پہنچایا ہے. اگرچہ ہم کچھ اسماتا کا استعمال کرتے ہوئے یہاں ہو کچھ تعداد میں، یہ واقعی صرف ایک programmatical ہے طریقہ اگر سکے سر آتا کہنے کی ایک مختصر انداز، جانے، آگے اور میانو. یا اس کے برعکس، اگر سکے تک دم آتا ہے، نہیں میانو ہے. اور اس صورت میں، ہم کہ کس طرح کا اظہار کرتے ہیں؟ کہ اگر ہم نے 1 سے 10 تک ایک بے ترتیب تعداد کو منتخب کریں گے، اور تعداد 6 سے کم ہے، آگے جاؤ اور میانو. اور یہ یہاں کس طرح مل گیا؟ ٹھیک ہے پھر، صرف گھسیٹنے اور گر اور نوٹس چیزیں جگہ میں latches. تو اب چلو دیکھتے ہیں اگر یہ randomness کام. آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور سبز پرچم پر کلک کریں. [میانو] DAVID MALAN: ٹھیک ہے. [میانو] DAVID MALAN: ٹھیک ہے. ٹھیک ہے، اچھا، تو ہم نے سر، سر، دموں مؤثر طریقے سے حاصل کی. دم. [میانو] DAVID MALAN: سربراہان. [میانو] DAVID MALAN: بہترین. یہ ہمیشہ عجیب ہے جب صرف اعدادوشمار آپ کو ایک بری چلائیں، اور یہ تمام سر ہے، اور پروگرام اصل میں نہیں ہے کام آپ کے طور پر امید تھا. لیکن اس وقت، یہ کام کیا ہے، اور ہم ہیں لگ رہے ہو، اگر ہم نے کیا بار یہ ایک لامحدود تعداد، 50 فیصد مشکلات. اب پھر ہے کہ تمام نہیں دلچسپ، صرف بلیوں بنانے میانو، تو چلو دیکھتے ہیں، اگر ہم مزید یہ تھوڑا سا کو آگے بڑھانے نہیں کر سکتے ہیں یہاں چھ ورژن میں. تو اب، ہم واقعی پریشان ورژن ہے - [ہر چند سیکنڈ MEOWS] DAVID MALAN: - اور یہ ہے جو جانا جاتا ہے، عام طور پر ایک کے طور پر، لامحدود لوپ. اس معاملے میں تو لامحدود لوپ برا لگتا ہے. یہ یقینی طور پر بری آواز شروع کرنے جا رہا ہے، اور ابھی تک لامحدود loops ہمیشہ برا نہیں. تناظر آپ کمپیوٹر پروگرام ہے جہاں آپ چاہتے ہیں میں سوچ سکتے ہیں اصل میں ایک لامحدود لوپ کرنا چاہتے ہیں؟ جی ہاں؟ سامعین: جب آپ ایک شرط چیک کرنے کے لیے کرنا چاہتے ہیں. DAVID MALAN: ٹھیک ہے، جب آپ کو ایک کی حالت کی جانچ پڑتال رکھنے کے لئے چاہتے ہیں؟ کس طرح؟ سامعین: [اشراوی] DAVID MALAN: ٹھیک ہے، اچھا ہے، کچھ اگر ایسا ہے تو آپ کو کچھ پروگرام تھا، گھر آٹومیشن بات، جہاں آپ مسلسل کرنا چاہتے ہیں کی طرح مانیٹر کچھ معاملہ ہے. پر لائٹس ہیں؟ پر لائٹس ہیں کیونکہ ہو سکتا ہے کہ آپ ایک ٹائمر ہے، اور تم انہیں جانے کے لئے چاہتے ہیں، تو آپ کو کچھ کرنے کی ضرورت ہو سکتی ہے بار بار. اور حقیقت میں، ٹائمر کی بات، تم میں سے کوئی ہے جو آپ کے کمپیوٹر یا ڈیجیٹل گھڑیاں گھڑیوں، کہ ایک لامحدود لوپ. وقت کو اپ ڈیٹ کرنے کے کیونکہ یہ مسلسل ہے جانچ پڑتال اور چیکنگ اور جانچ پڑتال کا وقت بدل گیا ہے، اور اگر ایسا ہے تو، اوہ، میرے خدا. گھڑی آخر میں تبدیل کر دیا گیا ہے. یہ آپ کو اس قدر ظاہر کی ضرورت ہے. تو جبکہ زیادہ تر وقت لامحدود loops کی ایک غلطی ہیں، یا کم از کم ایک غریب ڈیزائن فیصلہ ہے، کبھی کبھی وہ کرتے ان کی قدر ہے. ٹھیک ہے، hello7 مزید یہاں کو آگے بڑھانے کی ہیں. تو اب پروگرام تھوڑا زیادہ باہم متعامل ملے گا. کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے یہاں زوم، اور پھر، ہے جو اچھی بات ہے سکریچ. اور ہم نے اسے استعمال کرتے ہوئے واضح، سکریچ، آج میں کریں گے اگلے ہفتے مسئلہ مقرر کیا ہے. لیکن پیر کو، ہم اس پروگرام میں C. میں یہاں کودو، یہ کرتا ہے، ہمیشہ کے لئے، مندرجہ ذیل. اگر ماؤس پوائنٹر چھونے - اب کون ہے یہاں سیاق و سباق ہے؟ ٹھیک ہے، نوٹس اور یہ کہ جنہوں نے کے نیچے دیے گئے منتخب یہاں صحیح بلی ہے، ایک، سپرائٹ، تو یہ سکرپٹ، یہ پروگرام، اس پر خاص طور پر لاگو ہوتا ہے. تو اگر ہے کہ بلی ماؤس پوائنٹر کو چھو رہا ہے، تو ہو رہا ہے اس ذیل میں ادا کرتے ہیں اور دو اور انتظار، اور پھر اشتھاراتی nauseum کو دوبارہ. تو آگے بڑھو اور کھیل کو مارا. کچھ بھی نہیں ہوتا ہے، لیکن اگر میں پالتو جانوروں کی چاہتے ہیں اب بلی، میں صرف کر سکتے ہیں. [میانو] DAVID MALAN: پیارا. [میانو] DAVID MALAN: ٹھیک ہے، کم پریشان ہے، لیکن بھی سست ہو جاتا ہے، تو پر منتقل کریں اور اگر ہم نہیں انجیکشن کر سکتے ہیں دیکھ ایک چھوٹی سی منطق ہے. وہ سات مثال کے طور پر تھا. یہاں آٹھ مثال میں، ہم جا رہے ہیں ایک دوسری صورت میں شرط کو متعارف کرانے. راستے میں ایک لغوی کانٹا کی طرح تو زیادہ ہے، جس میں آپ جا سکتے ہیں بائیں یا تم صحیح جا سکتے ہیں، ایک پروگرامنگ میں ایک شرط زبان سکریچ کی طرح، یا ہم C نظر آئے گا، آپ کو کرنے کی اجازت کر سکتے ہیں اور IF تعمیر کے ذریعے ایک سمت یا کسی دوسرے میں جانا. تو بہت لفظی، اگر ماؤس پوائنٹر چھونے، کچھ آواز ادا کرے گا، اور اسے دوسرے کو ادا کرنے جا رہا ہے آواز، میانو. اب، اگر تم ان آواز کے نام سے اندازہ کر سکتے ہیں، آپ یہ کر سکتے ہیں شاید اندازہ لگا کہ اس پروگرام جادو کا مقصد کا خیال. یہ بلی خوشی meowing ہے. [میانو] DAVID MALAN: خوشی، لیکن نہیں کرتا بہت چھوا جائے پسند. [ROARS] DAVID MALAN: تو اب ہم نے ایک بلی ہے جو تم پر چللانا گا ہے. ٹھیک ہے، ٹھیک ہے، یہاں بلیوں کے ساتھ ایک آخری مثال کے طور پر، اور کی کھلی ورژن اس کے یہاں نو دو. تو اب، ہم اگلے سب سے زیادہ پریشان کن آواز ہے کہ میں کر سکتا ہوں ہے ، تو ہم نے ایک والرس یا سمندر یہاں شیر کون جا رہا ہے ہے مندرجہ ذیل کام کریں. [مہر چھال] DAVID MALAN: ٹھیک ہے، تو اس پر جب تک آپ کو سمجھ گا کہ کس طرح اس پروگرام کے تحت کام کرتا ہے. اس وقت تو اس جانور کو دو سکرپٹ ہے، اور کیا ہے یہاں دلچسپ امر ہے کہ ان کی سکرپٹ پر پھانسی جا رہے ہیں متوازی طور پر. تو کیونکہ وہ ایک سبز پرچم کے ساتھ دونوں آغاز کلک کیا ہے، یہ اس طرح کی طرح ہے، اور دونوں پروگراموں اسے چلنا شروع ایک بار بھی اگر وہ ہمیشہ کے لئے looping رہے ہیں. تو سب سے اوپر سکرپٹ میں، میں کوئی منطق ہے. کیا خصوصیات جو وہاں پر فراہم کرتا ہے؟ [مہر چھال] سامعین: [اشراوی] DAVID MALAN: اگر یہ کیا ہے؟ [مہر چھال] سامعین: اگر صفر کو خاموش کردیا، اسے کھیلتے رہنا جا رہا ہے لگ رہی ہو. [مہر چھال] DAVID MALAN: ٹھیک ہے، اچھا ہے. اگر ایسا ہے تو خاموش کردیا گیا ہے، جو کچھ بھی ہے، یہ سنتری کا بات صفر ہے، تو سمندر شیر کی آواز کو ادا کرتے ہیں اور لگتا ہے، "اوہ ہیلو، انھوں نے کہا کہ دو سیکنڈ کے لئے. اب مجھے پتہ ہے، نہیں کیا خاموش کردیا گیا ہے، لیکن صفر کو conjures جھوٹے یا آف کرنے کے خیال کی. ، اگر ایسا ہے تو خاموش کردہ باطل ہے، ایسا نہیں اگر خاموش کردیا گیا آواز کھیلتے رہنا. ٹھیک ہے، ٹھیک ہے، ہم نے اس بات کو کس طرح غیر فعال کروں؟ ٹھیک ہے، دوسری اسکرپٹ پر وہاں نیچے دیکھو. دوسری اسکرپٹ کا کہنا ہے کہ صفر کو خاموش کردیا مقرر. تو نوٹس یہ بھی سنتری کا، کیا سکریچ رنگ یہ ہے ایک ہی چھایا میں بلاکس اگر اس طرح کے تارکک سے متعلق ہے. تو خاموش کردیا گیا اوپر سنتری کا تھا، اس لئے خاموش کردیا گیا ہے یہاں نیچے سنتری کا بلاک میں ذکر کیا. لیکن یہ ایک متغیر کام ہے، میں تو پسند بیزگنیت، آپ X اور Y اور Z ہے، پروگرامنگ میں آپ متغیر، لیکن وہ عام طور پر ہو - ایک لمحے اور اعداد و شمار کو کس طرح کے لئے لشکر کو روکنے اس بونک کو روکنے کے لئے. میں اس کو کس طرح کرتے ہیں؟ [مہر چھال] DAVID MALAN: ٹھیک ہے. یہ روک دیا ہے. ٹھیک ہے. تو کے طور پر الجبرا میں آپ کو متغیر X، Y، اور Z ہیں، لیکن پروگرامنگ، X، Y، اور Z کی طرح متغیر ہونے عام طور پر ہے وسلم frowned کیونکہ وہ تمام ابیوینجک نہیں ہو. ان کا کوئی semantic معنی جو کچھ ہے، تو سب سے زیادہ میں پروگرامنگ زبانوں، متغیر مکمل کر سکتے ہیں طور پر نام یا الفاظ یا جملے، خاموش کردہ پسند ہے، کا کہنا ہے کہ کہ وہ کیا کرتے ہیں. تو یہ سکرپٹ بھی ہمیشہ کے لئے سن، کیا گیا تھا اور کہا گیا تھا کہ اگر چابی، کی بورڈ کے بٹن کو خلائی، ہے پر زور دیا، سوالیہ نشان ہے. تو وہاں ایک بولین اظہار ہے جو ہے کے ساتھ ایک شرط ہے ، ایک سوال کے جواب میں یا تو حقیقت یا جھوٹ کا جواب اس کے بعد میں نے اس کے اندر ہے اگر خلائی کلید پر زور دیا ہے اور اگر خاموش کردیا صفر ہے، ایک خاموش کردیا مقرر کریں، اور صفر خاموش کردیا قائم. راستے میں تو یہ دوسرے کانٹا، اور نوٹس کس طرح میں نے اندر در اندر دو اگر حالات کی جانچ پڑتال کا ایک طریقہ ہے خلائی بار زور دیا ہے کیونکہ اگر ایسا ہے تو، میں بھی اس جانا چاہتے ہیں طرح یا اس طرح. اور میں کس طرح کی آواز کو بند کی قدر وندا کرتے ہیں؟ میں چیک کرنے کے لیے ہے صفر ہے؟ اگر ایسا ہے تو، یہ ایک، اور یہ صفر لہذا ٹاگل کرنے کے اس کے دو ریاستوں. ٹھیک ہے، تو پھر ہم میں سے کچھ ان بنیادی تشکیل. ہم بولین اظہار ہے، اور احساس بھی، یہ ہیں تمام مجریچت نہیں ہے. اصل میں، یہاں ہارورڈ کورس CS50 کی جلد اسکرین شاٹ ہے خریداری، آلہ، اور وہاں کسی بھی ویب سائٹ ہے جو جانچپیٹی ہے اور ڈراپ فراز واقعی، یہ سب وقت ہے، کیا گیا ہے کا استعمال کرتے ہوئے بولین اظہار. یہاں اس صورت میں، اگر آپ کو دیے گئے چیک باکس کو اگلے پر کلک کریں یا اس سے زیادہ 4.5 کے برابر ہے، یا ایک ہی ساتھ کورس اساتذہ، آپ کو ایک بولین اظہار کی وضاحت کر رہے ہیں. آپ کے وزٹرز کا ریکارڈ رکھا کورس ہے کہ جس کے لئے اظہار سچ ہے دکھائیں. یا دائیں، کورس میں سے متصادم نہیں ہوتا ہے لے رہا ہے، اگر اس کی جانچ پڑتال کی ہے، تو جی ہاں، آپ کو چیک کرنے کے لیے چاہتے ہیں شرط ہے، تو آپ اسے نظر انداز کرنا چاہتے ہیں. تو بولین اظہار کے ارد گرد تمام طرح کی ہیں، لیکن جب ہم ان حالات میں ڈال دیا، چاہے حالات IF IF ELSEs، یا ہم گہرے بھی انکرن کر سکتے ہیں سطح، اور اگر کچھ IF - تاکہ ایک تہرا ریاست کی طرح ہے. آپ کو اس طرح یا اس طرح یا اس طرح کر سکتے ہیں. ہم nesting چیزیں رکھنے کے لئے مختلف سمتوں میں جانے کے لئے کر سکتے ہیں. تو سکریچ ان loops کو ہمیشہ کی طرح ہے،. یہ 10 مکرر کی طرح ان کی خصوصیات میں کچھ ہے بار محدود تعداد. اب ہم صلاحیت متغیر مقرر ہے، اس معاملے میں بہت میں اعلان کیا ہے، مثال کے طور پر، متغیر نام نہاد جرابوں پر جرابيں ہے. میں 0 کو initialized ہے، اور یہ کہ ایک سمت ہے ہم نے یوسف کے ساتھ لیا جا سکتا ہے یہاں ہو سکتا ہے جس کے تحت میں میں کتنے موزوں اورجرابوں پر نگاہ رکھنے اور ختم پروگرام جب کہ متغیر کی قیمت 2 ہے. یہ generalizing کی طرح کا ایک اور طریقہ ہو گا کہ مسئلہ ہے اور کچھ کر بار بار. چلو، آگے بڑھو اور اب ایک جوڑے کی نئی چیزیں متعارف کرانے. تو پہلے programing تجربے کے ساتھ تم میں سے ان لوگوں کو کریں گے پتہ چلا ہے کہ زبانوں کا ایک بہت arrays، یا ویکٹر یا فہرستوں، اور بیشک، سکریچ کچھ اس طرح ہے، بھی ہے. تو دیکھتے اگر ہم چیزیں اگلے سطح پر نہیں لے سکتے ہیں. اگر میں ان پہیلی کے ٹکڑے ٹکڑے کرنے کے ساتھ کرنے کی صلاحیت، اب، ہے ایک متغیر ایک لفظ یا ایک نمبر کی طرح کچھ، شامل، میں کر سکتا ہوں چیزیں جمع کرنے کے لئے شروع. اور یہ اصل میں کھیل کی طرح چیزوں کے لئے خوبصورت مطابق ہے، کھیل جہاں آپ کے ارد گرد چلنے کی طرح ہیں کردار ادا کچھ کلپنا کی دنیا کی چیزوں کو جمع، چیزیں اٹھا، پوائنٹس حاصل ہے، یا پسند. آپ کو انوینٹری کے کسی قسم کے ٹریک رکھنے کے لئے چاہتے ہیں، اور ہو سکتا ہے بیشک وہ ہے جو ہمارے سابق طالب علموں کی ایک کے ساتھ کیا کچھ بلایا Fruitcraft آرپیجی ہے. تو آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور اس بات کو یہاں کھولنے، اور Fruitcraft، ہم سب سے اوپر اس دنیا ہے. تو آپ کے وزٹرز کا ریکارڈ رکھا آگے بڑھیں اور سبز پرچم پر کلک کریں. سب سے اوپر بائیں میں نوٹس انوینٹری کے کچھ قسم کی ہے. یہ جو ہم ایک صف کو فون کریں یا گے کے طور پر سکریچ میں لاگو کیا گیا ہے ایک فہرست، اور اب ہم اس چھوٹی سی حرکت پذیری ہے. تو جیسا کہ ہم نے اس کوکی محبت کی کہانی کے ساتھ پہلے شروع کر دیا، اور پھر ہم بلیوں اور سمندر شیروں سے پیش قدمی کی، اب ہم کر سکتے ہیں چیزیں جو بھی زیادہ انٹرایکٹو ہیں. اور اس چھوٹی سی نیلے آدمی ہے، میں اس کے ارد گرد منتقل کرنے کے لئے شروع کر سکتے ہیں چھوٹا سا گھر یہاں. تو ایسا لگتا ہے جیسے اس نے ایک وہاں سے نکلنے کی ہے نیچے یہاں ہے، میں استعمال کر رہا ہوں تیر کی چابیاں، اوپر، نیچے، حق چھوڑ دیا. اور اب میں باہر ہوں، اس لئے ہے کہ میں یہاں کیا مل گیا ہے. اورینج کی طرح لگ رہا ہے، اور یقینا، جیسے ہی مجھے چھو اورینج، میری انوینٹری میں plopped ہو جاتا ہے. اگر میں چیری جاتے یہاں، اب میرے پاس کچھ ہے میرے انوینٹری میں اور. اور یہ اچھا اور خوبصورت ہے، لیکن اس کے بارے میں سوچنا ہے کہ کس طرح، اب، اس لاگو. ٹھیک ہے، ہم اس اصول کی ایک فہرست کے ہیں، اور یہ کہ بظاہر ایک ہے پہیلی ٹکڑا ہے کہ آپ کو صرف یہ کہنا کہ آپ کیا کرنا چاہتے ہیں اس میں شامل کریں، شامل سنتری، چیری شامل کریں. اب، کیا یہ چھوٹا نیلے آدمی کر رہا ہے؟ ٹھیک ہے، وہ ایک سپرائٹ ہے. اور شاید، اورینج اور چیری - وہ اپنے آپ کو علیحدہ sprites تھے. اور بولین اظہار کے حالات، کا استعمال کرتے ہوئے طالب علم شاید اگر نیلے آدمی ہے کا اظہار کرنے کے قابل چھونے چیری تو اس لفظ چیری کا اضافہ انوینٹری، اور پھر بھی چیری سپرائٹ چھپاو. تو ہڈ کے نیچے، شاید اب بھی چیری ہے وہاں سپرائٹ. ہم نے صرف یہ کہا ہے مؤثر طریقے سے پوشیدہ ہو. اب، اگر میں یہاں چل رہو، ہم یہ بھی کر سکتے ہیں proximal بات، میں کہاں اور سائن پڑھ سکتے ہیں. تو اگر نیلے رنگ کے آدمی علامت کو چھونے، ہم یہ کہنے کا بلاک کر سکتے ہیں ویسے ہی جیسے بلی الفاظ میں ہم سے بات کی، ہیلو، پہلے، ہے " کچھ پھل ہے؟ پھل جگہ پر لانے کے لئے "ٹھیک ہے، تو اب بظاہر، میں میری ہدایات ہے. میں یہاں پھل جگہ پر جانا، خود لائن کر سکتے ہیں دروازے کے ساتھ. اب، میں یہاں ہوں. میں انسان کو کاؤنٹر پر جا سکتے ہیں. انہوں نے کا پتہ لگاتا ہے کہ میں اس کے قریب ہوں، تو اس کا نہیں ہے بہت identically چھونے، اور میں نے کھیل جیت لیا ہے. تو وہاں ہم Fruitcraft آرپیجی ہے. تو ہم اس سے بھی زیادہ اعلی درجے کی باتیں کر سکتے ہیں. ہم آواز شامل کر سکتے ہیں. ہم چھدم randomness شامل کر سکتے ہیں. ہم پیچیدگی کا اضافہ کر سکتے ہیں. مجھے آگے چلے، اور بجائے اس خود کر مجھے تم سے زیادہ بہتر گذارشات میں سے ایک ظاہر گزشتہ سال ہم نے ایک خاص نام بلیک کسی سے ملا. ہم رضاکار ایک ہے کر سکتے ہیں جو آرام دہ اور پرسکون پر دکھائے کیمرے اور ایک کھیل کھیلنے کے لئے ہے؟ کے بارے میں وہاں کیسے؟ پر چلو. تو ٹھیک ہے، کھیل ہے کہ آپ نے ابھی نادانستہ طور پر ہے کھیلنے کے لئے رضاکارانہ طور پر - [اپلاز] DAVID MALAN: - پرانے سے کچھ کہا جاتا ہے "Frogger." آپ کا نام کیا ہے؟ RENDA: Renda. DAVID MALAN: Redna؟ RENDA: ب کے ساتھ Brenda کی طرح ہے. DAVID MALAN: ٹھیک ہے، Renda. ڈیوڈ. آپ سے مل کر اچھا لگا. تو ہم یہاں "Frogger،" اور اگر حجم میں اضافہ ہو سکتا تھوڑا سا، تم اس چھوٹے ہیں نیچے سبز میڑک. آپ استعمال چھوڑ دیا، ابھی، اور، کر سکتے ہیں اور اپنے مقاصد کے لئے ہے سڑک پار، دریا عبور کرتے ہیں اور للی پیڈ چھو سب سے اوپر. او. ایک اور ٹی - پھر سے کریں، ٹھیک ہے؟ دو ہٹ سٹاپ. کوئی نہیں دیکھا. [اپلاز] [اپلاز] DAVID MALAN: جی ہاں. بہت اچھا کام کیا ہے. بہت اچھا، آپ کا شکریہ. تاکہ Frogger تھا. اب جب کہ آپ کو معلوم ہے کہ آپ نے میں نے اپنے آپ کو ایک مختلف کے لئے ایک رضاکار ملا کھیل ایک اور طالب علم کی طرف سے پیش ہے. آپ پر آنا چاہتے ہیں؟ آپ کا نام کیا ہے؟ رچرڈ: رچرڈ. DAVID MALAN: رچرڈ. ٹھیک ہے، رچرڈ، اپ پر آئے. [اپلاز] DAVID MALAN: تم نے کچھ وہ آواز گے جلد ہی واقف ہے، تو یہاں آپ کے ہدایات ہیں. تو ایک لمحے میں، کچھ پہیلی ٹکڑے ٹکڑے سکرال کرنے جا رہے ہیں سکرین ہے کہ یا تو چھوڑ لگ رہے ہیں یا حق یا نیچے. آپ کو اس طرح کے میں تیر کی چابیاں مارنے کی ضرورت کے لئے جا رہے ہیں کہ یہ ان پہیلی کے ساتھ پرت ٹکڑوں سے میل سب سے اوپر جگہ دار. تو جب آپ کو ایک بائیں تیر دیکھ، اور بائيں جانب سے یہ لائنیں تیر، بائیں تیر مارا. آپ شروع کر سکتے ہیں. [MUSIC - "مضبوط" KAYNE WEST] DAVID MALAN: تعریف کی ٹھیک ہے، رچرڈ کے لئے بڑا دور ہے. [اپلاز] DAVID MALAN: بہت اچھا کیا. آپ کا شکریہ. [اپلاز] DAVID MALAN: تو مزہ اور، بظاہر، کی طرح کیونکہ یہ کچھ پر عملدرآمد ہو سکتا ہے دھمکی اس کے طور پر بظاہر بہتر احساس ہوتا ہے کہ طالب علم نے مقرر نہیں اور یہ سب ایک بار میں لکھ. بلکہ، آپ نیچے بظاہر پیچیدہ مسئلہ کو توڑ کر سکتے ہیں کے طور پر بہت چھوٹے ٹکڑوں میں اس، اور یہ بھی ہے، ایک موضوع کے طور پر کی جا رہی ہے. سب سے بری چیز ہے جو آپ کو کسی بھی سب سے زیادہ میں ایک پروگرام لکھنے میں کیا کر سکتے ہیں زبان بیٹھ، بہت حوصلہ افزائی ہو جاؤ، لکھنے پوری چیز کو، اور پھر صرف یہ امید کرتا ہوں کہ اس کی طرف سے کام کرتا ہے وقت آپ لکھ ختم کر رہے ہیں. بلکہ پروگرامنگ کے عمل عام طور پر کرنا چاہئے بہت جان بوجھ کر، بہت، جس سے صرف آپ تکراری کرو، ٹکڑے ٹکڑے کاٹنے سائز کے لئے بہت چھوٹے اقدامات مقرر کیا تم نے کاٹ، اور تاکہ آپ کو ان وویک ہے کرنا چاہتے ہیں چیک، چھوٹے سنگ میل آپ کو مل سکتے ہیں. اور پھر آپ ان میں سے سب سے اوپر پر زیادہ سے زیادہ بنانے کے لئے کی تعمیر بہتر ابھی تک چیزیں. تو مثال کے طور پر، ہم کیسے جا سکتا ہے اس طرح ایک کھیل کو لاگو کرنے؟ ٹھیک ہے، واضح طور سے، میں نے ابھی تک ضرور شروع ہو جائے گی ایک وقت میں ایک چابی کی حمایت. چلو صرف بائیں تیر کی حمایت پر عمل در آمد کی. طالب علم تو فوٹوشاپ میں کسی نہ کسی طرح پیدا کرنے تھے، یا خود کو سکریچ گرافیکل ایڈیٹر، ایک کا استعمال کرتے ہوئے تیر چابی ہے جو سب سے اوپر کی طرح لگ رہا ہے وہاں چھوڑ دیا، صرف سرمئی پلیس ہولڈر. اس کے بعد طالب علم نے یہ اعداد و شمار X Y، سمنوی تھا رکھ، جہاں یہ ونڈو میں ڈال. 0 0، یہاں ہے، لہذا آپ کو باہر شمار ہے پکسلز، یا نقطہ، اس تیر سے آفسیٹ کرنے کے لئے سکرین کے سب سے اوپر ہے. اور پھر ایک بار اپنے پروگرام اس جگہ میں ہے، اصل میں ایسا نہیں کرتا کے لئے ابھی تک کچھ کرتے ہیں، تو آپ کے پاس تو ایک دوسرے سپرائٹ کی ضرورت ہے، مثال کے طور پر ایک سبز تیر بھی کی طرف اشارہ کرتے ہوئے چھوڑ دیا ہے، اور آپ تو اس کے لئے کچھ سکرپٹ لکھنے شروع کرنے کی ضرورت ہے. اور شاید آپ کو نوٹس، کہ ان چیزوں کو آنے لگے مختلف رفتار، اور رنگ مختلف میں تھے مقامات، اور وہ اس لئے ہے کیونکہ طالب علم کو تھوڑا سا استعمال کیا چھدم randomness. اور، میں چھدم randomness کی طرف سے مطلب صرف ایک نمبر منتخب کریں کچھ اور کچھ کے درمیان کیونکہ آپ کر سکتے ہیں نقشہ چیزوں پر شروع کرنے کے لئے، طرح اگر تعداد ہے ایک کے درمیان پانچ، اچھی طرح، بات سبز بنانے کے. اگر یہ 6 اور 10 کے درمیان ہے، پہیلی ٹکڑا بجائے سرخ. جب تک آپ کو کسی قسم کے پیدا کرنے کا ایک طریقہ ہے randomness، آپ کے فیصلے پھر اس کی بنیاد پر کر سکتے ہیں randomness. اور میں کہہ رہا ہوں چھدم بے ترتیب رہو کیونکہ وہاں ہے گندے راز بہت کم ہے. کمپیوٹر بے ترتیب تعداد کے ساتھ نہیں آ سکتا. وہ صرف وہی انہیں بتایا ہو کر سکتے ہیں کیونکہ وہ انسان ساختہ آلات ہیں. وہ صرف ہم انسان کی طرح ایک نمبر نہیں اندازہ لگا سکتے ہیں محسوس کرتے ہیں جیسا کہ ہم کر سکتے ہیں. ایک کمپیوٹر ریاضی کچھ کو جادو کرنا ہے حساب تعداد کا برم ہے، کبھی کبھی کا استعمال کرتے ہوئے باہر کیا figuring ان پٹ کے طور پر وقت کی موجودہ دن تعداد ہے کہ کسی دوسرے وقت پر، زیادہ لیکن واپس. ابھی کے لئے، صرف اتنا معلوم ہے کہ ہم چھدم randomness پیدا کر سکتے ہیں. تو ایک بار میں شروع کرنے کے لئے بائیں تیر کے لئے کی صلاحیت ہے مختلف اوقات میں اور مختلف رفتار میں دکھائی دے رہے ہیں، تو میں واپس جاؤ اور ان اگر حالات کچھ شامل کر سکتے ہیں. اگر یہ سپرائٹ دوسرے، ایک، اور بائیں تیر چھونے ہے کلید پر زور دیا گیا ہے - تو اس صورت میں تین شروط. میں اس کا استعمال اور شاید اس صورت میں بلاک کر سکتے ہیں - تو میں آگے جانے کی اور سکور اضافہ کرنا چاہتے ہیں. اور سب سے اوپر، ہم نے ایک سکور ہے، ہم بہت اچھے ہیں، ڈاؤن لوڈ، اتارنا، اچھا ہے، اور بو ہے. تو وہاں بظاہر پانچ متغیر ہے کہ یہ طالب علم ان مختلف پیمائش کے معیار کے ٹریک رکھنے کے لئے استعمال کیا جاتا ہے. تو مختصر میں، نتیجہ حیرت انگیز ہے. یہ مذاق ہے کھیلنے کے لئے تفریح ​​ہے، یہ کشش، لیکن یہ نہیں ہے جہاں طالب علم شروع کر دیا. وہ اقدامات میں سے ایک بہت چھوٹے سیٹ میں شروع کر دیا. تو کیا کسی اور عمارت کے بلاکس کہ ہم کر سکتے ہیں ہیں ان پروگراموں میں باندھا؟ ٹھیک ہے، وہاں سب سے زیادہ زبانوں میں اس دوسرے تصور ہے، ان کے درمیان سکریچ موضوعات کے طور پر جانا جاتا ہے. تو کمپیوٹر اصل میں واقعی نہیں ایک سے زیادہ چیزوں کو ہو سکتا ہے وقت، کم از کم عام طور پر نہیں ہے. بلکہ، ایک کمپیوٹر عام طور پر صرف ایک CPU ہے، اور یہاں تک کہ اگرچہ کمپیوٹر سپر تیز ہیں کر سکتے ہیں اور اس وجہ سے، ایک بار میں ایک سے زیادہ کام کرنے کا برم بنا - آپ کے میل کی جانچ پڑتال، اور فوری طور پر حاصل کرنے پیغام، ایک دستاویز پرنٹ - سچ میں، ایک کمپیوٹر صرف پرنٹنگ سے IMing کود ہے ای میل، اور پیچھے کی اور واپس اور یہ کہ بیان اتنی جلدی ہم سست جواب انسانوں کا احساس ہی نہیں ہے کہ یہ اصل میں ہے ان کے پروگرام ایک وقت میں چل رہا ہے تھوڑا سا. اب ان دنوں، ایک سفید کا یہ تھوڑا سا وجہ سے، آج کل جھوٹ، بہت سے ہمارے کمپیوٹر ہیں جو ملٹی کور کہا جاتا ہے، لہذا آپ ایک CPU لیکن ایک سے زیادہ cores، جس کی طرح ہے ایک سے زیادہ CPUs ہے. اور کبھی کبھی کمپیوٹر ایک سے زیادہ چیزوں کو واقعی کر سکتے ہیں ایک وقت میں، لیکن عام طور پر ایک پروگرام کے اندر اندر پروگرام، یہ کہا جاتا موضوعات چیزوں پر انحصار کرتے ہیں. تو ایک موضوع ایک چھوٹا پروگرام ہے جو کر سکتے ہیں طرح ہے ایک اور چھوٹے پروگرام کے ساتھ ساتھ موجود ہیں اور چلا سکتے ہیں متوازی طور پر یہ خیال کہ کے تحت، یا کم از کم چلا سکتے ہیں وہ ایک ہی وقت میں چلا رہے ہیں. تو سکریچ ان چیزوں کو کہا جاتا موضوعات کی حمایت کرتا ہے. آپ کے پاس ایک ہی بار میں ایک سے زیادہ قتل اسکرپٹ ہم کے طور پر ہے، کر سکتے ہیں سمندر شیر کے ساتھ کیا تھا، اور یہ ہمارے اصل میں کرنے کی اجازت دیتا ہے پھر ان sprites کے درمیان بات چیت ہے. مجھے آگے یہاں جاؤ اور اوپر ھیںچو،، موضوعات کا کہنا ہے کہ دو، اور مندرجہ ذیل یہ کھیلتے ہیں. ہم دو sprites، ہم ہر جن میں سے دیکھیں گے صرف ایک سکرپٹ ہے. اور آپ کو نوٹس ہے کہ میں کچھ انٹیلی جنس لگتا ہے کیونکہ وہ قریب ہو رہا ہے اس میں بلی - [ROARS] DAVID MALAN: - اور تھوڑا پرندوں کے قریب ہے. تو کس طرح پرندوں آپریٹنگ ہے؟ ، پرندوں پر ایک نظر سب سے پہلے لے. پرندوں سکرپٹ نے کہا کہ جب سبز پرچم پر کلک کیا جاتا ہے، X منفی 115 برابر اور Y 150 برابر ہے. اس لئے میں صرف ایک بے ترتیب مقام ہے جہاں میں چاہتا تھا سوچا پرندوں شروع، اور میں نے صرف اس ڈیفالٹ کی طرف سے plopped. اس کے بعد ہمیشہ کے لیے اگر بلی نہیں چھونے، تو یہ ایک مختلف ہے looping کی تعمیر، لیکن اسی خیال کی طرح اس کو دوبارہ کرتے ہیں اور بار بار. جب تک آپ بلی کو چھو نہیں کر رہے ہیں، تین مراحل میں منتقل کرتے ہیں، اور اگر آپ کنارے، اچھال، پر ہیں جہاں اس طرح کی ہے بلئرڈ معنوں میں عکاسی. تو وہ کس طرح پرندوں قسم کی کے ارد گرد آگے بڑھ رہا ہے بظاہر تصادفی ہے، لیکن یہ صرف ہے کیونکہ یہ شیخی ہے اس معاملے میں دیواروں. اب بلی، اسی دوران، دھوکہ دہی کی قسم ہے. بلی، جب سبز پرچم پر کلک کیا جاتا ہے، جی ہاں، میں شروع ہوتا ہے کچھ محل وقوع، ایک بے ترتیب مقام - پک کے مطابق کم از کم حصہ میں بے ترتیب سبز وہاں بلاک - اور پھر ہمیشہ IF پرندوں چھونے، شیر کی آواز کھیلتے ہیں، اور پھر سکرپٹ کو روکنے کے. تو جب میں نے کہا کہ ختم، یا پہلے سے باہر نکلنے کے، ایک پہیلی ہے سکریچ میں ٹکڑا ہے کہ اس پروگرام کو مار دے گا اشارہ کیونکہ اس طرح کی منطقی طور پر کیا ہے. لیکن دوسری صورت میں، یہاں نوٹس، کیا ہونے جا رہا ہے. پرندوں اور کو ایک قدم کی طرف اشارہ کرتے ہیں. تو پرندوں کی طرف اس بات کے ایک فائدہ بلی کی قسم ہے ہے کہ میں چلنے پرندوں میں homing ہے، اور ہم یہ کر سکتے ہیں اب اس پروگرام کو زیادہ دلچسپ بنانے کے. CPU سائیکل فی ایک وقت میں ایک قدم فی منتقل، بجائے گھنٹی کی ٹول ہڑتال، اس سے بات کرنے کے لئے، مجھے آگے بڑھو اور آو، چلو، بلی کے طور پر ایک وقت میں پانچ اقدامات کا کہنا ہے کہ. کلک کریں چلاتے ہیں، اور اب وہ واقعی اسے جلد مل. اگر ہم 10 قدم مزید یہ دوہرا، اس کی قسم جاتا ہے اس کے لئے صحیح ہے. اب، ہم پرندوں دے سکتے ہیں، شاید، ایک فائدہ تھوڑا سا ہے. پرندوں پر جاؤ اور تین مراحل منتقل کی بجائے کہنا اسے 30 اقدامات میں منتقل. لیکن وہ اب بھی آخر میں پکڑ لیا گیا تھا. تو یہاں ہم دو موضوعات ہیں. یہ اسکرپٹ دو اور دو کے ساتھ شروع میں قید میں ڈال دیا ہے sprites، لیکن دیگر زبانوں میں خیال یہ ہے کہ آپ کر سکتے ہیں ، بنیادی طور پر لکھنے، اس طرح بہت سے پروگراموں اور ہے ان واقعی چلاتے، یا imaginarily متوازی میں،. اب بھی پروگرامنگ کے طور پر جانا جاتا ہے اس تصور واقعات، اور یہ وہ کچھ ہے ہم C میں نظر نہیں آئے گا ہے، سی کے طور پر جانا جاتا زبان ہم اس کی سمسٹر کے آخر کی طرف دیکھیں گے ویب پروگرامنگ میں، ہم جاوا سکرپٹ اور جب متعارف کرانے عمارت کے ویب صفحات جو متحرک ہیں اور بات چیت کے تصور صارفین کے ساتھ. تو اس صورت میں، ہم نے ان دونوں میں سے ایک بہت ہی عام مثال ہے sprites لڑکے اور لڑکی کی، جن میں سے ہر ایک اپنے اپنے ہیں موضوعات، لیکن کسی نہ کسی طرح ویسے یہ دونوں آپس میں بات چیت کے بارے میں کچھ واقعات سے ملاقات کی. ، تو آپ کے وزٹرز کا ریکارڈ رکھا آگے یہاں جاؤ اور لڑکے کی کہانی پر میں زوم جو اس طرح لگ رہا ہے. جب سبز پرچم کلک کیا ہے، ہمیشہ کے لئے مندرجہ ذیل کام کریں. اگر اہم، خلائی یا خلائی بار، پر زور دیا ہے کا کہنا ہے کہ، دو اور مارکو، جو خالصتا جمالیاتی ہے سکرین، ایک چھوٹا سا تقریر بلبلا، لیکن پھر نشر. تو نشر ایک اور سکریچ ٹکڑا یہ ہے پروگرامنگ میں فعالیت کی ایک طبقے کی نمائندہ کہ مختلف پروگراموں، مختلف موضوعات کو اس بات کی اجازت دی ہے، ، کسی نہ کسی طرح بات انٹر بھیجنے پیغامات، ایک دوسرے سے. کلاس میں ایک کاغذ کا ٹکڑا تجاوز کم ٹیک کی طرح ہے برابر. تو واقعہ کی تشہیر کریں. مجھے یہ پیغام بھیجتے ہیں، اور لفظ کی تقریب سکتے ہیں مکمل طور پر صوابدیدی ہے. سکریچ بعض اوقات یہ کمی چڑھاو ہے، تو میں ابھی آیا تقریب کی طرح ایک بے ترتیب لفظ کے ساتھ کیونکہ اب، کیا لڑکے کرتا جب میں پریس کی چابی ہے وہ اس واقعہ کی نشریات. اور اگر میں لڑکی کے سکرپٹ میں اب دیکھو، اس کا اسکرپٹ ہے، سپر آسان ہے کیونکہ وہ کرنے کی ضرورت ہے جب عمل نہیں ہے سبز پرچم پر کلک کیا ہے. وہ عمل کرنے کے لئے ڈیزائن کیا ہے جب تم میں سے کسی ایک کو وہ اقتباس حاصل unquote،، "تقریب"، اور اس نقطہ پر، وہ اس لئے سن رہا ہے نام نہاد بار بار واقعہ ہے. جیسے ہی وہ اس ایونٹ کو حاصل ہے، وہ چللا جا رہا ہے دو سیکنڈ کے لئے پولو. اور اس لئے تم یہ بالکل وہی جو سے شاید اندازہ کرنا کر سکتے ہیں اگلے نتیجہ ہونے جا رہا ہے. مجھے سبز پرچم پر کلک کریں. کچھ بھی نہیں ہوتا ہے کیونکہ میں کیا کرنے کی ضرورت ہے؟ سامعین: وقفہ بار. DAVID MALAN: خلائی بار. لڑکی لڑکے مارکو کا کہنا ہے کہ، پولو کا کہنا ہے کہ. لیکن اس SE فی مشکل نہیں کوڈت ہے. اس اسکرپٹ کے درمیان بین مواصلات ہے، تو اب ہم بھی زیادہ پیچیدہ پروگرام جہاں کو بنانے کے لئے کی صلاحیت ہے ان دونوں کو کسی نہ کسی طرح انٹر بات چیت. تو ہم کیا سمتوں میں یہ لے جا سکتے ہیں؟ ٹھیک ہے، مسئلہ کے سیٹ میں 0، واقعی، اس کا مقصد ہے سکریچ کے ساتھ مذاق ہے. ہیکر ایڈیشن کے لئے، آپ ایک سے زیادہ کے ساتھ مذاق بجائے پڑے گا اسکریچ کے جدید ترین ورژن کو کہا جاتا BYOB بنائیں ، اپنی خود کی بلاک، لیکن خیال ایک ہی ہے. آپ کے قابل ہو جائے گا - جی ہاں، وہ جان بوجھ کر تھا. یہ برکلے سے آیا. BYOB اس کے ہیکر ایڈیشن ورژن ہے، لیکن دونوں آبادی، سٹینڈرڈ ایڈیشن اور ہیکر کے ایڈیشن یکساں، آنے والے ہفتے کے لئے ہاتھ میں واقعی مقصد ہے صرف میں کودو گہری، پروگرامنگ کے ساتھ اپنے ہاتھ گندی، اور دلچسپ کچھ، کچھ انٹرایکٹو، فنکارانہ کچھ اصل میں کچھ مذاق اڑانا ، مظاہرہ، تاکہ آپ ہفتے کے آخر کی طرف سے ایک منصوبہ پڑے گا آپ یہاں پہلے مرتبہ CS50 pset کے لئے نہ صرف، لیکن آپ کو ایک پڑے گا کچھ ہے کہ آپ Annenberg میں ظاہر کرنے کے لئے کر سکتے ہیں یمآئٹی ویب سائٹ اپ لوڈ کی طرف سے یا اس سے بھی خاندان ہے. اور اس طرح کے طور پر میں نے کہا کہ بدھ کے روز، ہم نے کلاس سے 90 فی صد کی توقع ہے، عام طور پر، معیاری ایڈیشن ہے. احساس ہے کہ وہاں بھی تم میں سے ان لوگوں کے لیے اس دکان جو اپنے آپ کو دوسری صورت میں مبادیات کے ساتھ بور سا مل سکتا ہے اور واقعی میں کودو اور شلپ ایک خواب آپ نے پہلے ہی چاہتے ہیں یہ دوستانہ میں پیشگی پس منظر کے ساتھ ماحول. تو مجھے ایک اور مثال کے طور پر سے ھیںچ لیں کہ ہمارے سابق طالب علموں کو یہاں کیا اور گیت کے ذریعے کچھ بتانا. وہ اس ڈرامے کے طور پر اسی طرح، کہ آپ کس طرح کے بارے میں کے بارے میں سوچنا خاص طور پر یہ ایک ہی کا استعمال کرتے ہوئے پروگرام پر عمل پیرا عمارت کے بلاکس، چھدم randomness تھوڑا سا، اور ایک واقف گیت کا سا. اگر ہم حجم صرف تھوڑا سا اٹھا سکتا ہے؟ [MUSIC - انہوں نے کہا کہ مردوں بارش ہو رہی ہے "موسم GIRLS] DAVID MALAN: CS50 کے لئے ہے. ہم آپ کو پیر کو نظر آئے گا. [اپلاز]