[संगीत खेल] एलीसन BUCHHOLTZ-एयू: हे सब लोग. अपनी पहली में आपका स्वागत है आधिकारिक CS50 अनुभाग. यदि आप यह है देख सकते हैं खंड CS50 की तरह, सिर्फ आज के लिए हमारे एजेंडे को खींचने के लिए. मुझे यकीन है तो, जैसा कि, मैं कौन हूँ आप सब सोच रहे हैं. मैं अपने TF हूँ. मैं सिर्फ एक यादृच्छिक छात्र नहीं हूँ जो अपने TF के नाम से कार्य कर रहा है. और मैं के माध्यम से जाने के लिए जा रहा हूँ तरह के वर्गों बहेगा है, हम उम्मीदों, संसाधनों, इतने पर और आगे. हम सरणियों के बारे में बात करने जा रहे हैं, आस्की कार्यों, कमांड लाइन तर्क, और यह, यहाँ पर नहीं है लेकिन मैं भी मदद की जाएगी आप की तरह के माध्यम से लगता है इस सप्ताह के लिए अपने अगले pset. जो मैं आप सभी की सराहना करेंगे यकीन है. तो, सबसे पहले, मैं कौन हूँ question-- यहाँ अपने विपुल TF के अलावा. मैं एलिसन Buchholtz-औ हूँ. यह मेरा दूसरा साल TFing CS50 है. वसंत में भी मैं TF CS51. तुम वहाँ फिर से देख सकता है आप इसे लेने के लिए तय है. मैं भी एक पीएएफ, इसलिए किसी भी Freshmen-- हूँ और आप एक नए नहीं हैं, यह मेरा तीसरा वर्ष है एक सलाह दे साथी के रूप में. मैं बहुत अच्छी तरह से वाकिफ हूँ जीवन और पाठ्यक्रम पर सलाह देने सीएस के भीतर और नहीं सीएस के भीतर. मैं एक कंप्यूटर विज्ञान Concentrator हूँ. मैं एडम्स हाउस, सबसे अच्छा घर में एक वरिष्ठ हूँ. और मैं करने के लिए स्विच करने से पहले सीएस अपने sophomore स्प्रिंग, मैं वास्तव में एक बायोमेडिकल इंजीनियर था. मैं मेड स्कूल जाने के लिए जा रहा था. मैं एक आघात सर्जन होने जा रहा था. और वह पूरी तरह से है मैं CS50 संभालने के बाद बदल दिया है. मैं अपने sophomore पतन पाठ्यक्रम ले लिया. यह कभी सीएस के लिए मेरा पहला परिचय था. मैं आप में से 78% में से एक था जो शून्य अनुभव में आ रहा था, और यह पूरी तरह से मेरी जिंदगी बदल दी. और अब मैं पर काम कर रहा हूँ माइक्रोसॉफ्ट, और अपनी प्यारी TF है. और CS50 शायद एक है सबसे अच्छा अनुभव का मैं यहाँ पर लिया है कि दोनों क्लास लेने Harvard-- और सक्षम होने में मदद करने के लिए आप की तरह छात्रों को पढ़ाने. इसलिए मैं बहुत उत्साहित हूँ कि तुम सब यहाँ कर रहे हैं. मामले में आप में आया देर से, कैंडी है, जो आप महसूस करना चाहिए हड़पने आते हैं, या भेजने के लिए स्वतंत्र किसी और आप के लिए यह हड़पने के लिए. यह ठीक है. मुझे लगता है कि खाने के लिए नहीं करना चाहती. मेरे कमरे में, पर्याप्त चॉकलेट है तो तुम सब कोशिश करते हैं और कि खत्म कर देना चाहिए. मैं 100 टुकड़े कर रहे हैं पता है, लेकिन जैसे, एक सोमवार पर 4 बजे, मैं हर किसी को कुछ चीनी इस्तेमाल कर सकते हैं लगता है. कौन हो तुम तो सब आधिकारिक तौर पर मेरे अनुभाग में एक ईमेल मिल जाना चाहिए था अपने फोन नंबर के साथ मुझ से ईमेल मुझ पर जोड़ने के लिए स्वतंत्र महसूस address-- Gchat, फेसबुक पर मुझे जोड़ने के लिए स्वतंत्र महसूस और भी आप के बाकी के लिए, तुम यहीं मुझे ईमेल कर सकते हैं. दो एच के होते हैं. हर कोई हमेशा करता है दो ल या दो सी की तरह. दो एच अंतिम नाम में है. अन्यथा यह बाउंस करने के लिए जा रहा है, और है मैं अपने ईमेल प्राप्त करने के लिए नहीं जा रहा हूँ. तो, मुझे ईमेल करने के लिए स्वतंत्र महसूस मुझे किसी भी समय संपर्क करने के लिए. मैं करने के लिए वापस नहीं मिल सकता 24 मिनट के भीतर आप, लेकिन मैं वापस पाने के लिए वादा 24 घंटे के भीतर आप को. आप आधे घंटे से पहले मुझे फोन अपने pset, आप की तरह किया जा रहा है, कारण है मैं मैं एलीसन क्या कर रहा हूँ पता नहीं है. मेरी सहायता करो. मैं, तुम शांत करने के लिए जा रहा हूँ लेकिन दिन के अंत में, आप आधे घंटे से पहले मुझे फोन कर रहे हैं अपने pset, लिखा कुछ भी नहीं के साथ की वजह से है मुझे लगा कि शायद, ठीक है, की तरह होने जा रहा हूँ यह है कि देर से दिन का उपयोग करने का समय है. इसलिए मुझे लगता है की सब का जवाब देंगे आपके एक बहुत समय पर ढंग से अनुरोध. मेरा फोन आमतौर पर है मेरे हाथ से जुड़ी. मैं आम तौर पर ज्यादा प्रतिक्रिया तेज 24 घंटे से, लेकिन मैं केवल गारंटी ले सकते हैं एक 24 घंटे की प्रतिक्रिया. ठीक है. तो हम यहाँ क्यों हैं? इसके अलावा, अगर आप में सवाल है, किसी भी समय, कृपया मुझे पता है. मैं एक बहुत बात करते हैं. मैं तेजी से बात करते हैं, लेकिन कृपया मुझे बाधित करने के लिए स्वतंत्र. यह मेरे साथ ही कमरे में सांस लेने देता है. वर्गों एक बार कर रहे हैं तो वास्तव में सिर्फ गोता करने के लिए हमारे लिए में, कुछ हाथ अनुभव पर, के लिए मिल हम उल्लेख किया है कि विषयों के माध्यम से जाना कक्षा में या अध्ययन सामग्री में है कि हम ऑनलाइन तुम लोगों को सलाह देते हैं. और हम वास्तव में के माध्यम से जाना होगा एक बिट में उन संसाधनों के कुछ. खंड समर्थन पर तो कुछ नोट्स. CS50-- चीजों में से एक है कि बनाता है यह मेरा पसंदीदा वर्गों में से एक आप कभी अकेले नहीं कर रहे हैं कि लग रहा है. हम 100 से अधिक के एक कर्मचारी है यहाँ लोग हैं, जो आप मदद करने के लिए. हम कार्यालय समय है गुरुवार के माध्यम से सोमवार. तो वहाँ बहुत सारे लोग हैं जो बस के रूप में ज्यादा के रूप में मैं कक्षा प्यार और वास्तव में यहाँ कौन हैं वे यहाँ होना चाहते हैं. हम में से अधिकांश छात्र रहे हैं, और इस इसके अलावा में एक पांचवें वर्ग की तरह है हमारे काम के आराम करने के लिए. और यह काम का एक बहुत कुछ है, लेकिन हम इसे प्यार करता हूँ, क्योंकि हम यह कर और हम वास्तव में आप को पढ़ाने के लिए प्यार और हमारे उत्साह को साझा करने में मदद इस विषय और इस वर्ग के लिए. तो लाभ ले कृपया. हमसे बात आओ. मैं अकेला हो जब मेरे छात्रों अगर आप चाहते हैं तो, मुझसे बात नहीं करते, मेरे साथ बाहर लटका आते हैं. यह बहुत अच्छा होगा. तो खंड जाहिर है तुम्हारी सबसे बड़ी चीजों में से एक. हम चीजों के माध्यम से जाना होगा आप व्याख्यान में सीखा है कि, कुछ कम उदाहरण करना हम समय है जब, और आम तौर पर एक तरह से चीजों के बारे में एक विचार मिलता है आप सोच चाहिए आपकी समस्या सेट के बारे में. Shorts-- कितने वास्तव में लोग अपनी क़लम से वीडियो देखा कम? किसी को भी मुझे पहचाना? तो उन बहुत महान हैं. आप निश्चित रूप से उन देखना चाहिए. काम का एक बहुत उन्हें में डाल दिया गया है. और वे बस के लिए बने रहे तुम सिर्फ देखने के लिए टुकड़े-आकार काटने तीन या चार मिनट के लिए और एक मिल एक अवधारणा की बेहतर समझ. कैसे throughs-- वाल्क कई लोगों को देखा है पिछले वालों के लिए वॉक-थ्रू? Zamyla सही, अद्भुत है? की तरह, मैं मैं कभी कभी Zamyla थे. तो निश्चित रूप से अपने वॉक-थ्रू का उपयोग करें. वह में टूट जाएगा छोटे, काटने के आकार के टुकड़े. और अगर आप इन विशाल है जब आपकी समस्या सेट से पहले निर्देश यह वास्तव में महत्वपूर्ण होने जा रहा है बस कहीं खोजने के लिए सक्षम होने के लिए शुरू करने और इसके माध्यम से धीरे-धीरे काम करने के लिए. ठीक है, हम भी Study50, जो study50.harvard.edu है, मुझे विश्वास है. आप कर सकते हैं बस गूगल अध्ययन, और यह आता हूँ. इस में से एक है सबसे अच्छा संसाधनों हमने. यह नोटों के साथ PowerPoints है और आप के लिए समस्याओं का अभ्यास समाधान उस के साथ आप वास्तव में के माध्यम से चल सकता है. आप कभी अधिक अभ्यास चाहते हैं, तो हम वर्गों या अधिक में और अधिक करने से आपकी समस्या सेट की तुलना में, यह है वास्तव में मैं आपको प्रोत्साहित एक जगह जाने के लिए. यह द्वारा पिछली गर्मियों में बनाया गया था मेरे बहुत अच्छे दोस्त से कुछ. और यह अद्भुत है. स्लाइड की वास्तव में, एक बहुत मैं धारा के लिए उपयोग होगा कि Study50 से आ जाएगा. तो TFS का एक बहुत इस्तेमाल करते हैं. और अंत में, मैं के रूप में उल्लेख किया है, कार्यालय घंटे. आप समस्या हो रही है होमवर्क के साथ, आप कर रहे हैं एक साथ परेशानी हो रही अवधारणा, कार्यालय समय के लिए आते हैं. यदि आप कर सकते सप्ताह में जल्दी जाओ. ट्रैक्टर को बाहर निकालो, यह एक तरह से दूर है. कोई भी वहाँ से बाहर चलने के लिए पसंद करती है. लेकिन यह अपने लाभ के लिए है तो आप कर रहे हैं, क्योंकि इन सभी TFS के लिए जा रहा, [अश्राव्य] क्या आप चारों ओर. और विशेष रूप से अब, बस एक टिप, गुरुवार अभी में बहुत सर्द हैं मैथर अपने psets क्योंकि गुरुवार को होने वाले हैं. और जानने के लिए चाहता है अभी तक अपने देर से दिन का उपयोग करें. आप कर रहे हैं तो अवधारणाओं के साथ मुसीबत, TFS के बहुत सारे हैं जो आप मदद कर रहे हैं. तो गुरुवार को मैथर के लिए बाहर आ गए. आप मुझे देखना चाहते हैं, मैं वहाँ होने जा रहा हूँ. मैं आम तौर पर, मेरे अपने होमवर्क कर रहा हूँ कोई भी मेरी मदद चाहता है. इसलिए हमें देखने आए. आधे रास्ते में हमें मिलो. तो कितने लोग भाग लिया है व्याख्यान या इसे ऑनलाइन देखा? कितने लोगों के पास गया सुपर अनुभाग पिछले सप्ताह? कूल. यह वास्तव में एक उचित संख्या है. आप में से कितने पढ़ा है आपकी अपने pset के लिए, इस सप्ताह के लिए कल्पना? ओह, मैं तुम लोगों पर गर्व कर रहा हूँ! तुम लोगों के लिए और अधिक कैंडी. अच्छा, तो हम क्या मतलब है है ", आधे रास्ते में हमें मिलना" कि खंड सच में ही है आप को सुपर उपयोगी होने जा रहा आप पढ़ने वाले में आ अगर आपके अपने pset के लिए विशिष्टता. मैं एक सिंहावलोकन के माध्यम से जाना क्योंकि जब आप के लिए बाहर देख होना चाहिए बातें की, इसे बनाने के लिए नहीं जा रहा है के रूप में ज्यादा समझ में आप अगर आपकी समस्या सेट नहीं जानता कि क्या तुम सब करने की पूछ होने जा रहा है. आप स्पष्ट रूप से, अनुभाग के लिए नहीं आते हैं मैं आप के लिए उपयोगी नहीं हो सकता. मैं व्यक्तिगत तौर पर अगर इसे लेने के लिए नहीं जा रहा हूँ आप अब ठीक है, मेरे अनुभाग के लिए नहीं आते हैं लेकिन निश्चित रूप से आप चाहिए. आप उन्हें ऑनलाइन नहीं देख सकते हैं. वे एक कारण के लिए वहाँ हैं. मेरा सही नहीं होगा. तुम नोटिस के रूप में, हम दर्ज किया जा रहा हो, तो यह आप लोगों के लिए अभी वहाँ हो जाएगा. साथ ही, के लिए जा रहा lectures-- कि जाहिर है तुम कहाँ हो रही है यहाँ अपनी सामग्री के शुरू. तो मैं निश्चित रूप से कोशिश करते हैं और करेंगे मैं कर सकता हूँ के रूप में आप के रूप में ज्यादा मदद, लेकिन मैं केवल अब तक आप को पूरा कर सकते हैं. आप की तरह करने के लिए है आधे रास्ते वहाँ हमें मिलते हैं. , तो आप सभी Grading-- जो मुझ से एक ईमेल मिला आप मेरी आधिकारिक खंड हैं. मैं अपने psets ग्रेडिंग किया जाएगा. और मैं सिर्फ एक बात कहना चाहता हूँ कि आप वास्तव में ध्यान देना चाहिए टिप्पणी कर रहे हैं. टिप्पणी अक्सर अधिक उपयोगी होते हैं वास्तविक स्कोर की तुलना में हम आपको दे. और टिप्पणियों वास्तव में कर रहे हैं मैं अपने समय की एक बहुत खर्च करते हैं, जहां जब मैं ग्रेडिंग हूँ. तो मुझे खुशी होगी यह आप उन्हें पढ़ा है. आप जा रहे हैं और कैसे वे वास्तव में कर रहे हैं डिजाइन और शैली के बारे में अधिक जानने के लिए और चीजें हैं जो एक छोटे से कम कटौती और सूखी. तो सच में ध्यान देना उन टिप्पणियों के लिए. आप उनके बारे में प्रश्न हैं, या अपने स्कोर के बारे में सवाल, मुझे बात करने आते हैं तो कृपया या तो खंड से पहले, मैं शायद बाहर फांसी हो जाएगा लॉबी में, या बाद में. आप समय चाहते हैं कैसे के बारे में एक-पर-एक बैठकों आप बाद में सुधार करने में मदद कर सकते हैं समस्या सेट, बस मुझे पता है. और फिर सिर्फ एक जोड़ी आप लोगों के लिए सुझावों की. सबसे बड़ी चीजों में से एक तो मैं हमेशा अपने अनुभाग में तनाव आप कोड के लिए कैसे सीख रहे हैं जब है पहले कागज पर बातें बाहर लिखने के लिए. आप एक खेल की योजना के लिए है, तो जहां अपने कोड जाने की जरूरत है और क्या यह करने की जरूरत है क्या करना है और यह टूट रहा है स्यूडोकोड के छोटे टुकड़े में आप बाहर लिखा है कोड, आप कम हो जा रहे हैं वाक्यविन्यास त्रुटियों बनाने की संभावना या एक अगर पाश बनाने कि एक और की जरूरत नहीं है. आप आप कहाँ हो पता है समग्र जा रहा है, आप कर रहे हैं इन छोटे बनाने के लिए कम होने की संभावना कभी कभी आपको लगेगा गलतियों आप पसंद कर रहे हैं क्योंकि घंटे, ठीक करने के लिए जहां मैं इस ब्रैकेट याद आ रही है? उस पर ध्यान दें, Style50 का उपयोग करें. विशेष रूप से जब आप कर रहे हैं कार्यालय समय के लिए जा रहा, अपने कोड सभी अगर एक तरफ करने पर बंद यह कोर्स नीति है हम कह सकते हैं कि, यह तय Style50 की तरह कहते हैं कि तो यह लग रहा है यह होना चाहिए, और फिर हम तुम्हारी मदद करेंगे. तो यह आपके जीवन को आसान बना देंगे. यह हमारे जीवन को आसान बना देंगे. हर कोई खुश है. हर कोई बेहतर ग्रेड हो जाता है. कि हम सभी चाहते हैं क्या नहीं है? तो पहले कागज पर बातें लिखने के बाहर आप कभी भी अपने कंप्यूटर को हाथ. एक उच्च स्तर पर बातें बाहर, और आप कहाँ जा रहे हैं आप जानते हैं सुनिश्चित करें. और यदि आप अनिश्चित हैं, किसी के साथ बैठ जाओ और कदम से कदम के माध्यम से उन्हें चलना क्या अपने कोड करना चाहिए है. और 10 में से नौ बार, तुम हो जाएगा ओह, जैसे, मैं एक अगर हालत भूल गया या मैं यहाँ एक अर्धविराम भूल गया या मैं इस चर गलत अद्यतन कर रहा हूँ. तो उन सफलता के लिए मेरे सुझाव दिए गए हैं. आप के बारे में आधे से देखने के बाद तो जैसे आप, सुपर खंड में भाग लिया मैं अभी जा रहा हूँ बहुत संक्षेप में छोरों के माध्यम से जाना, जो हमारे मूल एजेंडे पर नहीं थे. लेकिन वे वास्तव में महत्वपूर्ण हैं. और इसलिए मैं तरह करने के लिए जा रहा हूँ उन के माध्यम से गति की हम अपने वास्तविक खंड में शामिल होने से पहले. मुझे लगता है कि ऐसा करने से पहले, वहाँ रहे हैं किसी भी questions-- logistically, व्यक्तिगत रूप से, वहाँ है आप चाहते हैं कुछ और मेरे बारे में या के बारे में पता करने के लिए सामान्य रूप में खंड या वर्ग? सभी अच्छा? शांत, ठीक है. लवली. तो loops-- आप लोग सब चाहिए खरोंच से इन टुकड़ों को स्वीकार करते हैं. तो छोरों मूल रूप से बस रहे हैं हमें कुछ करने के लिए एक रास्ता कई बार कुछ संख्या, कुछ दोहराया कुछ सशर्त आधार पर कार्रवाई की. इसलिए हम तीन अलग अलग प्रकार के हैं. हम पाश के लिए है, जबकि, और क्या है. तो हम बस है loops-- के लिए एक बहुत यहाँ पाश के लिए एक सामान्य लेआउट. आप जानते हैं कि कैसे और जब इस बात के लिए महान है कई बार कुछ पर अमल करने की जरूरत है. हम के बारे में बात करते हैं अन्य छोरों, तुम हूँ कि एक महत्वपूर्ण अंतर है क्यों देखते हैं. लेकिन छोरों के लिए कुछ सेट के लिए कर रहे हैं. आप या तो आप पता कर सकते हैं संख्या की गणना या आप बार की संख्या पता आप इस शुरुआत में दोहराया चाहते हैं. आप यहाँ देख तो, अगर हम सिर्फ एक सामान्य प्रकार है कंकाल ढांचे की यहाँ पाश के लिए एक के लिए. ऐसा करने के लिए-आरंभीकरण, इस जहां है अपने चर initialized रहे हैं. मारियो के साथ, मुझे यकीन है कि तुम लोगों को किया हूँ पूर्णांक मैं ऐसा कुछ 0 के बराबर होती है. कि नीले रंग में होगा कि जहां. आप अपनी हालत, जो हर बार की जाँच की है क्या है. इस हालत तो, सच है कोड के बाकी निष्पादित करता है. तो फिर यह again-- चलाने और पूछता हूँ. और फिर हम, जहां अद्यतन आप अपने चर अपडेट कर रहे हैं. तो, फिर, मारियो की तरह साथ, मुझे यकीन है तुम लोगों को मैं प्लस प्लस ऐसा कुछ किया. पाश तो हर समय , मैं तो अद्यतन कर ली भागा हम इसके खिलाफ जाँच कर रहे थे जब कि कुछ हालत है, यह बदल रहा था. क्योंकि आप अगर बस एक स्थिर चर है, यह पहली बार कार्यान्वित करते हैं, तो यह बात है सिर्फ असीम पर अमल करने जा रही है. तो क्या आप सुनिश्चित करना है ठीक से अपने चर का अद्यतन करें. और हम भी सिर्फ एक है वहाँ दृश्य प्रतिनिधित्व. हर कोई अच्छा? छोरों के लिए. अपने pset में इन देखना चाहिए था. कूल. यहाँ तो बस एक आसान उदाहरण है. CS50 यह प्रिंट! 10 बार. और इसलिए हम अपने आरंभीकरण है, के रूप में हम int मैं के साथ, वहाँ देखना मैं कम है के लिए, 0 के बराबर होती है 10, और मैं अधिक से अधिक से अधिक है. और यह है कि 10 बार प्रिंट देंगे. छोरों हैं जबकि loops-- इसलिए जब महान जब आप जरूरी नहीं यह है कि कैसे कई बार पता करने के लिए शुरुआत में अद्यतन करने के लिए जा रहा है. तुम सिर्फ कुछ है जाँच की है कि हालत. और इस while-- ऐसा कुछ हो सकता है चलो अपने pset से एक उदाहरण लेते हैं. मारियो, तो आप करने की कोशिश इनपुट एक नकारात्मक संख्या. है ना? आप करने वाले थे अपने उपयोगकर्ता पुनः का संकेत. तो आप अच्छी तरह से कह सकते हैं, उपयोगकर्ता आदानों अगर शून्य, फिर से शीघ्र से कम कुछ उन्हें. और मुझे लगता है कि हो सकता है यकीन गया कुछ है कि आप में से कुछ अपने कोड में इस्तेमाल किया. तो यह एक साधारण बात है. आप जबकि, कुछ है सशर्त कि जाँच की है हर बार कोड को निष्पादित करने के लिए चला जाता है. यह सच करने के लिए मूल्यांकन करता है, तो हम इसे चलाते हैं. नहीं तो हम नहीं करते. और क्या सच है important-- कुछ मैं दाऊद के बारे में बात की है कि लगता है lecture-- में ब्रेसिज़ हैं. भीतर जो कुछ भी है ब्रेसिज़ निष्पादित क्या है. आप उन भूल जाते हैं ब्रेसिज़, यह केवल हो रहा है सीधे लाइन होने के लिए बाद जबकि मार डाला गया था. आप तीन तो अगर अपेक्षा की जाती है कि चीजें जब ऐसा होने की हालत, सच करने के लिए मूल्यांकन और आप केवल उन ब्रेसिज़ नहीं है पहली बात होने जा रहा है. तो की बहुत जानकार होना आप अपने ब्रेसिज़ कहाँ रखा. आप Style50 साथ चिपके रहते हैं, यह निश्चित रूप से मदद मिलेगी. कूल. तो यह 10 से शून्य करने के लिए उलटी गिनती है. आप यहाँ देख और, जैसा कि हम को प्रारंभ इसके बारे में बाहर कुछ काउंटर. अलग है कि एक बात है हम अपने चर आरंभ नहीं रहे हमारे जबकि पाश के भीतर. यह के बाहर initialized है. हम बस सिर्फ डाल रहे हैं हमारे समय के लिए में हालत. तो इस मामले में, यह है, जबकि है गिनती शून्य से अधिक है. और हम, हमारी गिनती है क्या बाहर प्रिंट और फिर हम अपने चर घटती. और वह भी सूचना के लिए एक और बात है. हमारे अद्यतन भीतर नहीं होता जबकि पाश की कि पहला हिस्सा. यह वास्तव में भीतर कुछ नहीं होगा ब्रेसिज़, अपने पाठ का शरीर. तो, जबकि करते loops-- छोरों करते-करते हुए उपयोगकर्ता सत्यापन के लिए महान हैं. तो आप में से कुछ हो सकता है यह भी अपने pset में यह प्रयोग किया जाता है. आप की तरह, ऐसा कह सकते हैं, इनपुट के लिए उपयोगकर्ता पूछना. और फिर, जबकि तरह, इनपुट कुछ संख्या से कम है. मारियो के साथ एक स्पष्ट मामले के लिए तो, यह एक पूर्णांक दर्ज, printf करना होगा, और फिर कुछ पूर्णांक getint के बराबर होती है. और फिर यह वास्तव में हूँ पहला कि कोड को निष्पादित. आप वास्तव में होगा पूर्णांक किसी प्रकार का. और फिर आप करते हैं, आप कह सकते हैं कि पूर्णांक शून्य से भी कम है. तो क्या यह करने के लिए हो रहा है यह बात है कम से कम एक बार निष्पादित करने के लिए जा रहा है. यह हालत की जांच करने जा रहा है. हालत है सच है, यह फिर से चलने देंगे. ऐसा करते-करते हुए छोरों हैं उपयोगकर्ता सत्यापन के लिए महान, आप कोड पता है क्योंकि कम से कम निष्पादित करने के लिए जा रहा है एक बार, के साथ, जबकि छोरों जबकि, तुम नहीं हो यह है कि गारंटी एक बार निष्पादित करने के लिए जा रहा है. यह हालत की जांच करने के लिए जा रहा है पहले और उसके बाद इसे लागू करने का फैसला, एक मत का जबकि जाएगा, जबकि पहले कोड निष्पादित और फिर देखना है कि क्या जाँच आप इसे दोहराने की जरूरत है. उस भेद करता है हर किसी को कोई मतलब? ठीक. कूल. इस मामले में तो, इस तरह का है मैं के बारे में बात कर रहा था की, आप जब तक यह फिर से संकेतों का एक सकारात्मक संख्या मिलता है. इसलिए हम जानते हैं कि printf कि "एक सकारात्मक नंबर दर्ज" और वास्तव में उस के लिए पूछ इनपुट कम से कम एक बार होगा. उपयोगकर्ता बुराई है और रहता है एक नकारात्मक संख्या, प्रवेश कर, जो इसे लागू करेंगे कितनी बार जानता है. लेकिन इस कोड की गारंटी है कम से कम एक बार निष्पादित करने के लिए. यह बहुत अच्छी बात है और यही कारण है इनपुट मान्य करने के लिए. और तुम बहुत थोड़ा है कि प्रयोग करेंगे. सब ठीक है, किसी भी सवाल का अब तक? हम सब अच्छे हैं? मैं भी तेजी से बात कर रहा हूँ? हम अच्छा कर रहे हैं? ठीक. बहुत बढ़िया तो हम आगे जाने के लिए जा रहे हैं और सरणियों के बारे में बात करते हैं. कूल. तो सरणियों मूल रूप से कर रहे हैं सिर्फ डेटा संरचनाओं कि हमें स्टोर करने की अनुमति एक ही प्रकार की बातें. क्या तुमने कभी एक सरणी है, तो यह बात है या तो सिर्फ ints लिए किया जा रहा या यह सिर्फ मंगाई किया जा रहा है या यह सिर्फ घर का काम किया जा रहा है. आप के साथ एक पूर्णांक है करने के लिए नहीं जा रहे हैं एक डबल के साथ एक नाव के साथ एक चार. एक चीज़. सारणियों, सिर्फ एक आकार के होते हैं या वे सिर्फ एक प्रकार रहे. तो यहाँ हम आकार की एक सरणी है इसमें तीन पूर्णांकों के साथ तीन. वे तैर सकता है, लेकिन हम कर रहे हैं वे कर रहे हैं ints कहने जा रहा. तो साकार करने के लिए एक बात सरणियों कि है आप को प्रारंभ जब एक सेट आकार के होते हैं उन्हें, और वे easily-- नहीं कर रहे हैं आप सब कम आराम कर रहे हैं के बाद से, आप बस के रूप में उनमें से सोचना चाहिए आकार में विस्तार करने में सक्षम नहीं किया जा रहा. हालांकि बड़ा तुम बाहर सेट शुरुआत में अपने सरणी, कि यह हो रहा है आकार रहने सरणियों क्योंकि स्मृति के निरंतर ब्लॉक कर रहे हैं. और तुम लोग जब थोड़ा और अधिक में स्मृति वास्तव में पर बाहर रखी है कैसे की डिस्क और ढेर और ढेर में, यह एक छोटे से अधिक समझ कर दूँगा. लेकिन तुम सिर्फ यह है, की तरह के बारे में सोच सकता है आपके डिस्क पर रिक्त स्थान की बस एक पंक्ति. और आप हैं कि वहाँ गारंटी नहीं दे सकते इसके बाद मुक्त स्थान होने जा रहा. आप एक सरणी को प्रारंभ कर सकता है तीन की और फिर शायद आप पांच में से एक और सरणी को प्रारंभ बाद में, और यह सही है कि उसके बाद है. तो आप पिछले जगह जाने के लिए थे कि प्रथम श्रेणी में तीन, आप लिख दिया जाएगा कुछ और अधिक. तो सरणियों बस, तुम लोगों के लिए are-- एक निश्चित आकार के रूप में उनमें से लगता है. तो आप जा रहे हैं एक array-- बनाने यह काफी एक बिट करने की ज़रूरत है. हम एक है कि एक ही तरह से तो छोरों के लिए के लिए हमारे सामान्य संरचना, हम एक अच्छा सामान्य है हमारे सरणी के लिए संरचना. वे एक प्रकार के होते हैं, क्योंकि सभी एक सरणी में तत्वों, एक प्रकार की हैं आप को प्रारंभ करने की आवश्यकता है उस प्रकार क्या है. आप यहाँ देख तो, जैसा कि, हमारे पास एक अच्छा सा ब्रैकेट डेटा प्रकार. हम एक पूर्णांक बना रहे हैं तो अगर सरणी, कि पूर्णांक हो जाएगा. हम एक चार का निर्माण कर रहे हैं सरणी, यह चार हो जाएगा. हम एक स्ट्रिंग बना रहे हैं सरणी, यह स्ट्रिंग हो जाएगा. और फिर अपने सरणी का नाम, जो कुछ भी आप इसे देखना चाहते हैं. तो शायद यह हो सकता है परीक्षण स्कोर या है यह छात्रों को है या हो सकता है यह कैंडी है. आप जो भी नाम के लिए तय अपने सरणी, कि यह हो जाएगा क्या है. और फिर कोष्ठक में, तुम हूँ आप चाहते हैं कि आकार है. तो, हम 10 छात्रों भंडारण कर रहे हैं या हम कैंडी के 15 प्रकार के भंडारण कर रहे हैं? क्या नहीं. , यहाँ हमारे उदाहरण में तो हम एक सरणी बना रहे हैं आकार तीन, जो तुम लोगों की यहीं सही पर देखते हैं. और हम पहले इनिशियलाइज़ जब यह सब कुछ शून्य पर सेट है. तो यह सिर्फ सोचा है की एक खाली स्लेट की तरह. हम सब है, इन सभी रिक्त स्थान है इन बक्सों हम, हमारे डेटा में डाल सकता है लेकिन वे सिर्फ खाली हो समय के लिए किया जा रहा है. हम चाहते हैं, तो वास्तव में करने के लिए इन मूल्यों उन्हें आवंटित, हम यहीं से पता चलता है के तहत ही ऐसा करते हैं. तो आप में से जो भी नाम है आपका सरणी आप क्या चाहते सूचकांक तो और. तो सूचकांक बस को दर्शाता है, जैसे, क्या स्लॉट हम देख रहे हैं. और एक महत्वपूर्ण बात करने के लिए नोटिस सरणियों शून्य अनुक्रमित रहे हैं. हम स्मृति में पहली बार अंतरिक्ष चाहते हैं, तो हमारे सरणी की, यह शून्य होने जा रहा है. हम दूसरा चाहते हैं, यह एक हो जाएगा. हम तीसरे चाहते हैं, यह दो हो जाएगा. इतने पर और आगे. जो भी है क्यों, पारंपरिक, हम loops-- के लिए जब मैं यकीन आप लोग सोच रहे थे, क्यों हम 1 बनाम 0 पर शुरू कर दिया? हम संक्रमण क्योंकि जब और है कि सरणियों का उपयोग करने में, यह सही ढंग से नक्शे. आप चाहते तो अगर , एक सरणी में पुनरावृति एक बहुत अधिक समझ में आता है , मैं 0 के बराबर होती करते हैं क्योंकि हम उस अनुरूप होगा पता स्मृति में प्रथम स्थान के लिए. उस के साथ अच्छा सब लोग? कूल. और यहाँ नीचे बस है तो पर एक और तरीका एक सरणी को प्रारंभ करने के लिए. आप अभी भी अपने डेटा प्रकार और नाम, लेकिन बजाय वास्तव में की वहाँ में एक आकार डालने, आप बस खाली कोष्ठक कर सकते हैं. और फिर इन घुंघराले साथ तल पर ब्रेसिज़, आप डेटा सिर्फ निवेश कर सकते हैं कि आप अल्पविराम के द्वारा अलग करना चाहते हैं. और वह स्वतः ही होगा ठीक है, मैं देख रहा हूँ, कहते हैं आप तीन है कि इन ब्रेसिज़ में बातें. इसलिए मुझे लगता है कि मैं तीन आवंटित करने की जरूरत है कि पता फिर स्मृति के ब्लॉक और उन की दुकान. तो पहले संस्करण आप उपयोग कर सकते हैं आप निवेश करने के लिए अपने उपयोगकर्ता पूछ रहे हैं मानों आप कर सकते हैं कि इतना सरणी के माध्यम से पुनरावृति और ask-- इनपुट उन्हें कुछ पूर्णांक मिलता है. आप पहले से मूल्यों को जानते हैं, यह एक बहुत अधिक समझ में आता है दूसरा तरीका उपयोग करने के लिए. लेकिन ज्यादातर मामलों में, तुम जानते नहीं हो क्या उन मूल्यों को होने जा रहे हैं. कूल. किसी भी अन्य प्रश्न? ठीक है. तो इसलिए एक elements-- पहुँचने सरणियों बारे में बहुत बातें की वे यादृच्छिक रहे हैं एक्सेस, जिसका अर्थ है कि आप उस हर ब्लॉक के माध्यम से देखने की जरूरत नहीं है. यदि आप जानते हैं आप कि चाहते ब्लॉक दो में क्या है, आप बस मुझे दो ब्लॉक दे, कह सकते हैं. और यही कारण है कि इन है सूचकांक बहुत महत्वपूर्ण हैं, और कि हम वास्तव में उन तक पहुंच कैसे है. तो इस मामले में, हम पहले जब देखा हम एक में, मूल्यों बताए थे इससे पहले, हम नाम और था सूचकांक हम सही, उपयोग करना चाहते थे? तो उसी तरह, वह सब है हम वास्तव में उस डेटा बाहर खींचने के लिए करते हैं. हम नाम है और हम हम चाहते हैं कि सूचकांक है. इस मामले में, पाश के लिए तो यहाँ नीचे तल पर, किसी को भी यह क्या कर रहा है पता है, यह क्या बाहर प्रिंट होगा? Mmhmm? बिल्कुल सही. तो हाँ, यह बस के माध्यम से पुनरावृति है. मुझे लगता है हम चल सकते zero-- के बराबर है बस जल्दी से कोड के माध्यम से. मैं शून्य के बराबर है, मैं कम है इस बिंदु पर तीन से, सही? तो बाहर की जाँच करता है कि. और हम ठीक है, प्रिंट च कहते हैं, जो कुछ भी मैं तापमान में है. मैं जब हम पहली बार यहीं शून्य है हम यह पहले स्थान पर जाने के तो, पुनरावृति, और हम ठीक है, 65 है, का कहना है संख्या हम बाहर प्रिंट करना चाहते हैं. तो यह 65 प्रिंट आउट करेंगे और फिर एक नई लाइन नहीं है. मैं अद्यतन करेगा, तो यह 87 प्रिंट. यह फिर से अद्यतन करता है, और यह 30 प्रिंट देंगे. हर कोई शांत? बहुत बढ़िया. ठीक है. यहाँ तो एक की तरह है मैं कैसे बात कह रहा था आप का ट्रैक रख सकते हैं किसी के स्कोर और क्यों जब आप पहली बार प्रयोग करेंगे यह आरंभ के रास्ते बजाय कि दूसरे रास्ते से. और इस बस के माध्यम से चला जाता है. और हम 30 के एक वर्ग के आकार पर ध्यान दिया. और हम इस आरंभ कर रहे हैं आकार 30 की है कि ints की सरणी. और फिर हम पुनरावृति कर रहे हैं के माध्यम से और हम कर रहे हैं इनपुट के लिए उपयोगकर्ता पूछ इनमें से प्रत्येक के लिए स्कोर और फिर यह बताए स्मृति में एक विशिष्ट स्थान कि सरणी में कहीं. कूल? कि हर किसी को मतलब? Mmhmm? तो हैशटैग वर्ग के आकार को परिभाषित 30 एक पूर्वप्रक्रमक निर्देश है, जो सिर्फ यह है कि यह है gets-- मतलब संकलन प्रक्रिया की तरह करने के लिए. आप इसके बारे में सोच सकते हैं एक वैश्विक चर के रूप में. हम ऐसा रास्ता है typically-- यह अपने कोड की अनुमति देता है और अधिक आसानी से परिवर्तित करने की. तो हम कहते हैं कि हमारे वर्ग के आकार अचानक 30-15 चला जाता है, मैं इसे इस तरह से परिभाषित नहीं किया था, तो मैं करूंगा मेरे पूरे कार्यक्रम के माध्यम से जाना है और 15 से 30 के हर उदाहरण बदल जाते हैं. लेकिन इस के साथ, मैं एक बदलने के लिए मिल स्थान, और सब कुछ बदल जाता है. आप कभी भी करना चाहते हैं एक हैश एक मामले में परिभाषित जहां आप कुछ का ट्रैक रख रहे हैं एक वर्ग के लिए स्कोर की संख्या निर्धारित या आप एक नंबर का उपयोग कर रहे हैं कि, जैसे, इस्तेमाल किया जाएगा एक बहुत लंबे कार्यक्रम के दौरान यह बात है बेहतर शुरुआत में कि परिभाषित करने के लिए कभी यह परिवर्तन करते हैं, तो आपको मिल इतना है कि बजाय 100 में से किसी एक स्थान को बदलने की. हाँ? छात्र: कर रही है कि बीच और बस शीर्ष पर पर [अश्राव्य] की घोषणा. एलीसन BUCHHOLTZ-एयू: तो यह efficient-- साथ क्या करना है यह के दायरे से बाहर की तरह है क्या हम इस खंड में कवर कर सकते हैं. यह दक्षता के साथ अधिक नहीं है और कैसे चीजें वास्तव में संकलन प्रक्रिया में काम करते हैं. आप वास्तव में जानना चाहते हैं इसके बारे में, मैं आप भेजने के लिए खुश हूँ इसके बारे में संसाधनों के साथ एक ईमेल. परिभाषित हैश हो जाता है बातों के लिए पसंद किया. और आप अधिक कोड के रूप में, आप तरह की बारीकियों को सीख आप एक का उपयोग करना चाहिए जब की हैश बनाम वैश्विक परिभाषित. लेकिन कुछ समय के लिए, आप वास्तव में नहीं है यह है के बारे में चिंता करने के लिए संक्षिप्त उत्तर है. उस के साथ अच्छा सब लोग? और यह भी, अगर आप चाहते हैं एक हैश परिभाषित उपयोग करने के लिए, यह सूचना के लिए वास्तव में महत्वपूर्ण है नाम सभी टोपियां में होना चाहिए. हम बस नहीं कर रहे हैं कक्षा आकार नाटकीय हो. यह वास्तव में सभी टोपियां में होना चाहिए. कूल. वहाँ और कुछ? हम अच्छा कर रहे हैं? लवली. आपका स्वागत है. ठीक है, तो मैं तुम लोगों को एक नज़र रखना चाहते आप बग पा सकते हैं और इस पर देखते हैं. मैं तुम्हें एक संकेत दे देंगे. यह उस के लिए-पाश में कहीं है. Mmhmm? छात्र: 2 के बराबर की तुलना में कम होना चाहिए. एलीसन: यह तुलना में कम हो सकता है तो या 2 के बराबर, या यह 3 से भी कम हो सकता है. और उसके लिए तर्क क्या है? छात्र: [अश्राव्य], 0, 1, 2. एलीसन: बिल्कुल. आकार एन की एक सरणी में तो, हम केवल एन शून्य से 1 का सूचकांक है. कूल. और फिर हम वास्तव में पागल प्राप्त कर सकते हैं और बहु-आयामी arrays मिलता है. समस्याओं में से एक मैं में ले लिया जब मेरी वर्ष आवश्यक बहु-आयामी arrays, और मैं उनमें से एक की आवश्यकता हो सकती लगता है यह इस साल, तो आराम से हो. अब यह चारों ओर अपने सिर पर लपेट. यह परेशान करने के लिए वापस आ जाएगी तुम, लेकिन एक शांत तरीके से. तो आप वास्तव में सिर्फ सोच सकते हैं बहु-आयामी arrays की सरणियों की सरणियों के रूप में. तो आप एक तरह से इस शीर्ष के बारे में सोच सकते हैं स्मृति का पहला हिस्सा के रूप में पंक्ति. और यह एक है स्मृति का दूसरा हिस्सा, और अंतिम पंक्ति है स्मृति का तीसरा हिस्सा. और वह भीतर, एक सरणी है. लेकिन जाहिर है, यह आसान है इस तरह से चित्रित करने के लिए. तो क्या आप इसे उसी तरह इनिशियलाइज़. यह एक चरित्र है तीन से तीन की बोर्ड. तो आप तीन पंक्तियों है और तीन स्तंभों. हम इसे इस तरह से प्रतिनिधित्व कर रहे हैं. और आप उस तक पहुंच जाएगा उसी तरह, पंक्ति से कॉलम. और तो 1,1 हम यहाँ देखने के रूप में. हम एक शून्य आवंटित वहाँ शून्य. 2,0 और 0,2. तो तुम सिर्फ अगर them-- का उपयोग होगा क्या कभी किसी ने, रेखीय बीजगणित किया है आप में एक तत्व का उपयोग एक ही रास्ता एक matrice, यह यहाँ एक ही विचार है. तो आप वापस गणित से संबंधित कर सकते हैं. आप भी चिंता करने की जरूरत नहीं है अभी इस बारे में ज्यादा. यह जोखिम है अच्छा है, आप यह कर सकते हैं कि पता करने के लिए. तुम कुछ बना सकते हैं number-- आप कर सकते हैं पागल पागल सरणियों है बनाने सब मैं कहने जा रहा हूँ. [अश्राव्य] यह एक छोटे से पागल हो जाता है लेकिन यह वास्तव में अच्छा है. बहुत बढ़िया. और फिर, इसलिए हम यहां एक उदाहरण है. यह एक स्ट्रिंग की लंबाई की गणना करता है. तो कितने लोगों को पता था कि आप उपयोग कर रहे हैं कि तार पात्रों का सिर्फ सरणियों हैं? हाँ, ठीक है. तो तुम लोग आपको नहीं लगता है कि हो सकता है खेतों में प्रयुक्त सरणियों, लेकिन किसी भी समय से पहले आप में getstring उपयोग CSView पुस्तकालय, आप कर रहे हैं वास्तव में बस के लिए पूछ वर्णों की एक सरणी. और हम सभी की देखभाल कर रहे हैं आप के लिए बैक-एंड में है. लेकिन आप का उपयोग किया गया है सरणियों के बाद आप शुरू कर दिया. तुम बस अभी तक यह पता नहीं था. और आप एक चरित्र सरणी है जब भी या एक स्ट्रिंग के भंडारण है कि एक सरणी, आखिरी बात हमेशा क्या है एक अशक्त टर्मिनेटर कहा जाता है, जो इस यहीं है. और उस के अंत में है आप भंडारण कर रहे हैं कि हर शब्द. हम यह पता लगाने के लिए चाहते हैं तो एक स्ट्रिंग की लंबाई, हम कह सकते हैं, खैर, आप जानते हैं, कि ब्लॉक की सामग्री हमारे अशक्त टर्मिनेटर के बराबर नहीं है. वहाँ कुछ है कि इसका मतलब है कि वहाँ चरित्र कि हम वास्तव में उस शब्द का हिस्सा है के बारे में परवाह है. आप अपनी लंबाई बढ़ाने के. और फिर हम वास्तव में करने के लिए मिलता है जब शब्द के अंत में, इसे समाप्त करेंगे और यह हमारे लिए हमारे लंबाई वापस कर देंगे. Mmhmm? छात्र: अंतरिक्ष करता है अशक्त टर्मिनेटर के रूप में गिनती? एलीसन: तो एक जगह है नहीं एक अशक्त टर्मिनेटर. आप एक अंतरिक्ष multiple-- तो अगर वास्तव में एक विशिष्ट ASCII मूल्य है. छात्र: क्या है विस्मयादिबोधक फिर बराबर? एलीसन: तो, यह आप के लिए क्या उल्लेख है. आप कभी भी कार्यालय समय में मुझे सुना है, मैं हमेशा यह कहते हैं, जैसे, धमाके के बराबर होती है. तो धमाके नहीं है. तो यह नहीं के बराबर होती है. आप करने की कोशिश कर रहे हैं तो कुछ गलत है अगर देखते हैं, आप हमेशा धमाके जानते जो कुछ भी चर रहा है, और यह गलत है, यह सच है और आप का मूल्यांकन उस के साथ शांत सामान कर सकते हैं. कि बाद में और अधिक. कूल. वहाँ सब कुछ अच्छा है? बहुत बढ़िया. तो अब यह अपने लोग 'समय के लिए है मैं बात कर रहा है, के बाद से काम करते हैं. इसलिए मुझे लगता है कि आप सिर्फ एक सरणी बनाना चाहते हैं पूर्णांकों के साथ एक, दो और तीन, और फिर उन्हें बाहर मुद्रित है. आप की तरह, क्या करने की जरूरत नहीं है मुख्य, बकवास, बकवास, बकवास, जो भी हो. मैं तो बस आप को प्रारंभ करना चाहते हैं सरणी और फिर बनाने पाश के लिए एक उन्हें out-- मुद्रित करने के लिए या एक जबकि पाश, आप पर निर्भर है. मैं बस आपको कुछ दे देंगे मिनट उस पर काम करने के लिए. मैं अपनी आवाज आराम करने के लिए जा रहा हूँ. आप किसी भी प्रश्न हैं, मैं खुश हूँ चारों ओर आते हैं और आप लोगों से बात करने के लिए. एक दूसरे के साथ बात करने के लिए स्वतंत्र महसूस करो. अधिक कैंडी जाओ. वास्तव में, मैं बस हूँ कैंडी के साथ चारों ओर चलना. कैसे है? आप किसी भी चाहते हैं? इस कमरे में किसी और कैंडी चाहते हैं? आप भी लोगों को एक से अधिक ले जा सकते हैं. अगर आप चाहते हैं एक मुट्ठी भर लो. साथ ही मई. बाकी सब अच्छा है? ठीक. इसके अलावा, मैं बनाने के लिए जा रहा हूँ एक अनाम गूगल पर्चा, और तुम लोग सिर्फ प्रस्तुत कर सकते हैं हर खंड के बाद प्रतिक्रिया अगर वहाँ कुछ आप करना चाहते हैं आप किया चाहते पर या कुछ सुधार होगा. मैं भी क्रियात्मक एक छोटा हूँ आप के लिए, मैं यह नीचे टोन कर सकते हैं. मुझे लगता है कि बनाने के लिए और है कि भेजेंगे आप सभी को बाहर बाद में. ठीक है. तो चलो छोटे शुरू करते हैं. कैसे हम अपने सरणी को प्रारंभ होगा? हमारे सरणी का प्रकार क्या है? सही एक पूर्णांक,? ठीक है, तो क्या आप चाहते हैं आपके सरणी कॉल करने के लिए? इंटरनैशनल सरणी, शांत. ठीक है, तो हम int पूर्णांक सरणी है के बराबर होती है, और हम उस के बाद क्या करना है? छात्र: [अश्राव्य] कोष्ठक. एलीसन: ब्रेसिज़. और फिर ब्रेसिज़ के अंदर? एक अल्पविराम दो अल्पविराम तीन. कूल. तो यह है कि सब ठीक है. तो अब हम पाश के लिए हमारे पास. के पहले भाग में तो हमारे पाश के लिए, हम क्या करना है? छात्र: मैं 0 के बराबर होती है? एलीसन: मैं 0 के बराबर होती है पूर्णांक तो, और फिर हमारे हालत क्या है? क्या मैं की तुलना में कम होने जा रहा है? तीन से भी कम समय और हम कैसे हम मैं अद्यतन करते हैं? मैं प्लस प्लस, एक एक करके यह अद्यतन. और फिर हमारे पास करने के लिए जा रहे हैं पूर्णांक के कुछ printf, और है कि पिछले क्या है वास्तव में है कि हिस्सा हम मुद्रण किया जाना चाहिए क्या कहने जा रहा? इसका नाम होगा पूर्णांक सरणी है जो सरणी, है ना? और int सरणी के कोष्ठक में क्या है? मैं. [? इसलिए मुझे लगता है?] कहा जाता है मेरी उदाहरण के लिए, लेकिन वहाँ तुम जाओ. कि बुरा नहीं है. हर कोई अच्छा? कूल. इसलिए हम सरणियों साथ कर रहे हैं. बधाई हो. आप पुनरावृति करने में कामयाब सभी के माध्यम से हाँ the--? छात्र: [अश्राव्य] एलीसन: हाँ. छात्र: मैं एक सवाल है. आप ब्रेसिज़ इंडेंट करने वाले हैं? एलीसन: ब्रेसिज़ अप लाइन चाहिए तो पाश के लिए, और फिर सब कुछ के साथ अंदर ब्रेसिज़ इंडेंट किया जाना चाहिए. छात्र: ठीक है, चाहिए पाश के लिए इंडेंट किया? एलीसन: पाश के लिए नहीं करता इस बिंदु पर इंडेंट करने की आवश्यकता है. आप मुख्य में थे, हम अगर वास्तव में, यहाँ एक मुख्य समारोह था यह मुख्य से इंडेंट किया जाएगा. लेकिन इस मामले में, यह ठीक है. हाँ, सवाल. छात्र: आप की जरूरत है क्या उदाहरण के बाद कोष्ठक? एलीसन: हाँ आप कर रहे हैं यह तरीका है कि आरंभ. तो यह दूसरे नंबर पर है, याद एक सरणी जहां आरंभ के रास्ते हम तो हमारी वास्तविक ब्रेसिज़ और है भीतर अल्पविराम के द्वारा अलग डेटा. छात्र: मैं वहाँ लगा कि उदाहरण के लिए कोष्ठक. एलीसन: नहीं, वे ब्रेसिज़ रहे हैं. वे ब्रेसिज़ रहे हैं. आप इसे आरंभ कर रहे हैं कि दूसरा तरीका, यह ब्रेसिज़ है. हम कह रहे थे, पूर्णांक example-- अगर हम सिर्फ ints के लिए एक खाली सरणी चाहता था यह पूर्णांक उदाहरण तीन कोष्ठक होगा. कोष्ठक आकार का प्रतिनिधित्व करते हैं. तुम ब्रेसिज़ है, यह वास्तविक डेटा है आप इस तरह से इसे में डाल रहे हैं. हम वास्तव में तेजी से वापस स्क्रॉल कर सकते हैं. इस एक में तो, यह बस है हमारी प्रारंभिक सरणी, आरंभीकरण. और यहाँ, हम व्यक्तिगत रूप से कर रहे हैं उन्हें स्पॉट बताए, इसलिए इस सूचकांक का प्रतिनिधित्व करता है हमारी हम कोष्ठक है यही वजह है कि सरणी,. लेकिन अगर तुम नोटिस, यहाँ, हम है एक आकार के बिना हमारे कोष्ठक छोड़ दिया, और हम साथ यह इनिशियलाइज़ वास्तविक डेटा सभी में एक ब्रेसिज़ के साथ. छात्र: तो क्यों हमारे पास नहीं है इस उदाहरण में कोष्ठक? एलीसन: तो, जो भाग में? छात्र: हम नहीं चाहेंगे कहते हैं, पूर्णांक उदाहरण कोष्ठक बराबर होती है ब्रेसिज़ [अश्राव्य] उदाहरण के लिए कोष्ठक. एलीसन: ओह, माफ करना. आप ठीक कह रहे हैं. हम वहाँ कोष्ठक है. माफ करना, दोस्तों, मेरा बुरा. हाँ, आप होना चाहिए उदाहरण के बाद कोष्ठक. आप बिल्कुल ठीक कह रहे हैं. छात्र: [अश्राव्य] यह नहीं कर रही है. एलीसन: नहीं, आप के लिए है कोष्ठक, अन्यथा यह है क्योंकि एक सरणी घोषित करने के लिए नहीं जा रहा. छात्र: [अश्राव्य]. इस बारे में खेद. एलीसन: माफ करना, आप की जरूरत है उदाहरण के बाद कोष्ठक. टाइपो. अच्छी पकड़, आप के लिए सोने का तारा. इसके अलावा, आप एक सवाल पूछ रहे हैं, अगर तुम लोग सिर्फ मुझे अपना नाम बताना होगा, मुझे लगता है कि खुशी होगी. मैं करने में सक्षम होने के लिए प्यार करता हूँ सभी अपने नाम पता है. मैं ठंडा करने के लिए नहीं जा रहा हूँ मैं वास्तव में, आप कॉल बस अपने नाम जानना चाहते हो. इसलिए वास्तव में मुझे अपना नाम बता दीजिए. लिआ: लिआ. एलीसन: लिआ. ठीक है, तो functions-- मैं संक्षिप्त में पता वे व्याख्यान के दौरान इस बारे में बात की. इसलिए कार्यों तरह की बस रहे हैं इन छोटे काटने के आकार के चीजों की तरह आप आदानों में पारित, जहां कुछ जादुई होता है, और आप outputs मिल. कूल. तो आप वास्तव में इस्तेमाल किया एक पहले से ही इनमें से बहुत कुछ. स्ट्रिंग, प्रिंट च मिलता, पूर्णांक प्राप्त करें. ये सभी कार्य कर रहे हैं तुम सिर्फ उन्हें फोन जहां, जादुई वहाँ बहुत सी बातें है पृष्ठभूमि में चल रहा है , आप जरूरी नहीं दिख रहा है कि और आप क्या आप चाहते हैं बाहर निकलना. या कम से कम आप मिल क्या आप चाहते हैं उम्मीद है. और मूल रूप से कार्यों की बात, और सीएस के मुख्य विषयों में से एक, अपने कोड को तोड़ने के लिए है प्रबंधनीय टुकड़ों में. आप लेखन शुरू करते हैं ये वास्तव में लंबे समय के कार्यक्रमों, या खरोंच में आप था जब एक खेल के लिए इस भव्य विचार, आप इसे तोड़ने के लिए सक्षम होने की जरूरत ठीक है, की तरह, के लिए नीचे, मैं कैसे शुरू करूँ? जरूरत है कि मैं छोटे टुकड़े कर रहे हैं? ओह, मैं पूछने की जरूरत कुछ के लिए उपयोगकर्ता. अब मैं कुछ प्रिंट की जरूरत है. ओह, मैं इस मूल्य की गणना करने की जरूरत है. और सीखने को तोड़ने के लिए कैसे अपने कोड और बड़ी समस्याओं आप इन छोटे टुकड़ों में है और कार्यों का निर्माण वास्तव में से एक है सीएस की बड़ी आधारशिला. तो आप एक समारोह बस के रूप में के बारे में सोच सकते हैं एक ब्लैक बॉक्स की तरह, एक जादुई ब्लैक बॉक्स, आप में बातें करना कि और आप कुछ उत्पादन मिलता है. और इस कार्यक्रम के बाकी जरूरी पता करने की जरूरत नहीं है क्या है कि ब्लैक बॉक्स के भीतर चल रहा है. इसके बारे में परवाह है सभी क्या है में चला जाता है और क्या बाहर आता है. कूल. तो क्यों कार्यों? Organization-- मैं आप कर रहे हैं, ने कहा कि के रूप में बहुत बड़ी कोड ठिकानों से निपटने, आप अपने कोड होगा व्यवस्थित कैसे आप कार्यों का उपयोग अगर बहुत आसान. आप कर सकेंगे क्योंकि ठीक है, की तरह, हो सकता है, इस इस समारोह क्या करता है और यहाँ एक और एक क्या करता है. और आप आसानी से देख सकते हैं कैसे वे सभी एक साथ फिट. इतना सब में इसे तोड़ने इन प्रबंधनीय subparts. तो simplification-- मुझे यकीन है कि तुम लोग हूँ जैसा कि मैंने कहा सब खरोंच के साथ, यह देखा. आप इस शानदार विचार है, और आप की तरह हो, यह सब कैसे काम करता है? लेकिन आप यह दृष्टिकोण अगर टुकड़ों में, आप ठीक कहते हैं, मैं एक प्रेत कैसे कर सकता हूँ परदे के पार नाव? यह एक छोटा सा आसान है. समारोह बनावट का इतना अच्छा उपयोग अपने कोड को पढ़ने के लिए बहुत आसान है. यह आसान डिबग करने के लिए बनाता है, जो के रूप में आप, आपके बाद में समस्या सेट में मिलता है आप वास्तव में करने के लिए जा रहे हैं ऐसा करने में सक्षम होना चाहता हूँ. और वे भी आसान कर रहे हैं डिजाइन और लागू करने के लिए. आप एक छोटे से कोड कर सकते हैं अपेक्षाकृत जल्दी से कार्य और यकीन है कि यह कोशिश कर बनाम काम करता है इस पूरे लंबे कार्यक्रम बनाने के लिए और फिर तरह के माध्यम से जाओ और नहीं है क्या काम कर रहा है और क्या देखते हैं. और फिर reusability. इसलिए कार्यों केवल जरूरत एक बार लिखे जाने के लिए, और फिर आप उन्हें इस्तेमाल कर सकते हैं संभव के रूप में कई बार. तो यह है, की तरह, पर्यावरण के अनुकूल एक अर्थ में. आप की तरह बातें किया था प्रिंट च, जहां आप चला जाता है कि जादू बाहर लिखना था पीछे पर हर बार एफ प्रिंट आप कुछ प्रिंट करना चाहता था, आप बहुत बीमार और थक गया होगा अंत तक. चीजों में से एक है कि तुम हूँ बाद में सीएस कक्षाओं में सीखना या सर्वश्रेष्ठ में से एक सलाह के टुकड़े मैं मिल आप को कॉपी और पेस्ट कर रहे हैं, है कोड, यह शायद एक समारोह होना चाहिए. आप सही ही है, तो सभी अपने कोड भर लाइनों, आप उन्हें बाहर सकारात्मक असर अगर, अपने कोड शायद होगा की तरह हो सकता है, पांच बार कम और भी बहुत कुछ आसान पढ़ने के लिए हो. और बदले का निवारण करने की कोशिश की इन सभी विभिन्न स्थानों जहां बातें गलत जा सकता है, आप एक समारोह है आप समस्याओं का निवारण करने के लिए मिलता है. और मैं इस का एक बहुत वादा अब सार की तरह लग सकता है, लेकिन आप बाद में मिलता है, के रूप में और बाद में समस्या, सेट यह एक बहुत अधिक समझ कर दूँगा और वास्तव में घर के लिए प्रेरित किया. किसी भी सवाल कर रहे हैं कार्यों के बारे में अब तक? क्यों हम उन्हें प्रयोग कर रहे हैं? मुझे लगता है हम नहीं मिल गया है पता जुओं से भरा हुआ किरकिरा में अभी तक. तो एक function-- बस की तरह परिभाषित सरणियों, हम इस of-- कुछ प्रकार की जरूरत सिर्फ सामान्य उत्पादन है. तो यह है कि एक समारोह है बस कुछ इनपुट घन के लिए जा रहा है. और अगले पृष्ठ पर, वास्तव में, हम हैं यहां इन सब भयानक छोटी चीजें. तो, हर कोई पढ़ सकते हैं जिज्ञासा से बाहर है? मैं बैंगनी और काला पता थोड़ा मुश्किल हो सकता है. लेकिन बड़ी बातें तो पहले know-- को एक यहीं हमारी वापसी प्रकार है. तो इस निर्गम के बारे में बात कर रही है इस समारोह की जब, इस मामले में, हम हम क्या कर रहे हैं, कुछ संख्या में डाल हो रही है कि संख्या cubed है. तो यह इस मामले में एक पूर्णांक होना चाहिए. शायद यह एक डबल होगा या कुछ और बाद में, लेकिन इस मामले में, यह एक पूर्णांक है. सी के साथ, आप हमेशा एक वापसी प्रकार की जरूरत है. यह एक पूर्णांक हो जाएगा. यह एक नाव हो जाएगा. यह एक डबल हो जाएगा. लेकिन क्या स्पष्ट करना होगा इस समारोह में वापस जाने के लिए जा रहा है. अन्यथा उस पर चिल्लाना होगा आप, और यह संकलन नहीं होगा. आप उदास हो जाएगा, और मैं उदास हो जाएगा. और यह सिर्फ अच्छा नहीं है. ठीक. और फिर हम अपने समारोह का नाम है. और जहाँ आप ग के साथ, यहाँ देख सकते हैं यह बहुत लगातार प्रतिमान है. आपके प्रकार क्या है, नाम है क्या, और फिर अंत में कुछ दूसरी बात. तो हम, हमारी वापसी प्रकार है हमारे समारोह का नाम, और उसके बाद हम साथ हमारे शीर्ष लेख है हमारे पैरामीटर सूची. पैरामीटर सूची है तो, क्या है में ले जा रहा यह समारोह? एक पैरामीटर सूची बस एक है पर्याय के लिए, हमारे इनपुट क्या हैं? और हम उसी तरह है कि हमारे समारोह को परिभाषित करने के लिए है और यह एक वापसी दे , हमारे आदानों के प्रत्येक प्रकार इसके साथ जुड़ा एक प्रकार की जरूरत है. तो क्या हम जानते हैं कि हमारे समारोह वास्तव में साथ काम कर सकते हैं. तो इस मामले में, हम कुछ पूर्णांक इनपुट है. तो फिर, यह टाइप हो जाएगा और आप यह क्या कह रहे हैं. और फिर, जैसा कि आप देख यहाँ, हम हमारे शरीर है. तो हम, कि कुछ पूर्णांक उत्पादन किया है है सिर्फ हमारे इनपुट बार ही अभी यह क्यूब्स जो बार ही,. और फिर हम कि उत्पादन वापसी. आप यहाँ देख तो, जैसा कि हम एक है कई बार एक पूर्णांक बार एक पूर्णांक int इसलिए यह एक पूर्णांक, जो रिटर्न वहाँ घोषित किया गया है. इतना सब कुछ एकजुट है. सब कुछ खुश है. आपका समारोह चलेगा. और यह सिर्फ सामान्य बात है. इसलिए हमेशा वापसी प्रकार है नाम, और अपने पैरामीटर सूची. में हर चीज आपके पैरामीटर सूची, या इनपुट, इसके साथ जुड़ा एक प्रकार की जरूरत है. और फिर आपके पास अपने जो कुछ भी यहाँ के साथ शरीर आप अपने निवेश के साथ करना चाहते हैं. और तो जाहिर है आप कुछ वापस करना चाहते हैं. कभी कभी कार्यों बस वापस आ जाएगी. वे वास्तव में वापस नहीं करते आप का उपयोग करने के लिए कुछ है. लेकिन अगर आप किसी तरह से वापस जाने के लिए है. और आप कर रहे हैं जब अपने खुद के कार्यों, हम चाहते हैं कि एक छोटे से गहरी में प्राप्त कर सकते हैं. अगर आप चाहते हैं निजी तौर पर, एक बहुत हैं अलग अलग चीजों का आप वहां क्या कर सकता है. हर कोई अच्छा? तुम मुझे चाहते है कि इस सूची में कुछ भी आप समझ में नहीं आया कि, ऊपर जाने के लिए? हर कोई वहाँ अच्छा है? कूल. बहुत बढ़िया. ठीक है, तो हम डाल रहे हैं यह सब एक साथ अब. इसलिए हम तो, कुछ पूर्णांक घन इनपुट है इस यहाँ एक पूरा कार्यक्रम है. अब तक, मैं एक तरह से आप दे गया लोग टुकड़े कि हो सकता है एक कार्यक्रम के भीतर हो रहा हो. हम सिर्फ कार्यों में लग गया है. लेकिन यहाँ एक पूरा कार्यक्रम है. तो आप में से कितने याद व्याख्यान से शब्द प्रोटोटाइप? कूल. हम एक मिल गया है. आपका नाम क्या है? Steph: Steph. एलीसन: Steph? ठीक है, बहुत बढ़िया. तो, आप एक प्रोटोटाइप है क्या याद है? छात्र: तुम कहना [अश्राव्य] इससे पहले कि आप वास्तव में इसके साथ सौदा. एलीसन: आप क्यों याद है? छात्र: नहीं. एलीसन: ठीक है. गोल्ड स्टार. तो हाँ, एक प्रोटोटाइप हमारे पास पहले, अन्यथा क्योंकि, हमारे संकलक हम पर चिल्लाना जा रहा है. यह ठीक है, कहने के लिए जा रहा है इस घन समारोह क्या है? की तरह, तुम सचमुच है मुझे इस बारे में कुछ नहीं बताया. यह जब आप की तरह है एक कक्षा में चलना, और अगर किसी तरह है आज एक प्रश्नोत्तरी है. और तुम पसंद कर रहे हैं मुझे इस बारे में कभी नहीं बताया. मैं हमारे साथ खुश नहीं हूँ. प्रोटोटाइप मूल रूप से की तरह है अपने पाठ्यक्रम, देखने के लिए कह रही है. सचेत. इस दिन पर एक प्रश्नोत्तरी होने जा रहा है. आप इसे करने के लिए जब बाहर बेकार मत करो. तुम ठीक हो जा रहे हैं. इतना सब प्रोटोटाइप बताना है करता है मुख्य, मैं इस समारोह का उपयोग करने के लिए जा रहा हूँ. मैं मैं बाद में इसे परिभाषित कर रहा हूँ वादा करता हूँ. मुझ पर बाहर बेकार नहीं है. बस संकलन और मैं तुम्हें बताने के लिए क्या करना है. इसलिए हम वहाँ प्रोटोटाइप है बस हमारे संकलक खुश करने के लिए. और यह एक वादा मूल रूप से है कि आप इस समारोह में बाद में परिभाषित किया है और आप बस नहीं बुला रहे हैं कि इस यादृच्छिक बात यह है कि आप क्या कर रहे हैं पता नहीं है जा कर रही हो. तो इस मामले में, हम यहाँ मुख्य है. हम कुछ पूर्णांक एक्स को प्रारंभ. यही दो है. हम X है क्या बाहर मुद्रित करने के लिए जा रहे हैं. हम X घन के लिए जा रहे हैं. जैसा कि आप देख, हमारे पास हमारे समारोह घोषणा यहाँ हम कि पहले के बारे में बात की थी. हम अगर यह फिर एक्स घन, और हूँ वास्तव में, घन समारोह याद करने के लिए एक पूर्णांक रिटर्न संग्रहीत किया जाता है जो हमें, हम मुद्रित कर सकते हैं कि फिर तो एक्स में सही अब आठ, या घन एक्स बाहर. कि हर किसी को मतलब? हम अच्छा कर रहे हैं? ठीक है. बहुत बढ़िया. ठीक है. कैसे तुम लोगों में से कई यह तो यह याद मूल रूप से सिर्फ अपने ढेर और अपने ढेर, का सिर्फ एक दृश्य कैसे स्मृति यहाँ संग्रहित है. तो हम बस बनाने के लिए चाहते हैं आप समझते हैं कि सुनिश्चित करें कैसे इन स्मृति में प्रतिनिधित्व कर रहे हैं. आप की तरह कक्षाएं लेते हैं CS61 और सामान बाद में, आप इस कहीं अधिक जानने के लिए मिलता है गहराई में, और यह वास्तव में अच्छा है. मैं अत्यधिक यह सलाह देते हैं. लेकिन अब के लिए, मैं दे दूँगा आप व्यापक सिंहावलोकन तो आप के लिए नहीं है जुओं से भरा हुआ किरकिरा पता है. शीर्ष सिर्फ एक पाठ खंड तो जो वास्तविक शून्य और लोगों में शामिल है, उस के लिए द्विआधारी. और इस के भंडारण के लिए इस्तेमाल किया जाता है वैश्विक चर अगर आप किसी भी. आप नीचे ले जाते हैं, हम आप यहाँ देख, है, initialized डेटा, गई डेटा, और फिर ढेर. इसलिए हम वास्तव में बात नहीं करते अब सही ढेर के बारे में. हम बाद में इसे करने के लिए मिल जाएगा. अभी के लिए, मैं अभी जा रहा हूँ मेरे हाथ की लहर और की तरह हो, अब आप इस बारे में पता करने की जरूरत नहीं है. लेकिन हम एक छोटे से बात करेंगे ढेर के बारे में थोड़ा. हम में ज़ूम है where-- तो ढेर है. यह कैसे कार्यक्रम वास्तव में है स्मृति में होता है पर हम सिर्फ देखा. तो क्या होता है हर, है समय हम एक समारोह कॉल हम एक ढेर कहा जाता है मिल इनमें से एक है जो फ्रेम,. तो मुख्य मापदंडों. उन तो बातें कर रहे हैं हम मुख्य में पास करने वाले. इसलिए वे तल पर सही यहाँ हो, कि हम फोन पहले की बात है क्योंकि. और फिर हम मुख्य के लिए मिल स्थानीय लोगों, और हम कहते हैं कि जब, हम स्थानीय चर मतलब कि मुख्य भीतर जमा हो जाती है. स्थानीय लोगों के तो यहाँ की तरह होगा, एक्स इस मामले में दो के बराबर है. क्योंकि कि मुख्य लिए स्थानीय है. हर कोई गुंजाइश याद करता है, व्याख्यान में उस पर जा रहा है? ठीक. तो, बस चर कि मुख्य भीतर initialized रहे हैं. हम मुख्य [है तो यही कारण है कि है? वाचिक. ?] और फिर मुख्य भीतर, हम घन कहते हैं. है ना? तो हम एक और फ्रेम मिल घन के मानकों के साथ. तो इस मामले में, घन मापदंडों अब कर रहे हैं हम में पारित कर दिया है कि एक्स, हम में पारित कर दिया है कि दो. और फिर घन के स्थानीय लोगों को, जो जहां वास्तविक cubing होता है. और फिर यह देता है. घन वास्तव रूप में करता है तो क्या होता है यह करने के लिए माना जाता है, यह देता है. यह रिटर्न कब, इस फ्रेम, पत्ते और इसकी मुख्य करने के लिए नीचे लौटे. और फिर मुख्य भीतर, हम वास्तव में इसे प्रिंट कर सकते हैं. तो जब आप कुछ लौट रहे हैं, जब आपके फ़ंक्शन देता है, यह उन मूल्यों पर गुजर तरह है यह नीचे फ्रेम और फिर छोड़ने. और बातों के क्रम में निष्पादित करने के लिए है. और यदि आप बड़े कार्यक्रमों के लिए मिलता है, हम कूलर और अधिक जटिल बना सकता है चित्र. लेकिन अब के लिए, यह है सिर्फ एक सामान्य अवलोकन तो आप एक की तरह है की समझ क्या आप एक समारोह बुला रहे हैं जब होता है और कहा कि वास्तव में स्मृति में कैसे लग रहा है. कूल? हर कोई अच्छा? बहुत बढ़िया. तो यह है कि एक है सिर्फ बातें स्वैप करने के लिए कोशिश कर रहा है. हम यहाँ देखते हैं, हम हैं हमारे समारोह प्रोटोटाइप इसलिए हमारे संकलक हम पर चिल्लाना नहीं करता. हम कुछ मुख्य है, और हम एक्स और वाई स्विच करना चाहते हैं. वे इस प्रदर्शन नहीं किया है अभी तक व्याख्यान में, वे है? वे नहीं है? ठीक. तो हम जाने के लिए जा रहे हैं यह बहुत ही संक्षिप्त अधिक. यदि आप इस उदाहरण अधिक में मिल जाएगा गहराई में, मैं इस सप्ताह, लगता है. और फिर अगले सप्ताह हम वास्तव में कर सकते हैं यह काम नहीं करता क्यों में गोता. इसलिए हम इस शून्य है समारोह here-- स्वैप. बस मतलब है कि तो शून्य कुछ भी नहीं लौटा है. और हम स्वैप पूर्णांक एक और int ख है. और हम कुछ अस्थायी है एक है कि चर. एक बी को सौंपा, और फिर हो जाता है बी अस्थायी को सौंपा जाता है इसलिए कि ए और बी के मानों अब बदल रहे हैं. लेकिन, साजिश मोड़, यह काम नहीं करता. और इसे का हिस्सा वास्तव में है इस तथ्य से कोई लेना देना है कि एक और, यहां बी में पारित हो कि लोगों को यहाँ, एक्स और वाई की प्रतियां वास्तव में कर रहे हैं. तो समारोह वास्तव में रिटर्न जब, यह प्रतियां स्विच लेकिन नहीं वास्तविक एक्स और वाई की. तो एक तरह से यह है के बारे में सोचने के लिए that-- इन स्वैप हैं बहाना. ठीक है? तो मुख्य में, हम एक्स और वाई initialized है. लेकिन हम वास्तव में ऊपर जाना जब स्वैप के साथ इन फ्रेम करने के लिए, हम मूल्यों पर गुजर रहे हैं यह करने के लिए, और वे initialized रहे हैं. और वे ही कभी यहीं रहते हैं. तो एक और ख यहां रहते हैं. और वे बदली हो. जब हम वापस लेकिन, हम नहीं ए और बी के साथ कुछ भी कर. एक हमारे समारोह के साथ और बी छुट्टी. और तो एक्स और वाई में एक ही रहते हैं. तुम्हें पता है कि कैसे तय करने में अधिक मिलेगा और हम वास्तव में बाद में उस के साथ सौदा कैसे. लेकिन यह सिर्फ एक बात है एक तरह से ध्यान में रखना है. भविष्य के लिए यह प्रयोग करें. कि नहीं किया था तो चिंता मत करो दुनिया में सब समझ. वे प्रतियां सबसे बड़ी बात है. आप कुछ भी ले जा रहे हैं दूर से, आप प्रतियों में पारित कर दिया. तो मूल ही रहते हैं. हर कोई अच्छा? कूल. तो कमांड लाइन तर्क. मैं शुरुआत में यकीन है कि तुम लोग सब उन महान, जैसे, पूर्णांक मुख्य रिक्तियों था. और तुम, ठीक शांत पसंद कर रहे हैं. मैं वास्तव में परवाह नहीं है. यह मैं लिखना है क्या बस है. लेकिन अपने नए कार्यक्रमों में, विशेष रूप से इस pset में, और यही कारण जमीन पर चाक है? अपने अगले pset के साथ, आप कर रहे हैं इस देखकर किया जा रहा है. मुख्य इंटरनैशनल, पूर्णांक ARG सी, स्ट्रिंग चाप वी, कोष्ठक. तो, क्या हम से बस सीखा आज, क्या हम दूसरा पैरामीटर लगता है कि या कि दूसरा तत्व यहाँ है? यह एक सरणी है. सरणी के किस तरह के? स्ट्रिंग सरणी, हाँ. कूल. तो यह है कि आप जा रहे हैं कैसे अब इन घोषित किया जाना है. किसी को भी याद करता है ये क्या के लिए खड़े? कोई? हम्म? छात्र: ARG सी. एलीसन: तो ARG सी एक काउंटर रहता है. यह एक पूर्णांक है. यह सही, एक नंबर है? तो क्या आपको लगता है कि संख्या की है लगता है? हाँ. तो ARG सी तारों की संख्या है कि कमांड लाइन बनाते हैं. इसलिए हम वास्तव में do-- रहे थे, उदाहरण इस के बाद कर रहे हैं, इसलिए मैं खुद से आगे नहीं मिलेगा. यह तारों की एक संख्या है कि बस अपनी कमांड लाइन बनाते हैं. जब आप ऐसा करेंगे तो, जैसे, मारियो स्लेश डॉट, कि यह ऊपर आता है कि एक स्ट्रिंग है. इस टुकड़े में, आप वास्तव में हो जाएगा कमांड लाइन में बातें खिला, मुझे यकीन है कि तुम लोग हूँ जो कल्पना देखा पढ़ा है. तो उन मामलों में, हो सकता है आप हूँ दो या तीन तर्क है. यह उपयोग करने के लिए एक उपयोगी बात होने जा रहा है. और फिर वी ARG, जैसा कि हमने कहा, सिर्फ एक स्ट्रिंग सरणी है. कि वास्तव में क्या भंडार तो कमांड लाइन में आप इनपुट. इसलिए हम इन किया है. आप कुछ डॉट स्लैश है INFILE outfile कॉपी. तो, अगर ARG सी तारों की संख्या है हम आदेश में गुजर रहे हैं रेखा, इस मामले में हमारे ARG सी क्या है? तीन. बिल्कुल सही. तो शून्य का ARG वी क्या है? तो हम संग्रहीत है पहली बात क्या है? डॉट वास्तव में, प्रतिलिपि स्लेश. और फिर दूसरा INFILE होगा. तीसरे outfile होगा. तो ARG V तीन के बारे में क्या? कि क्योंकि यह शून्य होगा हमारे सरणी के अंत, है ना? कूल. और फिर क्या छठे एक के बारे में? यह एक चाल सवाल की तरह है. Ish. हम यह है क्या जानते हो? यह अपरिभाषित है. हम जानते हैं कि क्या हो सकता है पता नहीं है. यह सही है जो कुछ है स्मृति में सरणी के बाद, और हम यह है कि क्या कोई सुराग नहीं है. और यह उन छूने के लिए खतरनाक है क्योंकि आप जानते हैं कि सभी के लिए बातें, यह स्मृति का कुछ हिस्सा है कि आप तक पहुँचने या शून्य नहीं होना चाहिए. और यह पागल बातें कर सकते हैं. यह खत्म-अनुक्रमण कहा जाता है आपके अपने सरणी के लिए बाध्य. की सीमा से बाहर मत जाओ अपने सरणी, या बुरी बातें हो सकता है. तुम वापस आ गए और कानूनों की तरह भौतिकी के नष्ट कर दिया गया है या कुछ और. कूल. कि हर किसी को मतलब? बहुत बुरा नहीं है. तो अब हर किसी की पसंदीदा हिस्सा, pset समीक्षा. वाह! ठीक. आप उन लोगों के लिए तो कौन pset कल्पना नहीं पढ़ा है, आप वास्तव में कुछ कर रहे हैं क्रिप्टोग्राफी के साथ शांत सामान. आप एक सीज़र बनाने के लिए जा रहे हैं सिफ़र और एक Vigenere सिफर. आप निश्चित रूप से पढ़ना चाहिए कैसे उन काम को देखने के लिए कल्पना. और आप के बारे में कोई समस्या आ रही है यह वास्तव में क्या कर किया जाना चाहिए, मुझे बात करने आ कृपया, मुझे ईमेल या मुझे पाठ. मैं आसपास हूँ. तो तीन मुख्य रहे हैं यहाँ बातें हम कि बस की तरह about-- बात करना चाहता हूँ व्याख्यान का एक विस्तार की. तुम जानते नहीं हो कि हालात सहायक संकेत और उपकरण, के बारे में. तो हम एक क्या करने जा रहे हैं आस्की की त्वरित समीक्षा, कि क्योंकि सुपर होने जा रहा है Vigenere के सिफर के लिए महत्वपूर्ण. हम के रूपांतरण के लिए जा रहे हैं कमांड लाइन आदानों, जो सीज़र सिफर के लिए बहुत उपयोगी हो जाएगा. और फिर modulo. कूल. तो, आस्की संख्या को अक्षर नक्शे. यह एक महान चार्ट है. आप इस होनी चाहिए कहीं बुकमार्क. यह आप के लिए चाहते हो जाएगा अपनी पहली मध्यावधि. मैं हर किसी को यह है पूरा यकीन उनके मध्य अवधि चादर पर चार्ट. तो यह सीखते हैं. इसे प्यार करना. काम रखें. यह उपयोगी हो जाएगा. और यह सब एक एन्कोडिंग है कि, आंकिक, वर्णमाला के नक्शे करने के लिए और अन्य पात्रों हमारे कंप्यूटर के लिए संख्या. क्योंकि जाहिर है, में अंत, सब कुछ हम दुकान परिवर्तित होने वाली है शून्य और लोगों को नीचे, इसलिए हम प्रतिनिधित्व करने के लिए किसी तरह की जरूरत हम सभी कर रहे हैं कि पाठ और वर्ण संख्या के कुछ प्रकार के रूप में देखने की आदत. हम यहाँ देखते हैं, हम हैं तो अभी भी वहीं है जो अपरकेस ए,. यह 65 है. और लोअरकेस एक 97 है. तो आप out-- समझ सकते हैं जैसा कि मैंने पहले कहा था, आप कई की सरणी था उनमें से तार, क्या हर एक अशक्त टर्मिनेटर है. यह एक अंतरिक्ष होगा. अंतरिक्ष की अपनी special-- है यह यहाँ है, जहां मैं भूल जाते हैं. आह. 32 अंतरिक्ष है. तो यह सब कुछ करने के लिए नक्शे. इसलिए हम आस्की गणित है. Vigenere में प्रो tip--, आप परीक्षा हो सकती है पूर्णांकों को अपनी संख्या में परिवर्तित करने के लिए, लेकिन यह वास्तव में बेहतर अभ्यास उपयोग करने के लिए सक्षम होने के लिए इस तरह वर्ण जब आप वास्तव में उन्हें जोड़ तोड़ कर रहे हैं. आप संख्याओं का उपयोग करना चाहते हैं, तो आप कर सकते हैं. लेकिन एक बेहतर तरीका है, या एक तरीका है कि हम आपको यह करने के लिए लोगों को पसंद करते हैं, आप कर रहे हैं, जहां इस तरह से है वास्तव में पात्रों को घटाकर. तो मैं तुम्हें करने के लिए लोग चाहते हैं एक तरह से ये पता लगाने की. क्यों आप हर दूसरे एक कोशिश क्यों नहीं करते? तो पहले एक, कर तीसरे एक, और पांचवें एक. मुझे लगता है हम बात करते हैं कि बनाना चाहते क्योंकि सब कुछ के बारे में हम इस बारे में बात करने की जरूरत है. मैं बस से एक कहने जा रहा हूँ महत्वपूर्ण बातें ओह, रुको to-- तुम लोग इस एक नहीं देखा है. ठीक है तो पहले तीन करते हैं. चलो करते हैं. हम सापेक्ष के बारे में बात करनी है. मुझे पता है. गणित कठिन है. तुम एक कैलकुलेटर का उपयोग कर सकते हैं. यह ठीक है. या क्योंकि, एक ASCII तालिका को खींच आप शायद चाहते हैं कि करने के लिए जा रहे हैं. कूल. तो मैं जल्दी से चलना होगा आप इन के माध्यम से लोगों को. ताकि लोगों को आस्की टेबल खिंचाई की है? क्या हमारे सांख्यिक है छोटा अक्षर ए के लिए नंबर? छात्र: सात. एलीसन: तो छोटा अक्षर ए है 97 और अपरकेस एक 65 है. तो 97 शून्य से 65? दर्शक: 32? एलीसन: 62, हाँ. इस मामले में तो क्या हुआ इसे बाहर प्रिंट होगा? पहले एक है कि? हम प्रतिशत घ है, कि क्या संकेत मिलता है? छात्र: एक नंबर. एलीसन: हम मुद्रण कर रहे हैं एक वास्तविक संख्या बाहर. इसलिए हम वास्तव में जा रहे हैं यहां 32 बाहर मुद्रित करने के लिए. और यह प्रतिशत सी थे, 32 हमें एक अंतरिक्ष देना होगा. तो समझ है कि अक्षर मुद्रित किया जा सकता है संख्या के रूप में और के रूप में दोनों वास्तविक पात्रों वास्तव में महत्वपूर्ण है, और भुगतान वास्तविक प्रकार पर ध्यान हम यहाँ क्या कर रहे हैं कि. कूल. इनमें से हर एक दूसरे के लिए तो, क्या हम मुद्रण होने जा रहे हैं? छात्र: एक चरित्र. एलीसन: एक चरित्र. कूल. तुम लोग, आप जानना चाहते हैं तो अपने दम पर इन बाहर काम कर सकते हैं. आप परेशानी हो रही है, मुझे ईमेल. लेकिन दूसरा नहीं होगा एक छोटा अक्षर B बाहर प्रिंट. तीसरे एक एक बाहर प्रिंट होगा अपरकेस बी चौथे एक प्रिंट होगा एक अपरकेस सी, और बाहर पिछले एक एक छोटा अक्षर ए हो जाएगा और पिछले one-- हम वास्तव में जा रहे हैं क्या उस पागल प्रतिशत में पाने के लिए साइन भी एक जोड़ी स्लाइड्स में मतलब है. तो अपने दम पर उन की कोशिश. यदि आपको समस्या है, मुझे बात करने आते हैं कृपया. आप एडम्स डी हॉल में आम तौर पर कर रहे हैं, आप शायद मेरे आसपास मिल जाएगा. तो, atoi. आप में से कितने यह देखा है समारोह में सभी इसके बारे में सुना या? कोई है? कूल. तो यह वास्तव में खड़ा है क्या के लिए पूर्णांक आस्की है. तो आप सीज़र के साथ, है क्या कर सकते हैं, कल्पना को पढ़ने के लिए, आप डॉट स्लेश सीज़र क्या करने जा रहे हैं , आप अपने प्रोग्राम लिखने के बाद और फिर आप करने जा रहे हैं कुछ संख्या इनपुट कि आप के साथ अपने गुप्त संदेश सांकेतिक शब्दों में बदलना चाहते हैं. लेकिन, हम, सब याद अगर हमारे आदानों तार के रूप में जमा हो जाती है. है ना? हम एक ARG वी सरणी है कि सभी प्रकार स्ट्रिंग है. आप बस करने की कोशिश तो अगर , कि एक यह होगा पुल लगता है कि कि एक या जो भी संख्या प्रयोग किया जाता है कि आप वास्तव में एक चरित्र है. तो आप को मिल जा रहे हैं कुछ पागल का परिणाम है. तो क्या आप वास्तव में चाहते हैं तो एक पूर्णांक में इस बारी आप में हेरफेर करने के लिए उपयोग कर सकते हैं आपके शब्द या आपके संदेश, आप atoi उपयोग करना चाहते हैं. atoi सिर्फ धर्मान्तरित एक पूर्णांक के लिए अपने स्ट्रिंग. हम कहते हैं कि अगर हम 12 के एक स्ट्रिंग है तो 12 पर atoi, या कि इनपुट है जो भी हो, यह वास्तव में वापस आ जाएगी पूर्णांक आप को. नहीं चरित्र या स्ट्रिंग 12. कौन सा, जब आप शुरू संख्या को जोड़ने के लिए, बहुत अलग हो जाएगा, स्ट्रिंग 12 है क्योंकि कुछ पागल संख्या में आस्की, लेकिन पूर्णांक 12 आप क्या चाहते है, जो वास्तव में 12 है. तो आप atoi उपयोग करने के लिए बनाना चाहते. आप यह चाहते हैं के लिए जा रहे हैं सीज़र में, तुम क्योंकि द्वारा आपूर्ति पूर्णांक जरूरत आदेश पंक्ति में उपयोगकर्ता. लेकिन वे आदेश में डाल दिया जब लाइन, यह एक स्ट्रिंग के रूप में जमा है साथ शुरू करने के लिए. कि मतलब? तुम जरूरी नहीं Vigenere के लिए इस की जरूरत है. Vigenere के साथ, जैसा कि मैंने कहा इससे पहले, आप कोशिश करते हैं और उपयोग करना चाहिए अधिक की तरह लग रहा है कि आस्की गणित आप वास्तव में कर रहे हैं जहां यह, हम आप के लिए दिया जाता है कि घर का काम का उपयोग. कूल. हर कोई वहाँ अच्छा? बहुत बढ़िया. तो सापेक्ष. तो आप क्या दिया जाता है अगर सीज़र के लिए इस विशाल संख्या? आप इस विचार है कि आप जेड पर रहे हैं और आप कर रहे हैं एक दो नंबर दिया, कि आप need-- मतलब जेड दूसरा हो जाता है खुद के बाद पत्र, है ना? तो आप किसी भी तरह के आसपास लपेटो करने की जरूरत है, और सापेक्ष कि ऐसा करने का तरीका है. तो यह सब होता यह है आप शेष देता है के विभाजन की दूसरे से पहले नंबर. और हम कुछ उदाहरण के लिए है एक छोटे से अधिक ठोस है कि बनाने के. लेकिन मूल रूप से, आप सापेक्ष जब आप का उपयोग चारों ओर कुछ चादर बनाना चाहते हैं. आप केवल चाहते हैं तो संख्या आठ के माध्यम से एक, यदि आप किसी अन्य पर सापेक्ष उपयोग कर सकते हैं संख्या, और यह हमेशा जाएगा शून्य से आठ के लिए एक नंबर वापसी. तो अगर कुछ examples-- हम 55 सापेक्ष 10 है यह सिर्फ आप के शेष देता है 55 5 होगा जो 10, से विभाजित. और फिर तीन सापेक्ष पांच, किसी को भी होगा कि लगता है क्या? तीन. आप एक छोटी संख्या से पहले तो अगर सापेक्ष, यह समान रूप में नहीं जा सकते. यह शून्य है. तो यह सिर्फ संख्या ही देता है. तो आठ सापेक्ष आठ होगा? छात्र: शून्य. एलीसन: शून्य. यह समान रूप में चला जाता है. 16 15 modulo? दर्शकों: एक. एलीसन: कूल. और फिर यह पिछले एक बस के लिए है , ठीक है, तुम सोच हो सकता है you-- दिखाने यहां कार्रवाई के आदेश क्या है? हम पहले विभाजित हैं? हम पहले modulo हैं? तो सापेक्ष ही पूर्वता रखती है विभाजन या गुणा के रूप में, और अपने बाएँ साहचर्य. तो यह उसी तरह से है. तुम हमेशा कोष्ठकों करना होगा फिर गुणन, विभाजन, और क्रम में सापेक्ष बाएं से दाएं. तो मानक नियम. बस एक ही श्रेणी में डाल दिया विभाजन और गुणा के रूप में. तो इस मामले में, हम करेंगे 1 प्लस 2 हमें 3 देता है. हम चाहते हैं कि 2 से गुणा, तो हम 6 मिलता है. हम हमें जो देता है, 2 से कि modulo? छात्र: 0. एलीसन: 0. और फिर हम 2 जोड़ने, तो हम यह पिछले मामले में 2 मिलता है. तो आप निश्चित रूप से करने के लिए जा रहे हैं modulo-- शामिल करने के उपायों के बारे में सोच रहे होंगे आप लपेटकर रहे हैं जब कि वर्णमाला के आसपास. आप जेड पर रहे हैं और आप को स्थानांतरित करने की जरूरत है सी को पाने के लिए तीन रिक्त स्थान से आगे, कि पूरी अवधारणा नहीं है चारों ओर लपेटकर की. तो मैं करने के लिए इसे छोड़ देंगे तुम लोगों को बाहर निकालने के लिए वास्तव में आप कैसे इसे प्रयोग करने जा रहे हैं. लेकिन निश्चित रूप से एक उपयोगी उपकरण अपने pset इस सप्ताह के लिए. मैं वास्तव में यह पसंद है. यह मेरा पसंदीदा psets में से एक है. तो फिर आप यह कर के बाद, आप दोस्त हैं, आप की तरह, एक दूसरे को गुप्त भेज सकते हैं संदेशों और यह काम करता है सुनिश्चित करें. यह यह या जो कुछ भी डिक्रिप्ट हूँ क्योंकि. बहुत मज़ा आता. और उस खंड का अंत है. मैं जल्दी समाप्त हो गया. मैं अभी भी 15 मिनट के साथ है इसलिए यदि तुम लोग, कुछ भी नहीं है आप खत्म हो जाना चाहते हैं कि इसके अलावा, मुझे लगता है कि ऐसा करने में खुशी होगी. पर कोई अन्य सवाल आप उन लोगों के लिए अपने pset जो शुरू या कल्पना पढ़ा है. हम बात की है कि कुछ भी पिछले एक घंटे में के बारे में और 15 मिनट तुम मुझे चाहते हैं कि मिलावत की तरह, मैं खुशी होगी. या हम यह इस्तीफा कॉल कर सकते हैं, और आप कर सकते हैं सभी को छोड़ और आप के साथ और अधिक कैंडी ले रूप में तुम जाओ. लेकिन अगर वहाँ किसी भी सुस्त सवाल है, कृपया मुझे पता है. तुम भी आ सकते हैं और मेरे लिए बाद में बात करते हैं. मुझे लगता है मैं काट नहीं है वादा करता हूँ. कुछ और? हर कोई अच्छा है? जैसे हर कोई भावना वे इस pset संभाल कर सकते हैं? तुम ठीक लोगों को होने जा रहे हैं. कार्यालय घंटे एक कारण के लिए वहाँ हैं. कूल. ठीक है. खैर, उस मामले में, धन्यवाद आप सभी आने के लिए बहुत बहुत धन्यवाद. मैं अगले सप्ताह आपको देखने की उम्मीद है. अधिक कैंडी होगा. अन्य ठंडी चीजें हो सकता है. और मैं हो रही करने के लिए तत्पर हैं इस वर्ष आप सभी को पता है.