1 00:00:00,000 --> 00:00:10,940 2 00:00:10,940 --> 00:00:13,060 >> डेविड जे मालन: सभी ठीक है, तो इस CS50 है। 3 00:00:13,060 --> 00:00:15,040 और यह स्पष्ट रूप से एक शुक्रवार की है। 4 00:00:15,040 --> 00:00:16,850 और इस सप्ताह के अंत है। 5 00:00:16,850 --> 00:00:21,020 तो आप हम से दूर छोड़ दिया है कि याद कर सकते हैं, एक तरह की Cliffhanger साथ पिछली बार। 6 00:00:21,020 --> 00:00:25,020 जिससे हम इस झूठ का पर्दाफाश नहीं है कि बात बढ़ रही है आप सिखाया गया है क्या 7 00:00:25,020 --> 00:00:31,610 , 10 से विभाजित 1 में, नहीं है वास्तव में, 0.1 या 0.100 या ०.१००००। 8 00:00:31,610 --> 00:00:35,270 वास्तव में, यदि हम इस संकलन कार्यक्रम है, हम कल के साथ किया था, 9 00:00:35,270 --> 00:00:39,770 अस्पष्टता बनाने के लिए, और उसके बाद डॉट करते हैं, स्लेश, अस्पष्टता, 10 00:00:39,770 --> 00:00:43,600 हम यह क्या सीखा है कि 1 वास्तव में है 10 से विभाजित। 11 00:00:43,600 --> 00:00:46,140 तो यह है कि वास्तव में काफी मामला नहीं है। 12 00:00:46,140 --> 00:00:49,014 लेकिन इस से कुछ पर संकेत करता है कंप्यूटर के बुनियादी सीमा। 13 00:00:49,014 --> 00:00:50,930 और वास्तव में, के बीच बातें हम क्या करने जा रहे हैं 14 00:00:50,930 --> 00:00:55,130 आज यह है क्यों पर एक नज़र रखना है क्या हुआ, यह है क्या निहितार्थ 15 00:00:55,130 --> 00:00:58,430 मानवता में नाकाम रही है कि कैसे कुछ बहुत ही में इस काबू करने के लिए 16 00:00:58,430 --> 00:01:00,410 गंभीर situations-- जिनमें से परिणाम 17 00:01:00,410 --> 00:01:03,141 काफी दुखद कर दिया गया है और भी expensive-- और 18 00:01:03,141 --> 00:01:04,849 हम कैसे पर एक नज़र रखना वास्तव में बचाव कर सकते हैं 19 00:01:04,849 --> 00:01:06,530 सीमाओं के इन प्रकार के खिलाफ। 20 00:01:06,530 --> 00:01:10,940 तो intuitively, शायद, क्यों 1 10 से विभाजित है, 21 00:01:10,940 --> 00:01:15,480 मेरे कंप्यूटर के अनुसार यहां नहीं है, बस 1/10, 0.10? 22 00:01:15,480 --> 00:01:15,980 हाँ। 23 00:01:15,980 --> 00:01:16,530 आप क्या सोचते हैं? 24 00:01:16,530 --> 00:01:17,860 >> दर्शकों के सदस्य: मूलांक अलग है? 25 00:01:17,860 --> 00:01:18,550 >> डेविड जे मालन: क्या है? 26 00:01:18,550 --> 00:01:19,730 ओह, मूलांक अलग है? 27 00:01:19,730 --> 00:01:20,720 तो काफी नहीं है। 28 00:01:20,720 --> 00:01:23,200 यह वास्तव में अधिक है हार्डवेयर के लिए मौलिक। 29 00:01:23,200 --> 00:01:23,980 अन्य विचार? 30 00:01:23,980 --> 00:01:24,584 हाँ। 31 00:01:24,584 --> 00:01:26,750 दर्शकों के सदस्य: वे अलग ढंग संख्या का प्रतिनिधित्व करते हैं? 32 00:01:26,750 --> 00:01:27,880 डेविड जे मालन: तो they-- ठीक है। 33 00:01:27,880 --> 00:01:29,338 वे अलग संख्या का प्रतिनिधित्व करते हैं। 34 00:01:29,338 --> 00:01:30,700 गलत, जाहिरा तौर पर। 35 00:01:30,700 --> 00:01:33,190 खैर, है- तो यह है कि क्या अलग से? 36 00:01:33,190 --> 00:01:34,490 या फिर किससे? 37 00:01:34,490 --> 00:01:35,050 हम से? 38 00:01:35,050 --> 00:01:35,966 दर्शकों के सदस्य: हाँ। 39 00:01:35,966 --> 00:01:38,930 वे दशमलव का उपयोग नहीं करते [अश्राव्य] करने के लिए प्रणाली। 40 00:01:38,930 --> 00:01:39,680 डेविड जे मालन: ठीक है। 41 00:01:39,680 --> 00:01:41,560 एक अर्थ में तो, वे नहीं करते दशमलव प्रणाली का उपयोग करें। 42 00:01:41,560 --> 00:01:43,720 हुड के नीचे, सब कुछ है, वास्तव में, द्विआधारी है 43 00:01:43,720 --> 00:01:45,510 और कहा कि वास्तव में, संबंधित है। 44 00:01:45,510 --> 00:01:48,135 लेकिन यह भी एक सरल है उस से भी स्पष्टीकरण। 45 00:01:48,135 --> 00:01:48,635 हाँ। 46 00:01:48,635 --> 00:01:49,970 >> दर्शकों के सदस्य: वे केवल इतने सारे बिट्स है। 47 00:01:49,970 --> 00:01:52,370 वे केवल एक निश्चित करने के लिए स्टोर कर सकते हैं हद, दशमलव के साथ की तरह। 48 00:01:52,370 --> 00:01:52,780 >> डेविड जे मालन: हाँ। 49 00:01:52,780 --> 00:01:54,420 यह वास्तव में यह कम हो रही है क्या है। 50 00:01:54,420 --> 00:01:57,180 ऐसा लगता है कि कंप्यूटर पता चला है आम तौर पर, हमेशा ही 51 00:01:57,180 --> 00:01:59,690 जानकारी का एक निश्चित राशि का उपयोग कुछ का प्रतिनिधित्व करने के लिए। 52 00:01:59,690 --> 00:01:59,870 है ना? 53 00:01:59,870 --> 00:02:02,110 सब के बाद, हम केवल एक तय कर दी है हार्ड डिस्क स्थान की राशि। 54 00:02:02,110 --> 00:02:04,210 हम केवल एक निश्चित राशि है रैम, या कंप्यूटर स्मृति की। 55 00:02:04,210 --> 00:02:06,251 और आप केवल एक है, तो कुछ की निश्चित राशि है, 56 00:02:06,251 --> 00:02:09,611 निश्चित रूप से आप वास्तव में ऊपर भरोसा नहीं कर सकते इन्फिनिटी या आप चाहते हैं किसी भी नंबर पर। 57 00:02:09,611 --> 00:02:11,610 तुम्हें पता है, एक तरह से करने के लिए है लेने के लिए और क्या सीमा का चयन करें 58 00:02:11,610 --> 00:02:13,220 का आप का समर्थन करने के लिए जा रहे महत्व देता है। 59 00:02:13,220 --> 00:02:18,100 >> और तो उदाहरण के लिए, एक या दो सप्ताह के लिए पहले, हम आस्की के बारे में बात करते हैं, 60 00:02:18,100 --> 00:02:21,610 और हम के बारे में 8 बिट में बात की थी, या एक बाइट, तो बात है, 61 00:02:21,610 --> 00:02:26,360 सबसे बड़ी संख्या में हम कर सकते थे 8 बिट के साथ क्या था प्रतिनिधित्व करते हैं? 62 00:02:26,360 --> 00:02:28,350 255। 63 00:02:28,350 --> 00:02:31,850 और हम 256 कुल मूल्यों का प्रतिनिधित्व कर सकते हैं लेकिन हम उनमें से एक खर्च नहीं करता है, तो 64 00:02:31,850 --> 00:02:34,190 खैर 0-- पर है, लेकिन अगर हम 0 पर उनमें से एक खर्च करते हैं, 65 00:02:34,190 --> 00:02:36,830 तो सबसे बड़ी संख्या 255, ज़ाहिर है, है। 66 00:02:36,830 --> 00:02:39,410 >> तो यह है कि यह पता चला है, इस संदर्भ में भी मामला है,। 67 00:02:39,410 --> 00:02:42,350 हम बात कर रहे है, पिछली बार शुरू कर दिया चल बिन्दु संख्या के बारे में, जो 68 00:02:42,350 --> 00:02:44,640 में, पूर्णांकों से अलग कर रहे हैं वे एक दशमलव बिंदु है कि 69 00:02:44,640 --> 00:02:47,056 और हमें उम्मीद है कि कुछ संख्या उसके बाद, लेकिन वे भी कर रहे हैं। 70 00:02:47,056 --> 00:02:51,730 एक कंप्यूटर ही आम तौर पर हो रहा है 32 बिट, शायद 64 बिट का उपयोग करने के लिए 71 00:02:51,730 --> 00:02:53,497 एक चल बिन्दु मूल्य का प्रतिनिधित्व करने के लिए। 72 00:02:53,497 --> 00:02:56,080 भले ही तो हम बड़े हो गए हैं गणित सीखने और जानने के 73 00:02:56,080 --> 00:02:58,750 आप पूरी तरह से हो सकता है कि संख्या की एक अनंत संख्या 74 00:02:58,750 --> 00:03:01,650 दशमलव बिंदु, नहीं करने के बाद आप परिमित स्मृति किया है। 75 00:03:01,650 --> 00:03:03,930 तुम्हें पता है, एक तरह से गोल करने के लिए है, या लेने और चुन जो 76 00:03:03,930 --> 00:03:05,346 नंबर आप का प्रतिनिधित्व करने के लिए जा रहे हैं। 77 00:03:05,346 --> 00:03:08,710 और इसलिए तुम एक अर्थ में, के बारे में सोच सकते हैं, यह जा रहा है कंप्यूटर के करीबी 78 00:03:08,710 --> 00:03:14,050 मूल्य 1/10 को सन्निकटन कि यह सिर्फ 32 या इतने टुकड़े के साथ, प्राप्त कर सकते हैं। 79 00:03:14,050 --> 00:03:15,300 और यह सिर्फ 1/10 नहीं है। 80 00:03:15,300 --> 00:03:19,820 >> उदाहरण के लिए, मैं इस बात से बदलते हैं हमें लगता है कि जो 1/3, भी सरल है। 81 00:03:19,820 --> 00:03:21,300 तो 1 से 3 से विभाजित। 82 00:03:21,300 --> 00:03:22,355 मुझे फाइल को बचाने करते हैं। 83 00:03:22,355 --> 00:03:24,680 मुझे आगे जाना है और इसे फिर कंपाइल करने दें। 84 00:03:24,680 --> 00:03:25,820 और मुझे यह फिर से चलाते हैं। 85 00:03:25,820 --> 00:03:30,000 यहां भी, जाहिर है, 1/3 0.3 नहीं है और फिर 3 के एक अनंत संख्या 86 00:03:30,000 --> 00:03:30,770 उसके बाद। 87 00:03:30,770 --> 00:03:32,540 आप अंत में इस अस्पष्टता है। 88 00:03:32,540 --> 00:03:35,544 तो हम इंसानों सही हैं, और क्या आप, वास्तव में है, सही सीखा 89 00:03:35,544 --> 00:03:37,460 लेकिन हम ऊपर मार रहे हैं कुछ सीमाओं के खिलाफ। 90 00:03:37,460 --> 00:03:39,420 >> और मैं क्या सोचा हम आज क्या होता है, शुरू हो गया है 91 00:03:39,420 --> 00:03:42,190 स्पष्ट है, को देखकर इस का दुखद परिणाम 92 00:03:42,190 --> 00:03:45,490 कभी कभी, जब मानव जाति काफी लागू नहीं करता 93 00:03:45,490 --> 00:03:48,460 इस वास्तविकता और इन सीमाओं के लिए। 94 00:03:48,460 --> 00:03:52,360 और हम विगनेट्स की एक श्रृंखला देखेंगे लेता है कि हिस्ट्री चैनल से 95 00:03:52,360 --> 00:03:53,950 कैसे चीजों पर एक नज़र गलत हो गया है। 96 00:03:53,950 --> 00:03:56,340 यह लगभग 8 मिनट लंबा है और हम इस के बाद वापस आ गया हूँ 97 00:03:56,340 --> 00:03:59,439 और वास्तव में पर एक नज़र रखना और क्या गलत हो सकता है। 98 00:03:59,439 --> 00:04:00,605 हम lights-- मंद सकता है 99 00:04:00,605 --> 00:04:02,350 >> [वीडियो प्लेबैक] 100 00:04:02,350 --> 00:04:06,310 >> , कंप्यूटर, है, हम सभी को स्वीकार करने के लिए आया हूँ अक्सर निराशा समस्याओं कि 101 00:04:06,310 --> 00:04:07,750 उनके साथ जाएं। 102 00:04:07,750 --> 00:04:11,370 कीड़े, वायरस, और सॉफ्टवेयर glitches के छोटे कीमतों रहे हैं 103 00:04:11,370 --> 00:04:13,230 सुविधा के लिए भुगतान करने के लिए। 104 00:04:13,230 --> 00:04:17,519 लेकिन में उच्च तकनीक और उच्च गति सैन्य और अंतरिक्ष कार्यक्रम अनुप्रयोगों, 105 00:04:17,519 --> 00:04:22,130 छोटी से छोटी समस्या यह कर सकते हैं आपदा में बढ़ाया जा सकता है। 106 00:04:22,130 --> 00:04:27,750 4 जून 1996 पर, वैज्ञानिकों तैयार एक मानव रहित एरियन -5 रॉकेट लांच करने के लिए। 107 00:04:27,750 --> 00:04:29,890 यह वैज्ञानिक ले जा रहा था उपग्रहों के लिए बनाया गया 108 00:04:29,890 --> 00:04:33,030 ठीक कैसे स्थापित करने के लिए पृथ्वी के चुंबकीय क्षेत्र का आदान 109 00:04:33,030 --> 00:04:35,600 सौर हवाओं के साथ। 110 00:04:35,600 --> 00:04:37,930 रॉकेट के लिए बनाया गया था यूरोपीय अंतरिक्ष एजेंसी 111 00:04:37,930 --> 00:04:41,620 और अपनी सुविधा से बंद उठाया फ्रेंच गयाना के तट पर। 112 00:04:41,620 --> 00:04:44,924 >> -और बारे में 30 सेकंड में उड़ान, वे पहले 113 00:04:44,924 --> 00:04:46,340 गौर कुछ गलत हो रहा था। 114 00:04:46,340 --> 00:04:49,280 नलिका swiveling गया है कि एक तरह से वे वास्तव में नहीं करना चाहिए। 115 00:04:49,280 --> 00:04:53,042 उड़ान में 40 सेकंड के आसपास, स्पष्ट रूप से वाहन, मुसीबत में था 116 00:04:53,042 --> 00:04:55,250 वे बनाया और कहा कि जब निर्णय के लिए इसे नष्ट करने के लिए। 117 00:04:55,250 --> 00:04:58,970 एक रेंज सुरक्षा अधिकारी के साथ जबरदस्त हिम्मत बटन दबाया, 118 00:04:58,970 --> 00:05:03,940 यह हो सकता है इससे पहले कि रॉकेट विस्फोट से उड़ा दिया जनता की सुरक्षा के लिए एक खतरा बन गया है। 119 00:05:03,940 --> 00:05:06,600 >> -यह मायके था एरियन -5 की यात्रा, 120 00:05:06,600 --> 00:05:09,270 और इसके विनाश के लिए ले लिया क्योंकि एक दोष के स्थान पर 121 00:05:09,270 --> 00:05:10,992 रॉकेट के सॉफ्टवेयर में एम्बेडेड। 122 00:05:10,992 --> 00:05:12,700 पर -इस समस्या एरियन था कि वहाँ 123 00:05:12,700 --> 00:05:15,370 आवश्यक है कि एक नंबर था 64 बिट्स, व्यक्त करने के लिए 124 00:05:15,370 --> 00:05:18,150 और वह परिवर्तित करना चाहता था यह एक 16 बिट संख्या के लिए। 125 00:05:18,150 --> 00:05:21,160 वे संख्या में मान लिया है कि बहुत बड़ा होने जा रहा कभी नहीं किया गया था, 126 00:05:21,160 --> 00:05:25,020 उस में उन अंकों के सबसे 64 बिट संख्या 0 के थे। 127 00:05:25,020 --> 00:05:26,310 वे गलत थे। 128 00:05:26,310 --> 00:05:28,680 >> एक के -इस असमर्थता सॉफ्टवेयर प्रोग्राम को स्वीकार करने के लिए 129 00:05:28,680 --> 00:05:32,820 द्वारा उत्पन्न नंबर की तरह एक और विफलता की जड़ में था। 130 00:05:32,820 --> 00:05:37,190 सॉफ्टवेयर विकास बन गया था एक नई तकनीक की बहुत महंगा हिस्सा। 131 00:05:37,190 --> 00:05:40,760 एरियन 4 रॉकेट बहुत हो गया था सॉफ्टवेयर के सफल, इतना 132 00:05:40,760 --> 00:05:43,990 यह भी था के लिए बनाया एरियन -5 पर इस्तेमाल किया। 133 00:05:43,990 --> 00:05:49,750 >> -इस बुनियादी समस्या एरियन था कि 5, तेजी से गया था तेजी से बढ़ी है। 134 00:05:49,750 --> 00:05:53,000 और सॉफ्टवेयर नहीं था उस के लिए जिम्मेदार है। 135 00:05:53,000 --> 00:05:56,330 >> रॉकेट के -इस विनाश भारी वित्तीय आपदा थी, 136 00:05:56,330 --> 00:05:59,670 पूरे एक मिनट सॉफ्टवेयर त्रुटि के लिए। 137 00:05:59,670 --> 00:06:01,990 लेकिन इस के पहले नहीं था समय डेटा रूपांतरण समस्या 138 00:06:01,990 --> 00:06:05,310 आधुनिक रॉकेट प्रौद्योगिकी ग्रस्त था। 139 00:06:05,310 --> 00:06:08,300 >> शुरुआत के साथ, 1991 अलावे पहले खाड़ी युद्ध के, 140 00:06:08,300 --> 00:06:10,650 पैट्रियट मिसाइल इसी तरह की एक तरह का अनुभव 141 00:06:10,650 --> 00:06:12,650 नंबर रूपांतरण समस्या का। 142 00:06:12,650 --> 00:06:15,620 नतीजतन, 28 लोग, 28 अमेरिकी सैनिकों 143 00:06:15,620 --> 00:06:18,440 मारे गए हैं और के बारे में थे 100 अन्य घायल हो गए, 144 00:06:18,440 --> 00:06:21,900 जब माना जाता था जो देशभक्त, भेजे गए scuds के खिलाफ की रक्षा के लिए, 145 00:06:21,900 --> 00:06:24,630 एक मिसाइल आग करने में विफल रहा। 146 00:06:24,630 --> 00:06:29,440 >> -जब इराक कुवैत और अमेरिका पर हमला जल्दी 1991 में डेजर्ट स्टॉर्म शुरू की, 147 00:06:29,440 --> 00:06:33,800 पैट्रियट मिसाइल बैटरी तैनात किया गया था सऊदी अरब और इसराइल की रक्षा के लिए 148 00:06:33,800 --> 00:06:37,000 इराकी स्कड मिसाइल हमलों से। 149 00:06:37,000 --> 00:06:40,610 पैट्रियट एक अमेरिकी, मध्यम दूरी की है सतह से हवा प्रणाली 150 00:06:40,610 --> 00:06:43,010 रेथियॉन कंपनी द्वारा निर्मित। 151 00:06:43,010 --> 00:06:49,080 >> पैट्रियट इंटरसेप्टर के -इस आकार, ही है, मोटे तौर पर 20 फुट लंबा, के बारे में है। 152 00:06:49,080 --> 00:06:51,250 और यह लगभग 2000 पाउंड वजन। 153 00:06:51,250 --> 00:06:55,195 और यह about-- का एक बम किया जाता है मैं यह लगभग 150 पाउंड है लगता है। 154 00:06:55,195 --> 00:06:59,500 और वारहेड, ही, एक उच्च विस्फोटक है, 155 00:06:59,500 --> 00:07:02,570 जो इसके चारों ओर टुकड़े है। 156 00:07:02,570 --> 00:07:06,890 बम की आवरण है buckshot की तरह कार्य करने के लिए बनाया गया है। 157 00:07:06,890 --> 00:07:09,130 >> -इस मिसाइलें हैं 4 कंटेनर प्रति किया जाता है, 158 00:07:09,130 --> 00:07:12,080 और एक अर्द्ध ट्रेलर से ले जाया जाता है। 159 00:07:12,080 --> 00:07:19,100 >> -इस पैट्रियट एंटी मिसाइल प्रणाली अब कम से कम 20 साल पीछे चला जाता। 160 00:07:19,100 --> 00:07:22,320 यह मूल रूप से डिजाइन किया गया था एक वायु रक्षा मिसाइल के रूप में 161 00:07:22,320 --> 00:07:24,180 दुश्मन के हवाई जहाज के नीचे गोली मार करने के लिए। 162 00:07:24,180 --> 00:07:27,860 पहले खाड़ी युद्ध में, उस युद्ध के साथ आया था जब, 163 00:07:27,860 --> 00:07:32,745 सेना के लिए इसका इस्तेमाल करना चाहता था scuds, नहीं हवाई जहाज नीचे गोली मार। 164 00:07:32,745 --> 00:07:36,150 इराकी सेना नहीं थी एक समस्या का इतना, 165 00:07:36,150 --> 00:07:39,110 लेकिन सेना scuds के बारे में चिंतित था। 166 00:07:39,110 --> 00:07:42,340 और इसलिए वे करने की कोशिश की पैट्रियट उन्नयन। 167 00:07:42,340 --> 00:07:44,760 >> एक दुश्मन -Intercepting मिसाइल मच पांच पर यात्रा 168 00:07:44,760 --> 00:07:47,250 काफी चुनौतीपूर्ण होने जा रहा था। 169 00:07:47,250 --> 00:07:50,000 लेकिन जब पैट्रियट सेवा में ले जाया गया था, 170 00:07:50,000 --> 00:07:54,030 सेना के एक के बारे में पता नहीं था कर दिया है कि इराकी संशोधन 171 00:07:54,030 --> 00:07:56,840 उनकी scuds हिट करने के लिए लगभग असंभव है। 172 00:07:56,840 --> 00:08:01,020 >> -क्या हुआ, scuds है कि में आ रहे थे, अस्थिर थे 173 00:08:01,020 --> 00:08:02,310 वे wobbling थे। 174 00:08:02,310 --> 00:08:05,140 इसका कारण, आदेश में, इराकियों था 175 00:08:05,140 --> 00:08:09,450 के बाहर 600 किलोमीटर की दूरी पर पाने के लिए एक 300 किलोमीटर दूरी की मिसाइल, 176 00:08:09,450 --> 00:08:12,930 सामने बम से बाहर वजन ले लिया और बम हल्का कर दिया। 177 00:08:12,930 --> 00:08:17,710 तो अब, पैट्रियट के आने की कोशिश स्कड पर, और समय की सबसे अधिक है, 178 00:08:17,710 --> 00:08:21,700 की भारी बहुमत समय, यह सिर्फ स्कड से उड़ जाएगा। 179 00:08:21,700 --> 00:08:25,700 >> पैट्रियट सिस्टम ऑपरेटरों -एक बार पैट्रियट अपने लक्ष्य से चूक का एहसास हुआ 180 00:08:25,700 --> 00:08:29,790 वे देशभक्त के बम विस्फोट अगर यह संभव हताहत से बचने के लिए 181 00:08:29,790 --> 00:08:32,380 भूमि पर गिर करने के लिए अनुमति दी गई थी। 182 00:08:32,380 --> 00:08:36,340 >> ज्यादातर लोगों को क्या देखा -यही था, आकाश में उन बड़े आग के गोले, 183 00:08:36,340 --> 00:08:41,289 और के रूप में गलत समझा स्कड हथियार का अवरोध। 184 00:08:41,289 --> 00:08:43,590 रात में यद्यपि आकाश, देशभक्त दिखाई दिया 185 00:08:43,590 --> 00:08:47,020 सफलतापूर्वक होने की Dhahran में, scuds को नष्ट करने, 186 00:08:47,020 --> 00:08:49,730 वहाँ कोई गलती नहीं हो सकता है अपने प्रदर्शन के बारे में। 187 00:08:49,730 --> 00:08:53,990 वहाँ, पैट्रियट के रडार सिस्टम एक आने वाली स्कड का ट्रैक खो दिया है, 188 00:08:53,990 --> 00:08:56,650 और, शुरू कभी नहीं एक सॉफ्टवेयर दोष के कारण। 189 00:08:56,650 --> 00:08:59,650 190 00:08:59,650 --> 00:09:04,100 यह पहली खोज की है जो इजरायल था अब सिस्टम पर था कि, 191 00:09:04,100 --> 00:09:07,510 अधिक से अधिक समय विसंगति कारण एम्बेडेड एक घड़ी के लिए बन गया है, 192 00:09:07,510 --> 00:09:09,490 सिस्टम के कंप्यूटर में। 193 00:09:09,490 --> 00:09:12,670 >> -About 2 सप्ताह पहले Dhahran में त्रासदी, 194 00:09:12,670 --> 00:09:15,010 इजरायल की सूचना दी रक्षा विभाग, 195 00:09:15,010 --> 00:09:17,940 सिस्टम समय खो गया था कि, चल रहा है कि के बारे में 8 घंटे के बाद, 196 00:09:17,940 --> 00:09:21,410 वे सिस्टम था कि देखा काफ़ी कम सटीक हो रहा है। 197 00:09:21,410 --> 00:09:25,290 रक्षा विभाग द्वारा प्रतिक्रिया पैट्रियट बैटरी के सभी कह रही 198 00:09:25,290 --> 00:09:28,070 सिस्टम नहीं छोड़ करने के लिए एक लंबे समय के लिए। 199 00:09:28,070 --> 00:09:29,960 वे एक लंबे समय था क्या कभी नहीं कहा। 200 00:09:29,960 --> 00:09:30,460 8 घंटे? 201 00:09:30,460 --> 00:09:30,960 10 घंटे? 202 00:09:30,960 --> 00:09:31,870 1000 घंटे? 203 00:09:31,870 --> 00:09:33,734 कोई नहीं जानता। 204 00:09:33,734 --> 00:09:35,650 -इस पैट्रियट बैटरी बैरकों में तैनात 205 00:09:35,650 --> 00:09:40,410 दहरान, और उसके त्रुटिपूर्ण आंतरिक पर 100 घंटे से अधिक घड़ी पर किया गया था 206 00:09:40,410 --> 00:09:43,041 25 फ़रवरी की रात को। 207 00:09:43,041 --> 00:09:47,416 >> -यह शुद्धता के लिए समय पर नज़र रखी के बारे में 1/10 एक दूसरे के के। 208 00:09:47,416 --> 00:09:49,290 अब एक दूसरे के 1/10 है एक दिलचस्प नंबर 209 00:09:49,290 --> 00:09:52,700 यह नहीं हो सकता, क्योंकि वास्तव में, द्विआधारी में व्यक्त किया। 210 00:09:52,700 --> 00:09:54,820 जो यह नहीं कर सकते हैं, इसका मतलब है व्यक्त किया, वास्तव में, 211 00:09:54,820 --> 00:09:57,420 किसी भी आधुनिक डिजिटल कंप्यूटर में। 212 00:09:57,420 --> 00:10:01,460 यह विश्वास करना मुश्किल है लेकिन एक उदाहरण के रूप में इस का उपयोग करें। 213 00:10:01,460 --> 00:10:03,520 के नंबर, 1/3 लेते हैं। 214 00:10:03,520 --> 00:10:07,110 1/3 व्यक्त नहीं किया जा सकता दशमलव में, बिल्कुल। 215 00:10:07,110 --> 00:10:11,490 1/3 अनंत के लिए चल रहा 0.333 है। 216 00:10:11,490 --> 00:10:15,486 ऐसा करने के लिए कोई रास्ता नहीं के साथ नहीं है, दशमलव में पूर्ण शुद्धता,। 217 00:10:15,486 --> 00:10:18,360 इस बात का बिल्कुल उसी तरह है पैट्रियट में हुआ है कि समस्या। 218 00:10:18,360 --> 00:10:22,510 अब सिस्टम से भाग गया, बदतर समय त्रुटि हो गया। 219 00:10:22,510 --> 00:10:28,420 >> आपरेशन के 100 घंटे -After, त्रुटि समय में केवल 1/3 के बारे में एक दूसरे का था। 220 00:10:28,420 --> 00:10:31,830 लेकिन एक को निशाना बनाने के मामले में मिसाइल मच 5 पर यात्रा, 221 00:10:31,830 --> 00:10:35,890 यह एक ट्रैकिंग में हुई 600 मीटर से अधिक की त्रुटि। 222 00:10:35,890 --> 00:10:38,970 यह एक गंभीर त्रुटि होगा Dhahran में सैनिकों के लिए। 223 00:10:38,970 --> 00:10:45,035 >> हुआ क्या, एक स्कड प्रक्षेपण है था प्रारंभिक चेतावनी उपग्रहों द्वारा पता लगाया, 224 00:10:45,035 --> 00:10:48,930 और वे स्कड था कि नई उनकी सामान्य दिशा में आ रहे हैं। 225 00:10:48,930 --> 00:10:51,170 यह आ रहा था, जहां उन्हें पता नहीं था। 226 00:10:51,170 --> 00:10:53,990 >> -यह रडार अप करने के लिए अब था पैट्रियट प्रणाली के घटक, 227 00:10:53,990 --> 00:10:58,520 पता लगाने और रखने के लिए, Dhahran का बचाव आने वाली दुश्मन मिसाइल का ट्रैक। 228 00:10:58,520 --> 00:10:59,690 >> -इस रडार बहुत होशियार था। 229 00:10:59,690 --> 00:11:01,710 यह वास्तव में ट्रैक होगा स्कड की स्थिति 230 00:11:01,710 --> 00:11:04,040 और उसके बाद जहां भविष्यवाणी यह शायद होगा 231 00:11:04,040 --> 00:11:06,140 अगली बार, रडार बाहर एक पल्स भेजा है। 232 00:11:06,140 --> 00:11:07,660 यही कारण है कि सीमा के गेट बुलाया गया था। 233 00:11:07,660 --> 00:11:11,870 >> -फिर, पैट्रियट एक बार पर्याप्त समय है फैसला करता है 234 00:11:11,870 --> 00:11:16,280 वापस जाने के लिए और अगले जाँच करने के लिए पारित इस पता लगाया वस्तु के लिए स्थान, 235 00:11:16,280 --> 00:11:17,280 इसे वापस चला जाता है। 236 00:11:17,280 --> 00:11:21,690 तो यह गलत करने के लिए वापस चला गया जब जगह है, यह तो कोई वस्तु को देखता है 237 00:11:21,690 --> 00:11:25,230 और यह कोई नहीं था कि निर्णय लेता है वस्तु है, यह एक गलत पहचान थी, 238 00:11:25,230 --> 00:11:26,650 और ट्रैक चला जाता है। 239 00:11:26,650 --> 00:11:29,690 आने वाले स्कड गायब हो गया रडार स्क्रीन से, 240 00:11:29,690 --> 00:11:32,670 और सेकंड बाद में, यह बैरकों में पटक दिया। 241 00:11:32,670 --> 00:11:38,100 स्कड 28 मारे गए थे और पिछले था एक पहले खाड़ी युद्ध के दौरान निकाल दिया। 242 00:11:38,100 --> 00:11:43,460 दुर्भाग्य से, अद्यतन सॉफ्टवेयर अगले दिन Dhahran पर पहुंचे। 243 00:11:43,460 --> 00:11:46,150 सॉफ्टवेयर दोष था गया तय, समापन 244 00:11:46,150 --> 00:11:48,940 परेशान में एक अध्याय पैट्रियट मिसाइल का इतिहास। 245 00:11:48,940 --> 00:11:50,220 >> [अंत प्लेबैक] 246 00:11:50,220 --> 00:11:54,340 >> डेविड जे मालन: तो हम पर एक नज़र रखना होगा सिर्फ एक बिट में कुछ इसी तरह की सीमाओं। 247 00:11:54,340 --> 00:11:58,470 लेकिन पहले, चलो कुछ के लिए संक्रमण FYI है। 248 00:11:58,470 --> 00:12:01,575 इस सप्ताह के अंत one-- तो, ​​वहाँ सुपर वर्गों हो जाएगा, 249 00:12:01,575 --> 00:12:04,200 उखाड़ना के लिए होती हैं, जो नियमित रूप से अनुसूचित वर्गों, जो 250 00:12:04,200 --> 00:12:05,460 इसलिए एक सप्ताह से शुरू होगा। 251 00:12:05,460 --> 00:12:08,204 CS50 की वेबसाइट पर एक नज़र रखना उन पर और अधिक जानकारी के लिए। 252 00:12:08,204 --> 00:12:11,120 उन्होंने यह भी फिल्माया गया है और प्रदर्शित किया जाएगा भाग लेने में असमर्थ लोगों के लिए रहते हैं। 253 00:12:11,120 --> 00:12:12,980 समस्या 1 पर है सेट पहले से ही पाठ्यक्रम की वेबसाइट 254 00:12:12,980 --> 00:12:15,105 और हम पर एक नज़र रखना होगा सिर्फ एक छोटा सा में है। 255 00:12:15,105 --> 00:12:18,350 और कार्यालय समय भी, ले जाएगा गुरुवार के माध्यम से इस सोमवार जगह है। 256 00:12:18,350 --> 00:12:20,960 >> तो यह सबसे विहित था कार्यक्रम में हम पिछले समय में देखा। 257 00:12:20,960 --> 00:12:23,590 यह सरल की तरह है तुम सी में लिख सकते हैं प्रोग्राम, 258 00:12:23,590 --> 00:12:25,250 और यहां तक ​​कि एक साहसिक दावा का एक सा है। 259 00:12:25,250 --> 00:12:25,750 है ना? 260 00:12:25,750 --> 00:12:28,070 एक बहुत की है क्योंकि वहाँ इस के लिए जटिलता प्रतीयमान। 261 00:12:28,070 --> 00:12:30,445 तो चलो पर एक त्वरित देखो ले चलो क्या इन तत्वों में से कुछ 262 00:12:30,445 --> 00:12:33,080 थे और उसके बाद प्रदान करने की कोशिश कैसे के लिए एक मानसिक मॉडल 263 00:12:33,080 --> 00:12:35,710 कार्यक्रमों के इन सरलतम काम करते हैं, और फिर हम शुरू करेंगे 264 00:12:35,710 --> 00:12:38,050 कभी अधिक जटिल चीजों को देख रहे हैं। 265 00:12:38,050 --> 00:12:41,280 इसलिए इस लाइन, यहाँ, अब प्रकाश डाला पीले रंग में है, हम क्या कहा, पिछली बार, 266 00:12:41,280 --> 00:12:43,200 यह हमारे लिए करता है? 267 00:12:43,200 --> 00:12:45,220 यह कार्य करता उद्देश्य क्या है? 268 00:12:45,220 --> 00:12:46,984 आगे पीछे से कोई है? 269 00:12:46,984 --> 00:12:47,483 हाँ। 270 00:12:47,483 --> 00:12:48,649 >> दर्शकों के सदस्य: [अश्राव्य] 271 00:12:48,649 --> 00:12:50,871 272 00:12:50,871 --> 00:12:51,704 डेविड जे मालन: अच्छा। 273 00:12:51,704 --> 00:12:53,537 तो यह है कि आप पहुँच देता है आदेशों के लिए, या चलो 274 00:12:53,537 --> 00:12:56,750 उन्हें फोन काम करता है, कि किसी बाकी घोषित कर रहे हैं कि, ने लिखा है, 275 00:12:56,750 --> 00:12:58,350 तो कुछ अन्य फ़ाइल में बात करने के लिए। 276 00:12:58,350 --> 00:13:02,370 इसलिए हम वास्तव में क्या एक ज फ़ाइल देखेंगे अंत में, एक ग फ़ाइल बनाम है। 277 00:13:02,370 --> 00:13:04,710 लेकिन अब के लिए, सिर्फ इतना पता है कि printf, उदाहरण के लिए, 278 00:13:04,710 --> 00:13:08,370 किया गया है कि कार्यों के बीच में है कहीं न कहीं, कुछ अन्य फ़ाइल में घोषित 279 00:13:08,370 --> 00:13:12,930 बादल की हार्ड ड्राइव पर और है कि हमें printf पहुँच सकते हैं और इसका इस्तेमाल करने की अनुमति देता है 280 00:13:12,930 --> 00:13:15,240 एक नए अंदाज़ में करने के लिए बिना खुद पहिया कि। 281 00:13:15,240 --> 00:13:16,930 इस बीच, मुख्य। 282 00:13:16,930 --> 00:13:19,690 मुख्य, पिछले सप्ताह के अनुरूप क्या था? 283 00:13:19,690 --> 00:13:20,190 हाँ। 284 00:13:20,190 --> 00:13:21,460 >> दर्शकों के सदस्य: हरा झंडा क्लिक किया जाता है। 285 00:13:21,460 --> 00:13:21,740 >> डेविड जे मालन: हाँ। 286 00:13:21,740 --> 00:13:23,490 खरोंच है, हरे रंग का झंडा क्लिक किया। 287 00:13:23,490 --> 00:13:25,560 यह पहेली टुकड़े की तरह है चीज़ें है कि बंद kicks। 288 00:13:25,560 --> 00:13:28,306 और तो इसी तरह, दुनिया किया सी में कुछ साल पहले फैसला किया है कि 289 00:13:28,306 --> 00:13:30,930 और अन्य भाषाओं का एक गुच्छा, आप एक प्रोग्राम लिखने के लिए चाहते हैं, 290 00:13:30,930 --> 00:13:33,410 अपना पहला समारोह मुख्य, के नाम से जाना गया है। 291 00:13:33,410 --> 00:13:34,641 और यह इस तरह लग रही है। 292 00:13:34,641 --> 00:13:36,640 लेकिन हम वापस आ गया हूँ एक बार, क्या करने के लिए, पूर्णांक, 293 00:13:36,640 --> 00:13:38,690 और, शून्य, उस संदर्भ में मतलब है। 294 00:13:38,690 --> 00:13:42,860 अभी के लिए, सर्पाकार तरह कर रहे हैं के स्क्रैच की पहेली टुकड़ा आकार की तरह 295 00:13:42,860 --> 00:13:45,080 कि लाइनों में से कुछ नंबर encapsulates। 296 00:13:45,080 --> 00:13:47,070 और लाइनों पर बीच यहाँ, यहाँ यह एक है। 297 00:13:47,070 --> 00:13:51,610 printf जिसका उद्देश्य में एक समारोह है जीवन एक स्वरूपित स्ट्रिंग मुद्रित करने के लिए है। 298 00:13:51,610 --> 00:13:55,010 और स्वरूपित से, मैं तुम्हें क्या मतलब प्लेसहोल्डर मूल्यों में प्लग कर सकते हैं, 299 00:13:55,010 --> 00:13:58,360 और आप कितने दशमलव निर्दिष्ट कर सकते हैं अंक, कितनी संख्या मुद्रित करने के लिए 300 00:13:58,360 --> 00:14:00,040 एक दशमलव बिंदु और पसंद के बाद। 301 00:14:00,040 --> 00:14:05,040 और printf, ज़ाहिर है, एक लेता है या तर्क या मापदंडों से अधिक है, 302 00:14:05,040 --> 00:14:06,770 अन्यथा अधिक बस, सामग्री के रूप में जाना जाता है,। 303 00:14:06,770 --> 00:14:09,230 >> की एक बहुत पसंद है, तो printf कार्यों, आदानों लेता है। 304 00:14:09,230 --> 00:14:12,730 और उन सूचनाओं के गले लगा रहे हैं यहां दो कोष्ठकों द्वारा। 305 00:14:12,730 --> 00:14:15,180 और उन लोगों के अंदर एक इनपुट है। 306 00:14:15,180 --> 00:14:18,600 यह है कि हम यह कहा जाता है के रूप में, एक स्ट्रिंग है, जो पात्रों में से सिर्फ एक दृश्य है, 307 00:14:18,600 --> 00:14:22,310 एक शब्द या एक मुहावरा है, या एक पूरी तरह निबंध भी, दोहरे उद्धरण चिह्नों के बीच में। 308 00:14:22,310 --> 00:14:25,712 और कहा कि प्रभावित करने के लिए क्या हो रहा है printf के व्यवहार की वजह से, ज़ाहिर है, 309 00:14:25,712 --> 00:14:27,170 यह सिर्फ एक सामान्य प्रिंट समारोह है। 310 00:14:27,170 --> 00:14:29,600 यह क्या है पता करने के लिए नहीं जा रहा है आप यह बताने के लिए, जब तक मुद्रित करने के लिए। 311 00:14:29,600 --> 00:14:31,000 और फिर, कुछ ज़रा सी बात। 312 00:14:31,000 --> 00:14:34,056 हम इस अजीब कहना था कि क्या प्रतीकों के अनुक्रम है? 313 00:14:34,056 --> 00:14:34,556 हाँ। 314 00:14:34,556 --> 00:14:35,410 >> दर्शकों के सदस्य: नई लाइन। 315 00:14:35,410 --> 00:14:35,990 >> डेविड जे मालन: नई लाइन। 316 00:14:35,990 --> 00:14:39,340 तो यह है कि तुम सिर्फ हिट नहीं कर सकते, पता चला है, आप इस कार्यक्रम को लिख रहे हैं, दर्ज करें। 317 00:14:39,340 --> 00:14:42,590 आम तौर पर, संकलक पाने के लिए जा रहा है तुम क्या मतलब है के रूप में एक छोटी सी उलझन में। 318 00:14:42,590 --> 00:14:45,340 बल्कि, आप सचमुच करना है यहां मुझे एक नई लाइन दे, कहते हैं। 319 00:14:45,340 --> 00:14:49,506 और हां / एन क्या हम आम तौर पर है एक भागने चरित्र कहते हैं। 320 00:14:49,506 --> 00:14:50,870 तो एन, नई लाइन के लिए। 321 00:14:50,870 --> 00:14:53,810 और संकलक जानता है कि यह / एन देखता है, 322 00:14:53,810 --> 00:14:57,420 यह वास्तव में कंप्यूटर के लिए प्रेरित करना चाहिए, अंत में, या printf, इस मामले में, 323 00:14:57,420 --> 00:15:00,260 एक वास्तविक नए बाहर मुद्रित करने के लिए रेखा, मार की तरह, प्रवेश 324 00:15:00,260 --> 00:15:01,480 अपने कीबोर्ड पर कुंजी। 325 00:15:01,480 --> 00:15:05,620 और अंत में, हम क्या कहना था वाक्य रचना के इस टुकड़े के लिए है? 326 00:15:05,620 --> 00:15:06,591 यह क्या दिखाता है? 327 00:15:06,591 --> 00:15:07,090 हाँ। 328 00:15:07,090 --> 00:15:07,490 >> दर्शकों के सदस्य: [अश्राव्य] 329 00:15:07,490 --> 00:15:08,660 >> डेविड जे मालन: यह बस है रेखा के अंत। 330 00:15:08,660 --> 00:15:09,909 यह बयान का अंत है। 331 00:15:09,909 --> 00:15:11,890 और हम ऐसा नहीं है कि एहसास हर जगह डाल दिया। 332 00:15:11,890 --> 00:15:13,900 हम निश्चित रूप से उन्हें मत डालो हर पंक्ति के सिरों पर। 333 00:15:13,900 --> 00:15:16,680 उदाहरण के लिए, पर कोई भी नहीं है, पहली पंक्ति, कोई भी लाइन पर नहीं है, 334 00:15:16,680 --> 00:15:18,680 मुख्य साथ, वहाँ कोई नहीं है घुंघराले ब्रेसिज़ के बाद, 335 00:15:18,680 --> 00:15:21,740 लेकिन आप देख सकते हैं और पाने के लिए शुरू करेंगे इसके लिए कहा जाता है, जहां से परिचित। 336 00:15:21,740 --> 00:15:26,014 और यह एक समारोह के बाद लगभग हमेशा कुछ कार्रवाई, फोन या एक बयान 337 00:15:26,014 --> 00:15:27,180 कि आप वास्तव में ले जा रहे हैं। 338 00:15:27,180 --> 00:15:29,520 >> और, विशेष रूप से अगर अब पता कम आराम से उन लोगों के बीच, 339 00:15:29,520 --> 00:15:32,540 इन बेकार की बातें की तरह हैं अगर आप गलती से पिटाई कर समाप्त होगा कि 340 00:15:32,540 --> 00:15:33,873 पर दीवार के खिलाफ अपने सिर। 341 00:15:33,873 --> 00:15:36,107 आप तार्किक हो जाएगा, क्योंकि कुछ समस्या में विश्वास 342 00:15:36,107 --> 00:15:38,440 यदि आप एक समस्या के लिए हल कर दिया है सेट, और सिर्फ लानत बात 343 00:15:38,440 --> 00:15:40,187 संकलन या भी नहीं चलेंगे। 344 00:15:40,187 --> 00:15:43,270 और तो अक्सर, पर जल्दी, यह जा रहा है आप एक कोष्टक याद किया, क्योंकि हो सकता है, 345 00:15:43,270 --> 00:15:44,455 या आप एक अर्धविराम याद किया। 346 00:15:44,455 --> 00:15:46,547 और तो बस ध्यान में रखना होगा इन चीजों की तरह की, 347 00:15:46,547 --> 00:15:49,380 और से निराश नहीं प्राप्त करने की कोशिश उन्हें बहुत जल्दी इस करता है क्योंकि 348 00:15:49,380 --> 00:15:50,640 पुरानी टोपी हो जाते हैं। 349 00:15:50,640 --> 00:15:53,910 लेकिन इसे पाने के लिए बहुत आसान है नतीजतन, पर जल्दी निराश। 350 00:15:53,910 --> 00:15:57,020 >> तो अब, चलो पर एक नज़र रखना इस लाइन वास्तव में काम कर रहा है 351 00:15:57,020 --> 00:15:59,170 और फिर एक थोड़ा को देखो और अधिक जटिल है। 352 00:15:59,170 --> 00:16:02,017 तो हम यहाँ, पर है इस स्क्रीन पर आकर्षित करने की क्षमता। 353 00:16:02,017 --> 00:16:04,100 और है कि मान लीजिए इस, अपने कंप्यूटर स्क्रीन है 354 00:16:04,100 --> 00:16:08,589 लेकिन मुझे लगता है, नमस्कार कार्यक्रम लिख रहा हूँ और मैं printf लागू नहीं किया है। 355 00:16:08,589 --> 00:16:10,130 किसी और से, printf लागू किया गया है। 356 00:16:10,130 --> 00:16:12,420 कौन करने का दावा करना चाहते हैं , printf लागू कर दिया है? 357 00:16:12,420 --> 00:16:12,920 हम कर सकते हैं? 358 00:16:12,920 --> 00:16:13,830 ठीक है, तुम्हारा नाम क्या है? 359 00:16:13,830 --> 00:16:14,155 >> छात्र 1: [? कोपल। ?] 360 00:16:14,155 --> 00:16:15,529 >> डेविड जे मालन: कोपल, ऊपर पर आते हैं। 361 00:16:15,529 --> 00:16:16,430 आ जाओ। 362 00:16:16,430 --> 00:16:17,070 ठीक है। 363 00:16:17,070 --> 00:16:22,260 तो हम यहाँ, है, कुछ नाम टैग, हम इस बात का एक छोटा सा खेल कर दूँगा के बाद से। 364 00:16:22,260 --> 00:16:26,270 और हम printf, आपको फोन करेंगे। 365 00:16:26,270 --> 00:16:30,170 और तुम यहाँ पर आना चाहते हैं, क्या मैं सिर्फ स्क्रीन पर तैयार किया है, 366 00:16:30,170 --> 00:16:32,340 यह मुझे नहीं है, काफी बस यह है। 367 00:16:32,340 --> 00:16:35,550 >> ठीक है, तो, नमस्ते मेरा नाम है, printf, तो आप उस पर डाल करने के लिए चाहते हैं। 368 00:16:35,550 --> 00:16:35,740 ठीक है। 369 00:16:35,740 --> 00:16:37,360 और तुम स्टैंड जा सकते हैं कंप्यूटर स्क्रीन से 370 00:16:37,360 --> 00:16:39,730 के रूप में हालांकि आप कार्य कर रहे हैं कि इस कंप्यूटर सिस्टम के साथ आया। 371 00:16:39,730 --> 00:16:42,063 और जीवन में अपने उद्देश्य है वास्तव में कुछ मुद्रित करने के लिए। 372 00:16:42,063 --> 00:16:44,560 लेकिन कार्यक्रम की तरह हम ज्यादा यहाँ सिर्फ स्क्रीन पर था, 373 00:16:44,560 --> 00:16:47,060 हम करने के लिए जा रहे हैं वास्तव में आप कुछ इनपुट दे। 374 00:16:47,060 --> 00:16:51,810 >> और हां, अपने इनपुट हैं, यहाँ है, जाहिर है, क्या printf को पारित कर दिया है, 375 00:16:51,810 --> 00:16:53,730 एक तरह से यह इस तरह का नकली करते हैं। 376 00:16:53,730 --> 00:16:58,720 मैं सचमुच पर लिखने जा रहा हूँ कागज का एक टुकड़ा है, "नमस्ते, दुनिया," 377 00:16:58,720 --> 00:17:03,020 बैकस्लैश एन और स्पष्ट हो, क्या मैं तो बस, कागज के इस टुकड़े पर खींचा है 378 00:17:03,020 --> 00:17:04,020 इस तरह दिखता है। 379 00:17:04,020 --> 00:17:08,730 इसलिए मैं इस कार्यक्रम को चलाने के लिए, और इस जब कोड के पीले लाइन मार डाला जाता है, 380 00:17:08,730 --> 00:17:12,970 यह, मैं नमस्कार कार्यक्रम के रूप में यद्यपि है एक समारोह के लिए रवाना कुछ इनपुट सौंप रहा हूँ 381 00:17:12,970 --> 00:17:13,970 किसी और ने लिखा है कि। 382 00:17:13,970 --> 00:17:16,595 >> और यदि आप अपनी उंगली के साथ, वास्तव में कर सकता है, अपनी उंगली से, 383 00:17:16,595 --> 00:17:21,520 स्क्रीन पर आकर्षित जो कुछ भी यह आप सौंप दिया गया है है, 384 00:17:21,520 --> 00:17:27,465 प्रभाव, अंत में, करने के लिए है ठीक है कि स्क्रीन पर देखते हैं। 385 00:17:27,465 --> 00:17:29,140 और यहाँ एक छोटे से कोने मामला। 386 00:17:29,140 --> 00:17:31,540 और अच्छा है, हम नहीं देखना चाहिए इस बिंदु पर, नई लाइन। 387 00:17:31,540 --> 00:17:33,900 यह आप के लिए गलत होगा स्पष्ट रूप से नई आकर्षित करने के लिए। 388 00:17:33,900 --> 00:17:36,810 लेकिन हम रखा है पर शब्द लिख स्क्रीन, वे कहते हैं कि नीचे खत्म होगा। 389 00:17:36,810 --> 00:17:39,560 >> इसलिए आपको बहुत बहुत धन्यवाद, लेकिन छड़ी यहाँ के आसपास बस एक पल के लिए। 390 00:17:39,560 --> 00:17:42,860 अब हम एक दूसरे की जरूरत है स्वयंसेवक, हम कर सकते हैं, तो 391 00:17:42,860 --> 00:17:46,830 उस भूमिका निभाने की जरूरत जा रहा है of-- यह ऑर्केस्ट्रा में ही लोग है 392 00:17:46,830 --> 00:17:47,355 अभी। 393 00:17:47,355 --> 00:17:47,980 कैसे ठीक about--। 394 00:17:47,980 --> 00:17:48,480 यहीं। 395 00:17:48,480 --> 00:17:49,180 आ जाओ। 396 00:17:49,180 --> 00:17:49,955 आपका नाम क्या है? 397 00:17:49,955 --> 00:17:50,922 >> छात्र 2: [? Ivay। ?] 398 00:17:50,922 --> 00:17:51,796 डेविड जे मालन: क्षमा करें? 399 00:17:51,796 --> 00:17:52,990 छात्र 2: [? Ivay। ?] 400 00:17:52,990 --> 00:17:55,320 डेविड जे मालन: एतान, ऊपर पर आते हैं। 401 00:17:55,320 --> 00:17:55,820 नहीं? 402 00:17:55,820 --> 00:17:58,390 मैं भी, कि गलत था आप इसे दो बार के बाद कहा? 403 00:17:58,390 --> 00:17:58,890 आ जाओ। 404 00:17:58,890 --> 00:18:00,030 यह यहां तक ​​सुनने के लिए मुश्किल है। 405 00:18:00,030 --> 00:18:05,240 406 00:18:05,240 --> 00:18:05,740 ठीक। 407 00:18:05,740 --> 00:18:07,190 और मैं माफी चाहता हूँ, तुम्हारा नाम क्या है? 408 00:18:07,190 --> 00:18:07,680 >> छात्र 2: [? Ivay। ?] 409 00:18:07,680 --> 00:18:08,790 >> [? डेविड जे मालन: Ivay। ?] ठीक। 410 00:18:08,790 --> 00:18:10,430 अभी के लिए, अगर आप ऐसा नहीं मन, आप GetString कर रहे हैं। 411 00:18:10,430 --> 00:18:11,013 >> छात्र 2: ठीक है। 412 00:18:11,013 --> 00:18:11,797 कूल। 413 00:18:11,797 --> 00:18:14,630 डेविड जे मालन: अगर आप चाहेंगे तो बस एक पल के लिए यहाँ खड़ा करने के लिए, 414 00:18:14,630 --> 00:18:17,100 के एक से थोड़ा पर एक नजर डालते हैं और अधिक जटिल प्रोग्राम, कि 415 00:18:17,100 --> 00:18:18,670 अब कोड की तीन लाइनें है। 416 00:18:18,670 --> 00:18:24,080 इसलिए हम एक है, का उपयोग कर अपने नाम राज्य printf; दो, GetString के लिए एक फोन, 417 00:18:24,080 --> 00:18:28,060 एक के लिए एक काम से पीछा चर स्ट्रिंग है, कहा जाता है, या कहा जाता है; 418 00:18:28,060 --> 00:18:31,260 और फिर printf, करने के लिए एक और फोन, लेकिन दो आदानों के साथ इस बार। 419 00:18:31,260 --> 00:18:33,646 >> इसलिए हम पहले से ही किया गया है, राज्य अपना नाम, या यों कहें, हम है 420 00:18:33,646 --> 00:18:34,770 पहले से ही एक printf कॉल किया। 421 00:18:34,770 --> 00:18:38,960 तो मैं अपना नाम राज्य, लिखने जा रहा हूँ। 422 00:18:38,960 --> 00:18:42,089 और हां, तो मैं क्या करने के लिए जा रहा हूँ बस एक पल में, printf, पास, 423 00:18:42,089 --> 00:18:43,005 यह काफी बस है। 424 00:18:43,005 --> 00:18:47,760 आप आगे जाना है और इस आकर्षित करना चाहते हैं तो स्क्रीन पर, कि अपने इनपुट अब है। 425 00:18:47,760 --> 00:18:48,260 ठीक है। 426 00:18:48,260 --> 00:18:51,160 और अब हम है, स्ट्रिंग भूल जाते हैं यहाँ कोड की अपनी लाइन। 427 00:18:51,160 --> 00:18:54,470 इतने में, GetString, हम की जरूरत है वास्तव में, GetString फोन करने के लिए। 428 00:18:54,470 --> 00:18:57,920 इसलिए जीवन में अपने उद्देश्य सिर्फ चलने के लिए है ऑर्केस्ट्रा में बाहर, अगर तुम सकता है, 429 00:18:57,920 --> 00:18:58,980 और किसी के नाम मिलता है। 430 00:18:58,980 --> 00:19:00,860 लेकिन हम आपको दे दें कुछ उस पर डाल दिया। 431 00:19:00,860 --> 00:19:02,908 यदि आप जाना चाहते हैं आगे और एक स्ट्रिंग मिलता है, 432 00:19:02,908 --> 00:19:05,241 उस पर किसी का नाम मिलता है कागज का टुकड़ा है, अगर तुम सकता है। 433 00:19:05,241 --> 00:19:12,940 434 00:19:12,940 --> 00:19:13,530 >> ठीक है। 435 00:19:13,530 --> 00:19:15,250 और हम बस एक पल में, देखेंगे जिसका नाम हम कर रहे हैं। 436 00:19:15,250 --> 00:19:17,630 इस बीच, मैं करने के लिए क्या जा रहा हूँ तैयार है, एक खाली टुकड़ा है 437 00:19:17,630 --> 00:19:21,340 कागज की, जो में, मैं जा रहा हूँ स्टोर करने के लिए जो कुछ भी मूल्य है कि यह 438 00:19:21,340 --> 00:19:25,752 GetString मेरे लिए लौट रहा है है कि, मैं नामक एक स्ट्रिंग चर, एस जा रहा है। 439 00:19:25,752 --> 00:19:26,252 ठीक है। 440 00:19:26,252 --> 00:19:27,293 तो तुम यहाँ क्या करना है? 441 00:19:27,293 --> 00:19:27,950 Nik। 442 00:19:27,950 --> 00:19:28,450 ठीक है। 443 00:19:28,450 --> 00:19:30,910 तो हम यहाँ Nik का नाम है। 444 00:19:30,910 --> 00:19:33,750 तो यह क्या सचमुच है लौटा दिया गया है 445 00:19:33,750 --> 00:19:35,810 मेरे लिए, तो GetString से बात करने के लिए। 446 00:19:35,810 --> 00:19:38,720 >> मैं करने जा रहा है, अब, हूँ बाएं हाथ की ओर निष्पादित 447 00:19:38,720 --> 00:19:43,440 जहां मैं बस यह है कि अभिव्यक्ति की आज के उद्देश्यों, Nik के लिए, नीचे की नकल। 448 00:19:43,440 --> 00:19:46,470 तो अब, मैं एक चर है कहा जाता है, निक के नाम के भंडारण, एस। 449 00:19:46,470 --> 00:19:49,520 मैं पहले से ही करने के लिए सौंप दिया गया है, printf, पिछले एक तर्क। 450 00:19:49,520 --> 00:19:52,800 लेकिन हमारे तीसरे और अंतिम पंक्ति में कोड, मैं वास्तव में हाथ printf करना है 451 00:19:52,800 --> 00:19:58,500 एक छोटे different-- कुछ "हैलो,% s" बैकस्लैश एन। 452 00:19:58,500 --> 00:20:01,510 >> और तो अंतिम पंक्ति मैं जा रहा हूँ मैं पिछले बात send-- को 453 00:20:01,510 --> 00:20:03,060 अब नीचे लिखने जा रहा है, यह है। 454 00:20:03,060 --> 00:20:06,310 तो कोड की दो लाइनों, या कोड की अंतिम पंक्ति के बजाय, 455 00:20:06,310 --> 00:20:10,690 दो inputs-- के लिए कॉल एक, यह है, और दो, यह है। 456 00:20:10,690 --> 00:20:13,330 हमारे printf समारोह तो अगर अब इनपुट के रूप में इन ले जा सकते हैं, 457 00:20:13,330 --> 00:20:16,000 मुझे आप के लिए स्क्रीन को साफ करते हैं। 458 00:20:16,000 --> 00:20:17,250 असल में नहीं, तुम आगे जा सकते हैं। 459 00:20:17,250 --> 00:20:19,333 हम के बाद से, इसे छोड़ देंगे यह एक ही कार्यक्रम पर है। 460 00:20:19,333 --> 00:20:21,760 461 00:20:21,760 --> 00:20:27,380 हम, नमस्कार, Nik देखना चाहिए। 462 00:20:27,380 --> 00:20:27,880 ठीक है। 463 00:20:27,880 --> 00:20:29,670 तो यह काफी कुछ था हुप्स बस के माध्यम से कूद करने के लिए 464 00:20:29,670 --> 00:20:31,620 लिखने के लिए, राज्य के अपने हैलो, निक नाम है, और। 465 00:20:31,620 --> 00:20:37,210 लेकिन संदेश पासिंग की इस सरल विचार है, इनपुट गुजर रहा है और उत्पादन प्राप्त करने के 466 00:20:37,210 --> 00:20:40,430 हमारे पास करने के लिए जा रहे मॉडल ठीक है यहां तक ​​कि सबसे जटिल कार्य के लिए। 467 00:20:40,430 --> 00:20:41,804 तो आप दोनों को बहुत बहुत धन्यवाद। 468 00:20:41,804 --> 00:20:43,730 हम एक सुंदर तनाव है यहाँ आप के लिए गेंद। 469 00:20:43,730 --> 00:20:48,890 और हमारे GetString करने के लिए धन्यवाद एक जैसे और printf स्वयंसेवकों। 470 00:20:48,890 --> 00:20:49,551 धन्यवाद। 471 00:20:49,551 --> 00:20:50,050 ठीक है। 472 00:20:50,050 --> 00:20:50,966 आप दोनों के लिए धन्यवाद। 473 00:20:50,966 --> 00:20:56,640 474 00:20:56,640 --> 00:21:00,430 >> इसलिए हम के बारे में बात कर रहा है इस प्रकार अब तक, ज्यादातर तार के बारे में। 475 00:21:00,430 --> 00:21:06,550 और यह है कि सी वास्तव में कर सकते हैं पता चला है कुछ अलग प्रकार के डेटा को समझते हैं। 476 00:21:06,550 --> 00:21:08,860 वास्तव में, के ले चलो पर आज इन पर दिखेगा। 477 00:21:08,860 --> 00:21:12,490 इतनी सी है, और भाषाओं की एक बहुत कुछ है, वर्ण बुलाया चीजों को समझते हैं। 478 00:21:12,490 --> 00:21:16,852 एक चार आम तौर पर एक है एकल बाइट, या आठ बिट्स। 479 00:21:16,852 --> 00:21:19,810 और यह एक ही चरित्र का प्रतिनिधित्व करता है, पत्र ए, या पूंजी की तरह 480 00:21:19,810 --> 00:21:21,990 पत्र ए, या छोटा अक्षर एक, या एक विस्मयादिबोधक बिंदु, 481 00:21:21,990 --> 00:21:25,440 या किसी भी चरित्र को आप पर टाइप कर सकते हैं कि अपने कीबोर्ड, और कभी कभी भी अधिक। 482 00:21:25,440 --> 00:21:26,795 हम यह भी मंगाई को देखने के लिए होता है। 483 00:21:26,795 --> 00:21:31,160 एक नाव, आम तौर पर, एक 32-बिट मूल्य, या चार बाइट्स 484 00:21:31,160 --> 00:21:33,660 फिर, क्योंकि एक बाइट आठ बिट है। 485 00:21:33,660 --> 00:21:36,675 >> तो एक नाव एक चल बिन्दु मान है, एक दशमलव बिंदु के साथ कुछ। 486 00:21:36,675 --> 00:21:38,550 और वास्तव में, कि क्या हो रहा है फिल्म में बात कर रहा था 487 00:21:38,550 --> 00:21:42,240 वे तैरते के बारे में बात की थी जब के बारे में बात मान, बिट्स के कुछ निश्चित संख्या 488 00:21:42,240 --> 00:21:43,940 एक वास्तविक संख्या का प्रतिनिधित्व करने के लिए इस्तेमाल किया जा रहा है। 489 00:21:43,940 --> 00:21:45,740 लेकिन यह भी युगल में बुलाया बातें की। 490 00:21:45,740 --> 00:21:47,860 इन, जावा में मौजूद आप APCs ले लिया है, 491 00:21:47,860 --> 00:21:51,540 और एक डबल के रूप में नाम शुक्र पता चलता है, दो बार एक नाव के रूप में बड़ा है। 492 00:21:51,540 --> 00:21:54,540 यह अभी भी एक वास्तविक संख्या है, यह सिर्फ अधिक बिट है 493 00:21:54,540 --> 00:21:58,390 जिसके साथ, कभी भी और अधिक सटीक होना या यहां तक ​​कि बड़ी संख्या में स्टोर करने के लिए। 494 00:21:58,390 --> 00:21:58,890 पूर्णांक के लिए आसान है। 495 00:21:58,890 --> 00:22:00,181 हम जानते हैं कि पिछली बार के बारे में बात की थी। 496 00:22:00,181 --> 00:22:01,160 यह सिर्फ एक पूर्णांक है। 497 00:22:01,160 --> 00:22:03,980 और यह आम तौर पर 32 है बिट्स, या चार बाइट्स। 498 00:22:03,980 --> 00:22:07,850 >> और हां, अगर कोई है तो, चलो अब देखते हैं 32 bits-- और हम हफ्ते 0 में यह किया है, 499 00:22:07,850 --> 00:22:10,820 अगर आपके पास कभी इतना briefly-- 32 बिट, सबसे बड़ी क्या है 500 00:22:10,820 --> 00:22:13,580 आप एक पूर्णांक के रूप में प्रतिनिधित्व कर सकते हैं नंबर? 501 00:22:13,580 --> 00:22:16,080 दे या ले? 502 00:22:16,080 --> 00:22:18,380 यह 4 अरब की तरह है और कहा कि हम कर रहे हैं केवल यदि है 503 00:22:18,380 --> 00:22:20,690 सकारात्मक संख्या केवल प्रतिनिधित्व। 504 00:22:20,690 --> 00:22:23,930 आप 32 बिट है, और आप चाहते हैं के रूप में अच्छी तरह से नकारात्मक संख्या का प्रतिनिधित्व करते हैं, 505 00:22:23,930 --> 00:22:27,100 अपनी सीमा अनिवार्य रूप से नकारात्मक है, 2 अरब सकारात्मक करने के लिए 2 अरब। 506 00:22:27,100 --> 00:22:29,250 लेकिन आम तौर पर, हम शुरू करेंगे 0 पर 4 अरब से ऊपर जाना है। 507 00:22:29,250 --> 00:22:32,400 >> आप ठीक पता करने के लिए नहीं है, लेकिन सिर्फ मैं यदि हम वास्तव में, यह देख सकते हैं 508 00:22:32,400 --> 00:22:36,400 इधर, एक छोटी सी कैलकुलेटर ऊपर खुला। 509 00:22:36,400 --> 00:22:41,070 मैं 32 2 करते हैं, और कर सकते हैं कि वास्तव में कितना बड़ा है, 510 00:22:41,070 --> 00:22:43,190 कितने मूल्यों आप कर सकते हैं 32 बिट के साथ प्रतिनिधित्व करते हैं। 511 00:22:43,190 --> 00:22:44,442 और यह लगभग 4 अरब डॉलर है। 512 00:22:44,442 --> 00:22:46,900 तो हम उस संख्या को देखकर रखेंगे कुछ अलग स्थानों में। 513 00:22:46,900 --> 00:22:48,890 लेकिन अगर आप लंबे समय तक की जरूरत है तो उस से भी संख्या, 514 00:22:48,890 --> 00:22:51,670 यह वहाँ है पता चला है कुछ एक लंबे बुलाया। 515 00:22:51,670 --> 00:22:54,005 और एक लंबी लंबी है आम तौर पर 64 बिट, जो 516 00:22:54,005 --> 00:22:56,380 यह परिमाण के एक आदेश का मतलब है एक int से भी बड़ा। 517 00:22:56,380 --> 00:22:59,510 >> इसलिए मैं भी सबसे बड़ी उच्चारण नहीं कर सकते आप का प्रतिनिधित्व कर सकते हैं कि संख्या, 518 00:22:59,510 --> 00:23:01,340 लेकिन यह स्पष्ट रूप से बड़ा है। 519 00:23:01,340 --> 00:23:05,190 अब एक के रूप में अलग है, ऐतिहासिक, एक int 32 बिट है, 520 00:23:05,190 --> 00:23:12,780 और एक लंबे 64 बिट्स, कैसे बड़ा एक लंबी नहीं, एक लंबे समय तक है? 521 00:23:12,780 --> 00:23:16,500 522 00:23:16,500 --> 00:23:20,330 आप इसे एक पूर्णांक से अधिक समय है लगता था लेकिन शायद कम लंबे समय से एक लंबे, 523 00:23:20,330 --> 00:23:21,400 लेकिन यह वास्तव में निर्भर करता है। 524 00:23:21,400 --> 00:23:23,400 >> और तो यह एक बाहर जाती है बहुत कुंठाओं की, 525 00:23:23,400 --> 00:23:26,830 कुछ सिस्टम पर कोड लिखने के साथ, है कि इन प्रकार के डेटा नहीं सभी 526 00:23:26,830 --> 00:23:28,440 पूर्व निर्धारित मूल्य नहीं है। 527 00:23:28,440 --> 00:23:29,771 कभी कभी यह यह कई बिट्स है। 528 00:23:29,771 --> 00:23:31,020 कभी कभी यह है कि कई बिट्स है। 529 00:23:31,020 --> 00:23:32,750 तो अगर आप वास्तव में पता है, कभी कभी, क्या हार्डवेयर 530 00:23:32,750 --> 00:23:34,083 तुम पर अपने सॉफ्टवेयर चल रहे हैं। 531 00:23:34,083 --> 00:23:36,960 शुक्र है, अन्य भाषाओं और अब मौजूद है कि अन्य प्रकार के डेटा, 532 00:23:36,960 --> 00:23:38,400 आप और अधिक सटीक होना करने के लिए अनुमति देते हैं। 533 00:23:38,400 --> 00:23:41,220 खैर, हम, स्ट्रिंग देखा और हम भी, बूल देखा 534 00:23:41,220 --> 00:23:43,960 लेकिन यह उन लोगों के आने पता चला है केवल CS50 पुस्तकालय के साथ। 535 00:23:43,960 --> 00:23:46,240 तो उन का निर्माण नहीं कर रहे हैं सी में उन के बजाय, 536 00:23:46,240 --> 00:23:49,340 कहा जाता है कि फाइल में आ CS50.h, कि हम अंत में हूँ 537 00:23:49,340 --> 00:23:51,831 की परतों वापस छील। 538 00:23:51,831 --> 00:23:53,830 लेकिन अब के लिए, वे बस रहे अतिरिक्त डेटा प्रकार के। 539 00:23:53,830 --> 00:23:57,060 एक बूल एक सही है या गलत है, और एक है स्ट्रिंग पात्रों का एक दृश्य है, 540 00:23:57,060 --> 00:23:57,970 एक शब्द की तरह। 541 00:23:57,970 --> 00:24:01,690 अब printf, हमने देखा है, है प्लेसहोल्डर्स% s से एक है। 542 00:24:01,690 --> 00:24:05,430 और तुम अब तक, सक्षम हो सकता है इन अन्य उदाहरण हैं, कैसे से अनुमान 543 00:24:05,430 --> 00:24:07,720 आप एक प्लेसहोल्डर हो सकता था विभिन्न प्रकार के डेटा के लिए। 544 00:24:07,720 --> 00:24:11,150 उदाहरण के लिए, एक अनुमान ले अगर आप का उपयोग करते हुए एक भी चार प्रिंट आउट करना चाहता था 545 00:24:11,150 --> 00:24:15,270 printf, प्लेसहोल्डर शायद% ग है। 546 00:24:15,270 --> 00:24:19,650 और अगर आप एक प्रिंट आउट करना चाहते हैं प्लेसहोल्डर,% मैं के साथ पूर्णांक। 547 00:24:19,650 --> 00:24:25,150 % LLD, एक लंबे दशमलव मान है लेकिन लंबे समय तक, कि है कि नक्शे इसलिए। 548 00:24:25,150 --> 00:24:28,640 फ्लोटिंग के लिए और फिर% च बिंदु मान या एक डबल के लिए, 549 00:24:28,640 --> 00:24:31,270 तो कभी कभी वे फिर से इस्तेमाल कर रहे हैं अलग अलग संदर्भों में। 550 00:24:31,270 --> 00:24:33,350 तो हम देखते हैं और इस्तेमाल करेंगे समय के साथ उन लोगों में से कुछ हैं। 551 00:24:33,350 --> 00:24:36,420 Printf और भी अन्य कार्य करता है और दूसरों का समर्थन 'भागने दृश्यों, 552 00:24:36,420 --> 00:24:38,080 और कभी कभी, ये जरूरी हैं। 553 00:24:38,080 --> 00:24:39,770 तो बैकस्लैश n एक नई लाइन है। 554 00:24:39,770 --> 00:24:42,886 Backslash टी, किसी को भी करता है एक चाकू ले जाना चाहते हैं? 555 00:24:42,886 --> 00:24:43,760 दर्शकों के सदस्य: टैब। 556 00:24:43,760 --> 00:24:44,551 डेविड जे मालन: टैब। 557 00:24:44,551 --> 00:24:46,810 आप वास्तव में चाहते हैं तो एक टैब नहीं बाहर मुद्रित करने के लिए 558 00:24:46,810 --> 00:24:49,940 रिक्त स्थान की एक निश्चित संख्या लेकिन एक वास्तविक टैब वर्ण, आप अपने को मारा नहीं है, 559 00:24:49,940 --> 00:24:53,490 कीबोर्ड पर टैब, कुंजी, आम तौर पर, आप वास्तव में बैकस्लैश टी करते हैं। 560 00:24:53,490 --> 00:24:57,750 Backslash डबल बोली, यही कारण है कि मैं कभी भी है कि चाहेगा? 561 00:24:57,750 --> 00:24:58,250 है ना? 562 00:24:58,250 --> 00:25:00,417 क्यों मैं सिर्फ एक नहीं लिख सकते हैं अपने कीबोर्ड पर दोहरे उद्धरण? 563 00:25:00,417 --> 00:25:02,124 दर्शकों के सदस्य: अन्यथा, यह है, क्योंकि 564 00:25:02,124 --> 00:25:04,830 यह अंत है सोचने के लिए जा के अपने प्रिंट [पसंद है? पाठ। ?] 565 00:25:04,830 --> 00:25:05,420 >> डेविड जे मालन: बिल्कुल। 566 00:25:05,420 --> 00:25:07,211 साथ याद है, हमारे printf उदाहरण हैं, जब हम 567 00:25:07,211 --> 00:25:10,075 इनपुट में printf को गुजर रहे थे, कि इनपुट स्ट्रिंग के बाईं पर 568 00:25:10,075 --> 00:25:12,950 और कहा कि इनपुट के अधिकार पर वसंत, ज़ाहिर है, एक डबल बोली थी। 569 00:25:12,950 --> 00:25:16,270 अपने स्वयं के इनपुट एक डबल है तो उस के बीच में बोली, 570 00:25:16,270 --> 00:25:18,920 कंप्यूटर संभवतः हो सकता है के रूप में उलझन में मिलता है, 571 00:25:18,920 --> 00:25:20,760 इस दोहरे उद्धरण करता है बीच में हैं? 572 00:25:20,760 --> 00:25:22,150 यह छोड़ एक साथ हैं करता है? 573 00:25:22,150 --> 00:25:23,566 यह सही एक साथ हैं करता है? 574 00:25:23,566 --> 00:25:26,780 और हां, तो आप सुपर इसे बनाने के लिए चाहते हैं स्पष्ट है, आप डबल बोली Backslash करते हैं, 575 00:25:26,780 --> 00:25:30,480 यह बच रहा है, इसलिए है कि तो बात है, और करने के लिए यह कुछ और के लिए सम्मिश्रण नहीं है। 576 00:25:30,480 --> 00:25:34,400 और, यहाँ कुछ अन्य लोगों के भी नहीं है बैकस्लैश आर, एकल उद्धरण, 0, 577 00:25:34,400 --> 00:25:36,510 कि हम साथ ही, समय के साथ देख सकते हैं। 578 00:25:36,510 --> 00:25:37,760 और अब, क्या कार्यों के बारे में? 579 00:25:37,760 --> 00:25:41,630 >> हम इस प्रकार अब तक ले जा सकते हैं कि कार्रवाई तो इस भाषा में, सी, ठीक है, हमने देखा है, 580 00:25:41,630 --> 00:25:44,320 printf, ज़ाहिर है, और सभी स्क्रीन पर दूसरों की, 581 00:25:44,320 --> 00:25:47,140 यहाँ, हम के लिए इस्तेमाल करेंगे केवल पाठ्यक्रम के पहले कुछ हफ्तों, 582 00:25:47,140 --> 00:25:48,485 जब CS50 पुस्तकालय आते हैं। 583 00:25:48,485 --> 00:25:51,850 और वे में, यह बहुत आसान है सी, वास्तव में उपयोगकर्ता इनपुट पाने के लिए। 584 00:25:51,850 --> 00:25:54,200 यह सी में पता चला है कि, और स्पष्ट रूप से कुछ भाषाओं में, 585 00:25:54,200 --> 00:25:57,450 यह करने के लिए गर्दन में एक असली दर्द है उपयोगकर्ता को संकेत की तरह कुछ सरल, 586 00:25:57,450 --> 00:26:01,310 अपने या अपने इनपुट के लिए कीबोर्ड, के लिए। 587 00:26:01,310 --> 00:26:03,240 और इसलिए इन कार्यों के लिए यह आसान बनाते हैं। 588 00:26:03,240 --> 00:26:05,472 >> और यह भी त्रुटि है भर की जाँच, 589 00:26:05,472 --> 00:26:07,180 इसलिए जब आपको लगता है कि बुधवार हम, पर याद करते हैं 590 00:26:07,180 --> 00:26:09,740 , पुन: प्रयास करें, चेतावनी देखा मैं सहयोग नहीं किया, जब 591 00:26:09,740 --> 00:26:11,700 और मैं एक शब्द है, बजाय एक नंबर टाइप? 592 00:26:11,700 --> 00:26:15,402 हम जल्दी भारी उठाने किया है पर उपयोगकर्ता सहयोग सुनिश्चित करने के लिए। 593 00:26:15,402 --> 00:26:17,860 लेकिन ये सिर्फ प्रशिक्षण कर रहे हैं कि हम अंत में होगा पहियों, 594 00:26:17,860 --> 00:26:19,640 और जल्दी से दूर ले। 595 00:26:19,640 --> 00:26:22,630 >> संक्षिप्त करने के लिए तो, फिर, चलो एक त्वरित नज़र रखना, 596 00:26:22,630 --> 00:26:26,620 हम खरोंच, पर साथ किया था बहुत पसंद है सी में कुछ विहित निर्माणों 597 00:26:26,620 --> 00:26:28,580 इस प्रकार, के लिए होती है की, एक बवंडर दौरे हो सकता है, 598 00:26:28,580 --> 00:26:30,990 बस इतना है कि आप एक संदर्भ है और आप पहली बार में बातें देखा है कि। 599 00:26:30,990 --> 00:26:34,100 लेकिन फिर हम वास्तविक कोडिंग में देख लेंगे इन इमारत ब्लॉकों में से कुछ का उपयोग करें। 600 00:26:34,100 --> 00:26:36,710 इतना तो है कि खरोंच में की तरह, हम बयानों की तरह था, 601 00:26:36,710 --> 00:26:41,570 सी में है, हम क्या करना है, रुको, कहते हैं या printf की तरह के रूप में अच्छी तरह से काम करता है। 602 00:26:41,570 --> 00:26:45,350 >> हम एक शर्त को व्यक्त करना चाहते हैं सी में, यह भावना में, इसी तरह की है, 603 00:26:45,350 --> 00:26:47,840 कि पहेली टुकड़ा करने के लिए कि स्क्रैच में इस तरह से देखा। 604 00:26:47,840 --> 00:26:49,850 लेकिन इसके बजाय, हम सचमुच अगर सिर्फ लिखा है। 605 00:26:49,850 --> 00:26:51,830 और फिर, कोष्ठक में, हम एक शर्त रख दिया, 606 00:26:51,830 --> 00:26:54,807 शर्त यह है कि जहां हम क्या करेंगे एक बूलियन अभिव्यक्ति, फिर से, कहते हैं। 607 00:26:54,807 --> 00:26:56,390 और फिर, इस स्यूडोकोड की तरह है। 608 00:26:56,390 --> 00:26:58,830 और, वास्तव में, // एक टिप्पणी है। 609 00:26:58,830 --> 00:27:00,550 यह अपने आप को सिर्फ अंग्रेजी शब्द है। 610 00:27:00,550 --> 00:27:03,000 लेकिन यह सामान्य है एक, अगर, हालत की संरचना। 611 00:27:03,000 --> 00:27:05,220 लेकिन हम ठोस देखेंगे बस एक पल में उदाहरण हैं। 612 00:27:05,220 --> 00:27:07,960 >> आप एक के लिए करना चाहते हैं सड़क में दो तरह से कांटा, 613 00:27:07,960 --> 00:27:11,740 बहुत तरह हम पर हमारे स्वयंसेवक के साथ किया था बुधवार, तुम अगर नहीं तो, एक हो सकता है। 614 00:27:11,740 --> 00:27:16,020 और अगर आप एक तिहाई करना चाहते हैं और अंतिम स्थिति, या डिफ़ॉल्ट स्थिति, 615 00:27:16,020 --> 00:27:19,006 आप देखते हैं, बस एक और ब्लॉक कर सकते हैं। 616 00:27:19,006 --> 00:27:21,880 और इसी प्रकार, बूलियन अभिव्यक्ति के साथ, आप उन्हें एक साथ कर सकते हैं, और। 617 00:27:21,880 --> 00:27:24,296 और हम बुधवार को देखा था कि यह एक एम्परसेंड नहीं है, 618 00:27:24,296 --> 00:27:28,220 यह निचले स्तर के कारणों के लिए, दो है कि हम अंत में देखते हैं और साथ खेलेंगे। 619 00:27:28,220 --> 00:27:30,410 चीजों को एक साथ या आईएनजी 2 ऊर्ध्वाधर सलाखों है। 620 00:27:30,410 --> 00:27:32,240 एक अमेरिकी कीबोर्ड पर, इस एक चाबी आम तौर पर है 621 00:27:32,240 --> 00:27:35,730 ऊपर शिफ्ट कुंजी के साथ अपने कुंजी दर्ज करें या कुंजी लौटें। 622 00:27:35,730 --> 00:27:38,620 >> तो फिर इन चीजों है कि वहाँ हम एक या दो बार हो सकता है का उपयोग करेंगे। 623 00:27:38,620 --> 00:27:42,570 वे करने के लिए कार्यात्मक समकक्ष हैं अगर और क्या करता है, तो आप एक साथ कर सकते हैं, 624 00:27:42,570 --> 00:27:44,950 बाकी अगर नहीं तो, निर्माण, लेकिन वे एक स्विच कर रहे हैं बुलाया। 625 00:27:44,950 --> 00:27:48,020 वे बहुत अलग लग रही है, लेकिन हम करेंगे हमारे वितरण कोड में से कुछ में देखते हैं, 626 00:27:48,020 --> 00:27:51,890 भविष्य में समस्या सेट के लिए सबसे अधिक संभावना है, यह सिर्फ कभी कभी एक सुंदर है कि 627 00:27:51,890 --> 00:27:54,060 एक पूरी व्यक्त करने का तरीका शर्तों का गुच्छा, 628 00:27:54,060 --> 00:27:57,590 सर्पाकार का एक बहुत बिना और कोष्ठकों और खरोज का एक बहुत। 629 00:27:57,590 --> 00:28:01,910 लेकिन वे हमें कोई अधिक दे शक्ति हम पहले से ही है। 630 00:28:01,910 --> 00:28:02,550 और अब छोरों। 631 00:28:02,550 --> 00:28:05,020 और यह एक है, हम देख लेंगे और धीरे धीरे एक छोटे से। 632 00:28:05,020 --> 00:28:08,470 लेकिन फिर, हम इन का उपयोग करने के लिए शुरू करेंगे, विशेष रूप से पहले से ही परिचित लोगों के लिए। 633 00:28:08,470 --> 00:28:13,830 अगर यह अविश्वसनीय रूप से, विहित तरीका है रहस्यमय तरीके से, सी में एक पाश लिखने के लिए 634 00:28:13,830 --> 00:28:15,896 >> अब खरोंच में एक पाश था बहुत सीधा। 635 00:28:15,896 --> 00:28:17,020 आप एक, हमेशा के लिए, ब्लॉक है। 636 00:28:17,020 --> 00:28:19,760 आप एक, दोहराने, ब्लॉक के साथ है सिर्फ एक नंबर पर आप में टाइप करना है। 637 00:28:19,760 --> 00:28:22,220 और, के लिए लूप के साथ, आप कर सकते हैं , उन विचारों के दोनों लागू 638 00:28:22,220 --> 00:28:23,595 लेकिन यह एक छोटे से अधिक तकनीकी है। 639 00:28:23,595 --> 00:28:25,994 लेकिन स्पष्ट रूप से, यह भी है अपेक्षाकृत सरल। 640 00:28:25,994 --> 00:28:28,160 आप का आदेश एक बार आप जानते संचालन, तुम सचमुच 641 00:28:28,160 --> 00:28:30,910 सिर्फ मूल्यों में प्लग करने के लिए जा रहे हैं और क्या करना है कंप्यूटर बताओ। 642 00:28:30,910 --> 00:28:32,800 यहाँ तो एक उदाहरण है। 643 00:28:32,800 --> 00:28:38,040 यह एक पाश है कि काफी बस, एक नंबर ऊपर से गिना जाता है 644 00:28:38,040 --> 00:28:40,187 दूसरे के माध्यम से। 645 00:28:40,187 --> 00:28:42,020 और बस glancing द्वारा तुम्हारे पास है, भले ही उस पर 646 00:28:42,020 --> 00:28:44,660 साथ कोई पूर्व अनुभव इस भाषा, क्या नंबर 647 00:28:44,660 --> 00:28:46,920 यह शायद कम से गिनती शुरू करता है? 648 00:28:46,920 --> 00:28:47,730 ठीक है, 0। 649 00:28:47,730 --> 00:28:50,240 और मुझे लगता है कि आप क्योंकि लग रहा है एक पूर्णांक और एक मैं वहाँ कि वहाँ 650 00:28:50,240 --> 00:28:51,073 जो एक चर रहा है। 651 00:28:51,073 --> 00:28:52,390 यह 0 करने के लिए प्रारंभ की है। 652 00:28:52,390 --> 00:28:55,670 >> और फिर बाद में, ऐसा लग रहा है हम, एक मूल्य printf गुजर रहे हैं। 653 00:28:55,670 --> 00:28:58,000 और, वास्तव में, मैं एक छोटे से यहाँ टाइपो बनाया। 654 00:28:58,000 --> 00:28:59,850 लेकिन इतनी आसानी से तय हो रहा है। 655 00:28:59,850 --> 00:29:02,390 मुझे यहाँ, मैं में जोड़ दें। 656 00:29:02,390 --> 00:29:06,150 अब हम printf किया जा रहा है कि प्लेसहोल्डर मूल्य पारित कर दिया। 657 00:29:06,150 --> 00:29:08,299 और के माध्यम से गिनती करने के लिए क्या हो रहा है? 658 00:29:08,299 --> 00:29:08,840 दर्शकों: 50। 659 00:29:08,840 --> 00:29:09,340 50। 660 00:29:09,340 --> 00:29:10,160 49। 661 00:29:10,160 --> 00:29:10,910 डेविड जे मालन: 49। 662 00:29:10,910 --> 00:29:13,340 इसलिए 50, पहली नज़र में, सही लगता है। 663 00:29:13,340 --> 00:29:16,990 लेकिन यह है कि, यह पता चला है, होने जा रहा है हम जाँच कर रखना कि हमारी हालत। 664 00:29:16,990 --> 00:29:21,740 और हम एक बार बंद करने के लिए जा रहे हैं मैं अब 50 से भी कम है। 665 00:29:21,740 --> 00:29:24,920 तो इस लूप, इसके विपरीत, चाहिए इतने लंबे समय मैं 50 से भी कम है, के रूप में निष्पादित। 666 00:29:24,920 --> 00:29:28,891 लेकिन यह 50, या 51 हो जाता है जैसे ही, या बुरा, यह स्वचालित रूप से बंद कर देना चाहिए। 667 00:29:28,891 --> 00:29:29,390 ठीक है। 668 00:29:29,390 --> 00:29:31,200 >> तो क्या वास्तव में यहाँ क्या होता है? 669 00:29:31,200 --> 00:29:33,160 तो इस का आदेश है एक पाश के लिए आपरेशनों। 670 00:29:33,160 --> 00:29:35,440 एक, आपके पास प्रारंभ के तथाकथित। 671 00:29:35,440 --> 00:29:38,264 यह पीले प्रकाश डाला हिस्सा कोड की, पहले मार डाला है 672 00:29:38,264 --> 00:29:40,930 और यह प्रभाव है कि, प्रति है बुधवार, तो आप शायद सोच भी। 673 00:29:40,930 --> 00:29:45,500 यह एक चर मैं और यह कहा जाता है बनाता है उस चर में दुकानों मान 0। 674 00:29:45,500 --> 00:29:47,560 तो मैं कहानी में इस बिंदु पर 0 है। 675 00:29:47,560 --> 00:29:49,680 >> अगली बात यह है कि इस निर्माण में होता है, 676 00:29:49,680 --> 00:29:51,540 हालत की जाँच हो जाता है। 677 00:29:51,540 --> 00:29:54,325 तो मैंने तुरंत जाँच मैं 50 से कम है? 678 00:29:54,325 --> 00:29:57,700 और हां, इस सवाल का जवाब अब के लिए हाँ, निश्चित रूप से, है। 679 00:29:57,700 --> 00:30:00,710 हाँ मैं, 0 है, और क्योंकि कि निश्चित रूप से कम से कम 50 है। 680 00:30:00,710 --> 00:30:03,866 तो फिर क्या होता है, यह है कि कोड की लाइन मार डाला जाता है। 681 00:30:03,866 --> 00:30:06,740 और वास्तव में, यदि कई वहाँ उन सर्पाकार में कोड की लाइनों, 682 00:30:06,740 --> 00:30:09,020 वे सब एक के बाद एक मार डाला। 683 00:30:09,020 --> 00:30:11,450 >> और यहाँ के प्रभाव में है, जाहिर है, बाहर मुद्रित करने के लिए 684 00:30:11,450 --> 00:30:15,365 करने के लिए जा रहा है, जो संख्या में मैं, 0, और फिर 1, और फिर 2 होना। 685 00:30:15,365 --> 00:30:15,865 लेकिन क्यों? 686 00:30:15,865 --> 00:30:17,410 ऐसा क्यों है कि वृद्धि प्राप्त करता है? 687 00:30:17,410 --> 00:30:20,680 खैर, चौथी बात यह है कि होता यह वाक्य रचना कि है 688 00:30:20,680 --> 00:30:22,610 अर्धविराम के बाद मार डाला जाता है। 689 00:30:22,610 --> 00:30:27,506 मैं कह का एक आशुलिपि तरीका है ++; मैं का मान लेते हैं, और यह करने के लिए एक जोड़ने; 690 00:30:27,506 --> 00:30:30,380 और फिर अगली बार के आसपास, जोड़ने यह करने के लिए 1; और अगली बार के आसपास, 691 00:30:30,380 --> 00:30:31,330 यह करने के लिए 1 जोड़ें। 692 00:30:31,330 --> 00:30:33,640 >> इसलिए हम जा रहा रखने के लिए, क्या होने जा रहा है 693 00:30:33,640 --> 00:30:35,890 अगले मैं नहीं जा रहा हूँ है फिर कभी मैं प्रारंभ। 694 00:30:35,890 --> 00:30:38,290 मैं प्रारंभ कर रखा हैं मैं 0, इस उदाहरण 695 00:30:38,290 --> 00:30:41,110 क्योंकि कभी खत्म नहीं होता मैं 0 में फँस जाएगा। 696 00:30:41,110 --> 00:30:43,870 लेकिन ऐसा करने के लिए क्या हो रहा है है हालत जाँच की जाएगी कि, 697 00:30:43,870 --> 00:30:54,280 कोड की लाइन मार डाला जाएगा, मैं वृद्धि की जाएगी 698 00:30:54,280 --> 00:30:56,970 हालत जाँच की जाएगी, कोड मार डाला जाएगा। 699 00:30:56,970 --> 00:30:59,790 और यह फिर से साइकिल चालन रखा और फिर, और फिर, 700 00:30:59,790 --> 00:31:03,340 मैं जब तक ++ 50 के मूल्य लाती है। 701 00:31:03,340 --> 00:31:05,870 >> हालत तो कहते हैं, 50 से 50 कम है? 702 00:31:05,870 --> 00:31:09,360 जवाब, ज़ाहिर है, कोई है, और ताकि पूरे कोड को क्रियान्वित करने से रोकता है। 703 00:31:09,360 --> 00:31:13,020 और आप स्क्रीन पर अधिक कोड है तो नीचे नीचे, कि आगे क्या होता है। 704 00:31:13,020 --> 00:31:17,530 यह इन घुंघराले ब्रेसिज़ के बाहर चबूतरे और उस के बाद अधिक मुद्रित करने के लिए जारी है। 705 00:31:17,530 --> 00:31:20,470 >> तो Foxtrot से अब एक मजाक है, कि, आप शायद अब समझ जाओगे। 706 00:31:20,470 --> 00:31:30,810 707 00:31:30,810 --> 00:31:31,560 यह हमेशा अजीब बात है। 708 00:31:31,560 --> 00:31:34,110 यह दूसरे से टकराए की तरह है एक तरह से, चूना 709 00:31:34,110 --> 00:31:38,370 और फिर तुम्हें पता है तुम नहीं करना चाहिए इस तरह हास्य पर हँस होना। 710 00:31:38,370 --> 00:31:41,160 लेकिन कुछ उपलब्धि नहीं है यहाँ, शैक्षणिक दृष्टि से भी है। 711 00:31:41,160 --> 00:31:43,577 तो यह है कि मैं कर रहा हूँ कि पता चला है वाक्य रचना का एक टुकड़ा याद आ रही है, 712 00:31:43,577 --> 00:31:45,410 या Foxtrot के एक लापता यहां वाक्य रचना का टुकड़ा। 713 00:31:45,410 --> 00:31:48,076 क्या हमें मिला है, कि याद आ रही है हर दूसरे उदाहरण में, इस प्रकार अब तक? 714 00:31:48,076 --> 00:31:51,599 715 00:31:51,599 --> 00:31:53,390 लौटें, तो, वहाँ है कि, कुछ और है 716 00:31:53,390 --> 00:31:54,440 हम लंबे समय से पहले करने के लिए वापस आ जाएगा कि। 717 00:31:54,440 --> 00:31:55,398 क्या याद आ रही है, हालांकि? 718 00:31:55,398 --> 00:31:55,908 हाँ। 719 00:31:55,908 --> 00:31:58,150 >> दर्शकों के सदस्य: [अश्राव्य] के प्रारंभ। 720 00:31:58,150 --> 00:31:58,470 >> डेविड जे मालन: ठीक है। 721 00:31:58,470 --> 00:31:58,980 इसलिए। 722 00:31:58,980 --> 00:32:03,210 तो वास्तव में, यह अच्छी तरह से है-, और गिनती प्रारंभ किया है 723 00:32:03,210 --> 00:32:05,470 ऊपर, या यों कहें, ऊपर की घोषणा की। 724 00:32:05,470 --> 00:32:06,960 तो यह इसे करने का एक और तरीका है। 725 00:32:06,960 --> 00:32:08,685 लेकिन नहीं एक लाइन में हालांकि यह वैध है। 726 00:32:08,685 --> 00:32:09,310 कैसे यहाँ के बारे में? 727 00:32:09,310 --> 00:32:10,196 >> दर्शकों के सदस्य: यह सर्पाकार है? 728 00:32:10,196 --> 00:32:10,640 >> डेविड जे मालन: हाँ। 729 00:32:10,640 --> 00:32:12,080 तो सर्पाकार याद कर रहे हैं। 730 00:32:12,080 --> 00:32:15,495 लेकिन इस कोड, मैं अपने क्रेडिट करने के लिए, मेरा मतलब है, वास्तव में, वाक्य रचना से वैध है। 731 00:32:15,495 --> 00:32:17,610 यह पता चला है, तुम नहीं करते घुंघराले ब्रेसिज़ जरूरत 732 00:32:17,610 --> 00:32:21,691 आप केवल कोड की एक पंक्ति है कि अगर आप लूप के अंदर निष्पादित करने के लिए चाहते हैं। 733 00:32:21,691 --> 00:32:24,190 अब हम हमेशा कक्षा में और में हमारे वितरण कोड के सभी, 734 00:32:24,190 --> 00:32:26,730 घुंघराले ब्रेसिज़ शामिल वैसे भी, सिर्फ स्पष्टता की खातिर। 735 00:32:26,730 --> 00:32:29,010 लेकिन पाठ्यपुस्तकों में एहसास है कि और ऑनलाइन उदाहरण हैं, 736 00:32:29,010 --> 00:32:31,300 तुम बहुत अच्छी तरह घुंघराले देख सकते हैं कुछ समय लापता ब्रेसेस। 737 00:32:31,300 --> 00:32:34,850 और कहा कि ठीक है, क्या करता है, तो आप इंडेंट और इरादा है 738 00:32:34,850 --> 00:32:38,650 कोड की सिर्फ एक ही लाइन है, और नहीं संभवतः कोड की कई लाइनों,। 739 00:32:38,650 --> 00:32:39,150 ठीक है। 740 00:32:39,150 --> 00:32:44,500 के मुद्दे पर तो संबंधित अस्पष्टता, अतिप्रवाह का एक मुद्दा है 741 00:32:44,500 --> 00:32:48,560 इस अर्थ में कि, इसी तरह, पूर्णांकों उन्हें सीमा की क्या ज़रूरत है 742 00:32:48,560 --> 00:32:49,970 बस चल बिन्दु मूल्यों की तरह? 743 00:32:49,970 --> 00:32:53,120 दुनिया एक चल बिन्दु में मूल्यों, हम केवल इतनी सटीक हो सकता है 744 00:32:53,120 --> 00:32:55,710 कभी कभी, जिसके बाद बुरी बातें, हो सकता है 745 00:32:55,710 --> 00:32:57,760 और हमारे कार्यक्रमों छोटी गाड़ी और त्रुटि हो सकती है। 746 00:32:57,760 --> 00:33:00,050 अब भी पूर्णांकों के साथ आप समस्याओं में चला सकते हैं। 747 00:33:00,050 --> 00:33:03,820 अब एक पूर्णांक एक भी नहीं है दशमलव बिंदु या के बाद यह संख्या। 748 00:33:03,820 --> 00:33:07,130 यह आम तौर पर सिर्फ एक प्राकृतिक संख्या है। 749 00:33:07,130 --> 00:33:09,430 तो एक पूर्णांक के साथ क्या गलत जा सकता है? 750 00:33:09,430 --> 00:33:12,210 मैं एक पूर्णांक के लिए उपयोग कर रहा हूँ , क्या गलत जा सकता गिनती? 751 00:33:12,210 --> 00:33:13,230 एक बहुत सरल लगता है। 752 00:33:13,230 --> 00:33:13,873 हाँ। 753 00:33:13,873 --> 00:33:16,240 >> दर्शकों के सदस्य: यदि नंबर हो जाता है [सुनाई] 754 00:33:16,240 --> 00:33:17,073 >> डेविड जे मालन: हाँ। 755 00:33:17,073 --> 00:33:20,820 आप इतने उच्च गिनती आपको लगता है कि क्या होगा अगर कि वास्तव में बड़ी संख्या में व्यक्त नहीं कर सकते। 756 00:33:20,820 --> 00:33:21,320 है ना? 757 00:33:21,320 --> 00:33:23,910 कुछ बिंदु पर, आप जा रहे हैं सीमाओं को पार करने के लिए 758 00:33:23,910 --> 00:33:27,077 एक 32-बिट मूल्य या 64-बिट मूल्य की। 759 00:33:27,077 --> 00:33:29,410 अब फिर से, मैं कैसे यकीन नहीं है एक 64-बिट मूल्य उच्चारण, 760 00:33:29,410 --> 00:33:32,230 लेकिन मैं एक 32-बिट पूर्णांक के साथ पता है, यह हो सकता है सबसे बड़ा मूल्य, 761 00:33:32,230 --> 00:33:35,490 यह केवल सकारात्मक है, तो मूल्यों, लगभग 4 अरब डॉलर है। 762 00:33:35,490 --> 00:33:39,000 मैं 5 अरब डॉलर तक की गिनती करने की कोशिश करते हैं तो, कुछ होने जा रहा है। 763 00:33:39,000 --> 00:33:41,050 लेकिन वास्तव में, क्या हो सकता है, देखते हैं। 764 00:33:41,050 --> 00:33:44,570 पूर्णांक की दुनिया में अतिप्रवाह, जहां आप एक अर्थ में, 765 00:33:44,570 --> 00:33:48,270 एक की क्षमता अतिप्रवाह पूर्णांक, क्या हो सकता है? 766 00:33:48,270 --> 00:33:51,190 >> तो यहाँ एक द्विआधारी संख्या है, यह 0 के लिए एक विपर्ययण है। 767 00:33:51,190 --> 00:33:54,630 यह सब एक है, और प्लेसहोल्डर्स है वहाँ, 2 की शक्तियाँ हैं, 768 00:33:54,630 --> 00:33:55,980 इसलिए इस बाइनरी है। 769 00:33:55,980 --> 00:33:59,416 इसलिए इन स्क्रीन पर 8, 1 टुकड़े कर रहे हैं। 770 00:33:59,416 --> 00:34:01,290 और यदि आपको याद है या आप जल्दी गणित है, 771 00:34:01,290 --> 00:34:06,074 क्या मूल्य का प्रतिनिधित्व किया जा रहा है यहां इन आठ 1 बिट्स के साथ? 772 00:34:06,074 --> 00:34:06,950 255। 773 00:34:06,950 --> 00:34:09,260 और तुम काफी यकीन नहीं थे, भले ही गणित के, आप इसे बाहर कर सकता है। 774 00:34:09,260 --> 00:34:10,550 या आप बस की तरह कर सकता है इसकी एक वजह यह माध्यम से, 775 00:34:10,550 --> 00:34:12,633 मैं कर रहा हूँ, तो एक मिनट रुको एक 8 बिट मूल्य का प्रतिनिधित्व, 776 00:34:12,633 --> 00:34:17,750 और मैं 256 संभव मूल्यों मिल गया है, लेकिन जो सबसे पहले, 0 है 777 00:34:17,750 --> 00:34:19,909 मैं सिर्फ इतना पता है कि सबसे बड़ी, 255 होने जा रहा है 778 00:34:19,909 --> 00:34:21,510 और कहा कि यह एक हो सकता है क्या। 779 00:34:21,510 --> 00:34:26,060 >> इसलिए मैं इस मूल्य को 1 को जोड़ने का प्रयास लगता है। 780 00:34:26,060 --> 00:34:28,750 आप कक्षा में क्या होगा स्कूल एक 1 उनका कहना है, और यह जब 781 00:34:28,750 --> 00:34:31,139 वास्तव में, क्योंकि फिट नहीं है आप एक ले जाने के लिए? 782 00:34:31,139 --> 00:34:34,380 जा रहा यह संख्या क्या है आप एक जोड़ने जब बनने के लिए? 783 00:34:34,380 --> 00:34:37,030 यह 0 बनने जा रही है। 784 00:34:37,030 --> 00:34:37,530 है ना? 785 00:34:37,530 --> 00:34:41,139 आप अधिक bits-- था और क्योंकि अगर मैं हूँ एक तरह से, करने की कोशिश here-- इसे बाहर टाइप 786 00:34:41,139 --> 00:34:44,710 हम और अधिक बिट्स था, तो क्या हम 1 जोड़ रहा है यहाँ क्या कर सकता है, 787 00:34:44,710 --> 00:34:47,370 और फिर हम इस मिलता था। 788 00:34:47,370 --> 00:34:48,739 वूप्स। 789 00:34:48,739 --> 00:34:52,250 हम यहाँ पर एक एक बिट के लिए सभी तरह होगा। 790 00:34:52,250 --> 00:34:55,530 >> लेकिन यह एक सीमित है, तो मूल्य, यह केवल 8 बिट है, 791 00:34:55,530 --> 00:34:57,480 और कहा कि पूर्व निर्धारित है कंप्यूटर से, 792 00:34:57,480 --> 00:34:59,370 1 कि प्रभावी ढंग से नहीं होता है। 793 00:34:59,370 --> 00:35:00,980 यह बस की तरह एक पहाड़ से गिर जाता है। 794 00:35:00,980 --> 00:35:05,480 और इसलिए तुम 1-255 जोड़ने के लिए, क्या आप जाहिरा तौर पर मूल्य मिलता है? 795 00:35:05,480 --> 00:35:06,180 0। 796 00:35:06,180 --> 00:35:09,700 और गलती संख्या इतनी, और शायद, अनजाने में, 797 00:35:09,700 --> 00:35:12,040 इस तरह चारों ओर लपेटकर खत्म होता है। 798 00:35:12,040 --> 00:35:14,079 तो क्या इस बात का निहितार्थ यह है कि हो सकता है? 799 00:35:14,079 --> 00:35:15,620 खैर, कुछ अलग बातें कर रहे हैं। 800 00:35:15,620 --> 00:35:18,751 एक तो, यह देख अंत है 0 की तरह, अनजाने में, 801 00:35:18,751 --> 00:35:20,750 लेकिन आप की तरह देख सकते हैं यहां तक ​​कि असली दुनिया में, 802 00:35:20,750 --> 00:35:23,416 बेहतर या बदतर के लिए, एक सीमा के इस विचार की अभिव्यक्ति। 803 00:35:23,416 --> 00:35:26,630 उदाहरण के लिए, आप में से किसी के लिए कौन कभी लेगो स्टार वार्स निभाई है, 804 00:35:26,630 --> 00:35:28,880 किसी को भी पता होता है सिक्कों की अधिकतम संख्या 805 00:35:28,880 --> 00:35:32,032 आप लेगो स्टार वार्स में जमा कर सकते हैं? 806 00:35:32,032 --> 00:35:35,640 के आधार पर एक अनुमान ले लो आज के अग्रणी सवाल। 807 00:35:35,640 --> 00:35:39,140 यह 256 या 255 से भी बड़ा है। 808 00:35:39,140 --> 00:35:40,330 यह 4 अरब डॉलर है। 809 00:35:40,330 --> 00:35:42,080 तो यह पता चला है, और कुछ people-- वहाँ 810 00:35:42,080 --> 00:35:46,080 कुछ googling की पुष्टि की आखिरी night-- 4 अरब सोने के सिक्के मिल गया है, 811 00:35:46,080 --> 00:35:47,730 या लेगो स्टार वार्स में whatnot। 812 00:35:47,730 --> 00:35:49,860 जाहिरा तौर पर, हालांकि है एक तरह से खेल चाल के लिए, 813 00:35:49,860 --> 00:35:53,222 एक बग या सुविधा नहीं है, कि आप की सुविधा देता है अभी बहुत सारे और बिन्दु के बहुत जमा। 814 00:35:53,222 --> 00:35:54,930 लेकिन सबसे बड़ा संभव मूल्य के अनुसार 815 00:35:54,930 --> 00:35:58,360 मैं किसी का इस स्क्रीन शॉट के लिए ऑनलाइन पाया, वास्तव में 4 अरब डॉलर है। 816 00:35:58,360 --> 00:35:59,240 >> अब ऐसा क्यों है? 817 00:35:59,240 --> 00:36:03,040 यह ठीक 4 अरब है शायद किसी ने फैसला किया है, क्योंकि 818 00:36:03,040 --> 00:36:05,500 इस खेल कौन लिख रहा था, वे 4 अरब कर सकता है, 819 00:36:05,500 --> 00:36:07,340 कुछ, कुछ, कुछ, मूल्य की तरह मैं लगाई 820 00:36:07,340 --> 00:36:10,256 कैलकुलेटर के साथ पहले, लेकिन यह मनुष्य के लिए सिर्फ एक छोटे से क्लीनर है 821 00:36:10,256 --> 00:36:12,610 अधिकतम संख्या में कहने के लिए coins-- या स्टड की, 822 00:36:12,610 --> 00:36:14,860 वे आपको लगता है कि them-- फोन के रूप में जमा कर सकते हैं 4 अरब है। 823 00:36:14,860 --> 00:36:16,290 और हां, यह क्यों होता है? 824 00:36:16,290 --> 00:36:20,310 कैसे लेगो खेल है काउंटर को लागू 825 00:36:20,310 --> 00:36:23,420 इस बात का ट्रैक रख रहा है तुम्हारे पास सिक्कों की संख्या? 826 00:36:23,420 --> 00:36:24,266 वे क्या प्रयोग कर रहे हैं? 827 00:36:24,266 --> 00:36:26,390 दर्शकों के सदस्य: यह बंद हो जाता है 4 अरब के बाद गिनती। 828 00:36:26,390 --> 00:36:27,720 डेविड जे मालन: यह बंद हो जाता है 4 अरब के बाद गिनती, 829 00:36:27,720 --> 00:36:29,525 जो आप कर सकते हैं इसका मतलब एक प्रोग्रामर के रूप में, अनुमान, 830 00:36:29,525 --> 00:36:31,960 वे शायद रहे हैं कि एक 32 बिट पूर्णांक के प्रयोग से। 831 00:36:31,960 --> 00:36:35,380 प्रोग्रामर की तरह सचमुच बस टाइप, पूर्णांक, अपने या अपने कोड में, 832 00:36:35,380 --> 00:36:39,620 और उस चर के प्रकार है कि वे किसी के कोड स्टोर करने के लिए प्रयोग कर रहे हैं। 833 00:36:39,620 --> 00:36:42,230 तो अन्य अभिव्यक्तियों वहाँ सीमा के इन प्रकार के। 834 00:36:42,230 --> 00:36:45,063 >> इसलिए मैं इस game-- नहीं खेला है और मैं इतिहास पर पढ़ रहा था 835 00:36:45,063 --> 00:36:48,470 much-- रूप में, लेकिन में इस बात की पुष्टि करने के लिए सभ्यता, जहां के मूल संस्करण 836 00:36:48,470 --> 00:36:53,240 आप जाहिरा तौर पर प्रत्येक के साथ बातचीत अन्य और युद्ध छेड़ने या शांति हो सकती है, 837 00:36:53,240 --> 00:36:56,590 गांधी में से एक होना चाहिए था सबसे शांतिपूर्ण वर्ण, के रूप में मैं 838 00:36:56,590 --> 00:36:59,280 पहली बार में, यह समझना सभ्यता का संस्करण। 839 00:36:59,280 --> 00:37:03,250 और वास्तव में, 1 से 10 के पैमाने पर, उसकी आक्रामकता सिर्फ एक एक था। 840 00:37:03,250 --> 00:37:05,620 तो कभी इतना हल्का आक्रामक, जाहिरा तौर पर। 841 00:37:05,620 --> 00:37:11,590 >> लेकिन कुछ बिंदु पर, आप जाहिरा तौर पर कर सकते हैं अपने भूगोल में लोकतंत्र स्थापित करें। 842 00:37:11,590 --> 00:37:14,900 और अगर आप लोकतंत्र स्थापित करते हैं तो खेल के अपने संस्करण में, 843 00:37:14,900 --> 00:37:17,320 फिर अपनी आक्रामकता के स्तर से नीचे चला जाता है। 844 00:37:17,320 --> 00:37:18,460 यह अच्छी बात है। 845 00:37:18,460 --> 00:37:20,890 लोगों को और अधिक शांत कर रहे हैं जाहिर है, उस स्थिति में। 846 00:37:20,890 --> 00:37:23,190 लेकिन जाहिर है, किसी को किया था एक, अगर, हालत नहीं 847 00:37:23,190 --> 00:37:24,780 कोड के मूल संस्करण में। 848 00:37:24,780 --> 00:37:30,650 >> इसलिए गांधी की आक्रामकता के स्तर से चला गया एक सकारात्मक, शून्य से 2, 1 नकारात्मक करने के लिए, 849 00:37:30,650 --> 00:37:33,840 लेकिन खेल नहीं करता ऋणात्मक संख्याओं को समझते हैं। 850 00:37:33,840 --> 00:37:38,680 तो क्या हुआ गांधी की आक्रामकता था स्तर, 1 नकारात्मक करने के लिए, 0, 1 से चला गया 851 00:37:38,680 --> 00:37:40,900 का प्रभाव था जो किया जा रहा करने के लिए चारों ओर लपेटकर 852 00:37:40,900 --> 00:37:44,690 सबसे आक्रामक चरित्र खेल में, 255 का एक मूल्य पर, 853 00:37:44,690 --> 00:37:46,630 1 से 10 के पैमाने पर। 854 00:37:46,630 --> 00:37:49,887 और तब से, वहाँ गया है इस खेल के अधिक अवतारों, 855 00:37:49,887 --> 00:37:51,720 और वे के रूप में इसे रखा है ईस्टर अंडे का एक तरह से, 856 00:37:51,720 --> 00:37:53,870 गांधी जाहिरा तौर पर है कि तो बहुत आक्रामक। 857 00:37:53,870 --> 00:37:56,740 लेकिन यह एक का परिणाम था बहुत ही सरल प्रोग्रामिंग त्रुटि 858 00:37:56,740 --> 00:37:58,630 खेल की है कि बहुत जल्दी संस्करण में। 859 00:37:58,630 --> 00:38:02,860 >> अब अधिक परेशान है, और अधिक हाल ही में, बोइंग 787 860 00:38:02,860 --> 00:38:05,720 एक होने के रूप में दर्ज किया गया था डिवाइस का बग, तरह नहीं 861 00:38:05,720 --> 00:38:07,340 आप विशेष रूप से एक बग है चाहता हूँ। 862 00:38:07,340 --> 00:38:10,130 और लक्षण, कि मैं पढ़ा हूँ यहाँ, एक लेख ऑनलाइन से, 863 00:38:10,130 --> 00:38:13,840 यह एक मॉडल 787 हवाई जहाज था कि लगातार संचालित किया गया है 864 00:38:13,840 --> 00:38:18,030 248 दिनों के लिए सभी खो सकते हैं वर्तमान बारी, एसी, 865 00:38:18,030 --> 00:38:20,850 के कारण बिजली, जनरेटर नियंत्रण इकाई, 866 00:38:20,850 --> 00:38:23,330 GCUs, एक साथ असफल सुरक्षित मोड में जा रहा। 867 00:38:23,330 --> 00:38:26,790 तो यह जारी एक चेतावनी थी इस समस्या की खोज की गई थी। 868 00:38:26,790 --> 00:38:28,750 इस हालत के कारण होता है एक सॉफ्टवेयर काउंटर से, 869 00:38:28,750 --> 00:38:32,230 , GCUs करने के लिए आंतरिक इसलिए एक पूर्णांक या एक चर, 870 00:38:32,230 --> 00:38:36,850 248 के बाद कि इच्छा अतिप्रवाह निरंतर बिजली का दिन। 871 00:38:36,850 --> 00:38:40,350 बोइंग की प्रक्रिया में है एक GCU सॉफ्टवेयर अपग्रेड विकासशील कि 872 00:38:40,350 --> 00:38:42,350 असुरक्षित स्थिति में सुधार होगा। 873 00:38:42,350 --> 00:38:44,226 >> मिसाइल इतना पसंद परिदृश्य, जिसमें 874 00:38:44,226 --> 00:38:46,850 वे चर किसी तरह का था कि, गिनती, और भरोसा था 875 00:38:46,850 --> 00:38:50,720 और गिनती, लेकिन धीरे-धीरे बह निकला इसकी क्षमता की सीमाओं, 876 00:38:50,720 --> 00:38:54,890 इसी तरह लानत हवाई जहाज किया एक चर अतिप्रवाह है 877 00:38:54,890 --> 00:38:56,410 चलाने का पर्याप्त समय के बाद। 878 00:38:56,410 --> 00:38:59,240 और तो जीभ में गाल रास्ता इस समस्या को हल काम करने का 879 00:38:59,240 --> 00:39:04,400 वास्तव में, रिबूट अपने विमान हर के लिए है स्मृति नष्ट हो जाता है, ताकि 247 दिनों, 880 00:39:04,400 --> 00:39:06,100 और चर 0 करने के लिए वापस चला जाता है। 881 00:39:06,100 --> 00:39:09,410 लेकिन एहसास, यह एक बहुत है सॉफ्टवेयर की बड़ी अवतार, 882 00:39:09,410 --> 00:39:14,070 लेकिन हम एप्पल के बारे में सुना है, खासकर के रूप में कार में जा रहे ऑपरेटिंग सिस्टम, 883 00:39:14,070 --> 00:39:18,030 और गूगल से कारों स्वयं ड्राइविंग, और सॉफ्टवेयर के अवतारों में से किसी भी नंबर 884 00:39:18,030 --> 00:39:21,000 हमारे दैनिक जीवन, टीवी में और देखता है, और अधिक, 885 00:39:21,000 --> 00:39:24,950 सॉफ्टवेयर से घिरे थे एहसास, जिनमें से सब हमें मनुष्य ने लिखा है। 886 00:39:24,950 --> 00:39:28,150 >> और हम सब को जल्द ही पता चल जाएगा, के रूप में यह बहुत आसान है और बहुत खास है 887 00:39:28,150 --> 00:39:30,250 सॉफ्टवेयर जब लेखन गलतियों को बनाने के लिए। 888 00:39:30,250 --> 00:39:32,745 और आप उन्हें पकड़ने नहीं करते हैं, कुछ बुरी बातें हो सकता है। 889 00:39:32,745 --> 00:39:35,400 अब कभी कभी, कुछ अजीब बातें हो सकता है, 890 00:39:35,400 --> 00:39:38,280 या कम से कम कभी कभी हम कुछ खराबी की उम्मीद करना जानते हैं। 891 00:39:38,280 --> 00:39:41,550 तो 0 ग्रेड से, 0 से विभाजित स्कूल, आम तौर पर एक बुरी बात है। 892 00:39:41,550 --> 00:39:43,050 यह अपरिभाषित है। 893 00:39:43,050 --> 00:39:46,440 और यह out-- बदल जाता है और देखो अगर चलो इस चुन सकते हैं अपने mic कि एप्पल up-- 894 00:39:46,440 --> 00:39:47,790 हाल ही में इस के साथ कुछ मज़ा था। 895 00:39:47,790 --> 00:39:48,850 तो मैं यहाँ एक iPhone है। 896 00:39:48,850 --> 00:39:54,160 मैं सिरी से बात करने और उसे पूछने के लिए जा रहा हूँ मुझे 0 से विभाजित 0 का जवाब देने के लिए। 897 00:39:54,160 --> 00:39:55,850 0 0 से क्या बांटा गया है? 898 00:39:55,850 --> 00:39:59,350 899 00:39:59,350 --> 00:40:02,230 >> सिरी: आप 0 है कि कल्पना कीजिए कुकीज़, और आप उन्हें समान रूप से विभाजित 900 00:40:02,230 --> 00:40:03,540 0 दोस्तों के बीच। 901 00:40:03,540 --> 00:40:05,810 प्रत्येक व्यक्ति कितने कुकीज़ मिलता है? 902 00:40:05,810 --> 00:40:06,350 देखें? 903 00:40:06,350 --> 00:40:07,660 यह मतलब नहीं है। 904 00:40:07,660 --> 00:40:10,540 और कुकी दानव दुख की बात है कोई कुकीज़ देखते हैं कि। 905 00:40:10,540 --> 00:40:13,987 और आपको लगता है कि दु: खी हैं आपके कोई मित्र नहीं हैं। 906 00:40:13,987 --> 00:40:15,570 डेविड जे मालन: यह अप्रिय की तरह है। 907 00:40:15,570 --> 00:40:17,550 तो यह सिर्फ वहाँ क्या कहा गया था है। 908 00:40:17,550 --> 00:40:21,380 यह इसे परिभाषित नहीं कर रहा है, अनिश्चित है, और वास्तव में, कई प्रोग्रामिंग भाषाओं 909 00:40:21,380 --> 00:40:24,950 या, वास्तव में, थे होगा जब आप एक प्रोग्राम में, का पता लगाने, 910 00:40:24,950 --> 00:40:27,050 0 0 विभाजित करने के लिए प्रयास करें। 911 00:40:27,050 --> 00:40:29,830 हालांकि इस से ज्यादा मजेदार है, कि जाहिरा तौर पर, कुकी दानव 912 00:40:29,830 --> 00:40:31,270 इन दिनों ट्विटर पर है। 913 00:40:31,270 --> 00:40:37,610 और वह इस के साथ, यह करने के लिए कहा, जो बिल्कुल आराध्य है। 914 00:40:37,610 --> 00:40:40,110 लेकिन हम पर एक त्वरित देखो ले चलो अन्य निर्माणों की एक जोड़ी, 915 00:40:40,110 --> 00:40:43,459 और फिर इस के कुछ रखा है कोड अच्छे तरीके में उपयोग करने के लिए। 916 00:40:43,459 --> 00:40:45,250 तो यह इसके अलावा, पता चला है छोरों के लिए नहीं है, 917 00:40:45,250 --> 00:40:49,174 कुछ है कि थोड़ी देर के पाश बुलाया अलग दिखता है और कार्यान्वित किया जाता है 918 00:40:49,174 --> 00:40:51,590 एक छोटे differently-- और हम अंततः examples-- देखेंगे 919 00:40:51,590 --> 00:40:53,500 लेकिन कुछ समझ में, यह है क्योंकि यह आसान है 920 00:40:53,500 --> 00:40:56,670 आप प्रारंभ करने के लिए अनुमति नहीं है और पाश की सीमा के भीतर अद्यतन करें। 921 00:40:56,670 --> 00:40:57,794 आप अभी भी इसे लागू कर सकते हैं। 922 00:40:57,794 --> 00:41:01,219 तो आप सही ही बातें कर सकते हैं थोड़ी देर के पाश के साथ, पाश के लिए एक साथ के रूप में, 923 00:41:01,219 --> 00:41:03,260 लेकिन अपने वाक्य रचना, ultimately-- हम अंत में हूँ के रूप में 924 00:41:03,260 --> 00:41:04,551 see-- अलग होने जा रहा है। 925 00:41:04,551 --> 00:41:07,450 एक करते हैं, जबकि पाश भी नहीं है जो वास्तव में एक छोटे से अलग है 926 00:41:07,450 --> 00:41:09,640 कि एक जबकि पाश में और हमेशा एक जबकि पाश 927 00:41:09,640 --> 00:41:13,005 यदि, पहले उनकी हालत की जांच आप नीचे करने के लिए इस बात को शीर्ष पढ़ 928 00:41:13,005 --> 00:41:16,440 यह करने के लिए जा रहा है जैसे यह एक तरह से लग रहा है यह पिछले क्योंकि यह हालत की जांच 929 00:41:16,440 --> 00:41:17,910 कोड की सही मायने में अंतिम पंक्ति। 930 00:41:17,910 --> 00:41:20,580 और वास्तव में, कि उपयोगी होने जा रहा है हम लिखने कि कुछ कार्यक्रमों में, 931 00:41:20,580 --> 00:41:23,746 आप बस आँख बंद करके कुछ करना चाहते हैं, तो और अंत में हालत की जाँच करें। 932 00:41:23,746 --> 00:41:25,205 यह जरूरी है कि एक बुरी बात नहीं है। 933 00:41:25,205 --> 00:41:27,912 हम चर चाहते हैं, तो हम क्या कर सकते हैं यह अलग तरीके के एक जोड़े में। 934 00:41:27,912 --> 00:41:30,290 और हम Foxtrot में देखा था कार्टून, इसे करने का एक ही रास्ता है, 935 00:41:30,290 --> 00:41:33,400 जहां आप अपने चर घोषित, पूर्णांक काउंटर अर्धविराम की तरह, 936 00:41:33,400 --> 00:41:36,570 और तब शायद अगले later-- लाइन, शायद 10 लाइनों later-- 937 00:41:36,570 --> 00:41:37,800 आप वास्तव में इसे प्रारंभ। 938 00:41:37,800 --> 00:41:42,230 कोड की तो इन दो लाइनों int प्रकार की एक चर घोषित 939 00:41:42,230 --> 00:41:44,930 यह देता है तो और, काउंटर इसे कहते हैं मुझे पर्याप्त बिट्स एक int धारण करने के लिए। 940 00:41:44,930 --> 00:41:48,230 और फिर अंत में कहते हैं, कि चर में मान 0। 941 00:41:48,230 --> 00:41:51,250 यह एक में 0 और 1 के व्यवस्थित करता है पैटर्न, हम पिछले हफ्ते से पता है कि, 942 00:41:51,250 --> 00:41:53,260 हम 0 के रूप में जानते नंबर प्रतिनिधित्व करता है। 943 00:41:53,260 --> 00:41:56,920 या सच कहूँ, तुम इतना कर सकते हैं अधिक संक्षेप में, बस यह पसंद है। 944 00:41:56,920 --> 00:41:59,390 >> अब हम भी है कार्य कॉल करने की क्षमता। 945 00:41:59,390 --> 00:42:03,070 और वास्तव में, यहाँ एक 2 रेखा है कार्यक्रम, या उसके एक अंश, 946 00:42:03,070 --> 00:42:06,157 कि वास्तव में करने के लिए हमें की अनुमति देता है कुछ कोड लिखने कि 947 00:42:06,157 --> 00:42:08,990 user-- से एक स्ट्रिंग हो जाता है ज्यादा हमारे स्वयंसेवक एक पल की तरह ago-- 948 00:42:08,990 --> 00:42:11,320 परिणाम में भंडारण नाम एक चर बुलाया, 949 00:42:11,320 --> 00:42:15,470 और then-- ज्यादा हमारे स्वयंसेवक के साथ की तरह उन मूल्यों को बाहर printf-- प्रिंटों के साथ 950 00:42:15,470 --> 00:42:19,180 दो तर्क में गुजर रहा है, स्ट्रिंग, चर द्वारा पीछा 951 00:42:19,180 --> 00:42:20,781 , नाम, खुद को बुलाया। 952 00:42:20,781 --> 00:42:23,155 तो चलो पहले, एक नजर डालते हैं हम वहाँ वापस मारियो करने के लिए आ 953 00:42:23,155 --> 00:42:26,010 इस बात का अब, उदाहरण के एक जोड़े पर। 954 00:42:26,010 --> 00:42:30,537 >> मैं आगे और खुले जाने के लिए जा रहा हूँ ऊपर, के समारोह-0.c, हम कहते हैं। 955 00:42:30,537 --> 00:42:33,120 और हमेशा की तरह, इस कोड है पाठ्यक्रम की वेबसाइट पर उपलब्ध है, 956 00:42:33,120 --> 00:42:35,660 इसलिए आप पर साथ खेल सकते हैं घर और बाद में इसे देखो। 957 00:42:35,660 --> 00:42:40,400 यह है में लेकिन यहां कार्यक्रम है लाइन 17 से 22 करने के लिए सार,। 958 00:42:40,400 --> 00:42:43,270 मुख्य कार्यक्रम है जहां कार्यक्रम हमेशा शुरू करने जा रहा है। 959 00:42:43,270 --> 00:42:46,980 इस कार्यक्रम में, जाहिर है, जा रहा है , पेट के बाहर अपने नाम मुद्रित करने के लिए। 960 00:42:46,980 --> 00:42:50,320 यह तो GetString फोन करने के लिए जा रहा है बस की तरह हम अपने स्वयंसेवकों के साथ किया था। 961 00:42:50,320 --> 00:42:53,365 और फिर, यह दिलचस्प है, यह PrintName फोन करने के लिए जा रहा है। 962 00:42:53,365 --> 00:42:56,490 यह वहाँ, यह सब समय पता चला है PrintName नामक एक समारोह हो रहा है। 963 00:42:56,490 --> 00:42:57,614 यही कारण है कि किसी का नाम प्रिंट। 964 00:42:57,614 --> 00:43:01,210 हम से printf का उपयोग करने की जरूरत नहीं थी पुराने, PrintName नहीं है। 965 00:43:01,210 --> 00:43:03,500 >> लेकिन यह है कि भ्रामक है PrintName नहीं करता है क्योंकि 966 00:43:03,500 --> 00:43:06,760 सी लोग नहीं था के साथ आए कुछ 40 या 50 साल पहले यह आविष्कार, 967 00:43:06,760 --> 00:43:07,990 मैं इसके बजाय, किया था। 968 00:43:07,990 --> 00:43:10,330 और वास्तव में, मैं स्क्रॉल यदि इसके अलावा, सूचना नीचे 969 00:43:10,330 --> 00:43:14,200 मैं अपने खुद के कैसे लिख सकते हैं सी कार्यों में हम अंत में हूँ 970 00:43:14,200 --> 00:43:16,319 हम कहते रहते क्यों समझा, शून्य, कुछ स्थानों में, 971 00:43:16,319 --> 00:43:18,110 लेकिन आज के लिए, चलो बस नाम देखो। 972 00:43:18,110 --> 00:43:20,905 >> 24 लाइन पर, यदि आप चाहते हैं , अपने खुद के समारोह बनाने 973 00:43:20,905 --> 00:43:22,780 तुम सचमुच लिखने समारोह का नाम। 974 00:43:22,780 --> 00:43:24,340 मैं PrintName चुना है। 975 00:43:24,340 --> 00:43:26,159 कोष्ठकों में, आप तो क्या निर्दिष्ट प्रकार 976 00:43:26,159 --> 00:43:28,450 आदानों, और आप में से कितने इस समारोह में लेना चाहते हैं। 977 00:43:28,450 --> 00:43:31,906 इस मामले में, मुझे ले जाना चाहता हूँ कहा जाता 1 चर, नाम, 978 00:43:31,906 --> 00:43:34,030 और इसके बारे में होने जा रहा है प्रकार, स्ट्रिंग, तो यह जा रहा है 979 00:43:34,030 --> 00:43:35,780 पात्रों में से कुछ अनुक्रम किया जाना है। 980 00:43:35,780 --> 00:43:39,170 और फिर, इस program-- स्क्रैच में बहुत पसंद है, 981 00:43:39,170 --> 00:43:42,590 आप कस्टम पहेली हो सकता है pieces-- इस कस्टम व्यवहार किया जा रहा है। 982 00:43:42,590 --> 00:43:46,760 यह printf फोन करने के लिए जा रहा है में गुजर रहा है, नमस्कार, प्लेसहोल्डर, 983 00:43:46,760 --> 00:43:49,110 और फिर इसे प्लग करने के लिए जा रहा है जो कुछ भी उपयोगकर्ता बुलाया। 984 00:43:49,110 --> 00:43:51,450 >> तो इस का एक उदाहरण है क्या एक कंप्यूटर वैज्ञानिक होगा 985 00:43:51,450 --> 00:43:55,090 कॉल अमूर्त या कार्यात्मक अभी जो कर रहे हैं अपघटन, 986 00:43:55,090 --> 00:43:58,110 saying-- यदि है की कल्पना तरीके यदि आप इस उच्च स्तरीय विचार पसंद 987 00:43:58,110 --> 00:44:01,569 जैसे मैं कार्यक्षमता चाहते हैं कि आप पूरी तरह से, किसी का नाम प्रिंट 988 00:44:01,569 --> 00:44:04,360 सचमुच तो printf लिखने के लिए और कर सकते हैं आप चाहते हैं बहस में पारित, 989 00:44:04,360 --> 00:44:07,340 और इस कार्यक्रम के लिए काम करेंगे, यह बुधवार के बाद से किया है। 990 00:44:07,340 --> 00:44:10,510 लेकिन अगर आप दूर सार करने के लिए शुरू कर सकते हैं एक नाम के मुद्रण की धारणा। 991 00:44:10,510 --> 00:44:13,270 आप इसे एक नाम दे सकते हैं, PrintName, और इस तरह 992 00:44:13,270 --> 00:44:15,280 हफ्ते 0 से लेयरिंग के इस विचार है। 993 00:44:15,280 --> 00:44:19,910 >> इसके बाद, मैं और आप जानते हैं की जरूरत नहीं है या PrintName कार्यान्वित किया जाता है कैसे ध्यान रखते हैं। 994 00:44:19,910 --> 00:44:22,470 हाँ यह है कि यह हो सकता है, printf का उपयोग करता है जिन का उपयोग करता है क्या जानता है, है ना? 995 00:44:22,470 --> 00:44:23,410 कौन परवाह करता है? 996 00:44:23,410 --> 00:44:26,034 अब मैं यहाँ बात कर रहा हूँ, बजाय नीचे यहाँ की। 997 00:44:26,034 --> 00:44:28,700 और वास्तव में, हमारे कार्यक्रमों मिल के रूप में अधिक आधुनिक और परिष्कृत, 998 00:44:28,700 --> 00:44:32,550 हम के लिए दी लेने रखने के लिए जा रहे हैं निचले स्तर पहेली टुकड़े मौजूद है। 999 00:44:32,550 --> 00:44:34,780 हम उन्हें लिखा था क्योंकि या किसी और इसलिए किया था, 1000 00:44:34,780 --> 00:44:36,910 हम तो उनमें से शीर्ष पर निर्माण कर सकते हैं। 1001 00:44:36,910 --> 00:44:39,430 चलो इस पर एक नज़र रखना संस्करण है, एक समारोह। 1002 00:44:39,430 --> 00:44:41,780 >> तो यह एक छोटे से अधिक है उन्नत है, लेकिन यह पता चला है 1003 00:44:41,780 --> 00:44:44,570 CS50 के पुस्तकालय में है कि, केवल एक GetInt समारोह नहीं है। 1004 00:44:44,570 --> 00:44:47,720 हम करने के लिए, साल पहले, मुझे नहीं लगता था एक GetPositiveInt समारोह को लागू। 1005 00:44:47,720 --> 00:44:50,970 और वह एक छोटे से परेशान है, क्योंकि अगर तुम लोगों को एक कार्यक्रम जिसमें लिख रहे हैं 1006 00:44:50,970 --> 00:44:53,325 आप एक सकारात्मक प्राप्त करना चाहते हैं उपयोगकर्ता से पूर्णांक, 1007 00:44:53,325 --> 00:44:55,010 आप बिल्कुल GetInt उपयोग कर सकते हैं। 1008 00:44:55,010 --> 00:44:57,840 और आप पूरी तरह से जांच कर सकते हैं हालत और शायद एक पाश 1009 00:44:57,840 --> 00:45:00,320 कि पूर्णांक अधिक है और 0 से उपयोगकर्ता पर चिल्लाना 1010 00:45:00,320 --> 00:45:02,699 वह या वह देना नहीं है आप एक सकारात्मक संख्या। 1011 00:45:02,699 --> 00:45:04,740 लेकिन हम इस का निर्माण करते हैं इमारत, एक अपने आप को ब्लॉक, 1012 00:45:04,740 --> 00:45:06,555 कस्टम स्क्रैच टुकड़ा, अगर तुम जाएगा। 1013 00:45:06,555 --> 00:45:08,680 मैं एक कार्यक्रम के लिए जा रहा हूँ यहाँ है कि अंत में, मैं 1014 00:45:08,680 --> 00:45:11,780 फोन करने के लिए सक्षम होना चाहता हूँ GetPositiveInt, और मैं बनना चाहता हूँ 1015 00:45:11,780 --> 00:45:14,200 कि पूर्णांक है जो कुछ भी बाहर मुद्रित करने में सक्षम। 1016 00:45:14,200 --> 00:45:16,240 लेकिन यह अब दूर abstracted है। 1017 00:45:16,240 --> 00:45:19,050 यह सिर्फ एक उच्च स्तर को देखते हुए किया गया है यह क्या करता है कि कहते हैं, नाम, 1018 00:45:19,050 --> 00:45:21,780 क्योंकि यह बहुत बढ़िया है, जो पढ़ने के लिए अब बहुत ही सहज। 1019 00:45:21,780 --> 00:45:24,710 मुझे परवाह करते हैं और जो नीचे है डाकू, मुझे नीचे स्क्रॉल। 1020 00:45:24,710 --> 00:45:27,140 और यह एक छोटे से डराना है पहली बार में, विशेष रूप से 1021 00:45:27,140 --> 00:45:29,470 यह आपका पहला कार्यक्रम है, लेकिन हम एक नजर डालते हैं। 1022 00:45:29,470 --> 00:45:32,860 >> मैं अब और नहीं, शून्य, कह रहा हूँ यह कार्य भी निकलता है, क्योंकि 1023 00:45:32,860 --> 00:45:34,777 ज्यादा GetString की तरह कर सकते हैं मेरे लिए एक मूल्य वापसी। 1024 00:45:34,777 --> 00:45:36,610 वे बस नहीं है स्क्रीन को मुद्रित करने के लिए, 1025 00:45:36,610 --> 00:45:38,410 वे वास्तव में हाथ कर सकते हैं मुझे वापस कुछ। 1026 00:45:38,410 --> 00:45:41,535 और PrintName जबकि पहले, मैं कुछ भी वापस की जरूरत नहीं थी। 1027 00:45:41,535 --> 00:45:44,160 मैं के पक्ष प्रभाव की जरूरत कुछ, स्क्रीन पर दिखा 1028 00:45:44,160 --> 00:45:46,570 लेकिन मैं एक इंसान की जरूरत नहीं थी मुझे कुछ वापस सौंपने के लिए। 1029 00:45:46,570 --> 00:45:48,840 इधर, GetPositiveInt साथ GetInt के साथ की तरह, 1030 00:45:48,840 --> 00:45:50,640 मैं कुछ वापस सौंप दिया जाना चाहते हैं। 1031 00:45:50,640 --> 00:45:53,220 इसलिए मुझे लगता है, शून्य नहीं कह रहा हूँ रेखा 23, लेकिन पूर्णांक पर, 1032 00:45:53,220 --> 00:45:55,570 जो कहते हैं, इस समारोह मैं लिख रहा हूँ कि, 1033 00:45:55,570 --> 00:45:58,860 GetPositiveInt करने जा रहा है बुलाया एक पूर्णांक, नहीं मुझे कुछ नहीं हाथ वापस, 1034 00:45:58,860 --> 00:45:59,890 शून्य नहीं। 1035 00:45:59,890 --> 00:46:03,280 >> इस बीच, यह कोई ले जा रहा है आदानों, तो मैं इसे एक तरह से उलट दिया है। 1036 00:46:03,280 --> 00:46:08,280 मैं GetPositiveInt किसी भी नहीं दे रहा हूँ इनपुट, मैं यह मेरे अपने उत्पादन देना चाहता हूँ। 1037 00:46:08,280 --> 00:46:09,800 और फिर अब क्या होता है? 1038 00:46:09,800 --> 00:46:11,640 तो यहाँ मैं एक चर घोषणा कर सकते हैं कि कैसे है। 1039 00:46:11,640 --> 00:46:15,090 मैं, लूप के बाहर इसे किया है हम अंत देखेंगे कारणों के लिए, 1040 00:46:15,090 --> 00:46:17,700 लेकिन यह सिर्फ देता है मुझे 32 बिट कहा जाता है, एन, 1041 00:46:17,700 --> 00:46:20,952 और मैं पूर्व निर्धारित करने के लिए है उन्हें पूर्णांक स्टोर करने के लिए। 1042 00:46:20,952 --> 00:46:23,660 और यहाँ, निर्माण, जबकि ऐसा है कि यह उपयोगी है और इस वजह से है। 1043 00:46:23,660 --> 00:46:26,700 सचमुच ऐसा करते हैं, : 1 से भी कम है, जबकि। 1044 00:46:26,700 --> 00:46:28,030 तो चलो देखते हैं क्या होता। 1045 00:46:28,030 --> 00:46:30,760 मैं, कृपया बाहर प्रिंट मुझे एक सकारात्मक पूर्णांक दे। 1046 00:46:30,760 --> 00:46:34,300 मैं तो CS50 का उपयोग करते हुए, एक int मिल कार्य और n में संग्रहीत। 1047 00:46:34,300 --> 00:46:38,990 >> और फिर, कोड की क्या लाइन शायद तार्किक रूप से, अगले मार डाला जाता है? 1048 00:46:38,990 --> 00:46:41,890 कौन सी लाइन नंबर? 1049 00:46:41,890 --> 00:46:42,571 हाँ, तो 31। 1050 00:46:42,571 --> 00:46:45,320 आप है जब तक आप यह पता नहीं होता बताया कि या ऐसा यह अनुमान किया गया है, 1051 00:46:45,320 --> 00:46:45,986 लेकिन यह सच है। 1052 00:46:45,986 --> 00:46:48,280 यह नीचे से ऊपर चला जाता है और फिर दोहरा रहता है। 1053 00:46:48,280 --> 00:46:55,840 मैं नंबर, कहते हैं में टाइप किया है तो अगर एक नकारात्मक, एक नकारात्मक से एन कम है? 1054 00:46:55,840 --> 00:46:56,340 हाँ। 1055 00:46:56,340 --> 00:46:58,470 1 नकारात्मक 1 से कम है क्योंकि। 1056 00:46:58,470 --> 00:46:59,510 तो क्या होना चाहिए? 1057 00:46:59,510 --> 00:47:03,260 मैं यह करने के लिए जा रहा हूँ एन 1 से कम है, जबकि 1058 00:47:03,260 --> 00:47:05,760 इसलिए मैं वापस लाइन 28 पर जाने के लिए जा रहा हूँ। 1059 00:47:05,760 --> 00:47:09,530 >> और प्रत्येक time-- और की है- चलाते हैं समारोह 1 यह संकलन करने के लिए बना है, 1060 00:47:09,530 --> 00:47:11,340 और अब समारोह 1 स्लेश डॉट। 1061 00:47:11,340 --> 00:47:14,280 मैं नकारात्मक 1 लिखते हैं, तो यह है मुझ पर चिल्ला रखने के लिए जा 1062 00:47:14,280 --> 00:47:17,530 मैं प्रत्येक क्योंकि सहयोग तक मेरी आदानों की कम से कम 1 है 1063 00:47:17,530 --> 00:47:20,070 और यह कम से कम 1, जबकि अगर, मैं यह कर रखने के लिए जा रहा हूँ। 1064 00:47:20,070 --> 00:47:24,240 मैं अंत में 50 की तरह यह एक नंबर देते हैं, शुक्र है, यह 50 के लिए धन्यवाद, कहते हैं। 1065 00:47:24,240 --> 00:47:24,970 क्यों? 1066 00:47:24,970 --> 00:47:30,640 N से कम नहीं है, क्योंकि जैसे ही 1, मैं इस पाश में फंस रही बंद 1067 00:47:30,640 --> 00:47:33,840 और इस नए कीवर्ड आज वापसी, सचमुच ऐसा ही करता है। 1068 00:47:33,840 --> 00:47:36,800 तो मैं सिर्फ एक में, क्रियान्वित किया है भावना, GetString के बराबर है, 1069 00:47:36,800 --> 00:47:40,590 जहां मैं करने के लिए वापस सौंप रहा हूँ जो कोई भी, कुछ मूल्य मुझे इस्तेमाल कर रहा है। 1070 00:47:40,590 --> 00:47:42,820 यह होना जरूरी नहीं है एक स्ट्रिंग, यह एक पूर्णांक है। 1071 00:47:42,820 --> 00:47:44,990 त्वरित, तो एक साधारण उदाहरण के लिए, लेकिन हम जल्द ही करेंगे 1072 00:47:44,990 --> 00:47:47,930 कुछ और अधिक परिष्कृत देखना अभी भी संस्करणों। 1073 00:47:47,930 --> 00:47:53,882 वास्तव में, एक पर एक नजर डालते हैं return.c कहा जाता है जो सांख्यिक एक,। 1074 00:47:53,882 --> 00:47:55,590 और यह एक वास्तव में है एक छोटे से सरल। 1075 00:47:55,590 --> 00:47:59,010 इसलिए इस कार्यक्रम के उद्देश्य में life-- के संकलन और इसे चलाते हैं, 1076 00:47:59,010 --> 00:48:03,090 इसलिए डॉट, वापसी कर स्लैश, return-- नोटिस 1077 00:48:03,090 --> 00:48:05,530 कार्यक्रम केवल मूल्य 2 क्यूब्स। 1078 00:48:05,530 --> 00:48:08,410 यह यह कठिन बहुत बेवकूफ है है कोड, यह किसी भी जानकारी नहीं ले करता है, 1079 00:48:08,410 --> 00:48:12,220 लेकिन यह एक और प्रदर्शित करता है मैं अपने आप को लिखा है कि समारोह। 1080 00:48:12,220 --> 00:48:15,760 यहाँ तो, मैं घोषित किया है एक चर, int प्रकार की, एक्स बुलाया 1081 00:48:15,760 --> 00:48:17,840 नंबर 2 के बराबर, पूरी तरह से मनमाना। 1082 00:48:17,840 --> 00:48:19,530 यह सिर्फ कुछ शराबी मुद्रण है। 1083 00:48:19,530 --> 00:48:23,070 यह एक्स का कहना है कि अब इस तरह के और इस तरह, cubing डॉट डॉट डॉट। 1084 00:48:23,070 --> 00:48:26,390 और जादू लाइन 21 में जाहिरा तौर पर है। 1085 00:48:26,390 --> 00:48:30,120 मैं घन नामक एक समारोह बुला रहा हूँ, मैं इसे कागज के एक पत्रक सौंप रहा हूँ 1086 00:48:30,120 --> 00:48:32,890 उस पर लिखा नंबर 2 के साथ, और क्या मूल्य है, गणितीय, 1087 00:48:32,890 --> 00:48:34,860 मैं इसे से बाहर निकलना चाहते हैं? 1088 00:48:34,860 --> 00:48:36,570 बस एक मानसिक स्वास्थ्य की जांच के रूप में? 1089 00:48:36,570 --> 00:48:37,070 8। 1090 00:48:37,070 --> 00:48:37,570 है ना? 1091 00:48:37,570 --> 00:48:40,160 मैं 2 से 2, वापस cubed करना चाहते हैं 3 की शक्ति है, तो 8 वापस। 1092 00:48:40,160 --> 00:48:42,570 >> तो जहां घन कार्यान्वित किया जाता है? 1093 00:48:42,570 --> 00:48:44,349 खैर, यह यहाँ नीचे कार्यान्वित की नोटिस। 1094 00:48:44,349 --> 00:48:47,140 और पहले की तरह, तार्किक, यहां तक ​​कि वाक्य रचना शायद है, हालांकि 1095 00:48:47,140 --> 00:48:49,320 आप में से कई लोगों के लिए बहुत नया है, मैं इस समारोह चाहते हैं 1096 00:48:49,320 --> 00:48:51,780 की एक चादर मुझे वापस करने के लिए हाथ उस पर एक पूर्णांक के साथ कागज। 1097 00:48:51,780 --> 00:48:53,990 तो मैं एक पूर्णांक है, नाम, मनमाने ढंग से है 1098 00:48:53,990 --> 00:48:55,530 लेकिन सुविधा घन कहा जाता है। 1099 00:48:55,530 --> 00:48:58,430 यह करने के लिए इनपुट, के एन है इतना है कि, पूर्णांक टाइप 1100 00:48:58,430 --> 00:49:00,800 मैं संख्या में पारित कर सकते हैं कि कैसे कागज के एक पत्रक पर 2। 1101 00:49:00,800 --> 00:49:03,910 और फिर यह सी का समर्थन करता है पता चला है गणित, इसलिए यदि आप समय के लिए एक्स की जरूरत नहीं है 1102 00:49:03,910 --> 00:49:06,680 तुम सिर्फ तारांकन का उपयोग गुणन के लिए। 1103 00:49:06,680 --> 00:49:11,070 और इस n बार n बार रिटर्न बस एक घन मूल्य है जो एन। 1104 00:49:11,070 --> 00:49:12,840 >> तो हम कहाँ इस सब के साथ जा रहे हैं? 1105 00:49:12,840 --> 00:49:14,570 यह निश्चित रूप से एक है बवंडर दौरे, बाकी का आश्वासन दिया, 1106 00:49:14,570 --> 00:49:16,410 कि सुपर वर्गों में और इस समस्या में, 1 सेट 1107 00:49:16,410 --> 00:49:18,368 आप के माध्यम से चला गया हो जाएगा इस सब के सब अधिक। 1108 00:49:18,368 --> 00:49:22,490 और इस समस्या को एक सेट में, हम संक्रमण करेंगे स्क्रैच की चित्रमय दुनिया से 1109 00:49:22,490 --> 00:49:25,640 कुछ अधिक कमांड लाइन के लिए सी में लेकिन हम प्रेरणा आकर्षित करेंगे 1110 00:49:25,640 --> 00:49:27,680 यहाँ इस खेल से पुराने, जिसमें से 1111 00:49:27,680 --> 00:49:31,591 सी और के मानक संस्करण का उपयोग पी सेट आप मारियो के पिरामिड को लागू करेंगे। 1112 00:49:31,591 --> 00:49:34,340 और हैकर संस्करण में पी सेट, तुम इतनी चुनाव करने के लिए चुनते हैं, 1113 00:49:34,340 --> 00:49:38,280 आप थोड़ा और अधिक लागू करेगी दो चोटियों के साथ पिरामिड को चुनौती दे। 1114 00:49:38,280 --> 00:49:41,239 तुम भी एक को लागू करेंगे एल्गोरिथ्म, एक लालची एल्गोरिथ्म। 1115 00:49:41,239 --> 00:49:43,030 यह वहाँ है पता चला है कुछ दिलचस्प तर्क 1116 00:49:43,030 --> 00:49:45,640 की प्रक्रिया के पीछे एक खजांची के स्टेशन चल 1117 00:49:45,640 --> 00:49:47,410 और वास्तव में सौंपने किसी को वापस बदल जाते हैं। 1118 00:49:47,410 --> 00:49:50,410 काफी है कि एक एल्गोरिथ्म है सीधा, कि तुम भी हो सकता है 1119 00:49:50,410 --> 00:49:53,576 जब आप पहली बार पढ़ा जब intuitively काबू it-- कि मैं हमेशा हूँ है साकार 1120 00:49:53,576 --> 00:49:57,110 मैं किसी को कुछ दिया है किसी भी समय किया आप हमेशा के लिए अनुमति देता है कि पैसे back-- 1121 00:49:57,110 --> 00:50:00,679 की संख्या कम से कम कागज के नोटों या धातु के सिक्के 1122 00:50:00,679 --> 00:50:02,220 आप उपयोगकर्ता के लिए वापस सौंपने रहे हैं। 1123 00:50:02,220 --> 00:50:04,610 और यह, ज़ाहिर है, मजबूर है आप सीवीएस या whatnot के लिए जाना है, क्योंकि अगर 1124 00:50:04,610 --> 00:50:06,430 आप सौंपा जा नहीं करना चाहते हैं लोगों की एक पूरी गुच्छा 1125 00:50:06,430 --> 00:50:07,596 या पैसे की एक पूरी गुच्छा। 1126 00:50:07,596 --> 00:50:10,120 आप fewest चाहते हैं सिक्के, शायद संभव। 1127 00:50:10,120 --> 00:50:13,070 >> अंत में, आप भी चुनौती दी हो जाएगा पानी की दुनिया में भिगोना 1128 00:50:13,070 --> 00:50:17,220 और वास्तव में एक प्रशंसा मिल प्रवाह की दर के बीच एक मानचित्रण के लिए, 1129 00:50:17,220 --> 00:50:19,890 की बौछार में पानी की तरह, अभी कितना पानी इस्तेमाल किया जाता है। 1130 00:50:19,890 --> 00:50:22,640 और उसमें संकेत, यहाँ इस क्लिप हो जाएगा, 1131 00:50:22,640 --> 00:50:24,840 हम पर समाप्त होगा जो सिर्फ 60 सेकंड, कि 1132 00:50:24,840 --> 00:50:29,070 पेंट का एक चित्र कम प्रवाह सिर बौछार। 1133 00:50:29,070 --> 00:50:30,886 >> [वीडियो प्लेबैक] 1134 00:50:30,886 --> 00:50:31,385 -ठीक है। 1135 00:50:31,385 --> 00:50:32,774 मैं यहाँ सब कुछ मिल गया। 1136 00:50:32,774 --> 00:50:35,800 मैं, चक्रवात एफ सीरीज के लिए मिला हाइड्रा, Jetflow, स्टॉकहोम 1137 00:50:35,800 --> 00:50:37,660 Supersteam, तुम यह नाम है। 1138 00:50:37,660 --> 00:50:39,265 >> -और आप क्या सलाह देते हैं? 1139 00:50:39,265 --> 00:50:40,460 >> -आप क्या ढूंढ रहे हैं? 1140 00:50:40,460 --> 00:50:41,300 >> -पावर मैन। 1141 00:50:41,300 --> 00:50:42,285 पावर। 1142 00:50:42,285 --> 00:50:42,910 की तरह Silkwood। 1143 00:50:42,910 --> 00:50:44,520 -यही विकिरण के लिए है। 1144 00:50:44,520 --> 00:50:46,335 -यह सही है। 1145 00:50:46,335 --> 00:50:48,275 यह क्या है -Now? 1146 00:50:48,275 --> 00:50:49,704 -यही कमांडो 450 है। 1147 00:50:49,704 --> 00:50:50,620 मुझे लगता है कि एक नहीं बेचते। 1148 00:50:50,620 --> 00:50:51,700 >> -लेकिन कि हम क्या चाहते हैं। 1149 00:50:51,700 --> 00:50:52,680 यह एक कमांडो 450 है। 1150 00:50:52,680 --> 00:50:53,882 >> -नहीं मुझे विश्वास है। 1151 00:50:53,882 --> 00:50:55,090 यह केवल सर्कस में इस्तेमाल किया है। 1152 00:50:55,090 --> 00:50:56,512 यह हाथियों के लिए है। 1153 00:50:56,512 --> 00:50:59,356 >> कुछ भी भुगतान -I'll। 1154 00:50:59,356 --> 00:51:01,252 >> जेरी के बारे में क्या? 1155 00:51:01,252 --> 00:51:02,760 >> -वह कि नहीं संभाल सकता है। 1156 00:51:02,760 --> 00:51:04,910 उन्होंने कहा कि नाजुक है। 1157 00:51:04,910 --> 00:51:05,750 अरे हां। 1158 00:51:05,750 --> 00:51:36,737 1159 00:51:36,737 --> 00:51:37,320 [अंत प्लेबैक] 1160 00:51:37,320 --> 00:51:37,700 डेविड जे मालन: ठीक है। 1161 00:51:37,700 --> 00:51:38,820 यही कारण है कि CS50 के लिए यदि है। 1162 00:51:38,820 --> 00:51:40,050 हम अगले सप्ताह आप देखेंगे। 1163 00:51:40,050 --> 00:51:45,910 1164 00:51:45,910 --> 00:51:49,029 >> स्पीकर 1: [? स्कली?], [? इयान?] जहाँ तक इस किया परियोजना के रूप में, 1165 00:51:49,029 --> 00:51:50,362 क्या तुम लोग साथ आए हैं? 1166 00:51:50,362 --> 00:51:51,990 >> स्पीकर 2: ठीक है, हम दे दिया है यह सोचा था की एक किस्म है, 1167 00:51:51,990 --> 00:51:53,250 और हम सबसे अच्छा तरीका है कि लगता है-- 1168 00:51:53,250 --> 00:51:53,660 >> अध्यक्ष 3: मैं कर सकता हूँ? 1169 00:51:53,660 --> 00:51:54,326 >> स्पीकर 2: हाँ। 1170 00:51:54,326 --> 00:51:56,360 हर तरह से, वास्तव में। 1171 00:51:56,360 --> 00:51:59,425 >> अध्यक्ष 3: तो मुझे लगता है कि हम अपने विचार योग कर सकते हैं 1172 00:51:59,425 --> 00:52:05,450 एक word-- साथ कुछ भी नहीं outros के लिए। 1173 00:52:05,450 --> 00:52:08,950 1174 00:52:08,950 --> 00:52:10,409 >> डेविड जे मालन: कुछ नहीं? 1175 00:52:10,409 --> 00:52:11,200 अध्यक्ष 3: कुछ भी नहीं। 1176 00:52:11,200 --> 00:52:12,990 डेविड जे मालन: इसका क्या मतलब है? 1177 00:52:12,990 --> 00:52:16,260 अध्यक्ष 3: Outros बारे में कुछ नहीं कर रहे हैं। 1178 00:52:16,260 --> 00:52:21,720 स्पीकर 2: ठीक है, मेरा मतलब है, दर्शन में, मेरा मतलब है, कुछ भी नहीं हमेशा कुछ न कुछ है। 1179 00:52:21,720 --> 00:52:24,200 स्पीकर 1: तो what's-- आधार क्या है? 1180 00:52:24,200 --> 00:52:25,720 अध्यक्ष 3: तो यह जीवन की तरह है। 1181 00:52:25,720 --> 00:52:26,680 ठीक। 1182 00:52:26,680 --> 00:52:28,294 आपने आज क्या किया? 1183 00:52:28,294 --> 00:52:31,811 >> डेविड जे मालन: मैं उठकर था, नाश्ता, और काम करने के लिए आया था। 1184 00:52:31,811 --> 00:52:34,056 >> अध्यक्ष 3: यह है कि एक किया है। 1185 00:52:34,056 --> 00:52:36,806 स्पीकर 2: मेरा मतलब है लेकिन, नहीं करना चाहिए कुछ the-- पर उसे करने के लिए होता है 1186 00:52:36,806 --> 00:52:37,889 अध्यक्ष 3: नहीं, नहीं, नहीं, नहीं। 1187 00:52:37,889 --> 00:52:40,220 कुछ नहीं हुआ। 1188 00:52:40,220 --> 00:52:42,910 >> स्पीकर 1: तो क्यों हम देख रहे हैं? 1189 00:52:42,910 --> 00:52:46,956 >> अध्यक्ष 3: क्योंकि यह CS50 के लिए एक किया है। 1190 00:52:46,956 --> 00:52:48,652 >> डेविड जे मालन: अभी नहीं। 1191 00:52:48,652 --> 00:52:49,151