[संगीत खेल] डेविड Malan: सब ठीक है इस CS50 है और इस सप्ताह के अंत है. इसलिए मैं अपने पूर्व शुरू करना चाहते हैं advisee, Andel गूंथा हुआ आटा, न केवल बनाता है जो 5 iPhone इस रूप में भी खड़ा है, ज्ञानतीठ, वह भी कारें बनाती है. ANSEL गूंथा हुआ आटा: कैसा चल रहा है, सब लोग? मैं बस आप एक छोटे से कहना चाहता हूँ फॉर्मूला एसएई, के बारे में थोड़ा जिनमें से मैं कप्तान हूँ. यह एक एमआईटी की टीम है. मैं बस आपको बताना चाहता हूँ लोग इसके बारे में एक छोटा सा और उम्मीद है कि कुछ रुचि पैदा. तो मुझे सिर्फ एक के माध्यम से चलाते हैं हमारी टीम के बारे में कुछ बातें. इसलिए हम पूरी तरह से कर रहे हैं छात्र रन, जिसमें सभी सदस्यों डिजाइन की, अनुकरण, एक उपतंत्र परीक्षण, और निर्माता कार की. हम अपने मशीन की दुकान है और गैरेज, और N52-- या क्षमा करें, एक ही इमारत है जो N51-- एमआईटी विज्ञान संग्रहालय के रूप में. और हम लोग हैं कि कार ड्राइव. एक राष्ट्रीय प्रतियोगिता नहीं है गर्मियों की शुरुआत में, और फिर छोटे गोलीबारी कर रहे हैं साल भर प्रतियोगिताओं. और फिर हम चालक प्रशिक्षण दिन नए सदस्यों को परिचित करने के लिए. हमारे निर्माण दिनों पर हैं 11:00-20:00 शनिवार. दोपहर के भोजन और रात के खाने के ख्याल रख रहे हैं की, Bertucci की और Beantown से क्रमशः. हम एक साप्ताहिक बैठक है और पाठ्यक्रम क्रेडिट के लिए है जो संगोष्ठी,. जो इस सेमेस्टर के रूप में नया है, और यह भी, अगले सेमेस्टर के लिए किया जाएगा तो तुम पार reg सकता है के लिए. और फिर हम, डिजाइन, दुकान है और सप्ताह के दौरान सीएडी दिन, सदस्यों स्वतंत्र रूप से करेंगे, जबकि सीएडी भागों, क्रम शेयर वगैरह. बिजली के लिए तो टीम में इंजीनियरिंग हम अपने आकर्षक है, उच्च वोल्टेज प्रणाली, जो एक नाममात्र रन पर जो भी शामिल 300 वोल्ट, मोटर्स, मोटर नियंत्रकों, और बैटरी पैक. तो फिर हम एक कम है चलाता है जो वोल्टेज प्रणाली, 12 वोल्ट पर, जो भी शामिल है नियंत्रण, मस्तिष्क नोड्स कर सकते हैं बॉक्स, और डैशबोर्ड. जहाँ तक सीएस हम करते हैं, चला जाता है वेबसाइट रखरखाव हम घटनाओं के लिए किया जरूरत है, सदस्यता परिवर्तन, नई तस्वीरें, और पीआर सामग्री. और फिर हम नियंत्रित करता है कि कोड है हमारे कर्षण नियंत्रण, प्रक्षेपण के लिए कार नियंत्रण, पानी का छींटा नियंत्रण, टोक़ vectoring, पुनर्योजी ब्रेक लगाना प्रणाली, और जो MATLAB में आम तौर पर चलाने के लिए, Simulink, और LabView. आप कार के बारे में थोड़ा बताना. तो यह लगभग 500 पाउंड है. यह 85 किलोवाट तक सीमित नियम है. यह 2 EMRAX 207 मोटर्स है पीठ, प्रत्येक रियर व्हील के लिए एक. यह कस्टम निर्मित बैटरी पैक है प्रिज्मीय A123 थैली कोशिकाओं से, 300 वोल्ट के कुल योग को 5.6 किलोवाट घंटे. और इसके साथ प्रत्यक्ष ड्राइव है एक 2.64-1 ड्राइव अनुपात. यहाँ कुछ तस्वीरें हम कर रहे हैं प्रतियोगिता में इसके बारे में ले लिया. यहाँ वापस, नाक शंकु है, और यहाँ मोटर्स, कर रहे हैं उन बड़े काले डिस्क नीचे एट पुरुषों के मानुस. यहाँ मैं खींच लिया है कि एक स्लाइड है हमारी प्रतियोगिता योजना से बाहर. और यह सिर्फ एक के लिए हमारी कार की तुलना है व्यावसायिक रूप से उपलब्ध कारों की जोड़ी, केटीएम XBOW, एरियल तरह एटम, और Caterha एम 7-280. आप मूल्य के साथ परिचित हैं, तो बिजली अश्वशक्ति प्रति डॉलर वजन खींच, टोक़ प्रति डॉलर है, और हमारी कार पानी से बाहर उन सब चल रही है. आप किसी भी प्रश्न हैं, यह ईमेल पता नीचे संक्षेप में लिख. हमें fsae@mit.edu पर एक ईमेल शूट. हम इस बारे में बात करने के लिए खुश हैं आप चाहें तो कुछ भी. हार्वर्ड छात्रों तरह हैं टीम पर अल्पसंख्यक की. आप के बारे में कोई सवाल है, तो कि हमें एक ईमेल शूट कृपया है, खुश बात करने के लिए, और मैं जा रहा हूँ वापस दाऊद के लिए सिर पर. धन्यवाद. मैं, लोग इसे सराहना करते हैं. [वाहवाही] डेविड Malan: Ansel गर्मियों खर्च CS50 में परिसर में यहाँ हमारे साथ काम इस गर्मी. और पर काम करने के अलावा में बाइनरी बल्ब की तरह बातें, वह वास्तव में वास्तव में खोला हमारे eyes-- और particular-- में मेरा किस वास्तव चौराहे तक नहीं हार्डवेयर और सॉफ्टवेयर का हो सकता है. चीजों की वास्तव में एक बहुत वह सिर्फ आप के माध्यम से अंत में कर रहे हैं का दौरा किया पहला सॉफ्टवेयर में बनाया, और फिर अंत में गढ़े हार्डवेयर में असली दुनिया में. आप में रुचि रखते हैं तो उस चौराहे की खोज, शायद उस समूह ले. आप में से अब इस बीच, उन प्रौद्योगिकी के प्रशंसकों जो कर रहे हैं, और एप्पल के उत्पादों में खास पता है कि वहाँ के एक जोड़े थे घोषणाओं कल. लेकिन हम हम दिखाने लगा बाहर आया था कि आप एक कुछ दिन पहले कि तुम्हें देखा है नहीं हो सकता है. JORGEN EGHAMMER: तुम्हें पता है, एक बार थोड़ी देर में कुछ उस के साथ आता है हम जीने का तरीका बदल जाता है. एक डिवाइस इतना सरल और सहज यह प्रयोग कर लगभग परिचित लगता है. 2015 में IKEA सूची का परिचय. यह एक डिजिटल किताब नहीं है या एक ई बुक, यह एक किताब किताब है. नोट करने के लिए पहली बात नहीं है केबल्स, नहीं भी एक विद्युत केबल. 2015 में IKEA सूची आता है पूरी तरह से चार्ज और बैटरी जीवन अनन्त है. इंटरफ़ेस, 8 इंच से 7.5 लेकिन 8 इंच से 15 तक विस्तार कर सकते हैं. नेविगेशन स्पर्श स्पर्श पर आधारित है आप वास्तव में महसूस कर सकते हैं कि प्रौद्योगिकी. सामग्री पहले से स्थापित आता है 328 उच्च परिभाषा पृष्ठों के माध्यम से होम फर्निशिंग विचारों प्रेरक की. ब्राउज़िंग शुरू करने के लिए, बस स्पर्श और खींचें. राइट आगे बढ़ने के लिए छोड़ दिया करने के लिए, पीछे की ओर ले जाने के लिए सही करने के लिए छोड़ दिया है. कुछ और नोटिस? यह सही है. कोई अंतराल. प्रत्येक क्रिस्टल स्पष्ट पेज तत्क्षण भार, कोई फर्क नहीं पड़ता कि आप स्क्रॉल कितनी तेजी से. आप एक त्वरित अवलोकन प्राप्त करना चाहते हैं, सिर्फ अपने हाथ की हथेली में पकड़, और सिर्फ अपने अंगूठे का उपयोग कर, गति सामग्री को ब्राउज़. आप कुछ पाते हैं आप को बचाने के लिए चाहते हैं बाद के लिए, आप बस इसे बुकमार्क कर सकते हैं. और आप आवेदन बंद है, भले ही आप आसानी से फिर से बुकमार्क पा सकते हैं. कमाल है. [हंसी] [वाहवाही] इसलिए कि हमें लाता है सप्ताह के अंत. अब कुछ घोषणाएँ. तो सेक्शनिंग प्रगति में है. यहाँ इस यूआरएल कुछ देर के लिए जाओ अब और शुक्रवार दोपहर में बीच वास्तव में आप कर रहे हैं कि क्या निर्दिष्ट करने के लिए कम आराम से उन लोगों के बीच, और अधिक आरामदायक, या बीच में कहीं. यह आमतौर पर उन लोगों में से एक है आप बस की तरह पता है कि चीजें. और आप में से उन वास्तव में कम जो कर रहे हैं शायद के रूप में ज्यादा पता है, आराम से, अधिक कर रहे हैं जो लोग आरामदायक, के रूप में ज्यादा जानते हैं और आप काफी यकीन नहीं कर रहे हैं फिर अगर जो आप कर रहे हैं में उन बाल्टियों की आप गिर शायद बीच में कहीं. लेकिन बाकी आप स्वैप कर सकते हैं आश्वासन दिया कुछ हफ़्ते के बाद अगर जरूरत हो. इस बीच, आने वाले सप्ताह के लिए हम, एसई प्रति वर्गों शुरू नहीं करते लेकिन सुपर वर्गों, जो सभी छात्रों के लिए खुले हैं. यह करने के लिए एक स्थान पर रविवार को आ रहा है पाठ्यक्रम वेबसाइट पर घोषित किए हम के लिए एक होगा कम आराम से उन, साथ ही साथ एक के लिए उन अधिक आरामदायक. और बीच में उन कहीं उन दोनों में से चुन सकते हैं जो, यदि आप चाहते हैं या दोनों, बैठने में करने पर. और उन का फोकस सी पर अंततः हो जाएगा, जो हम जारी रखेंगे हमारे आज की बातचीत. समस्या 0 इस बीच सेट उम्मीद है कि अपने हाथों में. आधिकारिक तौर पर कारण कल, गुरुवार, दोपहर में. आप एक भुनाने जब तक अपने 5 देर दिनों की, यह लाना होगा जो दोपहर में शुक्रवार तक. समस्या 1 इस बीच होगा सेट पाठ्यक्रम की वेबसाइट पर लिखा है. और यह हमारी पहली बार होगा सी में एक वर्ग के रूप में धावा और कहा कि समस्या सेट कल्पना से चलना होगा क्या यांत्रिकी के एक बहुत माध्यम से हम सोमवार को के बारे में बात कर शुरू और हम आज के बारे में बात जारी रखेंगे. सी, लिनक्स, CS50 उपकरण, कि सभी विनिर्देश में आप का इंतजार करेंगे. कार्यालय समय के बीच चल रहे हैं, स्नातक डायनिंग हॉल में. देखने के लिए यहाँ इस यूआरएल के लिए सिर आज रात और कल के लिए समय, आप हिस्सा लेना चाहते हैं. इस बीच प्रश्न है, तो आपको लगता है कि सवाल पूछने के लिए अवसर asynchronously, 24/7, आप कर रहे हैं एहसास वर्गों और कार्यालय तक सीमित नहीं घंटा, बल्कि इस उपकरण यहाँ, CS50 कि यूआरएल पर चर्चा पाठ्यक्रम के ऑनलाइन हो जाएगा बुलेटिन बोर्ड सॉफ्टवेयर, जो के माध्यम से आप के प्रश्न पूछ सकते हैं सहपाठियों और भी स्टाफ. तो ध्यान में रखना है कि संसाधन के रूप में अच्छी तरह से. इस बीच एक परंपरा इस शुक्रवार शुरू होता है. आप से झलक हो सकता है पिछले बुधवार को चिढ़ाने के वीडियो, हम सबसे एक परंपरा है अवधि के दौरान हर शुक्रवार को के कुछ 50 छात्रों को ले जा रही है और कहा जाता है एक स्थानीय रेस्तरां में स्टाफ आग और बर्फ, जिस पर हम कर रहे हैं आम तौर पर कुछ पूर्व छात्रों से जुड़े हुए उद्योग से या मित्रों आम तौर कामना एक बड़े वर्ग छोटे महसूस कराने के लिए. तो यह एक पूरी तरह से आकस्मिक दोपहर का भोजन है. हम में से एक गुच्छा, स्टाफ विशेष रूप से, संगीत कुर्सियों खेलेंगे और के बारे में छात्रों के साथ चैट 50, 50 के बाहर जीवन, भविष्य में जीवन, असली दुनिया, मैं नौकरी के अवसरों के बारे में बात कर रहा हूँ उद्योग में दोस्तों के साथ. आप हमारे साथ शामिल करना चाहते हैं तो इस शुक्रवार, यहाँ इस यूआरएल के लिए सिर. स्थान सीमित है, लेकिन हम ऐसा करेंगे recurringly अवधि के दौरान. Cs50.harvard.edu/rsvp को वहाँ सिर. और आप में नहीं मिलता है इस समय, चिंता करने के लिए नहीं. हम में इसे फिर से करना होगा आने वाले हफ्तों में अच्छी तरह से. तो यह तस्वीर है हम पिछले सप्ताह चित्रित और आप शायद किया गया है इस प्रकार अब तक में dabbling. लेकिन अब इस कनेक्ट करने का प्रयास करते हैं हम आज क्या करने जा रहे हैं उससे और आगे. मैं एक स्वयंसेवक मिल सकता है? सब ठीक है, या कई. कैसे यहाँ पर के बारे में अंत, नीली शर्ट में. ऊपर आओ, तुम्हारा नाम क्या है? Alana: Alana. डेविड Malan: Alana. तो Alana, के लिए सिर्फ एक moment-- अच्छा you-- को पूरा करने के लिए भूमिका निभा रहा है यहां इस समारोह का. हम है बैंगनी ब्लॉक एक समारोह इस प्रकार अब तक कहा जाता है. तो क्या मैं जा रहा हूँ आगे यहाँ और Alana की पेशकश एक छोटे से नाम टैग है, बनाने के लिए स्पष्ट है कि आप खेल रहे हैं क्या भूमिका. तो आप कहते ब्लॉक किया जाएगा. आप आगे जाना है और उस पर रखना चाहते हैं. और हम करने जा रहे हैं सुपर सरल रखना. हाथ में लक्ष्य को आसानी से है अब Alana साथ लागू करने के लिए, तथाकथित यह ब्लॉक कहना यहां यह काम करने के लिए जा रहा है कि कैसे है. मैं यह कहते हैं have-- एक तर्क या पैरामीटर, यह वास्तव में सिर्फ कागज का एक रिक्त पत्रक है. और यह किस तरह की याद ताजा होने के लिए सफेद है सफेद बॉक्स की जो में आप शब्द लिख सकते हैं. इस बीच मैं यहाँ जाने के लिए जा रहा हूँ. मैं आगे जाने के लिए जा रहा हूँ और एच ई एल एल ओ अल्पविराम दुनिया लिखें. प्रोग्रामर कहते हैं और अब मैं नहीं करना वास्तव में कुछ कहने के लिए कैसे पता है. मैं शब्दों के साथ आ सकते हैं, लेकिन मैं यह जरूरी नहीं है अपने आप को व्यक्त करने के लिए पता मौखिक रूप से या स्क्रीन पर. और इसलिए मैं जा रहा हूँ इस टुकड़ा ले जाता है ऐसा करने के लिए जिसका input-- कार्यक्षमता, की या तर्क, हम यह फोन करता हूँ के रूप में, मैं paper-- के इस टुकड़े पर लिखा है और मैं यह आउटसोर्स करने के लिए जा रहा हूँ. और वास्तव में उस भूमिका है कि एक प्रोग्रामिंग भाषा में कार्य करता है खेल सकते हैं. ऐसा कुछ कहो ब्लॉक आउटसोर्स किया जा सकता है किसी के लिए जो वास्तव में जानता है क्या वह या वह बारे में बात कर रही है. तो तुम पर कदम होगा अगर यहां सिर्फ एक पल के लिए, मैं इस इनपुट पारित करने के लिए जा रहा हूँ Alana, और आप इस निवेश का कहना है कि पूछो. Alana: हैलो, दुनिया. डेविड Malan: यह बात है. तो यह है कि एक समारोह है. अब हम एक छोटे से अधिक ले जा सकते हैं, हम आगे यहाँ एक कदम ले जा सकते हैं. कि स्पष्ट रूप से underwhelming था. तो चलो अब इस परिवर्तित करते हैं कुछ एक छोटे से अधिक परिष्कृत. तो निश्चित रूप से यह हमारे सी संस्करण है. तो अब आप कि लेने के लिए चाहते हैं एक बंद, बंद उस नाम टैग, और कहते हैं कि तुम एक नया नाम पर डाल दिया करते हैं. लेकिन मौलिक आप कर रहे हैं वही भूमिका निभा, यह सिर्फ इतना करने के लिए होता है अब printf बुलाया जाना. कहानी, ज़ाहिर है, शायद be-- के लिए जा रहा बस underwhelming-- है के रूप में जा निम्नलिखित हो. अब आप समारोह printf हैं. मैं फोन करने वाले हूँ, या प्रोग्रामर, जो चाहता है के कंधों पर खड़ा करने के लिए तुम जैसे अतीत में लोगों, पहले से ही बाहर कैसे सुलझा लिया जो वास्तव में करने के लिए कुछ लिखो. और इसलिए इस बार, यह चलो कहना बजाय वास्तव में यहाँ पर हमारे स्क्रीन का उपयोग करें. आप कदम चाहते हैं तो यहाँ पर, मैं जा रहा हूँ के रूप में फिर से यह पारित करने के लिए मेरे printf दोस्त को इनपुट. आप आगे जा सकते हैं और स्क्रीन पर कि प्रिंट, बस के साथ बैठक करके अपनी काली स्क्रीन पर उंगली. बहुत बढ़िया. सभी अधिकार, रहस्य के बहुत सारे के लिए तो कैसे है कि बाहर खेलने के लिए जा रहा था. तो अब एक चीजों को ले जाने अंतिम पायदान, हम कर सकते हैं, इस प्रकार है. तो यह एक सी कार्यक्रम है के रूप में हम पिछली बार कहा. और यह सिर्फ तुम, यह क्या किया करता है स्क्रीन, नमस्कार, दुनिया के लिए बाहर प्रिंट. यहां तक ​​कि एक बहुत स्पष्ट रूप से नहीं है, हालांकि वहाँ का ध्यान भंग सामान. लेकिन एक पायदान ऊपर बातें ले जाने और याद है, जो इस संस्करण शुरू तीसरे संस्करण था कि हम पिछली बार के साथ समाप्त हुआ. और अब स्पष्ट रूप से नहीं है printf की दो का उपयोग करता है. Alana को 2 कॉल भी नहीं है printf के लिए इस मामले में, लेकिन यह भी एक फोन है एक अन्य समारोह के लिए. स्पष्ट रूप से उस समारोह में क्या है? Getstring. हम एक और स्वयंसेवक मिल सकता है? ठीक है, पर आते हैं. आपका नाम क्या है? जेवियर: जेवियर. डेविड Malan: जेवियर, ऊपर की ओर आते हैं. तो जेवियर की भूमिका पर है इस कागज के टुकड़े. मैं सामान्य रूप से कॉल करने के लिए जा रहा हूँ. अब यह एक चर यह है, है प्रकार स्ट्रिंग की, के रूप में निहित वहाँ बीच में है कि दूसरी लाइन से. और मैं आप मुझे एक स्ट्रिंग मिल जाना चाहते हैं. विशेष रूप से ऑर्केस्ट्रा के लिए नीचे सिर खंड और मुझे किसी का नाम मिलता है, और एक चर के साथ वापस आ गए उस मूल्य से युक्त. यह आप चाहते हैं किसी को भी हो सकता है. ये रहा. सब ठीक है, जेवियर है नाम नीचे लिख. ठीक है. हम सब शायद कैसे अनुमान लगा सकते हैं इस बाहर खेलने जा रही है. हम शायद belaboring रहे का क्या मतलब एक समारोह कर रहा है, लेकिन फिर भी आपको बहुत बहुत धन्यवाद. तो जेवियर इस स्ट्रिंग वापस आ गया है यहां काफी, जो देख नहीं सकते जोनाथन स्ट्रिंग है हम मिल गया है. तो अब मैं वास्तव में क्या जा रहा हूँ हालांकि Alana को प्रदान करने के लिए एक छोटे से कुछ अलग है. क्योंकि के इस संस्करण में कार्यक्रम, पहली बार अपने नाम राज्य है. बहुत पहले तर्क तो मैं Alana प्रदान करने की आवश्यकता होने जा रहा है साथ सचमुच अपने नाम राज्य. कि इतना सरल रूप में सब ठीक है, मैं आपको यह हाथ में होगी. और मैं लिखने के रूप में अगले तर्क, आप अगर आगे जाकर यह लिखना चाहते हैं बोर्ड पर, चलो आगे चलते हैं और बनाने के लिए यहां अंतिम उदाहरण करना अंत में हो गया है क्या साफ है. तो अपने नाम राज्य, ऊपर की ओर यह लिखना अगर आप बुरा नहीं है, बस इतना है कि हम एक दूसरी पंक्ति के लिए कमरा है. आखिरी बात यह है क्योंकि मैं जा रहा हूँ एक नहीं है के साथ अब आप प्रदान करने के लिए, लेकिन कागज के दो टुकड़े. ठीक है. एच ई एल एल ओ अल्पविराम और फिर एक खाली लाइन. मैं अब Alana हाथ करने के बारे में हूँ तो क्या हुआ एक छोटे से कुछ अलग है. इतना ही नहीं वह, यह हो रही है जहां रिक्त को भरने का प्रतिनिधित्व करता है कि क्या था percent-- प्लेसहोल्डर हम प्रयोग कर रहे थे? हाँ, इतना प्रतिशत है. इस बीच मैं पारित करने के लिए जा रहा हूँ एक दूसरा तर्क में उसे जो ठीक क्या जेवियर है जोनाथन से लिया गया. तो मुझे आप इन दो दे. यदि आप आगे जाना चाहते हैं और प्रिंट कि प्रभाव. अंत में क्या हो रहा है अब है, Alana फिर printf की भूमिका निभा रहा है. जेवियर खेल रहा था GetString की भूमिका. इसलिए कि आपके स्मारिका किया जाएगा. और अंत में होने के बावजूद, क्या हो रहा है इस हां आगे और अल्पविराम जाना hello--. Alana: मैं यह अभी तक या नहीं प्राप्त किया था? डेविड Malan: हां, आप एक ही बार में उन दोनों का स्वागत किया. तो विचार है कि आप यह है कि अब पेज फ्लिप कर सकते हैं दूसरे को संभालने के लिए उन दो आदानों की. तो इस घर हथौड़ा ही है Alana मार डाला जबकि उस बिंदु इस ग्रीन लाइन यहां, और उसके बाद जेवियर हमारे लिए यह एक था और मुझे कुछ करने के लिए वापस हम फोन करता हूँ, लेकिन यह सच था अपनी खुद की सिर्फ कागज का टुकड़ा है कि. और अब Alana इस तीसरी लाइन किया गया है. और यह सब दिखता है, भले ही इतना अविश्वसनीय रूप से गुप्त शायद पहली नज़र में, यह वास्तव में कि जैसे ही आसान है. आसपास आदानों पासिंग, या तो outputs हो रही शारीरिक रूप से कुछ वापस सौंप दिया जा रहा है, या इस तरह एक पक्ष प्रभाव को देखकर. कुछ नेत्रहीन स्क्रीन पर लिखा है. तो चलो आगे चलते हैं और , Alana और जेवियर धन्यवाद जो के लिए, यहाँ नीचे था यहाँ हमें में शामिल होने. [वाहवाही] के लिए दी तो अब लेते हैं बस कैसे सीधा है कि सभी को हो सकता है. और हम वास्तव में करने के लिए आगे बढ़ना वास्तविक कोड में कुछ करो. यहाँ स्क्रीन पर तो एक स्क्रीनशॉट है तथाकथित CS50 उपकरण की. और आप एक के रूप में, पर किया था बुधवार की दोपहर को 2:00, कुछ दोस्त को समझाने क्या CS50 उपकरण है, कैसे आप इसे एक वाक्य में परिभाषित करेंगे? कोई एक वाक्य? हाँ? छात्र: यह एक प्रोग्राम की तरह है कि हर किसी के कंप्यूटर बनाता है इसी प्रणाली के साथ चला. डेविड Malan: अच्छा! यह हर किसी के लिए सक्षम बनाता है कि एक कार्यक्रम है कंप्यूटर में एक ही प्रणाली के साथ चलाने के लिए. यह अपनी खुद की तरह है एक ऑपरेटिंग की प्रतिलिपि के लिए होता है कि प्रणाली लिनक्स कहा जा. और के अंदर यह प्रभावी ढंग से चलाता है अपने खुद के मैक या पीसी पर एक खिड़की, इतना है कि सही फाटक के बाहर इस तरह सप्ताह 1 में, यहाँ हर किसी कक्षा में एक ही उपकरण का उपयोग किया है, एक ही विन्यास, और कोई सीखने की अवस्था विशिष्ट नहीं है एक मैक या विशेष रूप से एक पीसी के लिए. अब हम CS50 के अंदर, खोला सोमवार को उपकरणों, यहां इस कार्यक्रम. यह एडिट बुलाया होना होता है. लेकिन वह सिर्फ सच है एक चित्रमय संपादक. यह नोटपैड या पाठ की तरह कुछ है क्रमशः विंडोज या मैक ओएस पर संपादित करें. और मैं वास्तव में वहाँ थे कि प्रस्तावित इस स्क्रीन के लिए तीन महत्वपूर्ण भागों. ऊपर की ओर, जहां आप है अपने कोड लिखना होगा. हम से ज्यादा खर्च और है कि जहां हमारे सोमवार को व्याख्यान में तीन उदाहरण हैं. नीचे हम क्या कहा जाता है, इस काले खिड़की, हाँ? छात्र: संकलक? डेविड Malan: संकलक हम उस खिड़की के माध्यम से पहुँचा. लेकिन अधिक आम तौर पर. हाँ, यह सिर्फ एक टर्मिनल विंडो था. यह एक उम्र पुराने शब्द है कि बस अनिवार्य रूप से एक निमिष का वर्णन शीघ्र, साल पहले इस्तेमाल किया उस पर होने के लिए उन बड़े CRT शैली पर नज़र रखता है. लेकिन आजकल यह की तरह है सॉफ्टवेयर में वर्चुअल की. और टर्मिनल Windows हमें आदेश टाइप करते हैं. सरलीकृत संस्करण की तरह यह यूजर इंटरफेस या यूआई की. यह एक ग्राफिकल नहीं है यूजर इंटरफेस या जीयूआई, यह एक पाठ आधारित इंटरफेस है या एक कमांड लाइन इंटरफेस. और वास्तव में यह है कि जहां अंततः है मैं कुछ कोड लिखने में सक्षम था. हालांकि मैं कुछ कोड लिखा था एक बार, मैं इस आदेश का प्रयोग किया जाता है कि याद करते हैं. और यह नाम के रूप में एक तरह से यह पता चलता है मुझे एक बनाने के लिए अनुमति देता है कार्यक्रम हैलो कहा जाता है. लेकिन यह वास्तव में क्या कर रहा था? अच्छी तरह से कर ले जा रहा था मेरे इनपुट, अपने स्रोत कोड, और अंत में, क्या इसे बदलने? ऑब्जेक्ट कोड. और ऑब्जेक्ट कोड सिर्फ एक कल्पना है शून्य और लोगों को कहने का तरीका. और फिर मैं चाहता था एक बार उस ऑब्जेक्ट कोड को चलाने के लिए, मैं इनपुट के रूप में उन पारित करना चाहता था एक बार अपने कंप्यूटर के रूप में शून्य और लोगों मस्तिष्क, तथाकथित सीपीयू या सेंट्रल प्रोसेसिंग यूनिट, मैं इस कार्यक्रम को चलाने के लिए किया था. लेकिन यह सोमवार को काफी सरल नहीं था के रूप में सिर्फ कुछ आइकन पर क्लिक दोगुनी. क्या बजाय मैं करने के लिए किया था एक कार्यक्रम चलाने के लिए करते हैं? कि दूसरा आदेश क्या था? मैं एक छोटे से स्लैश सुन रहा हूँ? हाँ, हाँ? छात्र: डॉट स्लेश और कार्यक्रम का नाम. डेविड Malan: बिल्कुल. डॉट स्लेश और कार्यक्रम का नाम. अब इसका क्या मतलब है? खैर डॉट सिर्फ एक रहस्यमय रास्ता है की मौजूदा निर्देशिका कह. जो भी फ़ोल्डर आप में है के रूप में संदर्भित, डॉट के रूप में प्रतिनिधित्व किया है. स्लैश तुम्हें देखा है क्या बस है साल के लिए मैक ओएस और Windows में, यह एक निर्देशिका के बीच एक विभाजक है या फ़ोल्डर और कुछ नाम के बाकी. खिड़कियों में जाने के लिए होता है पीछे की ओर, लिनक्स और मैक में ओएस यह आगे जाने के लिए होता है. लेकिन यह सिर्फ विभाजक है, तो यह बात है सिर्फ एक शुष्क वाक्यात्मक विस्तार. पाठ्यक्रम के रसदार हिस्सा है कार्यक्रम का नाम, नमस्कार. और वह हमारे लिए बनाया क्या है. यह हमारे लिए उस फ़ाइल outputted. लेकिन यह कैसे हम उस बिंदु को मिलता है? चलो अब पूछना सवाल है, वास्तव में क्या था कम से कम के साथ, यहाँ पर जा रहा इस वाक्य रचना के कुछ के संबंध? , एक वाक्य में या तो तो हम कैसे दूर समझा था है कि यह पहली लाइन हरे रंग में प्रकाश डाला? क्या, पहली लाइन कर रही थी कि अपने कार्यक्रम के लिए सम्मान के साथ? हाँ? छात्र: [अश्राव्य]. डेविड Malan: फिर से कहो? छात्र: शामिल है और डाउनलोड पिछले कार्यों [अश्राव्य]. डेविड Malan: अच्छा. सहित, मैं यह नहीं कहूँगा डाउनलोड करने, लेकिन हम कहते हैं कार्यों सहित कि लोग अतीत में लिखा है. और उन कार्यों लागू कर रहे हैं अपने कंप्यूटर में कहीं. किसी एक फ़ाइल में लिखा था साल पहले, और उस फ़ाइल CS50 के अंदर कहीं है उपकरण, या अपने हार्ड ड्राइव पर अधिक आम तौर पर. और इसलिए इस लाइन अनिवार्य रूप से कह रही है, उस फ़ाइल, मानक आई / ओ डॉट मिल जाना एच, और कॉपी और इसकी सामग्री चस्पा यहीं मेरी फाइल के शीर्ष पर इसलिए मुझे लगता है की जरूरत नहीं है कि अपने आप मैन्युअल करते हैं. और के अंदर juiciest टुकड़े के बीच हम दावा किया कि फ़ाइल क्या समारोह था? क्या समारोह हम घोषित किया गया था कहा था या मानक आई / ओ डॉट घंटे में वर्णित सबसे अधिक संभावना? Printf, है ना? हम printf पर नहीं लिखा था सोमवार, यह सिर्फ अस्तित्व. ज्यादा Alana सिर्फ आया की तरह मंच और वह पर बस अस्तित्व में है और आकर्षित करने के लिए कैसे जानता था स्क्रीन पर कुछ, तो printf कई वर्षों के लिए मौजूद है. और तो यह है कि हम इसे उपयोग कैसे है. हम यहाँ पर ले जाते हैं तो अब, मुख्य अनुरूप हम था पहेली टुकड़े करने के लिए कहा हरा झंडा क्लिक करने पर बुलाया स्क्रैच की दुनिया में. यह के बस की तरह है कि मनुष्य डिफ़ॉल्ट नाम प्रतिनिधित्व होगा फैसला एक कार्यक्रम के लिए प्रवेश बिंदु डिफ़ॉल्ट. प्रोग्रामिंग कोड का हिस्सा कि पहले मार डाला जाता है. इस बीच इन घुंघराले ब्रेसिज़ हैं तरह की घुमावदार आकार की तरह उन पीले खरोंच टुकड़े का एक बहुत की. वे एक तरह से एक पूरे encapsulate एक साथ निर्देश का गुच्छा. तो यह बस की तरह एक साथ बांधता कुछ संबंधित कार्यक्षमता. ज़ाहिर है printf एक समारोह है कि हम बस के रूप में किया, स्क्रीन प्रिंट. क्या इन कोष्ठकों के बारे में? आप कैसे आप है, भले ही define-- होगा कभी नहीं से पहले प्रोग्राम किया है, लेकिन अभी आधारित पर अब एक बढ़ती हुई उम्मीद है कि अंतर्ज्ञान, क्या कोष्ठक यहाँ हमारे लिए क्या कर रहे हैं? या वे क्या आसपास के कर रहे हैं? हाँ? छात्र: वे क्या कह रहे हैं आप printf साथ मुद्रित करने के लिए जा रहे हैं. डेविड Malan: हाँ, वे क्या कह रहे हैं आप printf साथ मुद्रित करने के लिए जा रहे हैं. या अधिक आम तौर पर, वे कर रहे हैं समारोह को जानकारी आसपास के. तो आप लगभग सोच सकते हैं उन कोष्ठकों का धातु की तरह होने के रूप में इस क्लिपबोर्ड पर क्लिप. यह क्या है, क्या पकड़ रखा है है तर्क प्रदान करने के लिए इस्तेमाल किया जा रहा समारोह में जो में इस मामले printf कहा जाता है. तो सामान्य रूप में लगभग किसी भी समय हम एक समारोह कॉल हम एक जोड़ी कोष्ठकों को देखने के लिए जा रहे हैं. शायद उस में कुछ के साथ, जैसे अब, यह शायद कुछ भी नहीं. आप रखा जाएगा लेकिन वह कहाँ है जानकारी या तथाकथित तर्क एक समारोह के लिए. यहाँ ऐसे ही एक तर्क है. मैं सब कुछ प्रकाश डाला है उद्धरण के बीच, यह पता चला है क्योंकि कहा जाता है इस भाषा में आप एक का प्रतिनिधित्व करना चाहते हैं जब सी, string-- कि एक शब्द या एक मुहावरा है या यहां तक ​​कि एक paragraph-- आप के लिए है डबल उद्धरण के साथ चारों ओर. एकल नहीं उद्धरण, डबल उद्धरण. और कहा कि मैं यहाँ क्या किया है ठीक है. इस बीच एक कायरता नहीं है वहाँ अंत की ओर प्रतीक. बैकस्लैश एन. हम प्रतिनिधित्व कि क्या कहा? हाँ? छात्र: एक नई लाइन. डेविड Malan: नई लाइन. ठीक है, तुम नहीं करते आम तौर पर जब हिट दर्ज आप इस कार्यक्रम चाहते हैं एक नई लाइन बाहर थूक. बल्कि आप स्पष्ट रूप से यह बताना इस बेशक रहस्यमय टुकड़े के साथ वाक्य रचना की, बैकस्लैश एन, कि आप एक नई लाइन वहाँ जाना चाहता हूँ. अंत में सेमीकोलन. हम वास्तव में बात नहीं की इस बारे में बहुत ज्यादा, और अब तक यह कुछ के बने हो जाएगा पहली समस्या के लिए अपने अस्तित्व की तुम सिर्फ एहसास करने में विफल रहा है, जब सेट आप बेवकूफ के रूप में कुछ भूल गए अर्धविराम के रूप में. और आम तौर पर इसे लगाने उस समस्या को ठीक कर देंगे. लेकिन यह क्या कर रही है हमारे लिए, आप कहेंगे? छात्र: [अश्राव्य]. डेविड Malan: क्षमा करें? छात्र: [अश्राव्य]. डेविड Malan: एक बयान फिनिशिंग. यह अवधि में तरह तरह की है एक अंग्रेजी वाक्य के अंत, इस भाषा में जबकि सी यह एक बयान समाप्त होने है. प्रोग्रामिंग के एक निर्देश आप सिर्फ यह कहना चाहता हूँ कि कोड, मैं इस के साथ काम कर रहा हूँ. अब जब कि यहां केवल एक ही है नोटिस. तो आप में पाने के लिए नहीं करना चाहती डाल अर्धविराम की आदत हर बंद कोष्टक के बाद. उदाहरण के लिए वहाँ कोई नहीं है अगले शून्य, और हम करेंगे भविष्य में वापस आ गए शून्य क्या अर्थ है. लेकिन इस मामले में अपने printf है एक समारोह, या एक बयान में इस्तेमाल किया जा रहा है, और इसलिए हम चाहते हैं कि है चाहता हूँ इसके बारे में बहुत अंत में टर्मिनस. और मैं जानबूझकर सी और पर उठा रहा हूँ स्पष्ट सी, सी ++ जैसी भाषाओं का एक बहुत, जावा, जावास्क्रिप्ट, और किसी भी संख्या का अन्य भाषाओं इनमें से एक बहुत कुछ है वाक्यात्मक विवरण की तरह. आप के लिए नए हैं निश्चित रूप से अगर यही प्रोग्रामिंग वास्तव में आप यात्रा कर सकते हैं. और तुम, प्रतीक होगा मेरे शब्द, आप में से कुछ होगा इस अनुभव है कार्यालय समय या देर में रात में कुछ पी सेट, जहां पर काम अपने लानत कार्यक्रम सिर्फ संकलन नहीं करता है, यह आप है, नहीं चलता गलत है पता नहीं, यह पूरी तरह से लगता है आप के लिए तार्किक सही. आप भूल गया और क्योंकि यह है मार की तरह कुछ कुछ पंक्ति के अंत में एक अर्धविराम. लेकिन इन आप कर रहे हैं चीजों की तरह हैं तुरंत देखने के लिए सीखने के लिए जा रहा है. और वास्तव में ये बातें कर रहे हैं सीए की और TF की है कि एक तरह से देखने के लिए प्रशिक्षित किया गया ज्यादा जल्दी आप से. और इसलिए यह आप के रूप में कहने के लिए ही है समस्या में गोता, विशेष रूप से 1 सेट इस सामान से निराश नहीं मिलता है. आप की तरह acclimate एक बार दुनिया के लिए, आप चीजों को देखने के लिए शुरू हो कि तुम नहीं हो सकता इस पहले सप्ताह पहली नज़र में देखते हैं. तो स्रोत कोड है कि ऐसा कुछ है. हम में इसे पारित करना चाहते हैं तथाकथित संकलक. और कहा कि संकलक के रूप में हम उत्पादन प्रदान करता है कहा वस्तु कोड के रूप में जाना जाता है, शून्य और लोगों तथाकथित. लेकिन वहाँ से, कि हमें क्या देता है? वैसे यह हमें इन नमूनों देता है. और फिर अपने कंप्यूटर, अंदर अपनी इंटेल, इन नमूनों को समझता शून्य और लोगों की. और कभी कभी पैटर्न एक वास्तविक दशमलव संख्या का प्रतिनिधित्व करता है हम कभी कभी, पिछले सप्ताह देखा यह एक पत्र का प्रतिनिधित्व करता है जैसे हम कभी कभी, पिछले सप्ताह देखा यह एक अनुदेश का प्रतिनिधित्व करता है स्क्रीन के लिए कुछ मुद्रण की तरह. Instance-- के लिए तो printf बल्कि, मुझे उल्टा करते हैं. हम के लिए दी ले जा रहा हूँ उन शून्य और लोगों रहे हैं कि इस आदेश बनाने के द्वारा उत्पादित. लेकिन बना एक संकलक नहीं है. बात बीच में बना नहीं है उस शून्य और लोगों का उत्पादन कर रहा है. बल्कि बनाने के सिर्फ एक बहुत ही सुविधाजनक है जिसका उद्देश्य जीवन में नामित कार्यक्रम यह पता लगाने के लिए अनिवार्य है कैसे अपने कार्यक्रम संकलन करने के लिए. और हम इन में इसका इस्तेमाल करते हैं पहले सप्ताह यह क्योंकि बस हमें परेशानी का एक बहुत बचाता है. लेकिन क्या करना वास्तव में है आप हैलो संकलन जब कर रही है, हम पिछली बार कहा था, यह है, है अपनी हार्ड ड्राइव पर देख या वर्तमान फ़ोल्डर में, के लिए फ़ाइल जाहिर है, क्या कहा जाता है? Hello.c, है ना? यह एक सम्मेलन की तरह ही है. यह मनमाना है लेकिन कि बातें कर रहे हैं रास्ता है. आप बस नाम निर्दिष्ट करें, बनाओ अभी तक मौजूद नहीं है कि एक कार्यक्रम का, यह स्रोत कोड के लिए लग रहा है एक फ़ाइल में, डिफ़ॉल्ट रूप से hello.c मतलब है. और यह पाता है, महान. ऐसा लगता है कि स्रोत परिवर्तित करने के लिए जा रहा है आप के लिए वस्तु कोड में कोड. लेकिन मैं मारा है हर बार दर्ज नमस्कार कर चलने के बाद, आप पिछली बार एक देख याद करते हैं काफी लंबी और गहरी अनुक्रम अन्य श्वेत पत्र की और स्क्रीन पर अक्षर? अच्छा है कि वास्तविक आदेश था, वास्तविक संकलक, कि चल रहा था. तो वास्तविक संकलक हम में से अधिकांश का उपयोग करेंगे सेमेस्टर बजना कहलाती है. आप में से कुछ का इस्तेमाल किया गया हो सकता है दृश्य से पहले स्टूडियो, या जीसीसी, या अन्य compilers के किसी भी संख्या. हम बजना इस्तेमाल करेंगे. और बजना हमें वास्तव में कन्वर्ट करने के लिए अनुमति देता है कि स्रोत कोड कोड आपत्ति करने के लिए. यह वास्तव में क्या करता है व्यवहार में इसका मतलब? वैसे मुझे में से एक में चलते हैं पिछली बार से मेरा फ़ोल्डर. CS50 उपकरण के अंदर. और मुझे आगे जाना है और यह बना देना एक ही फाइल, मानक आई / ओ डॉट घंटे शामिल हैं. इंटरनैशनल मुख्य शून्य. और हम भविष्य के रूप में वापस आ जाएगा क्या मतलब है और क्या शून्य साधन int करने के लिए. लेकिन अब के लिए चलो हैलो दुनिया बैकस्लैश एन, बस हम बोर्ड पर किया था. मुझे hello.c नामक इस फ़ाइल को बचाने करते हैं. और अब मैं इस संकलन करना चाहते हैं मैं मुझे in-- रन ज़ूम जाने could-- हैलो दर्ज किया है. और इस बार फिर था कि बहुत गहरी लाइन. लेकिन अब कम से कम एक शब्द शायद तुम पर बाहर कूदता है. बजना हम पहले देखा कि लाइन है. अब अन्य सामान का एक बहुत स्पष्ट नहीं है हम आज के लिए पर हमारे हाथ की लहर होगा. लेकिन कुछ सबसेट वहाँ, यहाँ में कुछ अक्षर ब्याज की हैं. लेकिन मुझे आगे जाना है और यह करने के लिए जा रहा हूँ. मैं पहली बार चलाने के लिए जा रहा हूँ हैलो, सिर्फ साबित करने के लिए यह सोमवार के रूप में था यह है कि काम कर रहा है. लेकिन अब मैं इस कार्यक्रम को नष्ट करने के लिए जा रहा हूँ. और हम था बहुत पसंद है ये कम नामों पिछली बार, हटाने के लिए आदेश कुछ दर्ज, हटाने, आरएम है. आप कुछ पाने के लिए जा रहे हैं काफी गूढ़ प्रश्न. मुश्किल आप कर सकते हैं कि विश्वास करने के लिए और भी मुश्किल इस प्रश्न को समझने के लिए. लेकिन सिर्फ नियमित रूप से फ़ाइल हैलो हटाने मतलब है कि आप हैलो मिटाना चाहेंगे. और मुझे आगे जाना है और के लिए वाई टाइप कर सकते हैं हाँ, लिखें, और अब वह चला गया. अब इस का मतलब है क्या, मैं अपने स्क्रीन स्पष्ट हैं, बजाय कि है hello-- आप बना कर मैं इस पर अच्छा हो रही है, क्या पता है. मैं संकलक अपने आप को चलाने के लिए जा रहा हूँ. मैं कुछ कार्यक्रम की जरूरत नहीं है मेरी फाइल कहा जाता है यह पता लगाने. मैं मैं, hello.c लिखा यह कहा जाता है क्या पता, मैं स्पष्ट रूप से है कि टाइप करने में सक्षम हूँ. तो मैं आगे जाने के लिए जा रहा हूँ और दर्ज hello.c बजना है. काम करने लगता है. और कोई अतिरिक्त उत्पादन नहीं है, बजना संकलक है. इसे बदलने की क्या है शून्य और लोगों के लिए स्रोत कोड. इसलिए मैं अब डॉट करते हैं एचएम, हैलो दर्ज स्लेश. नई त्रुटि संदेश आज. तो बैश का सिर्फ नाम है हम प्रयोग कर रहे हैं कि शीघ्र निमिष. यह एक सकल अति सरलीकरण है, लेकिन अब के लिए कि, कि सब है यह पलक शीघ्र है. और कहा कि यह हम पर चिल्ला रहा है इसलिए. ऐसा कोई फ़ाइल या निर्देशिका है एक छोटे से अधिक सरल. लेकिन निश्चित रूप से मुझे लगता है कि वस्तु कोड बनाया है. लेकिन पकड़ वह है, मैं आदेश टाइप अगर इस की सामग्री को सूचीबद्ध करने के लिए क्या है जो निर्देशिका,? सूची के लिए LS. सामान का एक गुच्छा में यहाँ नहीं है, जिनमें से कुछ उपकरणों के साथ आया था मेरे डेस्कटॉप फ़ोल्डर, डाउनलोड की तरह फ़ोल्डर, ड्रॉपबॉक्स फोल्डर, और सभी उस सामान. लेकिन क्या दिलचस्प है hello.c, जो मैं gedit के साथ एक पल पहले बनाया. और अजीब क्या है यहाँ में नाम देख, हम नहीं था शायद कि सब पर आखिरी बार देख रहे हो? सही, a.out? तो वापस दिन में, यह बस का निर्णय लिया गया है कि जब आप एक कार्यक्रम संकलन पहली बार के लिए, और आप के नाम का उल्लेख नहीं करते एक फाइल की है, चलो यह एक कहते हैं. और a.out सिर्फ यह था मतलब संकलक का उत्पादन. तो यह एक कार्यक्रम के लिए एक भयानक नाम है. लेकिन उस तर्क से, के लिए स्लेश डॉट वर्तमान निर्देशिका, a.out स्लेश वास्तव में वहाँ मतलब चाहिए नमस्ते विश्व कार्यक्रम मेरे. अब एक छोटी सी भी, व्यायाम को गर्म. मैं इस नाम बदलना चाहते हैं फ़ाइल, आपको पता चला है कि एक से दूसरे के नाम से एक फाइल चाल है. तो एम वी a.out, और फिर मैं यह कह सकते हैं हैलो लिखें. तो यह एक कमांड है. डॉस, इस साल पहले किया था विंडोज एक टर्मिनल विंडो है लग रहा है कि किसी प्रकार की इस, लिनक्स और मैक की तरह कंप्यूटर इस निमिष शीघ्र है. यहां तक ​​कि हम में से अधिकांश शायद हालांकि शायद ही कभी, अगर कभी, इसका इस्तेमाल. लेकिन क्या मैंने किया है चलाया जाता है एक जिसका नाम एम वी है कार्यक्रम,, और मैं इसके साथ प्रदान की है दो तर्क, तो बात करने के लिए. दो आदानों. a.out मूल नाम है. हैलो नया नाम है. मैं अब डॉट स्लेश करते हैं तो हैलो, लिखें, कि मौजूद है. और मैं डॉट स्लेश a.out करते हैं, क्या आप मुझे देखना चाहिए उम्मीद करते हैं? पार्टी की योजना बनाई, ऐसा कोई फ़ाइल या निर्देशिका. मैं बस यह नाम है. तो यह करने के लिए इस्तेमाल हो रही है की एक सा लगता है. लेकिन समस्या यह है 1 सेट विनिर्देश सही मायने में होगा के माध्यम से अपना हाथ पकड़ इस minutae के कुछ. यह एक पूरा हो गया है क्योंकि बौद्धिक व्याकुलता अधिक दिलचस्प से हाथ में विचारों, जो वास्तव में पैदा कर रही है कोड के बाहर कुछ और. लेकिन हम एक संशोधन करते हैं अब इस कार्यक्रम के लिए. मैं कुछ किया है कि पिछली बार याद इस तरह, printf अपने नाम राज्य. और वास्तव में हम सिर्फ यह किया वहाँ पर बड़े परदे पर. और फिर मैं स्ट्रिंग है हो जाता किया खुला कोष्ठक, करीब कोष्ठक GetString. और कोष्ठक बस आशुलिपि कोष्टक के लिए अंकन. तो GetString किसी भी तर्क ले करता है? कोई आदानों नहीं, लेकिन यह कोष्ठक की जरूरत है, क्योंकि है कि क्या सीमांकित एक समारोह के बुला. तो मुझे आगे जाना है और करने की कोशिश करने के लिए जा रहा हूँ अब इस कार्यक्रम पर संकलक चलाते हैं. बजना hello.c, मैं क्योंकि अब के लिए इसका नाम नहीं बदला. और मैं त्रुटियों की एक गुच्छा मिला. यहाँ जूम आउट करते हैं. मैं फिर से ऊपर स्क्रॉल करें, जैसे मैं पिछली बार कहा था, सबसे पहले, एक ही त्रुटि के लिए मैं पिछली बार मिला है. Hello.c की लाइन 6 में मैं था एक अघोषित पहचानकर्ता स्ट्रिंग, मैं में मानक मतलब था? मैंने नहीं. क्या गलती की वजह से है कि मैं इस में बनाया कार्यक्रम, आप पिछली बार से याद करते हैं? हाँ, हम की जरूरत है प्रशिक्षण के पहियों तथाकथित हम बस कुछ ही हफ्तों के लिए इस्तेमाल करेंगे. लेकिन मैं यह भी है कि निर्दिष्ट करने की आवश्यकता, कहीं उपकरणों के अंदर, हम ने लिखा है कि एक फाइल है पहले सिर्फ एक कुछ साल. जो के अंदर कार्य कर रहे हैं जैसे जाहिरा तौर GetString. तो अब मैं यहाँ वापस नीचे जाना है, में ज़ूम, और फिर से चलाने बजना hello.c. अरे नहीं, एक और त्रुटि. लेकिन हम इस से पहले नहीं देखा है. यह एक छोटे से अधिक है यह पता लगाने की गूढ़. लेकिन इस स्क्रीन पर जानबूझ है हम इस कहानी बताना चाहता था क्योंकि. जब आप बस के रूप में, hello.c संकलन पहले सुझाव से चित्र, आप केवल कि परिवर्तित कर रहे हैं शून्य और लोगों के लिए स्रोत कोड. अब CS50 स्टाफ कुछ साल पहले लिखा था CS50.h, और एक इसी फ़ाइल, CS50.c. और कुछ ही साल पहले हम, उन फ़ाइलों को संकलित ऐसा होता है कि एक फाइल में CS50.o. बुलाया जाएगा या यह नाम दिया जा सकता है एक कुछ अलग तरह की चीजें. लेकिन वह एक सरल तरीका है इसके बारे में सोच रही है. इसलिए हम CS50 के संकलित शून्य और लोगों में पुस्तकालय. लेकिन कहीं नहीं मैं निर्दिष्ट किया है मैं अपने शून्यों गठबंधन चाहते हैं कि मेरा नमस्कार दुनिया के लिए और लोगों को शून्य और लोगों के साथ कार्यक्रम कि CS50 स्टाफ कुछ साल बनाया पहले एक पूर्ण कार्यक्रम में. सभी मैं लेखन द्वारा निर्दिष्ट किया है बजना hello.c hello.c संकलन है. मैं करने के लिए बजना नहीं बताया गया है शून्य और लोगों में कड़ी बनाए गए CS50 स्टाफ कुछ समय पहले आपके लिए. इसलिए यह एक आसान तय है, , लिंक के लिए CS50 एल पानी का छींटा. और हम फिर से इस देखेंगे लंबे समय फिर से और फिर से पहले. लेकिन अब नोटिस कोई शिकायत नहीं थी. तो अब मैं डॉट स्लेश चलाते हैं नमस्कार, अब यह काम कर रहा है. गुमराह करने वाले एक सा है हालांकि मैं क्या फ़ाइल निर्मित बस के बाद? a.out. तो मुझे बस एक पल के लिए उल्टा करते हैं. हम सिर्फ संकलित कार्यक्रम कोड की तीन लाइनें है. मैं नमस्ते विश्व दौड़ा, नमस्कार एक पल पहले, मैं अपने नाम से राज्य को नहीं देखा था. मैं भागा क्योंकि और वह है कार्यक्रम के पुराने संस्करण. लेकिन मैं वास्तव में डॉट स्लेश a.out चलाने करते हैं दर्ज अपने नाम राज्य, रोब, हैलो, दुनिया. हम्म. एक बग की तरह है. शायद सही, रोब कहने का मतलब? तो तय कोड में यहाँ क्या हो रहा है. छात्र: [अश्राव्य]. डेविड Malan: बिल्कुल. इसलिए मैं सिर्फ इतना है कि अंतिम tweak करने की जरूरत है इसलिए मैं एक प्लेसहोल्डर में गुजर रहा हूँ कि, रिक्त में एक भरने की तरह, जैसे हम एक क्षण पहले किया था. लेकिन प्रतिशत है अब है कि रिक्त को भरने में. तो अन्त के आखरी प्रकट करते हैं विस्तार कोई जादू है कि वहाँ तो. मैं आगे जाने के लिए जा रहा हूँ और Hellow से छुटकारा. मैं आगे जाने के लिए जा रहा हूँ और a.out से छुटकारा. तो अब मैं कोई कार्यक्रम है, सिर्फ अपने स्रोत कोड. और मैं एक चला जा रहा हूँ अब थोड़ा आदेश, बजना ओ हैलो hello.c पानी का छींटा LCS50 डैश. अब इस तरह के जाने के लिए शुरू कर रहा है एक कान में और शायद अन्य बाहर. लेकिन अभी यह क्या कर रहा है के अलावा तंग. बजना संकलक, पानी का छींटा LCS50 है जानबूझ कर बहुत अंत में एक वाक्य में क्या करता है? CS50 पुस्तकालय के लिए लिंक. शून्य पकड़ लेता है और स्टाफ बना दिया है कि लोगों को और अपने खुद के कार्यक्रम में उन्हें crams. तो हाथ पर पिछले सवाल है, पानी का छींटा शायद हैलो ओ क्या है आप कभी नहीं किया है, कर पहले इस वाक्य रचना को देखा? है कि एक कार्यक्रम outputting डिफ़ॉल्ट a.out नाम नहीं. बल्कि यह हैलो नाम है. तो अब कोई a.out है. ऐसी कोई फ़ाइल या डायरेक्टरी नहीं है, मैं स्पष्ट रूप से कहा है क्योंकि इतना है कि, हैलो इस कार्यक्रम कॉल मैं अब इस तरह से एक नाम में टाइप कर सकते हैं और यह व्यवहार करते है. अब स्पष्ट रूप से, लड़का है संबंध के लिए रसहीन उस सब को याद करने के लिए थोड़ा minutia, है ना? तो चलो आगे चलते हैं और फिर नमस्ते से छुटकारा. और चलो अब में एक दुनिया के लिए वापस जाने जो यह नमस्कार कर कहने के लिए suffices. लेकिन वह जादू है कि आप के लिए क्या कर रही है बनाने, कि विरक्ति है कि यह आप के लिए कर रही है. और हमारे कार्यक्रमों के रूप में और समस्याओं, और अधिक जटिल हो सही मायने में अपने दोस्त हो जाएगा बनाने. बहुत लंबा नहीं क्योंकि अब से हम जा रहे हैं लिखा जाता है कि कार्यक्रमों के लिए नहीं एक फ़ाइल, लेकिन कई फाइलों के साथ, और की प्रक्रिया को स्वचालित करेगा बनाने एक साथ हमारे लिए है कि सभी संकलन. तो अब प्रिंट. printf इस फाइल के अंदर, मानक है मैं / हे डॉट घंटे, हम पहले देखा है कि, लेकिन उस से भी printf को और अधिक है. बैकस्लैश वहाँ n है, लेकिन वहाँ भी है अन्य भागने दृश्यों का एक गुच्छा. और भागने अनुक्रम सिर्फ एक है कुछ कहने का अच्छा तरीका कि, एक बैकस्लैश के साथ शुरू होता है नहीं आगे स्लैश, एक बैकस्लैश, और कुछ विशेष बात करता है. और हम, इनमें से अधिकांश पर ध्यान केन्द्रित करना नहीं होगा लेकिन क्यों दोहरे उद्धरण वहाँ बैकस्लैश है, तुम्हें क्या लगता है? क्यों की इस अजीब अनुक्रम है वर्ण, बैकस्लैश डबल बोली, यही कारण है कि उपयोगी हो सकता है? छात्र: [अश्राव्य]. डेविड Malan: बिल्कुल, सही? हमारे नमस्ते विश्व कार्यक्रम को वापस सोचो अब हम काफी कुछ एक बार देखा है कि, हर बार हम उस हैलो दुनिया को देखा है कार्यक्रम हम अंदर दोहरे उद्धरण लिया है जिनमें से नमस्ते अल्पविराम है दुनिया बैकस्लैश एन. लेकिन अपने आप को लगता, क्या वास्तव में आप अगर एक उद्धरण चिह्न बाहर प्रिंट करना चाहते थे? आपका पहला वृत्ति, हो सकता है मैं नहीं जानता मैं यहाँ do-- चाहते हो सकता है पता है क्यों, हम एक छोटे से निष्क्रिय किया जा सकता है आक्रामक, हैलो दोस्त. हम ऐसा कुछ करना चाहते हो सकता है. लेकिन क्यों यह अब समस्याग्रस्त है? एक तरफ घुंघराले उद्धरण की उपेक्षा मुख्य वक्ता के रूप स्वतः हमारे लिए बनाया है. क्यों इस समस्याग्रस्त है? बिल्कुल सही. हम 4 उद्धरण चिह्न की तरह है क्योंकि. वैसे पहले एक शायद एक दूसरे के साथ चला जाता है, और शायद चौथे एक तीसरा एक साथ चला जाता है, या, मैं, मैं भी यकीन नहीं है मतलब और न ही होने जा रहा कंप्यूटर है. फिर कंप्यूटर, compilers फिर, काफी गूंगा कर रहे हैं. वे केवल क्या करेंगे आप करने के लिए उन्हें बताओ. और आप स्पष्ट नहीं कर रहे हैं वे शायद एक त्रुटि फेंक करने के लिए जा रहे हैं. आप के लिए के रूप में कैसे स्पष्ट नहीं कर रहे हैं एक मूंगफली का मक्खन और जेली सैंडविच बनाने अजीब बातें आ सकता है. यह एक ही विचार है. अब यह वहाँ है कहने के लिए पर्याप्त कुछ अन्य भागने दृश्यों, लेकिन हम लंबे समय से पहले उन लोगों के लिए आया हूँ. मूलतः इन भागने दृश्यों में कुछ का प्रतिनिधित्व आप में सक्षम नहीं हो सकता है कि बहुत आसानी से कीबोर्ड पर, कंप्यूटर भ्रमित बिना. अब इस बीच हम printf में प्लेसहोल्डर्स. यह भी लिखा जा सकता है जो प्रतिशत विकास, प्रतिशत के रूप में मैं लगभग सभी मामलों में, डेटा किस प्रकार के लिए एक प्लेसहोल्डर है? मूल्य के किस तरह के? एक दशमलव संख्या. तो वास्तव में हम शुरू करेंगे यह इसलिए है क्योंकि प्रतिशत मैं का उपयोग एक पूर्णांक की तरह, एक छोटे से सरल. प्रतिशत मैं. होता है कि एक पूर्णांक दशमलव हो. प्रतिशत है हम पहले ही कहा था कि एक स्ट्रिंग के लिए एक प्लेसहोल्डर. जो सिर्फ एक शब्द है, एक मुहावरा, एक पैरा, एक निबंध, जो भी हो. यह का एक दृश्य है कुछ लंबाई के अक्षर. और हम लंबे समय से पहले देखेंगे इन दूसरों से कुछ. लेकिन प्रतिशत ग एक ही चरित्र के लिए है. प्रतिशत च एक के लिए है बिंदु संख्या अस्थायी, है कि एक वास्तविक संख्या की तरह उस में एक दशमलव बिंदु, जो बिल्कुल नहीं एक पूर्णांक की है. और एक पूरे वहाँ के रूप में अच्छी तरह से दूसरों का गुच्छा. इस बीच सी में, और भाषा का एक बहुत में, हम अलग अलग डेटा प्रकार है. विभिन्न प्रकार के अगर तुम जाएगा कांच के कटोरे. कटोरा मैं पिछली बार इस्तेमाल किया पिंग पांग की गेंद के लिए किया गया था लेकिन हम भी विभिन्न स्टोर कर सकते हैं घर का काम और तार जैसे मूल्यों और एक कंटेनर में पूर्णांकों, एक चर की तरह, और सी इन है. चार, डेटा के प्रकार है चर का प्रकार, जिसमें आप एक चरित्र स्टोर कर सकते हैं. नाव चर का एक प्रकार है जो आप एक वास्तविक संख्या में स्टोर कर सकते हैं. इंटरनैशनल एक पूर्णांक के लिए पाठ्यक्रम की है. और नहीं बल्कि हास्यास्पद एक लंबे नामित आप अनिवार्य रूप से जमा कर सकते हैं जहां है यहां तक ​​कि के साथ एक बहुत लंबे संख्या, अधिक अंक तो एक ठेठ पूर्णांक हो सकता है दुकान. लेकिन हम लंबे समय से पहले वापस करने के लिए आया हूँ. CS50 डॉट एच में इस बीच अन्य हेडर फाइल हम एक जोड़े को देखा है कि उपयोग में टाइम्स, वहाँ दो अन्य डेटा प्रकार कि आम तौर पर सी में मौजूद नहीं है. एक स्ट्रिंग है, और हम में देख लेंगे कुछ ही हफ्तों क्या तार सच हुड के नीचे हैं. और एक bool है. और एक bool एक चर रहा है कि केवल कुछ मूल्यों पर ले जा सकते हैं. और अभी पिछले हफ्ते के आधार पर स्क्रैच की व्याख्या, और अभी हाल ही में सी, आप क्या लगता होगा के लिए दो संभावित मान रहे हैं प्रकार bool की है कि कुछ कंटेनर? हाँ और नहीं. एक और शून्य. सही है या गलत. और वास्तव में यह आदत है कि पिछले है एक प्रोग्रामिंग में पारंपरिक होने के लिए भाषा, कह कुछ सही है या गलत की तरह. इस बीच CS50 पुस्तकालय आता है कार्यक्षमता के एक समूह के साथ स्टाफ आप के लिए लिखा था कि, सिर्फ एक स्ट्रिंग हो रही है इसके अलावा. हम अग्रिम कार्यों में लिखा था कि उपयोगकर्ता से एक पूर्णांक प्राप्त कर सकते हैं, एक ही चरित्र मिलता है, , कि एक नाव मिल दशमलव बिंदु के साथ सिर्फ एक संख्या है. एक सच में, एक लंबे जाओ उपयोगकर्ता से बड़ा मूल्य. इसलिए हम केवल में यह देखा है GetString के रूप में कार्रवाई की. लेकिन इन कार्यों के माध्यम से जल्द ही लिखने में सक्षम हो जाएगा उपयोगकर्ता से इनपुट मिल प्रोग्राम है कि. इस बीच इस पर विचार कार्यक्रम, और विचार अब हम जोड़ने के लिए शुरू हो सकता है कि कैसे नए निर्माणों के साथ यह करने के लिए. एक त्वरित बवंडर दौरे और फिर हम देख लेंगे पर कुछ लिख कुछ खुद को मैन्युअल कार्यक्रम. हम चाहते हैं आज के बाद अगर एक शर्त लागू करने, यह एक तरह देखने के लिए नहीं जा रहा है अच्छा सा सुंदर पहेली टुकड़ा. यह एक छोटे से अधिक रहस्यमय लग रहा है. लेकिन इस विहित है सी में एक शर्त की संरचना शब्द, दो अगर कोष्ठक, अंदर जो की किसी तरह का होने जा रहा है बूलियन अभिव्यक्ति की. अब स्लैश स्लैश बीच में, यह है पल की तरह की तरह पर pseudocode कोड प्लेसहोल्डर. कोड की लेकिन अधिक उचित रूप से, किसी भी लाइन सी में स्लैश स्लैश के साथ शुरू होता है एक टिप्पणी है. ऐसा लगता है कि तुम हो सकता है एक चिपचिपा नोट की तरह है कागज पर छपी एक निबंध, पर डाल दिया. यह अपने आप के लिए एक नोट है. यह कोई कार्यात्मक है कार्यक्रम पर प्रभाव. यह एक चेतावनी है की तरह है, यह अपनी खुद की है क्या हो रहा है के रूप में प्रलेखन. इसलिए इस समय यह कर एक प्लेसहोल्डर की तरह है जो कुछ के लिए अंदर उन घुंघराले ब्रेसिज़ के अंत में कुछ करने जा रहा है. इस बीच आप में दो कांटे है सड़क, एक और अगर इस तरह का निर्माण. आप अगर, elseif, और कर सकते हैं. अब यह विशेष रूप से ध्यान देने योग्य है आप के आसपास Googling किया गया है अगर के बाहर संसाधनों के लिए ऑनलाइन जिज्ञासा, या तुम्हें लेने अगर पाठ्यक्रम में से एक सी पर सिफारिश की किताबें, तुम मनुष्य बहुत सारे है कि देखेंगे कैसे के लिए विभिन्न वरीयताओं कोड में खुद को अभिव्यक्त करने के लिए. कुछ लोगों को डाल की तरह घुंघराले ब्रेसिज़ मैं यहाँ किया है के रूप में. कुछ लोगों घुंघराले डाल की तरह यहाँ उदाहरण के लिए ब्रेसिज़. कुछ लोगों elses डाल की तरह यहाँ और फिर इस यहाँ पर अप. किसी भी तरीके की संख्या न के बराबर है लिखने कोड, और उनमें से कोई भी एसई प्रति सही हो. कुछ हालांकि वहाँ बहुत गलत कर रहे हैं. यह वह जगह है लेकिन अगर no-- रहे हैं अंत में एक बहुत धार्मिक बहस. तथ्य यह है, सबसे ज्यादा परेशान से एक में कंप्यूटर विज्ञान के बारे में बातें कैसे स्वच्छंद है कंप्यूटर वैज्ञानिकों हो सकता है. और आप समय के साथ मिल जाएगा यहां तक ​​कि आप व्यक्तिगत वरीयताओं का विकास अपने कोड दिखना चाहिए के रूप में कैसे. बस व्यवहार नहीं, सिर्फ उत्पादन नहीं बना, लेकिन यह aesthetically कैसे देखना चाहिए. तो क्या हम क्या करेंगे साथ गाइड है रास्ते की ओर, अब के लिए कम से कम, एक मानक CS50 शैली है कि कम से कम वर्दी और पढ़ने के लिए आसान बातें करती रहती है. उन पर लेकिन अधिक लंबे समय से पहले भेद. सी में एक बूलियन अभिव्यक्ति, आप अगर इस हालत सच है तो कहना चाहता था और यह अन्य शर्त है सच है, तुम शब्द नहीं लिख सकता हूँ और, यदि आप अंग्रेजी में होता है. आप के बजाय एम्परसेंड एम्परसेंड का उपयोग, कारणों के लिए हम वापस आऊँगा. आप कहना चाहते हैं या आप दो का उपयोग करते हैं ऊर्ध्वाधर सलाखों, एक अमेरिका कीबोर्ड पर जो आम तौर पर लिखें ऊपर है बैकस्लैश की कुंजी अगले. और यह सिर्फ इस हालत तो इसका मतलब या यह दूसरी शर्त यह कर सच है. इस बीच वहाँ इस पागल बात, जो आप अवसर होगा थोड़ी देर में एक बार उपयोग करने के लिए. लेकिन यह सिर्फ एक विकल्प है अपने आप को व्यक्त करने का तरीका. यह अभी के लिए, चलो यह बस है, बंधेज व्यक्त करने का एक और कायरता रास्ता elseif, elseif, elseif, elseif, अगर. यह सिर्फ मामले में स्वरूपित है मामलों, जहां आप सचमुच का मूल्यों की परिगणना कि आप के लिए जाँच करने के लिए चाहते हो सकता है. इस बीच छोरों. हम की तुलना देखा एक पाश के साथ खरोंच. और मैं पर मेरे हाथ लहर करने के लिए जा रहा हूँ इन चीजों में से प्रत्येक का मतलब क्या है. लेकिन सूचना है कि एक पाश बहुत अक्सर के लिए कीवर्ड के साथ शुरू करते हैं. या यह कीवर्ड जबकि साथ शुरू होगा. या यह कीवर्ड के साथ शुरू होगा करते हैं, और कीवर्ड जबकि साथ खत्म होता है. लेकिन हम के बारे में क्या कर रहे हैं देखने के लिए इस तरह से अधिक बातें है. यहाँ सी में सामान्य रूप में, है, तुम कैसे हो सकता है एक चर घोषणा और यह एक मूल्य दे. सी में यह पर्याप्त नहीं है, जैसे स्क्रैच में, आप बस मुझे एक चर बुलाया कुछ देने का कहना है. आप सी बताने के लिए है, और बता अपने संकलक, और विशेष रूप से, मूल्य का आप किस प्रकार करते हैं कांच का कटोरा में डाल करना चाहते हैं. यह एक पूर्णांक है? यदि हां, तो आप के लिए है सचमुच तो पूर्णांक हैं और कहते हैं चर का नाम, फिर एक अर्धविराम. आप के बजाय स्ट्रिंग चाहते थे और कहा जाता है तो मैं आज यहाँ अपने कोड की तरह यह है, आप स्ट्रिंग है अर्धविराम कहेंगे. आप इसे एक मूल्य देना चाहता हूँ एक बार आप तो बराबर चिह्न का उपयोग कर सकते हैं, अन्यथा रूप में जाना असाइनमेंट ऑपरेटर. और कैसे एक नोटिस कोड की इन पंक्तियों की यह के अंत में अर्धविराम है. लेकिन स्पष्ट रूप से यह बस एक थोड़ा बुरा लग रहा है. मैं कंप्यूटर के लिए नहीं कह सकते क्यों, दे मुझे एक चर और शून्य करने के लिए यह इनिशियलाइज़. यही कारण है, मुझे एक खाली गिलास कटोरा दे. आप कर सकते हैं. और तो न्याय की है कि आप करेंगे कॉल समय के साथ stylistically करना है , आप इस तरह अपने कोड लिखने, या करते है आप की तरह यह साफ और प्रभावित करते हैं सिर्फ एक के रूप में दो लाइनें लिख कर लोगों को. और इस पर विचार किया जाएगा आम तौर पर एक और अधिक सुंदर तरीका के stylistically अपने कोड लिखने. कार्य हमने देखा पाठ्यक्रम की हो. वे इस प्रारूप ले जा रहे हैं. एक समारोह के नाम पर, कुछ कोष्ठक, और फिर शायद कुछ अंदर सामान. या फिर आप का उपयोग करता है देख सकते हैं कई कार्य पक्ष कुछ इस तरह जैसे पक्ष ने. अब एक स्पर्श के रूप में करता है, इस मजाक अब समझ बनाने? [हंसी] यह अजीब बात है मतलब है, लेकिन यह नहीं है शायद एक छोटे से अधिक समझ पड़ता है. तो अब में चलते हैं एक पल के लिए CS50 उपकरण. और मुझे यहां एक टीज़र खोल देना. कारणों की और वास्तव में एक IKEA सूची को शुरू करने के लिए और तस्वीर चमकती iPhone की एक बिट पहले वास्तव में एक साथ में टाई करने के लिए किया गया था तथ्य अभी कुछ साल पहले कि, 2007 में, इस कोड का टुकड़ा था , जो था जारी बहुत पहले कार्यान्वयन में से एक सॉफ्टवेयर का एक टुकड़ा की कि jailbreaking कहा जाता है क्या करता है. उन अपरिचित, jailbreaking के लिए एक फोन या एक iPhone की तरह कुछ अनिवार्य रूप से लगाना मतलब बातें करने के लिए कैसे बाहर इसके साथ उस कंपनी जो यह इरादा नहीं था बनाया. आप कुछ स्थापित करने के लिए चाहता हूँ की तरह App स्टोर में नहीं है कि सॉफ्टवेयर, अपने फोन को jailbreaking जो आपको लगता है कि और अधिक की तरह बातें करते हैं. लेकिन मजाक में क्या था 2007-- और वहाँ गया है विभिन्न संस्करणों के दर्जनों इन बातों के बाद से तो, हर रूप में languages-- कि है की iUnlock बुलाया यहाँ इस कार्यक्रम,, वास्तव में सी में है और इसलिए लिखा गया था मैं इस के लिए स्रोत कोड खिंचाई बस की तरह का है कि आप कुछ दिखाने के लिए निर्माणों के साथ समानता हम इस प्रकार अब तक चर्चा कर रहा है. अब जिस तरह से अधिक जटिलता यहाँ है हम क्लास में पहले से ही देखा है की तुलना में. मुझे यहाँ बस थोड़ा सा ऊपर स्क्रॉल करते हैं. लेकिन अच्छी तरह से हम कुछ नोटिस these-- नोटिस things-- लेकिन यहां इन लाइनों को नोटिस, मानक आई / ओ डॉट घंटे भी शामिल है. और, all-- लाइन 24 please-- / हे मानक मैं नोटिस डॉट घंटे और अन्य की एक पूरी गुच्छा फाइलें कि जाहिरा तौर पर अन्य लोगों लिखा है. और हम के माध्यम से नीचे स्क्रॉल अगर यह थोड़ा मनमाने ढंग से, मैं लिखने के लिए पता नहीं है नोटिस अपने आप को जरूरी अभी तक इस सब, लेकिन अगर वहाँ है. तो जाहिरा तौर पर यह एक शाखा है. और मैं थोड़ा नीचे स्क्रॉल अगर आगे एक और अगर वहाँ है. मैं ऊपर स्क्रॉल, तो मुझे लगता है कि लाइन 100 के आसपास मैं के लिए देखा था. तो मैं काफी यकीन नहीं है यह कैसे अभी तक काम करता है, लेकिन यह जा रहा है कि पाश के लिए एक है मुझे कई बार कुछ संख्या पुनरावृति करते हैं. और मैं सभी स्क्रॉल अगर नीचे करने के लिए रास्ता मैं एक है कि वहाँ देखना यहाँ नीचे समारोह में कहा जाता मुख्य, और कुछ अतिरिक्त क्रेडिट अपने पढ़ने के आनंद के लिए. तो यह केवल say-- के लिए है और हम डाल देता हूँ पाठ्यक्रम के स्रोत के बीच इस ऑनलाइन कोड इनमें से कि यहां तक ​​कि कुछ today-- के लिए दी गई है कि हम ले उपकरणों, दिन के अंत में आप अभी भी कर रहे हैं हम है कि इन बुनियादी निर्माणों का उपयोग इस प्रकार अब तक पहले से ही शुरू कर दिया गया. यही है कि एक के लिए पर्याप्त है. सब ठीक है, तो अब चलो वास्तव में कुछ का निर्माण. की तरह कुछ परे जाने दो hello.c, और, इस खोलो यहाँ इस कार्यक्रम लिखें. मैं आगे जाने के लिए जा रहा हूँ और , adder.c नामक एक प्रोग्राम लिखने जीवन में जिसका उद्देश्य होने जा रहा है मेरा पहला सुपर सरल कैलकुलेटर की तरह कि बस संख्या के एक जोड़े कहते हैं. कि एक मुश्किल है इसलिए नहीं कि समस्या है, लेकिन यह क्योंकि मुझे अब टाई करने के लिए अनुमति देता है एक साथ कुछ बातें. तो मुझे आगे जाना है और शामिल करने के लिए जा रहा हूँ मानक आई / ओ डॉट घंटे और CS50 डॉट घंटे. मैं int मुख्य शून्य कहने जा रहा हूँ. और फिर भविष्य में हम यह करने के लिए वापस आ जाएगा इस संदर्भ और शून्य साधन में में. और अब मैं कुछ कहने जा रहा हूँ printf की तरह, मुझे कोई पूर्णांक दे. और अब मेरी दूसरी लाइन पर, मैं अपने आप को इस तरह व्यक्त करते हैं कि कैसे मैं एक चर घोषित करना चाहते हैं कि एक पूर्णांक स्टोर करने के लिए जा रहा है? मैं चाहता हूँ कि अगर सचमुच मैं क्या टाइप करते एक पूर्णांक है कि स्टोर में एक चर बना आप कहेंगे? पूर्णांक एक getint के बराबर होती है. यकीन है, इसलिए काम करता है. और बस स्थिरता के लिए कोड के साथ हूँ ऑनलाइन देख, मुझे बदल देना इस एक्स के लिए, सिर्फ इसलिए कि एक्स एक आम चर नाम है कम से कम बीजगणित में, उपयोग करने के लिए. अब मुझे आगे जाना है और फिर printf करते हैं. मुझे एक और पूर्णांक दे. और अब मैं एक तरह करने के लिए जा रहा हूँ उस पैटर्न से सीखना, मैं int y GetInt लिए हो जाता है कहने जा रहा हूँ. और हम इस्तेमाल नहीं किया है GetInt से पहले, लेकिन बस GetString चला जाता है और एक स्ट्रिंग हो जाता है जैसे, जेवियर दर्शकों से किया था, इसी प्रकार GetInt करता है शीघ्र निमिष शुरू. और प्रभावी रूप से उपयोगकर्ता के लिए इंतजार कर में यह लिखकर, यह एक पूर्णांक देने के लिए और दर्ज मार. अब अंत में मैं क्या करने जा रहा हूँ यह राशि printf of-- और मुझे कल्पना now-- हो जाओ प्रतिशत मैं और प्रतिशत मैं मौजूद है मैं बात बैकस्लैश n विस्मयादिबोधक. और तुम मैं जा रहा हूँ क्या लगता है अतिरिक्त जानकारी के रूप में अब में डाल printf करने के लिए? मैं कहने के लिए नहीं करना चाहती सचमुच गंदें शब्द बोलना एक्स बोली. मैं एक्स में कक्षा चाहते हैं और तो, और अब की कल्पना करते हैं और चलो बस कल्पना करते हैं हम हम क्या चाहते हैं कर सकते हैं. क्या आप अगले कहना चाहते हैं? एक्स प्लस वाई. और वास्तव में वह काम करेंगे. यह न्यूनतम भाषा प्रोग्रामिंग है बुनियादी गणित समझ में नहीं आता, और तो यह वास्तव में काम करना चाहिए. तो मुझे आगे जाना है और कर करते हैं मेरे काले और सफेद खिड़की में योजक यहाँ नीचे दर्ज करें. गुप्त लाइन लेकिन कोई त्रुटि संदेश, तो यह अच्छी बात है. डॉट मुझे कोई पूर्णांक, 1 दे, योजक स्लेश. मुझे एक और पूर्णांक, 2 दीजिए. 1 और 2 की राशि 3 है. ठीक है, तो एक बहुत छोटी कार्यक्रम है, लेकिन यह क्या हो गया है? यह मेरे लिए एक समारोह का उपयोग करने की अनुमति दी है , यहाँ फोन यहाँ एक समारोह कॉल, GetInt, एक को दो कॉल printf के लिए कॉल तीसरा, और फिर इन प्लेसहोल्डर्स का उपयोग. तो यह एक छोटे से अधिक है पिछली बार की तुलना में परिष्कृत. लेकिन मैं करने के लिए क्या चाहते हैं एक छोटे से माहिर हो? मुझे आगे जाना है और अब यह करते हैं. मुझे आगे जाना है और बनाने चलो एक नई फ़ाइल की स्थिति शून्य कहा जाता है. और मुझे बचाने के लिए जा रहा हूँ कक्षाओं खातिर कुछ समय और सिर्फ इतना है कि में पेस्ट एक प्रारंभिक बिंदु के रूप कोड. और अब मैं सिर्फ डाला जा रहा हूँ बीच में यहाँ कुछ नया. तो printf मैं एक पूर्णांक कृपया चाहते हैं. और यह सब कोड उपलब्ध है पाठ्यक्रम की वेबसाइट पर, आप यह सब बाहर प्रकार की जरूरत नहीं कक्षा में अगर आप बल्कि होगा नहीं. पूर्णांक, और अब मैं जा रहा हूँ बजाय एक्स और वाई की, उपयोग, मैं जो, एन उपयोग करने के लिए जा रहा हूँ शायद सबसे आम नाम एक कंप्यूटर प्रोग्राम में एक पूर्णांक के लिए. और अब मैं एक ऐसा करना चाहते हैं यहाँ थोड़ा निर्णय. मैं n अगर देखने जा रहा हूँ तो, 0 से अधिक है मैं, printf-- वूप्स कहने जा रहा हूँ printf-- तुम, एक सकारात्मक संख्या उठाया विस्मयादिबोधक बिंदु बैकस्लैश एन. कि बंद. वरना मैं printf बाहर मुद्रित करने के लिए जा रहा हूँ आप एक नकारात्मक संख्या उठाया. अब तुम मुझ पर चिल्लाना से पहले, इस कार्यक्रम चलाते हैं. मुझे यहाँ नीचे चलते हैं. और मैं एक कार्यक्रम संकलन कैसे स्थितियां पानी का छींटा 0 कहा जाता है? स्थितियां पानी का छींटा 0 बनाओ. एक बेवकूफ नाम की तरह, but-- Dammit. ठीक है, अच्छा शिक्षण पल. क्यों कि तोड़ दिया? क्या मैं गलती से इस फाइल को फोन किया था? आप किस तरह के अनुमान कर सकते हैं यहाँ टैब से. तो यह है कि बुरा नहीं है मैं इस किया था, इस वजह से आप में से कुछ को शायद कुछ नहीं होगा. इसलिए मैं गलती से नामित मेरे स्रोत कोड हालत 0. लेकिन सम्मेलन द्वारा अपने स्रोत कोड होना चाहिए हालत 0 डेश सी नामक एक फ़ाइल में हो, या जो कुछ भी डॉट सी. तो मुझे यह तय करते हैं. सिर्फ माइक्रोसॉफ्ट वर्ड की तरह मैं ऊपर जा सकते हैं के रूप में सहेजें और हालत 0 डॉट सी करने के लिए. अब सिर्फ मैं हूँ साफ होने के लिए आगे बढ़ो और दूर करने के लिए जा रहा मेरे पुराने संस्करण था जो हालत 0,. और अब कर करते हैं हालत 0, लिखें. ठीक है, अच्छा लगता है. हालत 0, लिखें. मैं, 50, एक पूर्णांक कृपया चाहते हैं आप एक सकारात्मक संख्या उठाया. अब कैसे नकारात्मक 50 के बारे में? आप एक नकारात्मक संख्या उठाया. कैसे के बारे में अब, 0. पूरा यकीन 0 नकारात्मक नहीं है. तो यह एक तार्किक बग की तरह है. मैं यह कैसे तय करते हैं? एन 0 से कम है और अगर, किसी और ऐसा करने के हम यहां एक तरह से तीन शाखा हो सकता है printf आप 0 उठाया. तो अब मैं इस फिर से दौड़ना अगर कार्यक्रम, यह संकलन के बाद फिर से बनाने के साथ, और अब फिर से दौड़ना हालत 0, मैं यहाँ क्या देखेंगे 0 मुझे लगता है कि आउटपुट देता है. तो हम कहाँ इस के साथ जा रहे हैं? वैसे यह दृष्टि खोने के लिए बहुत आसान है पेड़ों के लिए जंगल की. और इसलिए हमें समाप्त करने की अनुमति इस 2 और 1/2 मिनट के वीडियो के साथ कि अंत में एक सा है गूगल से एक विज्ञापन की, लेकिन यह सच के लिए आदेश है क्या फिर भी इन बुनियादी इमारत का उपयोग हम अंत में एक बार कर सकते हैं ब्लॉकों हम प्रोग्रामिंग का एक सा है हमारे बेल्ट के तहत सामान्य बुद्धि. [संगीत खेल] SAROO BRIERLEY (वॉयसओवर): यह 26 साल पहले की बात है और मैं 5 बारी के लिए बस के बारे में था. हम रेलवे स्टेशन के लिए मिला है और हम एक साथ हमारे ट्रेन में सवार. मेरा भाई सिर्फ मैं हूँ कहा यहां रहना है, और मैं वापस आ गया हूँ. और मैं सिर्फ अच्छी तरह से तुम्हें पता है, सोचा मैं भी सिर्फ सोने के लिए जा सकते हैं और वह सिर्फ मुझे जाग जाएगा. और मैं अगले उठी जब दिन, पूरी गाड़ी एक भगोड़ा ट्रेन में खाली था, एक भूत ट्रेन मैं पता नहीं कहाँ मुझे ले रही है. मैं ऑस्ट्रेलिया के लिए बाहर अपनाया गया था एक ऑस्ट्रेलियाई परिवार के लिए. और माँ सजाया था मेरे भारत के मानचित्र के साथ कमरे, जो वह मेरे बिस्तर के बगल में डाल दिया. मैं हर सुबह उठा कि नक्शा देखकर, और इसलिए यह एक तरह से जीवित यादें रखा. लोगों को आप कर रहे हैं, कहेंगे एक सुई खोजने की कोशिश एक टेबल, Saroo में आप यह कभी नहीं मिलेगा. मैं स्थानों में से प्रकाशित होता है कि मैं जाने के लिए इस्तेमाल किया, मेरे परिवार की चमक चेहरे. मेरी माँ की छवि थी, उसके पैरों को पार कर के साथ नीचे बैठे, बस उसे रोना देख रहे हैं. जीवन सिर्फ इतना मुश्किल है. यही मेरा खजाना था. और मैं गूगल मानचित्र और देख रहा था एहसास के रूप में अच्छी तरह से गूगल पृथ्वी है. आप में ज़ूम सकता है, जहां एक दुनिया में, मैं इन विचारों के सब करने के लिए शुरू और क्या संभावनाओं यह मेरे लिए कर सकता है. मैं तुम्हें पता है, आप है अपने आप से कहा उन सभी फ़ोटो यादों मिला और तुम कहाँ से हो स्थलों, और आप शहर की तरह लग रहा है पता. यह एक आवेदन किया जा सकता है तुम वापस अपने रास्ते खोजने के लिए उपयोग कर सकते हैं. मैं अच्छी तरह से मैं एक डाल देता हूँ, सोचा कोलकाता रेलवे स्टेशन पर बिंदी, और एक त्रिज्या लाइन, आप जानते हैं, आपको लगता है कि इस क्षेत्र के आसपास खोज की जानी चाहिए. मैं की तरह भर में आया था इन रेल पटरियों. और मैं यह बाद शुरू कर दिया, और मैं एक ट्रेन स्टेशन के लिए आया था जो एक ही छवि परिलक्षित कि मेरी यादों में था. सब कुछ मेल नहीं खाते. मैं तो बस, हां सोचा मैं मैं कहाँ जा रहा हूँ पता है. मैं सिर्फ यह बताने के लिए जा रहा हूँ मैं अपने दिमाग में है कि नक्शा मेरे नेतृत्व और वापस अपने शहर के लिए मुझे ले लो. मैं के दरवाजे पर आया मैं पैदा हुआ था उस घर. और चारों ओर लगभग 15 चला कोने के आसपास मीटर, तीन महिलाओं खड़े नहीं थी बाहर, एक दूसरे से सटे. और बीच एक आगे कदम रखा, और मैं सिर्फ यह तुम्हारी माँ है, सोचा. वह आगे आए, वह मुझे गले लगाया, और हम के बारे में पांच मिनट के लिए वहाँ थे. उसने मेरा हाथ पकड़ा और वह घर के लिए मुझे ले गया और फोन, जहां वह पर मिला मेरी बहन और मेरे भाई बजी यह कहना है कि, तुम्हें पता है, अपने भाई की है सभी की अचानक एक भूत की तरह दिखाई दिया. और फिर परिवार फिर से जुड़ गया था. सब कुछ है, सब अच्छा है मैं, मेरी माँ मदद से बाहर वह दूर slaving होने की जरूरत नहीं है. वह आराम से रह सकते हैं शांति में उसके जीवन की. यह एक टेबल में एक सुई थी लेकिन सुई वहां गया था. सब कुछ नहीं है. सब कुछ हम दुनिया में है एक बटन के नल पर है. लेकिन आप करेंगे है मिल गया है और यह चाहने के लिए दृढ़ संकल्प. [संगीत खेल] डेविड Malan: शानदार मीठा प्रशंसापत्र बस क्या आप कर सकते हैं करने के लिए अब प्रौद्योगिकी के साथ करते हैं. हम अगले सप्ताह आप देखेंगे.