روب: ٹھیک ہے. پہلے حصے میں خوش آمدید. میں روب ہوں. جوزف: میں یوسف ہوں. روب: تو ہم اندر کودو گے کے بارے میں بات کرنے کے لئے سب سے پہلی چیز آلے ہے. تو امید ہے کہ تم میں سے سب سے زیادہ ہے پہلے سے ہی ڈاؤن لوڈ کیا. لیکن آپ کو دی گئی ہدایات پر دیکھ سکتے ہیں cs50.net/appliance میں. خدا اوہ، اب میں خود ہوش میں ہوں. میں اب بھی اس کو سن. جوزف: واہ، یہ کی طرح لگتا ہے یہ disoriented ہے. روب: تو کچھ لوگوں کو کیا گیا ہے اس کے ساتھ مسائل ہیں، تو جب تک انتظار نہیں کرتے مسئلہ کے آخری منٹ کے لئے مقرر کرنے کی کوشش کریں اور آلات کو حل کرنے اور یہ کام نہیں ہے کہ باہر تلاش. جوزف: اور کچھ کام نہیں کر رہا تو اور آپ کی مدد کی ضرورت ہے، آپ جا سکتے ہیں cs50.net/discussion ہم کہاں جہاں آپ کو ایک فورم ہے آپ کے سوالات پوسٹ کر سکتے ہیں. اور ہم نے آخر میں ان سے حاصل کریں گے. روب: ٹھیک ہے. تو اس کا کیا آلے ​​ہے کی طرح لگتا ہے. ایک بار پھر، یہ صرف ایک مکمل طور پر علیحدہ ہے آپریٹنگ سسٹم کے اندر اندر چل رہا ہے جو کچھ بھی آپریٹنگ نظام آپ آپ اپنے لیپ ٹاپ پر چل رہے ہیں. اور تمہیں اہم چیزیں کا استعمال کرتے ہوئے کی gedit ہیں. تو امید ہے کہ اس کو پہلے ہی ہے ایک واقف سائٹ بن. ٹرمینل. اور تم بھی کروم کو چلا سکتے ہیں آلات کے اندر اندر. لوگوں کے ایک جوڑے کی جا چکی ہے انٹرنیٹ کی اطلاع دی ہے جو آلات میں کام نہیں. اور ان میں سے کچھ صرف فرض کیا گیا ہے ہونا چاہیے نہیں ہے آلات میں انٹرنیٹ. لیکن ہاں، وہاں سمجھا جاتا ہے انٹرنیٹ ہو. میں اب یہ کہیں گے، لیکن یہ نہیں ہے واقعی کوئی مطلب. انٹرنیٹ کام نہیں کر رہا ہے تو، اس کی آپ کو ضرورت کے لئے کرتے ہیں کیا ہے اسے ٹھیک چلانے کے لئے. آپ انٹرنیٹ کے مسائل کا سامنا ہے تو، ایسا نہیں کرتے یہ یاد، صرف اس پر پوسٹ بحث، اور ہم اس کو چلانے کے، کہیں گے. لیکن انٹرنیٹ کام کرنا چاہئے. تو صرف دوسری بات یہ ہے - جی ہاں، کچھ بھی نہیں اور واقعی میں متعلقہ ہے. لیکن میں صرف یہ ہے کہ باہر کی طرف اشارہ کرنا چاہتے تھے - اس کے سب سے نیچے دائیں کونے میں دیکھ. تو آپ کے آلات میں سے ہر ایک ہونا چاہئے ایک آئی پی ایڈریس ہے. اور بعد میں سمسٹر میں، اس IP ایڈریس زیادہ متعلقہ ہو جائے گا جب آپ، ویب P-سیٹ پر کام کر رہے ہیں کیونکہ آپ تک رسائی حاصل کرنے کے قابل ہو جائے گا آپ کی ویب سائٹ سے کام کر رہے ہیں آپ اس IP ایڈریس کو استعمال کرتے ہوئے کی طرف سے مقامی کروم. لیکن میں IP ایڈریس استعمال کرنے کے لئے کیا پسند کے لئے - اور آپ کو ایسا کرنے کی ضرورت نہیں ہے، میں نے صرف اس کے باہر کی طرف اشارہ کرنا چاہتے ہیں - یہاں ہے. تو اس پر ایک ٹرمنل ونڈو ہے اپنے میک، اس میں نہیں ہے میں تمام آلات. اور آپ کو دیکھ سکتے ہیں کیا اس حکم کرتا ہے. لیکن میں براہ راست SSH جا رہا ہوں اپنے آلات کے لئے. میں آئی ہے پتہ نہیں کیا. جوزف: 168 - 168.224.1.0. روب: تو ایک بار میں نے کیا کیا اس کے ساتھ، لاگ ان اب، بنیادی طور پر، یہ ایک جیسی ہے اپنے آلات کے اندر اندر ٹرمنل ونڈو. تو میں بہت زیادہ اصل میں کام نہیں آلات خود کے اندر سے. میں نے صرف ہمیشہ یہ چل رہا ہے کم سے کم پس منظر میں اور اس میں SSHed. اس کے ساتھ مسئلہ آپ کو نہیں جا رہے ہیں ہے آسانی سے gedit کو استعمال کرنے کے قابل ہو جائے براہ راست اس سے. لیکن آپ کو ایک حقیقی ڈاؤن لوڈ، اتارنا کرنے کے لئے چاہتے ہیں تو ہیکر، تو آپ کو ایک کے لئے استعمال کرنا چاہئے ویسے بھی کمانڈ لائن کے ٹیکسٹ ایڈیٹر. تو طاقت اور Emacs اور نینو، ان میں سے سب مختلف متبادل ہیں. نینو کا سب سے آسان ہو جاتا ہے. اور میں یہ کوئی ہے لگتا ہے نحو کو اجاگر. اوہ، نہیں، یہ مکمل طور پر کرتا ہے. تو آپ کو، نینو استعمال کر سکتے ہیں کی وجہ سے ایک بہت آسان ہے. تم سب کو یہ حکم دیتا ہے کو دیکھنے کے کے نیچے دیے گئے. یہ چھوٹا سا گاجر علامت. تم سے پہلے اسے نہیں دیکھا ہے، تو آپ کریں گے شاید اب یہ ایک بہت دیکھ. یہ عام طور پر کنٹرول گاجر کا مطلب ہے، اپنے کی بورڈ کے سب سے نیچے بائیں کی طرح کنٹرول کردار. تو یہاں یہ مجھے یہاں نیچے سے کہہ رہا ہے - مجھے اندر زوم اگر اوہ، اسے کاٹ نہیں ہے تو کنٹرول، ایکس ہے میں نے باہر نکلنے کے لئے جا رہا ہوں. اور اس کے لئے میں Y مار کر سکتے ہیں کا کہنا ہے کہ جی ہاں، بچانے کے لئے، (ن) کے لئے نمبر تو وہ نینو ہے. طاقت اور Emacs تھوڑا سا زیادہ ہو جاتے ہیں پیچیدہ اور حد سے زیادہ. لیکن آپ کو اس کے لئے استعمال کیا جاتا ہے حاصل کر سکتے ہیں، اور پھر آپ کو یہ پسند آئے گا. تو یہ ہے. جوزف: ایسا کرنے کی ضرورت نہیں ہے. روب: جی ہاں. آپ کے لئے gedit کے استعمال کرنے کے لئے آزاد ہیں سمسٹر کے باقی. تو کسی بھی آلے سے متعلق سوال؟ یا آپ کیا کسی پر کسی بھی خیالات ہیں کے بارے میں کے بارے میں بات کرنے کی ضرورت ہے آلات؟ جی ہاں. اسپیکر 1: آپ کو میں SSHed جب آپ بات یہ ہے کہ، پاس کرمسن تھا؟ روب: جی ہاں. بہت زیادہ سب کچھ کے لئے پاس ورڈ آلات میں جا رہا ہے کرمسن ہو. اسپیکر 2: ایک حقیقی IDE طرح انسٹال آلات پر، یہ کام کرے گا؟ روب: میں نے چاند اور سورج گرہن ہے تصور ایک Fedora کے ورژن، جس صورت میں، جی ہاں، آپ یہ کر سکتے ہیں. شاید یہ واقعی کے قابل نہیں ہے. اسپیکر 2: ٹھیک ہے. تو یہ شاید میں چاہتا تو آسان ہے چاند اور سورج گرہن کا استعمال کرتے ہیں، صرف آ استعمال کرتے ہیں اور پھر اپ لوڈ - روب: اوہ، کہ شاید آسان ہے. لیکن اگر آپ یہ کام کر حاصل کر سکتے ہیں آلات کے اندر اندر. جوزف: اور کیمرے کے لئے، سوال تھا، آپ کو ایک اور انسٹال کر سکتے ہیں آلے کے اندر IDE؟ روب: چاند اور سورج گرہن ایک ہونے کی وجہ سے ایک IDE کی مثال. کسی بھی دوسرے آلات سوالات؟ ٹھیک ہے. تو اب ہم کمانڈ لائن پر منتقل کیا جائے گا انٹرفیس سے متعلق چیزوں، تو CLI. اور پھر، میں صرف میں کام کرنے کے لئے جا رہا ہوں یہاں، اس کے لئے ایک جیسی ہے کیونکہ ایک ٹرمینل ونڈو کے اندر اندر کام آلات کے اندر اندر. کس طرح فونٹ لگ رہا ہے؟ یہ کافی بڑا ہے؟ ٹھیک ہے. تو حکم دیتا ہے کی ایک بہت ہیں آپ کو بہت کے لئے استعمال کیا جانا چاہئے سمسٹر کے دوران. گشت کے لئے بڑا دو LS، فہرست ہیں اس ڈائریکٹری میں فائلوں اور CD، تو ڈائریکٹری تبدیل. تو میں نے اس کے بعد ڈیسک ٹاپ پر تبدیل کر سکتے ہیں اور ایک بہت عام پیٹرن ایک سی ڈی ہے ڈائریکٹری اور فوری طور پر LS ڈائریکٹری میں کیا ہے. لوگ بھی کبھی کبھی احساس نہیں اس ٹیب تکمیل ایک بات ہے. اتنی پسند سی ڈی، VH، اور پھر میں ٹیب مارا. میں باہر ٹائپ تقریبا کبھی نہیں پوری بات. اور پھر میں ٹیب مار رہیں پھر، یہ خود کار طریقے گے میرے لئے لسٹنگ شروع. تو میں نے سی ڈی پر vhosts، مقامی میزبانی کر سکتے ہیں. اور یہ صرف جا رہا ہے - صورت میں آپ کو اصطلاح میں سنا نہیں ہے اس سے پہلے، ڈائریکٹری صرف ایک لفظ ہے فولڈر کے لئے. تو اب آپ دیکھ تو - کے سب سے اوپر کرنے کے لئے لانے. تو اب آپ کو، قوسین میں دیکھتے ہیں تھوڑا ٹلڈا، سلیش، vhost کے دیکھ، ، مقامی میزبان سلیش. تو ٹلڈا، کہ مراد میرے گھر ڈائریکٹری. یہ آپ ہیں ایک ڈائریکٹری ہے تم اندر SSH جب یہ آپ کو جب میں ہیں ڈائریکٹری ہے آپ کو ایک ٹرمینل کھول. آپ کو شروع جہاں یہ ہے. اور اس طرح میں نے اپنے گھر کی ڈائریکٹری کے اندر ہوں، اور میں پر vhost کے اندر ہوں میرے گھر ڈائرکٹری کی ڈائرکٹری کے اندر. اور پھر میں نے مقامی کے اندر ہوں اس کے اندر کی ڈائرکٹری میزبانی. سی ڈی کے ساتھ تو کچھ دیگر مفید چیزیں - یا اچھی طرح سے، عام طور پر، تو ہمیشہ ڈاٹ موجودہ ڈائریکٹری سے مراد ہے. سی ڈی، ڈاٹ ایک بہت بیکار حکم ہے. لیکن اس کو تبدیل کرنے کی ہے موجودہ ڈائریکٹری. کی شرائط میں ایک زیادہ مفید ایک CD ڈاٹ، ڈاٹ، ہے جس میں ہے صرف ایک ڈائریکٹری میں جانا. اور نوٹ ان - میں عرفیتیں کہنا چاہتے ہیں، لیکن ان علامات، نقطہ، اور ڈاٹ، ڈاٹ، لوگ کام تم بہت زیادہ کسی بھی کمانڈ کے لئے چل رہا ہے کے بارے میں سوچ کیا جا رہا. آپ کہاں ہوں گے اتنی پسند سی ڈی شاید ہے سب سے زیادہ کا استعمال کرتے ہوئے، لیکن ان نہیں ہیں صرف سی ڈی سمجھتا ہے کہ چیزوں کو. یہ بہت زیادہ کچھ اپنے پورے ہے کمانڈ لائن سمجھتا ہے. پروگراموں کی ایک بہت سمجھ نقطہ اور ڈاٹ، ڈوٹ. تو دوسرے مفید ہیں - CD، ڈیش. تو وہ مجھ سے لانے کے لئے کی جا رہی ہے میں اندر تھا کہ آخری ڈائرکٹری تو کبھی کبھی میں، کچھ اس طرح کروں گا اوہ، میں یہاں کام کر رہا ہوں. اور میں کچھ اور کے ساتھ کچھ خرابی دیکھنے کے، اور میں جا کر اس کی تفتیش جائیں گے کہیں کچھ بے ترتیب ڈائریکٹری. یہ گے اور اگر مجھے پتہ نہیں وہاں مجھے. یہ ہو گا. تو پھر میں میں چاہتا ہوں جو کچھ بھی اس ڈائریکٹری میں. بلاہ، بلاہ، بلاہ، بلاہ، بلاہ. اور میں چاہتا ہوں، ٹھیک ہے، کی طرح تھا واپس میں کہاں تھا پر جانے کے لئے. سی ڈی، ڈیش، اور یہ صحیح مجھے واپس لاتا ہے. تو میں نے ایک بہت پھینک جا رہا ہوں آج آپ ان کی. میں آپ کو حفظ کرنے کی توقع نہیں ہے ان میں سے سب. یہ اس قسم کی پتہ وہ موجود ہے. اور پھر بعد میں آپ کی طرح ہیں جب، ہمم، میں واپس جانا چاہتے ہیں میں صرف میں تھا اس ڈائریکٹری، اوہ،، انتظار کچھ اس طرح موجود ہے. آپ کو صرف میں ٹائپ کرنے کی ضرورت نہیں ہے پھر پوری ڈائریکٹری. جوزف: اور آخر میں آپ کو صرف کریں گے بار بار ان کا استعمال، اور یہ پٹھوں میموری ہو جائے گا. روب: جی ہاں. میں نے پہلے کہا تو کس طرح، کہ ٹلڈا آپ کے گھر کی ڈائریکٹری ہے. تو میں نے سی ڈی، ٹلڈا کر سکتے ہیں. لیکن میں نے بھی کرنے کی ضرورت نہیں کہ میں صرف ہیں - میں تو ڈائریکٹری کو واپس چلے جائیں گے یہ ایک بیکار مثال کے طور پر نہیں ہے. میں صرف CD لیکن اگر، یہ بھی ہے طور پر ایک ہی، میرے گھر کی ڈائریکٹری کے لئے جانا. میں نے کمان، K. کرنا جوزف: تم بھی واضح ٹائپ کر سکتے ہیں، لفظ، اور اسے صاف کرنا چاہئے. روب: اور میں کنٹرول، بھی لگتا ہے ایل بھی کرتا ہے. مختلف طریقوں سے تو بہت. میں کچھ اختلافات ہیں لگتا ہے کہ جہاں واضح اور کنٹرول، ایل گا صرف واقعی اوپر دھکا اور میں اب بھی واپس سکرال کر سکتے ہیں. کمان، کشمیر لفظی خارج کر دیتا ہے سب کچھ، اور آپ واپس سکرال نہیں کر سکتے ہیں. بہت کم سے کم، ہے یہ iTerm2 میں کام کرتا ہے کس طرح. میں نے کس طرح دوسری چیزوں کو نہیں جانتے - اوہ. SSHing کے ساتھ،، آپ ونڈوز پر ہیں تو تو آپ پٹین ڈاؤن لوڈ کرنے کے لئے جا رہے ہیں ونڈوز نہیں کرتا ہے SSH کرنے کے لئے ایک بلٹ میں SSH آلہ کی طرح ہے. میکس سے، آپ کو صرف SSH براہ راست کر سکتے ہیں ایک ٹرمینل ونڈو سے. ٹھیک ہے. سوالات؟ LS کے ساتھ، تو کچھ کرنے کے لئے استعمال کرنے کے لئے یہ حکم دیتا ہے کے سب سے زیادہ ہے کے ساتھ - ٹھیک ہے، میں صرف ایک کروں گا. LS، ڈیش، ایل. تو ڈیش، L ہم جا رہے ہیں کیا ہے LS کو ایک پرچم کو فون کرنے کی. اور یہ حکم دیتا ہے کی ایک بہت پرچم ہے آپ کو ان پر منتقل کر سکتے ہیں. تو اس صورت میں، ڈیش، L ایک پرچم ہے کہ مجھے ایک مکمل دینے کے لئے یہ بتاتا ہے کہ تمام معلومات کی فہرست ان فائلوں کی. تو ہم ڈیسک ٹاپ پر تھا کہ یہاں دیکھ 12:54 میں 30 جولائی کو نظر ثانی شدہ. ڈاؤن لوڈ 6 ستمبر پر نظر ثانی کی کیا گیا تھا. یہ موجودہ سائز کے ہیں اور ان ڈائریکٹریز کی بائٹس. تم سمجھنے کی نہیں ہے اس کے تمام. یہ چیزیں بائیں طرف، ان drwx کی، کہ بہت زیادہ متعلقہ ہو جائے گا آپ کے ساتھ نمٹنے کے لئے ہے بعد میں جب - کہ اجازت ہے جو کے ساتھ کیا ہے ان فائلوں کو دیکھنے کے لئے. اور اس نے تم پر صرف صارف نہیں تھے اس کمپیوٹر، آپ کے لئے قابل ہو جائے گا کا کہنا ہے کہ، ٹھیک ہے، میں نے صرف ایک ہونا چاہئے اس فائل کو دیکھنے کے لئے کی اجازت دی یا میں ہوں اجازت دینے کے لئے جا رہا ہے سب اس فائل کو دیکھنے کے لئے. تو میرے کمپیوٹر پر کسی اس فائل میں دیکھ سکتے ہیں. میں بھی کیا یہ پتہ نہیں ہے - یہ کیا کرتا ہے؟ جوزف: میں نے اصل میں، یقین نہیں ہوں. روب: کوئی خیال. جوزف: تم نہیں جانتے لیکن اگر، ہے آپ استعمال کر سکتے ہیں کہ ایک مددگار کمانڈ پیداوار کا مطلب ہے آپ کو بتانا. اور تم آدمی میں ٹائپ کریں تو کمانڈ سے پہلے - تو ایم ایک ن. روب: آدمی. تو آدمی ایک ہے کہ بہت مفید ہے. اور آدمی، LS. تو آدمی کے صفحات، وہ دونوں آپ کو استعمال کرتے ہوئے جا رہے ہیں کہ حکم کمانڈ لائن میں، اور وہ بھی ہے متعلقہ ہو جائے گا کہ کام کرتا ہے تم انسان کر سکتا ہے تو سی کے ساتھ - اور میں 3 نظر انداز کر دیا. لیکن انسان 3 printf کے لانے کے لئے کی جا رہی ہے printf کی سی ورژن. میں صرف انسان کی printf کرنا لیکن اگر یہ ہے کمانڈ printf کے لانے کے لئے جا کہ کمانڈ لائن پر ہوتا ہے. تو آدمی، LS. آدمی کے صفحات بہت ہو سکتا ہے حد سے زیادہ. یہاں، تاہم، آپ کو اس لسٹنگ کو دیکھ لیں گے ان جھنڈوں کے تمام ہے کہ LS سمجھتا ہے. تو ہم، ایل ڈیش، اور جانے - میں صرف آپ اس کو پھینک کرنے جا رہا ہوں. لیکن تلاش کرنے کے لئے، آپ چاہتے ہیں پہلا سوال مارا نشان یا سلیش کے بٹن. تو سلیش. اور پھر میں تلاش کر سکتے ہیں میں چاہتا ہوں جو کچھ بھی کے لئے. تو میں نے ڈیش، L کے لئے سلیش کرنے جا رہا ہوں. اور وہاں یہ تھا. تو ایک طویل لسٹنگ کی شکل کا استعمال کرتے ہیں. یہ میرے اعداد و شمار کی مدد نہیں کرتا کیا اس مخصوص کالم کا مطلب، لیکن میں یہاں میں کہیں فرض یہ اس کی وضاحت کریں گے. تو کسی بھی کمانڈ کے لئے آدمی کے صفحات کا استعمال آپ فوری طور پر سمجھ نہیں ہے. میں آپ کو بھی آدمی، آدمی کر سکتے ہیں یقین. آن لائن کے لئے ایک انٹرفیس حوالہ کے دستورالعمل. اوہ، شاید تھوڑا سا ہے کہ ایک گزشتہ ایک متعلقہ ہے LS، ڈیش، ایک. میں صرف LS کرتے ہیں تو محسوس، میں ان پانچ فائلوں کو حاصل. میں LS کرتے ہیں، ڈیش، ایک، میں بہت زیادہ فائلوں کو حاصل. ان تمام کے درمیان عام میں تو بات نئی فائلوں سے پہلے نقطہ ہے. تو کنونشن ہے کہ ایک فائل ہے کہ ایک نقطہ پوشیدہ ہے سے شروع ہوتی ہے. تو تم اس فائل کو دیکھنے کے لئے نہیں کرنا چاہتا کے ساتھ اس کی گندگی کرنے کے لئے نہیں کرنا چاہتا آپ ڈائرکٹری کی لسٹنگ. آپ کو واضح طور پوچھیں جب یہ، صرف ٹھیک ہے، LS، ڈیش، ایک، مجھے دکھا. ایک، تمام فائلوں کے لئے کھڑا ہے چھپی ہوئی ہیں جن میں. تو کسی دوسرے حکم دیتا ہے. اوہ، اس نقطہ پر سوال؟ جی ہاں. 3 اسپیکر: تم LS کرتے ہیں، ایک، ڈاٹ، ڈوٹ کیا ہے؟ روب: اوہ. تو اس کے بارے میں بات کر رہا تھا کیا ہے. یہ وہی چیز ہے جہاں میں نے سی ڈی، ڈاٹ، ڈوٹ پسند کر سکتے ہیں. تو تکنیکی، ڈاٹ اور ڈاٹ، ڈوٹ ہیں ہر ایک میں موجود فائلوں ڈاٹ فائل سے مراد جہاں ڈائرکٹری موجودہ ڈائریکٹری. تو میں نے سی ڈی، ڈاٹ، میں صرف جا رہا ہوں اگر ڈائریکٹری میں رہنے کے لئے. اور ڈاٹ، ڈاٹ ہمیشہ سے مراد گزشتہ ڈائریکٹری ایک لیول اوپر. تو میں نوشتہ اور LS میں جانے، ڈیش، اللہ تعالی، میں ڈاٹ، ڈوٹ دیکھیں گے. ڈاٹ سی ڈی، ڈاٹ گزشتہ ڈائرکٹری مجھ سے لاتا ہے. جی ہاں. ٹھیک ہے. تو ایک اور بہت اہم کمانڈ RM ہے. تو ہے کہ ہم جا رہے ہیں ختم کرنے کے لئے استعمال کرنے کے لئے. اور مجھے اصل میں ایک اور کرتے ہیں کمانڈ پہلے. تو mkdir. Mkdir ہے کہ کس طرح آپ کر سکتے ہیں ڈائریکٹریز کی تخلیق. اور میں نے ایک عارضی ڈائریکٹری تشکیل دیں گے اور یہ کہ عارضی ڈائریکٹری میں جانا. اور توقع کے طور پر، یہ خالی ہے. لیکن میں LS، ڈیش، ایک، میں اب بھی نقطہ ہے تو نقطہ سے مراد ہے اور ڈاٹ، ڈاٹ، کیونکہ موجودہ ڈائریکٹری. اور ڈاٹ، ڈاٹ مراد گزشتہ ڈائرکٹری. اور وہ لوگ ہمیشہ کوئی بات نہیں رہے گا آپ اندر ہیں کی ڈائرکٹری اور یہ ایک مکمل طور پر غیر ضروری ہے کمانڈ، لیکن رابطے. یہ ہے کیونکہ میں صرف، یہ استعمال کر رہا ہوں فائلوں کو پیدا کرنے کے لئے ایک آسان راستہ. تو C صرف ہے چھو، B چھو، ایک ٹچ کہا جاتا ہے ایک تین فائلوں کو پیدا کرنے کے لئے جا رہا ہے، مکمل طور پر خالی ہیں B، اور سی. تو مجھے کے نقطہ نظر میں ان لوگوں کے پیدا پہلی جگہ ہے کہ RM ہے صرف اتنی ہے ہم کس طرح ان کو ختم کر سکتے ہیں. تو RM، ایک. اسے ہٹانے، مجھ سے پوچھا جا رہا ہے باقاعدہ خالی فائل؟ اور پھر میں نے جی ہاں کہیں گے. مجھے یقین ہے کہ کے لئے جانتے ہیں تو تو میں چاہتا ہوں کہ ہو کرنے کے لئے بغیر اس فائل کو ختم کی حوصلہ افزائی کی، باقاعدہ خالی فائل کو ہٹا دیں؟، پھر RM، ڈیش، F ہونے جا رہا ہے کا کہنا ہے کہ پرچم، کے بغیر دور مجبور بھی فورا، اوہ، تم ہو یقین ہے کہ آپ فائل کو حذف کرنا چاہتے ہیں؟ جی ہاں، مجھے یقین ہے. تو RM، ڈیش، ایف بی کرے گا سے پوچھے بغیر ایسا. تو کچھ زیادہ ڈائریکٹریز بنانے. mkdir، tmp2، سی ڈی، tmp2، ایک، رابطے B چھو. ٹھیک ہے. تو اب میں دور کرنے کے لئے چاہتے ہیں، ایک ڈائریکٹری کے طور پر tmp2. تو RM tmp2. آپ tmp2 کو دور نہیں کر سکتے ہیں، یہ ایک ڈائریکٹری ہے. تو یہاں مسئلہ RM نہیں ہے فوری طور پر ڈائریکٹریز پر کام. یہ صرف کی طرح فائلوں کے لئے کا مطلب ہے غیر ڈائریکٹری فائلوں. اور تو کیا ہم کر سکتے ہیں یہاں RM، ڈیش، ر ہے. کہ تکراری طور پر کے لئے کھڑا ہے، جس میں شاید ابھی تک تم سے کچھ مطلب نہیں. لیکن آپ کو تکرار کرنے کے لئے حاصل کرتے ہیں، یہ زیادہ مطلب گا. تو RM، ڈیش، R، tmp2 جا رہا ہے تکراری طور اس ڈائریکٹری میں جانا. تو ڈائریکٹری tmp2 میں اترتے ہیں؟ جی ہاں، اس میں جانے. ہم ایک / tmp2 دور کرنے کے لئے چاہتے ہیں؟ جی ہاں. ہم tmp2 / ب دور کرنے کے لئے چاہتے ہیں؟ جی ہاں. اب ہم دور کرنے کے لئے چاہتے ہیں ڈائرکٹری tmp2؟ جی ہاں. اور تو اب ڈائرکٹری اور اس کے اندر سب کچھ اس کے ہٹا دیا گیا ہے. ایک کمانڈ rmdir تکنیکی ہے آپ کو ختم کرنے کے لئے استعمال کر سکتے ہیں ڈائریکٹریز، لیکن یہ صرف کام ویسے بھی خالی ڈائریکٹریز پر. اور یہ کہ کو دیکھنے کے لئے، چلو صرف پھر mkdir، tmp2 کرتے ہیں. Tmp2، ایک ٹچ. ٹھیک ہے. میں dirtmp2 کو دور کرنے کی کوشش کرتے ہیں تو، یہ کریں گے ڈائریکٹری خالی نہیں، کا کہنا ہے کہ. تو میں ہٹائیں استعمال بہت زیادہ کبھی نہیں ویسے بھی دیر کمانڈ، کیونکہ RM، ڈیش، R خالی ڈائریکٹریز پر کام کریں گے اور غیر خالی ڈائریکٹریز. اور بھی، میں کرنے کے لئے نہیں کرنا چاہتے تو کے اس پورے عمل کے ذریعے جانا ڈائریکٹری میں اترتے اور ہر ہر فرد فائل کو ہٹانے کے، RM، ڈیش، آریف، tmp2. اور اب وہ چلا گیا. محتاط ہونا کرنے کے لئے کچھ کے بارے میں RM، ڈیش، آریف ہے. اور اس سے مجھے یہ بھی ٹائپ کرنے کے لئے ڈر لگتا ہے، کیونکہ اگر میں نے غلطی سے مارا درج کریں یا کچھ اور. تو RM، ڈیش، آریف، ٹلڈا گے، بغیر مجھے فورا، F فوری طور پر نہیں ہے مجھے، یہ خود کار طریقے نکال دیا جائے گا میرے پورے گھر کی ڈائریکٹری اور اس میں سب کچھ. تو آپ کو لگتا ہے کہ ہو سکتا ہے ایسا کرنے کے لئے ایک پاگل بات. اور اچھی طرح سے، یہ ہے. لیکن اس سے بہت آسانی سے ہو سکتا ہے حادثے میں ختم کرنے کے لئے کرنا چاہتا تھا، کا کہنا ہے کہ، اگر میری سلیش، پر vhost ڈائرکٹری. اور صرف فوری ٹائپنگ میں، میں نے غلطی سے یہ کرتے ہیں. کہ دونوں میری تکراری طور نکال دیا جائے گا گھر کی ڈائریکٹری اور vhost ڈائرکٹری اس مخصوص ڈائریکٹری میں ہے کہ صرف اب موجود نہیں ہوتا ہے. لیکن یہ اب بھی کو دور کرے گا میرے پورے گھر کی ڈائریکٹری. کم از کم ایک F نہ ہونے کی طرف سے، یہ سب سے پہلے مجھ سے فوری طور پر جائے گا. اور میں، ارے، کی طرح ہو جائے گا نہیں، میں ایسا کرنے کے لئے نہیں کرنا چاہتا. لیکن لوگوں، سمیت، سلیش مجھ میں حاصل کرنے کی کوشش کرتے ہیں ہمیشہ RF-ING کی عادت. میں صرف RM کر سکتے ہیں یہاں تک کہ باقاعدہ فائلوں، C، میں صرف RM، ڈیش، آریف، C کے لئے ہوتے ہیں. آپ RF-ING جب ذرا ہوشیار رہنا. 4 اسپیکر: سی کیا کرتا ہے؟ روب: سی میں اس سی فائل کے بارے میں بات کر رہا ہوں اس ڈائریکٹری میں، کہ RM، سی. جوزف: اور زیادہ خطرناک، آپ استعمال کرتے ہیں تو ایک ستارہ، اس میں سب کچھ سے مراد ڈائریکٹری. تو کیا میں عام طور پر ایسا کرنے کی کوشش کرتے ہیں میں جائے گا ایک ڈائریکٹری میں جاؤ اور میں چاہتا ہوں وہاں میں تمام فائلوں کو ہٹا دیں. تو RM، ڈیش، آریف، سٹار. روب: جی ہاں. RM، ڈیش، آریف، سٹار. جوزف: اور تم نہیں ہو تو احتیاط آپ میں ہو کیا بات ہے ڈائریکٹری - میں TEMP میں نہیں تھا، لیکن میں نے غلطی کی تھی میرے گھر کی ڈائریکٹری میں، تو میں ہر چیز کو ہٹانے گے میرے گھر کی ڈائریکٹری میں. اور میں واقعی میں اس سے پہلے کیا ہے، اور ہے میں نے آپ سے پہلے یا اس کے کیا ہے لگتا ہے جے اس سے پہلے کیا ہے. روب: میں نے غلطی سے ہٹا دیا ہے - تو تھوڑا سا کے لئے اس کمانڈ کو نظر انداز. جوزف: مزہ نہیں. روب: تو سلیش بن ڈائریکٹری میں ایک ہے وہاں ہوں گے جہاں بائنری فائلوں کے گروپ بجنا طرح واقف ہو جائے. ٹھیک ہے، بجنا اور بنیادی طور پر ان میں سے سب میں کمانڈ میں چل رہا ہوں کہ چیزیں لائن سلیش بن ڈائریکٹری میں ہیں. جوزف: LS طرح یہاں ہے. روب: تو LS، سلیش، گے ڈاٹ اس ڈائریکٹری کی فہرست. جوزف: RM اس ڈائریکٹری میں بھی ہے. روب: میں نے غلطی سے RM ہے، آریف ایڈ بن، میں کر سکتا ہوں کسی بھی کمانڈ کو ہٹا دیا ہے جس میں ممکنہ طور پر کبھی بھی چاہتے ہیں. جو اس کے بعد میں نے ابھی دوبارہ انسٹال ایک اس نقطہ پر نئے آلات. جوزف: تو بہت ہوشیار رہنا ہے جب آپ یہ کمانڈ استعمال کریں. سامعین: [اشراوی]؟ روب: جی ہاں. یہ بھی میں حاصل کرنے کی ایک بری عادت ہے. آپ کو نوٹس ہے تو، اب میں ہوں - ساتھ ساتھ، آپ کو نوٹس، لیکن نہیں کر سکتے ہیں میری زوم ہو سکتا ہے میں کر سکتے ہیں. تو میں اب جڑ @ آلات ہوں. تو jharvard کے ہم چاہتے ہیں صارف ہے آپ ہمیشہ کا استعمال کرتے ہوئے. روٹ کی اجازت ہے کہ صارف ہے بالکل کچھ بھی کرنے کے. میں jharvard کے ہوں تو، نوٹس میں سی ڈی کی کوشش کرتے ہیں - کہ ایک ڈائریکٹری کیا ہے؟ اوہ، جڑ ایک اچھی مثال ہے. تو سی ڈی، جڑ. اجازت سے انکار کیا. کیونکہ ہم اس کی لسٹنگ میں نظر آتے ہیں - اور پھر، آپ کو کرنے کی ضرورت نہیں مکمل طور پر اس بات کو سمجھتے. لیکن ان تین ڈیش کہہ رہے ہیں کہ کسی دوسرے کی اجازت نہیں ہے اس ڈائریکٹری میں صارف. اور ڈائریکٹری کے لئے ہوتا ہے صارف کی جڑ کی طرف سے ملکیت ہو. تو میں ہوں حقیقت یہ ہے کہ jharvard کے اور کوئی جڑ نہیں ہے جو ایک میں اجازت ہے اس ڈائریکٹری، کہ میں ہوں کا مطلب ہے کہ اجازت حاصل کرنے کے لئے جا رہا ہے جب میں اس میں CD کرنے کی کوشش کریں. میں جڑ ہوں تو، میں نے اجازت کے لئے ہے جن میں بالکل کچھ، کرنا ضروری فائلوں کو خارج کر آلات اور پوری بات کو تباہ. تو اس میں حاصل کرنے کے لئے ایک بری عادت ہے صرف آپ کے ارد گرد گھوم جڑ کے طور پر آپریٹنگ سسٹم. میں ویسے بھی ایسا. سوالات؟ اور میں، جڑ باہر نکلیں jharvard کے طور پر رہیں گے. ٹھیک ہے. زیادہ متعلقہ حکم دیتا ہے. تو ہمارے TEMP میں واپس جا رہا، MV کمانڈ اقدام کے لئے کھڑا ہے. آپ کو منتقل کر سکتے ہیں. اب ہم، B نے اسے فون کرنا چاہتے ہیں تو اب یہ بی کہا جاتا ہے. یا شاید ہم منتقل کرنا چاہتے ہیں B ایک ڈائریکٹری ہے. تو اب اس ڈائریکٹری خالی ہے. میں واپس اپنے گھر کی ڈائریکٹری میں جانے کے، گے ہم، B یہاں میں ہے کیونکہ گھر کی ڈائریکٹری سے ایک ڈائرکٹری تھا B اندر گیا تھا کہ ڈائرکٹری CP بھی ہے. تو CP، سپر سیکشن کاپی ڈاٹ، متن. میں کی، ڈاٹ، متن یہ کال کر سکتے ہیں. اب ہم دونوں سپر سیکشن ہے، ڈاٹ، متن، اور S، ڈاٹ، متن. یہ بھی ڈائریکٹریز پر کام کرتا ہے. میں نے ایک فائل ایڈ آریف. تو CP - ٹھیک ہے، سب سے پہلے کی CP، TMP، tmp2 کوشش کریں. تو ڈائریکٹری TMP omitting کی. RM کرنے کے لئے تو اسی طرح، پہلے سے طے شدہ رویے ڈائریکٹریز پر کام نہیں کرنے کے لئے ہے. اور پھر، RM کی طرح، پہلے سے طے شدہ رویے - ٹھیک ہے، یہ کام کرنے کے لئے ہو رہی ہے ڈائریکٹریز کے ساتھ ایک، ڈیش-R دور ہے. تو تکراری TEMP کاپی tmp2 میں ڈائریکٹری. اور تو اب ہم، TMP اور tmp2 دونوں اور یہ کہ مددگار نہیں ہے TMP پہلی جگہ میں خالی تھا. Tmp2. اب tmp2 میں TMP کی کاپی کرتے ہیں. اور ہم tmp2 بھی فائل ہے کہ دیکھتے ہیں ایک، کیونکہ ڈائریکٹری اور اس کے اندر وہ سب کچھ ڈائریکٹری میں کاپی کیا گیا تھا. اور یہ کسی حد تک مددگار ثابت ہو سکتا ، آپ کام کر رہے ہیں کا کہنا ہے کہ مسئلہ پر ایک قائم - یا اصل میں، بعد مسئلہ کے سیٹ ہیں سے بھی زیادہ اہم، کیونکہ وہاں ایک پوری چڑھانے ہو جائے گا فائلوں اور چیزوں کی. لیکن آپ کو صرف ایک سپلٹ کے لئے، کرنے کے لئے چاہتے دوسرا، تم ٹھیک، کی طرح ہو، میں ہوں کچھ مختلف کوشش کی جا رہی. مجھے صرف اپنی پوری پر pset1 کاپی کرتے ہیں پر pset1 بیک اپ میں ڈائریکٹری تو ہے کہ اگر میں کر سکتے ہیں، چیزوں کو screwing کے ختم اپنے بیک اپ ڈائریکٹری میں جانا. کے زیادہ مناسب طریقے ہیں اپنے کوڈ کی پشت پناہی versioning، لیکن یہ ہمیشہ صرف بنانے کے لئے ایک فوری طریقہ ہے یقین ہے کہ آپ کو کسی چیز کی ایک کاپی ہے آپ کو نظر ثانی کرنے کے بارے میں ہیں. تو گونج بھی ایک آف کمانڈ ہے sillily کی طرح صرف پرنٹ گا کمانڈ لائن بالکل وہی جو آپ کی بازگشت کے لئے چاہتا تھا. تو ہیلو بازگشت. ہم صرف ہیلو پرنٹ کریں گے. ہیلو دنیا بازگشت. ہم ہیلو دنیا پرنٹ کریں گے. استعمال میں آتا ہے جب آپ حکم امتزاج شروع. اور پھر، آپ کو مکمل طور پر کی توقع نہیں ہے ابھی تک اس بات کو سمجھتے ہیں، لیکن یہ ہے دیکھنے کے لئے کچھ. اور پھر آپ کو مثالیں ہیں Googling رہے ہیں یا آپ کو آپ کرنا چاہتے ہیں کا احساس کچھ، یہ مددگار ثابت ہو سکتا. تو چلو، ایک مثال کے طور، تو LS، ڈیش، ایل. تو یہاں میں پیداوار کو دیکھ LS کی، ڈیش، ایل. اور میں ٹھیک ہے، میں کرنا چاہتے ہیں، کا کہنا ہے کہ ایک فائل میں اس کی دکان. یہاں اس کی پیداوار کے تمام، میں چاہتا ہوں ایک علیحدہ فائل میں ڈال. علامت سے تو یہ تھوڑا سا زیادہ ہم فون کرنے جا رہے ہے. ہم منتقل کیا جا رہے ہیں ایک فائل میں پیداوار. کہ ہے کیونکہ، کی فائل وغیرہ کہتے ہیں میں نے ہمیشہ اسے فون کرنے کی کوشش کرتے ہیں کیا. تو اب ہم ہم دیکھتے ہیں ایک یہاں بلاہ دائر. اور میں اسے کھولو تو میں یہ دیکھ لیں گے حکم سے بالکل پیداوار میں صرف بھاگ گیا. اور اسی طرح، آپ کر سکتے ہیں - یہ ایک فائل کی پیداوار، اس تھا ایک فائل سے ان پٹ حاصل ہے. ایک کمانڈ کیا ہے کہ میں - جوزف: میں نے آپ استعمال کر سکتے ہیں شاید، اس سے کم یا اس سے زیادہ. روب: مگر کیسے صرف کم وغیرہ کے بارے میں؟ مجھے پتہ نہیں ہے. آپ کو اس صورت حال میں آتے ہیں، جیسے اس کے لئے مفید ہے کہ psets میں ہے. جوزف: تم گونج میں پائپ یہ کر سکتے ہیں. پائپ اسے دیکھنے کی گونج میں فائل. روب: یہ پائپ ہے. جوزف: معذرت. روب: ٹھیک ہے. تو یہ ایک فائل کی پیداوار ہے. یہ فائل سے متن حاصل ہے اور پروگرام کے لئے اس کے حوالے. اور تم بھی اس آدمی کو دیکھ لیں گے. تو اس قسم کی ایک بار میں دونوں کام کر رہا ہے. اور اصل میں، میں نے دو نئے ملواتا ہوں صرف اس کے استعمال کرنے کا حکم دیتا ہے. تاریخ صرف یہ ہے کہ ایک آسان کمانڈ ہے کی فہرست کو پرنٹ کرنے کے لئے جا کچھ میں نے کبھی ایک کمانڈ لائن کو چلانے ہے. تو ہم یہاں میں ہے کہ سب کچھ دیکھ اس پورے وقت چل رہا. LS کی بہت. اور ایک اور مفید کمانڈ grep ہے اس کا مقصد پر تلاش کرنے کے لئے ہے نمونوں کے لئے تلاش متن، اچھی طرح سے، جو کچھ بھی آپ کے لئے تلاش اس کے لئے نظر کرنا چاہتے ہیں. اور تو یہاں ایک آسان استعمال کا کہنا ہے کہ، ہے ہم تاریخ پر قبضہ کرنا چاہتے ہیں. اور مجھے حکم دیتا ہے کے لئے نظر کرنا چاہتے ہیں میں نے جہاں - ایک کیا ہے تلاش کرنے کے لئے مفید ہے؟ جوزف: [اشراوی]؟ روب: یا صرف سب کے لئے دیکھو جو بھی وجہ کے لئے، کو چھوتی ہے. تو یہ اس طرح نظر آئے گا ہے. اور آپ کو مکمل کرنے کی ضرورت نہیں سمجھتے ہیں کہ. لیکن خیال یہاں ہے، کی تاریخ دے رہا ہے یہ یہاں کیا ہی پیداوار یہ پورے چھپائی جہاں میں نے کبھی بھی چلائے گئے ہر چیز کی تاریخ. اس کے بعد ہم کہ گزر رہے ہیں - تو بجائے اس کے پردے پر پرنٹ کرنے کی، ہم کہ منتقل کرنا چاہتے ہیں کے لئے تلاش کیا ہے جس میں کمانڈ grep لفظ رابطے کی تمام مثالوں. اور اس کے اس مجموعہ کا استعمال کرتے ہوئے فورم کے اوزار تاریخ اور grep، میں، ٹھیک ہے، دیکھ سکتے ہیں یہاں حکم کے تمام میں نے کبھی چلانے کے، اور یہاں کسی حد تک عام ہے. ہم کے نیچے دیے گئے ہیں. اور یہ بھی میرے کمانڈ دے رہی ہے میں صرف تھا کہ بھاگ گیا اس میں لفظ رابطے. لیکن پائپ ایک بہت مفید چیز ہے ایک سے زیادہ پروگراموں کا امتزاج کے لئے. اور اصل میں، یہ لشکر طیبہ کے لئے ایک شارٹ کٹ ہے میرے پیداوار وغیرہ دائر کرنے کی تاریخ، اور مجھے فائل وغیرہ کا استعمال کرتے ہوئے grep دو میں نے تلاش کرنے کے لئے چاہتے ہیں کے طور پر. تو پائپ صرف ایک شارٹ کٹ ہے ان دو حکم کے لئے. جی ہاں. 4 اسپیکر: [اشراوی]؟ روب: جی ہاں. کیا ہے - اوہ. ٹیسٹ ہیں. بلی، کتا، مچھلی. تو میں grep کرنا چاہتے ہیں. ڈیش، R، پھر، کی جا رہی ہے تکراری، تو میں نیچے اترتے کرنا چاہتے ہیں تمام ڈائریکٹریز. میں تکراری سب کے لئے grep کرنے کے لئے چاہتے ہیں - اور مجھے عارضی طور پر حاصل کرتے ہیں راستے سے اس سے باہر. مجھے نظر انداز. ٹھیک ہے. تو میں نے عارضی طور پر کے لئے grep کرنا چاہتے ہیں لفظ مچھلی کی تمام مثالوں. اور اس طرح میں یہاں کیا کر رہا ہوں grepping ہے تکراری طور لفظ مچھلی کے لئے. اور ستارہ ان میں سے سب سے زیادہ کا مطلب اس ڈائریکٹری میں فائلوں. اور اس طرح یہ، مجھے کی تردید کی اجازت دے دی یہ اس کو پڑھنے کے لئے کی اجازت نہیں ہے، کیونکہ خاص طور پر فائل. لیکن یہ فائل، ٹیسٹ میں مچھلی پایا. میں نے بھی خاص طور پر، کا کہنا ہے کہ، میں صرف کر سکتے ہیں میں، فائل وغیرہ میں دیکھنا چاہتا ہوں یہ کچھ بھی نہیں ملے گا جس صورت. میں صرف فائل، ٹیسٹ میں دیکھنا چاہتا ہوں. یہ مچھلی کو مل جائے گا. یہ ایک بہت مفید حکم ہے عام طور پر جاننا. grep کرنے کے لئے کچھ متبادل ہیں زیادہ ہونا چاہیے تھا کر رہے ہیں دوستانہ پروگرامر، لیکن میں کرتے ہیں اب بھی grep پر واپس گر. سوالات؟ ٹھیک ہے. دیگر حکم ہے؟ اوہ. کہ میں نے ہمیشہ صرف ایک ایک بند مذاق کیل ہے تلاش کرنے کے لئے. میں اس خوبصورت میں ہوں تو محسوس فل سکرین موڈ، میں نہیں کی طرح سب سے اوپر ہے ٹول بار یا کسی بھی چیز. تو کیل بس مجھے ایک اچھا تھوڑا دیتا ہے یہ ٹھیک ہے کیلنڈر اب کاٹ، میں فرض ہے. لیکن اچھا تھوڑا کمانڈ. جوزف: یہ [اشراوی] ہے. آپ ہو سکتا ہے کہ دیگر حکم دیکھا بجنا شامل ہیں اور بنانے کے. ہم ان پر چلے جائیں گے مزید تفصیل بعد میں. لیکن آپ پر کام کر رہا ہے تو pset کے، آپ کو ہونا چاہئے ان سے واقف. روب: ٹھیک ہے. کمانڈ لائن کی چیزوں پر سوال؟ ٹھیک ہے. تو کچھ پر منتقل سی سے متعلق سامان کے. متغیرات ریاضی. ٹھیک ہے. ہم نے شروع میں ریاضی تھا، تو جیسا تم نے بھی سی میں ریاضی کے استعمال کر سکتے ہیں ہم مکمل طور پر اس کے حاصل کرنے سے پہلے تو متغیر. یاد رکھیں کہ آپ کو ایک اعلان جب بھی INT ایکس یا فلوٹ Y، آپ کی طرح متغیر اس سے پہلے ٹائپ دینے کے لئے ہے متغیر نام. تو ہم نے دیکھا اقسام اب تک، INT ہیں فلوٹ، ڈبل، طویل طویل، جس میں اصل میں ہم ہے تو پتہ نہیں ہے اب تک دیکھا. کچھ دوسرے لوگوں کے ہیں. ہم چار دیکھ لیا ہے. یہ ہے کی طرح ہے، جس میں مختصر ہے مخالف کی طویل طویل ہے جہاں ایک عدد صحیح سے چھوٹا. ہم نے بھی تار دیکھا ہے. تو کیا سٹرنگ کے بارے میں خاص بات ہے؟ میں کیوں یہ کہیں گے کافی نہیں INT طرح؟ 4 اسپیکر: یہ واقعی کوئی وجود نہیں ہے. روب: جی ہاں. ہم سٹرنگ ہے تو صرف ایک وجہ ہے تمہیں کیا کرنا کیونکہ جب ہیش، cs50.h. میں شامل ہیں اور ہم نے بعد میں اس کی مثالیں دیکھیں گے - اوہ، کہ اچھی طرح ہینڈل نہیں ہے - cs50.h، میں کچھ کر رہی ہے جہاں قسم کے خطوط تحفظ، چار ستارہ، سٹرنگ. اور تو ہے کہ ہم بھی نہیں ہے کہ کہہ رہا ہے ایک چار ستارہ ابھی تک کیا ہے. لیکن یہ ہم سٹرنگ چاہتے ہیں کہہ رہا ہے. آپ، سٹرنگ کا استعمال کرتے ہوئے کیا گیا ہے کسی بھی جگہ چار ستارہ کا استعمال کرتے ہوئے کر سکتے ہیں، اصل میں ایک قسم ہے جو C زبان میں موجود ہے. لیکن ہم اس سے ملے گی. اوہ، اور یہ صحیح واپس چلا جاتا ہے. صاف. bool کے ساتھ تو ایک ہی بات جہاں سچ اور جھوٹ. یہ واقعی سی میں ایک بلٹ میں قسم نہیں ہے اس کے بجائے، یہ صرف، یہ ہے ہے قیمت صفر؟ اس وقت ہم صرف غور کریں گے یہ غلط ہو. اس کی قیمت ہے - ٹھیک ہے، یہ کسی بھی ہے صفر نہیں ہے کہ قیمت؟ اس کے بعد ہم یہ سچ پر غور کریں گے. تو ایک، دو سچ ہے، سچ ہے nonzero کچھ سچ ہے. لہذا ان ہیں. اعلان متغیر پر سوالات اور متغیر اقسام اور تمام ہے؟ جی ہاں. 4 اسپیکر: طویل طویل کے لئے، کتاب میں، یہ طویل طویل INT ہونا تھا. لیکن صرف طویل طویل کام کرے گا؟ روب: تو ان کی قسم modifiers کے. تو int ایکس. تو ہم نے بھی int اہستاکشرت ایکس کہہ سکتے ہیں. ہم مختصر INT ایکس کہہ سکتے ہیں. ہم int X طویل طویل کہہ سکتے ہیں. لیکن ان چیزوں کی بہت زیادہ کسی میں صرف اتنا کہا، int اہستاکشرت، مختصر INT، INT طویل طویل، آپ سے چھٹکارا حاصل کر سکتے ہیں INT اور یہ صرف سنبھالیں گے آپ int کا مطلب ہے کہ. صرف جس کا مطلب تو اہستاکشرت X، - آپ کو معلوم ہے کہ کس طرح عام طور پر ایک int کے ساتھ، آپ ایکس منفی 3 برابر کہہ سکتے ہیں؟ ایک اہستاکشرت int کے ساتھ، تم نہیں کر سکتے. جوزف: اور پھر، کیمرے کے لئے، سوال فرق کیا ہے، تھا طویل طویل INT درمیان اور صرف طویل طویل؟ روب: جی ہاں. تو میں تقریبا کبھی نہیں کرے گا طویل طویل INT لکھنا. میں طویل طویل لکھیں گے. جوزف: کوئی سوال؟ روب: ٹھیک ہے. اس کی تو پاگل سی یاد دہانی ہے کہ کس طرح ہم ایک متغیر کا اعلان اور ابتدا متغیر اور ایک دوسرے کا اعلان متغیر اور ابتدا یہ ایک قدم میں تمام. تو متغیر کا اعلان اور ابتدا متغیر نہیں ہے لیکن ایک ہی لائن پر ہو سکتا ہے. تو ہم معیاری ریاضی کے آپریٹرز ہے آپ استعمال کرتے رہے ہیں - پلس، مائنس، تقسیم، بار. ہم دیکھیں گے جس modulo ہے، بھی ہے. کم از کم میں، نہیں ہے سی، ایک بلٹ میں بجلی کی exponentiation جزم آپریٹر. ٹھیک ہے، ایک جزم آپریٹر ہے، لیکن اس کی طاقت نہیں ہے. جوزف: لیکن یہ exponentiation نہیں ہے، جی ہاں. روب: جزم کا استعمال نہ کریں اس کا مطلب یہ ہے کہ فرض مربع یا جو کچھ بھی طرح. تو کچھ چیزیں میں رکھنے کے لئے ڈویژن کے بارے میں ذہن. میں کھڑا کریں گے. تو ابتدا جواب قرار دیا. تو ہم فلوٹ جواب کہہ رہے ہو 10 سے تقسیم 1 برابر. دو اعشاری مقامات کا جواب پرنٹ. اور اس طرح کی بات کی ہے کہ میں اعداد و شمار printf کا آدمی ہے کہ ، ڈاٹ، 2F٪ کیا Heck مطلب ہے؟ اور یہ صرف، اچھی طرح سے، کا مطلب 0.2 کو نظر انداز. اور٪، F ہم استعمال کیا جاتا ہے فلوٹ پرنٹ کرنے کے لئے. 0.2 کہہ رہا ہے، پرنٹ ہے دو اعشاری مقامات پر تیرنے لگتے ہیں. تو اس پروگرام پر ایک بگ ہے، اور آپ شاید کچھ میں سے پہلے اس نے دیکھا ہے پہلے کاوچ سرفنگ کے کورس. لیکن اس مسئلے سے کیا ہے؟ 5 اسپیکر: صفر. روب: جی ہاں. ہم کہتے ہیں تو، جواب برابر 1 10 سے تقسیم، ہم چاہتے ہیں 0.1 کرنے کے لئے جواب. لیکن اس کی 1 10 سے تقسیم، 1 ایک ہے عددی، 10 ایک عدد صحیح ہے. اور اس طرح ہم سے تقسیم ایک عددی کرتے ہیں جب ایک عدد صحیح، ہم واپس حاصل کرنے کے لئے جا رہے ہیں ایک عددی. تو 10 سے 1 تقسیم 0.1 ہے. یہ ہمیں ایک عددی دو کرنے کی ضرورت ہے کے بعد سے، یہ صرف دور پھینک جا رہا ہے دشملو جگہ اور کا کہنا ہے کہ جواب 0 ہے. اور اس طرح ہم، یہاں جواب پرنٹ جب یہ 0.00 پرنٹ کرنے کے لئے جا رہا ہے. جوزف: اور صرف ایک نوٹ کے طور پر، یہ اصل میں کے بعد کیا ہے دور ڈالی اعشاریہ. آپ اس کے بجائے تھا تو اگر 6 10 سے تقسیم، تم نے اسے آپ کو دے گا لگتا ہے کہ ہو سکتا ہے 0.6 اور پھر آپ 1 کی پکڑ دھکڑ کرے گا. یہ ٹائپ لیکن جب اصل میں، کیا ہوتا ہے کاموں یہ کہ یہ کیا ہے قطرے ہے دشملو نقطہ کے بعد. تو 0.6 0 بن جاتا ہے. روب: جی ہاں. اور ہم اس کے لئے تراش کہیں گے. تو آپ کو ایک int پر ڈال جب، دشملو چھوٹا ہے. تو اس کے لئے درست کریں - ہے اصل میں دو. اور میں، کہ دوسری کرنے جا رہا ہوں، کیونکہ یہ ایک بہت آسان حل ہے. تو ایک طے floats استعمال ہے ڈویژن میں. اور واقعی، آپ کو صرف کرنے کی ضرورت ہے ان میں سے ایک ایک فلوٹ بنانے. لیکن یہ کسی حد تک واضح ہے صرف ان دونوں floats کے بنانے کے لئے. تو 1.0 10.0 کی طرف سے ہے تقسیم دو floats کی تقسیم. تو جواب کیا جا رہا ہے ختم ہو جائے گی ایک فلوٹ، اور تو آپ صحیح طریقے سے یہاں 0.10 پرنٹ. اتنی اچھی طرح سے کام نہیں کرتا ہے کہ کچھ کے بارے میں یہ ہے کہ، کے ساتھ ساتھ، اس بات کا یقین ہے، یہ آسان تھا ایک 1 تبدیل کرنے کے لئے کافی یہ 1.0 بنانے کی طرف سے فلوٹ. لیکن کیا اگر اس کے بجائے ہم دو integers تھا INT طرح ایکس 1 اور int Y برابر 10 کے برابر ہے، اور اس کے بعد ہم چاہتے تھے X Y کی طرف سے تقسیم کیا گیا ہے؟ تو یہ صرف آسان نہیں ہے x.0 یا کچھ کرنا. تو اس کے لئے طے کر ڈال ہے. تو کاسٹنگ سی تبدیل کرنے کے لئے میں ایک راستہ ہے ایک متغیر کی قسم سے. تو یہاں، 1 ایک عدد صحیح ہے. اور کے سامنے میں اس فلوٹ ڈال کی طرف سے یہ، ہم ایک فلوٹ 1 کاسٹنگ ہیں. اور تو اس کو تبدیل کریں گے ایک 1.0 1. اور اس کو تبدیل کریں گے ایک 10.0 کرنے کے لئے 10. اور پھر چیزوں کو اسی طرح برتاؤ ہم صرف ظاہر ہوا ہے پچھلے ورژن جہاں، توقع کے مطابق، ہم نے 0.10 حاصل اور یہ کہ پرنٹ کریں گے. اور ہم ایسا کر سکتے ہیں بہت متغیر،. تو ہم کا کہنا ہے کہ، فلوٹ ایکس سکتے ہیں فلوٹ Y کی طرف سے تقسیم. جوزف: کوئی سوال؟ روب: تو صرف باقاعدہ ریاضی کی طرح، ہم آپریٹر مقدم ہے. تو ریاضی کی کلاس میں، آپ کو زیادہ ہونے کا امکان ہو آپریشن کے حکم اسے فون کرنے کی. یہاں، سرکاری اصطلاح ہے آپریٹر مقدم. لیکن آپریٹر مقدم، یا سب سے زیادہ آپریٹرز، آپ توقع کریں گے کے طور پر ہے. تو ریاضی کی طرح، 2 بار 10 ہے زیادہ باریک بینی سے گروپ کیا جا رہا یہ 10 2 سے تقسیم اور اس کے بعد 2. آپریشن کے حکم، یہ 2 کروں گا اوقات 10، 10 پھر 2 کی طرف سے تقسیم، اور یہ 20 کے علاوہ 5 کے علاوہ 2 کروں گا. تو یہ توقع کے مطابق ہے، اور آپ استعمال کر سکتے ہیں گروپ اظہار کی طلب قوسین. آپ مربع بریکٹ کا استعمال نہیں کر سکتے ہیں گروپ اظہار کرنے کے لئے. جی ہاں؟ 5 اسپیکر: سکتا ہے آپ اصل میں واپس ایک دوسری جانا ہے؟ آپ کو ایک تار کے لئے ایک int ڈال سکتے ہیں؟ روب: تو C میں، آپ کو کچھ بھی ڈال سکتے ہیں آپ چاہتے ہیں میں کچھ کرنا چاہتے ہیں. یہی ہے مطلب یہ نہیں ہے ایسا کرنے کے لئے ایک اچھی بات. تو آپ کو ایک int ڈال جب ایک سٹرنگ، مطلب یہ ہے کہ - اور ہم نے اس میں مل جائے گا بہت زیادہ اچھی طرح - جوزف: بہت بعد. روب: میں بہت بعد میں کا کہنا ہے کہ نہیں کرنا چاہتا تھا، تو میں اپنی سزا کو تبدیل کرنے کی کوشش کی. ہم بہت زیادہ اچھی طرح اس میں مل جائے گا بعد جہاں واقعی آپ کو ایک ہے جب سٹرنگ متغیر - تو ایک تار منمانے ہو سکتا ہے طویل، ہے نا؟ اور ہم نے ایک int ہے کہ کیا گیا ہے طویل طویل چار بائٹس اور آٹھ ہے بائٹس اور ایک فلوٹ چار بائٹس ہے. تو ایک تار میں، صرف ایک int کی طرح، صرف ہے اس بائٹس کی ایک مخصوص تعداد. اور یہ کہ چار بائٹس ہو جائے گا. لیکن ایک تار خوبصورت ہو سکتا ہے منمانے طویل، ہے نا؟ تو خوش دنیا پہلے ہی، کہ 10 ہے حروف یا جو کچھ بھی، جو پہلے سے ہی ہے 4 بائٹس ختم ہو جائے کرنے کے لئے جا میں ایک سٹرنگ میں فٹ کر سکتے ہیں. اور اس ڈور واقعی کس طرح کام کرتا ہے وہ کہاں یاد میں اس سٹرنگ ہیں رکھا جا رہا ہے. اور تو یہاں پر، جب میں کہتا ہوں سٹرنگ ایکس ہے ایکس کے اندر، ہیلو دنیا کے برابر ہے صرف اوہ، ہیلو دنیا محفوظ کیا جاتا ہے، کہہ رہے ہیں یاد میں اس خاص جگہ پر. تو ہم نے ایک کے لئے ایک عددی ڈال کرنے کی کوشش کریں تو سٹرنگ، تو ہم تشریح کرنے کی کوشش کر رہے ہیں میموری کی کچھ بے ترتیب حصہ ایک تار کے طور. اور یہ کہ تقریبا ہمیشہ چیزوں کو توڑ دیتا ہے. جوزف: لیکن اگر اس confuses ہے آپ کو، ہم اس کا احاطہ کیا جائے گا بعد میں گہرائی میں زیادہ. روب: جی ہاں. تم کہاں جا رہے ہو یہ ہے اشارہ میں حاصل کرنے کی. اور یہ کہ ایک اہم حصہ ہے اس کورس کے دو ہفتوں کی. اسپیکر 6: یہ اشیاء کی طرح کام کرتا ہے دیگر زبانوں میں ہے یا نہیں سچ میں؟ روب: تو دوسری زبانوں، اشیاء میں اشارہ کا استعمال کرتے ہوئے کی نمائندگی کی جائے گی. یہ اگرچہ، ایک ہی بات نہیں ہے. کوئی خیال؟ جوزف: نمبر کوئی خیالات. روب: ٹھیک ہے. جوزف: اگلا. روب: بس اس کے ساتھ جاؤ. ٹھیک ہے. تو modulo ہے. ہم، کے علاوہ ہے، مائنس کی طرح تقسیم، اور ضرب. تو modulo ہے آپ کر سکتے ہیں میں سے ایک ہے سے پہلے دیکھا ہے نہ. اور یہ صرف دے، کا کہنا ہے کہ میرے باقی. تو 55٪ 10. تقسیم 55 کر کے باقی 10 کی طرف سے 5 ہو جائے گی. تو 55 فیصد 10 5 ہے. اور 3٪ 5 3 کیا جائے گا. 8٪ 8 0 ہو جائے گا. 16٪ 15 1 ہو جائے گا. جوزف: اس کے ساتھ ایک بات نوٹ کریں، بھی، اس کی توقع کے طور پر کام نہیں کر سکتے ہیں ہے اگر آپ کو ایک منفی نمبر استعمال کرتے ہیں تو. تو منفی 5٪ 4، کچھ لوگ یہ ہے کہ لگتا ہے کہ ہو سکتا ہے - آپ منفی کیا سوچیں گے 5٪ 4 ہو گا؟ 5 اسپیکر: ایک. جوزف: تو کچھ لوگوں کو، ایک کا کہنا ہے کہ کچھ لوگوں کو منفی ایک کا کہنا ہے کہ. لیکن کیا - روب: میں بھی نہیں ہوگا ان میں سے ایک نے کہا. جوزف: دو، معذرت. کچھ لوگوں کا کہنا ہے کہ - روب: تین. جوزف: تین؟ روب: منفی - منفی پانچ - کیا تھا - جوزف: تین، تین، تین. معذرت. کیونکہ آپ کو ہے جب، عام طور پر، modulo ہے دوسری جگہوں پر یہ دیکھا، یہ عام طور پر مطلب حق، ایک مثبت تعداد واپس؟ روب: تو ہم ریاضی میں کہنا ہے کہ جب،٪ 10 کی، وہ تمہیں دینے کے لئے چاہتے ہیں کے لئے ہوتے ہیں - ہم 10 کی طرف سے جدید، تو ہم کرنے کی توقع 0 سے 9 کے درمیان ایک بڑی تعداد. یہاں، یہ بات نہیں ہے کہ آپ منفی تعداد واپس مل جائے گا. جوزف: تو منفی 5٪ 4 1 منفی ہو جائے گا. روب: لیکن یہ آپ MOD-ING ہیں کہ غیر معمولی ہے کے ساتھ شروع کرنے کے لئے منفی تعداد. اس ہوں. جوزف: جی ہاں. روب: عوامی ہنگامی ہال. ٹھیک ہے. کے بارے میں باہر کی طرف اشارہ کرنے کے لئے تو ایک آخری بات floats کے، یہ ایک خطرناک رویے ہے لیکن floats کے عین مطابق نہیں ہیں نمائندگی. تو پھر واپس بائٹس کے لئے جا رہا، یاد ایک int ہمیشہ چار بائٹس اور ایک ہے کہ فلوٹ ہمیشہ چار بائٹس ہے. تو لوکاس کی مثال بہت اچھا ہے. تو 3 سے 1 تقسیم کے بارے میں سوچنا. تو 0،3333333. میں صرف 32 بٹس، کس طرح کر سکتے ہیں، تو میں بالکل 0،33333 سٹور؟ اور ہو سکتا ہے، کسی بھی وجہ سے، آپ کا کہنا ہے، ٹھیک ہے، ٹھیک ہے، صرف اتنا کہنا یہ خاص طور پر 1011001، چلو کہ صرف یہ ہے کہ 0.333333 ہونا چاہئے کہتے ہیں. ٹھیک ہے، آپ کو صرف ایک محدود تعداد کے ہیں ان بٹس، تو یہ ناممکن ہے ہر ایک چل نقاط کی نمائندگی کرتے ہیں صرف 32 بٹس بھی قدر. ٹھیک ہے، یہ کسی بھی نمائندگی کرنے کے لئے ناممکن ہے چل نقاط کی قیمت لامحدود دی - ٹھیک ہے، بٹس کی کسی بھی محدود تعداد میں دیا. ہم نے استعمال کیا جب تو یہاں مسئلہ، اچھی طرح سے، ہے دو اعشاری مقامات پر پرنٹ کرنے کے لئے، ہم صحیح طریقے سے جواب 0.10 حاصل کیا. لیکن ہڈ کے نیچے، یہ واقعی ہے ممکن طور پر بند کے طور پر محفوظ کیا جا رہا ہے ان بٹس کے طور پر 0.10 نمائندگی کر سکتے ہیں. یہ اگلے سلائڈ پر ہے؟ یا یہ نہیں ہے؟ جوزف: جی ہاں، یہ ہے. روب: Blegh، blegh. جوزف: جی ہاں، آپ کر سکتے ہیں تھوڑا سا نوٹ ھیںچو. روب: میں زوم کرنے کے لئے جا رہا ہوں اس پر آخری میں. ارے اوہ میرے، کہ [اشراوی] ہے. تو اس نمبر. یہی وجہ ہے کہ طباعت جائے گا، کیا ہے ہم اس پروگرام کو چلانے کے. اور یہ کہ واقعی ایک بڑا سودا نہیں ہے نوٹس ہم صرف کی طرح کے بارے میں دیکھ بھال کر رہے ہیں دو سے تین اعشاری مقامات. کی طرح ہم صرف اصل میں، 0.10 طباعت ہم کچھ بھی غلط نہیں دیکھا اور اس وجہ سے. لیکن ہم میں ہو رہی شروع، ایک بار عین مطابق، صحیح تعداد یہ ہے نمائندگی، ہم ایسا نہیں کر سکتے ہیں دیکھنے کے بالکل 0.1 کی نمائندگی کرتے ہیں. اور یہاں مسئلے کا حصہ، کی طرح ہے ٹھیک ہے، یہ ہے کہ، ٹھیک ہے، ٹھیک ہے، لیکن سب سے پہلے، ہم کیا کرنے کی کوشش کی تو، جواب 0.1 برابر برابر؟ صحیح یا غلط واپس جا رہا ہے؟ اور اس طرح یہ کہنا مشکل ہے. میں یہ اصل میں سچ واپس ہو سکتا ہے. اسے پہلے - مجھے پتہ نہیں ہے. آپ نمٹنے شروع ایک بار جواب ہے فلوٹنگ پوائنٹ اقدار کے ساتھ، آپ کو بہت زیادہ سے زیادہ مساوات کا استعمال کرتے ہوئے نہیں کیا جانا چاہئے اس imprecision کی وجہ سے. اور آپ کو معلوم ہے سب کے لئے، اس کے سووان ہے دشملو جگہ ہے فلوٹنگ پوائنٹ کے قابل نہیں تھا صحیح طریقے سے ہینڈل کرنے میں. اور اس طرح مساوات صرف ناکام ہو جائے گی، یہاں تک کہ اگرچہ تعداد - آپ کیا گیا تھا تو اصل تعداد کا استعمال کرتے ہوئے، تعداد چاہئے بالکل ایک ہی رہا ہے. اس طرح 50 کے دوران ہے ان تیرتے کا استعمال کرتے ہوئے حساب نقطہ اقدار، غلطی تعمیر کر سکتے ہیں اپ اور اپ اور اپ، اور چیزیں غلط. جوزف: اور واقعی وہاں کیا گیا ہے یہ ہو رہا ہے کے مشہور مثالیں. ناسا کے انجینئرز اس ہو گیا ہے جیسے میں دھماکے غلط، جس کے نتیجے میں راکٹ وہ شروع کیا گیا ہے کے بعد ہوا. اور اس طرح کے مسائل کے بہت سے. تو جی ہاں. اسپیکر 6: اگر آپ 0.3 F کا کہنا ہے کہ، آرام تراش ہے؟ یا یہ نیچے تک گول یا ہے؟ روب: یہ دور پر printf گا؟ جوزف: میں printf truncates لگتا ہے. روب: ٹھیک ہے. تو ہم اسی طرح اس کے برعکس میں جا سکتے ہیں یہ کہاں کی سمت، اس معاملے میں، اس کی نمائندگی کر سکتے ہیں سب سے قریب 0.1 اس نمبر کے ساتھ تھا. یہ کرنے کے قابل ہو سکتا ہے کے قریب ترین کی نمائندگی 0.2 مخالف میں ہے سمت، 0،199999996356 یا کچھ اور. ہم اس سمت میں چلا گیا تو اگر چیزیں، پھر printf کے 0.3 F لوٹ آئیں گے 1.99 کے بجائے 2.00. جوزف: اور میں نہیں ہوں مکمل اس بات کا یقین. تم ایک چھوٹی سی، تھوڑا لکھنے کے لئے چاہتے ہو سکتا ہے پروگرام صرف یہ دیکھنے کے لیے. روب: لیکن، کیا ہم اس بات کا یقین ہے کہ آپ کو ایک کے لئے اس پر ڈالا کرنے کی کوشش کی تو INT، اور ایک int ڈال جا رہا ہے اگر یہ، دشملو تراش کی وجہ سے آپ 1.9999999 ڈال کرنے کی کوشش کریں ایک int کے لئے، آپ 1 کو مل جائے گا. اور تو آپ کو عام طور پر استعمال کرنا چاہئے ریاضی کی لائبریری میں گول تقریب. سوالات؟ ٹھیک ہے. جوزف: تو حالات پر آگے بڑھ رہے اور بولین اظہار. تو آپ سے پہلے ان کو دیکھا ہے. اور اصل میں، مجھے یقین ہے کہ میری بنانے کمپیوٹر یہاں کی شکل میں ہے. خلائی. معذرت، ہم نمٹنے کے لئے جا رہے ہیں ایک کناروں پر بندش کے ساتھ تھوڑا سا. لیکن ہاں، تم لوگ دیکھا ہے اس سے پہلے شروع میں. تو یہاں اس حق کا اظہار ہے میں استعمال کیا جاتا ہے ایک مشروط بیان. تو صفر مرضی سے زیادہ جواب صحیح یا غلط آپ کو بتا. اور یہ، بہت ضروری ہے کیونکہ وہ ہم سے متعارف کرانے کے لئے کی اجازت دیتے ہیں اپنے کوڈ میں منطق. تو مثال کے طور پر، یہ ایک پروگرام ہے صارف پوچھتا ہے کہ شروع میں لکھا ایک عددی کے لئے اور چاہے ان کو بتاتا ہے وہ آپ کو دیا عددی ایک تھا مثبت یا منفی نمبر. اور دیکھنے کے لئے یہاں پر تبادلوں ہے آپ سب سے پہلے، بیان باہر پرنٹ مجھے ایک عددی دو. اور پھر آپ کو ایک عددی کے لئے ان سے پوچھیں. اور پھر آپ پر مشروط منطق کا استعمال کرتے ہیں یہاں چیک کرنے کے لیے چاہے یہ تعداد صفر یا نہیں کے مقابلے میں اصل میں زیادہ تھا. تو یہاں ہم بولین اظہار ہے بیان اگر مشروط کے اندر. ذہن میں کوئی سوال ہے؟ اس کے بارے میں کوئی سوالات ہیں؟ ٹھیک ہے. تو زیادہ سے زیادہ ہے کورس کے، سے زیادہ. آپ بولین اظہار تعمیر کر سکتے ہیں چیزوں کی قسم کے سب سے زیادہ کا استعمال کرتے ہوئے آپ ریاضی میں لگتا ہے کہ. سے بہت زیادہ. اس سے کم ہونا چاہئے. معذرت. اور وقفہ کاری. روب: خدا نہ کرے اگر آپ اسے چھوڑ دو. جوزف: ٹھیک ہے. زیادہ، سے کم، سے بہت زیادہ سے، یا، کم برابر سے، یا کے برابر. ہم کے لئے چیک کرنے ڈبل برابر استعمال مساوات، ایک ذریعہ کے برابر ہے کیونکہ تفویض، ٹھیک ہے؟ جی ہاں. اور پھر ہم بھی کی طرف سے برابر نہیں کر سکتے ہیں فجائیہ نشان کا استعمال کرتے ہوئے، برابر. اور اس فجائیہ نشان علامت کر سکتے ہیں بھی بڑھایا جائے تاکہ اگر آپ چاہتے ہیں بولین کے کسی بھی طرح وندا کرنے کے لئے اظہار، آپ یہ کر سکتے ہیں. تو یہ صحیح اندازہ ہو جائے گا جواب کم ہے صرف اس صورت میں سے کم یا صفر کے برابر. اس پر کوئی سوال؟ ٹھیک ہے. تو تم بھی ان کے جمع کر سکتے ہیں منطقی اور اور استعمال کرتے ہوئے اظہار منطقی یا. تو یہ، صرف اور علامت ہے جس شفٹ، 7 ہونا چاہئے. اور یہ ہے جو، پائپ علامت ہے ایک کم کیس ایل یہ ایک نہیں ہے یہ ٹھیک ہے آپ کے لئے اہم داخل اوپر ہے. تو آپ کی علامت ان میں سے دو کا استعمال منطقی اور منطقی یا. تو یہ صرف سچ واپس آ جائیں گے تو اس کا جواب ایک، دو، تین، یا چار ہے. اور یہ صرف سچ واپس آ جائیں گے تو اس کا جواب دونوں طرف ہے سے باہر ہے. تو یہ ایک، دو، تین، یا چار نہیں ہے. اور آپ استعمال کریں گے جس طرح کہ ایک اظہار میں - روب: یا ایک صفر یا ایک پانچ. جوزف: صفر یا ایک پانچ. معذرت. جی ہاں، جی ہاں، جی ہاں. ٹھیک ہے. اور اب یہاں، اسی طرح آپ کو یہ اظہار کا استعمال کریں گے، ایک چھوٹی ایک اگر شرط کے اظہار کی طرف بیان، آپ بھی اسے استعمال کریں گے صرف کے اندر ڈال کی طرف سے اسی طرح اگر بیان کی قوسین. تو اس printf صرف آگ گا اگر جواب ایک، دو، تین، یا چار ہے. امتزاج کوئی سوال اظہار کی طلب؟ تو ایک دوسرے سے مشروط ہے ہم نے ایک تو / ورنہ فون کی تعمیر. تو بنیادی طور پر، اب یہ تو ٹھیک ہے، کا مطلب ہے کہ میں چیک کرنے کے لئے چاہتا تھا، کچھ نہیں تھا یہ سچ ہے، پھر جاؤ اور دوسرے عمل انجام. تو اس خاص معاملے میں، میں نے پوچھا ایک عددی کے لئے صارف. عددی صفر سے زیادہ ہے؟ جی ہاں؟ ٹھیک ہے، تو وہ اٹھایا ایک مثبت عدد. اگر نہیں، تو پھر یہ ہونا ضروری ہے منفی یا ایک صفر رہا. تو آپ کو ایک منفی نمبر اٹھایا یا اس کیس میں ایک صفر. جی ہاں. یا ایک صفر. اور پھر ہم بھی، تو / ورنہ ہے تو اور کچھ. تو اس سے ہمیں ایک ہی تسلسل کو پھانسی کی اجازت دیتا ہے چیزیں سب سے پہلے لوگوں کے ناکام صرف اس صورت میں. تو اس صورت میں، اب ہم کر رہے ہیں آپ کو صفر لینے کے گزشتہ ایک. وہ ایک مثبت اٹھایا اور نہ ہی اور نہ ہی ایسا ہے تو ایک منفی نمبر، تو وہ ضروری ہے صفر اٹھایا ہے. تو یہ صرف نیچے جاتا ہے اس طرح چین. کس طرح ایک کی تو ایک مثال کے طور پر تو سے مختلف ہے - ایک تو / اور سے مختلف ہے اگر صرف ایک ہی تسلسل. اور یہ ایک عام سوال ہے کہ اگر آپ کو ایک کی طرح ہو جاتے ہیں تو لوگوں، اچھی طرح سے، ہے سے دعا گو ہیں 95 CS50 میں، کیا اس پروگرام آپ کو بتا؟ 5 اسپیکر: آپ ایک A. ہے جوزف: جی ہاں. آپ کو ہر ایک ہے حق ان میں سے ایک. آپ، آپ کو ایک بی ہے، ایک ایک ہے حق، سی اور ڈی ہے؟ تو ان میں سے سب کا تعین کرنے کے لئے ترتیب میں. 95 90 سے زیادہ ہے جبکہ تو، یہ ہے 80 سے بھی زیادہ، اس میں یہ بھی ہے 70 سے زیادہ، اور یہ بھی 60 سے زیادہ. تو آپ کو ان کے گریڈ کے تمام ہے. اور میں تم گے فرض صرف اے کرنا چاہتے ہیں اسے ٹھیک کرنے کا طریقہ تبدیل کرنے کے لئے ہے ورنہ / تو کے ساتھ ان لوگوں کے. تو اس صورت حال میں، یہ 95 ہے کہ دیکھتا ہے 90 سے زیادہ، اور پھر اس کے کرتا ہے باقی کا اندازہ نہیں بیانات کی. اس کے بارے میں کوئی سوال ہے؟ تو ایک دوسرے سے مشروط کی طرح ہے ہم یہاں ہے کہ ڈھانچہ جو ہم ایک سوئچ بیان کال. تو یہ آپ کو بنیادی طور پر چیک کرنے کے لئے کی اجازت دیتا ہے کیا آپ کو ڈال ایک بڑی تعداد کی قیمت سوئچ کے بیان میں ہے. تو اس صورت حال میں، ہم سوئچنگ کر رہے ہیں (ن) ہے، تو (ن) پر، اور ہم، اوہ، کہہ رہے ہو ایک، تو پھر اس بیان کو پرنٹ. اور پھر وہاں سے نکلنے کی ہے جس کا مطلب، توڑ سوئچ کے بیان سے باہر. یہ ایک نہیں تھا، تو، ٹھیک ہے، صرف آخر میں ان کے تمام معاملات کی جانچ پڑتال. یہ ایک یا دو یا دو سے ہے اور تو اس کی جانچ پڑتال کرتا تین، اور اس کے مطابق پرنٹ. اور کیا یہ طے شدہ مطلوبہ الفاظ یہاں نیچے وہ کسی بھی داخل نہیں کیا تو مطلب ہے ان میں سے، پھر غلط ہے. تو میں (ن) کے لئے دعا گو ہیں اور کہتے ہیں صارف مجھے چار دیتا ہے. ٹھیک ہے، یہ ان صورتوں میں سے کوئی بھی میل کھاتا ہے، تو اس میں کیا ہے پرنٹ پہلے سے طے شدہ حصے. جی ہاں، سوال ہے؟ 5 اسپیکر: آپ بولین استعمال کر سکتے ہیں اظہار کے بجائے ایک، دو، یا تین؟ جوزف: تو سوال آپ استعمال کر سکتے ہے ایک کی بجائے بولین اظہار، دو، اور تین؟ اور C میں، میں آپ کو یقین ایسا نہیں کر سکتے. لیکن دیگر زبانوں میں، جس سے آپ کو طاقت کے آخر میں کا سامنا آپ کر سکتے ہیں جاوا اسکرپٹ کا، طرح سمسٹر. ٹھیک ہے، آپ سب سے پہلے حساب ہوگا پھر اس کی قیمت اور میں اس کا استعمال بیان سوئچ. جی ہاں؟ روب: سوئچ کے فائدے تو حصہ تم نے یہ کیا تو بیانات کے بارے میں سوچ رہا ہے ایک تو / ورنہ، اس طرح (ن) کے برابر ہے اگر کی طرح ایک یا جو کچھ بھی برابر. ورنہ / N برابر ہیں تو دو، جو کچھ بھی کے برابر ہے. ورنہ / N برابر تو تین کے برابر ہے. تو پروگرام کو چلانے گا جس طرح یہ ہے ترتیب اس فہرست نیچے جاؤ گے اور، چیک کرنے کے لیے ایک ن ہے؟ نہیں. ن دو ہے؟ نہیں. ن تین ہے؟ جی ہاں. ایسا. سوئچ بیانات کے ساتھ جبکہ، یہ ہے اس کا مرتب کرنے کے لئے اصل کے قابل بہت تیزی سے. اور جیسے ہی سوئچ، اس کا کہنا ہے کہ ٹھیک ہے، (ن) میں ہوں، دو ہے، کا کہنا ہے کہ فوری طور پر جہاں پر کودنے جا میں نے عمل شروع کرنے کے لئے کرنا ہے. میں سب سے پہلے چیک کرنے کے لئے نہیں جا رہا ہوں، (ن) ایک، دو ن ہے؟ یہ فوری طور پر شروع کر سکتے ہیں اسے کرنا چاہئے ہے. اور اس کی وجہ سے، یہ نہیں کر سکتے ہیں بولین ضوابط لے. ورنہ ایسا کرنا پڑے گا تخکرمک، طرح، ٹھیک ہے، (ن) ہے صفر سے زیادہ؟ ورنہ 10 یا جو کچھ بھی کے مقابلے میں (ن) زیادہ ہے. جوزف: اس صورت میں، تو آپ کو استعمال کیا جاتا ہے تو / ورنہ، اگر، تو سوئچ گے تقریبا تین بار کو چلانے کے تو / ورنہ، تو زیادہ تیزی سے. ہم اس طرح کے سوئچ منظم کر سکتے ہیں ہم نہیں ٹوٹتے ایک طریقہ ہے کہ مقدمات میں سے ہر ایک کے بعد. تو اس معاملے میں، میں علیحدگی رہا ہوں ہم ایک میں کا انتخاب کریں اور اس کی تعداد دو اعلی کی تعداد نہ ہونے اور تین ایک بڑی تعداد ہونے کی وجہ سے. تو اس صورت میں، اگر (ن) اس، ایک یا دو ہے کیس مارا اور پھر یہ کریں گے ، کے ذریعے گر کی وجہ سے نہیں ہو پارہے ہیں. اور یہ یہاں ختم ہو جائے گی. ہم ایک منتخب کریں تو، اس printf کا کیا کریں گے اور تو ہے کہ کوئی توڑ اس پھانسی دے دی ہے. اور ظاہر کی، انہوں نے تین میں داخل ہے تو یا کچھ اور، تو یہ کریں گے ان لوگوں کو اور نہیں وہاں جانے، اور یہ اس کی بجائے عملدرآمد کرے گا لائن کے مطابق. اس کے بارے میں کوئی سوالات ہیں؟ جی ہاں؟ 4 اسپیکر: آپ کو کوئی غلطی ملے گا اگر آپ کو کیس ایک کے بعد ایک وقفہ تھا لیکن یہ ایسا کرنے کے لئے کچھ بھی نہیں کیا؟ جوزف: تو سوال آپ کو ملے گا ہے ایک غلطی آپ کے بعد ایک وقفہ ہے تو ایک کیس ہے لیکن ایسا کرنے کی کوئی بات نہیں ہے؟ اور جواب نہیں ہے. تم واقعی میں ایک غلطی نہیں ملے گا. ہمم ملی میٹر، جی ہاں. یہاں بہت طرح کے طور پر ایک چھوٹی سی تبدیلی، میں یہاں ایک printf ڈال کرنے جا رہا ہوں. افوہ. تو کیا ہوا اگر یہ پرنٹ گی میں ان پٹ کے طور پر میں ایک ڈال دیا؟ جی ہاں. یہ نہیں لے آپ کو بتائیں گے دو بار ایک بڑی تعداد، ٹھیک ہے؟ یہ ہے کہ پہلی صورت مارا جائے گا کیونکہ، اسے توڑ نہیں کریں گے، اور یہ گر جائے گا دوسری صورت کے ذریعے. اس کے بارے میں کوئی سوال ہے؟ روب: آپ ایک سوال ہے؟ جوزف: ٹھیک ہے، ڈاؤن لوڈ، اتارنا. ٹھیک ہے. تو ہم نے ایک کال کچھ اور ہے بنیادی طور پر ہے جس تہرا آپریٹر ایک کرنے کے لئے متبادل نحو تو نہیں تو. اور یہ آپ کو ایک لائن پر یہ سب کرنے کی اجازت دیتا ہے. ، یہ خاص طور پر پروگرام میں تو میں (ن) کے لئے صارف سے پوچھ رہا ہوں. N 100 سے زیادہ ہے اور اگر، مجھے بتا انہیں ایک بڑی تعداد اٹھایا. ورنہ میں انہیں بتا وہ کم تعداد میں اٹھایا. تو ہم یہ واقعی طویل نحو استعمال کر سکتے ہیں، ن ہے تو سٹرنگ، S، اور اس کے بعد کی جانچ پڑتال سے زیادہ 100 اور تفویض اس کے مطابق. لیکن ہم نے یہ بہت زیادہ جامع کر سکتے ہیں یہ تہرا آپریٹر نحو کا استعمال کرتے ہوئے کی طرف سے ایک سوال جس میں نشان اور ایک بڑی آنت. تو سوال مارک بنیادی طور پر ہے حق، ایک سوال پوچھ رہا؟ روب: ہو سکتا ہے کہ اس پر میں زوم. جوزف: جی ہاں. اچھی بات. تو یہ تہرا آپریٹر ہے. میں سب سے پہلے سوال، 100 سے (ن) سے زیادہ ہے؟ اگر ایسا ہے تو، اس کے بعد میں سب سے پہلے پھانسی بڑی آنت کے پہلے حصہ. اگر یہ نہیں ہے، تو میں پھانسی بڑی آنت کے بعد دوسرا حصہ. تو اگر (ن)، 100 سے زیادہ ہے تو یہ اعلی لیتی ہے اور رکھتا ہے کہ سٹرنگ میں. ن 100 سے کم ہے تو، یہ کم لیتی ہے اور پھر سٹرنگ میں اس رکھتا ہے. تو ہے کہ اس بڑا حصہ گاڑھا گا صرف یہ ہے کہ ایک ہی لائن میں نیچے. 5 اسپیکر: کہ مقبول ہے؟ جوزف: جی ہاں، اس کے لئے بہت مقبول ہے آپ کرنا چاہتے ہیں جہاں بنیادی طور پر چیزیں ایک کام کی بنیاد پر ہے حالت کسی قسم کا. اور اس معاملے میں، ہم کوشش کر رہے تھے سٹرنگ ایک قدر تفویض کرنے کے لئے. ایسا نہیں ہے - مجھے واقعی پسند نہیں ہے لگتا ہے یہ دیگر صورتوں میں. لیکن یہ خاص طور پر مفید ہے اس کام کے لئے. روب: یہ ایک بہت عام پیٹرن ہے آپ کو کچھ متغیر ہے کہ جہاں کچھ، مقرر ہے تو آپ کو، کا کہنا ہے کہ جا رہے ہیں ایک قیمت پر اس متغیر، اور، قائم ایک اور قیمت پر اس متغیر. اور اس منظر نامے ہے جہاں ایک تہرا استعمال. جوزف: اور آپ کی بچت کر رہے ہیں لائنوں کے بہت سے، ٹھیک ہے؟ اور یہ صرف arguably سب آپ کے کوڈ کرتا ہے تھوڑا سا زیادہ پڑھنے کے قابل ہے. جی ہاں، سوال ہے؟ اسپیکر 6: ایک تہرا کے لئے، آپ، جا سکتے ہیں سٹرنگ برابر ے، سوالیہ نشان؟ اور پھر آپ کو، کا کہنا ہے کہ، کر سکتے ہیں پانچ مختلف اختیارات. اور کی بنیاد پر کیا (ن) کی تعداد ، آپ کو ان میں سے ایک کا انتخاب کریں گے کیا گیا تھا؟ جوزف: تو، ایک سوال ہے آپ کو سٹرنگ کر سکتے ہیں جہاں نحو کی طرح ے ن برابر، اور اس کے بعد دو سے زیادہ ہے اس سوال کے نشان کے بعد اختیارات؟ اور ایک سادہ جواب نہیں، وہاں نہیں ہے ایسا کرنے کے لئے واقعی ایک اچھا طریقہ ہے کہ جب تک آپ گھوںسلی میں ایک سے زیادہ تہرا کرنا چاہتے ہیں ایک دوسرے کے اندر آپریٹرز. آپ، 100 سے (ن) سے زیادہ کی طرح کر سکتے ہیں سوالیہ نشان، اور پھر دوسرے تہرا آپریٹر، ن 50 سے زیادہ، سوالیہ نشان، اور گھوںسلا اس طرح. لیکن اس منظر نامے میں، آپ کے کوڈ ہے ، قسم کی unreadable اور گندا ہو رہا ہے اور یہ صرف جانے کے لئے بہتر ہو سکتا ہے اس وقت ایک تو / ورنہ بیان. روب: اور اس کے علاوہ، کے طور پر ایک طرف نوٹ، پی ایچ پی غلط تہرا نافذ آپریٹر ایسی ہے کہ اندر در اندر ternaries جیسا وہ کرنا بھی کام نہیں کرتے. جوزف: جی ہاں. تو یہ، تھوڑا سا مبہم ہو جاتا ہے تم جاؤ خاص طور پر جب مختلف زبانوں. روب: یہ کافی بردوست ہے زبانوں اس کے بارے میں غلط ہیں. جوزف: تو اصل میں، صرف واضح کرنے کے لئے، سب پتہ ہے کیا ہے ٪ s کو یہاں پر ہے؟ اس کے بارے میں کوئی سوال ہے؟ مجھے لگتا ہے صرف کیمرے کے لئے،٪ s کو بنیادی طور پر ہم ایک پلیس ہولڈر ڈال کی اجازت دیتا ہے ایک تار کے لئے. اور پھر آخر میں، ہم نے وضاحت ہے کہ متغیر ہم اس میں ڈال کرنا چاہتے ہیں جگہ ہولڈر ے ہے. تو یہ بنیادی طور پر کے لیتا ہے اور یہاں کہتے ہیں. اور اس کے بعد یہ آپ کو اٹھایا، باہر پرنٹ ایک اعلی یا آپ کو ایک کم تعداد اٹھایا. ٹھیک ہے. تو loops کے آپ چیزوں کو انجام دینے کی اجازت سرکلر حرکات میں، ٹھیک ہے؟ تم میں اس کا سامنا ہو سکتا ہمیشہ کی شکل میں شروع loops کے یا جب تک دوبارہ یا ایک خاص طور پر دہرائیں اوقات کی تعداد. تو کیوں یہ ہمارے لئے اچھا ہے؟ ٹھیک ہے، C میں، ہم اس ہے کا کہنا ہے کہ نغمہ سکریچ میں لاگو ہے گاتا ہے، یہ گانا ہے کہ کبھی ختم نہیں ہوتا. یہ صرف اور جاتا ہے اور ہمیشہ کے لئے اور ہمیشہ کے لئے. ٹھیک ہے، اگر آپ واقعی ایک پروگرام نہیں کر سکتے ہیں کہ printf کا ایک لامحدود تعداد ہے اس میں بیانات، ٹھیک ہے؟ تو یہ خاص طور پر منظر نامے میں، ایک ہی راستہ آپ کو اس کام بنانے اور کر سکتے ہیں یہ کرنے کے لئے ہے ہمیشہ کے لئے پرنٹ کرنے کے لئے اس کی بجائے ایک جبکہ لوپ استعمال کرتے ہیں. تو ایک جبکہ لوپ کیا ہے پر عمل کریں گے دو منحنی خطوط وحدانی کے جسم میں ہے کی بنیاد پر اس سے تعلق رکھتا ہے کیا شرط ہے. تو، اس سے پہلے کہ یہ خاص طور پر مثال میں تو ہم ہمیشہ کے لئے اس کی پرنٹ کرنے کے لئے چاہتے ہیں ہم ایسا کر سکتے ہیں؟ ٹھیک ہے، اس بات کا یقین، ہے نا؟ تو اس طرح کے خیال یکجا کچھ بولین اظہار کی ایک لوپ کے ساتھ ساتھ. اور ہم بولین کے بارے میں سیکھا پہلے اظہار کی طلب. تو جب کے اندر حالت جبکہ، اس لوپ سچ ہے پر اور پر اور پر عملدرآمد کیا جائے گا. اور اس معاملے میں، اگر ہم صرف اس کی فراہمی سچ کے ساتھ، یہ ایک لامحدود کا سبب بنتا ہے پر نغمہ کی پرنٹ اور جس لوپ اور ہم بغیر پہلے مطلوبہ طور پر ایک لامحدود ہے کہ ایک پروگرام ہونے printf بیانات کی تعداد، جو ممکن نہیں. تو زیادہ compellingly، اگرچہ، آپ کو ایک کے ساتھ اس کا استعمال کر سکتے متغیر اور ایک شرط. تو ہم دوبارہ کرنا چاہتے ہیں کا کہنا ہے کہ مکمل طور پر پاگل جملہ،، 10 بار. تو کیا آپ تھوڑی دیر کے لوپ کے ساتھ کیا کر سکتے ہیں ہے آپ سب سے پہلے ایک کاؤنٹر کی ابتدا کر سکتے ہیں کے متغیر باہر 10 جبکہ لوپ. اور پھر بنیادی طور پر، ہر وقت تم جاؤ جبکہ لوپ کے ذریعے، آپ باہر پرنٹ پھر بیان اور آپ کے کم انسداد متغیر آخر میں جب تک، کچھ مواقع پر، ایک بار ہم نے کافی میں منہا اوقات، 1 میں کافی دور سے - اور صرف، میں مائنس مائنس واضح کرنے کے لئے میں مائنس 1 میں برابر کا مطلب ہے. یہ بنیادی طور پر میں نیچے لے آئے گا ایک بار میں صفر مارا نقطہ جہاں، اس حالت صحیح نہیں ہے اور تو یہ لوپ سے باہر راستے. تو مکمل طور پر پاگل صرف 10 بار پرنٹ. جبکہ لوپ کے بارے میں کوئی سوال ہے؟ ٹھیک ہے. تو ہم کیا کر سکتے ہیں کا ایک طریقہ ہے کیا ہم صرف ایک سے زیادہ جامع انداز کے ساتھ میں نے کیا ہم لوپ کے لئے فون کیا. تو ایک کے لئے لوپ ایک پر مشتمل ہوتا ہے ابتدا، شرط، اور ایک ہم سے پہلے تھا جیسے اپ ڈیٹ، اس دیر لوپ میں. تو ایک نظر ڈالیں. اس دیر کے لوپ میں، ہم نے ایک تھا ابتدا، تو ہم نے ایک تھا ہم جانچ پڑتال کی شرط یہ ہے کہ. اور پھر ہم ایک اپ ڈیٹ تھا سب سے اوپر قدم. ایک کے لئے لوپ کے ساتھ، یہ بنیادی طور پر لیتا ہے ان تین چیزوں اور یہ condenses نیچے ایک لائن میں. اس میں ہے تاکہ سب سے پہلی چیز لوپ کے لئے ابتدا ہے. اور پھر آپ تو ایک نیم وقفہ کرتے ہیں، اور آپ میں ہے جس کی حالت، ایسا زیادہ سے زیادہ صفر سے، وہاں جاتا ہے اور پھر اپ ڈیٹ قدم. تو اس میں کارکردگی کا مظاہرہ کیا جاتا ہے لوپ کے جسم کے بہت آخر. تو ان دونوں کے پروگرام ہیں بنیادی طور پر کے برابر. کوئی سوال؟ تو ایک فرق کیا ہے ان دونوں کے درمیان؟ کسی کو بھی اس کی طرف اشارہ کر سکتے ہیں؟ یہ تھوڑا سا ٹھیک ٹھیک ہو سکتا ہے. یہ صرف ایک بہت چھوٹا سا فرق ہے. جی ہاں؟ 5 اسپیکر: آپ کو استعمال کرنے کے قابل نہیں ہو گا کے لئے لوپ سے باہر میں متغیر [اشراوی]؟ جوزف: بالکل. تو یہ ہم پر مل جائے گا کچھ ہے بعد میں متغیر گنجائش سے ملاقات کی. لیکن بنیادی طور پر، اس میں زندگی int میں اس دیر لوپ سے باہر. تو ایک بار یہ دیر لوپ کیا جاتا ہے عمل، میں بعد میں استعمال کرنے کے قابل ہو جائے گا پروگرام میں. جبکہ اس کے ساتھ لوپ کے لئے، اس int میں لوپ کے لئے اس کے اندر scoped ہے. اور یہ اس حصہ کے اندر ہے کیونکہ کے لئے لوپ کے، جو کہ شروع ہوتا ہے کے ساتھ قوسین اور سروں پر وہاں گھوبگھرالی منحنی خطوط وحدانی. کے اندر کا اعلان کر دیا ہے کہ کچھ بھی یہاں سے باہر نہیں کیا جا سکتا. میں باہر میں استعمال کرنے کی کوشش کریں تو، یہ کریں گے ، اگھوشیت علامت مجھے بتاو. اور بنیادی طور پر، میں نے نہیں کرے گا اسے استعمال کرنے کے قابل ہو جائے. روب: اور اچھی طرح، 10 سال پہلے، میں لفظی تمام مقدمات، گھوبگھرالی منحنی خطوط وحدانی ہیں آپ کا تعین کرنے کے لئے استعمال کیا ایک متغیر کی گنجائش. تو وہاں میں، میں 10 کے برابر ہے int میں اس کے اندر اعلان کیا جاتا ہے گھوبگھرالی منحنی خطوط وحدانی کے مقرر. اور تو جب تک آپ میں استعمال کرنے کی کوشش کے طور پر اس گھوبگھرالی منحنی خطوط وحدانی سے پہلے، یہ ٹھیک ہے. آپ کو ٹائپ کریں جب آپ، آپ دیکھ سکتے ہیں ڈیش، ڈیش، ایسٹیڈی، برابر، C99 دیکھ. تو ہے کہ C کے بعد کا ورژن ہے جی سی سی نے بھی دیتا ہے کہ لاگو ہے اس شارٹ کٹ. تو اس سی میں اجازت نہیں دی جائے کرنے کے لئے استعمال کیا اور آپ دیکھ سکتے ہیں کیوں، اس کی وجہ یہ INT میں اس گھوبگھرالی منحنی خطوط وحدانی کے باہر ہے لیکن یہ اب بھی میں سمجھا جاتا ہے ان گھوبگھرالی منحنی خطوط وحدانی کے دائرہ کار. لیکن یہ ایک بہت آسان بات ہے، اور تو یہ ایک اچھا توسیع ہے. جوزف: کوئی سوال؟ ٹھیک ہے. تو کیا زیادہ مفید ہے کہ کبھی کبھی آپ تحرک کی طرح میں چاہتا ہوں آپ لوپ، ٹھیک ہے؟ تم صرف ضروری پرنٹ کرنے کے لئے نہیں کرنا چاہتا مکمل طور پر ہر وقت پاگل، آپ سے شمار کرنے کے لئے چاہتے ہیں، 10 یا کچھ اور. اور اس لئے تم انسداد متغیر استعمال کر سکتے ہیں کہ لوپ کے اندر کے طور پر بھی. اور اس معاملے میں، اس پروگرام کو صرف نیچے تمام طریقے سے نیچے 10 سے ہوگا. اور یہ کیا پرنٹ نہیں کرتا ہے؟ یہ صفر پرنٹ نہیں کرتا، حق، کیونکہ جب - جی ہاں، یہ بھی 11 پرنٹ نہیں کرتا. تو یہ، صفر پرنٹ نہیں کرتا کیونکہ جب میں صفر ہے، اس کی تشخیص کرتا ہے، یاد اس پر جاتا ہے اس سے پہلے کی حالت لوپ کے جسم پر عمل کرنے کی. میں صفر ہے اور جب، ایسا، باطل ہے اس کو نیچے کی گنتی پرنٹ نہیں کرتا صفر، یہ صرف گنتی کے پرنٹ 1 کے لئے تمام طریقے سے نیچے 10 سے نیچے. ہم اصل میں یہ صفر پرنٹ کرنے کے لئے کرنا چاہتا تھا، تو پھر ہم ایک ہی علامت ڈال دیں گے سائن ان کریں کے مقابلے میں اس کی زیادہ سے زیادہ کے بعد. ٹھیک ہے. ان پٹ کی توثیق ایسا کرنے کے لئے ایک راستہ، جس آپ کیا کرنے کی صارف سے پوچھنا ہے جب کچھ، آپ کو یقین ہے کہ وہ بنانا چاہتے ہیں آپ ہدایات پر عمل کریں، استعمال کرنے کے لئے ہے جبکہ لوپ، ٹھیک ہے؟ تو اس خاص معاملے میں، میں پوچھ رہا ہوں ایک مثبت تعداد کے لئے اور پھر میں ہوں ان پٹ کے لئے انتظار کر رہے ہیں. ان پٹ ہے اور پھر میں نے کی جانچ پڑتال کم صفر سے، ان سے پوچھ رکھنے کے. تو جب تک وہ مجھے ایک نمبر دو کے طور پر مثبت نہیں ہے، دعا کرو، پوچھتے رہتے، پوچھ رکھنے کے. لیکن طرح کی عجیب اس کے بارے میں کیا ہے؟ یا اس کے بارے میں زیادہ سے زیادہ نہیں لگتا یہاں اس کی ساخت؟ کوئی ہے؟ جی ہاں؟ اسپیکر 6: آپ بار بار کر رہے ہیں ہدایات میں دو بار. جوزف: ٹھیک ہے. تو ہم دو printf کے بیانات ہیں یہاں، ٹھیک ہے؟ تو ہم صرف یہ حاصل کر سکتے ہیں کا ایک طریقہ ہے بنا دے گا کہ ایک کے نیچے ہماری کوڈ آسان پڑھنے اور ایک تھوڑا سا زیادہ صاف. اور پھر ہم کرنے کی ضرورت نہیں کرے گا اس کے ساتھ ساتھ دو بار میں حاصل کیا ہے. اور تم ایسا کر سکتے ہیں کا ایک طریقہ ہے ایک کیا جبکہ لوپ کا استعمال کرتے ہوئے کی طرف سے. اور ایک کیا جبکہ لوپ بنیادی طور پر ہے ایک جبکہ لوپ کے مختلف فارم ہے جہاں گھوبگھرالی منحنی خطوط وحدانی کے اندر جو کچھ بھی ہے کم از کم ایک بار قتل ہو جاتا ہے. تو یہاں میں، میں اعلان، INT ان پٹ، باہر سب سے پہلے. اور پھر میں ایسا، کا کہنا ہے کہ ہدایات جبکہ ان پٹ صفر سے بھی کم ہے. تو یہ سب سے پہلے کیا مار دیتی ہے. یہ ہمیشہ کم از کم اس پر عمل کریں گے ایک بار، تو اس کو ہمیشہ صارف پوچھیں گے کم از کم ایک بار ان پٹ کے لئے. اور پھر وہ اس ان پٹ کی تشخیص کرتا ہے، اور یہ ایک دائرے کی مانند میں پر جاتا ہے. جی ہاں، سوال ہے؟ اسپیکر 6: ایسا کرنے کا کوئی راستہ ہے [اشراوی] اقسام، آپ کا کہنا ہے کہ کی طرح، GetString کے، اور کسی کو [اشراوی] [اشراوی] کرنے کا ایک طریقہ ہے جوزف: تو، ایک سوال ہے ان پٹ کی توثیق کرنے کے لئے راستہ تو صارف حق میں ڈال دیا نہیں کرتا متغیر کی قسم؟ ہم ایک int کے لئے دعا گو ہیں اور اگر ایسا ہے تو وہ اس کی بجائے ہمیں ایک تار دے. اور ہم پر عملدرآمد ہے کہ افعال میں آپ کے لئے، میں GetInt، سب میں ہے GetString ان کے افعال، وہ اصل میں پہلے ہی بنیادی قسم ان پٹ کے اس طرح کرتے ہیں ہڈ کے تحت توثیق کی. تو آپ کے افعال کا استعمال کرتے ہوئے کر رہے ہیں کہ ہم تمہیں دیا تھا، آپ واقعی کرنے کی ضرورت نہیں. لیکن آپ کو کس طرح میں زیادہ دیکھنے کے لئے چاہتے ہیں تو آپ اصل میں ایسا کر سکتے ہیں، آپ دیکھ سکتے ہیں فائل میں ہڈ کے تحت I/O-- معیاری I / O کام کرتا ہے، درج نہیں کی طرح ایک معیاری ان پٹ سے پڑھنے اور معیاری پیداوار. اور آپ کو ایک بہتر احساس حاصل کر سکتے ہیں کس طرح سے آپ ایسا کر سکتے ہیں. روب: ایک مسئلہ، اگرچہ، خاص طور پر ہے مثال کے طور پر کے ساتھ آپ انہوں نے کہا کہ، آپ کو ایک تار کی توقع اور میں نے ایک int داخل. تم کس طرح فرق بتانے گی جان بوجھ کر چاہتے ہیں کے درمیان INT 123 چاہتے ہیں کے مقابلے میں سٹرنگ 123؟ تو سٹرنگ، یہ بہت زیادہ نہیں ہے ہے کی توثیق، یہ صرف جو کچھ بھی وہ آپ کی تشریح کرے گا میں داخل ایک تار کے طور. INT، آسان ہے، کوئی بات نہیں، کیونکہ آپ صارف سے لے ان پٹ، آپ ہیں ہمیشہ ایک تار لے. اور تو ہے کہ سٹرنگ تو آپ کر سکتے ہیں چیک، ان میں سے سب ہیں اصل میں عددی ہندسے؟ جوزف: ٹھیک ہے. کیا جبکہ ایک لوپ کے بارے میں کوئی سوال ہے؟ روب: اوہ، اور یہ بھی ہے - دائرہ کار میں واپس جانے، ایک کسی حد تک عام غلطی کچھ مقامی استعمال کرنے کی کوشش کر رہا ہے کیا جبکہ اس کے اندر سے متغیر اس حالت کے اندر لوپ. اور اصل میں، ہم صرف سے چھٹکارا مل گیا تو اور اس INT ان پٹ کے برابر ہے، انہوں نے کہا کہ GetInt کا، پھر سنکلک پر چللاو گا ہم، ان پٹ موجود نہیں ہے کیونکہ کے دائرہ کار سے باہر ان گھوبگھرالی منحنی خطوط وحدانی. جوزف: اور یہ کہ ہم کیوں اس تصویر کی ضرورت ہے. ٹھیک ہے. تو آپ کو ایک سے باہر توڑ سکتا ہے لوپ جلد از جلد آپ کے لئے چاہتے ہیں. تو یہ ایک مختلف راستہ ہے ہم صرف لاگو کیا عمل درآمد. اور اس کے بجائے حالت کا استعمال کرتے ہوئے قوسین کے اندر اندر، ہم ایک کا استعمال کرتے ہوئے کر رہے ہیں تو جسم کے اندر بیان کیا جبکہ لوپ کی. اور بنیادی طور پر، جب ان پٹ آخر ہے صفر سے زیادہ، ہم لوپ سے باہر توڑ. اور اس طرح ہم سب جائیں گے یہاں نیچے راستہ. اور آپ دیکھ سکتے ہیں کہ یہ کریں گے شاید اس میں ترجیح دی جائے یہ ایک چھوٹی سی کے منظر نامے، کیونکہ تھوڑا سا کلینر اور ایک چھوٹا سا پڑھنے کے لئے آسان کاٹا. یہ جبکہ، آپ کی طرح اس میں اضافی لائنوں کی ہے. یہ، صرف تھوڑا سا uglier ہے میں نے ایک معنی میں، لگتا ہے. جی ہاں، سوال ہے؟ 4 اسپیکر: حاصل صرف توڑ دوگی منحنی خطوط وحدانی کی ایک سیٹ سے باہر؟ جوزف: ٹھیک ہے. تو سوال صرف ٹوٹ جائے گا ہے آپ کو ایک لوپ سے باہر حاصل کرنے کے لئے؟ اور جواب ہاں میں ہے. تو آپ کے لئے، loops کے لئے اندر در اندر ہے تو مثال کے طور پر، میں نے int کے لئے ہے اگر میں 0 برابر جے 0 برابر 10 اور پھر int کے لیے ہے جب تک 10 جب تک، میں اندرونی سے باہر توڑ تو لوپ، میں اب بھی ہو جائے گا بیرونی لوپ. تو یہ کارکردگی کا مظاہرہ جاری رکھیں گے باہر آپریشن. اس کے بارے میں کوئی سوال ہے؟ جی ہاں؟ 5 اسپیکر: لیکن صرف کام کرتا ہے کو توڑنے کے گھوبگھرالی منحنی خطوط وحدانی کے لئے، نہ دوسرے کے لئے بیانات؟ [اشراوی] جوزف: تو سوال یہ ٹوٹ جائے گا ہے کی مخالفت loops کے لئے صرف کی تقریب تو جیسے دیگر کے بیانات؟ اور ہاں، یہ ہے کہ، کیس ہے کیونکہ آپ، حق، ایک لوپ سے باہر توڑ رہے ہو ایک معنی میں. روب: مقدمات کی وسیع اکثریت میں، یہ ہے یہ تو کچھ کی طرح ہے، پھر توڑ. تو آپ کو لاگو کرنے کے لئے کو توڑنے کے لئے کی ضرورت نہیں ہے اس کے ارد گرد ریپنگ کی ہے کہ اگر. اور بھی، یہ ایک لوپ کے زیادہ نہیں ہے، لیکن سوئچ بھی ہیں یاد رکھیں کہ ٹوٹ جاتا ہے کی طرف سے کے باہر توڑ. ہم ٹوٹ جاتا ہے استعمال کیا جا رہا دیکھا اس سے پہلے سوئچ کے ساتھ. جوزف: اور آپ بھی ان کو استعمال کر سکتے ہیں جبکہ loops اور loops کے لئے. کوئی سوال؟ ٹھیک ہے. تو اگلا، دوسرا اپ کے افعال میں ہے. تاکہ آپ ان BYOB میں سے ایک کا استعمال کیا ہے ہو سکتا ہے آپ کے شروع کے منصوبے میں بلاکس. اور یہ بنیادی طور پر کی اجازت دیتا ہے آپ کو ایک سیٹ کی وضاحت کرنے کے لئے کی پیروی کی جائے کرنے کے لئے ہدایات. اور کیا میں اس کی طرف سے مطلب ہے لگتا ہے ہے واپس ریاضی کے لئے، حق، الجبرا. ہم ایکس کی ایک تقریب کو فون کیا ہے، کچھ متغیر، اور اس کا کہنا ہے کہ تقریب ایکس کے F ہے ایکس برابر کے علاوہ 5. تو آپ کو اس سیاہ کے طور پر ایکس کے ایف کے بارے میں سوچ کر سکتے ہیں اس کے بعد میں 15 سے لیتا ہے اور اس باکس 20 کی پیداوار. تو عام طور پر، ایک تقریب ہے کچھ آدانوں لیتا ہے اور کچھ کہ پھر کچھ نتائج پیدا. اور کیوں کام کرتا ہے اچھے ہیں؟ انہوں نے وجوہات کی ایک بڑی تعداد کے لئے اچھے ہیں. کسی کو تو کوشش کرنا چاہتا ہے کا مطلب ہے تنظیم میں؟ کیوں افعال کی شرائط میں مددگار ہیں؟ جی ہاں؟ 4 اسپیکر: یہ کرتا ہے آپ کوڈ زیادہ پڑھنے کے قابل. جوزف: ٹھیک ہے. تو چیزوں میں سے ایک بناتا ہے آپ کے کوڈ زیادہ پڑھنے کے قابل، ٹھیک ہے؟ اس کے بجائے INT کی طرح ہونے کے ایکس ایکس کے برابر ہے اوقات X اوقات، میں، ایکس کے کیوب کر سکتے ہیں زیادہ پڑھنے کے قابل ہے اور زیادہ ہے جو ایک قاری کے لئے قابل فہم. تنظیم کی شرائط میں بھی ہے انتظام میں آپ کے کوڈ کو تقسیم حصے، کہ تو بجائے اس کے کرنے کی کوشش کی سب ایک طویل حصے میں اس پر عملدرآمد اہم، آپ کی طرح اس کو تقسیم کر سکتے ہیں کی طرح میں، ٹھیک ہے، کی ایک تقریب لکھنے کچھ کیوب کرنے کے لئے، کے لکھنے میں ایک کچھ مربع کرنے کے لئے تقریب. آپ چھوٹے میں تقسیم کر سکتے ہیں، اس طرح، آپ سے نمٹنے کر سکتے ہیں کہ بہت کم حصوں سے نمٹنے کے لئے کی کوشش کر رہے کی مخالفت تمام ایک بار میں ایک بڑا مسئلہ. روب: یا اس سے بھی چھوٹی، تھوڑا حصوں کہ آپ اور ایک ساتھی سے نمٹنے کر سکتے ہیں. جوزف: جی ہاں. روب: تو اس کی بجائے دونوں کا آپ ایک پرتیارپن کرنے کی کوشش ایک ہی وقت میں کام. جوزف: آسان بنانے. کوئی بھی ایک اندازہ لینے کے لئے چاہتے ہیں؟ جی ہاں؟ 5 اسپیکر: مزید تکرار. جوزف: ٹھیک ہے. آپ کے ساتھ ایسا کر سکتے ہیں تو ایک بات آسان بنانے اس طرح کی پر ہے یہ ہے کہ دوبارہ پریوست طور پر ایک ہی لائنوں ہے میں نے ایک کیوب تقریب لکھیں ایک بار، میں کر سکتا ہوں صرف استعمال کرتے ہیں اور اس سے زیادہ اور اس سے زیادہ پھر بجائے ٹائپنگ کے اپنے پروگرام میں ایکس اوقات X اوقات پر اور سے زیادہ بار بار. اور آسان بنانے یہاں بھی صرف یہ اپنے کوڈ کی طرح کرتا ہے کا مطلب ہے کہ آپ تقسیم ایک بار آسان ڈیبگ افعال میں اس کو. تو آپ کو جہاں مقامی سکتے ہیں آپ کے مسائل کی طرح ہیں. کوئی سوال؟ تو ایک اور خیال کا حق، تجرید ہے؟ یہ بلیک باکس. کی طرح آپ GetInt کا کیا کرتا ہے پتہ ہے صارف کی طرف سے ان پٹ حاصل کرنے کے لئے؟ ہم واقعی حق، تم سے نہیں کہا ہے؟ ہم آپ کو بتایا ہے تمام GetInt کا کرتا ہے یہ کرتا ہے کا کہنا ہے کہ بالکل کیا. ہم آپ کو بتا نہیں ہے تو بھی تو کس طرح یہ کام کرتا ہے، آپ کو اب بھی معلوم ہے. تو اس خاص معاملے میں، یہ ہے کرتا ہے جس میں ایک چوگنی تقریب ایک ان پٹ کے لئے مختلف چیزیں ایک پیداوار پیدا کرنے کے لئے. اور تم ایک بڑی تعداد چوگنی کر سکتے ہیں یہ چار کی طرف سے ضرب کی طرف سے. یا آپ کو ہم کہتے ہیں کر سکتے ہیں تھوڑا سا دو کی طرف سے منتقل. اور ہم نے اس کا احاطہ کریں گے ایک تھوڑا سا کے بعد. اور جان کی کوئی ضرورت نہیں ہے یہ کس طرح تقریب اصل میں یہ جب تک کے طور پر کام کرتا ہے بیان کے طور پر کام. تو ہڈ کے تحت، میں ہو سکتا ہے کی طرح، ان پٹ اوقات واپس آٹھ دو کی طرف سے تقسیم. اور تم جانتے ہو، نہیں کرے گا؟ آپ کو جاننے کی ضرورت ہے یہ کیا کہتا ہے. تو یہ مفید بات ہے تجرید کے بارے میں. اور ایک اور چیز کی طرح اس کا خیال ہے ایک آپ کے کوڈ مقامیت سازی کے خاص حصے. آپ کو کوئی مسئلہ ہے تو، آپ ایسا نہیں کرتے کوشش کر کے تمام آپ کے کوڈ پر جانا ہے مسئلہ کہاں تھا ٹھیک کرنے کے لئے. تو اس معاملے میں، میں لاگو غلط کیوب. میں مکعب ضرب تھا تین کی طرف سے. تو اس صورت میں، یہ ایک پروگرام ہے کہ صرف تین کی طرف سے ضرب ہے ہر جگہ. اور ہے کہ کسی دوسرے پروگرام نہیں ہے باہر ایک تقریب میں factored مکعب. اور تو اب مجھے اپنی غلطی ٹھیک کرنے کے لئے چاہتے ہیں تو یہاں، میں ہر لائن کو ٹھیک کرنے کے لئے ہے اس پروگرام میں کوڈ کی. جبکہ دوسری طرف، میں استعمال کرتے ہیں تو تقریب، میں صرف تبدیل کرنے کی ضرورت کیا ایک ہی جگہ میں غلط تھا. تو کمپیوٹر سائنس میں، ہم معلومات اور outputs کال. آدانوں پیرامیٹرز کہا جاتا ہے یا کر رہے ہیں دلائل، اور نتائج کو کہا جاتا ہے اقدار واپس. اور ہم اس طرح ہماری مدد کرتا ہے کس طرح نظر آئے گا کی ایک دوسری میں ایک تقریب کی وضاحت. تو یہ ایک تقریب تعریف ہے cubing کے لئے. تو یہ تو ایک ان پٹ لیتا ہے، اور اسے واپس اس نمبر اوقات خود تین بار. تو اس کو توڑ دو. تو ہم، ایک تقریب ہیڈر ہے جس بنیادی طور پر تین چیزوں پر مشتمل ہوتا ہے. تو ہم، پیرامیٹرز ہے جس میں نے پہلے کہا کے طور پر،، ہیں اس تقریب میں آدانوں. اور پھر ہم تقریب کو ایک نام دیں. اس صورت میں، اس کے کیوب کہا جاتا ہے. اور پھر ہم کس قسم کی وضاحت کی واپسی کی قیمت ہے. تو اس معاملے میں، میری کیوب تقریب ایک عدد صحیح میں لیتا ہے اور یہ بھی ایک عددی واپسی. میں نے دو میں منتقل تو، دو، ایک عدد صحیح ہے یہ مجھ سے آٹھ واپس جس ایک عدد صحیح ہے. تو قسم کا نام پیرامیٹرز واپس. اس کے بارے میں سوالات؟ اور پھر واپسی کی قیمت اصل میں ہے واپس کہہ کر آخر میں مخصوص اور اس کے بعد واپس لوٹنے کے جو کچھ بھی واپسی قیمت پر مشتمل ہے. تو اس صورت میں، ہم یہ سب ڈال دیا ایک دوسرے کے ساتھ، ایک تقریب میں لیتا ہے پیرامیٹرز، یہ کچھ کہا جاتا ہے، اور ہے اس قسم ہے کہ کچھ واپس ہم اس کو جا رہا تھا کا کہنا ہے کہ. کوئی سوال؟ تو ہم کس طرح ایک تقریب کا استعمال کرتے ہیں؟ ٹھیک ہے، ہم اس کے بعد ایک تقریب لکھیں اور ہم، ہمارے پروگرام میں اس کا استعمال؟ تو میں یہ کیوب کہا جاتا ہے، اور تو میں کیوب استعمال کر سکتے ہیں. لیکن کیا بات نوٹ کرنا اہم ہے تاکہ معاملات ہے. میں اہم ذیل کیوب ہے، تو یہ ہے کیوب میں چلانے کے لئے کی جا رہی. اور اس وقت، کچھ بھی نہیں ہے پروگرام میں کہا جاتا کیوب، اور یہ بس میں ہے، کی طرح ہو جا کوئی اندازہ نہیں کیا مکعب ہے. تو یہ شامل، آپ کو بتائے گا تقریب کا اعلان. اس سے ظاہر ہوتا ہے کہ غلطی کی ہے. اور تو اس صورت میں، کیوب نیچے ہے اہم، تو یہ نہیں جا رہا ہے اس کے بارے میں معلوم کرنے کے لئے. 5 اسپیکر: تو بنیادی عام طور پر ہے آخری تقریب کی وضاحت؟ جوزف: تو سوال یہ ہے، مرکزی عام طور پر آخری ہے آپ کی وضاحت تھا کہ بات؟ اور کوئی. ہم عام طور پر بنیادی پسند ہے کیونکہ یہ ہے حق، سب سے اوپر کرنے کے لئے؟ کہ سب سے پہلی چیز آپ کو کیونکہ پروگرامر کھولنے کے چاہتے ہیں دیکھنے کے لئے پروگرام. اور تو ہم کس طرح ہم اس مسئلے کو حل کرتے ہیں سب سے اوپر کرنے کے لئے اہم چاہتے ہیں، لیکن ہم چاہتے ہیں کہ کام کرتا ہے، ہم ان کو چاہتے ہیں اہم نیچے ابھی تک استعمال کرنے کے لئے کے قابل ہو جائے اہم اندر ان کے؟ ٹھیک ہے، ہم کہتے ہیں کا استعمال کرتے ہیں ایک تقریب پروٹوٹائپ. تو کیا ایک تقریب پروٹوٹائپ بنیادی طور پر یہ سب سے پہلے کیا لیتا ہے ہے دستخط یا تقریب ہیڈر ہم ذیل میں لاگو کرنے کے لئے چاہتے ہیں کی یہاں، اور ہم پر ڈال دیا ایک پروگرام کے سب سے اوپر. تو اس صورت میں، ہم کا کہنا ہے کہ، اچھی طرح سے، بعد میں ہمارے پروگرام میں، ہم جا رہے ہیں اس کو لاگو کرنے کے لئے ایک وعدہ کرنا لیتا ہے جس INT کہا جاتا کیوب تقریب، ایک عددی ان پٹ. تو اب، کہ اہم سے اوپر ہے کی وجہ سے، اہم، یہ کہا جا رہا ہے، اوہ، ٹھیک ہے، بعد میں پروگرام میں، کہ ہونے جا رہا ہے تو میں نے اس سے رجوع کر سکتے، تو میں کروں گا صرف اب کے لئے کے ذریعے جانے. اور پھر سب سے نیچے دیئے، ہم مکعب پر عملدرآمد. اور پھر اہم، کہیں گے ٹھیک ہے، یہ لنک کی ترتیب گا ایک دوسرے کے ساتھ ان دو علامات. اور ہم کا احاطہ کریں گے کہ کیا بعد کا مطلب ہے. اور تو یہ ہے کہ پتہ چل جائے گا اس کا استعمال کرنا چاہئے کیوب تقریب. روب: [اشراوی] چاہتے ہیں کے بارے میں نیچے یا میں اہم سب سے اوپر، میں نے دونوں کو دیکھا ہے. صرف پسند ہے کہ چیزیں ہیں کے نیچے دیے گئے اہم ڈال. لیکن ایک منصوبے خاص طور پر ہو جاتا ہے ایک بار بڑے، عام طور پر اہم ایک میں ہے سب اس کے اپنے فائل. اور اس نقطہ پر، طرح INT مکعب لائن گے - stdio.h کی کے اندر ایک گروپ ہیں صرف یہ ہے کہ INT طرح لائنوں کے مکعب INT ان پٹ لائن. اور اس طرح وہ prototypes کی چیزوں کے آپ ہیں میں، ہیڈر فائلوں میں ڈال دیتے ہیں جس نقطہ نظر، اس سے کوئی فرق نہیں ہے. ٹھیک ہے، اس سے کوئی فرق نہیں ہے. وہ ہمیشہ سب سے اوپر جاؤ. اور اہم سب اس کی اپنی ایک فائل نہیں ہے تو، آپ کو ڈال کے بارے میں فکر کرنے کی ضرورت نہیں ہے انفرادی تقریب prototypes فائل میں. جوزف: اور ہم نے اس کو ایک چھوٹی سی مل جائے گا تھوڑا بعد روب میں بات کر شروع ہوتا ہے جب تالیف کے بارے میں. اور اس سے کوئی فرق بھی نہیں ہے پیرامیٹر اور دلیل کے درمیان. اور پیرامیٹر صرف کیا ہے ہم ان معلومات کو کال جب ہم نے تقریب کی وضاحت. اور ہم نے ایک دلیل یہ کہتے ہیں جب ہم اصل تقریب میں اس کے پاس. تو اس صورت میں، یہ ایک پیرامیٹر ہے، ہم نے پہلے کہا کے طور پر. اور ہم اصل وہاں اس کا استعمال کرتے ہیں، ایکس کے کیوب، تو خود ہے ایکس ہم ایک دلیل کہتے ہیں تقریب کیوب کرنے کے لئے. روب: تو پیرامیٹر کے دلائل ہیں - یہ فرق، ہے بہت دوسرے الجھن. اس وقت، مجھے، اس کا ایک طرح ہے ان الفاظ کہ میں اسے باہر دیکھ کر جنگلی، میں فوری طور پر مدد کی لیکن نہیں کر سکتے ہیں وہ میں اس کا استعمال کر رہے ہیں سوال صحیح سیاق و سباق، کیونکہ فرق کافی ٹھیک ٹھیک ہے کہ صرف سب جاتا ہے - میں تقریبا ہمیشہ دلیل کا کہنا ہے کہ قطع نظر اس کے کہ میرا کیا مطلب کی. جوزف: اور افعال بھی مفید ہیں ہم ضمنی اثرات کیا کہتے ہیں کے لئے. تو ایک تقریب میں کوئی آدانوں کے، کر سکتے ہیں اور یہ بھی کوئی نتائج پیدا کر سکتے ہیں. تو اس خاص معاملے میں، میں ہوں کوئی ہے کہ ایک اپنےمکا وضاحت قیمت واپس. اور اس کی وضاحت کرنے کے لئے، ہم استعمال کرتے ہیں ہم یہاں پر ایک باطل کہتے ہیں. اور اس طرح اس تقریب کی طرف کا اثر یہ صرف چیزیں پرنٹ ہے صفحہ باہر. یہ اصل میں کسی بھی لے نہیں ہے آدانوں، اور یہ نہیں کرتا اصل میں کسی بھی نتائج پیدا. لیکن اس معنی میں مفید ہو سکتا ہے آپ کو، مثال کے طور پر، ڈیبگ چاہتے ہیں تو آپ کے پروگرام میں کچھ، اگر آپ چاہتے ہیں ایک چھوٹا سا اپنےمکا لکھنا ہے پرنٹ، مواد، کا کہنا ہے کہ میموری یا کسی چیز کا. اور اس طرح ان ضمنی اثرات کبھی کبھی ہیں سیاق و سباق سے باہر مفید صرف آدانوں اور outputs پسند. کوئی سوال؟ اور اس مخصوص طبقہ کے ختم کرنے کے لئے، اس پروگرام کیا کرتا ہے؟ میں آپ لوگوں کو ایک جوڑے کی دے دونگا اس کے ذریعے پڑھنے کے چلیں. ایک بہت ہی بنیادی سطح پر، جو ہم کرنا چاہتے ہیں کا کہنا ہے کہ یہ درست، X اور Y سویپ ہے؟ تو کس طرح تم میں سے بہت سے اصل میں لگتا ہے یہ X اور Y تبادلہ کرے گا؟ اپنے ہاتھ اٹھانے کی. کوئی نہیں. ٹھیک ہے. کون سوچتا ہے کہ یہ ہے کہ X اور Y تبادلہ نہیں؟ اور اس کی رقم تھا نہیں پورے کمرے. تو کچھ لوگ اس بات کا یقین نہیں کر رہے ہیں. ٹھیک ہے. یہ مناسب ہے. تو کیا ہوتا ہے جب کے ذریعے جانے دو آپ اصل میں سب سے پہلے کے افعال کا فون اس سوال کا جواب کرنے کے لئے. تو اس کا کیا میموری ہے کی طرح کی طرح لگتا ہے. اس طرح کی ایک آسان کردہ ماڈل کی طرح ہے جب کی طرح میموری لگتا ہے کی آپ کو ایک پروگرام کو چلانے کے. نام نہاد کچھ ہے یہاں نیچے اسٹیک اور کچھ ڈھیر ملاقات کی. اور ان کی طرف بڑھ میموری کے درمیان. اس خاص معاملے میں، تو جب آپ کو ایک تقریب کہتے ہیں، یہ اسٹیک پر ڈال دیا جاتا ہے. اور پھر اس میں موجود ہے جو کچھ بھی تقریب ہم نے اس کو فون کیا میں رہتا ہے تقریب کے اسٹیک فریم. اور اس طرح ایک اچھا تصور کے حاصل کرنے کے لئے اس، let's - مثال کے طور پر، ہم نے پروگرام کے اہم پہلے. اور اہم اندر، ہم کہا جاتا کیوب. تو بنیادی پہلے اسٹیک پر جائیں گے یہ پہلی تقریب ہے کیونکہ، فریم کہ کہا جاتا ہے. اور پھر کیوب کے اندر کہا جاتا ہے جب اہم، یہ اہم کے سب سے اوپر پر ڈال دیا جاتا ہے میموری کے اندر. تو کیا آپ یہاں محسوس کریں گے کہ مکعب ہے اس کے اپنے پیرامیٹرز اور اس کے ہے اپنے مقامی لوگوں. تو آپ کو اصل کرنے کے لئے کچھ کے پاس جب ایک تقریب، پیرامیٹرز کہ یہ کیا تھا کی کاپیاں ہیں ہو جاتا ہے اہم سے میں منظور. اور اس طرح کی اس کی وضاحت کرنے کے لئے، چلو ایک پروگرام کے ذریعے چلنا. تو ہم نے اسٹیک ہے، یہ ہے صرف اسٹیک حصہ. اور ہم کیا کرتے ہم سب سے پہلے ابتدا ہے ایک اور دو پر X اور Y. تو ہم ان چھوٹی خانوں ہے. وہ اہم اسٹیک میں بیٹھے ہیں اسٹیک پر فریم. وہ ایک اور دو پر مشتمل ہے. اب ہم تبدیل ھو نے والے کو فون. کیا ہوتا ہے ہم میں X اور Y کے پاس ہے تبدیل ھو نے والے، اور سویپ کی اپنی کاپیاں کی تخلیق ان متغیرات کے اندر استعمال کرنے کے لئے کی اس اسٹیک فریم کے. تو اب وہاں، ہم نے ایک، جس میں ہے ایکس تھا کہ قیمت پر مشتمل ہے، اور B، جس Y تھا کہ قیمت پر مشتمل ہے. تو ایک، دو. اور تم اس پر الگ الگ ہے کہ محسوس کریں گے اہم اندر X اور Y کی طرف سے. تو اب ہم ایک عارضی پیدا ایک پر مشتمل متغیر. ہم B کرنے کے لئے ایک برابر مقرر، تو یہ ایک سے دو میں تبدیلی. اور پھر ہم برابر B مقرر TEMP کرنے کے لئے، جس میں سے ایک ہے. اور اس کے بعد اب ہم باہر سے باہر نکلیں اس تقریب کی. آپ کی تقریب کے باہر سے باہر نکلیں تو، اسٹیک فریم اسٹیک کھولے ہو جاتا ہے. ہم نے اسے دھکا کال. آپ اسٹیک پر ایک اسٹیک فریم دھکا اسٹیک اور اگر آپ POP. اور تو کیا ہوتا ہے سب کچھ ہے بس کی کہ اسٹیک فریم ترتیب میں تھا شعلوں میں جاتا ہے. اور تو ہے کہ اب موجود نہیں ہے. لیکن ہم کیا محسوس کرتے ہیں؟ ہم اصل میں کبھی نہیں تبدیل X اور Y کے اقدار، ٹھیک ہے؟ لہذا ان اہم مقامی ٹھہرے رہے. اور سویپ میں چیزیں گزرنے کی طرف سے، ہم اصل میں ان اقدار کو تبدیل کر کبھی نہیں. اور کیا ہم اس کو کال کروں؟ ہم قیمت کی طرف سے اس کے انتقال کہتے ہیں. تو C میں، آپ میں باتیں جب کام کرتا ہے، اس کی قدر کی طرف سے ان کے گزر جاتا ہے اور کے لئے ان کی ایک کاپی کرتا ہے استعمال کرنے کے لئے تقریب. اور ہم نامی چیز کے بارے میں پتہ چل جائے گا بعد میں ریفرنس سے گزر، لیکن اس آپ کو اس مسئلہ کو حل کر سکتے ہیں، ایک طریقہ ہے. لیکن ہم کے بارے میں فکر نہیں کرے گا اس کے بعد جب تک. روب: اور اصل میں، اس مدت، پاسنگ ریفرنس کی طرف سے، تو سی بھی نہیں ہے حوالہ کی طرف سے گزر رہا ہے. سی خصوصی طور پر قدر کی طرف سے گزر رہا ہے. کوئی بات نہیں جو تم کرتے ہو، آپ ہمیشہ کسی چیز کی ایک کاپی کو منظور. میں طرح ذکر کیا جیسے یہ، صرف یہ ہے کہ اس سے پہلے اشارہ کے ساتھ اور ایک تار واقعی چار ہے یاد میں کسی جگہ کی طرف اشارہ کرتے بائٹس. ٹھیک ہے، میں اس جملے کو ہے اور اگر یہ ہے اس سٹرنگ ہے جہاں مجھ سے کہہ رہی - ٹھیک ہے، میں اس پوائنٹر ہے تو اس کے لئے میموری میں جگہ، پھر میں منتقل کر سکتی ہیں ایک تقریب میں اس پوائنٹر کی کاپی، اور اس تقریب اب بھی جہاں میں جانتا ہے میموری ہے. تو یہ اشارہ کے دونوں طرف اشارہ کرتے ہوئے کر رہے ہیں ایک ہی میموری میں جگہ، اور کہ ہم قابل ہو جائے جا رہے ہیں سے باہر کی چیزوں پر نظر ثانی کرنے موجودہ اسٹیک فریم. جوزف: آپ کی تالیف کرنا چاہتے ہیں؟ روب: نہیں، یہ 5:30 ہے. جوزف: ٹھیک ہے. یہ 5:30 ہے. ٹھیک ہے. تو ہم میں لگتا ہے کی تالیف کا احاطہ کرے گا اگلے حصے، یا آپ کے حصے رہنما اس وقت کریں گے. اور - روب: کوئی سوال؟ جوزف: کوئی سوال؟ جی ہاں؟ 5 اسپیکر: CS50، کسی سے ڈور کا استعمال کرتے ہم نے کے لئے استعمال کرنے کے لئے چاہتے ہیں کہ کام کرتا ہے ان لوگوں، جو کہ C افعال کی طرح ہو جائے گا. CS50 میں اور نہیں گیا کسی بھی اضافی بنا. روب: صحیح. سی سے کسی نے آپ، [اشراوی] کی طرح ہمارے ڈور پر ان کا استعمال کریں گے. جوزف: اور ایک آخری بات میں کرنا چاہتے ہیں ذکر ہم ایک سٹائل گائیڈ ہے اس کلاس کے لئے. روب: جی ہاں، اوہ. جوزف: تو آپ کو ایک سے آئے ہیں تو آپ، سے پہلے پس منظر پروگرامنگ بعض کنونشن ہو سکتا ہے جب آپ ڈال کی طرح کوڈ لکھ رہے ہیں ایک ہی لائن میں یا خاص طور پر منحنی خطوط وحدانی پوٹ کاری کے طریقے یا آپ کے متغیر کے نام. اس کلاس میں ہم پیروی کرنے کے لئے چاہتے ہیں مخصوص سٹائل گائیڈ صرف، کیونکہ ٹھیک ہے، تم باہر جاؤ اور اگر میں کام صنعت، آپ کی توقع جا رہے ہیں کی سٹائل گائیڈ کی پیروی کرنے کا آپ کو جس میں کمپنی. جیسے مثال کے طور پر، فیس بک مجھے لگتا ہے نام کی ایک خاص ترتیب ہے، کنونشن. اور اونٹ کے درمیان فرق ہے سانچے متغیر اور طرح انڈر ساتھ ان کے الگ. اور بھی، جیسے میں، سب سے زیادہ اہم لگتا ہے مثال کے طور پر، پوٹ کاری، ٹھیک ہے؟ ہم گھوبگھرالی منحنی خطوط وحدانی کہاں سے شروع کرتے ہیں شرط یہ ہے، اور اگلی لائن پر ہیں. اور ہم بھی گھوبگھرالی منحنی خطوط وحدانی ڈال یہ صرف ایک لائن ہے یہاں تک کہ اگر. اور، ایسا کرنے کے طریقوں پر وقت کی ایک بہت ہیں یہ آپ کو ان منحنی خطوط وحدانی چھوڑ کر سکتے ہیں، جہاں یہ صرف ایک ہی لائن میں ہے تو بند اگر بیان کے تحت. لیکن اس کی کلاس میں، ہم پیروی کرنے کے لئے چاہتے ہیں مخصوص سٹائل گائیڈ صرف اتنا آپ کو ملتا ہے بات اس طرح کرنے کے لئے استعمال. روب: جی ہاں، اور انداز 50 کی جا رہی ہے اس سٹائل گائیڈ کے نفاذ، اور ہم ہیں انداز 50 استعمال کرنے کے لئے جا رہے ہیں گریڈ آپ کے کوڈ کے لئے. تو یہ چیزیں ہمارے لئے آسان اور کرتا ہے امید ہے کہ چیزوں کو نہیں کرنا چاہئے آپ کو دیا کے لئے بہت برا معیاری انداز ہے کہ نہیں ہونا چاہئے غیر حقیقی. جوزف: اور آخر میں، سٹائل تلاش کرنے کے لئے ، manual.cs50.net/style پر جانے کی رہنمائی. اور ہاں. 4 اسپیکر: آپ کو نافذ کرنے کے لئے جا رہے ہیں فی سطر کسی بھی حروف؟ روب: جی ہاں. جوزف: معذرت، لوگ. روب: یہ صرف والوں میں سے ایک کی طرح ہے. اس مرحلے پر، میں نے 120 کے ساتھ ٹھیک ہوں. میں 120 کہہ کے ساتھ ٹھیک ہوں فی سطر حروف. میں نے کچھ حد رہا ہے سمجھ. میں 80 اتنی چھوٹی ہے، لیکن ہم اسے نافذ کرنے والے کر رہے ہیں. جوزف: ذاتی طور پر میں ساتھ لگتا ہے C، 80 حروف سے زیادہ ٹھیک ہے. آپ کو دوسرے حاصل کرنے شروع جاوا اسکرپٹ اور پی ایچ پی کی طرح زبانوں، نہیں صرف محدود کرنے کے لئے تو مناسب 80 حروف کے لئے یہ. ٹھیک ہے. ٹھیک ہے، کہ سپر سیکشن تھا. کسی کینڈی چاہتے ہیں؟ 4 اسپیکر: جی ہاں.