1 00:00:00,000 --> 00:00:04,664 2 00:00:04,664 --> 00:00:05,580 डौग लॉयड: ठीक है। 3 00:00:05,580 --> 00:00:08,877 तो अब एक से निपटने वास्तव में बड़ा विषय है, कार्य करता है। 4 00:00:08,877 --> 00:00:11,460 अब तक पाठ्यक्रम में, सब हम लिख रहे हैं कि कार्यक्रमों 5 00:00:11,460 --> 00:00:12,969 मुख्य के अंदर लिखा गया है। 6 00:00:12,969 --> 00:00:14,260 वे बहुत साधारण प्रोग्राम कर रहे हैं। 7 00:00:14,260 --> 00:00:16,940 आप इन सब की जरूरत नहीं है शाखाओं और बातों पर जा रहा है। 8 00:00:16,940 --> 00:00:18,773 हम सिर्फ यह सब फिट कर सकते हैं मुख्य के अंदर और यह 9 00:00:18,773 --> 00:00:20,407 बहुत भारी नहीं मिलता है। 10 00:00:20,407 --> 00:00:22,990 लेकिन निश्चित रूप में चला जाता है और आप कार्यक्रम विकसित करने के लिए शुरू के रूप में 11 00:00:22,990 --> 00:00:26,260 स्वतंत्र रूप से, वे शायद जा रहे हैं 10 की तुलना में बहुत अधिक पाने के लिए शुरू करने के लिए 12 00:00:26,260 --> 00:00:27,200 या 15 लाइनों। 13 00:00:27,200 --> 00:00:31,400 आप सैकड़ों या हजारों मिल सकता है या दसियों कोड की लाइनों के हजारों की। 14 00:00:31,400 --> 00:00:34,690 और यह सच नहीं है एक सोचा था कि पागल। 15 00:00:34,690 --> 00:00:39,720 जैसे, यह शायद एक अच्छा विचार नहीं है मुख्य के अंदर सब कुछ रखने के लिए। 16 00:00:39,720 --> 00:00:43,240 यह पता लगाने के लिए थोड़ा मुश्किल प्राप्त कर सकते हैं क्या आप यदि आप ऐसा करने के लिए देख रहे हैं। 17 00:00:43,240 --> 00:00:47,040 >> सौभाग्य से, सी, हालांकि, और बहुत ज्यादा हर दूसरे प्रोग्रामिंग भाषा है कि 18 00:00:47,040 --> 00:00:50,386 साथ काम हो सकता है, की अनुमति देता है हमें कार्यों लिखने के लिए। 19 00:00:50,386 --> 00:00:52,260 और मैं सिर्फ करने के लिए जा रहा हूँ एक तरफ यहाँ एक त्वरित लेने के लिए 20 00:00:52,260 --> 00:00:54,971 कार्यों का उल्लेख है कि कंप्यूटर विज्ञान के एक क्षेत्र। 21 00:00:54,971 --> 00:00:57,970 और तुम पर उनमें से कई अधिक देखेंगे कोर्स के दौरान विभिन्न बिंदुओं 22 00:00:57,970 --> 00:00:59,290 और आप पर जारी है। 23 00:00:59,290 --> 00:01:02,280 जहां एक बहुत की है वहाँ एक ही शब्द के लिए समानार्थी शब्द। 24 00:01:02,280 --> 00:01:03,390 इसलिए हम कार्यों कहते हैं। 25 00:01:03,390 --> 00:01:05,980 लेकिन आप भी उन्हें सुन सकते हैं प्रक्रियाओं के रूप में जाना जाता है, 26 00:01:05,980 --> 00:01:09,570 या तरीकों, विशेष रूप से, आप है, तो कभी किसी भी वस्तु उन्मुख प्रोग्रामिंग किया 27 00:01:09,570 --> 00:01:11,950 before-- और चिंता मत करो अगर तुम नहीं, नहीं है तो 28 00:01:11,950 --> 00:01:14,280 एक बड़ा deal-- लेकिन में लेखा परीक्षा उन्मुख भाषाओं 29 00:01:14,280 --> 00:01:16,129 अक्सर कहा जाता तरीके हैं। 30 00:01:16,129 --> 00:01:17,670 कभी कभी वे सबरूटीन्स कहते हैं। 31 00:01:17,670 --> 00:01:20,690 लेकिन वे वास्तव में सभी के लिए देखें एक ही मूल विचार करने के लिए। 32 00:01:20,690 --> 00:01:22,480 >> का यह विचार है कि क्या देखते हैं। 33 00:01:22,480 --> 00:01:23,310 एक समारोह में क्या है? 34 00:01:23,310 --> 00:01:26,470 वैसे एक समारोह वास्तव में है एक ब्लैक बॉक्स से ज्यादा कुछ नहीं। 35 00:01:26,470 --> 00:01:31,430 शून्य का एक सेट है कि एक ब्लैक बॉक्स अधिक जानकारी और एक ही उत्पादन या। 36 00:01:31,430 --> 00:01:33,420 तो उदाहरण के लिए, इस एक समारोह हो सकता है। 37 00:01:33,420 --> 00:01:35,510 इस समारोह में बुलाया एक समारोह है। 38 00:01:35,510 --> 00:01:39,330 और यह तीन आदानों ए, बी, और सी लेता है। 39 00:01:39,330 --> 00:01:42,580 और कहा कि ब्लैक बॉक्स के अंदर है, हम यह होता है कि क्या वास्तव में नहीं पता है, 40 00:01:42,580 --> 00:01:45,100 लेकिन यह जानकारी संसाधित करता है किसी तरह से और फिर इसे 41 00:01:45,100 --> 00:01:48,680 इस मामले में एक ही उत्पादन, जेड देता है। 42 00:01:48,680 --> 00:01:50,504 अब यह एक छोटे से बनाने के लिए कम सार है, हम 43 00:01:50,504 --> 00:01:52,420 हम चाहते हैं कि शायद कह सकते हैं कहा जाता है एक समारोह है 44 00:01:52,420 --> 00:01:58,750 कि तीन आदानों ए, बी लेता जोड़ने के लिए, और सी और किसी तरह से उत्पादन प्रक्रियाओं 45 00:01:58,750 --> 00:02:01,010 ब्लैक बॉक्स के लिए अंदर एक ही उत्पादन का उत्पादन। 46 00:02:01,010 --> 00:02:05,190 इस मामले में, तो अगर जोड़ने के 3, 6, और 7 लेता है। 47 00:02:05,190 --> 00:02:07,020 कहीं न कहीं अंदर समारोह जोड़ने के लिए, हम करेंगे 48 00:02:07,020 --> 00:02:09,750 उम्मीद उन्हें एक साथ जोड़े जाने के लिए उत्पादन, उत्पादन करने के लिए जो 49 00:02:09,750 --> 00:02:13,220 3 प्लस 6 प्लस 7 या 16 है। 50 00:02:13,220 --> 00:02:17,940 >> इसी तरह, आप नामक एक समारोह है दो आदानों, ए और बी लेता है कि mult, 51 00:02:17,940 --> 00:02:21,070 किसी तरह ऐसे में उन प्रक्रियाओं उस समारोह का उत्पादन 52 00:02:21,070 --> 00:02:22,920 दो आदानों का उत्पाद है। 53 00:02:22,920 --> 00:02:25,080 दो आदानों एक साथ गुणा। 54 00:02:25,080 --> 00:02:29,150 4 और 5, mult में पारित किया जा रहा कुछ है, हम उम्मीद करते हैं उत्पादन होता है 55 00:02:29,150 --> 00:02:31,090 20 है। 56 00:02:31,090 --> 00:02:32,507 क्यों हम यह एक ब्लैक बॉक्स कहते हैं? 57 00:02:32,507 --> 00:02:34,840 खैर, हम नहीं लिख रहे हैं, तो अपने आप को जो कार्य 58 00:02:34,840 --> 00:02:36,869 हम काफी एक बिट अब तक CS50 किया है। 59 00:02:36,869 --> 00:02:39,910 हम, उदाहरण के लिए, प्रिंट च देखा है जो हम नहीं लिखा था कि एक समारोह है 60 00:02:39,910 --> 00:02:42,305 अपने आप को, लेकिन हम सब समय का उपयोग करते हैं। 61 00:02:42,305 --> 00:02:44,180 हम नहीं लिख रहे हैं कार्यों खुद को, 62 00:02:44,180 --> 00:02:48,450 यह है कि कैसे हम वास्तव में पता करने की जरूरत नहीं है वास्तव में हुड के तहत लागू किया है। 63 00:02:48,450 --> 00:02:51,710 >> तो उदाहरण के ब्लैक बॉक्स के लिए मैं बस, गुणा के लिए आप से पता चला 64 00:02:51,710 --> 00:02:53,740 एक mult, ख हो सकता है defined-- और यह सिर्फ है 65 00:02:53,740 --> 00:02:57,902 कुछ pseudocode-- हो सकता है उत्पादन एक बार ख के रूप में परिभाषित किया। 66 00:02:57,902 --> 00:02:58,860 कि मतलब, सही है। 67 00:02:58,860 --> 00:03:01,370 हम नामक एक समारोह है, तो दो आदानों लेता है कि mult। 68 00:03:01,370 --> 00:03:04,750 हम उम्मीद करेंगे उत्पादन होता है कि होना दो आदानों, एक साथ गुणा 69 00:03:04,750 --> 00:03:06,240 एक बार बी। 70 00:03:06,240 --> 00:03:09,170 लेकिन mult भी हो सकता है इस तरह से कार्यान्वित किया, 71 00:03:09,170 --> 00:03:13,150 हम एक काउंटर चर करने के लिए है 0 करने के लिए mult के अंदर तैयार हो जाओ। 72 00:03:13,150 --> 00:03:18,000 और फिर हम इस प्रक्रिया को दोहराने ख बार मुकाबला करने के लिए एक जोड़ें। 73 00:03:18,000 --> 00:03:24,270 उदाहरण के लिए, हम से 3 ए गुणा 5 ब, हम 0 करने के लिए काउंटर सेट कह सकते हैं, 74 00:03:24,270 --> 00:03:27,700 पांच बार दोहराने काउंटर करने के लिए 3 जोड़ें। 75 00:03:27,700 --> 00:03:34,490 इसलिए हम 0 पर शुरू करने और फिर हम करते हैं इस पांच बार 3, 6, 9, 12, 15। 76 00:03:34,490 --> 00:03:37,500 यह एक ही परिणाम है। हम अभी भी मिल 3 से 5 बार बस 77 00:03:37,500 --> 00:03:39,500 कार्यान्वयन अलग है। 78 00:03:39,500 --> 00:03:41,490 >> यही कारण है कि हम क्या मतलब है हम एक ब्लैक बॉक्स का कहना है कि जब। 79 00:03:41,490 --> 00:03:44,406 यह सिर्फ हम वास्तव में परवाह नहीं है इसका मतलब यह हुड के तहत कार्यान्वित किया है कि कैसे 80 00:03:44,406 --> 00:03:46,170 के रूप में लंबे समय तक उत्पादन हम क्या उम्मीद के रूप में है। 81 00:03:46,170 --> 00:03:49,045 वास्तव में, कि अनुबंध का हिस्सा है की विशेष रूप से, कार्यों का उपयोग 82 00:03:49,045 --> 00:03:50,630 दूसरों लिखने कि कार्य करता है। 83 00:03:50,630 --> 00:03:53,980 व्यवहार हमेशा जा रहा है अप्रत्याशित, ठेठ होने के लिए 84 00:03:53,980 --> 00:03:55,420 समारोह के नाम पर आधारित है। 85 00:03:55,420 --> 00:03:57,500 यह सच है और यही कारण है महत्वपूर्ण है कि आप कार्यों लिखने जब 86 00:03:57,500 --> 00:04:00,020 या जब अन्य लोगों को लिखने आप का उपयोग हो सकता है कि काम करता है, 87 00:04:00,020 --> 00:04:03,590 उन कार्यों है कि स्पष्ट है, अपेक्षाकृत स्पष्ट नाम, 88 00:04:03,590 --> 00:04:04,990 और अच्छी तरह से प्रलेखित रहे हैं। 89 00:04:04,990 --> 00:04:08,560 जो निश्चित रूप से मामला है प्रिंट च जैसे समारोह के लिए। 90 00:04:08,560 --> 00:04:09,860 >> तो क्यों न हम कार्यों का उपयोग करते हैं? 91 00:04:09,860 --> 00:04:14,220 वैसे मुझे लगता है कि हम लिखते हैं, पहले कहा मुख्य बातों के अंदर हमारे कोड के सभी 92 00:04:14,220 --> 00:04:17,120 वास्तव में बोझिल प्राप्त कर सकते हैं और वास्तव में जटिल है। 93 00:04:17,120 --> 00:04:19,980 कार्य हमें क्षमता की अनुमति चीजों को व्यवस्थित करने और तोड़ने के लिए 94 00:04:19,980 --> 00:04:24,540 एक बहुत ही जटिल समस्या में एक बहुत अधिक प्रबंधनीय उप भागों। 95 00:04:24,540 --> 00:04:28,130 कार्य भी करने के लिए हमें की अनुमति कोडिंग प्रक्रिया को आसान बनाने में। 96 00:04:28,130 --> 00:04:33,080 यह एक 10 डिबग करने के लिए एक बहुत आसान है एक 100 लाइन बनाम लाइन समारोह 97 00:04:33,080 --> 00:04:35,890 समारोह या 1,000 लाइन समारोह। 98 00:04:35,890 --> 00:04:38,400 हम केवल डिबग करने के लिए है, तो एक समय में छोटे टुकड़े, 99 00:04:38,400 --> 00:04:42,110 या, समय पर छोटे-छोटे टुकड़ों में लिखने यह है कि प्रोग्रामिंग अनुभव करता है 100 00:04:42,110 --> 00:04:43,070 कहीं बेहतर। 101 00:04:43,070 --> 00:04:44,910 उसके बारे में मुझ पर भरोसा करें। 102 00:04:44,910 --> 00:04:48,400 >> अन्त में, हम कार्यों लिखने यदि हम उन विभिन्न भागों का पुन: उपयोग कर सकते हैं। 103 00:04:48,400 --> 00:04:49,880 कार्य से साफ किया जा सकता है। 104 00:04:49,880 --> 00:04:51,880 वे में इस्तेमाल किया जा सकता एक प्रोग्राम या कोई अन्य। 105 00:04:51,880 --> 00:04:53,713 आप पहले से ही लिखा है समारोह, तुम सब 106 00:04:53,713 --> 00:04:56,530 कि कार्यक्रम बता क्या करने की जरूरत है जहां कि समारोह खोजने के लिए। 107 00:04:56,530 --> 00:04:59,680 हम रीसाइक्लिंग और उपयोग किया गया है के लिए 40 साल से अधिक च प्रिंट। 108 00:04:59,680 --> 00:05:02,150 लेकिन यह केवल एक बार लिखा गया था। 109 00:05:02,150 --> 00:05:04,270 बहुत उपयोगी, सही है। 110 00:05:04,270 --> 00:05:04,830 ठीक है। 111 00:05:04,830 --> 00:05:06,040 इसलिए कार्यों महान हैं। 112 00:05:06,040 --> 00:05:06,860 हम जानते हैं कि। 113 00:05:06,860 --> 00:05:08,700 अब देखते हैं कि उन्हें लेखन शुरू करते हैं। 114 00:05:08,700 --> 00:05:10,830 हो रही शुरू करते हैं उन्हें हमारे कार्यक्रमों में। 115 00:05:10,830 --> 00:05:13,869 आदेश में, पहले ऐसा करने के लिए हम क्या बात समारोह की घोषणा है। 116 00:05:13,869 --> 00:05:16,160 आप एक समारोह की घोषणा करते हैं क्या आप मूल रूप से कर रहे हैं 117 00:05:16,160 --> 00:05:18,900 संकलक कह रही है, अरे, तुम बस इतना पता है, 118 00:05:18,900 --> 00:05:20,850 मैं लिख होने जा रहा हूँ पर बाद में एक समारोह 119 00:05:20,850 --> 00:05:22,987 और यहाँ यह की तरह देखने के लिए क्या हो रहा है। 120 00:05:22,987 --> 00:05:24,820 इस का कारण है compilers कर सकते हैं क्योंकि 121 00:05:24,820 --> 00:05:27,900 यदि कुछ अजीब बातें करते हैं वे प्रतीकों का एक सेट देखना 122 00:05:27,900 --> 00:05:29,560 वे से परिचित नहीं हैं कि। 123 00:05:29,560 --> 00:05:33,000 तो हम बस संकलक दे सिर, मैं एक समारोह पैदा कर रहा हूँ 124 00:05:33,000 --> 00:05:35,492 और यह यह करने के लिए जा रहा है। 125 00:05:35,492 --> 00:05:38,450 समारोह घोषणाओं आम तौर पर यदि आप एक तरह से अपने कोड का आयोजन कर रहे 126 00:05:38,450 --> 00:05:41,872 दूसरों के लिए सक्षम हो जाएगा कि समझने के लिए और का उपयोग करना, 127 00:05:41,872 --> 00:05:44,330 आप आम तौर पर सभी डाल करना चाहते हैं अपने समारोह घोषणाओं की 128 00:05:44,330 --> 00:05:48,220 अपने कोड के ऊपर से ही, सही आप भी मुख्य लेखन शुरू करने से पहले। 129 00:05:48,220 --> 00:05:50,770 और आसानी से, वहाँ है एक बहुत ही मानक फार्म 130 00:05:50,770 --> 00:05:53,500 हर समारोह घोषणा है कि इस प्रकार। 131 00:05:53,500 --> 00:05:56,090 वे सब बहुत ज्यादा इस तरह दिखेगा। 132 00:05:56,090 --> 00:06:01,440 तीन भागों में एक समारोह के लिए कर रहे हैं घोषणा, वापसी प्रकार, नाम, 133 00:06:01,440 --> 00:06:03,420 और तर्क सूची। 134 00:06:03,420 --> 00:06:07,180 >> अब वापसी प्रकार किस तरह का है चर समारोह उत्पादन होगा। 135 00:06:07,180 --> 00:06:10,710 तो उदाहरण के लिए, यदि हम वापस एक थिंक दो गुणा करने के लिए पहले मिनट 136 00:06:10,710 --> 00:06:15,690 नंबरों समारोह, अगर हम क्या उम्मीद करते हैं हम एक पूर्णांक द्वारा एक पूर्णांक गुणा 137 00:06:15,690 --> 00:06:18,502 उत्पादन होगा शायद एक पूर्णांक, सही है। 138 00:06:18,502 --> 00:06:20,710 गुणा दो पूर्णांकों साथ में, आप एक पूर्णांक मिलता है। 139 00:06:20,710 --> 00:06:24,167 इस बात का रिटर्न प्रकार तो समारोह पूर्णांक होगा। 140 00:06:24,167 --> 00:06:26,000 नाम आप क्या चाहते है अपने कार्य को कॉल करने के लिए। 141 00:06:26,000 --> 00:06:29,330 यह शायद कम से कम महत्वपूर्ण है समारोह घोषणा का हिस्सा है, 142 00:06:29,330 --> 00:06:30,827 कार्यक्षमता के संदर्भ में। 143 00:06:30,827 --> 00:06:33,160 लेकिन वास्तव में शायद एक है सबसे महत्वपूर्ण भागों में 144 00:06:33,160 --> 00:06:36,243 मामले में समारोह घोषणा की जानने के समारोह वास्तव में क्या 145 00:06:36,243 --> 00:06:37,120 करता है। 146 00:06:37,120 --> 00:06:40,474 आप अपने कार्य या च जी के नाम हैं या एच या रहस्य या ऐसा कुछ, 147 00:06:40,474 --> 00:06:42,765 आप शायद पाने के लिए जा रहे हैं एक छोटी सी कोशिश कर गच्चा 148 00:06:42,765 --> 00:06:44,650 उन कार्यों क्या कर याद करने के लिए। 149 00:06:44,650 --> 00:06:47,880 तो इसे देने के लिए महत्वपूर्ण है अपने समारोह के सार्थक नाम। 150 00:06:47,880 --> 00:06:51,030 >> अन्त में, तर्क सूची है अल्पविराम अलग सूची 151 00:06:51,030 --> 00:06:55,260 अपने कार्य करने के लिए सभी आदानों की, जिनमें से प्रत्येक एक प्रकार है और एक नाम है। 152 00:06:55,260 --> 00:06:57,840 इतना ही नहीं, आप की क्या ज़रूरत है चर की किस प्रकार निर्दिष्ट 153 00:06:57,840 --> 00:07:00,760 समारोह उत्पादन होगा, आप भी निर्दिष्ट करना चाहते हैं 154 00:07:00,760 --> 00:07:07,694 किस प्रकार और चर के प्रकार समारोह जानकारी के रूप में स्वीकार किया जाएगा। 155 00:07:07,694 --> 00:07:08,860 तो चलो यहाँ एक उदाहरण करते हैं। 156 00:07:08,860 --> 00:07:10,220 चलो बस एक नज़र रखना एक और अधिक ठोस एक पर। 157 00:07:10,220 --> 00:07:13,130 तो यहाँ एक समारोह का एक उदाहरण है एक समारोह के लिए घोषणा कि 158 00:07:13,130 --> 00:07:14,925 एक साथ दो पूर्णांकों जोड़ना होगा। 159 00:07:14,925 --> 00:07:17,800 दो पूर्णांकों का योग करने के लिए जा रहा है एक पूर्णांक के रूप में अच्छी तरह से हो कि हम बस के रूप में 160 00:07:17,800 --> 00:07:18,450 पर चर्चा की। 161 00:07:18,450 --> 00:07:21,610 और तो वापसी प्रकार, यहां हरे रंग में, पूर्णांक होगा। 162 00:07:21,610 --> 00:07:25,190 यही कारण है कि सिर्फ दो ints जोड़ने हमें बताता है कि दिन के अंत में, करने के लिए जा रहा है, 163 00:07:25,190 --> 00:07:28,799 उत्पादन, या इसे वापस थूक हमें बाहर, एक पूर्णांक। 164 00:07:28,799 --> 00:07:31,590 इस समारोह में हम क्या करता है, यह देखते हुए यह एक सार्थक नाम देना चाहते हैं। 165 00:07:31,590 --> 00:07:33,630 दो ints लगता जोड़ें उपयुक्त हो, पर विचार 166 00:07:33,630 --> 00:07:37,574 हम सामग्री के रूप में दो पूर्णांकों ले जा रहे हैं और उम्मीद है कि उन्हें एक साथ जोड़ने। 167 00:07:37,574 --> 00:07:40,240 यह एक बोझिल का एक सा हो सकता है नाम और स्पष्ट रूप से इस समारोह 168 00:07:40,240 --> 00:07:42,430 शायद जरूरी नहीं है हम इसके बाद से 169 00:07:42,430 --> 00:07:46,310 ऑपरेटर आप से याद करते हैं, तो हमारे पहले से ऑपरेटरों की चर्चा। 170 00:07:46,310 --> 00:07:49,650 लेकिन चलो बस की खातिर हम कहते हैं इस समारोह में उपयोगी है कि तर्क 171 00:07:49,650 --> 00:07:52,860 और इसलिए हम इसे दो ints जोड़ने फोन करता हूँ। 172 00:07:52,860 --> 00:07:55,230 अन्त में, इस समारोह में दो आदानों लेता है। 173 00:07:55,230 --> 00:07:56,960 जिनमें से प्रत्येक एक पूर्णांक है। 174 00:07:56,960 --> 00:07:59,900 इसलिए हम इस अल्पविराम है आदानों की अलग सूची। 175 00:07:59,900 --> 00:08:02,830 अब हम आम तौर पर करना चाहते हैं उनमें से प्रत्येक को एक नाम देना 176 00:08:02,830 --> 00:08:05,070 वे इस्तेमाल किया जा सकता है, ताकि समारोह के भीतर। 177 00:08:05,070 --> 00:08:07,180 नामों बहुत महत्वपूर्ण नहीं हैं। 178 00:08:07,180 --> 00:08:11,400 >> इस मामले में, हम जरूरी नहीं है उनमें से जुड़े किसी भी अर्थ नहीं है। 179 00:08:11,400 --> 00:08:13,140 तो हम बस एक और ख उन्हें फोन कर सकते हैं। 180 00:08:13,140 --> 00:08:14,257 यही कारण है कि पूरी तरह से ठीक है। 181 00:08:14,257 --> 00:08:16,090 यदि फिर भी, आप पाते हैं एक स्थिति में अपने आप को 182 00:08:16,090 --> 00:08:19,497 जहां चर के नाम वास्तव में महत्वपूर्ण हो सकता है, 183 00:08:19,497 --> 00:08:21,830 आप उन्हें फोन करना चाहते हो सकता है ए और बी के अलावा अन्य कुछ 184 00:08:21,830 --> 00:08:24,701 उन्हें और अधिक कुछ देना प्रतीकात्मक सार्थक। 185 00:08:24,701 --> 00:08:27,700 लेकिन इस मामले में, हम वास्तव में नहीं है समारोह के बारे में सब कुछ पता है। 186 00:08:27,700 --> 00:08:29,320 हम सिर्फ दो पूर्णांकों जोड़ना चाहते हैं। 187 00:08:29,320 --> 00:08:32,429 तो हम सिर्फ फोन करता हूँ उन पूर्णांकों ए और बी। 188 00:08:32,429 --> 00:08:33,990 यही कारण है कि एक उदाहरण है। 189 00:08:33,990 --> 00:08:36,287 >> आप एक दूसरे से नहीं लेते क्यों इस एक के बारे में सोचना, 190 00:08:36,287 --> 00:08:38,870 कैसे आप एक समारोह में लिखना होगा एक समारोह के लिए घोषणा कि 191 00:08:38,870 --> 00:08:42,940 दो चल बिन्दु संख्या गुणा? 192 00:08:42,940 --> 00:08:45,910 आप क्या एक याद है चल बिन्दु संख्या है? 193 00:08:45,910 --> 00:08:48,120 क्या इस समारोह होगा घोषणा की तरह लग रही है? 194 00:08:48,120 --> 00:08:53,330 मैं वास्तव में आप वीडियो को थामने की सिफारिश यहाँ और आप की जरूरत है कि कितना समय लगेगा। 195 00:08:53,330 --> 00:08:55,521 क्या इस बारे में सोचो समारोह घोषणा हो सकता है? 196 00:08:55,521 --> 00:08:56,770 वापसी प्रकार क्या होगा? 197 00:08:56,770 --> 00:08:58,103 एक सार्थक नाम क्या होगा? 198 00:08:58,103 --> 00:08:59,580 आदानों क्या होगा? 199 00:08:59,580 --> 00:09:03,190 तो क्यों आप यहाँ वीडियो को थामने के लिए नहीं है और लिखने-अप एक समारोह घोषणा 200 00:09:03,190 --> 00:09:07,640 गुणा होता है कि एक समारोह के लिए एक साथ दो चल बिन्दु संख्या। 201 00:09:07,640 --> 00:09:09,330 उम्मीद है कि आप वीडियो रुका हुआ है। 202 00:09:09,330 --> 00:09:12,950 >> तो चलो एक उदाहरण पर एक नजर डालते हैं एक संभावित घोषणा की। 203 00:09:12,950 --> 00:09:17,340 Mult दो reals, नाव Y एक्स फ्लोट फ्लोट। 204 00:09:17,340 --> 00:09:19,090 दो के उत्पाद दशमलव संख्याएं, 205 00:09:19,090 --> 00:09:21,710 जो याद कैसे कर रहे हैं हम वास्तविक संख्या का प्रतिनिधित्व 206 00:09:21,710 --> 00:09:26,770 या सी में दशमलव मूल्यों के साथ नंबर, एक चल बिन्दु संख्या में होने जा रहा है। 207 00:09:26,770 --> 00:09:28,570 आप एक गुणा जब एक दशमलव द्वारा दशमलव, 208 00:09:28,570 --> 00:09:30,460 आप शायद एक दशमलव पाने के लिए जा रहे हैं। 209 00:09:30,460 --> 00:09:31,960 आप इसे एक प्रासंगिक नाम देना चाहते हैं। 210 00:09:31,960 --> 00:09:33,810 दो reals गुणा ठीक लगता है। 211 00:09:33,810 --> 00:09:36,620 लेकिन अगर आप वास्तव में यह कह सकते हैं mult दो मंगाई, या mult मंगाई। 212 00:09:36,620 --> 00:09:39,540 यह के रूप में के रूप में लंबे समय तक ऐसा कुछ भी, करने के लिए कुछ वास्तविक अर्थ क्या दिया 213 00:09:39,540 --> 00:09:41,469 इस ब्लैक बॉक्स करने जा रहा था। 214 00:09:41,469 --> 00:09:44,260 और फिर, इस मामले में, हम नहीं करते कोई अर्थ संलग्न करने लगते हैं 215 00:09:44,260 --> 00:09:46,390 के नाम करने के लिए हम में से गुजर रहे हैं चर, 216 00:09:46,390 --> 00:09:48,645 तो हम सिर्फ उन्हें एक्स और वाई कहते हैं। 217 00:09:48,645 --> 00:09:51,020 आप उन्हें कुछ फोन अब अगर वरना, कि पूरी तरह से ठीक है। 218 00:09:51,020 --> 00:09:53,310 वास्तव में, अगर तुम किया इस घोषणा के बजाय 219 00:09:53,310 --> 00:09:55,450 बजाय युगल का उपयोग कर यदि आपको याद है की, तैरता 220 00:09:55,450 --> 00:09:59,100 युगल एक अलग हैं जिस तरह से करने के लिए और अधिक ठीक 221 00:09:59,100 --> 00:10:02,330 वास्तविक संख्या को निर्दिष्ट या बिंदु चर चल। 222 00:10:02,330 --> 00:10:03,620 वह भी पूरी तरह से ठीक है। 223 00:10:03,620 --> 00:10:04,670 या तो उन में से एक ठीक हो जाएगा। 224 00:10:04,670 --> 00:10:06,711 वास्तव में, वहाँ कई हैं विभिन्न संयोजनों 225 00:10:06,711 --> 00:10:08,410 तरीके से इस समारोह की घोषणा करने के लिए। 226 00:10:08,410 --> 00:10:10,884 लेकिन इन दो बहुत अच्छा कर रहे हैं। 227 00:10:10,884 --> 00:10:12,550 हम जानते हैं कि बहुत अच्छी बात है, एक समारोह में घोषित किया है। 228 00:10:12,550 --> 00:10:15,700 हम क्या यह संकलक बता दिया है हम क्या कर रही हो जा रहे है। 229 00:10:15,700 --> 00:10:17,630 अब देखते हैं कि वास्तव में उस समारोह लिख दें। 230 00:10:17,630 --> 00:10:20,750 चलो इसे एक परिभाषा दे, तो यह है कि ब्लैक बॉक्स के अंदर 231 00:10:20,750 --> 00:10:22,840 उम्मीद के मुताबिक व्यवहार हो रहा है। 232 00:10:22,840 --> 00:10:26,270 वास्तव में, हम दो असली बढ़ रहे हैं एक साथ नंबर, या संख्याएँ जोड़ना 233 00:10:26,270 --> 00:10:29,760 एक साथ, या जो भी कर रही है कि हम क्या करने के लिए हमारे समारोह में पूछा। 234 00:10:29,760 --> 00:10:32,780 >> वास्तव में तो, चलो कोशिश करते हैं और परिभाषित करते हैं दो reals गुणा जो हम सिर्फ 235 00:10:32,780 --> 00:10:35,350 एक दूसरे के बारे में पहले बात की थी। 236 00:10:35,350 --> 00:10:38,560 की अब शुरुआत एक समारोह परिभाषा 237 00:10:38,560 --> 00:10:41,720 लगभग वैसा ही लग रहा है एक समारोह में घोषणा के रूप में। 238 00:10:41,720 --> 00:10:43,170 मैं यहाँ उन दोनों के लिए है। 239 00:10:43,170 --> 00:10:47,770 शीर्ष पर समारोह घोषणा है, प्रकार, नाम, अल्पविराम से अलग तर्क 240 00:10:47,770 --> 00:10:49,410 सूची, अर्धविराम। 241 00:10:49,410 --> 00:10:53,800 अर्धविराम इंगित करता है कि कि एक समारोह में घोषणा है। 242 00:10:53,800 --> 00:10:57,060 समारोह की शुरुआत परिभाषा लगभग ठीक लग रहा है 243 00:10:57,060 --> 00:11:03,790 एक ही, प्रकार, नाम, अल्पविराम से अलग तर्क सूची, कोई अर्धविराम, 244 00:11:03,790 --> 00:11:05,206 घुंघराले ब्रेस खुला। 245 00:11:05,206 --> 00:11:07,580 खुले घुंघराले गले लगा, बस के रूप में हम मुख्य साथ कर दिया गया है 246 00:11:07,580 --> 00:11:09,540 हम अब कर रहे हैं कि इसका मतलब है परिभाषित करने के लिए शुरुआत 247 00:11:09,540 --> 00:11:14,567 क्या ब्लैक बॉक्स के अंदर होता है कि हम mult दो reals बुलाने का फैसला किया है। 248 00:11:14,567 --> 00:11:15,900 यहां इसे लागू करने के लिए एक ही रास्ता है। 249 00:11:15,900 --> 00:11:20,370 हम एक नया घोषित कर सकता है, कह सकते हैं प्रकार नाव बुलाया उत्पाद के चर 250 00:11:20,370 --> 00:11:24,020 और कहा कि चर आवंटित मूल्य एक्स बार y करने के लिए। 251 00:11:24,020 --> 00:11:27,306 और फिर उत्पाद वापसी। 252 00:11:27,306 --> 00:11:28,430 वापसी यहाँ क्या मतलब है। 253 00:11:28,430 --> 00:11:31,090 खैर वापसी रास्ता है हम जानते हैं कि कैसे है का संकेत 254 00:11:31,090 --> 00:11:33,400 हम उत्पादन बाहर वापस गुजर रहे हैं। 255 00:11:33,400 --> 00:11:38,160 इसलिए जैसे ही है, कुछ वापस, इस ब्लैक बॉक्स का उत्पादन होता है। 256 00:11:38,160 --> 00:11:40,732 आप इसे कैसे करते हैं तो वह है। 257 00:11:40,732 --> 00:11:42,190 यहां इसे लागू करने के लिए एक और तरीका है। 258 00:11:42,190 --> 00:11:45,050 हम बस y एक्स बार लौट सकता है। 259 00:11:45,050 --> 00:11:45,870 एक्स एक नाव है। 260 00:11:45,870 --> 00:11:46,660 y एक नाव है। 261 00:11:46,660 --> 00:11:48,490 बार एक्स तो y भी एक नाव है। 262 00:11:48,490 --> 00:11:50,750 हम भी करने की जरूरत नहीं है एक और चर पैदा करते हैं। 263 00:11:50,750 --> 00:11:56,750 तो यह है कि एक अलग तरह से करने के लिए है ठीक उसी ब्लैक बॉक्स को लागू करने। 264 00:11:56,750 --> 00:11:58,570 >> अब एक क्षण ले, फिर वीडियो को थामने, 265 00:11:58,570 --> 00:12:01,680 और, दो ints जोड़ने के लिए प्रयास करें और परिभाषित जो अन्य समारोह है कि हम 266 00:12:01,680 --> 00:12:03,090 एक पल पहले के बारे में बात की थी। 267 00:12:03,090 --> 00:12:06,440 यहाँ फिर से, मैं इस समारोह में डाल दिया है घोषणा, और इसलिए अर्धविराम, 268 00:12:06,440 --> 00:12:08,420 और एक खुले घुंघराले ब्रेस और एक बंद घुंघराले 269 00:12:08,420 --> 00:12:12,080 हम भरना होगा जहां ब्रेस इंगित करने के लिए की सामग्री में, दो ints जोड़ने 270 00:12:12,080 --> 00:12:15,530 हम विशेष रूप से परिभाषित है, ताकि ब्लैक बॉक्स के अंदर व्यवहार। 271 00:12:15,530 --> 00:12:16,380 तो वीडियो को थामने। 272 00:12:16,380 --> 00:12:18,790 और के रूप में ज्यादा समय ले लो आप कोशिश करते हैं और परिभाषित करने की जरूरत 273 00:12:18,790 --> 00:12:25,040 के एक कार्यान्वयन दो ints जोड़ने के लिए, इस तरह के उस समारोह एक मूल्य outputs जब, 274 00:12:25,040 --> 00:12:29,209 यह वास्तव में, करता है, वापसी दो आदानों की राशि। 275 00:12:29,209 --> 00:12:32,000 तो सिर्फ पिछले उदाहरण की तरह, कई अलग अलग तरीके हैं 276 00:12:32,000 --> 00:12:34,210 आप लागू कर सकता है कि दो ints जोड़ें। 277 00:12:34,210 --> 00:12:35,130 यहां एक है। 278 00:12:35,130 --> 00:12:37,172 यहां नारंगी में में मैं बस कुछ comments-- था 279 00:12:37,172 --> 00:12:38,880 मैं बस कुछ जोड़ दिया है टिप्पणियों से संकेत मिलता है 280 00:12:38,880 --> 00:12:41,400 क्या कोड के प्रत्येक लाइन पर हो रहा है। 281 00:12:41,400 --> 00:12:45,430 तो मैं एक चर घोषित int प्रकार का योग कहा जाता है। 282 00:12:45,430 --> 00:12:47,279 मैं योग एक प्लस बी के बराबर होती है कहना। 283 00:12:47,279 --> 00:12:50,070 हम वास्तव में कर रहे हैं कि जहां काम एक जोड़ने और एक साथ बी। 284 00:12:50,070 --> 00:12:51,850 और मैं योग वापसी। 285 00:12:51,850 --> 00:12:56,460 और उस अर्थ क्योंकि बनाता है योग प्रकार पूर्णांक के एक चर रहा है। 286 00:12:56,460 --> 00:13:00,180 और डेटा यह है कि प्रकार क्या है समारोह में यह उत्पादन करने के लिए जा रहा है मुझसे कहता है? 287 00:13:00,180 --> 00:13:00,680 इंट। 288 00:13:00,680 --> 00:13:03,072 इसलिए मुझे लगता है, योग लौट रहा हूँ जो एक पूर्णांक चर रहा है। 289 00:13:03,072 --> 00:13:06,030 और उस अर्थ है कि हम क्या किया है दिया बनाता है घोषित और हमारे समारोह में परिभाषित 290 00:13:06,030 --> 00:13:07,320 ऐसा करने के लिए। 291 00:13:07,320 --> 00:13:09,700 >> अब आप भी परिभाषित कर सकते हैं समारोह में इस तरह से, 292 00:13:09,700 --> 00:13:15,260 पूर्णांक राशि है कि छोड़ b-- एक से अधिक के बराबर होती है step-- पहले और उसके बाद, योग वापसी। 293 00:13:15,260 --> 00:13:17,760 अब आप भी हो सकता था यह इस तरह से कार्यान्वित 294 00:13:17,760 --> 00:13:19,180 जो मैं अत्यधिक की सिफारिश नहीं है। 295 00:13:19,180 --> 00:13:22,540 इस एक के लिए बुरा शैली है बात और वास्तव में बुरा डिजाइन, 296 00:13:22,540 --> 00:13:24,420 लेकिन यह तथ्य है, काम करती है। 297 00:13:24,420 --> 00:13:30,199 आप पूर्णांक है जो इस कोड, ले, तो बुरा योजक डॉट ग जोड़ने के लिए, और इसका इस्तेमाल। 298 00:13:30,199 --> 00:13:31,990 यह वास्तव में जोड़ नहीं है एक साथ दो पूर्णांकों। 299 00:13:31,990 --> 00:13:37,632 यह एक बहुत ही गरीब कार्यान्वयन है इस विशेष व्यवहार की। 300 00:13:37,632 --> 00:13:38,340 लेकिन यह काम करता है। 301 00:13:38,340 --> 00:13:41,200 इसे उदाहरण देकर स्पष्ट करने के लिए बस यहाँ है हम वास्तव में नहीं है कि बिंदु 302 00:13:41,200 --> 00:13:44,530 अंदर होता है परवाह लंबे समय के रूप में ब्लैक बॉक्स, 303 00:13:44,530 --> 00:13:46,510 यह हम उम्मीद करते हैं कि उत्पादन किया है के रूप में। 304 00:13:46,510 --> 00:13:48,870 यह एक खराब डिजाइन ब्लैक बॉक्स है। 305 00:13:48,870 --> 00:13:53,801 लेकिन अंत में दिन, यह करता है अभी भी उत्पादन एक प्लस बी की राशि। 306 00:13:53,801 --> 00:13:54,300 ठीक है। 307 00:13:54,300 --> 00:13:56,320 इसलिए हम कार्यों की घोषणा की है। 308 00:13:56,320 --> 00:13:57,490 और हम समारोह में परिभाषित किया गया है। 309 00:13:57,490 --> 00:13:58,540 तो यह है कि वास्तव में अच्छा है। 310 00:13:58,540 --> 00:14:03,020 अब के कार्यों का उपयोग करने के लिए शुरू करते हैं कि हम घोषित कर दिया है और हम परिभाषित किया है। 311 00:14:03,020 --> 00:14:05,960 यह वास्तव में एक function-- कॉल करने के लिए आप सब करने की ज़रूरत सुंदर easy-- 312 00:14:05,960 --> 00:14:09,070 उचित तर्क इसे पारित है, डेटा प्रकार के तर्कों 313 00:14:09,070 --> 00:14:11,600 यह उम्मीद है कि, और उसके बाद वापसी आवंटित 314 00:14:11,600 --> 00:14:15,190 उस समारोह का मूल्य और है- बहाना me-- 315 00:14:15,190 --> 00:14:19,390 उस समारोह की मान आवंटित सही प्रकार के बारे में कुछ करने के लिए। 316 00:14:19,390 --> 00:14:22,410 >> तो चलो पर एक नज़र है एक फ़ाइल में इस में अभ्यास 317 00:14:22,410 --> 00:14:27,730 कहा जाता योजक 1 डॉट सी, जो मैं अपने CS50 आईडीई में है। 318 00:14:27,730 --> 00:14:31,042 तो यहाँ योजक 1 डॉट सी है। 319 00:14:31,042 --> 00:14:33,500 शुरुआत में आप मेरे पास देखना मेरी भी शामिल है, पौंड, शामिल 320 00:14:33,500 --> 00:14:35,460 मानक कब, और CS50 डॉट एच। 321 00:14:35,460 --> 00:14:37,700 और फिर मैं अपने समारोह घोषणा की है। 322 00:14:37,700 --> 00:14:39,570 मैं कर रहा हूँ, जहां यह है मैं कर रहा हूँ संकलक कह रही 323 00:14:39,570 --> 00:14:42,850 एक लेखन किया जा रहा कहा जाता समारोह दो ints जोड़ें। 324 00:14:42,850 --> 00:14:45,780 यह उत्पादन एक करने के लिए जा रहा है पूर्णांक प्रकार चर। 325 00:14:45,780 --> 00:14:47,360 यही कारण है कि इस भाग यहीं क्या है। 326 00:14:47,360 --> 00:14:51,950 और फिर मैं यह एक करने के लिए दो आदानों है और बी, जिनमें से प्रत्येक एक पूर्णांक है। 327 00:14:51,950 --> 00:14:58,250 मुख्य के अंदर, मैं के लिए उपयोगकर्ता पूछने कह कर इनपुट, मुझे एक पूर्णांक दे। 328 00:14:58,250 --> 00:15:01,040 और वे भूल जाने के लिए प्रेरित कर रहे हैं एक समारोह है जो पूर्णांक, कि 329 00:15:01,040 --> 00:15:03,240 CS50 पुस्तकालय में शामिल है। 330 00:15:03,240 --> 00:15:07,660 और उस में जमा हो जाता है एक्स, एक पूर्णांक चर। 331 00:15:07,660 --> 00:15:09,886 >> तो फिर हम एक और पूर्णांक के लिए उन्हें संकेत। 332 00:15:09,886 --> 00:15:13,070 हम एक और पूर्णांक मिल और y में उस दुकान। 333 00:15:13,070 --> 00:15:17,990 और फिर, यहाँ लाइन पर 28 है, जहां हम अपने समारोह फोन करना। 334 00:15:17,990 --> 00:15:23,770 हम, पूर्णांक Z बराबरी कह रहे हैं 2 ints एक्स अल्पविराम Y जोड़ें। 335 00:15:23,770 --> 00:15:25,980 यह समझ में आता क्यों आप देखते हैं? 336 00:15:25,980 --> 00:15:29,710 एक्स एक पूर्णांक प्रकार चर रहा है और Y एक पूर्णांक प्रकार चर रहा है। 337 00:15:29,710 --> 00:15:31,220 तो यह अच्छी बात है। 338 00:15:31,220 --> 00:15:34,570 क्या हमारे समारोह के साथ कि मतलब लाइन 17 पर घोषणा की तरह लग रहा है। 339 00:15:34,570 --> 00:15:38,300 अल्पविराम से अलग इनपुट सूची दो पूर्णांकों, ए और बी की उम्मीद है। 340 00:15:38,300 --> 00:15:40,300 उस मामले में, हम कॉल कर सकते हैं उन्हें जो कुछ भी हम चाहते हैं। 341 00:15:40,300 --> 00:15:42,300 यह सिर्फ दो पूर्णांकों की उम्मीद है। 342 00:15:42,300 --> 00:15:44,930 और एक्स एक पूर्णांक है और y एक पूर्णांक है। 343 00:15:44,930 --> 00:15:45,640 यह काम करता है। 344 00:15:45,640 --> 00:15:48,680 >> और हम उस समारोह जा रहा है पता उत्पादन करने के लिए एक पूर्णांक के रूप में अच्छी तरह से। 345 00:15:48,680 --> 00:15:51,290 और इसलिए हम भंडारण कर रहे हैं समारोह के उत्पादन, 346 00:15:51,290 --> 00:15:56,050 एक पूर्णांक प्रकार में, दो ints जोड़ने चर, हम जेड बुला रहे हैं। 347 00:15:56,050 --> 00:16:01,980 और फिर हम की राशि कह सकते हैं प्रतिशत मैं और प्रतिशत मैं मैं प्रतिशत है। 348 00:16:01,980 --> 00:16:06,210 एक्स, वाई और जेड क्रमशः उन प्रतिशत मैं के दशक में भरता रहा। 349 00:16:06,210 --> 00:16:08,334 की परिभाषा क्या है दो ints की तरह लग जोड़ सकते हैं? 350 00:16:08,334 --> 00:16:09,125 यह बहुत आसान है। 351 00:16:09,125 --> 00:16:11,270 यह लोगों में से एक है हम बस, एक दूसरी पहले देखा था 352 00:16:11,270 --> 00:16:14,390 पूर्णांक राशि एक प्लस बी वापसी राशि के बराबर होती है। 353 00:16:14,390 --> 00:16:15,420 यह काम करता है? 354 00:16:15,420 --> 00:16:17,270 फाइल को बचाने करते हैं। 355 00:16:17,270 --> 00:16:22,080 और फिर नीचे यहाँ अपने टर्मिनल पर मैं योजक 1 बनाने के लिए जा रहा हूँ 356 00:16:22,080 --> 00:16:23,000 और मैं अपने स्क्रीन साफ। 357 00:16:23,000 --> 00:16:25,791 मैं क्योंकि मुझे पता है में ज़ूम करने के लिए जा रहा हूँ यह देखने के लिए थोड़ा मुश्किल है। 358 00:16:25,791 --> 00:16:31,520 359 00:16:31,520 --> 00:16:33,770 >> इसलिए हम योजक 1 के रूप में इस कार्यक्रम को संकलित। 360 00:16:33,770 --> 00:16:37,910 इसलिए हम डॉट स्लेश योजक 1 कर सकते हैं। 361 00:16:37,910 --> 00:16:40,060 10 मुझे एक पूर्णांक दीजिए। 362 00:16:40,060 --> 00:16:42,380 20 मुझे एक और पूर्णांक दीजिए। 363 00:16:42,380 --> 00:16:45,200 10 और 20 का योग 30 है। 364 00:16:45,200 --> 00:16:47,615 इसलिए हम एक सफल समारोह फोन कर दिया। 365 00:16:47,615 --> 00:16:55,820 आप नकारात्मक फिर से समारोह चला सकते हैं 10, नकारात्मक 10 और 17 के 17 योग 7 है। 366 00:16:55,820 --> 00:16:57,120 इस समारोह में काम करता है। 367 00:16:57,120 --> 00:16:59,240 यह व्यवहार किया है हम यह उम्मीद है कि। 368 00:16:59,240 --> 00:17:03,610 और इसलिए हम एक सफल बनाया है समारोह, परिभाषा, घोषणा, 369 00:17:03,610 --> 00:17:07,288 और एक सफल समारोह कॉल। 370 00:17:07,288 --> 00:17:09,079 युगल विविध कार्यों के बारे में अंक 371 00:17:09,079 --> 00:17:10,611 हम इस खंड समाप्त करने से पहले। 372 00:17:10,611 --> 00:17:12,319 से याद है हमारे डेटा प्रकार की चर्चा है, 373 00:17:12,319 --> 00:17:16,109 इससे पहले, कार्यों कि कभी कभी कोई आदानों ले जा सकते हैं। 374 00:17:16,109 --> 00:17:17,930 यदि यह मामला है, हम समारोह की घोषणा 375 00:17:17,930 --> 00:17:19,788 एक शून्य तर्क सूची होने के रूप में। 376 00:17:19,788 --> 00:17:21,579 आप क्या याद है सबसे आम समारोह 377 00:17:21,579 --> 00:17:25,036 हम अब तक लेता है कि देखा है एक शून्य तर्क सूची है? 378 00:17:25,036 --> 00:17:27,300 यह मुख्य है। 379 00:17:27,300 --> 00:17:30,850 कभी-कभी यह भी है कि समारोह में याद करते हैं वास्तव में एक उत्पादन की जरूरत नहीं है। 380 00:17:30,850 --> 00:17:34,210 उस मामले में, हम समारोह की घोषणा एक शून्य वापसी प्रकार होने के रूप में। 381 00:17:34,210 --> 00:17:37,880 के द्वारा इस खंड समाप्त करना चाहूंगा एक अभ्यास समस्या से निपटने। 382 00:17:37,880 --> 00:17:39,900 >> तो यहाँ से बाहर रखी समस्या है। 383 00:17:39,900 --> 00:17:43,630 मैं तुम्हें एक समारोह लिखना चाहते हैं वैध त्रिकोण कहा जाता है। 384 00:17:43,630 --> 00:17:47,410 इस समारोह में क्या करना चाहिए तीन वास्तविक संख्या ले जाता है 385 00:17:47,410 --> 00:17:51,930 कि तीन की लंबाई का प्रतिनिधित्व उसके मापदंडों के रूप में दोनों पक्षों के त्रिकोण, 386 00:17:51,930 --> 00:17:54,550 या अपने तर्क, या अपने समानार्थी शब्दों का एक और सेट inputs-- 387 00:17:54,550 --> 00:17:57,340 आप मुठभेड़ हो सकता है कि। 388 00:17:57,340 --> 00:18:01,120 यह कार्य करना चाहिए उत्पादन या तो सही है या गलत 389 00:18:01,120 --> 00:18:04,960 के आधार पर उन तीन लंबाई है कि क्या एक त्रिकोण बनाने में सक्षम हैं। 390 00:18:04,960 --> 00:18:09,930 आप डेटा प्रकार याद है कि हम सही है या गलत संकेत किया? 391 00:18:09,930 --> 00:18:11,436 अब आप यह कैसे लागू करते हैं? 392 00:18:11,436 --> 00:18:13,810 वैसे एक जोड़े हैं पता है त्रिकोण के संबंध में नियमों की 393 00:18:13,810 --> 00:18:15,480 कि वास्तव में पता करने के लिए उपयोगी होते हैं। 394 00:18:15,480 --> 00:18:18,292 एक त्रिकोण ही हो सकता है सकारात्मक लंबाई के साथ पक्षों। 395 00:18:18,292 --> 00:18:19,000 यह समझ आता है। 396 00:18:19,000 --> 00:18:21,432 तुम्हें शायद ओह, कह रहे हैं। 397 00:18:21,432 --> 00:18:23,390 दूसरी बात यह नोट करने के लिए हालांकि, योग यह है कि 398 00:18:23,390 --> 00:18:25,484 किसी की लंबाई की त्रिकोण के दो पहलू 399 00:18:25,484 --> 00:18:27,650 अधिक से अधिक हो गया है तीसरे पक्ष की लंबाई। 400 00:18:27,650 --> 00:18:28,690 यही कारण है कि वास्तव में सच है। 401 00:18:28,690 --> 00:18:34,150 आप पक्षों 1 के एक त्रिकोण नहीं हो सकता उदाहरण के लिए 2 और 4, 1 प्लस 2 क्योंकि 402 00:18:34,150 --> 00:18:36,270 4 से अधिक नहीं है। 403 00:18:36,270 --> 00:18:38,870 उन तो नियम हैं कि निर्धारित तीन या नहीं, 404 00:18:38,870 --> 00:18:42,740 आदानों क़यास एक त्रिकोण बना सकते हैं। 405 00:18:42,740 --> 00:18:46,360 इसलिए मिनट के एक जोड़े को ले और घोषणा और फिर परिभाषित 406 00:18:46,360 --> 00:18:49,810 वैध नामक इस समारोह त्रिकोण है, इस तरह यह है कि वास्तव में 407 00:18:49,810 --> 00:18:51,650 यहाँ निर्दिष्ट व्यवहार किया है। 408 00:18:51,650 --> 00:18:57,030 >> यह होगा उत्पादन सच उन तीन पक्षों यदि एक त्रिकोण शामिल करने में सक्षम हैं 409 00:18:57,030 --> 00:19:01,950 और झूठे अन्यथा आप कैसे किया देखने के लिए तैयार हैं? 410 00:19:01,950 --> 00:19:04,650 यहाँ एक कार्यान्वयन है के वैध त्रिकोण। 411 00:19:04,650 --> 00:19:05,770 यह केवल एक ही नहीं है। 412 00:19:05,770 --> 00:19:07,770 तुम्हारा थोड़ा भिन्न हो सकता है। 413 00:19:07,770 --> 00:19:11,040 लेकिन यह एक तथ्य में है, करता है, हम उम्मीद करते हैं कि व्यवहार। 414 00:19:11,040 --> 00:19:14,450 हम पर हमारे समारोह की घोषणा बहुत ऊपर है, वैध त्रिकोण bool 415 00:19:14,450 --> 00:19:16,630 एक्स नाव Y नाव Z तैरने लगते हैं। 416 00:19:16,630 --> 00:19:18,930 तो फिर, इस समारोह तीन वास्तविक संख्या लेता है 417 00:19:18,930 --> 00:19:22,280 अपने तर्क के रूप में, चल बिंदु मान चर, 418 00:19:22,280 --> 00:19:26,510 और एक सही है या गलत outputs एक बूलियन, याद है, जिसमें मूल्य,। 419 00:19:26,510 --> 00:19:28,660 वापसी प्रकार बूल है तो यही कारण है। 420 00:19:28,660 --> 00:19:30,016 तो फिर हम समारोह को परिभाषित। 421 00:19:30,016 --> 00:19:33,140 हम ऐसा पहली बात तो सुनिश्चित करने के लिए जाँच है कि पक्षों के सभी सकारात्मक रहे हैं। 422 00:19:33,140 --> 00:19:37,010 एक्स से कम या बराबर है 0 करने के लिए, या वाई 0 के बराबर है, 423 00:19:37,010 --> 00:19:41,050 या जेड, कम से कम या शून्य के बराबर है कि संभवतः एक त्रिकोण नहीं हो सकता। 424 00:19:41,050 --> 00:19:42,380 वे सकारात्मक पक्षों की जरूरत नहीं है। 425 00:19:42,380 --> 00:19:45,790 और इसलिए हम वापसी कर सकते हैं उस स्थिति में गलत। 426 00:19:45,790 --> 00:19:49,010 अगला, हम सुनिश्चित करने के लिए जाँच कि आदानों की हर जोड़ी 427 00:19:49,010 --> 00:19:51,830 एक तिहाई से अधिक है। 428 00:19:51,830 --> 00:19:54,530 >> तो एक्स प्लस y कम है तो Z करने के लिए या बराबर, 429 00:19:54,530 --> 00:19:57,060 या एक्स प्लस Z कम है तो Y से अधिक या बराबर है, 430 00:19:57,060 --> 00:20:01,730 या y प्लस Z यदि कम से कम या बराबर है एक्स, वह भी एक वैध त्रिकोण नहीं हो सकता। 431 00:20:01,730 --> 00:20:03,800 तो हम फिर से वापसी झूठी। 432 00:20:03,800 --> 00:20:06,900 मान लिया जाये कि हम चेकों के दोनों पारित हालांकि, उसके बाद हम सच वापसी कर सकते हैं। 433 00:20:06,900 --> 00:20:09,440 उन तीन पक्षों क्योंकि returning-- करने में सक्षम हैं 434 00:20:09,440 --> 00:20:11,647 एक वैध त्रिकोण बनाने की। 435 00:20:11,647 --> 00:20:12,230 और यह बात है। 436 00:20:12,230 --> 00:20:13,830 अब आप की घोषणा की और से परिभाषित किया है। 437 00:20:13,830 --> 00:20:17,330 और अब आप करने में सक्षम हो सकता है का उपयोग करें और इस समारोह में कहते हैं। 438 00:20:17,330 --> 00:20:19,470 अच्छा काम। 439 00:20:19,470 --> 00:20:20,650 मैं डौग लॉयड हूँ। 440 00:20:20,650 --> 00:20:22,820 इस CS50 है। 441 00:20:22,820 --> 00:20:24,340