>> डौग लॉयड: ठीक है, तो के छोरों के बारे में बात करते हैं।
तो छोरों शांत की तरह कर रहे हैं वे अपने कार्यक्रम अनुमति है, क्योंकि
कोड की तर्ज पर अमल करने के लिए और अधिक से अधिक और अधिक से अधिक।
बार-बार, बिना कॉपी करने के लिए और पेस्ट या अन्यथा उन्हें दोहराना।
प्रमुख तीन हैं आप देखेंगे छोरों की तरह।
आप शायद का उपयोग करने के लिए अवसर होगा हर एक को आप CS50 के माध्यम से प्रगति के रूप में।
इन छोरों से कुछ बहुत हैं स्क्रैच से आप परिचित,
तो फिर, हम सशर्त के साथ किया था, हम कंधे से कंधा मिलाकर उन्हें डाल देंगे
एक सादृश्य है, अगर वहाँ हम आकर्षित कर सकते हैं।
>> सबसे पहले, स्क्रैच से हमेशा के लिए है जो है, जबकि (सच) के मुकाबले बेहतर है।
यह है कि हम एक अनंत लूप क्या कहते है।
घुंघराले के बीच कोड की लाइनों ब्रेसिज़, ज्यादा पहेली टुकड़े की तरह
सी के अंदर है कि फिट हमेशा के लिए ब्लॉक की,
ऊपर से बार-बार अमल करेंगे नीचे करने के लिए और अधिक से अधिक और अधिक से अधिक,
हमेशा के लिए।
सब के बाद, आप हमारी याद करते हैं बूलियन अभिव्यक्ति की चर्चा,
सच हमेशा सच है।
हम क्या कर रहे हैं तो अगर सच के रूप में इतने लंबे समय के कुछ
यह true-- है एक छोटे silly-- सच लगता है हमेशा सच है, तो यह हमेशा चलने देंगे।
यह हमेशा के लिए चला जाएगा और और कभी कभी हम जब तक
साथ इसे से बाहर तोड़ने के लिए एक रास्ता खोजना एक ब्रेक के बयान, जो फिर से,
हम थोड़ी देर पहले देखा था हम स्विच के बारे में बात कर रहे थे।
>> या अन्यथा सिर्फ मारने हमारी कार्यक्रम है, जो संयोग से,
क्या तुमने कभी एक में अपने आप को लगता है कि अगर एक अनंत लूप के साथ स्थिति
और आप को रोकने के लिए पता नहीं है चलने से अपने कार्यक्रम।
बस पर नियंत्रण और सी मारा और कि आप के लिए अपने कार्यक्रम को मार देंगे।
लेकिन यह फिर से है, एक अनंत लूप बुलाया।
यह हमेशा के लिए चला जाएगा कि एक पाश है।
अब, छोरों जबकि नहीं हैं हमेशा अनंत, इसलिए भी कि
हम बूलियन जगह ले सकता है कुछ के साथ अभिव्यक्ति
एक छोटे से अधिक उपयोगी से सिर्फ सच।
तो यहाँ एक और उदाहरण है।
जबकि और कुछ बूलियन अभिव्यक्ति और फिर घुंघराले ब्रेसिज़।
यही कारण है कि अनुरूप बहुत ज्यादा है खरोंच से, जब तक दोहराने के लिए।
एक दूसरे में, मैं हूँ यद्यपि अंतर समझा।
>> सी में तो बूलियन अभिव्यक्ति यदि जबकि लूप के अंदर
का सच, लाइनों का मूल्यांकन घुंघराले ब्रेसिज़ के बीच कोड
और अधिक से अधिक बार बार अमल करेंगे और अधिक से अधिक बूलियन अभिव्यक्ति तक
गलत करने के लिए मूल्यांकन करता है।
तो उदाहरण के लिए, आप कर सकते हैं काउंटर के कुछ प्रकार है।
तो की शुरुआत में आप कहते हैं इस लूप पूर्णांक एक्स शून्य के बराबर होती है कहना।
एक्स 100 से भी कम है, जबकि एक जोड़ी है कि सर्पाकार अंदर बातें,
फिर अपने पाश के अंत में, आप कहते हैं एक्स प्लस प्लस, आप एक्स बढ़ाने जा रहे हैं।
आखिरकार एक्स मिल जाएगा के लिए 100 और आप करेंगे
हालत क्योंकि रोक एक्स कम से कम 100 है
अब नहीं के रूप में सच हो जाएगा जल्द ही एक्स के रूप में 100 के बराबर है।
100 100 से कम नहीं है।
>> अब कुछ हद तक भ्रामक, व्यवहार खरोंच ब्लॉक के उलट है।
अगर यह होता है तो वास्तव में सावधान रहना छोरों का उपयोग करने में अपनी पहली चढ़ाई।
असल में, दोहराने स्क्रैच में ब्लॉक तक
कुछ दोहराना होगा और अधिक से अधिक और अधिक से अधिक,
अभिव्यक्ति जब तक, बूलियन षट्भुज में अभिव्यक्ति सच है।
इसलिए यह कर रखेंगे अगर यह सच है जब तक।
इस बीच, जबकि पाश होगा यह गलत है जब तक यह करने के लिए जारी है।
तो वे काफी समान हैं, लेकिन बस थोड़ा भेद नहीं है
तुम बनाने के रूप में विशेष रूप से सावधान रहना होगा संक्रमण कर से अपनी पहली चढ़ाई
ग में खरोंच करने के लिए।
पाश के अगले प्रकार है वास्तव में बहुत समान है।
यह Do पाश जबकि कहा जाता है।
इस पाश सभी लाइनों पर अमल करेंगे एक बार घुंघराले ब्रेसिज़ के बीच कोड की,
और फिर यह जाँच करेगा बूलियन अभिव्यक्ति।
बूलियन अभिव्यक्ति हैं सही मूल्यांकन,
इसे वापस जाने के लिए और दोहराता हूँ और अधिक से अधिक है कि इस प्रक्रिया
और अधिक से अधिक बूलियन तक अभिव्यक्ति गलत करने के लिए मूल्यांकन करता है।
तो इस लूप, थोड़ी देर के पाश के विपरीत है कम से कम एक बार चलाने के लिए गारंटी।
यह बहुत उपयोगी हो सकता है।
>> अन्त में, हम एक पाश के लिए है।
छोरों के लिए एक तरह से कर रहे हैं वाक्य रचना बदसूरत
और जा रहा है एक बहुत कुछ है यहाँ पर, तो मेरे साथ सहन
हम कोशिश करते हैं और इसके अलावा इन टुकड़ों के रूप में तोड़।
आम तौर पर, उपयोग के मामले पाश के लिए एक आप है की
कुछ एक को दोहराना चाहते हैं समय की विशिष्ट संख्या।
इस उदाहरण में, मैं दोहराने ब्लॉक है
खरोंच से, जो है पाश के लिए के अनुरूप
सी में, कुछ 10 बार दोहरा।
और पर पाश के लिए वहाँ छोड़ दिया, जो
एक चार पाश है कि एक ही बात करेंगे।
यह 10 बार जाना होगा।
शून्य से गिनती, हम पाश की प्रत्येक पारित वेतन वृद्धि।
और हम कर रखना है मैं कम से कम 10 है जब तक।
>> तो क्या होता है?
वहाँ कोड की एक पूरी बहुत कुछ है।
के लिए इसे तोड़ने के नीचे चलो क्या कदम क्या हो रहा है
कदम से हम पाश के लिए एक के माध्यम से खुदाई के रूप में।
क्या हुआ कि पहली बात यह है काउंटर चर केंद्र है।
कि पहले के बाईं ओर सब कुछ कोष्ठकों के अंदर अर्धविराम
निष्पादित किया जाता है।
इस मामले में, हम कर रहे हैं मैं 0 के बराबर होती है पूर्णांक कह रही है।
मैं नामक एक नया चर घोषित, चर कि एक प्रकार पूर्णांक है
और हम अंदर मूल्य कह रहे हैं उस चर शून्य होने जा रहा है।
>> हम क्या दूसरी बात है हम तो तुरंत का मूल्यांकन
बूलियन अभिव्यक्ति।
बूलियन अभिव्यक्ति में है दो अर्धविराम के बीच।
मैं कम से कम 10 है।
यह ठीक है, यहाँ सच है?
हम सिर्फ मैं के बराबर है कहा शून्य है, और इसलिए 0, कम से कम 10 है
और इतनी है कि हालत सच है और हम अब होगा
लूप के शरीर पर अमल करने के लिए आगे बढ़ें।
अगर यह गलत था।
अगर, उदाहरण के लिए, मैं के बजाय कहा मैं, 0 वहाँ मैं मैं 15 के बराबर होती है कहा बराबर होती है
मैं 15 के बराबर होती है int।
अच्छी तरह से 15 10 से कम नहीं है, इसलिए हम लूप के शरीर में प्रवेश कर कभी नहीं होगा
बूलियन अभिव्यक्ति क्योंकि गलत पाए जाने पर वहां का मूल्यांकन होगा।
>> हम ऊपर से नीचे तक के माध्यम से जाने के बाद, हम, घुंघराले ब्रेस को बंद करने कि मुठभेड़
एक तीसरी बात यह है कि क्या होता है।
काउंटर चर रहा है incremented, या यों कहें, लाइनों
एक बयान के कोड के बाद के अंदर दूसरी अर्धविराम
छोरों कोष्ठकों के लिए मार डाला है।
इसलिए हम द्वारा शुरू मैं 0 के बराबर होती है पूर्णांक कह रही है।
तो फिर हम क्या है या नहीं की जांच बूलियन अभिव्यक्ति सच है।
0 10 तो यह सच है, की तुलना में कम है।
इसलिए हम आगे बढ़ने के लिए जा रहे हैं शरीर पाश में।
हालात लूप के अंदर होता है, और होगा हम बंद घुंघराले कि जब मुठभेड़
गले लगा, अगली बात यह है कि हम ऐसा हम मैं प्लस, प्लस कहना है।
मैं शून्य अब मैं एक हो गया है।
तो, हम फिर से मूल्य की जांच बीच में बूलियन अभिव्यक्ति।
एक कम से कम 10 है।
इसलिए हम इस माध्यम से जाना होगा बार-बार की प्रक्रिया।
हम बंद करने के लिए मिल जाएगा फिर घुंघराले ब्रेस।
हम से मैं वेतन वृद्धि करेंगे 1 से 2 और 2-3।
और इतने पर और इतने पर और इतने पर, जब तक अंत में मैं के मूल्य 10 हो जाता है।
10 से 10 कम है?
नहीं।
0 से गिनती, हम चले गए हैं लूप के 10 पुनरावृत्तियों के माध्यम से।
हम सिर्फ 10 बार दोहराया है हम खरोंच ब्लॉक में किया था।
और इतना है कि मूल रूप से है एक चार पाश के लिए प्रक्रिया।
>> अब दूर ले जा रही है वास्तविक कोड और इसे लगाने
बस कुछ बुनियादी सामान्य बयानों में।
यहाँ क्या होता है।
सभी बयान में पहले क्रियान्वित कर रहे हैं शुरू करते हैं।
आप एक से अधिक हो सकता है।
फिर, बूलियन अभिव्यक्ति की जाँच की है।
अभिव्यक्ति सही मूल्यांकन करते हैं, शरीर पाश एक बार निष्पादित।
अभिव्यक्ति का मूल्यांकन करता है, तो गलत करने के लिए, हम कर रहे हैं।
हम पर अमल नहीं करते सब पर पाश के शरीर।
हम निष्पादित करने के बाद शरीर पाश एक बार,
हम तो क्या में है वहाँ वेतन वृद्धि हिस्सा है।
जो आम तौर पर होने जा रहा है मैं ऐसा कुछ प्लस, प्लस
या ऐसा कुछ है कि, एक काउंटर चर संशोधित करता है।
फिर, के बाद हम, वेतन वृद्धि फिर अभिव्यक्ति की जांच
और अधिक से अधिक उन चरणों को दोहराएँ और अभिव्यक्ति है पर जब तक
अब सच।
>> तो एक पाश के लिए उपयोग के मामलों क्या कर रहे हैं?
आप थोड़ी देर के पाश जब उपयोग का उपयोग आप एक पाश दोहराना चाहते हैं
बार के एक अज्ञात संख्या है, लेकिन यह संभवतः सभी नहीं चल सकता है।
का एक बहुत सामान्य उदाहरण पाशन थोड़ी देर के लिए इस्तेमाल किया जा रहा है
एक खेल के लिए नियंत्रण प्रवाह को चलाने के लिए है।
तुम्हें पता नहीं कैसे हो सकता है लंबा उपयोगकर्ता खेल होने जा रहा है,
लेकिन आप रखना चाहते हैं एक ही बात कर रहे हैं।
के पदों को अपडेट कर रहा है बोर्ड पर विभिन्न स्प्राइट।
आप चीजों को रखना चाहते हैं सभी समय पर चलती है,
लेकिन आप जब पता नहीं है उपयोगकर्ता खेल को रोकने के लिए जा रहा है
या वे जा रहे हैं जब जीवन से बाहर चलाने के लिए।
तो थोड़ी देर के पाश वास्तव में है ऐसा कुछ के लिए अच्छा है।
यही कारण है कि एक अच्छा इस्तेमाल का मामला है।
>> एक मत के लिए लूप, जबकि यह बहुत समान है।
आप एक पाश एक अज्ञात दोहराना चाहते हैं बार की संख्या है, लेकिन कम से कम एक बार।
आप एक खेल के लिए इस का उपयोग हो सकता है भी है, लेकिन वास्तव में एक आम उपयोग के मामले
इनपुट के लिए उपयोगकर्ता उत्साह है।
आम तौर पर, आप कुछ कह सकते हैं जैसे, मुझे एक सकारात्मक पूर्णांक दे,
और आप उस डाल सकता है पाश, जबकि एक मत के अंदर।
तो यह हमेशा पर उन्हें पूछना होगा कम से कम एक बार एक सकारात्मक पूर्णांक के लिए।
वे तुम्हें एक सकारात्मक पूर्णांक देते हैं, आप लूप के बाहर तोड़ सकता है।
तुमने क्या किया जा सकता है।
बूलियन अभिव्यक्ति में जबकि झूठा हो सकता है।
>> और आप उन्हें फिर से पूछना नहीं होगा।
वे तुम्हें एक नकारात्मक संख्या जहां देते हैं वे है कि कुछ शब्द या कुछ टाइप
वास्तव में उपयोगी नहीं आप उपयोग हो सकता है
पाश वापस जाने के लिए और क्या करना है, जबकि यह फिर से और फिर से।
आप निश्चित रूप से पूछना चाहता हूँ उन्हें एक बार जब आप एक नंबर देने के लिए
लेकिन आप कितनी बार पता नहीं है उसके बाद वे कीट हो सकता है।
और यह एक महान प्रयोग एक क्या है और कितनी देर तक इनपुट के लिए उपयोगकर्ता उत्साह के लिए मामला।
और छोरों के लिए एक का उपयोग मामले आम तौर पर तब होता है जब
आप एक पाश दोहराना चाहते हैं समय की एक असतत संख्या,
यद्यपि आप नहीं हो सकता है बार की संख्या पता
पल कार्यक्रम संकलित किया गया है।
>> तो उदाहरण के लिए, हो सकता है आप एक प्रोग्राम है जहां आप एक नंबर के लिए उपयोगकर्ता का संकेत।
और वे 100 दर्ज करें।
और फिर अपने पाश के लिए होगा उस मामले में 100 बार चलाते हैं।
या हो सकता है कि वे प्रवेश अपने कार्यक्रम में 1000
और फिर पाश 1,000 बार चलाते हैं।
यह समय की एक विशिष्ट संख्या है।
वे जरूरी नहीं है क्या है कि नंबर पता
संकलित किया गया है पल कार्यक्रम है।
यह एक समय पाश की तरह नहीं है जहां यह अनंत हो सकता है।
यह एक नंबर के बजाय है आप अभी पता नहीं है कि।
अब मैं भले ही उल्लिखित इन सभी मामलों का उपयोग,
आपको लगता है कि सुंदर में पता होना चाहिए ज्यादा हर परिस्थिति,
आप सभी की अदला-बदली कर सकते हैं इन छोरों के तीन।
आप पाश, जहां आप के लिए एक का उपयोग कर सकते हैं अन्यथा थोड़ी देर के पाश का प्रयोग करेंगे।
आप जहां भी पाश के लिए एक का उपयोग कर सकते हैं आप एक मत जबकि पाश और इतने पर प्रयोग होता।
यह कभी कभी थोड़ा मुश्किल हो सकता है तो आम तौर पर यह एक अच्छा अभ्यास है
एक विशिष्ट उपयोग के मामले का पालन करने के लिए।
पाश, जबकि एक मत का प्रयोग करें अगर आप कम से कम, एक बार कुछ करना चाहता था।
आप क्या करना चाहते हैं, तो पाश के लिए एक प्रयोग कुछ समय की एक विशिष्ट संख्या है।
वहाँ क्यों कर रहे हैं सब के बाद, वह है, छोरों के तीन अलग अलग प्रकार की।
>> इसलिए वे इस्तेमाल किया जा सकता सही संदर्भ में।
लेकिन अगर आप की अदला-बदली कर सकते हैं उन्हें अगर आप चाहते हैं।
आप थोड़ी देर के छोरों के साथ सहज महसूस करते हैं और आप हमेशा छोरों समय का उपयोग करना चाहते हैं।
यह कुछ ऐसा है कि आप क्या कर सकते हैं, हालांकि यह
एक छोटे से वाक्य रचना से हो सकता है मुश्किल है, जहां एक के लिए पाश
एक बहुत अधिक सरल हो जाएगा।
>> मेरा नाम डौग लॉयड है और इस CS50 है।