1 00:00:07,590 --> 00:00:09,920 [Powered by Google Translate] डेविड जे मालन: सब ठीक है, इस CS50 है और यह है 2 00:00:09,920 --> 00:00:15,250 1 सप्ताह के अंत में, तो कार्ड में अध्ययन कर रहे हैं और की कुल संख्या 3 00:00:15,250 --> 00:00:18,640 सहपाठियों है कि आप इस वर्ष 745 है. 4 00:00:18,640 --> 00:00:20,920 और हम ऐसा करने के कोर्स में आप के इतने रोमांचित कर रहे हैं 5 00:00:20,920 --> 00:00:23,680 इस सेमेस्टर, लेकिन फिर भी इस पाठ्यक्रम इतनी बड़ी है, 6 00:00:23,680 --> 00:00:26,090 एहसास है कि यह शुक्रवार लंच की तरह इन चीजों की तरह है, 7 00:00:26,090 --> 00:00:29,020 कार्यालय घंटा, 15 व्यक्ति वर्गों, और इतना आगे है कि 8 00:00:29,020 --> 00:00:30,590 वास्तव में यह और अधिक घनिष्ठ बनाने का मतलब 9 00:00:30,590 --> 00:00:31,140 पर्यावरण. 10 00:00:31,140 --> 00:00:34,070 तो भले ही हम एक या दो बार एक सप्ताह में इकट्ठा, में यहाँ हो सकता है 11 00:00:34,070 --> 00:00:36,420 सैंडर्स, इस कोर्स में अपने अनुभव की है कि ज्यादा पता 12 00:00:36,420 --> 00:00:39,330 बहुत पर हाथ पर अपने सहपाठियों के आस - पास 13 00:00:39,330 --> 00:00:40,730 और शिक्षण स्टाफ. 14 00:00:40,730 --> 00:00:43,960 >> तो यहाँ हम चले, 2012 पतन. 15 00:00:43,960 --> 00:00:47,530 तो यह है कि पिछली बार जब हम के एक नोट पर समाप्त हो गया याद 16 00:00:47,530 --> 00:00:50,460 imprecision प्रतिनिधित्व की संख्या के बारे में बात कर रही है. 17 00:00:50,460 --> 00:00:52,950 और हम विफलताओं में से एक है कि क्या हुआ देखा, 18 00:00:52,950 --> 00:00:54,920 असली दुनिया है, जब यह गलतफहमी के लिए आया था 19 00:00:54,920 --> 00:00:55,890 कैसे कंप्यूटर काम. 20 00:00:55,890 --> 00:00:58,590 खैर, आज हम उन विचारों का एक और एक के रूप में फिर से आना हूँ 21 00:00:58,590 --> 00:01:01,410 CS50 ग्राहक के रूप में अच्छी तरह हमारी चर्चा जारी 22 00:01:01,410 --> 00:01:04,090 सी और क्या यह कार्यक्रम वास्तव में इसका मतलब है. 23 00:01:04,090 --> 00:01:06,430 लेकिन पहले, बस बवंडर घोषणाओं के एक जोड़े. 24 00:01:06,430 --> 00:01:08,930 >> धारा इस रविवार को शुरू हो, और 1 सप्ताह एक हमेशा है 25 00:01:08,930 --> 00:01:11,030 बिट एक तेजी से शुरू की है, क्योंकि हम बस में मिला 26 00:01:11,030 --> 00:01:12,620 अपने अनुभाग रूपों. 27 00:01:12,620 --> 00:01:14,450 हम एक ही कर रहे हैं, अब, शिक्षण साथियों के साथ अब, 28 00:01:14,450 --> 00:01:16,410 कि वे अपने कार्यक्रम पता है तो, हम लक्ष्य कर रहे हैं, 29 00:01:16,410 --> 00:01:19,380 शनिवार की सुबह, आप के साथ अपने अनुभाग के साथ पालन करने के लिए 30 00:01:19,380 --> 00:01:20,760 काम और TF. 31 00:01:20,760 --> 00:01:22,770 एहसास है कि वे अगले दिन शुरू करेंगे, रविवार 32 00:01:22,770 --> 00:01:24,510 या सोमवार या मंगलवार. 33 00:01:24,510 --> 00:01:27,730 और फिर हम अनुभाग परिवर्तन को समायोजित करने के रूप में वे पैदा 34 00:01:27,730 --> 00:01:28,690 आने वाले दिनों में. 35 00:01:28,690 --> 00:01:31,590 कार्यालय घंटा, इस बीच, कर रहे हैं, फिर से, आज रात 8 11 के लिए प्रधानमंत्री, 36 00:01:31,590 --> 00:01:33,740 Annenberg, के रूप में कल रात के रूप में अच्छी तरह से. 37 00:01:33,740 --> 00:01:36,150 हालांकि समस्या सेट आम तौर पर गुरुवार को कारण 38 00:01:36,150 --> 00:01:39,020 दोपहर में एहसास, आप पांच देर दिनों के लिए खर्च करने के लिए, 39 00:01:39,020 --> 00:01:42,430 इसलिए गुरुवार को कार्यालय घंटे की उपलब्धता 40 00:01:42,430 --> 00:01:45,930 आप एक उन देर दिनों में नकदी और, इस प्रकार submit, 41 00:01:45,930 --> 00:01:47,070 शुक्रवार को कुछ. 42 00:01:47,070 --> 00:01:50,850 मुझे सुझाव के बीच में कि स्क्रैच अधिक मज़ा के बीच है, 43 00:01:50,850 --> 00:01:52,390 अधिक कम महत्वपूर्ण समस्या सेट. 44 00:01:52,390 --> 00:01:55,160 और मैं उन देर दिनों पर लटका, रणनीतिक होगा, बस 45 00:01:55,160 --> 00:01:57,380 बाद में सेमेस्टर में जब जीवन के रास्ते में मिल शुरू 46 00:01:57,380 --> 00:01:59,470 midterms और अन्य वर्गों के साथ. 47 00:01:59,470 --> 00:02:01,580 समस्या 1 सेट, इस बीच, पाठ्यक्रम पर तैनात किया जाएगा 48 00:02:01,580 --> 00:02:06,080 वेबसाइट, यह शुक्रवार के रूप में पाठ्यक्रम चलना होगा 49 00:02:06,080 --> 00:02:08,789 वीडियो के माध्यम से है, जो शुक्रवार को 2:30 बजे फिल्माया जाएगा 50 00:02:08,789 --> 00:02:11,890 और फिर अगले दिन से ऑनलाइन पोस्ट किया. 51 00:02:11,890 --> 00:02:13,880 >> तो हम सोमवार को समाप्त हो गया. 52 00:02:13,880 --> 00:02:15,450 वास्तव में, एक यहाँ ध्यान दें - मैं चाहता हूँ. 53 00:02:15,450 --> 00:02:18,870 क्योंकि कक्षाएं - क्योंकि सैंडर्स बिल्कुल उधार नहीं करता है 54 00:02:18,870 --> 00:02:22,220 ही आकस्मिक क्यू एंड ए वापस करने के लिए और बहुत अच्छी तरह से आगे है, हम कर रहे हैं 55 00:02:22,220 --> 00:02:24,030 एक छोटे से नए इस साल कुछ प्रयास करें, जिससे जा रहा है 56 00:02:24,030 --> 00:02:26,160 अगर आप अपने हाथ उठाने आरामदायक नहीं कर रहे हैं या आप बस 57 00:02:26,160 --> 00:02:28,800 बल्कि इस तरह एक कमरे में अपने हाथ नहीं उठाना होगा, 58 00:02:28,800 --> 00:02:30,710 हम शिक्षण साथियों और सीए के कुछ है करने के लिए जा रहे हैं 59 00:02:30,710 --> 00:02:33,260 व्याख्यान के दौरान cs50.net/discuss मैनिंग. 60 00:02:33,260 --> 00:02:35,440 तो अगर आप में एक सवाल है, क्योंकि मैं पूरी तरह से किया गया था 61 00:02:35,440 --> 00:02:37,510 तुम्हें कुछ हो या के बारे में स्पष्ट नहीं है, कुछ के बारे में उत्सुक हैं 62 00:02:37,510 --> 00:02:39,640 विषय, यह पोस्ट करने की कोशिश. 63 00:02:39,640 --> 00:02:42,670 यह व्याख्यान का एक लेबल के साथ टैग, और हम अपनी पूरी कोशिश करूँगा 64 00:02:42,670 --> 00:02:45,430 यह क्षेत्र के लिए आज और अगले सप्ताह - we'll इस बाहर की कोशिश - 65 00:02:45,430 --> 00:02:47,990 या तो इलेक्ट्रॉनिक, ऑनलाइन, या अगर यह हम चाहिए की तरह लगता है 66 00:02:47,990 --> 00:02:50,430 वास्तव में यह सामूहिक रूप से पता करने के लिए, एक या शिक्षण साथियों की 67 00:02:50,430 --> 00:02:52,080 सीए अपने हाथ उठाने और पूछना होगा 68 00:02:52,080 --> 00:02:53,480 गुमनाम रूप से अपनी ओर से. 69 00:02:53,480 --> 00:02:55,650 इसलिए हम इस एक कोशिश करते हैं और अच्छी तरह से है कि यह कैसे काम करता है को देखने के लिए दे देंगे. 70 00:02:55,650 --> 00:02:58,540 लेकिन, हर तरह से, हाथों रूप में आप चाहेंगे बढ़ाने के लिए जारी. 71 00:02:58,540 --> 00:03:11,420 >> तो पिछली बार जब हम पता चला है कि 10% या एक 10 में नहीं है, 72 00:03:11,420 --> 00:03:13,840 वास्तव में, 0.1, आप की तरह कई साल पहले सिखाया गया था. 73 00:03:13,840 --> 00:03:15,390 यह वास्तव में है, इस तरह एक मूल्य है. 74 00:03:15,390 --> 00:03:16,970 लेकिन यह है कि पूरी तरह से सच है, सही नहीं है? 75 00:03:16,970 --> 00:03:19,585 हम सिर्फ जिससे कंप्यूटर में इस बाधा है, तुम अगर 76 00:03:19,585 --> 00:03:22,450 केवल स्मृति का एक निश्चित राशि, रैम, या अधिक है 77 00:03:22,450 --> 00:03:25,220 बिट्स विशेष रूप से, अच्छी तरह से, वहाँ केवल एक परिमित संख्या 78 00:03:25,220 --> 00:03:26,980 आप चीजों की प्रतिनिधित्व कर सकते हैं. 79 00:03:26,980 --> 00:03:29,780 उदाहरण के लिए, अगर हम शून्य संख्या है, और हम चाहते हैं 80 00:03:29,780 --> 00:03:32,790 बाइनरी में प्रतिनिधित्व करते हैं, आठ बिट का उपयोग करते हुए, जहां एक सा है, 81 00:03:32,790 --> 00:03:34,710 फिर, एक शून्य या एक एक है, हम हो सकता है 82 00:03:34,710 --> 00:03:39,240 00000000 के रूप में प्रतिनिधित्व करते हैं. 83 00:03:39,240 --> 00:03:41,160 और कहा कि एक छोटे से अनावश्यक रूप वाचाल है. 84 00:03:41,160 --> 00:03:43,700 बस असली दुनिया में दशमलव प्रणाली की तरह, 85 00:03:43,700 --> 00:03:47,040 आम तौर पर, अगर आप संख्या 123 लिखने के लिए चाहते हैं, हम 86 00:03:47,040 --> 00:03:52,240 मनुष्य के शायद 00000123 भले ही लिख नहीं है, 87 00:03:52,240 --> 00:03:53,940 कार्यात्मक, कि सटीक एक ही नंबर है. 88 00:03:53,940 --> 00:03:56,580 हम सिर्फ अग्रणी शून्य को छोड़ देता है, तो बात करो. 89 00:03:56,580 --> 00:03:58,270 >> द्विआधारी में, हम वही कर सकता है. 90 00:03:58,270 --> 00:04:01,440 द्विआधारी और शून्य शून्य द्विआधारी और सिर्फ शून्य है. 91 00:04:01,440 --> 00:04:02,870 आप केवल एक एकल बिट की जरूरत है. 92 00:04:02,870 --> 00:04:05,020 लेकिन फिर, माप की दुनिया में सबसे आम इकाई 93 00:04:05,020 --> 00:04:07,820 कंप्यूटिंग के बाइट्स, आठ बिट है. 94 00:04:07,820 --> 00:04:09,720 बस एक सा है, बहुत बेकार है क्योंकि. 95 00:04:09,720 --> 00:04:12,020 आठ बिट, बहुत उपयोगी नहीं है, लेकिन कम से कम इसे और अधिक है 96 00:04:12,020 --> 00:04:14,280 माप की एकल इकाई से उपयोगी है. 97 00:04:14,280 --> 00:04:17,100 तो आठ बिट के साथ, हम आम तौर पर द्विआधारी प्रतिनिधित्व करेंगे. 98 00:04:17,100 --> 00:04:20,459 यहाँ तो हम संख्या शून्य, एक, दो, और फिर, के रूप में 99 00:04:20,459 --> 00:04:24,200 नैट पिछले बुधवार को हमारे वीडियो में किया था, हम जारी रख सकते हैं 100 00:04:24,200 --> 00:04:25,940 सात तक की गिनती करने के लिए आठ,. 101 00:04:25,940 --> 00:04:27,860 और फिर अगर हम अधिक से अधिक बिट का उपयोग हम, 102 00:04:27,860 --> 00:04:29,880 अनन्तता करने के लिए भरोसा कर सकते हैं. 103 00:04:29,880 --> 00:04:32,800 लेकिन अगर आप केवल इन बिट्स के एक परिमित संख्या है, के रूप में है, 104 00:04:32,800 --> 00:04:35,030 किसी भी कंप्यूटर प्रणाली के मामले में, या भी मिसाइल 105 00:04:35,030 --> 00:04:36,670 प्रणाली, अच्छी तरह से, वास्तव में आप केवल एक 106 00:04:36,670 --> 00:04:37,900 परिशुद्धता के सीमित मात्रा में. 107 00:04:37,900 --> 00:04:41,290 तो अगर आप की तरह में 0.1 संख्या का प्रतिनिधित्व करते हैं, अच्छी तरह से करना चाहते हैं, 108 00:04:41,290 --> 00:04:43,410 कंप्यूटर और लेने के लिए चयन किया है. 109 00:04:43,410 --> 00:04:45,970 और अगर यह केवल संख्या के एक परिमित संख्या में यह कर सकते हैं 110 00:04:45,970 --> 00:04:50,490 का प्रतिनिधित्व करते हैं, यह आप के लिए 0.1 के लिए करीब आते हैं, कर सकते हैं, लेकिन यह नहीं कर सकता 111 00:04:50,490 --> 00:04:53,730 जरूरी आप वास्तव में मूल्य है कि आप चाहते हैं दे. 112 00:04:53,730 --> 00:04:55,660 और यह सिर्फ एक कंप्यूटर की चुनौतियों में से एक है, 113 00:04:55,660 --> 00:04:57,090 हुड के नीचे है, शुक्र है. 114 00:04:57,090 --> 00:04:59,110 >> जैसा कि हम सेमेस्टर में आगे बढ़ना है, इन निचले स्तर 115 00:04:59,110 --> 00:05:02,310 विवरण बहुत कम दिलचस्प हो गया है, लेकिन निश्चित रूप से 116 00:05:02,310 --> 00:05:05,700 इन विचारों के आवेदन के कुछ बहुत ही वास्तविक दुनिया हो सकता है 117 00:05:05,700 --> 00:05:06,760 असर. 118 00:05:06,760 --> 00:05:08,190 एक एक बिट मजेदार है. 119 00:05:08,190 --> 00:05:12,150 आप में से कितने अद्भुत फिल्म कार्यालय अंतरिक्ष देखा है? 120 00:05:12,150 --> 00:05:13,620 यदि आप नहीं है, कि अपने अनौपचारिक 121 00:05:13,620 --> 00:05:14,370 सप्ताह के लिए होमवर्क. 122 00:05:14,370 --> 00:05:16,730 लेकिन कार्यालय अंतरिक्ष में, उस फिल्म में साथियों को ले 123 00:05:16,730 --> 00:05:19,900 ठीक इस विचार का लाभ है, लेकिन वे वास्तव में चुरा लिया 124 00:05:19,900 --> 00:05:21,270 यह एक और फिल्म है कि हो सकता है आप से 125 00:05:21,270 --> 00:05:22,760 देखा है, यहां तक ​​कि साल पहले. 126 00:05:22,760 --> 00:05:24,920 तो मुझे आप इस ट्रेलर के कुछ सेकंड देने से 127 00:05:24,920 --> 00:05:27,470 इस अद्भुत फिल्म है और यह बहुत ही ज्यादा है 128 00:05:27,470 --> 00:05:28,340 अकादमिक प्रासंगिक है. 129 00:05:28,340 --> 00:05:30,310 >> [फिल्म नाटकों] 130 00:05:30,310 --> 00:05:32,240 असल में मैं पदोन्नत किया जा रहा है. 131 00:05:32,240 --> 00:05:33,360 मैं एक वायरस है कि चीर देगा कार्यक्रम कर सकते हैं कि 132 00:05:33,360 --> 00:05:34,460 बंद बड़ा समय जगह. 133 00:05:34,460 --> 00:05:35,770 ठीक है, यह कैसे काम करता है? 134 00:05:35,770 --> 00:05:37,836 हर बार जब वहाँ एक बैंक लेन - देन है जहां ब्याज 135 00:05:37,836 --> 00:05:40,154 गणना, वहाँ एक दिन हजारों हैं, कंप्यूटर समाप्त होता है 136 00:05:40,154 --> 00:05:41,040 एक प्रतिशत के इन भागों के साथ. 137 00:05:41,040 --> 00:05:43,050 लेकिन मैं करने के लिए अवैध रूप से कुछ भी करने के लिए नहीं जा रहा हूँ. 138 00:05:43,050 --> 00:05:46,730 अवैध? समीर, यह अमेरिका है. 139 00:05:46,730 --> 00:05:48,010 आप भगवान की कसम खाता है. 140 00:05:48,010 --> 00:05:51,870 अगर किसी को भी इस बारे में जानता है लेकिन हमें, सब सही है? कोई परिवार के सदस्यों, कोई 141 00:05:51,870 --> 00:05:52,490 गर्लफ्रेंड, कोई नहीं. 142 00:05:52,490 --> 00:05:53,882 [अश्राव्य]. 143 00:05:53,882 --> 00:05:57,594 चिंता मत करो यार, मैं किसी को भी नहीं बता देंगे, नहीं. 144 00:05:57,594 --> 00:05:59,680 [फिल्म खत्म होती है] 145 00:05:59,680 --> 00:06:01,900 >> सब ठीक है, तो शायद मैं इस फिल्म की तुलना में सबसे बेहतर पाया 146 00:06:01,900 --> 00:06:05,530 यहाँ के लोग, लेकिन किसी भी मामले में, वायरस है कि वे थे 147 00:06:05,530 --> 00:06:06,400 बनाने की कोशिश कर रहा है - 148 00:06:06,400 --> 00:06:08,410 और फिल्मों में, वे कभी भी कुछ एक वायरस फोन चाहते हैं, 149 00:06:08,410 --> 00:06:09,770 यह आम तौर पर एक वायरस नहीं है वास्तव में. 150 00:06:09,770 --> 00:06:11,600 यह सिर्फ एक प्रोग्राम है कि किसी को कुछ नहीं लिखा है. 151 00:06:11,600 --> 00:06:13,800 और इस मामले में, लोगों के लिए एक प्रोग्राम लिखने की कोशिश कर रहे थे 152 00:06:13,800 --> 00:06:16,610 कि उनकी कंपनी का लाभ ले लिया बुलाया Innotech है 153 00:06:16,610 --> 00:06:19,740 कंप्यूटिंग प्रणाली, कंप्यूटर, जिससे भी, यहां तक ​​कि यह तब होता है जब 154 00:06:19,740 --> 00:06:21,350 पैसे के लिए आता है, जरूरी नहीं कि कर सकते हैं 155 00:06:21,350 --> 00:06:23,490 ठीक पैसे का प्रतिनिधित्व करते हैं. 156 00:06:23,490 --> 00:06:27,630 तो भले ही आप अपने बैंक खाते में 0.10 डॉलर का हो सकता है, 157 00:06:27,630 --> 00:06:31,060 0.10, अच्छी तरह से, कंप्यूटर वास्तव में लगता है कि आप हो सकता 158 00:06:31,060 --> 00:06:33,560 आपके बैंक खाते में यह कई सेंट. 159 00:06:33,560 --> 00:06:35,750 वे और - और इसलिए इन लोगों को क्या करने की इच्छुक थे 160 00:06:35,750 --> 00:06:38,240 विचार चुरा लिया, यह सुपरमैन III से पता चला है, जहां 161 00:06:38,240 --> 00:06:41,210 रिचर्ड प्रायर एक ही काम किया है - वे अनिवार्य रूप से थे 162 00:06:41,210 --> 00:06:44,880 लेखन प्रोग्राम है कि अनुगामी के सभी लेने की ख्वाहिश 163 00:06:44,880 --> 00:06:46,930 नंबर, छोटे, छोटे, छोटे भागों के सभी 164 00:06:46,930 --> 00:06:50,160 पैसे, और उन है कि इतनी दूर वसूलना मनुष्यों बस 165 00:06:50,160 --> 00:06:52,620 सोचा, ओह, यह केवल $ 0.10 वहाँ है, लेकिन उन सभी 166 00:06:52,620 --> 00:06:54,410 अनुगामी संख्या अंततः जोड़. 167 00:06:54,410 --> 00:06:57,490 तो एक बढ़िया विचार है और यह है कि में उल्लासपूर्वक उलटा असर हुआ 168 00:06:57,490 --> 00:06:58,250 विशेष फिल्म. 169 00:06:58,250 --> 00:07:01,800 >> लेकिन असली दुनिया में भी, वहाँ बहुत अधिक विषय में हैं 170 00:07:01,800 --> 00:07:03,190 इन चीजों की तरह के निहितार्थ. 171 00:07:03,190 --> 00:07:05,450 कारणों में से एक और कंप्यूटर के क्षेत्र में गोता लगाने के लिए 172 00:07:05,450 --> 00:07:07,620 विज्ञान है, फिर से, नहीं करने के लिए प्रयोज्यता 173 00:07:07,620 --> 00:07:09,740 इंजीनियरिंग विज्ञान अकेले, लेकिन अभी तक 174 00:07:09,740 --> 00:07:10,650 अन्य क्षेत्रों के रूप में अच्छी तरह से. 175 00:07:10,650 --> 00:07:14,760 क्या गलत जा सकते हैं तो यह एक कम lighthearted लग रही है, लेकिन 176 00:07:14,760 --> 00:07:17,630 यह भी काफी आंख खोलने का है, मुझे लगता है, जब यह आता है 177 00:07:17,630 --> 00:07:20,760 समझने के बिल्कुल कैसे सर्वव्यापी प्रौद्योगिकियों की तरह 178 00:07:20,760 --> 00:07:22,870 कंप्यूटर और प्रोग्रामिंग या इन दिनों, 179 00:07:22,870 --> 00:07:23,930 सॉफ्टवेयर के रूप में. 180 00:07:23,930 --> 00:07:26,500 तो यह अगले क्लिप सिर्फ छह मिनट के बारे में है, जारी 181 00:07:26,500 --> 00:07:30,320 जहां हम पिछली बार छोड़ दिया है, लेकिन हमें एक छोटे से देखने की अनुमति देता है 182 00:07:30,320 --> 00:07:33,370 इन मुद्दों में से एक इस तरह के पर अधिक गहराई में है. 183 00:07:33,370 --> 00:07:35,270 मुझे जहाँ हम से दूर छोड़ दिया करने के लिए आगे बढ़ें 184 00:07:35,270 --> 00:07:37,780 जो यहीं थी. 185 00:07:37,780 --> 00:07:41,580 और हम यहाँ के बारे में छह मिनट के लिए दो के दो भाग है. 186 00:07:41,580 --> 00:07:41,980 >> [फिल्म खेलने के लिए] 187 00:07:41,980 --> 00:07:45,430 आधुनिक रॉकेट प्रौद्योगिकी ग्रस्त. 188 00:07:45,430 --> 00:07:49,280 1991 में पहले खाड़ी युद्ध की शुरुआत के साथ, पैट्रियट 189 00:07:49,280 --> 00:07:51,350 मिसाइल एक ही तरह का अनुभव 190 00:07:51,350 --> 00:07:52,645 संख्या रूपांतरण समस्या. 191 00:07:52,645 --> 00:07:57,460 और एक परिणाम के रूप में, 20 लोगों को, 20 अमेरिकी सैनिकों के मारे गए थे 192 00:07:57,460 --> 00:08:01,130 बारे में और 100 घायल हो गए, जब पैट्रियट, जो चाहिए था 193 00:08:01,130 --> 00:08:03,400 आवक Scuds के खिलाफ की रक्षा, 194 00:08:03,400 --> 00:08:06,020 एक मिसाइल आग करने में विफल रहा है. 195 00:08:06,020 --> 00:08:09,350 >> जब इराक पर आक्रमण कुवैत और अमेरिका एक डेजर्ट का शुभारंभ किया 196 00:08:09,350 --> 00:08:13,530 1991 के शुरू में तूफान, पैट्रियट मिसाइल बैटरी थे 197 00:08:13,530 --> 00:08:16,970 इराकी से सऊदी अरब और इसराइल की रक्षा के लिए तैनात 198 00:08:16,970 --> 00:08:19,810 स्कड मिसाइल हमलों. 199 00:08:19,810 --> 00:08:23,740 पैट्रियट एक अमेरिकी मध्यम दूरी की सतह से हवा प्रणाली है, 200 00:08:23,740 --> 00:08:26,370 रेथियॉन कंपनी द्वारा निर्मित. 201 00:08:26,370 --> 00:08:30,860 पैट्रियट इंटरसेप्टर खुद के आकार, इसके बारे में 202 00:08:30,860 --> 00:08:35,650 लगभग 20 फुट लंबा है और यह 2000 पाउंड के बारे में वजन का होता है. 203 00:08:35,650 --> 00:08:38,809 और के बारे में एक बम किया जाता है - मुझे लगता है कि यह मोटे तौर पर 204 00:08:38,809 --> 00:08:40,169 £ 150. 205 00:08:40,169 --> 00:08:45,820 और वारहेड ही है जो एक उच्च विस्फोटक 206 00:08:45,820 --> 00:08:48,120 इसके चारों ओर टुकड़े. 207 00:08:48,120 --> 00:08:51,870 वारहेड के आवरण buckshot तरह कार्य करने के लिए बनाया गया है. 208 00:08:51,870 --> 00:08:54,920 मिसाइलों चार कंटेनर प्रति किया जाता है और कर रहे हैं 209 00:08:54,920 --> 00:08:57,850 एक अर्ध ट्रेलर द्वारा पहुँचाया. 210 00:08:57,850 --> 00:09:02,940 >> पैट्रियट मिसाइल रोधी प्रणाली को कम से कम करने के लिए वापस चला जाता है 211 00:09:02,940 --> 00:09:05,530 अब 20 साल. 212 00:09:05,530 --> 00:09:09,150 यह मूल रूप से एक वायु रक्षा मिसाइल के रूप में डिजाइन किया गया था 213 00:09:09,150 --> 00:09:12,920 पहले खाड़ी युद्ध में दुश्मन के हवाई जहाज शूट. 214 00:09:12,920 --> 00:09:17,700 जब कि युद्ध के साथ आया था, सेना का उपयोग करने के लिए गोली मार चाहता था 215 00:09:17,700 --> 00:09:19,880 , हवाई जहाज नहीं Scuds नीचे. 216 00:09:19,880 --> 00:09:24,860 एयर इराकी सेना एक समस्या का इतना नहीं था, लेकिन सेना 217 00:09:24,860 --> 00:09:27,260 था Scuds के बारे में चिंतित है. 218 00:09:27,260 --> 00:09:30,810 और इसलिए वे पैट्रियट उन्नयन की कोशिश की. 219 00:09:30,810 --> 00:09:33,770 बेधने एक दुश्मन मिसाइल 5 मच में यात्रा जा रहा था 220 00:09:33,770 --> 00:09:35,790 काफी चुनौतीपूर्ण हो. 221 00:09:35,790 --> 00:09:39,460 लेकिन जब पैट्रियट सेवा में ले जाया गया था, सेना 222 00:09:39,460 --> 00:09:43,730 कि उनके बनाया एक इराकी संशोधन के बारे में पता नहीं था 223 00:09:43,730 --> 00:09:46,510 हिट करने के लिए लगभग असंभव Scuds. 224 00:09:46,510 --> 00:09:50,040 >> Scuds थे कि क्या हुआ है 225 00:09:50,040 --> 00:09:51,360 में आ रहा है अस्थिर थे. 226 00:09:51,360 --> 00:09:52,266 वे wobbling थे. 227 00:09:52,266 --> 00:09:56,300 इस के लिए कारण इराकियों था, क्रम में से 600 228 00:09:56,300 --> 00:10:00,650 एक 300 किलोमीटर दूरी की मिसाइल के बाहर किलोमीटर लिया, 229 00:10:00,650 --> 00:10:02,423 सामने वारहेड से बाहर वजन और 230 00:10:02,423 --> 00:10:03,990 वारहेड लाइटर बनाया. 231 00:10:03,990 --> 00:10:08,700 तो अब पैट्रियट स्कड में आने की कोशिश कर रहा है, और सबसे अधिक 232 00:10:08,700 --> 00:10:11,192 समय, समय की भारी बहुमत है, यह होता 233 00:10:11,192 --> 00:10:13,450 बस स्कड से उड़. 234 00:10:13,450 --> 00:10:16,300 एक बार पैट्रियट सिस्टम ऑपरेटरों पैट्रियट एहसास हुआ 235 00:10:16,300 --> 00:10:20,160 अपने लक्ष्य को याद किया, वे पैट्रियट बम विस्फोट कर दिया. 236 00:10:20,160 --> 00:10:22,760 संभव हताहतों की संख्या से बचने के लिए, यह अनुमति दी गई थी 237 00:10:22,760 --> 00:10:25,100 भूमि पर गिर जाते हैं. 238 00:10:25,100 --> 00:10:29,400 कि अधिकांश लोगों को क्या देखा था, आकाश में बड़ा fireballs के रूप में, 239 00:10:29,400 --> 00:10:34,930 और स्कड warheads के अवरोध के रूप में गलत समझा. 240 00:10:34,930 --> 00:10:37,490 >> हालांकि, रात आसमान में देशभक्त होना को दिखाई दिया 241 00:10:37,490 --> 00:10:41,570 सफलतापूर्वक नष्ट कर दिया Scuds Dhahran में, वहाँ कोई हो सकता है 242 00:10:41,570 --> 00:10:43,730 अपने प्रदर्शन के बारे में गलती. 243 00:10:43,730 --> 00:10:46,370 वहाँ, पैट्रियट रडार प्रणाली एक का ट्रैक खो दिया 244 00:10:46,370 --> 00:10:50,090 मूसलधार बारिश आने वाली है और शुरू की वजह से कभी नहीं 245 00:10:50,090 --> 00:10:51,340 एक सॉफ्टवेयर दोष. 246 00:10:54,030 --> 00:10:57,050 यह इजरायल के जो पहली बार पता चला था कि अब 247 00:10:57,050 --> 00:11:02,000 सिस्टम पर अधिक से अधिक समय विसंगति बन गया है, 248 00:11:02,000 --> 00:11:05,530 एक सिस्टम के कंप्यूटर में एम्बेडेड घड़ी की वजह से. 249 00:11:05,530 --> 00:11:09,060 Dhahran, त्रासदी के बारे में दो सप्ताह पहले 250 00:11:09,060 --> 00:11:11,730 इजरायल रक्षा विभाग को सूचना दी कि 251 00:11:11,730 --> 00:11:13,250 प्रणाली समय खो गया था. 252 00:11:13,250 --> 00:11:15,610 चल रहा है के बारे में आठ घंटे के बाद, उन्होंने देखा कि 253 00:11:15,610 --> 00:11:18,330 प्रणाली काफ़ी कम सटीक हो रहा था. 254 00:11:18,330 --> 00:11:20,910 रक्षा विभाग के सभी बता कर प्रतिक्रिया व्यक्त की 255 00:11:20,910 --> 00:11:23,710 पैट्रियट बैटरी सिस्टम नहीं छोड़ने के लिए 256 00:11:23,710 --> 00:11:25,450 पर एक लंबे समय के लिए. 257 00:11:25,450 --> 00:11:28,010 उन्होंने कभी नहीं कहा कि एक लंबे समय क्या था - 8 घंटे, 10 258 00:11:28,010 --> 00:11:29,690 घंटा, 1000 घंटे. 259 00:11:29,690 --> 00:11:31,940 कोई नहीं जानता था. 260 00:11:31,940 --> 00:11:35,020 >> पैट्रियट बैटरी Dhahran में बैरकों में तैनात 261 00:11:35,020 --> 00:11:39,030 और अपने त्रुटिपूर्ण आंतरिक घड़ी 100 से अधिक घंटे पर किया गया था 262 00:11:39,030 --> 00:11:42,240 फरवरी की रात 25. 263 00:11:42,240 --> 00:11:46,580 यह एक दूसरे के एक दसवें के बारे में एक सटीकता के लिए समय लगाया है. 264 00:11:46,580 --> 00:11:48,830 अब दूसरे का एक दसवें एक दिलचस्प संख्या है क्योंकि 265 00:11:48,830 --> 00:11:52,660 यह द्विपदीय में व्यक्त नहीं कर सकते हैं, वास्तव में, जिसका अर्थ है 266 00:11:52,660 --> 00:11:54,940 यह वास्तव में किसी में नहीं व्यक्त किया जा सकता है 267 00:11:54,940 --> 00:11:57,330 आधुनिक डिजिटल कंप्यूटर. 268 00:11:57,330 --> 00:11:59,130 यह विश्वास करना मुश्किल है. 269 00:11:59,130 --> 00:12:01,720 लेकिन एक उदाहरण के रूप में इस का उपयोग करें. 270 00:12:01,720 --> 00:12:04,090 >> चलो संख्या 1/3 ले. 271 00:12:04,090 --> 00:12:07,950 एक 3 दशमलव में व्यक्त नहीं, वास्तव में कर सकते हैं. 272 00:12:07,950 --> 00:12:12,710 एक 3 0.333 अनंत के लिए चल रहा है. 273 00:12:12,710 --> 00:12:17,050 वहाँ कोई दशमलव में पूर्ण शुद्धता के साथ कि क्या तरीका है. 274 00:12:17,050 --> 00:12:19,340 यह ठीक है कि समस्या का एक ही तरह का है कि में हुआ है 275 00:12:19,340 --> 00:12:20,190 पैट्रियट. 276 00:12:20,190 --> 00:12:24,680 अब प्रणाली भाग गया, बुरा समय त्रुटि बन गया. 277 00:12:24,680 --> 00:12:28,640 आपरेशन के 100 घंटे के बाद, समय में त्रुटि ही था 278 00:12:28,640 --> 00:12:29,870 एक दूसरे के बारे में एक तिहाई. 279 00:12:29,870 --> 00:12:34,790 लेकिन 5 मच पर यात्रा मिसाइल को निशाना बनाने का मामले में, 280 00:12:34,790 --> 00:12:39,140 यह पर 600 मीटर की दूरी का एक ट्रैकिंग में त्रुटि हुई. 281 00:12:39,140 --> 00:12:42,510 यह Dhahran में सैनिकों के लिए एक घातक त्रुटि होगा. 282 00:12:42,510 --> 00:12:48,680 >> क्या हुआ एक स्कड प्रक्षेपण है जल्दी चेतावनी द्वारा पाया गया था 283 00:12:48,680 --> 00:12:52,440 उपग्रहों और वे जानते थे कि स्कड अपने में आ रहा था 284 00:12:52,440 --> 00:12:53,350 सामान्य दिशा. 285 00:12:53,350 --> 00:12:55,470 वे जहां यह आ रहा था पता नहीं था. 286 00:12:55,470 --> 00:12:58,210 अब यह था पैट्रियट के रडार घटक 287 00:12:58,210 --> 00:13:01,920 Dhahran बचाव, प्रणाली को खोजने और का ट्रैक रखने के 288 00:13:01,920 --> 00:13:03,700 आने वाली दुश्मन मिसाइल. 289 00:13:03,700 --> 00:13:05,390 रडार बहुत होशियार था. 290 00:13:05,390 --> 00:13:07,570 आप वास्तव में मूसलधार बारिश की स्थिति पर नज़र रखने और फिर 291 00:13:07,570 --> 00:13:10,340 भविष्यवाणी जहां यह शायद अगली बार होगा 292 00:13:10,340 --> 00:13:12,040 रडार एक पल्स बाहर भेजा. 293 00:13:12,040 --> 00:13:13,730 यह सीमा के गेट बुलाया गया था. 294 00:13:13,730 --> 00:13:18,820 तो, एक बार पैट्रियट का फैसला किया पर्याप्त समय के लिए जाने के लिए पारित कर दिया गया है 295 00:13:18,820 --> 00:13:22,600 वापस करने के लिए और पाया है के लिए अगले स्थान की जाँच करें. 296 00:13:22,600 --> 00:13:24,190 वस्तु, यह वापस चला जाता है. 297 00:13:24,190 --> 00:13:27,940 तो जब यह गलत जगह पर वापस चला गया, यह तो कोई देखता है 298 00:13:27,940 --> 00:13:31,000 आपत्ति है, और यह फैसला करता है कि वहाँ कोई आपत्ति थी. 299 00:13:31,000 --> 00:13:34,370 यह एक गलत पहचान थी और ट्रैक बूँदें. 300 00:13:34,370 --> 00:13:37,630 >> आवक स्कड राडार स्क्रीन से गायब हो गया. 301 00:13:37,630 --> 00:13:41,300 और सेकंड बाद में, यह बैरकों में पटक दिया. स्कड 302 00:13:41,300 --> 00:13:44,730 28 मारे गए और पिछले एक के दौरान निकाल दिया था 303 00:13:44,730 --> 00:13:46,450 पहले खाड़ी युद्ध. 304 00:13:46,450 --> 00:13:50,570 दुर्भाग्य से, अद्यतन सॉफ्टवेयर Dhahran पर पहुंचे 305 00:13:50,570 --> 00:13:52,060 अगले दिन. 306 00:13:52,060 --> 00:13:56,210 और सॉफ्टवेयर दोष तय हो गया था, में एक अध्याय बंद 307 00:13:56,210 --> 00:13:58,370 पैट्रियट मिसाइल के अशांत इतिहास. 308 00:14:01,790 --> 00:14:04,990 देशभक्त वास्तव में "चरणबद्ध सरणी ट्रैकिंग के लिए एक परिचित करा रहा है 309 00:14:04,990 --> 00:14:08,516 लक्ष्य का अवरोधन. " 310 00:14:08,516 --> 00:14:13,390 >> ठीक है, तो काफी नहीं है की एक और अधिक खेदयुक्त परिणाम 311 00:14:13,390 --> 00:14:14,430 इस दुनिया को समझने. 312 00:14:14,430 --> 00:14:18,180 और takeaway, वास्तव में, फिल्म से है कि समाधान 313 00:14:18,180 --> 00:14:20,790 वहाँ अपने मिसाइल रक्षा प्रणाली को रीबूट करने के लिए किया गया था 314 00:14:20,790 --> 00:14:21,770 हर एक समय में एक बार. 315 00:14:21,770 --> 00:14:24,280 तो फिर, निश्चित रूप से इस पाठ्यक्रम का उद्देश्य के, एक 316 00:14:24,280 --> 00:14:26,900 इन अनुप्रयोगों की तुलना में एक अधिक विनम्र पैमाने पर करने के लिए है 317 00:14:26,900 --> 00:14:30,710 वास्तव में आप कैसे जाने के बारे में वास्तव में खुला हर किसी की आँखों 318 00:14:30,710 --> 00:14:34,380 मशीनें बनाने क्या आप उन्हें करने के लिए करना चाहते हैं और कैसे तुम जाओ 319 00:14:34,380 --> 00:14:37,180 के बारे में है कि सही ढंग से कर रहा है, जबकि यह रास्ता साथ कर 320 00:14:37,180 --> 00:14:38,810 ठीक है, elegantly, और इतना आगे. 321 00:14:38,810 --> 00:14:41,680 और इसलिए आज, इस का एक छोटा सा में डुबकी चलो, लेकिन 322 00:14:41,680 --> 00:14:44,210 ताकि हम भी तेजी से उन लोगों के लिए विशेष रूप से कम नहीं जाना है, 323 00:14:44,210 --> 00:14:46,590 आरामदायक, लेकिन यह भी तो है कि हम की रुचि बनाए रखने कर सकते हैं 324 00:14:46,590 --> 00:14:49,390 उन अधिक आरामदायक, बस जल्दी से एक बिट के साथ शुरू करते हैं 325 00:14:49,390 --> 00:14:50,970 इन विचारों के कुछ संक्षिप्त की. 326 00:14:50,970 --> 00:14:53,710 और फिर, दूर से पूछना, दोनों व्यक्ति में या ऑनलाइन, अगर आपके पास 327 00:14:53,710 --> 00:14:56,320 सवाल तो हम एक ही पृष्ठ पर हर किसी को रख सकते हैं. 328 00:14:56,320 --> 00:14:58,820 >> तो CS50 उपकरण, त्वरित कदम वापस, 329 00:14:58,820 --> 00:15:02,360 अपने ही शब्दों में, क्या? 330 00:15:02,360 --> 00:15:06,454 यह ठीक है अगर तुम्हें पता नहीं क्या उन शब्दों को अभी तक हो सकता है. 331 00:15:06,454 --> 00:15:07,830 [अश्राव्य] 332 00:15:07,830 --> 00:15:10,950 ठीक है, तो के लिए एक सार्वभौमिक इंटरफ़ेस 333 00:15:10,950 --> 00:15:11,900 है कि हम सभी को साझा कर सकते हैं. 334 00:15:11,900 --> 00:15:12,470 बिल्कुल. 335 00:15:12,470 --> 00:15:14,840 तो हम, उदाहरण के लिए, आप बता सकता है कुछ करने के लिए जाना 336 00:15:14,840 --> 00:15:16,910 वेबसाइट, मैक ओएस के लिए इस सॉफ्टवेयर को डाउनलोड. 337 00:15:16,910 --> 00:15:19,140 विंडोज के लिए इस सॉफ्टवेयर डाउनलोड, कॉन्फ़िगर 338 00:15:19,140 --> 00:15:20,100 और इस तरह से कि. 339 00:15:20,100 --> 00:15:22,370 लेकिन वास्तविकता तो यह है कि हम में चलाने की असंख्य तकनीकी 340 00:15:22,370 --> 00:15:23,200 मुद्दों का समर्थन. 341 00:15:23,200 --> 00:15:26,630 और भी इन दिनों, सर्वर साइड क्या किया जा रहा है की बहुत, 342 00:15:26,630 --> 00:15:28,490 कंप्यूटिंग की दुनिया में, खासकर जब यह करने के लिए आता है 343 00:15:28,490 --> 00:15:31,460 वेब विकास और वेब आधारित अनुप्रयोगों, वास्तव में है 344 00:15:31,460 --> 00:15:35,110 अक्सर यूनिक्स या Linux कंप्यूटर पर किया है, के रूप में करने का विरोध किया 345 00:15:35,110 --> 00:15:36,800 एमएसीएस या विंडोज पीसी. 346 00:15:36,800 --> 00:15:39,240 >> तो upsides के बीच है, तो इस बात का उपयोग करने का आह्वान किया 347 00:15:39,240 --> 00:15:41,500 CS50 उपकरण है कि हम सब एक ही माहौल होगा. 348 00:15:41,500 --> 00:15:43,670 तो हर कोई एक ही पृष्ठ पर कोई बात है तुम क्या हार्डवेयर 349 00:15:43,670 --> 00:15:46,650 के साथ परिसर के लिए आया था, लेकिन यह भी ठीक dabbling जाएगा 350 00:15:46,650 --> 00:15:48,230 वही वातावरण है कि आप की ओर का उपयोग किया जाएगा 351 00:15:48,230 --> 00:15:51,080 सेमेस्टर के अंत के रूप में अच्छी तरह के लिए वेब विकास, के रूप में के रूप में अच्छी तरह से 352 00:15:51,080 --> 00:15:53,580 असली दुनिया अनुप्रयोगों के लिए उसके भविष्य. 353 00:15:53,580 --> 00:15:56,350 तो अधिक concretely, CS50 उपकरण के एक मुक्त टुकड़ा है 354 00:15:56,350 --> 00:15:59,400 सॉफ्टवेयर है कि आप अन्य ऑपरेटिंग सिस्टम को चलाने के लिए अनुमति देता है, 355 00:15:59,400 --> 00:16:02,670 लिनक्स, इस मामले में, अपने कंप्यूटर पर, एक खिड़की में. 356 00:16:02,670 --> 00:16:04,750 अब तुम सिर्फ उपकरण नहीं डाउनलोड कर सकते हैं. 357 00:16:04,750 --> 00:16:08,170 तुम जो साथ खेलने या उपकरण को चलाने के लिए एक कार्यक्रम की जरूरत है. 358 00:16:08,170 --> 00:16:11,220 और सॉफ्टवेयर का टुकड़ा है कि आम तौर पर एक के रूप में जाना जाता है 359 00:16:11,220 --> 00:16:11,520 हाइपरविजर. 360 00:16:11,520 --> 00:16:14,050 Hypervisors VMware जैसे उत्पादों के रूप में आते हैं, 361 00:16:14,050 --> 00:16:15,820 वर्चुअल बाक्स, समानताएं. 362 00:16:15,820 --> 00:16:18,390 कंपनियों के सभी प्रकार के सॉफ्टवेयर, दोनों मुक्त बनाने के लिए और 363 00:16:18,390 --> 00:16:19,310 वाणिज्यिक समान. 364 00:16:19,310 --> 00:16:21,480 क्या आप समस्या में देखेंगे 1 सेट करने के लिए कैसे पर निर्देश दिए गए हैं 365 00:16:21,480 --> 00:16:23,440 मुफ्त सॉफ्टवेयर प्राप्त करने के लिए जो के साथ 366 00:16:23,440 --> 00:16:25,000 CS50 उपकरण चलाने के. 367 00:16:25,000 --> 00:16:28,060 और एक बार आप, आप अपने मैक या पीसी पर एक खिड़की में, होगा, 368 00:16:28,060 --> 00:16:30,710 एक डेस्कटॉप वातावरण है कि इस तरह से काफी लग रहा है, जहां 369 00:16:30,710 --> 00:16:33,100 में एक प्रारंभ मेनू की तरह बात है 370 00:16:33,100 --> 00:16:34,510 नीचे बाएँ हाथ के कोने. 371 00:16:34,510 --> 00:16:38,030 यह ऊपर छोड़ दिया में एक घर फ़ोल्डर, या होम निर्देशिका है, 372 00:16:38,030 --> 00:16:40,280 वहाँ एक कचरा, और इतना आगे कर सकते हैं. 373 00:16:40,280 --> 00:16:43,450 तो हम अलग हम जाने के रूप में आवश्यक विवरण तंग करेंगे. 374 00:16:43,450 --> 00:16:46,430 >> लेकिन अब हम सी. में गोता लगाने के लिए शुरू 375 00:16:46,430 --> 00:16:49,200 तो सी प्रोग्रामिंग भाषा है, भावना में समान 376 00:16:49,200 --> 00:16:52,390 खरोंच, लेकिन अब तक कम चित्रमय, लेकिन विडंबना यह है कि अब तक, 377 00:16:52,390 --> 00:16:54,730 अधिक शक्तिशाली है कि एक बार आप इसके साथ प्रेमी हो. 378 00:16:54,730 --> 00:16:58,970 सी में तो, हम स्रोत कोड लिखने से प्रोग्राम लिखने, जो है 379 00:16:58,970 --> 00:17:01,640 इस वाक्य रचना अंग्रेजी की तरह, मोजे के लिए इसी तरह की 380 00:17:01,640 --> 00:17:05,609 प्रदर्शन है कि हम पिछली बार किया है कि आप के लिए अनुमति देता है 381 00:17:05,609 --> 00:17:07,910 अपने आप को काफी ठीक से व्यक्त करने के लिए, अगर 382 00:17:07,910 --> 00:17:09,760 arcanely, कंप्यूटर के लिए. 383 00:17:09,760 --> 00:17:11,960 >> तो उत्पाद सॉफ्टवेयर की तरह क्या आप वास्तव में जरूरत है 384 00:17:11,960 --> 00:17:15,520 सी की तरह एक भाषा में कार्यक्रम हमारे आधार पर, लिखने 385 00:17:15,520 --> 00:17:17,492 सोमवार को बातचीत? 386 00:17:17,492 --> 00:17:19,650 [अश्राव्य] 387 00:17:19,650 --> 00:17:21,079 ठीक है, तुम सिर्फ एक पाठ संपादक की जरूरत है. 388 00:17:21,079 --> 00:17:22,890 आप किसी विशेष सॉफ्टवेयर की जरूरत नहीं 389 00:17:22,890 --> 00:17:24,460 प्रतिशत से कार्यक्रमों को लिखने के लिए. 390 00:17:24,460 --> 00:17:27,220 तुम सिर्फ नोटपैड की तरह एक पाठ Windows पर, संपादक की जरूरत है, 391 00:17:27,220 --> 00:17:30,450 मैक पर TextEdit या जीएडिट कहा जाता है की दुनिया में कुछ, 392 00:17:30,450 --> 00:17:32,020 लिनक्स, जो हम यहाँ का उपयोग करेंगे. 393 00:17:32,020 --> 00:17:33,750 और वह यह है, प्रोग्राम लिखने. 394 00:17:33,750 --> 00:17:35,480 >> लेकिन लेखन समीकरण का केवल आधा है. 395 00:17:35,480 --> 00:17:36,630 फिर आप उन्हें चलाने की जरूरत है. 396 00:17:36,630 --> 00:17:38,320 लेकिन आदेश में कार्यक्रम चलाने के लिए - 397 00:17:38,320 --> 00:17:39,600 आप स्रोत कोड नहीं चला सकते हैं. 398 00:17:39,600 --> 00:17:41,500 आप के बजाय इसे करने के लिए पहले क्या करना है? 399 00:17:41,500 --> 00:17:41,900 हाँ. 400 00:17:41,900 --> 00:17:43,200 डेविड जे मालन: आप की जरूरत है 401 00:17:43,200 --> 00:17:44,130 यह संकलन. 402 00:17:44,130 --> 00:17:49,010 और, किसी और का मतलब है, स्रोत कोड संकलन - 403 00:17:49,010 --> 00:17:50,260 [अश्राव्य] 404 00:17:52,300 --> 00:17:52,700 डेविड जे मालन: बिल्कुल सही. 405 00:17:52,700 --> 00:17:54,430 यह शून्य और लोगों के लिए अनुवाद करते हैं. 406 00:17:54,430 --> 00:17:57,150 क्योंकि इन दिनों हम सब के, कंप्यूटर कि CPUs है, 407 00:17:57,150 --> 00:18:00,350 जिनमें से लगभग सभी एक इंटेल नामक कंपनी द्वारा बनाई गई हैं, और 408 00:18:00,350 --> 00:18:03,320 इंटेल के अंदर का मतलब है, वहाँ के अपने इस दिमाग के अंदर है 409 00:18:03,320 --> 00:18:04,990 कंप्यूटर, सीपीयू के रूप में जाना जाता है. 410 00:18:04,990 --> 00:18:07,570 और एक चीजों की है कि है कि मस्तिष्क करता है, यह जानता है 411 00:18:07,570 --> 00:18:10,390 कैसे शून्य और लोगों के पैटर्न को समझने के लिए. 412 00:18:10,390 --> 00:18:13,240 यह जानता है कि क्या बिट्स के पैटर्न इसके अलावा प्रतिनिधित्व करता है, क्या 413 00:18:13,240 --> 00:18:15,500 पैटर्न subtractions का प्रतिनिधित्व करता है, क्या पैटर्न के 414 00:18:15,500 --> 00:18:18,890 बिट्स, छपाई का प्रतिनिधित्व करते हैं और एक श्रव्य ध्वनि बनाने. 415 00:18:18,890 --> 00:18:22,450 >> तो संक्षेप में, सीपीयू, ऑपरेटिंग सिस्टम के साथ मिलकर, 416 00:18:22,450 --> 00:18:25,230 जो सॉफ्टवेयर का एक टुकड़ा है कि CPU के शीर्ष पर चलाता है, 417 00:18:25,230 --> 00:18:26,050 इतनी बात करने के लिए. 418 00:18:26,050 --> 00:18:29,850 साथ में, उन दो टुकड़े जानते हैं कि कैसे प्रोग्राम चलाने के लिए 419 00:18:29,850 --> 00:18:31,070 हम इंसानों लिखें. 420 00:18:31,070 --> 00:18:34,040 >> तो अगर मैं यहाँ CS50 उपकरण में जाओ, मैं खोलने की जरूरत 421 00:18:34,040 --> 00:18:35,660 एक पाठ संपादक और मैं इस का उपयोग कर सकते हैं 422 00:18:35,660 --> 00:18:36,560 तरीके के एक जोड़े में. 423 00:18:36,560 --> 00:18:39,060 मैं या तो मेनू के लिए जा सकते हैं, प्रोग्रामिंग, 424 00:18:39,060 --> 00:18:40,230 और फिर मैं का चयन कर सकते हैं - 425 00:18:40,230 --> 00:18:40,810 नहींं, कि मेनू में नहीं. 426 00:18:40,810 --> 00:18:43,860 मैं सहायक जाना / यहाँ जीएडिट को खोलने के लिए कर सकते हैं 427 00:18:43,860 --> 00:18:45,090 मेरी छोटी पाठ संपादक. 428 00:18:45,090 --> 00:18:48,030 या अधिक बस, मैं नीचे में इस छोटे आइकन पर क्लिक कर सकते हैं 429 00:18:48,030 --> 00:18:48,970 बाएँ हाथ के कोने. 430 00:18:48,970 --> 00:18:50,430 और अब मैं यहाँ इस माहौल मिलता है. 431 00:18:50,430 --> 00:18:52,590 यह सुंदर एक साधारण पाठ संपादक की याद ताजा करती है, बस के साथ 432 00:18:52,590 --> 00:18:53,820 एक या दो मतभेद. 433 00:18:53,820 --> 00:18:56,420 शीर्ष में, जहां कर्सर निमिष अब है, यह वह जगह है जहाँ है 434 00:18:56,420 --> 00:18:57,900 मैं अपने कोड लेखन शुरू कर सकते हैं. 435 00:18:57,900 --> 00:19:00,415 नीचे में इस बात टर्मिनल विंडो कहा जाता है. 436 00:19:00,415 --> 00:19:03,400 और क्या बातें की तरह मैं इस में कर सकते हैं 437 00:19:03,400 --> 00:19:04,960 टर्मिनल विंडो तथाकथित? 438 00:19:04,960 --> 00:19:06,680 [अश्राव्य] 439 00:19:06,680 --> 00:19:07,890 >> ठीक है, तो मैं कमांड चलाने जाएगा. 440 00:19:07,890 --> 00:19:10,300 और आदेशों हम सोमवार को दौड़ा कुछ एक छोटे से थे 441 00:19:10,300 --> 00:19:15,070 गुप्त पहले, लेकिन सूची के लिए रास, परिवर्तन निर्देशिका के लिए सीडी, 442 00:19:15,070 --> 00:19:16,540 rm, हटाने के लिए. 443 00:19:16,540 --> 00:19:19,680 तो यह आपके नेविगेट करने के एक तरह से पुराने स्कूल की तरह है 444 00:19:19,680 --> 00:19:22,310 कंप्यूटर, केवल अपने कीबोर्ड और शाब्दिक कमांड का उपयोग, 445 00:19:22,310 --> 00:19:24,130 और आम तौर पर, नहीं, एक माउस का उपयोग. 446 00:19:24,130 --> 00:19:25,960 लेकिन हम लंबे समय से पहले देखेंगे, यह वास्तव में हमें एक देता है 447 00:19:25,960 --> 00:19:28,520 थोड़ा और अधिक शक्ति और जो करने के साथ एक छोटे से अधिक सटीक 448 00:19:28,520 --> 00:19:29,600 खुद को व्यक्त करते हैं. 449 00:19:29,600 --> 00:19:31,330 और फिर छोड़ दिया पर यहाँ पर हम सिर्फ देखने जा रहे हैं, 450 00:19:31,330 --> 00:19:34,360 के रूप में हम सॉफ्टवेयर लेखन, का एक छोटा सारांश शुरू 451 00:19:34,360 --> 00:19:36,350 प्रोग्राम है कि हम ऊपर छोड़ दिया पर लिखा है. 452 00:19:36,350 --> 00:19:38,360 लेकिन हम लंबे समय से पहले वह फिर से देखेंगे. 453 00:19:38,360 --> 00:19:40,050 >> तो चलो यहाँ काफी सरल कुछ करना. 454 00:19:40,050 --> 00:19:43,440 पहले मुझे आगे जाना है और फाइल करने के लिए बचाने के लिए जाना है, और मैं सिर्फ हूँ 455 00:19:43,440 --> 00:19:45,970 यहाँ पर jharvard क्लिक करने के लिए जा रहा है, छोड़ दिया पर खत्म हो गया है, और 456 00:19:45,970 --> 00:19:48,930 jharvard है, फिर से, मेरे घर फ़ोल्डर के लिए नाम, मेरे 457 00:19:48,930 --> 00:19:52,110 व्यक्तिगत फाइलें, मुझे पता है, अब जा रहा है जॉन हार्वर्ड, आप सभी के रूप में 458 00:19:52,110 --> 00:19:54,230 जल्द ही इस माहौल में जॉन हार्वर्ड होगा. 459 00:19:54,230 --> 00:19:57,360 वह इस घर निर्देशिका मिला है, मेरे दस्तावेज़ और बहुत आगे है, 460 00:19:57,360 --> 00:19:58,900 कि मुझे बचाने के लिए, अब चाहते हैं, इस फ़ाइल के अंदर 461 00:19:58,900 --> 00:20:01,520 तो मैं यह hello.c कॉल करने के लिए जा रहा हूँ. तो मैं जा रहा हूँ 462 00:20:01,520 --> 00:20:05,770 आगे और सहेजें, और अब क्लिक करें क्या मैं यहाँ है एक टैब है 463 00:20:05,770 --> 00:20:09,440 hello.c इतना संपादक की एक अन्य प्रकार की तरह, कहा जाता है. 464 00:20:09,440 --> 00:20:11,760 >> तो अब मुझे आगे जाना है और एक प्रोग्राम लिखने शुरू. 465 00:20:11,760 --> 00:20:14,440 int मुख्य (शून्य). 466 00:20:14,440 --> 00:20:18,150 और फिर मैं बस पिछली बार किया था, printf के लिए, प्रिंट स्वरूपित, 467 00:20:18,150 --> 00:20:22,120 ("हैलो दुनिया!" 468 00:20:22,120 --> 00:20:24,500 ). 469 00:20:24,500 --> 00:20:25,630 लगभग पूरा हो गया है. 470 00:20:25,630 --> 00:20:27,130 लेकिन मैं विवरण के एक जोड़े को याद कर रहा हूँ. 471 00:20:27,130 --> 00:20:30,210 क्या इस कार्यक्रम है कि मैं वास्तव में के लिए की जरूरत से लापता है 472 00:20:30,210 --> 00:20:31,890 यह वास्तव में संकलन करने के लिए? 473 00:20:31,890 --> 00:20:32,130 हाँ. 474 00:20:32,130 --> 00:20:33,980 [अश्राव्य]? 475 00:20:33,980 --> 00:20:35,770 >> डेविड जे मालन: हाँ, तो मैं मानक शामिल करने की ज़रूरत है 476 00:20:35,770 --> 00:20:36,700 मैं / हे पुस्तकालय. 477 00:20:36,700 --> 00:20:39,470 इस मुख्य ऊपर जाने की जरूरत है, तो मैं बस के लिए जा रहा हूँ तो 478 00:20:39,470 --> 00:20:40,790 इसके लिए कुछ कमरे बनाने के. 479 00:20:40,790 --> 00:20:44,420 और मैं # शामिल करने के लिए जा रहा हूँ. 480 00:20:44,420 --> 00:20:46,570 और angled कोष्ठक वहाँ नोटिस. 481 00:20:46,570 --> 00:20:49,410 और एक अलग रूप में, जी - एडिट एक छोटा उपयोगकर्ता के अनुकूल है, अगर 482 00:20:49,410 --> 00:20:52,420 कभी कभी एक छोटे से भ्रामक है, कि यह करने के लिए मदद करने की कोशिश करता है अपने 483 00:20:52,420 --> 00:20:54,770 आँखों के साथ क्या क्या लाइनों को नोटिस. 484 00:20:54,770 --> 00:20:57,760 तो तथ्य यह है कि मेरे इस angled कर्सर है 485 00:20:57,760 --> 00:21:00,600 ब्रैकेट नोटिस, यह कैसे अन्य angled पर प्रकाश डाला है 486 00:21:00,600 --> 00:21:01,920 ब्रैकेट प्लस यह एक. 487 00:21:01,920 --> 00:21:03,770 और कहा कि सिर्फ इस तथ्य के लिए मेरा ध्यान आकर्षित करने के लिए मुझे लगता है कि 488 00:21:03,770 --> 00:21:04,460 समरूपता है. 489 00:21:04,460 --> 00:21:07,010 और प्रोग्रामिंग में समरूपता आम तौर पर एक अच्छी बात है. 490 00:21:07,010 --> 00:21:10,270 इसी प्रकार, यदि मैं अंत करने के लिए अपने कर्सर चाल नोटिस, कैसे 491 00:21:10,270 --> 00:21:13,630 घुंघराले ब्रेसिज़ लाइन बताते हैं कि, हाँ, मैं एक खुला है 492 00:21:13,630 --> 00:21:15,160 और एक बंद एक, तो बात करो. 493 00:21:15,160 --> 00:21:16,640 >> ठीक है, मैं और एक अन्य बात कर सकते हैं. 494 00:21:16,640 --> 00:21:20,090 यह सख्ती से आवश्यक है, लेकिन अच्छा अभ्यास नहीं है, कहने के लिए 495 00:21:20,090 --> 00:21:21,250 0 वापसी. 496 00:21:21,250 --> 00:21:24,140 और बदले 0 हमारे लिए क्या करता है? 497 00:21:24,140 --> 00:21:25,584 या का मतलब क्या है? 498 00:21:25,584 --> 00:21:27,480 [अश्राव्य] 499 00:21:27,480 --> 00:21:28,300 डेविड जे मालन: लेकिन कुछ भी गलत नहीं है. 500 00:21:28,300 --> 00:21:30,280 और स्पष्ट रूप से यह मुश्किल है एक में बहुत गलत जाने के लिए 501 00:21:30,280 --> 00:21:31,250 इस छोटे से कार्यक्रम. 502 00:21:31,250 --> 00:21:33,930 तो मैं बस स्पष्ट सुपर किया जा रहा है कि सब ठीक है. 503 00:21:33,930 --> 00:21:36,740 मैं, मानव, जब मैं इस कार्यक्रम को चलाने, शायद कभी नहीं होगा 504 00:21:36,740 --> 00:21:38,150 0 कि देखते हैं. 505 00:21:38,150 --> 00:21:41,070 आम तौर पर, इन नंबरों कि मुख्य से लौट रहे हैं किया जा रहा है 506 00:21:41,070 --> 00:21:43,540 केवल मनुष्य के लिए जब उनके सिर के पीछे 507 00:21:43,540 --> 00:21:44,360 कुछ गलत हो जाता है. 508 00:21:44,360 --> 00:21:46,640 और तुम कह प्रणाली त्रुटि ऊपर थोड़ा पॉप मिलता है, एक, 509 00:21:46,640 --> 00:21:48,760 दो, तीन, या जो भी संख्या था कि 510 00:21:48,760 --> 00:21:50,100 वास्तव में लौट आए. 511 00:21:50,100 --> 00:21:52,870 और इस के साथ कुछ गलत तो? 512 00:21:52,870 --> 00:21:55,300 [अश्राव्य] 513 00:21:55,300 --> 00:21:58,100 >> डेविड जे मालन: तो यह इतना एक कार्यात्मक गलती नहीं है 514 00:21:58,100 --> 00:21:59,240 लेकिन एक सौंदर्य एक. 515 00:21:59,240 --> 00:22:02,340 मैं शायद एक newline चरित्र में रखा जाना चाहिए 516 00:22:02,340 --> 00:22:05,240 इतना है कि इस स्ट्रिंग के अंत में हम वास्तव में कर्सर को स्थानांतरित 517 00:22:05,240 --> 00:22:08,340 अगली पंक्ति, और कार्यक्रम सिर्फ एक छोटे से सुंदर लग रहा है. 518 00:22:08,340 --> 00:22:10,340 >> तो अब मुझे मेरे टर्मिनल विंडो के लिए नीचे जाने 519 00:22:10,340 --> 00:22:11,490 ज़ूम और वापस अंदर 520 00:22:11,490 --> 00:22:13,390 और यह बात यहाँ, यह तुरंत कहा जाता है. 521 00:22:13,390 --> 00:22:16,760 यह सिर्फ मुझे याद दिलाता है कि मैं कौन हूँ, jharvard @ उपकरण, जहां 522 00:22:16,760 --> 00:22:18,850 उपकरण मैं कंप्यूटर पर हूँ के नाम है. 523 00:22:18,850 --> 00:22:22,380 कोष्ठक में इस टिल्ड, विद्रूप प्रतीक है, जो 524 00:22:22,380 --> 00:22:24,160 क्या प्रतिनिधित्व करता है? 525 00:22:24,160 --> 00:22:25,590 दर्शक: घर निर्देशिका. 526 00:22:25,590 --> 00:22:26,350 डेविड जे मालन होम निर्देशिका:. 527 00:22:26,350 --> 00:22:29,350 तो है कि सिर्फ कह रही है आप में हैं के लिए एक आशुलिपि संकेतन है 528 00:22:29,350 --> 00:22:32,780 आपकी व्यक्तिगत फ़ोल्डर जहाँ आपकी फ़ाइलों के सभी डिफ़ॉल्ट रूप से जाना. 529 00:22:32,780 --> 00:22:36,080 तो अब, यहाँ, मैं सूची के लिए रास टाइप कर सकते हैं. 530 00:22:36,080 --> 00:22:40,020 और केवल एक चीज मैं पल में यहाँ देखने hello.c है. 531 00:22:40,020 --> 00:22:41,770 और यह अच्छी बात है क्योंकि मैं सिर्फ यह लिखा है. 532 00:22:41,770 --> 00:22:44,380 >> तो मुझे आगे जाते हैं और नमस्ते बनाने. 533 00:22:44,380 --> 00:22:46,830 नोटिस और मैं नहीं hello.c बनाने टाइप कर रहा हूँ. 534 00:22:46,830 --> 00:22:50,300 इसके बजाय, मैं केवल फ़ाइल के आधार नाम टाइप कर रहा हूँ, नमस्ते. 535 00:22:50,300 --> 00:22:53,690 और, के रूप में हम सोमवार को देखा था, सिर्फ अनुमान है कि मैं चाहता हूँ 536 00:22:53,690 --> 00:22:54,920 ग फ़ाइल. 537 00:22:54,920 --> 00:22:56,820 तो अब मैं टाइप किया है हैलो बनाने. 538 00:22:56,820 --> 00:22:59,280 अब मैं यह काफी लंबे समय से एक आदेश देखने के लिए और जारी रहेगा 539 00:22:59,280 --> 00:23:00,480 यह फिर से और फिर से देख. 540 00:23:00,480 --> 00:23:03,620 लेकिन स्पष्ट, बजना, शब्द है कि बस में दिखाई दिया हो, 541 00:23:03,620 --> 00:23:05,340 कि वास्तविक संकलक है. 542 00:23:05,340 --> 00:23:08,200 बस एक निर्माण उपयोगिता है. 543 00:23:08,200 --> 00:23:11,900 यह सिर्फ एक और अधिक उपयोगकर्ता के अनुकूल कार्यक्रम है कि मुझे बचाता है में, 544 00:23:11,900 --> 00:23:15,310 लंबे समय के लिए अविश्वसनीय रूप से लंबे थकाऊ प्रकार बाहर होने से चलाने के लिए, 545 00:23:15,310 --> 00:23:17,020 एक तरह है कि आदेश. 546 00:23:17,020 --> 00:23:18,950 तो तुम बजना मैन्युअल रूप से चला सकता है. 547 00:23:18,950 --> 00:23:20,530 तुम कि मैन्युअल के सभी प्रकार सकता है. 548 00:23:20,530 --> 00:23:21,580 बस बहुत कठिन हो जाता है. 549 00:23:21,580 --> 00:23:24,720 और इसलिए सिर्फ एक प्रोग्राम है कि हमारे जीवन को सरल और 550 00:23:24,720 --> 00:23:27,120 हमारे लिए और अधिक जटिल आदेश चलाता है. 551 00:23:27,120 --> 00:23:29,410 >> ठीक है, तो अब मैं क्या फ़ाइल होना चाहिए 552 00:23:29,410 --> 00:23:31,540 अपने मौजूदा निर्देशिका में? 553 00:23:31,540 --> 00:23:36,310 Hello.c, इतना ही नहीं, लेकिन यह भी हैलो. 554 00:23:36,310 --> 00:23:39,710 तो अगर मैं हैलो चलाना चाहते हैं याद है, कि मैं डॉट स्लैश कहते हैं, 555 00:23:39,710 --> 00:23:42,220 जहां डॉट का मतलब है वर्तमान फ़ोल्डर, तुम जहाँ में जाना 556 00:23:42,220 --> 00:23:46,060 कर रहे हैं, और फिर नमस्ते कार्यक्रम बुलाया चलाने के लिए, और वास्तव में, अब, 557 00:23:46,060 --> 00:23:48,080 मैं नमस्ते दुनिया है. 558 00:23:48,080 --> 00:23:51,640 सब ठीक है, कार्यप्रवाह पर कोई प्रश्न या वाक्यविन्यास 559 00:23:51,640 --> 00:23:52,890 हम अभी क्या किया? 560 00:23:55,380 --> 00:23:57,040 >> ठीक है, तो हम एक पायदान ऊपर बातें फिर से ले. 561 00:23:57,040 --> 00:24:00,430 तो यह सिर्फ एक प्रोग्राम लिखने underwhelming था कि केवल 562 00:24:00,430 --> 00:24:01,790 कभी हैलो दुनिया कहते हैं. 563 00:24:01,790 --> 00:24:03,920 तो हम इसे बदल गया है, सोमवार को, कहते हैं, हैलो, डेविड. 564 00:24:03,920 --> 00:24:06,560 यह थोड़ा और अधिक व्यक्तिगत है, लेकिन बस के रूप में मुश्किल के रूप में कोडित 565 00:24:06,560 --> 00:24:07,410 पहले संस्करण. 566 00:24:07,410 --> 00:24:08,780 तो यह है कि सभी मजबूर नहीं. 567 00:24:08,780 --> 00:24:13,120 लेकिन वहाँ सी में मौजूद है, कार्यों निश्चित रूप से के अलावा 568 00:24:13,120 --> 00:24:15,700 प्रिंट, कार्य करता है कि आप उपयोगकर्ता इनपुट मिल. 569 00:24:15,700 --> 00:24:17,990 और जिस तरह से हम यह किया है, दूसरे दिन, इस प्रकार के रूप में किया गया था. 570 00:24:17,990 --> 00:24:21,440 इससे पहले कि मैं वास्तव में बाहर कुछ प्रिंट, मैं पहली बार मिला 571 00:24:21,440 --> 00:24:22,410 उपयोगकर्ता से कुछ. 572 00:24:22,410 --> 00:24:23,370 तो मुझे यह फिर से करना. 573 00:24:23,370 --> 00:24:26,580 >> स्ट्रिंग है, जहां एस मनमाना नाम, एक के लिए यहाँ है 574 00:24:26,580 --> 00:24:30,600 स्ट्रिंग, GetString के बराबर होती है. 575 00:24:30,600 --> 00:24:32,070 तो क्या GetString किया गया था? 576 00:24:32,070 --> 00:24:34,630 यह स्पष्ट रूप से एक स्ट्रिंग हो जाता है, उसके नाम पर आधारित है. 577 00:24:34,630 --> 00:24:37,560 लेकिन यह क्या है, और अधिक तकनीकी? 578 00:24:37,560 --> 00:24:38,440 यह एक समारोह है. 579 00:24:38,440 --> 00:24:41,790 तो यह एक समारोह है कि सी से प्रति के साथ नहीं आती है. 580 00:24:41,790 --> 00:24:43,660 CS50 स्टाफ यह लिखा था. 581 00:24:43,660 --> 00:24:46,940 और इसलिए इस का उपयोग करने के लिए, तुम सिर्फ stdio.h शामिल नहीं कर सकते हैं, 582 00:24:46,940 --> 00:24:49,630 आप भी क्या शामिल करने की ज़रूरत है? 583 00:24:49,630 --> 00:24:50,060 हाँ. 584 00:24:50,060 --> 00:24:54,210 Cs50.h, जो सिर्फ एक फ़ाइल है तो हम कुछ साल पहले लिखा था. 585 00:24:54,210 --> 00:24:57,130 हम यह आप के लिए बगल में उपकरण पर स्थापित 586 00:24:57,130 --> 00:24:58,490 मानक फ़ाइलों के सभी. 587 00:24:58,490 --> 00:25:00,500 और इसलिए वर्ग के इन पहले कुछ हफ्तों में, हम उपयोग करेंगे 588 00:25:00,500 --> 00:25:02,820 यह सिर्फ बहुत ही बुनियादी करने की प्रक्रिया को सरल करने के लिए 589 00:25:02,820 --> 00:25:04,600 बातें हो रही उपयोगकर्ता इनपुट की तरह. 590 00:25:04,600 --> 00:25:07,370 क्योंकि जैसा कि हम कुछ ही हफ्तों में देखेंगे, हो रही एक में उपयोगकर्ता इनपुट 591 00:25:07,370 --> 00:25:10,180 सी की तरह भाषा वास्तव में आश्चर्यजनक जटिल है, 592 00:25:10,180 --> 00:25:14,360 विशेष रूप से, क्योंकि आप अग्रिम में नहीं पता है कि आम तौर पर, कि कैसे 593 00:25:14,360 --> 00:25:17,030 ज्यादा सामान उपयोगकर्ता प्रकार अंदर जा रहा है 594 00:25:17,030 --> 00:25:20,340 और जब आप जानते हैं कि कितना डेटा उम्मीद करने के लिए करते हैं, आप नहीं 595 00:25:20,340 --> 00:25:22,380 पता है कितना स्मृति आवंटित करने के लिए. 596 00:25:22,380 --> 00:25:25,480 और अगर आप वास्तव में एक adversarial उपयोगकर्ता के लिए जो कोशिश कर रहा है 597 00:25:25,480 --> 00:25:28,180 आपके सिस्टम में हैक करने के लिए, अपने कंप्यूटर में अच्छी तरह से दुर्घटना, 598 00:25:28,180 --> 00:25:31,600 आम तौर पर हमले की पहली विधि है, बस के रूप में मैं पर किया 599 00:25:31,600 --> 00:25:34,950 सोमवार, यादृच्छिक वर्ण की एक पूरी लंबी अनुक्रम लिखें, 600 00:25:34,950 --> 00:25:37,020 हिट दर्ज करें, और देखने के लिए क्या टूट जाता है. 601 00:25:37,020 --> 00:25:40,800 क्योंकि आम तौर पर, एक कार्यक्रम टूटता है, कि में संकेत 602 00:25:40,800 --> 00:25:42,650 एक सुरक्षा दोष, संभावित. 603 00:25:42,650 --> 00:25:45,250 यह निश्चित रूप से आप में संकेत है, प्रोग्रामर, एक बना दिया 604 00:25:45,250 --> 00:25:49,050 गलती की है, लेकिन अधिक खतरनाक है, तुम्हें बनाया है हो सकता है एक 605 00:25:49,050 --> 00:25:52,430 गलती सुरक्षा से संबंधित है, और आम तौर पर हम देखेंगे कि 606 00:25:52,430 --> 00:25:54,840 कि कैसे मशीनों इस दिन के लिए समझौता कर रहे हैं दोनों, 607 00:25:54,840 --> 00:25:56,620 और वेब पर कार्यक्रमों की दुनिया में 608 00:25:56,620 --> 00:25:58,070 इस तरह कमांड लाइन. 609 00:25:58,070 --> 00:25:58,350 >> सही सभी. 610 00:25:58,350 --> 00:26:00,460 तो स्ट्रिंग s GetString के बराबर होती है. 611 00:26:00,460 --> 00:26:03,380 तो अधिक concretely, 6 लाइन यहाँ क्या करता है? 612 00:26:03,380 --> 00:26:05,640 तो सही पर समारोह स्ट्रिंग हो जाता है, 613 00:26:05,640 --> 00:26:06,890 लेता कितने तर्क? 614 00:26:09,458 --> 00:26:09,900 ठीक है. 615 00:26:09,900 --> 00:26:10,400 तो कोई नहीं है. 616 00:26:10,400 --> 00:26:11,360 एक छोटी सी विवेक की जाँच करें. 617 00:26:11,360 --> 00:26:15,380 एक तर्क है, फिर से, बस को बदलने के लिए एक समारोह के लिए एक इनपुट है 618 00:26:15,380 --> 00:26:17,250 कुछ रास्ते में डिफ़ॉल्ट व्यवहार. 619 00:26:17,250 --> 00:26:19,540 लेकिन इस मामले में, मैं करने के लिए बदल नहीं करना चाहती 620 00:26:19,540 --> 00:26:20,650 GetString का व्यवहार. 621 00:26:20,650 --> 00:26:22,430 मैं सिर्फ एक स्ट्रिंग प्राप्त करना चाहता था. 622 00:26:22,430 --> 00:26:25,190 तो मैं कुछ भी नहीं कोष्ठकों में डाल दिया, और फिर मैं एक डाल 623 00:26:25,190 --> 00:26:27,550 कोड की पंक्ति के अंत demarking सेमीकोलन. 624 00:26:27,550 --> 00:26:29,840 अब, हस्ताक्षर के बराबर होती है इसका मतलब यह नहीं के बराबर प्रतिशत से. 625 00:26:29,840 --> 00:26:32,690 यह काम का मतलब है, जो डाल मतलब जो कुछ भी हो जाता है 626 00:26:32,690 --> 00:26:36,060 बाईं तरफ जो कुछ भी है सही अंदर पर outputted. 627 00:26:36,060 --> 00:26:39,400 >> तो बाईं तरफ, हम कहते हैं कि हम की घोषणा की है एक 628 00:26:39,400 --> 00:26:41,630 स्ट्रिंग कहा जाता है. 629 00:26:41,630 --> 00:26:44,240 और अधिक विशेष रूप से, हम के अंदर स्मृति आवंटित है 630 00:26:44,240 --> 00:26:46,340 जो हम बिट्स डाल देता हूँ कि एक दृश्य का प्रतिनिधित्व करता है 631 00:26:46,340 --> 00:26:46,850 वर्ण. 632 00:26:46,850 --> 00:26:49,400 लेकिन आज के लिए, हम आवंटित किया 633 00:26:49,400 --> 00:26:51,450 या एक स्ट्रिंग घोषित. 634 00:26:51,450 --> 00:26:51,790 सही सभी. 635 00:26:51,790 --> 00:26:54,760 तो अब एक बार मैं इस किया है, मैं के मूल्य में प्लग करना चाहते हैं 636 00:26:54,760 --> 00:26:56,535 है, दाऊद के मूल्य 637 00:26:56,535 --> 00:27:00,200 तो यह क्यों गलत है? 638 00:27:03,060 --> 00:27:04,870 तो यह बस सचमुच कठिन कोडित है. 639 00:27:04,870 --> 00:27:06,870 यह कहते हैं "हैलो, है," जो मैं क्या चाहता है नहीं है. 640 00:27:06,870 --> 00:27:07,790 इसलिए मैं यह कर सकता हूँ. 641 00:27:07,790 --> 00:27:10,330 प्रतिशत चिह्न एक प्लेसहोल्डर है, लेकिन अब मैं करने की जरूरत है 642 00:27:10,330 --> 00:27:12,520 एक दूसरा तर्क प्रिंट में पारित. 643 00:27:12,520 --> 00:27:15,160 याद है कि कार्य करने के लिए तर्क से अलग हो रहे हैं 644 00:27:15,160 --> 00:27:20,300 अल्पविराम, तो अगले अल्पविराम यहाँ मैं इस पत्र के बाद डाल दिया. 645 00:27:20,300 --> 00:27:23,740 और अब इस संदर्भ में, चर है, printf और, 646 00:27:23,740 --> 00:27:25,550 उन दो आदानों प्राप्त करने पर - 647 00:27:25,550 --> 00:27:29,440 बाईं तरफ के और सही पर चर नाम स्ट्रिंग - 648 00:27:29,440 --> 00:27:32,750 यह हमारे लिए पूर्व में बाद प्लग, और 649 00:27:32,750 --> 00:27:34,600 बस से बाहर एक अच्छा सुंदर युक्त स्ट्रिंग प्रिंट 650 00:27:34,600 --> 00:27:36,770 जो कुछ भी ऐसा नहीं है कि हम अंदर टाइप 651 00:27:36,770 --> 00:27:37,560 >> तो चलो इस प्रयास करें. 652 00:27:37,560 --> 00:27:38,860 आगे जाने के लिए और बाहर ज़ूम, वापस जा रहे हैं 653 00:27:38,860 --> 00:27:40,250 मेरे टर्मिनल विंडो. 654 00:27:40,250 --> 00:27:41,840 नीचे में यहाँ ज़ूम. 655 00:27:41,840 --> 00:27:44,070 पुन: लिखें हैलो बनाने. 656 00:27:44,070 --> 00:27:45,870 बजना फिर से दौड़ना किया गया है लगता है. 657 00:27:45,870 --> 00:27:49,280 मैं टाइप करने के लिए जा रहा हूँ /. हैलो दर्ज करें. 658 00:27:49,280 --> 00:27:52,145 कुछ भी नहीं करने के लिए अभी तक हो रहा लगता है, लेकिन यह इस प्रांप्ट 659 00:27:52,145 --> 00:27:55,700 है कि मैं नैट तरह कुछ लिख सकते हैं, दर्ज करें, और अब हम 660 00:27:55,700 --> 00:27:56,380 हैलो, नैट. 661 00:27:56,380 --> 00:27:59,600 और मैं इसे फिर से रोब के साथ कर सकते हैं, और बहुत आगे है. 662 00:27:59,600 --> 00:28:03,410 तो उम्मीद है कि अब इस कार्यक्रम के रूप में मैं इरादा बर्ताव कर रही है. 663 00:28:03,410 --> 00:28:05,720 >> अब अनुकूल है, नहीं है कि सभी उपयोगकर्ता. 664 00:28:05,720 --> 00:28:07,930 मैं मेरे बारे में क्या किया जा रहा है उम्मीद है कोई विचार है. 665 00:28:07,930 --> 00:28:09,620 तो हम निश्चित रूप से एक छोटा सा यह साफ कर सकते हैं. 666 00:28:09,620 --> 00:28:13,270 मुझे वापस जाना यहाँ, और के बजाय बस में डाइविंग और 667 00:28:13,270 --> 00:28:16,480 एक स्ट्रिंग के लिए उपयोगकर्ता पूछ, मुझे स्पष्ट रूप से बता 668 00:28:16,480 --> 00:28:17,750 उपयोगकर्ता मैं क्या उम्मीद कर रहा हूँ. 669 00:28:17,750 --> 00:28:21,610 तो printf ("एक स्ट्रिंग दर्ज करें:" 670 00:28:21,610 --> 00:28:24,080 ); 671 00:28:24,080 --> 00:28:25,510 तो यहाँ कोई चर. 672 00:28:25,510 --> 00:28:26,750 कोई प्रतिशत संकेत. 673 00:28:26,750 --> 00:28:28,550 बस सरल अंग्रेजी वाक्यांश. 674 00:28:28,550 --> 00:28:34,030 मुझे अब नीचे यहाँ जाओ और मेरे कार्यक्रम फिर से दौड़ना. 675 00:28:34,030 --> 00:28:35,380 लेकिन कुछ भी नहीं करने के लिए बदल दिया है लगता है. 676 00:28:35,380 --> 00:28:37,350 क्यों? 677 00:28:37,350 --> 00:28:38,380 मैं इसे recompile है. 678 00:28:38,380 --> 00:28:39,570 तो आसान गलती करने के लिए. 679 00:28:39,570 --> 00:28:41,700 लेकिन आप न केवल फ़ाइल बचाने के लिए है, लेकिन 680 00:28:41,700 --> 00:28:43,260 कार्यक्रम recompile. 681 00:28:43,260 --> 00:28:46,640 और यदि ऐसा है तो मैं फिर से चलाने के हैलो, अब बजना चलाता है. 682 00:28:46,640 --> 00:28:51,800 अब मैं चला. / नमस्ते कर सकते हैं. और अब मैं देख रहा हूँ "एक स्ट्रिंग दर्ज करें:". 683 00:28:51,800 --> 00:28:52,050 ठीक है. 684 00:28:52,050 --> 00:28:53,440 अब यह एक छोटे से अधिक उपयोगकर्ता के अनुकूल है. 685 00:28:53,440 --> 00:28:55,850 नैट दर्ज करें, हैलो, नैट. 686 00:28:55,850 --> 00:28:57,310 >> ठीक है, चलो यह फिर से कोशिश करते हैं और सोच शुरू 687 00:28:57,310 --> 00:28:58,080 कोने मामलों के बारे में. 688 00:28:58,080 --> 00:29:00,520 तो सिर्फ खरोंच में करना चाहते हैं, तो आप को प्रोत्साहित कर रहे हैं या कर रहे हैं किया जा रहा है 689 00:29:00,520 --> 00:29:03,180 कल्पना में प्रोत्साहित करने के लिए किस तरह का क्या जा सकता है के बारे में सोचना 690 00:29:03,180 --> 00:29:06,610 गलत अगर तुम सब कुछ उपयोगकर्ता कर सकता आशा नहीं है. 691 00:29:06,610 --> 00:29:08,050 कीड़े, इसलिए लगते हैं, हो सकता है. 692 00:29:08,050 --> 00:29:09,710 तो एक स्ट्रिंग दर्ज करें - 693 00:29:09,710 --> 00:29:11,130 एक कोने यहाँ मामला क्या है? 694 00:29:11,130 --> 00:29:13,320 क्या एक परिदृश्य है कि मैं, प्रोग्रामर है, नहीं भी हो सकता है 695 00:29:13,320 --> 00:29:16,070 प्रत्याशित? 696 00:29:16,070 --> 00:29:17,600 हाँ. 697 00:29:17,600 --> 00:29:17,920 ठीक है. 698 00:29:17,920 --> 00:29:22,060 तो क्या हुआ अगर मैं इस तरह एक नंबर में टाइप? 699 00:29:22,060 --> 00:29:22,500 सही सभी. 700 00:29:22,500 --> 00:29:24,490 तो यह अभी भी काम करता है. 701 00:29:24,490 --> 00:29:25,880 Gramatically कोई मतलब नहीं है. 702 00:29:25,880 --> 00:29:27,180 लेकिन कम से कम कार्यक्रम में काम करता है. 703 00:29:27,180 --> 00:29:28,650 >> एक दूसरे कोने का मामला क्या है? 704 00:29:28,650 --> 00:29:29,610 कुछ मैं उम्मीद नहीं की थी. 705 00:29:29,610 --> 00:29:31,590 हाँ? 706 00:29:31,590 --> 00:29:31,940 ठीक है. 707 00:29:31,940 --> 00:29:34,950 तो हम एक बहुत, बहुत बड़ी संख्या की तरह कुछ कर सकता है. 708 00:29:34,950 --> 00:29:37,270 तो यहाँ यह सब करते हैं. 709 00:29:37,270 --> 00:29:40,880 मुझे एक पल के लिए बाहर ज़ूम, मुझे पर प्रकाश डाला. 710 00:29:40,880 --> 00:29:42,250 कॉपी नीचे यहाँ पेस्ट नहीं कर सकते हैं और. 711 00:29:42,250 --> 00:29:42,470 सही सभी. 712 00:29:42,470 --> 00:29:44,440 तो मैं कॉपी और पेस्ट इस टर्मिनल विंडो में नहीं सकते हैं, तो हम करेंगे 713 00:29:44,440 --> 00:29:46,950 बस यह अनुकरण. 714 00:29:46,950 --> 00:29:51,340 मुझे बाहर ज़ूम, लपेटो करने के लिए जा रहा है. 715 00:29:51,340 --> 00:29:52,700 मैं भी लंबे समय के लिए ऐसा करने के लिए नहीं जा रहा हूँ, क्योंकि यह नहीं होगा 716 00:29:52,700 --> 00:29:54,440 वास्तव में इस कार्यक्रम में तोड़. 717 00:29:54,440 --> 00:29:55,260 लेकिन यह सकता है. 718 00:29:55,260 --> 00:29:55,830 दर्ज करें. 719 00:29:55,830 --> 00:29:56,580 लेकिन यह नहीं था. 720 00:29:56,580 --> 00:29:57,050 सही सभी. 721 00:29:57,050 --> 00:29:58,440 लेकिन यह एक वास्तविक कोने मामला है. 722 00:29:58,440 --> 00:30:01,610 और एक ही कारण है कि सही ढंग से व्यवहार किया है, इतना 723 00:30:01,610 --> 00:30:05,820 बात करते हैं, क्योंकि CS50 समारोह GetString वास्तव में है 724 00:30:05,820 --> 00:30:08,040 हुड के नीचे बनाया गया है, के रूप में हम एक कुछ हफ्तों में देखेंगे, 725 00:30:08,040 --> 00:30:11,570 करने के लिए स्वचालित रूप से अधिक से अधिक रैम, अधिक से अधिक का आवंटन 726 00:30:11,570 --> 00:30:14,330 ऑपरेटिंग सिस्टम से स्मृति, जब यह पता चलता है, वाह, 727 00:30:14,330 --> 00:30:16,670 आप वास्तव में काफी लंबे समय में कुछ टाइप किया है. 728 00:30:16,670 --> 00:30:18,500 अब, यह एक सफेद झूठ का एक सा है. 729 00:30:18,500 --> 00:30:22,020 यदि हम वास्तव में काफी देर के लिए रोक दिया है और मैं में टाइप 730 00:30:22,020 --> 00:30:24,640 पाँच अरब पात्रों की तरह कीबोर्ड पर कुछ 731 00:30:24,640 --> 00:30:28,060 यहाँ है, या वास्तव में कॉपी पेस्ट काफी एक बिट मारा, हम काफी संभवतः 732 00:30:28,060 --> 00:30:29,730 दुर्घटना करने के लिए कार्यक्रम का कारण बन सकता है. 733 00:30:29,730 --> 00:30:32,130 बस थोड़ा कठिन है कि एक परिमित साथ अनुकरण करने के लिए 734 00:30:32,130 --> 00:30:33,740 समय की राशि. 735 00:30:33,740 --> 00:30:37,320 >> क्या एक दूसरे कोने मामले में हम कोशिश कर सकते है? 736 00:30:37,320 --> 00:30:38,730 हाँ? 737 00:30:38,730 --> 00:30:39,020 हाँ. 738 00:30:39,020 --> 00:30:40,360 तो हम कुछ भी जवाब क्यों नहीं देते? 739 00:30:40,360 --> 00:30:43,130 तो हम वास्तव में कुछ कार्रवाई करने के लिए है, क्योंकि अन्यथा 740 00:30:43,130 --> 00:30:45,060 कार्यक्रम के लिए सभी दिन निमिष बैठ जा रहा है. 741 00:30:45,060 --> 00:30:46,860 लेकिन अगर मैं सिर्फ मारा - 742 00:30:46,860 --> 00:30:48,780 ठीक है, अब, अभी भी गलत लग रहा है. 743 00:30:48,780 --> 00:30:51,670 क्या दुर्घटना नहीं है, लेकिन शायद वहाँ अब एक अवसर है 744 00:30:51,670 --> 00:30:54,190 एक और अधिक कठोर कार्यक्रम को लागू करने शुरू 745 00:30:54,190 --> 00:30:55,290 कि वास्तव जांचता है. 746 00:30:55,290 --> 00:30:57,640 और अगर मैं स्ट्रिंग, वाक्य, शब्द है कि 747 00:30:57,640 --> 00:31:00,890 0 लंबाई में लिखा है, ठीक है, शायद मैं पर चिल्लाना चाहिए 748 00:31:00,890 --> 00:31:03,770 उपयोगकर्ता, या उसे बता सकते हैं या उसे एक स्ट्रिंग फिर से प्रवेश करने के लिए, इतना है कि 749 00:31:03,770 --> 00:31:06,560 हम वास्तव में प्राप्त नहीं है और क्या सही व्यवहार की तरह लग रहा है 750 00:31:06,560 --> 00:31:08,570 सिर्फ मेरे हिस्से पर पूरा निरीक्षण. 751 00:31:08,570 --> 00:31:11,130 >> पीठ में सवाल? 752 00:31:11,130 --> 00:31:11,970 दशमलव संख्या. 753 00:31:11,970 --> 00:31:13,120 इसलिए हम कोशिश भी सकता है. 754 00:31:13,120 --> 00:31:16,840 1.10000005. 755 00:31:16,840 --> 00:31:19,470 लगता है जैसे कि अभी वास्तव में ठीक काम करने के लिए जा रहा है. 756 00:31:19,470 --> 00:31:21,160 और वह वास्तव में उम्मीद है. 757 00:31:21,160 --> 00:31:24,550 हालांकि हम टाइप हो सकता है कि वहाँ संख्या, या एक 758 00:31:24,550 --> 00:31:28,200 बड़ी संख्या पहले का एहसास है कि जब हम उपयोगकर्ता टाइप कर रहे हैं 759 00:31:28,200 --> 00:31:31,070 नहीं करता इनपुट और हम GetString समारोह का उपयोग कर रहे हैं, 760 00:31:31,070 --> 00:31:34,380 मैं क्या टाइप कर रहा हूँ अगर बात एक नंबर की तरह लग रहा है. 761 00:31:34,380 --> 00:31:36,720 याद है कि ASCII, अपने पर सब कुछ के अनुसार 762 00:31:36,720 --> 00:31:39,920 कुंजीपटल एक संख्यात्मक मूल्य है कि एक के लिए मैप किया जा सकता है 763 00:31:39,920 --> 00:31:41,480 चरित्र, एक चार. 764 00:31:41,480 --> 00:31:44,490 तो इस मामले में, भले ही मैं एक नंबर टाइप करें, हो सकता है 765 00:31:44,490 --> 00:31:48,190 कंप्यूटर यह सोचने के लिए जा रहा है, तो एक स्ट्रिंग के रूप में बात करने के लिए - 766 00:31:48,190 --> 00:31:49,870 कुछ है कि एक नंबर की तरह दिखता है, लेकिन है 767 00:31:49,870 --> 00:31:51,090 एक संख्या वास्तव में नहीं है. 768 00:31:51,090 --> 00:31:53,450 लेकिन यह है कि वास्तव में एक आदर्श segue है क्योंकि अब हम कर सकते हैं, 769 00:31:53,450 --> 00:31:55,450 वास्तव में लिखने के कार्यक्रमों के लिए संक्रमण है कि 770 00:31:55,450 --> 00:31:56,730 अन्य डेटा प्रकार का उपयोग करें. 771 00:31:56,730 --> 00:32:01,840 >> तो अलावा घर का काम का उपयोग कर रहे हैं, या बल्कि, के अलावा तार का उपयोग, 772 00:32:01,840 --> 00:32:04,510 एहसास है कि हम सी में अन्य डेटा प्रकार के रूप में के रूप में अच्छी तरह से किया है 773 00:32:04,510 --> 00:32:05,230 अन्य भाषाओं. 774 00:32:05,230 --> 00:32:08,480 एक चार, जैसा कि नाम से पता चलता है, सिर्फ एक ही चरित्र है. 775 00:32:08,480 --> 00:32:12,150 एक नाव एक फ्लोटिंगपाइंटमूल्य है, और है कि सिर्फ एक कल्पना है 776 00:32:12,150 --> 00:32:14,470 एक वास्तविक संख्या कह का तरीका है - कुछ है कि एक दशमलव 777 00:32:14,470 --> 00:32:17,410 यह में छोड़ दिया और / या सही करने के लिए कुछ संख्या के साथ बिंदु. 778 00:32:17,410 --> 00:32:21,370 एक int एक पूर्णांक है, जो सिर्फ 123 की तरह एक नंबर है. 779 00:32:21,370 --> 00:32:24,170 और अब और अधिक दिलचस्प डबल की तरह बातें कर रहे हैं. 780 00:32:24,170 --> 00:32:28,540 हम क्या कहना था कि एक डबल पिछले समय था? 781 00:32:28,540 --> 00:32:30,050 यह 64 है, है ना. 782 00:32:30,050 --> 00:32:33,560 तो आम तौर पर जबकि एक नाव 32 बिट है - 783 00:32:33,560 --> 00:32:37,340 तो यह स्मृति में लंबे समय से इस है, यह 32 शून्य और लोगों का उपयोग करता है 784 00:32:37,340 --> 00:32:40,530 मूल्यों का प्रतिनिधित्व - दो बार है कि, एक डबल सचमुच है जो 785 00:32:40,530 --> 00:32:43,810 इसका मतलब है कि या तो आप बड़ी संख्या का प्रतिनिधित्व कर सकते हैं, या 786 00:32:43,810 --> 00:32:45,810 आप अधिक सटीक संख्या का प्रतिनिधित्व कर सकते हैं. 787 00:32:45,810 --> 00:32:48,690 तो आप दशमलव बिंदु के बाद अधिक संख्या है, लेकिन कर सकते हैं 788 00:32:48,690 --> 00:32:51,520 के रूप में साथी वीडियो में कहा, यहां तक ​​कि कुछ सरल 789 00:32:51,520 --> 00:32:55,360 धारणात्मक 1/3 की तरह एक से ठीक नहीं प्रतिनिधित्व किया जा सकता है 790 00:32:55,360 --> 00:32:58,330 कंप्यूटर, क्योंकि अंततः आप बिट्स के बाहर चलाने के लिए, और 791 00:32:58,330 --> 00:33:02,510 इसलिए आप केवल .33333333 तो कई बार, पर कर सकते हैं 792 00:33:02,510 --> 00:33:05,050 जो बात आप सिर्फ कहने के लिए मैं बाहर प्रतिनिधित्व के 793 00:33:05,050 --> 00:33:08,120 अंतरिक्ष, मैं सिर्फ इसे एक दिन फोन और यह प्रतिनिधित्व 794 00:33:08,120 --> 00:33:10,200 कुछ हद तक imprecisely कि तरह. 795 00:33:10,200 --> 00:33:11,110 और एक लंबे - 796 00:33:11,110 --> 00:33:13,880 बेवकूफ नाम है, लेकिन यह है क्योंकि वहाँ एक डेटा प्रकार एक के रूप में जाना जाता है 797 00:33:13,880 --> 00:33:19,350 सी में लंबे समय जो संयोग से अक्सर एक की तरह सिर्फ 32 बिट, 798 00:33:19,350 --> 00:33:21,670 int 32 बिट है, लेकिन एक लंबे 799 00:33:21,670 --> 00:33:23,560 आम तौर पर 64 बिट. 800 00:33:23,560 --> 00:33:25,740 तो यह सिर्फ मतलब है कि आप बड़ा प्रतिनिधित्व कर सकते हैं 801 00:33:25,740 --> 00:33:26,990 इस से संख्या. 802 00:33:26,990 --> 00:33:27,410 >> सही सभी. 803 00:33:27,410 --> 00:33:29,390 इसलिए यदि हम वास्तव में करने के लिए चीजें हम का प्रतिनिधित्व, शुरू करना चाहते हैं 804 00:33:29,390 --> 00:33:31,030 अधिक परिष्कृत प्रकार की जरूरत है, और हो सकता है 805 00:33:31,030 --> 00:33:32,340 यही कारण है कि हम स्ट्रिंग है. 806 00:33:32,340 --> 00:33:36,450 तो CS50 पुस्तकालय में फ़ाइल है कि cs50.h बुलाया, हम है 807 00:33:36,450 --> 00:33:41,110 वास्तव में एक डेटा प्रकार, इतनी बात करने के लिए कहा जाता है, स्ट्रिंग की घोषणा की है, 808 00:33:41,110 --> 00:33:42,710 लेकिन स्ट्रिंग वास्तव में मौजूद नहीं है. 809 00:33:42,710 --> 00:33:44,780 यह है, फिर, इन परतों में से एक हम छील करने के लिए जा रहे हैं 810 00:33:44,780 --> 00:33:47,490 एक या दो सप्ताह में वापस और इसे दूर फेंक, और वास्तव में 811 00:33:47,490 --> 00:33:49,640 एक स्ट्रिंग वास्तव में क्या है हुड के नीचे देखो, और 812 00:33:49,640 --> 00:33:50,840 यह कैसे प्रतिनिधित्व है. 813 00:33:50,840 --> 00:33:53,520 हम भी बूलियन मान को देखने के लिए जा रहे हैं. 814 00:33:53,520 --> 00:33:56,040 >> तो खरोंच के संदर्भ में एक bool क्या था? 815 00:33:59,154 --> 00:34:00,300 यह सही है या गलत है. 816 00:34:00,300 --> 00:34:03,900 तो यह सिर्फ एक मूल्य है कि सही है या गलत है, पर या 1, या बंद 817 00:34:03,900 --> 00:34:06,140 0, लेकिन आप दुनिया को देखना चाहते हैं. 818 00:34:06,140 --> 00:34:09,739 तो सी में, CS50 पुस्तकालय के लिए धन्यवाद, जो बारी में 819 00:34:09,739 --> 00:34:12,179 हुड के नीचे एक और पुस्तकालय भी शामिल है, हम 820 00:34:12,179 --> 00:34:14,909 एक डेटा प्रकार कि bool कहा जाता है, का उपयोग करने के जो 821 00:34:14,909 --> 00:34:18,730 सचमुच हमें मूल्यों सच है या झूठी आवंटित करने के लिए अनुमति देते हैं 822 00:34:18,730 --> 00:34:20,219 एक कार्यक्रम में बातें. 823 00:34:20,219 --> 00:34:23,880 >> तो चलो आगे यहाँ से जाने के लिए और एक छोटे से प्रोग्राम है कि लिखने 824 00:34:23,880 --> 00:34:26,330 संख्या के बजाय कुछ शामिल करता है. 825 00:34:26,330 --> 00:34:29,840 तो मुझे CS50 उपकरण के लिए वापस जाओ, मुझे आगे जाना है और 826 00:34:29,840 --> 00:34:32,770 यहाँ बुलाया एक नई फ़ाइल बना सकते हैं - 827 00:34:32,770 --> 00:34:35,460 चलो बस कुछ सरल math.c. तरह का कहना है 828 00:34:38,270 --> 00:34:38,710 सही सभी. 829 00:34:38,710 --> 00:34:41,600 और अब अपने कार्यक्रम के शीर्ष करने के लिए ऊपर जाना है, मैं कर रहा हूँ 830 00:34:41,600 --> 00:34:42,510 सामान्य करने के लिए जा रहा है - 831 00:34:42,510 --> 00:34:44,780 # शामिल , इतना है कि मैं का उपयोग कर सकते हैं 832 00:34:44,780 --> 00:34:46,860 printf, int मुख्य (शून्य) 833 00:34:46,860 --> 00:34:49,270 हम वापस करने के लिए आते हैं, अंत में हूँ, int क्या मतलब है 834 00:34:49,270 --> 00:34:52,389 यहाँ, शून्य यहाँ क्या मतलब है, लेकिन अब के लिए, सिर्फ इतना पता है कि 835 00:34:52,389 --> 00:34:54,270 आप इस तरह से कार्यक्रम शुरू किया है. 836 00:34:54,270 --> 00:34:56,280 अब मुझे आगे जाना है और एक छोटे से कुछ कहने जा रहा हूँ 837 00:34:56,280 --> 00:35:02,110 अलग - printf ("मुझे एक नंबर दो." 838 00:35:02,110 --> 00:35:03,570 ). 839 00:35:03,570 --> 00:35:09,220 यह तो मैं int n = GetInt करने के लिए जा रहा हूँ, क्योंकि 840 00:35:09,220 --> 00:35:12,770 GetInt बाहर जाता है CS50 पुस्तकालय में एक अन्य समारोह है 841 00:35:12,770 --> 00:35:14,060 GetString अलावा. 842 00:35:14,060 --> 00:35:17,340 और अब मैं बेवकूफ कुछ करने के लिए जा रहा हूँ "की तरह धन्यवाद, 843 00:35:17,340 --> 00:35:25,760 % d के लिए, "दशमलव पूर्णांक, और फिर अल्पविराम n, और 844 00:35:25,760 --> 00:35:26,620 तो 0 वापसी. 845 00:35:26,620 --> 00:35:28,940 तो फिर से लौटने के लिए, 0 संख्या मैं कर रहा हूँ के साथ कुछ नहीं करना है 846 00:35:28,940 --> 00:35:30,080 के लिए उपयोगकर्ता पूछ. 847 00:35:30,080 --> 00:35:33,620 बस अंत में है कि सभी, शायद, अच्छी तरह से है का प्रतीक है. 848 00:35:33,620 --> 00:35:36,290 >> तो मुझे मेरे टर्मिनल विंडो के लिए यहाँ नीचे जाना. 849 00:35:36,290 --> 00:35:39,590 मुझे गणित बनाने, टाइप दर्ज करें. 850 00:35:39,590 --> 00:35:41,360 और कुछ गड़बड़ है. 851 00:35:41,360 --> 00:35:44,620 गणित काम नहीं किया. 852 00:35:44,620 --> 00:35:46,170 यहाँ हमारे त्रुटि संदेशों में से 1 है. 853 00:35:46,170 --> 00:35:46,570 क्यों? 854 00:35:46,570 --> 00:35:49,720 एक छोटी सी गुप्त, लेकिन - 855 00:35:49,720 --> 00:35:50,060 हाँ. 856 00:35:50,060 --> 00:35:51,240 तो cs50.h. 857 00:35:51,240 --> 00:35:53,900 तो फिर, विशेष रूप से जल्दी पर, आप अपने पहले लिख देंगे 858 00:35:53,900 --> 00:35:56,590 1 pset के लिए वर्गों में कार्यक्रम, कार्यालय घंटे में, और 859 00:35:56,590 --> 00:35:59,050 स्पष्ट है, यह कभी कभी भारी हो जाएगा क्या इन बातों 860 00:35:59,050 --> 00:36:00,000 वास्तव में कह रहे हैं. 861 00:36:00,000 --> 00:36:01,890 लेकिन आप बहुत जल्दी एहसास वे गिर शुरू करेंगे 862 00:36:01,890 --> 00:36:06,120 बाल्टी जिससे एक यह है कि आप एक बंद छोड़ दिया है में 863 00:36:06,120 --> 00:36:08,290 # फ़ाइल के शीर्ष पर शामिल हैं. 864 00:36:08,290 --> 00:36:10,960 और बजना, संकलक, आप इस की सूचना है 865 00:36:10,960 --> 00:36:14,090 कह, बल्कि विचित्रतापूर्वक, निहित घोषणा 866 00:36:14,090 --> 00:36:15,990 समारोह GetInt अमान्य है. 867 00:36:15,990 --> 00:36:16,310 >> सही सभी. 868 00:36:16,310 --> 00:36:17,520 तो इसका क्या मतलब है? 869 00:36:17,520 --> 00:36:22,080 यह सिर्फ मतलब है कि आप परोक्ष GetInt में घोषित किया है 870 00:36:22,080 --> 00:36:24,850 अर्थ है कि आप स्पष्ट रूप से यह घोषणा नहीं की. 871 00:36:24,850 --> 00:36:27,300 स्पष्ट रूप से int घोषित, आप सिखाना है 872 00:36:27,300 --> 00:36:28,740 बजना है कि यह मौजूद है. 873 00:36:28,740 --> 00:36:32,020 और उस के लिए बहुत ही सरल समाधान के लिए इसे सिखाने के लिए है 874 00:36:32,020 --> 00:36:34,780 यह अन्य फ़ाइल, cs50.h, पर सहित 875 00:36:34,780 --> 00:36:35,850 अपनी फ़ाइल के शीर्ष. 876 00:36:35,850 --> 00:36:40,380 क्योंकि सचमुच, # include क्या करता है यह बजना बताता 877 00:36:40,380 --> 00:36:44,030 बहुत ज्यादा बुलाया cs50.h, प्रतिलिपि फ़ाइल मिल जाना है, 878 00:36:44,030 --> 00:36:48,150 यह स्वचालित रूप से मेरे लिए अपने कार्यक्रम के शीर्ष में पेस्ट, 879 00:36:48,150 --> 00:36:50,850 और फिर शून्य और लोगों के लिए स्रोत कोड में परिवर्तित. 880 00:36:50,850 --> 00:36:52,850 लेकिन जाहिर है कि बहुत कठिन हो सकता है अगर हम इंसानों था 881 00:36:52,850 --> 00:36:55,370 नकल और इन बड़ी फ़ाइलों चिपकाने हर समय जाना, 882 00:36:55,370 --> 00:36:58,540 # शामिल तो सिर्फ इतना है कि सब बिना स्वचालित रूप से 883 00:36:58,540 --> 00:37:01,550 किसी और के पुस्तकालय के साथ अपने कोड muddying. 884 00:37:01,550 --> 00:37:06,370 और एक पुस्तकालय सिर्फ एक और कार्यों युक्त फ़ाइल और है 885 00:37:06,370 --> 00:37:08,340 अन्य चीजें हैं जो किसी और लिखा है कि हम कर रहे हैं 886 00:37:08,340 --> 00:37:10,270 हमारे स्वयं के लिए लाभ. 887 00:37:10,270 --> 00:37:10,580 >> सही सभी. 888 00:37:10,580 --> 00:37:11,200 चलो फिर से कोशिश. 889 00:37:11,200 --> 00:37:12,250 गणित बनाओ. 890 00:37:12,250 --> 00:37:13,120 दर्ज करें. 891 00:37:13,120 --> 00:37:13,530 अच्छा है. 892 00:37:13,530 --> 00:37:14,880 तो यह है कि करने के लिए काम किया है लगता है. 893 00:37:14,880 --> 00:37:18,330 तो मुझे अब गणित चलाने, गणित /. 894 00:37:18,330 --> 00:37:21,100 दर्ज मुझे एक संख्या, 123 देता है. 895 00:37:21,100 --> 00:37:22,620 123 के लिए धन्यवाद. 896 00:37:22,620 --> 00:37:24,490 अब चलो एक दूसरे कोने मामले की कोशिश. 897 00:37:24,490 --> 00:37:26,530 एक स्ट्रिंग बहुत उदार है, क्योंकि एक 898 00:37:26,530 --> 00:37:27,620 स्ट्रिंग कुछ भी हो सकता है. 899 00:37:27,620 --> 00:37:28,910 संख्या की तरह देख सकते हैं, की तरह लग रहे 900 00:37:28,910 --> 00:37:30,600 अक्षर, शब्दों की तरह देखो. 901 00:37:30,600 --> 00:37:31,900 लेकिन एक int एक int है. 902 00:37:31,900 --> 00:37:34,370 तो अब अगर मैं मुश्किल उपयोगकर्ता हूँ, और यह कह रहा है कि मुझे दो. 903 00:37:34,370 --> 00:37:38,730 एक नंबर, "क्या अगर मैं 0.1 की तरह कुछ करने की कोशिश करते हैं? 904 00:37:38,730 --> 00:37:41,510 खैर, कि एक संख्या है, और इसके साथ संगत है 905 00:37:41,510 --> 00:37:44,180 व्याकरण मैं यहां इस्तेमाल किया, लेकिन हुड के नीचे, मैं कर रहा हूँ 906 00:37:44,180 --> 00:37:45,610 समारोह GetInt का उपयोग कर पाठ्यक्रम. 907 00:37:45,610 --> 00:37:46,610 >> तो देखते हैं कि क्या होता है. 908 00:37:46,610 --> 00:37:48,250 दर्ज करें, पुनः प्रयास करें. 909 00:37:48,250 --> 00:37:48,560 सही सभी. 910 00:37:48,560 --> 00:37:50,570 मुझे कठिन और बस फिर हिट दर्ज हो. 911 00:37:50,570 --> 00:37:51,700 दर्ज करें, दर्ज करें. 912 00:37:51,700 --> 00:37:53,890 तो अब यह लगता है कि GetInt एक छोटे से अधिक है 913 00:37:53,890 --> 00:37:55,240 GetString से अधिक शक्तिशाली है. 914 00:37:55,240 --> 00:37:58,540 हम, स्टाफ, इस तरह है कि अगर हम नोटिस में लागू 915 00:37:58,540 --> 00:38:02,100 आप हमें एक int नहीं दिया है - और एक int एक दशमलव संख्या है 916 00:38:02,100 --> 00:38:04,785 युक्त शून्य, लोगों, twos, threes, चौकों, fives, छक्के, 917 00:38:04,785 --> 00:38:05,540 सात, आठ या नौ. 918 00:38:05,540 --> 00:38:06,310 और यह बात है. 919 00:38:06,310 --> 00:38:08,810 कोई दशमलव अंक, कोई वर्ण, कोई विराम चिह्न. 920 00:38:08,810 --> 00:38:10,390 ऐसा लगता है कि हम सहयोग किया है. 921 00:38:10,390 --> 00:38:13,680 तो मुझे चार, पांच, छह, और कोशिश है कि मुझे के माध्यम से हो जाता है. 922 00:38:13,680 --> 00:38:16,760 तो सच में, यहाँ गुदा हो, मैं शायद कहते हैं "मुझे दे दो 923 00:38:16,760 --> 00:38:20,310 आदेश में उपयोगकर्ता के लिए देने के एक पूर्णांक 924 00:38:20,310 --> 00:38:22,620 वास्तव में मैं क्या इरादा है. 925 00:38:22,620 --> 00:38:24,090 >> अब चलो हुड के नीचे के बारे में सोचते हैं. 926 00:38:24,090 --> 00:38:27,930 हम कैसे cs50.h आज कार्यान्वित किया जाता है पर देखने के के लिए नहीं जा रहे हैं, 927 00:38:27,930 --> 00:38:29,080 उस लायब्रेरी. 928 00:38:29,080 --> 00:38:33,600 लेकिन अगर यह कह लिए पुनःप्रयास करें पुन: प्रयास पुन: प्रयास रहता है, प्रोग्रामिंग 929 00:38:33,600 --> 00:38:36,970 हूँ मैं संभवतः के हुड के नीचे का उपयोग कर का निर्माण 930 00:38:36,970 --> 00:38:39,000 लागू? 931 00:38:39,000 --> 00:38:39,980 तो सिर्फ एक पाश, है ना? 932 00:38:39,980 --> 00:38:41,930 सरल विचारों की है कि हम खरोंच पर देखा. 933 00:38:41,930 --> 00:38:45,050 हमेशा के लिए निर्माण, दोहराएँ का निर्माण. 934 00:38:45,050 --> 00:38:47,320 मुमकिन है, इस कार्यक्रम में हुड के नीचे भी 935 00:38:47,320 --> 00:38:49,470 हालांकि यह सी में लिखा है और खरोंच नहीं है, यह कर रहा है 936 00:38:49,470 --> 00:38:54,300 कुछ हमेशा के लिए बराबर बुलाया यदि उपयोगकर्ता नहीं है 937 00:38:54,300 --> 00:38:58,710 एक पूर्णांक में टाइप पुन: प्रयास कहते हैं, लिए पुनःप्रयास करें पुन: प्रयास पुन: प्रयास हां, तो 938 00:38:58,710 --> 00:39:01,220 फिर अंत में जब हम करते हैं एक पूर्णांक हो, तुम तो 939 00:39:01,220 --> 00:39:02,970 कि लूप के बाहर तोड़. 940 00:39:02,970 --> 00:39:05,610 >> तो क्या अन्य कार्यों हम यहाँ CS50 पुस्तकालय में उपयोग कर सकते हैं? 941 00:39:05,610 --> 00:39:07,880 ठीक है, की तरह स्पष्ट हैं, कम से कम के आधार पर 942 00:39:07,880 --> 00:39:09,570 डेटा प्रकार है कि अब हम जानते हैं मौजूद. 943 00:39:09,570 --> 00:39:12,900 हम GetString, GetInt लागू किया, लेकिन भर में 944 00:39:12,900 --> 00:39:15,680 कार्यकाल के पहले सप्ताह, आप भी GetFloat का उपयोग करने के लिए और कर सकते हैं 945 00:39:15,680 --> 00:39:18,870 GetDouble और GetLongLong क्रम में ठीक हो 946 00:39:18,870 --> 00:39:20,030 डेटा प्रकार है कि आप चाहते हैं. 947 00:39:20,030 --> 00:39:24,030 क्योंकि यहाँ कुंजी विस्तार है कि कुछ भाषाओं के विपरीत, 948 00:39:24,030 --> 00:39:26,630 पायथन और रूबी की तरह है, जहां आप के लिए जरूरी नहीं है 949 00:39:26,630 --> 00:39:29,730 एक चर के डेटा प्रकार की घोषणा - 950 00:39:29,730 --> 00:39:32,390 आप कंप्यूटर को बताने की जरूरत नहीं है कि सामान की तरह क्या 951 00:39:32,390 --> 00:39:34,000 आप चर में डाल करने के लिए जा रहे हैं - 952 00:39:34,000 --> 00:39:36,640 सी में, आप कभी इतनी सटीक होना है. 953 00:39:36,640 --> 00:39:40,060 इसलिए यदि आप एक n चर बुलाया, भंडारण की एक हिस्सा चाहते हैं 954 00:39:40,060 --> 00:39:42,900 कि इस मामले में सम्मेलन द्वारा 32 बिट होता है आप, 955 00:39:42,900 --> 00:39:45,660 कंप्यूटर बताना है कि इन बिट्स 956 00:39:45,660 --> 00:39:47,840 एक नंबर स्टोर जा रहा है - 957 00:39:47,840 --> 00:39:50,630 चरित्र, एक स्ट्रिंग नहीं, नहीं एक नाव. 958 00:39:50,630 --> 00:39:52,620 और हम इस मुद्दे को प्रभावी ढंग से पते 959 00:39:52,620 --> 00:39:53,760 पिछले हफ्ते में भाग गया. 960 00:39:53,760 --> 00:39:57,050 अगर हम शून्य और लोगों की संख्या का उपयोग कर रहे हैं न सिर्फ प्रतिनिधित्व करते हैं 961 00:39:57,050 --> 00:40:00,770 लेकिन के रूप में और बी एस और Cs, कैसे दुनिया में नंबर एक 962 00:40:00,770 --> 00:40:03,460 कंप्यूटर पता चल रहा है कि वास्तव में बिट्स के इस पैटर्न 963 00:40:03,460 --> 00:40:07,650 65 नंबर के रूप में प्रतिनिधित्व करने के लिए विरोध का प्रतिनिधित्व करता है 964 00:40:07,650 --> 00:40:09,860 पत्र में एक है, जो संयोग के अनुसार, 965 00:40:09,860 --> 00:40:13,440 ASCII, याद है, 65 के बराबर था? 966 00:40:13,440 --> 00:40:16,550 >> इन डेटा प्रकार तो कंप्यूटर के लिए संदर्भ प्रदान 967 00:40:16,550 --> 00:40:18,810 कि यह जानता है कि अगर इन बिट्स एक के रूप में व्याख्या की जानी चाहिए 968 00:40:18,810 --> 00:40:23,660 int या एक स्ट्रिंग के रूप में. 969 00:40:23,660 --> 00:40:26,500 किसी भी सवाल है, तो इस पर? 970 00:40:26,500 --> 00:40:28,149 हाँ? 971 00:40:34,780 --> 00:40:35,270 : डेविड जे मालन अच्छा सवाल है. 972 00:40:35,270 --> 00:40:39,140 यदि हम बाहर stdio.h ले, हम फ़ाइल को बचाने के लिए - 973 00:40:39,140 --> 00:40:44,360 मुझे टर्मिनल विंडो को नीचे जाओ और गणित बनाने, ज़ूम चलाने के 974 00:40:44,360 --> 00:40:45,530 और प्रवेश - 975 00:40:45,530 --> 00:40:47,700 अब मैं एक अलग त्रुटि मिलती है, क्योंकि मैं संकेत हूँ 976 00:40:47,700 --> 00:40:49,650 की घोषणा अब क्या समारोह? 977 00:40:49,650 --> 00:40:50,700 Printf. 978 00:40:50,700 --> 00:40:52,970 तो अब मैं एक नई समस्या है, जिसका समाधान बनाया है 979 00:40:52,970 --> 00:40:53,890 मूलतः एक ही है. 980 00:40:53,890 --> 00:40:55,365 मैं कि वापस डाल की जरूरत है. 981 00:40:55,365 --> 00:40:56,615 दर्शक: [अश्राव्य] 982 00:41:03,534 --> 00:41:04,030 डेविड जे मालन: ओह. 983 00:41:04,030 --> 00:41:04,850 तो अगर मैं बाहर ले - 984 00:41:04,850 --> 00:41:05,360 ठीक है, हाँ. 985 00:41:05,360 --> 00:41:08,960 तो अगर मैं मानक मैं / हे पुस्तकालय को शामिल किए जाने को हटाने 986 00:41:08,960 --> 00:41:12,020 यहाँ, और तो आप कह रहे हैं अगर मैं printf से छुटकारा पाने के लिए मिल, 987 00:41:12,020 --> 00:41:13,450 printf से छुटकारा? 988 00:41:13,450 --> 00:41:13,810 हां. 989 00:41:13,810 --> 00:41:18,450 यह काम करते हैं, क्योंकि मैं अब किसी भी का उपयोग कर रहा हूँ - वूप्स. 990 00:41:18,450 --> 00:41:20,110 क्या मैं सिर्फ झूठ? 991 00:41:20,110 --> 00:41:21,650 ओह, ठीक है. 992 00:41:21,650 --> 00:41:25,640 यह एक नया त्रुटि हम अभी शुरू की वजह से काम नहीं करेगा. 993 00:41:25,640 --> 00:41:28,390 और यह एक छोटे से एक से अधिक सुगम है. 994 00:41:28,390 --> 00:41:29,440 >> समस्या क्या है? 995 00:41:29,440 --> 00:41:30,680 अप्रयुक्त चर n. 996 00:41:30,680 --> 00:41:34,040 तो इस त्रुटि हमारे करने के लिए कॉन्फ़िगर होने का परिणाम है 997 00:41:34,040 --> 00:41:36,640 विशेष रूप से पंडिताऊ होना, वास्तव में चिल्लाना उपकरण 998 00:41:36,640 --> 00:41:39,060 हर संभव गलती के लिए, आप भी अगर यह तरह का 999 00:41:39,060 --> 00:41:41,950 इस तरह एक गैर घातक गलती - यह वास्तव में एक इतना बड़ा है 1000 00:41:41,950 --> 00:41:44,820 सौदा है कि मैं एक int आवंटित करने के लिए, यह एक नंबर डाल, तो और 1001 00:41:44,820 --> 00:41:46,030 बस के साथ कुछ नहीं किया? 1002 00:41:46,030 --> 00:41:47,020 तो कार्यात्मक, नहीं. 1003 00:41:47,020 --> 00:41:50,410 यह करने के लिए कार्यक्रम को तोड़ने के लिए नहीं जा रहा है. 1004 00:41:50,410 --> 00:41:51,490 यह मूर्ख सही बस की तरह है? 1005 00:41:51,490 --> 00:41:54,220 वहाँ कोई मूल्य है कि संख्या के लिए कहा है, संग्रहीत 1006 00:41:54,220 --> 00:41:56,370 यह एक चर में, अगर आप के लिए कुछ भी करने के लिए कभी नहीं जा रहे हैं 1007 00:41:56,370 --> 00:41:58,000 इसके साथ, चाहे वह प्रिंट या इसे बचाने के लिए. 1008 00:41:58,000 --> 00:42:00,270 तो इस मामले में, बजना के रूप में ज्यादा स्वीकार है, और 1009 00:42:00,270 --> 00:42:02,010 यह अप्रयुक्त चर n कह रहा है. 1010 00:42:02,010 --> 00:42:05,380 >> तो हम यह तय कर सकते हैं यदि हम वास्तव में चाहते हैं कर सकते हैं. 1011 00:42:05,380 --> 00:42:07,250 लेकिन फिर, यह अच्छा प्रोग्रामिंग अब नहीं है. 1012 00:42:07,250 --> 00:42:09,310 इसलिए मैं यह सिर्फ कर सकता है - 1013 00:42:09,310 --> 00:42:12,060 यहाँ नीचे जाना है, मुझे स्क्रीन स्पष्ट गणित बनाने. 1014 00:42:12,060 --> 00:42:13,090 यह काम करता है. 1015 00:42:13,090 --> 00:42:18,110 अब मैं अपने गणित कार्यक्रम चलाने के लिए, इनपुट लेता कर सकते हैं - 1016 00:42:18,110 --> 00:42:18,700 अच्छी तरह से, कि बुरा था. 1017 00:42:18,700 --> 00:42:23,450 इनपुट लेता है, और कहा कि यह सब होता है, इस मामले में है. 1018 00:42:23,450 --> 00:42:25,220 >> तो वास्तव में, एक दूसरे कोने मामले की कोशिश है कि हम 1019 00:42:25,220 --> 00:42:26,300 पहले के बारे में सोच नहीं था. 1020 00:42:26,300 --> 00:42:28,220 इस मामले में यहाँ, चलो एक है कि एक के लिए वापस जाना 1021 00:42:28,220 --> 00:42:29,500 थोड़ा अधिक उपयोगकर्ता के अनुकूल है. 1022 00:42:29,500 --> 00:42:32,580 मुझे वापस जाने के लिए और फिर से बनाने के गणित चलाने के. 1023 00:42:32,580 --> 00:42:34,190 वूप्स, मैं क्या गलत किया? 1024 00:42:34,190 --> 00:42:35,400 वापस आगे रोल मिल गया. 1025 00:42:35,400 --> 00:42:36,390 ठीक है. 1026 00:42:36,390 --> 00:42:38,490 अब हम मूल राज्य में वापस आ गए हैं, सब कहाँ 1027 00:42:38,490 --> 00:42:39,990 उम्मीद है कि अच्छी तरह से है. 1028 00:42:39,990 --> 00:42:43,360 और अब अगर मैं गणित चलाने, 123 के लिए काम करने लगता है. 1029 00:42:43,360 --> 00:42:46,010 लेकिन यह वास्तव में एक प्रभावी सबूत नहीं है, सिर्फ कहने 1030 00:42:46,010 --> 00:42:47,930 ठीक है, कि काम करता है. 1031 00:42:47,930 --> 00:42:49,120 789, कि काम करता है. 1032 00:42:49,120 --> 00:42:50,100 करने के लिए प्रस्तुत करने के लिए समय. 1033 00:42:50,100 --> 00:42:51,870 क्योंकि वहाँ अन्य कोने मामलों यहाँ है. 1034 00:42:51,870 --> 00:42:55,040 एक स्ट्रिंग वास्तव में हमें नहीं दे एक में टाइप करके ज्यादा मुसीबत 1035 00:42:55,040 --> 00:42:56,510 वर्णों की बहुत सारी. 1036 00:42:56,510 --> 00:42:59,580 लेकिन क्या अगर मैं इस में लिखें? 1037 00:42:59,580 --> 00:43:04,850 1 नंबर एक पूरी बहुत, पूरे यहाँ बहुत मार - 1038 00:43:04,850 --> 00:43:06,300 ठीक है, यह थोड़ा उबाऊ हो रही है, तो मैं जा रहा हूँ 1039 00:43:06,300 --> 00:43:10,040 यहाँ बंद करो, और मैं हिट दर्ज करने के लिए जा रहा हूँ. 1040 00:43:10,040 --> 00:43:11,290 >> नरक अभी क्या हुआ? 1041 00:43:14,110 --> 00:43:17,680 तो यह वास्तव में समझाया जा सकता है. 1042 00:43:17,680 --> 00:43:18,920 तो यह द्विआधारी के रूप में ले लिया है? 1043 00:43:18,920 --> 00:43:21,130 एक अच्छा विचार है, लेकिन नहीं, यह तथ्य यह है कि यह ले लिया नहीं है 1044 00:43:21,130 --> 00:43:22,815 द्विआधारी के रूप में, वास्तव में, क्योंकि यह सिर्फ एक की तरह था 1045 00:43:22,815 --> 00:43:23,080 संयोग है. 1046 00:43:23,080 --> 00:43:23,930 हम इस पर फिर से कर सकते हैं. 1047 00:43:23,930 --> 00:43:26,530 तो वहाँ कोई बाइनरी सिस्टम में 2 है कि 1048 00:43:26,530 --> 00:43:27,420 शायद वैसे भी पर्याप्त है. 1049 00:43:27,420 --> 00:43:28,780 दर्ज करें. 1050 00:43:28,780 --> 00:43:30,140 तो यह है कि समस्या नहीं थी. 1051 00:43:30,140 --> 00:43:31,390 और क्या? 1052 00:43:34,650 --> 00:43:35,400 बिल्कुल सही. 1053 00:43:35,400 --> 00:43:37,830 >> तो एक int वास्तव में क्या है वापस लगता है. 1054 00:43:37,830 --> 00:43:40,970 यह 32 बिट जो सामूहिक रूप से व्याख्या कर रहे हैं 1055 00:43:40,970 --> 00:43:42,090 एक संख्या के रूप में. 1056 00:43:42,090 --> 00:43:44,730 यदि आप 32 बिट है, इसका मतलब है कि बिट्स के प्रत्येक हो सकता है 1057 00:43:44,730 --> 00:43:46,690 एक 0 या 0 1, या 1. 1058 00:43:46,690 --> 00:43:49,090 तो इसका मतलब है कि वहाँ इस बिट के लिए दो संभावनाएं है, 1059 00:43:49,090 --> 00:43:51,140 इस के लिए दो संभावनाएं हैं, इस के लिए दो संभावनाएं 1060 00:43:51,140 --> 00:43:52,570 थोड़ा - तो है कि 2 बार 2 बार - 1061 00:43:52,570 --> 00:43:55,480 इतना है कि 32 सत्ता में 2 की कुल संख्या है 1062 00:43:55,480 --> 00:43:58,960 अगर आप 32 है शून्य और लोगों के permutations 1063 00:43:58,960 --> 00:44:01,400 प्लेसहोल्डर्स शून्य, या आप के सामने हैं. 1064 00:44:01,400 --> 00:44:04,250 तो अगर मैं 32, गणितीय, कि क्या है 2 है? 1065 00:44:07,080 --> 00:44:07,840 तो यह एक बहुत है. 1066 00:44:07,840 --> 00:44:09,910 यह 4 अरब है, दे या ले. 1067 00:44:09,910 --> 00:44:13,510 और 4 अरब हो क्या छपा था यहाँ नहीं लगती. 1068 00:44:13,510 --> 00:44:16,290 वास्तव में, इस 2 अरब के करीब लग रहा है. 1069 00:44:16,290 --> 00:44:17,970 लेकिन यह एक संयोग नहीं है. 1070 00:44:17,970 --> 00:44:21,590 तथ्य यह है कि कंप्यूटर मेरी बड़ी संख्या misinterpreted है, 1071 00:44:21,590 --> 00:44:24,260 अपने लोगों और फिर मेरे twos की भारी अनुक्रम की भारी अनुक्रम, 1072 00:44:24,260 --> 00:44:26,880 के रूप में लगभग 2 अरब, कैसे समझाया है? 1073 00:44:30,250 --> 00:44:32,180 वहाँ int पर एक टोपी है. 1074 00:44:32,180 --> 00:44:34,970 वहाँ एक निश्चित रूप से एक अधिकतम मूल्य है कि आप का प्रतिनिधित्व कर सकते हैं. 1075 00:44:34,970 --> 00:44:36,370 लेकिन यह आम तौर पर चार अरब, है ना? 1076 00:44:36,370 --> 00:44:39,100 यदि 2 32 लगभग 4 अरब की तरह लगता है 1077 00:44:39,100 --> 00:44:40,350 कि सबसे बड़ी संख्या है. 1078 00:44:42,420 --> 00:44:45,240 तो शेष नहीं है, लेकिन एक अच्छा विचार है. 1079 00:44:45,240 --> 00:44:46,340 ऋणात्मक संख्याओं. 1080 00:44:46,340 --> 00:44:49,570 तो अगर आप 4 अरब संभव बातें आप कर सकते हैं 1081 00:44:49,570 --> 00:44:52,970 32 0s के इन विभिन्न permutations के साथ प्रतिनिधित्व करते हैं और 1082 00:44:52,970 --> 00:44:55,600 1s, ठीक है, यह कारण है कि हम इंसानों के लिए चाहते हो सकता है के लिए खड़ा है 1083 00:44:55,600 --> 00:44:57,110 नहीं सिर्फ सकारात्मक integers का प्रतिनिधित्व करते हैं 1084 00:44:57,110 --> 00:44:58,240 लेकिन नकारात्मक integers. 1085 00:44:58,240 --> 00:45:00,410 और वास्तव में, यह धारणा है कि सी बनाता है. 1086 00:45:00,410 --> 00:45:03,550 तो 32 बिट के साथ, आप मोटे तौर पर नकारात्मक 2 का प्रतिनिधित्व कर सकते हैं 1087 00:45:03,550 --> 00:45:06,630 अरब 2 सकारात्मक अरब करने के लिए सभी तरह से ऊपर. 1088 00:45:06,630 --> 00:45:08,750 और इसलिए इस मामले में, हम वास्तव में देख रहे हैं अभी क्या है 1089 00:45:08,750 --> 00:45:13,600 हमारे पूर्णांक की क्षमता के किनारे, और हम ऐसा है, 1090 00:45:13,600 --> 00:45:15,860 बात करने के लिए, एक पूर्णांक overflowed. 1091 00:45:15,860 --> 00:45:19,180 हम इस मामले को अधिक बिट्स रटना की तुलना में वास्तव में फिट कर सकते हैं की कोशिश की है. 1092 00:45:19,180 --> 00:45:22,960 तो अंत परिणाम यह है कि हम अनिवार्य रूप से सभी 1 बिट्स है. 1093 00:45:22,960 --> 00:45:25,280 हम हमारे पर बिट्स के सभी फ़्लिप किया है, हम का प्रतिनिधित्व करने की कोशिश की है 1094 00:45:25,280 --> 00:45:27,630 सबसे बड़ी संख्या में संभव है, लेकिन यह स्पष्ट रूप से लगभग नहीं है 1095 00:45:27,630 --> 00:45:30,960 काफी बड़ा करने के लिए दो बातें मैं सिर्फ अंदर टाइप किया है का प्रतिनिधित्व 1096 00:45:30,960 --> 00:45:31,730 हाँ? 1097 00:45:31,730 --> 00:45:32,980 दर्शक: [अश्राव्य] 1098 00:45:37,230 --> 00:45:37,830 >> : डेविड जे मालन अच्छा सवाल है. 1099 00:45:37,830 --> 00:45:40,080 हम सिर्फ क्यों कि का प्रतिनिधित्व नहीं नकारात्मक कर सकते हैं 1100 00:45:40,080 --> 00:45:41,500 सिर्फ एक चरित्र के रूप में प्रवेश किया था? 1101 00:45:41,500 --> 00:45:44,200 इसलिए हम पूरी तरह से, और हम तो बचा सकता है 1102 00:45:44,200 --> 00:45:45,470 एक अतिरिक्त बिट. 1103 00:45:45,470 --> 00:45:49,100 लेकिन आप अभी भी कि पानी का छींटा का प्रतिनिधित्व करने के लिए जा रहे हैं, और 1104 00:45:49,100 --> 00:45:50,700 है कि आप कम से कम कुछ खर्च हो रहा है, 1105 00:45:50,700 --> 00:45:52,220 शायद एक बिट. 1106 00:45:52,220 --> 00:45:55,610 तो हाँ, हम 32 बिट हमारे संख्या के लिए इस्तेमाल है, लेकिन हो सकता है अब 1107 00:45:55,610 --> 00:45:57,610 हम एक और हमारे dash के लिए इस्तेमाल बिट की जरूरत है 1108 00:45:57,610 --> 00:45:58,810 प्रतीक, ऋण चिह्न. 1109 00:45:58,810 --> 00:46:01,470 तो अब हम 33 बिट मूल्यों, जो हम कर सकते हैं, लेकिन यह है 1110 00:46:01,470 --> 00:46:02,570 बस इसे जिस तरह से नहीं किया गया है. 1111 00:46:02,570 --> 00:46:05,140 हम एक निर्णय कॉल साल पहले, 32 बिट की तरह है 1112 00:46:05,140 --> 00:46:06,170 माप की इकाई. 1113 00:46:06,170 --> 00:46:08,120 तो हम एक उन बिट्स के प्रभावी ढंग से उपयोग करने के लिए जा रहे हैं 1114 00:46:08,120 --> 00:46:12,950 नकारात्मकता का प्रतिनिधित्व करते हैं, और 31 बिट के लिए संख्या का प्रतिनिधित्व करते हैं. 1115 00:46:12,950 --> 00:46:15,550 अन्य प्रश्न? 1116 00:46:15,550 --> 00:46:15,670 सही सभी. 1117 00:46:15,670 --> 00:46:16,030 यह एक बहुत है. 1118 00:46:16,030 --> 00:46:17,930 हम आगे क्यों नहीं जाना है और हमारे यहाँ पाँच मिनट का ब्रेक ले? 1119 00:46:23,580 --> 00:46:24,270 >> सही सभी. 1120 00:46:24,270 --> 00:46:31,250 तो फिर overemphasize, गणितीय आवेदन नहीं 1121 00:46:31,250 --> 00:46:33,840 प्रोग्रामिंग की, हम सिर्फ इस एक उदाहरण बांधना 1122 00:46:33,840 --> 00:46:36,590 यह इससे पहले कि हम अन्य constructs में ले जाते हैं, सिर्फ इसलिए कि 1123 00:46:36,590 --> 00:46:39,430 में से कुछ पर कुछ आम ठोकर अंक उदाहरण देकर स्पष्ट करना होगा 1124 00:46:39,430 --> 00:46:41,520 मूल बातें जब यह लेखन कार्यक्रमों के लिए आता है. 1125 00:46:41,520 --> 00:46:44,360 इस मामले में, गणित अभिव्यक्ति है कि कुछ कर 1126 00:46:44,360 --> 00:46:48,010 सिंटैक्स दिलचस्प प्रासंगिकता. 1127 00:46:48,010 --> 00:46:50,430 >> तो यह सिर्फ एक सूत्र है जिसके साथ हम परिवर्तित कर सकते हैं 1128 00:46:50,430 --> 00:46:52,690 फारेनहाइट से सेल्सियस तापमान. 1129 00:46:52,690 --> 00:46:54,600 यदि आप याद नहीं है, यह सिर्फ फार्मूला है. 1130 00:46:54,600 --> 00:46:58,870 तो अगर हम 32 डिग्री फारेनहाइट मूल्य है, जो है में प्लग 1131 00:46:58,870 --> 00:47:02,850 ठंड, कि हो जा रहा है 32 शून्य से 32 0 है, और वास्तव में, 1132 00:47:02,850 --> 00:47:05,130 0 सेल्सियस में भी ठंड है. 1133 00:47:05,130 --> 00:47:08,210 तो जल्दी विवेक वहाँ की जांच - कि परिचित फार्मूला है. 1134 00:47:08,210 --> 00:47:10,880 मुझे उपकरण को खत्म हो जाना है, हालांकि, और शुरू 1135 00:47:10,880 --> 00:47:13,920 नाम के एक कार्यक्रम की तरह, f2c, लेखन, "फारेनहाइट 1136 00:47:13,920 --> 00:47:15,920 . "डॉट ग सेल्सियस 1137 00:47:15,920 --> 00:47:18,930 और यहाँ शीर्ष पर, मैं # include के साथ बंद शुरू करने के लिए जा रहा हूँ 1138 00:47:18,930 --> 00:47:22,190 stdio.h, और मैं int मुख्य (शून्य) करने के लिए जा रहा हूँ, और 1139 00:47:22,190 --> 00:47:24,680 फिर, हम भविष्य में वापस int क्या मतलब है के रूप में आया हूँ 1140 00:47:24,680 --> 00:47:26,820 वहाँ और शून्य क्या मतलब है. 1141 00:47:26,820 --> 00:47:28,770 और अब मुझे आगे जाना है और एक प्रोग्राम है कि लागू 1142 00:47:28,770 --> 00:47:31,170 अनिवार्य रूप से हमारे लिए यह रूपांतरण होता है. 1143 00:47:31,170 --> 00:47:36,830 >> तो printf कहते हैं, फेरनहाइट तापमान. 1144 00:47:36,830 --> 00:47:40,140 और फिर मुझे आगे जाना है और उपयोगकर्ता से मूल्य मिलता है. 1145 00:47:40,140 --> 00:47:43,120 क्या मूल्य की तरह मैं उपयोगकर्ता से मिल अगर मैं चाहता हूँ चाहिए 1146 00:47:43,120 --> 00:47:45,620 उन्हें मुझे फेरनहाइट तापमान देने के लिए? 1147 00:47:45,620 --> 00:47:48,090 हाँ? 1148 00:47:48,090 --> 00:47:50,090 आप क्या प्रस्ताव होगा? 1149 00:47:50,090 --> 00:47:50,410 हाँ. 1150 00:47:50,410 --> 00:47:51,960 तो नाव उचित सुंदर लगता है. 1151 00:47:51,960 --> 00:47:53,950 हम है, फिर से, बस कुछ ही विकल्प है कि 1152 00:47:53,950 --> 00:47:55,310 हम इस प्रकार अब तक देखा है. 1153 00:47:55,310 --> 00:48:00,100 हम चार, डबल, नाव, int की तरह बातें है, लंबे, 1154 00:48:00,100 --> 00:48:01,150 bool स्ट्रिंग,. 1155 00:48:01,150 --> 00:48:03,510 तो इनमें से, नाव उचित सुंदर लगता है. 1156 00:48:03,510 --> 00:48:06,340 हम एक डबल सही उपयोग करें, क्योंकि अगर हम वास्तव में चाहते हो सकता है 1157 00:48:06,340 --> 00:48:07,580 एक मानव के तापमान का प्रतिनिधित्व करते हैं - 1158 00:48:07,580 --> 00:48:10,730 98.60000 - 1159 00:48:10,730 --> 00:48:12,990 हम 64 बिट का उपयोग कर सकता है, लेकिन ऐसा लगता है 1160 00:48:12,990 --> 00:48:14,200 तापमान के लिए overkill. 1161 00:48:14,200 --> 00:48:16,380 तो सिर्फ दो नाव के साथ जाना है. 1162 00:48:16,380 --> 00:48:18,100 अब मैं एक चर की जरूरत है. 1163 00:48:18,100 --> 00:48:20,500 बस चीजों को सरल रखने के लिए, मैं यह च कॉल करने के लिए जा रहा हूँ, लेकिन मैं 1164 00:48:20,500 --> 00:48:23,370 बस के रूप में सही ढंग सकता है और यह तापमान कॉल, 1165 00:48:23,370 --> 00:48:24,600 लेकिन या तो ठीक है. 1166 00:48:24,600 --> 00:48:27,610 तो च = GetFloat नाव. 1167 00:48:27,610 --> 00:48:30,220 जैसे ही मैं अब GetFloat का उपयोग करने का फैसला किया है, हालांकि मैं, 1168 00:48:30,220 --> 00:48:33,340 एक सुधार करने की जरूरत है. 1169 00:48:33,340 --> 00:48:33,720 हाँ. 1170 00:48:33,720 --> 00:48:37,460 तो हम # शामिल करने की जरूरत है, अन्यथा संकलक 1171 00:48:37,460 --> 00:48:39,000 हम पर चिल्लाना जा रहा है. 1172 00:48:39,000 --> 00:48:41,720 अब जब कि मैं एक नाव है, मुझे आगे जाना है और क्या 1173 00:48:41,720 --> 00:48:42,460 रूपांतरण. 1174 00:48:42,460 --> 00:48:44,980 >> 1 तो, मुझे भी आदत में शामिल होने यहाँ से 1175 00:48:44,980 --> 00:48:46,310 मेरे कोड टिप्पणी. 1176 00:48:46,310 --> 00:48:49,820 तो फिर, एक टिप्पणी सिर्फ मानव है कि एक संकेतन 1177 00:48:49,820 --> 00:48:52,600 हिस्सा है, से प्रति कार्यक्रम की नहीं है, लेकिन एक यह है, आप में मदद करता है 1178 00:48:52,600 --> 00:48:55,010 समझने के लिए आप क्या अगली सुबह था, या अगले 1179 00:48:55,010 --> 00:48:57,570 महीने, यह मदद करता है अपने शिक्षण साथी समझते हैं कि तुमने क्या किया 1180 00:48:57,570 --> 00:48:59,230 या आप क्या करने का इरादा है, तो यह 1181 00:48:59,230 --> 00:49:00,950 आम तौर पर बहुत अच्छा अभ्यास. 1182 00:49:00,950 --> 00:49:02,940 कोड के हर कुछ लाइनों की एक टिप्पणी लिखने 1183 00:49:02,940 --> 00:49:04,490 अपने या अपने सहयोगी. 1184 00:49:04,490 --> 00:49:08,460 यहाँ तो, मैं कहना है, जा रहा हूँ "तापमान के लिए उपयोगकर्ता पूछो." 1185 00:49:08,460 --> 00:49:10,890 क्या नहीं है एक पूरा वाक्य है, सिर्फ एक छोटे वाक्यांश हो. 1186 00:49:10,890 --> 00:49:14,270 लेकिन सी में टिप्पणी के पीछे विचार यह है कि अपने में से प्रत्येक 1187 00:49:14,270 --> 00:49:17,980 टिप्पणी आप सशक्त चाहिए - या, कहते हैं, एक TF या एक सहयोगी - 1188 00:49:17,980 --> 00:49:21,290 अपने कार्यक्रम स्किम और पता है कि वास्तव में यह क्या करता है, नहीं द्वारा 1189 00:49:21,290 --> 00:49:24,650 इतना कोड को पढ़ने के लिए है, लेकिन जो टिप्पणियों को पढ़ने से, 1190 00:49:24,650 --> 00:49:26,220 संक्षिप्त और स्पष्ट होना चाहिए. 1191 00:49:26,220 --> 00:49:29,030 ठीक है, तो अब, कन्वर्ट मुझे आगे जाना है और कहते हैं कि " 1192 00:49:29,030 --> 00:49:32,660 फेरनहाइट सेल्सियस. "इसलिए मैं आगे जाना है और क्या करने जा रहा हूँ, 1193 00:49:32,660 --> 00:49:34,340 हम कहते हैं, ग फ्लोट. 1194 00:49:34,340 --> 00:49:36,610 हम सेल्सियस एक फ्लोटिंगपाइंटमूल्य रखने के रूप में. 1195 00:49:36,610 --> 00:49:37,630 >> और मुझे इस पर एक चाकू ले. 1196 00:49:37,630 --> 00:49:40,350 फार्मूला है, फिर से, यहाँ. 1197 00:49:40,350 --> 00:49:45,510 F / 9 5 बार के रूप में शून्य से 32. 1198 00:49:45,510 --> 00:49:46,360 तो यह करते हैं. 1199 00:49:46,360 --> 00:49:50,450 5 तो 9 से विभाजित, ऋण - 1200 00:49:50,450 --> 00:49:52,330 वूप्स, मैं यह पहले से ही गड़बड़ कर दिया. 1201 00:49:52,330 --> 00:49:53,070 टाइम्स. 1202 00:49:53,070 --> 00:49:56,550 तो / 9 5 बार एफ शून्य से 32. 1203 00:49:56,550 --> 00:49:59,650 एफ शून्य से 32 तो, सेमीकोलन. 1204 00:49:59,650 --> 00:50:02,000 और अब, यहाँ नीचे है, मुझे आगे जाना है जा रहा हूँ 1205 00:50:02,000 --> 00:50:03,220 और कहते हैं, परिणाम मुद्रित. 1206 00:50:03,220 --> 00:50:05,160 और यह हिस्सा आसान है. Printf. 1207 00:50:05,160 --> 00:50:07,980 मैं इस मुद्रित करने के बारे में कैसे जाना है? 1208 00:50:07,980 --> 00:50:16,890 ठीक है, मैं कह सकता "सेल्सियस में यही संख्या% च \ n" 1209 00:50:16,890 --> 00:50:18,060 बस कुछ सौंदर्यशास्त्र के लिए. 1210 00:50:18,060 --> 00:50:20,450 और फिर क्या मूल्य मैं printf के रूप में यहाँ में प्लग करना चाहते हैं 1211 00:50:20,450 --> 00:50:21,360 दूसरा तर्क है? 1212 00:50:21,360 --> 00:50:21,650 ठीक है. 1213 00:50:21,650 --> 00:50:22,540 तो बस ग. 1214 00:50:22,540 --> 00:50:24,760 तो हम इस के साथ शुरू और फिर बस 0 वापसी करेंगे. 1215 00:50:24,760 --> 00:50:25,960 फिर, यह करने के लिए गणित के साथ कोई लेना - देना नहीं है. 1216 00:50:25,960 --> 00:50:27,610 यह सिर्फ मतलब है कि सब कुछ ठीक है. 1217 00:50:27,610 --> 00:50:31,210 >> अब, यह सही है, इस कार्यक्रम है? 1218 00:50:31,210 --> 00:50:31,520 सही सभी. 1219 00:50:31,520 --> 00:50:33,630 तो मैं कुछ गलतियाँ की है. 1220 00:50:33,630 --> 00:50:35,980 यहां तक ​​कि अगर आप प्रोग्रामिंग क्या है कोई विचार नहीं है, तो आप सॉर्ट कर सकते हैं 1221 00:50:35,980 --> 00:50:37,120 अनुमान करना ग्रेड स्कूल वापस क्या 1222 00:50:37,120 --> 00:50:38,740 यहाँ गलतियों को हो सकता है. 1223 00:50:38,740 --> 00:50:40,050 पहले से क्या है? 1224 00:50:40,050 --> 00:50:41,256 दर्शक: [अश्राव्य] 1225 00:50:41,256 --> 00:50:41,660 डेविड जे मालन: हाँ. 1226 00:50:41,660 --> 00:50:42,940 तो हम कोष्ठकों याद कर रहे हैं. 1227 00:50:42,940 --> 00:50:45,420 यह जानबूझकर किया गया था कि मैं मुख्य वक्ता के रूप में कोष्ठकों किया 1228 00:50:45,420 --> 00:50:48,130 यहाँ स्लाइड, क्योंकि वहाँ वास्तव में आदेश की इस धारणा है 1229 00:50:48,130 --> 00:50:51,590 आपरेशन के, या पूर्वता, संचालन के लिए कुछ जिससे 1230 00:50:51,590 --> 00:50:52,890 गुणा - 1231 00:50:52,890 --> 00:50:56,000 उच्च बाध्यकारी है, उच्च पूर्वता चीजों की तुलना में, 1232 00:50:56,000 --> 00:50:58,050 इसके अलावा या घटाव की तरह. 1233 00:50:58,050 --> 00:51:00,550 तो हम साल के लिए किया है अभी स्पष्ट करने के लिए वास्तव में 1234 00:51:00,550 --> 00:51:02,840 क्या गणितीय ऑपरेशन पहले किया जाना चाहिए. 1235 00:51:02,840 --> 00:51:05,010 तो शायद मैं यह बिल्कुल नकल चाहिए. 1236 00:51:05,010 --> 00:51:08,990 अन्यथा, कंप्यूटर संभाव्यतः करने की कोशिश करने के लिए जा रहा है 1237 00:51:08,990 --> 00:51:13,090 9 से 5 डिवाइड की तरह कुछ है, तो एफ गुणा, तो घटाना 1238 00:51:13,090 --> 00:51:14,850 32 पूरी बात से. 1239 00:51:14,850 --> 00:51:16,480 जो वास्तव में नहीं है, हम क्या करना चाहते हैं. 1240 00:51:16,480 --> 00:51:17,340 तो चलो शब्दों को कोष्टक में रखना. 1241 00:51:17,340 --> 00:51:20,860 चलो मेरे यहाँ कोष्ठक, कोष्ठक यहाँ जोड़ने. 1242 00:51:20,860 --> 00:51:22,670 चलो यहाँ पर इस डाल. 1243 00:51:22,670 --> 00:51:25,130 यहाँ, मैं सिर्फ एक और गलती मैं रास्ते में बनाया देखा. 1244 00:51:25,130 --> 00:51:25,680 हाँ? 1245 00:51:25,680 --> 00:51:26,930 दर्शक: [अश्राव्य] 1246 00:51:29,632 --> 00:51:30,130 >> डेविड जे मालन: आह. 1247 00:51:30,130 --> 00:51:30,470 अच्छा है. 1248 00:51:30,470 --> 00:51:32,400 तो हम वास्तव में एक ही पूर्णांक है 1249 00:51:32,400 --> 00:51:34,020 पहले से विभाजन के मुद्दे. 1250 00:51:34,020 --> 00:51:35,800 मैं सही है कि, चलो देखते लक्षण क्या है. 1251 00:51:35,800 --> 00:51:36,990 लेकिन हम करने के लिए एक सही करने के लिए जा रहे हैं 1252 00:51:36,990 --> 00:51:37,680 अन्य गलती यहाँ. 1253 00:51:37,680 --> 00:51:38,015 हाँ? 1254 00:51:38,015 --> 00:51:39,540 दर्शक: [अश्राव्य] 1255 00:51:39,540 --> 00:51:40,070 डेविड जे मालन: हाँ. 1256 00:51:40,070 --> 00:51:43,130 तो, बेवकूफ गलती मैं बनाया है, लेकिन अविश्वसनीय रूप से महत्वपूर्ण है. 1257 00:51:43,130 --> 00:51:45,870 कंप्यूटर के लिए सिर्फ एक अंधे आँख बारी और नहीं होने जा रहा है 1258 00:51:45,870 --> 00:51:48,770 मुझे राजधानी एफ का उपयोग करें, जब मैं वास्तव में चर घोषित 1259 00:51:48,770 --> 00:51:51,360 के रूप में एक छोटे 8 लाइन में च. 1260 00:51:51,360 --> 00:51:54,470 तो मैं लाइन 11 मेरी पूंजीकरण में सही करने की जरूरत है, जो एक 1261 00:51:54,470 --> 00:51:56,820 पल पहले गलती से एक राजधानी एफ था. 1262 00:51:56,820 --> 00:51:57,610 यहाँ के बारे में क्या? 1263 00:51:57,610 --> 00:51:59,980 इस लोअरकेस होना चाहिए के रूप में अच्छी तरह से? 1264 00:51:59,980 --> 00:52:02,260 यह हो सकता है, लेकिन यह एक संयोग है चाहिए. 1265 00:52:02,260 --> 00:52:05,070 यही% च चर के साथ कोई लेना - देना नहीं है. 1266 00:52:05,070 --> 00:52:07,980 तो बस सुपर स्पष्ट हो यहाँ, मुझे आगे जाना है और 1267 00:52:07,980 --> 00:52:10,710 यह, संक्षेप में, "तापमान" का नाम बदलने मुझे का नाम बदलने के 1268 00:52:10,710 --> 00:52:15,050 इस "तापमान है." मुझे यह नाम नहीं बदला. 1269 00:52:15,050 --> 00:52:18,180 क्योंकि, फिर% च विश्व स्तर पर, इसका मतलब है, "बिंदु मान तैर रही है." 1270 00:52:18,180 --> 00:52:19,950 मेरे चर के साथ कोई लेना - देना नहीं है. 1271 00:52:19,950 --> 00:52:23,080 लेकिन सभी जगह पर "तापमान" बस थोड़ा wordy है, 1272 00:52:23,080 --> 00:52:25,370 तो मैं मेरे लोअरकेस "च" s वापस जाने के लिए जा रहा हूँ. 1273 00:52:25,370 --> 00:52:27,890 >> अब, मुझे आगे नीचे मेरी खिड़की के यहाँ जाना. 1274 00:52:27,890 --> 00:52:29,190 F2c बनाओ - 1275 00:52:29,190 --> 00:52:31,200 मैं जो था, फिर से, मनमाने ढंग से नाम 1276 00:52:31,200 --> 00:52:32,590 इस फाइल को दे दिया. 1277 00:52:32,590 --> 00:52:33,690 संकलित किया है लगता है. 1278 00:52:33,690 --> 00:52:35,080 मुझे f2c चलाने के. 1279 00:52:35,080 --> 00:52:35,780 दर्ज करें. 1280 00:52:35,780 --> 00:52:37,786 तापमान फेरनहाइट - एक आसान करते हैं. 1281 00:52:37,786 --> 00:52:39,370 32. 1282 00:52:39,370 --> 00:52:40,910 ठीक है, सही है. 1283 00:52:40,910 --> 00:52:45,910 लेकिन, अगर मैं अब उबलते के लिए 212 करते हैं - 1284 00:52:45,910 --> 00:52:46,630 लानत. 1285 00:52:46,630 --> 00:52:47,030 सही सभी. 1286 00:52:47,030 --> 00:52:50,780 तो, स्पष्ट रूप से सही नहीं अगर आपके TF की कोशिश करता है, 1287 00:52:50,780 --> 00:52:51,800 कम से कम दो मूल्यों. 1288 00:52:51,800 --> 00:52:53,340 तो समस्या क्या है? 1289 00:52:53,340 --> 00:52:55,970 ठीक है, तुम पहले से ही मुद्दा क्या है पर अपनी उंगली डाल. 1290 00:52:55,970 --> 00:52:57,600 लेकिन मामला है कि क्यों है? 1291 00:52:57,600 --> 00:53:00,630 यहाँ तक, जब मैं 5 का गणित 9 से विभाजित कर रहा हूँ. 1292 00:53:00,630 --> 00:53:02,190 तो धारणात्मक, यह पूरी तरह से सही है. 1293 00:53:02,190 --> 00:53:03,690 फार्मूले के साथ पूरी तरह अनुरूप है. 1294 00:53:03,690 --> 00:53:05,940 लेकिन कंप्यूटर केवल ठीक है तुम क्या 1295 00:53:05,940 --> 00:53:06,760 उन्हें बताने के लिए करते हैं. 1296 00:53:06,760 --> 00:53:08,940 और हम प्रभावी रूप से कंप्यूटर रहे हैं यहाँ क्या कह रही है 1297 00:53:08,940 --> 00:53:12,320 पूर्णांक 9 पूर्णांक 5 विभाजित 1298 00:53:12,320 --> 00:53:13,670 और मुझे परिणाम दे. 1299 00:53:13,670 --> 00:53:16,230 समस्या है, हालांकि, जब आप विभाजन डेटा का उपयोग करते हैं 1300 00:53:16,230 --> 00:53:20,220 प्रकार, उत्पादन आदानों के रूप में एक ही डेटा प्रकार है. 1301 00:53:20,220 --> 00:53:23,670 और यदि ऐसा है तो दो आदानों दोनों ints कर रहे हैं, उत्पादन में जा रहा है 1302 00:53:23,670 --> 00:53:25,110 एक int. 1303 00:53:25,110 --> 00:53:28,770 और इसलिए 5 9 से विभाजित बिंदु कुछ है. 1304 00:53:28,770 --> 00:53:32,320 लेकिन कुछ कहना निकटतम पूर्णांक क्या है? 1305 00:53:32,320 --> 00:53:33,630 इसलिए, यह वास्तव में 0. 1306 00:53:33,630 --> 00:53:36,620 तो जैसा कि हम सोमवार को चर्चा की दशमलव के बाद सब कुछ है, 1307 00:53:36,620 --> 00:53:37,940 बिंदु छोटा कर दिया जाता है. 1308 00:53:37,940 --> 00:53:39,495 यह सिर्फ दूर फेंक दिया जाता है. 1309 00:53:39,495 --> 00:53:42,760 तो यह एक पूरी गलती है, क्योंकि मैं शायद के रूप में अच्छी तरह से सिर्फ 1310 00:53:42,760 --> 00:53:44,700 0 यहाँ से सब कुछ गुणा. 1311 00:53:44,700 --> 00:53:46,550 >> अब, मैं तरीके के एक जोड़े में यह तय कर सकते हैं. 1312 00:53:46,550 --> 00:53:48,080 मैं यह कर सकता है. 1313 00:53:48,080 --> 00:53:50,490 5.0 9.0 से विभाजित. 1314 00:53:50,490 --> 00:53:52,110 तकनीकी तौर पर, मैं भी ऐसा नहीं की जरूरत नहीं है. 1315 00:53:52,110 --> 00:53:55,780 यह पर्याप्त नहीं है सिर्फ एक एक नाव की संख्या कर सकते हैं - 1316 00:53:55,780 --> 00:53:58,290 या डबल दशमलव बिंदु को यहाँ रखने के द्वारा. 1317 00:53:58,290 --> 00:54:01,740 क्योंकि अब क्या होता है जब आप एक पूर्णांक विभाजित 1318 00:54:01,740 --> 00:54:04,670 एक नाव, या एक डबल, कंप्यूटर का एहसास करने के लिए जा रहा है 1319 00:54:04,670 --> 00:54:06,830 ओह, उन में से एक अधिक सटीक है. 1320 00:54:06,830 --> 00:54:09,420 मुझे आप अधिक सटीक देने से साइड पर गलती 1321 00:54:09,420 --> 00:54:10,310 आप का इरादा. 1322 00:54:10,310 --> 00:54:12,700 तो यह परिणाम में परिवर्तित कर देंगे - 1323 00:54:12,700 --> 00:54:16,240 यह परिणाम एक फ्लोटिंगपाइंटमूल्य के रूप में के रूप में अच्छी तरह से वापस आ जाएगी. 1324 00:54:16,240 --> 00:54:17,330 तो यह है कि काम करेगा. 1325 00:54:17,330 --> 00:54:18,060 यह काम करेगा. 1326 00:54:18,060 --> 00:54:20,010 और वहाँ एक अन्य तंत्र है कि हम देखेंगे 1327 00:54:20,010 --> 00:54:21,390 अधिक से अधिक विस्तार अगले सप्ताह. 1328 00:54:21,390 --> 00:54:24,690 आप वास्तव में, प्रोग्रामर के रूप में कर सकते हैं, कंप्यूटर बताने 1329 00:54:24,690 --> 00:54:27,930 वास्तव में एक डेटा प्रकार के रूप में इलाज 1330 00:54:27,930 --> 00:54:29,260 हालांकि यह एक और थे. 1331 00:54:29,260 --> 00:54:30,990 >> इसलिए मैं वास्तव में यह कर सकता है. 1332 00:54:30,990 --> 00:54:35,280 कोष्ठक में, मैं (नाव) की तरह कुछ कह सकते हैं, खुले 1333 00:54:35,280 --> 00:54:36,350 कोष्ठक, करीब paren. 1334 00:54:36,350 --> 00:54:39,050 और यह क्या कहा जाता है, "कास्टिंग." फिर से अधिक, 1335 00:54:39,050 --> 00:54:39,940 यह अगले सप्ताह पर. 1336 00:54:39,940 --> 00:54:42,280 लेकिन यह बस कह के कार्यक्रम तरीका है 1337 00:54:42,280 --> 00:54:45,910 कंप्यूटर, हाँ मैं जानता हूँ कि 9 एक पूर्णांक या एक लंबे समय है. 1338 00:54:45,910 --> 00:54:47,700 मुझे पता है कि यह एक फ्लोटिंगपाइंटमूल्य नहीं है. 1339 00:54:47,700 --> 00:54:49,420 लेकिन यह वैसे भी इस तरह के रूप में इलाज. 1340 00:54:49,420 --> 00:54:52,000 ऐसा करने के लिए एक डेटा प्रकार डाली कन्वर्ट करने का मतलब 1341 00:54:52,000 --> 00:54:53,310 एक से दूसरे में. 1342 00:54:53,310 --> 00:54:55,790 सच कहूँ तो, यह सिर्फ एक छोटे बदसूरत है, इसलिए मैं प्रस्ताव करता हूं कि हम जाओ 1343 00:54:55,790 --> 00:54:58,830 बस परिवर्तित की मूल सुझाव वापस करने के लिए 1344 00:54:58,830 --> 00:55:00,770 इन बातों को मुद्दा मूल्यों मैन्युअल तैर. 1345 00:55:00,770 --> 00:55:02,890 क्योंकि अब यह सिर्फ सुपर स्पष्ट है क्या हो रहा है, और 1346 00:55:02,890 --> 00:55:04,280 यह सब है कि ध्यान भंग नहीं है. 1347 00:55:04,280 --> 00:55:06,710 >> तो चलो अब अपने टर्मिनल विंडो में वापस जाने के लिए. 1348 00:55:06,710 --> 00:55:07,990 F2c बनाओ. 1349 00:55:07,990 --> 00:55:09,430 मुझे आगे जाना है और इस चलाने के लिए. 1350 00:55:09,430 --> 00:55:12,340 और, एक अलग रूप में, आप इन कमांड टाइप ऊब मिलता है 1351 00:55:12,340 --> 00:55:14,910 फिर और फिर, एहसास है कि कंप्यूटर, यहाँ लिनक्स की तरह, 1352 00:55:14,910 --> 00:55:16,010 बहुत चालाक होते हैं. 1353 00:55:16,010 --> 00:55:18,890 और अगर मैं मारा, हम अपने पूरे इतिहास के माध्यम से जा सकते हैं 1354 00:55:18,890 --> 00:55:20,380 आज्ञाओं, ऊपर और नीचे. 1355 00:55:20,380 --> 00:55:23,840 तो इस मामले में मैं सिर्फ ऊपर जाना f2c बनाने चलाने कर सकते हैं. 1356 00:55:23,840 --> 00:55:25,830 मैं पर चिल्लाया हूँ, क्योंकि मैं सिर्फ इतना है कि एक सेकंड पहले किया था. 1357 00:55:25,830 --> 00:55:27,030 यह पहले से ही ऊपर है तिथि करने के लिए है. 1358 00:55:27,030 --> 00:55:30,720 तो अब मैं f2c फिर से चला सकते हैं. 1359 00:55:30,720 --> 00:55:33,260 चलो फारेनहाइट 32 कोशिश. 1360 00:55:33,260 --> 00:55:36,720 अब चलो फारेनहाइट 212 कोशिश. 1361 00:55:36,720 --> 00:55:37,250 >> ओफ़्फ़. 1362 00:55:37,250 --> 00:55:38,250 काम करने लगता है. 1363 00:55:38,250 --> 00:55:41,760 अब, यह अच्छा है, लेकिन यह एक छोटे से मनमाने ढंग से लगता है कि 1364 00:55:41,760 --> 00:55:44,890 मैं दशमलव अंक के बाद छह नंबर दिखा रहा हूँ. 1365 00:55:44,890 --> 00:55:45,070 सही है? 1366 00:55:45,070 --> 00:55:47,830 यदि आप टीवी पर मौसम व्यक्ति रहे हैं, तो आप एक doofus की तरह कर रहे हैं 1367 00:55:47,830 --> 00:55:49,150 अगर आप तापमान पढ़ रहे हैं 1368 00:55:49,150 --> 00:55:50,070 परिशुद्धता के इस डिग्री. 1369 00:55:50,070 --> 00:55:51,270 तो चलो इस सरल. 1370 00:55:51,270 --> 00:55:53,880 तो चलो वास्तव में यहाँ मेरे printf, जाओ. 1371 00:55:53,880 --> 00:55:55,490 और हाँ, मैं फ्लोट करने के लिए करना चाहते हैं. 1372 00:55:55,490 --> 00:55:57,570 लेकिन मैं अब परिशुद्धता निर्दिष्ट करना चाहते हैं. 1373 00:55:57,570 --> 00:55:59,070 और मैं एक थोड़ा संक्षिप्त होने जा रहा हूँ. 1374 00:55:59,070 --> 00:56:03,090 मैं कहना है, मुझे दशमलव स्थान के बाद एक बिंदु देने के लिए जा रहा हूँ. 1375 00:56:03,090 --> 00:56:07,590 तो बजाय% च का कहना है, मैं% .1 f कहने जा रहा हूँ. 1376 00:56:07,590 --> 00:56:09,760 और यह सिर्फ मुझे एक स्थिति का मतलब 1377 00:56:09,760 --> 00:56:11,410 दशमलव बिंदु के बाद. 1378 00:56:11,410 --> 00:56:11,700 सही सभी. 1379 00:56:11,700 --> 00:56:12,570 चलो यह फिर से कोशिश. 1380 00:56:12,570 --> 00:56:15,590 मुझे यह संकलन के बाद फिर से चलाने के. 1381 00:56:15,590 --> 00:56:18,160 और अब मैं 32 में टाइप करें, और मैं एक वापस 1382 00:56:18,160 --> 00:56:19,310 अधिक संक्षिप्त मूल्य. 1383 00:56:19,310 --> 00:56:22,480 और मैं में टाइप करें, अब कर सकते हैं, 212, और वापस एक अधिक संक्षिप्त 1384 00:56:22,480 --> 00:56:23,260 मूल्य के रूप में अच्छी तरह से. 1385 00:56:23,260 --> 00:56:25,190 और वहाँ अन्य चीजें आप printf के साथ कर सकते है. 1386 00:56:25,190 --> 00:56:27,950 आप वास्तव में निर्दिष्ट संख्या कैसे व्यापक होना चाहिए कर सकते हैं. 1387 00:56:27,950 --> 00:56:30,900 यदि आप इस पर padding है करना चाहते हैं, तो आप सही संरेखित कर सकते हैं या 1388 00:56:30,900 --> 00:56:32,360 बाईं संरेखित अपनी संख्या के सभी या 1389 00:56:32,360 --> 00:56:33,400 केंद्र बातें करने के लिए की कोशिश. 1390 00:56:33,400 --> 00:56:35,340 तो पता है वहाँ छोटे चाल तुम वहाँ क्या कर सकते हैं. 1391 00:56:35,340 --> 00:56:38,420 लेकिन वे सिर्फ प्रारूप कोड के लिए नीचे फोड़ा, 1392 00:56:38,420 --> 00:56:39,600 जैसे हम वहाँ है. 1393 00:56:39,600 --> 00:56:41,090 >> तो वरीयता के इस मुद्दे के संदर्भ में. 1394 00:56:41,090 --> 00:56:43,820 इस प्रक्रिया के माध्यम से जाने के लिए एक बहुत उबाऊ तालिका है. 1395 00:56:43,820 --> 00:56:46,780 लेकिन पता है कि सी के लेखकों के साथ आए हैं 1396 00:56:46,780 --> 00:56:50,190 नियम है कि निर्दिष्ट जो ऑपरेटरों अधिक है 1397 00:56:50,190 --> 00:56:53,680 पूर्वता, दूसरों की तुलना में अधिक बाध्यकारी बिजली,. 1398 00:56:53,680 --> 00:56:55,890 तो ग्रेड स्कूल में, जबकि हम आम तौर पर पता था कि यह था 1399 00:56:55,890 --> 00:56:58,930 गुणन और विभाजन, तो इसके अलावा और घटाव, 1400 00:56:58,930 --> 00:56:59,950 तो कुछ अन्य सामान. 1401 00:56:59,950 --> 00:57:01,720 प्रोग्रामिंग की एक दुनिया में, वहाँ एक बहुत है 1402 00:57:01,720 --> 00:57:03,360 चीजों की लंबी सूची है. 1403 00:57:03,360 --> 00:57:05,150 और यह अब याद रखना लायक कुछ नहीं है. 1404 00:57:05,150 --> 00:57:07,310 आप लंबे समय से पहले यह आदत हो जाएगी. 1405 00:57:07,310 --> 00:57:10,690 लेकिन सिर्फ ग्रेड स्कूल में की तरह, कोष्ठकों आम तौर पर हल 1406 00:57:10,690 --> 00:57:12,990 वरीयता के सुपर स्पष्ट बनाने के द्वारा, मुद्दों 1407 00:57:12,990 --> 00:57:15,620 कंप्यूटर और एक जैसे मानव क्या करना है. 1408 00:57:15,620 --> 00:57:17,770 तो यह सिर्फ एक छोटे से पत्रक धोखा वहाँ पर विचार करें. 1409 00:57:17,770 --> 00:57:21,690 लेकिन उन विवरण के अधिकांश हम कुछ समय के लिए नहीं मिल जाएगा. 1410 00:57:21,690 --> 00:57:21,900 >> सही सभी. 1411 00:57:21,900 --> 00:57:24,120 अब, चलो बनाने के लिए और इन मूर्खतापूर्ण छोटे से दूर ले जाने के 1412 00:57:24,120 --> 00:57:25,460 गणितीय उदाहरण हैं. 1413 00:57:25,460 --> 00:57:27,500 अभी भी एक ही बुनियादी बातों का उपयोग करें, लेकिन शुरू 1414 00:57:27,500 --> 00:57:29,960 अपने आप को एक छोटी सी खरोंच की तरह अधिक व्यक्त है. 1415 00:57:29,960 --> 00:57:31,660 तो खरोंच में, हम इन बूलियन अभिव्यक्ति था. 1416 00:57:31,660 --> 00:57:34,890 और अंग्रेजी में, एक बूलियन अभिव्यक्ति क्या है? 1417 00:57:34,890 --> 00:57:35,580 यह सही है या गलत. 1418 00:57:35,580 --> 00:57:38,300 यह कुछ है कि सच है या झूठ का मूल्यांकन करने के लिए है. 1419 00:57:38,300 --> 00:57:39,060 1 या 0. 1420 00:57:39,060 --> 00:57:39,870 पर या बंद. 1421 00:57:39,870 --> 00:57:41,000 जो कुछ भी तुम इसे कॉल करना चाहते हैं. 1422 00:57:41,000 --> 00:57:43,210 स्क्रैच में अब, पहेली टुकड़े इस तरह से देखा. 1423 00:57:43,210 --> 00:57:45,850 और उस संयोजन है, वहाँ नीचे पर तीन की 1424 00:57:45,850 --> 00:57:47,980 पहेली टुकड़े. 1425 00:57:47,980 --> 00:57:48,980 एक संयोजन - 1426 00:57:48,980 --> 00:57:51,710 कुछ है कि रिक्त और रिक्त है. 1427 00:57:51,710 --> 00:57:53,970 और फिर दो के अंदर यह बूलियन अभिव्यक्ति. 1428 00:57:53,970 --> 00:57:56,460 तो तुम घोंसला बूलियन अभिव्यक्ति अधिक कर सकते हैं 1429 00:57:56,460 --> 00:57:59,360 बूलियन अभिव्यक्ति जटिल. 1430 00:57:59,360 --> 00:58:03,930 उदाहरण के लिए, अगर यह शनिवार है, और यह अच्छा है 1431 00:58:03,930 --> 00:58:06,180 मौसम, तो बाहर जाओ. 1432 00:58:06,180 --> 00:58:07,500 या कुछ की तरह है कि मनमाने ढंग से. 1433 00:58:07,500 --> 00:58:10,090 तो आप बूलियन अभिव्यक्ति में शामिल होने के लिए एक साथ ऊपर आ सकते हैं 1434 00:58:10,090 --> 00:58:12,780 बड़ा सच मूल्य, जिसका जवाब आधारित है 1435 00:58:12,780 --> 00:58:13,800 छोटे लोगों पर. 1436 00:58:13,800 --> 00:58:15,770 >> अब, सी में, शुक्र है, इस मानचित्रण 1437 00:58:15,770 --> 00:58:16,720 वास्तव में बहुत आसान है. 1438 00:58:16,720 --> 00:58:18,820 बातें यहाँ स्पष्ट लघुकोष्ठक मदद. 1439 00:58:18,820 --> 00:58:21,700 && है "और" का अर्थ तो है कि कैसे 1440 00:58:21,700 --> 00:58:24,700 हम स्क्रैच से सी. उन ब्लॉकों में परिवर्तित करने के लिए जा रहे हैं 1441 00:58:24,700 --> 00:58:27,590 और स्थितियों के लिए हम खरोंच में बाएं हाथ पर देखा था, 1442 00:58:27,590 --> 00:58:31,150 वहाँ की ओर है, मैं उन्हें इसी तरह सी में कर सकते हैं धुआँरा यदि x कम है 1443 00:58:31,150 --> 00:58:32,970 y से, तो यह करते हैं. 1444 00:58:32,970 --> 00:58:35,100 और अगर एक्स y से अधिक है, तो यह करते हैं. 1445 00:58:35,100 --> 00:58:38,030 वरना वे तार्किक बराबर हो, तो कहते हैं चाहिए 1446 00:58:38,030 --> 00:58:39,140 कि वे बराबर हैं. 1447 00:58:39,140 --> 00:58:41,210 तो हम अब इन बातों का निर्माण शुरू कर सकते हैं. 1448 00:58:41,210 --> 00:58:42,170 >> तो एक उदाहरण है. 1449 00:58:42,170 --> 00:58:45,550 मुझे कि पाठ्यक्रम है कि वेबसाइट पर एक फ़ाइल खोलने 1450 00:58:45,550 --> 00:58:47,270 मैं अग्रिम में लिखा. 1451 00:58:47,270 --> 00:58:50,540 कि nonswitch.c कहा जाता है. 1452 00:58:50,540 --> 00:58:52,270 और हम बस एक पल में क्यों देखेंगे. 1453 00:58:52,270 --> 00:58:54,770 तो इस फाइल में है - nonswitch.c - 1454 00:58:54,770 --> 00:58:56,830 1 एहसास है कि वहाँ की एक पूरी गुच्छा है 1455 00:58:56,830 --> 00:58:58,460 शीर्ष पर टिप्पणी. 1456 00:58:58,460 --> 00:59:00,110 वह सिर्फ फ़ाइल का नाम समझा है, यह क्या 1457 00:59:00,110 --> 00:59:01,260 करता है, और बहुत आगे है. 1458 00:59:01,260 --> 00:59:04,390 और यह स्पष्ट तौर पर बूलियन और आईएनजी के उपयोग को दर्शाता है - 1459 00:59:04,390 --> 00:59:06,220 दो अभिव्यक्ति conjoining. 1460 00:59:06,220 --> 00:59:07,670 >> तो देखते हैं कैसे काम करता है इस कार्यक्रम. 1461 00:59:07,670 --> 00:59:10,840 मैं अपने दो फाइलें, cs50.h और stdio.h शामिल हैं. 1462 00:59:10,840 --> 00:59:13,180 अगर मैं नीचे स्क्रॉल, अब, इस कार्यक्रम के लिए, यह थोड़ी देर है 1463 00:59:13,180 --> 00:59:15,730 की तुलना में हम पहले लिखा है, लेकिन बहुत पठनीय है. 1464 00:59:15,730 --> 00:59:18,360 तो मैं पहली बार 18 लाइन पर उपयोगकर्ता के लिए, प्रिंट, 1465 00:59:18,360 --> 00:59:20,460 "मुझे 1 और 10 के बीच एक पूर्णांक दे." इसलिए 1466 00:59:20,460 --> 00:59:21,530 कि अभी भी वहीं है. 1467 00:59:21,530 --> 00:59:23,410 अब मैं पूर्णांक मिलता है. 1468 00:59:23,410 --> 00:59:25,380 लेकिन कि GetInt एहसास बहुत आसान है. 1469 00:59:25,380 --> 00:59:26,510 यह सिर्फ एक int हो रहा है. 1470 00:59:26,510 --> 00:59:28,830 यह सुनिश्चित करने के लिए कि यह एक int प्राप्त करता जा रहा है एक नहीं और 1471 00:59:28,830 --> 00:59:30,060 स्ट्रिंग या एक नाव. 1472 00:59:30,060 --> 00:59:32,390 लेकिन यह सीमा की जाँच के किसी भी तरह नहीं जा रहा है. 1473 00:59:32,390 --> 00:59:34,750 यह संख्या एक के बीच होना करने के लिए फिल्टर के लिए नहीं जा रहा है 1474 00:59:34,750 --> 00:59:35,630 निश्चित सीमा. 1475 00:59:35,630 --> 00:59:37,730 तो हम खुद को लागू करने के लिए है. 1476 00:59:37,730 --> 00:59:40,680 तो सिर्फ खरोंच में करना चाहते हैं, जहां मैं का एक संयोजन कर सकता है 1477 00:59:40,680 --> 00:59:43,560 दो भाव है, मैं के रूप में है कि सी में कर सकते हैं. 1478 00:59:43,560 --> 00:59:48,660 यदि n से अधिक या बराबर 1, और पता है और कम से कम है 1479 00:59:48,660 --> 00:59:52,220 3 के बराबर या, मैं बहुत मनमाने ढंग से डिक्री के लिए जा रहा हूँ कि 1480 00:59:52,220 --> 00:59:53,830 एक छोटी संख्या की संख्या. 1481 00:59:53,830 --> 00:59:56,730 बस एक बयान के खातिर. 1482 00:59:56,730 --> 01:00:00,210 और अगर n 4 और 6 के बीच है, तो आप प्रिंट "एक मध्यम उठाया 1483 01:00:00,210 --> 01:00:03,440 संख्या. "वरना यदि n 7 और 10 के बीच में है, प्रिंट" तुम एक उठाया 1484 01:00:03,440 --> 01:00:06,390 बड़ी संख्या है. "वरना प्रिंट" आपने एक अमान्य नंबर लेने. " 1485 01:00:06,390 --> 01:00:07,900 क्योंकि तार्किक, कि इस प्रकार अगर हम है 1486 01:00:07,900 --> 01:00:09,230 हमारी सीमा समाप्त हो. 1487 01:00:09,230 --> 01:00:12,400 >> तो एहसास यह काफी नहीं है कि हम अधिक से अधिक से अधिक या लिखने 1488 01:00:12,400 --> 01:00:15,000 के बराबर एक गणित वर्ग में. 1489 01:00:15,000 --> 01:00:15,160 सही है? 1490 01:00:15,160 --> 01:00:17,430 आप आमतौर पर इस तरह के तहत यह लाइन के साथ आकर्षित. 1491 01:00:17,430 --> 01:00:19,250 लेकिन वहाँ अपने कीबोर्ड पर ऐसी कोई कुंजी है. 1492 01:00:19,250 --> 01:00:22,390 तो सी में से अधिक से अधिक को व्यक्त करने के लिए प्रतीक या 1493 01:00:22,390 --> 01:00:25,770 के बराबर दो अक्षर, और की तुलना में कम समय के लिए प्रतीक है 1494 01:00:25,770 --> 01:00:29,100 के बराबर या दो अक्षर के रूप में अच्छी तरह से है. 1495 01:00:29,100 --> 01:00:29,330 सही सभी. 1496 01:00:29,330 --> 01:00:31,910 तो अगर मैं इस कार्यक्रम को चलाने, तो आप शायद लगता है कि यह क्या है 1497 01:00:31,910 --> 01:00:32,650 करने के लिए जा रहा. 1498 01:00:32,650 --> 01:00:36,180 यदि मैं आगे जाना और nonswitch बनाने दर्ज करें. 1499 01:00:36,180 --> 01:00:38,130 और फिर nonswitch चलाते हैं. 1500 01:00:38,130 --> 01:00:39,530 मुझे 1 और 10 के बीच एक नंबर दे. 1501 01:00:39,530 --> 01:00:40,870 मैं इसे 11 देने के लिए जा रहा हूँ. 1502 01:00:40,870 --> 01:00:42,280 मैं एक अमान्य संख्या उठाया. 1503 01:00:42,280 --> 01:00:44,090 मुझे नंबर 3 की कोशिश. 1504 01:00:44,090 --> 01:00:45,990 मैं एक छोटी संख्या उठाया. 1505 01:00:45,990 --> 01:00:48,360 तो वहाँ काफी सीधा. 1506 01:00:48,360 --> 01:00:52,230 >> क्या होगा यदि मैं इस कार्यक्रम के व्यवहार को बदलने के लिए और चाहते हैं 1507 01:00:52,230 --> 01:00:54,250 बजाय एक छोटे से अलग कुछ करना है? 1508 01:00:54,250 --> 01:00:57,620 मुझे आगे जाना है और यह कहना. 1509 01:00:57,620 --> 01:00:59,480 मुझे यह सब से छुटकारा पाने के. 1510 01:00:59,480 --> 01:01:03,780 और मुझे कहने अगर (n == 42). 1511 01:01:03,780 --> 01:01:08,730 और फिर मैं आगे जाना है और प्रिंट कहना जा रहा हूँ "उठाया 1512 01:01:08,730 --> 01:01:16,340 सही जवाब है. "और हम आगे जाना है और कहने के लिए जा रहे हैं, 1513 01:01:16,340 --> 01:01:18,460 printf ("आप उठाया 1514 01:01:18,460 --> 01:01:21,170 गलत जवाब "); ठीक है. 1515 01:01:21,170 --> 01:01:22,040 सिर्फ इसलिए. 1516 01:01:22,040 --> 01:01:23,890 >> अब, कुछ बिंदुओं हम यहाँ कर सकते हैं. 1517 01:01:23,890 --> 01:01:26,570 एक, मैं प्रतीक है कि आपको लगता है नहीं टाइप किया 1518 01:01:26,570 --> 01:01:27,390 सबसे उचित है. 1519 01:01:27,390 --> 01:01:30,110 जब मैं करने के लिए समानता की जांच चाहते हैं, यह निकलता है कि आप प्रयोग नहीं करते 1520 01:01:30,110 --> 01:01:30,910 बराबर के चिह्न. 1521 01:01:30,910 --> 01:01:34,000 आप के बजाय बराबर बराबर के चिह्न का उपयोग करें. 1522 01:01:34,000 --> 01:01:36,440 और क्यों है कि हो सकता है, बस intuitively सकता है? 1523 01:01:36,440 --> 01:01:37,030 हाँ. 1524 01:01:37,030 --> 01:01:39,330 दर्शक: [अश्राव्य] 1525 01:01:39,330 --> 01:01:39,615 डेविड जे मालन: सही है. 1526 01:01:39,615 --> 01:01:41,630 बराबर के चिह्न पहले से ही काम के लिए प्रयोग किया जाता है. 1527 01:01:41,630 --> 01:01:43,020 कोई तो सच के माध्यम से यह नहीं लगता था. 1528 01:01:43,020 --> 01:01:45,820 और इसलिए अब, जब यह समानता परीक्षण करने के लिए आता है, हम करने के लिए है 1529 01:01:45,820 --> 01:01:48,850 समानता के आधार पर और अधिक स्पष्ट हो सकता है, और कहते हैं कि बराबर होती है. 1530 01:01:48,850 --> 01:01:52,110 एक बहुत ही आम गलती यह करने के लिए है. 1531 01:01:52,110 --> 01:01:54,800 और, अगर कार्यालय घंटे या कुछ समय अगले सप्ताह में या 1532 01:01:54,800 --> 01:01:58,340 दो सप्ताह अगली बार जब आप इस तरह से कुछ तो करते हैं और 1533 01:01:58,340 --> 01:02:00,920 10 के लिए इसके साथ संघर्ष, 20 मिनट के लिए बाहर निकालने की कोशिश 1534 01:02:00,920 --> 01:02:03,330 लानत बग क्या है एहसास है कि आप उन लोगों में से एक हैं 1535 01:02:03,330 --> 01:02:04,470 जो लोग इस गलती की. 1536 01:02:04,470 --> 01:02:06,030 तो, आसान बनाने के लिए सुपर. 1537 01:02:06,030 --> 01:02:08,240 लेकिन लक्ष्य अब इस गलती वार्ड है. 1538 01:02:08,240 --> 01:02:11,840 यह मूल्यांकन करने के लिए, क्योंकि यह वास्तव में क्या कह रहा है? 1539 01:02:11,840 --> 01:02:15,010 यदि n 42 हो जाता है. 1540 01:02:15,010 --> 01:02:18,250 तो क्रिया लोगों का उपयोग करते हैं, मौखिक रूप से व्यक्त करने के लिए 1541 01:02:18,250 --> 01:02:21,800 काम की धारणा है, "हो जाता है." तो अगर n 42 हो जाता है. 1542 01:02:21,800 --> 01:02:24,060 तो इसका मतलब है कि पता करने के लिए असाइन करने के लिए 42. 1543 01:02:24,060 --> 01:02:26,250 अब मैं कोष्ठक में एक बूलियन अभिव्यक्ति है, 1544 01:02:26,250 --> 01:02:30,230 इस हालत के अंदर, जिसमें से मूल्य 42 है. 1545 01:02:30,230 --> 01:02:30,390 सही है? 1546 01:02:30,390 --> 01:02:32,690 क्योंकि अगर आप इसे अंदर बाहर, कुल से मूल्यांकन 1547 01:02:32,690 --> 01:02:34,100 जवाब है, अब 42 है. 1548 01:02:34,100 --> 01:02:37,360 >> , "अगर (42)," तो अगर मैं तुम्हें प्रश्न पूछा क्या है 1549 01:02:37,360 --> 01:02:38,410 कि वास्तव में कह रही है? 1550 01:02:38,410 --> 01:02:40,990 खैर, बूलियन अभिव्यक्ति ही सही है या गलत हो सकता है. 1551 01:02:40,990 --> 01:02:42,010 1 या 0. 1552 01:02:42,010 --> 01:02:43,010 पर या बंद. 1553 01:02:43,010 --> 01:02:45,240 तो हम एक कोने मामले यहाँ लगता है, जिससे एक के सभी 1554 01:02:45,240 --> 01:02:50,060 अचानक, मैं कह रहा हूँ. "(42) यदि". एक बूलियन मान नहीं है. 1555 01:02:50,060 --> 01:02:54,500 तो कंप्यूटर क्या है, हालांकि, यह अनिवार्य रूप से equates 1556 01:02:54,500 --> 01:02:58,620 कुछ भी है कि 0 नहीं है सच्चा होना व्याख्या की है. 1557 01:02:58,620 --> 01:02:59,340 1. 1558 01:02:59,340 --> 01:02:59,690 पर. 1559 01:02:59,690 --> 01:03:01,510 वे सभी कार्यात्मक समकक्ष हो. 1560 01:03:01,510 --> 01:03:05,070 केवल मूल्य 0, या झूठी कीवर्ड के रूप में हम करेंगे, 1561 01:03:05,070 --> 01:03:07,860 अंत में देखते हैं, वास्तव में झूठी है. 1562 01:03:07,860 --> 01:03:15,040 तो "अगर (42)" वास्तव में सच हो सकता है, क्योंकि यह गैर शून्य है. 1563 01:03:15,040 --> 01:03:18,620 यहाँ और अधिक सटीक हो तो, एक बूलियन मान वास्तव में ऐसा नहीं है 1564 01:03:18,620 --> 01:03:20,680 बहुत सही है या गलत है, लेकिन इस के लिए 1565 01:03:20,680 --> 01:03:24,650 मामले में, अगर 0 या गैर शून्य है. 1566 01:03:24,650 --> 01:03:26,330 तो झूठी या गलत नहीं है. 1567 01:03:26,330 --> 01:03:28,640 और कहा कि हम सभी को शामिल करने की अनुमति देता है 1568 01:03:28,640 --> 01:03:30,980 प्रारंभिक अभिव्यक्ति में संभावनाओं. 1569 01:03:30,980 --> 01:03:33,840 तो हम करने की आवश्यकता है, कभी, इसलिए सावधानी से, यह कहना - 1570 01:03:33,840 --> 01:03:35,620 अगर (n == 42). 1571 01:03:35,620 --> 01:03:39,100 सिर्फ इसलिए कि हम समानता के एक परीक्षण को निर्दिष्ट करने की जरूरत है, 1572 01:03:39,100 --> 01:03:40,930 एक मूल्य के एक असाइनमेंट नहीं. 1573 01:03:40,930 --> 01:03:42,830 >> यहाँ टिप्पण लायक और क्या है? 1574 01:03:42,830 --> 01:03:46,030 इन घुंघराले ब्रेसिज़ वास्तव में आवश्यक नहीं हैं. 1575 01:03:46,030 --> 01:03:48,650 मैं उन्हें कर दिया गया है सिर्फ लीख-picky होने के लिए यहाँ. 1576 01:03:48,650 --> 01:03:51,350 लेकिन जब आप एक शर्त है कि केवल एक की लाइन है 1577 01:03:51,350 --> 01:03:55,100 कोड, एक सुविधा के रूप में, प्रोग्रामर उपयोग करने के लिए नहीं की जरूरत नहीं है 1578 01:03:55,100 --> 01:03:56,030 घुंघराले ब्रेसिज़. 1579 01:03:56,030 --> 01:03:59,370 यह सिर्फ सौंदर्य कारणों के लिए इंडेंट suffices, और 1580 01:03:59,370 --> 01:04:01,050 तो कोड के अपने लाइन लिखने. 1581 01:04:01,050 --> 01:04:04,160 - केवल जब आप कोड की दो पंक्तियाँ लिखने के लिए चाहते हैं 1582 01:04:04,160 --> 01:04:08,230 उदाहरण के लिए, और printf ("अलविदा!"). यदि आप करना चाहते हैं 1583 01:04:08,230 --> 01:04:09,540 कि, यह टूटा हुआ है. 1584 01:04:09,540 --> 01:04:11,700 तुम सब तुम चाहते इंडेंट कर सकते हैं, लेकिन तथ्य यह है कि आप 1585 01:04:11,700 --> 01:04:14,600 घुंघराले ब्रेसिज़ का उपयोग कर के बिना कोड की दो पंक्तियाँ टाइप 1586 01:04:14,600 --> 01:04:16,860 इसका मतलब है कि इस कार्यक्रम को सही ढंग से हो सकता है या नहीं चला जाएगा 1587 01:04:16,860 --> 01:04:18,530 सही ढंग से भी संकलन नहीं. 1588 01:04:18,530 --> 01:04:21,040 तो अब के लिए, के लिए ईमानदार हो, मुझे लगता है कि सबसे अच्छा आदत है बस 1589 01:04:21,040 --> 01:04:24,460 घुंघराले ब्रेसिज़ का उपयोग करने के लिए, और आप पाएंगे कि वे बनाने 1590 01:04:24,460 --> 01:04:25,750 सुपर स्पष्ट क्या हो रहा है. 1591 01:04:25,750 --> 01:04:29,410 >> इसके अलावा, के रूप में एक अलग - खासकर यदि आप उन लोगों के बीच कर रहे हैं जो उपयोग 1592 01:04:29,410 --> 01:04:31,700 सिफारिश की किताबें या ऑनलाइन संसाधनों 1593 01:04:31,700 --> 01:04:33,480 एहसास है कि वहाँ में शैली की इस धारणा है 1594 01:04:33,480 --> 01:04:34,130 प्रोग्रामिंग. 1595 01:04:34,130 --> 01:04:37,280 और कुछ लोगों को वास्तव धनु धनुकोष्ठक डाल पसंद करते हैं 1596 01:04:37,280 --> 01:04:38,720 यहाँ पर एक लाइन पर. 1597 01:04:38,720 --> 01:04:41,520 कुछ लोगों को हास्यास्पद चीजें करना पसंद करते हैं, 1598 01:04:41,520 --> 01:04:43,830 उन्हें यहाँ डाल की तरह है. 1599 01:04:43,830 --> 01:04:45,140 वहाँ कोई गलत जवाब है जब यह आता है 1600 01:04:45,140 --> 01:04:46,710 शैली है, लेकिन यह गलत है. 1601 01:04:46,710 --> 01:04:47,700 लेकिन कुछ लोगों को यह करते हैं. 1602 01:04:47,700 --> 01:04:49,160 [हँसी] 1603 01:04:49,160 --> 01:04:51,760 डेविड जे मालन: तो मैं अब यह उल्लेख है, क्योंकि बस के रूप में 1604 01:04:51,760 --> 01:04:54,400 आप किताबें या ऑनलाइन में बातों पर पढ़ा, तो आप करने जा रहे हैं 1605 01:04:54,400 --> 01:04:55,990 विभिन्न शिक्षकों से अलग संदेशों और 1606 01:04:55,990 --> 01:04:56,730 विभिन्न लेखकों. 1607 01:04:56,730 --> 01:04:58,640 और बस एहसास है कि, कार्यात्मक, वे कर रहे हैं 1608 01:04:58,640 --> 01:05:00,740 आम तौर पर बराबर है, लेकिन लगातार हो. 1609 01:05:00,740 --> 01:05:02,850 तो इस मामले में, हम घुंघराले पर मानकीकरण करेंगे 1610 01:05:02,850 --> 01:05:04,650 ब्रेसिज़ यहाँ अस्तर बाईं तरफ. 1611 01:05:04,650 --> 01:05:04,910 >> सही सभी. 1612 01:05:04,910 --> 01:05:07,040 तो चलो अब आगे जाना है और इस चलाने के लिए, और देखो क्या होता है 1613 01:05:07,040 --> 01:05:07,780 इस कार्यक्रम के साथ. 1614 01:05:07,780 --> 01:05:09,970 Nonswitch बनाओ. 1615 01:05:09,970 --> 01:05:11,040 फिर nonswitch चलाते हैं. 1616 01:05:11,040 --> 01:05:13,900 मुझे 0 के बीच एक पूर्णांक दो और इसलिए है कि प्रासंगिक नहीं है 1617 01:05:13,900 --> 01:05:16,480 अब, लेकिन मैं बस मनमाने ढंग से 42 कहना जा रहा हूँ. 1618 01:05:16,480 --> 01:05:17,850 और मैं सही जवाब उठाया. 1619 01:05:17,850 --> 01:05:20,430 खैर अब, चलो वास्तव में एक अलग दिशा में ले. 1620 01:05:20,430 --> 01:05:22,070 यह जाता है वहाँ कुछ अन्य वाक्यविन्यास हम 1621 01:05:22,070 --> 01:05:23,480 एक कार्यक्रम में उपयोग कर सकते हैं. 1622 01:05:23,480 --> 01:05:27,310 यहाँ वाक्यविन्यास का एक नया टुकड़ा है कि कार्यात्मक है ही है, 1623 01:05:27,310 --> 01:05:30,680 लेकिन सिर्फ खुद को व्यक्त करने का एक और तरीका परिचय. 1624 01:05:30,680 --> 01:05:32,830 तो यह है कि क्या कहा जाता है, "स्विच बयान है." और एक 1625 01:05:32,830 --> 01:05:34,820 स्विच बयान इस प्रकार के रूप में संचालित है. 1626 01:05:34,820 --> 01:05:37,580 यह कोष्ठक में ले जाता है, एक मूल्य है कि आप चाहते हैं 1627 01:05:37,580 --> 01:05:38,860 "स्विच" पर. 1628 01:05:38,860 --> 01:05:41,490 आप अपने मूल्य के आधार पर अलग ढंग से व्यवहार करना चाहते हैं. 1629 01:05:41,490 --> 01:05:44,360 तो यह n के मूल्य पर स्विच का मतलब है. 1630 01:05:44,360 --> 01:05:45,480 और यह क्या मतलब है? 1631 01:05:45,480 --> 01:05:50,530 खैर, अगर n 1 या 2 या 3 है, आगे जाने के लिए और बाहर मुद्रित करने के लिए आप " 1632 01:05:50,530 --> 01:05:52,680 एक बड़ी संख्या "उठाया और फिर तोड़. 1633 01:05:52,680 --> 01:05:55,720 तोड़ने के लिए कारण यह है कि जिस तरह से सी काम करता है के रूप में है 1634 01:05:55,720 --> 01:05:59,790 के रूप में जल्द ही यह एक मामला है कि मैच पाता है, इसे क्रियान्वित शुरू 1635 01:05:59,790 --> 01:06:01,610 यह नीचे कोड के सभी. 1636 01:06:01,610 --> 01:06:04,580 तो अगर मैं कोड की एक पंक्ति है, के रूप में मैं 27 लाइन पर है, 1637 01:06:04,580 --> 01:06:05,360 हो जाता है को मार डाला. 1638 01:06:05,360 --> 01:06:07,520 अगर मैं यहाँ एक और लाइन जोड़ने के लिए, यह मार डाला जाता है. 1639 01:06:07,520 --> 01:06:09,350 यहाँ एक और लाइन, यह मार डाला जाता है. 1640 01:06:09,350 --> 01:06:12,460 कार्यक्रम को क्रियान्वित करने के नीचे क्या है बंद हो जाता है 1641 01:06:12,460 --> 01:06:14,680 जब मैं स्पष्ट रूप से लागू मामले बयान 1642 01:06:14,680 --> 01:06:17,210 कहते हैं, "तोड़ने के लिए." तो गलत है. 1643 01:06:17,210 --> 01:06:19,220 ठीक है, इस मामले में, एक परिणाम के रूप में. 1644 01:06:19,220 --> 01:06:22,130 प्रकरण 4 या 5 या 6, इसी तरह जा रहा है, 1645 01:06:22,130 --> 01:06:23,160 एक संदेश प्रिंट. 1646 01:06:23,160 --> 01:06:24,410 इस मामले में, मध्यम संख्या. 1647 01:06:24,410 --> 01:06:25,200 तोड़ो. 1648 01:06:25,200 --> 01:06:28,160 प्रकरण 7, 8, 9 10, यह बाहर प्रिंट हो रहा है "तुम एक बड़ी उठाया 1649 01:06:28,160 --> 01:06:28,950 संख्या तोड़ो. ". 1650 01:06:28,950 --> 01:06:31,290 और फिर वहाँ सचमुच एक "डिफ़ॉल्ट" नामक कीवर्ड 1651 01:06:31,290 --> 01:06:34,090 कि "और" का निर्माण की तरह प्रभावी रूप से है. 1652 01:06:34,090 --> 01:06:36,010 इसलिए नए वाक्यविन्यास, लेकिन बौद्धिक, 1653 01:06:36,010 --> 01:06:37,060 सभी नए यहाँ पर कुछ भी नहीं है. 1654 01:06:37,060 --> 01:06:38,280 यह स्क्रैच की तरह है. 1655 01:06:38,280 --> 01:06:41,040 अगर, अगर और कुछ और, अगर, सॉर्ट ब्लॉक के. 1656 01:06:41,040 --> 01:06:44,560 >> तो यह है कि इस कार्यक्रम के बंद संस्करण है. 1657 01:06:44,560 --> 01:06:46,280 लेकिन नोटिस कि हम इसे यहाँ संख्या के साथ किया था. 1658 01:06:46,280 --> 01:06:49,040 मुझे एक दूसरे संस्करण खोलने, सिर्फ दिखाने के लिए 1659 01:06:49,040 --> 01:06:50,670 एक थोड़ा और अधिक ठोस कुछ. 1660 01:06:50,670 --> 01:06:52,840 तो यहाँ हम ग्रेड बजाय है. 1661 01:06:52,840 --> 01:06:55,540 बाहर आप न सिर्फ पूर्णांकों पर स्विच का उपयोग कर सकते हैं बदल जाता है, लेकिन पर 1662 01:06:55,540 --> 01:06:56,340 वर्ण. 1663 01:06:56,340 --> 01:06:58,930 सभी डेटा प्रकार में है, लेकिन कम से कम अक्षरों पर नहीं. 1664 01:06:58,930 --> 01:07:02,670 तो, यहाँ हम की तरह कुछ कर सकता है कि अगर सी के मूल्य 1665 01:07:02,670 --> 01:07:06,230 उपयोगकर्ता में टाइप, 19 लाइन में getchar समारोह का उपयोग करके, 1666 01:07:06,230 --> 01:07:09,410 एक या एक लोअरकेस, चलो यह एक ग्रेड के रूप में व्याख्या की राजधानी है 1667 01:07:09,410 --> 01:07:11,340 कहते हैं और वे एक उत्कृष्ट ग्रेड उठाया. 1668 01:07:11,340 --> 01:07:14,690 और नीचे स्विच बयान के साथ, हम अन्य है 1669 01:07:14,690 --> 01:07:17,950 "बी" है और "सी", और इसके आगे के लिए मामलों. 1670 01:07:17,950 --> 01:07:19,780 लेकिन अब एक अन्य बात दौर. 1671 01:07:19,780 --> 01:07:21,130 और फिर, इस तरह के माध्यम से उड़ान 1672 01:07:21,130 --> 01:07:22,200 इन उदाहरणों में से कुछ हैं. 1673 01:07:22,200 --> 01:07:26,990 लेकिन यह वास्तव में ऐसा है कि हम उन्हें लागू करने के लिए, अब कर सकते हैं - 1674 01:07:26,990 --> 01:07:28,880 या वास्तव में, बस उन्हें अब अनुवाद 1675 01:07:28,880 --> 01:07:32,220 सी. करने के लिए 1676 01:07:32,220 --> 01:07:33,310 >> तो मुझे आगे जाना है और इस करते हैं. 1677 01:07:33,310 --> 01:07:34,830 मैं एक नई फ़ाइल खोलने के लिए जा रहा हूँ. 1678 01:07:34,830 --> 01:07:39,430 और मैं शामिल करने के लिए जा रहा हूँ. 1679 01:07:39,430 --> 01:07:42,770 और फिर मैं int मुख्य (शून्य) करने के लिए जा रहा हूँ. 1680 01:07:42,770 --> 01:07:46,390 चलो मुझे एक loop.c. के रूप में इस फाइल को बचाने 1681 01:07:46,390 --> 01:07:48,280 बस एक उदाहरण के रूप में. 1682 01:07:48,280 --> 01:07:49,910 और मुझे आगे जाना है और निम्न कार्य करने के लिए जा रहा हूँ. 1683 01:07:49,910 --> 01:07:54,180 मैं एक बहुत थकाऊ कार्यक्रम लिखने के लिए चाहते हैं. 1684 01:07:54,180 --> 01:07:56,170 10 तो. 1685 01:07:56,170 --> 01:07:58,862 चलो यह करते हैं. 1686 01:07:58,862 --> 01:07:59,320 9. 1687 01:07:59,320 --> 01:08:00,360 सही सभी. 1688 01:08:00,360 --> 01:08:02,120 जैसे ही आप प्रोग्रामिंग में यह कर रही शुरू, आप कर रहे हैं 1689 01:08:02,120 --> 01:08:03,490 शायद कुछ गलत कर रहे हैं. 1690 01:08:03,490 --> 01:08:04,950 लेकिन हम वहाँ वैसे भी शुरू करेंगे. 1691 01:08:04,950 --> 01:08:05,430 उफ़! 1692 01:08:05,430 --> 01:08:06,950 यह वास्तव में गलत है. 1693 01:08:06,950 --> 01:08:08,230 7. 1694 01:08:08,230 --> 01:08:09,440 6. 1695 01:08:09,440 --> 01:08:10,750 5. 1696 01:08:10,750 --> 01:08:11,200 4. 1697 01:08:11,200 --> 01:08:12,450 कुछ नहीं होने जा रहा है जब हम 0 करने के लिए मिलता है. 1698 01:08:12,450 --> 01:08:13,290 3. 1699 01:08:13,290 --> 01:08:14,590 2. 1700 01:08:14,590 --> 01:08:15,630 1. 1701 01:08:15,630 --> 01:08:16,020 ठीक है. 1702 01:08:16,020 --> 01:08:17,560 0. 1703 01:08:17,560 --> 01:08:18,689 हटाएँ. 1704 01:08:18,689 --> 01:08:19,029 >> सही सभी. 1705 01:08:19,029 --> 01:08:20,029 तो 0 वापसी. 1706 01:08:20,029 --> 01:08:22,010 तो इस कार्यक्रम जाहिर करने के लिए क्या यह बहुत करने के लिए जा रहा है 1707 01:08:22,010 --> 01:08:23,310 tediously का कहना है कि यह करने जा रहा है. 1708 01:08:23,310 --> 01:08:24,060 यह उन सभी प्रिंट जा रहा है 1709 01:08:24,060 --> 01:08:25,290 ऊपर से नीचे तक मूल्यों,. 1710 01:08:25,290 --> 01:08:27,140 तो मुझे पाश कर. 1711 01:08:27,140 --> 01:08:28,640 और फिर - वूप्स. 1712 01:08:28,640 --> 01:08:29,700 पाश बनाओ. 1713 01:08:29,700 --> 01:08:31,479 मैं गलत निर्देशिका में था. 1714 01:08:31,479 --> 01:08:33,300 और अब मुझे लूप को चलाने के लिए. 1715 01:08:33,300 --> 01:08:34,140 दर्ज करें. 1716 01:08:34,140 --> 01:08:34,620 Woohoo. 1717 01:08:34,620 --> 01:08:35,270 बहुत अच्छा. 1718 01:08:35,270 --> 01:08:36,279 अच्छा है, लंबे कार्यक्रम. 1719 01:08:36,279 --> 01:08:38,109 >> सब ठीक है, लेकिन अब यह बेहतर करते हैं. 1720 01:08:38,109 --> 01:08:40,810 बस खरोंच में करना चाहते हैं, जब आप एक looping का उपयोग शुरू कर दिया है 1721 01:08:40,810 --> 01:08:43,149 निर्माण, के बजाय सिर्फ नकल और सभी चिपकाने 1722 01:08:43,149 --> 01:08:45,580 पहेली टुकड़े, मुझे इस बात का परिचय. 1723 01:08:45,580 --> 01:08:48,609 तो सी में, वहाँ विभिन्न पाशन constructs हैं, 1724 01:08:48,609 --> 01:08:50,540 जिनमें से एक इस तरह दिखता है. 1725 01:08:50,540 --> 01:08:55,069 एक "के लिए" पाश तीन बातें, दो अर्धविरामों से अलग है. 1726 01:08:55,069 --> 01:08:57,770 और फिर, लूप के शरीर के अंदर है, तो बात करने के लिए - 1727 01:08:57,770 --> 01:08:59,390 घुंघराले ब्रेसिज़ के अंदर सामान - 1728 01:08:59,390 --> 01:09:01,010 हम फिर से और फिर से कुछ कर सकते हैं. 1729 01:09:01,010 --> 01:09:02,310 तो मैं क्या स्क्रीन पर यहाँ है, यह है कि 1730 01:09:02,310 --> 01:09:03,300 सचमुच सिर्फ एक टिप्पणी. 1731 01:09:03,300 --> 01:09:05,380 / / यहाँ मतलब है एक टिप्पणी आता है. 1732 01:09:05,380 --> 01:09:06,180 यह कोड नहीं है. 1733 01:09:06,180 --> 01:09:08,890 यह सिर्फ मेरे लिए अंग्रेजी वर्णन, मानव है. 1734 01:09:08,890 --> 01:09:11,300 >> तो initializations, शर्तों, और अद्यतन. 1735 01:09:11,300 --> 01:09:12,770 ठीक है, यह कैसे काम करता है देखने के लिए करते हैं. 1736 01:09:12,770 --> 01:09:15,520 यह मुझे के रूप में इस कार्यक्रम को फिर से लिखना करने के लिए अनुमति देता है. 1737 01:09:15,520 --> 01:09:16,399 के लिए - 1738 01:09:16,399 --> 01:09:18,029 तो यहाँ अपने पाश आता है - 1739 01:09:18,029 --> 01:09:19,439 मैं int - 1740 01:09:19,439 --> 01:09:21,330 यहाँ एक "मैं" चर बुलाया आता है - 1741 01:09:21,330 --> 01:09:23,140 10 प्रारंभ हो जाता है. 1742 01:09:23,140 --> 01:09:25,260 तो मेरी initialization है. 1743 01:09:25,260 --> 01:09:29,450 मैं इस लूप इतने लंबे समय के रूप में "मैं" से अधिक है या करना चाहते हैं 1744 01:09:29,450 --> 01:09:30,899 0 के बराबर है. 1745 01:09:30,899 --> 01:09:32,880 और इस लूप के प्रत्येक चलना पर, मैं चाहता हूँ 1746 01:09:32,880 --> 01:09:34,979 मुझे क्या करना है. 1747 01:09:34,979 --> 01:09:36,310 तो हम सोमवार को + + देखा. 1748 01:09:36,310 --> 01:09:37,660 - विपरीत है. 1749 01:09:37,660 --> 01:09:39,410 यह 1 द्वारा मूल्य decrements. 1750 01:09:39,410 --> 01:09:43,319 इस लूप के अंदर, मैं वास्तव में कुछ करना चाहते हैं. 1751 01:09:43,319 --> 01:09:46,390 तो मैं printf की तरह कुछ कहने जा रहा हूँ. 1752 01:09:46,390 --> 01:09:48,939 मैं 10 अब कहने के लिए नहीं करना चाहते, क्योंकि यह स्पष्ट रूप से अभी 1753 01:09:48,939 --> 01:09:50,000 एक ही मूल्य मुद्रित जा रहा है. 1754 01:09:50,000 --> 01:09:52,246 मैं क्या करने के बजाय शायद, मुद्रित करना चाहते हैं? 1755 01:09:52,246 --> 01:09:52,590 हाँ. 1756 01:09:52,590 --> 01:09:55,270 तो "मैं." तो% d, मैं. 1757 01:09:55,270 --> 01:09:57,340 >> तो मैं पहले से एक उन विचारों से चोरी करने के लिए जा रहा हूँ - 1758 01:09:57,340 --> 01:09:59,640 स्वरूप कोड के लिए इस प्रतिस्थापन - 1759 01:09:59,640 --> 01:10:01,620 और फिर यहाँ नीचे, नीचे, मैं 0 वापसी, बस हूँ 1760 01:10:01,620 --> 01:10:02,710 अच्छे उपाय के लिए. 1761 01:10:02,710 --> 01:10:04,740 लेकिन अब, मैं एक अधिक संक्षिप्त कार्यक्रम है. 1762 01:10:04,740 --> 01:10:07,490 यह केवल कुछ लाइनों और कुछ है या नहीं 10 11 लाइनों. 1763 01:10:07,490 --> 01:10:09,440 मुझे यहाँ मेरे संकेत करने के लिए नीचे जाना. 1764 01:10:09,440 --> 01:10:10,630 रीमेक पाश. 1765 01:10:10,630 --> 01:10:12,140 पाश फिर से दौड़ना. 1766 01:10:12,140 --> 01:10:13,570 और यह एक ही प्रतीत होता है. 1767 01:10:13,570 --> 01:10:15,550 अब, कार्यक्रम और अधिक रोचक है. 1768 01:10:15,550 --> 01:10:17,180 लेकिन अब मैं इस तरह से कुछ लिख सकते हैं. 1769 01:10:17,180 --> 01:10:18,970 मैं इस 100 को बदल सकते हैं. 1770 01:10:18,970 --> 01:10:21,400 मैं तो अपने कार्यक्रम recompile कर सकते हैं. 1771 01:10:21,400 --> 01:10:23,360 और फिर मैं अपने कार्यक्रम फिर से चला सकते हैं. 1772 01:10:23,360 --> 01:10:26,390 और अब यह आज के कंप्यूटर पर सुपर फास्ट हो जाता है. 1773 01:10:26,390 --> 01:10:27,820 लेकिन वहाँ मैं - 1774 01:10:27,820 --> 01:10:29,620 और वास्तव में होता है, नहीं मेरे स्क्रॉलबैक बफर 1775 01:10:29,620 --> 01:10:30,890 यह भी है कि दूर जाना. 1776 01:10:30,890 --> 01:10:31,680 हम वहाँ जाते हैं. 1777 01:10:31,680 --> 01:10:34,090 इसलिए हम सभी 100 है. 1778 01:10:34,090 --> 01:10:35,880 लेकिन यह आसान है गलतियों यहाँ बनाने. 1779 01:10:35,880 --> 01:10:37,920 क्या व्यवहार की उम्मीद होने जा रहा है मैं अगर 1780 01:10:37,920 --> 01:10:41,150 गलती करते हो? 1781 01:10:41,150 --> 01:10:42,550 तो यह अनंत की तरह लगता है. 1782 01:10:42,550 --> 01:10:44,670 तो चलो देखते अगर कंप्यूटर बर्ताव करता है. 1783 01:10:44,670 --> 01:10:47,020 >> तो मुझे आगे जाना है और लूप करना. 1784 01:10:47,020 --> 01:10:48,355 और मुझे लूप को चलाने. 1785 01:10:53,590 --> 01:10:55,210 तो चलो कि करने के लिए बस एक पल में वापस आ. 1786 01:10:55,210 --> 01:10:56,720 हम जानते हैं कि रन दूँगा. 1787 01:10:56,720 --> 01:10:59,520 क्योंकि हम क्या भरोसा करना चाहिए न्यूनतम? 1788 01:10:59,520 --> 01:11:02,200 शायद कम से कम 2 अरब, अगर हम कि कई टुकड़े है, और 1789 01:11:02,200 --> 01:11:03,660 हम सकारात्मक मूल्यों का उपयोग कर रहे हैं. 1790 01:11:03,660 --> 01:11:04,890 तो चलो यहाँ वापस कूद. 1791 01:11:04,890 --> 01:11:07,810 Loops के इन प्रकार के अलावा, हम क्या कहा जाता है, जबकि 1792 01:11:07,810 --> 01:11:09,430 loops. तो, बस खरोंच में की तरह, आप हमेशा के लिए था 1793 01:11:09,430 --> 01:11:11,240 ब्लॉक, और दोहराएँ ब्लॉक था. 1794 01:11:11,240 --> 01:11:13,270 इसी तरह, सी में, तुम सिर्फ अन्य तरीके 1795 01:11:13,270 --> 01:11:14,260 अपने आप को व्यक्त करने का. 1796 01:11:14,260 --> 01:11:17,110 तो आप एक जबकि पाश है कि आप की अनुमति देता है की इस धारणा है 1797 01:11:17,110 --> 01:11:18,860 अपने आप को थोड़ा अलग तरह व्यक्त करते हैं. 1798 01:11:18,860 --> 01:11:21,490 और फिर आप कुछ करते हैं, जबकि एक पाश बुलाया है, 1799 01:11:21,490 --> 01:11:24,200 जो थोड़ा अलग रूप में अच्छी तरह से चल रही है. 1800 01:11:24,200 --> 01:11:25,320 और हम इन के अलावा समय पर तंग हूँ. 1801 01:11:25,320 --> 01:11:28,630 >> लेकिन यह पिछले एक यहाँ पर एक नज़र रखना. 1802 01:11:28,630 --> 01:11:30,160 अगर हम में जाने - 1803 01:11:30,160 --> 01:11:31,466 अभी भी चल रहा है. 1804 01:11:31,466 --> 01:11:32,770 यह बहुत अनंत है. 1805 01:11:32,770 --> 01:11:36,870 तो मुझे सकारात्मक में जाना, और दिखाने के लिए हम वास्तव में कैसे कर सकते हैं 1806 01:11:36,870 --> 01:11:39,410 उपयोगकर्ता इनपुट एक छोटे से अधिक प्रभावी ढंग से नियंत्रित करते हैं. 1807 01:11:39,410 --> 01:11:40,910 यह एक बहुत छोटी कार्यक्रम है. 1808 01:11:40,910 --> 01:11:43,730 और यहाँ हम मुख्य, एक int घोषणा n में है. 1809 01:11:43,730 --> 01:11:46,570 तो मुझे एक n चर बुलाया दे. अब, मैं सचमुच का कहना है 1810 01:11:46,570 --> 01:11:48,340 "करते हैं." और फिर मैं खुले घुंघराले मिल गया है 1811 01:11:48,340 --> 01:11:49,630 गले लगा, करीब धनु धनुकोष्ठक. 1812 01:11:49,630 --> 01:11:52,000 और फिर उसके बाद सही सूचना है, यह कहते हैं, जबकि n 1813 01:11:52,000 --> 01:11:53,790 कम से कम 1 है. 1814 01:11:53,790 --> 01:11:55,300 तो सूचना है कि इन लाइनों 1815 01:11:55,300 --> 01:11:56,740 19 24 - 1816 01:11:56,740 --> 01:11:59,450 सामूहिक रूप से है, जबकि एक पाश रचना. 1817 01:11:59,450 --> 01:12:01,280 और फिर, नया, एक नया विचार नहीं वाक्यविन्यास. 1818 01:12:01,280 --> 01:12:03,740 यह सिर्फ पाशन का एक और तरीका है, वाक्य रचना है. 1819 01:12:03,740 --> 01:12:04,890 तो यह क्या करता है? 1820 01:12:04,890 --> 01:12:08,000 निम्नलिखित क्या है जबकि n 1 से कम है. 1821 01:12:08,000 --> 01:12:09,080 तो मैं क्या करना चाहते हैं? 1822 01:12:09,080 --> 01:12:11,390 मैं मांग करता हूं कि आप मुझे एक सकारात्मक पूर्णांक दे. 1823 01:12:11,390 --> 01:12:14,110 तो मैं वास्तव में उपयोगकर्ता से एक पूर्णांक प्राप्त करने की कोशिश. 1824 01:12:14,110 --> 01:12:16,740 लेकिन कार्रवाई के आदेश के संदर्भ में है, क्योंकि 1825 01:12:16,740 --> 01:12:21,850 जबकि हालत यहाँ नीचे है, मैं तो जाँच करने के लिए जा रहा हूँ, पता है 1826 01:12:21,850 --> 01:12:23,100 1 से कम है? 1827 01:12:23,100 --> 01:12:24,600 तो लगता है कि उपयोगकर्ता - 1828 01:12:24,600 --> 01:12:26,450 इस तरह की मांग के बाद किया जा रहा - 1829 01:12:26,450 --> 01:12:29,190 मूल्य 0 में प्रकार. 1830 01:12:29,190 --> 01:12:34,510 इस हालत के लिए सही है या गलत होने जा रहा है? 1831 01:12:34,510 --> 01:12:35,820 खैर, यह वास्तव में सच होने जा रहा है. 1832 01:12:35,820 --> 01:12:38,700 क्योंकि n 0 है, और 0 1 कम से कम है. 1833 01:12:38,700 --> 01:12:40,140 तो इसका क्या मतलब है? 1834 01:12:40,140 --> 01:12:41,160 फिर से करो. 1835 01:12:41,160 --> 01:12:41,990 फिर से करो. 1836 01:12:41,990 --> 01:12:42,640 फिर से करो. 1837 01:12:42,640 --> 01:12:46,080 केवल एक बार है कि हालत के लिए गलत मूल्यांकन करता है. 1838 01:12:46,080 --> 01:12:47,510 अगर मैं 42 में लिखें. 1839 01:12:47,510 --> 01:12:49,690 खैर नहीं, 42 1 से कम नहीं है. 1840 01:12:49,690 --> 01:12:52,320 इसलिए इस पाश क्रियान्वित किया जाता है. 1841 01:12:52,320 --> 01:12:54,650 और इसलिए उस बिंदु पर, कार्यक्रम कहते हैं, के लिए धन्यवाद 1842 01:12:54,650 --> 01:12:57,530 इस मामले में 42. 1843 01:12:57,530 --> 01:13:00,320 अब है कि आप अपने आप को व्यक्त करने का यह तरीका है - 1844 01:13:00,320 --> 01:13:02,360 हम इस के लिए इंतजार नहीं खत्म कर देना चाहिए. 1845 01:13:02,360 --> 01:13:03,620 यह कुछ समय लेने के लिए जा रहा है. 1846 01:13:03,620 --> 01:13:04,990 अगली बार जारी रखा जाना है, शायद. 1847 01:13:04,990 --> 01:13:08,050 >> लेकिन अब, आप उम्मीद करने की क्षमता के लिए एक समझ है 1848 01:13:08,050 --> 01:13:09,060 geek हास्य के सा. 1849 01:13:09,060 --> 01:13:11,560 माफी. 1850 01:13:11,560 --> 01:13:13,620 कंप्यूटर विज्ञान के क्षेत्र में यह हास्य की प्रतिनिधि नहीं है 1851 01:13:13,620 --> 01:13:14,870 दुनिया है, लेकिन यह प्यारा है. 1852 01:13:21,020 --> 01:13:23,890 [हंसते हुए] चलो अंत उस पर ध्यान दें. 1853 01:13:23,890 --> 01:13:25,750 और हम आप सोमवार को देखेंगे. 1854 01:13:25,750 --> 01:13:31,629 [वाहवाही]