[संगीत खेल] डेविड मालन: सब ठीक है. वापस स्वागत है. इस CS50 है, और यह है एक सप्ताह, जारी रहेगा. इसलिए हम गुजर रहा हूँ कारणों में से एक जैसी प्रौद्योगिकियों के आसपास गूगल ग्लास वे के साथ आते हैं एक एपीआई के रूप में जाना कुछ है, एक एप्लीकेशन प्रोग्रामिंग इंटरफेस. और क्या इसका मतलब यह है कि साथ सही फ़ाइलें और अधिकार के साथ प्रलेखन, आप वास्तव में लिख सकते हैं इस तरह के और भी उपकरणों के लिए सॉफ्टवेयर. और तो क्या हम की ओर मन में है सेमेस्टरों अंत, अगर एक परियोजना गूगल ग्लास हो सकता है, कहते हैं, को शामिल अपील, हम हम में क्या कर सकते हैं देखेंगे कुछ के साथ आप ऊपर hooking की शर्तें उधार लिया हुआ धन हार्डवेयर के साथ ही सार्वजनिक रूप से सुलभ एपीआई आप कर सकते हैं कि इतना वास्तव में सॉफ्टवेयर का निर्माण शुरू कि एक ही है कि गूगल ग्लास पर चलाता है. हम खेल रहा था कि एक और युक्ति हम हो सकता है कि के देर से सेमेस्टर के अंत में मज़ा है यहाँ इस छोटी सी बात. यह आप क्या कर रहे हैं लीप मोशन कहा जाता है, और है देखने के लिए के बारे में तकनीकी रूप से एक है इस उपकरण के लिए विज्ञापन, लेकिन यह यह विशेष रूप से क्या करने की बात करता है डिवाइस में सक्षम है. और यह भी, के माध्यम से एक एपीआई के साथ आता है आप करने के लिए सॉफ्टवेयर लिख सकते हैं जो एक तरीके से अपने स्वयं के कंप्यूटर पर नियंत्रण काफी यहाँ इस एक मिनट की फिल्म की तरह. [वीडियो प्लेबैक] [अंत वीडियो प्लेबैक] इसलिए अभी, इस उपकरण के लिए होता है एक छोटी सी यूएसबी रूप में लागू किया आप में प्लग कर सकते हैं कि कनेक्टर अपने कंप्यूटर, लेकिन मुझे आश्चर्य नहीं होगा लंबे समय से पहले हम इन प्रकार की है अगर पीसी के अगले बैच में प्रौद्योगिकियों और एमएसीएस आप कर सकते हैं, इसलिए है कि वास्तव में, इसके साथ बातचीत ऐसे ही एक तरीके से. वास्तव में, मुझे लगता है मैं कर सकता हूँ क्या सोचा है, भी, मैं एक छोटे से प्रदर्शन खिंचाई इस सॉफ्टवेयर के साथ आता है कि कार्यक्रम. इसलिए मैं थोड़ा सेंसर डाल दिया है अपने लैपटॉप के सामने. आप देख सकते हैं और यह पहले से ही पता चलता है मेरे हाथ नहीं है कि इसे नियंत्रित करने. और यह सब आवेदन किया जाता है करता है इस तरह कामयाबी से छोटी चीजें. लेकिन आप वास्तव में देख सकते हैं कि मैं वहाँ पाँच उँगलियाँ हैं. हम यह सब 10 पास करने के लिए मिल सकता है, आप साफ पियानो कल्पना कर सकते हैं आवेदन या पसंद है. तो आप कक्षा के बाद आने के लिए करना चाहते हैं तो आज और उस के साथ खेलने के रूप में खैर, आप का स्वागत करते हैं. इसलिए अधिक सेमेस्टर के अंत की ओर उस पर. प्रशासनिक की तो एक जोड़ी घोषणाओं. एक, इस शुक्रवार से खंड करना cs60.net/section पर दोपहर में. उस URL कोर्स पर है साथ ही मुखपृष्ठ. इस बीच, हालांकि, supersections इस रविवार को पहली फिल्म होगी. Supersections एक बार की बात हैं, यह हमें काम करने के लिए कुछ समय लगता है क्योंकि जो खंड में है जो बाहर है और जहां. तो रविवार आ रहा यह एक वहाँ हो जाएगा कम आराम से उन लोगों के लिए खंड, उन लोगों के लिए एक अनुभाग अधिक आरामदायक. और कहीं न कहीं आप में से उन बीच पर जाने के लिए स्वागत है या तो या दोनों या न तो. इन दोनों को फिल्माया जाएगा. वे एक बड़ा सभागार से में हो जाएगा एक अनुभाग सामान्य रूप से अंदर होगा लेकिन यहाँ लक्ष्य के साथ सुसज्जित है समस्या के साथ कुछ आराम, एक सेट CS50 उपकरण के साथ सी,, इस के साथ सप्ताह के अंत में, आपको पता भी करने से पहले अपने औपचारिक अनुभाग असाइनमेंट. तो अगर आप अपने TF और अपने छोटे से मिलेंगे के बारे में sectionmates का समूह एक सप्ताह का समय. कार्यालय समय, इस बीच, चल रहा है. उनमें से आज रात लाभ लेने या करो अगर आप चाहेंगे कल रात. समस्या 0 सेट पर शुक्रवार की वजह से है. यह एक दिन बाद से है गुरुवार नियमित रूप से अनुसूचित. लेकिन समस्या यह है 1 सेट के साथ, आप देखेंगे यह कुछ वार्म अप भी शामिल है कि अभ्यास आप अपने आप के साथ जो विस्तार कर सकते हैं अपने सोमवार से गुरुवार की समय सीमा. समस्या 1 सेट, इस बीच, पहली फिल्म होगी पाठ्यक्रम की वेबसाइट पर इस आ शुक्रवार, आप के साथ कर्ल करना चाहते हैं यह मैं देर से एक समय पर एक बार किया था अपने कमरे में शुक्रवार की रात. तो cs50.net/appliance जगह है जहां आप CS50 उपकरण प्राप्त कर सकते हैं हम सोमवार को इस्तेमाल शुरू कर दिया है. हम आज एक सा और इसे इस्तेमाल करेंगे. लेकिन बाकी समस्या 1 सेट आश्वासन दिया है कि विनिर्देश आप के माध्यम से चलना होगा आप की जरूरत है ठीक कदम उस बनाने और चलाने के लिए. ऐसा करने के बारे में चिंता नहीं है कि इससे पहले Pset 1 आप बल्कि नहीं चाहते हैं. ठीक है. इसलिए हम स्रोत कोड पर सोमवार को देखा लेकिन एक नए के संदर्भ में प्रोग्रामिंग भाषा, अर्थात् सी. और सी, स्क्रैच विपरीत, चित्रमय नहीं है. यह टुकड़े पहेली नहीं है. यह अधिक अंग्रेजी की तरह वाक्यविन्यास है. और शामिल कदम की एक जोड़ी है वास्तव में एक लिखने और चलाने में सी में कार्यक्रम, क्योंकि इसके अलावा स्रोत इस तरह कोड, आप कुछ की जरूरत एक संकलक कहा जाता है. और आम आदमी की दृष्टि में, क्या एक संकलक हमारे लिए क्या करता है? हाँ. छात्र: यह कोड धर्मान्तरित आप 0 और 1 को लिखने कि. डेविड मालन: अच्छा. तो यह कोड है कि धर्मान्तरित हम 0 और 1 के लिए लिखें. यह करने के लिए तथाकथित स्रोत कोड धर्मान्तरित वस्तु कोड, जिनमें से बाद के लग रहा है इस तरह एक छोटे से कुछ. और इसके अंदर, दिमाग अपने CPU आपके कंप्यूटर, उस की वजह से उन कंप्यूटरों बनाने वाले लोग, पता है क्या उन दृश्यों 0 और 1 का मतलब है. शायद यह प्रिंट मतलब है. शायद यह इसके अलावा इसका मतलब है. शायद यह घटाव का मतलब है. शायद यह एक ग्राफिक प्रदर्शन का मतलब है. बिट्स की पूर्वनिर्धारित पैटर्न हैं दुनिया का मतलब यह तय किया है कि कुछ बातें. लेकिन इस कोर्स में सबसे अधिक भाग के लिए, हम एक उच्च स्तर पर काम करते हैं, और हूँ वहां मौजूद लिए दी है कि हम ले लेंगे कर सकते हैं कि compilers की तरह बातें हमारे स्रोत कोड समारोह रास्ते में हम चाहते हैं. इसलिए इस कार्यक्रम में हम पिछले सप्ताह पहले लिखा था और फिर ऐसा करने के लिए, बंदरगाह के लिए शुरू किया यह पिछले करने के लिए सी, बात सोमवार, यह था. हरे ध्वज क्लिक किया, नमस्कार कहना. यह, ज़ाहिर है, था स्क्रैच में लिखा है. और मैं ने दावा किया है कि बराबर सी में कार्यक्रम के एक छोटे से देखा कुछ इस तरह. तो मैं क्या, हम पहली बार में कर लगा की पहली पर लग रहा है, क्या अलग तंग करते हैं नज़र, बेशक, के रूप में काफी रहस्यमय वाक्यविन्यास, लेकिन आप सूचना के लिए शुरू करेंगे पैटर्न बहुत जल्दी. क्या हम आज भी करता हूँ प्रदान है कुछ के लिए एक मानसिक मॉडल के साथ विहित, कुछ मानक निर्माणों प्रोग्रामिंग में. और फिर हम वास्तव में हमारे हाथ मिलेगा कुछ उदाहरणों के साथ गंदा के रूप में अच्छी तरह से. तो और अधिक आरामदायक आप उन लोगों के लिए, एहसास है कि इस सप्ताह और फिर अगले सप्ताह बहुत अच्छी तरह से समीक्षा की एक सा हो सकता है. लेकिन खासकर जब हैकर संस्करण की समस्या 1 पर बाहर चला जाता है सेट शुक्रवार को पाठ्यक्रम की वेबसाइट है, मुझे लगता है आप पाएंगे कि आप में भरने के रूप में भी अगले हफ्ते या दो से अधिक कुछ कारतूस, यदि आप कभी भी और अधिक पाने के लिए शुरू कर देंगे चुनौती दी और मुठभेड़ नए और नए बातें. तो चलो इसके अलावा कार्यक्रम तंग एक समय में कुछ लाइनें. बहुत शीर्ष पर, हम क्या है तकनीकी रूप से एक कहा जाता है पूर्वप्रक्रमक निर्देश. यह कहना है कि सिर्फ कोड की एक पंक्ति है एक फाइल की सामग्री को शामिल करने के लिए, कहा जाता मानक मैं / एन, मानक इनपुट - या, माफ करना, मानक मैं / हे, मानक इनपुट / आउटपुट,. घंटे के अंदर मेरे अपने कार्यक्रम का. तो दूसरे शब्दों में, मैं यह लिखा है अगर की तरह एक साधारण पाठ संपादक के साथ कार्यक्रम जीएडिट के सरल बराबर कुछ माइक्रोसॉफ्ट वर्ड की तरह, कि शिक्षा, # stdio.h में शामिल हैं, बस है संकलक बताने जा रहा, हड़पने कि अन्य फाइल की सामग्री, stdio.h, और यहीं उन्हें पेस्ट करें. अब, मैं क्यों परवाह करते हैं? क्या हम दावा किया था इस फाइल के अंदर है संग्रहीत किया जाता है, जो कहा जाता stdio.h, कहीं मेरे हार्ड ड्राइव पर, या इस में CS50 उपकरण में मामला, कहीं? किसी और मेरे लिए वहाँ रखा. लेकिन क्या उस में है? हाँ, तो इसके बारे में एक घोषणा है printf नामक एक समारोह. तो printf समारोह याद करते हैं कि प्रदर्शित करता है शब्द और अक्षर और मेरी बोली में स्क्रीन पर नंबर. लेकिन मैं यह नहीं लिखा था. CS50 यह नहीं लिखा था. किसी साल पहले लिखा था, और वे अनिवार्य रूप से हमें इसके लिए नुस्खा दिया stdio.h नामक एक फ़ाइल में. पहली लाइन बस मुझे पहुँच देता है तो कार्य करने के लिए कि किसी और को बीच में, साल पहले लिखा था printf हैं. अब, अगली पंक्ति मैं लहर करने के लिए जा रहा हूँ मेरे कम से कम अगले सप्ताह तक पर हाथ,. लेकिन अब के लिए, int मुख्य (शून्य) को पता है कि इस का अनिवार्य रूप से बराबर पीले रंग की पहेली टुकड़ा जब हरे ध्वज क्लिक किया. दुनिया, साल पहले, निर्णय लिया है कि अगर आप में एक कार्यक्रम लिख रहे हैं सी कहा जाता भाषा, आप शुरू एक लाइन के साथ अपने कार्यक्रम कि ऐसा लग रहा है. बस के बारे में एक सप्ताह के समय में, यह कर दूँगा क्या है INT भावना, क्या शून्य है. लेकिन अब के लिए, सिर्फ यह सोचने इस पीले पहेली टुकड़े के रूप में. अब अगला, हम बाद घुंघराले ब्रेस है एक और करीबी घुंघराले गले से, इतनी बात करने के लिए. और हम भर में इन देखेंगे सी, साथ ही साथ में कार्यक्रम जावास्क्रिप्ट और PHP. और ये सिर्फ encapsulate कोड के संबंधित लाइनों. अनिवार्य रूप से खुला घुंघराले ब्रेस यहाँ कुछ कोड आता है, कहते हैं. और जो बंद घुंघराले गले लगा, अन्य दिशा में angled, बस इसका मतलब है, उसके लिए यह बात है प्रासंगिक कोड. यह पहली बार में तो रसदार लाइन कार्यक्रम आखिरी, printf है, बोली गंदें शब्द बोलना, हैलो दुनिया. और मैं के बीच बात बुलाया क्या पिछली बार उद्धरण? तो यह एक स्ट्रिंग है. और एक स्ट्रिंग सिर्फ तकनीकी विशेषज्ञ है के एक दृश्य के लिए शब्द वर्ण, एक शब्द, एक वाक्यांश. यहां तक ​​कि एक भी पत्र सका डबल उद्धृत किया. लेकिन यह शून्य के एक दृश्य है या अधिक अक्षर. बैकस्लैश-N, हालांकि, लग रहा है एक अजीब सा. लेकिन यह केवल कुछ मतलब होता है कंप्यूटर को सरल. बैकस्लैश-N क्या है? नई लाइन. इसलिए कि सिर्फ विशेष अनुक्रम की है दुनिया का निर्णय लिया गया है कि वर्ण इसका मतलब है, वहीं एक लाइन तोड़ डाला संकलक वास्तव में मिल जाएगा क्योंकि उलझन में, आम तौर पर, अगर आप बहुत जाहिर है, लेकिन गलत तरीके से, बस डाल करने के लिए दर्ज मारने शुरू अपने कोड में नई लाइनों. आप एक छोटे से अधिक होने की जरूरत बैकस्लैश-n के साथ स्पष्ट. और हम कुछ अन्य वहाँ देखेंगे ऐसे विशेष वर्ण का पैटर्न. उदाहरण के लिए, अगर तुम चाहते थे बताने के लिए आपके एक कोने मामले को भटकना मन, मैं एक मुद्रित करने के लिए चाहते थे कि लगता है के लिए स्क्रीन पर दोहरे उद्धरण जो भी कारण, कि प्रतीत होता है ठीक है, एक छोटे से समस्याग्रस्त हो? क्योंकि मैं में एक दोहरे उद्धरण डाल "नमस्ते, दुनिया" के लिए के बीच जो कुछ भी कारण, क्यों लगता है कि संभावित समस्याग्रस्त? यह तार टूट. संकलक सिर्फ एक कार्यक्रम है. एक संकलक की तरह एक कार्यक्रम बस जा रहा है नीचे करने के लिए अपने कोड शीर्ष पढ़ने के लिए, सही करने के लिए छोड़ दिया है. और अगर बजाय तीन डबल उद्धरण देखता है दो की, यह पता करने के लिए नहीं जा रहा है क्या आपका मतलब है कि अगर बाईं ओर बात स्ट्रिंग, या बात करने के लिए होना चाहिए ठीक है, या पूरी बात. यह अस्पष्ट है, और तो क्या एक ठेठ संकलक बस, बाहर बेकार है करना होगा और आप कुछ त्रुटि संदेश दे, और आप समस्या के साथ सौदा करते हैं. तो बैकस्लैश-N एक नया अर्थ दिया है कि रेखा, क्या होगा अपने सहज ज्ञान अब आप शामिल करना चाहता था होना शुरू एक डबल तरह विषम कुछ इस अन्यथा उद्धृत के अंदर बोली स्ट्रिंग? बैकस्लैश डबल भाव. और इसलिए हम यह देख लेंगे बहुत पैटर्न की तरह. आप कुछ एक छोटे से करना चाहते हैं अजीब बात है, तो आप पाएंगे कि समाधान अक्सर एक पैटर्न का पालन करें, और बैकस्लैश एक भागने अनुक्रम अर्थ. और यह सिर्फ कुछ खास मतलब है हम एक में प्रतिनिधित्व करने के लिए जरूरत है कि अलग तरह से. आप कैसे का प्रतिनिधित्व करते हैं के लिए के रूप में एक बैकस्लैश, ठीक है, हम करेंगे वापस करने के लिए आते हैं. लेकिन इस सवाल का जवाब भी है, वास्तव में है एक बिट स्पष्ट. तो चलो अब कुछ अन्य परिचय प्रोग्रामिंग आप स्क्रैच में देखा था. तुम्हें शायद प्रदान के लिए लिया गया है आप पहले से ही में डुबकी लगाई दिया है जो पहले से ही अगर समस्या 0 सेट. लेकिन अब सी में वाक्यविन्यास परिचय इन अन्यथा काफी सहज ज्ञान युक्त के लिए विचारों, उनमें से कम से कम कुछ. तो यह एक शर्त है की धारणा या एक शाखा, जबकि पहले हम देखा कि कोड के साथ यह प्रतिनिधित्व स्क्रैच में छोड़ दिया पर इस तरह - एक्स वाई से भी कम है, तो ऐसा कहते हैं - बजाय अब सी में - मुझे सान जाने सरल मामले पर में - खुला, अगर हम बस, कहने जा रहे हैं कोष्ठक, कुछ सच है - एक बूलियन अभिव्यक्ति जाना जा रहा है मैं शर्त ने कहा है कि जहां - बंद कोष्ठक, तो क्या है उन घुंघराले ब्रेसिज़ के अंदर. तो यहां भी, घुंघराले ब्रेसिज़ तरह की खरोंच है की तरह कर रहे हैं यू के आकार का पहेली टुकड़े. इन घुंघराले ब्रेसिज़ के अंदर है क्या करना है. इस मामले में, स्लैश स्लेश. और यह एक आगे है नोटिस नहीं, एक बैकस्लैश स्लेश. आगे स्लैश, फ़ॉरवर्ड स्लैश, क्रमादेशित है जो उन लोगों के लिए इससे पहले, बस का अर्थ है - यह सिर्फ एक टिप्पणी है. एक टिप्पणी एक लाइन नहीं है कोड के, दर असल. यह अंग्रेजी की एक पंक्ति है कि आप, मानव, अपने आप को लिखा है शायद करने के लिए, कुछ करने के लिए आपको याद दिलाना समझाने के लिए, अपने आप को समझाने किसी और अपने कोड क्या कर रही है. यह सिर्फ एक वर्णनात्मक टिप्पणी है. अब, ज़ाहिर है, हम दो तरह से हो सकता है सिर्फ ऐसा करके सड़क में कांटा, एक ऐसा करके सड़क में तीन तरह कांटा यह है, और आप इस जारी है पैटर्न, आप चार रास्ता हो सकता है, सड़क में पांच तरह, छह तरह के कांटे अगर आप वास्तव में संभाल करने की जरूरत है कई स्थितियों है कि. और फिर यहाँ समानता नोटिस - (शर्त), और अगर अगर (शर्त), और एक छोटी सी है कि केवल एक ही अजीब बात है, पिछले है जो सिर्फ इतना है कि कुछ और है. लेकिन फिर, यह समान है, धारणा, हम क्या किया है करने के लिए पहले से ही, भले ही वाक्य रचना करेंगे करने के लिए इस्तेमाल किया जा रहा एक छोटा सा ले. अब, इस उदाहरण में, वहाँ रहे हैं कुछ अन्य अजीब वाक्यविन्यास. हम printf फिर देखना, खुला कोष्ठक, और बंद कोष्ठक. और वहाँ के अंदर है एक उद्धृत स्ट्रिंग. संदर्भ में कोष्ठकों, printf के बाईं तरफ जाना और क्या सही है? हम चाहते हैं कि उद्धृत वर्णन क्या है अधिक आम तौर पर के रूप में स्ट्रिंग? तो यह एक तर्क है. आप चाहें, तो एक समारोह है किसी भी समय printf, और फिर एक खुले कोष्ठक और एक के अंदर करीब कोष्ठक और कुछ यह, यह एक स्ट्रिंग है, या एक है कि क्या पूर्णांक, या कुछ और, में बात उन कोष्ठकों के बीच कहा जाता है एक तर्क. और एक तर्क सिर्फ प्रभावित करती है समारोह के व्यवहार. इस मामले में, यह कैसे बहुत स्पष्ट है. एक्स