[संगीत बजाना] जेसन Hirschhorn: ठीक है, सब लोग। धारा में स्वागत है। यह हमारे लिए बहुत, CS50 है पहले सुपर अनुभाग। आप सभी के लिए अगले सप्ताह के रूप में जानते नियमित वर्गों, शुरू कर देंगे लेकिन इस सप्ताह हम सब एक साथ कर रहे हैं। अपने आप को नहीं है। मेरा नाम जेसन है। मैं कंप्यूटर विज्ञान में एक व्याख्याता हूँ। हम CS50 के सिर टीए है, जो एंडी है। और Scaz, प्रोफेसर ब्रायन Scassellati, वह कंप्यूटर विज्ञान में प्रोफेसर है। हम येल में CS50 सिर हैं। तुम हमेशा ईमेल कर सकते हैं हमें heads@cs50.yale.edu। हम व्याख्यान में किया जाएगा। हम कार्यालय समय पर हो जाएगा। कुछ भी कभी भी नहीं है, तो हम कर सकते हैं आप के लिए क्या करना है, कुछ भी आप की जरूरत है हमें करने के लिए बाहर तक पहुँचने के लिए स्वतंत्र महसूस। तो क्या हम आज क्या करने जा रहे हैं? या फिर से पहले, क्या है इस हफ्ते आ रहा? तो कार्यालय समय, सोमवार, मंगलवार रहे हैं बुधवार और गुरुवार, 8:00-11:00। वेबसाइट पर एक कार्यक्रम है। धारा मैं उल्लेख किया है, जैसे अगले सप्ताह शुरू कर रहे हैं। और अगर आप इस सप्ताह के बाहर क्या मिलेगा अपने अनुभाग है समय, दिन यह क्या है, और अपने टीए कौन है। समस्या सेट 1 पर गुरुवार की वजह से है एक देर से दिन के साथ दोपहर में दोपहर, शुक्रवार। हाँ, तुम नौ देर दिनों की है। और नौ समस्या सेट कर रहे हैं। और केवल एक ही उपयोग कर सकते हैं समस्या सेट प्रति देर से दिन। हाँ, प्रभाव में, सभी समस्या सेट दोपहर में शुक्रवार की वजह से कर रहे हैं। वह सब है। जानकारी के पाठ्यक्रम पर कर रहे हैं यह सब। हर शुक्रवार, हम लंच है। हम इस बड़े बनाने के लिए पसंद बेशक एक छोटा सा लग रहा है। तो अगर आप RSVP करने के लिए स्वागत कर रहे हैं। साथी के साथ नि: शुल्क भोजन सहपाठियों और स्टाफ। cs50.yale.edu/rsvp। इन सभी बातों के कि मैं स्क्रीन पर है और अधिक, आप पा सकते हैं cs50.yale.edu या cs50.harvard.edu, यदि आप हार्वर्ड के लिए जाना और इस ऑनलाइन देख रहे हैं। इसके अलावा उन वेबसाइटों पर, वहाँ आप के लिए संसाधनों की एक टन कर रहे हैं। हर व्याख्यान न केवल वीडियो है व्याख्यान की, लेकिन यह भी नोटों। किसी को देखना होगा व्याख्यान और आप के लिए नोट ले लो। तो तुम सिर्फ भुगतान कर सकते हैं व्याख्यान के दौरान ध्यान, या आप अपने नोट्स का उपयोग कर सकते हैं / हमारे अपने खुद के नोट्स के पूरक के लिए नोटों। स्लाइड ऑनलाइन रहे हैं। स्रोत सब कुछ code-- डेविड, व्याख्यान में खत्म हो जाता है या Scaz कि, व्याख्यान खत्म हो जाता है स्रोत कोड ऑनलाइन उपलब्ध है के रूप में अच्छी तरह से, मैं की तरह के रूप में, वीडियो उल्लेख किया है। धारा, इसी तरह, सभी फिल्माया जाएगा। उन स्लाइड्स के सभी उपलब्ध हो जाएगा। कि कोड की इच्छा आप के लिए उपलब्ध हो। वेबसाइट जहां पर शॉर्ट्स रहे हैं CS50 स्टाफ के सदस्यों को पांच से 10 खर्च आप के लिए विषयों के माध्यम से जा रहा मिनट। उन में से कुछ आप पहले से ही है समस्या सेट में सामना करना पड़ा। कार्यालय समय में, मैं उल्लेख किया है, सोमवार के माध्यम से गुरुवार, 8:00-11:00। CS50 अध्ययन एक बढ़िया स्रोत है। अभ्यास समस्याएं हैं, नमूना स्लाइड, ज्ञात कीड़े छात्रों में चलाने की तरह है कि, अनिवार्य रूप से हर विषय के लिए हम इस कोर्स में कवर किया जाएगा। और अंत में, इस स्लाइड पर कम से कम, Reference50 जो आपको जानकारी देता है सी कार्यों के सभी पर यदि आप कभी भी संभवतः आशा कर सकता का उपयोग करने के लिए और बहुत, बहुत अधिक। फिर, पर डॉट डॉट डॉट कि स्क्रीन के नीचे वहाँ भी संकेत मिलता है कि है उन दो वेबसाइटों के बारे में अधिक संसाधन: cs50.yale.edu, cs50.harvard.edu। तो, हम आज क्या कर रहे हैं? खैर, सबसे पहले मैं देने के लिए जा रहा हूँ आप संसाधनों को देखो। पहले से ही है कि एक था। हमारी ओर देखें। अब, हम पर जाने के लिए जा रहे हैं सी में डेटा प्रकार और ऑपरेटरों फिर एंडी यहाँ आ जाएगा और सी में पुस्तकालयों खत्म हो जाना, printf (), आप पहले से ही कर रहे हैं, जिसके साथ एक समारोह परिचित या जल्दी बहुत हो जाएगा परिचित। और तुम भी पर जायेंगे सशर्त, और छोरों। और फिर अंत में, Scaz CS50 आईडी पर जाना होगा। आप में कबूतर नहीं किया है पहले से ही समस्या सेट 1 में, के रूप में अच्छी तरह से उपयोग करने के लिए कैसे टर्मिनल और उपयोगी कमांड और फिर आप कुछ डेमो देने के लिए और CS50 आईडी में अभ्यास कोडिंग। मैं यह करने में कूदने से पहले इस पक्ष पर सामग्री, किसी को भी अब तक किसी भी सवाल है? अच्छा है। ठीक। गियर बदल रहा है। [गियर बदलने] यही कारण है कि मुझे स्थानांतरण किया गया था एक मैनुअल कार में गियर। इतनी सी में डेटा प्रकार, आप बस नहीं कर सकते एक चर x और यह लाइन 10 पर होना है, एक पूर्णांक, हो सकता है नंबर 1, लाइन 20 पर, एक दशमलव संख्या 10.5, और फिर एक जोड़ी लाइनों बाद में एक स्ट्रिंग, मैं CS50 प्यार करता हूँ। सी में, चर ही हो सकता है एक बात है, और केवल एक ही बात है। और तो आप उन्हें प्रकार देने के लिए है। और इस बोर्ड पर, हम प्रकार की एक सूची है। घर का काम कर रहे हैं, जो पात्रों के लिए खड़े हो जाओ। तो यह है कि एक अक्षर ए, बी, सी, यह भी एक अंतरिक्ष किया जा सकता है कि डी, या कि यह भी हो सकता है एक नई लाइन चरित्र। अभी जो कर रहे हैं पूर्णांकों, कर रहे हैं नंबर, पूरे numbers-- या पूर्णांकों rather-- लेकिन कोई दशमलव के। दशमलव के लिए, हम हैं दशमलव संख्याएं। दशमलव संख्याएं दशमलव के साथ संख्या रहे हैं। तो कर रहे हैं, जो चाहता है देखते हैं अनिवार्य रूप से लंबे समय तक पूर्णांकों। आप एक लंबे नोटिस हूँ कि एक पूर्णांक 4 है, जबकि 8 है। मैं एक पल में उस के लिए मिल जाएगा। चाहता भी स्टोर कर सकते हैं इसलिए है क्योंकि एक पूर्णांक से अधिक पूर्णांकों स्टोर कर सकते हैं। डबल एक लंबी नाव है। और अंत में, हमारे पास एक प्रकार है जो स्ट्रिंग, कि आप शायद पहले इस्तेमाल किया है। आप हैशटैग शामिल करते हैं अपने स्रोत फ़ाइल में # includeCS50.h, तो आप एक स्ट्रिंग प्रकार का उपयोग कर सकते हैं। यह वास्तव में सी में नहीं बनाया गया है कुछ अन्य प्रकार के रूप में अच्छी तरह से कर रहे हैं। लेकिन इन प्राचार्य लोगों के साथ कर रहे हैं जो आप का उपयोग करें और का सामना करेंगे। सी के रूप में, फिर मैंने उल्लेख किया है, हर यह variable-- केवल एक ही प्रकार और केवल एक ही प्रकार हो सकता है। सी एक स्थिर रुप से है ऐसा इसलिए है क्योंकि विरोध के रूप में टाइप भाषा, गतिशील टाइप भाषाओं को जहां आप एक चर बनाते हैं आप में संग्रहीत चीज़ें बदल सकते हैं यह आप अपने प्रोग्राम में पर जाने के रूप में। यहां दाहिने हाथ पर ओवर पक्ष, मैं अलग अलग आकार है बाइट्स में डेटा के इन प्रकार के। तो एक चरित्र 1 बाइट है। यही कारण है कि 8 बिट है। और कहा कि 8 क्योंकि इसका मतलब है बिट्स आठ 0 और 1 है। हम पहली बार में उन क़ौम देखा कि बाइनरी बल्ब के साथ सप्ताह। 8 बिट या एक बाइट के साथ, हम कर सकते हैं 0-255 संख्या का प्रतिनिधित्व करते हैं। ठीक है। सभी 8 बिट 0 कर रहे हैं 0 है कि। पहले थोड़ा 1 है, तो उस नंबर है एक है, और इतने पर, 255 अप करने के लिए सभी तरह। और कहा कि पात्रों आप कर सकते हैं के लिए क्यों है अनिवार्य रूप से उनमें से 255 तक है, लेकिन लगता है कि सभी को कवर करने के लिए काफी है पात्रों हम का उपयोग करने की जरूरत है। पूर्णांकों के लिए, आप 0 हो सकता है और तो आप 2-32 है शून्य से 1। उन कितने विकल्प हैं आप पूर्णांकों के लिए है। एक लंबे समय के लिए, आप 0 है 2 करने के लिए 64 शून्य से 1। तो तुम, बहुत, बहुत है चाहता है के लिए और अधिक विकल्प। स्ट्रिंग्स, कि एक प्रश्न चिह्न है कि बाद के लिए एक Cliffhanger है क्योंकि। हाँ। मैं हर किसी की बता सकता है उनकी सीट के किनारे पर, जैसे कि प्रश्न चिह्न क्या है? यह एक Cliffhanger है। हम अंततः के आकार को कवर किया जाएगा तार और तार के बारे में अधिक बात करते हैं। स्ट्रिंग वास्तव में है, क्योंकि प्रशिक्षण के पहियों में से एक हम इस में पर डाल शुरुआत में पाठ्यक्रम और फिर बाद में बंद रखना , पर सी में तार क्योंकि वास्तव में संकेत दिए गए हैं चरित्र arrays के लिए। लेकिन फिर, वह है एक बाद के लिए Cliffhanger। मैं किसी भी प्रश्न पर ले जाने से पहले, टिप्पणियाँ, इस स्लाइड के बारे में चिंताओं? ठीक। मैं एक शानदार व्याख्याता होना चाहिए। इसके अलावा, आप प्रोग्रामिंग कर रहे हैं, आप इन ऑपरेटरों का उपयोग करने के लिए जा रहे हैं। सरल कर सकते हैं कि वास्तव में सरल संकेत संचालन, जिसके साथ आप शायद रहे हैं पहले से ही बहुत परिचित। उदाहरण के लिए, सही पर हाथ की ओर, हम जोड़ देखते हैं। को जोड़ने के लिए, तुम सिर्फ एक प्लस पर हस्ताक्षर करते हैं। और तो हो सकता है आप दो चर एक्स और वाई। आप अपने कोड में एक्स + Y कर सकते हैं। शायद तुम कहना है-- चाहते हैं नंबर है 7 और 3, आपको लगता है कि संग्रहीत करना चाहते हैं एक चर बुलाया राशि में। तुम प्रकार, अंतरिक्ष के लिए पूर्णांक क्या कर सकते हैं योग, चर का नाम, 7 + 3 =; क्या योग में है कि स्टोर होगा? कोई है? मैं योग = 7 + 3 में था। योग में क्या संग्रहीत किया जाएगा? आप बस इसे बाहर चिल्ला कर सकते हैं। दर्शकों: 10। जेसन Hirschhorn: 10! यह बिल्कुल सही है। योग के बारे में क्या = 7-3, मैं सिर्फ इतना है कि पानी का छींटा हस्ताक्षर का उपयोग करें। क्या संग्रहित किया जा रहा है? दर्शकों: 4। जेसन Hirschhorn: 4। योग शायद के लिए गलत नाम है उस चर, लेकिन 4 संग्रहीत किया जाएगा। सी में गुणा करने के लिए, कम उपयोग स्टार चरित्र, आप एक एक्स का उपयोग नहीं करते। विभाजित करने के लिए, एक आगे का प्रयोग करें नहीं प्रभाग प्रतीक स्लैश। और सापेक्ष करने के लिए, प्रतिशत प्रतीक का उपयोग करें। तो चलो मैं पूर्णांक जेड = देखना चाहते हैं, हम कहते हैं 7% 3, जेड में क्या संग्रहीत किया जाएगा? तो, कि अनिवार्य रूप से है सापेक्ष क्या करता है पूछ? किसी को भी सापेक्ष क्या करता है, पता है? हाँ। Y 4। स्पीकर 1: यह शेष है। जेसन Hirschhorn: यह है शेष आप विभाजित है। तो 3 से विभाजित 7 2 ​​शेष 1 है। तो 1 संग्रहीत किया जाएगा। तुम्हें पता है, घटाव किया यह कैसे काम करता है, लेकिन वह है। यही कारण है कि सापेक्ष ऑपरेटर क्या करता है। यह एक संख्या से विभाजित लेता है आप के लिए एक और नंबर और रिटर्न शेष। तो फिर, 7% 3, क्योंकि आप एक देता है 7 2 शेष 1 3 से विभाजित, और शेष के लिए देता है। के बारे में ऊपर से वापस जाने क्या विभाजन है कि हस्ताक्षर करने के लिए एक कदम है। अगर मैं 7 / करता है 3 से विभाजित किसी को भी उस लौटेंगे पता है क्या? स्पीकर 2: 2। जेसन Hirschhorn: क्यों 2 और न 2.333? स्पीकर 2: मैं यह कटौती लगता है पूरी संख्या के बाद बंद। जेसन Hirschhorn: तो यह बिल्कुल सही है। सी में, आप का विभाजन करते हैं 3 से विभाजित दो पूर्णांकों 7, यह जवाब हो जाता है जो इस मामले 2.3333 में हमेशा के लिए और यह कि दशमलव बिंदु पाता है और दशमलव के बाद सब कुछ बंद चोप्स और यह सिर्फ आप 2 लौटाता है। मैं 3 से विभाजित 8 किया था तो अगर। यही कारण है कि वास्तव में, हम जानते हैं कि, 2.666 वापस करने के लिए लेकिन यह कम से सब कुछ बंद चोप्स दशमलव, यह सब truncates, और सिर्फ आप 2 के लिए आए। तो 6 3 से विभाजित, 7 विभाजित 3 से 8 3 से विभाजित, सब आप 2 पर लौटने के लिए जा रहे हैं। किसी को भी पता है, या एक अनुमान है, मैं वास्तव में मिल सकता है के रूप में कैसे पूरा जवाब है कि मैं उस दशमलव चाहते हैं? हाँ। आगे बढ़ें। अध्यक्ष 3: एक नाव का प्रयोग करें? जेसन Hirschhorn: तुम क्या मतलब है? अध्यक्ष 3: आप ने कहा कि क्योंकि नाव संख्या के लिए है [सुनाई] जेसन Hirschhorn: ठीक है। तो, यह बिल्कुल सही है। 7 एक पूर्णांक है। लेकिन मुझे लगता है कि बारी करना चाहता था एक चल बिन्दु संख्या में, मुझे लगता है कि स्टोर करने के लिए होता है कंप्यूटर क्योंकि 7.0 के रूप में वास्तव में हम ने देखा कि stupid-- है पंजाब और जम्मू example-- साथ यह केवल वही करना होगा क्या आप यह बता। तो अगर आप 7 लिखते हैं, यह कि एक पूर्णांक है। आप, 7.0 लिखते हैं, यहां तक ​​कि हम हालांकि उन चीजों को बराबर कर रहे हैं पता है, यह एक तरह से है कि व्यवहार करता है चल बिन्दु संख्या। आप 7.0 था अगर विभाजित तो 3 से, या 3.0 से विभाजित, यह अब ठीक है, कहना चाहूँगा हम मंगाई के साथ काम कर रहे हैं। मैं तुम्हें हमेशा 2.333333 करने के लिए वापस आ जाएगी। लेकिन वास्तव में नहीं है, हमेशा के लिए, क्योंकि हम व्याख्यान में भी देखा था, इन चल बिन्दु संख्या बिल्कुल सटीक नहीं हैं। तो आपको लगता है कि दशमलव चाहते हैं, या कि दशमलव का एक हिस्सा, तो आप उनमें से एक use-- करना है एक चल बिन्दु संख्या में हो गया है और कंप्यूटर को समझने के लिए है इस आप कर रहे हैं एक अस्थायी मुद्दा यह है कि नहीं, एक पूर्णांक के साथ काम कर। उस मेज पर कोई प्रश्न पर दाहिने हाथ की ओर, अब तक? या अपने बाएं हाथ की ओर, अपने छोड़ दिया, अपने बाएं हाथ की ओर। हाँ। अध्यक्ष 4: सही है। सिर्फ एक नियमित तरह के लिए पूर्णांकों, तुम होगा write-- आप फ्लोट लिखना होगा? जेसन Hirschhorn: हाँ इतना है। खैर, आप बनाना चाहते हैं एक नाव है कि एक चर, आप नाव कहने की ज़रूरत जेड कुछ के बराबर होती है। अध्यक्ष 4: ठीक है। जेसन Hirschhorn: लेकिन अगर मैं चाहता था 3 से विभाजित 7 करते हैं और उस दशमलव मिलता है, मैं नाव Z = 7.0 / 3.0 से करना होगा; और कि मुझे चल बिन्दु देना होगा नंबर। अध्यक्ष 4: ठीक है। जेसन Hirschhorn: मैंने किया था, तो 3 से पूर्णांक जेड = 7 / तरह कुछ है, कि मुझे एक पूर्णांक देना होगा, क्योंकि उन सभी integers हैं। समझ आया? अध्यक्ष 4: हाँ। जेसन Hirschhorn: ठीक है। अच्छा है। उस मेज के बारे में किसी भी अन्य प्रश्न? सच में? मैं बहुत उत्साहित हूँ। ठीक। तो आप का उपयोग करेगा कुछ अन्य बातों के, बार बार की स्थिति या छोरों में, operators-- के इन प्रकार के होते हैं बूलियन अभिव्यक्ति के इन प्रकार के। हमने सीखा है और, जैसा कि == तुम क्या है दो बातें समान हैं, तो जाँच करने के लिए इस्तेमाल करते हैं। एक्स == Y, चलो, तो यहाँ तो मैं देख रहा हूँ फिर कि एक्स 7 और Y 3 है मान। इसलिए मुझे लगता है, 7 == 3 लिखा है क्या कि मेरे लिए वापस होगा? अगर यह सच है या गलत? दर्शकों: झूठी। जेसन Hirschhorn: ठीक है। मैं इस एक मिल सकता है सब की तरह लग रहा है। इसलिए सब लोग, कि क्या लौटेंगे? दर्शकों: झूठी। जेसन Hirschhorn: झूठी। अच्छा है। 7 3 समान नहीं है। तो 7 == 3 झूठी वापस कर देगा। आप एक नहीं बराबर चिह्न है तो अगर मैं 7! = 3, कि क्या लौटेंगे जाँच की? दर्शकों: यह सच है। जेसन Hirschhorn: यह सच है। बहुत बढ़िया। किसी में बहुत ज़ोरदार था पीठ और अच्छा लगा। तो फिर तुम ऑपरेटर से भी कम है, कम से कम या ऑपरेटर के बराबर है, ऑपरेटर से बड़ा, अधिक से अधिक से या ऑपरेटर के बराबर है। तो एक और मानसिक स्वास्थ्य की जांच। अगर मैं था 7 अधिक है से या 3 के बराबर है। कि क्या लौटेंगे? दर्शकों: यह सच है। जेसन Hirschhorn: यह सच है। हाँ। यही कारण है कि पीछे के कमरे, पीछे की ओर कमरे से, शानदार। आप ये गठजोड़ कर सकते हैं भाव आप के रूप में अच्छी तरह से पसंद है, यदि जो एक तार्किक और साथ है && या एक तार्किक या जो है || ||। और अब तो आप दो परीक्षण कर सकते हैं चीजें हैं जो हास्यास्पद together-- है? क्यों है वह मज़ेदार? मैं चाहता था तो, अगर मैं 7 कह सकते हैं 3 और 2 से अधिक से अधिक 4 से कम है? खैर, 7 अधिक है 3 से, यह सच है। 2 यह सच है, 4 की तुलना में कम है। तो यह पूरी बात सच लौटेंगे। मैं 7 का परीक्षण किया तो अधिक से अधिक 3 और-- है मैं सिर्फ यादृच्छिक संख्या उठा रहा हूँ here-- 4 खैर, कि गलत है, कम से कम 2 है। तो सच और झूठा बनाने झूठी। और तुम पर जा सकते हैं और आप के रूप में गठबंधन आप चाहें के रूप में एक साथ कई शर्तें। किसी को भी किसी भी सवाल है, टिप्पणियाँ, चिंताओं अब तक? और मैं आप तस्वीरें लेने के कुछ देख मैं सराहना करते हैं, जो स्क्रीन में मुझे की। उम्मीद है, यह SnapChat नहीं है। उम्मीद है, यह अपने नोट्स के लिए है। लेकिन इन सब के लिए जा रहे हैं ऑनलाइन उपलब्ध हो। तो अगर आप की जरूरत नहीं है इस की तस्वीरें ले लो। मैं सब कुछ उल्लेख किया है आप के लिए ऑनलाइन उपलब्ध होगी। ठीक। मैं मिलता हूँ के बारे में गुप्त, ताकि किसी को भी करता है कुछ भी कहना चाहता हूँ इससे पहले ऐसा होता? प्रश्न? [आवाज interposing] जेसन Hirschhorn: ओह, बंद करो। तुम लोग भी अच्छे हैं। ठीक। मैं बाहर टैग करने के लिए जा रहा हूँ। चलिए चलते हैं। ANDI PENG: हम क्या करने जा रहे हैं अब एक अजीब mic के परिवर्तन नहीं। जेसन Hirschhorn: मैं कर रहा हूँ इस से दूर ले जा रही है। ANDI PENG:, दोस्तों समर्थन की सराहना करते हैं। क्या आप मुझे सुन सकते हैं? क्या यह अच्छा है? बिल्कुल सही। सुंदर। मुझे बस में है कि टक करते हैं। ठीक। तो, मैं एक विशाल की तरह क्या करने के बारे में हूँ जानकारी अभी आप लोगों पर डंप। और कोई चिंता नहीं है जो भी आप कर रहे हैं की हर छोटी लाइन का पालन नहीं क्या मैं तुम्हें दिखाने के बारे में हूँ। जेसन ने कहा, सब कुछ पूरी तरह से ऑनलाइन है। बस हम शुरू करने की कोशिश करने के लिए जा रहे हैं अवधारणाओं के लिए हर किसी को कवर इन स्लाइडों में से कुछ में। तो बस साथ पालन करें। कोई चिंता नहीं है आप समझ में नहीं आता है, तो सब कुछ; हालांकि, किसी भी बिंदु पर यदि आप खो लग रहा है, को बढ़ाने के अपने हाथ, हम, कोई चिंता नहीं रोक देंगे। कूल। इसलिए मुझे लगता है कि दाऊद कुछ है कि लगता है पहले से ही तरह के व्याख्यान में उल्लेख और जेसन तरह का उल्लेख किया गया है आज के लिए एक पुस्तकालय में क्या है। तो प्रोग्रामिंग में, हम है इन बातों को पुस्तकालयों का आह्वान किया। कहां, अनिवार्य रूप से, सभी वे सिर्फ एक सेट है कर रहे हैं कार्यों की, वह यह है कि है कि अनिवार्य रूप से सिर्फ कोड पहले से ही द्वारा लिखा गया किसी और है कि हम सभी कर सकते हैं हमारे कार्यक्रमों के भीतर का उपयोग करें। तो आप कैसे एक सामान्य करता है पुस्तकालय का काम है, है ना? आप पुस्तकालय द्वार में प्रवेश। आप इन सब है किताबें आप बाहर खींच सकते हैं और आप जानकारी का उपयोग कर सकते हैं उन पुस्तकों के भीतर। प्रोग्रामिंग में एक ही बात है। आप पहले से ही है कि एक पुस्तकालय है अन्य लोगों द्वारा लिखा गया। और वैसे भी आप कर सकते हैं कि, प्रोग्रामर या एक छात्र के रूप में, कि पुस्तकालय के लिए पहुँच प्राप्त कर सकते हैं हैशटैग # शामिल माध्यम से होता है। उदाहरण के लिए, सी हम में तीन C-- सबसे आमतौर पर तीन सी मानक का इस्तेमाल किया , इनपुट / आउटपुट पुस्तकालय libraries-- स्ट्रिंग पुस्तकालय, और गणित पुस्तकालय। अपने पहले के भीतर ऐसा युगल समस्या, सेट उन तीन हो जाएगा कि आप मुख्य रूप से उपयोग कर रहे हैं। पहले से ही दाऊद के रूप में तो व्याख्यान में बताया गया है, मानक आई / ओ लाइब्रेरी, या मानक इनपुट / आउटपुट पुस्तकालय ठीक है कि नहीं करता है। यह निवेश करने के लिए, अपने कोड में, आपको अनुमति देता है उपयोगकर्ता और उत्पादन से कुछ भी है कि स्क्रीन करने के लिए, अनिवार्य स्क्रीन करने के लिए इसे मुद्रण। और इसलिए किसी भी समय आप किसी भी कार्य का उपयोग उदाहरण के लिए समारोह printf () जो हम अगली स्लाइड पर जाने के लिए जा रहे हैं मानक शामिल करने के लिए सुनिश्चित करें कि मैं / हे पुस्तकालय या किसी और आप के लिए नहीं जा रहे हैं printf () समारोह का उपयोग करने में सक्षम हो। , क्योंकि आप प्रोग्रामर के रूप में वास्तव में, कि समारोह में कभी नहीं लिखा तुम सिर्फ किसी का उपयोग कर रहे हैं अपने खुद के कोड के भीतर और के कोड। कि मतलब हर कोई करता है? कूल। और फिर हम अनिवार्य रूप पर मिलता है स्ट्रिंग पुस्तकालय और math.h सिर्फ पुस्तकालय का प्रतीक है ज पुस्तकालय, अन्य पुस्तकालयों कि आप अंततः हूँ अपने कोड के भीतर का उपयोग किया। हालांकि, उद्देश्यों के लिए इस पुस्तकालय की, हम भी हम भी इस class-- की have-- क्या CS50 पुस्तकालय कहा जाता है, CS50.h, जहां हम के लिए आपके अवलोकन बनाया है कई महत्वपूर्ण और उपयोगी कार्य करता है। तो यह है कि आप के रूप में एक प्रोग्रामर बंद piggyback कर सकते हैं क्या हम पहले से ही इतनी है कि लिखा है इस समारोह के उपलब्ध अपने प्रयोग के लिए। मैं के एक जोड़े को कवर किया जाएगा कार्यों आमतौर पर इस्तेमाल किया लेकिन इन जानते हैं कि सभी googleable ऑनलाइन। , स्वतंत्र महसूस CS50 पुस्तकालय को रोकना और तो तुम वहाँ सभी कार्य किया है। हाँ। अध्यक्ष 5: तुम नहीं थे तो अगर सॉफ्टवेयर का उपयोग कर कि द्वारा हमें प्रदान की गई है वर्ग नहीं है कि, हम डाउनलोड करने और खोजने के लिए होगा मतलब इस शीर्षक खुद फाइल और बताओ यह है, जहां कंप्यूटर? ANDI PENG: बड़ा सवाल है। बिल्कुल सही। तो यह है कि आप नहीं कर रहे हैं की तरह है एक पुस्तकालय में शारीरिक रूप से मौजूद है, आप के लिए कोई रास्ता नहीं करने के लिए भी नहीं है वास्तव में जाने के लिए और इसे उपयोग। एक ही बात से तो सी आप में प्रोग्रामिंग आप हमारी प्रयोग कर रहे हैं कि यह सुनिश्चित करना है उपकरण लाइब्रेरी पहले से है, क्योंकि यह में शामिल किया गया। और फिर आप हैशटैग जब # शामिल है, वहाँ पुस्तकालय है। हाँ। अच्छा प्रश्न। हर कोई अच्छा है? कूल। ठीक है। इसलिए हम हिट करने के लिए जा रहे हैं अनिवार्य रूप से, क्या है पहला समारोह है कि हम प्रोग्रामर हैं के रूप में हमारे कोड के भीतर का उपयोग किया जा रहा है। इस printf () समारोह में कहा जाता है। तो, printf () समारोह में, मैं के रूप में पहले से ही पिछले स्लाइड में कहा, मानक मैं में शामिल है / हे, मानक इनपुट / आउटपुट, पुस्तकालय। आप using-- रहे हैं जो कुछ तो यह सुनिश्चित कर लें ओह, मुझे लेजर हड़पने जाने pointer-- जब भी आप उपयोग कर रहे हैं printf () समारोह तुम्हें पता है मैं / हे मानक शामिल करने के लिए है पुस्तकालय वरना, आप संकलन जब आप एक त्रुटि प्राप्त करने के लिए जा रहे हैं , कंप्यूटर की तरह हो जाएगा, क्योंकि printf () है जहां ओह मैं नहीं जानता, तुम मुझे नहीं कह रहे हैं, जहां printf () है। खैर printf () में शामिल है मानक आई / ओ, तो आप) (printf का उपयोग करते हैं, कि है सुनिश्चित करें अपने कोड के ऊपर लाइन। तो उदाहरण के लिए, printf () यहां एक समारोह है। यह सब होता प्रिंट बाहर कुछ है उपयोगकर्ता के लिए कोष्ठकों के अंदर। किसी को भी एक चाकू ले जाना चाहेंगे कोड सही से क्या इस लाइन पर यहाँ बाहर मुद्रित करने के लिए जा रहा है? इसलिए, इस सवाल का जवाब स्क्रीन पर है। कोई है? VERDI: नीचे। ANDI PENG: Verdi, तुम क्यों नहीं जाते हैं आगे और पूरे बयान कहते हैं? VERDI: नमस्कार, मेरा नाम है एंडी, और मैं 20 साल का हूँ। ANDI PENG: आह, सुंदर। इस लाइन में हम करने जा रहे हैं तो , मेरा नाम एंडी है, नमस्कार, बाहर प्रिंट और मैं 20 साल का हूँ जो एक सच बयान वास्तव में है। सिंटेक्स। वाक्यात्मक मुद्दों की तो जोड़ी है कि तुम लोगों को आप जानते बनाना चाहते। उद्धरण। डबल उद्धरण बताओ कंप्यूटर कि अंदर सब कुछ मुद्रित किया जा रहा है। कर सकते हैं अंदर सब कुछ अभी बिल्कुल कैसे हो आप के लिए छोड़कर, यह टाइप आमतौर पर अंत में, हम शामिल करना चाहते करने जा रहे हैं एक hash-- ओह sorry-- एक पानी का छींटा एन। तो एक पानी का छींटा एन। किसी को भी एक अनुमान लेने के लिए चाहता है कि हमारे कोड के लिए क्या करता है पर? हाँ। अध्यक्ष 6: एक नई लाइन पर डालता है। ANDI PENG: बिल्कुल। तो यह सब होता है जो कुछ भी होता अनुमति देते हैं इस के बाद, इस बयान के बाद, एक नई लाइन के लिए मुद्रित करने के लिए। आप लिख रहे हैं ताकि जब आपके कोड आप बेतरतीब ढंग से बातें नहीं है अंत पर हमला बोला आप नहीं चाहते कि। यही कारण है कि सब कुछ हो जाता है बड़े करीने से एक पंक्ति मुद्रित और फिर हम निम्न पंक्ति पर शुरू करते हैं। किसी को भी क्या कि याद करता है हम कोडिंग कर रहे हैं जब अर्धविराम करता है? हाँ। अध्यक्ष 7: स्टेटमेंट। ANDI PENG: क्षमा करें? अध्यक्ष 7: यह बयान अंत है? ANDI PENG: हाँ। सी, या किसी भी प्रोग्रामिंग में तो भाषा, अर्धविराम एक प्रोग्रामिंग पंक्ति के अंत को दर्शाता है। तो उदाहरण के लिए, अंग्रेजी में हम इस अवधि का उपयोग कहने के लिए, ओह यह अंत में एक वाक्य है। प्रोग्रामिंग, एक ही बात में, हम है एक अर्धविराम एक पंक्ति के अंत को निरूपित करने के लिए। बार बार, तुम जब रहे कार्यक्रम के लिए शुरू, आप महसूस करेंगे अर्धविराम जोड़ने के लिए मत और फिर आप चलाने का प्रयास अपने कोड और यह काम नहीं करता। और तुम आह, पसंद कर रहे हैं, मैं नहीं यह काम होना चाहिए क्यों, पता है। संभावना है कि आप शायद एक भूल गया हैं अर्धविराम या एक वर्ग या कुछ और कहीं। तो, यह याद रखना महत्वपूर्ण है। कूल। ठीक है, हाथों के शो, कैसे यहां कई लोगों को कभी भी हो एपी कंप्यूटर विज्ञान या लिया पहले कभी जावा में प्रोग्राम? ठीक। लवली। यही कारण है कि लागू नहीं होगा तो, लेकिन जावा में, आप System.out.println बुलाया कुछ है सी में मौजूद नहीं है जो जब भी तुम सी में तो चर में जोड़ना चाहते हैं किसी में भी आप चाहते हैं वहाँ है, बाहर मुद्रित करने के लिए एक विशिष्ट वाक्य रचना हम प्रयोग करने जा रहे हैं। यही कारण है कि कहा जाता है अनिवार्य रूप से placeholding-- हम जगह में प्लेसहोल्डर्स जोड़ने पूर्णांक या चर की हम मुद्रित करना चाहते हैं। तुम लोगों को देख सकते हैं तो हम भी शामिल है एक नए पुस्तकालय हेडर यहाँ फ़ाइल। CS50 पुस्तकालय। और कहा कि CS50 पुस्तकालय के भीतर निहित हम का उपयोग होगा एक आम समारोह है हमारे पाठ्यक्रम में GetInt बुलाया ()। किसी को भी एक चाकू ले जाना चाहता है GetInt () संभवतः क्या कर रही हो सकता है। दर्शकों: [अश्राव्य] ANDI PENG: क्षमा करें। आप नहीं सुन सकता है। मैडी, किसी को भी। मैडी: ओह, यह संकेत देता है एक पूर्णांक के लिए आप। ANDI PENG: बिल्कुल। इसलिए इस समारोह, एक और पहले से ही है कि समारोह किसी और के द्वारा लिखा गया कि हम अब इस पर कॉल कर सकते हैं। यह सब आप, उपयोगकर्ता का संकेत है, आप कोड के रूप में चाहते हैं जो कुछ भी निवेश करने के लिए चल रहा है और यह whatever-- भंडार है इस मामले में हम GetInt () कर रहे हैं - आईएनजी, इसलिए कि हम कर रहे हैं इसका मतलब एक पूर्णांक प्राप्त करने के। और हम स्टोर करने के लिए जा रहे हैं कि एक और पूर्णांक में हम सिर्फ बुलाया उम्र बनाया है कि। हर किसी के लिए कि मतलब? कूल। तो अब हम इस पूर्णांक संग्रहित किया है कि, हम उपयोगकर्ता से के लिए प्रेरित किया है कि, इस चर में, हम है उम्र कहा जाता int प्रकार का बनाया है, हम आगे और जगह जा सकते हैं कि हमारे printf में समारोह ()। तो printf के लिए आम तौर पर वाक्य रचना () है कि जहाँ भी अपने वास्तविक भौतिक में रेखा आपको लगता है कि पूर्णांक शामिल करना चाहते हैं, आप सही है कि वहाँ प्रतीक करना साथ प्रतिशत प्रतीक है, आप चाहते हैं कि चर का प्रकार। तो इस मामले की उम्र में एक पूर्णांक है। तो आप को शामिल करने के लिए जा रहे हैं % मैं इसे एक पूर्णांक है, क्योंकि। और फिर बाद अपने बयान, आप जा रहे हैं अल्पविराम और ऐसा करने के लिए चर का नाम। यहाँ तो, हम मुद्रित करने के लिए जा रहे हैं बाहर, नमस्कार, मेरा नाम एंडी है, और मैं खाली साल का हूँ। Sorry--, Hashta-- या, मैं जो कुछ भी इनपुट के साथ उम्र। तो अगर मैं इनपुट के लिए गए थे यहाँ मेरा GetInt के लिए 20 (), यह सटीक एक ही बात बाहर प्रिंट होगा। लेकिन, मैं इनपुट कुछ करना चाहता था वरना, शायद 40 या 45 की तरह, तो आपको लगता है कि परिलक्षित देखना होगा तदनुसार कोड में। तो यह एक उदाहरण है कुछ की जिसमें इसे बाहर प्रिंट और करने के लिए लग रहा है आप इसे एक ही बात है जैसे, लेकिन के हुड के नीचे वास्तव में नहीं है कंप्यूटर बहुत अलग बातें हो रही। कूल। ठीक है। इसलिए हम कई चर क्या चाहते हैं? बहुत आसान। एक ही बात। हम यह भी एक नया समारोह है यहाँ,) (GetString बुलाया इसके अलावा, CS50 पुस्तकालय के भीतर शामिल यह सब होता उपयोगकर्ता का संकेत है कि है, जो एक स्ट्रिंग के लिए पात्रों में से सिर्फ एक सेट, इसलिए एक वाक्य की तरह या एक नाम की तरह। तो इस मामले में, हम दो के लिए होता है स्ट्रिंग और% i के लिए प्लेसहोल्डर्स% रों पूर्णांक के लिए। और हम का पालन करने के लिए जा रहे हैं कि दो चर द्वारा हम आदेश में, शामिल करना चाहते हैं वे वाक्य में दिखाई देते हैं। तो उदाहरण के लिए, मेरा नाम है खाली, मैं वहाँ एक नाम करना चाहते हैं इसलिए जब मैं पहली बार नाम लिए जा रहा हूँ। और फिर बाद में, मैं चाहता हूँ उम्र, उम्र दूसरी करना चाहते हैं। और इसलिए मैं, हैलो, इनपुट करना चाहता था मेरे नाम के एंडी, और मैं 20 साल का हूँ। मैं एंडी और 20, inputted हैं ठीक ऐसा ही प्रिंट होगा; हालांकि, अब हम दो मिला संग्रहित किया है नाम के चर के साथ ही इंट। हाँ। अध्यक्ष 8: यह होगा आप बंद कर यदि चलाने के लिए सक्षम नाम है और उस के अंत में उम्र? ANDI PENG: हाँ। यही कारण है कि वास्तव में अच्छा सवाल है। तो लंबी कहानी को कम, नहीं। क्योंकि नाम और age-- क्या चर का प्रकार का नाम है? अध्यक्ष 8: स्ट्रिंग। ANDI PENG: और क्या चर के प्रकार उम्र है? अध्यक्ष 8: पूर्णांक। ANDI PENG: तो यहाँ हम एक प्लेसहोल्डर है स्ट्रिंग और पूर्णांक के लिए, है ना? तो आप इन स्विच करने के लिए गए थे, कंप्यूटर में पता करने के लिए नहीं जा रहा है। यह एक स्ट्रिंग के लिए जाँच करने के लिए जा रहा है, और आप इसे एक int देने की कोशिश करते हैं, जैसे कि यह होने जा रहा है , मैं उलझन में हूँ तुम रुको मैं होना चाहिए मुझे बताया था एक पूर्णांक के लिए स्मृति आवंटित। और यहीं, जब यह एक पूर्णांक की उम्मीद और आप इसे एक नाम देना और एक स्ट्रिंग के बजाय, यह भी बहुत भ्रमित किया जा रहा है, यह वास्तव में आप इसे ज़रूरत तरह से नहीं चलेंगे। तो यहाँ, नामकरण और वाक्य रचना है कोड को चलाने के लिए बहुत महत्वपूर्ण है। हर कोई अच्छा है? हाँ। मैडी। मैडी: यहाँ, मैं हम देखा है पता कक्षा में उदाहरण में, जहां वे पूछना तुम्हारी उम्र क्या है, तुम्हारा नाम क्या है। इधर, कि यह doesn't-- होगा हम इस कोड को चलाने के लिए गए थे, यह उस के लिए पूछना नहीं होगा? लेकिन तुम सिर्फ इनपुट दो नंबर होगा और फिर यह उस तरह चला जाएगा? ANDI PENG: हाँ, बिल्कुल। यह आप के लिए के लिए करना चाहता था तो अगर प्रदर्शन, तुम्हारी उम्र दर्ज करें आप सिर्फ एक printf () समारोह में जोड़ सकते हैं कि, तुम्हारी उम्र दर्ज करें कहते हैं इसके ऊपर। यह एक अच्छा सवाल है। हाँ। अध्यक्ष 9: तो, पहले से ही होगा GetInt में शामिल () [अश्राव्य]। ANDI PENG: नहीं, यह वास्तव में नहीं है। तो यह सब होता है बस एक खाली स्क्रीन संकेत देता है इनपुट कुछ करने के लिए उपयोगकर्ता के लिए। आप इसे मुद्रित करना चाहते हैं, अगर आप यह चाहते हैं जैसे उपयोगकर्ता बताता है कि कुछ बाहर, तुम तो मुझे अपनी उम्र दे कृपया () अपने आप को उस printf करना होगा। हर कोई इस का उपयोग करता है अलग अलग चीजों के लिए समारोह, आप उम्र के भंडारण किया जा सकता है आप, पता के भंडारण किया जा सकता है आप फोन नंबर के भंडारण किया जा सकता है। और इसलिए इसे करने के लिए वास्तव में है अपने लोगों को 'व्यक्तिगत उपयोग करता है क्या आप चाहते हैं के लिए यह कहने के लिए। हाँ। अध्यक्ष 10: तो, बस, जहां स्पष्ट करने के लिए आप इनपुट नाम और उम्र करना यह% s की जगह में पता चलता है कि इतनी? ANDI PENG: उपयोगकर्ता के रूप में? अध्यक्ष 10: हाँ, कैसे की तरह मुझे क्या करना है मैं एंडी रखा है जहां it-- बनाने, और जहां मैं 20 रखा है? ANDI PENG: हाँ। तो क्या आप के लिए गए थे वास्तव में इस कोड को चलाने के लिए, मैं वास्तव में नहीं चल रहा हूँ कोड, यह ठीक है अब सिर्फ यहाँ है। मैं कोड को चलाने के लिए गए थे, मैं करूंगा , कोड संकलन फ़ाइल बनाने, कोड चलाने के लिए, और फिर वहाँ होगा बस इनपुट मुझे यह करने के लिए दो स्थानों के लिए किया। हाँ। जब आप खेलते हैं आप लोग देखेंगे कोड खुद के साथ चारों ओर। हम स्थानांतरित करने के लिए जा रहे हैं सब सही के अगले भाग में क्या हम आज कवर किया जाएगा। हम पर जाने के लिए जा रहे हैं सशर्त बयान कर रहे हैं। तुम लोगों को याद है तो और, व्याख्यान से याद करते हैं सशर्त बयान, वे सभी कर रहे हैं एक सेट है कंप्यूटर में करने के निर्देश की जो एक निश्चित शर्त सही है, तो आप कोड को निष्पादित शर्त यह है कि के अंदर। Scratch-- में तो अनिवार्य आज से बड़ा विषय तुम लोगों को पहले से ही सभी के लिए किया है इन सब के पीछे तर्क देखा कि हम कवर कर रहे हैं। और हम सब कर रहे है कुछ अनुवाद उस में बहुत सहज था स्क्रैच, और यह कोडिंग मुश्किल वाक्य रचना में हम का उपयोग होगा सी है जो वर्ग के लिए तो तार्किक रूप से, यह सब ब्लॉक किया गया था वहाँ सही कोड का टुकड़ा है कि है। हाँ। ठीक। हम भी कुछ और ... यदि एक में मिलता है सिर्फ एक जोड़ा परत है जो बयान यदि बयान के लिए जटिलता के कंप्यूटर इस पर एक नज़र लेता है, जहां इस शर्त सही है और, यदि ऐसा देखता है इन दो कोष्ठक के अंदर जो कुछ भी है, else-- इतनी तरह के डिफ़ॉल्ट की तरह अगर यह condition-- यह करने को पूरा नहीं करता। यह सड़क में एक कांटा की तरह है। यह बाहर बारिश हो रही है, तो मैं डाल एक बारिश जैकेट पर, कुछ और वरना मैं एक बारिश जैकेट पर डाल नहीं है। तर्क है कि हर किसी के लिए मतलब? कूल। ठीक है। की एक हार्ड उदाहरण की तरह तो हम सी में देखना होगा कि इस मैं एक बनाना चाहता था, तो है चर कहा होमवर्क घंटे। और होमवर्क के घंटे कम है तो पांच से ज्यादा, मैं जीवन महान है कहना। यह अद्भुत है। हालांकि, संघर्ष real-- है कहना जो इस सोमवार को क्या हम सब है दोपहर तक विज्ञान हिल रहे हैं शायद सही now-- कर रही है दर्शकों: [हँस] ANDI PENG: वे जिस तरह से हम उस के लिए शुक्रिया अदा करना होगा। हम hardcode होगा रास्ता सी में इस की कल्पना करते हैं if-- है हम पहले से ही प्रकार की एक चर राशि पूर्णांक यहीं होमवर्क घंटे बुलाया। होमवर्क घंटे से भी कम है पांच printf (), जीवन में महान है। याद रखने के लिए / एन क्योंकि आप के बाद एक नई लाइन चाहते हैं। वरना प्रिंट, संघर्ष असली है। हर किसी को समझ में कैसे करता है मैं इस ब्लॉक से संक्रमित कोड के इस ब्लॉक में? कूल। ठीक है। तो अब हम पर एक नज़र लेने के लिए जा रहे हैं कुल मिलाकर कई तो बयान। तो चलो मान लेते हैं इस कार्यक्रम का उद्देश्य हम एक ग्रेड के लिए उपयोगकर्ता का संकेत था। हम एक के लिए GetInt () का उपयोग शीघ्र ग्रेड, और वे इनपुट एक मूल्य, और आप प्रदर्शित करना चाहते हैं ग्रेड की किस प्रकार वे मिल गया। इसलिए मैं अगर मैं एक कार्यक्रम डिजाइन करने के लिए थे हमारी आँखों के सभी में आम तौर पर मतलब है, 90-100 एक एक, 80-90 है एक बी, और बहुत आगे है और इतने पर। इसमें गलत क्या है ऐसा नहीं है कि कोड का टुकड़ा मैं यह करना चाहता हूँ क्या कर रही है। हाँ। अध्यक्ष 11: वे कम सीमा है लेकिन वे ऊपरी सीमा नहीं है। ANDI PENG: बिल्कुल। हर कोई उसने क्या कहा सुना? ऊपरी होने जा रहा है सीमा है, लेकिन कोई निचली सीमाओं। क्षमा करें, दूसरी तरह के आसपास, निचले सीमा, कोई ऊपरी सीमा नहीं। तो अगर आप चाहते हैं कह में एक चाकू ले क्या इस पर मुद्रित किया जाएगा स्क्रीन मैं इस कोड को चलाने के लिए गए थे। अध्यक्ष 11: एक त्रुटि? ANDI PENG: कोई त्रुटि? महान लगता है, बिल्कुल ठीक नहीं। किसी को भी एक और वार किया है? हाँ, हारून। हारून: आप में डाल दिया है 90 से अधिक कुछ, यह तुम्हारे पास सभी ग्रेड दिखा सकते हैं। यह आप एक एक मिला दिखा सकते हैं, आप एक बी मिला है, तो आप एक सी मिला ANDI PENG: हाँ। यह बिल्कुल सही है। तो, उस अद्भुत होगा। हालांकि, वे परस्पर हैं अनन्य, मुझे लगता है। अगर मैं थे कोड के इस टुकड़े को चलाने के लिए। और फिर चलो बस कहना है, मैं 95 के ग्रेड inputted। तो 95 अब में संग्रहित है ग्रेड बुलाया इंट। और तो सी एक भाषा है कि, नीचे से ऊपर तक चलता है तो यह हमेशा के लिए जा रहा है नीचे तक चला। तो यह यहाँ आने के लिए जा रहा है, यदि पढ़ ग्रेड, अधिक से अधिक या 90 के बराबर है printf () आप एक ए ग्रेट मैं मिला एक 95 है, कि 90 से अधिक से अधिक है। यह मुद्रित करने के लिए जा रहा है, मैं यह जा रहा है एक ए मिला , यह जा रहा है कि अगर इस पर एक नज़र लेने के लिए 95 अच्छी तरह से भी 80 से अधिक है, का कहना है यह तो आप भी एक मिला मुद्रित करने के लिए जा रहा है , और इतने पर और एक बी विस्मयबोधक चिह्न आगे। हम सब देख सकते हैं, यह एक आम बग है हम कर रहे हैं जब कि उत्पन्न हो सकती है कोड लिखने के लिए बाहर देखने के लिए। कोई भी, किसी भी सवाल पर यही वजह है कि क्या हो रहा था? अच्छा है। ठीक। इसलिए हम इस कैसे तय करते हैं, तो जाहिर है तार्किक अगला सवाल। खैर, हम इन खूबसूरत है बाकी और अगर है, तो कहा जाता है, बातें और बयानों है। आप देख सकते हैं तो, अगर तुम चाहते थे समस्या यह है कि बदलने के लिए, आप में से प्रत्येक बनाना चाहते थे परस्पर अनन्य स्थिति, आप एक और को जोड़ना होगा ... अगर बयान। और कोर्स के रूप में इन उनमें से लगता है सीढ़ी, या ladder-- पायदान पर की तरह आप के रूप में इनमें से कई के रूप में जोड़ सकते हैं आप चाहते हैं के रूप में कई स्थितियों के लिए चाहते हैं। मैं ग्रेड inputted तो अगर यहां, 95 किया जाना है। ग्रेड 95 से अधिक है, printf (), मैं एक ए ग्रेट मिला है। यह एक और को देखने के लिए जा रहा है ... अगर और यह पता करने के लिए जा रहा है, अरे नहीं, मैं पहले से ही किसी और पहले से मार डाला। मैं know-- या पहले if-- मुझे पता है कि मैं इनमें से किसी को देखने की जरूरत नहीं है उनमें से एक है क्योंकि पहले से ही सच हो गया है। तो यह ऊपर से नीचे चला जा रहा है। जैसे ही पहली बार एक तो सच है, के रूप में यह सब बाकी पर छोड़ जा रहा है वरना ... आईएफएस की। समझ आया? तो, इस तरह आपके पास चेकिंग के विभिन्न स्तरों और जैसे ही उनमें से एक है, गलत है के रूप में बाकी भी कर रहे हैं, वे भी जांच नहीं करेगा। कूल। ठीक है। तो यह एक अलग का एक उदाहरण है सशर्त बयान की तरह हम कम अक्सर देखते हैं, लेकिन हम उन्हें देखते हैं और उन्हें इस्तेमाल करेंगे। और वे अक्सर अधिक कर रहे हैं कुछ मामलों के लिए कुशल है। तो हम क्या कहा जाता है है एक स्विच बयान। तो हम एक और को क्या कवर से पहले बयान, एक अगर ... और बयान। यहाँ, हम क्या कर रहे हैं स्विच बयानों का आह्वान किया। जब करते हैं तो हम स्विच का उपयोग कुंजी बयानों है? आप एक स्विच बयान में तो आमतौर पर, आम तौर पर, वास्तव में आप के लिए कर सकते हैं केवल इनपुट पूर्णांकों अपने आप जाँच कर रहे हैं कि चर। मैं यह देखने के लिए जांच करना चाहता था तो अगर उदाहरण के लिए यदि एक निश्चित number-- एक ग्रेड मैं एक 90 मिल गया है, यदि। मुझे लगता है कि एक एक है, तो इसे देखना चाहते हैं बी, या सी मैं यहाँ एक मामला हो सकता था। हालांकि, मामला है एक और निरंतर हो। इस अर्थ में तो स्विच बयान ही कर सकते हैं दो नंबर की समानता के लिए जाँच करें। यह और कुछ के लिए जाँच नहीं करता है। इतना है कि कुछ बहुत होने के लिए आप इस का उपयोग कर रहे हैं जब से सावधान। मैं देखना चाहता था कि अगर यहाँ तो, देखने के लिए 90 की मेरी कक्षा में 90 या 80 के बराबर है या 70 या 60, और फिर प्रिंट इसी ग्रेड, मुझे लगता है कि लिखने के लिए सक्षम हो जाएगा एक स्विच के बयान में। तो यह यहाँ आने के लिए जा रहा है, जांच है यह निरंतर के बराबर इस पूर्णांक? यदि नहीं, तो इसे छोड़ जा रहा है। यह निरंतर के बराबर है दो, और इतने पर और बहुत आगे है, आप डिफ़ॉल्ट मारा जब तक, उनमें से कोई भी बराबर कर रहे हैं। जैसे ही उनमें से एक के रूप में बराबर होना तय है, यह ऐसा करने के लिए जा रहा है कोड और तोड़ने की लाइन। जिसके कारण यह है कि मारा जा रहा है इसका मतलब है चलाने के लिए, तोड़ने, और अभी पूरी तरह से छोड़ कोड के नीचे करने के लिए। कार्यों की तो इस अर्थ में कि तरह बयान अगर और यदि एक अगर किसी और की तरह। तो यहाँ एक ठोस है आप लोगों के लिए उदाहरण है। तो चलो मैं चाहता था कि कल्पना करते हैं साल की स्थापना की एक चर बुलाया पैदा करते हैं। और मैं निवेश करने के लिए उपयोगकर्ता को संकेत करना चाहते हैं उनके स्कूल स्थापित किया गया है कि वर्ष। तो मैं यहाँ एक स्विच बयान बना सकते हैं। और, मैं इनपुट 1636 चलो बस कहना है। यहाँ इस कोड को स्विच को देखने के लिए जा रहा है साल 1636 के बराबर होती है जो की स्थापना की। यह मामले को देखने के लिए जा रहा है 1636, उन बराबर हैं ओह, printf () तुम नहीं होना चाहिए उस स्कूल को उत्तर में? हम यह मान क्योंकि वे नहीं करते वे हार्वर्ड के लिए जाना है, तो यहाँ से जाना है, तोड़ने के लिए और अंत तक छोड़। मैं इनपुट 1701, के लिए गए थे, जो मैं, हम में से सभी इनपुट होगा मान यह इस मामले छोड़ जाएगा, आओ मामला 1701 है, जो दो से नीचे, और येल के लिए प्रिंट आपका स्वागत है! तोड़ अंत तक छोड़। वरना आप शायद इस कोर्स के लिए ले जा रहे हैं ऑनलाइन जिसमें भयानक स्वागत case-- यह करने के लिए जाना जा रहा है Yale-- को डिफ़ॉल्ट प्रिंट, हैलो इंटरनेट! और टूट गया। हाँ। अध्यक्ष 12: तुम किसी और उपयोग कर सकते हैं वहाँ के बजाय डिफ़ॉल्ट की? ANDI PENG: नहीं, क्योंकि तरीका यह है कि इस पूरे समारोह स्विच बनाया गया है, वाक्य रचना आप उपयोग करने की आवश्यकता मामले मामला डिफ़ॉल्ट है। यह अगर और, इस तरह अगर है एक यह मामला मामले डिफ़ॉल्ट है। हाँ। अध्यक्ष 13: आप शायद पहले से ही यह कहा, लेकिन अगर आप दो मामलों की तुलना में अधिक हो सकती है? ANDI PENG: हाँ, तुम सकता है आप चाहते हैं के रूप में कई मामले दर्ज हैं। बस की तरह के रूप में सोचो असीम पर जोड़ने। अध्यक्ष 14: यदि आप , 1636 से 1701 के लिए बंद यह सच नहीं है एक फर्क है ना? यह बस इसके लिए जाँच होने जा रहा है। ANDI PENG: यह एक है वास्तव में अच्छा सवाल है। और हम पर स्पर्श करता हूँ इस पर बाद में, लेकिन अभी स्विच है कि पता है बयान यह है infinitely-- है की तुलना में यह और यदि अधिक कुशल वरना यह संचालित है क्योंकि अगर समारोह का एक अलग प्रकार का उपयोग कि अनिवार्य रूप से, करने के लिए बस के लिए, आपको अनुमति देता है करने के लिए सीधे छलांग मामले में आप पर रहने की जरूरत है। हाँ। अध्यक्ष 14: कूल। धन्यवाद। ANDI PENG: हाँ अध्यक्ष 14: और आप नहीं कर सका मामलों की तरह और अधिक से अधिक है। ANDI PENG: नहीं तो, उस बारे में सीमित है क्या स्विच बयान है कि तुम्हारे पास है केवल, केवल पूर्णांकों स्थिरांक है। हाँ। ठीक। तो यह कुछ है कि आप लोगों की कम अक्सर सामना करेंगे लेकिन मैं तो बस करना चाहता था मामले में यह परिचय। हम यहाँ क्या है एक त्रिगुट ऑपरेटर बुलाया। , यह सिर्फ एक कहाँ अनिवार्य रूप से पसंद है बयान एक लाइन में संकलित है। यहाँ, मैं अगली पंक्ति पर जाना होगा, अगले पृष्ठ, क्योंकि यह आसान है देखने के लिए। इसलिए हम सभी इस अधिकार को देखा है? इस का पालन करने के लिए बहुत आसान है। मैं एक चर बुलाया बनाना चाहते थे स्ट्रिंग नाम है, यदि एक निश्चित संख्या मैं मैं इसे कम से कम 100 है देना स्ट्रिंग के लिए कम प्रदान करना चाहते हैं, वरना मैं उच्च प्रदान करना चाहते हैं। यहां यह सटीक एक ही बात कर रही है कोड के उन आठ लाइनों कर रहे हैं। तो यहाँ मैं पैदा करना चाहते हैं एक चर स्ट्रिंग। और यह मैं हूँ शर्त है एक संख्या कम से कम 100 है, जाँच, तो आप कम से मान असाइन बाकी के उच्च मूल्य आवंटित। ये स्लाइड्स, कोई चिंता नहीं ऑनलाइन हो जाएगा तुम लोगों को यदि यह नीचे नहीं मिलता है। यह सिर्फ एक आसान तरीका है, एक अधिक है लेखन कोड का कारगर तरीका है। ठीक। तो अब हम जा रहे हैं ज्यादातर लोगों के लिए क्या है, में प्रवेश एक बहुत, बहुत भ्रामक की तरह हैं बात यह है कि पहली बार में के बारे में सोचने के लिए। लूप खंड। तो आज, हम बात करने जा रहे हैं छोरों के बारे में तीन प्रकार के। हम थोड़ी देर के साथ शुरू करने जा रहे हैं पाश, फिर, एक करते हैं, जबकि पाश के बारे में बात और फिर छोरों के बारे में बात करते हैं। तो अनिवार्य रूप से अधिक के लिए वहाँ से बाहर दृश्य शिक्षार्थियों, हम अनिवार्य रूप से, एक चित्रमय है थोड़ी देर के पाश क्या करता है, के चित्रण। एक प्रोग्रामिंग में तो, अगर आप शुरू होगा और एक निश्चित बिंदु पर पाश दर्ज करें। आप एक की हालत की जाँच करें। और हालत सही है या नहीं, तुम अंदर कोड निष्पादित। और आप के आसपास वापस आते हैं और आप की जाँच करें। यह भी सच है तो आप चालू रखने के लिए एक पाश में आसपास और चारों ओर इस कोड। कि हालांकि, दूसरे हालत, झूठी हो जाता है आप को तोड़ने और पाश समाप्त करने के लिए जा रहे हैं। और यह अनिवार्य है आप प्रयोग करने जा रहे हैं सिंटेक्स। एक निश्चित शर्त है यह सच नहीं है कि अगर यह सच है कि ऐसा करने के लिए तुम अंत तक छोड़ करने के लिए जा रहे हैं और अपने कार्यक्रम के साथ आगे बढ़ना है। ठीक। किसी को भी एक उदाहरण है संभवतः क्या हो सकता है पर मैं कोड के इस टुकड़े को चलाने की कोशिश की तो? वैसे, कि Scaz, एंडी है SAJ-- हम हमारे ईमेल बंद हस्ताक्षर करेंगे Jason--, , SAJ प्यार। ये हम हैं। ठीक। किसी को भी एक उदाहरण है, या है इस मुद्रित होगा पर एक विचार है? एक चाल सवाल की तरह। तो यहाँ, हालत याद जबकि सच है के लिए हम जाँच कर रहे हैं। हालांकि यह सच है, तो यह है मुद्रित करने के लिए जा रहा है, मैं SAJ प्यार करता हूँ! हम चाहते हैं जिसमें किसी भी बिंदु है अन्यथा कुछ भी करने के लिए यह बदलाव आया है? कोई अधिकार नहीं? यहाँ में तो, हमारे पास शायद क्या सामना करना पड़ा का एक बहुत गुस्सा दिलाना हो जा अपने कार्यक्रमों, अनंत लूप। आप पाएंगे कि आप यदि कोड के इस टुकड़े को चलाने यह सिर्फ रखने के लिए जा रहा है प्रिंटिंग, मैं SAJ प्यार करता हूँ! हम समर्थन की सराहना करते हैं, हम अपने कंप्यूटर नहीं करना चाहते आप क्योंकि दुर्घटना के लिए मैं SAJ प्यार मुद्रण रहो! तो कृपया, कृपया, अनंत लूप से बचने यह कभी नहीं जा रहा है, क्योंकि गलत करने के लिए मूल्यांकन करने के लिए और आप कभी नहीं जा रहे हैं पाश छोड़ने के लिए। और अगर आप करने जा रहे हैं हमेशा के लिए चूसा जा। कूल। ठीक। पाश के दूसरे प्रकार हम आज के बारे में बात करेंगे पाश जबकि पाश, जबकि ऐसा नहीं है। और यह एक Do पाश जबकि कहा जाता है आप एक है और थोड़ी देर के लिए किया है। तो यह थोड़ी देर के लिए बहुत समान है पाश, लेकिन थोड़ा अलग। यहाँ, आप क्या करने जा रहे हैं इस के अंदर जो कुछ भी की एक निश्चित शर्त सही है, जबकि। तो अगर मैं सी और मैं कर रहा हूँ कंप्यूटर थे कोड के इस टुकड़े के नीचे चल रहा है, मैं शीर्ष पर एक नज़र रखना। मैंने सोचा कि मैं इस बात को कहते, सी के पास जाओ। और फिर मैं यह है, जबकि जांच सच है, मैं इसे दोहराने के लिए है। लेकिन यह गलत है, जबकि तो मैं आगे बढ़ने और मैं फिर से वापस है कि पाश करने के लिए कभी नहीं जाना। किसी को भी एक चाकू ले सकते हैं क्या फर्क पर इस लूप और एक हम के बीच बस में व्यावहारिक था देखा। हाँ। अध्यक्ष 15: शर्त आने के बाद के बजाय पहले? ANDI PENG: बिल्कुल। तो उसने कहा हालत के बाद, पहले नहीं आता है। अंत में, अंतर इस और जबकि पाश के बीच आप अभी क्या करने जा रहे हैं की परवाह किए बिना इस के अंदर जो कुछ भी की अपनी हालत है या नहीं यह सच है, और उसके बाद हालत की जाँच करें। तो इस मामले में, आप कर रहे हैं always-- इस तरह से, आप हमेशा यकीन कर रहे हैं जो कुछ भी है अंदर कम से कम चलाता है एक बार देखने के लिए जाँच से पहले अगर आप चाहते हैं कि इसे फिर से चलाने के लिए। और यहाँ एक उदाहरण है हम इसका इस्तेमाल होता है जब की। तो उदाहरण के लिए, अगर मैं चाहता था के लिए है उम्र नामित प्रकार पूर्णांक के एक चर, और मैं शीघ्र करना चाहते हैं अपनी उम्र के लिए यूजर मैं) (printf क्या करने जा रहा हूँ तुम्हारी उम्र क्या है? उम्र = GetInt (), जो उपयोगकर्ता उत्साह है। और कुछ लोगों को वास्तव में परेशान हो जाएगा। और अगर आप कीड़े में नहीं करना चाहते हैं अपने किसी के कार्यक्रम, जैसे inputting ओह मैं 4 साल पुरानी है या जो कुछ भी नकारात्मक रहा हूँ। जो मामले में वे अगर , इस मूल्यांकन करता है कि क्या करना मैं जा रहा हूँ, जिसका मतलब है कि सच को वापस जा रहा है और यह कर रख दिया है। इसलिए इस रखने जा रहा है फिर से उत्साह उपयोगकर्ता एक असली की तरह तुम्हें देने के लिए उम्र नंबर और यह बात है वापस जा रहा है और redoing रखने के लिए जा यह वे तुम्हें एक असली उम्र दे जब तक एक से अधिक, या शून्य नहीं। तो, संकेत संकेत। यह बहुत, बहुत उपयोगी हो जाएगा अपने pset समस्याओं में से एक है। हाँ। अध्यक्ष 16: ओह, माफ करना। ANDI PENG: हाँ। अध्यक्ष 16: नहीं हैं, एक गधे होने की but-- ANDI PENG: कोई चिंता नहीं। अध्यक्ष 16: वहाँ --are यहां विभिन्न नियमों, या आप बस भूल गए उद्धरण डाल करने के लिए? ANDI PENG: अरे हाँ। क्षमा करें, कि पूरी तरह से मेरे लिए बुरा है। यह निश्चित रूप से था एक उद्धरण के लिए होना चाहिए। अच्छी कैच। यही नहीं चला गया होता। ठीक। तो पाश के पिछले प्रकार हम बात करेंगे के बारे में और, अंततः, अधिकांश की तरह जटिल पाश के लिए है। यदि आप नहीं करते तो चिंता न करें इसका मतलब है कि क्या पता है। यह पहली बार में बहुत भ्रामक है। हम एक उदाहरण पर जायेंगे। पाश के लिए एक में होता है कि सभी आप तीन बयान किया है आप को शामिल करने जा रहे हैं। तो एक खास बात के लिए, आप कर रहे हैं एक चर प्रारंभ करने के लिए जा रहा है। आप के लिए शर्त जोड़ने के लिए जा रहे हैं जो इस पाश चल रखेंगे। और फिर, के अंत में पाश, आप इसे अद्यतन करने के लिए जा रहे हैं। आप चर अद्यतन कर सकते हैं आप का ट्रैक रखने के लिए चाहते हैं। तो हम आम तौर पर उपयोग जब हम के लिए छोरों के लिए एक के लिए एक पाश चलाना चाहते हैं समय की निश्चित राशि और हम पहले से ही ओह मैं चाहता हूँ पता है, इस लूप, 10 बार की तरह अमल करने के लिए तो तुम मुझे पर जायेंगे do-- अगले पृष्ठ पर एक उदाहरण। यहाँ तो उदाहरण के लिए, खरोंच में, अगर आप 10 बार दोहराने के लिए कुछ करना चाहता था सब तुम थे कहना था, मैं SAJ प्यार 10 बार फिर से! जो एक और अधिक स्वीकार्य है हमारे लिए समर्थन का शो बल्कि अनंत लूप से। यहाँ, आप कैसे होगा सी और लिखने के लिए संक्रमण कि मैं बनाने जा रहा हूँ int-- के लिए है या मैं नाम int प्रकार की एक चर घोषणा। मैं प्रारंभ करने के लिए जा रहा हूँ यह 0 से है, तो मैं = 0; और यह मेरी हालत होने जा रहा है। तो मैं कम से कम 10 है। और फिर end-- पर आप कर रहे हैं पिछले बयान है जा के अद्यतन है क्या चर मैं करने के लिए होता है अपने पाश के लिए के अंत में। तो यह है, क्योंकि एक तरह से भ्रामक है इस लाइन के विभिन्न भागों अलग से हो रही हैं पाश के प्रकार। लेकिन मैं एक पर जायेंगे इस बात का स्यूडोकोड उदाहरण और हो सकता है यह समझाने बस थोड़ा सा बेहतर है। तो ये रहा। यही कारण है कि हम सिर्फ देखा पाश है। मूलतः स्यूडोकोड में, क्या इस कार्यक्रम में हो रहा है, पहले मैं पैदा कर रहा हूँ है मैं इसे 0 प्रारंभ कर। मैं मैं है देखने के लिए जाँच कर रहा हूँ 10 से भी कम है, जो मामले में यह है पहली बार 0 क्योंकि कम से कम 10 है। इस प्रकार पाश चला जा रहा है। और फिर मैं इस लाइन मुद्रित करने के लिए जा रहा हूँ। और फिर इस पंक्ति के अंत में, सही यहाँ, मैं मैं, मैं ++ वेतन वृद्धि करने जा रहा हूँ, कहा कि सभी साधन है एक एक करके यह incrementing। इसलिए अब मैं एक है। मैं अगर यह एक बार शून्य था क्योंकि यह अब एक है, यह वेतन वृद्धि। और फिर मैं वापस जाने के लिए जा रहा हूँ पाश की शुरुआत करने के लिए और मैं हालत की जाँच करें। अभी हालत यह सच है? हाँ, एक अभी भी कम से कम 10 है। तो यह फिर से इस मुद्रित करने के लिए जा रहा है जाना और फिर मैं वेतन वृद्धि, और जाँच शर्त लगातार, लगातार, आप अंततः मिलता है जब तक बात करने के लिए मैं 10 कहाँ है। आप इस 10 बार मुद्रित करने के लिए जा रहे हैं और फिर मैं 10 बराबर करने के लिए जा रहा है। आप स्थिति की जाँच करने के लिए जा रहे हैं। 10 से 10 कम है? नहीं, वह गलत है। इस प्रकार, इस पाश नहीं जा रहा है चलाने के लिए, इसे तोड़ने के लिए जा रहा है, और आप करने जा रहे हैं अपने कोड के साथ पर जारी है। दोस्तों, आप यह देख सकते हैं कि वास्तव में एक महान उदाहरण है एक पाश की आप उस में कार्यक्रम कर सकते हैं समय की एक निर्धारित राशि के लिए चलाता है। हर एक स्पष्ट? हाँ। अध्यक्ष 17: कैसे वेतन वृद्धि के बारे में तेजी से, यह अलग कोडिंग है? ANDI PENG: आप हम जायेंगे can-- अगली स्लाइड में इस पर। अच्छा प्रश्न। मैं ले जाने से पहले anyone-- है on-- पर सभी उलझन में किसी को भी, यह एक बहुत ही कठिन अवधारणा है। कोई चिंता नहीं, you're-- ठीक है। कूल। ठीक है। बस एक सामान्य स्लाइड। इस समय पाश कर रही है पाश के लिए सटीक एक ही बात थी। यह सिर्फ अलग ढंग से लिखा है। तुम लोग स्लाइड सोचना कर सकते हैं पर बाद में अपनी सुविधानुसार। लेकिन अभी कई पता है कि वहाँ एक ही बात लिखने के तरीके अलग छोरों के साथ हो लिए। ठीक। तो, अब हम का सवाल में क्या मिलता है हम एक लूप के अंदर एक पाश किया है। हम वास्तविक में हो रही है यहां इंसेप्शन प्रकार के सामान। आप चीजों को कई करना चाहते हैं अन्य बातों के अंदर बार कि, चीजों को आप कई बार ऐसा पाश के लिए एक नेस्टेड क्या कहा जाता है चाहता हूँ। आप में से जो लोग पहले यह देखना और बहुत भ्रमित हो, सब हम यहाँ क्या कर रहे हैं पाश जहां के लिए एक हो रही है हम पंक्ति की एक चर है। लेकिन इसके बारे में अंदर है, हम भी एक और है एक चर बुलाया स्तंभ के पाश के लिए। और मैं अत्यधिक आप सभी के सुझाव देते हैं पहले जो रखने के लिए भ्रमित कर रहे हैं इस बाहर आकर्षित track--, यह बाहर निकालना। सिर्फ कारण की कोशिश मत करो इसके माध्यम से, इसे बाहर निकालना। के इस टुकड़े पर अपना सिर में, कागज, या जो कुछ भी लिखने पंक्ति, पंक्ति के बराबर है क्या का ट्रैक रखने के लिए। ट्रैक रखने के लिए, स्तंभ लिखें क्या के स्तंभ के बराबर है। और क्या है का ट्रैक रखने हर यात्रा के साथ बाहर मुद्रण। इस लूप के हर चलना, हर कि बड़े पाश का चलना, बस तर्क के बाद रहते हैं। और मैं तुम्हें गारंटी, तुम क्या देखते हैं आप, प्यार करता हूँ यह बहुत भी है क्योंकि आपकी समस्या सेट के लिए लागू है। कूल। ठीक है। सबसे महत्वपूर्ण बात यह है तो तुम लोगों को शायद यह सब कर रहे हैं कि के बारे में अभी सोच, आपकी समस्या सेट 1s हैं, जो गुरुवार / शुक्रवार की वजह से कर रहे हैं। अपने water.c कार्यक्रम में, आपके पास करने के लिए जा रहे हैं संकेत एक इनपुट के लिए उपयोगकर्ता संकेत करने के लिए। अपने mario.c कार्यक्रम के भीतर आपके पास करने के लिए जा रहे हैं जो है, पाश के लिए एक नेस्टेड का उपयोग करने के लिए पाश के लिए एक के अंदर एक के लिए पाश, अनिवार्य रूप से, पिरामिड के एक ब्लॉक मुद्रित करने के लिए क्या की तरह मारियो के माध्यम से कूद करने के लिए है। और फिर अंदर अपने greedy-- या शायद आप में से किसी भी लोग हैं, तो परिवर्तन करने कभी that-- के बारे में सुना है तुम बहुत होना करने के लिए जा रहे हैं पहले चल बिन्दु मूल्यों से सावधान। याद रखें चल दशमलव और पूर्णांकों एक ही बात नहीं कर रहे हैं। जिनमें से एक है जो का ट्रैक रखें। और आप का उपयोग करने के लिए जा रहे हैं सशर्त बयान, के रूप में अच्छी तरह से। ठीक है, आखिरी बात। मुझे छोड़ दो मिनट मिल गया है। अंदाज। तो यह नहीं है कि कुछ है वास्तव में दक्षता प्रभाव, या अपने कोड की वास्तविक चल रहा है। हालांकि, यह हमें के रूप में प्रभाव अपनी कक्षा के छात्रों के लिए, अपने पाठकों के रूप में। आप कर रहे हैं, अगर यह खुद के प्रभाव एक समस्या खोजने की कोशिश कर। यह अपने कोड की पठनीयता प्रभाव। आप करने की कोशिश कर रहे हैं, जब की तरह तो शैली, आप यदि अंग्रेजी के लिए एक निबंध शैली अनुच्छेदों के लिए नहीं था, आप की तरह सब कुछ है की एक लाइन पर एक साथ गड़बड़ है, यह किसी के लिए यह वास्तव में कठिन बना देता है भले ही अपने निबंध को पढ़ने के लिए अपने अंक तार्किक रूप से मजबूत हैं। प्रोग्रामिंग में एक ही बात है। आप बुरी तरह अस्पष्ट हो सकता है Scaz को कवर किया जाएगा, जो कोड, और यह अभी भी चलाने के लिए और कार्य कर सकते हैं। लेकिन हमारे लिए, के रूप में अपनी प्यारी tas, कौन करेगा पढ़ने और अपने PSets का मूल्यांकन किया, यह बहुत अच्छा नहीं है। तो कृपया, खातिर हमें और अपने आप को, जब आप ठीक करने के लिए कोशिश कर रहे हैं अपने कोड में एक समस्या है, और आप के लिए कोशिश कर रहे हैं अपने खुद के कोड को पढ़ने, बनाना सुनिश्चित करें कि आप कुछ परंपराओं का पालन हम पर जाने के लिए जा रहे हैं। तो पहले। आपके चर सार्थक नाम दे। आप एक पूर्णांक स्टोर करना चाहते हैं उम्र कहा जाता है, यह उम्र नाम कृपया। यह ऊंचाई का नाम नहीं है। जब आप करने की कोशिश कर रहे हैं ऊंचाई में एक उम्र की दुकान है, यह सब कुछ करता है हमारे लिए बहुत ही भ्रामक। हम भ्रमित होने की तरह नहीं है। आप भ्रमित होने की तरह नहीं है। कोई भी भ्रमित होने की पसंद करता है। अगर आप कुछ बनाने के लिए जा रहे हैं, यह कुछ सार्थक नाम है। हालांकि, पाश के लिए में, एकल चरित्र चर आमतौर पर ठीक हैं। और लूप के लिए, अगर आप चाहते हैं सिर्फ मैं, और जम्मू, कश्मीर, सिर्फ इतना है कि ऐसा करने के लिए स्वतंत्र महसूस। लगातार प्रारंभ। तो उसका क्या मतलब हुआ? यही कारण है कि सैद्धांतिक रूप से, तकनीकी रूप से इसका मतलब है आप शुरू करने और बना सकते हैं एक ही लाइन पर कई चर। तो उदाहरण के लिए, मैं बना सकते हैं scaz_age नामक एक पूर्णांक, और पूर्णांक, andi_age 20 = बुलाया और एक पूर्णांक jason_age बुलाया एक ही लाइन पर। और मैं यह भी का केवल एक ही आवंटित कर सकते हैं उन्हें और मूल्यों के लिए नहीं दूसरों। हम यदि आप ऐसा नहीं करते हैं तो कृपया पूछो। क्योंकि यहाँ आप अनिवार्य रूप से बनाया है तीन चर, लेकिन उनमें से केवल एक ही वास्तव में एक मूल्य है। और फिर हम कर रहे हैं जब अपने कोड को पढ़ने के लिए कोशिश कर रहा है, या आप ठीक करने के लिए कोशिश कर रहे हैं अपने कोड में एक समस्या है, यह पालन करने के लिए बहुत भ्रामक है। तो बस अपने पठनीयता के लिए, के लिए हमारे पठनीयता, ऐसा नहीं करते। लगातार सर्पाकार। कुछ लोगों को अपने डाल पसंद अलग-अलग स्थानों में सर्पाकार। यह वास्तव में कोई फर्क नहीं पड़ता। बस आप में लगातार कर रहे हैं सुनिश्चित कर लें कि आपके आप उन्हें डाल की तरह है, जहां पर खुद के कोड। लगातार रिक्ति। आप एक के बाद एक जगह रख दिया तो पाश के लिए, हमेशा ऐसा करते हो। बस की तरह की तरह पर यह मत करो कुछ स्थानों पर, दूसरों में ऐसा नहीं है। बस लगातार हो। दूसरे, किसी को चाहते हैं, तो CS50 स्टाइल गाइड सोचना, हम आधिकारिक तौर पर एक शैली गाइड है कि , आप इन सम्मेलनों के सभी बताता है अधिक से अधिक। यह ऑनलाइन है। यह cs50.net/style की तरह है या कुछ इस तरह का। आप इसे गूगल कर सकते हैं। स्थिरता की कुंजी है। तो चिंता मत करो क्या दूसरे लोग कर रहे हैं, बस आप कर रहे हैं कि यह सुनिश्चित कर लें अपने खुद के कोड के भीतर लगातार। किसी को भी उस के बारे में किसी भी सवाल है? हाँ। अध्यक्ष 18: तो उचित बात आरंभीकरण है बस के साथ क्या करना एक अलग में उन सब को है लाइन, आप क्या कह रहे है? ANDI PENG: तो मैं शायद ही कभी ऐसा हो गए हैं। अगर तुम चाहते थे लेकिन, तुम चाहते थे करने के लिए अगर अपने कोड में अंतरिक्ष की बचत की तरह हो सकता है, या जो कुछ भी है, तो आप ऐसा कर सकते हैं। हम आपको सिर्फ हस्ताक्षर करना नहीं है कि पूछो एक बात और दूसरों को नहीं। तो अगर आप पूर्णांक scaz_age करना चाहते हैं, पूर्णांक andi_age, पूर्णांक jason_age, वह ठीक है। बस एक प्रारंभ नहीं करते और दूसरों को नहीं सब है। प्रश्न? ठीक है। मैं बंद पारित करने के लिए जा रहा हूँ माइक्रोफोन, और लेजर सूचक, और डंडों इस बिंदु पर Scaz करने के लिए। इये अजीब है। यह रहा। ब्रायन SCASSELLATI: धन्यवाद। कैसे ध्वनि के लिए है? ध्वनि अच्छी है? । बहुत बढ़िया। ठीक। तो, हाय सब लोग। मैं के माध्यम से काम करने की कोशिश करने के लिए जा रहा हूँ आप के साथ एक व्यावहारिक उदाहरण। और हम CS50 का उपयोग करने के लिए जा रहे हैं विकास के वातावरण, क्या कहा जाता है समन्वित विकास पर्यावरण। और अगर आप इस देखा है व्याख्यान में प्रदर्शन किया। और इस समस्या को सेट 1 में, आप कर रहे हैं एक अवसर के लिए किया जा रहा इसका इस्तेमाल, और आसपास के साथ खेलने के लिए यह, और यह के आदी हो हम इसका इस्तेमाल करने जा रहे हैं, क्योंकि सेमेस्टर के बाकी के माध्यम से। इसलिए इस आईडीई में, तुम क्या लग रहा है एक बहुत ही पारंपरिक फ़ाइल ब्राउज़र की तरह ऊपर एक तरफ। आप एक हिस्से को मिल गया है शीर्ष जहां आप जा रहे हैं अपने स्रोत कोड को देखने की आपकी Cfile, आप लिखते हैं कि कोड। और नीचे नीचे, आप हूँ टर्मिनल विंडो है आप करने के लिए उपयोग कर सकता हूँ जो दोनों अपने कार्यक्रम के संकलन और चलाने के लिए या अपने कार्यक्रम पर अमल करने के लिए। ठीक। तो हम में से सिर्फ एक छोटा सा देने के लिए फाउंडेशन, कि टर्मिनल विंडो में, आप हो जा रहे हैं आदेशों का एक सेट का उपयोग कर भर मानक आदेशों हैं कि यूनिक्स या लिनक्स सिस्टम के अधिकांश। और तो आप कभी भी उपयोग किया है, तो यूनिक्स, उबंटू के किसी भी रूप, या अन्य जायके के किसी भी, इन परिचित देखने के लिए जा रहे हैं। अगर तुम नहीं है, चिंता मत करो। उनके बारे में जटिल कुछ नहीं है। वे सिर्फ एक अलग प्रयोग कर रहे हैं वाक्य रचना, एक अलग नामकरण आप की तुलना में सम्मेलन से पहले देखा है। तो फाइलों सूची से बाहर करने के लिए एक विशेष निर्देशिका के भीतर, वे एक का उपयोग करने के लिए जा रहे हैं आदेश रास, या सूची बुलाया। आप सब कुछ देखना चाहते हैं सभी विवरण के साथ, आप एक आदेश का उपयोग करेंगे रास -l के साथ लाइन तर्क। और कहा कि आप सब कुछ दिखाता हूँ सहित और अधिक विस्तार में एक फ़ाइल के लिए अनुमतियों। निर्देशिका को बदलने के लिए, आप सीडी कमांड का उपयोग करेंगे। और अगर आप निर्देशिका बदलने में सक्षम हो जाएगा दोनों अपने घर निर्देशिका करने के लिए जाने के लिए। यही कारण है कि सभी ने सिर्फ सीडी दो के साथ ही, सीडी डॉट्स एक तुम्हारे ऊपर वापस आ जाएगी अपने पिछले निर्देशिका करने के लिए स्तर। और अगर आप एक को सीडी भी कर सकते हैं सीडी में टाइप करके उपनिर्देशिका और कहा कि उप-निर्देशिका का नाम है। तुम भी नए निर्देशिका बना सकते हैं। और हम चलने के लिए जा रहे हैं बस एक मिनट में इस के माध्यम से। लेकिन सिर्फ डाल करने के लिए स्क्रीन पर सब कुछ। इतना है कि आप उन्हें देख सकते हैं। तुम भी क्षमता होगा सीधे फाइलों में हेरफेर करने के लिए कमांड लाइन से। आप के लिए, उन्हें नकल करने में सक्षम हो जाएगा उन्हें ले जाने के लिए, या उन्हें दूर करने के लिए, वह यह है कि प्रभावी ढंग से, उन्हें नष्ट करने के लिए। CS50 आईडीई आप पूरा कर देता है कमांड लाइन तर्क की शक्ति। और कहा कि आप भी कर सकते हैं इसका मतलब अत्यधिक खतरनाक बातें करते हैं। ठीक। उदाहरण के लिए, आप कर सकते हैं , हटाने, या कि हटाना है बिना पूछे एक फ़ाइल पुष्टिकरण के लिए। और तुम भी दूर कर सकते हैं कि recursively-- पानी का छींटा आर एक पूरे flag-- उपनिर्देशिका और इसकी सामग्री के सभी। ठीक। वे लाल रंग में सूचीबद्ध कर रहे हैं आप, क्योंकि "खतरे" हर बार सोचना चाहिए आप उन चीजों को देखते हैं। ठीक। ठीक है। अब अंत में, बातें कर रहे हैं कि आप के लिए वास्तव में मूल्यवान हो जा रहा है, हैं कुछ अच्छी चाल देखते हैं आप नेविगेट कर रहे हैं के रूप में जानते इस टर्मिनल विंडो के माध्यम से। सबसे पहले, आप पर स्क्रीन को साफ कर सकते हैं अभी स्पष्ट में टाइप करके किसी भी समय। और अगर आप देखने जा रहे हैं मुझे अक्सर ऐसा करते हो। आप भी सिर्फ प्रदर्शित कर सकते हैं एक फ़ाइल का पाठ अधिक और फिर फ़ाइल नाम टाइप करके। तुम तो वापस स्क्रॉल करने के लिए सक्षम हो जाएगा और आगे सिर्फ spacebar के साथ उस के साथ और तीर कुंजी। यदि आप हैं, हम, व्याख्यान में आज के रूप में किया लगातार चल रहा है कि एक कार्यक्रम अनंत लूप में, आप कि कार्यक्रम बंद कर सकते हैं नियंत्रण में लिखकर को क्रियान्वित करने से, कि नियंत्रण सी नीचे पकड़ रहा है। और तुम क्या हो सकता है यह कई बार। कंप्यूटर अब तक आप के आगे हो जाता है। और तुम कभी कभी करने की जरूरत है यह कोशिश करता है की एक जोड़े को दे यह वास्तव में के माध्यम से आ जाएगा से पहले। आप भी कर सकेंगे आदेशों के माध्यम से हल तुम सिर्फ कुंजी का उपयोग कर लिखे गए, तीर कुंजी, और फिर नीचे तीर कुंजी। और जो सबसे ज्यादा उपयोगी है बजाय है लंबे फ़ाइल नाम टाइप बाहर की, आप का उपयोग करने टैब करने में सक्षम हो जाएगा कुछ निर्देश स्वत: पूर्ण। अब हम प्रदर्शन करने के लिए जा रहे हैं बस एक दूसरे में उन सभी को। तुम्हें याद नहीं है तो उन्हें चिंता मत करो। ये है कि आप हूँ बातें कर रहे हैं उठाओ और हम साथ जाने के रूप का उपयोग करें। ठीक। C-- में Scratch-- में विपरीत तो सी एक संकलित भाषा है। यही कारण है कि हम एक स्रोत लेने के लिए जा रहे हैं इसका मतलब file-- कि आप लिखते हैं कि पाठ है, आप लिखते हैं, कि आदेशों printf () बयान, छोरों, सब कुछ else-- और हम जा रहे हैं कि फाइल ले और इसे दूर करने के लिए हाथ एक कार्यक्रम के लिए संकलक कहा जाता है। संकलक तो ले जाएगा आप लिखा है कि उस पाठ और में अनुवाद बाइनरी निर्देश आपके कंप्यूटर है कि वास्तव में उपयोग हो रहा। यही कारण है कि वस्तु कहा जाता है या निष्पादन योग्य फ़ाइल। यदि आप इस फाइल को देखें, तो आप जा रहे हैं आप लिखा है कि कोड को देखने के लिए। यदि आप इस फाइल को देखें, तो आप जा रहे हैं पात्रों में से एक यादृच्छिक अनुक्रम देखने के लिए कि जो भी कोई मतलब नहीं है। इस द्विआधारी है क्योंकि यही है। यह आप पढ़ने जा करने के लिए मतलब नहीं है। हालांकि, किसी भी समय आप चाहते हैं आप जा रहे हैं, कुछ चलाना चल रहे हो इस उद्देश्य फ़ाइल है। इसलिए हम इन के साथ काम करते हैं फाइलें, हम सी में एक फ़ाइल लिख देंगे हम तो एक का उपयोग कर, यह संकलन करेंगे आह्वान करेंगे जो बनाना पसंद आदेश सी भाषा के लिए संकलक बजना। और कहा कि एक वस्तु का उत्पादन होगा एक बाहर की तरह, फ़ाइल, या इस मामले में, नाम, मैं में डाल दिया है कि मेरी फाइल,। ठीक है। तो चलो वास्तव में यह कोशिश करते हैं। तो मैं एक उदाहरण के साथ आया था मैं कोशिश करना चाहता था क्या की। और बातों में से एक यह है कि मुझे fascinates एनीमेशन है। तो हम क्या करने की कोशिश करने के लिए जा रहे हैं एनीमेशन का एक छोटा सा सिर्फ ASCII वर्ण का उपयोग कर। वर्ण हम अब आसानी से मुद्रित कर सकते हैं। तो यहाँ मेरा सबसे अच्छा प्रयास है आप के लिए बनाने पर एक खरगोश की एनीमेशन लंबा घास के माध्यम से चल रहा है। वह वहाँ है। ठीक। इसलिए वह अभी तक नहीं चल रहा है, लेकिन वह है लंबा घास में वहाँ खड़ी है। अब मैं एक एनिमेटर थे, पुराने स्कूल में एनीमेशन के संस्करण, क्या मैं मैं उत्पादन होता है क्या करना होगा घास में इस पर चलनेवाली की एक तस्वीर। और फिर मैं उत्पादन होगा एक दूसरी तस्वीर-- एक और वे कहते हैं कि cell-- क्या कहा जाता है चलनेवाली केवल थोड़ा ले जाया गया था। और फिर एक तिहाई से एक था कि चलनेवाली थोड़ा सा आगे चले गए। और मैं एक पूरे का उत्पादन होगा इन कोशिकाओं के अनुक्रम। कुछ जहाँ चलनेवाली खत्म हो गया है बाएं हाथ की ओर पर। और फिर धीरे धीरे, एक कदम मध्य की ओर एक एक करके। और फिर बीच में से सही करने के लिए। और मैं वास्तव में, तो थे भाग्यशाली है, मैं इसे एक साथ रखा जा सकता था और मैं उन्हें चेतन सकता है। और मेरी चलनेवाली वहाँ घास के माध्यम से चल रहा है। यही कारण है कि मेरी बड़ी PowerPoint का है दिन के लिए चाल। ठीक। तो यह है कि यह हो जाता है के रूप में अच्छा है। ठीक। तो, एक बार और यहाँ, हमारे यहाँ है घास के माध्यम से चल रहा चलनेवाली। अध्यक्ष 19: फिर से। ब्रायन SCASSELLATI: एक अधिक समय, सब ठीक है। अपने बनी है। ठीक। तो आज क्या हम जा रहे हैं हम जा रहे है क्या करने के लिए इस प्रक्रिया को स्वचालित करने की कोशिश करने के लिए इन कोशिकाओं का निर्माण किया। हम काफी के मुद्दे पर नहीं मिलेगा उन्हें एक साथ सभी डाल कर रहा है। लेकिन, हम स्वचालित करने के लिए कोशिश करने के लिए जा रहे हैं इस क्रम पैदा करने की प्रक्रिया। और यह ज्यादा क्या है एनीमेशन आज की तरह है। वह यह है कि आप जरूरी बातें नहीं करते सब कुछ हाथ से ड्राइंग द्वारा। हम स्वचालित करने के लिए एक कंप्यूटर का उपयोग कि प्रक्रिया के कुछ हिस्सों। ठीक। तो मुझ पर स्विच करते हैं अब हमारे CS50 आईडीई के लिए। और मैं us-- और जाने के लिए बनाया है मुझे यहाँ मैं एक छोटे bit-- में ज़ूम एक प्रारंभिक बिंदु हमारे लिए बनाया। हम बैठने के लिए आप से पूछना है कि हर बार नीचे और कोड का एक टुकड़ा लिखने, क्या हम वास्तव में क्या करने के लिए आप पूछ रहे हैं हम एक समस्या को हल करने के लिए पूछ रहे है। और वैसे भी कि आप चाहिए कर रही है कि के बारे में सोचते कुछ के साथ शुरू की है कि समाधान के सरल हिस्सा है। और फिर उस हिस्से से बाहर का निर्माण। और कहा कि हम आज क्या करने जा रहे हैं। तो बजाय करने के लिए सभी को एक बार कोशिश कर रहा से है कि कोड की पूरी गुच्छा लिखने उन का उत्पादन हो रहा 10 एनीमेशन कोशिकाओं, हम बजाय शुरू करने के लिए जा रहे हैं काम करता है कि एक टुकड़े के साथ। और फिर हम एक का निर्माण करेंगे कि चारों ओर थोड़ा सा और एक छोटे से अधिक और एक छोटे से अधिक है। अब अच्छी बात के बारे में समस्या इस तरह से सुलझाने यह आप शुरू करने की अनुमति देगा है हमेशा के लिए आप जानते हैं कि कुछ के साथ काम करता है और एक क्रमिक परिवर्तन का परिचय। और वह एक शानदार तरीका है कोड के लिए कैसे जानने के लिए, हर बार जब आप एक बनाने की वजह बदलने के लिए, आप यह क्या प्रभाव देखते हैं। ठीक। तो यहाँ हमारे प्रारंभिक बिंदु है। ठीक। मेरी फाइल की शुरुआत में तो, मैं हैश #included stdio.h है। मैं प्राप्त कर सकते हैं कि इतना है कि printf () समारोह में काम करने के लिए। मैं तो मैं अपने मुख्य कार्य किया है। और यह अभी भी एक छोटे से लग रहा रहस्यमय या आप में से कुछ को अस्पष्ट। ठीक है। यह सब कहते हैं कि है मुख्य समारोह लेता है कोई arguments-- शून्य साधन सी और उस में कुछ भी नहीं सम्मेलन द्वारा रिटर्न एक पूर्णांक। मुख्य हमेशा एक पूर्णांक देता है, आम तौर पर एक कोड बातें कह अच्छी तरह से चला गया या अच्छी तरह से जाना नहीं था। ठीक। लेकिन मुख्य है कि किया गया है ठीक है अब हमारे लिए के रूप में। मैं तो कोड की तीन लाइनों में डाल दिया है। और की प्रत्येक पंक्ति के साथ कोड, मैं एक टिप्पणी डाल दिया है। बातों के बारे में अब एक ही है कि हम, आप करते हैं कि जोर होगा और यह एक महत्वपूर्ण ऐसी है प्रोग्रामिंग अभ्यास, हमेशा अपने कोड टिप्पणी करने के लिए है। हमेशा एक में लिखने के नीचे अंग्रेजी टिप्पणी कुछ आपको लगता है कि कोड करना चाहिए है। तुम वापस करने के लिए आते हैं पर जब बाद में यही तरीका , यह आप इसे देख सकते हैं और आप कह सकते हैं ओह, मैंने सोचा कि मैं क्या था याद इस के साथ क्या करने की कोशिश कर। या फिर एक टा करने के लिए आप के साथ नीचे बैठता है जब कार्यालय समय पर मदद करने की कोशिश, वे यह देखो और जा सकते हैं, मैं तुम क्या करने की कोशिश कर रहे थे क्या देखना लेकिन इसके बजाय यह है क्या वास्तव में हो रहा है। ठीक। तो मैं अपने कोड को तीन भागों मिल गया है मैं सभी प्रिंट की पहली करने के लिए जा रहा हूँ शुरू में कुछ डॉट्स बाहर। मैं तो बाहर प्रिंट हूँ मेरी बेहद फैंसी बनी। और फिर अंत में डॉट्स के कुछ सा। और इन तीन प्रिंट बयान चाहिए इस बिंदु पर आप परिचित लग रही है। मैं में क्या कर रहा हूँ सभी कि उनमें से प्रत्येक को मैं कर रहा हूँ है पात्रों में से एक दृश्य को छापता है। कोई शामिल चर रहे है। सब कुछ सिर्फ फ्लैट है। ठीक। इसलिए मैं अपने terminal-- करने के लिए अब नीचे जाना है, तो मैं यह वापस मिल सकता है, तो चलो देखते हैं out-- और मैं फिर से स्पष्ट टाइप करने के लिए जा रहा हूँ। अध्यक्ष 20: हम उपयोग करते हैं डबल स्लेश टिप्पणी करने के लिए? ब्रायन SCASSELLATI: कर सकते हैं double-- हाँ उपयोग करें। करने के लिए कई तरीके है सी में टिप्पणी छोड़ जिस तरह से डबल स्लैश का उपयोग है। अन्य एक स्लेश और एक स्टार का उपयोग करने के लिए है और फिर एक स्टार और एक स्लेश के साथ बंद हुआ। ठीक है। सबसे पहले, मैं जा रहा हूँ यहाँ के आसपास नेविगेट करने लगते हैं। इसलिए मैं अपने घर निर्देशिका करने के लिए जाना है, मैं वहाँ निर्देशिका बदल दिया है मैं देखो और क्या देखने जा रहा हूँ उस निर्देशिका में, रास, सूची से बाहर। मैं मैं कि देखने जा रहा हूँ दो सबडायरेक्टरियों मिला है। चलो इस एक छोटे से बड़ा कर दूं यहाँ हम सभी इसे देख सकते हैं। मैं मैं देख सकते हैं कि दो सबडायरेक्टरियों मिला है। मैं निर्देशिका बदल देंगे कार्यक्षेत्र में जाने के लिए। और मैं केवल बाहर टाइप करने के लिए जा रहा हूँ यह का हिस्सा है, और फिर बस टैब मारा। और यह मेरे लिए बाकी पूरा करेंगे। फैंसी। मैं देखो और कार्यक्षेत्र में देखेंगे। और अभी, मैं काम कर रहा हूँ SuperSection पर कि हम अभी अध्यापन कर रहे हैं। इसलिए मुझे लगता है कि निर्देशिका में जाना होगा। और अंत में, देखने के लिए और देखते हैं। और मुझे लगता है कि फ़ाइल bunny.c मिल गया है। सभी सही तो मुझे एक बार स्पष्ट करते हैं। और मैं फिर से मैं कर रहा हूँ now-- करने के लिए जा रहा हूँ अभी भी है कि निर्देशिका में रह और यह है कि मैं कर रहा हूँ में मुझे बता रहा है कि SuperSection निर्देशिका। मैं आगे जाने के लिए जा रहा हूँ और मेरे कार्यक्रम पर चलनेवाली बनाते हैं। और उस आदेश, बनी बनाने, एक छोटा सा अजीब लग जबकि, यह भी बजना संकलक invokes। और इसके लिए उत्पादन किया है मुझे है कि एक आउटपुट एक निष्पादन योग्य funny-- एक निष्पादन योग्य फ़ाइल चलनेवाली बुलाया। ठीक। मैं तो कर सकते हैं, और यह लगता है और भी बदतर, बनी निष्पादित। ठीक। और हम इसका क्या करता है, देखते हैं। ठीक। इस बात का एक छोटा सा है क्या मैं उम्मीद कर रहा था। मैं वहाँ में मेरी चलनेवाली चित्र मिल गया है लेकिन मैं एक तरह से अपने आप में यह सब करना चाहता था। मुझसे क्या छूट गया? अध्यक्ष 21: एल स्लैश या n स्लेश। ब्रायन SCASSELLATI: स्लैश एन। ठीक। तो चलो यहाँ से बाहर जाने दिया जाए। और मुझे लगता है कि से बाहर निकलना होगा। और मैं इस एक में वापस जाना होगा। और चलो अब एक नजर डालते हैं यहाँ मेरा मुख्य समारोह से। तो मुझे क्या करना चाहिए? मैं रेखा खत्म करना चाहते हैं। तो मैं एक टिप्पणी में डाल देता हूँ। मैं एक printf में डाल देता हूँ ()। और मैं में डाल करने के लिए क्या करना है? / एन। ठीक। क्या मैं के साथ इसे समाप्त करने के लिए क्या है? अर्द्धविराम। ठीक है। अब, एक सच महत्वपूर्ण बातें सुनिश्चित करने के लिए है हर बार जब आप एक परिवर्तन करना अपने कोड में, आप इसे बचाने के लिए है। आप अपने कोड को बचाया नहीं किया है, तो आप कर रहे हैं वहाँ एक छोटे स्टार नोटिस जा। और कहा कि स्टार आप कहते हैं इस कोड को बचाया नहीं है। मैं अभी यह संकलन हैं, तो ऐसा नहीं है उन परिवर्तनों के किसी भी प्रतिबिंबित करने के लिए जा रहा है, संकलक फ़ाइल पर लग रहा है क्योंकि कि डिस्क, नहीं है कि फाइल पर है अपने संपादक में खुलेगा। ठीक है। तो चलो इसे बचाने के लिए करते हैं और फिर हम जायेंगे सही पर यहाँ नीचे, बाहर वापस आ जाओ। मेरी टर्मिनल के लिए नीचे आओ। और चलो फिर से अंतरिक्ष स्पष्ट करते हैं। और हम आगे और एक और जा सकते हैं समय हमारे चलनेवाली कार्यक्रम बनाते हैं। और बनी निष्पादित। यही कारण है कि या तो काम नहीं किया। गलत स्लेश। आप मुझे मिल गया है पर देखो तो, अगर मैं डाल एक / एन वहाँ में है, लेकिन मैं गलत स्लेश था। सब कुछ है कि आपके कंप्यूटर क्या बहुत स्पष्ट है। ठीक है? विराम चिह्न की एक छोटी सी गलती, और अचानक आप क्या चाहते हैं नहीं मिलता है। ठीक है। तो चलो बाहर फिर से वापस ज़ूम करते हैं। हम वापस जाना होगा। अच्छा है कि बहुत जल्दी मरम्मत करते हैं। हम में सही स्लेश डाल देता हूँ। हम इसे बचा लेंगे। हम में वापस ज़ूम करेंगे। किसी कारण के लिए, नहीं है कि खुश किया जा रहा है, लेकिन आगे चलते हैं और हम यहाँ वापस टर्मिनल के लिए जाना होगा। साफ़ करो। हम में ज़ूम करेंगे। और एक बार, हम चलनेवाली कर दूँगा। और अब यकीन है कि पर्याप्त है, यह काम करता है। हुर्रे। ठीक। तो चलो इस बनाने की कोशिश करते हैं एक छोटे से अधिक सामान्य। चलो देखते हैं, तो बजाय सिर्फ एक विशेष फ्रेम मुद्रण, हम यह कर सकते हैं, तो चलो देखते हैं हम सभी 10 प्राप्त कर सकते हैं उन एनिमेटेड तख्ते की हम करना चाहते थे कि। तो फिर, चलो ले चलो एक समय में यह एक कदम है। के पहले, यह नहीं सामान्यीकरण करते हैं इसलिए मैं सभी फ्रेम करते हैं कि, लेकिन इतना मैं किसी भी एक कार्य करें मैं चाहता हूँ कि हो सकता है कि फ्रेम। तो क्या फर्क है फ्रेम के बीच? चलनेवाली एक ही है? दर्शकों: हाँ। ब्रायन SCASSELLATI: हाँ। क्या फर्क पड़ता है? दर्शकों: स्थिति। ब्रायन SCASSELLATI: अपनी स्थिति, है ना? और कैसे मैं अपनी स्थिति को नियंत्रित करते हैं? कितने डॉट्स मैं कर रहा हूँ शुरुआत में डाल और कितने डॉट्स मैं कर रहा हूँ अंत में डाल। तो मैं कम पांच था शुरुआत और अंत में पांच। के पाश के लिए एक साथ कि पांच की जगह दें। ठीक। और मैं के लिए एक बनाने के लिए जा रहा हूँ पाश है कि अब, कहने जा रहा है मैं कुछ संख्या मुद्रित करने के लिए जा रहा हूँ की शुरुआत में डॉट्स। मैं एक चर का उपयोग करने के लिए जा रहा हूँ। चलो कहना है, मैं कैसे के बारे में अपने पाश में काउंटर। और मैं शीर्ष इसे घोषित करने के लिए जा रहा हूँ। और फिर पाश के लिए में मैं तीन बातें करने की जरूरत है। मैं क्या करने की जरूरत है पहली बात मैं मैं प्रारंभ करने की आवश्यकता है। मैं क्या हस्ताक्षर करना चाहिए यह होना शुरू करने के लिए? 0। ठीक। तो फिर मैं क्या है, कहने की ज़रूरत समाप्ति की हालत? जब मैं बंद कर देना चाहिए? खैर कितने डॉट्स आप करते हैं इस पर एक मुद्रित करने के लिए करना चाहते हैं? दर्शकों: पांच। ब्रायन SCASSELLATI: पांच फिर से? के बारे में हम कुछ करते हैं कैसे अलग-अलग है, हम पाँच किया था। चलो यह अलग बात है कि दिखाते हैं। अध्यक्ष 22: दो। ब्रायन SCASSELLATI: दो। ठीक। मैं दो डॉट्स चाहते हैं तो, मैं यहाँ क्या रखना चाहिए? दर्शकों: तीन। ब्रायन SCASSELLATI: तीन। ठीक। कितनी बार यह है कि के माध्यम से जाना जा रहा है? उस के माध्यम से जाना जा रहा है तीन बार, 0, 1, और 2, है ना? ठीक है, चलो वापस नीचे दो के लिए चलते हैं। अब हम दो डॉट्स मिलेगा। और क्या मैं प्रत्येक करना चाहते हैं मैं पाश के माध्यम से जाने के समय? क्या बदल गया है मैं के माध्यम से जाने के लिए हर बार? अध्यक्ष 23: एक डॉट जोड़ें। ब्रायन SCASSELLATI: मैं जा रहा रखने के लिए है। मैं एक डॉट जोड़ने के लिए जा रहा हूँ। मैं एक डॉट मुद्रित करने के लिए जा रहा हूँ, पाश के माध्यम से हर बार। लेकिन मैं कैसे कैसे का ट्रैक रख रहा हूँ कई बार मैं पाश के माध्यम से किया गया है? मुझे लगता है कि, मैं उपयोग कर रहा हूँ चर, कि काउंटर। तो के माध्यम से हर बार, मैं जा रहा हूँ एक ने काउंटर वेतन वृद्धि के लिए। अब, उस के लिए भी ऐसा ही है मुझे मैं यह कहते हुए मैं = 1 +। ठीक है। मैं मुझे पसंद that-- यह कर सकता है आशुलिपि, इसलिए मुझे लगता है कि मैं ++ कहने जा रहा हूँ। ठीक। एक ही बात करते हैं यहाँ नीचे तल पर। केवल मैं एक तरह से है कि एक था। मैं तुम लोगों को बताने के लिए जा रहा हूँ पूरी तरह से यह एक है। ठीक है। तो मैं यहाँ क्या लिखना चाहिए? यहाँ पाश के लिए मेरी है। मैं एक printf (क्या करने जा रहा हूँ) और मैं जा रहा हूँ मैं केवल एक डॉट मुद्रित इतना है कि इसे बनाने के लिए कि तल पर। मुझे क्या लिखना चाहिए अब पाश के लिए यह अंदर? सब से पहले, ठीक है क्या चर मैं इस्तेमाल करना चाहिए? अध्यक्ष 24: जम्मू। ब्रायन SCASSELLATI: मैं जम्मू इस्तेमाल कर सकते हैं। मैं एक ही एक का उपयोग कर सकते हैं? मैं मैं फिर से इस्तेमाल कर सकते हैं? हाँ। वह ठीक है, है क्योंकि मैं यहाँ का उपयोग कर रहा हूँ कि, मैं फिर जब उन्हें जरूरत नहीं है मैं इस बात के लिए नीचे उतरो। तो क्या मैं मैं करने के लिए हस्ताक्षर करना चाहिए? अध्यक्ष 25: 10। ब्रायन SCASSELLATI: 0। मैं क्या जांच होनी चाहिए? कितने डॉट्स मैं अंत में अब क्या ज़रूरत है मैं शुरुआत में दो डॉट्स मिल गया तो क्या होगा? मैं अंत में आठ की जरूरत है, तो क्या हुआ मैं मैं कम than--, जांच होनी चाहिए दर्शकों: सात, आठ, नौ। ब्रायन SCASSELLATI: मैं सात सुना। मैं आठ सुना। और मैं नौ सुना। ठीक। तो क्या हम सही में सभी कर रहे हैं ball-- जेसन 10 कहते हैं। ठीक। मैं के लिए दो डॉट्स यदि आवश्यक हो पहले एक, कितने करना I-- और मैं के लिए आठ डॉट्स की जरूरत है पिछले one-- मैं ऊपर के ऊपर एक दो डाल क्या मैं नीचे नीचे रखा जाना चाहिए? दर्शकों: आठ। ब्रायन SCASSELLATI: आठ। ऐसा इसलिए है क्योंकि जा रहा है सात के माध्यम से शून्य गिनती। और कहा कि पाश के माध्यम से आठ गुना है। ठीक। और मैं अंत में करने के लिए क्या करना है? दर्शकों: मैं ++। ब्रायन SCASSELLATI: मैं ++। ठीक है। तो यह है कि वहाँ बहुत अच्छा लग रहा है। चलो यह कोशिश करते हैं और हम इसका क्या करता है, देखते हैं। ठीक। इसलिए हम इसे बचाने के लिए जा रहे हैं। अच्छा और बचाया। हम वापस बाहर ज़ूम करेंगे। हम टर्मिनल में यहाँ की कोशिश करेंगे। हम में ज़ूम करेंगे। उफ़। हम करेंगे, एक बार, हमारे चलनेवाली कार्यक्रम बनाते हैं। और आगे जाना है और बनी निष्पादित। और वहाँ यह है। इसलिए हमारे चलनेवाली नहीं है। यह शुरुआत में दो डॉट्स है कहां और अंत में बाहर आठ डॉट्स। अब भी मेरे साथ सब लोग? ठीक। इसलिए हम इसे बनाया। हम एक खरगोश को बनाया एक विशेष फ्रेम। अब हम कर लिया है निर्माण करने के लिए कि सामान्यीकरण फ्रेम के अधिक है, विभिन्न प्रकार की। अब आगे बढ़ते हैं, और करते हैं यह न सिर्फ एक फ्रेम उत्पन्न लेकिन 10 उत्पन्न फ्रेम, जहां हम धीरे धीरे चलनेवाली सभी स्थानांतरित करने के क्षेत्र भर में जिस तरह। ठीक है। चलिये वापस चलते हैं। और अब हम कोशिश करेंगे। तो क्या मैं वास्तव में यहाँ बदलने की जरूरत है? क्या मैं बदलने की जरूरत है? अध्यक्ष 26: आप पहले करने की जरूरत है डॉट्स अधिकतम की संख्या में परिवर्तन शुरू में। हम 10 डॉट्स कर रहे हैं क्योंकि अगर, यह पैमाने पर करने के लिए करने की आवश्यकता के लिए जा रहा है। ब्रायन SCASSELLATI: हाँ। इसलिए अभी मैं यह एक तरह से hardwired है हमेशा शुरुआत में दो डॉट्स क्या करना और हमेशा अंत में आठ डॉट्स करते हैं। मैं सही, एक और पाश का निर्माण करना चाहते हैं? क्योंकि मैं नहीं चाहता सिर्फ एक चलनेवाली चित्र का निर्माण मैं 10 चलनेवाली चित्रों का निर्माण करना चाहते हैं। तो मैं एक और लूप बनाने की जरूरत है, और मुझे लगता है कि पाश के माध्यम से जाने के रूप में, मैं कितने बदलना चाहते हैं डॉट्स मैं शुरुआत में मुद्रित और मैं अंत में कितने डॉट्स मुद्रित पाश के माध्यम से जो चक्र पर आधारित मैं भी शामिल। ठीक है। तो चलो एक और काउंटर मिलता है। किसी ने पहले जम्मू कहा गया है, तो हम एक और जम्मू बना देंगे। और अब, हम करने जा रहे हैं पाश के लिए एक और निर्माण। क्या है कि लूप के अंदर चला जाता है? यह सामान जाना पड़ता है लूप के अंदर, है ना? चलनेवाली है लूप के अंदर जाने के लिए? मैं एक खरगोश में की ज़रूरत है उन 10 फ्रेम के प्रत्येक? दर्शकों: उह। ब्रायन SCASSELLATI: हाँ। मैं प्रत्येक में बनी चाहते हैं 10 तख्ते की, है ना? कैसे पर डॉट्स के बारे में अंत में, मुझे लगता है कि क्या ज़रूरत है? ठीक। इसलिए मैं उन सभी को इंडेंट करने के लिए जा रहा हूँ। मैं के सभी को उजागर करने के लिए जा रहा हूँ यह, और मैं टैब हिट करने के लिए जा रहा हूँ। और कहा कि सब कुछ खत्म हो उन्हें धक्का जा रहा है एक छोटा सा है, इतना है कि यह मेरे लिए आसान है पाश में क्या देखने के लिए। और फिर मैं यह समाप्त होगा। हम कहते हैं। ठीक है? अब, यह पाश में है कि मैं building-- वूप्स हूँ आप see-- कर सकते हैं तो कर लें कि मैं अपने काउंटर जम्मू मिल गया है। मैं 0 में इसे शुरू कर दिया करेंगे। कितनी बार मैं चाहता हूँ इस लूप के माध्यम से जाने के लिए? दर्शकों: 10 बार। ब्रायन SCASSELLATI: 10 बार। तो मैं यहाँ क्या नंबर डाल दिया जाना चाहिए? दर्शकों: 9, 10। ब्रायन SCASSELLATI: 9, 10, किसी को सही, 11 में कहने के लिए मिल गया है? मैं पहले दो डॉट्स चाहता था और 2 से मैं कम डाल दिया। मैं आठ डॉट्स चाहता था मैं 8 से मैं कम डाल दिया। अब मैं 10 के माध्यम से जाना चाहते हैं कई बार, तो मैं कम than-- जम्मू डाल दर्शकों: 10। ब्रायन SCASSELLATI: 10। हम वहाँ चलें। और मैं जम्मू के लिए अंत में क्या करते हैं? ++, यह वेतन वृद्धि। ठीक। अब, यहाँ मुश्किल हिस्सा है, क्या अब ठीक है अगर मैं यह नहीं होने जा रहा है? मैं 10 तख्ते मुद्रित करने के लिए जा रहा हूँ? अध्यक्ष 27: मुझे लगता है कि वे सब एक ही हो जाएगा। ब्रायन SCASSELLATI: वे हूँ सब ठीक है, एक ही हो सकता है? उन सभी को अभी भी जा रहे हैं शुरुआत में दो डॉट्स डाल दिया। लेकिन मैं उन सब नहीं करना चाहते दो डॉट्स शुरुआत की है। कितने डॉट्स मुझे क्या करना है शुरुआत में करना चाहते हैं? दर्शकों: बदल रहा है। ब्रायन SCASSELLATI: मैं यह सही है, बदलना चाहते हैं? तो मैं बदल रहा है कि यहां क्या है पाश के माध्यम से चला जाता है हर बार? दर्शकों: डॉट्स की संख्या, जे। ब्रायन SCASSELLATI: जम्मू, डॉट्स की संख्या। इसलिए मैं जम्मू होने के लिए इसे बदल सकते हैं। के माध्यम से पहली बार पाश, कि क्या होने जा रहा है? क्या मैं पहली बार में करने के लिए जम्मू सेट? दर्शकों: 0। ब्रायन SCASSELLATI: तो कितने कई बार मैं यह करने के लिए जा रहा हूँ? 0। पाश, जम्मू के माध्यम से दूसरी बार मैं यह वेतन वृद्धि की वजह से एक होने जा रहा। कितने डॉट्स मैं मुद्रित करने के लिए जा रहा हूँ? 1। पाश के माध्यम से तीसरी बार, कितने डॉट्स मैं मुद्रित करने के लिए जा रहा हूँ? दर्शकों: तीन। ब्रायन SCASSELLATI: जम्मू 3 होने जा रहा है। कितने डॉट्स मैं मुद्रित करने के लिए जा रहा हूँ? ओह, माफ करना, जम्मू 2 होने जा रहा है। कितने डॉट्स मैं मुद्रित करने के लिए जा रहा हूँ? दर्शकों: 2। ब्रायन SCASSELLATI: 2। ठीक है, तो मैं रखने के लिए जा रहा हूँ हम साथ जाने के रूप कि incrementing। कैसे नीचे से नीचे के बारे में? क्या यहाँ नीचे चला जाता है? मैं हमेशा से 8 नहीं करना चाहते अब अंत में? अध्यक्ष 28: 10। ब्रायन SCASSELLATI: मैं 10 डॉट्स करना चाहते हैं? मैं भी इसे बदलना चाहते हैं। इसलिए मैं इसे बदलने के लिए कैसे करना चाहते हैं? दर्शकों: [अश्राव्य]। ब्रायन SCASSELLATI: ठीक है, मैं अगर शुरुआत में पांच डॉट्स है, मैं अंत में कितने डॉट का मिलता है? दर्शकों: पांच। ब्रायन SCASSELLATI: अगर मैं शुरुआत में छह डॉट्स, मैं अंत में कितने मिलता है? दर्शकों: चार। ब्रायन SCASSELLATI: मुझे मिल गया तो शुरुआत में सात डॉट्स, मैं अंत में कितने मिलता है? दर्शकों: तीन। ब्रायन SCASSELLATI: मैं तो शुरुआत में जम्मू डॉट्स मिला मैं अंत में कितने मिलता है? 10-जे। ठीक। तो चलो कि बाहर की कोशिश करते हैं। इसलिए मुझे लगता है कि हमारे चलनेवाली कार्यक्रम को बचाने के लिए जा रहा हूँ। एक बार फिर हम बाहर ज़ूम करेंगे। हम अपने टर्मिनल के लिए नीचे जाना होगा। हम यह स्पष्ट करेंगे। और ज़ूम। हम फिर से हमारे चलनेवाली कार्यक्रम बना देंगे। और हम इसे लागू करेंगे। उह ओह। के बाहर ज़ूम चलो, पकड़ो। मैं 10 फ्रेम मिलता है? खैर, कितने छोटे खरगोशों मैं वहाँ देखते हैं? 1, 2, 3, 4, 5, 6, 7, 8, 9, 10। मैं 10 तख्ते मिला है। क्या वे सभी एक जैसे हैं? दर्शकों: हाँ। नहीं। ब्रायन SCASSELLATI: नहीं यही कारण है कि पहले एक, चलनेवाली दूर पर छोड़ दिया है। और यहाँ पर, बनी पर दूर है अध्यक्ष 29: सही है। ब्रायन SCASSELLATI: तो, मुझे क्या करना भूल गए? अध्यक्ष 30: एक नई लाइन शुरू करो। ब्रायन SCASSELLATI: मैं भूल गया फिर, एक नई लाइन शुरू करने के लिए। वही गलती मैंने पहले बनाया है। ठीक है, तय है कि जाने दो। अब, मैं अभी भी कोड मिल गया है वहाँ में एक नई लाइन बनाने के लिए। क्यों यह काम नहीं किया? अध्यक्ष 31: यह लूप के अंदर नहीं है। ब्रायन SCASSELLATI: ओह, यह लूप के अंदर नहीं है। यह सही है। यह यहाँ के बाहर बैठा है। और लूप के लिए सब कुछ है कि उस पाठ के अंदर है। इसलिए मैं स्थानांतरित करने के लिए जा रहा हूँ इस के अंदर पाश के लिए। और मैं इसे का सामने करने में टैब हूँ यह सही जगह में है कि पता चलता है। और अब, हम इसे फिर से बचा लेंगे। हम बाहर ज़ूम करेंगे। हम अपने टर्मिनल पर स्विच करेंगे। ज़ूम इन। हम अपने चलनेवाली कार्यक्रम रीमेक करेंगे। और अब, अब हम अपने 10 फ्रेम मिल गया है। [ताली] ब्रायन SCASSELLATI: ठीक है। So. यहाँ हमारे छोरों के लिए नेस्ट किया हुआ है। हम में उत्पन्न करने में सक्षम थे मैं चाहता था कि कितने डॉट्स भीतरी लूप अंत में, शुरुआत में मुद्रित करने के लिए। और बाहरी पाश नियंत्रित कितने फ्रेम मैं निर्माण किया गया था। हम एक छोटी सी के साथ शुरू समस्या की गिरी, और हम उस बिंदु से बाहर का निर्माण किया। ठीक है। की एक और कदम करते हैं। आप तैयार हैं? एक बात यहां जहां में नहीं है हम वास्तव में एक तरह से मिल गया है हम जरूरत से अधिक जटिलता। चलो एक नज़र डालते हैं। हमारे चलनेवाली कार्यक्रम में तो मैं यहाँ बाहर ज़ूम, मैं वास्तव में एक ही के कुछ नहीं बात पर और फिर से। मैं उस तरह का है क्या करूं एक ही बात को दो बार दोहराया? अध्यक्ष 32: डॉट्स प्रिंट। ब्रायन SCASSELLATI: हाँ मैं दो बार उन डॉट्स प्रिंट। वास्तव में, मैं होना चाहिए यहाँ नीचे इस टिप्पणी। मैं कुछ डॉट्स मुद्रित यहीं, शुरुआत। और फिर मैं अंत में कुछ डॉट्स प्रिंट। और मैं एक तरह से वास्तव में एक ही बात करते हैं। क्या हम शुरू करने के लिए जा रहे हैं अगले कुछ हफ्तों में पर काम के उन ब्लॉकों ले जाने में सक्षम किया जा रहा है हम फिर से और अधिक से अधिक उपयोग करने वाले कोड, और एक प्रक्रिया के माध्यम से कहा जाता अमूर्त, हम उन्हें बाहर खींचने के लिए जा रहे हैं और एक बार उन्हें लिखने हम तो कर सकते हैं, तो यह है कि पर और फिर से उन्हें पुन: उपयोग। तो चलो कि कोशिश करते हैं। तैयार हो? हम कोड के इस ब्लॉक लेने के लिए जा रहे हैं। और मैं वहाँ से बाहर ले जा रहा हूँ। और मैं define-- करने के लिए जा रहा हूँ नीचे तल पर, मैं एक नया समारोह लिखने के लिए जा रहा हूँ। यह कुछ भी वापस नहीं जा रहा है। और मैं printDots यह कॉल करने के लिए जा रहा हूँ। यह एक लेने के लिए जा रहा है तर्क है, एक पूर्णांक कि मैं प्रिंट चाहिए howManyDots कहते हैं। बजाय जम्मू डॉट्स छपाई की और अब, मैं हूँ मैं प्रिंट चाहिए howManyDots बता प्रिंट। और एक छोटी सी समस्या यहाँ है। किसी को पता है यह क्या? मुझे लगता है कि सूचीबद्ध है क्या करना है क्या यहाँ में है कि परिभाषित नहीं है? दर्शकों: [अश्राव्य] ब्रायन SCASSELLATI: ठीक कैसे कई बिंदु ठीक ऊपर परिभाषित किया गया है यहाँ है, लेकिन मुझे लगता है कि चर मैं उपयोग कर रहा हूँ। इसलिए मुझे लगता है कि चर लेने के लिए जा रहा हूँ मैं और मैं यहाँ यह नीचे में परिभाषित करने के लिए जा रहा हूँ बजाय। तो अब यह उफ़ stay-- जा रहा है, टोपियां somehow-- मैं कर रहा हूँ पर ताला मिला यहाँ में मैं नीचे रखने के लिए जा रहा है। तो अब यहाँ मेरे छोटे से समारोह या उप दिनचर्या, और यह कहते हैं, कितने डॉट्स मैं मुद्रित करने के लिए जा रहा हूँ? और यह इस पाश के माध्यम से जाना होगा और पर और फिर उन्हें मुद्रित। मैं तो यहाँ अपने कार्यक्रम को संशोधित कर सकते हैं। और क्या मैं उस समारोह फोन किया था? printDots। इसलिए मैं printDots फोन करता हूँ। कितने डॉट्स मैं मुद्रित करना चाहते हैं चलनेवाली से पहले पहली बार? दर्शकों: जम्मू। ब्रायन SCASSELLATI: जम्मू। कितने डॉट्स मैं मुद्रित करना चाहते हैं चलनेवाली के बाद अंत में? 10-जे। और मैं याद कर रहा हूँ वहाँ एक बात है। आप आज व्याख्यान में देखा, हम printDots घोषित करने के लिए जा रहे हैं ऊपर प्रोटोटाइप देने के लिए। ठीक। तो क्या मैंने किया है मैं करने की कोशिश की है है कोड की है कि पुन: उपयोग किया हिस्से को अलग-थलग मैं और अधिक से अधिक फिर से किया है कि। और मैं तो यह है कि इसे बाहर खींचने की कोशिश की है है कि सभी एक ही स्थान में निहित है। इस तरह, मैं कहीं न कहीं एक गलती है, मैं केवल एक ही स्थान में यह तय किया है। ठीक है। तो चलो इसे बचाने के लिए करते हैं। और हम यह काम करता है सुनिश्चित कर देना। तो चलो बाहर चलते हैं। हम अपने टर्मिनल के लिए फिर से जाना होगा। हम में ज़ूम करेंगे। हम उस पर चलनेवाली प्रक्रिया कर दूँगा। ओह। और यह मेरे लिए एक चेतावनी दी है। क्या यह मुझे कह रहा है? वैसे इन में से किसी में कई बार, आप हमेशा चाहते हैं बहुत पहले error-- अप करने के लिए स्क्रॉल करने के लिए अब इस पर एक, मैं केवल एक मिल गया है। यह लाइन पर, bunny.c में मुझसे कहता है 8, स्तंभ 9, वहाँ एक समस्या है। यह आप इस घोषित किया है, कहते हैं, चर मैं और आप इसे इस्तेमाल नहीं किया है। अब सामान्य रूप से, कि सबसे बुरा नहीं त्रुटि। यही कारण है कि ठीक करने के लिए एक आसान है। और वास्तव में, हम वापस जा सकते हैं। हम बनी वापस जा सकते हैं। और इस मामले में, हम सब मैं से छुटकारा पाने के लिए क्या करना है, हम प्रयोग नहीं कर रहे हैं, क्योंकि मुख्य भीतर मैं अब और नहीं। हम सिर्फ यह प्रयोग कर रहे हैं हमारे उप दिनचर्या के भीतर। तो चलो कि बचाने के लिए करते। हम वापस जाना होगा। और ज़ूम। हम एक बार और चलनेवाली कर दूँगा। और फिर हमारे 10 फ्रेम कर रहे हैं। ठीक। तुम्हें दे दिया रहे हैं किसी भी समय एक हाँ procedure--। अध्यक्ष 33: मैं उलझन में हूँ एक-- मेरे पास है। आप वापस कोड के लिए जा सकते हैं? ब्रायन SCASSELLATI: हाँ। आप ने लिखा है तो, जब: स्पीकर 33 अपने प्रोटोटाइप, वितर्क यह howmany बुलाया गया था नाम था? लेकिन, below-- ब्रायन SCASSELLATI: अरे हाँ। अध्यक्ष 33: उन्हें कुछ --called अलग, मुझे समझ नहीं आता। ब्रायन SCASSELLATI: क्यों वे अलग हैं। तो यह है कि एक बड़ा सवाल है। तो सवाल यह ऊपर था, यहाँ, मैं howmany लिखा और नीचे, मैं howManyDots लिखा था। कारण, अपने प्रोटोटाइप में है कि ऊपर है यह वास्तव में ध्यान नहीं दे रहा है आप में डाल रहे हैं कि नाम करने के लिए। यह वास्तव में के बारे में परवाह सभी यह एक पूर्णांक है कि है। यह फार्म जानना चाहता है आप में डाल रहे हैं के। अब oops-- stylistically-- क्या मुझे ऐसा करना चाहिए , मैं इन मैच बनाने के लिए करना है। ठीक। कि इसे रखना होगा क्योंकि मुझे याद करने के लिए आसान है। लेकिन मेरी गलती है कि हाँ था। अध्यक्ष 34: और ऐसा करने के लिए प्रोटोटाइप सिर्फ काम करने के लिए कि लाइन लिखने, प्रोटोटाइप लेखन, आता है कि उस समारोह की अनुमति देता है सही यह नीचे अंत करने के लिए जाने के लिए और इसका मतलब है कि क्या पुनः प्राप्त? ब्रायन SCASSELLATI: इसका क्या मतलब है संकलक के माध्यम से चला जाता है जब है, यह के ऊपर से चला जाता है नीचे करने के लिए अपने कोड। और इस प्रोटोटाइप, क्या है यह मूल रूप से एक वादा है है। यह होने जा रहा है, कहते हैं, एक समारोह में कहीं परिभाषित किया। यह कहा जाता printDots होने जा रहा है। और यह एक तर्क ले जा रहा है कि एक पूर्णांक होने जा रहा है और इसे वापस करने के लिए जा रहा है कुछ नहीं, शून्य प्रकार। ठीक। मैं आपको यह होने जा रहा है वादा सड़क के नीचे कहीं परिभाषित किया। लेकिन किसी भी समय आप देख आप नीचे जाने के रूप में, कि के बाकी के माध्यम से अपने मुख्य समारोह में, मैं चाहता हूँ आप एक समारोह के रूप में है कि इलाज के लिए कि एक पूर्णांक इनपुट लेता है। और संकलक नीचे चला जाता है, इसलिए जब इस के माध्यम से, यह उस वादे को देखता है। और यह नीचे हो जाता है, जा, जा रहा रखता रहता है, यह पहली बार पाता है printDots उल्लेख किया है। और यह ओह, आप दे रहे हैं, कहते हैं, मुझे इस जे। जम्मू के एक पूर्णांक है। वैसे आप मुझे उस होगा वादा किया एक पूर्णांक और यह सही है। ठीक है। और फिर अंत में, नीचे बहुत नीचे, मैं के अंत तक होने से पहले मेरे फ़ाइल, मैं अपने वादे पर अच्छा कर और मैं इसे परिभाषित करते हैं। ठीक है? अध्यक्ष 35: तो, यह saves-- कार्यक्रम रिक्त स्थान की बचत होगी इसे वापस चला जाता है और अंत में भरता है? ब्रायन SCASSELLATI: यह नहीं है स्मृति आवंटन के बारे में। यह बस के बारे में वास्तव में है क्या प्रकार आप देखने की उम्मीद कर रहे हैं। इस बात को एक होना चाहिए तर्क, या पाँच तर्क? यह हो सकता है पूर्णांकों होनी चाहिए यह, या तार करने के लिए दिए गए? यही कारण है कि यह लग रहा है सब है जाँच करने के लिए है, तुम मुझे दे रहे हैं तर्क की सही तरह। ठीक है? ठीक है। मेरे साथ छोड़ दें एक अन्य बिट को देखने के लिए। ASCII कला महान मॉडल नहीं है एनीमेशन की जैसा कि आज है। लेकिन निश्चित रूप से कुछ लोगों को ले बातें और वे अपने चरम पर धक्का। डेविड प्रदर्शन के रूप में यह है, कोड के व्याख्यान में, एक टुकड़ा आप किसी भी परिस्थिति में ऐसा करना चाहिए कि अपने आप को नकल करने की कोशिश करते हैं। यह stylistically भयानक है। वास्तव में, यह के रूप में होना करने के लिए बनाया गया है मुश्किल संभव के रूप में पढ़ने के लिए। ठीक। तो, फिर से ऐसा करने के लिए, चलो यहाँ में ज़ूम। मैं अब बदल निर्देशिका जाने के लिए जा रहा हूँ। मैं एक ऊपर जाने के लिए जा रहा हूँ स्तर, वापस अपने कार्यक्षेत्र के लिए। मैं तो इस में निर्देशिका बदल देंगे मैं बना लिया है कि अन्य निर्देशिका। और इस अंतरराष्ट्रीय है समझने में कठिन सी प्रोग्रामिंग प्रतियोगिता। मुश्किल के रूप में समझने में कठिन साधन संभव के रूप में समझने के लिए। अगर तुम देखो तो, डरो मत कृपया इस और जाने पर, मुझे लगता है कि पढ़ने के लिए नहीं कर सकते हैं। यही कारण है कि यह की बात है। ठीक है? लेकिन, हम यह है मैं कर रहा हूँ कि अद्भुत कार्यक्रम अभी और अधिक लिखकर को देखने के लिए जा रहा है। और मैं बाहर ज़ूम कर सकते हैं, तो चलो देखते हैं बस थोड़ा सा है, तो आप इसे देख सकते हैं और इस कार्यक्रम है। यह endo.c. नाम है और इसके साथ इस बाल्टी की तरह लग रहा है उस में पत्र एफ एल यू-मैं-डी की तरह। यह वास्तव में एक कार्यक्रम है। यह सबसे अस्पष्ट में लिखा है रास्ते लेखकों संभवतः सकता है कि यह लिखना। लेकिन यह एक बढ़िया सा टुकड़ा है कि द्रव गतिशीलता का एक मॉडल उत्पन्न करता है। और इसलिए हम देने के लिए जा रहे हैं मॉडल है कि एक इनपुट कि एक की, इस तरह दिखता है कंटेनर का सेट staired कुछ तरल पदार्थ के साथ, कुछ तरल, ऊपर शीर्ष पर। और हम इसे बहाना होगा क्या यह करने के लिए हो रहा है। इसलिए मैं एंडो, उस समारोह फोन करता हूँ। और मुझे लगता है कि यह देता हूँ कि मुझे मिला है कि इनपुट फ़ाइल। और ASCII कला के हमारे प्रतीक है। एक पूर्ण द्रव गतिशील सिम्युलेटर कोड के कुछ ही लाइनों में चल रहा है। अब क्या वास्तव में वास्तव में है इस छोटे से कार्यक्रम के बारे में अद्भुत , अब मैं इसे बंद करना चाहते हैं वह यह है कि तो मैं क्या आदेश का उपयोग करने के लिए जा रहा हूँ? दर्शकों: नियंत्रण सी। ब्रायन SCASSELLATI: नियंत्रण सी। ठीक। इसलिए मैं नियंत्रण सी का उपयोग करेंगे। यही कारण है कि सी इसे बंद कर देंगे। मैं फिर से स्पष्ट करेंगे। और अब मैं आह्वान करने के लिए जा रहा हूँ कार्यक्रम, कार्यक्रम पर अमल इनपुट के रूप में ही इस्तेमाल करते हैं। और हम द्रव गतिशील देखेंगे यह के अनुकरण के पिघलने। ठीक। प्रोग्राम है कि ऐसा नहीं करते कृपया आप confuses कि बात हो। हम पर समाप्त कर सकते हैं बस इतना है कि यह शांत और कुछ दिलचस्प। ठीक। आपकी समस्या सेट के साथ बेस्ट ऑफ लक। हम जवाब देने के लिए खुश हो जाएगा कक्षा के बाद सवाल। बहुत धन्यवाद, दोस्तों।