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 Firefox या Internet Explorer, 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 अपने Facebook पृष्ठ की जाँच से अपने निबंध पर काम करने के लिए जाना 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 निर्देश या कोड है कि "रन" कर सकते हैं, बोली गंदें शब्द बोलना, 24 00:01:10,100 --> 00:01:12,560 समवर्ती अन्य धागे के साथ. 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 यूट्यूब वीडियो एक ही समय में खेल रहा है. 28 00:01:20,790 --> 00:01:24,660 तो, इस सामान्य विषय, संगामिति के रूप में जाना जाता है, आम तौर पर 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 2 स्क्रिप्ट मछली सोचा प्रक्रिया को नियंत्रित करता है. 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 यह खाने के लिए घटिया puffs. 63 00:02:50,670 --> 00:02:53,060 उम्मीद है कि वे पानी में बिखर जाएगा. 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 बार मारा है, पनीर puffs के लिए मंच पर दिखाई देते हैं 71 00:03:11,840 --> 00:03:13,300 मछली खाने के लिए. 72 00:03:13,300 --> 00:03:15,760 इससे पहले कि हम स्पेस बार मारा, हम घटिया रखना चाहती हूँ 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 घटिया प्रेत 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 और कोड निष्पादित करता है कि जब एक घटना या प्राप्त होता है 86 00:03:46,750 --> 00:03:50,280 सुना घटना से निपटने कोड कहा जाता है. 87 00:03:50,280 --> 00:03:53,550 हमारे स्पेस बार ईवेंट हैंडलर पर घटिया 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 चेक किया जाए या नहीं यह पनीर 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 भूख मछली तैरती है और आगे अभी पहले की तरह. 102 00:04:32,050 --> 00:04:35,060 जब हम अंतरिक्ष बार मारा, पनीर 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 सच है जब मछली घटिया 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 घटिया puffs बाहर हैं. 128 00:05:33,820 --> 00:05:36,820 हम अंतिम समस्या यह है कि घटिया puffs जाना नहीं है 129 00:05:36,820 --> 00:05:39,800 , उन्हें दूर मछली के बाद, बोली गंदें शब्द बोलना "खाती". 130 00:05:39,800 --> 00:05:42,305 मछली स्क्रिप्ट से, वहाँ कोई आसान घटिया छिपा है 131 00:05:42,305 --> 00:05:44,710 puffs, तो हम घटिया puffs के लिए एक संदेश भेजने की जरूरत है 132 00:05:44,710 --> 00:05:46,780 प्रेत खुद को छिपाने के लिए. 133 00:05:46,780 --> 00:05:49,550 हम एक और चर के साथ यह कर सकता है कि घटिया 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 तो, हम घटिया 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 घटिया puffs के रूप में यह चाहता है की सर्विंग्स. 148 00:06:28,470 --> 00:06:30,040 >> तो भी बुरा नहीं है, है ना? 149 00:06:30,040 --> 00:06:33,400 सी में, बहु लड़ी पिरोया प्रोग्राम लिखने और अधिक जटिल है, 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 है.