روب Bowden: یہ اس لئے ہے زیادہ آرام دہ سیکشن، لیکن اس سے یہ مطلب نہیں ہے اگر آپ آپ کو زیادہ آرام دہ اور پرسکون نہیں ہیں کی طرح محسوس اگر آپ یہاں باتیں سیکھ نہیں کرے گا. تو شروع کرتے ہیں. آپ سلائڈ کی کیا ضرورت ہے صحیح چیزوں میں جانے. کے بارے میں میں بس ابھی اسے لینے کے لئے کر رہا ہوں؟ لیپ ٹاپ سوئچنگ. 

یلیسن: تم نہیں کرنا چاہتے ، روب خود کو متعارف کرائے؟ 

روب Bowden: اوہ، میں روب ہوں. یہ میری پانچویں سال TF سے ING CS50 ہے. 

GABRIEL: میں جبرائیل ہوں. میں CS50 کے سربراہ TF ہوں. میں نے گزشتہ سال اور اس سال TF تھا. یلیسن: اور میں ایلیسن ہوں، اور اس میرے دوسرے سال TF سے ING CS50 ہے. 

روب Bowden: ٹھیک ہے، تو بائیں پر اس بات کو، امید ہے کہ آپ سے پہلے یہ دیکھا ہے. اگر نہیں آپ کی وجہ سے خود کے لئے اسے ڈاؤن لوڈ، آپ لیکچر میں یہ دیکھنا چاہئے تھا. لہذا اس CS50 آلات ہے، اور وہ ایک کسی حد تک اس میں سے ایک وضاحت کی کیا درس میں. لیکن بنیادی طور پر یہ صرف تم ہو ایک آپریٹنگ چل رہے ہیں آپ کے آپریٹنگ کے اندر نظام سسٹم ہم آپ کو دے سکتے ہیں تاکہ ضرورت کے بغیر پروگراموں اوہ یہ ہے، فکر کرنے دونوں ونڈوز پر کام پر جا رہا اور تم میں سے میک، یا اگر کچھ پہلے ہی، لینکس لینکس استعمال کر رہے ہیں. یہ صرف کرنا ہے ایک عام کھیلنے کی جائے میدان تو سب ہے ایک ہی عین مطابق ماحول. 

اگر آپ نہیں ہیں تو ، پہلے سے ہی اس کے ڈاؤن لوڈ کی اگر آپ ہیں کیونکہ آپ اسے ڈاؤن لوڈ کرنا چاہیئے مسئلہ سیٹ کے لئے اس کی ضرورت کے لئے جا. اور یہ ایک دو گیگا بائٹ ہے یہ تھوڑی دیر لے سکتا ہے تاکہ، اتارنا. ہارورڈ پر اس سے روزہ جاتا ہوں. تو CS50 آلات. 

اب شروع میں، ہم جا رہے ہیں کمانڈ لائن کی صرف ایک گروپ کے بارے میں بات سامان، اور تو اس کی طرف سے، میں کام کا مطلب یہاں پر یہ چھوٹا سا ماحول میں. اور چیزوں کے تمام کو نوٹس میں ابھی یہیں کہنا آپ کے اندر ہیں تو کام کرنے کے لئے جا رہے ہیں آلے کے اندر ایک ٹرمینل، یا آپ کے اندر ہیں تو gedit کے ٹرمنل ونڈو آلے کے اندر. لہذا ان کے ماحول پر ایک جیسی ہیں. 

لیکن میں نے ایک تیسرا راستہ جانے کے لئے جا رہا ہوں. اور یہ یہاں نیچے نوٹس یہیں تھوڑا IP ایڈریس. تو اگر آپ کو کرنے کی ضرورت نہیں ایسا، لیکن یہ آئی پی ایڈریس اب سوائے میں ... تو یہ اس بات کی طرف سے بلاک کر رہا ہے. OK، تا کہ آئی پی ایڈریس ایک ٹرمینل میں ختم یہاں تو یہ ٹرمینل زائد یہاں اپنے میک میں ایک ٹرمینل ہے. تو یہ ہے کہ فی الحال کوئی راستہ نہیں میں ہے بالکل آلے کے ساتھ منسلک. آپ ونڈوز پر ہیں، تو آپ کر رہے ہیں کچھ ڈاؤن لوڈ کرنے کی ضرورت کے لئے جا خاص طور پر اس کے لئے، خاص طور پر لوگوں پٹین، P-U-T-T-Y کا استعمال کرتے ہیں. 

تو مجھے کیا کرنے جا رہا ہوں قسم ہے SSH اور پھر اس کے IP ایڈریس. ویسے، ہے کہ آئی پی ایڈریس پر jharvard کے. لہذا 192.168.24.220. یہ ڈراونا پیغام، اس کو نظر انداز. صرف ہاں ٹائپ. یہ ایک باکس میں CS50 ہے. یہ آپ کے پاس ورڈ کے لئے پوچھتا ہے. 

اور اس طرح ان کے سیاق و سباق، جہاں کی ایک بہت میں یہ [اشراوی]، پاس ورڈ کے لئے پوچھتا ہے. ہم سوال سے جہاں کی ایک بہت کچھ مل گیا ہے یہ اصل میں ٹائپ نہیں کر رہی. یہ آپ کے حروف کو ظاہر نہیں کرتا پاس ورڈ آپ ٹائپ کے طور پر، کچھ بھی تو، ایک حفاظتی خصوصیت کے لئے، کیونکہ اگر کسی کو آپ کے کمدی کے اوپر لگ رہا ہے اور وہ ستارہ ستارہ دیکھیں ستارہ ستارہ، وہ تو جانتے ہیں کہ آپ کا پاس ورڈ چار حروف ہے. لہذا خیال یہ پوچھے جائیں گے اپنا پاس ورڈ، قسم کے لئے آپ کو. یہ ظاہر کرنے کے لئے نہیں جا رہا آپ حروف، لیکن یہ اصل میں انہیں قبول ہے. اس صورت میں، کسی بھی وقت آپ کو کبھی ایک پاس ورڈ فوری طور پر دیکھیں آلے کے ساتھ نمٹنے، پاس ورڈ کرمسن ہونے جا رہا ہے. لہذا کرمسن. 

اور اب یہاں اس کے اندر میرے میک میں ہے کہ ونڈو، میں بنیادی طور پر ہو رہا ہے ایک ہی عین مطابق نقطہ نظر ایک ٹرمینل کے اندر کے طور پر آلے میں. لہذا آپ کو یہ کرنے کی ضرورت نہیں ہے. کیا آپ واقعی سب کچھ کر سکتے آلے کے اندر چاہتے ہیں. میں نے تقریبا اصل میں کرتے ہیں کبھی نہیں آلات میں کسی بھی چیز. میں تقریبا ہمیشہ اب کہ کم سے کم اور میں آلات میں SSH کام کر رہا ہوں. 

کچھ بھی تو، اگر آپ ، ایک سست کمپیوٹر ہے آپ کو ایک فرق محسوس کر سکتے ہیں. میں ترجیح دیتے ہیں کیونکہ میں ایسا اس ٹرمنل ونڈو. اس طرح کچھ خصوصیات ہیں میں کھڑکی تقسیم کر سکتے ہیں، اور اب میں میں SSH سکتا آلے کے ذریعے. میں نے دو SSH ایک بار میں چل رہا ہے مل گیا. آپ کے کمپیوٹر کو خاص طور پر سست ہے تو اور آپ کو، آلات میں کام کر رہے ہیں اور آپ کو اس کا احساس ہے واقعی laggy، جو کچھ بھی. زیادہ تیزی سے ہو جاتا ہے تم اندر SSH ایڈ ہو تو. لیکن دوسری صورت میں آپ کو کسی بھی طرح کام کر سکتے ہیں. 

سامعین: SSH کیا مطلب ہے؟ 

روب Bowden: محفوظ گولے، اس طرح کچھ؟ SSH کیا مطلب ہے؟ GABRIEL: محفوظ شیل. یلیسن: یہ صرف محفوظ شیل کی. روب Bowden: محفوظ شیل. یہ بس you-- کہ ایک پروٹوکول ہے ایک محفوظ پروٹوکول، تاکہ مرموز. پیپلز نیٹ ورک جاسوسی نہیں کر سکتے اور آپ کو کچھ بھی کرنے کے لئے کہہ رہے ہیں دیکھ آپ کے لئے SSH ایڈ ہو. اور حقیقت میں، پرانے میں CS50 کے دن، 2009 میں اتنی میں ایک freshman، طریقہ تھا کہ جب آپ، CS50 مسئلہ کے سیٹ پر کام کیا آپ کو کچھ سرور پر SSH ایڈ تھا کہ ہم، آپ تک رسائی دی اور آپ کو وہاں پر کام کیا. لہذا آپ کو اس کی ضرورت نہیں تھی گرافیکل آلے. آپ gedit کی ضرورت نہیں تھی. تم ان سب چیزوں کی ضرورت نہیں تھی کہ آپ کو نقطہ ضعف اور کلک کر سکتے تھے. آپ اس انٹرفیس میں کام کرنا پڑا. مجھے اس انٹرفیس میں کام کرنے کو ترجیح دیتے ہیں. ہم جا رہے ہیں کا اتنا حصہ حق اب ختم کرنے جا کا ایک گروپ ہیں آپ کو چاہئے کہ حکم دیتا ہے طور سے واقف حاصل کرنے کے لئے شروع آپ کو کورس میں ساتھ جانے. اور ایمانداری سے، آپ کو ایک بار ان کی عادت ہو، اس کو اتنی تیز ہے اس ماحول میں کام کرتے ہیں یہ برائے تصاویر کے ساتھ کام کرنے کے لئے ہے کے مقابلے میں، گھسیٹنے اور چیزوں پر کلک کرنے سے. 

لہذا ہم یہاں ہیں. اب میں صرف SSH ایڈ میں، اور اسی طرح کی ڈیفالٹ آپ مقام ، کلاس میں یہ حکم دیتا ہے میں سے کچھ دیکھا لیکن ہم ایک بار پھر ان سب چلے جائیں گے. ہم ڈیفالٹ مقام میں گھر کی ڈائریکٹری ہے. اور ڈائریکٹری، صرف فولڈر کے لئے ایک اور لفظ. تو ہم نے گھر کی ڈائریکٹری میں ہیں. فائلوں کی فہرست، LS ٹائپ اس ڈائریکٹری میں. ظاہر ہے کہ میں نے پہلے ایک blah.c پیدا. تو ہم نے ایک ڈیسک ٹاپ کی ڈائریکٹری ہے. تم نحو اجاگر دیکھا؟ ہلکے نیلے رنگ اجاگر کی طرف اشارہ کرتا ایک ڈائریکٹری اور براہ راست سفید صرف ایک سادہ فائل کی طرف اشارہ کرتا. ایسا کرنے جا رہے ہیں آپ کو دیکھ کر کچھ دوسرے رنگ. ایک executable فائل شاید جا رہا ہے اس طرح سبز یا کچھ ہونے. ٹھیک ہے، تو ہم نے گھر کی ڈائریکٹری میں ہیں. 

اب میں ایک مختلف میں جانے کے لئے چاہتے ہیں تو ڈائریکٹری، سی ڈی میں چاہتا حکم ہے. تو کیا تم پھر ڈائریکٹری تبدیل، اور ڈائریکٹری کے نام پر منتقل آپ کو میں جانے کے لئے چاہتے ہیں کہ. تو یہاں ہم چار اختیارات ہیں. میں نے ڈاؤن لوڈ کی میں جا سکتے ہیں، اور اب ہم دیکھتے ہیں اسے یہاں اس parenthetical اپ ڈیٹ کر دیا I ~ / ڈاؤن لوڈ میں ہوں کہنا. 

لہذا ٹلڈا کیا ہے؟ اس کے لئے ایک آشلپی ہے آپ کے گھر کی ڈائریکٹری. تو آپ کیا تقریبا ہر چیز کے لئے جا رہی ہے آپ کے گھر کی ڈائریکٹری کے لئے احترام کے ساتھ ہو، اور پی ڈبلیو ڈی کو صرف ایک حکم ہے میں نے ایک سال میں ایک بار استعمال کرتے ہیں کہ صرف موجودہ ڈائریکٹری پرنٹس. اور اس لئے تم یہاں دیکھیں ~ / ڈاؤن لوڈ کے واقعی پختہ عزم / گھر / jharvard کے / ڈاؤن لوڈ کرنے کے لئے. لہذا / گھر / jharvard کے میرے گھر کی ڈائریکٹری ہے. 

تو ہم نے سی ڈی ڈاٹ ڈاٹ سکتے. اب ڈاٹ ڈاٹ ایک خاص ڈائریکٹری ہے کہ ہمیشہ ایک ڈائریکٹری اپ سے مراد ہے. I ~ / ڈاؤن لوڈ میں ہوں تو، تو CD ڈاٹ تاکہ ڈاٹ ٹلڈا لئے مجھے لانے کی جا رہی ہے. ہم CD ڈاٹ ڈاٹ کیا خیال ہے اب کے لئے مجھ سے لانے کی جا رہی ہے؟ یہ / گھر کے لئے مجھے لے کر آتا ہوں. تاکہ پرنٹ کام کر ڈائرکٹری کی ٹلڈا، اب میں / گھر / jharvard کے اندر ہوں. اس سے ایک ڈائریکٹری اپ، اب یہ گھر / یہاں لکھا ہے. 

CD ڈاٹ ڈاٹ اب. اب میں روٹ ڈائریکٹری میں ہوں، اور آپ کو دوبارہ ایسا نہیں کر سکتا. تم بس میں رہوگی ہمیشہ کے روٹ ڈائریکٹری. روٹ ڈائریکٹری کی ایک پوری چڑھانے ہے آپ میں دیکھنا چاہتا ہوں کہ اگر، چیزیں، آپ کر سکتے ہیں. مثال کے طور پر، میں نے جانا ہے تو بن میں، جو کہ مشتمل اس طرح LS طور پر ان تمام binaries کے،، اور سی ڈی، اور ان تمام چیزوں کے. لہذا یہ حکم دیتا ہے کے لئے کی ضرورت نظام میں کہیں موجود، اور اسے / بن ڈائریکٹری میں ہے. لیکن آپ کے پاس تقریبا سب کچھ ہے آپ کے گھر کی ڈائریکٹری سے ہونے جا رہا. اور جو کچھ کسی بھی دلائل کے بغیر سی ڈی، آپ کو سی ڈی ~، کی ضرورت نہیں ہے کہہ سکتے ہیں. سی ڈی آپ کو لانے کے لئے جا رہی ہے واپس اپنے گھر کی ڈائریکٹری میں. 

ایک یہ گزشتہ ایک. سی ڈی - کے لئے آپ کو واپس لانے کے لئے کی جا رہی ہے آپ میں تھے کہ گزشتہ ڈائریکٹری. تو میں صرف، ایک قطار میں دو بار cd'd تو میری گزشتہ ڈائریکٹری گھر کی ڈائریکٹری تھا. اب میں بن سلیش، اور کے پاس جانا ہے چلو اور صارف میں جانے. یوزر شیئر. صارف شیئر چلتے ہیں. اب میں صارف شیئر میں اب ہوں. CD -، واپس بن میں. تو یہ خاص طور پر مفید ہو جاتا ہے آپ have-- اور جب اسے ٹاگل دونگا. صارف واپس شیئر، بن، شیئر بن تاکہ. 

یہ مفید ہو جاتا ہے. تم نے اپنے آپ سے بہت سے اندوز مل سکتی ہے بہت سے، بہت اندر در اندر ڈائریکٹریز. اور اگر تم کچھ کرنا چاہتے ہیں ایک اوپری ڈائریکٹری میں اصلی فوری. کہ اس ڈائریکٹری میں جائیں، بنانے اس طرح کی تبدیلیوں اور سامان، اور اب آپ کو جانا چاہتے ہیں واپس تم کہاں تھے. CD -. میں نے ہمیشہ مایوس ہوں مجھے جانا جب ہو اس ڈائریکٹری میں کرنا میں کام کرنا چاہتا تھا. میں نے کیا جب میں نے ہمیشہ مایوس ہو بجائے ایک قدم کے دو مراحل میں، کہ اس سی ڈی کا مطلب ہے کیونکہ - جا رہا ہے کہ انٹرمیڈیٹ مقام میں لانے کے لئے بجائے میں کہاں جانا چاہتے ہیں کے. 

تو ہم سب کی فہرست میں فائلوں کو دیکھنے. ہم نے اب تک کے ارد گرد حاصل کرنے کے لئے کس طرح جانتے ہیں. تو اب کی فائلوں میں ترمیم کے بارے میں بات کریں. اس کورس میں، آپ کر رہے ہیں تقریبا ہمیشہ gedit کو استعمال کرنے کی توقع کی. اگر آپ چاہتے ہیں، آپ کو اگلے مرحلے کو لے جا سکتے اور ایک کمانڈ لائن ٹیکسٹ سیکھنا شروع ایڈیٹر. لہذا مختلف اختیارات موجود ہیں. 

اور ہیں شاید ہو کیا آپ کے لئے متعلقہ ہونے کے لئے جا، ہم نینو، طاقت، اور Emacs کے لئے ہے. لہذا نینو beginners کے ہے کمانڈ لائن کے ٹیکسٹ ایڈیٹر. لہذا نینو کی پر جانے دو blah.c میں نے پہلے پیدا کیا. یہ صرف اس معیار C فائل ہے. اور آپ کو چیزیں ایک مکمل جھوبڈ دیکھیں اسکرین کے نچلے حصے میں جا، اور بظاہر blah.c اس C کوڈ پر مشتمل ہے. 

، یہ خاص طور پر ایڈیٹر میں اتنی کیا یہ bottom-- میں کہہ رہا ہے اب اس جزم کی علامت، ہم اس ^ G، ^ X، ^ O دیکھیں. تو ہے کہ تقریبا تمام میں آپ دیکھتے ہیں کہ سیاق و سباق، آپ میں ہے کہ جزم کی علامت کو دیکھ سکتے ہیں اسٹیک اتپرواہ پر آن دیگر مقامات،، اس طرح کچھ. یہ تقریبا ہمیشہ کو کنٹرول سے مراد. تو میں نے کیا کرنا چاہتے ہیں باہر نکلنے کے لئے کنٹرول X. کنٹرول X، راستے. اور میں اپنے تیر کا استعمال کر سکتے چابیاں کے ارد گرد منتقل کرنے کے لئے. میں نے اشارہ اور آسانی سے کلک نہیں کر سکتے ہیں محسوس کریں. اگر آپ اپنے تیر کا استعمال کی ضرورت ہے چابیاں کے ارد گرد منتقل کرنے کے لئے. ایک ترتیب سے ہی ہو سکتا پوائنٹ اور کلک کرنے کے لئے. 

لیکن کچھ تبدیلیاں کر دیں. اب کنٹرول ایکس باہر نکلیں جانے کے لئے. یہ نظر ثانی کی بفر محفوظ کہا جا رہا ہے. اب ہاں کے لئے فوری طور پر، Y، ن کوئی لئے. منسوخ لئے کنٹرول C. میں نے صرف ہاں کہیں گے. لکھنے کے لئے فائل کا نام. ڈیفالٹ فائل ہے یہ پہلے سے ہی ہے کہ. درج کریں مارا. OK. اب میں صرف اس فائل کو ایڈٹ کیا گیا ہوں، اسے محفوظ کر لیا، اور اس کو تبدیل کیا جاتا ہے. 

لہذا نینو سب سے آسان ہے ٹیکسٹ ایڈیٹر کی عادت ہو. متبادل کی طاقت اور Emacs کے ہیں. ان لوگوں کو اعلی سطح متن ایڈیٹرز ہیں کہ ایک بہت بھاری سیکھنے وکر ہے. تو میری ذاتی ترجیح طاقت ہے. اور یہ اختیارات میں سے ایک وسیع اقسام ہے. اور آپ کو استعمال کیا ہو ایک بار یہ کرنے کے لئے، آپ کو کبھی نہیں کروں گا کسی دوسرے پر جانا چاہتا ہوں ٹیکسٹ ایڈیٹر آپ کی وجہ سے صرف اتنی ساری چیزیں ہیں ان میں آپ کو دستیاب، لیکن یہ ایک بہت لیتا ہے طویل وقت میں جاننے کے لئے. تو شاید آپ کو صرف مجبور کرنا چاہتے ہیں اپنے آپ کو درست اب، اس کی عادت کے لئے لیکن میں نے یہ اس کے قابل ہے کہیں گے. لیکن یہ مشکل ہے. 

اور پھر Emacs کے. میں نے ہمیشہ Emacs کے میں جدوجہد کیونکہ میں بالکل کچھ نہیں کرنے کا طریقہ معلوم. بظاہر Emacs کے ڈیفالٹ کی طرف سے نہیں ہے آلے پر نصب. ہم شاید کہ اضافہ کریں گے ڈیفالٹ کی تنصیبات کے طور پر. تم میں سے ایک کو جاننے کے ایک بار طاقت یا Emacs کے، وہاں ہے کرنے کے لئے کوئی مجبور کی وجہ کبھی، دوسرے کو جاننے کے لیکن یہ ایک مکمل طور پر مختلف انداز ہے. OK تا کہ متن فائلوں میں ترمیم ہے. 

سامعین: آپ پھنس گئے تھے تو طاقت میں ابھی، کس طرح کر we-- 

روب Bowden: ہے طاقت میں ایک سے زیادہ طریقوں، اور پورے ہیں طاقت سیکھنے پر سبق. تو کیا تم ہونا ہو تو ترتیب میں ڈالیں موڈ میں جس سے آپ کو یہ کر سکتے ہیں، ٹیکسٹ ٹائپ کرنے کہ مختلف طریقوں سے میں داخل، آپ داخل کے موڈ میں حاصل کس طرح لیکن میں ہے. میں یا کسی بھی خصوصی سے باہر حاصل آپ میں ہیں کہ موڈ، صرف فرار. اور آپ کو صرف حاصل کرنے کے لئے فرار پارٹی کوئی بھی اندر در اندر طریقوں آپ میں سے باہر. بس ٹھیک ہے، اب میں واپس نارمل موڈ میں ہوں. 

اور اس لئے عام موڈ میں، ایک بڑی آنت. تم نے اسے سب سے نیچے دیئے گئے ظاہر دیکھیں. اور پھر (ق). آپ تبدیلیاں کی ہیں اگر ایسا ہے تو ق ترک کر دے گا، جس میں ... میں تبدیلیاں کی ہیں؟ میں بظاہر تبدیلیاں کی ہیں. آپ تبدیلیاں کر دی ہیں، تو یہ جائے گا تو آپ ایک فجائیہ نشان ڈال کر سکتے ہیں کا کہنا ہے کہ. میں نے ایک دھماکے کی آواز نے اسے فون کرنے جا رہا ہوں. تو آپ کو ایک پابندی کے لئے پیش کر سکتے ہیں صرف بغیر کچھ کئے چھوڑنے، یا بڑی آنت WQ بچانے اور استعفی دے دونگا. W تو میں جنرل لکھ کریں. لہذا فائل کو لکھنے. مجھے لکھیں اور چھوڑ کر سکتے ہیں. یا آپ کو صرف کر سکتے QX سلیم، ق بینگ صرف قطع نظر وہاں سے باہر حاصل کرنے کے لئے آپ کو بنا دیا ہے کہ کسی قسم کی تبدیلی کی. 

ٹھیک ہے، تو اب چلو go-- ہم فائلوں کو پیدا کر سکتے ہیں. کی فائلوں کو ہٹانے کے شروع کرتے ہیں. اور میں صرف ایک میں پھینک دونگا فوری نئی کمانڈ، رابطے. لہذا FOO کو چھو. ٹچ بار. باز چھوئیں. میں LS، اب ہم دیکھتے ہیں تو ان فائلوں کہ وجود. وہ مکمل طور پر خالی ہو. تو رابطے کو صرف ایک آسان ہے سے ایک کی راہ کی، [اشراوی]. دو، تکنیکی طور پر صرف ریاست کے لئے یہ، یہ ٹائم اسٹیمپ اپ ڈیٹس. لہذا آپ کو تشکیل دیتے ہیں کہ کسی بھی فائل ہے ایک ٹائمسٹیمپ اس کے ساتھ منسلک. تاکہ باز پر پیدا کیا گیا ہے 16:21 پر 14 ستمبر. یہ اگر ایسا ہے تو، اب 16:22 ہے میں نے پھر سے باز چھونا، ہم دیکھتے ہیں کہ باز تھا سب سے زیادہ حال ہی میں 16:22 پر نظر ثانی کی. لیکن دوسری صورت میں تقریبا کبھی نہیں فائلوں پر timestamps میں دیکھو. رابطے تو، یہاں میں نے صرف استعمال کر رہا ہوں یہ کچھ فوری فائلوں کو پیدا کرنے. 

ٹھیک ہے، تو اب RM ہے ہم یہاں کے بارے میں خیال ہے کہ کمانڈ. اور ہم بو RM سکتے. باقاعدہ خالی فائل بو کو دور فرما دیں. اور ہم Y ٹائپ کر سکتے ہیں، اور اب اس کو ہٹاتا ہے. RM باز. باقاعدہ خالی فائل کو ہٹا دیں باز اور نہیں کے بعد کی قسم (ن). اب اسے ہٹا دیا نہیں ہے. اتنی بار اور باز اب بھی موجود. FOO کو چلا گیا ہے. GABRIEL: بات کر رکھیں. روب Bowden: عظیم. پریشان کن پیغام پس یہاں، باقاعدہ empty-- ہٹانے تم وہاں کیا کر رہے ہو؟ باقاعدہ خالی فائل کو ہٹا دیں. ہم ہو جائے نہیں کرنا چاہتے ہیں تو اگر اس پیغام سے پریشان، ہم اس -f میں پھینک کر سکتے ہیں پرچم، اور تو ہے کہ قوت ہے. مجھے -f RM اور اب اگر، یہ کرنے کے لئے نہیں جا رہا ہے آپ اس فائل کو ہٹانا چاہتے ہیں کا کہنا ہے کہ. یہ صرف یہ کر دونگا. اور LS، میں اب وہاں بار نظر نہیں آتا. 

اب وہ ایک ممکنہ طور پر ہے خطرناک کمانڈ. یہ بھی برا نہیں کرنے کے لئے جاتا. ہم ایک دوسرے میں واپس آ جائیں گے کہ کس طرح یہ واقعی خطرناک حاصل کر سکتے ہیں. اور چلو کچھ temp کی ڈائریکٹری تشکیل دیں. mkdir، ایک اور کمانڈ. لہذا mkdir ایک حکم ہے کہ ایک ڈائریکٹری بناتا. اور اب LS طرف ہم اس اچھی روشنی دیکھ نیلے temp کی ڈائریکٹری پر روشنی ڈالی. میں TEMP میں سی ڈی پر کر سکتے ہیں. اور میں FOO mkdir سکتے. FOO میں CD. mkdir بار. بار میں سی ڈی. 

تو ہم آسانی سے حاصل کر سکتے ہیں دیکھ کچھ خوبصورت گہری nesting کے میں. اب کس طرح میں نے ایک ڈائریکٹری ہٹاؤں؟ rmdir. تو میں صرف براہ راست RM کی کوشش کرتے ہیں، جیسا کہ ہم، ایک باقاعدہ فائل کے ساتھ کیا تھا RM بار کی جا رہی ہے بار دور نہیں کر سکتے کہتے. یہ ایک ڈائریکٹری ہے. ایک خصوصی کمانڈ کے لئے نہیں ہے قسم کے، ڈائریکٹریز کو ہٹانے کے. لہذا rmdir بار. اب کی بار چلا گیا ہے. 

ٹھیک ہے، تو rmdir میں استعمال بہت زیادہ کبھی نہیں. اب چلو being-- وجہ یہاں میں ایک باقاعدہ فائل بار بنانے. لہذا rmdir بو. rmdir. FOO کو دور کرنے میں ناکام رہے. ڈائریکٹری خالی نہیں. تو آپ کو ایک دیر ہٹانے کے استعمال نہیں کر سکتے ہیں اس میں چیزیں ہیں اس ڈائریکٹری. 

تو اگر آپ کو کچھ اختیارات ہیں. کہ اس ڈائریکٹری میں جا سکتے ہیں، کو ہٹا دیں ہر چیز کو دستی طور پر، اور اس کے بعد باہر آ اور ڈائریکٹری rmdir. یہ کہ ظاہر پریشان کن آواز. ہزاروں شخص نہ ہو تو وہاں میں فائلوں کی؟ ویسے، آپ * RM سکتا. ہم ایک دوسرے میں * کے بارے میں بات کریں گے. یہ بنیادی طور پر تمام چیزوں کا مطلب. لیکن بہتر ابھی تک، تو RM -r. تو RM -r-- کی ایک بہت میں سبصورنسوں، -r، پنراورتی مطلب ہم کے بارے میں بات کریں گے جس میں کیا کئی ہفتوں میں پنراورتی اسباب. لیکن یہ بنیادی طور پر گزرنا مطلب اس ڈائریکٹری کی مکمل اور ہر چیز کو ہٹانے. 

تو RM -r FOO کو کہنا جا رہا ہے ڈائریکٹری FOO میں اترتے ہیں؟ جی ہاں. باقاعدہ خالی فائل ہے FOO / بار ہٹائیں؟ جی ہاں. ڈائریکٹری FOO کو ہٹائیں؟ جی ہاں. تو اب FOO کو اور سب کچھ اندر اس کو ہٹا دیا گیا ہے. 

اب جب کہ میں خاص طور پر پریشان حاصل کر سکتے ہیں when-- کی، 2 چھونا، 1 چھو 3 چھو. فائلوں کی ایک مکمل جھوبڈ ہے کرسکا. میں چاہتا تھا، تو میں بنا سکتا ہے یہاں میں فائلوں کی ہزاروں. اور RM -r foo کی جا رہی ہے خوبصورت پریشان ہو. جی ہاں، ہاں، ہاں، ہاں، ہاں، ہاں. ایک بہت زیادہ فائلوں کے ساتھ آپ فوری طور پر کتنی بار دیکھ میں ہاں ٹائپ کرنا ہے. ٹھیک ہے، ہم صرف کس طرح ہم کر سکتے ہیں اس سے پہلے دیکھا تھا ، ہاں -f ٹائپ کرنے کی ضرورت سے چھٹکارا حاصل. لہذا mkdir FOO کو سی ڈی ہے FOO ٹچ 1 2 3. ٹھیک ہے، تو RM -rf FOO کے لئے جا رہی ہے آنکھ بند کر کے مکمل طور پر FOO کو ہٹانے. کوئی فوری. کوئی بھی چیز. FOO کو چلا گیا ہے. 

تو میں نے اس کا استعمال کرتے ہیں ہر وقت کا حکم دیتا. کہ یہ ایک ہے، نے کہا بہت ہی خطرناک کمانڈ، میں نے ایسا کچھ کر کیونکہ یہ، یہ آپ کو فوری طور پر نہیں کرے گا. وہ چلا جائے گا. اور یہ، کافی کثرت سے ہوتا ہے اور یہاں تک کہ اعلی سطح CS کورس میں. کبھی کبھی ہم دیکھیں گے کچھ ہے جہاں اگر کسی نے میں نے غلطی سے ہمارے RM آریف ایڈ میرے گھر کا کہنا ہے کہ ڈائریکٹری اور اپنے P سیٹ کے سب چلا گیا ہے. اور یہ، تباہ کن ہے لیکن کوئی ردی کی ٹوکری میں کر سکتے ہیں نہیں ہے. وہاں کچھ بھی نہیں ہے کوئی ہے آپ کو دوبارہ حاصل کرنے کے لئے. یہ صرف جا چکا ہے. ہو جائے گا اس سے بھی بدتر RM -rf / کی طرح کچھ. تو ہم صرف تبادلہ خیال کہ روٹ ڈائریکٹری. یہ سب کے سب کی ڈگری حاصل کی آپ کے سسٹم پر فائلوں. چیزیں بہت گندا حاصل کرنے کے لئے ہوتے آپ LS طرح چیزیں ہٹانے جب، اور سی ڈی، اور ان میں سے سب. 

سامعین: کیا فرق ہے RM، آریف، اور RM * درمیان روب Bowden: تو RM * - 

یلیسن: سوال کیا تھا RM، آریف، اور RM * کے درمیان فرق. 

روب Bowden: * تو RM. کے تمام عام اسباب میں ستارہ اس ڈائریکٹری کے مواد. دوسرے کے بارے میں سوچ کی کوشش کر رہی سٹار کو دکھانے کے طریقے. ویسے، عام طور پر اصل سٹار کسی بھی میچ پیٹرن کا مطلب. مجھے dog1 نامی ایک فائل ہے تو، cat2 چھو، cat1 چھو، dog2 چھو. تو LS * 1 cat1 پرنٹ جا رہا ہے اور dog1، کہ ستارہ بھرا ہوا جا سکتا ہے کیونکہ وہاں سے ایک ہونے کی ضرورت ہے with-- میں، لیکن اسٹار کی بلی یا کتا یا تو ہو سکتا. یہ ایک وائلڈ کارڈ ہے. کہ میں دیکھ رہا ہوں لفظ ہے. وائلڈ کارڈ. یا میں نے کتے * LS، اور کر سکتے ہیں I، dog2 dog1 دیکھنے کو ملی ہوں. لہذا ان کی فائلوں کی لسٹنگ کر رہے ہیں کہ اس مخصوص پیٹرن سے ملتے ہیں. آپ کو اس راہ میں LS استعمال کر سکتے ہیں. 

LS * سٹار کچھ بھی میل کھاتا ہے. لہذا یہ سب کے سب کو پرنٹ کرنے کے لئے جا رہا ہے اس ڈائریکٹری کے مواد ان میں سے سب کے بعد سے ملنے کے. یہ کچھ بھی پرنٹ کرنے کے لئے نہیں جا رہا ہے اوپری سطح ڈائریکٹریز میں. میرے پاس تو ایک ذیلی ڈائریکٹری، FOO کو، اور چھو 1 2 3-- تو اب RM * سٹار تو، cat1، cat2، dog1، dog2 ہٹانے. FOO کو دور نہیں کر سکتے. یہ ایک ڈائریکٹری ہے. 

لہذا سٹار تمام وسیع کرتا ڈائریکٹری میں فائلیں. تو تکنیکی RM * کہہ طرح ہے RM cat1، cat2، dog1، dog2، FOO کو. RM -rf جبکہ، تکنیکی طور پر ستارہ کی کروگی لیکن RM -rf--، ہم کیا چاہتے ہیں کو پورا میں اس سے باہر جاتے ہیں تو ڈائریکٹری، RM -rf temp کی، کہ TEMP میں جانے کے لئے جا رہا ہے اور تکراری ہر چیز کو ہٹانے. 

لہذا اسٹار کی اس میں الگ ہے کہ تاکہ اس بات کو by-- سمجھا جاتا ہے I میں چل رہا ہوں کہ، اس بات کو جو اوامرو لئے مجھے فورا ہی کر رہا ہے اور پھر عمل بنانے اور کر رہے ان، میں اپنے شیل کہتے. اور اس طرح یہ شیل خود ایک پروگرام ہے. اور میں اگر میں چاہتا تھا میں / بن / پارٹی چلا سکتا ہے. شیل پارٹی کہا جاتا ہے. اور اب ہم کچھ محسوس تھوڑا سا تبدیل کر دیا ہے، اور اس کے لئے میری ترتیبات کیونکہ شیل کو کسی حد تک مختلف ہیں. 

لیکن اب میں تکنیکی طور پر چلا رہا ہوں میرے اصل شیل کے اندر اندر ایک شیل، اور میں اب اس کے شیل سے باہر نکلیں، اور کر سکتے ہیں میں واپس میری سب سے اوپر کی سطح شیل ہوں. کہنے کا مقصد کہ ستارہ is--. لہذا اسٹار کی چیز ہے پارٹی کی طرف سے سمجھ. تو RM -rf، -rf پرچم ہے صرف RM کی طرف سے سمجھ. یہ جانتا ہے جب تم اس ایک -rf گزر کہ آپ یہ تکراری ہٹانا چاہتے فورا بغیر تمام فائلوں. ستارہ کے کچھ اور سمجھا جاتا ہے Bash کی طرف سے ہے کہ آپ کو RM * کہنا ہے کہ جب، پارٹی کا کہنا ہے کہ کرنے کے لئے نہیں جا رہا ہے ارے RM *، ستارہ ہٹانے. پارٹی * RM کہنا جا رہا ہے cat1، cat2، dog1، dog2 ہٹانے. یہ خود کار طریقے کو بڑھانے کے لئے جا رہا ہے ڈائریکٹری میں فائلوں کی تمام. 

اور اسی طرح کی ٹلڈا ایک اور مثال ہے پارٹی سمجھتی ہے کہ علامت. آپ کو سی ڈی ~، پارٹی کو مزید وسیع کہتے ہیں جب آپ کے گھر کی ڈائریکٹری میں ہے کہ. دوسرے سوال اب تک؟ اوکے تو ہم نے فوری جا شروع کرنے جا رہے ہیں. 

ٹیب تکمیل. صرف وہاں اسے باہر پھینک کرنے. بہت سے لوگ ایسا نہیں کرتے اس بات کا احساس موجود ہے. تو میں نے سی ڈی ڈاؤ ٹائپ کریں تو، میں نے ڈاؤن لوڈز میں جانا چاہتے ہیں. مجھے nloads ٹائپ کرنے کی ضرورت نہیں ہے. میں نے صرف ٹیب مار کر سکتے ہیں. تو یہ ہے کہ کو تسلیم کرتا ہے ڈاؤ ایک سابقہ ​​ہے کہ کچھ بھی میل نہیں کھاتا اس ڈائریکٹری میں باقی، تو یہ آپ کے لیے وہ مکمل کرے گی. اب میں داخل ہو سکتے ہیں. 

میں نے بھی تکراری وہ کروں. لہذا mkdir FOO کو. کی FOO کو میں جانے دو. mkdir بار. تاکہ میرے گھر واپس جا ڈائریکٹری، میں نے ڈاؤن لوڈ کی ہے دیکھ سکتے ہیں. اب ایک بار پھر ٹیب مارنے، خود کار طریقے سے ہے FOO میں کو بھرنے کے لئے جا. یہ صرف ڈائریکٹری ہے. خود کار طریقے سے، ایک بار پھر ٹیب مارنے بار میں کو بھرنے کے لئے کی جا رہی. تو اب میں (لوڈز / FOO کو / بار ~) میں ہوں. 

لہذا اس ٹیب تکمیل، جب بھی میں، دفتری اوقات کے لئے مل گیا اور میں سے زیادہ کھڑا ہوں کسی کے کندھے، اور وہ RM جا رہے ہیں D-O-W-N-L-اے-اے-ڈی-S، میں مر رہا ہوں. صرف ٹیب، ٹیب، ٹیب، ٹیب. تو یقینی طور پر ٹیب کا استعمال کیا. اور اسی طرح اپ اور لوگوں کے نیچے، ایک بہت صرف یہ ہے کہ کے ساتھ کیا ہوا کبھی نہیں مارا اور نیچے ہے. یہ پچھلے ذریعے جائیں گے حکم دیتا ہے، اگر ایسا ہے تو آپ کو صرف کچھ بھاگ گئے، اور آپ اسے دوبارہ چلانا چاہتے ہیں، آپ کو یہ کرنے کے لئے حاصل ہونے تک صرف ڈکیتی. OK. 

اتنی جلدی، کچھ دوسری چیزوں. کی TEMP میں واپس جانے دو. چلو کچھ فائلوں کو پیدا کرتے ہیں. تو یہاں میں، میں صرف یہ چاہتا ہوں کچھ الفاظ کی فہرست کے لئے جا. کتے، بلی، میانو. کی، مچھلی کتے کرنے دو. تو اب کے نمائندے نے ایک بہت ہے مفید حکم دیتا ہے کہ آپ بھر سے تلاش کرنے کے لئے استعمال کسی مخصوص متن کے لئے فائلوں، اور تکنیکی طور پر اگر آپ واقعی میں کیا کر سکتے ہیں اس کے لئے پیچیدہ کے تاثرات سے ملنے کے لئے. 

یہاں تو میں grep تو، اور کیا میں نے کے لئے تلاش کرنا چاہتے ہیں؟ کی میں بلیوں کے لئے تلاش کر رہا ہوں، اور میں نے ان تمام فائلوں کی تلاش کرنا چاہتے ہیں. تو کس طرح میں ان فائلوں کی سب کرتے ہیں؟ سٹار. تو فائل سے ایک میں، میں نے بلی ہے. میں شاید ہو سکتا ہے یہ کچھ بہتر بلایا، اس طرح لگ رہا ہے کیونکہ لائن نمبرز یا کچھ اور. لیکن فائل سے ایک میں میں نے بلی کے ساتھ ایک لائن ہے. فائل دو میں میں نے بلی کے ساتھ ایک لائن ہے. تو اب میں فائل ایک کے اندر نظر کر سکتے ہیں اور دیکھیں اوہ ہاں، وہ فائل بلی کی کیا ضرورت تھی. نوٹس فائل تین مماثل نہیں کیا گیا تھا بلی وہاں میں نہیں ہے کیونکہ. میں میانو لئے grep سکتے. صرف دو میانو ہے دائر. 

لہذا آپ کو جمع کر سکتے ہیں یہ، دوبارہ، ساتھ -r، جس میں نے پہلے کہا کثرت پنراورتی مطلب. اور اس طرح میں یہاں آ سکتا ہے، grep -r کسی بھی مثال کے ترمیم کرنے دے of-- لئے اس میں سے ایک صرف وہاں میں ایک بلی پھینک. لہذا میں سے کسی مثال کے -r grep اس ڈائریکٹری بھر بلی. اور یہ تکراری گے کسی بھی subdirectories تلاش. تاکہ باز سے، بلی نہیں ہے. temp کی / 2 میں، بلی نہیں ہے. اور TEMP میں / بلی وہاں 1. تو ہے کہ فائلوں کے اندر اندر تلاش کرنا ہے. 

اب آپ بھی ایک تلاش کریں کا استعمال کر سکتے ہیں. اور اس طرح خاص طور پر کے بارے میں ہے جائے ایک دیئے گئے نام کے ساتھ فائلوں کے لئے تلاش. تو چلو کچھ زیادہ بنانے کے لئے ہیں. کے ڈاؤن لوڈز میں جانے دو. dog1 چھوئیں. cat2 چھوئیں. cat_dog چھوئیں. catcat چھوئیں. 

تو میں نے سب کو تلاش کرنا چاہتے ہیں نام میں کتے کے ساتھ فائلوں. لہذا جائے، اور سب سے طویل کے لئے مجھے یاد ہے کبھی وقت کس طرح مل آخر میں جب تک، کام کیا یہ تو واضح کر دیا کہ کچھ پڑھا. تو خود بخود پنراورتی، مل. تم ایک -r منتقل کرنے کی ضرورت نہیں ہے. لہذا ڈاٹ جائے. ہم نے ابھی تک ڈاٹ کے بارے میں بات نہیں کی ہے. ہمیشہ ڈاٹ ڈاٹ جبکہ ایک ڈائریکٹری اپ کا مطلب. ڈاٹ ہمیشہ موجودہ ڈائریکٹری کا مطلب. لہذا میں نے میں -r ڈاٹ RM سکتا اسی طرح اگر میں * -rf RM سکتے. بالآخر وہ ایک ہی بات کو پورا. RM -rf ڈاٹ کو دور کرنے کے لئے جا رہی ہے پورے موجودہ ڈائریکٹری. 

اوکے، میں نے وہاں کیا کرنا چاہتے ہیں نہیں ہے جو. لیکن ڈاٹ جائے. لہذا تکراری موجودہ تلاش ڈائریکٹری، اور اب سب کچھ اس کے بعد پرچم کا ایک گروپ ہیں کہ آپ واپسی سے چیزوں کو خارج کرنے کے لئے استعمال. لہذا مل ڈاٹ سب کچھ واپس کہ یہ موجودہ ڈائریکٹری سے حاصل کر سکتے ہیں. ان تمام فائلوں ہیں تکراری تلاشی. ہم ایک دوسرے میں ان میں سے کچھ کو دیکھ لیں گے. 

لیکن آپ کی صورت میں مجھے کیا کرنا ہے کہ کس طرح سوچ رہے ہیں ، جو کہ بہت کم از کم حکم K، تاکہ میک میں اپنے ٹرمینل میں یہ صاف کرتا ہے. کنٹرول L عام طور پر صاف کرتا ہے ٹرمینل کے کسی بھی طرح کے لئے اس کا. آپ یہ بھی واضح ٹائپ کر سکتے ہیں. اور تم نے کبھی مل جائے تو ایک عجیب scenario-- میں اس سے مجھے ایک جوڑے کو ہوا time-- جہاں آپ کا اشارہ کے رنگ سب تم نے گڑبڑ کر دی، یا کر رہے ہیں کسی بھی چیز کو دیکھنے کے لئے کے قابل نہیں ہیں آپ ٹائپ کر رہے ہیں کیونکہ جب، ٹائپ کی جا رہی کبھی کبھی پس منظر کا رنگ مقرر کیا گیا ہے کی طرح پیش منظر کا رنگ کے طور پر ایک ہی اور اب آپ فونٹ کو دیکھ نہیں سکتا. ری سیٹ پر صرف کرتا ہے کہ کچھ ہے پہلے سے طے شدہ سیاہ پس منظر کے لئے آپ کو، وائٹ فرنٹ، یا جو کچھ بھی آپ کو ان کے لئے مقرر کیا. 

تو ہم کہاں تھے؟ ڈاٹ تلاش کریں. یہ گزشتہ تو اب سب کچھ نقطہ کے نتائج کو محدود کچھ کرنے کے لئے کہ میل کھاتا ہے دیئے پیٹرن. تو یہاں میں تلاش کرنا چاہتے ہیں نام بلی کے ساتھ سب کچھ. مجھے کچھ نہیں ملا. کیوں کہ معاملہ ہے؟ ٹھیک ہے، میں صرف کے لئے تلاش کر رہا ہوں بالکل وہی نام بلی کے ساتھ کچھ. میں کچھ تلاش کرنے کے لئے چاہتے ہیں، تو کہ کچھ پیٹرن ہے، اور cat-- کی قیمت درج کرنے میں تکنیکی طور، ضروری نہیں ہیں لیکن میں وہاں میں ان کے پھینک رہا ہوں. تو اب یہ catcat کیونکہ مل جاتا ہے صرف ایک چیز جو کہ کچھ صوابدیدی ہے پیٹرن بلی کی طرف سے پیروی کی. میں اب بلی * ڈال، اور کر سکتے ہیں ، catcat، cat_dog، cat2 جائے لوگ کیونکہ بلی کے ساتھ تمام چیزیں ہیں کسی بھی چیز کی طرف سے عمل شروع میں. اگر آپ اس کو اکٹھا کر سکتے. آپ تمام سی فائلوں کے لئے تلاش کرنا چاہتے ہیں تو ہے کہ آپ ہے، آپ * سی ایسا ہو سکتا ہے. ہم یہاں blah.c چکے. تو یہ ایک تلاش کے کام ہے. آپ تلاش کر سکتے ہیں. اس پرچم کی ایک پوری چڑھانے ہے مزید پابندیوں کے لئے. اور ان پر سے ایک، کے -d کہنے دو. تاکہ فرسودہ. اوہ، کہ میں چاہتا ہوں نہیں ہے. -d نہیں. قسم D. لہذا ڈاٹ کو تلاش - قسم D. تو کیا ہوا کہ صرف کیا مجھے تلاش کر رہا ہوں ہے موجودہ ڈائریکٹری میں تمام فائلوں کے لئے a-- د کے لئے کھڑا ہے کے ساتھ ڈائریکٹری ڈائریکٹری قسم. یہ تمام ڈائریکٹریز لوٹتا موجودہ ڈائریکٹری میں. اور قسم F تمام باقاعدہ ہے فائلوں، تمام غیر ڈائریکٹریز. تو وہ ہے صرف ایک دوسرے طریقوں کی مثال آپ دیگر کی تلاش کو محدود کر سکتے ہیں فائل کا صرف نام کے مقابلے میں. 

یہ 30 منٹ ہو گئے. اب بھی جا. 

یلیسن: میں کے ذریعے بیار دونگا. یہ ٹھیک ہو جائے گا. 

روب Bowden: تو کچھ اور چیزیں. اب، فجائیہ نشان دھماکے. تو یہ عام طور means-- اچھی طرح، کی ایک مثال دیکھتے ہیں. لہذا! چ، کہ وہ کیا کرنے جا رہا ہے؟ ویسے یہ ہے لگتا ہے دہرایا تلاش ڈاٹ -type چ. کیا! جی کے بارے میں؟ کہ صرف * -r بلی grep. تو اگر آپ کو دوبارہ کرنے کا استعمال کر سکتے بینگ ایک حال ہی میں کیا کمانڈ. میں ٹائپ کریں تو تو! GRE، اسے چلانے کو دوبارہ کرنے جا رہا ہے GRE زیادہ تر کے ساتھ شروع ہوا ہے کہ حکم دیتا ہے حال ہی. 

اور تم ان سب کو دیکھ سکتے ہیں تاریخ کے ساتھ حکم دیتا ہے. لہذا تاریخ. ان سب ہیں حکم دیتا ہے میں نے آج چلائے گئے. اور اچھی طرح، یہ لفظی نہیں ہے آج تک محدود، لیکن میں صرف اس کا استعمال کیا ہے آج کے طور پر آلات کی. اس کے آپ کی مکمل طور پر ہے آپ کی پارٹی کے شیل کی تاریخ، کہ یہ کسی وقت کاٹتا ہے سوائے. سامعین: تم کرتے ہو تو کیا ہو گا تاریخ [اشراوی] کمانڈ اور ایک غلطی نتیجہ میں اب بھی the-- پرنٹ گا 

روب Bowden: ایک نہیں ہے جی ہاں، اگر ان commands-- میں سے ایک میں کی خرابی تاکہ چلو کا کہنا ہے، کہ ایک ہے خامی کمانڈ نہیں ملا. اب بھی تاریخ میں ظاہر ہوتا ہے. ٹھیک ہے. کچھ پر سوال؟ تو ہے کہ دھماکے کی آواز ہے. 

اب، واقعی مفید کمانڈ، آدمی. کہ آپ کو دیتا ہے اتنی ایک دی گئی کمانڈ کے لئے دستی. تو، کا آدمی LS کہنے دو یہ مجھے LS دکھایا جا رہا ہے. یہ ڈائریکٹری مواد کی فہرست. میں وہ دیکھ کہاں اور یہ ہے کہ وہاں موجود ہے کہ ان مختلف جھنڈوں ہیں. تو ہم نے اس -l موجود LS دیکھ ہم تھے کہ اگر پڑھنے کے لئے. LS -l مجھے کے اس مکمل فہرست فراہم کرتا ہے فائل کے مالک کے ساتھ ڈائرکٹری، فائل کے سائز، نظر ثانی کی ٹائمسٹیمپ. تو LS -a ایک اور ایک ہے کہ آپ کو شاید یہ ہے اصل میں کسی حد تک اکثر استعمال. میری سب سے زیادہ عام پرچم یہ گزشتہ LS -al ہے. 

لہذا -a، ایک بہت وہاں کے نوٹس صرف LS سے زیادہ فائلوں. -a LS. ان تمام فائلوں کے ساتھ عام میں کیا ہے؟ وہ ایک نقطہ کے ساتھ شروع. تو یہ لینکس میں ایک کنونشن یہ ہے کہ ایک نقطہ کے ساتھ شروع ہے کہ فائلوں کو چھپی ہوئی ہیں. تو یہ صرف کا مطلب ہے کہ جب ہم صرف براہ راست LS، یا ہم استعمال کرتے ہوئے اس ڈائریکٹری تلاش کر رہے ہیں فاانڈر برابر، یا ونڈوز ایکسپلورر برابر، ہے کہ ہم اس ان ڈاٹ فائلوں کو دیکھنے کے لئے نہیں کرنا چاہتا. وہ صرف چیزوں کے پیش نظر کو آلودہ. تاکہ وہ چھپے ہوئے ہیں آپ جب تک خاص طور پر -a طرح کچھ کے ساتھ ان کی درخواست. لہذا میں .local میں سی ڈی پر کر سکتے ہیں، اور میں دیکھ رہا ہوں کہ اپنے آپ کو ایک ڈائریکٹری کے ساتھ ہے ایک مشترکہ ڈائریکٹری، اور ایپلی کیشنز، اور بلاہ بلاہ بلاہ. لہذا، وہ صرف مخفی رہے فائلوں ڈاٹ. 

، اسی طرح دوسرے اہم لوگ OK. مجھے چھوڑ کر سکتے ہیں ایک جوڑے کی ہے. کے بارے میں ہم صرف اصلی فوری بات کرنے دو فائل نئ سمت چیزیں. تو ایک پوری پیچیدہ سلسلہ وہاں ہے چیزوں میں سے آپ کو ان کے ساتھ کیا کر سکتے ہیں، لیکن صرف ان کو دیکھنے کے لئے، گونج، چلو کا کہنا ہے. ایک اور کمانڈ. واقعی گونگے کمانڈ. یہ کرتا ہے سب میں اسے بتا کیا پرنٹ ہے. لہذا ہیلو بازگشت. یہ صرف سکرین ہیلو مائدونت. ہیلو دنیا. باز گشت ہیلو دنیا. 

تو ایک کمانڈ یا ایک پارٹی سمجھتی ہے کہ علامت علامت کے مقابلے میں اس میں زیادہ ہے، اور ایک فائل ہے کہ علامت پیداوار ہے. میں پیداوار اس سے تو اگر FOO کو، اب ایک فائل ہے ، کہا جاتا FOO کے اندر جس ہیلو دنیا ہے. لہذا میں بازگشت جب کہ متعلقہ ہیلو FOO میں دنیا پائپ، یہ خوش دنیا بازگشت نہیں تھا. اس کی بجائے اس فائل FOO میں ڈال دیا گیا تھا. اور ایک اور کمانڈ صرف ، تم پر بلی اسے پھینک. کہ صرف مکمل طور پر کرنے کا ایک آسان طریقہ ہے فائل کے مواد کی فہرست میں کھولنے کے لئے کی ضرورت نہیں ہے، تا کہ ایک ٹیکسٹ ایڈیٹر، اسے دیکھنے. کا اتنا مندرجات FOO کو فائل ہیلو دنیا ہیں. اور میں نے بلی blah.c، کر سکتے تھے مندرجات یہ ہیں. 

ایک بار پھر، ان، نہیں ہے کہ حکم دیتا ہے ہیں تم ان سب کو حفظ ہے توقع کریں. خیال ہے کہ آپ نے انہیں دیکھا ہے کر رہا ہے. شاید آپ پر کام کر رہے کچھ ہے، اور آپ کو ہو جیسے میں نے اس فائل کو کھولنے کا بیمار ہوں. میں میں صرف نظر پاتی اصلی فوری مندرجات پر. اس کے بعد آپ، یہ کر سکتا واپس دیکھو اور اوہ مجھے کہنا جیسے کچھ یاد کہ موجود ہے، اور یہ بلی ہے. 

تو ہے کہ ایک فائل کی جا رہی ہے. اب واقعی کسی بھی اچھا نہیں ہے ابھی تک ایک فائل سے پڑھنے کی مثال. لیتا ہے کہ کچھ کیا ہے میں معیار سے کچھ؟ کسی بھی سادہ لینکس کمانڈ؟ ہم ایک جوڑے میں، یہ کرنے کے لئے حاصل کرتے ہیں ہفتوں piece-- ساتھ ساتھ تمام، اس ہفتے آپ کو ایک ہی ٹکڑے میں جہاں آپ ہو صارف سے ان پٹ لینے شروع. اور اس طرح عام طور پر آپ ٹائپ کی بورڈ میں ہے کہ ان پٹ. بجائے کہ ٹائپ کی کی بورڈ میں ان پٹ، ایک فائل سے میں آپ کر سکتے ہیں بجائے پائپ تم کرتے ہو جب کہ ماریو، ./mario، تاکہ کسی دیئے فائل سے میں پائپ، اور کہ ماریو پروگرام کو چلانے کے لئے جا رہا ہے. میں ان پٹ کی امید نہیں کی بورڈ، بجائے یہ ہے صرف پڑھنے کے لئے جا FOO کو فائل سے لائنوں. 

FOO میں کہتے ہیں کے مقابلے میں زیادہ سے زیادہ FOO کو فائل، اور سے کم ہے FOO FOO کو فائل سے چیزیں لیتا ہے اور کہ استعمال کرتا ہے اس پروگرام کے لئے ان پٹ کے طور پر. اور صرف اس کو دیکھنے کے لئے، ہم بھی بازگشت سکتا FOO بار باز، اور اس کے بعد میں ایک کی بجائے اس سے بڑا، چلو FOO میں دو کرتے ہیں. کہ کیا کرتا ہے؟ یہ صرف فائل میں شامل پیدا. I میں BLAH بازگشت کرتے تو تو بجائے کو نوٹس FOO کو اور پھر بلی FOO کو، یہ صرف بلاہ ہے. ایک فائل تو جب آپ کی پیداوار، اس مکمل طور پر اس فائل overwrites ہے. آپ صرف شامل کرنا چاہتے ہیں تو، [ڈبل؟ جماعت کے طالب علم. ؟] 

اور پائپ آخری ہے. پائپ بہت زیادہ پیچیدہ، جہاں ہو جاتا ہے یہ ایک کمانڈ کا نتیجہ لگتے ہیں اور اگلے کمانڈ میں یہ فیڈ. تو کچھ عام بات، تاریخ. لہذا، اہ، میں اس کو دیکھنے کے لئے نہیں کرنا چاہتا. مجھے اپنی تاریخ میں تمام احکام کو دکھائیں مجھے grep ایڈ جہاں کسی چیز کے لئے. نہیں، یہ برامک ہے. مجھے تلاش ہے جہاں سب کو حکم دیتا ہے دکھائیں. تمام میں نے کبھی بھاگ اوامر جائے. 

لہذا تاریخ. کرنے کے لئے اب تاریخ نتائج حکم دیتا ہے اس کی فہرست کے اسکرین، لیکن میں نہیں کرنا چاہتا پردے پر پیداوار اس. اس کی بجائے میں grep میں پائپ اس لئے جا رہا ہوں. تو تلاش کے تمام مثالوں کے لئے grep دو. تو اب بجائے grep لینے کے ان پٹ، بجائے of-- grep طور ان پٹ ہم کو ہینڈل کرنے کے قابل ہے تھوڑا مختلف یہاں grep استعمال کرتے ہوئے. تو بجائے اس کے کی فہرست ٹائپ چیزیں ہم کے لئے تلاش کرنا چاہتے تھے اور grep ان پٹ کے طور پر لے رہی ہے. تو میں صرف grep، اس کو تلاش کرتے ہیں تو مجھے چیزوں کو ٹائپ کرنے کے لئے انتظار کر رہی. لہذا بلی ہیلو جائے. ہیلو. تلاش کریں. میں تلاش ٹائپ ہر وقت محسوس اس میں مل ٹائپ کہ کو تسلیم. تو اس کے بجائے، گے تلاش کے لئے تلاش کی فائلوں. 

تاکہ تاریخ اب جا رہا ہے پیداوار تمام حکم دیتا ہے کی ایک فہرست. ہم اس کی پیداوار میں ڈال رہے ہیں، اور ہم، اس grep کرنے کھلانے رہے اور اسی طرح یہ باہر توکنا ہے تلاش کے تمام مثالوں. وجہ ہے کہ میں اس کو الجھا ہو گا انہوں نے کہا یہ اب بھی مبہم ہے میں ... اگر ہے. مجھے grep لئے grep تو. یہ بہت ہمیشہ خوبصورت کے نوٹس کمانڈ مجھے دکھا صرف کہ کمانڈ کیونکہ بھاگ خود اس کے اندر grep ہے. 

ٹھیک ہے، تو کسی بھی چیز پر کوئی سوال؟ اور میں نے اس نقطہ پر اس پر منتقل کر دیں گے. امید ہے کہ یہ ایک اچھا ہے تمام احکام کا جائزہ آپ کے پاس کرنے کی ضرورت نہیں ہے حفظ، لیکن ان کی قضاء کی ایک ٹھوس 95٪ جو میں کمانڈ لائن پر کرتے. بھی ذہن میں رکھنے کی ہے کہ کمانڈ لائن خود، پارٹی، ایک پروگرامنگ زبان ہے اور تو آپ کو آپ کو، اس پر نیچے اترو جب واقعی پیچیدہ چیزیں کرنے کے لئے چاہتے ہو سکتا ہے. اور تو اس طرح چیزوں کو ہے Loops، اور اگر، اور ان میں سے سب آپ کے لئے استعمال کرنے کے لئے جا رہے ہیں آپ کی پروگرامنگ زبانوں کے ساتھ. لیکن اس کے پرے ہے اس سیکشن کے دائرہ کار. ٹھیک ہے، تو میں کوئی سوال ہے؟ یلیسن: کوئی بھی نہیں؟ GABRIEL: آپ to-- جا رہے ہو یلیسن: میں یہ کر سکتا کان پر آپ چاہتے ہیں تو. ہم کیا ہوتا ہے دیکھ سکتے ہیں. روب Bowden: یلیسن کرنے آف. یلیسن: وو. تم، روب فالو لئے ایک مشکل عمل ہو. تم نے مجھے آپ کے ساتھ سوئچ کرنا چاہتے ہیں؟ یا اگر آپ OK، مل گیا. میں کوشش اور نہیں جا رہا ہوں کافی وہاں کے طور پر طویل ہو. چلو، اس کی مرضی ہے تو دیکھنے دو میں یہ چاہتا ہوں جس طرح کام کرتے ہیں. شاید؟ ہا ہا! جی ہاں. 

تو میں صرف بہت جلد جانے کے لئے جا رہا ہوں متغیر، loops کے، conditionals ذریعے، اور سنکلک پر ایک تھوڑا سا. تم پر سوالات ہیں، تو کسی بھی وقت، مجھے روکنے کے لئے براہ مہربانی. یہ لوگ دوبارہ کرنا مجھے یاد دلاتی رہے گی میں بھول صورت میں آپ کے سوال، لیکن بھی برا نہیں ہونا چاہئے. 

متغیرات تو، جی ہاں. ہم میں سے کوئی نہیں ہے آپ کی یہاں سکریچ ٹکڑوں. میں نے تو، آپ کے سب سے زیادہ یقین ہے آپ کو کھیل کے کسی قسم کا تھا آپ سکریچ کے ساتھ پیدا کیا ہے کہ، تمہارے پاس تھا سکور کی طرح کچھ کے ٹریک رکھنے کے لئے، یا وقت، یا اس طرح کچھ. لوگ روشن سنتری تاکہ ہم وہاں دیکھتے ہیں کہ ٹکڑوں کی صرف سکریچ فارم ہیں متغیر، اور آپ کو ضرور کروں گا متغیر کا استعمال کرتے ہوئے آپ کے پروگراموں بھر. اگر آپ نہیں ہیں تو، میں واقعی میں نہیں ہوں یقین ہے کہ آپ کیا کر رہے ہیں. 

لیکن ویسے بھی، بڑی چیز، متغیر کی وضاحت کی. C کے ساتھ ہر متغیر ہے ایک قسم کا اعلان کر دیا ہے کرنے کے لئے، تو میں آپ کو ایک بہت دیا سب سے اوپر عام هے. تو اگر آپ کو کرنا پڑے گا آپ ٹائپ کریں اور پھر جو کچھ بھی آپ کو آپ کے متغیر کو فون کرنے کا فیصلہ کرتے ہیں. اس کیس، قسم میں So آپ متغیر کی فہرست میں. 

ہم تین مثالیں ہیں. بعض گریڈ کے چار، کیا ہے جس میں ایک ایک، کے میں تم سب کو چاہتے ہوں اس کلاس میں حاصل کرنے کے لئے. آپ ایک سے زیادہ وضاحت کر سکتے ہیں ایک ہی لائن میں متغیر جب تک کہ وہ سب ایک ہی قسم ہو کے طور پر، وہاں ہماری دوسری مثال جس میں آپ کو تین ہے جہاں متغیر، X، Y، اور Z. وہ سب floats کے ہیں. اور پھر آپ کو یہ آخری میں، بھی کر سکتے ہیں int کے اسکور اور تعداد کے ساتھ مثال ٹیموں میں سے، آپ کر سکتے ہیں وہیں ان کی ابتدا. 

جہاں مشرق مثال میں تو ہم نے صرف، X، Y، اور Z کے فلوٹ لوگ ابھی تک نہیں initialized ہیں. وہ کوئی قیمت ہے. یا وہ ردی کی ٹوکری میں اقدار ہیں. اور آپ کوشش کریں اور ان کا استعمال کرتا ہے تو، سنکلک تم پر چللاو گا. آپ دونوں کا اعلان کرنا ہوگا اور آپ کے متغیر کی ابتدا. یہ آخری ایک میں، ہم دونوں کیا کر رہے ہیں. ہم متغیر کا اعلان کر رہے ہیں کے سکور اور ٹیموں کی تعداد، اور ہم، انہیں ابتدا دے رہے ہیں 7 اور 4 میں سے انہیں اپنے ابتدائی اقدار بالترتیب. ٹھنڈا. اچھا ہر کوئی؟ بہت اچھے. 

ٹھیک ہے، تو بعض کنونشنوں. تم لوگوں کو پڑھا ہے تو سٹائل 50 کے ذریعے، ان ہم کے لئے چاہوں گا کہ صرف باتیں ہیں آپ کو آپ کے انداز میں لاگو کرنے کے لئے. تاکہ بامعنی ناموں. آپ چیزوں بلا شروع صرف X، Y، اور Z، خاص طور پر آپ lengthier میں حاصل کے طور پر پروگراموں، تم ہو شاید کے لئے جا اپنے آپ کو الجھانے اور ہونا طرح کا حوالہ دیتے ہوئے اس متغیر کیا ہے. میں اس کا مطلب کیا کوئی اندازہ نہیں ہے. 

اسے پکڑنے کے لئے مراد ہے تو اگر ایک سکور، اسکور کو فون. یہ کچھ جواب کے لئے منعقد کیا مراد ہے تو یا، نتیجہ یہ کہ اس طرح ایک نام دیں. loops کے، جس کے ہم کریں گے اگلی سلائڈ میں میں حاصل، ایک خط متغیر ٹھیک ہیں. روب Bowden: میں، J، اور K ہیں loops کے لئے کے لئے صرف کنونشنوں ہر کوئی ان کی توقع رکھتا ہے کہ J، اور کشمیر، میں بلایا جائے. تمہیں پتہ ہے میں صف دیکھ انہیں فون کر سکتے ہیں کالم یا قطار کال کبھی کبھی دو اندر در اندر loops کے، اور کے لئے کہ یہ بھی قسم کی معیاری ہے. لیکن میں اور J مکمل طور پر سمجھا جاتا ہے. 

یلیسن: جی ہاں، میں نے اور J آپ مکمل طور پر ٹھیک ہیں. وضاحت کی خاطر اس طرح کے لیے آپ P سیٹ میں سے کچھ میں، یہ زیادہ ہے کرنے کی کوئی مطلب ہو سکتا وہاں صرف میں وضاحتی چیزیں اس کے ٹریک رکھنے کے لئے. لیکن میں میں، J، اور مجھے لگتا ہے کشمیر میں سوچنا ہم میں سے اکثریت تمام استعمال. 

روب Bowden: ان کے ساتھ کنونشنوں، تو سٹائل اہم ہے. یہ چار محور میں سے ایک ہے جس پر آپ کو درجہ بندی کر رہے ہیں، اور یہ صرف پر جانے کے لئے بہت آسان ہے آپ P آخر میں قائم ہے اور اس بات کو یقینی بنانے کے ساہتیک سٹائل غلطیوں سے نہیں ہیں. تو اگر آپ کو صحیح طریقے سے جدول بندی کر رہے ہیں بات کو یقینی بنائیں. آپ کے متغیر نام کر رہے ہیں بات کو یقینی بنائیں. کچھ تبصرے کو چھوڑ دو. یہ ان پوائنٹس حاصل کرنے کے لئے بہت آسان ہے. آپ کے بارے میں سوچنے کی ضرورت نہیں ہے ترتیب میں کچھ بھی ان پوائنٹس حاصل کرنے کے لئے. آپ کو کچھ بھی پتہ لگانے کی ضرورت نہیں ہے. یہ صرف اس کی نظر خوبصورت بنا رہا ہے. 

یلیسن: اصل میں، ہم ، سٹائل 50 ہے جس آپ الجھ رہے ہیں جہاں آپ کو بتائے گا آپ سٹائل پر الجھ رہے ہیں اگر اپ اور آپ کو بتائیں گے بالکل وہی جو آپ کو ٹھیک کرنے کی ضرورت ہے اور کس طرح آپ اسے ٹھیک کرنے کی ضرورت. اس کا ذکر کرنا بھی صرف اچھی بات ہے کہ یہ کورس پالیسی ہے آپ کے دفتر میں ہیں کہ اگر گھنٹے اور آپ کے کوڈ ایک گندگی ہے، ہم مدد کرنے سے انکار کر سکتے ہیں آپ کو اس کے اچھے لگ رہا ہے جب تک. تو دائیں باہر شروع، مسلسل سٹائل کو برقرار رکھنے، آپ بھی صرف بنانے کے لئے جا رہے ہیں جب آپ کی زندگی ایک پوری بہت آسان آپ ڈیبگ کے ذریعے جانے کی کوشش کر رہے ہیں. آپ کو جاننے کی کوشش کر رہے ہیں، تو آپ ایک گھوبگھرالی تسمہ لاپتہ رہے ہیں جہاں اور وہ تم ہو، سب جگہ ہیں صرف مشکل اپنی زندگی بنانے. لہذا سٹائل کے مطابق ہونا. میرے خیال میں یہ آپ کی زندگی آسان بنا دیں گے وعدہ کرتا ہوں. یہ ہماری زندگی کو آسان بنا دیں گے. ہر کوئی بہت زیادہ خوش ہو جائے گا. اور یہ کہ آپ چاہتے ہیں. GABRIEL: آپ گریڈ زیادہ ہو جائے گا. یلیسن: جی ہاں، اور آپ گریڈ. آپ TF آپ کی طرح ہے تو، سازگار ہو جاتا. ٹھیک ہے، اور پھر صرف یہاں دوسری بات. مسلسل initializations. ہم نے دیکھا کے طور پر تو، آپ کا اعلان کر سکتے ہیں اور چیزوں کی ابتدا. ایک ہی لائن میں ایک سے زیادہ متغیر. ہم آپ کو نہیں پسند کرے گا ایک بات ایسا کرنے کے لئے کچھ متغیر کا اعلان کرنا ہے اور اسی پر میں نے ان کی ابتدا نہیں آپ دوسروں کی ابتدا کر رہے ہیں کہ لائن. 

لہذا صورت میں بنا دیا ہے کہ کوئی جو کچھ احساس، ہم یہاں مثال ہے جہاں ہم ints کے اعلان کر رہے ہیں حلقوں سے متغیر میں ڈائم اور پیسے، لیکن چوتھائی اور پیسے کوئی ابتدائی قیمت ہے. ہم انہیں نہیں initialized ہے، لیکن وہاں وسط میں حق ہم نے پہلے ہی آف ڈائمز 0 initialized ہے. لہذا یا تو چوتھائی، آف ڈائمز، پیسے کروں. یا چوتھائی 0 کے برابر کرتے. آف ڈائمز 0 کے برابر. پیسے 0 کے برابر، یا جو کچھ بھی لوگ ابتدائی اقدار ہیں. 

سٹائل کے ساتھ بڑی چیز، مسلسل ہو. جب شک میں، مطابق ہونا. لیکن بہت سے ہماری سٹائل گائیڈ کی پیروی. ٹھنڈا. وہاں سب اچھا ہے؟ 

سامعین: سٹائل گائیڈ کہاں ہے؟ یلیسن: سٹائل گائیڈ ویب سائٹ کیا ہے on-- ہے؟ 

GABRIEL: میں یہ manual.cs50.net/-- لگتا یلیسن: سٹائل؟ 

GABRIEL: ہالی ووڈ. جی ہاں. 

یلیسن: جی ہاں. سٹائل 50 ہے جہاں تو، سوال. manual.cs50.net/style. جی ہاں؟ 

سامعین: ہم وضاحت کر رہے ہیں، تو متغیرات، یہ ٹھیک ہے ہم [اشراوی] کی طرح ڈال دیا تو طرح int کے سکور اور پھر int کے مقصد. تو اب تم ہمیں کیا ہے کہ کہیں گے ایک دوسرے کے ساتھ ان کی وضاحت کے لئے مل گیا؟ 

یلیسن: تو کرنا چاہئے، سوال آپ بے کار کوڈ ہے جب آپ کی وضاحت کر رہے ہیں اس طرح int کے سکور کے طور پر متغیر اور اگلی لائن int کے کھیل پر؟ روب Bowden: ضرور موجود ہیں بے کار کوڈ خراب ہے جہاں مقدمات. میں نے غور نہیں کرے گا کہ بے کار کوڈ. میں نے تقریبا ایک سے زیادہ کا اعلان کبھی نہیں کبھی ایک ہی لائن میں متغیر. اگر کچھ اور، اس کی وجہ سے ہے عام طور پر میں تبصرہ کسی قسم چھوڑنے متغیر کے لئے کیا ہے کی وضاحت کی. تو اگر میں int کے سکور سلیش کہیں گے. جو کچھ بھی کے ٹریک رکھتا ہے. کل سلیش میں. تو یہ ہے کہ جس طرح میں بہت grosser ہے ایک ہی لائن میں ان سب کو ڈال کرنے کے لئے. میں نے صرف ایک ہی لائن پر ڈال کبھی نہیں. 

یلیسن: مجھے لگتا ہے کہ یہ ہے جیسے اس مقام پر ذاتی ترجیح. 

سامعین: اس کے لئے جانا ہے بھی loops اور سامان کے لئے؟ روب Bowden: اندر کی طرح؟ int کی طرح میں 0 کوما برابر لمبائی کچھ برابر؟ آپ کسی ایک کا انتخاب نہیں ہے کہ. loops کے لئے ابتدا سے part-- تو آپ کو صرف دیکھا ہے ہو سکتا int میں میں کم 0 نیم وقفہ برابر جو بھی نیم وقفہ میں پلس پلس کے مقابلے میں. کہ int میں، 0 برابر تکنیکی طور پر آپ کو بھی یہ کر سکتے ہیں ہم نے پہلے دیکھا ہے کیا کرنا ہے کوما نحو کے ساتھ. int میں 0 کوما J برابر 3 کوما K 5 برابر برابر. آپ تقسیم کرنے کی کسی ایک کا انتخاب کی ضرورت نہیں ہے ایک سے زیادہ لائنوں میں ہے کہ اپ، اور یہ کہ معیاری ہے. یہ دیکھ کر ٹھیک وہاں ہے. یلیسن: بہت اچھے. ویسے، loops کے میں آسان segue کا. تو جی ہاں، ہم یہاں کچھ مثالیں ہیں کی تم لوگوں نے شروع میں دیکھا loops کہ. اور ظاہر ہے ان میں سے سب صرف سی میں recreated جا سکتا اور وہ بنیادی طور پر آپ کی اجازت دیتے ہیں کوڈ کے کچھ حصے کو دوبارہ کرنا ایک مخصوص حالت تک جس ہم کریں گے، سے ملاقات کی ہے بات کرنے کے بعد حق میں حاصل کے بارے conditionals ساتھ loops. 

تو ہم تین اہم اقسام ہیں. جبکہ، اور ایسا کرتے ہوئے،، جس کے ہم سب ٹھیک ہے اب کے ذریعے جائیں گے. تو سب سے پہلے loops کے لئے ہے. بعض کی حالت کے لئے So، کوڈ کے اس بلاک کو پھانسی. ہم یہ ٹھنڈا بہت کم ہے کے نیچے دیے گئے یہاں آریھ. لیکن بنیادی طور پر آپ میں ہے آپ کے لئے، پہلی سطر ہے کہ، آپ کے لئے جا رہے ہیں آپ کے متغیر کی ابتدا. 

ہم کے بارے میں بات کی تو کے طور پر، مجھے لگتا ہے 0 یا میں برابر ہے 10 کے برابر ہے. آپ اس کی ضرورت ہے جو کچھ بھی متغیر بس بننا وہاں initialized جا رہا، اعلان کر دیا اور کسی قیمت initialized. تو پھر اگر ہم سے کچھ ہے شرط یہ ہے کہ جا رہا ہے پرکھنے کے لئے ہمارے کچھ کے خلاف متغیر. عام معاملہ ہے جہاں صورت میں ہو سکتا ہے آپ کے کوڈ کے اس حصے چاہتے پانچ مرتبہ پھانسی کرنا. تو ہم میں 0 برابر ہے int ہے، اور ہم چاہتے میں نے 5 سے بھی کم ہے، جب اسے بننا چاہتا ہوں. تو یہ شرط صرف یہ ہے جو ہر بار چیک کرنے کے لئے جا. شرط یہ ہے کہ تو صحیح تشخیص، یہ بات ہے بالکل وہی ہے جس کے کوڈ، چلانے کے لئے جا اس چھوٹے آریھ کیا دکھایا جا رہا ہے. 

اور اس طرح یہ اس executes ہے. یہ ایک متغیر اپ ڈیٹس، ہم دیکھتے ہیں کیا ہے جس میں ہمارے لئے کے آخری حصے میں وہاں لوپ ابتدا. تو یہ صرف یہ کر رہیں گے اس شرط نہیں پورا کیا جاتا ہے جب تک، اور پھر اس سے باہر نکلیں گے لوپ اور جاری رکھیں آپ کے پروگرام کے باقی حصوں کے ساتھ پر منتقل. وہاں سب اچھا ہے؟ ٹھنڈا. 

تو یہاں، بہت ہی اسی طرح ایک مثال ہے کچھ کرنے میں صرف کے بارے میں بات کی تھی. تو ہم صرف پرنٹ کرنا چاہتے ہیں اس میں 10 گنا CS50 ہے. تو کیا تم ہمارے پاس یہاں دیکھ کر ہمارے لئے، اور پھر ہم متغیر ابتدا میں 0 کے برابر ہو. ہماری حالت کی جانچ پڑتال کر رہا ہے یہ 10 سے کم ہے کہ. جب ہم پہلی بار اتنی صحیح اندازہ شروع، اور پھر ہمارے متغیر اپ ڈیٹس یہ اصل میں executes ہے کہ ہر وقت اور یہ باہر پرنٹ CS50 ہے. اور 10 مرتبہ کے بعد ختم کردے گی. ٹھنڈا. 

loops کے اگلے اپ ہیں جبکہ تو. آپ کو یہاں دیکھ کے طور پر اور، ہم صرف ہے کچھ اس شرط سوال جبکہ؟ 

سامعین: میں کس طرح کود کر سکتے ہیں اصل میں صرف ایک نہیں تعداد، لیکن دو نمبروں [اشراوی] میں پلس پلس پلس؟ 

یلیسن: تو سوال آپ کو کس طرح کر سکتے ہیں تھا ایک سے زیادہ کی طرف سے آپ کے متغیر کو اپ ڈیٹ ایک وقت میں. لہذا میں پلس پلس لونگا ایک ایک وقت کی طرف سے اپ ڈیٹ کریں. آپ کی طرف سے اس کو اپ ڈیٹ کرنا چاہتے تھے دو، تم مجھے اس کے علاوہ 2 برابر کر سکتا. 

روب Bowden: آپ کو دیکھا ہے علاوہ ابھی تک درس میں برابر ہے؟ 

سامعین: [اشراوی]. 

یلیسن: یہ مؤثر طریقے سے ہے ایک ہی بات مجھے علاوہ 2 برابر کے طور پر. تو یہ لے جا رہا ہے اور دونوں ایک وقت کی طرف سے اس کو اپ ڈیٹ. پلس صرف کچھ ہے برابر ہم syntactic چینی فون کریں. روب Bowden: جی ہاں، ان لوگوں کے لئے کوئی وجود بہت تمام ریاضی کے آپریٹرز. برابر تو میں اوقات تعداد دوگنا کرے گا. J تقسیم 3 ایک ہی ہے برابر جے کے طور پر 3 سے تقسیم J برابر. 

یلیسن: یا مائنس 2 گے برابر دونوں ایک وقت تک میں تدریج. روب Bowden: یہاں تک کہ جدید برابر. تم bitwise آپریٹرز نہیں دیکھا ہے، لیکن، جزم کے برابر ہے اور ایمپرسینڈ برابر ان میں سے سب کا وجود. 

یلیسن: اوقات کی تو ایک بہت، خاص طور پر P سیٹ میں سے آپ کی پہلی جوڑے کے ساتھ، آپ کو شاید کر incrementing کر رہے ہوں گے ایک، تاکہ میں پلس پلس، J پلس پلس اگر آپ جا رہے ہیں تمام چیزیں ہیں عام طور پر استعمال کرتے ہوئے کرنا. لیکن اس کے اپ ڈیٹ شرط ہے مکمل طور پر اپنے کنٹرول کے اندر اندر. آپ جو کچھ بھی دھیرے بڑھتا طرف سے اس کو اپ ڈیٹ کر سکتے یا جو کچھ بھی طریقے سے آپ کے لئے فیصلہ. شاید آپ بھی اسے بننا چاہتا ہوں کبھی کبھی ایک بے ترتیب تعداد. لیکن ہاں، بہت ہیں چیزیں تم اس کے ساتھ کیا کر سکتے ہیں. تم میں پلس پلس تک محدود نہیں کر رہے ہیں. 

روب Bowden: بس تم اتنا یہ بھی، یہ موجود جانتے ایک اور شکل میں موجود ہے، کے علاوہ کے علاوہ میں. کیا تم نے کبھی آن لائن تلاش کر رہے ہیں اور دیکھنے کے لئے ہو پلس پلس میں، بہت ایک ہی بات کا مطلب. یلیسن: اتارنا. اچھا ہے؟ بہت اچھے. جبکہ loops. تو. بہت ملتا جلتا. آپ کچھ حالت ہے. اہم بات کو نوٹس یہاں بجائے ہونے کے ہے تین مختلف حصوں قائم کرنے کے لئے، ہم ایک ہو. ہم صرف کچھ شرط ہے اس کی جانچ پڑتال کی جا رہی ہے. اور اسی طرح میں، جب تک کے طور شرط یہ ہے کہ، صحیح تشخیص اپنے کوڈ کو چلانے کے لئے کی جا رہی ہے. اور یہ غلط ہے، تو یہ ، اس اقدام کو ختم کردے گی آپ کے پروگرام کے اگلے حصہ پر. لہذا اس قسم کی کیا like-- جاتا جانچ پڑتال کے ایک اچھی مثال کچھ عام حالت کے لئے؟ GABRIEL: سچ جبکہ. یلیسن: تم سچ جبکہ ایسا کر سکتا ہے. ویسے، 1 1 کے برابر ہے. 

روب Bowden: تم while-- کیا کر سکتے ہیں بجائے صرف لوپ کے لئے ایک کا استعمال کرتے ہوئے کی، آپ کو ہمیشہ ایک کوڈ سکتا تھوڑی دیر کے لوپ میں لوپ کے لئے، تو میں 0 سے بڑا ہے یا میں نے 10 سے بھی کم ہے جبکہ. 

یلیسن: بہت اچھے. اور پھر ہم نے کیا کرنا ہے loops، جس میں جبکہ صارف کی توثیق، جہاں کے لئے بہت اچھا ہے تم سے کچھ حاصل کرنا چاہتے ہیں یہ درست ہے کہ اگر آپ کے صارف،، دیکھیں اور پھر وہاں سے جاری رہے. پس جاننا چیزوں میں سے ایک ایک کے ساتھ ہے اس پر عمل کرنے جا رہا ہے کہ ہے، جبکہ ایسا، اور پھر یہ دوبارہ پھانسی گا اس شرط کو پورا کیا جاتا ہے تو. 

تو شاید سب سے بہتر طریقہ یہ کرنا یہاں صرف ایک مثال دیکھ کرنے کے لئے ہے. میں نے ابھی ذکر کیا ہے، صارف پس توثیق واقعی مفید ہے یا کرنا whiles واقعی ہیں صارف کی توثیق کے ساتھ مفید. تو یہ صرف جا رہی ہے کچھ صارف کو دوبارہ فوری طور پر وہ ایک مثبت نمبر درج ہے جب تک، اپنی P سیٹ کے لئے مفید ہو سکتا ہے جس میں اس ہفتے. اور تو اس صورت میں، جب ہم ابتدائی طور پر اس پروگرام کو چلانے کے، اسے پرنٹ کرنے جا رہا ہے ایک مثبت عدد کو درج کریں. یہ کچھ حاصل کرنے کے لئے جا رہا ہے صارف سے ان پٹ، اور پھر یہ چیک کرنے کے لئے جا رہا ہے شرط کے خلاف ہے کہ ان پٹ کہ آپ اس کے لئے مقرر کیا ہے. 

تو اس صورت میں یہ چیک کرنے کے لئے جا رہا ہے. یہ، OK، کہا جا رہا ہے ہمارے ان پٹ منفی ہے، یا یہ 0 یا منفی، ہے جس باطل ہو جائے گی. تو پھر اسے دوبارہ پرامپٹ گی. سوال؟ 

سامعین: ایک کے طور پر تو یہ ایک ہی ہے لوپ جبکہ آپ کو صرف کہ کوڈ کاپی تو اور یہ [اشراوی] جبکہ لوپ ڈال دیا؟ 

یلیسن: کروگے سوال تھا تو یہ تو صرف تھوڑی دیر کے طور پر ایک ہی ہو جائے لوپ ہم کرنے کے لئے تھے، تو صرف مندرجہ بالا دیر لوپ کو کاپی. تو اس معاملے میں، آپ دیر لوپ ہے پہلی حالت چیک کرنے کے لئے جا. ہم نے کوشش کی کہ اس معاملے میں، اگر ایسا ہے تو صرف تھوڑی دیر لوپ کے طور پر لکھنے کے لئے، یہ کرتے ہوئے کہیں گے ان پٹ کم ایک ہے. لیکن ہم اس کے لئے ایک ان پٹ کی ضرورت نہیں ہے. 

سامعین: آپ تو [اشراوی] لوپ اس کوڈ کو بھی شامل کرتے ہوئے، لیکن پھر آپ کو کوڈ ہے coped بھی دیر لوپ کے اوپر. تم بس اس کوڈ کو نہیں تھا [اشراوی] جبکہ لوپ. یلیسن: یہ ہو جائے گا ایک ہی بات، جی ہاں. تو کیا تم صرف write-- سکتا بجائے ایک do-- ہاں ہونے کے. GABRIEL: لیکن یہ زیادہ خوبصورت ہے. یلیسن: جی ہاں، یہ زیادہ خوبصورت ہے. تم، ڈیزائن اور whatnot میں حاصل کر سکتے ہیں لیکن ہاں، آپ کو مکمل طور یہ کر سکتے ہیں. کوئی سوال؟ ٹھنڈی، OK. 

تو ہم نے حالات کے بارے میں بہت بات کی ہے ہم ہے کہ ان تمام loops کے ساتھ، تو ہم اصل میں ہو رہے ہیں بولین اظہار میں حالات. ایک بار پھر، آپ C میں ان کا استعمال، تاکہ صرف اس قسم کی منتقلی مزید گرافک انٹرفیس سے اصل کوڈنگ کرنے. 

ٹھنڈی، اتنا بڑا ایک، تو. بنیادی طور پر صرف متعارف کرانے کے لئے کی اجازت دیتا ہے ہمارے پروگرام اور چیک میں کچھ منطق SYS حالات. تو اس صورت میں، ٹھیک ہے، 0 سے ن زیادہ ہے؟ آپ کو اس پر عمل کر سکتے ہیں تو جی ہاں یہ، ہے. یہ صرف کچھ کی جانچ پڑتال ہے آپ نے اس شرط میں ہم سب کر رہے ہیں لگتا ہے کہ جو، مقرر حالات کی جانچ پڑتال کے ساتھ آرام دہ. ٹھنڈا. تاکہ آپ کے دوسرے ایک ہے اور اگر، یہ سچ ہے تو میں آپ کی،، اوکے کہہ سکتے ہیں اس پہلے بات کرتے ہیں. ورنہ میں کرنے کے لئے آپ چاہتے ہیں پہلے سے طے شدہ اور کچھ اور کرنا. اس معاملے میں کی طرح، آپ کو یا تو ایک پک مثبت نمبر یا ایک منفی نمبر. آپ صرف دو اختیارات ہیں. تم اس سے قطع نظر پر عمل کرنے کی ضرورت ہے کیا میں سے آپ کے صارف آدانوں. تو کیا تم، اچھی طرح سے کہہ سکتے ہیں یہ 0 سے بڑا ہے؟ ٹھنڈا. ایک مثبت عدد کو پرنٹ. اگر یہ نہیں ہے، ایک منفی پرنٹ. اچھا ہر کوئی؟ 

اور اس کے بعد تسلیم کرنے پر ایک بات ہے اگر شرط پوری کی جاتی ہے کہ اگر، کسی اور کو بھی پھانسی نہیں کرے گا. صرف ان میں سے ایک ہو جائے گا ایک وقت میں پھانسی. تو یہ ایک تجارتی دور ہے. آپ دونوں کی ضرورت کے لئے نہیں ملتا. آپ کو یا تو پہلی شرط ہے. آپ یا تو ہے یا کوئی اور، دونوں کو نہیں. پھر چیزیں بنا سکتے ہیں جس اس سے بھی زیادہ پیچیدہ، ، اگر آپ کر سکتے ہیں کیونکہ یہ کسی اور، اور پھر کوئی اور. تو اس صورت میں، ہم تین شرائط ہیں. اور ایک بار پھر، ان میں سے صرف ایک ہے کو ختم کرنے جا پھانسی کی جا رہی. لہذا اگر آپ سوچ سکتا ہے ساتھ ساتھ، آپ کو کیا ہے تو کچھ ہے کہ ان میں سے دو سے مل سکتے ہیں. شاید آپ inputting کی کر رہے ہیں جو کچھ بھی حالت دونوں سے ملاقات کے لئے اگر اور کچھ ہے تو. کو چلانے کے لئے جا رہا ہے کہ صرف ایک ہی چیز 

یلیسن: جیسے ہی یہ کچھ مل جاتا ہے کے طور پر یہ اس کے لیے شرط پوری کرنے والا صحیح تشخیص، وہ کیا ہے اسے چلانے اور اور کچھ نہیں کرنے جا رہا ہے. تمہارے پاس تھا تو اگر اس نمبر ہے آپ کے پہلے سے ایک کے لئے 0 درمیان اور 5، یا 3 کے درمیان اس تعداد ہے اور اور اگر ایک حصے کے لئے 5، اور آپ کو ان پٹ کے نمبر میں 0 اور 5 and-- 4 کہا. یہ سب سے پہلے ایک مارا جا رہا ہے. یہ ٹھیک ہے، یہ کہا جا رہا ہے تعداد 0 اور 5 کے درمیان ہے. ایگزیکیوٹ اور چھوڑ. یہ کہ دوسرا آپشن کبھی نہیں مارا جائے گا. ٹھنڈا؟ بہت اچھے. 

اوکے ہم بھی سوئچ بیانات تو ہے آپ، یہاں تک more-- یا معافی حاصل کرنا چاہتے ہیں سوئچ اگلے ہے. میں یہاں آگے خود کی ہو رہی ہے. ایک بار پھر، ایک سے زیادہ بلاکس تو جہاں میں نے ابھی کہا کے طور پر جیسے ہی آپ ایک شرط مل کے طور پر ہے کہ ملاقات کی اور اور ایک اگر کوئی اور تو، اسے چھوڑ دیتا ہے. آپ کو چیک کرنے کی ضرورت ہے تو ایک سے زیادہ چیزوں، تم ہو اس وجہ سے استعمال کرنا چاہتے ہیں کے لئے جا یہ یہاں ہر بار چیک کریں گے. لہذا اس کے ذریعے اور اگر چلایا جائے گا یہ 90 سے زیادہ یا برابر ہے یہ اس کو پرنٹ کرنے کے لئے جا رہا ہے. اور اس کے ذریعے چلایا جائے گا اور ان میں سے ہر ایک کو ایک چیک کریں. 

سامعین: تو یہ ہو جائے گا [اشراوی] سے زیادہ چھوٹی گاڑی. یہ [اشراوی] کی طرح ہو جائے گا؟ 

یلیسن: سوال یہ ہو گا رہا ہے چھوٹی گاڑی یا اس سے آپ چاہتے ہیں کیا کرتا ہے. یہ واقعی میں کیا ہے پر انحصار کرتا ہے آپ کو اپنے پروگرام سے چاہتے. 

سامعین: میں نے تم میں 90 ڈال دیا تو طرح مطلب. یلیسن: آپ ڈال دیا تو 90-- سامعین: [اشراوی]. GABRIEL: آپ دو چیزوں کو حاصل کرنے جا رہے ہیں. یلیسن: آپ دو چیزوں کو حاصل کرنے جا رہے ہیں. جی ہاں، دو. 

روب Bowden: دو؟ 

یلیسن: نہیں. 

روب Bowden: چار. آپ 90 ڈال دیا تو، یہ آپ کو کہا جا رہا ہے ، آپ کو ایک سی مل گیا، آپ کے پاس ایک B ملا، ایک A ملا آپ ایک ڈی ہے 

سامعین: [اشراوی]. یلیسن: حق. تو میں آپ کو کیا ہے پر انحصار کرتا ہے آپ اس پروگرام سے چاہتے. کبھی کبھی آپ کو کرنے کی ضرورت ہے ایک سے زیادہ چیزوں کی جانچ پڑتال. آپ میں بہت گہری مل جائے گا کیا آپ کو آگے جانے کے طور پر اچھا ڈیزائن ہے. کرنے کے لئے اہم بات یہ ہے احساس یہ ہے کہ یہاں چاروں حالات کو چیک کریں گے. جبکہ یہ ایک تو اس کے باقی اور اگر تھے تو اور اگر، یہ، کہ پہلی صورت مارا جائے گا یہ آپ کو ایک ایک مل گیا اور کیا کیا جا پرنٹ گی. 

روب Bowden: ہمیں بھی تو اگر اس کو تبدیل کرنے کا فیصلہ اور 90 سے زیادہ یا برابر زیادہ، ، اور اگر 80 یا برابر زیادہ اور اس سے کم یا 89 کے برابر، تو این 70 سے زائد یا برابر زیادہ، اور (ن) سے کم یا برابر 79، تو ہے کہ درست ہو جائے گا. یہی ہے جو ہم چاہتے ہیں کیا کرنا ہے، لیکن یہ اب بھی اس کو ہر ایک کی جانچ پڑتال کرتا. 

پہلی حالت میں جبکہ، اگر ایسا ہے تو ہم صرف دوسرے پر اگر کوئی اور تو اگر ساتھ 90 میں داخل، اور ہم نے اس کے بعد، 90 میں داخل اس کو درست کرنے جا رہا ہے. یہ سب سے پہلے جانچ پڑتال کرے گا ایک کے، پرنٹ آپ، ایک A ملا ، ہر چیز کو چھوڑ دیں کیونکہ یہ پہلے سے ہی کام کرتا ہے کہ ایک ملا. تمام صورتوں باہمی خصوصی ہیں اگر کوئی اور تو اور اگر کی بنیاد پر. لہذا اس پر عمل کر لیں گے تو سب سے پہلے، اس کے بعد یہ ہو چکا ہے. یہ آخر میں جائیں گے. 

ہم کو تبدیل جبکہ اگر یہ میں نے وہ کیا تھا 89 سے کم یا برابر کے ساتھ کہہ. یہ سب سے پہلے ایک چیک کرنے کے لئے جا رہا ہے. یہ پرنٹ کریں گے. یہ دوسرا ایک چیک کریں گے. اسے پرنٹ کرنے والا نہیں ہے. تیسرے کو ایک چیک کریں. پرنٹ کرنے کے لئے نہیں جا رہا. چوتھے ایک چیک کریں. اب پرنٹ جا. ، اور اگر اس صورت میں تو کیا ورژن، کے بعد سے ان مقدمات باہمی خصوصی، یہ بات ہے ہیں اگر کوئی اور ہے تو اگر کوئی اور بہتر استعمال، کہ ہے کیونکہ ضرورت کے لئے جا رہا ہے شرائط میں سے کم چیکوں اس ورژن کے مقابلے میں. یلیسن: بہت اچھے. تو ایک اور بات یہ ہے کہ ہم کر سکتے ہیں ایسا سوئچ بیانات ہے. بنیادی طور پر ایک سوئچ بیان کچھ متغیر میں لیتا ہے، اس معاملے میں یہ ن ہے، اور عملدرآمد کرنے کے لئے، جس صورت کا تعین کرتا ہے. تو یہ ایک ہے جہاں آپ مقدمات بھی ہے قسم کا باہمی خصوصی ہونا چاہئے. اس معاملے میں، اگر ایسا ہے تو ہم ایک ایک، یہ بات ہے حاصل جو کچھ بھی اس سے ملنے کے لئے جا (ن) کے متغیر، جو کچھ بھی قدر ان مقدمات میں سے ایک، تو 1، 2، یا کرنے کے لئے ہے 3، اور اسی سطر کو پرنٹ. 

اور پھر تم نے یہاں محسوس کرتا ہے تو، ہم بھی ایک پہلے سے طے شدہ ہے، جس سے آپ کو آپ کی کسی اور کے طور پر سوچ سکتے ہیں کی. آپ کسی بھی دوسرے نمبر منتخب کریں تو اگر اس صورت میں 1، 2، اور 3 کے سوا یہ صرف باطل کو پرنٹ کرنے کے لئے جا رہا ہے. بمقابلہ آئی ایف ایس استعمال کرنے کے لئے جب فیصلہ کرنا سوئچز بمقابلہ سے Elses تو جا رہا ہے کچھ ہونے کہ آپ لوگ کریں گے آپ لکھ شروع کے طور پر عقل مند ڈیزائن دیکھنے زیادہ پیچیدہ پروگراموں، اور کوئی مشکل اور روزہ قوانین وہاں ہے کی جب ان کا استعمال کرنا. یہ واقعی آپ سیاق و سباق پر منحصر ہے. 

روب Bowden: اور بس وہاں اسے باہر پھینک کرنے یہ زیادہ آرام دہ سیکشن ہے کے بعد سے. سوئچز، وہ کرنے کی کوشش کرتے ہیں be-- لہذا آپ کو محدود کر رہے ہیں کے طریقے کی تعداد میں آپ ان کا استعمال کر سکتے ہیں، اگر اس وجہ سے، حالت خوبصورت ہو سکتا ہے آپ چاہتے ہیں کچھ. ساتھ مقدمات سوئچز نمبرز ہونا پڑے، یا تکنیکی طور پر وہ صرف حروف نہیں، لیکن کر سکتے ہیں ہم دیکھیں گے کے طور پر حروف،، صرف تعداد ہیں. تاکہ وہ نمبرز، لیکن سوئچ ہونا پڑے مقابلے میں اگر واقعی زیادہ موثر ہیں ورنہ کوئی اور ہے تو، تو بھی، کیونکہ پہلے اچھی طرح سے مثال لے جا، گریڈ مثال اچھا لگتا ہے. 

ویسے ہم بجائے ایسا، کی یہاں کہہ یہ ایک ہے تو کسی اور کے طور پر منظر نامے پر اگر کوئی اور تو. ، ن برابر ہے 1 برابر. تو اگر آپ کم تعداد اٹھایا پرنٹ. ، ن برابر 2 برابر، اگر کوئی اور تو آپ کو ایک ذریعہ اٹھایا نمبر. برابر 3 برابر ہے ورنہ اگر، اعلی. ورنہ باطل. 

تو کی ہے کہ ہمارے منظر نامے تھا کہنے دو. تو ہم میں داخل کہنے دو 4، اس طرح ہم باطل توقع کریں. راستہ اور اگر ہے تو یہ کہ نقطہ نظر کام کرنے کے لئے جا رہا ہے اگر ہے پہلی شرط کی جانچ پڑتال کرتا. یہ مطمئن نہیں ہے. تو ہم دوسرے کی حالت چیک. یہ مطمئن نہیں ہے. تیسری شرط چیک. مطمئن نہیں. تو ہم کسی اور کے پاس جاؤ اور باطل کو پرنٹ. 

راستہ سوئچ ورکس اسے نیچے سے آگاہ ہے ہم جا رہے ہیں کیا میں ایک چھلانگ میز فون کرنے. مرکزی خیال بہبود آپ 4 داخل جب کہ، یہ فوری طور پر پہلے سے طے شدہ کے لئے جا سکتے. یہ میں ہوں کیس 1 چیک کرنے کی ضرورت نہیں کرتا ہے؟ نہیں، ایسا نہیں ہے. کیس 2؟ نہیں. کیس 3؟ نہیں. پہلے سے طے شدہ. ٹھیک ہے، اس میں کہاں ہونا ضروری ہے چاہتے ہیں، اور پھر اس پر عمل. نہیں، یہ فوری طور پر پہلے سے طے شدہ چھلانگ. یا میں 2 داخل یہ، یہ ہے فوری طور پر 2 سے جانا جا رہا کیس 1 کے ذریعے جانا کرنے کی ضرورت کے بغیر. 

جس طرح سے کہ میں نے ایسا ہی، حقیقت پسندانہ آج کل ہے کہ کی مہارت حاصل کی ہے کہ زیادہ نہیں. عام طور پر کمپیوٹرز خوبصورت ہیں تیزی سے، اور یہ کہ بہت اچھا نہیں ہے. لیکن یہ معاملہ ہے کہ سوئچز تیزی سے ہیں. اگر آپ واقعی کوشش کر رہے ہیں بہتر کرنے کے لئے، ایک سوئچ استعمال. 

یلیسن: اتارنا. اور پھر ہم نے تہرا آپریٹر ہے. تو میں نے پہلے ذکر کیا جانتے لفظ syntactic چینی. یہ اتنا کرو کہ صرف چیزیں بہت زیادہ جامع اپنا کوڈ. تو یہ ان صورتوں میں سے ایک ہے. 

تاکہ تہرا آپریٹر سوالیہ نشان ہے قولون ہم لائن تار میں دیکھ کے طور پر ے 100 سے (ن) کو زیادہ سے زیادہ کے برابر سوالیہ نشان اعلی قولون کم. تو بنیادی طور پر یہ کیسے کام کرتا ہے یہ ہے 100 سے بڑھ کر (ن) ایک شرط ہے. تو میں نے اسے احساس کر سکتے ہیں لگتا ہے کہ. یہ ایک سوال پوچھ کی طرح ہے. یہ اوہ، (ن) 100 سے زیادہ ہے کہہ رہا ہے. کون جانتا ہے؟ اور اس کے لئے تشخیص کرتا ہے تو سچ، یہ آپ کو دینے جا رہا ہے ہے کہ پہلی بات اعلی ہے جو، وہاں درج. ورنہ یہ آپ کو کم دینے جا رہا ہے. تو یہ صرف ایک بہت سادہ ہے اور موثر طریقہ ایک تو کسی اور طرح ایسا کرنے. یہ سب ہے. 

اور ہم اس کے لکھنے کے لئے تھے تو ، مشروط اور اگر ایک جیسا ن بڑا ہے اگر یہ ہو جائے گا 100 سے، اعلی کی واپسی. ورنہ، کم کی واپسی کی. یہ تو صرف ایک زیادہ ہے اسے لکھنے کی جامع طریقہ. 

روب Bowden: تو اس مخصوص مثال جب بھی آپ کچھ کر رہے ہیں کیا جاتا ہے اس طرح، اس طرز ہے جہاں میں بہت کثرت تہرا کا استعمال. تو ہم نے، ابھی تک گنجائش کے بارے میں بات نہیں کی ہے لیکن میں سٹرنگ کے نیم وقفہ دیکھ نفرت ہے. ن سے زیادہ 100 تو، اعلی برابر. ورنہ، کی کم برابر. کہ اس انداز تو، ان پانچ لائنوں وقت کے کوڈ کا لفظی 100٪ کیا میں منتقل کیا جا سکتا وہاں ایک تہرا کے ساتھ تھا. تاکہ تہرا، کوڈ کی ایک لائن. پانچ، اور اگر. یہی تو میں اشارہ ایک مثال ہے ہر ایک وقت باہر. یہ کرے گا کے عظیم جگہ ایک تہرا آپریٹر کے لئے. یہ تو صاف ہے. لیکن لوگ یہ کبھی نہیں استعمال کرنے کے لئے ہوتے. 

یلیسن: بغیر اسے دور لے جاؤ. 

GABRIEL: تو اب تم لوگ سب لیکچر اس ہفتے میں سیکھا ایک میں ہے کہ سب کچھ کمپیوٹر درست، بائنری ہے؟ یہاں صرف لیمپ کی طرح. آپ کو ہو جائے تو اور بن سکتے ہیں. اور ہر چیز کی طرف سے، میرا مطلب لفظی ہر چیز. کچھ تعداد، اور حروف، اور ڈور، اور یہاں تک کہ کوڈ آپ جب لکھنا کہ اس مشین میں مرتب ہو جاتا ہے اس طرح کوڈ اور سامان، تو یہ سب 0 اور 1 'فوڑے نیچے. 

اور اس طرح ہم کام کر رہے ہو integers کے، ساتھ، جس تکنیکی طور پر بہت ہے کہ کچھ ہے سادہ، ہم چیزیں کرنے کے قابل ہونا چاہئے جو ہے، ان میں شامل کرنے کی طرح سادہ ترین چیزوں میں سے شاید ایک آپ صحیح، دو integers کے لئے کیا کر سکتے ہیں؟ لہذا اس کے علاوہ اور باقی نکالنا صرف کام کرتا ہے دشملو سنکیتن میں کام کرتا ہے کی طرح، یہاں سوائے حق، بائنری ہے؟ تو یہ بیس دو میں ہے. پس 1 پلس 1 کا اضافہ. کہ 0 دیتا ہے، اور 1 سے زیادہ کی جاتی ہیں. اور بس تو اب، کہ کیا کر رہیں زیادہ دلچسپ سوال آتا ہے. 

ہم سب کی نمائندگی کے لئے کس طرح جانتے ہیں کمپیوٹر میں مثبت صحیح اعداد، لیکن اس ایک مشق کرنے دو. تم لوگوں کو 1960 یا میں ہیں دکھاوا کچھ اور، ایک کمپیوٹر کو تخلیق کرنے کی کوشش کر رہے اور تم میں سے آئے ہیں 1 مائنس محفوظ کرنے کا ایک طریقہ، مثال کے طور پر، یا کسی مائنس اس بات کے لئے عددی. تم یہ کیسے کریں گے؟ کوئی خیال ہے؟ صرف مجھ پر کچھ بھی پھینک. جی ہاں؟ 

سامعین: [اشراوی] نامزد آپ [اشراوی] ہے تو ایک خاص. 

GABRIEL: آپ کو ایک نامزد کر سکتے ہیں 0 یا 1 ہو جائے گا جس میں خصوصی بٹ،. یہ مثبت ہے تو چلو ایک کہنے دو اور 0 یہ منفی ہے تو. بٹ کی اور پھر باقی صرف نمبر ذخیرہ کرنے کے لئے کی جاتی ہے. ٹھنڈا. تو یہ ایک بہت اچھا خیال ہے. ہم، مجھے پتہ نہیں ہے، 200 ہے. اور سب سے پہلے تھوڑا سا ہے تو پر تبدیل کر دیا، تو یہ ہے کے علاوہ 200. اسے بند کر دیا گیا ہے، تو یہ 200 مائنس ہے. ٹھنڈا. 

صرف چھوٹے سے ایک ہے اس کے ساتھ مسئلہ، جس سے ہم چیزوں خلاصہ کرنے کی کوشش تو کی ہے. تو ہم یہاں 11111 ہے تصور، اور ہم 00100 جو کچھ بھی کے ساتھ اس میزانی کر رہے ہیں. ان دو مثبت ہیں، تو، وہ ٹھیک ہے. لیکن اس وقت اگر ایک کی ان کی طرح، منفی ہے چلو کا کہنا ہے یہ تھوڑا یہاں اس ذمہ دار ہے کہ ایک ہے for-- میں نے ایک separate-- بنانے کے لئے جا رہا ہوں تاکہ اس میں سے ایک ہے کہ اس تعداد یہاں کا مطلب مثبت ہے. اس میں سے ایک اس کا مطلب ہے کہ یہاں نمبر صحیح، منفی ہے؟ 

لیکن اس وقت تم ہو جب انہیں خلاصہ کے لئے جا، آپ ایک بیان اگر ضرورت ، اس 0 ہے، اگر اوہ کہہ پھر میری رقم ہو جائے گا کچھ مختلف، ٹھیک ہے؟ لہذا ایک قدرے وہاں ہے ایسا کرنے کا طریقہ زیادہ ہوشیار دو کی اضافی کہا جاتا ہے جس، کہ. تو بنیادی طور پر جو ہم ایسا ہم اس کی وضاحت کی جاتی ہے مائنس 1 بات یہ ہے کہ ہونا تو یہ کہ 1 امریکی 0 دیتا سے ہم تک شامل. مجھے وہ دوبارہ. تو یہ یہاں 1 ہے کہ کہتے ہیں. بات کیا ہے کہ قدرتی طور پر مثبت integers میں کہ میں شامل کیا ہم 0 دیتا ہے؟ ہم اس تعداد میں شامل کرنے کی کیا کوشش کی تو؟ ہم اوکے have--، تو چلو شامل دو کے لئے جا رہے. ہم 1 پلس 1 کے لئے جا رہے 0 ہے، اور پھر اس پر کی جاتی ہیں. اور اس کے بعد ہم دوبارہ 0 حاصل کرنے کے لئے جا رہے ہیں. میں الجھن میں ہو رہی ہے. اور آپ 0 حاصل کرنے کے لئے جا رہے ہیں اور 0 اور 0 اور 0 اور 0 اور 0. 0 کے بہت سے. 

بہت گزشتہ ایک میں، ہم نہیں ہیں اس پر لے جانے کے قابل ہونے جا رہا، کیونکہ دو کی ہم صرف کام کر رہے ہو کہنا ایک بائٹ، تو صرف 8 بٹس کے ساتھ. تو کمپیوٹر ڈیفالٹ کی طرف سے کیا کرتا ہے ، صرف یہ ہے کہ [اشراوی] کے بارے میں بھول جائے ٹھیک ہے؟ تو یہ کہا جاتا ہے کیا ہے دو کی اضافی. بننا ہم صرف 1 مائنس وضاحت بات یہ ہے کہ یہاں آپ کو 1 سے کہ شامل ہے کہ اگر آپ 0 دے گی. اور یہ کہ بہت اچھا ہے ہم واقعی آپ ایسا نہیں کرتے کیونکہ لاگو کرنے کے لئے دیر سے ضرورت رقم کی ایک مختلف قسم کے کہ ایک ہے یا نہیں پر منحصر منفی یا ایک مثبت عدد. کہ عقل مندی ہے؟ 

ہم ایسا کرتے ہیں تا کہ ایک بات یہاں میں تبدیل کرنے کے لئے میں ایک مثبت اور منفی کے درمیان عددی پھر ہم، سب کچھ پلٹائیں جاتا اور پھر ہم اس نمبر 1 کا اضافہ. آپ اسے اپنے آپ کو کرنے کی کوشش کریں تو کاغذ کے ایک ٹکڑے پر، آپ کہ سمجھ میں آتا ہے کو دیکھنے کے لئے جا رہے ہیں. لیکن میں اس نمبر لے تو یہاں، اس پانچ ہے. میں نے سب کچھ پلٹائیں تو اگر یہاں، تو 1، 1، 1، 1، 1. ، فلپ، فلپ پلٹائیں. اور پھر میں نے اس کے لئے 1 کا اضافہ. مجھے ٹھیک سے مائنس 5 کے لئے جا رہا ہوں. ٹھیک ہے؟ 

اس قسم کی سمجھ میں آتا ہے کیونکہ اگر آپ کو نمبر کے ساتھ اس کا خلاصہ کرنے کی کوشش کریں ہم اس سے پہلے نہیں تھا کہ جس چلو، پھر سے پلٹائیں دو was--. یہ 0 ہے کے 101 اور بہت تھی. آپ کو ان میں شامل کرنے کی کوشش کریں تو ایک دوسرے کے ساتھ دو نمبروں، تم بالکل 0 پڑے جا رہے ہیں. OK. کوئی سوال؟ 

سامعین: [اشراوی] 

GABRIEL: آپ کیا مطلب لیتے ہیں؟ 

سامعین: منفی مثبت [اشراوی]. 

GABRIEL: نہیں، آپ کو پلٹائیں اور آپ ہمیشہ 1 کا اضافہ. جی ہاں. ٹھیک ہے، تو حروف بھی binaries کے انکوڈنگ. ہم آپ کو جتنا، ASCII ٹیبل ہے بھی صحیح، درس میں نے دیکھا؟ تو یہ بنیادی طور پر چیزوں کی ایک میپنگ ہے. اور یہاں میں کافی پر زور نہیں کر سکتے ہیں کہ ایک کمپیوٹر، ایک کے لئے اور 65 لفظی ایک ہی چیز ہیں. مجھے چار ج طرح کچھ لکھنا تو ایک، میں نے ایک ہی وقت میں کر سکتے تھے کے برابر یہاں صرف 65 لکھیں، اور یہ OK، بالکل ویسی ہی ہو جائے گا؟ کوئی جو کچھ فرق ہے. 

ہم عام طور پر ڈال دیتے ہیں قسم کے متغیر میں حروف. چار، نہیں وہ بنیادی طور پر ہیں کیونکہ اس کے لیے بنائی گئی، بلکہ اس لئے کہ انسانی کنونشن کی. لیکن آپ صرف integers کے ساتھ نمٹنے کر سکتے ہیں قسم کی بجائے چار کے متغیرات میں سے، اور تم ٹھیک ہو جائے گا. صرف اصل فرق ایک چار سی اور ایک int کے درمیان ایک int سب سے زیادہ میں چار بائٹس ہے کہ ہے سسٹمز، ایک چار ایک بائٹ ہے جبکہ. وہ بنیادی طور پر کر رہے ہیں اعداد و شمار کے لحاظ سے میں ایک ہی بات. تو کیا یہاں پرنٹ گا؟ یہاں ہم printf استعمال ایک ایشو چھپائی رہے ہیں ایک پلس 1 کے ساتھ، اور صرف integers کی طرح، حروف اتنی، تلخیص کیا جا سکتا حروف بھی بیان کیا جا سکتا. تو یہ بالکل وہی جو 65 ہے. ایسا کرنے میں وہاں جا رہا ہے 66، اور ہم یہاں 65 پلس تھوڑا ایک مائنس بڑا ایک، ہو جائے گا جس، میں واقعی نہیں جانتے. لیکن یہ بالکل وقفے کے ہو جائے گا بڑے حروف کے درمیان اور اور چھوٹے حروف، تاکہ ہم صحیح، چھوٹا ایک حاصل کرنے کے لئے جا رہے ہیں؟ جی ہاں. تو یہ ایک پرنٹ کرنے کے لئے جا رہی ہے بالکل یہ ایک ہے جس میں کردار. اچھا ہے؟ کوئی سوال؟ 

یہاں ہم مختلف کا ایک گروپ ہے عددی متغیر کے لئے اقسام. ہم نے پہلے ہی کہ int کے بارے میں بات. یہ واقعی ہے to-- فلوٹ صرف ایک طریقہ ہے مضحکہ خیز، میں نے پہلی بار جب میں نے سیکھا ہے کیونکہ دن کے ساتھ میں واپس پروگرام ازگر، پہلا پروگرام کبھی میں لکھنے کی کوشش کی، میں نے ایک بھی نہیں تھا کہ دیکھا قسم میں فون کیا اور ایک قسم فلوٹ بلایا. اور فلوٹ حقیقی اعداد کے لیے تھا. تو پھر میں کیوں پوچھا میں نے کبھی اس کے بعد ایک int استعمال کرتے ہیں؟ میں نے تمام استعمال کر سکتے ہیں کیونکہ اگر ایک فلوٹ کے ساتھ حقیقی اعداد، میں نے صرف صحیح، ints کے استعمال بند کرے گا؟ حقیقی اعداد ہیں، کیونکہ زیادہ سے زیادہ عام کی طرح. 

یہ ہے کہ باہر کر دیتا کمپیوٹر میں ایسا نہیں وہ بنیادی طور پر ہیں کیونکہ مختلف چیزیں. integers اور floats لہذا، آپریشنز آپ ان کے لئے کرتے ہیں کہ کیونکہ بنیادی طور پر مختلف ہیں وہ محفوظ کیا جاتا ہے کہ جس طرح کی، ٹھیک ہے؟ ہم ایک چھوٹی سی بات کرنے جا رہے ایک دوسرے میں اس کے بارے میں مزید تھوڑا سا. 

تاکہ ڈبل صرف ایک ہے بڑے فلوٹ ہے. عام طور پر سب سے زیادہ نظام میں، ایک فلوٹ صرف ایک int کی طرح، چار بائٹس ہے. اور ایک ڈبل آٹھ بائٹس ہے. ایک طویل طویل اصل میں صرف ایک علامت ہے آپ int کی طرح ایک قسم میں شامل ہے کہ. آپ کو طویل عرصے سے اس طرح int کی طویل کہنا. طویل طویل int ایکس طویل بنانے کے لئے. تو سب سے زیادہ نظام میں، جو دے گا بجائے ہمیشہ کی طرح چار کے آٹھ بائٹس. اور تم اصل میں چھوڑ کر سکتے ہیں میں، یہ صرف طویل طویل کہہ سکتے ہیں تاکہ، اور یہ کہ ٹھیک ہے، بہت سے کام کرتا ہے؟ تم نے بھی کی طرح دیگر چیزیں کر سکتے ہیں int اہستاکشرت، یا پھر صرف اہستاکشرت بھی کام کریں گے. اور یہ کہ ایکس ایک متغیر ہو کر کریں گے سب کچھ مثبت ہے کی طرح، تو کیا تم واقعی منفی نہیں کر سکتے ہیں ہم کو یہاں دیکھا ہے کہ جس طرح میں تعداد. تو بہت اچھا مندرجہ ذیل نقطہ اور صحت سے متعلق سچل. کہ وجوہات میں سے ایک ہے کیوں بجائے floats کی ints کے استعمال کرنا چاہتے ہیں، ints کے 100٪ عین مطابق، صحیح ہیں کیونکہ؟ یہ بالکل وہی تعداد ہے. سچل پوائنٹس کے لئے، اگر آپ جواب نہیں 1 10-- زائد برابر کہنا میں عین مطابق یہ ہے ہو یہاں پروگرام، float.c. کہ 20 اعشاری مقامات پر پرنٹ. 1 10 سے تقسیم، اور یہ کہ عام طور پر دائیں، 0.1 ہے؟ لیکن یہاں ہم بنا دیں تو تیرنے لگتے ہیں اور پھر ہم اسے چلانے، ہم یہ بالکل 0.1 نہیں ہے دیکھیں. یہ 0،149 کچھ ہے. 

اور کیوں ہے؟ اگر آپ واقعی ہر کی نمائندگی نہیں کر سکتے کیونکہ یاد میں واحد ممکن حقیقی عدد کیونکہ وہاں ان میں سے بہت سے uncountably. تو ہم نے تکنیکی طور پر کرنے کے لئے صرف قابل ہیں ان کی ایک محدود رقم کی نمائندگی ڈیٹا کی ایک محدود رقم کے ساتھ. لیکن یہ واقعی دلچسپ ہے. اب اس جنم لیتا ہے کا سوال کہ آپ کس طرح کریں گے نمائندگی کرنے کے بارے میں جانا بٹس کے ساتھ اس، ہے نا؟ تو کس طرح floats کے محفوظ کیا جاتا ہے؟ integers کے ساتھ یہ آسان تھا. لیکن floats کے ساتھ آپ چاہتے ہیں رینج زیادہ سے زیادہ کرنے، اور اپنی نمائندگی کرنے کے قابل بننا چاہتا ہوں بڑی تعداد اور طرح بہت چھوٹے اعداد ایک ہی وقت میں 0،000001. تو ایک بار پھر، اسی کھیل. ہم کس طرح کر سکتے تھے کیا کسی کو کوئی خیال ہے یاد میں فلوٹ کی نمائندگی کرنے کے بارے میں جانا ہے؟ بس کچھ بھی پھینک. براہ مہربانی، جی ہاں. 

سامعین: [اشراوی] کے طور پر یہ دو ints اور ایک تھا تو ہونے کی وجہ سے [اشراوی] اور ایک جا رہا دشملو نقطہ کے بعد سب کچھ. GABRIEL: ٹھیک ہے، ڈاؤن لوڈ، اتارنا. لہذا دو مختلف integers کے. تم 12.45 ہو سکتا ہے، تو ہے کہ 12 اور 45 ہے. اچھا. تم کہنا کیا جا جشن منانے؟ ایک ہی بات؟ جی ہاں؟ 

سامعین: [اشراوی] سنکیتن جہاں آپ بیس الگ. 

GABRIEL: سائنسی سنکیتن، ہاں کہ کیا ہوتا ہے عام طور پر ہے. تو یہ mantissa کہا جاتا ہے کیا ہے. کہ اصل میں ہے کیا ہے تعداد، اور پھر مائپادک صحیح، کوما ہے صرف کہاں ہے؟ تو یہ کچھ نہ کچھ ہونے جا رہا ہے فارم 1، 2، 3، 4، کی 5 بار 10 مائنس 4. میں صرف بالکل، ہاں that-- احساس ہوا. اور پھر مائنس 4 کے لئے اس 10 ہے کوما ہے جہاں OK، وضاحت کرنے جا رہے ہیں؟ برازیل میں ہم کوما کا استعمال کریں. یہاں آپ لوگ ایک نقطہ کا استعمال. تاکہ ایک نقطہ. 

اور اسکی وجہ تو آپ کر سکتے ہیں، اچھی بات ہے اس آدمی پر اپنے بٹس کے بہت توجہ مرکوز یہاں، mantissa پر، اور پھر ہے آپ کی اصل صحت سے متعلق ہونے جا رہا. اور آپ کو دشملو میں یا تو یہ کر سکتے ہیں یا بائنری مبنی نظام میں. مختلف ہیں طریقوں سے اس کو نافذ کرنے کا. سوالات؟ جی ہاں؟ سامعین: کتنے مقامات دشملو [اشراوی] کے بعد؟ 

GABRIEL: یہ ایک پیچیدہ سوال ہے، یہ واقعی کبھی نہیں 100٪ عین مطابق ہے کیونکہ، آپ کو یہاں، آپ کو دیکھو کیونکہ جیسا کچھ تعداد یہ 100٪ عین مطابق ہے. ہم یہاں 0.5 ڈال دیا تو میں، یقین یہ 100٪ عین مطابق ہو رہا ہے. یہ 0.500000 ہونے جا رہا ہے. تو اس صورت میں، یہ بالکل صحیح ہے. لیکن دوسری صورتوں میں، یہ بہت کم کامل ہے. میرے تجربے میں، چار تک کی طرح، پانچ اعشاری مقامات خوبصورت عین مطابق ہے. آپ کو ایک ڈبل کا استعمال کرتے ہیں، اس کے لئے جا رہا ہے OK، اس سے جس طرح سے زیادہ عین مطابق ہو؟ 

روب Bowden: تو صرف پھینک کرنے floats کے میں کچھ زیادہ سیاق و سباق، میں 100٪ کس طرح یاد کبھی نہیں floats کی رپورٹ اصل میں، کام کرتا ہے لیکن میں آپ کو ہمیشہ یاد کرتے کہ floats کے گندا ہو رہی شروع. ایسا خیال، تم واقعی ملے جب کہ ہے واقعی بڑا نمبر یا واقعی، واقعی چھوٹی تعداد، ہم شروع بدتر اور بدتر ہو رہی ہے فرق پر دو قریبی floats کے درمیان. 

لہذا میں ہے کے بارے میں سوچنے کے لئے پسند کرتے ہیں کہ کس طرح چل نقاط imprecision ساتھ، دو floats وہاں ہو میں نے ان کی وضاحت کرنے کی کوشش کرتے ہیں تو C میں، حقیقت یہ ہے کہ اس کے باوجود وہ مختلف نمبرز ہیں، وہ ہو جا رہے ہیں اسی تعداد کے طور پر تشریح، ہم مختلف نہیں انہیں محفوظ کر سکتے ہیں کی وجہ. ہم ایک ہی بٹس کو استعمال کرنے کی ضرورت ہے. اور اس طرح ہم پر جب واقعی، واقعی بڑی تعداد، 300 یا کرنے کے لئے 10 کی طرح بات کر کچھ، یہ اس نقطہ پر ہے کہ 10 سے 300 یا 300 کرنے کے لئے 5 بار 10 فرق نہیں کیا جا سکتا 300 کے لئے 7 سے 10 گنا سے. تو یہ ایک بہت بڑا فرق ہے دو اعداد کے درمیان. 

لیکن اس وقت تم نیچے ملے جب معمول کی حد چیزوں پر، تم خوبصورت ہو جاتے ہیں فرق میں اچھا. اور پھر آپ، واقعی چھوٹے نیچے حاصل جب تم نے بھی ایک بار پھر بہت برا ہو رہی ہے. ایک مکمل جھوبڈ طرح 0،0000، یہ بہت برا ہو جاتا ہے. GABRIEL: جی ہاں، تو ایک فوری نوٹ. ایسا کبھی نہیں. کبھی نہیں کا موازنہ کرنے کی کوشش کریں برابر برابر استعمال کرتے ہوئے floats کے، وہ تقریبا ہو کیونکہ چاہے اسی، تقریبا ایک ہی ایک ہی نہیں ہے. تو کیا آپ کو عام طور پر کرتے ہیں آپ کو منہا ہے انہیں، کہ کی مطلق قیمت لے، اس سے چھوٹا ہے تو اور دیکھیں اس طرح 0.0001 یا کچھ اور، ٹھیک ہے؟ اور ٹھنڈا. میں نے لوگوں کی ایک بہت ہے جانتے ہیں جاوا میں کچھ پس منظر، کیا خاص طور پر جنہوں AP کمپیوٹر سائنس، حق؟ اور جاوا ایک زبان ہے کہ زیادہ تر سی کی بنیاد پر، یہ ایک جوڑے بہت بڑا فرق ہے. لیکن طرح loops کے، اور اگر، اور سامان کے لئے کہ، وہ سب کے سب ایک ہی نحو ہیں. میں نے اس کو ظاہر کرنے کے یہاں چند پروگرام ہوتے ہیں. 

تو مثال کے طور پر، ایک سادہ ہیلو دنیا. اس سی، میں ہیلو دنیا ہے جس سے آپ لوگ، کے ساتھ یقینی طور پر واقف ہیں اور یہ اور یہ ایک جاوا میں ہے. جاوا میں ہم اس کی ضرورت ہے تاکہ عوامی طبقے، ہیلو دنیا، اور عوامی جامد صفر اہم، اور سٹرنگ args. سٹرنگ args جا رہے ہیں بہت جلد ہی سی میں ظاہر کرنا. لیکن ابھی تک وہاں جانے نہ دے. ٹھیک ہے اب ہم جس کا مطلب ہے، یہاں باطل ہے کہ اہم کوئی بحث نہیں ہے. اور پھر ہمارے پاس ہے system.out.println، اور یہ کہ printf کے لئے برابر کی قسم. یہاں ہم واقعی الٹا سلیش کی ضرورت نہیں ہے ن پرنٹ LN کہ آپ کے لئے کرتا ہے کیونکہ. یہ الٹا سلیش کے شامل پیدا لائن کے آخر میں (ن). 

لیکن اگر آپ میں جانا ہے تو ایک کے لئے کی طرح کچھ، آپ وہ ہو وہ دیکھ سکتا ہوں بہت ایک ہی بات. لہذا ابتدا، اور حالت، اور اپ ڈیٹ is-- میں وہ ہیں یہاں ایک خلائی یاد جاوا سوائے بہت ایک ہی بات، مزید چند اعلی سطح سامان کے طور پر ہے. یہاں ہم کچھ کر سکتے ہیں کے علاوہ میں نے اور جاوا خود بخود ہو جائے گا جو ہے، میں یہاں اس کے بنانے ایک عدد صحیح، ایک تار میں، اور پھر ملائیں ایک دوسرے کے ساتھ دو ڈور. یہاں C میں ہم &٪ ڈی کو کرنے کی ضرورت. یہاں لائن، کے لئے بالکل ویسا ہی لگ رہا ہے. 

اور ہم پر نظر ڈالیں تو IFS، اگر بھی صحیح، بالکل ویسی ہی نظر آتے ہیں؟ تو اصلی بڑے اختلافات ہیں آپ کو یہاں دیکھ کہ ان چیزوں میں. عوامی مستحکم، صفر، اور پھر عوام کی کلاس ہے تو. لہذا جاوا کیا ہے ایک مجازی مشین کو بلایا. اور یہ بہت بھاری ہے کی بنیاد پر کیا جاتا ہے آبجیکٹ اورینٹڈ پروگرامنگ کہا جاتا ہے، ایک بہت، بہت عام ہے جس میں آج کل پروگرامنگ کے لئے نمونہ. اور اس کلاس چیز، آپ کو دیکھ کر کیا ہے اعتراض واقفیت سے کچھ، کیا آپ واقعی اس وقت ایک کلاس پیدا کرنے اور کر رہا ہے اس طبقے سے اشیاء حاصل کر سکتے ہیں. ہم بھی بات کرنے کے لئے نہیں جا رہے ہیں CS50 میں اس کے بارے میں زیادہ سے زیادہ، لیکن اس سے یقینی طور پر ہے واقعی کچھ اچھا، اگر آپ میں جانا چاہتے ہیں خاص طور پر اگر زیادہ بہتر ویب کی ترقی کورس کے اختتام پر، جیسے آپ کی آخری منصوبے جمع کرائیں اور کچھ اچھی فریم ورکس اور سامان. 

تو بنیادی طور پر خیال ہے کہ آپ یہ ہے کہ کچھ اور دوبارہ لاگو نہیں کرنا چاہتے ہیں، لہذا آپ کو ہے کہ کچھ تخلیق بہت عام، شکل کی طرح، اور اس کے بعد آپ کی تشکیل اس سے مختلف سائز، اور اس کے بعد سے ہر ایک سے ان سائز، آپ کی تشکیل تین میں سے کچھ زیادہ مخصوص شکلیں طول و عرض یا اس طرح کچھ. اور وہ اس کے تنظیمی ڈھانچے وہ ہے تاکہ، دوسرے والے سے وارث تمام افعال اور تمام متغیر ہے کہ بڑی شکل یہاں، ان میں سے سب ہے ضرورت کے لئے جا، اور ان میں سے سب ہیں ، اور تو اور تو آگے کے لئے جا. تو یہ بنیادی خیال ہے. 

C ہے کہ ہے، لیکن C نہیں کرتا + + خصوصیت کی اس طرح ہے. اور جاوا بھاری متاثر ہے اعتراض واقفیت کی طرف سے، آپ کو دیکھ کر یہی وجہ ہے کہ یہاں کلاس ہر وقت. اور دوسری بات یہ ہے یہ جاوا ورچوئل مشین. تو یہ ہے، مجھے لگتا ہے، ایک بہت ہی ہوشیار خیال ہے. تو جو لوگ جنہوں نے ایجاد جاوا ہے کیا وہ نہیں چاہتے تھے دو بار اپنے کوڈ کو مرتب وہ ایک ونڈوز میں چلانے کے لئے تھا تو، یا ایک میک، یا لینکس، تاکہ وہ کیا کرتے ہیں وہ لفظی چلایا جاتا ہے آلات کی طرح کچھ، لیکن آپ واقعی یہ کیا ہو رہا نظر نہیں آتا. تاکہ وہ ایک مجازی مشین کو چلانے کے آپ کے کمپیوٹر، کے اندر جس ایک طرح بنیادی طور پر ہے منی آپریٹنگ سسٹم. اور یہ کہ آپریٹنگ زندگی میں نظام کا مقصد صرف بائٹ کوڈ کیا کہا جاتا ہے کو چلانے کے لئے ہے. 

تو بجائے C میں، جس طرح کے ہم کریں گے یہ تو بنانے کے لئے ہے، مرتب، اور اس کے بعد چلانے کے ./if. میں اندر الٹا سلیش بھول گیا. جاوا میں، آپ سب سے پہلے کیا کریں گے C جاوا اسے مرتب کرنے، if.c. یہ C. یہ کی ڈاٹ جاوا نہیں ہے. اور پھر آپ ./ نہیں چلانے کے لئے ہے. آپ کو اس نئی فائل حاصل if.class، لیکن تم نہیں کر سکتے واقعی ابھی if.class چلانے جیسا کہ ہم پہلے کیا تھا. یہ ایک executable نہیں ہے. آپ کو چلانے کے لئے ہے. تم میں اس کو کھانا کھلانا ہے جاوا نامی پروگرام، اور یہ کہ پروگرام مجازی مشین ہے، اور پھر آپ if.class، یا اگر کرنا. جی ہاں. اور پھر یہ کام کرتا ہے. OK تاکہ اس کی قسم ہے ورچوئل مشین ہو رہا. میں نے کرنے کے لئے تھے تو اگر C، کہ نہیں ہے ایک ونڈوز مشین میں اس پروگرام ڈال، اسے اس سے فرق پڑتا جاوا میں سی میں کام نہیں کرے گا. سوالات؟ ٹھنڈا. کہ آج کے لئے سپر سیکشن کے لئے تو ہے.