1 00:00:07,360 --> 00:00:09,360 [Powered by Google Translate] نیٹ HARDISON: جب آپ کو مل گیا ہے ایک سے زیادہ پروگرام پر کھولتے 2 00:00:09,360 --> 00:00:11,250 کمپیوٹر، یہ سب کچھ لگتا ہے 3 00:00:11,250 --> 00:00:12,880 ایک ہی وقت میں چل رہا ہے. 4 00:00:12,880 --> 00:00:15,350 مثال کے طور پر، آپ کو ایک ویب براؤزر میں کی طرح کام کرنا ہو سکتا ہے 5 00:00:15,350 --> 00:00:19,360 فائر فاکس یا انٹرنیٹ ایکسپلورر، iTunes پر موسیقی سن 6 00:00:19,360 --> 00:00:21,490 اور کلام کے ساتھ ایک مضمون لکھنے. 7 00:00:21,490 --> 00:00:24,240 تاہم، ڈاکو کے تحت اصل میں، پروگراموں 8 00:00:24,240 --> 00:00:25,830 ایک وقت میں ایک چلاتے ہیں. 9 00:00:25,830 --> 00:00:29,750 یہ آپریٹنگ سسٹم کا کام ہے، ونڈوز، میک OSX، یا 10 00:00:29,750 --> 00:00:33,070 لینکس، کے طور پر ان مختلف عمل کی ہر ایک، ان کا نظم کریں 11 00:00:33,070 --> 00:00:35,900 پروگراموں پر جانا جاتا ہے، کر رہے ہیں اور ان کے درمیان بہت سوئچ ہے کہ جب تم 12 00:00:35,900 --> 00:00:38,610 اپنے فیس بک کا صفحہ کی جانچ پڑتال سے اپنے مضمون کے لئے کام کر رہی ہیں 13 00:00:38,610 --> 00:00:41,590 پھر لفظ وہ جو چل رہا ہے. 14 00:00:41,590 --> 00:00:44,890 >> کبھی کبھی، اگرچہ، ہم خود کے قابل ہو جائے پروگراموں کی ضرورت ہے 15 00:00:44,890 --> 00:00:47,440 اس طرح ایک سے زیادہ کام کرنا بھی ہے. 16 00:00:47,440 --> 00:00:49,630 اگر آپ میری طرح ہیں، تو شاید آپ کا ایک گروپ ہے 17 00:00:49,630 --> 00:00:52,730 مختلف ٹیب کھولتے ہیں تو، آپ کے ویب براؤزر، ای میل کے لئے ایک 18 00:00:52,730 --> 00:00:55,070 ایک کیلنڈر کے ساتھ ایک، اور اسی طرح کی. 19 00:00:55,070 --> 00:00:58,270 ہم نے ایک علیحدہ پروگرام یا عمل کے طور پر ہر ایک کے ٹیب کا علاج کر سکتا ہے، 20 00:00:58,270 --> 00:01:01,300 کی طرح گوگل کروم ہے، لیکن بہت سے پروگراموں کا استعمال کرتے ہیں 21 00:01:01,300 --> 00:01:04,430 ایک ایسے عمل کے ورژن ہلکے وزن ایک موضوع قرار دیا ہے. 22 00:01:04,430 --> 00:01:07,190 >> موضوع صرف وسائل کے ایک یونٹ کا ایک سیٹ ہے 23 00:01:07,190 --> 00:01:10,100 ہدایات یا کوڈ ہے کہ "چلانے" کر سکتے ہیں، اقتباس unquote، 24 00:01:10,100 --> 00:01:12,560 concurrently دیگر موضوعات کے ساتھ. 25 00:01:12,560 --> 00:01:15,150 یہ ہے کہ کیا یہ ممکن ہے کے لئے آپ کو فیس بک براؤز کرتا ہے 26 00:01:15,150 --> 00:01:17,940 جبکہ پس منظر میں کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے متعلق سننے یا دو 27 00:01:17,940 --> 00:01:20,790 YouTube ویڈیوز کو ایک ہی وقت میں کھیل. 28 00:01:20,790 --> 00:01:24,660 تو، اس عام موضوع، concurrency کے طور پر جانا جاتا ہے، عام طور پر 29 00:01:24,660 --> 00:01:26,930 کرتا نہیں آ کمپیوٹر سائنس کے کورس میں اتنی جلد 30 00:01:26,930 --> 00:01:29,790 وجہ سے نچلے درجے تفصیلات کی بحث کی ضرورت ہوتی ہے 31 00:01:29,790 --> 00:01:31,930 آپریٹنگ سسٹم اور اس طرح. 32 00:01:31,930 --> 00:01:34,170 تاہم، ہم پروگرامنگ زبان میں استعمال کرتے ہیں 33 00:01:34,170 --> 00:01:38,000 شروع، سکریچ، CS50 کے کچھ نفٹی اوزار فراہم کرتا ہے 34 00:01:38,000 --> 00:01:40,390 آسان ایک سے زیادہ چیزوں کے ساتھ پروگراموں کو لکھنے کے لئے بنا 35 00:01:40,390 --> 00:01:42,390 ایک بار میں چل رہا ہے. 36 00:01:42,390 --> 00:01:45,050 >> جب آپ سکریچ پروگراموں تعمیر، آپ مسلسل ہو 37 00:01:45,050 --> 00:01:46,760 موضوعات کے ساتھ کام کر رہے ہیں. 38 00:01:46,760 --> 00:01:49,770 ہر سکریچ سکرپٹ ہے، جس میں ایک کوڈ کا ٹکڑا اس کے ساتھ شروع ہوتا ہے ہے 39 00:01:49,770 --> 00:01:52,600 "جب" پہیلی کے ٹکڑے ٹکڑے کر کے ایک، میں سوچا جا سکتا ہے 40 00:01:52,600 --> 00:01:54,380 ایک علیحدہ موضوع کے طور پر. 41 00:01:54,380 --> 00:01:58,040 چلو ایک سادہ سکریچ پروگرام میں یہ کس طرح کام کرتا ہے کو دیکھنے کے لئے نظر. 42 00:01:58,040 --> 00:02:01,730 >> یہاں، ہم دو اسکرپٹس کے ساتھ مچھلی، اعتراض، یا سپرائٹ ہے، 43 00:02:01,730 --> 00:02:05,000 کہ ہم دونوں آغاز تھوڑا سبز پرچم کے بٹن کو کلک کرنے پر. 44 00:02:05,000 --> 00:02:07,290 پہلے سکرپٹ مچھلی کی تحریک کو کنٹرول کرتا ہے. 45 00:02:07,290 --> 00:02:09,850 جب سبز پرچم پر کلک کیا جاتا ہے، مچھلی رکھ دیا گیا ہو جاتا ہے 46 00:02:09,850 --> 00:02:12,450 سکرین کے بائیں جانب پر، اسٹیج کہا جاتا ہے، 47 00:02:12,450 --> 00:02:14,090 کو درست کرنے کا سامنا ہے. 48 00:02:14,090 --> 00:02:17,070 اس وقت تک ہدایات ہے جو ہمیشہ کے لئے چلانے گے کا ایک سیٹ میں ہم 49 00:02:17,070 --> 00:02:20,270 مچھلی کے پروگرام کو روکنے کے لئے، دائیں جانب glides، 50 00:02:20,270 --> 00:02:22,900 ارد گرد بدل جاتا ہے، بائیں طرف واپس جاتا ہے، اور 51 00:02:22,900 --> 00:02:24,470 ارد گرد پھر سے کر دیتا ہے. 52 00:02:24,470 --> 00:02:27,410 دوسرا سکرپٹ مچھلی سوچ کے عمل کو کنٹرول کرتا ہے. 53 00:02:27,410 --> 00:02:29,290 یہ پتہ چلا ہے کہ یہ ایک بھوکا مچھلی ہے. 54 00:02:29,290 --> 00:02:32,080 تو 3 سیکنڈ کے لئے انتظار کرنے کے بعد مچھلی لگتا ہے، گا، 55 00:02:32,080 --> 00:02:34,420 "مجھے بھوک لگی ہے،" چوتھے دوسرے کے لئے. 56 00:02:34,420 --> 00:02:36,440 یہ سکرپٹ بھی ہمیشہ کے لئے چلا رہے ہیں. 57 00:02:36,440 --> 00:02:38,940 اور جیسا کہ ہم نے پروگرام چلا رہا کرنے سے کلک کر کے دیکھتے ہیں، 58 00:02:38,940 --> 00:02:41,730 سبز پرچم، دونوں سکرپٹ پھانسی ظاہر 59 00:02:41,730 --> 00:02:43,100 ایک ہی وقت میں. 60 00:02:43,100 --> 00:02:46,460 مچھلی منتقل، اور ایک ہی وقت میں سوچتا ہے. 61 00:02:46,460 --> 00:02:49,030 >> چونکہ غریب مچھلی بہت بھوک لگتی ہے تو، کچھ میں شامل ہیں 62 00:02:49,030 --> 00:02:50,670 اسے کھانے کے لئے cheesy puffs. 63 00:02:50,670 --> 00:02:53,060 امید ہے کہ وہ پانی میں disintegrate نہیں کرے گا. 64 00:02:53,060 --> 00:02:55,560 جب ہم ایک دوسرے سپرائٹ میں شامل کرتے ہیں، ہم کے قابل بھی ہو جائے گا 65 00:02:55,560 --> 00:02:58,020 کہ سپرائٹ پر اسی اسکرپٹ میں شامل کریں. 66 00:02:58,020 --> 00:02:59,580 اور، اس وجہ سے، وہاں کا کوئی دوسرے سیٹ ہو جائے گا 67 00:02:59,580 --> 00:03:00,830 موضوعات چلانے گے. 68 00:03:03,590 --> 00:03:06,270 ہمارے پروگرام کے کنٹرول کے صارف کو دیتا ہوں جب 69 00:03:06,270 --> 00:03:09,340 بھوک مچھلی کی خوراک ہو جاتا ہے، چلو کا کہنا ہے کہ جب بھی خلائی 70 00:03:09,340 --> 00:03:11,840 بار مارا ہے، cheesy puffs کے لئے اسٹیج پر نظر آتے ہیں 71 00:03:11,840 --> 00:03:13,300 مچھلی کھانے کے لئے. 72 00:03:13,300 --> 00:03:15,760 اس سے پہلے کہ ہم خلائی بار کو مارا، ہم cheesy رکھنا چاہیں گے 73 00:03:15,760 --> 00:03:19,020 puffs مخفی ہے تا کہ مچھلی انہیں نہیں دیکھ سکتے ہیں. 74 00:03:19,020 --> 00:03:21,140 ایسا کرنے کے لئے، ہم نے کے لئے سکرپٹ کے ایک جوڑے کی ضرورت ہو گی 75 00:03:21,140 --> 00:03:22,750 cheesy puffs سپرائٹ. 76 00:03:22,750 --> 00:03:26,980 پہلے سکرپٹ، سبز پرچم، خوراک چھپا دے گا. 77 00:03:26,980 --> 00:03:29,530 دوسرے اسکرپٹ ہم نے لکھا ہے کے برعکس، یہ ایک نہیں رکھیں گے 78 00:03:29,530 --> 00:03:30,560 ہمیشہ کے لئے چل رہا ہے. 79 00:03:30,560 --> 00:03:33,250 یہ شروع کرتے ہیں اور بہت جلد ختم، ہم درست کلک کریں 80 00:03:33,250 --> 00:03:35,000 سبز پرچم کے بٹن. 81 00:03:35,000 --> 00:03:37,180 >> اگلی سکرپٹ ہم نے انتظار خلائی بار کے لئے 82 00:03:37,180 --> 00:03:39,590 قتل سے پہلے پر زور دیا. 83 00:03:39,590 --> 00:03:42,770 ہم صارف کی ان پٹ کے لئے "انتظار" یا "سننے" انتظار کر رہے کہہ سکتے ہیں 84 00:03:42,770 --> 00:03:43,860 ایک تقریب کے لئے. 85 00:03:43,860 --> 00:03:46,750 اور کوڈ ہے کہ جب ایک تقریب یا موصول ہوئی ہے executes 86 00:03:46,750 --> 00:03:50,280 سنا ایونٹ کی ہینڈلنگ کوڈ کہا جاتا ہے. 87 00:03:50,280 --> 00:03:53,550 ہماری خلائی بار ایونٹ ہینڈلر cheesy puffs دکھایا جائے گا 88 00:03:53,550 --> 00:03:56,330 سکرین تا کہ مچھلی انہیں کھا سکتے ہیں. 89 00:03:56,330 --> 00:03:58,880 اس وقت سب کچھ اچھا لگ رہا ہے. 90 00:03:58,880 --> 00:04:00,990 >> اگلی بات ہم کیا کرنے کی ضرورت ہے اعداد و شمار پر کس طرح حاصل کرنے کے لئے ہے 91 00:04:00,990 --> 00:04:03,570 مچھلی کا احساس ہے کہ کھانا ہے. 92 00:04:03,570 --> 00:04:06,030 مچھلی ایک اور موضوع مسلسل کہ شامل 93 00:04:06,030 --> 00:04:08,790 چیک یا نہیں cheesy puffs چھونے ہے. 94 00:04:08,790 --> 00:04:11,510 ہم نے ایک علیحدہ موضوع میں اس طرح ہم کر سکتے ہیں کے بعد ایسا 95 00:04:11,510 --> 00:04:13,710 مسلسل کھانے کے لئے چیک کرنے کے لیے. 96 00:04:13,710 --> 00:04:16,829 دوسری صورت میں، ہم کھانے کے لئے باقاعدگی سے چیک کرنے کے لیے کے قابل ہی ہو جائے گا 97 00:04:16,829 --> 00:04:21,180 گلائڈنگ کے درمیان میں تقریبا رخ، انتظار، یا سوچ رہا تھا. 98 00:04:21,180 --> 00:04:22,000 >> ٹھیک ہے. 99 00:04:22,000 --> 00:04:23,785 اب ہماری سکریچ پروگرام چلائیں. 100 00:04:23,785 --> 00:04:26,921 کے طور پر امید کی جاتی ہے، خوراک کو فوری طور پر چھپاتا ہے اور 101 00:04:26,921 --> 00:04:28,920 بھوک مچھلی کو واپس swims اور بیان پہلے کی طرح. 102 00:04:32,050 --> 00:04:35,060 جب ہم نے خلائی بار کو مارا، cheesy puffs گئے مراسلے دیکھیے میں آتے ہیں، 103 00:04:35,060 --> 00:04:37,470 اور بھوک مچھلی وو کہتے ہیں. 104 00:04:37,470 --> 00:04:39,340 انتظار لیکن، یہ تو عجیب ہے. 105 00:04:39,340 --> 00:04:42,150 آتے مچھلی کے فکر مداخلت "میں بھوکا ہوں" کس طرح 106 00:04:42,150 --> 00:04:43,580 دیگر چیزیں؟ 107 00:04:43,580 --> 00:04:45,780 یہ اس لئے ہے کیونکہ ہم کوئی کوآرڈینیشن قائم نہیں کیا 108 00:04:45,780 --> 00:04:47,590 تین مچھلی سکرپٹ کے درمیان. 109 00:04:47,590 --> 00:04:50,610 ہر ایک کو اپنے موضوع میں چل رہا ہے، کیا سے غافل 110 00:04:50,610 --> 00:04:52,120 دوسروں کی کر رہے ہیں. 111 00:04:52,120 --> 00:04:54,980 چلو، اس سے پہلے کہ ہم پر منتقل کو ٹھیک کریں. 112 00:04:54,980 --> 00:04:57,700 >> موضوعات کے درمیان تعاون نے ہم سے ایک مشکل کام ہے 113 00:04:57,700 --> 00:05:00,940 جب ہر موضوع چلاتے پر واضح کنٹرول ہے یا نہیں 114 00:05:00,940 --> 00:05:02,190 نہیں چلاتے ہیں. 115 00:05:02,190 --> 00:05:04,710 ایک دھاگے سے ایک پر ایک پیغام بھیجنے کی ہمیں ضرورت ہے، کریں گے 116 00:05:04,710 --> 00:05:08,300 ایک متغیر ہے کہ ہم مقرر کریں، یا لکھ سکتے ہیں ایک موضوع میں استعمال کرتے ہیں، 117 00:05:08,300 --> 00:05:10,170 اور دوسرے میں پڑھیں. 118 00:05:10,170 --> 00:05:12,920 چلو نامی ایک متغیر foodFound کہ ہم مقرر کر سکتے ہیں بنانے کے 119 00:05:12,920 --> 00:05:15,530 سچ، جب مچھلی cheesy puffs میں چلتا ہے. 120 00:05:15,530 --> 00:05:17,540 ٹھیک ہے، ظاہر کی، ہم اس بات کا یقین کر لیں کہ ہم اس پر قائم کرنا چاہتے ہیں 121 00:05:17,540 --> 00:05:19,240 ابتدائی طور پر باطل ہے. 122 00:05:19,240 --> 00:05:22,540 اس کے بعد، مچھلی کی سوچ کے موضوع میں، ہم دیکھنے کے لئے چیک کرنے کے لیے کریں گے اگر 123 00:05:22,540 --> 00:05:25,400 مچھلی "مجھے بھوک لگی ہے" کی نمائش سے پہلے کھانا ملا ہے 124 00:05:25,400 --> 00:05:26,770 بلبلا سوچا. 125 00:05:26,770 --> 00:05:29,670 >> اب، پروگرام چلا رہا ایک بار پھر، ہم دیکھتے ہیں کہ مچھلی 126 00:05:29,670 --> 00:05:31,580 بھوک کے خیالات کے ساتھ نہیں میں خلل پیدا ہوگیا ہو جب 127 00:05:31,580 --> 00:05:33,820 cheesy puffs باہر ہیں. 128 00:05:33,820 --> 00:05:36,820 آخری مسئلہ ہے ہم نے کہ cheesy puffs نہیں جاتے ہو 129 00:05:36,820 --> 00:05:39,800 مچھلی کے دور کے بعد، unquote اقتباس، "کھا" ان. 130 00:05:39,800 --> 00:05:42,305 مچھلی کے اسکرپٹ سے کوئی cheesy کو چھپانے کے لئے آسان طریقہ ہے 131 00:05:42,305 --> 00:05:44,710 puffs، تو ہم cheesy puffs کو ایک پیغام بھیجنے کی ضرورت ہے 132 00:05:44,710 --> 00:05:46,780 خود کو چھپانے کے لئے سپرائٹ. 133 00:05:46,780 --> 00:05:49,550 ہم کسی دوسرے متغیر کے ساتھ یہ کر سکتا ہے کہ cheesy puffs 134 00:05:49,550 --> 00:05:52,680 سپرائٹ رسائی، کے ساتھ کے طور پر مچھلی سپرائٹ ہے. 135 00:05:52,680 --> 00:05:55,720 >> تاہم، اس معاملے میں اس کے لئے ایک صاف ستھرا طریقہ ہے، 136 00:05:55,720 --> 00:05:57,840 کے بعد ایک سکرپٹ ہے کہ ایک پیغام کو بھیجنے کے بجائے 137 00:05:57,840 --> 00:06:00,570 کہیں، ہم قتل کے وسط میں بھیج سکتے ہیں 138 00:06:00,570 --> 00:06:03,710 پیغام ایک سکرپٹ ہے کہ شروع کرنے کے لئے انتظار کر رہا ہے. 139 00:06:03,710 --> 00:06:07,360 ہم مچھلی رکھنے کی طرف سے اس کے نتیجے میں کوئی ایسا واقعہ، ایک ہم کریں گے نشر 140 00:06:07,360 --> 00:06:08,800 فون کھایا. 141 00:06:08,800 --> 00:06:11,510 اس کے بعد، ہم cheesy puffs گے کے لئے ایک سکرپٹ کو تشکیل دیں گے 142 00:06:11,510 --> 00:06:13,030 اس پروگرام کے لئے انتظار کریں. 143 00:06:13,030 --> 00:06:15,560 اس کے سوائے اس کے کہ یہ خلائی بار ایونٹ کی طرح ہے، 144 00:06:15,560 --> 00:06:19,250 وقت، صارف کو براہ راست ایونٹ ٹرگر نہیں ہے. 145 00:06:19,250 --> 00:06:22,800 اب ہم سب پر واجب ہے ہمارے foodFound متغیر واپس مقرر کیا گیا ہے 146 00:06:22,800 --> 00:06:25,750 جھوٹے، اور اب ہم کئی کے طور پر بھوک مچھلی دے سکتے ہیں 147 00:06:25,750 --> 00:06:28,470 cheesy puffs کے طور پر میں یہ چاہتا ہے سرونگ. 148 00:06:28,470 --> 00:06:30,040 >> اتنا برا بھی نہیں، ٹھیک ہے؟ 149 00:06:30,040 --> 00:06:33,400 C، کثیر موضوع کا پروگرام لکھ زیادہ پیچیدہ ہے، 150 00:06:33,400 --> 00:06:35,700 لیکن بنیادی باتیں ایک ہی ہیں. 151 00:06:35,700 --> 00:06:38,690 ویسے بھی، مجھے امید ہے کہ تم نے بہت اچھا وقت ہے کچھ مزہ کی تعمیر 152 00:06:38,690 --> 00:06:41,030 سکریچ میں سمورتی پروگرام. 153 00:06:41,030 --> 00:06:42,570 میرا نام نیٹ Hardison ہے. 154 00:06:42,570 --> 00:06:45,260 یہ CS50 ہے.