[Powered by Google Translate] [4 دفعہ] [کم آرام دہ اور پرسکون]
[نیٹ Hardison] [ہارورڈ یونیورسٹی]
[یہ CS50 ہے.] [CS50.TV]
>> ٹھیک ہے، کے حصے کے پیچھے استقبال ہے.
اس ہفتے کے حصے میں ہم کے ایک جوڑے کی چیزیں کرنے کے لئے جا رہے ہیں.
ہم پہلے recap کا مسئلہ 2 سیٹ کرنے جا رہے ہیں،
جو کیسر اور Vigenère مسئلہ سیٹ ہے.
اور پھر ہم کوئز 0 جائزہ میں کودو کے لئے جا رہے ہیں
اور وقت کا ایک تھوڑا سا recapping ہم کس بارے میں بات کی ہے خرچ
لیکچر میں سے ہر ایک میں اب تک، اور ہم نے کچھ مسائل بھی کروں گا
گزشتہ سال quizzes سے.
اس طرح تم لوگ اس کے لئے تیار کرنے کے لئے ایک اچھا طریقہ ہے.
>> شروع کرنے کے لئے، میں نے اچھا حل کے ایک جوڑے کو ہٹا دیا
گزشتہ مسئلہ سیٹ کے لئے، مسئلہ 2 اس خلا میں مقرر کرتے ہیں،.
اگر آپ لوگ سب اس لنک کو مارا،
اور اگر تم میرا نام پر کلک کریں اور میری پہلی نظر ثانی پر کلک کریں
آپ caesar.c، جو بالکل وہی جو میں دیکھ رہا ہوں دیکھ لیں گے.
اس کے بارے میں بہت تیزی سے بات کرنے دو
یہ تو صرف ایک نمونہ حل ہے.
یہ کامل حل ضروری نہیں ہے.
یہ لکھنے کے لئے بہت سارے مختلف طریقے ہیں،
لیکن وہاں کچھ چیزیں ہیں کہ میں اجاگر کرنا چاہتے تھے
کہ میں نے دیکھا کے طور پر میں گریڈنگ کر رہا تھا، عام غلطیوں کہ مجھے لگتا ہے کہ
اس حل سے نمٹنے کی ایک بہت اچھا کام کرتا ہے.
>> سب سے پہلے سب سے اوپر ہیڈر تبصرہ کسی قسم کی ہو رہی ہے.
1 لائنوں پر آپ کو 7 کے ذریعے تفصیلات دیکھنے،
بالکل وہی جو اس پروگرام کر رہی ہے.
ایک اچھا معیاری مشق جب آپ C کوڈ لکھ رہے ہیں
سے قطع نظر اگر آپ کسی ایک فائل یا پروگرام کے اندر اندر موجود ہے
چاہے وہ ایک سے زیادہ فائلوں میں تقسیم کیا ہے اور اس کا کسی قسم کا ہے
سب سے اوپر تبصرہ orienting.
یہ لوگ ہیں جو باہر جانے اور حقیقی دنیا میں کوڈ لکھنے کے لئے بھی ہے.
اس کا ہے جہاں سے وہ کاپی رائٹ کی معلومات ڈال دیں گے.
مندرجہ ذیل # بھی شامل ہیں.
16 لائن پر ہے اس # کی وضاحت ہے، جس سے ہم صرف تھوڑا سا میں واپس آ جائیں گے.
اور پھر ایک بار تقریب شروع ہوتا ہے، ایک بار اہم شروع ہوتا ہے،
کیونکہ اس پروگرام دیا گیا ہے سب کسی ایک تقریب میں موجود
سب سے پہلی بات یہ ہے کہ ہوتا ہے اور یہ بہت سی کے ایک پروگرام کے مہاوریدار اور عام ہے
ہے کہ کمانڈ لائن میں لیتا ہے دلائل ہے کہ وہ فوری طور پر چیک کرتا ہے
>> دلیل شمار کے لئے، argc.
ٹھیک ہے ہم یہاں دیکھتے ہیں کہ اس پروگرام 2 دلائل کی توقع بالکل ہے.
یاد ہے کہ پہلی دلیل ہے کہ خاص ہے
جو ہمیشہ پروگرام کے تحت چلائی جا رہی ہے کے نام پر ہے،
executable فائل کے نام پر.
اور تو اس کا کیا ہے، یہ پروگرام چلا رہا کرنے سے صارف روکتا ہے
زیادہ یا کم دلائل کے ساتھ.
وجہ سے ہم اس حق کے لئے دور چیک کرنے کے لیے کرنا چاہتے ہیں کی وجہ سے ہے
ہم اصل میں یہ argv صف نہیں ہے یہاں معتبر تک رسائی حاصل کر سکتے ہیں
جب تک ہم دیکھتے ہیں کتنا بڑا ہے کی جانچ پڑتال کی ہے.
>> عام غلطیاں میں نے دیکھا میں سے ایک تھا لوگوں میں فوری طور پر جائے گی
اور پکڑو argv [1].
وہ صف سے باہر اہم دلیل پر قبضہ اور اس پر چیک کرنے کے لیے چاہتے ہیں،
اور پھر وہ argc کے لئے ٹیسٹ کے ساتھ ساتھ اگلے ٹیسٹ کے طور پر کرنا چاہتے ہیں،
یا پہلی دلیل نہیں واقعی ایک ہی وقت میں ایک عددی تھا،
اور اس صورت میں کیونکہ کام نہیں کرتا کہ کوئی فراہم دلائل ہیں
آپ کے پاس کوئی دلیل ہے کہ وہاں نہیں ہے پکڑ گے یا جو وہاں نہیں ہے پر قبضہ کرنے کی کوشش ہے.
>> دیگر بڑی بات ہے کہ آپ محسوس کرنا چاہئے یہ ہے کہ
آپ کو ہمیشہ مددگار غلطی پیغام کے کچھ قسم کی پرنٹ کرنا چاہتے ہیں
ورئیےنٹ ان کے صارف ہیں.
میں اس بات کا یقین کریں کہ آپ سب کو رن پروگراموں جہاں اچانک کریش ہو جاتا ہے،
اور آپ کو یہ مضحکہ خیز تھوڑا ڈائلاگ ٹمٹمانے والے اور کہتے ہیں کہ
بری طرح اور کچھ شاید خفیہ آپ کو کوئی غلطی کوڈ یا ایسا کچھ دیتا ہے
کہ کوئی احساس کرتا ہے.
یہی وہ جگہ ہے جہاں آپ واقعی مددگار کچھ فراہم کرنے کے لئے کرنا چاہتے ہیں
اور صارف کو نشانہ بنایا تا کہ وہ جب وہ اسے چلانے "اوہ،" کھجور کے چہرے.
"میں جانتا ہوں کہ بالکل کہ کیا کرنا ہے میں جانتا ہوں کہ کس طرح اس کو ٹھیک کرنے کے."
>> اگر آپ کو ایک پیغام پرنٹ نہیں ہیں، تو آپ کو اصل میں ختم
صارف جانے کے لئے چھوڑ کر آپ کے منبع کوڈ کی جانچ پڑتال
اعداد و شمار کیا غلط ہو گیا ہے.
اس کے علاوہ بعض اوقات کہ آپ کے پاس مختلف قسم کی خرابی کوڈ کو استعمال کریں گے.
ہم یہاں صرف ایک استعمال کیا کہنا ہے کہ اس میں ایک خرابی تھی،
ایک خامی تھی، اس میں ایک خامی تھی.
بڑا پروگرام اکثر پروگرام جو دوسرے پروگراموں کی طرف سے کہا جاتا ہے،
مختلف صورت حال میں خصوصی خرابی کے کوڈ کے کچھ واپس کرے گا
پروگرام کے ذریعے بات چیت کرنے کی آپ بصورت دیگر
صرف کے لئے ایک اچھی انگریزی پیغام کا استعمال کریں.
ڈاؤن لوڈ، اتارنا.
جب ہم کام کرتے ہیں، آپ کو دیکھ کر، ہم اہم باہر ھیںچو کر سکتے ہیں.
ہم اگر اہم پورے طور پر فٹ ہوجاتا ہے کو دیکھنے کے لئے ٹیسٹ.
ہم صارف کی طرف سے ایک پیغام ملتا ہے.
وجہ سے ہم اسے اس میں کیا کرتے ہیں جبکہ لوپ اور اس بات پر ہے کہ ہم اس کا احاطہ کرے گا
تھوڑا سا میں بٹ لیکن یہ پتہ چلا ہے کہ اگر آپ کو کنٹرول D ٹائپ
آپ اس GetString ٹرمینل پر فوری کب
جو کہ اصل میں ہے یہ ہے کہ یہ ایک خاص کردار بھیجتا ہے
پروگرام.
یہ یلف یا فائل کردار کے اختتام کہا جاتا ہے.
اور اس صورت میں، ہمارا پیغام سٹرنگ شہوت انگیز null ہو جائے گا،
تو اس بات پر ہے ہم اس مسئلے میں کی جانچ پڑتال خود مقرر نہیں تھا.
>> لیکن جیسا کہ ہم جاتے ہیں، اب جب کہ ہم اشارہ کے بارے میں بات کرنے کے لئے شروع کر دیا ہے
اور ڈھیر پر متحرک میموری مختص کرنے،
شہوت انگیز null کے لئے جانچ پڑتال جب بھی آپ کو ایک تقریب ہے جو شاید ہے
شہوت انگیز null واپس کے طور پر ایک قدر ایک ایسی چیز ہے کہ آپ کرنے کی عادت میں حاصل کرنا چاہیں گے.
یہ بنیادی طور پر مثال کے لئے یہاں ہے.
لیکن جب آپ مستقبل میں GetString دیکھتے ہیں،
ایسا ہے، تو آپ کو 4 سیٹ کریں کے مسائل سے یہ بات ذہن میں رکھنا چاہیں گے.
ایک بار پھر، یہ 3 مرتب کریں یا تو چونکہ ہم نے اسے ڑک نہیں کیا تھا مسئلہ کا کوئی مسئلہ نہیں ہے.
آخر میں، ہم اس حصے میں جہاں ہم اہم خفیہ کاری لوپ حاصل کرنے کے لئے حاصل کرنے کے لئے،
اور ہو رہا ہے یہاں چیزوں کی ایک جوڑے ہیں.
سب سے پہلے ہم اس پورے پیغام کو سٹرنگ خود پر iterate.
یہاں ہم حالت میں strlen کال رکھ دیا ہے،
جو تم میں سے ایک بڑی تعداد نے نشاندہی کی ہے جانے کے لئے ایک عظیم طریقہ نہیں ہے.
یہ اس صورت میں پتہ چلا یہ بھی اچھا نہیں ہے،
جزوی طور پر کیونکہ ہم پیغام خود کے مواد میں ترمیم کر رہے ہیں
اندر لوپ کے لئے، اگر ایسا ہے تو ہم نے ایک پیغام ہے کہ 10 حروف طویل ہے ہے،
پہلی بار ہم نے شروع ہے کہ strlen لوپ کے لئے کیا واپس آ جائیں گے؟
10.
>> کہتے ہیں لیکن اگر ہم تو پیغام میں ترمیم کریں، ہم اس کے 5th کردار پر نظر ثانی کریں،
اور ہم ایک \ 0 کردار میں 5th پوزیشن میں پھینک
strlen (پیغام) بعد iteration پر واپس نہیں جو اس نے
بہت پہلی بار ہم iterated،
لیکن یہ 5 کی بجائے واپس کیونکہ ہم کہ شہوت انگیز null مختتم میں پھینک دیا جائے گا،
اور سٹرنگ کی حد بیان کیا جاتا ہے
کہ 0 \ پوزیشن کی طرف سے.
اس صورت میں، یہ کیونکہ ہم اس جگہ میں ترمیم کر رہے ہیں کے لئے ایک عظیم طریقہ ہے.
لیکن آپ کو نوٹس ہے کہ یہ اصل میں ہے حیرت کی بات سادہ خفیہ
اگر آپ کو ریاضی درست حاصل کر سکتے ہیں.
یہ سب کی ضرورت ہے یا نہیں خط چیک کرنے کے لیے کہ آپ دیکھ رہے ہیں
بڑے یا خفی ہے.
>> وجہ سے ہم صرف اس کے لئے چیک کرنے کے لیے ہے اور ہم کی جانچ پڑتال کی ضرورت نہیں ہے
ہے الفا کیس کی وجہ سے ہے
اگر کوئی کردار بڑے ہے یا اگر یہ خفی ہے
تو یہ یقینی طور پر ایک اکشراتمک سمپرتیک ہے،
کیونکہ ہم بڑے اور چھوٹے ہندسے کی ضرورت نہیں ہے.
دوسری چیز جو ہم کرتے ہیں اور یہ تھوڑا سا ہے مشکل
ہے ہم معیاری کیسر صفر فارمولہ نظر ثانی کی ہے
کہ ہم نے مسئلہ سیٹ کی تفصیلات میں دی.
کیا مختلف یہاں ہے یہ ہے کہ ہم subtracted
بڑے کیس کے دارالحکومت میں ایک اور پھر ہم نے میں دارالحکومت A شامل
آخر میں میں واپس.
>> میں جانتا ہوں کہ تم میں سے چند آپ کے کوڈ میں نے یہ کیا ہے.
کیا تم میں سے کسی نے آپ کی گذارشات میں یہ کیا؟
تم نے یہ کیا ہے. یہ کیا ہے، آپ Sahb کی وضاحت کر سکتا ہوں؟
، یہ تفریق، کیونکہ تم صحیح کے بعد ایک جدید کیا
تم اسے باہر لے، تو اس طرح آپ [ھاںسی] حاصل کرنے کی پوزیشن ہے.
اور پھر آپ اسے واپس بعد میں انہوں نے مزید کہا کی طرف سے وہ جو تم چاہتے تھے پر منتقل کر دیا گیا ہے.
جی ہاں، بالکل.
کیا Sahb نے کہا تھا کہ ہم جب شامل کرنا چاہتے ہیں
ہمارا پیغام اور ہمارے ساتھ مل کر چابی
کہ، اور پھر جدید جدید کہ NUM_LETTERS کی طرف سے،
اگر ہم مناسب 0 سے 25 رینج میں ہمارا پیغام کرنا نہیں ہے سب سے پہلے،
تو ہم نے ایک بہت ہی عجیب تعداد حاصل کرنے کر سکتے ہیں
کیونکہ، اقدار کہ ہم جب ہم پیغام [میں] پر نظر دیکھ رہے ہیں
، جب ہم ہمارے سادہ ٹیکسٹ پیغام کے ith کردار میں نظر
کی قدر یہ 65 سے 122 کی حد میں ہے کہیں
چھوٹے Z کے ذریعے بڑے ایک کے لئے ASCII اقدار کی بنیاد پر ہے.
اور اس طرح ہم 26 کی طرف سے یا NUM_LETTERS کی طرف سے جب یہ MOD،
سے وہ سب سے اوپر دائیں طرف ہماری # یہاں وضاحت
کہ ہمیں ایک قیمت ہے جو 0 سے 25 کی حد میں ہے دینے جا رہا ہے،
اور ہم نے ایک تو کرنا ہے کہ بیک اپ کا طریقہ کی ضرورت ہے
ہو جاؤ اور اسے مناسب ASCII رینج میں ہے.
ایسا کرنے کے لئے کا سب سے آسان راستہ ہے جس سے سب کچھ نیچے کرنا ہے
0 سے 25 رینج میں کے ساتھ شروع کرنے کے لئے،
اور اس کے بعد سب کچھ واپس آخر میں منتقل.
>> ایک عام غلطی ہے کہ میں نے دیکھا لوگوں میں چلانے کے یہ ہے کہ
اگر آپ کو یہ پیمائی اصل میں نہیں ہے فورا
اور آپ کو پیغام اور چابی کو ایک ساتھ شامل کریں اور آپ ان میں شامل ہیں، کا کہنا ہے کہ،
اس کے ساتھ ایک چار متغیر میں مسئلہ
پیغام کے بعد [میں] شروع کرنے کے لئے ایک نسبتا بڑی تعداد کے ساتھ
یاد یہ کم از کم 65 ہے اگر یہ ایک بڑے کردار
اگر آپ کے پاس ایک بڑی چابی،، کا کہنا ہے کہ 100 کی طرح کچھ ہے،
اور آپ کو ایک دستخط شدہ چار اتپرواہ حاصل کرنے کے لئے جا رہے ہیں میں 2 ان ایک ساتھ شامل کریں.
آپ کو ایک قیمت ہے جو 127 سے بڑا ہے حاصل کرنے کے لئے جا رہے ہیں،
جس کی سب سے بڑی قیمت ہے چار متغیر ہے کہ کر سکتے ہیں ہے.
ایک بار پھر، یہی وجہ ہے کہ آپ کے ساتھ شروع کرنے کے لئے بات کی اس طرح کرنا چاہتے ہیں.
کچھ لوگوں کو ایک اور اگر کر اور جانچ کی طرف سے اس صورت کے ارد گرد ہے
، اگر وہ اتپرواہ گے اس سے پہلے کہ کر دیکھنا
لیکن اس طرح کہ ارد گرد ہو جاتا ہے.
اور پھر ہم اس کے حل میں ہی آخر میں طباعت کی پوری سٹرنگ.
دوسرے لوگ ایک وقت میں پرنٹ ایک کردار ہے. دونوں ہی خوفناک ہیں.
اس وقت کیا لوگ آپ کے ذہن میں کوئی سوالات ہیں، اس کے بارے میں کوئی تبصرہ؟
چیزیں جو آپ کو پسند ہے، چیزیں آپ کو پسند نہیں؟
>> میں نے ایک سوال کے جواب میں تھا.
شاید میں اسے آپ کی وضاحت کے دوران یاد کیا، لیکن کس طرح اس پروگرام کرتا ہے
متن کی لمبائی کی کلید منسلک کرنے کے لئے خالی جگہ پر کریں؟
یہ صرف کیسر صفر ہے. >> اوہ، معاف کرنا، جی ہاں.
جی ہاں، ہم یہ دیکھیں گے.
کیسر صفر میں ہم اس کے ارد گرد ہے کیونکہ
ہم صرف حروف flipped ہے.
ہم صرف ان کے گھمایا تو وہ بڑے یا چھوٹے تھے.
تم لوگ اس کے بارے میں بہت اچھا لگ رہا ہے؟
اس کے گھر کی کاپی کرنے کے لئے آزاد محسوس کرتے ہیں، اسے لے لو،
تم لوگ کیا لکھا اس کا موازنہ کریں.
یقینی طور پر اس کے بارے میں بھی سوال بھیجنے کے لئے آزاد محسوس کرتے ہیں.
اور پھر احساس ہوتا ہے کہ آپ کے مسئلے سے یہاں مقصد کا تعین کرتا ہے
لوگ آپ کو آپ کے مسئلہ کے سیٹ کے لئے کامل کوڈ لکھنے کے لئے حاصل کرنے کے لئے نہیں ہے.
یہ ایک سیکھنے کا تجربہ ہے. جی ہاں.
>> واپس کرنے کے لئے، جبکہ لوپ، اگر وہ برابر شہوت انگیز null
تو، شہوت انگیز null صرف کوئی مطلب نہیں ہے، وہ صرف داخل مارا؟
شہوت انگیز null ایک خصوصی پوائنٹر قدر ہے،
اور ہم شہوت انگیز null استعمال کرتے ہیں جب ہم کہنا چاہتے ہیں
ہم پوائنٹر متغیر ہے کہ کچھ بھی نہیں اشارہ کر رہا ہے.
اور تو عام طور پر اس کا مطلب یہ ہے کہ یہ متغیر، یہ پیغام متغیر
خالی، اور یہاں ہے، کیونکہ ہم CS50 خصوصی سٹرنگ قسم کا استعمال کرتے ہوئے کر رہے ہیں،
CS50 سٹرنگ کی قسم کیا ہے؟
کیا تم نے دیکھا کہ یہ کیا ہے جب داؤد درس میں واپس نکالا ڈاکو؟
یہ ایک funky یہ پوائنٹر ہے، ٹھیک ہے؟
ٹھیک ہے، جی ہاں. >> یہ ایک چار * ہے.
اور تو واقعی ہم اس کی جگہ لے سکتا ہے
یہاں، چار * پیغام کے ساتھ
اور تو GetString تقریب، اگر اس صارف سے ایک تار کامیابی کے ساتھ نہیں ہے حاصل،
یہ ایک تار کا تجزیہ نہیں کر سکتے ہیں، اور جن میں سے ایک معاملے میں یہ ایک تار کا تجزیہ نہیں کر سکتے
ہے اگر صارف فائل کردار، کنٹرول D کے اختتام کی قسم،
جو کچھ آپ عام طور پر کرتے ہیں نہیں ہے، لیکن اگر ایسا ہوتا ہے
کہنے کا ایک طریقہ کے طور پر تو تقریب اس شہوت انگیز null قیمت واپس کرے گا
"ارے، میں ایک تار حاصل نہیں کیا."
اگر ہم پیغام نہیں ڈال = شہوت انگیز null کیا ہوگا،
جو کہ ایک ایسی چیز ہے جس پر ہم نے ابھی تک نہیں کیا گیا ہے کر ہے؟
ایک مسئلہ یہ ہے کہ یہاں کیوں ہو گی؟
کیونکہ میں جانتا ہوں کہ ہم نے میموری لیک کے بارے میں لیکچر میں تھوڑا سا بات کی.
جی ہاں، ایسا، اور دیکھتے ہیں کیا ہوتا ہے.
>> تلسی سوال کیا ہوتا ہے اگر ہم واقعی اس کی ضرورت نہیں ہے
اس پیغام کو =، شہوت انگیز null ٹیسٹ؟
چلو سب سے اوپر سکرال.
تم لوگوں نے یہ تبصرہ کر سکتے ہیں.
اصل میں، میں ایک نظرثانی میں اسے بچا دونگا.
یہ 3 نظر ثانی ہو جائے گا.
کیا آپ اس پروگرام کو چلانے کے لئے کرنا پڑے گا آپ یہاں اس گیئر کا آئکن پر کلک کریں گے،
اور آپ کو اس پر ایک دلیل کو شامل کرنا پڑے گا.
تم نے یہ اہم دلیل دینا ہوگا کیونکہ ہم ایک کمانڈ لائن کی دلیل میں منتقل کرنا چاہتے ہیں کریں گے.
یہاں میں نے اسے 3 نمبر دینے جا رہا ہوں. میں 3 پسند کرتا ہوں.
اب واپس zooming، پروگرام چلا رہا ہے.
یہ چل رہا ہے، مرتب، تعمیر.
یہاں ہم چلے. یہ پوچھا جائے انتظار کر رہی ہے.
کہ اگر میں کچھ میں ہیلو جہاں کی طرح ٹائپ کیا؟
اوہ، میرا پروگرام بھی طویل چلانے کے لئے لیا. میں بہت لمبے وقت تک کے لئے jawing کیا گیا تھا.
یہ یہاں جاتا ہے.
اب میں ہیلو میں ٹائپ کریں.
ہم دیکھتے ہیں کہ یہ مناسب طریقے سے خفیہ کرتا ہے.
اب اگر ہم نے فوری طور پر GetString شہوت انگیز null واپس کیا ہوتا ہے؟
یاد رکھیں، میں نے کہا کہ ہم نے کیا ہے کہ ایک ہی وقت میں کنٹرول D دبانے سے.
میں یہاں سکرال کریں گے. ہم اسے دوبارہ چلائیں گے.
بلڈنگ. جاتا ہے.
اب جب میں نے کنٹرول D مارا
میں اس لائن opt/sandbox50/bin/run.sh کہتے ہیں، انقطاع غلطی ہے.
کیا تم لوگ اس سے پہلے کہ دیکھا ہے؟
>> [Student کی] کیوں وہاں نہیں >> معذرت ہے؟
[Student کی] کیوں اس معاملے میں کوئی کور ڈمپ؟
کور ڈمپ ہے سوال کیوں کوئی کور ڈمپ ہے یہاں؟
سوال یہ ہے کہ وہاں ہو سکتا ہے، لیکن بنیادی ڈمپ ایک فائل ہے
کہ ہارڈ ڈرائیو پر محفوظ ہو جاتا ہے.
اس صورت میں ہم نے بنیادی میں dumps غیر فعال کر دیا گیا ہے.
رن سرور پر ہم تاکہ لوگ نہیں ہیں faulting seg
اور بنیادی dumps ٹن کی تعمیر.
لیکن آپ کو ایک حاصل کر سکتے ہیں.
کور dumps بات کی طرح ہیں کہ آپ اکثر غیر فعال کر سکتے ہیں،
اور کبھی کبھی تم کرتے ہو.
انقطاع کی غلطی، آپ کے سوال کا جواب دینے کے لئے، تلسی،
ہے کا کہنا ہے کہ ہم پوائنٹر تک رسائی حاصل کرنے کی کوشش کی
کہ کچھ بھی کی طرف اشارہ نہیں کیا گیا تھا.
ویڈیو میں Binky یاد ہے جب Binky کرنے کی کوشش کرتا ہے
پوائنٹر کہ کچھ کی طرف اشارہ کرتے ہوئے نہیں تک رسائی حاصل ہے؟
اس صورت میں مجھے لگتا ہے کہ تکنیکی طور پر پوائنٹر کچھ اشارہ کر رہا ہے.
شہوت انگیز null، جس میں تکنیکی 0 ہے کی طرف اشارہ کرتے ہوئے،
لیکن اس میں ایک سیگمنٹ رکھا ہے جو قابل رسائی نہیں ہے میں بیان کیا جاتا ہے
آپ کے پروگرام کی طرف سے، تو آپ کو ایک انقطاع غلطی
کیونکہ آپ میموری تک رسائی حاصل نہیں کر رہے ہیں جو کہ ایک درست کے علاقے میں ہے
ڈھیر طبقہ یا اسٹیک طبقہ یا ڈیٹا طبقہ کی طرح.
ڈاؤن لوڈ، اتارنا.
کیسر کے بارے میں کوئی سوال؟
>> پر منتقل. 2 ترمیمی میں واقعی فوری طور پر نظر آتے ہیں.
وہ Vigenère ہے.
یہاں Vigenère میں
ہم اس سے ایک کے ذریعے بہت تیزی سے وجہ سے چلنے کریں گے، پھر
Vigenère اور سیزر بہت ملتے جلتے ہیں.
ہیڈر تبصرہ سے پہلے ہے،
# وضاحت سے پہلے یہ جادو کی تعداد کا استعمال کرتے ہوئے سے بچنے کے لئے ہے.
کا کہنا ہے کہ اچھی بات ہے ہم کو منتقل کرنا چاہتے تھے
اس طرح ایک مختلف حروف تہجی یا کچھ اور.
دستی طور پر جانے کے لئے تمام 26 کوڈ میں تبدیل کرنے کی بجائے
ہم 27 سے اسے تبدیل یا اس کو نیچے چھوڑ سکتا ہے
اگر ہم مختلف حروف، مختلف زبانوں کا استعمال کرتے ہوئے کر رہے تھے.
ایک بار پھر، ہم نے دلیل شمار کا یہ چیک ہے،
اور سچ میں تم سے ایک سانچے کے طور پر اس میں تقریبا لے جا سکتے ہیں.
بہت ہر پروگرام آپ کے لکھنے ہونا چاہئے
لائنوں میں سے اگر یہ کمانڈ لائن ہوتی دلائل میں سے کچھ ترتیب
جو بہت شروع میں اس طرح پڑھتا ہے.
وہ پہلے وویک ٹیسٹ آپ کرنا چاہتے ہیں میں سے ایک ہے.
>> یہاں کیا ہم نے کیا ہم کیا تھا کہ اس بات کا یقین
مطلوبہ الفاظ صحیح تھا، اور یہ کہ دوسری چیک ہے کہ ہم نے کیا تھا.
پھر یاد رکھیں کہ ہم argc اور 2 سے الگ.
نوٹ کریں کہ اس معاملے میں ایک بات یہ ہے کہ ہم نے کرنا تھا اس کی بجائے تھا
میں استعمال کرنے کا ہم پورے سٹرنگ کی توثیق چاہتے تھے،
اور ترتیب میں کیا ہے کہ آپ اصل میں کردار سے کردار جانا ہے
سٹرنگ سے زیادہ ہے.
اچھا نہیں اس پر کچھ کو فون کرنے کا ایک طریقہ ہے
کیونکہ مثال کے طور پر بھی، ایک میں 0 واپس آ جائیں گے
اگر ایسا ہے تو یہ ایک عددی تجزیہ نہیں کر سکتے ہیں، جو بھی کام نہیں کرتا.
ایک بار پھر، اچھا صارف بالکل کہہ پیغام کیا ہوا ہے.
پھر یہاں پھر، ہم نے اس معاملے کو ہینڈل جہاں
کنٹرول D بے ترتیب کردار میں صارف اقسام.
>> اور پھر شارلٹ کہ ہم کس طرح خالی جگہ پر کرنے کے انتظام کے بارے میں ایک سوال کے جواب میں پہلے تھا
ہمارے یہاں سٹرنگ میں.
اس طرح کے جو ہم نامہ پروگرام کے ساتھ کیا تھا اسی طرح تھا
کہ ہم کے حصے میں کیا ہے، اور جس طرح سے یہ کام کیا
یہ ہے کہ ہم نے کہ ہم نے دیکھا تھا خطوط کی تعداد کا پتہ لگایا ہے.
جیسا کہ ہم نے پیغام سٹرنگ پر چلے گئے تھے، جیسا کہ ہم نے کردار کی طرف سے کردار سے زائد واک،
ہم لوپ کے لئے ہمارے حصے کے طور پر انڈیکس کا پتہ لگایا، اور پھر ہم بھی پتہ لگایا
حروف کی تعداد ہے، تو غیر خصوصی حروف، غیر ہندسے غیر سفید فام، خلا
کہ ہم علیحدہ متغیر میں دیکھا تھا.
اور پھر یہ حل کی کلید ترمیم
ایک حقیقی اہم عددی حاصل کرنے کے لئے ہے، اور یہ کہ مکھی پر کرتا ہے
ٹھیک ہے اس سے پہلے کہ تو اصل پیغام کے کردار کو خفیہ جاتا ہے.
کچھ حل ہیں جو بالکل عظیم بھی تھے
اس چابی پر نظر ثانی جب چابی صحيح ہونے کے لئے جانچ کرے گی.
اس بات کو یقینی بنانے کے علاوہ میں ہے کہ کردار اور مطلوبہ الفاظ
ایک اکشراتمک سمپرتیک یہ بھی ہے کہ ایک عددی میں تبدیل کر دیا
0 سے 25 کی حد میں پھر لوپ کے لئے وہ بعد میں اس میں کیا کرنے پر.
ایک بار پھر، آپ کو یہاں دیکھ کر یہ واقعی بالکل وہی کوڈ آن ہے
ہے کہ ہم اس وقت کیسر میں استعمال کیا.
تو تم بالکل وہی کام کر رہے ہیں، اصلی ٹرک باہر figuring ہے
ہے کہ کس طرح ایک عددی میں مطلوبہ الفاظ کو چالو کرنے کے.
>> ایک بات یہ ہے کہ ہم یہاں کیا جو تھوڑا گھنے ہے
ہے ہم نے اس جملے کو بار بار، مجھے لگتا ہے کہ آپ یہ کہہ سکتے ہیں،
58 لائنوں، 59، اور 61 پر 3 الگ الگ اوقات.
کسی وضاحت کیا کہ اصل میں یہ جملہ کرتا ہے کر سکتے ہیں؟
ایک کردار تک رسائی حاصل ہے، جیسا کہ تم نے کہا تھا کہ.
جی ہاں، یہ مطلوبہ الفاظ میں [اشراوی] ایک کردار ہے،
اور تو اس دیکھا حروف کی تعداد ہے کیونکہ آپ کو صرف ساتھ جا رہے ہیں
مطلوبہ الفاظ کی ایک بار تم نے خط کو دیکھا ہے،
تاکہ مؤثر طریقے سے خالی جگہیں اور اس طرح چیزیں ہوں جا رہا ہے.
جی ہاں، بالکل.
اور پھر ایک بار تم تم صرف جدید مطلوبہ الفاظ کو خالی دیکھا ہے تاکہ آپ کے ارد گرد منتقل.
بالکل. یہ ایک کامل وضاحت ہے.
کیون نے کہا ہے کہ یہ ہے کہ ہم مطلوبہ الفاظ میں انڈیکس چاہتے ہیں.
ہم num_letters_seen کردار کو حاصل کرنے کے لئے چاہتے ہیں، اگر آپ،
لیکن اگر num_letters_seen مطلوبہ الفاظ کی لمبائی سے زیادہ ہے،
جس طرح سے ہم مناسب رینج میں واپس حاصل ہے کہ ہم جدید آپریٹر کا استعمال کریں
مؤثر طریقے سے ارد گرد لپیٹ.
مثال کے طور پر، مختصر میں کی طرح، ہماری مطلوبہ الفاظ بیکن ہے،
اور یہ 5 حروف طویل ہے.
لیکن ہم اس وقت ہمارے سادہ متن میں 6 حروف دیکھا ہے
اور مرموز 6.
ہم num_letters_seen تک رسائی حاصل کرنے،
جس میں 6 ہے، MOD مطلوبہ الفاظ کی لمبائی، 5،
اور ہم 1 حاصل، اور تو ہم کیا کریں گے ہم کریں گے ہے گے
اس وقت ہمارے مطلوبہ الفاظ کے پہلے کردار کے اندر تک رسائی حاصل کریں.
>> ٹھیک ہے، Vigenère پر کوئی سوال
اس سے پہلے کہ ہم آگے بڑھنے کا؟
تم لوگ اس کے بارے میں بہت اچھا لگ رہا ہے؟
ڈاؤن لوڈ، اتارنا، بہت اچھا.
میں اس بات کا یقین کر لیں کہ آپ لوگ کوڈ کو دیکھنے کے لئے موقع مل رہا ہے بنانا چاہتے ہیں
کہ ہم کو لگتا ہے کہ اچھا لگ رہا ہے اور اس سے سیکھنے کا موقع ہے.
یہ آخری ہم خالی جگہ کچھ وقت کے لئے استعمال کرتے ہوئے جائے گی جا رہا ہے،
اور ہم اب منتقل کرنے جا رہے ہیں، اور میں cs50.net/lectures پر جانے کے لئے جا رہا ہوں
تو ہم کوئز کا جائزہ لیں تھوڑا سا کر سکتے ہیں.
وہ سب سے اچھا طریقہ ہے جو میں کوئز کا جائزہ لیں شروع کر لگتا ہے کہ
اس بیان کے صفحے پر آنے کی ہے، cs50.net/lectures
اور ہفتے عنوانات میں سے ہر ایک کے نیچے اگر ایسا ہے تو میں 0 ویک میں یہاں دیکھو،
میں نے دیکھا ہے کہ ہم موضوعات کی ایک فہرست ہے کہ ہم 0 ہفتہ میں شامل ہے.
>> اگر ان موضوعات میں سے کسی ایک آپ کو مجریچت لگ رہے ہو
تم واپس جاؤ اور لیکچر scour نوٹ اور ممکنہ طور پر ضرور چاہیں گے
لیکچرز کے ذریعے بھی ملائی کرنا، انہیں ایک بار پھر دیکھو اگر تم چاہتے ہو تو
ان موضوعات میں سے ہر ایک کے ساتھ کیا ہو رہا ہے اس کے لئے ایک احساس حاصل کرنے کے لئے.
میں ڈاؤن لوڈ، اتارنا وسائل ہمارے پاس ہے اس کے علاوہ اس سال کہیں گے
ان شارٹس ہے کہ ہم نے پیدا کیا ہے، اور اگر آپ 0 ویک میں دیکھو،
ہم تمام موضوعات احاطہ کرتا نہیں کرتے، لیکن ہم بہت ان میں سے چند ہے،
trickier ہیں میں سے کچھ تو ان شارٹس کو دوبارہ دیکھ
آپ کو حاصل کرنے کی رفتار تیز کرنے کے لئے ایک اچھا طریقہ ہے.
خاص طور پر، میں نیچے 3 کے لئے ایک پلگ میں ڈال دیا ہے، کیونکہ میں نے وہ کیا کرنے جا رہا ہوں.
لیکن اگر آپ بائنری کے ساتھ جدوجہد کر رہے ہیں، کی بٹس، hex، چیزیں اس طرح کی
بائنری شروع کرنے کے لئے ایک عظیم جگہ ہے.
ASCII ایک بھی اچھا ہے ہے.
آپ کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے 1.5x رفتار سے بھی دیکھتے ہیں اگر میں آپ کے لئے بھی سست جا رہا ہوں کر سکتے ہیں.
تو یہ جائزہ کے بعد، ایسا کرنے کے لئے آزاد محسوس کرتے ہیں.
>> بس واقعی بہت تیزی سے شروع کرنے کے لئے، ہم ان کوئز مسائل کے ایک جوڑے کے ذریعے جانے کے لئے جا رہے ہیں
صرف فوری طور پر ان کے ذریعے دودھ کا مٹکا.
مثال کے طور پر، 16 مسئلہ میں دیکھو کہ میں بورڈ پر یہاں ملا ہے.
ہم بائنری میں مندرجہ ذیل حساب ہے،
اور ہم کسی بھی کام کو ظاہر کرنے کے لئے کرنا چاہتے ہیں.
ٹھیک ہے، میں یہ ایک شاٹ دینے جا رہا ہوں.
تم لوگوں نے کاغذ کے ساتھ عمل کرنا چاہئے،
اور ہم یہ واقعی بہت تیزی سے کر دونگا.
ہم بائنری میں مندرجہ ذیل حساب کو انجام دینے کے لئے چاہتے ہیں.
میں 00110010 ہے.
اور میں اس 00110010 کو شامل کرنے کے لئے جا رہا ہوں.
ریاضی کے لئے گھر میں ساتھ کے بعد مائباشالی،
یہ مؤثر طریقے سے 2 کی طرف سے ضرب ہے.
چلو شروع کرتے ہیں.
ہم اسی کے علاوہ الگورتھم ہے کہ ہم ایسا کرتے ہیں کی پیروی کرنے جا رہے ہیں
جب ہم نے دشملو تعداد ایک ساتھ شامل کریں.
واقعی صرف یہاں فرق ہے کہ ہم پیچھے کے ارد گرد لوپ
ایک بار ہم نے 1 + کی بجائے 1 ایک بار ہم 10 ہے.
>> اگر ہم حق سے شروع، واقعی بہت تیزی سے، پہلی ہندسوں کیا ہے؟
[Student کی] 0 >> [نیٹ H.]. 0
عظیم، دوسری ہندسوں؟
1 [Student کی].
[نیٹ H.] 1؟ 1 + 1 ہے؟
10 [Student کی].
[نیٹ H.] بالکل، تو کیا عددی ہے کہ میں 2 ایک دوسرے کے ساتھ شامل ہیں کے نیچے لکھ؟
[Student کی] 1، 0، یا 0 اور پھر لے 1.
[نیٹ H.] 0 اور 1 لے، بالکل.
اگلا، دوسرا ایک اپ تلسی، آپ ہیں.
کیا تیسری >> [تلسی] 1؟
کامل [نیٹ H.] 1،. کیون؟
[کیون] 0 >> [نیٹ H.] 0، شارلٹ
[شارلٹ] 0 >> [نیٹ H.] جی ہاں، اور میں کیا کروں؟
[Student کی] 1.
[نیٹ H.] اور میں کیا کروں؟ اور پھر میں 1 لے.
کامل، Sahb >> [Sahb] اب آپ 1
[نیٹ H.] اور کیا میں یہاں کچھ کر؟
[Sahb] پھر اگلی بار آپ کو 1 کیونکہ آپ 1 سے زیادہ عمر کے انجام کے لئے.
[نیٹ H.] عظیم، تو ہم یہاں اسے ختم سکتے ہیں.
ڈاؤن لوڈ، اتارنا.
[Student کی] 0 0 + 0 = ہے؟
0 + 0 = 0.
1 + 1، جیسا کہ تم نے کہا تھا کہ، 10، یا 1 ہے، 0، بلکہ.
10 ایک غلط نام ہے کیونکہ آپ کے وزٹرز کا ریکارڈ رکھا 10 10 تعداد کا مطلب ہے کہ،
اور یہ کہ ہم کس طرح اس کی نمائندگی جب ہم اسے لکھ رہے ہیں رہے ہیں quirk ہے.
ہم 1 0 نمبر 2 کی نمائندگی کرتے ہیں، اور 10 نمبر تھوڑا سا مختلف ہے.
>> بائنری کے بارے میں اچھی طرح کیا ہے کہ واقعی ہے کہ بہت سے نہیں ہیں
صورتوں میں آپ سے سیکھنے کی ضرورت ہے.
0 + 0 = 0 0 1 + = 1 ہے،
1 + 1 0 ہے، اور اس کے بعد 1 لے،
اور پھر آپ کو دائیں سے تیسرے کالم یہاں دیکھ سکتے ہیں
ہم اس 1، 1، اور 1 تھا.
اور 1 1 + + 1 1 ہے،
اور آپ 1 دوسرے سے لے.
جب آپ کو بائنری کے علاوہ کر رہے ہیں، بہت آسان ہے.
میں ایک جوڑے کو ان میں سے زیادہ وویک اپنے آپ کو چیک کرنے کے لیے تھا
اس سے پہلے کہ آپ کو کیونکہ اس میں
شاید کچھ ہے کہ ہم کوئز پر نظر آئے گا.
اب یہ اگلے ایک ساتھ ساتھ ہیں.
17 مسئلہ دیتے.
ہم دشملو مندرجہ ذیل بائنری تعداد میں تبدیل کرنے جا رہے ہیں.
میں 10100111001 ہے.
بائنری ویڈیو ہے کہ میں نے کیا یاد
میں مثالوں کی ایک جوڑے کے ذریعے چلا گیا، اور میں سے ظاہر ہوتا ہے کہ کس طرح
سب کچھ کام کرتا ہے جب آپ اسے دشملو میں کر رہے ہیں.
جب آپ دشملو نمائندگی میں کام کر رہے ہیں مجھے لگتا ہے کہ ہم
ہماری زندگی میں اس وقت اس میں اتنی روانی ہے کہ
یہ بہت آسان ہے کہ یہ اصل میں کس طرح کام کرتا ہے میکینکس پر ٹیکہ.
>> لیکن ایک فوری recap، اگر میں 137 نمبر ہے
اس کا کیا مطلب ہوتا اور پھر یہ دشملو میں ہے کی نمائندگی
دشملو میں 137 نمبر کا مطلب ہے کہ میں 1 X 100 3 + 10 X 7 + 1 X ہے.
یہ تمام سکرین پر رہنے ہے.
اور پھر اگر آپ کو ان کی تعداد میں یہاں دیکھو،
100، 10، اور 1، آپ کو دیکھتے ہیں کہ وہ اصل میں 10 کے تمام اختیارات ہیں.
میں صفر پر 10 ²، 10 ¹، اور 10 ہے.
ہم بائنری میں بات کی اسی طرح کی طرح ہے،
سوائے اس کے کہ ہماری بنیاد، جیسا کہ ہم یہ کہتے ہیں، 10 کے بجائے 2 ہے.
یہ 10s کہ میں نیچے کے نیچے دیے گئے لکھا،
یہ 10 ²، 10 ¹، صفر 10، 10 ہماری بنیاد ہے،
مائپادک، 0، 1، یا 2،
نمبر ہے کہ ہم لکھنے میں عددی پوزیشن کی طرف سے تقاضا ہے.
1، اگر ہم اس کی طرف دیکھتے ہیں، 1 2nd پوزیشن میں ہے.
3 1st کی پوزیشن میں ہے، اور 7 0th کی پوزیشن میں ہے.
اس کا ہے کہ ہم کس طرح ہمارے اڈوں کے لئے مختلف ذیل exponents حاصل ہے.
>> یہ we'll اصل کے سب کے بعد، آپ کیا جانتے ہو؟
ہم کہاں کرتے ہیں اپنے بٹن کو رد کیا کریں گے جاتے ہو؟
جاتا ہے.
میں محبت کرتا ہوں اس بات کو رد.
اس کے بعد میں میرے لئے کم از کم میں کیا سوچتے
ایک بائنری نمبر تبدیل کرنے شروع کرنے کے لئے کا سب سے آسان طریقہ
یا ایک شش اعشاری تعداد میں جہاں بیس 16
اور 10 یا نہیں 2 آگے بڑھو اور لکھنے
میری سب سے اوپر بائنری تعداد میں تعداد میں سے سب کے لئے اڈوں اور exponents.
اگر ہم بائیں سے دائیں جانب دوبارہ شروع،
جو ہی counterintuitive کی طرح ہے،
میں سیاہ یہاں بدل کریں گے، ہم 0th پوزیشن 2 ہے،
اور پھر ہم 2 ہے ¹، 2 ²،
اور، 3، 6 2 4 2، 5، 2 تو
7، 8، 9، اور 10.
میں نے لکھا ہے یہ تعداد تمام exponents ہیں.
میں صرف اڈوں یہاں صرف خلا کے لئے سب سے پہلے 3 میں لکھا ہے.
>> اس وقت میں آگے جانے کے لئے جا رہا ہوں اور میں اصل مٹانے جا رہا ہوں
چیزیں کہ ہم دشملو میں کیا تھا، اگر وہ ٹھیک ہے.
تم سب کو وہ مل گیا ہے.
تم میں سے وہ لوگ آن لائن دیکھ کر مجھے یقین ہے آپ کے وزٹرز کا ریکارڈ رکھا اگر آپ چاہیں تو ماضی کے قابل ہو جائے گا.
قلم پر واپس سوئچ کر رہا ہے.
اب، کیا ہم کرتے ہیں اگر تم لوگ پوری طرح سے نہیں ہیں 2 اپنے اختیارات پر کی رفتار،
جو کہ مکمل طور پر ڈاؤن لوڈ، اتارنا ہے.
یہ ہوتا ہے. میں سمجھ سکتا ہوں.
میں نے ایک بار ایک انٹرویو تھا جہاں میں نے کہا تھا میں 2 تمام صلاحیتں پتہ ہونا چاہیئے
اپ کے ذریعے 2 30th.
یہ ایک کام نہیں تھا مجھے وہ مل گیا ہے.
ویسے بھی، تم لوگ آگے بڑھو اور ریاضی کو یہاں کیا کر سکتے ہیں،
لیکن یہ بائنری کے ساتھ احساس نہیں کر سکتا،
اور نہ ہی یہ دشملو یا شش اعشاری کے ساتھ احساس ہے یا تو،
جہاں آپ zeros ہے باہر ریاضی کرنا.
آپ دیکھ کر سکتے ہیں کہ میں 0 ہے یہاں یہاں 0، 0، یہاں 0 یہاں 0 یہاں 0 یہاں ہیں.
یہ کیوں نہیں احساس اصل ریاضی کرنا ہو سکتا ہے بنانے
اس عہدے کے لئے 2 مناسب قوت کا حساب؟
بالکل، جیسے شارلٹ نے کہا کہ، یہ 0 ہو جائے گا.
خود کے طور پر اچھی طرح سے وقت کی بچت اگر 2 کے اختیارات کا حساب اپنے مضبوط سوٹ نہیں ہے کر سکتے ہیں.
ہم صرف اس صورت میں یہ 2 0 جس کا حساب کرنے کی ضرورت ہے؟
1 [Student کی].
[نیٹ H.] 1، 3 2 ہے؟
[Student کی] 8 >> [نیٹ H.]. 8
2 سے 4؟
2 [Student کی]. میں معافی چاہتا ہوں، 1.
[نیٹ H.] 2 4 16 ہے، بالکل.
5 2، کیون 32 >>؟
[نیٹ H.] 32، 8 2؟
[Student کی] 32 X 8، 256.
[نیٹ H.] بہت اچھا.
اور 10 سے 2؟
[Student کی] 1024.
[نیٹ H.] جی ہاں، 1024.
>> ایک بار جب ہم نے ان کی تعداد ہم نے ان سب کو خلاصہ سکتے ہیں ہے.
اور یہ وہ جگہ ہے جہاں سے یہ بہت ضروری ہے کے ایک جوڑے کی چیزیں کرنا.
ایک ہی سست ہے اور آپ کے کام کی جانچ.
آپ کو اس نمبر کے آخر میں بتائیں کہ 1 کر سکتے ہیں،
تو میں اپنے نتیجہ کے طور پر طاق ضرور ملنا چاہئے،
کیونکہ دیگر تمام والوں کی تعداد کو بھی بننے جا رہے ہیں
دی ہے کہ یہ ایک بائنری تعداد ہے.
دوسرے بات یہ ہے کہ اگر آپ کی جانچ پڑتال پر حاصل کرنے کے لئے اس بات
اور آپ نے لکھا ہے اس دور
اور آپ کے پاس وقت سے باہر چلا رہے ہیں
پوائنٹس کی تعداد میں دیکھو کہ یہ مسئلہ قابل ہے.
یہ مسئلہ فوری طور پر جیسا کہ تم دیکھ اگر میں نے اپنے لیپ ٹاپ میں واپس واقعی پلٹائیں کر سکتے ہیں
یہ مسئلہ قابل 2 پوائنٹس ہے، لہذا اس کے علاوہ طرح کی نہیں ہے
آپ کے ذریعے کیا جا رہا کرنا چاہئے اور اگر آپ واقعی میں وقت کے لئے زور دیا ہے.
لیکن ہم رکن واپس سوئچ، اور ہم نے اس کے ذریعے سے جانا واقعی فوری طور پر کریں گے کریں گے.
>> میں چھوٹی سی تعداد سب سے پہلے کرنا پسند
کیونکہ میں اس سے کہ وہ آسانی کو تلاش کریں.
میں 32 اور 8 پسند ہے کیونکہ وہ ایک ساتھ جانا بہت آسانی سے، اور ہم 50 حاصل ہے.
16 اور 1 17 ہو جاتا ہے.
وہاں ہم 57 ملے،
اور پھر ہم اس کی باقی تو ہم کر سکتے ہیں 57 کرنا، 156.
چلو.
یار، ٹھیک ہے، چلو دیکھتے ہیں.
ہم نے 57، 256، اور 1024 تھی.
اس وقت میں صرف بلکہ کے ذریعے جانا تھا.
میں کوئی سراگ نہیں ہے. میں واضح طور پر اس کو پڑھنے کی ضرورت ہے.
7، 6، اور 4، آپ 17 ملتا ہے.
1، 5، 5، 2، 13.
پھر ہم 3 حاصل کریں، اور پھر ہم 1 حاصل ہے.
1337.
ایسٹر انڈے، کوئی ہے؟
کوئی بھی اس نمبر کو پہچانتے ہو؟
کرس تعداد تسلیم کرتی ہے. یہ کیا ہے، کرس مطلب ہے؟
[کرس] Leet.
Leet، ​​اگر ایسا ہے تو تم اس کو دیکھو، leet طرح لگتا ہے.
ہیکر چیزیں. بیاود یا کوئج، بلکہ سامان کی اس قسم کے لئے باہر دیکھو.
اگر آپ اس طرح کی چیزیں دیکھ اور آپ سوچ رہے "ہہ،"
کہ کچھ اصل مطلب ہو سکتا ہے.
مجھے پتہ نہیں ہے. ڈیوڈ اسے اندر ڈال پسند کرتا ہے
وویک چیک کرنے کے لیے یہ ایک اچھا طریقہ ہے.
ٹھیک ہے جیسا کہ میں دیکھ رہا ہوں، کیا ہو رہا ہے کر سکتے ہیں.
>> یہ 0/Week 1 چیزیں ہفتہ ہے.
اگر ہم اپنے لیپ ٹاپ میں اب واپس سوئچ،
باہر زوم، اور دوسری چیزوں کے ایک جوڑے کی ہے.
آمدید ASCII ہے، جو ہم نے مسئلہ سیٹ کے ساتھ بہت کر.
دارالحکومت A. کا یہ تصور کیا واقعی ہے؟
سب کچھ جاننے والا دشملو عددی ہے.
65 ہے جو ASCII ٹیبل میں نقشے ہے،
اور یہ کہ اس وجہ سے ہے کہ کس طرح کمپیوٹر اس کو لکھتے ہیں،
اور یہ کہ ہم کس طرح کیا گیا ہے اصل میں لکھنے کے ساتھ دور رہا
کردار دارالحکومت اور کردار ایک چھوٹے
میں سے کچھ ان کے حل اور مسئلہ سیٹ ہے کہ آپ کر رہے ہیں.
دوسری چیزوں کے جوڑے.
ہم نے بیانات، بولین اظہار، حالات، loops، متغیر اور موضوعات ہے.
>> وہ سب میں سب سے زیادہ حصہ کے لئے احساس بنانے لگ رہے ہو؟
اس اصطلاح کے بعض اوقات میں تھوڑا سا funky ہے.
میں کچھ سب سے زیادہ حصہ ہے جو ایک نیم وقفہ کے ساتھ ختم ہوتا ہے کے لئے کے طور پر ایک بیان کے بارے میں سوچنا اچھا لگتا ہے.
اس طرح X کے طور پر بیان = 7، جس میں ایک متغیر کا تعین کرتا ہے،
شاید کہا جاتا X 7 =.
شاید ایکس بھی ایک قسم ہے جس میں 7 نمبر محفوظ کر سکتے ہیں ہے،
تو یہ ایک int یا شاید ناو یا ایک مختصر یا چار ہے،
اس طرح کچھ.
ایک بولین اظہار ان ڈبل کا استعمال کرتے ہوئے کے برابر ہے
اور دھماکے کے برابر ہے یا نہیں کے برابر ہے، کم سے کم، اس سے بڑا ہے،
سے کم یا، ساری چیزیں اس طرح کی برابر ہے.
ضوابط تو ورنہ اگر بیانات ہیں.
مجھے یاد ہے کہ آپ کو ایک اسی اگر بغیر کسی اور نہیں کر سکتے ہیں کریں گے.
اسی طرح، اگر آپ ایک اسی اگر بغیر ورنہ نہیں کر سکتے ہیں.
Loops، loops کے 3 قسم ہم نے تم میں سے hammering یاد
حصے اور مسئلہ کے سیٹ کے آخری جوڑے کے لئے.
، کا استعمال کرتے وقت جب آپ صارف کی ان پٹ ہو رہے ہیں
جبکہ کسی خاص حالت تک loops سچ ہے کا استعمال کرتے ہوئے،
اور پھر loops کے لئے ان کا استعمال کریں اگر آپ کی ضرورت ہے
معلوم ہے آپ لوپ جس iteration پر ہو کہ میں کس طرح اس کے بارے میں کیا سوچتے ہیں.
یا، اگر آپ کو ایک تار میں کچھ کرنا چاہتا ہوں میں ہر کردار کے لئے کر رہے ہیں،
ایک صف میں اس عنصر سے کچھ کرنا چاہتی میں ہر عنصر کے لئے.
>> موضوعات اور واقعات.
ہم یہ تو واضح طور C میں شامل نہیں کیا ہے،
لیکن شروع سے یہ یاد رکھنا.
یہ مختلف اسکرپٹ ہونے کے تصور ہے.
یہ بھی ایک تقریب نشریات کا آغاز اس تصور ہے.
کچھ لوگوں کو ان کے منصوبوں کے لئے نشریات کا ابتدائی طور پر استعمال نہیں کیا،
جو کہ مکمل طور پر ڈاؤن لوڈ، اتارنا ہے،
لیکن ان کا یہ بڑا مسئلہ سے نمٹنے کے 2 مختلف طریقوں سے ملاقات کی concurrency ہیں،
ہے کہ آپ کس طرح کے پروگرام پر عمل کرنے کے لئے کرتے ہیں
یا بظاہر ایک ہی وقت میں پھانسی؟
مختلف کاموں چل رہا ہے جبکہ دیگر کاموں کو بھی چلا رہے ہیں.
یہ ہے کہ کس طرح آپ کے آپریٹنگ سسٹم کے کام کرنے لگتا ہے.
یہ کیوں اگرچہ مثال کے طور پر ہے،
میں نے اپنے براؤزر ہے چل رہا ہے، میں Spotify پر بھی ایک گانا ادا کر سکتے ہیں.
یہ ایک تصوراتی سمجھنے کی بات کی ہے.
میں مختصر موضوعات پر ایک نظر ڈالیں گے
اگر آپ کو اس کے بارے میں مزید جاننے کے لئے کرنا چاہتے ہیں.
>> چلو دیکھتے ہیں، مجھے یقین ہے کہ شاید
ان میں سے ایک میں اس پر ایک مسئلہ ہے.
ایک بار پھر، مجھے لگتا ہے کہ موضوعات اور واقعات کو کچھ نہیں ہیں کہ ہم سی کا احاطہ کرے گا
کیونکہ یہ نمایاں طور پر سکریچ کے مقابلے میں زیادہ مشکل ہے.
آپ کو اس کے بارے میں فکر نہیں ہونا چاہئے، لیکن یقینی طور پر تصورات سمجھ،
سمجھ کیا ہو رہا ہے.
اس سے پہلے کہ ہم پر منتقل، ہفتہ پر کوئی سوال 0 مواد؟
ہر کوئی بہت اچھا لگ رہا ہے؟
مفاہمت کے متغیر اور جو ایک متغیر ہے؟
>> پر جا رہے ہیں. 1 ہفتہ.
چیزوں کی ایک جوڑے کہ احاطہ کرتا ہے خاص طور پر نہیں کیا گیا
کوئز جائزے میں ضروری اور بھی زیادہ تصوراتی کے بارے میں سوچنے کی چیزیں ہیں.
منبع کوڈ compilers، اور اعتراض کے کوڈ ہیں پہلے یہ خیال ہے.
کوئی ہے؟ تلسی.
کیا اعتراض کوڈ میں، مطلب منبع کوڈ ہے جو آپ بجنا میں ڈال
اور اعتراض کے کوڈ ہے کیا بجنا باہر رکھتا ہے کہ آپ کے کمپیوٹر پروگرام کو پڑھ سکتے ہیں.
بالکل.
ماخذ کوڈ C کوڈ ہے کہ آپ اصل میں ٹائپ ہے.
آبجیکٹ کوڈ ہے جو آپ بجنا سے باہر نکل جاؤ.
یہ 0s اور اس بائنری شکل میں 1s ہے.
اس کے بعد کیا ہوتا ہے جب آپ کو اعتراض کی فائلوں کا ایک گروپ ہے،
کا کہنا ہے کہ آپ کو ایک منصوبہ یا ایک ایسا پروگرام ہے جو ایک سے زیادہ منبع کوڈ فائلوں کا استعمال کیا جاتا ہے مرتب کر رہے ہیں،
جس کے کنونشن کی طرف سے سی فائل توسیع دی جاتی ہے.
یہی وجہ ہے کہ ہم caesar.c vigenère.c ہے.
اگر آپ جاوا پروگراموں لکھ رہے ہیں کہ تم ان کے توسیع دیتے جاوا.
ازگر کے پروگراموں کو توسیع ہے py اکثر.
>> ایک بار جب آپ ایک سے زیادہ. سی فائلیں ہیں، تو آپ ان کی تالیف.
بجنا یہ سب بائنری ردی spits.
کیونکہ اس وقت آپ صرف 1 پروگرام چاہتے ہیں
آپ linker لنک ان اعتراض کی سب ایک ساتھ فائلوں ہے
1 executable فائل میں.
یہ بھی ہے کیا ہوتا ہے جب آپ کو CS50 لائبریری کا استعمال کرتے ہیں مثال کے طور پر ہوتا ہے،.
CS50 لائبریری دونوں H ہیڈر فائل ہے.
کہ تم پڑھ، # includecs50.h.
اور پھر یہ بھی ایک خصوصی بائنری لائبریری کی فائل ہے
جو مرتب کیا گیا ہے کہ 0s اور 1s ہے،
اور یہ کہ L-پرچم، اگر ایسا ہے تو ہم اپنے خالی جگہوں پر واپس جائیں اور ہم واقعی بہت تیزی سے نظر آتے ہیں
، یہاں کیا چل رہا ہے جب ہم ہماری بجنا کمان میں نظر
جو ہمارے پاس ہے ہے یہ ہمارے منبع کوڈ فائل ہے یہاں.
ان میں کمپائلر کے پرچم کا ایک گروپ ہیں.
اور پھر آخر میں، یہ L پرچم لنک
ان 2 لائبریریوں کے لئے اصل بائنری فائلوں، CS50 لائبریری اور پھر ریاضی لائبریری.
>> 'فائلوں کے مقصد سے ہر ایک قسم کی تفہیم
تالیف کے عمل میں کچھ آپ چاہیں گے کرنے کے قابل ہو
کم از کم ایک اعلی سطح کے جائزہ دیتے ہیں.
ماخذ کوڈ آتا ہے اندر آبجیکٹ کوڈ باہر آتا ہے.
آبجیکٹ کوڈ فائلوں کو ایک ساتھ لنک، اور آپ کو ایک خوبصورت، executable فائل حاصل ہے.
ڈاؤن لوڈ، اتارنا.
یہ بھی ہے جہاں آپ کو ایک سے زیادہ مقامات پر غلطیاں حاصل کر سکتے ہیں
تالیف کے عمل میں ہے.
یہ کہاں، مثال کے طور پر، اگر آپ کو اس سے منسلک پرچم لے،
CS50 پرچم، اور آپ خالی جگہوں میں ترک یا جب آپ اپنے کوڈ کو چلا رہے ہیں،
یہ وہ جگہ ہے جہاں آپ کو منسلک مرحلے میں ایک خامی مل جائے گا،
اور linker کہتے ہیں، "ارے، تم نے فون کیا ایک تقریب GetString
CS50 لائبریری میں ہے. "
"تم نے مجھے بتایا کہ یہ CS50 لائبریری میں تھا، اور میں نے اس کے لئے کوڈ کو تلاش نہیں کر سکتے."
اس جہاں تم اس میں سے منسلک کرنے کی ہے، اور یہ کہ الگ الگ ہے
سنکلک غلطی سے کیونکہ سنکلک نحو اور اس طرح کی چیزیں دیکھ رہا ہے.
پتہ ہے کیا ہو رہا جب یہ اچھی بات ہے.
>> دوسری چیزوں کے بارے میں جاننا.
میں کہتا ہوں کہ تم ضرور typecasting مختصر اردن کی طرف سے کیا پر ایک نظر لے جانا چاہتا ہوں
سمجھ ints ہڈ کے تحت ہیں،
کیا حروف ہڈ کے تحت ہیں.
، جب ہم ASCII کے بارے میں بات کرتے ہیں اور ہم واقعی ASCII ٹیبل پر نظر
ہے کہ وہ کیا کر رہی ہے ہمیں ڈاکو نظر کے تحت دے رہا ہے ایک
کس طرح کمپیوٹر اصل میں دارالحکومت کی نمائندگی کرتا ہے میں ایک اور 7 پوائنٹس
اور کوما اور ایک سوالیہ نشان ہے.
کمپیوٹر بھی خصوصی طریقوں کی نمائندگی ہے
ایک عددی کے طور پر نمبر 7.
چل نقاط نمبر کے طور پر ایک خاص نمبر 7 کی نمائندگی کرنے کا ایک طریقہ ہے،
اور ان کے بہت مختلف ہیں.
Typecasting ہے کہ کس طرح آپ کو بتا کمپیوٹر "ارے، میں نے آپ کو تبدیل کرنا چاہتے ہیں
ایک نمائندگی سے دوسرے نمائندگی. "
ہم اس پر ایک نظر کیوں نہیں لے جاتے.
>> میں لائبریریوں پر مختصر اور compilers مختصر پر ایک نظر بھی لے گی.
تالیف کے عمل کے بارے میں وہ باتیں،
ایک لائبریری ہے، اور ان سوالات میں سے کچھ ہے کہ آپ سے پوچھا ہو سکتا ہے سے زیادہ ہے.
ہفتہ 1 مواد پر سوال؟
یہاں کوئی موضوعات خطرناک لگ رہے ہو آپ کا احاطہ کرنا چاہتے ہیں؟
میں یہ پہلے موضوعات میں سے سب سے زیادہ کے ذریعے اڑا تا کہ ہم حاصل کر سکتے ہیں کی کوشش کر رہا ہوں
اشارہ اور تکرار کی طرح تھوڑا سا ہے.
خیال؟
پر احاطہ کرنے کے لئے کچھ ہے؟
شاید کچھ چاکلیٹ کے لئے وقت ہے؟
تم لوگ اس کے ذریعے کام کر رہے ہیں.
میں میری کافی sipping رکھنے کے لئے جا رہا ہوں.
2 ہفتے.
اچھا کال، اچھی کال.
ہفتے میں 2 ہم افعال کے بارے میں تھوڑا سا زیادہ بات کی تھی.
>> پہلے کچھ مسئلہ سیٹ میں ہم کسی بھی کام کرتا ہے واقعی نہیں لکھا
جس میں تقریب سے؟
[Student کی] مین >> مین، بالکل.
اور اس طرح ہم مختلف ملبوسات ہے کہ مرکزی پہنتی دیکھا ہے.
ایک ہے جس میں کوئی بحث نہیں لگتے ہے،
اور ہم صرف قوسین کے درمیان میں باطل کا کہنا ہے کہ،
اور پھر اس کے علاوہ میں سے ایک ہے جہاں ہم کمانڈ لائن کے دلائل لے کرنا چاہتے ہیں،
اور یہ کہ جیسا کہ ہم نے دیکھا ہے، جہاں آپ int argc ہے اور سٹرنگ argv صف ہے
یا اب جب کہ ہم واقعی سٹرنگ ظاہر ہے چار * کہ یہ ہے
ہم چار * اور پھر argv خانے کے طور پر لکھنا شروع کرنے جا رہے ہیں.
مسئلہ 3 سیٹ میں، لوگ آپ کے افعال میں سے ایک گروپ کو دیکھا،
اور آپ کے افعال میں سے ایک گروپ عملدرآمد، اپنی طرف متوجہ دیکھو، جدوجہد.
prototypes آپ سب کے لئے لکھا گیا تھا.
>> کیا میں افعال کے ساتھ یہاں کے بارے میں واقعی بہت تیزی سے بات کرنا چاہتا تھا
یہ ہے کہ ان کے 3 حصے ہیں جب بھی آپ کو ایک تقریب لکھتے.
آپ کو تقریب کی واپسی کی قسم کی وضاحت کرنے کے لئے ہے.
آپ کو جشن کے لئے ایک نام کی وضاحت ہے، اور پھر آپ کی وضاحت ہے
دلیل کی فہرست یا پیرامیٹر کی فہرست.
مثال کے طور پر، اگر میں ایک تقریب integers کا ایک گروپ خلاصہ لکھنا
اور پھر آپ کے وزٹرز کا ریکارڈ رکھا رقم کیا میری واپسی کی قسم کی ہو گی واپس
اگر میں integers اور خلاصہ پھر رقم واپس کرنا چاہتا تھا؟
پھر تقریب کے نام پر.
اگر میں آگے بڑھیں اور سبز رنگ میں لکھنے کے لئے، اس حصے کی واپسی کی قسم ہے.
اس حصے کا نام ہے.
اور پھر میں قوسین کے درمیان
جہاں میں دلائل دیتے ہے،
اکثر args، کبھی کبھی پیرامیٹرز کے لئے params کہا جاتا کے طور پر مختصر ہے.
اور اگر تم ایک ہے، آپ کو صرف ایک کی وضاحت کریں.
اگر آپ ایک سے زیادہ ہے تو آپ کو کی علامت سے ہر ایک الگ.
اور ہر دلیل کے لئے آپ کو اس کے 2 چیزیں دیتے ہیں جو کیون؟
[کیون] آپ کو تو اور قسم کا نام دینے کے لئے ہے.
اور پھر نام، اور نام کا نام ہے کہ آپ کو استعمال کرنے کے لئے جا رہے ہیں
رقم کی تقریب کے اندر اندر اس دلیل کو سے رجوع کریں،
تقریب ہے کہ آپ فی الحال لکھ رہے ہیں کے اندر اندر.
>> آپ کو مثال کے طور پر کے لئے کی ضرورت نہیں ہے، اگر میں نے خلاصہ کے لئے جا رہا ہوں،
، کا کہنا ہے کہ، integers we'll کی ایک صف int صف کرتے ہیں
اور میں اپنے آپ کو کچھ گھوبگھرالی منحنی خطوط وحدانی دیں گے وہاں
تو جب میں رقم کی تقریب ایک صف پاس
میں اس دلیل کی فہرست کے سب سے پہلے کی پوزیشن میں گزرتے ہیں.
لیکن صف ہے کہ میں گزر نام کی آمد کرنے کی ضرورت نہیں ہے.
آمد ہے کہ میں تقریب کے جسم کے اندر اندر کس طرح یہ دلیل کا حوالہ دیتے ہیں کی جا رہی ہے.
دوسری بات یہ ہے کہ ہم نے اکاؤنٹ میں لینے کی ضرورت ہے،
اور اس کے افعال میں سے تھوڑا سا مختلف ہے، لیکن مجھے لگتا ہے کہ یہ ایک اہم نکتہ ہے،
یہ ہے کہ سی جب میں اس طرح کی ایک تقریب میں لکھ رہا ہوں
مجھے پتہ ہے کہ کس طرح بہت سے عناصر اس صف میں ہیں؟
یہ ایک چال کا سوال کسی حد تک ہے.
ہم اس کے بارے میں گزشتہ ہفتے کے حصے میں بات کی تھوڑا سا ہے.
میں C میں ایک صف کے اندر عناصر کی تعداد کو کس طرح جانتے ہیں؟
کا کوئی راستہ ہے؟
>> یہ پتہ چلتا ہے کہ کوئی معلوم کرنے کا طریقہ ہے.
آپ کو اس میں علیحدہ علیحدہ منظور ہے.
آپ ایسا کر سکتے ہیں کی ایک چال ہے
اگر آپ کو ایک ہی تقریب ہے جس میں صف کا اعلان کیا گیا ہے میں ہیں،
اور آپ ایک اسٹیک صف کے ساتھ کام کر رہے ہیں.
لیکن یہ صرف کام کرتا ہے اگر آپ کو ایک ہی تقریب میں ہیں.
ایک بار جب آپ ایک اور تقریب کے لئے ایک صف گزرتے ہیں یا اگر آپ ایک صف کا اعلان کر دیا ہے.
اور آپ کو ڈھیر پر ڈال دیا کہ صف، آپ malloc کا استعمال کیا ہے
اور اس طرح کی چیزیں، تو تمام دانو ہیں.
تو پھر تم اصل میں کے ارد گرد منتقل کرنے کی ہے
ایک خاص دلیل یا دوسرے پیرامیٹر
تم سے کہہ صف کتنا بڑا ہے.
اس صورت میں، میں نے ایک کوما ہوں کو استعمال کرنے کے لئے افسوس ہے، اس سے دور جا سکرین ہے چاہتے ہیں یہاں
اور میں ایک اور بحث میں گزر ہوتا
اور اس کی لمبائی کے لئے int لین فون کریں.
>> ایک بات یہ ہے کہ گئے تمام سوالات پر آ سکتا ہے
ہے تم سے پوچھ نامی ایک خاص کچھ تقریب لکھنے یا لاگو کرنے کے لئے.
اگر ایسا ہے تو ہم آپ کو نہیں دیتے پروٹوٹائپ، یہ ساری یہاں بات،
یہ ساری گندگی تقریب اعلان یا تقریب پروٹوٹائپ کہا جاتا ہے،
یہ پہلی چیزیں میں سے ایک یہ ہے کہ آپ نیچے کیل گے اگر یہ نہیں دیا ہے
آپ دور کوئز.
دوسرے ٹرک میں سیکھا ہے وہ یہ ہے کہ
کا کہنا ہے کہ ہم آپ کو ایک تقریب کے لئے ایک پروٹوٹائپ دے، اور ہم کہتے ہیں، "ارے، تم نے اسے لکھنے ہے."
گھوبگھرالی منحنی خطوط وحدانی کے اندر ہے کہ آپ کو گئے تمام سوالات پر
اگر آپ کو نوٹس کہ اس کی واپسی کی قسم نہیں ہے اور آپ کو نوٹس ہے کہ واپسی کی قسم
باطل ہے، جس کا مطلب یہ ہے کہ تقریب میں کچھ بھی واپس نہیں کرتا کے علاوہ کسی اور چیز ہے،
تو ایک بات ہے تم ضرور کرنا چاہتا ہوں لکھنے
تقریب کے آخر میں واپسی کے بیان کی کسی قسم ہے.
واپس اس معاملے میں، ہم نے ایک خالی رکھ کیونکہ ہم خالی میں بھرنے کے لئے کرنا چاہتے ہیں کریں گے.
لیکن یہ ہو جاتا ہے آپ کو کس طرح میں اس مسئلہ سے رجوع کرنے جا رہا ہوں کے بارے میں صحیح طریقے سے سوچ رہا ہے؟
اور یہ آپ کو یاد دلاتا ہے آپ کو ایک کی قیمت واپس کرنے کی ضرورت کے لئے جا رہے ہیں
تقریب کی جس فون کرنے والے سے.
>> جی ہاں >> [Student کی] کیا سٹائل کا اطلاق جب ہم کوئز کوڈ لکھ رہے ہیں؟
پوٹ کاری اور چیزیں اس طرح کے طور پر اس طرح کے >> [Student کی].؟ جی ہاں
نہیں، زیادہ سے زیادہ نہیں ہے.
مجھے لگتا ہے کہ اس کے بہت کچھ کوئز کے دن ہم واضح کریں گے،
لیکن عام طور پر کے بارے میں فکر # شامل ہیں اور یہ کہ اس قسم کی چیزیں، باہر کی طرح ہے.
[Student کی] کیا آپ اپنے ہستلکھیت کوڈ تبصرہ کرنے کی ضرورت ہے؟
کیا آپ اپنے ہستلکھیت کوڈ تبصرہ کرنے کی ضرورت ہے؟
تبصرہ ہمیشہ اچھا ہے اگر آپ جزوی کریڈٹ کے بارے میں فکر مند ہیں
یا آپ grader پر آپ کے ارادے پر بات چیت کرنا چاہتے ہیں.
لیکن میں کوئز ہی اور کوئز دن، پھر واضح، گا،
لیکن مجھے یقین نہیں ہے کہ آپ کے تبصرے لکھنے کے لئے، نہیں کی ضرورت ہو گی ہے.
عام طور پر لیکن نہیں یہ ضرور طرح کی بات کی ہے، جہاں
آپ کو اپنے ارادے کے ابلاغ پسند کر سکتے ہیں "ارے، یہ وہ جگہ ہے جہاں میں اس کے ساتھ جا رہا ہوں."
اور کبھی کبھی جزوی کریڈٹ کے ساتھ جو آپ کی مدد کر سکتے ہیں.
ڈاؤن لوڈ، اتارنا.
>> تلسی.
[تلسی] قرار دیا تھا، کا کہنا ہے کہ، int لینگ کے درمیان کیا فرق ہے
تقریب کے اندر اندر ایک متغیر اعلان کے مقابلے میں دلائل یا پیرامیٹرز میں؟
واہ، کافی نیچے windpipe گیا.
[تلسی] جو چیزیں ہم نے دلائل میں ڈال کرنا چاہتے ہیں جیسا کہ.
جی ہاں، یہ ایک بہت بڑا سوال ہے.
آپ اس بات کا انتخاب کر سکتے ہیں کس طرح جو چیزیں آپ کو دلائل میں ڈال کرنا چاہتے ہیں
جو چیزیں آپ کو تقریب کے اندر کرنا چاہیے بمقابلہ؟
اس صورت میں ہم دلائل کے طور پر ان میں سے دونوں شامل ہیں
کیونکہ وہ کچھ وہ جو کوئی بھی رقم تقریب کو استعمال کرنے کے لئے جا رہا ہے ہو
ان چیزوں کی وضاحت کرنے کی ضرورت ہے.
>> رقم تقریب، جیسا کہ ہم نے کے بارے میں بات کی، جاننے کا کوئی راستہ نہیں ہے
کس طرح بڑی صف ہے یہ اس فون کرنے والے یا جس سے ہو جاتا ہے رقم تقریب کا استعمال کرتے ہوئے کر رہا ہے.
یہ جاننے کے کہ صف کتنا بڑا ہے کا کوئی راستہ نہیں ہے.
وجہ سے ہم اس کی لمبائی میں دلیل کے طور پر گزر یہیں
ہے کیونکہ وہ کچھ ہے کہ ہم بنیادی طور پر تقریب کی جس فون کرنے والے سے کہہ رہے ہو،
جو بھی رقم تقریب کو استعمال کرنے کے لئے جا رہا ہے، "ارے، نہ صرف آپ کو ہمیں ایک صف دینے کی کیا ضرورت ہے
ints، آپ ہمیں یہ بھی کتنا بڑا صف بتانا ہے کہ آپ نے ہمیں دیا ہے ہے. "
[تلسی] وہ کمانڈ لائن دلائل دونوں کریں گے؟
نہیں، یہ اصل دلائل ہیں کہ آپ کو کام کرنے سے گزرتا ہے.
>> مجھے یہاں ایک نیا صفحہ ہے.
[تلسی] نام کی طرح گزرتا ہے
[نیٹ H.] اگر میں int اہم ہے، (باطل)
اور میں میری واپسی 0 کے نیچے دیے گئے یہاں ڈالو جا رہا ہوں،
اور کا کہنا ہے کہ میں رقم تقریب سے بات کرنا چاہتے ہیں.
میں کہنا چاہتا ہوں int X = رقم ()؛
رقم تقریب کو استعمال کرنے کے لئے، میں دونوں صف میں گزرے ہیں کہ میں نے خلاصہ کرنا چاہتے ہیں ہیں
اور صف کی لمبائی، تو یہ کہاں ہے
سنبھالنے میں ints کی ایک صف تھا،
کہنا میں نے int numbaz [] = 1، 2، 3،
استعمال کی طرح ہے جو نحو ہیک وہیں
تو کہ میں کیا کروں گا رقم میں ہے میں منتقل کرنے کی چاہتے ہیں
دونوں numbaz اور نمبر 3
رقم تقریب بتانے کے لئے "ٹھیک ہے، یہاں صف میں آپ کو خلاصہ کرنا چاہتے ہیں ہے."
"یہاں اس کے سائز ہے."
کیا اس کا کوئی مطلب ہے؟ کیا یہ آپ کے سوال کا جواب ہے؟
>> کئی طرح سے یہ متوازی کیا ہم بنیادی کے ساتھ کیا کر رہے ہیں
جب ہم کمانڈ لائن کے دلائل ہیں.
پروگرام کیسر صفر طرح ایک، مثال کے طور پر، یہ ضرورت
کمانڈ لائن دلائل کچھ کرنے کے قابل نہیں ہو گا.
یہ پتہ نہیں کس طرح خفیہ اگر آپ اسے استعمال کرنے کے لئے چابی نہیں بتایا
یا اگر آپ نے یہ نہیں بتایا کہ کیا سٹرنگ آپ کو خفیہ چاہتا تھا.
ان پٹ کے لئے فوری رد عمل ظاہر کرتے ہوئے یہ وہ جگہ ہے جہاں ہم نے 2 مختلف میکانزم ہے
ان پٹ کرنے میں صارف سے میں صارف سے معلومات لینے کے لئے کے لئے.
کے لئے مسئلہ 1 سیٹ کریں ہم اس GetInt، GetString، GetFloat طرح دیکھا
ان پٹ کے لئے فوری رد عمل ظاہر کی ہے، اور یہ کہ معیاری ان پٹ ندی کا استعمال کرتے ہوئے کہتے ہیں.
یہ تھوڑا سا مختلف ہے.
یہ کچھ ہے جو آپ کو ایک ہی وقت میں کیا طور پر مخالفت کی ہے
جب آپ اس پروگرام، جب آپ شروع پروگرام چلا رہا پکارتے.
کمانڈ لائن دلائل کی وضاحت جب آپ اس پروگرام کو چلانا شروع کر رہے ہیں.
ہم ان میں سے دو سے اختلاط.
جب ہم نے ایک تقریب دلائل کا استعمال کرتے ہیں، یہ بہت اہم کمانڈ لائن دلائل کی طرح ہے.
جب آپ تقریب میں آپ کو یہ بتانے کی ضرورت ہے پکارتے
بالکل وہی جو اس کی ضرورت کے لئے اس کے کاموں کو انجام دینے کے لئے ہے.
میں ایک اچھا اور دیکھنے کی بات میں آپ کو اپنے فارغ وقت میں اس کو دیکھو گے،
اور اس میں شامل کیا گیا تھا دائرہ کار کے اس تصور کا کوئز تھا
عالمی متغیر کے مقابلے میں مقامی متغیر.
کیا اس پر توجہ دینا.
>> اب جب کہ ہم یہ دوسری چیزیں ہو رہی ہے،
3 ہفتے میں ہم تلاش اور چھانٹ رہا ہے کے بارے میں بات کر شروع کر دیا.
تلاش اور چھانٹ رہا ہے CS50 میں، کم از کم،
بہت کمپیوٹر سائنس کے زیادہ نظریاتی حصوں میں سے کچھ کا تعارف ہے.
تلاش کے مسئلہ حل کرنے کا مسئلہ
بڑا، وہیت مسائل ہیں.
آپ integers کے اربوں کے ایک صف میں ایک خاص تعداد میں کس طرح حاصل کر سکتا ہوں؟
آپ کو ایک فون کی کتاب کے اندر کس طرح ایک مخصوص نام تلاش
ہے کہ آپ اپنے لیپ ٹاپ پر محفوظ ہے؟
اور اس طرح ہم asymptotic رن کے اوقات کے اس تصور کو متعارف کرانے
واقعی quantify کب تک، مشکل کس طرح یہ مسئلہ ہے،
کب تک انہیں حل کرنے کی لیتے ہیں.
میں، مجھے یقین ہے، 2011 کوئز وہاں ایک مسئلہ یہ ہے کہ مجھے لگتا ہے کہ امتیازات وخصوصیات
بہت جلد ڈھکنے کا ہے، جو کہ اس سے ایک، 12 مسئلہ ہے.
O نہیں، یہ ومیگا ہے.
>> یہاں ہم ممکن سب سے تیز رفتار سے دوڑ وقت کے بارے میں بات کر رہے ہیں
ایک مخصوص الگورتھم کے لئے اور پھر ممکن slowest چلت وقت ہے.
ومیگا اور O یہ واقعی صرف شارٹ کٹس ہیں.
وہ کہہ کے لئے notational شارٹ کٹ ہیں
ممکن بہترین صورت میں تیزی سے کس طرح، ہماری الگورتھم چلے گا
اور ہمارے الگورتھم ہے کہ کس طرح ممکن بدترین صورت میں سست چلے گا؟
ان میں سے ایک جوڑے دیتے اور ان بھی شامل کیا گیا
asymptotic سنکیتن، جس میں انتہائی مشورہ دیتے ہیں.
جیکسن ایک بہت اچھا کام کیا ہے.
بائنری تلاش کے ساتھ، ہم نے ایک الگورتھم کے طور پر بائنری تلاش کے بارے میں بات کرتے ہیں،
اور ہم اس کے بڑے O. کے لحاظ سے عام طور پر اس کے بارے میں بات
بڑا O کیا ہے؟
بائنری تلاش کے ممکنہ slowest چلت وقت کیا ہے؟
[Student کی] N ²؟
بند، میں اس کی طرح لگتا ہے.
یہ بہت تیزی سے اس سے ہے.
[Student کی] بائنری >> جی ہاں.، بائنری تلاش
[Student کی] لاگ ان ن ہے.
ن کریں، تو کیا (ن) کا مطلب لاگ ان کرتا ہے؟
یہ ہر iteration حصوں ہیں.
بالکل، بہت ممکن slowest صورت میں،
اگر آپ کو ایک کے مطابق صف ہے کا کہنا ہے کہ
ایک ملین integers اور نمبر کی آپ کے لئے تلاش کر رہے ہیں
یا تو صف میں صف یا آخری عنصر میں بہت پہلے عنصر ہے.
یاد رکھیں، بائنری تلاش الگورتھم درمیانی عنصر کو دیکھ کر کام کرتا ہے،
اگر اس میچ ہے کہ آپ کے لئے تلاش کر رہے ہیں ہے دیکھ کر.
اگر ایسا ہے، تو عظیم ہے، آپ نے وہ مل گیا.
>> ممکن بہترین صورت میں کتنی تیزی بائنری تلاش چلتا ہے؟
1 [طلباء].
1، یہ مسلسل کا وقت آ گیا ہے، بگ O 1. جی ہاں.
[Student کی] میں ایک سوال کے جواب میں ہے. جب آپ کا کہنا ہے کہ (ن) کے لاگ ان کریں، آپ کو 2 بیس کے حوالے سے مطلب ہے، ٹھیک ہے؟
جی ہاں، تاکہ دوسری بات ہے.
ہم لاگ ان کریں N کا کہنا ہے کہ، اور مجھے لگتا ہے کہ جب میں ہائی اسکول میں تھا
میں نے ہمیشہ فرض کیا گیا ہے کہ لاگ ان کریں 10 کی بنیاد تھا.
جی ہاں، ہاں، لاگ ان بیس 2 عام طور پر ہے جو ہم استعمال کرتے ہیں.
ایک بار پھر، بائنری تلاش میں واپس جا رہا ہے، اگر یا تو آپ کے لئے تلاش کر رہے ہیں
بہت شروع میں ہی آخر میں عنصر یا عنصر،
کیونکہ تم درمیان میں شروع کرتے ہیں اور آپ کو تو ضائع
جو بھی نصف کے معیار کے مطابق نہیں ہے کہ آپ کے لئے تلاش کر رہے ہیں،
اور آپ کو اگلے نصف اور اگلے نصف اگلے نصف جاتے ہیں.
اگر میں ملین عددی صف میں سب سے بڑی عنصر کے لئے تلاش کر رہا ہوں
میں 1 ملین وقت کے سب سے زیادہ لاگ ان کریں میں آدھا جا رہا ہوں
اس سے پہلے میں نے اور دیکھتے ہیں کہ عنصر میں دیکھ رہا ہوں کی جانچ
سب سے بڑا یا صف سب سے زیادہ سوچکانک میں ہے،
اور یہ کہ (ن) کے لاگ ان لو، 1 ملین بار لاگ ان کریں.
>> بلبلا طرح ہے.
کیا تم لوگ بلبلا طرح الگورتھم کو یاد ہے؟
کیون، کیا تم مجھے بلبلا طرح کے الگورتھم میں کیا ہوا تھا ایک فوری recap دے سکتے ہیں؟
[کیون] بنیادی طور پر اس فہرست میں سب کچھ کے ذریعے جاتا ہے.
یہ پہلے دو بجے لگتا ہے.
اگر پہلا اور دوسرا شخص ان سویپ سے بڑا ہے.
اس کے بعد یہ دوسری اور تیسری، ایک ہی بات ہے، سویپ موازنہ کرتی ہے،
تیسرے اور چوتھے، تمام طرح نیچے.
بڑا تعداد آخر تک پیروی کریں گے.
اور تم تاہم کئی loops کے بعد کیا کر رہے ہیں.
بالکل، تو کیون نے کہا ہے کہ یہ ہے کہ ہم نے بڑی تعداد کو دیکھیں گے
صف کے آخر تک بلبلا.
مثال کے طور پر، آپ کو اس مثال کے ذریعے ہم سے چلنے اگر یہ ہمارے صف ہے برا مت ماننا؟
[کیون] آپ 2 لے اور 3 کریں گے.
3 2 سے بھی بڑا ہے، تو تم ان کے تبادلہ.
[نیٹ H.] حق، تو ہم ان کا تبادلہ، اور تو ہم 2 ملے، 3، 6، 4، اور 9.
[کیون] پھر تم نے 3 اور 6 موازنہ.
3 6 سے چھوٹا ہے، لہذا آپ انہیں چھوڑ،
اور 6 اور 4 تم ان کے تبادلہ کی وجہ 4 6 سے چھوٹا ہے تھا.
[نیٹ H.] ٹھیک ہے، تو میں 2، 3، 4، 6، 9 ملتا ہے.
[کیون] اور 9 6 سے بڑی ہے، لہذا آپ اسے چھوڑ دیتے ہیں.
اور تم اس کے ذریعے واپس پھر سے جانا چاہتا ہوں.
>> [نیٹ H.] میں اس وقت کیا ہے >> [کیون] نمبر؟
اور کیوں میں نے اس وقت کیا نہیں کر رہا ہوں؟
کیونکہ ایسا لگتا ہے جیسے میری سرنی کے مطابق ہے. میں اس کی طرف دیکھ رہا ہوں.
[کیون] اس کے ذریعے دوبارہ جاؤ اور اس بات کی یقین دہانی کر لیجئیے کہ ہے کہ نہیں سویپ ہیں
اس سے پہلے کہ آپ مکمل طور پر روک سکتے ہیں.
بالکل، لہذا آپ سے گزر رہا رکھنے کے لئے اور اس بات کا یقین کریں کہ کہ کوئی سویپ ہیں کرنے کی ضرورت ہے
ہے کہ آپ اس وقت کر سکتے ہیں.
یہ سچ تھا صرف خوش، جیسا کہ تم نے کہا تھا، کہ ہم نے ختم ہوا
صرف کے ذریعے 1 پاس کرنے کی ہے اور ہم نے کے مطابق کر رہے ہیں.
لیکن عام کیس میں یہ ہم سے زیادہ بار بار اس اصل میں کرنا پڑے گا.
اور اصل میں، یہ ممکن بہترین کیس کی ایک مثال ہے،
طرح ہم اس مسئلے میں دیکھا.
ہم نے دیکھا کہ ممکن بہترین کیس (ن) کیا گیا تھا.
ہم صف 1 دور سے گزر گیا.
اس الگورتھم کے لئے ممکن بدترین کیا ہے؟
[کیون] N ².
اور یہ دیکھو کیا پسند ہے؟ کیا اس طرح ایک صف دیکھو گے ن ² وقت لگے؟
[کیون] کے مطابق [اشراوی].
بالکل ٹھیک ہے، اگر ایسا ہے تو میں صف 9، 7، 6، 5، 2،
پہلے 9 تمام طرح بلبلا گی.
1 iteration کے بعد ہم نے 7، 6، 5، 2، 9 پڑے گا.
اس کے بعد 7 اپ بلبلا، 6، 5، 2، 7، 9، اور تو اور وغیرہ.
>> ہم پوری صف ن اوقات کے ذریعے جانے کے لئے چاہتے ہیں،
اور تم تھوڑا سا اس سے زیادہ عین مطابق بھی حاصل کر سکتے ہیں ہے
کیونکہ ایک بار ہم نے اپنے گزشتہ ممکن پوزیشن میں 9 تمام طرح منتقل کر دیا گیا ہے
ہم جانتے ہیں کہ ہم نے اس عنصر کے خلاف دوبارہ کبھی بھی موازنہ نہیں.
ایک بار جب ہم 7 bubbling تک شروع
ہم جانتے ہیں کہ ہم کو روکنے کے لئے کر سکتے ہیں ایک بار 7 درست 9 سے پہلے ہے
کیونکہ ہم نے پہلے سے ہی اس کی 9 کے مقابلے میں ہے.
اگر آپ ایک ہوشیار راستہ میں اس کیا یہ سچ نہیں ہے، مجھے لگتا ہے، اتنا وقت ہے.
تم ہر ممکن [اشراوی] مجموعے کا آپس میں موازنہ کرنے کے لئے نہیں کر رہے ہیں
ہر بار جب آپ ہر iteration کے ذریعے جاتے ہیں.
لیکن پھر بھی، جب ہم نے اس کے اوپری جانے کے بارے میں بات کرتے ہیں تو ہم کہتے ہیں کہ
آپ (ن) کی طرف دیکھ ² موازنہ تمام طرح کے ذریعے.
>> چلو واپس جانا ہے، اور چونکہ ہم تھوڑا وقت پر مختصر حاصل کرنے کے لئے شروع کر رہے ہیں
میں کہتا ہوں آپ کو اس ٹیبل کے باقی کے ذریعے ضرور جانا چاہئے،
یہ سب باہر بھرنے.
مثال کے طور پر کے بارے میں سوچو. ٹھوس مثالیں کے بارے میں سوچو.
یہ واقعی آسان اور مدد کرنا ہے.
نکالنا.
یہ ٹیبل کی طرح ہے کہ کے طور پر آپ کو کمپیوٹر سائنس میں کے ذریعے جانا
آپ کو ان کی طرف سے دل واقعی جاننا شروع کر دینا چاہئے.
یہ سوال آپ کو انٹرویو میں قسم کے ہیں.
ان چیزوں کی قسم یہ جان کر اچھے ہیں ہیں،
اور ان کنارے مقدمات کے بارے میں سوچ، واقعی باہر figuring کس طرح کے بارے میں سوچنے کے لئے
یہ جان کر کہ بلبلا کے لئے ممکن بدترین صف ترتیب
اس کے ساتھ الگ الگ ہے کہ معکوس ترتیب میں ہے ہے.
>> نوٹیفائر. اشارہ بارے میں تھوڑا بہت بات کرنے دو
گزشتہ چند منٹوں میں ہم یہاں
مجھے پتہ ہے کہ یہ I / O بلکہ نیا ہے فائل کے ساتھ کچھ ہے.
جب ہم اشارہ کے بارے میں اسی سبب سے ہم اشارہ کے بارے میں بات کرنے کے لئے کرنا چاہتے ہیں سے بات
کیونکہ، ایک، جب ہم C میں کام کر رہے ہیں ہے
ہم کافی کم سطح پر سب سے زیادہ جدید پروگرامنگ زبانوں کے مقابلے میں سچ میں ہیں.
ہم واقعی یاد میں متغیر جوڑتوڑ کرنے کے قابل ہو،
اعداد و شمار جہاں وہ اصل میں ہمارے RAM کے اندر اندر واقع ہیں.
ایک بار جب آپ پر گیا آپریٹنگ سسٹم کلاس آپ کو نظر آئے گا کی ضرورت ہے
کہ ہے، پھر ایک تجرید کی طرح ہے.
یہ اصل میں نہیں ہوتا.
ہم نے مجازی میموری ہے کہ ہم سے ان کی تفصیلات چھپا ہے مل گیا ہے.
>> لیکن اب آپ کے لئے یہ فرض ہے جب تم نے ایک پروگرام ہے کر سکتے ہیں،
مثال کے طور پر، جب آپ شروع اپنے کیسر صفر پروگرام چلانے
میں نے اپنے رکن واپس واقعی فوری طور پر سوئچ گے
کہ بہت شروع سے آپ کے پروگرام میں، کا کہنا ہے کہ، اگر آپ کے پاس،
آپ اپنے لیپ ٹاپ پر 4 RAM کے گیگا
میں آپ کو مقرر کیا یہ حصہ ملتا ہے، اور ہم اس RAM میں فون کروں گا.
اور یہ ایک ایسی جگہ ہے ہم 0 کو فون کرنے جا رہے ہیں میں شروع ہوتا ہے،
اور اس کو ایک جگہ پر ختم ہو جاتا ہے کہ ہم نے 4 گیگا فون کروں گا.
میں واقعی میں نہیں لکھ سکتے ہیں. یار، یہ ہیک ہے.
آپ کا پروگرام executes جب
آپریٹنگ سسٹم RAM carves،
اور یہ آپ کے اندر رہنے کے لئے پروگرام کے مختلف حصوں کے لئے مختلف قسموں کی وضاحت کرتا ہے
یہاں اس علاقے میں کوئی آدمی زمین کی قسم ہے.
جب آپ کو تھوڑا سا دور چلے
تم اصل میں ہے کی جگہ ہے جہاں
آپ کے پروگرام کی جان بچانے کے لئے کوڈ.
یہ اصل بائنری کوڈ، کہ executable فائل اصل میں میموری میں بھری ہوئی ہو جاتا ہے
جب آپ کو ایک پروگرام چلائیں، اور کوڈ کے علاقے میں رہتی ہے.
اور جیسا کہ آپ کا پروگرام executes پروسیسر اس کوڈ کے ٹکڑے میں لگ رہا ہے
معلوم کرنا کہ اگلے ہدایات کیا ہے؟
کوڈ کی اگلی لائن میں پھانسی کی ضرورت ہے کیا ہے؟
>> بھی ایک ڈیٹا طبقہ، اور اس سے جہاں ان سٹرنگ constants ہے
ذخیرہ ہے کہ آپ کیا گیا ہے کا استعمال کرتے ہوئے کرنے کے.
اور پھر دور تک اس ملاقات کی ڈھیر جگہ ہے.
ہم malloc کا استعمال کرتے ہوئے کی طرف سے وہاں میموری تک رسائی حاصل کریں،
اور پھر آپ کے پروگرام کے سب سے اوپر کی طرف
وہاں اسٹیک ہے،
اور یہ کہ جہاں ہم نے آغاز کی سب سے زیادہ کے لئے کھیل.
یہ پیمانے یا کچھ نہیں ہے.
اس کی ایک بہت بہت انحصار مشین ہے،
نظام انحصار کام ہے، لیکن یہ نسبتا کس طرح چیزوں کو chunked جاتے.
جب آپ کو ایک پروگرام چلاتے ہیں اور آپ کے نام X-متغیر کا اعلان
میں دوسری باکس نیچے ذیل متوجہ جا رہا ہوں، اور یہ RAM کے طور پر کی جا رہی ہے.
اور میں دیکھنا جا رہا ہوں.
کنگری دار لائنز اپنی طرف متوجہ سے ظاہر ہوتا ہے یہ تو صرف RAM کے ایک چھوٹے سے حصے کریں گے
کے طور پر اور اس کے سب نہیں ہم سب سے اوپر اپنی طرف متوجہ.
>> اگر میں نامی ایک عددی X متغیر کا اعلان،
تو کیا میں واقعی میں حاصل میپنگ ہے
جو اپنے پروگرام کے علامت کے ٹیبل میں محفوظ کیا جاتا ہے
جو میموری کے اس علاقے کا نام X جوڑتا ہے کہ میں نے تیار کیا ہے
یہیں عمودی سلاخوں کے درمیان.
اگر میں میرا پروگرام ہے جو یہ کہتا ہے کہ X 7 = میں کوڈ کا ایک لائن ہے
پروسیسر جانتا ہے کہ "اوہ، ٹھیک ہے، میں جانتا ہوں کہ یاد میں اس جگہ پر X رہتی ہے."
"میں آگے جانے کے لئے اور 7 کو وہاں لکھنے جا رہا ہوں."
یہ کس طرح پتہ ہے کہ کس جگہ یہ یاد میں ہے کرتا ہے؟
ٹھیک ہے، یہ سب تالیف وقت ہو گیا ہے.
سنکلک آونٹن کا خیال ہے جہاں متغیرات میں سے ہر ایک کو جا رہے ہیں
اور ایک خاص میپنگ تخلیق یا بلکہ نقطے سے منسلک
علامت اور یہ کہاں جا رہا ہے، ایک متغیر کے نام کے درمیان
اور جہاں یہ یاد میں رہنے کے لئے جا رہا ہے.
لیکن یہ پتہ چلا ہے کہ ہم اسے ہمارے پروگراموں میں اصل کے ساتھ ساتھ تک رسائی حاصل کر سکتے ہیں.
یہ بہت ضروری ہو جاتا ہے جب ہم ڈیٹا ڈھانچے میں سے کچھ کے بارے میں بات کرنا شروع کر،
جس میں ایک ایسا تصور ہے کہ ہم بعد میں متعارف کرانے جا رہے ہیں ہے.
>> لیکن اب کے لئے، کیا آپ کو معلوم کر سکتے ہیں یہ ہے کہ میں اس مقام پر پوائنٹر بنانے، X سکتے ہیں.
مثال کے طور پر، میں نے ایک پوائنٹر متغیر تشکیل دے سکتے ہیں.
جب ہم پوائنٹر متغیر بناتے ہیں ہم نے سٹار سنکیتن کا استعمال کرتے ہیں.
اس صورت میں، اس کا کہنا ہے کہ میں ایک int ایک پوائنٹر پیدا کرنے جا رہا ہوں.
یہ صرف کسی دوسرے کی طرح ایک قسم ہے.
ہم اسے Y طرح ایک متغیر دے،
اور پھر ہم ایڈریس پتہ برابر مقرر کیا ہے.
اس صورت میں، ہم Y قائم ایکس کی طرف اشارہ کر سکتے ہیں
اس ایمپرسینڈ کے ساتھ ایکس کا پتہ، جو ہم کرتے ہیں لینے کی طرف سے،
اور پھر ہم Y اس کی طرف اشارہ ہے.
یہ بنیادی طور پر کیا ہے اگر ہم اپنے RAM میں دکھائی دیتا ہے
یہ ایک علیحدہ متغیر پیدا کرتا ہے.
یہ اسے Y فون کرنے کی جا رہی ہے،
اور کوڈ کے اس لائن executes جب
یہ اصل میں ایک چھوٹی سی پوائنٹر جو ہم نے ایک تیر کے طور پر عام طور پر اپنی طرف متوجہ بنانے کے لئے جا رہا ہے،
اور X کی طرف اشارہ Y کرتا ہے.
جی ہاں.
[Student کی] اگر X پہلے سے ہی ایک پوائنٹر ہے، صرف تم کرتے ہو گے
int * Y = بجائے X ایمپرسینڈ ہونے کے؟
جی ہاں.
اگر X پہلے ہی پوائنٹر ہے، تو آپ کو 2 ایک دوسرے کے برابر اشارہ مقرر کر سکتے ہیں،
جس صورت میں Y X کی طرف اشارہ نہیں کرتا،
لیکن یہ جو ایکس اشارہ کر رہا ہے کی طرف اشارہ کریں گے.
بدقسمتی سے، ہم وقت سے باہر ہیں.
>> میں اس وقت کیا کہیں گے، ہم اس کے آف لائن کے بارے میں بات کر سکتے ہیں،
لیکن میں کہتا ہوں کہ اس مسئلہ کے ذریعے کام کر، # 14 شروع ہوں گی.
وہاں پہلے سے ہی آپ کے لئے ایک چھوٹا سا بھرا سا یہاں آپ دیکھ سکتے ہیں.
تم نے یہ دیکھا جب ہم نے 2 اشارہ اعلان کر سکتے ہیں، int *، x اور * Y
اور اس بات کو نوٹ کیجیئے کی ہے کہ متغیر کے ساتھ * کی طرف اشارہ کرتے ہوئے ایک ایسی چیز کہ گزشتہ سال کیا گیا تھا تھا.
یہ پتہ چلتا ہے کہ یہ اس سال جو ہم کر رہے ہیں اسی طرح ہے.
اس سے کوئی فرق نہیں ہے جہاں آپ * جب آپ پوائنٹر اعلان کر رہے ہیں میں نہیں لکھتا ہے.
لیکن ہم * قسم کے ساتھ دیئے گئے لکھا ہے
کہ یہ بہت واضح ہے کہ آپ کو ایک پوائنٹر متغیر کا اعلان کر رہے ہیں بناتا ہے کیونکہ.
تم نے دیکھا ہے کہ 2 اشارہ اعلان ہمیں 2 باکس دیتا ہے کر سکتے ہیں.
یہاں جب ہم malloc برابر X قائم
یہ کیا کہہ رہا ہے ایک طرف ڈھیر میں قائم کر رہا ہے میموری.
یہ چھوٹا یہیں باکس، اس حلقہ، ڈھیر پر واقع ہے.
X کی طرف اشارہ کرتے ہوئے ہے.
یاد رکھیں کہ Y کچھ بھی اشارہ کر رہا ہے.
حاصل کرنے کے لئے میموری ایکس میں 42 نمبر محفوظ
ہم سنکیتن کیا استعمال کریں گے؟
[Student کی] * X 42 =.
بالکل، * X 42 =.
اس کا مطلب یہ ہے کہ تیر کی پیروی کریں اور وہاں میں 42 پھینک.
یہاں جہاں ہم Y اور ایکس قائم ہم Y X کی طرف اشارہ کرتے ہوئے کیا ہے.
ایک بار پھر، یہ صرف پسند کیا کیون نے کہا کہ جہاں ہم Y X کے برابر مقرر ہے.
Y X کی طرف اشارہ کرتے ہوئے نہیں ہے.
بلکہ یہ جو ایکس بھی طور پر اشارہ کر رہا ہے کی طرف اشارہ کرتے ہوئے ہے.
>> اور پھر آخر میں اس آخری خانے میں 2 ممکن چیزوں کو ہم کر سکتے ہیں ہیں.
ایک ہے ہم * X 13 = کہہ سکتے.
دوسری بات یہ ہے کہ ہم، یلیکس کہنا کیا آپ کر سکتے ہیں جانتے ہیں جو ہم یہاں کر سکتے ہیں؟
آپ کہہ سکتے ہیں * X 13 = یا
[Student کی] آپ کو int جو کچھ بھی کہہ سکتا ہے.
[نیٹ H.] اگر یہ ایک int متغیر کے طور پر کا حوالہ دیا گیا تھا، ہم یہ کر سکتے ہیں.
ہم * Y، = کیونکہ وہ دونوں ایک ہی جگہ کی طرف اشارہ کر رہے ہیں 13 بھی کہہ سکتے ہیں
لہذا ہم کسی بھی متغیر کا استعمال کرتے ہوئے وہاں حاصل کرنے کے لئے کر سکتے ہیں.
جی ہاں >> [Student کی] کیا یہ نظر طرح اگر ہم صرف کا کہنا ہے کہ int ایکس 13 ہے.
یہ نامی ایک نیا X متغیر ہے، جو کام نہیں کرے گا کا اعلان کریں گے.
ہم نے ایک تصادم کیونکہ ہم X پوائنٹر کو یہاں اعلان کیا تھا.
[Student کی] اگر ہم صرف خود کی طرف سے اس بیان تھا جو سرکل کے لحاظ سے کی طرح نظر آئے گا؟
اگر ہم X تھا 13 = پھر ہم ایک باکس ہے، اور ایک تیر کے کی بجائے تھا
باکس کے باہر آ رہے ہیں ہم اس کے صرف 13 ایک کے طور پر اپنی طرف متوجہ تھا.
باکس میں [Student کی]. ٹھیک ہے.
>> دیکھ کے لئے آپ کا شکریہ، اور اچھی قسمت 0 کوئز.
[CS50.TV]