1 00:00:00,000 --> 00:00:11,280 2 00:00:11,280 --> 00:00:13,650 >> स्पीकर 1: सब ठीक है. 3 00:00:13,650 --> 00:00:14,390 वापस स्वागत है. 4 00:00:14,390 --> 00:00:19,260 इस CS50 के दो सप्ताह है, और हम हैं इस प्रकार अब तक कार्यों का उपयोग लेकिन दिया गया 5 00:00:19,260 --> 00:00:20,830 प्रदान के लिए काफी हद तक उन्हें ले लिया. 6 00:00:20,830 --> 00:00:23,430 हम है जो printf का उपयोग किया है मुद्रण के पक्ष प्रभाव 7 00:00:23,430 --> 00:00:24,110 स्क्रीन पर बातें. 8 00:00:24,110 --> 00:00:25,790 हम नाव मिल, मिल INT का उपयोग किया है. 9 00:00:25,790 --> 00:00:29,230 >> लेकिन आप वास्तव में बनाने के लिए क्या चाहते हैं अपने खुद के काम करता है, कुछ के रूप में 10 00:00:29,230 --> 00:00:31,740 आप पहले से ही शुरू कर दिया है हो सकता है हालांकि, समस्या सेट एक के लिए करते हैं 11 00:00:31,740 --> 00:00:33,140 कड़ाई से जरूरी? 12 00:00:33,140 --> 00:00:37,150 ठीक है, चलो आगे जाना है और फिर से आना चलो बस के लिए उपयोगकर्ता पूछ की समस्या 13 00:00:37,150 --> 00:00:40,660 पर उनके नाम और मुद्रण कुछ स्क्रीन, लेकिन कुछ बाहर कारक करने की कोशिश 14 00:00:40,660 --> 00:00:44,000 हम है कि समानता की इस प्रकार अब तक हमारे कोड में देखा. 15 00:00:44,000 --> 00:00:45,120 इसलिए कि मैं निम्नलिखित मतलब है. 16 00:00:45,120 --> 00:00:47,315 >> मुझे आगे जाना है और बनाने के लिए जा रहा हूँ एक नए कार्यक्रम, सिर्फ कॉल 17 00:00:47,315 --> 00:00:49,320 यह सामान्य रूप से hello.c. 18 00:00:49,320 --> 00:00:53,730 मुझे आगे जाना है और अपने आप को देने जा रहा हूँ शीर्ष पर मानक io.h शामिल हैं. 19 00:00:53,730 --> 00:00:57,040 मैं भी अपने आप को देने जा रहा हूँ preemptively CS50 पुस्तकालय इतना है कि 20 00:00:57,040 --> 00:00:59,080 मैं संकलक द्वारा पर चिल्लाया नहीं मिलता. 21 00:00:59,080 --> 00:01:02,400 और अब मैं आगे जाने के लिए जा रहा हूँ और int, मुख्य, शून्य घोषित. 22 00:01:02,400 --> 00:01:09,020 >> और फिर यहाँ में, इस जहाँ मैं चाहता हूँ है कार्यक्षमता को आउटसोर्स करने के लिए शुरू करने के लिए 23 00:01:09,020 --> 00:01:12,090 मैं खुद हूँ कि कुछ अन्य समारोह लिखने के लिए जा रहा था लेकिन वह नहीं करता है 24 00:01:12,090 --> 00:01:13,820 वर्तमान में मौजूद हैं. 25 00:01:13,820 --> 00:01:19,210 उदाहरण के लिए, मैं चाहता था कि लगता है मुझे अनुमति देता है एक समारोह लिखने 26 00:01:19,210 --> 00:01:23,830 अल्पविराम, हैलो बाहर प्रिंट, और फिर कुछ उपयोगकर्ता का नाम. 27 00:01:23,830 --> 00:01:29,010 बल्कि printf करने के लिए जारी की तुलना हैलो,% है, यह अच्छा नहीं होगा अगर 28 00:01:29,010 --> 00:01:33,380 कहा जाता है बस एक समारोह कर रहे थे printf लेकिन प्रिंट नाम नहीं? 29 00:01:33,380 --> 00:01:36,600 >> तो दूसरे शब्दों में, मैं करने में सक्षम होना चाहता हूँ एक छोटे से करता है कि एक प्रोग्राम लिखने 30 00:01:36,600 --> 00:01:37,710 कुछ इस तरह. 31 00:01:37,710 --> 00:01:42,070 सबसे पहले, मैं printf कहने जा रहा हूँ अपने जिससे के लिए उपयोगकर्ता उत्साह का नाम 32 00:01:42,070 --> 00:01:46,150 मुझे उसके नाम देते हैं, और फिर मैं हूँ को परिचित स्ट्रिंग के उपयोग करने के लिए जा रहा 33 00:01:46,150 --> 00:01:47,290 एक स्ट्रिंग की घोषणा. 34 00:01:47,290 --> 00:01:50,420 मुझे प्रकार तार का एक चर दे, है यह फोन है, और में है कि दुकान 35 00:01:50,420 --> 00:01:52,120 मिल स्ट्रिंग बुला का नतीजा है. 36 00:01:52,120 --> 00:01:56,060 लेकिन अब सप्ताह अतीत में, मैं होता कुछ हद तक tediously% s / n, नमस्कार किया. 37 00:01:56,060 --> 00:01:58,630 38 00:01:58,630 --> 00:02:02,570 >> और दूसरे शब्दों में, हम यह देखा है उदाहरण एक बार का गुच्छा, और यह एक है 39 00:02:02,570 --> 00:02:05,280 बस एक छोटी सी उदाहरण है क्योंकि वहाँ कोड की लाइन तो यह वास्तव में नहीं है एक 40 00:02:05,280 --> 00:02:06,860 फिर में टाइप कर रखने के लिए बड़ी बात नहीं. 41 00:02:06,860 --> 00:02:09,990 लेकिन लगता है कि कोड की इस पंक्ति वास्तव में एक बोझ होता जा रहा है, और थे 42 00:02:09,990 --> 00:02:12,900 यह कोड की एक लाइन नहीं है, लेकिन यह 10 है एक दो सप्ताह अब से कोड की लाइनों, 43 00:02:12,900 --> 00:02:15,190 और तुम बस थक गया हो रही है कॉपी करने और चिपकाने या की 44 00:02:15,190 --> 00:02:17,180 कि एक ही कोड पुन: लिखने. 45 00:02:17,180 --> 00:02:22,100 यह बजाय कर के अच्छा नहीं होगा हैलो printf% s और बहुत आगे है, 46 00:02:22,100 --> 00:02:26,500 बस वहाँ थे तो अच्छा नहीं होगा एक समारोह में कहा छापा नाम कि 47 00:02:26,500 --> 00:02:27,560 एक तर्क लेता है - 48 00:02:27,560 --> 00:02:29,120 दूसरे शब्दों में, यह इनपुट लेता है - 49 00:02:29,120 --> 00:02:30,620 और फिर अर्धविराम. 50 00:02:30,620 --> 00:02:33,240 इसलिए कि समारोह, यह नहीं होगा कि अस्तित्व में अगर अच्छा होगा? 51 00:02:33,240 --> 00:02:36,690 तो मैं के बारे में चिंता करने की ज़रूरत नहीं होगी क्या printf है, क्या% है और सभी की 52 00:02:36,690 --> 00:02:39,400 कर रहे हैं कि इन जटिलताओं सभी दिलचस्प है कि नहीं. 53 00:02:39,400 --> 00:02:40,570 वे उपयोगी हैं. 54 00:02:40,570 --> 00:02:44,700 >> तो प्रिंट नाम, दुर्भाग्य से, नहीं था कुछ 40 से अधिक साल पहले का आविष्कार किया. 55 00:02:44,700 --> 00:02:45,980 इसे लिखने के बारे में सोचा नहीं है. 56 00:02:45,980 --> 00:02:48,300 लेकिन उस होने की खूबसूरती है एक बस में की तरह प्रोग्रामिंग भाषा, 57 00:02:48,300 --> 00:02:52,930 यदि आप कस्टम ब्लॉकों ताकि परिभाषित कर सकते हैं स्क्रैच सी में और सबसे अधिक किसी भी भाषा, आप कर सकते हैं 58 00:02:52,930 --> 00:02:57,260 , अपनी खुद की कार्यक्षमता सकते हैं परिभाषित आप अपने खुद के कार्यों को परिभाषित. 59 00:02:57,260 --> 00:03:01,710 तो हम द्वारा मुख्य मिलता भले ही स्वचालित रूप से मुक्त करने के लिए, हम घोषणा कर सकते हैं 60 00:03:01,710 --> 00:03:02,730 अपने स्वयं के कार्य करता है. 61 00:03:02,730 --> 00:03:05,670 >> तो मैं यहाँ कुछ जगह बनाने के लिए जा रहा हूँ शीर्ष ऊपर, और मैं घोषणा करने जा रहा हूँ मेरे 62 00:03:05,670 --> 00:03:08,210 लग रहा है कि खुद के समारोह में एक पहली बार में अजीब सा लेकिन हम आऊँगा 63 00:03:08,210 --> 00:03:09,400 लंबे समय से पहले यह करने के लिए वापस. 64 00:03:09,400 --> 00:03:12,310 मैं शून्य, जिससे कहने जा रहा हूँ इस समारोह का संकेत करता है 65 00:03:12,310 --> 00:03:16,040 कुछ, एक पक्ष प्रभाव है, लेकिन यह में मेरे लिए कुछ वापस नहीं करता है 66 00:03:16,040 --> 00:03:18,810 INT या मिलता है कि एक ही रास्ता स्ट्रिंग ही करता मिलता है. 67 00:03:18,810 --> 00:03:22,450 और मैं इस समारोह में एक देने जा रहा हूँ छापा नाम का नाम है, और मैं जा रहा हूँ 68 00:03:22,450 --> 00:03:26,470 इस आदमी को ले जा रहा है कि निर्दिष्ट एक स्ट्रिंग, और मुझे लगता है कि कॉल करने के लिए जा रहा हूँ 69 00:03:26,470 --> 00:03:27,600 स्ट्रिंग नाम. 70 00:03:27,600 --> 00:03:32,100 मैं मैं चाहता हूँ कि कुछ भी कहते हैं, लेकिन मैं कर सकता है मेरे कोड आत्म दस्तावेजीकरण होना चाहते हैं. 71 00:03:32,100 --> 00:03:34,770 दूसरे शब्दों में, आप में से एक थे करने के लिए इस फाइल को खोलने और इसे पढ़ा, तुम सकता है 72 00:03:34,770 --> 00:03:39,020 एक तरह से इस बात का नाम से अनुमान इसे खेलने के लिए माना जाता है इनपुट क्या भूमिका. 73 00:03:39,020 --> 00:03:42,270 >> और अब कि नीचे, मैं खोलने के लिए जा रहा हूँ घुंघराले ब्रेस और बंद घुंघराले गले लगा, 74 00:03:42,270 --> 00:03:47,140 और इसलिए मैं उसी का पालन किया नोटिस लाइनों सात के माध्यम के रूप में चार पर पैटर्न 75 00:03:47,140 --> 00:03:51,622 मैं प्लस एक अच्छा सप्ताह के लिए पीछा कर रहे थे अब लाइनों नौ और कहते हैं, के बीच 76 00:03:51,622 --> 00:03:53,400 14 मुख्य रचना है. 77 00:03:53,400 --> 00:03:56,160 दूसरे शब्दों में, प्रिंट नाम एक अन्य समारोह है. 78 00:03:56,160 --> 00:03:58,990 अब, संकलक पता करने के लिए नहीं जा रहा है स्वचालित रूप से इस बात को कॉल करने के लिए 79 00:03:58,990 --> 00:04:02,670 मैं सचमुच सिर्फ यह आविष्कार किया है, क्योंकि लेकिन यह मुख्य कॉल करने के लिए अभी भी पता चल जाएगा 80 00:04:02,670 --> 00:04:08,710 स्वचालित रूप से, और उसके बाद में पाठ्यक्रम की 13 लाइन, मैं अपने खुद के समारोह बुला रहा हूँ. 81 00:04:08,710 --> 00:04:12,805 और मुझे लगता है कि समारोह घोषित कर दिया है क्योंकि मुख्य पहले लाइन चार पर, 82 00:04:12,805 --> 00:04:16,579 इस संकलक को पढ़ाने के लिए जा रहा है क्या बोली, गंदें शब्द बोलना, "प्रिंट नाम" 83 00:04:16,579 --> 00:04:18,140 इसका मतलब है और यह क्या करना चाहिए. 84 00:04:18,140 --> 00:04:22,700 तो मैं एक तरह से यह एक नया रिवाज दे रहा हूँ स्क्रैच, कहते हैं, के संदर्भ में ब्लॉक. 85 00:04:22,700 --> 00:04:27,240 >> तो यहाँ में, मैं बहुत ही आम है कि रख सकते हैं या मैं रखने के कोड की आवर्ती पैटर्न 86 00:04:27,240 --> 00:04:32,300 वर्ग, printf में लिख % S नमस्कार,% s / n "- 87 00:04:32,300 --> 00:04:36,720 88 00:04:36,720 --> 00:04:37,590 क्या मैं यहाँ डाल करना चाहते हैं? 89 00:04:37,590 --> 00:04:39,200 एस? 90 00:04:39,200 --> 00:04:41,420 इसलिए मैं इस संदर्भ में नाम करना चाहते हैं. 91 00:04:41,420 --> 00:04:43,440 तो यहाँ एक विरोधाभास का एक सा नोटिस. 92 00:04:43,440 --> 00:04:47,680 मैं अपने ही समारोह घोषणा कर रहा हूँ क्योंकि और मैं कुछ हद तक मनमाने ढंग से कहा जाता है 93 00:04:47,680 --> 00:04:50,880 मैं हूँ क्योंकि यह नाम मुद्रित, और कोष्ठक में निर्दिष्ट है कि इस 94 00:04:50,880 --> 00:04:55,035 समारोह प्रकार के, एक तर्क लेता है जो एक स्ट्रिंग है - तो यह एक शब्द है 95 00:04:55,035 --> 00:05:00,010 या वाक्यांश या ऐसा कुछ है - और मुझे लगता है कि तर्क नाम बुला रहा हूँ कि 96 00:05:00,010 --> 00:05:04,770 इसका मतलब में है कि केवल चर गुंजाइश है, तो बात करने के नाम है. 97 00:05:04,770 --> 00:05:07,780 >> केवल क्या दोनों के बीच मौजूद है निश्चित रूप से घुंघराले ब्रेसिज़,? 98 00:05:07,780 --> 00:05:12,990 खैर, सच में सिर्फ लाइन 10 तरह के माध्यम से 14 है, तो बस सोमवार को तरह उपयोग नहीं कर सकते 99 00:05:12,990 --> 00:05:17,650 एस, लेकिन मैं क्या कर सकता पास है छापा नाम में एस. 100 00:05:17,650 --> 00:05:21,030 छापा नाम सिर्फ इसलिए इसे देने के लिए होता है एक उपनाम, एक पर्याय, एक उपनाम, 101 00:05:21,030 --> 00:05:24,400 अब नाम है, और यह फोन इस लाइन में यह प्रयोग से. 102 00:05:24,400 --> 00:05:26,840 तो अब बाहर ज़ूम, मुझे इस सहेजने दें. 103 00:05:26,840 --> 00:05:31,250 >> मुझे आगे जाना है और नमस्कार करते हैं. 104 00:05:31,250 --> 00:05:32,400 अच्छा लग रहा है. 105 00:05:32,400 --> 00:05:36,110 किसी भी त्रुटि थूक नहीं था. . / हैलो दर्ज करें. 106 00:05:36,110 --> 00:05:37,020 मेरा नाम क्या है? 107 00:05:37,020 --> 00:05:38,060 डेविड. 108 00:05:38,060 --> 00:05:39,270 और नमस्ते डेविड. 109 00:05:39,270 --> 00:05:41,820 , तो वह सब रोमांचक नहीं लेकिन अभी लगता है. 110 00:05:41,820 --> 00:05:44,310 अब आप कि एक ही घटक है हम खरोंच में किया था 111 00:05:44,310 --> 00:05:45,420 हमारे अपने कार्यों बनाते हैं. 112 00:05:45,420 --> 00:05:46,770 >> लेकिन एक पकड़ लिया का एक सा है. 113 00:05:46,770 --> 00:05:50,620 मैं वास्तव में नहीं सोचा था कि मान लीजिए इस के बिना वास्तव में के माध्यम से और मैं 114 00:05:50,620 --> 00:05:54,250 वास्तव में इसके बारे में लिखा सोच नीचे यहाँ कि समारोह. 115 00:05:54,250 --> 00:05:55,420 पूरी तरह से उचित लगता है. 116 00:05:55,420 --> 00:05:58,440 खरोंच में कोई धारणा नहीं है अपनी स्क्रिप्ट में स्थान की. 117 00:05:58,440 --> 00:06:00,670 आप यहाँ, यहाँ एक एक डाल सकता है यहाँ एक अप, और यह शुरू हो सकता है 118 00:06:00,670 --> 00:06:03,310 अगर तुम नहीं एक छोटी सी गड़बड़ देखने के लिए बड़े करीने से बाहर करना है, लेकिन यह नहीं करता 119 00:06:03,310 --> 00:06:05,910 बात जहां शारीरिक रूप से लिपियों स्क्रीन पर थे. 120 00:06:05,910 --> 00:06:09,660 दुर्भाग्य से सी में - और इस के विपरीत है जावा और अजगर की तरह भाषा 121 00:06:09,660 --> 00:06:13,600 और आप परिचित हो सकता है कि दूसरों साथ - दुर्भाग्य से सी में, क्रम करता है 122 00:06:13,600 --> 00:06:15,830 क्योंकि बात है क्या घड़ी अब क्या होने वाला. 123 00:06:15,830 --> 00:06:19,010 >> जा रहा है कि डिफ़ॉल्ट समारोह निष्पादित करने के लिए, ज़ाहिर है, मुख्य है. 124 00:06:19,010 --> 00:06:22,290 मुख्य पर छापा नाम कॉल करने के लिए जा रहा है लाइन आठ, लेकिन दुर्भाग्य से, 125 00:06:22,290 --> 00:06:26,660 संकलक यह भी है कि प्रिंट का नाम पता नहीं होगा यह 11 लाइन के लिए हो जाता है, जब तक मौजूद है 126 00:06:26,660 --> 00:06:28,520 जो दुर्भाग्य है बहुत देर होने जा रहा. 127 00:06:28,520 --> 00:06:30,660 तो चलो नमस्कार कर करते हैं. 128 00:06:30,660 --> 00:06:32,950 और अब लानत, दो त्रुटियों उत्पन्न. 129 00:06:32,950 --> 00:06:36,050 तो अब मुझे बहुत अप करने के लिए स्क्रॉल सबसे पहले, हम हमेशा करना चाहिए के रूप में, और 130 00:06:36,050 --> 00:06:39,560 यह मुझ पर चिल्ला रहा है कि सूचना, समारोह की "निहित घोषणा 131 00:06:39,560 --> 00:06:40,540 नाम मुद्रित. " 132 00:06:40,540 --> 00:06:43,860 >> इसलिए हम पहले इस संदेश को देखा है, समारोह के निहित घोषणा. 133 00:06:43,860 --> 00:06:48,080 जब हम त्रुटि के उस तरह देखा है? 134 00:06:48,080 --> 00:06:49,180 मैं एक पुस्तकालय में शामिल नहीं किया था. 135 00:06:49,180 --> 00:06:53,470 मैं cs50.h भूल गया और मुझे मिल जाएगा तो मिल स्ट्रिंग के लिए पर चिल्लाया या INT मिलता है. 136 00:06:53,470 --> 00:06:56,880 लेकिन इस मामले में, इस समारोह छापा नाम सही, एक पुस्तकालय में नहीं है? 137 00:06:56,880 --> 00:07:00,230 यह इस फाइल में सचमुच है, तो क्या वास्तव में समस्या है? 138 00:07:00,230 --> 00:07:04,660 >> वैसे दुर्भाग्य से सी में, यह आप लेता है तो अविश्वसनीय रूप से सचमुच कि आप अगर 139 00:07:04,660 --> 00:07:08,640 चाहते करने के लिए प्रिंट का नाम नामक समारोह मौजूद हैं, आप को लागू करने के लिए है या तो 140 00:07:08,640 --> 00:07:11,940 के ऊपर से ही है कि समारोह अपने कोड इसे कम करने के लिए सुलभ है कि इतना 141 00:07:11,940 --> 00:07:15,070 काम करता है, लेकिन स्पष्ट रूप से, कि हो जाता है मैला बहुत जल्दी. 142 00:07:15,070 --> 00:07:18,160 निजी तौर पर, मैं पहली बार मुख्य डालने की तरह तो यह बहुत स्पष्ट है क्योंकि यह क्या 143 00:07:18,160 --> 00:07:19,890 कार्यक्रम पहली नज़र में करता है. 144 00:07:19,890 --> 00:07:23,290 और इसके अलावा, आप अजीब कोने में मिल सकती है अगर एक्स कॉल करना चाहता है, जहां मामलों 145 00:07:23,290 --> 00:07:27,530 Y लेकिन y आप सिर्फ एक्स फोन हो सकता है शारीरिक रूप से वास्तव में एक नहीं डाल सकते हैं 146 00:07:27,530 --> 00:07:28,540 दूसरे के ऊपर. 147 00:07:28,540 --> 00:07:31,230 >> लेकिन यह हम कर सकते हैं, सी में पता चला है बहुत आसानी से इस का समाधान. 148 00:07:31,230 --> 00:07:34,010 मैं अंतरिक्ष का एक छोटा सा डाल करने के लिए जा रहा हूँ यहाँ, और मैं अभी जा रहा हूँ 149 00:07:34,010 --> 00:07:38,170 preemptively, हालांकि कुछ हद तक अतिशयतापूर्वक, सिखा रहा 150 00:07:38,170 --> 00:07:42,320 एक समारोह है कि वहां मौजूद संकलक छापा नाम कहा जाता है, यह एक स्ट्रिंग लेता है, 151 00:07:42,320 --> 00:07:46,330 और मैं फोन करने के लिए जा रहा हूँ यह अर्धविराम नाम है. 152 00:07:46,330 --> 00:07:50,220 >> तो यह अब लाइन चार में, जो हम पहले नहीं देखा है, एक घोषणा है 153 00:07:50,220 --> 00:07:53,940 एक समारोह छापा नाम की, लेकिन यह केवल है इस समारोह है कि एक वादा 154 00:07:53,940 --> 00:07:56,620 अंत में अंत में, परिभाषित किया जा कार्यान्वित किया. 155 00:07:56,620 --> 00:08:00,180 यह अब मैं अकेले छोड़ सकते हैं क्योंकि अब यह परिभाषा है 156 00:08:00,180 --> 00:08:04,090 कार्यान्वयन, की तरह पिछले मील इस के कार्यान्वयन की 157 00:08:04,090 --> 00:08:05,130 विशेष समारोह. 158 00:08:05,130 --> 00:08:08,450 तो स्पष्ट रूप से यह, यह कष्टप्रद है, बेवकूफ है लेकिन इस सी है जिस तरह से है, और यह बात है 159 00:08:08,450 --> 00:08:12,050 यह बहुत सचमुच ले जाता है क्योंकि और, एक कंप्यूटर स्पष्ट रूप से होना चाहिए, 160 00:08:12,050 --> 00:08:16,020 केवल आप यह बताने के लिए है कि क्या वास्तव में करते हैं, और इसलिए कि आदेश देने के लिए महत्वपूर्ण है. 161 00:08:16,020 --> 00:08:18,940 >> तो मन में है कि रखने के लिए और फिर, के लिए शुरू पैटर्न की पुनरावृत्ति नोटिस. 162 00:08:18,940 --> 00:08:21,850 अगर तुम नहीं है बाधाओं, तुम जाएगा रहे हैं पहले से ही, संदेशों का सामना करने के लिए शुरू 163 00:08:21,850 --> 00:08:24,700 इस तरह पहली नज़र में लगता है कि पूरी तरह से गुप्त, लेकिन अगर आप शुरू 164 00:08:24,700 --> 00:08:29,000 जैसे इन महत्वपूर्ण शब्दों के लिए देखने के लिए एक के "निहित घोषणा," का उल्लेख 165 00:08:29,000 --> 00:08:32,380 तुम, सच और - इस मामले में समारोह कभी कभी भी एक छोटे से हरे मिल 166 00:08:32,380 --> 00:08:35,010 आपको बताता है कि गाजर प्रतीक जहां मुद्दा शायद है - 167 00:08:35,010 --> 00:08:40,980 आप के माध्यम से अपने तरीके से काम करने के लिए शुरू कर सकते हैं अभी तक अनदेखी त्रुटि संदेश. 168 00:08:40,980 --> 00:08:45,860 लेखन पर कोई प्रश्न आपके इस रास्ते में दम समारोह? 169 00:08:45,860 --> 00:08:47,540 >> चलो एक है कि कुछ करते हैं थोड़ा अधिक सम्मोहक. 170 00:08:47,540 --> 00:08:51,760 बस है कि कुछ करने के बजाय मुद्रण का एक पक्ष प्रभाव, मुझे जाने दो. 171 00:08:51,760 --> 00:08:55,340 आगे और एक नई फाइल को बचाने, और हम करेंगे यह है, भले ही इस positive.c कॉल 172 00:08:55,340 --> 00:08:57,600 एक छोटे से अलग होने जा रहा पिछली बार की तुलना में. 173 00:08:57,600 --> 00:09:01,910 और इस बार, मैं फिर से लागू करना चाहते हैं पिछली बार के positive.C उदाहरण, जो 174 00:09:01,910 --> 00:09:04,430 देने के लिए उपयोगकर्ता के लिए मजबूर कर रहा है मुझे एक सकारात्मक पूर्णांक. 175 00:09:04,430 --> 00:09:07,280 लेकिन मैं INT पिछली बार इस्तेमाल किया था. 176 00:09:07,280 --> 00:09:10,780 अगर वहाँ था यह अच्छा नहीं होता कहा जाता है एक समारोह सकारात्मक INT मिल 177 00:09:10,780 --> 00:09:13,610 मैं सिर्फ यह आउटसोर्स कर सकता है कार्यक्षमता का टुकड़ा? 178 00:09:13,610 --> 00:09:16,480 यहाँ तो फर्क हम करेंगे सकारात्मक INT पाने लागू है, लेकिन विपरीत 179 00:09:16,480 --> 00:09:20,330 एक पक्ष प्रभाव था जो प्रिंट नाम - यह की तरह मुझे कुछ वापस नहीं किया 180 00:09:20,330 --> 00:09:21,710 एक नंबर या एक स्ट्रिंग - 181 00:09:21,710 --> 00:09:25,510 सकारात्मक INT, ज़ाहिर है, के लिए जा रहा है मिल हमें उम्मीद है कि एक सकारात्मक INT वापसी. 182 00:09:25,510 --> 00:09:26,170 >> तो चलो यह करते हैं. 183 00:09:26,170 --> 00:09:30,840 Cs50.h शामिल करें, मानक io.h. शामिल करें 184 00:09:30,840 --> 00:09:33,520 Int मुख्य शून्य. 185 00:09:33,520 --> 00:09:42,160 और अब यहाँ में, मैं आगे जाने के लिए जा रहा हूँ और के INT, के बराबर होती है, एन इसे कहते हैं हम कहते हैं 186 00:09:42,160 --> 00:09:44,270 सकारात्मक INT मिलता है. 187 00:09:44,270 --> 00:09:49,080 और बस हो INT पहले से मौजूद है जैसे स्टाफ यह लिखा था, क्योंकि मैं जा रहा हूँ 188 00:09:49,080 --> 00:09:53,950 मिलता है कि पल के लिए कल्पना करने के लिए सकारात्मक INT मौजूद है, और अब मैं जा रहा हूँ 189 00:09:53,950 --> 00:09:57,730 आगे बढ़ो और printf कहना, धन्यवाद% मैं / एन ", एन के लिए. 190 00:09:57,730 --> 00:10:02,940 191 00:10:02,940 --> 00:10:07,770 >> तो अब मैं इस कार्यक्रम को संकलित करते हैं, तो क्या मेरे टर्मिनल में होने जा रहा है 192 00:10:07,770 --> 00:10:09,075 स्क्रीन के नीचे खिड़की? 193 00:10:09,075 --> 00:10:11,580 194 00:10:11,580 --> 00:10:13,900 मैं शायद प्राप्त करने के लिए जा रहा हूँ कि एक ही त्रुटि के रूप में पहले. 195 00:10:13,900 --> 00:10:14,570 तो चलो इस कोशिश करते हैं. 196 00:10:14,570 --> 00:10:16,450 सकारात्मक बनाओ. 197 00:10:16,450 --> 00:10:19,900 और फिर, निहित घोषणा समारोह की, सकारात्मक INT मिलता है. 198 00:10:19,900 --> 00:10:21,970 तो हम में इस को हल कर सकते हैं तरीके के एक जोड़े. 199 00:10:21,970 --> 00:10:27,310 मैं इसे सरल रखने के लिए जा रहा है और अभी कर रहा हूँ यहाँ मेरी घोषणा डाल दिया है और मिल 200 00:10:27,310 --> 00:10:28,120 सकारात्मक Int. 201 00:10:28,120 --> 00:10:29,720 मैं तथाकथित हस्ताक्षर की जरूरत है. 202 00:10:29,720 --> 00:10:32,410 हस्ताक्षर सिर्फ संदर्भित करता है के सौंदर्यशास्त्र के लिए 203 00:10:32,410 --> 00:10:34,090 कार्यक्रम की पहली पंक्ति. 204 00:10:34,090 --> 00:10:37,420 तो क्या सकारात्मक मिलना चाहिए INT वापसी? 205 00:10:37,420 --> 00:10:37,970 >> तो एक पूर्णांक. 206 00:10:37,970 --> 00:10:41,540 मैं आदर्श रूप में, यह लौटेंगे मतलब कुछ सकारात्मक INT की तरह है, लेकिन है कि 207 00:10:41,540 --> 00:10:42,160 मौजूद नहीं है. 208 00:10:42,160 --> 00:10:45,280 हम अपने डेटा के बीच कि नहीं देखा है प्रकार, तो हम साथ सौदा किया है 209 00:10:45,280 --> 00:10:47,170 हम बहुत कुछ तथ्य यह है कि साथ काम करने के लिए डेटा प्रकार. 210 00:10:47,170 --> 00:10:50,360 लेकिन हम सिर्फ एक पूर्णांक लौटने और कर सकते हैं यह सकारात्मक हो जाएगा कि विश्वास है. 211 00:10:50,360 --> 00:10:52,690 यह कहा जा जा रहा है सकारात्मक INT मिलता है. 212 00:10:52,690 --> 00:10:55,122 >> और अब कैसे अपने तर्क के बारे में? 213 00:10:55,122 --> 00:10:56,440 यह किसी भी इनपुट ले करता है? 214 00:10:56,440 --> 00:10:58,280 यह किसी भी इनपुट की जरूरत है? 215 00:10:58,280 --> 00:11:00,900 तो यह जानने की जरूरत नहीं है अग्रिम में कुछ भी. 216 00:11:00,900 --> 00:11:03,220 स्ट्रिंग, int नहीं करता नहीं मिलता हो जाओ. 217 00:11:03,220 --> 00:11:06,430 Printf करता है - यह कुछ करने की जरूरत है यह में पारित इनपुट - और प्रिंट का नाम 218 00:11:06,430 --> 00:11:09,020 कुछ इनपुट की जरूरत है, लेकिन मिल सकारात्मक INT नहीं करता है. 219 00:11:09,020 --> 00:11:11,530 तो मैं स्पष्ट रूप से करने के लिए जा रहा हूँ संकलक शून्य बताओ. 220 00:11:11,530 --> 00:11:13,470 शून्य कुछ और का अभाव है. 221 00:11:13,470 --> 00:11:17,990 तो शून्य का मतलब कुछ भी नहीं के अंदर जा रहा है उन कोष्ठकों का, अर्धविराम. 222 00:11:17,990 --> 00:11:20,840 >> और अब मेरी फाइल के नीचे स्थित है - और फिर से, मैं सिर्फ गुदा की तरह किया जा रहा हूँ 223 00:11:20,840 --> 00:11:23,640 यहाँ शीर्ष पर मुख्य डाल जो अच्छा अभ्यास, क्योंकि इस तरह है 224 00:11:23,640 --> 00:11:26,220 किसी भी समय आप या कोई और अपनी फ़ाइल को खोलता है, 225 00:11:26,220 --> 00:11:27,400 कार्यक्षमता अभी भी वहीं है. 226 00:11:27,400 --> 00:11:29,660 आप एक वर्ग से में गोता लगा सकते हैं. 227 00:11:29,660 --> 00:11:34,190 तो अब मैं इस नकल करने के लिए जा रहा हूँ, सकारात्मक INT शून्य मिलता है, लेकिन मैं नहीं हूँ 228 00:11:34,190 --> 00:11:35,430 अब एक अर्धविराम मारा जा रहा. 229 00:11:35,430 --> 00:11:38,280 मैं घुंघराले ब्रेसिज़ को खोलने के लिए जा रहा हूँ, और अब मैं उधार लेने की जरूरत 230 00:11:38,280 --> 00:11:39,700 सोमवार से कुछ विचार. 231 00:11:39,700 --> 00:11:44,450 >> आपको याद तो, जैसा कि हम कुछ किया जैसे, जबकि निम्न करना 232 00:11:44,450 --> 00:11:45,830 कुछ सच था. 233 00:11:45,830 --> 00:11:46,630 और मैं क्या किया? 234 00:11:46,630 --> 00:11:51,540 मैं दे ऐसा कुछ किया मुझे एक सकारात्मक पूर्णांक, 235 00:11:51,540 --> 00:11:52,430 एक त्वरित का थोड़ा सा. 236 00:11:52,430 --> 00:11:53,540 मैं मैं चाहता हूँ कि कोई भी शब्द इस्तेमाल कर सकते हैं. 237 00:11:53,540 --> 00:11:54,960 और फिर मैं क्या करता था? 238 00:11:54,960 --> 00:11:59,530 Int n मिल INT, के बराबर होती है यह तर्क नहीं. 239 00:11:59,530 --> 00:12:00,550 >> और अंतर नोटिस. 240 00:12:00,550 --> 00:12:04,680 जब आप का उपयोग आप एक समारोह फोन जब एक समारोह में, आप शून्य में मत डालो. 241 00:12:04,680 --> 00:12:08,570 की घोषणा जब आप केवल करना है कि एक समारोह, संकलक शिक्षण क्या 242 00:12:08,570 --> 00:12:09,780 यह उम्मीद करनी चाहिए. 243 00:12:09,780 --> 00:12:11,650 तो तुम डाल करने की जरूरत नहीं है अपने आप को वहाँ शून्य. 244 00:12:11,650 --> 00:12:12,940 >> और अब मेरी हालत क्या था? 245 00:12:12,940 --> 00:12:19,670 खैर, एन, सकारात्मक करने के बराबर नहीं है लेकिन वह सिर्फ छद्म कोड है. 246 00:12:19,670 --> 00:12:22,530 तो मैं कैसे अधिक सफाई से इस व्यक्त करते हैं? 247 00:12:22,530 --> 00:12:24,090 तो कम से कम या शून्य के बराबर. 248 00:12:24,090 --> 00:12:26,250 तो फिर, तुम क्या कर सकते नोटिस से भी कम या बराबर है. 249 00:12:26,250 --> 00:12:28,100 यह दो अलग है हालांकि प्रतीकों, अगर आप इस पर क्या कर सकते हैं 250 00:12:28,100 --> 00:12:29,350 आपके जैसे कुंजीपटल. 251 00:12:29,350 --> 00:12:33,950 >> लेकिन यह है कि एक बग अभी भी वहाँ है मैं भी अंतिम समय खराब कर दिया है. 252 00:12:33,950 --> 00:12:36,950 मैं घोषणा की है - 253 00:12:36,950 --> 00:12:37,460 बिल्कुल. 254 00:12:37,460 --> 00:12:39,640 मैं बाहर घोषित करने के लिए n है पाश की. 255 00:12:39,640 --> 00:12:44,180 तो मैं यहाँ n खड़ा करने की जरूरत है, और मुझे नहीं पता यहां फिर से घोषित यह चाहते हैं 256 00:12:44,180 --> 00:12:46,480 मैं एक नया चर पाने ऐसा न हो. 257 00:12:46,480 --> 00:12:48,860 मैं बस यहाँ में एक मूल्य प्रदान करना चाहते हैं. 258 00:12:48,860 --> 00:12:54,320 >> और अब मैं काफी यहाँ नहीं कर रहा हूँ. 259 00:12:54,320 --> 00:12:57,290 मुझे अपने आप से आगे निकलते हैं और मैं कर रहा हूँ नाटक. 260 00:12:57,290 --> 00:13:01,220 अब सकारात्मक बनाओ, और एक नए त्रुटि है. 261 00:13:01,220 --> 00:13:04,550 नियंत्रण अंत की पहुँचता गैर शून्य समारोह. 262 00:13:04,550 --> 00:13:07,760 इसलिए नए त्रुटि संदेश है, लेकिन अगर आप की तरह के, अलग शब्दों का प्रत्येक चिढ़ाने यह 263 00:13:07,760 --> 00:13:09,620 शायद क्या गलत है पर संकेत. 264 00:13:09,620 --> 00:13:11,240 >> नियंत्रण. 265 00:13:11,240 --> 00:13:14,250 नियंत्रण सिर्फ आदेश का मतलब एक कार्यक्रम में आपरेशन के. 266 00:13:14,250 --> 00:13:16,510 कंप्यूटर नियंत्रण में है और कुछ गलत हो गया. 267 00:13:16,510 --> 00:13:18,510 तो यह अंत की पहुँचता एक गैर शून्य समारोह. 268 00:13:18,510 --> 00:13:21,760 यह जाहिरा तौर पर क्या समारोह है की चर्चा करते हुए? 269 00:13:21,760 --> 00:13:24,790 क्या समारोह गैर शून्य है? 270 00:13:24,790 --> 00:13:27,400 इसलिए सकारात्मक INT मिलता है, और एक छोटे से , उस कुएं में भ्रमित 271 00:13:27,400 --> 00:13:29,010 यह एक तरह से शून्य है. 272 00:13:29,010 --> 00:13:33,070 इसके लिए शून्य से एक विनिर्देश है इसकी तर्क, लेकिन इसके उत्पादन के लिए जा रहा है 273 00:13:33,070 --> 00:13:34,540 प्रकार n के हो. 274 00:13:34,540 --> 00:13:37,260 तो छोड़ दिया पर शब्द है वापसी प्रकार तथाकथित. 275 00:13:37,260 --> 00:13:40,320 यहां के अंदर पर शब्द है शून्य या अधिक तर्क 276 00:13:40,320 --> 00:13:41,970 एक समारोह लेता है. 277 00:13:41,970 --> 00:13:44,060 >> तो मैं क्या करने की जरूरत है? 278 00:13:44,060 --> 00:13:47,650 मेरे कोड में इस बिंदु पर, 21 लाइन जहां पलक शीघ्र अब, मैं है 279 00:13:47,650 --> 00:13:51,430 अंदर एक सकारात्मक int है n बुलाया चर की. 280 00:13:51,430 --> 00:13:55,200 कैसे मैं यह मुख्य करने के लिए वापस दे? 281 00:13:55,200 --> 00:13:55,960 सचमुच. 282 00:13:55,960 --> 00:13:59,320 N अर्धविराम लौटें. 283 00:13:59,320 --> 00:14:04,090 >> कोल्टन का एक टुकड़ा लौटे तो बस के रूप में छोड़ने के द्वारा मेरे लिए एक जवाब के साथ कागज 284 00:14:04,090 --> 00:14:07,020 छोटी काली में कागज के उस टुकड़े में ऐसा करने के लिए, मेज पर बॉक्स 285 00:14:07,020 --> 00:14:10,100 कोड, तुम सचमुच सिर्फ लिखने वापसी कोल्टन थे के रूप में हालांकि एन, और यह बात है 286 00:14:10,100 --> 00:14:12,140 मुझे वापस भौतिक कुछ सौंपने. 287 00:14:12,140 --> 00:14:15,870 इस मामले में, क्या हो रहा है मिल रहा है सकारात्मक INT वापस सौंपने के लिए जा रहा है 288 00:14:15,870 --> 00:14:19,220 संभवतः एक सकारात्मक है क्या पूर्णांक किसके लिए? 289 00:14:19,220 --> 00:14:21,380 कहां कि मूल्य अंत है? 290 00:14:21,380 --> 00:14:29,080 यही कारण है कि इस चर में समाप्त होता है, एन, और फिर हम लाइन में नौ के साथ आगे बढ़ना. 291 00:14:29,080 --> 00:14:31,920 >> तो आदेश के में दूसरे शब्दों में, संचालन, इस कार्यक्रम शुरू होता है 292 00:14:31,920 --> 00:14:34,430 , को क्रियान्वित करने, और संकलक एहसास ओह, आप पुस्तकालय चाहते हैं? 293 00:14:34,430 --> 00:14:36,310 मुझे लगता है कि अंदर हड़पने के लिए जो कुछ भी हम चलते हैं. 294 00:14:36,310 --> 00:14:37,750 ओह, आप मानक कब पुस्तकालय चाहते हैं? 295 00:14:37,750 --> 00:14:39,660 मुझे लगता है कि अंदर हड़पने के लिए जो कुछ भी हम चलते हैं. 296 00:14:39,660 --> 00:14:44,510 संकलक खुद को क्या कहना है यह लाइन चार हिट? 297 00:14:44,510 --> 00:14:47,980 ओह, आप को लागू करने का वादा किया कहा जाता है समारोह सकारात्मक मिलता है, लेकिन 298 00:14:47,980 --> 00:14:50,820 हम बाद में वापस करने के लिए मिल जाएगा उन पंक्तियों के साथ कुछ. 299 00:14:50,820 --> 00:14:53,450 >> Int मुख्य शून्य सिर्फ यहां का मतलब मेरे कार्यक्रम की हिम्मत. 300 00:14:53,450 --> 00:14:54,990 रेखा सात सिर्फ एक घुंघराले ब्रेस है. 301 00:14:54,990 --> 00:14:59,540 रेखा आठ बाईं तरफ कह रहा है, दे एक पूर्णांक के लिए मुझे 32 बिट, एन कहते हैं. 302 00:14:59,540 --> 00:15:02,160 दाहिने हाथ की तरफ, यह है सकारात्मक INT मिल कह रही. 303 00:15:02,160 --> 00:15:07,120 अब देखते हैं कि कहानी क्योंकि अब हम रोक देते हैं मैं अपने कर्सर नीचे चलती नहीं रखते. 304 00:15:07,120 --> 00:15:11,720 मेरा कर्सर अब यहाँ नीचे चला जाता है क्योंकि अब सकारात्मक INT निष्पादित मिलता है. 305 00:15:11,720 --> 00:15:13,100 Int n घोषित किया जाता है. 306 00:15:13,100 --> 00:15:14,040 निम्न कार्य करें. 307 00:15:14,040 --> 00:15:16,090 Printf मुझे एक सकारात्मक पूर्णांक देता है. 308 00:15:16,090 --> 00:15:19,740 >> उपयोगकर्ता से एक पूर्णांक करें, एन में दुकान, और शायद फिर से और फिर से ऐसा करते हैं. 309 00:15:19,740 --> 00:15:23,010 इस पाश का मतलब है कि इस कोड हो सकता है फिर इस तरह ऊपर और नीचे निष्पादित 310 00:15:23,010 --> 00:15:25,810 और फिर, लेकिन जब उपयोगकर्ता अंततः सहयोग और मुझे एक सकारात्मक देता है 311 00:15:25,810 --> 00:15:31,750 INT, मैं जो बिंदु, रेखा 21 को मारा संख्या पीठ को सौंप दिया है, और कौन सा है 312 00:15:31,750 --> 00:15:34,280 मैं अब उजागर करना चाहिए? 313 00:15:34,280 --> 00:15:35,070 नौ. 314 00:15:35,070 --> 00:15:39,010 नियंत्रण, तो बात है, रिटर्न नौ लाइन करने के लिए. 315 00:15:39,010 --> 00:15:40,650 यही आरोप में अब है कि लाइन है. 316 00:15:40,650 --> 00:15:43,250 >> तो यह है कि सब हो रहा है क्या है इस हुड के नीचे समय है, लेकिन 317 00:15:43,250 --> 00:15:46,480 हम printf जैसे कार्यों का उपयोग किया है जब या यहां तक ​​कि स्ट्रिंग मिलता है कि किसी और को 318 00:15:46,480 --> 00:15:50,600 आप के लिए लिखा था, नियंत्रण सौंप दिया जा रहा था किसी और के कोड लाइन के लिए रवाना 319 00:15:50,600 --> 00:15:51,290 लाइन से लाइन से. 320 00:15:51,290 --> 00:15:53,770 यह सिर्फ हम इसे और हम नहीं देख सकता है वास्तव में इस में यह वर्णन नहीं कर सकता 321 00:15:53,770 --> 00:15:57,620 यह कुछ अन्य में के कार्यक्रम क्योंकि हार्ड ड्राइव पर फाइल 322 00:15:57,620 --> 00:16:00,000 हमें करने के लिए अनजान. 323 00:16:00,000 --> 00:16:02,100 तो चलो वास्तव में संकलन करते हैं और अब इस दौड़. 324 00:16:02,100 --> 00:16:03,890 >> सकारात्मक बनाओ. 325 00:16:03,890 --> 00:16:05,260 संकलित करें, कि प्रगति है. 326 00:16:05,260 --> 00:16:06,650 . / सकारात्मक. 327 00:16:06,650 --> 00:16:08,020 मुझे एक सकारात्मक पूर्णांक दीजिए. 328 00:16:08,020 --> 00:16:08,800 के लिए मुश्किल हो चलो. 329 00:16:08,800 --> 00:16:10,430 नकारात्मक 1. 330 00:16:10,430 --> 00:16:11,360 शून्य. 331 00:16:11,360 --> 00:16:13,370 चलो यह 50 देता हूँ. 332 00:16:13,370 --> 00:16:18,100 50, और इसलिए नियंत्रण के लिए धन्यवाद अब वापस आ गया है. 333 00:16:18,100 --> 00:16:21,750 कोई प्रश्न, तो उस पर? 334 00:16:21,750 --> 00:16:23,180 हाँ? 335 00:16:23,180 --> 00:16:25,630 >> [सुनाई]. 336 00:16:25,630 --> 00:16:26,130 >> फिर से कहो. 337 00:16:26,130 --> 00:16:27,860 ओह, अच्छा सवाल है. 338 00:16:27,860 --> 00:16:31,100 तो तुम यहाँ एक समानांतर नोटिस सकता है कि मैं एक तरह से एक कोने काट रहा हूँ. 339 00:16:31,100 --> 00:16:35,420 12 लाइन में, मैं सकारात्मक INT मिलता है, कह रहा हूँ एक पूर्णांक देता है, लेकिन है कि एक ही द्वारा 340 00:16:35,420 --> 00:16:39,660 तर्क, यह अब में है के लिए खड़ा लाइन छह, मैं कह रहा हूँ कि मुख्य रिटर्न 341 00:16:39,660 --> 00:16:44,040 एक पूर्णांक है, लेकिन क्या हम कभी नहीं हमारे कार्यक्रमों में से किसी में था? 342 00:16:44,040 --> 00:16:46,470 हम उल्लेख की कभी नहीं किया है इस कुंजी शब्द वापसी. 343 00:16:46,470 --> 00:16:49,970 >> तो यह पता चला है कि सी में, कम से कम हम प्रयोग कर रहे हैं कि यह का संस्करण 344 00:16:49,970 --> 00:16:55,750 1999 में बनाया, तकनीकी तौर पर, यह है स्वचालित रूप से आप के लिए हो रहा है. 345 00:16:55,750 --> 00:16:59,300 जब भी आप एक कार्यक्रम को लागू करने और आप मुख्य नामक एक समारोह को लागू करने, 346 00:16:59,300 --> 00:17:04,230 उस समारोह से शून्य वापसी करेंगे आप अन्यथा मत कहो तो डिफ़ॉल्ट, 347 00:17:04,230 --> 00:17:05,849 और शून्य सिर्फ एक सम्मेलन है. 348 00:17:05,849 --> 00:17:09,430 दुनिया रिटर्न जिससे शून्य सब कुछ ठीक है यह दर्शाता है कि, 349 00:17:09,430 --> 00:17:13,040 प्रभावी ढंग से चार अरब साथ हमें छोड़कर जा सकते हैं कि संभव बातें 350 00:17:13,040 --> 00:17:17,530 गलत हम एक लौटने हैं, कि इतना है कि इसका मतलब यह है कि एक कोड का कारक हो सकता है 351 00:17:17,530 --> 00:17:18,310 बात गलत हो गया था. 352 00:17:18,310 --> 00:17:20,589 हम जिसका मतलब है, दो लौट सकता है यह दूसरी बात यह है कि गलत हो गया था. 353 00:17:20,589 --> 00:17:23,440 हम चार अरब लौट सकता है जो यह दूसरी बात यह है कि गलत हो गया था मतलब है. 354 00:17:23,440 --> 00:17:27,170 >> और अब आप अपने खुद के बारे में सोचो पीसी या मैक, आपको याद है कि हो सकता है 355 00:17:27,170 --> 00:17:29,610 कभी कभी आप गुप्त त्रुटि संदेश मिलता है आप कर रहे हैं कि सॉफ्टवेयर से 356 00:17:29,610 --> 00:17:32,650 का उपयोग कर, और कभी कभी यह एक मानव है अनुकूल वर्णन है, लेकिन वहाँ है 357 00:17:32,650 --> 00:17:35,265 अक्सर एक कोड या एक नंबर स्क्रीन पर? 358 00:17:35,265 --> 00:17:37,800 इस मन को नहीं आता है, बस इसके लिए एक आंख बाहर रखने के लिए. 359 00:17:37,800 --> 00:17:40,790 यही कारण है कि आम तौर पर क्या इन कोड की बात कर रहे हैं. 360 00:17:40,790 --> 00:17:44,200 वे माइक्रोसॉफ्ट वर्ड में शामिल कर रहे हैं और अन्य कार्यक्रमों के लिए इतना है कि आप एक फ़ाइल अगर 361 00:17:44,200 --> 00:17:48,850 कंपनी के साथ बग रिपोर्ट, आप कर सकते हैं उन्हें बताओ, ओह, मैं त्रुटि संख्या 45 हो गया. 362 00:17:48,850 --> 00:17:51,750 और कंपनी में कुछ प्रोग्रामर वापस में है कि देख सकते हैं अपने या अपने 363 00:17:51,750 --> 00:17:54,940 कोड और मैं बनाया क्योंकि ओह, यह है, कहना इस बग और यही कारण है कि उपयोगकर्ता है 364 00:17:54,940 --> 00:17:56,240 यह संदेश मिला. 365 00:17:56,240 --> 00:17:59,490 >> लेकिन सच कहूँ तो, यह सिर्फ एक छोटा सा है ध्यान भंग करने के लिए और एक छोटे से कठिन 366 00:17:59,490 --> 00:18:02,130 कम से कम, पर निष्कर्ष है कि हमारी पहले कुछ कार्यक्रमों, तो हम है 367 00:18:02,130 --> 00:18:02,970 यह omitting गया. 368 00:18:02,970 --> 00:18:07,450 लेकिन यह सब समय से हर एक अपनी मुख्य कार्यों को चुपके से इस पड़ा है 369 00:18:07,450 --> 00:18:11,600 स्वचालित रूप से आप के लिए गयी लाइन संकलक, अभी तक कन्वेंशन द्वारा 370 00:18:11,600 --> 00:18:13,172 आप कुछ समय बचाने के लिए. 371 00:18:13,172 --> 00:18:14,620 >> [सुनाई]. 372 00:18:14,620 --> 00:18:16,250 >> आप मुख्य में इसे शामिल करने की जरूरत नहीं है. 373 00:18:16,250 --> 00:18:16,700 यह ठीक है. 374 00:18:16,700 --> 00:18:20,260 अगर तुम थे आप इसे शामिल करने की जरूरत है इस तरह एक समारोह को लागू करने. 375 00:18:20,260 --> 00:18:22,850 अन्यथा समारोह फ्लैट बाहर काम नहीं होगा. 376 00:18:22,850 --> 00:18:24,480 लेकिन मुख्य रूप से, यह आवश्यक नहीं है. 377 00:18:24,480 --> 00:18:28,450 एक या दो सप्ताह में, हम हो रही शुरू करेंगे कि आदत में हम शुरू करना चाहते हैं एक बार 378 00:18:28,450 --> 00:18:29,690 त्रुटियों वाचक. 379 00:18:29,690 --> 00:18:32,550 बहुत अच्छा सवाल. 380 00:18:32,550 --> 00:18:36,880 >> उल्लेख करने के लिए इतनी जल्दी मौखिक तोड़ने इस शुक्रवार, हम दोपहर का भोजन करने के लिए नहीं 381 00:18:36,880 --> 00:18:39,980 दर असल, लेकिन हम साथ खाना खा सकता हूँ छात्रों और स्टाफ के कुछ. 382 00:18:39,980 --> 00:18:42,940 आप हमारे साथ शामिल करना चाहते हैं, तो लग रहा है cs50.net/rsvp के लिए जाने के लिए स्वतंत्र. 383 00:18:42,940 --> 00:18:45,030 6:00 इस शुक्रवार. 384 00:18:45,030 --> 00:18:47,990 अंतरिक्ष, हमेशा की तरह, सीमित है, लेकिन हम करेंगे लगभग एक पर इन कर जारी 385 00:18:47,990 --> 00:18:51,420 साप्ताहिक आधार अगर अंतरिक्ष इस सप्ताह बाहर चलाता है. 386 00:18:51,420 --> 00:18:56,160 >> इसलिए हम बंद पर छोड़ दिया है कि cliffhanger सोमवार था कि तार कर सकते हैं वास्तव में 387 00:18:56,160 --> 00:19:00,520 सिर्फ तुम, जिसका अर्थ में अनुक्रमित किया पहले चरित्र पर प्राप्त कर सकते हैं, 388 00:19:00,520 --> 00:19:03,770 दूसरा चरित्र, तीसरे चरित्र और बहुत आगे है, आप कर सकते हैं क्योंकि 389 00:19:03,770 --> 00:19:07,860 प्रभावी रूप की तरह, एक स्ट्रिंग के बारे में सोच नमस्कार, इस मामले में पांच में होने के रूप में 390 00:19:07,860 --> 00:19:09,670 बक्से के अंदर पत्र. 391 00:19:09,670 --> 00:19:13,370 और अगर आप उन लोगों में से प्रत्येक में प्राप्त कर सकते हैं वाक्यविन्यास हम क्या किया साथ बॉक्स 392 00:19:13,370 --> 00:19:15,230 सोमवार को परिचय? 393 00:19:15,230 --> 00:19:16,760 उन वर्ग कोष्ठक अपने कीबोर्ड पर. 394 00:19:16,760 --> 00:19:18,980 वह सिर्फ स्थान शून्य करने के लिए जाने का मतलब है. 395 00:19:18,980 --> 00:19:22,840 >> हम शून्य पर गिनती शुरू, तो ब्रैकेट शून्य घंटे, ब्रैकेट एक प्रतीक है 396 00:19:22,840 --> 00:19:25,170 इसके आगे ई का प्रतीक है, और. 397 00:19:25,170 --> 00:19:28,490 और इसलिए हम किया गया है जब सभी समय तार का उपयोग और "हैलो" में टाइपिंग 398 00:19:28,490 --> 00:19:31,250 और "दुनिया" और अन्य बातों पर स्क्रीन, इसे संग्रहित किया गया है 399 00:19:31,250 --> 00:19:32,820 इस तरह से बॉक्स में. 400 00:19:32,820 --> 00:19:33,370 और एक अनुमान ले. 401 00:19:33,370 --> 00:19:37,470 प्रत्येक बॉक्स शारीरिक रूप से क्या दर्शाता है आपके कंप्यूटर के अंदर? 402 00:19:37,470 --> 00:19:38,250 >> [सुनाई]. 403 00:19:38,250 --> 00:19:39,150 >> क्षमा करें? 404 00:19:39,150 --> 00:19:39,580 >> वर्ण. 405 00:19:39,580 --> 00:19:44,760 >> निश्चित रूप से इस मामले में तो एक चरित्र, तार, और एक चरित्र है बस का 406 00:19:44,760 --> 00:19:46,800 आठ बिट्स या एक बाइट. 407 00:19:46,800 --> 00:19:49,550 तो आप शायद कम से कम थोड़ा हैं इस तथ्य से परिचित है कि आपके 408 00:19:49,550 --> 00:19:50,500 कंप्यूटर मेमोरी है. 409 00:19:50,500 --> 00:19:52,110 यह कम से कम स्मृति की दो प्रकार की है. 410 00:19:52,110 --> 00:19:54,810 एक तुम्हें बचा जहां हार्ड डिस्क है स्थायी रूप से सामान, और वह है, 411 00:19:54,810 --> 00:19:57,400 तो आप फिल्मों में हो सकता है आम तौर पर बड़े और इसके आगे के संगीत और. 412 00:19:57,400 --> 00:20:04,010 >> तो फिर तुम स्मृति का एक और प्रकार है कहा जाता है राम, आर ए एम, रैंडम एक्सेस 413 00:20:04,010 --> 00:20:07,510 मेमोरी, और इस स्मृति के प्रकार है आपके कंप्यूटर है कि जब प्रयोग किया जाता है 414 00:20:07,510 --> 00:20:11,520 चल रहा है लेकिन आप शक्ति खो देते हैं या अगर आपके बैटरी, संग्रह किया गया है कि कुछ मर जाता है 415 00:20:11,520 --> 00:20:15,300 तुम शक्ति खो देते हैं तो रैम में गायब हो जाता है यह नहीं है पूरी तरह क्योंकि 416 00:20:15,300 --> 00:20:16,060 लगातार. 417 00:20:16,060 --> 00:20:19,120 आप आमतौर पर इन दिनों, एक है इसके बारे में टमटम, दो gigs, शायद अधिक. 418 00:20:19,120 --> 00:20:23,490 और राम के ऊपर है कि यह बहुत है कि है हार्ड डिस्क से भी ज्यादा, बहुत तेजी से 419 00:20:23,490 --> 00:20:27,390 या यहां तक ​​कि ठोस राज्य, इन दिनों ड्राइव लेकिन यह आम तौर पर और अधिक महंगा है तो 420 00:20:27,390 --> 00:20:28,480 आप इसके बारे में कम है. 421 00:20:28,480 --> 00:20:32,400 >> तो आज की बातचीत वास्तव में संदर्भित करता है राम को, स्मृति की है कि प्रकार है कि 422 00:20:32,400 --> 00:20:35,270 बिजली वहाँ केवल जबकि मौजूद आपके कंप्यूटर में खिलाया जा रहा है. 423 00:20:35,270 --> 00:20:40,530 आप एच ई एल एल ओ में लिखें तो, जब पर दर्ज कीबोर्ड, एच से एक में जा रहा है 424 00:20:40,530 --> 00:20:44,550 राम की बाइट, ई में जा रहा है राम का एक और बाइट के रूप में है 425 00:20:44,550 --> 00:20:45,800 शब्द के बाकी. 426 00:20:45,800 --> 00:20:49,010 तो हम सक्षम थे क्या याद पिछली बार ऐसा करने के लिए यह किया गया था. 427 00:20:49,010 --> 00:20:53,940 मुझे आगे जाना है और फ़ाइल खोल दो. हम string.c कहा जाता है, और याद है कि 428 00:20:53,940 --> 00:20:56,860 यह एक छोटे से देखा कि कुछ इस तरह. 429 00:20:56,860 --> 00:20:59,860 मुझे वास्तव में पीठ और परिवर्तन रोल यह लग रहा था जैसे कि वास्तव में क्या 430 00:20:59,860 --> 00:21:02,654 एस की स्ट्रिंग लंबाई. 431 00:21:02,654 --> 00:21:04,560 >> तो यहाँ कार्यक्रम को देखो. 432 00:21:04,560 --> 00:21:08,530 हम CS50 पुस्तकालय में शामिल हैं तो हम मिल स्ट्रिंग का उपयोग कर सकते हैं. 433 00:21:08,530 --> 00:21:11,400 हम मानक io.h शामिल इसलिए हम printf का उपयोग कर सकते हैं. 434 00:21:11,400 --> 00:21:13,580 क्यों हम string.h शामिल किया? 435 00:21:13,580 --> 00:21:16,980 इस सोमवार को नया था. 436 00:21:16,980 --> 00:21:18,230 इसलिए हम स्ट्रिंग लंबाई चाहता था. 437 00:21:18,230 --> 00:21:19,090 स्ट्रीट लेंग. 438 00:21:19,090 --> 00:21:21,470 लोग साल पहले का फैसला किया है, चलो बस संक्षिप्त हो. 439 00:21:21,470 --> 00:21:24,290 इसके बजाय "स्ट्रिंग की लंबाई," यह फोन की के "Str लेंग 'कहते हैं और चलो 440 00:21:24,290 --> 00:21:28,540 दुनिया कि यह पता लगाने, और इतना है कि हम string.h साथ के लिए उपयोग हो क्या. 441 00:21:28,540 --> 00:21:29,390 >> इस परिचित है. 442 00:21:29,390 --> 00:21:30,320 इस परिचित है. 443 00:21:30,320 --> 00:21:31,450 इस परिचित है. 444 00:21:31,450 --> 00:21:32,370 यह एक छोटे से नया है. 445 00:21:32,370 --> 00:21:35,420 लाइन 22 में - और हम वापस आ जाएंगे इस के लिए, लेकिन अब पता के लिए - 446 00:21:35,420 --> 00:21:37,880 और आप ही होने से यह पता होगा प्रलेखन पढ़ा है या अगर 447 00:21:37,880 --> 00:21:39,010 आप पहले से ही सी पता था - 448 00:21:39,010 --> 00:21:41,510 स्ट्रिंग कभी कभी बिगाड़ सकता हो. 449 00:21:41,510 --> 00:21:45,130 उपयोगकर्ता वास्तव में विरोधात्मक या है तो असहयोगी और वह बस 450 00:21:45,130 --> 00:21:49,450 कीबोर्ड पर कुछ भी लिख सकते हैं या नहीं करता कि कीबोर्ड पर इतना प्रकार 451 00:21:49,450 --> 00:21:53,760 यह कंप्यूटर की स्मृति पड़ा, सिद्धांत रूप में, स्ट्रिंग लौट सकता है मिल 452 00:21:53,760 --> 00:21:56,270 एक अन्य की तुलना में कुछ वर्णों की स्ट्रिंग. 453 00:21:56,270 --> 00:22:01,930 यह कहा जाता है एक विशेष मूल्य वापसी कर सकता रिक्त सभी टोपियां में, एन यू एल एल, और यह है 454 00:22:01,930 --> 00:22:03,390 सिर्फ एक तथाकथित प्रहरी मूल्य. 455 00:22:03,390 --> 00:22:08,010 यह प्रतीक है कि एक विशेष मूल्य है कुछ बुरा इस मामले में हुआ. 456 00:22:08,010 --> 00:22:10,520 यह एक स्ट्रिंग का अभाव है. 457 00:22:10,520 --> 00:22:16,190 >> मैं बस इतना है कि के लिए जाँच कर रहा हूँ तो अशक्त, लंबी कहानी को कम, Str लेंग और 458 00:22:16,190 --> 00:22:20,230 सी के साथ आया है कि अन्य कार्यों, अगर वे एक स्ट्रिंग की उम्मीद है, लेकिन आप उन्हें पारित 459 00:22:20,230 --> 00:22:23,630 तुम पास अगर एक स्ट्रिंग के अभाव, उन्हें खबरें, कंप्यूटर या कार्यक्रम 460 00:22:23,630 --> 00:22:25,000 सिर्फ एकमुश्त दुर्घटना होगा. 461 00:22:25,000 --> 00:22:25,610 यह रखती हूँ. 462 00:22:25,610 --> 00:22:27,250 यह कुछ त्रुटि संदेश फेंक देंगे. 463 00:22:27,250 --> 00:22:28,690 बुरा होगा. 464 00:22:28,690 --> 00:22:31,130 तो यह अभी भी है, भले ही अच्छी तरह से परिभाषित नहीं - 465 00:22:31,130 --> 00:22:33,730 इस एक सप्ताह में और अधिक समझ बनाने के लिए या जाएगा दो - पंक्ति 22 में, यह सिर्फ एक है 466 00:22:33,730 --> 00:22:38,790 आत्म रक्षात्मक त्रुटि जाँच का उदाहरण बस से बाहर का मामला एक बार में 467 00:22:38,790 --> 00:22:42,040 एक लाख कुछ गलत हो जाता कम से कम मेरे कार्यक्रम दुर्घटना नहीं होगा. 468 00:22:42,040 --> 00:22:45,960 >> , बुरा कुछ के बराबर होती नहीं करता है तो अगर मैं पाश के लिए यह किया है, और यह था 469 00:22:45,960 --> 00:22:47,710 हम था कि जहां अन्य वाक्यविन्यास का नया टुकड़ा. 470 00:22:47,710 --> 00:22:51,580 मैं से एक के लिए लूप पुनरावृति है एस की लंबाई तक पर शून्य. 471 00:22:51,580 --> 00:22:56,140 और फिर यहाँ, मैं एक बाहर मुद्रण की थी ब्रैकेट मैं, लेकिन मैं क्यों की सभी ग% का उपयोग किया था 472 00:22:56,140 --> 00:23:00,770 अचानक बजाय% भी हालांकि एक स्ट्रिंग है? 473 00:23:00,770 --> 00:23:02,110 यह सही, एक चरित्र है? 474 00:23:02,110 --> 00:23:06,560 एस एक स्ट्रिंग है, लेकिन है ब्रैकेट कुछ, एस ब्रैकेट मैं जहाँ मैं शून्य है 475 00:23:06,560 --> 00:23:10,380 या एक या दो, कि एक व्यक्ति की स्ट्रिंग में चरित्र, और के लिए ऐसा 476 00:23:10,380 --> 00:23:14,970 कि, printf सूचित करने की आवश्यकता है यह वास्तव में उम्मीद करने के लिए एक चरित्र है. 477 00:23:14,970 --> 00:23:18,096 >> और फिर यह क्या किया, याद कार्यक्रम वास्तव में क्या है? 478 00:23:18,096 --> 00:23:19,848 >> कॉलम में इसे बाहर मुद्रित. 479 00:23:19,848 --> 00:23:21,120 >> हाँ, बिल्कुल. 480 00:23:21,120 --> 00:23:24,990 यह सिर्फ मैं में लिखे जाने वाले शब्द मुद्रित एक स्तंभ, प्रत्येक पंक्ति में एक चरित्र. 481 00:23:24,990 --> 00:23:26,190 तो चलो फिर से इस देखते हैं. 482 00:23:26,190 --> 00:23:27,810 तो स्ट्रिंग बनाने. 483 00:23:27,810 --> 00:23:30,200 ठीक संकलित. . / स्ट्रिंग. 484 00:23:30,200 --> 00:23:35,560 , मुझे एच ई एल एल ओ में टाइप करते दर्ज करें, और वास्तव में मैं, एक प्रति पंक्ति यह मिलता है. 485 00:23:35,560 --> 00:23:37,280 >> तो मुझे यहाँ एक अनुकूलन करते हैं. 486 00:23:37,280 --> 00:23:40,240 आप विशेष रूप से है, तो इसके बारे में सोचो तुम वहाँ है, पहले क्रमादेशित है 487 00:23:40,240 --> 00:23:43,340 24 लाइन में यकीनन एक अक्षमता. 488 00:23:43,340 --> 00:23:46,160 दूसरे शब्दों में, यह जरूरी नहीं है सर्वश्रेष्ठ डिजाइन. 489 00:23:46,160 --> 00:23:50,200 कम से कम आप एक बार, सीधा क्या याद Str लेंग है, लेकिन यह बात है 490 00:23:50,200 --> 00:23:52,640 संभवतः गूंगा कुछ कर रही है. 491 00:23:52,640 --> 00:23:54,863 कि क्या हो सकता है? 492 00:23:54,863 --> 00:23:56,280 >> [सुनाई]. 493 00:23:56,280 --> 00:23:56,800 >> बिल्कुल सही. 494 00:23:56,800 --> 00:24:00,340 यह है की लंबाई के लिए जाँच कर रहा है हर एक समय भले ही 495 00:24:00,340 --> 00:24:02,980 एच ई एल एल ओ हमेशा जा रहा है पांच अक्षरों का होना. 496 00:24:02,980 --> 00:24:05,490 इस पाश के माध्यम से हर समय, पांच नहीं बदल रहा है. 497 00:24:05,490 --> 00:24:08,750 मैं मैं incrementing, लेकिन क्या किया जा सकता है हर तरफ है की लंबाई है 498 00:24:08,750 --> 00:24:09,690 इस पाश का चलना? 499 00:24:09,690 --> 00:24:15,810 यह पांच है, यह पांच है, पांच है, और अभी तक मैं फिर भी यह पूछ रहा हूँ 500 00:24:15,810 --> 00:24:18,320 सवाल फिर और फिर और फिर. 501 00:24:18,320 --> 00:24:20,750 अब सच में, कंप्यूटर तो बहुत है तेजी से, कोई भी सूचना के लिए जा रहा है एक 502 00:24:20,750 --> 00:24:23,780 इस मामले में अंतर है, लेकिन इन प्रकार के गरीब डिजाइन निर्णय कर सकते हैं 503 00:24:23,780 --> 00:24:28,330 ऊपर जोड़ने के लिए शुरू अगर संकलक ही आप के लिए इसे ठीक करने की कोशिश नहीं करता है जो 504 00:24:28,330 --> 00:24:30,630 यह आम तौर पर, नहीं होगा उपकरण में कम से कम. 505 00:24:30,630 --> 00:24:31,540 >> तो मैं यह करने के लिए जा रहा हूँ. 506 00:24:31,540 --> 00:24:34,580 के बाद मैं एक अल्पविराम जोड़ने के लिए जा रहा हूँ मेरा पहला चर, मैं. 507 00:24:34,580 --> 00:24:37,310 मैं अपने आप को एक और देने जा रहा हूँ चर, एन, यह फोन अभी से 508 00:24:37,310 --> 00:24:41,330 फिर नंबर के लिए कन्वेंशन, और मैं कर रहा हूँ n स्ट्रिंग के मूल्य प्रदान करने के लिए जा रहा 509 00:24:41,330 --> 00:24:42,530 एस की लंबाई. 510 00:24:42,530 --> 00:24:46,060 और फिर मैं परिवर्तन करने जा रहा हूँ मेरी हालत क्या हो सकता है? 511 00:24:46,060 --> 00:24:51,960 मैं अपनी हालत बदलने के लिए जा रहा हूँ मैं n से भी कम है, जबकि करने के लिए. 512 00:24:51,960 --> 00:24:55,700 >> तो अब, कितनी बार मैं कर रहा हूँ एस की लंबाई की जाँच? 513 00:24:55,700 --> 00:25:00,110 एक बार, लेकिन इसके खिलाफ मैं जाँच करने के लिए ठीक है एन बार बार क्योंकि अब उन 514 00:25:00,110 --> 00:25:03,170 मानों वास्तव में नहीं बदल रहे हैं. 515 00:25:03,170 --> 00:25:06,020 अब अब के लिए, सिर्फ इतना है कि कभी भी तुम्हें पता है एक समारोह फोन, की एक सा है 516 00:25:06,020 --> 00:25:09,930 आप को हतोत्साहित करने के लिए भूमि के ऊपर, पर्याप्त नहीं वास्तव में कभी कार्यों का उपयोग कर, लेकिन से 517 00:25:09,930 --> 00:25:12,750 कोड की एक पंक्ति है कि वहाँ निश्चित रूप से जब जैसे कि - और लाइनों मिलेगा 518 00:25:12,750 --> 00:25:15,490 लंबे समय से पहले और अधिक रोचक - जहां सोचने के लिए एक अवसर है, अगर वहाँ मैं 519 00:25:15,490 --> 00:25:18,320 इस कोड टाइप करें, कितने यह समय पर अमल करेंगे? 520 00:25:18,320 --> 00:25:20,950 आप समय के साथ देखना शुरू करेंगे अपने कार्यक्रमों का प्रदर्शन कर सकते हैं 521 00:25:20,950 --> 00:25:21,660 वास्तव में बदल जाते हैं. 522 00:25:21,660 --> 00:25:24,110 >> वास्तव में, इस समस्या का एक हम है सेट पिछले कुछ वर्षों में शामिल किया 523 00:25:24,110 --> 00:25:27,600 आप से याद कर सकते हैं, को लागू सप्ताह शून्य, एक जादू चेकर, लेकिन एक 524 00:25:27,600 --> 00:25:31,380 समर्थन करने के लिए तैयार है कि चेकर जादू 150,000 से अधिक का एक शब्दकोश 525 00:25:31,380 --> 00:25:32,860 हम तुम लोगों को दे कि शब्द. 526 00:25:32,860 --> 00:25:37,100 आप कोड लिखना होगा कि भार उन शब्दों राम में, में तो 527 00:25:37,100 --> 00:25:40,700 हम स्क्रीन एक पल पर देखा बॉक्स की तरह आप के रूप में पहले, और तब के रूप में तेजी 528 00:25:40,700 --> 00:25:43,740 , आप एक जवाब देने में सक्षम होने की जरूरत है सकते हैं फार्म का सवाल है, यह शब्द है 529 00:25:43,740 --> 00:25:44,280 गलत वर्तनी? 530 00:25:44,280 --> 00:25:45,420 इस शब्द गलत वर्तनी है? 531 00:25:45,420 --> 00:25:46,770 इस शब्द गलत वर्तनी है? 532 00:25:46,770 --> 00:25:49,525 >> और हम है क्या है कि ऐसा कुछ में अतीत में यह बदल गया है साल में किया, 533 00:25:49,525 --> 00:25:53,500 एक विकल्प के वैकल्पिक आधार पर हालांकि, एक जिससे एक तरह की प्रतिस्पर्धा, 534 00:25:53,500 --> 00:25:59,470 कम रैम और कम उपयोग करने वाले छात्रों समय, कम CPU चक्र, अंत तक 535 00:25:59,470 --> 00:26:02,640 एक छोटे से ऊपर तक बुदबुदाती हम पर डाल दिया है कि नेता बोर्ड या रैंकिंग 536 00:26:02,640 --> 00:26:04,770 हम है के रूप में पाठ्यक्रम के होमपेज पिछले कुछ वर्षों में किया. 537 00:26:04,770 --> 00:26:08,100 तो फिर, पूरी तरह से वैकल्पिक है, लेकिन इस डिजाइन के अवसर के लिए बोलती है 538 00:26:08,100 --> 00:26:11,250 हम शुरू में एक बार आगे हैं इनमें से कुछ के ऊपर इमारत 539 00:26:11,250 --> 00:26:14,010 बुनियादी इमारत ब्लॉकों. 540 00:26:14,010 --> 00:26:16,780 >> इसलिए मेरे लिए वापस इस चित्र के लिए चलते हैं बस एक पल और एक छोटे से पता चलता है 541 00:26:16,780 --> 00:26:17,610 अधिक कुछ. 542 00:26:17,610 --> 00:26:21,400 यह वास्तव में एक स्ट्रिंग है, और हम ले लिया है कुछ पुस्तकालयों का लाभ, 543 00:26:21,400 --> 00:26:25,150 - है जो मानक io.h 544 00:26:25,150 --> 00:26:26,110 >> Printf. 545 00:26:26,110 --> 00:26:27,860 >> अन्य बातों के अलावा printf,. 546 00:26:27,860 --> 00:26:31,540 cs50.h, जो INT पाने के लिए और स्ट्रिंग मिल गया है और बहुत आगे है, string.h, जो 547 00:26:31,540 --> 00:26:32,570 Str लेंग था. 548 00:26:32,570 --> 00:26:34,800 लेकिन यह एक और अभी तक वहाँ पता चला है. 549 00:26:34,800 --> 00:26:38,540 सच कहूँ तो, बहुत से और हेडर के बहुत सारे है कार्यों की घोषणा कि फाइलें 550 00:26:38,540 --> 00:26:43,320 पुस्तकालयों, लेकिन इस ctype.h है के लिए वास्तव में कुछ हद तक होने जा रहा 551 00:26:43,320 --> 00:26:46,900 लाभप्रद मैं जा रहा हूँ क्योंकि आगे बढ़ो और एक को लागू करने के लिए 552 00:26:46,900 --> 00:26:48,120 यहाँ अन्य कार्यक्रम. 553 00:26:48,120 --> 00:26:52,420 >> मुझे आगे जाना है और कुछ खोल दो. मैंने फोन अग्रिम में लिखा 554 00:26:52,420 --> 00:26:55,750 capitalize.c, और ले जाने एक यह कैसे काम करता है पर दिखेगा. 555 00:26:55,750 --> 00:27:00,340 मैं इस संस्करण में, का उपयोग कर रहा हूँ कि नोटिस इसके बारे में, तीन परिचित फ़ाइलें. 556 00:27:00,340 --> 00:27:04,110 18 लाइन में, मैं कर रहा हूँ कि नोटिस पाठ की एक पंक्ति हो रही है. 557 00:27:04,110 --> 00:27:07,660 21 लाइन में सूचना, मैं दावा कर रहा है कि निम्नलिखित कोड जा रहा है 558 00:27:07,660 --> 00:27:12,170 एस टाइप, जो कुछ उपयोगकर्ता भुनाने में, और कैसे मैं क्या कर रही हूँ? 559 00:27:12,170 --> 00:27:13,300 खैर, मैं ले जा रहा हूँ - 560 00:27:13,300 --> 00:27:14,750 पिछली बार से सबक सीखा - 561 00:27:14,750 --> 00:27:18,370 मैं मैं की घोषणा और एन और iterating कर रहा हूँ स्ट्रिंग में वर्णों से अधिक. 562 00:27:18,370 --> 00:27:22,720 और फिर इस ब्लॉक का क्या है लाइन में कोड 24 27 के माध्यम से 563 00:27:22,720 --> 00:27:24,550 आम आदमी की दृष्टि में क्या कर रही? 564 00:27:24,550 --> 00:27:27,766 565 00:27:27,766 --> 00:27:29,730 >> वापस छोटा अक्षर. 566 00:27:29,730 --> 00:27:30,430 >> बिल्कुल सही. 567 00:27:30,430 --> 00:27:35,920 अगर ब्रैकेट मैं - यदि ऐसा है तो मैं वें एक विशिष्ट है जो एस के चरित्र, 568 00:27:35,920 --> 00:27:40,220 स्ट्रिंग में चार, की तुलना में अधिक है या बराबर एक छोटे और को - 569 00:27:40,220 --> 00:27:42,670 कि डबल एम्परसेंड याद दर्शाता है और - 570 00:27:42,670 --> 00:27:46,810 और एक ही चरित्र, एस ब्रैकेट मैं है से भी कम या लोअरकेस Z करने के लिए बराबर है, 571 00:27:46,810 --> 00:27:50,600 कि यह एक एक या एक बी या सी है या इसका मतलब डॉट, दूरसंचार विभाग, दूरसंचार विभाग, या एक Z, जो साधन 572 00:27:50,600 --> 00:27:51,340 यह लोअरकेस है. 573 00:27:51,340 --> 00:27:52,900 क्या मैं उस मामले में क्या करना चाहते हैं? 574 00:27:52,900 --> 00:27:55,010 खैर, मैं कुछ हद तक ऐसा कर सकते हैं cryptically, लेकिन 575 00:27:55,010 --> 00:27:56,160 के अलावा इस तंग करते हैं. 576 00:27:56,160 --> 00:28:00,210 >> मैं printf, प्रिंट% ग कॉल करने के लिए जा रहा हूँ मैं इस पुनर्मुद्रण करना चाहते हैं क्योंकि 577 00:28:00,210 --> 00:28:01,580 परदे पर चरित्र. 578 00:28:01,580 --> 00:28:06,650 मैं तो, एस ब्रैकेट मैं ले जा रहा हूँ मैं वें सेकेंड में चरित्र, और तब क्यों 579 00:28:06,650 --> 00:28:12,330 मैं यहाँ इस छोटी सी चाल कर रही हूँ एक शून्य से राजधानी एक छोटे? 580 00:28:12,330 --> 00:28:16,352 क्या देने जा रहा है मुझे, आम तौर पर बोल? 581 00:28:16,352 --> 00:28:18,600 >> [सुनाई]. 582 00:28:18,600 --> 00:28:19,390 >> बिल्कुल सही. 583 00:28:19,390 --> 00:28:20,860 मैं सच में याद नहीं है - 584 00:28:20,860 --> 00:28:24,390 यह मैं नहीं वास्तव में राजधानी ए के लिए 65 था एक है लोअरकेस क्या याद, 585 00:28:24,390 --> 00:28:25,540 लेकिन कोई बात नहीं. 586 00:28:25,540 --> 00:28:26,580 कंप्यूटर जानता है. 587 00:28:26,580 --> 00:28:30,380 तो कह कर, एक शून्य से लोअरकेस राजधानी ए, यह होना अजीब है 588 00:28:30,380 --> 00:28:33,530 एक दूसरे से चार घटाकर, लेकिन हुड के नीचे घर का काम कर रहे हैं? 589 00:28:33,530 --> 00:28:34,520 वे बस संख्या रहे हैं. 590 00:28:34,520 --> 00:28:36,980 तो उन लोगों की संख्या, जो भी कंप्यूटर यह याद करते हैं 591 00:28:36,980 --> 00:28:38,240 बल्कि मानव मुझसे ज्यादा. 592 00:28:38,240 --> 00:28:41,710 >> तो एक शून्य से राजधानी एक है लोअरकेस मुझे एक फर्क देने जा रहा. 593 00:28:41,710 --> 00:28:45,370 यह 32 होना होता है, और उस होगा लोअरकेस ख और पूंजी बी के मामले 594 00:28:45,370 --> 00:28:45,930 और बहुत आगे है. 595 00:28:45,930 --> 00:28:47,710 यह शुक्र है, लगातार रहता है. 596 00:28:47,710 --> 00:28:51,930 तो मैं अनिवार्य रूप से ले, कह रहा हूँ छोटा अक्षर, बंद घटाना कि 597 00:28:51,930 --> 00:28:55,340 मानक अंतर है, और है कि प्रभावी ढंग से परिवर्तन के ब्रैकेट मैं से 598 00:28:55,340 --> 00:28:59,400 लोअरकेस करने के लिए, ज़ाहिर है, बड़े, मेरी वास्तव में लगता है कि बिना 599 00:28:59,400 --> 00:29:03,040 या के बारे में उन क्या थे, याद हम जब आठ के बारे में बात की संख्या 600 00:29:03,040 --> 00:29:04,800 स्वयंसेवकों मंच पर आए थे? 601 00:29:04,800 --> 00:29:08,800 अब इस बीच, किसी और में, अगर ऐसा नहीं है निर्धारित के रूप में एक छोटा अक्षर 602 00:29:08,800 --> 00:29:10,400 24 लाइन द्वारा, बस इसे बाहर प्रिंट. 603 00:29:10,400 --> 00:29:12,590 मैं केवल छूना चाहता हूँ थे कि वर्ण 604 00:29:12,590 --> 00:29:14,410 वास्तव में मूल रूप से लोअरकेस. 605 00:29:14,410 --> 00:29:15,150 >> तो चलो इस देखते हैं. 606 00:29:15,150 --> 00:29:17,400 भुनाने बनाओ. 607 00:29:17,400 --> 00:29:18,470 ठीक है, संकलित. 608 00:29:18,470 --> 00:29:19,730 . / भुनाने. 609 00:29:19,730 --> 00:29:23,530 और मुझे एच ई एल एल ओ में टाइप करते लोअर केस में दर्ज करें. 610 00:29:23,530 --> 00:29:26,370 और यह बदल जाती है कि नोटिस अपरकेस में. 611 00:29:26,370 --> 00:29:27,940 मेरे साथ फिर से यह करते हैं एक अलग शब्द. 612 00:29:27,940 --> 00:29:32,720 कैसे पहले डी के साथ डी ए वी आई डी के बारे में एक नाम आमतौर पर है के रूप में पूंजीकृत? 613 00:29:32,720 --> 00:29:33,560 दर्ज करें. 614 00:29:33,560 --> 00:29:34,870 यह अभी भी सही का नोटिस. 615 00:29:34,870 --> 00:29:40,250 यह सिर्फ outputted पहले डी अपरिवर्तित कि कि किसी और के माध्यम से निर्माण. 616 00:29:40,250 --> 00:29:42,170 >> तो ध्यान में रखना है, तो, एक यहाँ चीजों की जोड़ी. 617 00:29:42,170 --> 00:29:45,060 एक, क्या तुमने कभी दो जाँच करना चाहते हैं शर्तों पर एक बार, आप कर सकते हैं और उन्हें 618 00:29:45,060 --> 00:29:46,500 हम भविष्यवाणी एक साथ के रूप में. 619 00:29:46,500 --> 00:29:49,900 आप इस तरह से पात्रों की तुलना कर सकते हैं और प्रभावी रूप से पात्रों के रूप में इलाज 620 00:29:49,900 --> 00:29:53,050 संख्या, लेकिन स्पष्ट रूप से, यह तो बहुत है गुप्त मुझे याद है कभी नहीं जा रहा हूँ 621 00:29:53,050 --> 00:29:56,510 खरोंच से इस के साथ आने के लिए कैसे काफी के लिए इसे माध्यम से तर्क के बिना 622 00:29:56,510 --> 00:29:57,140 समय का एक सा. 623 00:29:57,140 --> 00:30:00,590 >> यह अच्छा नहीं होता अगर किसी को वहाँ से बाहर बुलाया एक समारोह है लिखा 624 00:30:00,590 --> 00:30:05,390 सच है कि मेरे या के लिए जवाब सकता है कम झूठे, इस चरित्र लोअरकेस है? 625 00:30:05,390 --> 00:30:09,350 वैसे शुक्र है, जो कोई भी लिखा ctype.h यही किया. 626 00:30:09,350 --> 00:30:15,540 मुझे यहाँ चलते हैं और सी के लिए ctype जोड़ प्रकार, और अब मुझे यहाँ नीचे चलते हैं और 627 00:30:15,540 --> 00:30:18,820 इस प्रकार के रूप में इस लाइन को फिर से लिखना. 628 00:30:18,820 --> 00:30:27,510 >> इसलिए यह कहा जाता है, तो मैं दावा, कम S है ब्रैकेट मैं, तो मैं नष्ट करने के लिए जा रहा हूँ 629 00:30:27,510 --> 00:30:29,400 कुल मिलाकर इन दो लाइनों. 630 00:30:29,400 --> 00:30:32,570 तो अब किसी और से, मैं उम्मीद कर रहा हूँ, लिखा कहा जाता है एक समारोह में यह कम है, और 631 00:30:32,570 --> 00:30:36,250 वे किया था और वे घोषित पता चला है यह ctype.h के अंदर. 632 00:30:36,250 --> 00:30:39,480 और अब मैं रेखा 27 छोड़ने के लिए जा रहा हूँ अकेले, मैं रेखा 31 छोड़ने के लिए जा रहा हूँ 633 00:30:39,480 --> 00:30:41,890 अकेले, लेकिन मैं कितना नोटिस मेरे कोड को कड़ा. 634 00:30:41,890 --> 00:30:42,690 अब यह साफ है. 635 00:30:42,690 --> 00:30:47,250 यह माध्यम से देखने के लिए कम मुश्किल है अब समारोह, इसके अलावा, क्योंकि 636 00:30:47,250 --> 00:30:50,080 इतनी शानदार बस यह नाम यह क्या कहता है. 637 00:30:50,080 --> 00:30:51,520 >> तो अब मैं इस बचाने के लिए जा रहा हूँ. 638 00:30:51,520 --> 00:30:52,930 मैं बाहर ज़ूम करने के लिए जा रहा हूँ. 639 00:30:52,930 --> 00:30:56,650 और सिर्फ खरोंच के रूप में तुम हो सकता Booleans, बूलियन मान सही है या 640 00:30:56,650 --> 00:31:01,530 झूठे, कि वास्तव में क्या है कम प्रभावी रूप से देता है. 641 00:31:01,530 --> 00:31:02,960 मुझे फिर कंपाइल करने दें. 642 00:31:02,960 --> 00:31:04,500 फिर से चलाने के लिए मुझे करने दें. 643 00:31:04,500 --> 00:31:07,350 और अब फिर से कोशिश करते हैं, एच ई एल एल ओ, लिखें. 644 00:31:07,350 --> 00:31:07,970 वो काफ़ी अच्छा है. 645 00:31:07,970 --> 00:31:10,150 और यकीन है कि मैं बनाने के लिए, इसे फिर से कोशिश कुछ बिगाड़ नहीं था. 646 00:31:10,150 --> 00:31:11,670 उस के रूप में अच्छी तरह से पूंजीकृत है. 647 00:31:11,670 --> 00:31:14,190 >> लेकिन यह पर्याप्त नहीं है क्योंकि मैं कभी नहीं जा रहा हूँ कि अन्य बात 648 00:31:14,190 --> 00:31:19,090 मैं वास्तव में यह माध्यम से काम जब तक याद ध्यान से पर, कहते हैं, कागज है 649 00:31:19,090 --> 00:31:19,920 इस लानत लाइन. 650 00:31:19,920 --> 00:31:23,450 अगर वहाँ थे यह अच्छा नहीं होगा ऊपरी करने के लिए कहा जाता है एक समारोह? 651 00:31:23,450 --> 00:31:26,930 वैसे यह वहाँ पता चला है साथ ही ctype.h में है. 652 00:31:26,930 --> 00:31:30,150 मुझे आगे जाना है और टाइप करने के लिए जा रहा हूँ - 653 00:31:30,150 --> 00:31:31,340 मुझे उस लाइन को वापस लाने करते हैं. 654 00:31:31,340 --> 00:31:36,430 इसके बजाय यह यहाँ की, मुझे आगे चलते हैं और कहते हैं, ग% के लिए विकल्प 655 00:31:36,430 --> 00:31:42,110 इस समारोह बुला के परिणाम एस मैं वें चरित्र पर ऊपरी. 656 00:31:42,110 --> 00:31:45,430 और अब यह हो रही है नोटिस एक छोटे से संतुलित. 657 00:31:45,430 --> 00:31:48,870 मैं का ट्रैक रखने के लिए कितने मैं खोला और बंद कर दिया है कोष्ठकों. 658 00:31:48,870 --> 00:31:50,050 >> तो अब यह भी साफ है. 659 00:31:50,050 --> 00:31:53,460 अब इस कार्यक्रम के बेहतर हो रही है और क्योंकि यह बेहतर यकीनन बनाया गया 660 00:31:53,460 --> 00:31:56,450 और अधिक पठनीय, ज्यादा लेकिन यह कोई चलो सही है. 661 00:31:56,450 --> 00:31:57,600 भुनाने बनाओ. 662 00:31:57,600 --> 00:31:58,930 . / भुनाने. 663 00:31:58,930 --> 00:32:03,220 एच ई एल एल ओ. फिर इसे चलाते हैं, डी ए वी आई डी. ठीक है, तो हम में अब भी कर रहे हैं 664 00:32:03,220 --> 00:32:04,250 बहुत अच्छी हालत. 665 00:32:04,250 --> 00:32:06,030 >> लेकिन अब ऊपरी करने के लिए. 666 00:32:06,030 --> 00:32:09,720 मैं एक और भी है कि प्रस्ताव हम चाहते हैं कि होगा बना सकता शोधन 667 00:32:09,720 --> 00:32:12,820 वास्तव में अच्छा है, कि वास्तव में कस सकता है इस कोड को और वास्तव में हमें पाँच दे 668 00:32:12,820 --> 00:32:15,150 उदाहरण के लिए डिजाइन के लिए पांच से बाहर. 669 00:32:15,150 --> 00:32:16,510 क्या से छुटकारा पाने के लिए अच्छा होगा? 670 00:32:16,510 --> 00:32:20,770 खैर, देखो कैसे लानत लंबे समय से इस ब्लॉक की कोड सिर्फ सरल कुछ करना है. 671 00:32:20,770 --> 00:32:23,850 >> अब एक अलग रूप में, हो सकता है आप के रूप में के रूप में यह पिछले सुपर अनुभाग में देखा 672 00:32:23,850 --> 00:32:27,570 सप्ताह के अंत में, तुम सख्ती की जरूरत नहीं है घुंघराले ब्रेसिज़ आप सिर्फ एक है जब 673 00:32:27,570 --> 00:32:32,180 हम प्रस्तावित भले ही कोड की रेखा, यह बहुत बनाता है, ताकि उन्हें रखने 674 00:32:32,180 --> 00:32:36,190 खरोंच है यू के आकार में की तरह, और अधिक स्पष्ट ब्लॉक, शाखा के अंदर क्या है. 675 00:32:36,190 --> 00:32:40,170 लेकिन यह अगर ऊपरी करने के लिए अच्छा नहीं होगा अपने इनपुट दिया, जब में बदल गया 676 00:32:40,170 --> 00:32:44,730 अगर ऐसा नहीं है अपरकेस, और क्या होगा विपरीत स्थिति में अद्भुत होगा अगर 677 00:32:44,730 --> 00:32:47,210 यह पहले से ही अपरकेस है? 678 00:32:47,210 --> 00:32:49,620 बस के माध्यम से पारित और उसे अकेला छोड़ दें. 679 00:32:49,620 --> 00:32:50,660 >> तो शायद यह है कि. 680 00:32:50,660 --> 00:32:52,990 मैं कोशिश करते हैं और सिर्फ आशा कर सकता यह करता है, लेकिन मुझे है कि 681 00:32:52,990 --> 00:32:54,450 एक अन्य बात यह है कि परिचय. 682 00:32:54,450 --> 00:32:57,440 इसके बजाय इस में निर्मित टर्मिनल का उपयोग करने का यहाँ नीचे खिड़की, याद है कि 683 00:32:57,440 --> 00:33:01,130 इस वर्ग काला आइकन आप एक देता है बड़ा टर्मिनल विंडो कि मैं पूरा कर सकते हैं 684 00:33:01,130 --> 00:33:02,260 मैं चाहता हूँ कि अगर स्क्रीन? 685 00:33:02,260 --> 00:33:05,820 तो यह है कि वे एक तरह से अजीब तरह से कर रहे हैं पता चला है नाम है, लेकिन कहा जाता है कि इन बातों को नहीं है 686 00:33:05,820 --> 00:33:10,970 मैन पेज, मैनुअल पृष्ठों, कम करने के लिए आदमी, और मैं ने इन पर पहुंच सकता है 687 00:33:10,970 --> 00:33:14,515 टाइपिंग आदमी - 688 00:33:14,515 --> 00:33:15,570 क्या मैं टाइप करने के लिए करना चाहते हैं? 689 00:33:15,570 --> 00:33:17,830 ऊपरी को मैन. 690 00:33:17,830 --> 00:33:21,090 >> एक वहाँ मौजूद है और अब नोटिस में, कंप्यूटर के अंदर से कार्य 691 00:33:21,090 --> 00:33:23,970 इस मामले में अभी जो उपकरण, लिनक्स, यह जा रहा है ऑपरेटिंग सिस्टम 692 00:33:23,970 --> 00:33:27,920 मुझे कुछ हद तक एक गुप्त सेट के लिए देने के लिए उत्पादन, लेकिन आप समय पर मिल जाएगा 693 00:33:27,920 --> 00:33:31,720 यह हमेशा बहुत ज्यादा स्वरूपित है एक ही इतनी है कि आप इसे करने के लिए इस्तेमाल किया जाना शुरू करते हैं. 694 00:33:31,720 --> 00:33:35,130 ऊपरी को शीर्ष पर ध्यान दें, और जाहिरा तौर पर एक ही दस्तावेज है 695 00:33:35,130 --> 00:33:35,680 कम करने के लिए. 696 00:33:35,680 --> 00:33:38,740 यह कुछ काट रहा था जो भी लिखा कोनों और एक पृष्ठ पर यह सब डाल दिया. 697 00:33:38,740 --> 00:33:40,720 में इन बातों को 'उद्देश्य जीवन बदल रहा है एक 698 00:33:40,720 --> 00:33:42,780 ऊपरी या छोटे करने के लिए पत्र. 699 00:33:42,780 --> 00:33:46,290 >> सार, आदमी पृष्ठ के तहत सूचना है कि मैं क्या फ़ाइल मुझे सिखा रही है 700 00:33:46,290 --> 00:33:48,130 इस बात का उपयोग करने के लिए शामिल करने के लिए. 701 00:33:48,130 --> 00:33:51,320 यह मुझे इन के लिए हस्ताक्षर दे रही है काम करता है, उन दोनों, भी 702 00:33:51,320 --> 00:33:53,510 हम अभी केवल यद्यपि एक के बारे में परवाह है. 703 00:33:53,510 --> 00:33:54,730 यहाँ अब एक वर्णन है. 704 00:33:54,730 --> 00:33:58,800 ऊपरी पत्र धर्मान्तरित यदि संभव हो तो अपरकेस सी. 705 00:33:58,800 --> 00:34:02,280 >> फिर भी उस शिक्षाप्रद, लेकिन मुझे नहीं अब वापसी मान, बात नीचे देखो 706 00:34:02,280 --> 00:34:03,520 उस पीठ को सौंप दिया है. 707 00:34:03,520 --> 00:34:08,600 तो लौटा मूल्य की है परिवर्तित अक्षर या ग अगर 708 00:34:08,600 --> 00:34:09,870 रूपांतरण संभव नहीं था. 709 00:34:09,870 --> 00:34:11,202 सी क्या है? 710 00:34:11,202 --> 00:34:12,560 >> मूल चरित्र. 711 00:34:12,560 --> 00:34:15,370 >> मूल चरित्र और हम जानते हैं उस से, फिर से, करने के लिए ऊपर जा रहा 712 00:34:15,370 --> 00:34:19,179 सार, और जो कोई भी यह लिखा समारोह सिर्फ फैसला किया है कि इनपुट 713 00:34:19,179 --> 00:34:22,909 ऊपरी को और कम करने के लिए बस है मनमाने ढंग से सी के नाम से जाना जा रहा है. 714 00:34:22,909 --> 00:34:24,909 वे इसे सबसे कुछ कहा हो सकता है वे चाहते हैं, लेकिन वे इसे रखा 715 00:34:24,909 --> 00:34:26,270 सी के रूप में सरल. 716 00:34:26,270 --> 00:34:27,880 इसलिए मैं आदमी पृष्ठ सलाह है. 717 00:34:27,880 --> 00:34:31,870 यह वाक्य मुझे आश्वस्त है कि अगर यह एक छोटा अक्षर नहीं है, यह बात है 718 00:34:31,870 --> 00:34:34,969 बस है, जो सी मुझे वापस देने जा रहा जिसका मतलब है, सही मैं से छुटकारा मिल सकता 719 00:34:34,969 --> 00:34:36,199 मेरी किसी और शर्त. 720 00:34:36,199 --> 00:34:39,679 >> तो मुझे वापस फंट के चलते हैं, और अब मुझे सिर्फ यह करते हैं. 721 00:34:39,679 --> 00:34:41,960 मैं अपने printf बयान कॉपी करने के लिए जा रहा हूँ. 722 00:34:41,960 --> 00:34:45,969 मैं सही अंदर आगे जाने के लिए जा रहा हूँ मिलता है कि बाहर, और के लिए लूप प्रिंट 723 00:34:45,969 --> 00:34:48,760 अब इस पूरे निर्माण अगर से छुटकारा. 724 00:34:48,760 --> 00:34:51,860 एक बुरा विचार नहीं था, और यह बहुत था बहुत सही और साथ संगत 725 00:34:51,860 --> 00:34:54,100 हम प्रचार किया गया है सब कुछ, लेकिन सिर्फ आवश्यक नहीं. 726 00:34:54,100 --> 00:34:57,070 जैसे ही आप कुछ पुस्तकालय का एहसास के रूप में समारोह में मौजूद है कि किसी और को 727 00:34:57,070 --> 00:35:01,340 लिखा था, या शायद आप में कहीं लिखा फ़ाइल, आप वास्तव में इसका इस्तेमाल कर सकते हैं और 728 00:35:01,340 --> 00:35:02,690 कोड को मजबूत करने के लिए शुरू करते हैं. 729 00:35:02,690 --> 00:35:06,080 >> और मैं अच्छा शैली की तरह बातें कहते हैं, इस व्यक्ति को कहा जाता है कि तथ्य 730 00:35:06,080 --> 00:35:11,490 पहले से ऊपरी, या करने के लिए समारोह है कम शानदार उपयोगी है क्योंकि 731 00:35:11,490 --> 00:35:12,900 वे बहुत वर्णनात्मक रहे हैं. 732 00:35:12,900 --> 00:35:16,120 आप अपने कार्यों कॉल नहीं करना चाहती एक्स और वाई और जेड, जो है 733 00:35:16,120 --> 00:35:19,620 बहुत, बहुत कम अर्थ. 734 00:35:19,620 --> 00:35:25,160 उस श्रृंखला पर किसी भी सवाल सुधार की? 735 00:35:25,160 --> 00:35:28,010 >> इसलिए में से एक कहने के लिए पर्याप्त takeaways भी अपनी खुद की समस्या के रूप में है 736 00:35:28,010 --> 00:35:30,960 शायद समस्या एक सेट, लेकिन - सेट निश्चित रूप से पी आगे, यहां तक ​​कि दो सेट और 737 00:35:30,960 --> 00:35:34,380 वे जरूरी नहीं सही कर रहे हैं जब वे सही कर रहे हैं मतलब सिर्फ 738 00:35:34,380 --> 00:35:36,155 अभी तक या विशेष रूप से अच्छी तरह से डिजाइन. 739 00:35:36,155 --> 00:35:38,420 यही कारण है कि अन्य धुरी के लिए है के बारे में सोच शुरू करते हैं. 740 00:35:38,420 --> 00:35:41,730 तो इस के अंदर एक स्ट्रिंग था अपने कंप्यूटर की मेमोरी, लेकिन यदि आपके पास एक 741 00:35:41,730 --> 00:35:46,180 एच ई एल एल ओ की तरह पात्रों की पूरी गुच्छा रैम, और अनुमान के अंदर 742 00:35:46,180 --> 00:35:51,330 अपने कार्यक्रम के कॉल में आप स्ट्रिंग मिलता है कई बार ऐसा है कि आप 743 00:35:51,330 --> 00:35:54,200 आप तो, एक बार तार मिल कॉल फिर तार मिल कहते हैं. 744 00:35:54,200 --> 00:35:55,880 खैर, क्या हो रहा है समय के साथ हो? 745 00:35:55,880 --> 00:35:59,170 >> दूसरे शब्दों में, आप की एक पंक्ति है अगर कोड, यद्यपि संदर्भ से बाहर, जैसे 746 00:35:59,170 --> 00:36:02,120 स्ट्रिंग एस हो जाता है - 747 00:36:02,120 --> 00:36:02,960 चलो यह करते हैं. 748 00:36:02,960 --> 00:36:05,270 स्ट्रिंग नाम स्ट्रिंग पाने के बराबर होती है. 749 00:36:05,270 --> 00:36:08,590 तो कोड की है कि लाइन का मतलब है लगता है उसके नाम के लिए उपयोगकर्ता पूछने के लिए. 750 00:36:08,590 --> 00:36:14,580 कोड की यह अगली पंक्ति पूछने का मतलब है अपने या अपने स्कूल के लिए उपयोगकर्ता, और 751 00:36:14,580 --> 00:36:15,920 इसके आगे इस अगली पंक्ति, और. 752 00:36:15,920 --> 00:36:18,150 हम पूछते रहते हैं कि मान लीजिए किसी अन्य के लिए उपयोगकर्ता और 753 00:36:18,150 --> 00:36:19,750 एक और एक स्ट्रिंग. 754 00:36:19,750 --> 00:36:22,390 वे स्मृति में बने रहने के लिए जा रहे हैं एक ही समय में. 755 00:36:22,390 --> 00:36:24,280 एक अन्य पीटना करने के लिए नहीं जा रहा है. 756 00:36:24,280 --> 00:36:26,420 स्कूल दूसरे के ऊपर लिख नहीं है. 757 00:36:26,420 --> 00:36:28,520 लेकिन जहां वे सब करते हैं स्मृति में खत्म? 758 00:36:28,520 --> 00:36:32,030 >> खैर, हम स्क्रीन पर आकर्षित करने के लिए शुरू, हम इस बात का उपयोग कर सकते हैं जो 759 00:36:32,030 --> 00:36:35,800 यहाँ एक चॉकबोर्ड तरह, अगर इस काले आयत मेरे कंप्यूटर का प्रतिनिधित्व करता है 760 00:36:35,800 --> 00:36:39,800 स्मृति, मैं मनमाने ढंग से शुरू करने जा रहा हूँ छोटे वर्गों में विभाजित, 761 00:36:39,800 --> 00:36:42,120 प्रत्येक का प्रतिनिधित्व करता है जो की स्मृति की एक बाइट. 762 00:36:42,120 --> 00:36:46,560 सच कहूँ, तुम राम की एक गीगाबाइट है अगर इन दिनों, तुम एक अरब बाइट्स है 763 00:36:46,560 --> 00:36:49,540 आपके कंप्यूटर में स्मृति की, तो इन वर्गों का एक अरब. 764 00:36:49,540 --> 00:36:52,110 तो कहने के लिए पर्याप्त है, इस वास्तव में बड़े पैमाने पर नहीं है. 765 00:36:52,110 --> 00:36:58,250 >> लेकिन हम आपको इन सब ड्राइंग रख सकता है स्पष्ट रूप से वर्गों पैमाने पर, और इस के लिए नहीं 766 00:36:58,250 --> 00:37:01,260 सामूहिक रूप से प्रतिनिधित्व करता है मेरे कंप्यूटर की मेमोरी. 767 00:37:01,260 --> 00:37:03,136 अब हम सिर्फ डॉट, दूरसंचार विभाग, दूरसंचार विभाग करूँगा. 768 00:37:03,136 --> 00:37:06,260 तो दूसरे शब्दों में, मैं अब प्रांप्ट जब मुझे एक देने के लिए तार के साथ उपयोगकर्ता 769 00:37:06,260 --> 00:37:07,350 स्ट्रिंग, क्या होता है? 770 00:37:07,350 --> 00:37:14,270 यदि उपयोगकर्ता प्रकार में "हैलो," समाप्त होता है कि एच ई एल एल ओ में. लेकिन लगता है 771 00:37:14,270 --> 00:37:15,720 उपयोगकर्ता तब प्रकार में - 772 00:37:15,720 --> 00:37:17,250 वास्तव में, मैं ऐसा नहीं करना चाहिए हैलो हम पूछ रहे हैं क्योंकि 773 00:37:17,250 --> 00:37:18,330 उनके नामों के लिए उन्हें. 774 00:37:18,330 --> 00:37:20,580 तो मैं ऐसा कर सकते हैं अगर चलो वापस जाना. 775 00:37:20,580 --> 00:37:26,130 >> इसलिए मैं अपने नाम के लिए D-A-V-मैं डी में लिखते हैं, तो लेकिन याद है कि दूसरी लाइन 776 00:37:26,130 --> 00:37:29,220 कोड फिर से मिल स्ट्रिंग था उनके स्कूल को पाने के लिए. 777 00:37:29,220 --> 00:37:32,090 कहाँ है कि शब्द है कि उपयोगकर्ता अगले जाने के लिए जाने में प्रकार? 778 00:37:32,090 --> 00:37:38,290 वैसे, शायद इस बारे में जाना जा रहा है एच ए आर वी ए आर डी. तो मैं करने के बावजूद 779 00:37:38,290 --> 00:37:41,560 दो पंक्तियों के रूप में यह तैयार है, यह सिर्फ है में बाइट्स की एक पूरी गुच्छा आपके 780 00:37:41,560 --> 00:37:42,710 कंप्यूटर की रैम. 781 00:37:42,710 --> 00:37:46,560 अब मैं कर रहा हूँ, क्योंकि अगर एक समस्या अब नहीं है यह बहुत ही उचित में राम का उपयोग 782 00:37:46,560 --> 00:37:49,910 लेकिन एक तरह से अनुभवहीन रास्ता, क्या आप कर सकते हैं जाहिरा तौर पर भेद नहीं? 783 00:37:49,910 --> 00:37:52,640 784 00:37:52,640 --> 00:37:54,680 एक शुरू होता है और जहां जहां एक सही, समाप्त हो जाती है? 785 00:37:54,680 --> 00:37:55,860 वे एक तरह से एक साथ धुंधला कर रहे हैं. 786 00:37:55,860 --> 00:37:57,920 >> तो यह कंप्यूटर पता चला है ऐसा नहीं है. 787 00:37:57,920 --> 00:38:04,720 मुझे वास्तव में समय एक में वापस स्क्रॉल कुछ अक्षर, और बजाय हार्वर्ड की 788 00:38:04,720 --> 00:38:09,570 उपयोगकर्ता के नाम के बाद तुरंत जा रहा है, उपयोगकर्ता वास्तव में पीछे, हो जाता है 789 00:38:09,570 --> 00:38:12,000 पर्दे के एक विशेष चरित्र द्वारा डाला 790 00:38:12,000 --> 00:38:13,885 उसे या के लिए कंप्यूटर. 791 00:38:13,885 --> 00:38:19,470 अन्यथा नुल चरित्र के रूप में जाना / 0, annoyingly एन यू एल, नहीं बुलाया 792 00:38:19,470 --> 00:38:22,190 एन यू एल एल, लेकिन आप / 0 के रूप में यह लिखना. 793 00:38:22,190 --> 00:38:27,130 यह सिर्फ सभी शून्य बिट्स में एक मार्कर है पहला शब्द के बीच में है कि उपयोगकर्ता 794 00:38:27,130 --> 00:38:28,290 टाइप और दूसरा. 795 00:38:28,290 --> 00:38:33,020 >> तो हार्वर्ड वास्तव में अब समाप्त होता है अक्षरों के इस दृश्य के रूप में 796 00:38:33,020 --> 00:38:36,110 और एक अधिक / 0. 797 00:38:36,110 --> 00:38:41,690 तो दूसरे शब्दों में, इन होने से प्रहरी मूल्यों, आठ सटे शून्य 798 00:38:41,690 --> 00:38:45,220 बिट्स, आप अब भेद करने के लिए शुरू कर सकते हैं एक से एक चरित्र. 799 00:38:45,220 --> 00:38:49,720 तो "नमस्ते" हो गया है क्या यह सब समय वास्तव में "नमस्ते" एक / 0 के साथ, और 800 00:38:49,720 --> 00:38:53,580 इस बीच, बहुत अच्छी तरह से कर सकता है बहुत थोड़ा अधिक रैम हो 801 00:38:53,580 --> 00:38:56,400 कंप्यूटर के अंदर. 802 00:38:56,400 --> 00:38:57,810 >> मुझे अब एक और बात करते हैं. 803 00:38:57,810 --> 00:39:01,800 यह पता चला है कि इन वर्गों के सभी हम, हाँ, वे कर रहे हैं, ड्राइंग किया गया है 804 00:39:01,800 --> 00:39:06,140 तार, लेकिन अधिक आम तौर पर, इन बातों सरणियों हैं. 805 00:39:06,140 --> 00:39:10,590 एक सरणी स्मृति का सिर्फ एक हिस्सा है कि, वापस वापस करने के लिए वापस करने के लिए वापस आ गया है 806 00:39:10,590 --> 00:39:15,130 और आप आम तौर पर जिस तरह से एक सरणी का उपयोग इस वर्ग कोष्ठक अंकन की. 807 00:39:15,130 --> 00:39:18,210 इसलिए हम इन काफी थोड़ा को देखने के लिए जा रहे हैं समय के साथ, लेकिन मुझे आगे चलते हैं और 808 00:39:18,210 --> 00:39:21,160 ऊपर खुला, की उम्र में यह कहते हैं. 809 00:39:21,160 --> 00:39:23,920 और हम के साथ क्या कर सकते हैं नोटिस ये वही चाल, एक छोटे से 810 00:39:23,920 --> 00:39:25,750 यहाँ और अधिक वाक्यविन्यास काटा. 811 00:39:25,750 --> 00:39:29,270 >> इसलिए इस कार्यक्रम के 17 लाइन में - वास्तव में, मुझे पहला कार्यक्रम चलाते हैं 812 00:39:29,270 --> 00:39:30,770 इसलिए हम इस बात करता है देख सकते हैं. 813 00:39:30,770 --> 00:39:33,530 मेरे लिए उम्र बनाना कहते हैं इस कार्यक्रम संकलन. 814 00:39:33,530 --> 00:39:34,950 . / उम्र. 815 00:39:34,950 --> 00:39:36,480 कितने लोगों के कमरे में कर रहे हैं? 816 00:39:36,480 --> 00:39:38,020 यह तीन बुलाओ. 817 00:39:38,020 --> 00:39:39,575 पहले व्यक्ति की उम्र? 818 00:39:39,575 --> 00:39:42,710 18, 19, और 20. 819 00:39:42,710 --> 00:39:46,770 और अब कुछ हद तक हास्यास्पद है, मैं बस एक कार्यक्रम बनाया है कि उम्र के उन 820 00:39:46,770 --> 00:39:47,740 तीन लोग. 821 00:39:47,740 --> 00:39:50,390 >> तो एक अवसर स्पष्ट रूप से नहीं है यहाँ कुछ मज़ा गणित के लिए. 822 00:39:50,390 --> 00:39:51,560 शुक्र है, गणित सही है. 823 00:39:51,560 --> 00:39:54,720 18 चला गया 19, 19 के लिए चला गया 20 करने के लिए और बहुत आगे है. 824 00:39:54,720 --> 00:39:58,510 लेकिन क्या वास्तव में होने का मतलब है यहाँ उदाहरण हम भंडारण कर रहे हैं कि कैसे है 825 00:39:58,510 --> 00:40:00,190 उन तीन लोगों की उम्र. 826 00:40:00,190 --> 00:40:02,370 मुझे क्या है पर में ज़ूम यहाँ पर जा रहा. 827 00:40:02,370 --> 00:40:06,240 >> तो सबसे पहले, इन पहले कुछ लाइनें चाहिए बहुत परिचित हो रही हो. 828 00:40:06,240 --> 00:40:08,770 मैं बस के लिए उपयोगकर्ता उत्साह रहा हूँ कमरे में लोगों की संख्या. 829 00:40:08,770 --> 00:40:11,490 फिर मैं int का उपयोग और कर रहा हूँ करने के लिए है, जबकि फिर और फिर और फिर से ऐसा करते हैं. 830 00:40:11,490 --> 00:40:15,780 हम पहले उस पैटर्न देखा है, लेकिन लाइन 27 वास्तव में काफी नया और है 831 00:40:15,780 --> 00:40:18,160 उपयोगी, और बन जाएगा तेजी से उपयोगी. 832 00:40:18,160 --> 00:40:21,620 क्या लाइन 27 में अलग है कि नोटिस मैं एक घोषित करने जा दिखाई देते है 833 00:40:21,620 --> 00:40:23,960 उम्र बुलाया int, लेकिन इंतजार. 834 00:40:23,960 --> 00:40:27,140 यह सिर्फ उम्र int नहीं है. 835 00:40:27,140 --> 00:40:30,130 इन वर्ग कोष्ठक नहीं है, जो के अंदर n है. 836 00:40:30,130 --> 00:40:35,150 >> इस संदर्भ में तो ब्रैकेट एन, नहीं यहाँ एक printf बयान के अंदर लेकिन 837 00:40:35,150 --> 00:40:44,370 इस एकमात्र लाइन 27 में, इस पंक्ति है कह रही है,, मुझे ints n जिनमें से प्रत्येक दे 838 00:40:44,370 --> 00:40:46,080 प्रकार int की है. 839 00:40:46,080 --> 00:40:49,870 तो यह की, तो बात है, एक बाल्टी है इस मामले में, तीन पूर्णांकों वापस करने के लिए 840 00:40:49,870 --> 00:40:52,770 वापस वापस करने के लिए इतना है कि मैं प्रभावी ढंग से तीन चर है. 841 00:40:52,770 --> 00:40:54,890 वैकल्पिक हो सकता है, स्पष्ट है, यह होगा. 842 00:40:54,890 --> 00:40:57,400 >> मैं चाहता था कि यदि पहले छात्र की उम्र, मैं यह कर सकता है. 843 00:40:57,400 --> 00:40:59,520 मैं चाहता था तो दूसरा छात्र की उम्र मैं यह कर सकता है. 844 00:40:59,520 --> 00:41:01,860 मैं चाहता था कि यदि तीसरे छात्र की उम्र, मैं यह कर सकता है. 845 00:41:01,860 --> 00:41:04,320 और भगवान हम हर किसी की जरूरत न करे इस कमरे में उम्र - 846 00:41:04,320 --> 00:41:07,670 मेरा मतलब है, यह नकल का एक बहुत की एक बिल्ली है, फिर और फिर और फिर से पेस्ट करें. 847 00:41:07,670 --> 00:41:10,870 और अधिक मैं इस कार्यक्रम संकलन एक बार, एक और छात्र पर बाहर में चलता है अगर 848 00:41:10,870 --> 00:41:14,200 उस दरवाजे की, अब मेरा नंबर चर का ग़लत है. 849 00:41:14,200 --> 00:41:17,450 >> तो क्या एक सरणी के बारे में अच्छा है के रूप में है तुम अपने आप को महसूस करने लगते हैं जल्द ही के रूप में 850 00:41:17,450 --> 00:41:20,190 कॉपी करने और चिपकाने, बाधाओं है कि कर रहे हैं नहीं सबसे अच्छा दृष्टिकोण. 851 00:41:20,190 --> 00:41:22,240 एक सरणी संभावित गतिशील है. 852 00:41:22,240 --> 00:41:24,610 मैं पहले से पता नहीं है कि कितने लोग कमरे में होने जा रहे हैं, 853 00:41:24,610 --> 00:41:28,670 लेकिन मुझे लगता है मैं उनमें से पता की जरूरत है पता है, और मैं हूँ जब समय आता है n यह पता लगाने. 854 00:41:28,670 --> 00:41:35,500 कोड की यह पंक्ति अब मतलब है, एक मुझे दे इस तरह लग रहा है कि स्मृति का हिस्सा 855 00:41:35,500 --> 00:41:40,380 जहां स्क्रीन पर बक्से की संख्या n पर पूरी तरह से निर्भर है कि 856 00:41:40,380 --> 00:41:42,010 अंदर टाइप किया उपयोगकर्ता 857 00:41:42,010 --> 00:41:44,850 >> तो अब इस कार्यक्रम के बाकी है क्या हम वास्तव में बहुत समान 858 00:41:44,850 --> 00:41:46,860 सिर्फ अक्षर के साथ किया था. 859 00:41:46,860 --> 00:41:49,970 मैं पाश के लिए एक नोटिस लाइन 30 में शुरू. 860 00:41:49,970 --> 00:41:54,920 मैं सरणी मिलता है तो सही होने के बाद, मैं y से पुनरावृति n करने के लिए ऊपर पर शून्य के बराबर होती है. 861 00:41:54,920 --> 00:41:58,890 मैं सिर्फ यह शिक्षाप्रद printf है सिर्फ इतना कह संदेश, मुझे उम्र दे 862 00:41:58,890 --> 00:42:03,690 व्यक्ति #% मैं की, तो नंबर एक, नंबर दो, तीन नंबर. 863 00:42:03,690 --> 00:42:04,730 और मैं ऐसा क्यों किया? 864 00:42:04,730 --> 00:42:08,870 सच कहूँ तो, मनुष्य एक से गिनती करने के लिए पसंद करते हैं पर कंप्यूटर वैज्ञानिकों जबकि ऊपर, 865 00:42:08,870 --> 00:42:09,620 शून्य अप पर. 866 00:42:09,620 --> 00:42:11,700 कंप्यूटर वैज्ञानिकों के लिए नहीं जा रहे हैं कार्यक्रम के इस तरह के उपयोग, तो हम कर रहे हैं 867 00:42:11,700 --> 00:42:13,990 बस गिनती शुरू करने जा रहा सामान्य लोगों की तरह एक पर. 868 00:42:13,990 --> 00:42:17,630 >> और अब लाइन 33 में, थोड़ा नोटिस वाक्यविन्यास के विभिन्न टुकड़ा. 869 00:42:17,630 --> 00:42:23,710 प्रकार का है कि चर में मैं वें उम्र सरणी एक पूर्णांक प्राप्त करने के लिए जा रहा है. 870 00:42:23,710 --> 00:42:25,770 और अब अंत में, यह बस है यहाँ नीचे अंकगणितीय. 871 00:42:25,770 --> 00:42:29,200 मैं दावा करने के लिए एक अलग पाश में निर्णय लिया कुछ समय के लिए इस में अब गुजरता है, और 872 00:42:29,200 --> 00:42:31,400 अलग पाश, इन पंक्तियों को निष्पादित. 873 00:42:31,400 --> 00:42:35,810 >> अब से एक साल, व्यक्ति मैं मैं हो जाएगा वर्ष पुराना है, लेकिन इस पर ध्यान नहीं है 874 00:42:35,810 --> 00:42:36,500 चर मैं. 875 00:42:36,500 --> 00:42:38,390 यह अब int के लिए% मैं है. 876 00:42:38,390 --> 00:42:43,210 और पहली प्लेसहोल्डर के रूप में नोटिस, मैं मैं प्लस 1 में प्लग, तो हम एक तरह गिनती 877 00:42:43,210 --> 00:42:44,250 सामान्य व्यक्ति. 878 00:42:44,250 --> 00:42:49,190 और फिर उनके उम्र के मूल्य के लिए, के लिए मैं वर्ष पुराना है, मैं उम्र ब्रैकेट ले 879 00:42:49,190 --> 00:42:52,980 मैं - और यही कारण है कि मैं यहाँ एक प्लस कर रहा हूँ? 880 00:42:52,980 --> 00:42:53,760 वे सिर्फ वृद्ध. 881 00:42:53,760 --> 00:42:55,030 यह कार्यक्रम के मेरे बेवकूफ पसंद है. 882 00:42:55,030 --> 00:42:56,810 वे सिर्फ एक साल के आयु वर्ग के. 883 00:42:56,810 --> 00:42:59,770 मैं किसी भी संख्या में टाइप कर सकते हैं कि मैं वास्तव में वहाँ चाहते हैं. 884 00:42:59,770 --> 00:43:02,430 >> तो क्या वास्तव में सब है यहाँ प्रासंगिकता? 885 00:43:02,430 --> 00:43:07,610 खैर, मुझे वास्तव में वापस स्क्रॉल यहाँ पर और एक तस्वीर रंग 886 00:43:07,610 --> 00:43:10,830 क्या आगे झूठ की. 887 00:43:10,830 --> 00:43:15,720 हम अपने अगले के साथ कर रही हो जाएगा क्या समस्या सेट दो में dabbling है 888 00:43:15,720 --> 00:43:17,070 क्रिप्टोग्राफी की दुनिया. 889 00:43:17,070 --> 00:43:22,500 तो इस अक्षर का एक स्ट्रिंग है, तो एक कई घर का काम के अनुक्रम, और क्या 890 00:43:22,500 --> 00:43:23,750 यह कहना है? 891 00:43:23,750 --> 00:43:28,530 892 00:43:28,530 --> 00:43:30,600 यह ऑनलाइन संस्करण में नहीं है स्लाइड्स की. 893 00:43:30,600 --> 00:43:35,880 >> इसलिए मुझे लगता है कि यह इस एक समानता के आधार पर दावा है कि कई सालों से बेवकूफ विज्ञापन 894 00:43:35,880 --> 00:43:39,950 पहले वास्तव में याद हो सकता है कि इसके मूल में से एक. 895 00:43:39,950 --> 00:43:42,740 तो यह एन्क्रिप्शन का एक उदाहरण है या क्रिप्टोग्राफी. 896 00:43:42,740 --> 00:43:46,150 यह पता चला है कि अगर आप चाहते हैं वास्तव में जानकारी या साझा करें 897 00:43:46,150 --> 00:43:49,310 सुरक्षित रूप से किसी के साथ जानकारी, इस तरह से एक संदेश की तरह, आप कर सकते हैं 898 00:43:49,310 --> 00:43:50,500 पत्र हाथापाई. 899 00:43:50,500 --> 00:43:53,170 लेकिन आम तौर पर, शब्द हैं बेतरतीब ढंग तले नहीं. 900 00:43:53,170 --> 00:43:56,365 वे किसी तरह permuted या बदल रहे हैं किसी तरह से इतना है कि - उफ़. 901 00:43:56,365 --> 00:43:59,040 अगली बार के लिए एक मजेदार बिगाड़ने है. 902 00:43:59,040 --> 00:44:04,390 >> तो तुम जाहिरा तौर पर है क्या नक्शा कर सकते हैं बी नोटिस के हे कि अप लाइन 903 00:44:04,390 --> 00:44:05,420 पूंजीकरण के लिहाज से. 904 00:44:05,420 --> 00:44:07,960 जाहिर है आर ई हो जाता है. 905 00:44:07,960 --> 00:44:14,000 जाहिर है एफ एच ई आर एस यू आर ई हो जाता है. इतना यह एक मानचित्रण वहाँ पता चला है, और में 906 00:44:14,000 --> 00:44:18,720 इस मामले में एक बहुत बेवकूफ नहीं है किसी को भी यह पता चल गया है मानचित्रण तो क्या होगा? 907 00:44:18,720 --> 00:44:21,440 यह कहा जाता है कुछ है सड़ो 13, घुमाएँ 13. 908 00:44:21,440 --> 00:44:24,760 यह एन्क्रिप्शन की बेवकूफी है तंत्र क्योंकि यह सचमुच सिर्फ 909 00:44:24,760 --> 00:44:29,160 पत्र में से हर एक को 13 कहते हैं, समझ में बेवकूफ है कि अगर आप बस 910 00:44:29,160 --> 00:44:31,890 अपने हाथों पर खाली समय का एक सा है और एक पेंसिल, या आप बस यह लगता है 911 00:44:31,890 --> 00:44:35,260 अपने सिर में के माध्यम से, तुम कोशिश कर सकते हो सभी संभव फाईल - एक, दो, 912 00:44:35,260 --> 00:44:38,470 तीन, डॉट, दूरसंचार विभाग, दूरसंचार विभाग, 25 को बस पूरी वर्णमाला बारी बारी से, और 913 00:44:38,470 --> 00:44:40,860 अंत में, आप पता लगा लेंगे क्या यह संदेश है. 914 00:44:40,860 --> 00:44:43,700 आप में कुछ इस तरह से किया था तो अगर को संदेश गुजर ग्रेड स्कूल अपने 915 00:44:43,700 --> 00:44:46,830 सबसे अच्छा दोस्त है, अगर आपके ग्रेड स्कूल शिक्षक बस के माध्यम से पढ़ा 916 00:44:46,830 --> 00:44:50,320 संदेश और जानवर समाधान के लिए मजबूर, आपको मिल सकता है 917 00:44:50,320 --> 00:44:52,550 उस ने एक जवाब. 918 00:44:52,550 --> 00:44:54,970 >> अब जाहिर है, असली दुनिया में, क्रिप्टोग्राफी और अधिक परिष्कृत है. 919 00:44:54,970 --> 00:45:00,120 यह एक से पाठ का एक टुकड़ा है उपयोगकर्ता नाम है जो कंप्यूटर प्रणाली और 920 00:45:00,120 --> 00:45:03,630 पासवर्ड, के रूप में लगभग सभी हमारा करते हैं, और यह क्या आपके पासवर्ड हो सकता है 921 00:45:03,630 --> 00:45:07,260 अपनी हार्ड पर संग्रहीत अगर की तरह दिखते लेकिन एन्क्रिप्टेड रूप में ड्राइव. 922 00:45:07,260 --> 00:45:11,050 इस पत्र का सिर्फ एक रोटेशन नहीं है, एक बी और बी यह है सी. है 923 00:45:11,050 --> 00:45:15,620 और अधिक परिष्कृत, लेकिन इसे इस्तेमाल करता है आम तौर पर गुप्त कुंजी के रूप में जाना जाता है 924 00:45:15,620 --> 00:45:16,690 क्रिप्टोग्राफी. 925 00:45:16,690 --> 00:45:20,210 इस तस्वीर को निम्नलिखित बताता है कुछ माउस के साथ कहानी. 926 00:45:20,210 --> 00:45:22,250 >> बाईं तरफ, हम क्या है हम सादे पाठ फोन करता हूँ. 927 00:45:22,250 --> 00:45:25,420 क्रिप्टोग्राफी, सादा की दुनिया में पाठ सिर्फ मूल संदेश है 928 00:45:25,420 --> 00:45:29,050 अंग्रेजी या फ्रेंच में लिखा है या किसी भी भाषा. 929 00:45:29,050 --> 00:45:32,405 आप यह एन्क्रिप्ट करने के लिए चाहते हैं, हम दे दूँगा यह सचित्र रूप से एक ताला के माध्यम से, तो 930 00:45:32,405 --> 00:45:35,580 कलन विधि की तरह, कुछ समारोह के कुछ या कार्यक्रम किसी ने लिखा है कि 931 00:45:35,580 --> 00:45:39,880 उम्मीद है कि पत्र scrambles सिर्फ 13 को जोड़ने से अधिक complicatedly 932 00:45:39,880 --> 00:45:40,980 इनमें से प्रत्येक के लिए. 933 00:45:40,980 --> 00:45:43,780 >> आप में है कि प्रक्रिया से बाहर निकलना क्या मध्य cyphertext वहां कहा जाता है. 934 00:45:43,780 --> 00:45:44,850 एक सेक्सी शब्द का बहुत दयालु. 935 00:45:44,850 --> 00:45:47,630 यह सिर्फ यह एन्क्रिप्टेड है इसका मतलब सादे पाठ का संस्करण. 936 00:45:47,630 --> 00:45:52,570 और आपको लगता है कि एक ही रहस्य है, तभी 13 या शून्य से 13, आप करने में सक्षम हैं 937 00:45:52,570 --> 00:45:54,970 ऐसे ही एक संदेश को डिक्रिप्ट. 938 00:45:54,970 --> 00:45:57,770 >> तो बातों के अलावा समस्या सेट दो, में आप क्या करेंगे अगर हैकर में 939 00:45:57,770 --> 00:46:01,860 संस्करण, आप करने के लिए कोड लिखना होगा बाहर लगाना, इन पासवर्ड दरार 940 00:46:01,860 --> 00:46:05,170 क्या वे थे और कैसे वे थे हम आपको एक सा दे हालांकि, एन्क्रिप्टेड 941 00:46:05,170 --> 00:46:06,460 जिस तरह से साथ मार्गदर्शन की. 942 00:46:06,460 --> 00:46:09,320 मानक संस्करण में, हम परिचय सिफर, एन्क्रिप्शन के एक जोड़े 943 00:46:09,320 --> 00:46:12,400 तंत्र, सीजर नामक एक, एक अभी भी कर रहे हैं कि Vigenere कहा जाता है, 944 00:46:12,400 --> 00:46:16,100 एक हो जाता है, जहां घूर्णी सिफर कुछ हजारों में कुछ हो जाता है, लेकिन 945 00:46:16,100 --> 00:46:18,820 आप प्रोग्राम यह करना होगा वास्तव में एक रहस्य नहीं होगा क्योंकि 946 00:46:18,820 --> 00:46:22,840 आम तौर पर एक संख्या है जो शामिल कुंजी या एक कीवर्ड कि केवल 947 00:46:22,840 --> 00:46:26,420 प्रेषक और इनमें से प्राप्तकर्ता संदेश को समझना चाहिए. 948 00:46:26,420 --> 00:46:28,660 >> अब, यह वास्तव में अवतार है असली दुनिया में. 949 00:46:28,660 --> 00:46:32,910 यह, उदाहरण के लिए, छोटे अनाथ है एनी गुप्त डिकोडर अंगूठी, और आप 950 00:46:32,910 --> 00:46:35,180 वास्तव में इन लागू कर सकते हैं घूर्णी सिफर - 951 00:46:35,180 --> 00:46:37,930 एक कुछ हो जाता है, बी हो जाता है कुछ - पहियों की एक जोड़ी के साथ, 952 00:46:37,930 --> 00:46:40,840 बाहर की दुनिया में एक, अंदर पर एक ऐसा है कि आप पहिया बारी बारी से या अगर 953 00:46:40,840 --> 00:46:44,170 अंगूठी, आप वास्तव में अप लाइन कर सकते हैं अलग पत्र के साथ पत्र, 954 00:46:44,170 --> 00:46:45,430 एक गुप्त कोड हो रही है. 955 00:46:45,430 --> 00:46:48,110 और इसलिए आज के लिए cliffhanger के रूप में, क्या मैं मैं क्या सोचा है की एक बिट 956 00:46:48,110 --> 00:46:52,170 विपर्ययण है कि आप टीवी पर बारी अगर 24 दिसंबर, आप देख सकते हैं 957 00:46:52,170 --> 00:46:55,390 मूवी विज्ञापन nauseum एक पंक्ति में 24 घंटे. 958 00:46:55,390 --> 00:47:06,030 लेकिन आज के लिए, मैं यहाँ इसे खोल देता हूँ और हमें एक के सिर्फ दो मिनट दे 959 00:47:06,030 --> 00:47:13,493 pedagogically प्रासंगिक क्रिसमस स्टोरी Ralphie नाम के एक छोटे से साथी के साथ. 960 00:47:13,493 --> 00:47:14,400 >> [वीडियो प्लेबैक] 961 00:47:14,400 --> 00:47:17,420 >> होने वाली यह सभी और विविध के लिए जाना जाता है कि राल्फ पार्कर एतद्द्वारा नियुक्त किया जाता है एक 962 00:47:17,420 --> 00:47:20,650 छोटे अनाथ एनी रहस्य का सदस्य चक्र और सभी के हकदार है 963 00:47:20,650 --> 00:47:23,460 सम्मान और लाभ बहां होने वाली. 964 00:47:23,460 --> 00:47:25,990 >> छोटे अनाथ एनी, पर हस्ताक्षर किए. 965 00:47:25,990 --> 00:47:30,100 पियरे आंद्रे स्याही में, प्रतिहस्ताक्षरित. 966 00:47:30,100 --> 00:47:34,270 सम्मान और पहले से ही लाभ नौ साल की उम्र में. 967 00:47:34,270 --> 00:47:39,440 >> [रेडियो पर आवाजें] 968 00:47:39,440 --> 00:47:40,770 >> इसके साथ पर मिलता है, चलो. 969 00:47:40,770 --> 00:47:44,965 मैं के बारे में वह सब जाज की जरूरत नहीं है तस्करों और समुद्री डाकुओं. 970 00:47:44,965 --> 00:47:48,270 >> के लिए कल रात सुनो ब्लैक का समापन साहसिक 971 00:47:48,270 --> 00:47:49,650 समुद्री डाकू जहाज. 972 00:47:49,650 --> 00:47:53,320 अब, यह एनी की सीक्रेट के लिए समय है आप सदस्यों के लिए संदेश 973 00:47:53,320 --> 00:47:55,720 गुप्त चक्र की. 974 00:47:55,720 --> 00:47:56,580 , बच्चों को याद रखें. 975 00:47:56,580 --> 00:48:01,720 एनी की सीक्रेट सर्किल के केवल सदस्य एनी के गुप्त संदेश को डिकोड कर सकते हैं. 976 00:48:01,720 --> 00:48:05,872 एनी आप पर निर्भर करता है, याद रखें. 977 00:48:05,872 --> 00:48:08,670 बी 2 के लिए अपने पिन सेट. 978 00:48:08,670 --> 00:48:11,000 यहाँ संदेश है. 979 00:48:11,000 --> 00:48:12,335 12, 11, 2 - 980 00:48:12,335 --> 00:48:14,670 >> मैं मेरी पहली गुप्त बैठक में हूँ. 981 00:48:14,670 --> 00:48:19,720 >> -25, 14, 11, 18, 16 - 982 00:48:19,720 --> 00:48:21,650 >> पियरे महान आवाज में आज रात थी. 983 00:48:21,650 --> 00:48:24,830 मुझे लगता है कि आज रात के संदेश को बता सकता है वास्तव में महत्वपूर्ण था. 984 00:48:24,830 --> 00:48:26,400 >> -3, 25. 985 00:48:26,400 --> 00:48:28,540 यही एनी खुद से एक संदेश है. 986 00:48:28,540 --> 00:48:30,086 किसी को बताना नहीं है, याद रखें. 987 00:48:30,086 --> 00:48:34,370 988 00:48:34,370 --> 00:48:38,710 >> -90 सेकंड बाद में, मैं केवल कमरे में हूँ घर में जहां नौ का एक लड़का 989 00:48:38,710 --> 00:48:42,668 गोपनीयता और व्याख्या में बैठ सकता है. 990 00:48:42,668 --> 00:48:47,628 अहा, बी मैं अगले करने के लिए चला गया. 991 00:48:47,628 --> 00:48:53,060 ई. पहला शब्द "हो." है एस यह अब आसान आ रहा था. 992 00:48:53,060 --> 00:48:54,980 यू 25. 993 00:48:54,980 --> 00:48:55,940 यही आर है 994 00:48:55,940 --> 00:48:56,900 >> , Ralphie पर आओ. 995 00:48:56,900 --> 00:48:57,860 मुझे जाना होगा. 996 00:48:57,860 --> 00:48:59,780 >> -मैं हूँ, ठीक नीचे मा हो. 997 00:48:59,780 --> 00:49:01,030 जी विशेषज्ञ. 998 00:49:01,030 --> 00:49:04,300 999 00:49:04,300 --> 00:49:08,220 >> आयकर. ओ सुनिश्चित करें. 1000 00:49:08,220 --> 00:49:09,500 क्या करना सुनिश्चित करें? 1001 00:49:09,500 --> 00:49:11,660 लिटिल अनाथ क्या था एनी कहने की कोशिश? 1002 00:49:11,660 --> 00:49:12,844 क्या करना सुनिश्चित करें? 1003 00:49:12,844 --> 00:49:14,732 >> -Ralphie, रैंडी जाने के लिए मिल गया है. 1004 00:49:14,732 --> 00:49:16,148 आप बाहर आयेंगी? 1005 00:49:16,148 --> 00:49:17,092 >> सब सही, मा. 1006 00:49:17,092 --> 00:49:18,510 मैं सही बाहर हो जाएगा. 1007 00:49:18,510 --> 00:49:20,270 >> मैं अब तक करीब हो रही थी. 1008 00:49:20,270 --> 00:49:21,823 तनाव भयानक था. 1009 00:49:21,823 --> 00:49:23,045 यह क्या था? 1010 00:49:23,045 --> 00:49:26,510 ग्रह के भाग्य का हो सकता है अधर में लटका है. 1011 00:49:26,510 --> 00:49:28,985 >> -Ralphie, रेंडी जाना होगा. 1012 00:49:28,985 --> 00:49:32,680 >> -मैं हूँ सही के लिए बाहर होना जोर से रोने के. 1013 00:49:32,680 --> 00:49:33,956 >> लगभग वहाँ. 1014 00:49:33,956 --> 00:49:35,140 मेरी उंगलियों के लिए उड़ान भरी. 1015 00:49:35,140 --> 00:49:36,880 मेरा मन एक इस्पात जाल था. 1016 00:49:36,880 --> 00:49:38,010 हर रोमकूप स्फूर्त. 1017 00:49:38,010 --> 00:49:39,878 यह लगभग स्पष्ट हो गया था. 1018 00:49:39,878 --> 00:49:43,210 हां, हां, हां, हां, हां. 1019 00:49:43,210 --> 00:49:49,030 >> अपने Ovaltine पीने के लिए सुनिश्चित हो. 1020 00:49:49,030 --> 00:49:50,280 Ovaltine? 1021 00:49:50,280 --> 00:49:53,980 1022 00:49:53,980 --> 00:49:55,230 एक फालतू वाणिज्यिक? 1023 00:49:55,230 --> 00:49:58,572 1024 00:49:58,572 --> 00:50:00,694 एक कुतिया का बेटा. 1025 00:50:00,694 --> 00:50:01,900 >> [अंत वीडियो प्लेबैक] 1026 00:50:01,900 --> 00:50:04,260 >> स्पीकर 1: यह CS50 है, और है कि समस्या सेट दो हो जाएगा. 1027 00:50:04,260 --> 00:50:06,305 अगले हफ्ते मिलते हैं. 1028 00:50:06,305 --> 00:50:08,800 >> अध्यक्ष 2: अगले पर CS50, ऐसा होता है. 1029 00:50:08,800 --> 00:50:11,060 >> स्पीकर 1: तो एक विषय हम नहीं है इस प्रकार अब तक है पर देखा 1030 00:50:11,060 --> 00:50:12,220 समारोह संकेत की है. 1031 00:50:12,220 --> 00:50:14,540 अब, एक समारोह सूचक बस है एक सार्वजनिक का पता 1032 00:50:14,540 --> 00:50:17,000 समारोह, लेकिन बहुत पसंद है - 1033 00:50:17,000 --> 00:50:18,250 एक के पुत्र - 1034 00:50:18,250 --> 00:50:19,670