1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:01,960 स्पीकर 1: के पानी के बारे में बात करते हैं। 3 00:00:01,960 --> 00:00:07,280 इस समस्या में, हम यह बताने के लिए उपयोगकर्ता पूछने हमें मिनट में कितनी देर तक उनकी बौछार था 4 00:00:07,280 --> 00:00:11,040 और फिर हम बराबर की गणना पानी की बोतलों की संख्या 5 00:00:11,040 --> 00:00:12,970 उनकी बौछार का इस्तेमाल किया है। 6 00:00:12,970 --> 00:00:16,379 >> इसलिए हमारे लिए करते हैं की क्या कर रहे हैं इस समस्या के लिए? 7 00:00:16,379 --> 00:00:20,050 सबसे पहले, हम चाहते करने जा रहे हैं संकेत करने के लिए और फिर मान्य 8 00:00:20,050 --> 00:00:22,100 इनपुट है कि उपयोगकर्ता हमें देता है। 9 00:00:22,100 --> 00:00:24,790 एक बार जब हम देखते हैं कि हम यह सुनिश्चित करना मान्य उपयोगकर्ता इनपुट है, 10 00:00:24,790 --> 00:00:28,230 हम गणना करने के लिए जा रहे हैं पानी की बोतलों के बराबर संख्या 11 00:00:28,230 --> 00:00:30,770 उपयोगकर्ता के दौरान किया था कि उनकी शॉवर, और फिर हम कर रहे हैं 12 00:00:30,770 --> 00:00:33,720 द्वारा उन्हें बताने के लिए जा रहा उस नंबर को छापता है। 13 00:00:33,720 --> 00:00:37,230 >> तो चलो हमारी पहली निपटने काम, उत्साह और मान्य 14 00:00:37,230 --> 00:00:38,550 उपयोगकर्ता इनपुट। 15 00:00:38,550 --> 00:00:40,910 इसके लिए हमें लिखा है एक समारोह में आप के लिए बुलाया 16 00:00:40,910 --> 00:00:43,950 CS50 पुस्तकालय में स्थित get_int। 17 00:00:43,950 --> 00:00:48,710 get_int सुनिश्चित करता है कि उपयोगकर्ता इनपुट एक पूर्णांक, इसलिए किसी भी सकारात्मक संख्या, 18 00:00:48,710 --> 00:00:51,700 नकारात्मक संख्या, या शून्य सब स्वीकार कर रहे हैं। 19 00:00:51,700 --> 00:00:55,900 लेकिन कुछ और उपयोगकर्ता आदानों हैं, इसलिए अक्षरों या संख्याओं के किसी भी संयोजन 20 00:00:55,900 --> 00:00:59,710 या दशमलव संख्या है, तो उपयोगकर्ता पुन: प्रयास करने के लिए प्रेरित किया जाएगा 21 00:00:59,710 --> 00:01:04,319 और समारोह के लिए कुछ भी स्वीकार नहीं करेंगे जब तक उपयोगकर्ता उन्हें एक पूर्णांक देता है। 22 00:01:04,319 --> 00:01:06,410 >> तो कैसे हम get_int प्रयोग करते हैं? 23 00:01:06,410 --> 00:01:10,830 आप अपने कार्यक्षेत्र को खोलते हैं और integer.c चलो नाम के एक फ़ाइल बनाने 24 00:01:10,830 --> 00:01:12,110 निम्न लिखें। 25 00:01:12,110 --> 00:01:14,760 हैशटैग cs50.h. शामिल 26 00:01:14,760 --> 00:01:18,480 इसका कारण यह है get_int आवश्यक है एक CS50 पुस्तकालय समारोह है, 27 00:01:18,480 --> 00:01:21,890 इसलिए हम हैशटैग चाहिए शामिल क्रम में अपने घोषणा 28 00:01:21,890 --> 00:01:23,370 समारोह का उपयोग करने के लिए। 29 00:01:23,370 --> 00:01:26,570 और फिर मेरी मुख्य में समारोह मैं सिर्फ जा रहा हूँ 30 00:01:26,570 --> 00:01:29,560 बस समारोह get_int फोन करने के लिए। 31 00:01:29,560 --> 00:01:31,750 >> तो चलो इस चलाते हैं और देखते हैं कि यह कैसे काम करता है। 32 00:01:31,750 --> 00:01:35,092 मैं पहले से ही यह संकलित किया है, तो चलो बस आगे बढ़ो और इस प्रोग्राम चलाते हैं, 33 00:01:35,092 --> 00:01:36,480 ./integer। 34 00:01:36,480 --> 00:01:39,880 यहाँ मैं एक त्वरित है और यहाँ है, जहां मैं इनपुट मूल्य है। 35 00:01:39,880 --> 00:01:44,880 मैं बस कुछ पूर्णांक में डाल कहो, 50, कार्यक्रम excepts और इस्तीफा 36 00:01:44,880 --> 00:01:45,960 और वही जो है। 37 00:01:45,960 --> 00:01:49,350 >> लेकिन कहते हैं कि मैं इसे फिर से चलाने के लिए और मैं इनपुट कुछ और। 38 00:01:49,350 --> 00:01:51,350 शायद, हैलो दुनिया। 39 00:01:51,350 --> 00:01:55,660 यही कारण है कि एक पूर्णांक ऐसा नहीं है कार्यक्रम फिर से प्रयास करने के लिए मुझे संकेत होगा। 40 00:01:55,660 --> 00:01:59,160 के साथ फिर से कोशिश करते हैं शायद एक दशमलव इस बार। 41 00:01:59,160 --> 00:02:03,450 0.5, फिर से, एक पूर्णांक नहीं तो कार्यक्रम इसे स्वीकार नहीं करेंगे 42 00:02:03,450 --> 00:02:05,290 और यह मुझे बताने के लिए फिर से प्रयास करेंगे। 43 00:02:05,290 --> 00:02:07,070 तो चलो यह एक और नंबर दे। 44 00:02:07,070 --> 00:02:09,830 कार्यक्रम में यह स्वीकार करता है, इस्तीफा, और हम कर रहे हैं। 45 00:02:09,830 --> 00:02:13,520 >> तो अब हम एक समारोह है कि हमें की अनुमति देता है और यह सुनिश्चित करता 46 00:02:13,520 --> 00:02:16,790 उपयोगकर्ता एक जानकारी है कि पूर्णांक है, लेकिन हम कैसे कर सकते हैं 47 00:02:16,790 --> 00:02:20,330 वास्तव में का ट्रैक रखने पूर्णांक उपयोगकर्ता द्वारा inputted? 48 00:02:20,330 --> 00:02:25,260 खैर, यह सब हम क्या करेंगे दुकान है एक चर में इस मूल्य, एन कहते हैं। 49 00:02:25,260 --> 00:02:30,580 तो अगर मैं एक पूर्णांक घोषित, और मैं get_int करने के लिए है कि मूल्य निर्धारित है, 50 00:02:30,580 --> 00:02:34,700 तब n तो दुकान होगी जो भी उपयोगकर्ता इनपुट मूल्य। 51 00:02:34,700 --> 00:02:38,620 >> ठीक है, तो अब हम यह सुनिश्चित किया है कि उपयोगकर्ता हमें एक पूर्णांक दे देंगे 52 00:02:38,620 --> 00:02:42,550 और हम जानते हैं कि कैसे ट्रैक रखने के लिए पूर्णांक की, लेकिन याद रखना, 53 00:02:42,550 --> 00:02:45,610 पूर्णांकों दोनों सकारात्मक और नकारात्मक हैं। 54 00:02:45,610 --> 00:02:49,110 तो यह वास्तव में मतलब नहीं है इस समस्या के संदर्भ में 55 00:02:49,110 --> 00:02:53,570 उपयोगकर्ता एक शॉवर ले जाता है कि का कहना है कि नकारात्मक 12 मिनट। 56 00:02:53,570 --> 00:02:59,310 इसलिए हम उपयोगकर्ता है कि यह सुनिश्चित करने की जरूरत है वास्तव में हमें एक सकारात्मक पूर्णांक देता है। 57 00:02:59,310 --> 00:03:02,130 अब हमारे पास नहीं है सिर्फ एक इसके लिए एक समारोह, 58 00:03:02,130 --> 00:03:04,620 तो हम करने जा रहे हैं बनाने के लिए अपने आप को। 59 00:03:04,620 --> 00:03:07,190 >> इसलिए हम लगातार करना चाहते हैं उपयोगकर्ता का संकेत 60 00:03:07,190 --> 00:03:09,730 जब तक वे हमें एक सकारात्मक पूर्णांक दे। 61 00:03:09,730 --> 00:03:14,300 मैं कुछ कर रहा हूँ तो लगातार तो कि एक पाश, पुनरावृत्ति करने के लिए समान है। 62 00:03:14,300 --> 00:03:19,130 निर्माणों है कि हम इस्तेमाल में से एक तो ग में पुनरावृत्ति और छोरों को लागू करने के लिए 63 00:03:19,130 --> 00:03:20,410 थोड़ी देर के पाश है। 64 00:03:20,410 --> 00:03:23,020 तो थोड़ी देर के पाश, के रूप में यहाँ दिखाया गया है, पर अमल करेंगे 65 00:03:23,020 --> 00:03:27,030 जो कुछ भी रूप में लूप के शरीर में है किसी स्थिति का मूल्यांकन करती है लंबे समय तक 66 00:03:27,030 --> 00:03:27,900 सच करने के लिए। 67 00:03:27,900 --> 00:03:30,640 जैसे ही यह है कि शर्त के रूप में गलत करने के लिए मूल्यांकन करता है, तो 68 00:03:30,640 --> 00:03:34,830 कार्यक्रम के लिए आगे बढ़ना होगा जो कुछ भी लूप के शरीर के बाद आता है। 69 00:03:34,830 --> 00:03:39,400 >> तो, जबकि छोरों करने जा रहे हैं CS50 में वास्तव में उपयोगी हो सकता है। 70 00:03:39,400 --> 00:03:42,590 लेकिन यह विशेष रूप से मामले में, हम जानते हैं कि हम कर रहे हैं कि 71 00:03:42,590 --> 00:03:48,140 कम से कम उपयोगकर्ता संकेत करने के लिए जा रहा एक बार और उसके बाद ही पाश यदि आवश्यक है। 72 00:03:48,140 --> 00:03:51,080 तो यहाँ हम एक करने के लिए आ विशेष निर्माण और है कि 73 00:03:51,080 --> 00:03:55,020 बहुत देर के लिए इसी तरह की पाश एक है, जबकि पाश कहा जाता है। 74 00:03:55,020 --> 00:03:58,840 >> तो एक है, जबकि पाश कार्यान्वित लूप के शरीर पर कम से कम एक बार 75 00:03:58,840 --> 00:04:01,750 और फिर यह देखने के लिए जाँच चाहे वह अमल करना चाहिए, 76 00:04:01,750 --> 00:04:05,310 थोड़ी देर के पाश करने के लिए विरोध के रूप में, जो हालत की जाँच करेगा 77 00:04:05,310 --> 00:04:07,200 और फिर शरीर पर अमल। 78 00:04:07,200 --> 00:04:11,880 तो एक है, जबकि पाश में है कि हम क्या हो सकता है ऐसा एक पूर्णांक के लिए उपयोगकर्ता का संकेत है, 79 00:04:11,880 --> 00:04:14,450 और फिर जांच अगर यह गलत है या नहीं। 80 00:04:14,450 --> 00:04:18,130 अगर यह गलत है, तो हम करेंगे प्रक्रिया उपयोगकर्ता पूछ दोहराने 81 00:04:18,130 --> 00:04:22,290 हमें एक और पूर्णांक देने के लिए, और उसके बाद केवल जब कि पूर्णांक मान्य है, 82 00:04:22,290 --> 00:04:25,060 हम जारी रखेंगे जो भी बाद में आता है। 83 00:04:25,060 --> 00:04:28,030 >> अब आप उस पर ध्यान देंगे पूर्णांक की घोषणा 84 00:04:28,030 --> 00:04:31,670 करने के लिए थोड़ा अलग है कि हम क्या पिछले उदाहरण में पहले किया था 85 00:04:31,670 --> 00:04:33,640 और इस क्षेत्र की वजह से है। 86 00:04:33,640 --> 00:04:37,920 हम अंदर पूर्णांक घोषित कर दिया था, तो मत करो हालांकि लूप के शरीर की, 87 00:04:37,920 --> 00:04:42,640 फिर हम उपयोग करने में सक्षम नहीं होगा उन घुंघराले के बाहर n की है कि मूल्य 88 00:04:42,640 --> 00:04:45,050 लूप के शरीर का संकेत ब्रेसिज़। 89 00:04:45,050 --> 00:04:51,080 लेकिन हम वास्तव में क्या उपयोग करना चाहते हैं बाद में हमारे कार्यक्रम में पर एन के मूल्य। 90 00:04:51,080 --> 00:04:55,730 >> ठीक है, तो अब है के बारे में बात करते हैं क्या इस हालत में होना चाहिए। 91 00:04:55,730 --> 00:05:00,400 हम केवल reprompt करना चाहते हैं उपयोगकर्ता के रूप में लंबे n अमान्य है के रूप में। 92 00:05:00,400 --> 00:05:04,640 तो अपने आप को लगता है कि क्या गलत पूर्णांक मूल्य की तरह लग रही होगी 93 00:05:04,640 --> 00:05:08,060 और फिर एक बूलियन बनाने अभिव्यक्ति को व्यक्त करने के लिए है। 94 00:05:08,060 --> 00:05:13,070 >> हम लगभग हमारे उपकार्य के साथ खत्म हो रहे हैं के उत्साह और उपयोगकर्ता इनपुट को मान्य। 95 00:05:13,070 --> 00:05:16,010 तो चलो इस एक छोटे से बनाते हैं थोड़ा और अधिक उपयोगकर्ता के अनुकूल 96 00:05:16,010 --> 00:05:18,390 और उपयोगकर्ता एक छोटा सा दे थोड़ा और अधिक जानकारी 97 00:05:18,390 --> 00:05:20,510 की क्या हम उनके लिए उत्साह रहे हैं। 98 00:05:20,510 --> 00:05:24,500 तो चलो उपयोगकर्ता संकेत, प्रति चलो कल्पना, स्ट्रिंग मिनट के साथ। 99 00:05:24,500 --> 00:05:28,935 तो अपने printf बयानों का उपयोग कर, कर सुनिश्चित करें कि आप यह बिल्कुल मेल खाते हैं। 100 00:05:28,935 --> 00:05:30,230 >> ठीक है। 101 00:05:30,230 --> 00:05:33,840 तो अब हम एक वैध उपयोगकर्ता है इनपुट, एक सकारात्मक पूर्णांक 102 00:05:33,840 --> 00:05:37,400 कितने मिनट के लिए मूल्य वे शॉवर में बिताया। 103 00:05:37,400 --> 00:05:41,300 तो आगे क्या है की गणना करने के लिए है बोतलों के बराबर संख्या। 104 00:05:41,300 --> 00:05:45,250 हम यहाँ क्या करने जा रहे हैं क्या हो सकता है पहली बार में आप के लिए बहुत ही स्पष्ट हो सकता है, 105 00:05:45,250 --> 00:05:46,640 और वह ठीक है। 106 00:05:46,640 --> 00:05:49,320 क्या हम करना चाहते हैं हम है अभ्यास शुरू करना चाहते हैं 107 00:05:49,320 --> 00:05:53,810 पैटर्न का पता लगाने के विचार और समस्या के लिए फार्मूले का विकास। 108 00:05:53,810 --> 00:05:57,200 >> इसलिए हम कल्पना के अनुसार बता रहे हैं शॉवर में है कि एक मिनट 109 00:05:57,200 --> 00:05:59,960 के बारे में करने के लिए बराबर है पानी की 12 बोतलें। 110 00:05:59,960 --> 00:06:03,020 तो फिर दो मिनट होगा 24 के बराबर हो, 111 00:06:03,020 --> 00:06:05,850 और पांच मिनट होगा 60 के बराबर हो। 112 00:06:05,850 --> 00:06:08,390 तो अब अगर आपको लगता है आप यह मिल गया है, तो चलो 113 00:06:08,390 --> 00:06:10,390 आप अगर आ सकते हैं एक पैटर्न या फार्मूले के साथ 114 00:06:10,390 --> 00:06:14,990 व्यक्त करने के लिए अगर हम कहते है, n मिनट, कितने पानी की बोतलें 115 00:06:14,990 --> 00:06:17,930 कि n के संदर्भ में व्यक्त किया जाएगा? 116 00:06:17,930 --> 00:06:20,680 >> फिर, भले ही इस पहली बार में सरल किया जा सकता है, 117 00:06:20,680 --> 00:06:23,240 बाद में जब हम करने के लिए मिलता है पर और अधिक जटिल समस्याओं 118 00:06:23,240 --> 00:06:26,360 हम में प्राप्त करना चाहते करने जा रहे हैं की पहचान करने की प्रथा 119 00:06:26,360 --> 00:06:30,120 पैटर्न और विकासशील फार्मूले इन बातों को बाहर निकालने के लिए। 120 00:06:30,120 --> 00:06:33,450 >> सी में आप के लिए उपयोग किया मानक अंकगणितीय आपरेशनों, 121 00:06:33,450 --> 00:06:36,520 इसके अलावा, घटाव, गुणन और भाग। 122 00:06:36,520 --> 00:06:38,420 तो मैं यह करने के लिए छोड़ देंगे आप अब यह पता लगाने की 123 00:06:38,420 --> 00:06:41,300 कैसे व्यक्त करने के लिए बोतलों के बराबर संख्या 124 00:06:41,300 --> 00:06:43,990 उपयोगकर्ता भस्म कि उनकी स्नान के दौरान। 125 00:06:43,990 --> 00:06:45,700 >> ठीक है, हम लगभग काम हो गया। 126 00:06:45,700 --> 00:06:50,650 हम अपने इनपुट के लिए उपयोगकर्ता के लिए प्रेरित किया है, हम यह सुनिश्चित किया है कि यह वैध इनपुट है, 127 00:06:50,650 --> 00:06:53,330 और फिर हम बाहर कैसे सुलझा लिया बराबर की गणना करने के लिए 128 00:06:53,330 --> 00:06:55,480 बोतलों कि वे भस्म की संख्या। 129 00:06:55,480 --> 00:06:59,430 ऐसा करने के लिए पिछले बात उत्पादन करने के लिए है बोतलों के बराबर संख्या 130 00:06:59,430 --> 00:07:02,410 और उम्मीद है कि प्रोत्साहित उन्हें कुछ पानी के संरक्षण के लिए। 131 00:07:02,410 --> 00:07:06,270 >> मूल्य outputting होगा एक printf बयान हो। 132 00:07:06,270 --> 00:07:09,720 अगर मैं तुम्हें कि मैं बताना चाहता था उदाहरण के लिए, तीन जाते है, 133 00:07:09,720 --> 00:07:13,090 मैं एक printf बयान उपयोग हो सकता है कि कुछ इस तरह लग रहा है। 134 00:07:13,090 --> 00:07:15,880 मैं तीन जाते है, और एक नया अच्छा फॉर्मेटिंग के लिए लाइन। 135 00:07:15,880 --> 00:07:17,880 >> अब हम नहीं करना चाहते बस मुश्किल कोड बातें। 136 00:07:17,880 --> 00:07:20,740 की संख्या कहना है कि मेरे पालतू जानवर समय के साथ बदलता है। 137 00:07:20,740 --> 00:07:25,080 तब मैं का उपयोग करने के लिए जा रहा हूँ मेरे printf बयान में प्लेसहोल्डर्स। 138 00:07:25,080 --> 00:07:27,350 तो यहाँ मेरा नंबर एक पूर्णांक है। 139 00:07:27,350 --> 00:07:31,480 तो मैं एक प्लेसहोल्डर बनाने के लिए जा रहा हूँ एक पूर्णांक% मैं प्रयोग करने के लिए। 140 00:07:31,480 --> 00:07:33,930 मैं स्ट्रिंग लिखने जा रहा हूँ, और फिर स्ट्रिंग के बाद 141 00:07:33,930 --> 00:07:38,000 मैं एक अल्पविराम और उसके बाद के बारे में चर है कि मैं मुद्रित करना चाहते हैं। 142 00:07:38,000 --> 00:07:42,730 तो यह है कि मूल्य मुद्रित किया जाएगा कि प्लेसहोल्डर,% मैं के एवज में। 143 00:07:42,730 --> 00:07:47,630 >> आप प्लेसहोल्डर्स उपयोग कर सकते हैं, के रूप में खैर, एक% च के साथ मंगाई के लिए। 144 00:07:47,630 --> 00:07:50,420 तुम भी कई हो सकता है एक स्ट्रिंग में प्लेसहोल्डर्स। 145 00:07:50,420 --> 00:07:53,950 उदाहरण के लिए, मैं कुछ संख्या है कुत्तों और बिल्लियों के कुछ नंबर की, 146 00:07:53,950 --> 00:07:59,210 मैं दो प्लेसहोल्डर्स यहाँ और फिर लगा संबंधित क्रम में मेरे दो चर। 147 00:07:59,210 --> 00:08:03,130 >> तो अब हम जानते हैं कि मुद्रित करने के लिए कैसे मूल्यों चर में संग्रहीत है, 148 00:08:03,130 --> 00:08:06,030 करने के लिए बहुत पिछले बात ऐसा लगता है कि हम यह सुनिश्चित करने के लिए है 149 00:08:06,030 --> 00:08:10,920 सटीक प्रारूप में मूल्य मुद्रित विनिर्देश में संकेत दिया। 150 00:08:10,920 --> 00:08:14,990 उस के साथ, हम के लिए प्रेरित किया है उपयोगकर्ता और उनके इनपुट मान्य। 151 00:08:14,990 --> 00:08:17,920 हम तो बराबर की गणना है पानी की बोतलों की संख्या 152 00:08:17,920 --> 00:08:22,100 कि वे अपने स्नान के दौरान उपभोग करते हैं, और हम उन्हें करने के लिए है कि मूल्य outputted गए हैं। 153 00:08:22,100 --> 00:08:24,440 और हां, तो हम पानी पूरा कर दिया है। 154 00:08:24,440 --> 00:08:28,730 >> मेरा नाम है [? Zamila?] और इस CS50 है। 155 00:08:28,730 --> 00:08:29,909