स्पीकर 1: के पानी के बारे में बात करते हैं।
इस समस्या में, हम यह बताने के लिए उपयोगकर्ता पूछने हमें मिनट में कितनी देर तक उनकी बौछार था
और फिर हम बराबर की गणना पानी की बोतलों की संख्या
उनकी बौछार का इस्तेमाल किया है।
>> इसलिए हमारे लिए करते हैं की क्या कर रहे हैं इस समस्या के लिए?
सबसे पहले, हम चाहते करने जा रहे हैं संकेत करने के लिए और फिर मान्य
इनपुट है कि उपयोगकर्ता हमें देता है।
एक बार जब हम देखते हैं कि हम यह सुनिश्चित करना मान्य उपयोगकर्ता इनपुट है,
हम गणना करने के लिए जा रहे हैं पानी की बोतलों के बराबर संख्या
उपयोगकर्ता के दौरान किया था कि उनकी शॉवर, और फिर हम कर रहे हैं
द्वारा उन्हें बताने के लिए जा रहा उस नंबर को छापता है।
>> तो चलो हमारी पहली निपटने काम, उत्साह और मान्य
उपयोगकर्ता इनपुट।
इसके लिए हमें लिखा है एक समारोह में आप के लिए बुलाया
CS50 पुस्तकालय में स्थित get_int।
get_int सुनिश्चित करता है कि उपयोगकर्ता इनपुट एक पूर्णांक, इसलिए किसी भी सकारात्मक संख्या,
नकारात्मक संख्या, या शून्य सब स्वीकार कर रहे हैं।
लेकिन कुछ और उपयोगकर्ता आदानों हैं, इसलिए अक्षरों या संख्याओं के किसी भी संयोजन
या दशमलव संख्या है, तो उपयोगकर्ता पुन: प्रयास करने के लिए प्रेरित किया जाएगा
और समारोह के लिए कुछ भी स्वीकार नहीं करेंगे जब तक उपयोगकर्ता उन्हें एक पूर्णांक देता है।
>> तो कैसे हम get_int प्रयोग करते हैं?
आप अपने कार्यक्षेत्र को खोलते हैं और integer.c चलो नाम के एक फ़ाइल बनाने
निम्न लिखें।
हैशटैग cs50.h. शामिल
इसका कारण यह है get_int आवश्यक है एक CS50 पुस्तकालय समारोह है,
इसलिए हम हैशटैग चाहिए शामिल क्रम में अपने घोषणा
समारोह का उपयोग करने के लिए।
और फिर मेरी मुख्य में समारोह मैं सिर्फ जा रहा हूँ
बस समारोह get_int फोन करने के लिए।
>> तो चलो इस चलाते हैं और देखते हैं कि यह कैसे काम करता है।
मैं पहले से ही यह संकलित किया है, तो चलो बस आगे बढ़ो और इस प्रोग्राम चलाते हैं,
./integer।
यहाँ मैं एक त्वरित है और यहाँ है, जहां मैं इनपुट मूल्य है।
मैं बस कुछ पूर्णांक में डाल कहो, 50, कार्यक्रम excepts और इस्तीफा
और वही जो है।
>> लेकिन कहते हैं कि मैं इसे फिर से चलाने के लिए और मैं इनपुट कुछ और।
शायद, हैलो दुनिया।
यही कारण है कि एक पूर्णांक ऐसा नहीं है कार्यक्रम फिर से प्रयास करने के लिए मुझे संकेत होगा।
के साथ फिर से कोशिश करते हैं शायद एक दशमलव इस बार।
0.5, फिर से, एक पूर्णांक नहीं तो कार्यक्रम इसे स्वीकार नहीं करेंगे
और यह मुझे बताने के लिए फिर से प्रयास करेंगे।
तो चलो यह एक और नंबर दे।
कार्यक्रम में यह स्वीकार करता है, इस्तीफा, और हम कर रहे हैं।
>> तो अब हम एक समारोह है कि हमें की अनुमति देता है और यह सुनिश्चित करता
उपयोगकर्ता एक जानकारी है कि पूर्णांक है, लेकिन हम कैसे कर सकते हैं
वास्तव में का ट्रैक रखने पूर्णांक उपयोगकर्ता द्वारा inputted?
खैर, यह सब हम क्या करेंगे दुकान है एक चर में इस मूल्य, एन कहते हैं।
तो अगर मैं एक पूर्णांक घोषित, और मैं get_int करने के लिए है कि मूल्य निर्धारित है,
तब n तो दुकान होगी जो भी उपयोगकर्ता इनपुट मूल्य।
>> ठीक है, तो अब हम यह सुनिश्चित किया है कि उपयोगकर्ता हमें एक पूर्णांक दे देंगे
और हम जानते हैं कि कैसे ट्रैक रखने के लिए पूर्णांक की, लेकिन याद रखना,
पूर्णांकों दोनों सकारात्मक और नकारात्मक हैं।
तो यह वास्तव में मतलब नहीं है इस समस्या के संदर्भ में
उपयोगकर्ता एक शॉवर ले जाता है कि का कहना है कि नकारात्मक 12 मिनट।
इसलिए हम उपयोगकर्ता है कि यह सुनिश्चित करने की जरूरत है वास्तव में हमें एक सकारात्मक पूर्णांक देता है।
अब हमारे पास नहीं है सिर्फ एक इसके लिए एक समारोह,
तो हम करने जा रहे हैं बनाने के लिए अपने आप को।
>> इसलिए हम लगातार करना चाहते हैं उपयोगकर्ता का संकेत
जब तक वे हमें एक सकारात्मक पूर्णांक दे।
मैं कुछ कर रहा हूँ तो लगातार तो कि एक पाश, पुनरावृत्ति करने के लिए समान है।
निर्माणों है कि हम इस्तेमाल में से एक तो ग में पुनरावृत्ति और छोरों को लागू करने के लिए
थोड़ी देर के पाश है।
तो थोड़ी देर के पाश, के रूप में यहाँ दिखाया गया है, पर अमल करेंगे
जो कुछ भी रूप में लूप के शरीर में है किसी स्थिति का मूल्यांकन करती है लंबे समय तक
सच करने के लिए।
जैसे ही यह है कि शर्त के रूप में गलत करने के लिए मूल्यांकन करता है, तो
कार्यक्रम के लिए आगे बढ़ना होगा जो कुछ भी लूप के शरीर के बाद आता है।
>> तो, जबकि छोरों करने जा रहे हैं CS50 में वास्तव में उपयोगी हो सकता है।
लेकिन यह विशेष रूप से मामले में, हम जानते हैं कि हम कर रहे हैं कि
कम से कम उपयोगकर्ता संकेत करने के लिए जा रहा एक बार और उसके बाद ही पाश यदि आवश्यक है।
तो यहाँ हम एक करने के लिए आ विशेष निर्माण और है कि
बहुत देर के लिए इसी तरह की पाश एक है, जबकि पाश कहा जाता है।
>> तो एक है, जबकि पाश कार्यान्वित लूप के शरीर पर कम से कम एक बार
और फिर यह देखने के लिए जाँच चाहे वह अमल करना चाहिए,
थोड़ी देर के पाश करने के लिए विरोध के रूप में, जो हालत की जाँच करेगा
और फिर शरीर पर अमल।
तो एक है, जबकि पाश में है कि हम क्या हो सकता है ऐसा एक पूर्णांक के लिए उपयोगकर्ता का संकेत है,
और फिर जांच अगर यह गलत है या नहीं।
अगर यह गलत है, तो हम करेंगे प्रक्रिया उपयोगकर्ता पूछ दोहराने
हमें एक और पूर्णांक देने के लिए, और उसके बाद केवल जब कि पूर्णांक मान्य है,
हम जारी रखेंगे जो भी बाद में आता है।
>> अब आप उस पर ध्यान देंगे पूर्णांक की घोषणा
करने के लिए थोड़ा अलग है कि हम क्या पिछले उदाहरण में पहले किया था
और इस क्षेत्र की वजह से है।
हम अंदर पूर्णांक घोषित कर दिया था, तो मत करो हालांकि लूप के शरीर की,
फिर हम उपयोग करने में सक्षम नहीं होगा उन घुंघराले के बाहर n की है कि मूल्य
लूप के शरीर का संकेत ब्रेसिज़।
लेकिन हम वास्तव में क्या उपयोग करना चाहते हैं बाद में हमारे कार्यक्रम में पर एन के मूल्य।
>> ठीक है, तो अब है के बारे में बात करते हैं क्या इस हालत में होना चाहिए।
हम केवल reprompt करना चाहते हैं उपयोगकर्ता के रूप में लंबे n अमान्य है के रूप में।
तो अपने आप को लगता है कि क्या गलत पूर्णांक मूल्य की तरह लग रही होगी
और फिर एक बूलियन बनाने अभिव्यक्ति को व्यक्त करने के लिए है।
>> हम लगभग हमारे उपकार्य के साथ खत्म हो रहे हैं के उत्साह और उपयोगकर्ता इनपुट को मान्य।
तो चलो इस एक छोटे से बनाते हैं थोड़ा और अधिक उपयोगकर्ता के अनुकूल
और उपयोगकर्ता एक छोटा सा दे थोड़ा और अधिक जानकारी
की क्या हम उनके लिए उत्साह रहे हैं।
तो चलो उपयोगकर्ता संकेत, प्रति चलो कल्पना, स्ट्रिंग मिनट के साथ।
तो अपने printf बयानों का उपयोग कर, कर सुनिश्चित करें कि आप यह बिल्कुल मेल खाते हैं।
>> ठीक है।
तो अब हम एक वैध उपयोगकर्ता है इनपुट, एक सकारात्मक पूर्णांक
कितने मिनट के लिए मूल्य वे शॉवर में बिताया।
तो आगे क्या है की गणना करने के लिए है बोतलों के बराबर संख्या।
हम यहाँ क्या करने जा रहे हैं क्या हो सकता है पहली बार में आप के लिए बहुत ही स्पष्ट हो सकता है,
और वह ठीक है।
क्या हम करना चाहते हैं हम है अभ्यास शुरू करना चाहते हैं
पैटर्न का पता लगाने के विचार और समस्या के लिए फार्मूले का विकास।
>> इसलिए हम कल्पना के अनुसार बता रहे हैं शॉवर में है कि एक मिनट
के बारे में करने के लिए बराबर है पानी की 12 बोतलें।
तो फिर दो मिनट होगा 24 के बराबर हो,
और पांच मिनट होगा 60 के बराबर हो।
तो अब अगर आपको लगता है आप यह मिल गया है, तो चलो
आप अगर आ सकते हैं एक पैटर्न या फार्मूले के साथ
व्यक्त करने के लिए अगर हम कहते है, n मिनट, कितने पानी की बोतलें
कि n के संदर्भ में व्यक्त किया जाएगा?
>> फिर, भले ही इस पहली बार में सरल किया जा सकता है,
बाद में जब हम करने के लिए मिलता है पर और अधिक जटिल समस्याओं
हम में प्राप्त करना चाहते करने जा रहे हैं की पहचान करने की प्रथा
पैटर्न और विकासशील फार्मूले इन बातों को बाहर निकालने के लिए।
>> सी में आप के लिए उपयोग किया मानक अंकगणितीय आपरेशनों,
इसके अलावा, घटाव, गुणन और भाग।
तो मैं यह करने के लिए छोड़ देंगे आप अब यह पता लगाने की
कैसे व्यक्त करने के लिए बोतलों के बराबर संख्या
उपयोगकर्ता भस्म कि उनकी स्नान के दौरान।
>> ठीक है, हम लगभग काम हो गया।
हम अपने इनपुट के लिए उपयोगकर्ता के लिए प्रेरित किया है, हम यह सुनिश्चित किया है कि यह वैध इनपुट है,
और फिर हम बाहर कैसे सुलझा लिया बराबर की गणना करने के लिए
बोतलों कि वे भस्म की संख्या।
ऐसा करने के लिए पिछले बात उत्पादन करने के लिए है बोतलों के बराबर संख्या
और उम्मीद है कि प्रोत्साहित उन्हें कुछ पानी के संरक्षण के लिए।
>> मूल्य outputting होगा एक printf बयान हो।
अगर मैं तुम्हें कि मैं बताना चाहता था उदाहरण के लिए, तीन जाते है,
मैं एक printf बयान उपयोग हो सकता है कि कुछ इस तरह लग रहा है।
मैं तीन जाते है, और एक नया अच्छा फॉर्मेटिंग के लिए लाइन।
>> अब हम नहीं करना चाहते बस मुश्किल कोड बातें।
की संख्या कहना है कि मेरे पालतू जानवर समय के साथ बदलता है।
तब मैं का उपयोग करने के लिए जा रहा हूँ मेरे printf बयान में प्लेसहोल्डर्स।
तो यहाँ मेरा नंबर एक पूर्णांक है।
तो मैं एक प्लेसहोल्डर बनाने के लिए जा रहा हूँ एक पूर्णांक% मैं प्रयोग करने के लिए।
मैं स्ट्रिंग लिखने जा रहा हूँ, और फिर स्ट्रिंग के बाद
मैं एक अल्पविराम और उसके बाद के बारे में चर है कि मैं मुद्रित करना चाहते हैं।
तो यह है कि मूल्य मुद्रित किया जाएगा कि प्लेसहोल्डर,% मैं के एवज में।
>> आप प्लेसहोल्डर्स उपयोग कर सकते हैं, के रूप में खैर, एक% च के साथ मंगाई के लिए।
तुम भी कई हो सकता है एक स्ट्रिंग में प्लेसहोल्डर्स।
उदाहरण के लिए, मैं कुछ संख्या है कुत्तों और बिल्लियों के कुछ नंबर की,
मैं दो प्लेसहोल्डर्स यहाँ और फिर लगा संबंधित क्रम में मेरे दो चर।
>> तो अब हम जानते हैं कि मुद्रित करने के लिए कैसे मूल्यों चर में संग्रहीत है,
करने के लिए बहुत पिछले बात ऐसा लगता है कि हम यह सुनिश्चित करने के लिए है
सटीक प्रारूप में मूल्य मुद्रित विनिर्देश में संकेत दिया।
उस के साथ, हम के लिए प्रेरित किया है उपयोगकर्ता और उनके इनपुट मान्य।
हम तो बराबर की गणना है पानी की बोतलों की संख्या
कि वे अपने स्नान के दौरान उपभोग करते हैं, और हम उन्हें करने के लिए है कि मूल्य outputted गए हैं।
और हां, तो हम पानी पूरा कर दिया है।
>> मेरा नाम है [? Zamila?] और इस CS50 है।