आरओबी: सब ठीक है. प्रथम खंड में आपका स्वागत है. मैं रोब हूँ. यूसुफ: मैं यूसुफ हूँ. आरओबी: तो हम सही अंदर डुबकी हूँ के बारे में बात करने के लिए सबसे पहले बात उपकरण है. तो उम्मीद है कि आप में से अधिकांश है यह पहले से ही डाउनलोड किया. लेकिन तुम निर्देश देख सकते हैं cs50.net/appliance पर. हे भगवान, अब मैं स्वयं के प्रति सजग हूँ. मैं अभी भी यह सुना है. यूसुफ: वाह, यह जैसा लगता है यह disoriented है. आरओबी: तो कुछ लोगों को कर दिया गया है इसके साथ मुद्दों है, इसलिए जब तक इंतजार नहीं करते समस्या के आखिरी मिनट के लिए सेट कोशिश करते हैं और उपकरण का समाधान और यह काम नहीं कर रहा है कि बाहर ढूँढने. यूसुफ: और कुछ काम नहीं कर रहा है और आपको मदद की जरूरत है, आप के लिए जा सकते हैं cs50.net/discussion जहां हम जहां आप एक मंच है अपने प्रश्न पोस्ट कर सकते हैं. और हम अंत में उन्हें मिल जाएगा. आरओबी: सब ठीक है. तो यह क्या उपकरण है की तरह दिखता है. फिर, यह सिर्फ एक पूरी तरह से अलग है ऑपरेटिंग सिस्टम के भीतर चल रहा है जो भी ऑपरेटिंग सिस्टम आप अपने लैपटॉप पर चल रहे हैं. और तुम मुख्य बातें का उपयोग किया जीएडिट हैं. तो उम्मीद है कि यह पहले से ही है एक परिचित साइट बन जाते हैं. टर्मिनल. और तुम भी क्रोम चला सकते हैं उपकरण के भीतर. लोगों के एक जोड़े किया गया है इंटरनेट सूचना दी है जो उपकरण में काम नहीं. और उनमें से कुछ ही ग्रहण किया माना जाता है कि नहीं उपकरण में इंटरनेट. लेकिन हाँ, वहाँ माना जाता है इंटरनेट हो. मैं अभी यह कहना होगा, लेकिन यह नहीं है वास्तव में कुछ भी मतलब है. इंटरनेट काम नहीं कर रहा है, इस में आप की जरूरत के लिए करते हैं क्या है इसे ठीक करने के लिए चलाने के लिए. आप इंटरनेट मुद्दों कर रहे हैं, नहीं करते यह याद है, अभी इस पर पोस्ट चर्चा है, और हम उस चलाने, कहता हूँ. लेकिन इंटरनेट काम किया जाना चाहिए. इसलिए केवल दूसरी बात - हाँ, कुछ भी नहीं किसी और वास्तव में प्रासंगिक है. लेकिन मैं सिर्फ इतना है कि बाहर बात करना चाहता था - इस दाहिने कोने में देखते हैं. तो अपने उपकरणों के प्रत्येक चाहिए एक आईपी पता है. और बाद में सेमेस्टर में, इस आईपी पते और अधिक प्रासंगिक हो जाएगा जब यदि आप वेब P-सेट पर काम कर रहे हैं, क्योंकि आप का उपयोग करने में सक्षम हो जाएगा वेबसाइट आप से पर काम कर रहे हैं अपने इस आईपी पते का उपयोग कर स्थानीय क्रोम. लेकिन मैं आईपी पते का उपयोग करने के लिए क्या पसंद के लिए - और आप ऐसा करने की जरूरत नहीं है, मैं सिर्फ यह कहना चाहता हूँ - यहाँ है. तो इस पर एक टर्मिनल विंडो है मेरे मैक, इस में नहीं है पर सभी उपकरण. और आप देख सकते हैं क्या इस आदेश करता है. लेकिन मैं सीधे SSH करने के लिए जा रहा हूँ मेरे उपकरण के लिए. मैं आईपी क्या है पता नहीं है. यूसुफ: 168 - 168.224.1.0. आरओबी: तो एक बार मैं कर रहा हूँ इस के साथ, अंदर प्रवेश अब, असल में, यह एक के समान है मेरे उपकरण के भीतर टर्मिनल विंडो. तो मैं बहुत ज्यादा वास्तव में काम नहीं किया उपकरण के भीतर ही से. मैं तो बस हमेशा यह चल रहा है कम से कम पृष्ठभूमि में और इसे में SSHed. इस के साथ इस मुद्दे को आप नहीं जा रहे है आसानी से जीएडिट का उपयोग करने में सक्षम हो इस सीधे से. लेकिन अगर आप एक असली शांत होना चाहते हैं हैकर, तो आप एक के लिए इस्तेमाल किया जाना चाहिए वैसे भी कमांड लाइन पाठ संपादक. तो विम और Emacs और नैनो, इन सब अलग विकल्प हैं. नैनो के लिए सबसे आसान हो जाता है. और मैं यह नहीं लगता है कि वाक्यविन्यास पर प्रकाश डाला. ओह, नहीं, यह पूरी तरह से करता है. तो तुम, नैनो का उपयोग कर सकते हैं क्योंकि एक बहुत आसान है कि. आप इन सभी आदेशों को देखने तल पर. इस छोटे से गाजर प्रतीक. इससे पहले कि आप इसे नहीं देखा है, तो आप हूँ शायद अब यह एक बहुत देखते हैं. यह आम तौर पर नियंत्रण गाजर का मतलब है, अपने कीबोर्ड के नीचे बाईं तरह नियंत्रण चरित्र. यहाँ तो यह मुझे यहाँ नीचे कह रहा है - मैं अंदर ज़ूम अगर ओह, इसे काट नहीं है इसलिए नियंत्रण, एक्स कैसे है मैं बाहर निकलने के लिए जा रहा हूँ. और यह मैं के लिए वाई हिट कर सकते हैं कहते हैं हाँ, बचाने के लिए, एन के लिए नहीं. तो यह है कि नैनो की. विम और Emacs से थोड़ा अधिक हो जाते हैं जटिल और भारी. लेकिन अगर आप इसकी आदत हो सकता है, और फिर तुम इसे प्यार करती हूँ. तो वह है कि. यूसुफ: ऐसा करने की कोई जरूरत नहीं है. रोब: हाँ. आप के लिए जीएडिट उपयोग करने के लिए स्वतंत्र हैं सेमेस्टर के शेष. इसलिए किसी भी उपकरण से संबंधित सवाल? या फिर आप क्या बाकी पर कोई विचार है के बारे में के बारे में बात करने की आवश्यकता है उपकरण? हां. स्पीकर 1: आप में SSHed जब अपने बात, पासवर्ड क्रिमसन था? रोब: हाँ. बहुत ज्यादा सब कुछ के लिए पासवर्ड उपकरण में जा रहा है क्रिमसन हो. अध्यक्ष 2: एक असली आईडीई की तरह स्थापित करें उपकरण पर, यह काम करेगा? रोब: मैं ग्रहण करता है की कल्पना एक फेडोरा संस्करण है, जो मामले में, हाँ, आप ऐसा कर सकते हैं. यह शायद वास्तव में इसके लायक नहीं है. अध्यक्ष 2: ठीक है. तो यह शायद अगर मैं चाहता था आसान है ग्रहण का उपयोग करें, सिर्फ देशी उपयोग और तब तक अपलोड - आरओबी: ओह, यह भी शायद आसान है. लेकिन आप यह काम कर प्राप्त कर सकते हैं उपकरण के भीतर. यूसुफ: और कैमरे के लिए, सवाल था, तुम एक और स्थापित कर सकते हैं उपकरण के अंदर आईडीई? रोब: ग्रहण एक किया जा रहा है एक आईडीई का उदाहरण. किसी अन्य उपकरण सवाल? ठीक है. इसलिए हम अब कमांड लाइन के लिए आगे बढ़ना होगा इंटरफ़ेस से संबंधित बातें है, तो सीएलआई. और फिर, मैं बस में काम करने के लिए जा रहा हूँ यहां, इस के समान है क्योंकि एक टर्मिनल विंडो के भीतर काम उपकरण के भीतर. कैसे फ़ॉन्ट कि लग रहा है? कि काफी बड़ा है? ठीक है. तो आदेशों की एक बहुत कुछ कर रहे हैं कि तुम बहुत करने के लिए इस्तेमाल किया जाना चाहिए सेमेस्टर भर में. नेविगेट करने के लिए बड़ी दो रास, सूची में हैं इस निर्देशिका में फाइल, और सीडी, तो निर्देशिका बदलें. तो मैं तो डेस्कटॉप को बदलने के लिए और कर सकते हैं एक बहुत ही आम पैटर्न एक करने के लिए सीडी है निर्देशिका और तुरंत रास निर्देशिका में क्या है. लोग भी कभी कभी एहसास नहीं है उस टैब पूरा एक बात है. तो जैसे सीडी, VH, और फिर मैं टैब मारा. मैं बाहर प्रकार लगभग कभी नहीं पूरी बात. और फिर मैं टैब मार रखने अगर फिर, यह स्वतः हूँ मेरे लिए लिस्टिंग शुरू. तो मैं सीडी vhosts, स्थानीय होस्ट कर सकते हैं. और कहा कि अभी जा रहा है - मामले में आप शब्द नहीं सुना है इससे पहले, निर्देशिका सिर्फ एक और शब्द है फ़ोल्डर के लिए. तो अब आप देखते हैं - के शीर्ष पर है कि लाने. तो अब तुम कोष्ठक में देखते हैं थोड़ा टिल्ड, स्लैश, vhost देखते हैं, स्थानीय मेजबान स्लेश. तो टिल्ड, कि संदर्भित करता है मेरे घर निर्देशिका करने के लिए. यह आप कर रहे हैं एक निर्देशिका है आप अंदर SSH जब में यह आप जब में हैं निर्देशिका है आप एक टर्मिनल खोलें. तुम कहाँ शुरू लगता है. और इसलिए मैं अपने घर निर्देशिका के अंदर हूँ, और मैं vhost के अंदर हूँ मेरे घर निर्देशिका की निर्देशिका अंदर. और फिर मैं स्थानीय के अंदर हूँ उस के अंदर निर्देशिका की मेजबानी. सीडी के साथ तो कुछ अन्य उपयोगी बातें - या ठीक है, सामान्य रूप में, तो हमेशा डॉट वर्तमान निर्देशिका को संदर्भित करता है. सीडी, डॉट एक बहुत बेकार आदेश है. लेकिन उस के लिए बदल रहा है वर्तमान निर्देशिका. के मामले में एक और अधिक उपयोगी एक सीडी डॉट, डॉट, जो है अभी तक एक निर्देशिका जाना. और ध्यान दें कि इन - मैं उपनामों कहना चाहता हूँ, लेकिन इन प्रतीक, बिंदी, और डॉट, दूरसंचार विभाग, उन काम आप कर रहे हैं काफी किसी भी आदेश के लिए चलाने की सोच होने जा रहा. तुम कहाँ हो जाएगा तो जैसे सीडी शायद है अधिकांश का उपयोग कर, लेकिन इन नहीं कर रहे हैं सिर्फ सीडी समझता कि चीजें. यह बहुत ज्यादा कुछ अपने पूरे है कमांड लाइन समझता है. कार्यक्रमों की एक बहुत कुछ समझ डॉट और डॉट डॉट. तो अन्य उपयोगी हैं - सीडी, पानी का छींटा. इसलिए कि मुझे लाने जा रही है मैं अंदर गया था कि पिछले निर्देशिका तो कभी कभी मैं ऐसा कुछ कर लेंगे ओह, मैं यहां काम कर रहा हूँ. और मैं कुछ के साथ कुछ त्रुटि देखते हैं, मैं करने जा रहा द्वारा यह जांच जाऊँगा कहीं कुछ बेतरतीब निर्देशिका. यह हूँ और अगर मैं नहीं जानता वहां मुझे जाने. यह होगा. तो फिर मैं जो मैं चाहता हूँ इस निर्देशिका में. बकवास, बकवास, बकवास, बकवास, बकवास. और मुझे लगता है मैं चाहता हूँ, सब ठीक है, की तरह था वापस मैं कहाँ था पर जाने के लिए. सीडी, डैश, और यह सही मुझे वापस लाता है. तो मैं एक बहुत फेंक करने के लिए जा रहा हूँ आज आप पर इनमें से. मैं आपको याद करने की उम्मीद नहीं है उन सभी को. यह एक तरह से सिर्फ इतना पता है वे मौजूद हैं. और फिर बाद में आप की तरह कर रहे हैं पर, हम्म, मैं करने के लिए वापस जाना चाहता हूँ मैं बस में था कि निर्देशिका, ओह, रुको, कुछ उस तरह से मौजूद है. तुम बस में टाइप करने के लिए नहीं है फिर पूरी निर्देशिका. यूसुफ: और अंत में आप सिर्फ होगा पर और फिर उन का उपयोग, और यह मांसपेशियों की स्मृति बन जाऊँगा. रोब: हाँ. जैसा कि मैंने पहले कहा तो कैसे, कि टिल्ड आपके घर निर्देशिका है. तो मैं सीडी, टिल्ड कर सकते हैं. लेकिन मैं भी करने के लिए नहीं है ऐसा लगता है कि मैं सिर्फ अगर - मैं तो निर्देशिका के लिए वापस जाना होगा यह एक व्यर्थ उदाहरण नहीं है. मैं सिर्फ सीडी करते हैं लेकिन अगर वह भी है के रूप में ही, मेरे घर निर्देशिका पर जाएं. मैं कमान लालकृष्ण करना यूसुफ: आप भी स्पष्ट लिख सकते हैं, शब्द, और यह कि यह स्पष्ट करना चाहिए. आरओबी: और मैं नियंत्रण, यह भी लगता है एल भी यह होता है. अलग अलग तरीकों से तो बहुत सारे. मैं कुछ मतभेद हैं जहां आपको लगता है स्पष्ट और नियंत्रण, एल बस वास्तव में यह शीर्ष पर धक्का और मैं अभी भी वापस स्क्रॉल कर सकते हैं. कमान, कश्मीर सचमुच नष्ट कर देता है सब कुछ, और आप ऊपर वापस स्क्रॉल नहीं कर सकते हैं. बहुत कम से कम, कि यह iTerm2 में कैसे काम करता है. मैं कैसे अन्य बातें पता नहीं है - ओह. SSHing के साथ, आप विंडोज पर हैं तो आप पुटी डाउनलोड करने के लिए जा रहे हैं विंडोज नहीं है SSH के क्रम में एक निर्मित SSH उपकरण की तरह है. एमएसीएस से, आप सिर्फ SSH सीधे कर सकते हैं एक टर्मिनल विंडो से. ठीक है. प्रश्न? लोकसभा के साथ, तो कुछ के लिए इस्तेमाल किया जाना इन आदेशों की सबसे अधिक है साथ - ठीक है, मैं सिर्फ एक कोशिश करूँगा. रास, डैश, एल. तो पानी का छींटा, एल हम जा रहे हैं क्या है रास के लिए एक झंडा कॉल करने के लिए. और इन आदेशों का एक बहुत झंडे आप उन्हें पारित कर सकते हैं. तो इस मामले में, पानी का छींटा, एल एक ध्वज है कि मुझे एक पूर्ण देने के लिए यह बताता है सभी जानकारी की लिस्टिंग इन फ़ाइलों की. इसलिए हम डेस्कटॉप था कि यहाँ देख 12:54 30 जुलाई को संशोधित. डाउनलोड 6 सितंबर में संशोधित किया गया था. ये मौजूदा आकार के होते हैं और इन निर्देशिकाओं की बाइट. तुम समझने की जरूरत नहीं है इस सब के सब. यह सामान बाईं तरफ, इन drwx की, कि और अधिक प्रासंगिक हो जाएगा आप से निपटने के लिए बाद में जब - कि अनुमतियाँ प्राप्त के साथ नहीं है इन फ़ाइलों को देखने के लिए. और तो आप पर ही उपयोगकर्ता नहीं थे इस कंप्यूटर, आप करने में सक्षम होगा कहते हैं, ठीक है, मैं केवल एक ही होना चाहिए इस फाइल को देखने के लिए अनुमति दी है या मैं कर रहा हूँ अनुमति देने के लिए जा रहा हर कोई इस फाइल को देखने के लिए. तो अपने कंप्यूटर पर किसी और को इस फाइल में देख सकते हैं. मैं भी क्या यह नहीं पता है - यह क्या करता है? यूसुफ: मैं वास्तव में काफी यकीन नहीं है. रोब: पता नहीं. यूसुफ: तुम नहीं जानते लेकिन अगर वहाँ है आप उपयोग कर सकते हैं कि एक उपयोगी आदेश उत्पादन का मतलब है क्या आप बता सकते हैं. और तुम आदमी में टाइप आदेश से पहले - इतना एम ए एन. आरओबी: यार. तो आदमी एक और एक है यह बहुत उपयोगी है. और आदमी, रास. तो आदमी पृष्ठों, वे दोनों है आप का उपयोग करने जा रहे हैं कि आदेशों कमांड लाइन पर, और वे भी है प्रासंगिक होगा कि कार्यों तुम आदमी कर सकते हैं तो सी. के साथ - और मैं 3 पर ध्यान नहीं दिया. लेकिन मैन 3 printf लाने जा रही है printf के सी संस्करण. मैं सिर्फ आदमी printf लेकिन अगर, यह है आदेश printf को लाने के लिए जा रहा आदेश पंक्ति पर होता है. तो आदमी, रास. आदमी पृष्ठों सुंदर हो सकता है भारी. इधर, हालांकि, आपको यह लिस्टिंग देखेंगे इन झंडे के सभी की कि लोकसभा समझता है. तो हम, एल पानी का छींटा, और करने के लिए जाना है - मैं सिर्फ तुम पर इस फेंक करने के लिए जा रहा हूँ. लेकिन खोज करने के क्रम में, आप चाहते हैं पहला सवाल हिट करने के लिए मार्क या स्लैश बटन. तो स्लेश. और फिर मैं खोज कर सकते हैं जो मैं चाहता हूँ के लिए. तो मैं पानी का छींटा, एल के लिए स्लेश करने के लिए जा रहा हूँ. और यह वहाँ था. तो एक लंबे लिस्टिंग प्रारूप का उपयोग करें. यही कारण है कि मुझे बाहर निकालने में मदद नहीं करता है क्या उस विशेष स्तंभ का मतलब है, लेकिन मैं यहां कहीं मान यह समझाना होगा कि. इसलिए किसी भी आदेश के लिए मैन पेज का उपयोग आप तुरंत समझ में नहीं आता कि. मैं आप भी आदमी, आदमी कर सकते हैं पूरा यकीन है. ऑनलाइन के लिए एक इंटरफेस संदर्भ मैनुअल. ओह, शायद थोड़ा है कि एक आखरी प्रासंगिक है रास, पानी का छींटा, एक. मैं सिर्फ लोकसभा करते हैं तो नोटिस, मैं इन पांच फाइलें मिलता है. मैं रास करते हैं, पानी का छींटा, एक, मैं एक बहुत अधिक फाइलें मिलता है. इन सब के बीच आम में तो बात नई फ़ाइलें पहले से डॉट है. तो परंपरा है कि एक फ़ाइल है कि एक डॉट छिपा है के साथ शुरू होता है. तो क्या आप उस फ़ाइल को देखने के लिए नहीं करना चाहती साथ यह गड़बड़ नहीं करना चाहता है अपनी निर्देशिका लिस्टिंग. आप स्पष्ट रूप से पूछना जब यह केवल है सब ठीक है, रास, पानी का छींटा, एक, मुझे दिखाओ. एक, सभी फाइलों के लिए खड़ा है छिपा लोगों सहित. तो कुछ अन्य आदेश. ओह, उस बिंदु पर सवाल? हां. स्पीकर 3: आप रास करते हैं, एक, डॉट, डॉट क्या है? आरओबी: ओह. तो इस बारे में मैं बात कर रहा था क्या है. यह एक ही बात है, जहां मैं सीडी, डॉट, दूरसंचार विभाग की तरह कर सकते हैं. तो तकनीकी तौर पर, डॉट और डॉट, डॉट हैं हर एक में मौजूद फाइलें डॉट फ़ाइल संदर्भित करता है जहां निर्देशिका वर्तमान निर्देशिका करने के लिए. तो मैं सीडी, डॉट, मैं अभी जा रहा हूँ अगर निर्देशिका में रहने के लिए. और दूरसंचार विभाग, दूरसंचार विभाग हमेशा के लिए संदर्भित करता है पिछले निर्देशिका एक स्तर ऊपर. तो मैं लॉग और लोकसभा में जाना, पानी का छींटा, अल, मैं डॉट, दूरसंचार विभाग देखेंगे. डॉट को सीडी, डॉट पिछले निर्देशिका करने के लिए मुझे लाता है. हाँ. ठीक है. तो एक और बहुत महत्वपूर्ण आदेश आरएम है. इसलिए कि हम जा रहे हैं दूर करने के लिए उपयोग करने के लिए. और मुझे वास्तव में एक और करते हैं आदेश पहले. तो mkdir. Mkdir है कि कैसे आप कर सकते हैं निर्देशिका बनाने. और मैं एक अस्थायी निर्देशिका बनाने देंगे और कि अस्थायी निर्देशिका में चलते हैं. और उम्मीद के रूप में, यह खाली है. लेकिन मैं रास, पानी का छींटा, एक, मैं अभी भी बिंदु है अगर डॉट को संदर्भित करता है और डॉट, डॉट, क्योंकि वर्तमान निर्देशिका. और दूरसंचार विभाग, दूरसंचार विभाग को संदर्भित करता है पिछले निर्देशिका. और उन हमेशा कोई बात नहीं मौजूद होगा आप अंदर हैं निर्देशिका और यह एक पूरी तरह से अनावश्यक है आदेश, लेकिन स्पर्श. यह इसलिए है क्योंकि मैं सिर्फ यह उपयोग कर रहा हूँ फाइल बनाने के लिए एक आसान तरीका है. तो सी बस है स्पर्श, बी स्पर्श, एक टच एक बुलाया तीन फाइल बनाने के लिए जा रहे हैं, पूरी तरह से खाली कर रहे हैं कि बी, और सी. तो मुझे की बात में उन बनाने पहली जगह है कि आरएम है तो बस इतना है हम उन्हें कैसे दूर कर सकते हैं. तो RM, एक. इसे हटाने, मुझे पूछने के लिए जा रहा है नियमित रूप से खाली फ़ाइल एक? और फिर मैंने हाँ कह देंगे. मैं यकीन के लिए पता तो अगर मैं चाहता हूँ कि होना करने के लिए बिना उस फाइल को मिटा कहा जाए, नियमित रूप से खाली फ़ाइल हटाना चाहते हैं?, फिर RM, डैश, च होने जा रहा है कहते हैं कि झंडा, बिना दूर मजबूर यहां तक ​​कि मेरे उत्साह, ओह, आप कर रहे हैं सुनिश्चित करें कि आप फ़ाइल हटाना चाहते हैं? हाँ, मुझे यकीन है. तो RM, डैश, अमेरिकन प्लान सिर्फ होगा बिना पूछे इसे करते हैं. तो चलो कुछ ज्यादा निर्देशिका बनाते हैं. mkdir, tmp2, सीडी, tmp2, एक, स्पर्श बी स्पर्श. ठीक है. तो अब मैं निकालना चाहते हैं एक निर्देशिका के रूप में tmp2. तो RM tmp2. आप tmp2 नहीं निकाल सकते हैं, यह एक निर्देशिका है. इसलिए इस मुद्दे को यहाँ RM नहीं है तुरंत निर्देशिका पर काम करते हैं. यह केवल तरह फ़ाइलों के लिए है गैर निर्देशिका फ़ाइलें. और तो हम क्या कर सकते हैं यहाँ RM, डैश, आर है. यही कारण है कि बारी बारी के लिए खड़ा है, जो हो सकता है अभी तक आप कुछ भी मतलब नहीं. लेकिन आप प्रत्यावर्तन के लिए मिलता है, यह अधिक मतलब होगा. तो RM, डैश, आर, tmp2 जा रहा है बारी बारी से उस निर्देशिका में चलते हैं. इसलिए निर्देशिका tmp2 में उतर? हाँ, उस में चलते हैं. हम एक / tmp2 को दूर करना चाहते हैं? हां. हम tmp2 / ख को दूर करना चाहते हैं? हां. अब हम हटाना चाहते हैं निर्देशिका tmp2? हां. और इसलिए अब निर्देशिका और अंदर सब कुछ इसे हटा दिया गया है. एक आदेश rmdir तकनीकी रूप से है आप को दूर करने के लिए उपयोग कर सकते हैं निर्देशिकाओं, लेकिन यह केवल काम करता है वैसे भी खाली निर्देशिका पर. और यह देखना है कि, चलो बस फिर mkdir, tmp2 करना. Tmp2, एक स्पर्श. ठीक है. मैं dirtmp2 को दूर करने का प्रयास करते हैं तो, यह हूँ निर्देशिका खाली नहीं, कहना. इसलिए मैं दूर का उपयोग बहुत ज्यादा कभी नहीं वैसे भी dir आदेश, क्योंकि RM, डैश, आर खाली निर्देशिका पर काम करेंगे और गैर खाली निर्देशिका. और यह भी, मैं करने के लिए नहीं करना चाहते, तो का है कि इस पूरी प्रक्रिया के माध्यम से जाना निर्देशिका में उतरते और प्रत्येक व्यक्ति फ़ाइल को हटाने, आर एम, पानी का छींटा, आरएफ, tmp2. और अब वह चला गया. सावधान होने के लिए कुछ के बारे में आरएम, डैश, आरएफ है. और यह मुझे भी यह टाइप करने के लिए डराता है, क्योंकि अगर मैं गलती हिट दर्ज करें या कुछ और. तो RM, डैश, आरएफ, टिल्ड होगा, बिना मुझे उत्साह, च संकेत नहीं देता मुझे, यह स्वचालित रूप से निकाल देंगे मेरे पूरे घर निर्देशिका और यह सब कुछ. तो आपको लगता है कि लगता है कि हो सकता है ऐसा करने के लिए एक बेवकूफ बात. और अच्छी तरह से, यह है. लेकिन यह द्वारा बहुत आसानी से हो सकता है दुर्घटना मैं दूर करना चाहता था, कहते हैं, अगर मेरे स्लैश, vhost निर्देशिका. और बस जल्दी टाइपिंग में, मैं गलती से ऐसा करते हैं. यही कारण है कि मेरे दोनों बारी बारी से निकाल देंगे घर निर्देशिका और vhost निर्देशिका इस विशेष निर्देशिका में है कि बस सही अब मौजूद नहीं होता है. लेकिन यह अभी भी दूर करेगा मेरे पूरे घर निर्देशिका. कम से कम एक एफ नहीं होने से, यह पहली बार मुझे शीघ्र होगा. और मैं, ओह, जैसा होगा नहीं, मैं ऐसा करने के लिए नहीं करना चाहती. लेकिन लोगों को, सहित स्लेश मुझे में मिल जाते हैं हमेशा आरएफ आईएनजी की आदत. मैं सिर्फ rm सकता है कि यहां तक ​​कि नियमित रूप से फ़ाइलें, सी, मैं सिर्फ RM, ​​डैश, आरएफ, सी के लिए करते हैं. आप आरएफ रही हो जब बस सावधान रहना. अध्यक्ष 4: सी क्या करता है? रोब: सी मुझे लगता है कि सी फाइल के बारे में बात कर रहा हूँ है इस निर्देशिका में, कि आर एम, सी. यूसुफ: और अधिक खतरनाक तरीके से, आप का उपयोग करें एक सितारा, यह सब कुछ करने के लिए संदर्भित करता है निर्देशिका. तो क्या मैं आमतौर पर करते हैं तो मैं लूंगा है एक निर्देशिका में जाओ और मैं चाहता हूँ वहाँ में सभी फाइलों को हटा दें. तो RM, डैश, आरएफ, सितारा. रोब: हाँ. RM, डैश, आरएफ, सितारा. यूसुफ: और अगर तुम नहीं हो सावधान आप में क्या कर रहे हैं निर्देशिका - मैं अस्थायी में नहीं था, लेकिन मैं गलती थी मेरे घर निर्देशिका में, तो मैं सब कुछ हटा देंगे मेरे घर निर्देशिका में. और मैं वास्तव में उस से पहले किया है, और मैं तुम से पहले या इस किया है लगता है जे पहले जो कुछ किया गया है. रोब: मैं गलती से हटा दिया है - इसलिए एक बिट के लिए उस आदेश की अनदेखी. यूसुफ: मज़ा नहीं. आरओबी: तो स्लैश बिन निर्देशिका में एक है वहाँ कहाँ होगा बाइनरी फ़ाइलों का गुच्छा बजना तरह परिचित लोगों को हो. खैर, बजना और मूल रूप से इन सभी का मैं आदेश पर चल रहा हूँ कि चीजें रेखा इस स्लैश बिन निर्देशिका में हैं. यूसुफ: लोकसभा की तरह यहाँ में है. आरओबी: तो रास, स्लेश, होगा डॉट इस निर्देशिका की सूची. यूसुफ: Rm इस निर्देशिका में भी है. रोब: मैं गलती से rm है, आरएफ एड बिन, मैं कर सकता है किसी भी आदेश को हटा दिया जो संभवतः कभी चाहते हैं. कौन सा है तो मैं बस को पुन: स्थापित एक उस बिंदु पर नए उपकरण. यूसुफ: तो बहुत सावधान रहना है जब आप इस आदेश का उपयोग करें. दर्शक: [सुनाई]? रोब: हाँ. वह भी में लाने के लिए एक बुरी आदत है. आप देखते हैं, तो मैं अब कर रहा हूँ - ठीक है, तुम नोटिस, लेकिन नहीं कर सकते मेरे ज़ूम में शायद कर सकते हैं. इसलिए मैं अब जड़ @ उपकरण हूँ. तो jharvard हम चाहते हैं कि उपयोगकर्ता है आप हमेशा का उपयोग किया जाना है. जड़ अनुमति है कि उपयोगकर्ता है बिल्कुल कुछ भी करने को. मैं jharvard हूँ तो, जब नोटिस मैं सीडी करने की कोशिश - कि एक निर्देशिका क्या है? ओह, जड़ एक अच्छा उदाहरण है. तो सीडी, जड़. अनुमति अस्वीकृत. क्योंकि हम यह लिस्टिंग पर लगता है कि - और फिर, आप के लिए नहीं है पूरी तरह से इस बात को समझ. लेकिन इन तीन डैश कह रहे हैं कि किसी भी अन्य ऐसा नहीं करते इस निर्देशिका में उपयोगकर्ता. और निर्देशिका के लिए होता है उपयोगकर्ता रूट के स्वामित्व में हो. तो मैं कर रहा हूँ कि इस तथ्य jharvard और कोई जड़ नहीं है जो एक में अनुमति दी है इस निर्देशिका, कि मैं कर रहा हूँ इसका मतलब है कि अनुमति से इनकार करने के लिए जा रहा है जब मैं इसे में सीडी के लिए प्रयास करें. मैं जड़ हूँ तो, जब मैं अनुमति के लिए है सहित बिल्कुल कुछ भी करते हैं, आवश्यक फाइलों को नष्ट उपकरण और को पूरी बात को नष्ट कर. तो यह में शामिल होने के लिए एक बुरी आदत है बस अपने चारों ओर घूम रूट के रूप में ऑपरेटिंग सिस्टम. मैं यह भी है. प्रश्न? और मुझे लगता है, जड़ से बाहर निकलने jharvard के रूप में रहना होगा. ठीक है. अधिक प्रासंगिक आदेशों. इसलिए हमारे अस्थायी में वापस जा रहे हैं, एमवी आदेश चाल के लिए खड़ा है. तुम एक ले जा सकते हैं. अब हम, बी इसे कॉल करना चाहते तो अब यह बी कहा जाता है. या हो सकता है कि हम ले जाना चाहते हैं बी एक निर्देशिका अप. तो अब इस निर्देशिका खाली है. मैं वापस अपने घर निर्देशिका करने के लिए जाना है, और हूँ हम, बी यहां देखते हैं कि क्योंकि घर निर्देशिका से एक निर्देशिका उठ गया था बी अंदर गया था कि निर्देशिका सी.पी. भी है. तो सी.पी., सुपर खंड को कॉपी है डॉट, पाठ. मैं एस, डॉट, पाठ यह कह सकते हैं. अब हम दोनों सुपर खंड है, डॉट, पाठ, और एस, डॉट, पाठ. यह भी निर्देशिकाओं पर काम करता है. मैं एक एकल फाइल एड आरएफ. तो सी.पी. - खैर, पहले की सी.पी., tmp, tmp2 की कोशिश करते हैं. इसलिए निर्देशिका tmp छोड़ते हुए. आरएम तो इसी तरह, डिफ़ॉल्ट व्यवहार निर्देशिका पर काम नहीं कर रहा है. और फिर, आर एम के समान, Default व्यवहार - ठीक है, यह काम करने के लिए हो रही है निर्देशिका के साथ एक, पानी का छींटा-R की दूरी पर है. इसलिए बारी बारी से अस्थायी को कॉपी tmp2 में निर्देशिका. और इसलिए अब हम tmp और tmp2 दोनों है और वह है कि उपयोगी नहीं है क्योंकि tmp पहली जगह में खाली था. Tmp2. अब के tmp2 में tmp को कॉपी करते हैं. और हम tmp2 भी फाइल देखना है कि एक, क्योंकि खबरें उस के अंदर सब कुछ निर्देशिका नकल की थी. और वह कुछ हद तक मददगार हो सकता है , आप काम कर रहे हैं का कहना है कि अगर समस्या पर एक सेट - या वास्तव में, बाद में समस्या सेट कर रहे हैं इससे भी ज्यादा महत्वपूर्ण है, क्योंकि वहाँ एक पूरी गुच्छा हो जाएगा फ़ाइलें और बातें की. लेकिन तुम सिर्फ एक विभाजन के लिए, करना चाहते हैं दूसरा, आप ठीक है, की तरह हो, मैं हूँ कुछ अलग करने की कोशिश की जा रही. मुझे सिर्फ मेरे पूरे pset1 को कॉपी करते हैं pset1 बैकअप में निर्देशिका इसलिए कि अगर मैं मैं कर सकता हूँ, बातें पंगा लेना अंत तक वापस अपने बैकअप निर्देशिका में चलते हैं. के अधिक उपयुक्त तरीके हैं अपने कोड को समर्थन संस्करण है, लेकिन यह हमेशा सिर्फ बनाने के लिए एक त्वरित तरीका है सुनिश्चित करें कि आप कुछ की एक प्रति है आप को संशोधित करने के बारे में हो. तो गूंज भी एक से एक आदेश है कि बेवकूफी की तरह बस को मुद्रित होगा कमांड लाइन वास्तव में क्या आप गूंज चाहता था. तो हाय गूंज. हम सिर्फ हाय मुद्रित करेंगे. दुनिया नमस्ते गूंज. हम नमस्ते विश्व मुद्रित करेंगे. कि उपयोग में आता है जब आप आदेशों के संयोजन शुरू करते हैं. और फिर, आप पूरी तरह की उम्मीद नहीं है अभी तक यह समझते हैं, लेकिन यह बात है देखने के लिए कुछ है. और फिर आप उदाहरण के लिए Googling रहे हैं या आप क्या करना चाहते हैं एहसास कुछ, यह सहायक हो सकता है. तो चलो, एक उदाहरण के रूप में, इतना रास, डैश, एल. तो यहाँ मैं उत्पादन देखना लोकसभा की, डैश, एल. और मैं ठीक है, मैं चाहता हूँ, कहते हैं एक फाइल में उस दुकान. यहाँ इस उत्पादन के सभी, मैं चाहता हूँ एक अलग फाइल में डाल दिया. प्रतीक से तो इस छोटे से अधिक हम कॉल करने के लिए जा रहे हैं क्या है. हम पुनः निर्देशित कर रहे हैं एक फ़ाइल में उत्पादन. कि क्योंकि, की फाइल ब्ला कहते हैं मैं हमेशा यह कॉल करने के लिए क्या करते हैं. तो अब हम हमारे पास देखना एक यहीं ब्ला फ़ाइल. और मैं इसे खोलते हैं, तो मैं यह देखेंगे आदेश से बिल्कुल उत्पादन मैं बस दौड़ा. और इसी तरह, आप कर सकते हैं - इस एक फाइल करने के लिए उत्पादन, यह था अगर एक फ़ाइल से इनपुट मिल रहा है. एक आदेश क्या है कि मैं - यूसुफ: मैं आप उपयोग कर सकते हैं शायद, कम या अधिक. रोब: लेकिन यह कैसे सिर्फ कम बकवास के बारे में? मुझे नहीं मालूम. आप इस परिदृश्य में आते हैं, जैसे इसके लिए उपयोगी है कि psets नहीं है. यूसुफ: आप गूंज में पाइप यह कर सकते हैं. पाइप यह देखने के लिए गूंज में फ़ाइल. आरओबी: यह पाइप है. यूसुफ: क्षमा करें. आरओबी: सब ठीक है. तो यह एक फाइल करने के लिए उत्पादन है. इस फ़ाइल से पाठ मिलता है और कार्यक्रम के हाथ. और अगर आप भी इस आदमी देखेंगे. तो इस तरह से एक ही बार में दोनों कर रही है. और वास्तव में, मैं दो नई मिलवाता हूँ बस इसे बनाने के लिए उपयोग करने के लिए आदेश. इतिहास सिर्फ है कि एक आसान कमांड है की एक सूची मुद्रित करने के लिए जा रहा कुछ भी मैं कभी भी एक कमांड लाइन चलाने की है. तो हम यहाँ मुझे लगता है कि सब कुछ देख इस पूरे समय चल रहा. लोकसभा के बहुत सारे. और एक और उपयोगी आदेश ग्रेप है कि अपने उद्देश्य पर खोज करने के लिए है पैटर्न के लिए देख पाठ, अच्छी तरह से, जो कुछ भी आप की तलाश में यह देखने के लिए चाहते हैं. और तो यहाँ एक आसान उपयोग कहना है, हम इतिहास हथियाना चाहते हैं. और मैं आदेशों के लिए देखना चाहता हूँ मैं जहां - एक क्या है के लिए देखने के लिए उपयोगी एक? यूसुफ [सुनाई]? आरओबी: या चलो बस सभी के लिए देखो जो भी कारण के लिए, छू लेती है. तो यह है कि यह कैसा दिखेगा है. और आप पूरी तरह से करने के लिए नहीं है समझते हैं. लेकिन विचार यहाँ है, इतिहास दे रहा है यह यहाँ था ही उत्पादन यह पूरे बाहर मुद्रण है जहां मैं कभी भी भाग लिया है सब कुछ का इतिहास. हम तो उस गुजर रहे हैं - तो बजाय स्क्रीन करने के लिए यह छपाई की, हम करने के लिए कि पास करना चाहते हैं की तलाश में है जो आदेश ग्रेप शब्द को छूने के सभी उदाहरणों. और तो और इस संयोजन का उपयोग उपकरणों इतिहास और grep, मैं, ठीक है, देख सकते हैं यहाँ आदेशों के सभी मैं कभी है चलाने के लिए, और यहाँ कुछ हद तक एक आम एक है. हम नीचे पर रहे. और यह भी मुझे आदेश दे रही है मैं सिर्फ था कि भागा यह शब्द स्पर्श. लेकिन पाइप एक बहुत उपयोगी चीज है कई कार्यक्रमों के संयोजन के लिए. और वास्तव में, यह जाने के लिए एक शॉर्टकट है मुझे उत्पादन ब्ला दायर करने का इतिहास है, और मुझे फाइल ब्ला का उपयोग कर grep जाने मैं देखना चाहता हूँ के रूप में. तो पाइप सिर्फ एक शॉर्टकट है उन दो आदेशों के लिए. हां. अध्यक्ष 4 [सुनाई]? रोब: हाँ. क्या है - ओह. टेस्ट करते हैं. तो बिल्ली, कुत्ते, मछली. इसलिए मैं grep करना चाहते हैं. डैश, आर, फिर से, होने जा रहा है बारी बारी से, तो मैं नीचे उतरना चाहते हैं सभी निर्देशिका. मैं बारी बारी से सभी के लिए grep करना चाहते हैं - और मुझे अस्थायी रूप से मिलता है जिस तरह के इस बाहर. मुझे ध्यान न दें. ठीक है. तो मैं अस्थायी रूप से लिए grep करना चाहते हैं शब्द मछली के सभी उदाहरणों. और तो यहाँ मैं क्या कर रहा हूँ grepping है बारी बारी से शब्द मछली के लिए. और सितारा इन सब के ऊपर का मतलब इस निर्देशिका में फाइल. और इसलिए यह मुझे अस्वीकृत कोई अनुमति दे दी है यह है कि पढ़ने के लिए अनुमति नहीं है क्योंकि खास फाइल. लेकिन यह फाइल, परीक्षण में मछली में पाया गया. मैं भी विशेष रूप से, कहते हैं, मैं ही कर सकता है में, फ़ाइल ब्ला में देखना चाहता हूँ यह कुछ भी नहीं मिलेगा जो मामला. मैं केवल फ़ाइल, परीक्षण में देखना चाहता हूँ. यह मछली मिल जाएगा. यह एक बहुत उपयोगी आदेश है सामान्य में पता करने के लिए. Grep करने के लिए कुछ विकल्प हैं अधिक होने की अपेक्षा की जाती है कि अनुकूल प्रोग्रामर, लेकिन मैं जाते हैं अभी भी grep पर वापस गिर करने के लिए. प्रश्न? ठीक है. अन्य कमानों रहे हैं? ओह. कि मैं हमेशा से ही एक से एक एक मज़ा कैलोरी है हो पाते हैं. मैं इस सुंदर में हूँ इसलिए जब नोटिस पूर्ण स्क्रीन मोड, मैं नहीं की तरह ऊपर है उपकरण पट्टी या कुछ भी. तो सीएएल बस मुझे एक अच्छा सा देता है सही है कि कैलेंडर अब काट, मुझे लगता है. लेकिन अच्छा सा आदेश. यूसुफ: यह [सुनाई] है. तुम हो सकता है कि अन्य आदेश देखा बजना में शामिल हैं और बनाते हैं. हम में उन पर जाना होगा अधिक विस्तार के बाद. लेकिन आप पर काम कर रहा है अगर PSET, तुम होना चाहिए उन लोगों के साथ परिचित. आरओबी: सब ठीक है. कमांड लाइन बातों पर सवाल? ठीक है. तो चलो कुछ पर चलते हैं सी से संबंधित सामान. चर गणित. ठीक है. हम खरोंच में गणित था, तो बस की तरह आप भी सी. में गणित का उपयोग कर सकते हैं हम पूरी तरह से उस तक पहुंचने से पहले इसलिए चर. याद रखें कि आप एक घोषित जब भी INT एक्स या नाव वाई, आप की तरह चर यह पहले प्रकार देने के लिए है चर नाम. तो हमने देखा है प्रकार अब तक, int रहे हैं नाव, डबल, लंबे, जो मैं वास्तव में हम है पता नहीं है अब तक देखा गया है कि. कुछ अन्य लोगों को कर रहे हैं. हम चार देख लिया है. यह है की तरह है, जो कम नहीं है विपरीत के लंबे समय तक इसे जहां एक पूर्णांक की तुलना में छोटे. हम भी स्ट्रिंग देखा है. तो क्या स्ट्रिंग के बारे में खास है? क्यों मैं यह कहना चाहूँगा नहीं काफी INT की तरह? अध्यक्ष 4: यह वास्तव में मौजूद नहीं है. रोब: हाँ. हम स्ट्रिंग है तो एक ही कारण है जब आप ऐसा करेंगे क्योंकि हैश, cs50.h. शामिल और हम बाद में इस बात का उदाहरण देखेंगे - ओह, यह है कि अच्छी तरह से संभाल नहीं करता है - cs50.h कुछ कर रही है, जहां प्रकार की पंक्तियों के साथ डेफ, चार सितारा, स्ट्रिंग. और इसलिए है कि हम भी नहीं कर कह रहा है कि एक चार सितारा अभी तक क्या है. लेकिन यह हम स्ट्रिंग चाहते कह रहा है. क्या आप, स्ट्रिंग का उपयोग किया गया है किसी भी जगह चार सितारा का उपयोग किया जा सकता था, वास्तव में एक प्रकार है जो कि सी भाषा में मौजूद है. लेकिन हम उस के लिए मिल जाएगा. ओह, और यह सही वापस चला जाता है. साफ. Bool के साथ तो एक ही बात जहां सही और गलत. यह वास्तव में सी में एक निर्मित प्रकार नहीं है इसके बजाय, यह सिर्फ इस करता है मूल्य शून्य? तो हम बस पर विचार करेंगे यह गलत हो. यह मान भी करता है - खैर, यह किसी भी है शून्य नहीं है कि मूल्य? फिर हम इसे सच करने के लिए विचार करेंगे. तो एक, दो सच है, सच है अशून्य कुछ भी सच है. तो उन उन हैं. घोषणा के चर पर प्रश्न और चर प्रकार और सब है? हाँ. अध्यक्ष 4: लंबे अरसे से, पुस्तक में, यह यह लंबे INT होने के लिए कहा था. लेकिन अभी लंबे समय तक काम करेंगे? आरओबी: तो इन प्रकार संशोधक. तो INT एक्स. तो हम भी अहस्ताक्षरित int एक्स कह सकते हैं. हम कम int x कह सकते हैं. हम int एक्स लंबे कह सकते हैं. लेकिन उन बातों के बारे में बहुत ज़्यादा किसी भी मैं सिर्फ इतना कहा, अहस्ताक्षरित int, लघु INT, INT लंबे, आप में से छुटकारा मिल सकता है INT और यह सिर्फ ग्रहण करेंगे आप int मतलब है कि. बस, जिसका मतलब है तो अहस्ताक्षरित एक्स - तुम्हें पता है कि सामान्य रूप से एक पूर्णांक के साथ, आप एक्स नकारात्मक 3 बराबर होती है कह सकते हैं? एक अहस्ताक्षरित int के साथ, तुम नहीं कर सकते. यूसुफ: और फिर, कैमरा के लिए, सवाल क्या अंतर है, था लंबे int के बीच और सिर्फ लंबे समय तक? रोब: हाँ. तो मैं लगभग कभी नहीं होगा लंबे INT लिखें. मैं लंबे समय तक लिखना होगा. यूसुफ: कोई सवाल? रोब: ठीक है. इस बात का तो मूर्ख थोड़ा याद दिलाते है कि कैसे हम एक चर घोषणा और इनिशियलाइज़ चर और एक अन्य की घोषणा चर और इनिशियलाइज़ यह एक कदम में सब. तो चर की घोषणा और आरंभीकरण चर नहीं है लेकिन एक ही लाइन पर किया जा सकता है. इसलिए हम मानक गणित ऑपरेटरों है आप करने के लिए इस्तेमाल कर रहे हैं कि - इसके अलावा, ऋण, विभाजन, टाइम्स. हम देखेंगे जो सापेक्ष, वहाँ भी है. कम से कम में, वहाँ नहीं है सी, एक अंतर्निहित शक्ति घातांक कैरट ऑपरेटर. खैर, एक कैरट ऑपरेटर है, लेकिन यह शक्ति नहीं है. यूसुफ: लेकिन यह घातांक नहीं है, हां. रोब: कैरट का उपयोग न करें इसका मतलब यह है कि कल्पना करने के लिए वर्ग या जो भी पसंद है. इसलिए कुछ बातों में रखने के लिए प्रभाग के बारे में कोई बात. मैं खड़ा हूँ. तो प्रारंभ जवाब घोषित कर दिया. तो हम नाव जवाब कह रहे हैं 10 से विभाजित 1 के बराबर होती है. दो दशमलव स्थानों के लिए जवाब प्रिंट. और इस तरह की बात है कि मैं यह पता लगाने के लिए printf आदमी होगा कि , डॉट, 2 एफ% बिल्ली क्या मतलब है? और वह बस, ठीक है, इसका मतलब है 0.2 की अनदेखी. और%, च का उपयोग हम क्या है फ्लोट करने के लिए मुद्रित करने के लिए. 0.2 कह रहा है, प्रिंट कि दो दशमलव स्थानों के लिए तैरने लगते हैं. इसलिए इस कार्यक्रम में एक बग है, और तुम हो सकता है कुछ में पहले देखा है पूर्व सीएस कोर्स. लेकिन उस बग क्या है? स्पीकर 5: शून्य. रोब: हाँ. जब हम कहते हैं तो, जवाब के बराबर होती है 1 10 से विभाजित है, हम चाहते हैं 0.1 होने का जवाब. लेकिन 1 10 से विभाजित, 1 एक है पूर्णांक, 10 एक पूर्णांक है. और इसलिए हम द्वारा विभाजित एक पूर्णांक करते हैं एक पूर्णांक, हम वापस पाने के लिए जा रहे हैं एक पूर्णांक. तो 10 से विभाजित 1 0.1 है. यह हमें एक पूर्णांक देने की आवश्यकता होती है, यह सिर्फ दूर फेंक करने के लिए जा रहा है कि दशमलव स्थान हैं और कहते हैं कि जवाब 0 है. और इसलिए हम यहाँ का जवाब मुद्रित करते हैं यह 0.00 मुद्रित करने के लिए जा रहा है. यूसुफ: और बस एक नोट के रूप में, यह वास्तव में के बाद क्या दूर फेंकता दशमलव बिंदु. आप के बजाय था तो अगर 6 से 10 से विभाजित, आप यह आपको दे देंगे सोच सकते हैं कि 0.6 और उसके बाद आप 1 तक दौर होगा. यह टाइप करें लेकिन जब वास्तव में, क्या होता है कार्य यह है कि यह क्या बूँदें है दशमलव बिंदु के बाद. तो 0.6 0 बन जाता है. रोब: हाँ. और हम उसके लिए TRUNCATE कहूँगा. तो तुम एक पूर्णांक के लिए डाली जब भी, दशमलव सीमित किया जाता है. तो उस के लिए ठीक - वहाँ वास्तव में दो. और मुझे लगता है कि दूसरा क्या करने जा रहा हूँ क्योंकि यह एक बहुत आसान तय है. एक तो तय मंगाई का उपयोग है संभाग में. और वास्तव में, आप केवल करने के लिए है उनमें से एक एक नाव बनाने के. लेकिन यह कुछ हद तक साफ है बस उन दोनों तैरता बनाने के लिए. तो 1.0 10.0 से विभाजित दो मंगाई विभाजित. तो जवाब जा रहा है खत्म हो जाएगा एक नाव, और इसलिए तुम जाएगा सही ढंग से यहां 0.10 मुद्रित. इतनी अच्छी तरह से काम नहीं करता है कुछ के बारे में जो है, ठीक है, बेशक, यह आसान था एक करने के लिए 1 परिवर्तित करने के लिए पर्याप्त यह 1.0 बनाकर तैरने लगते हैं. लेकिन क्या अगर इसके बजाय हम दो पूर्णांकों था INT तरह एक्स 1 और int y बराबर होती है 10 के बराबर होती है, और फिर हम चाहते थे एक्स वाई द्वारा विभाजित करने के लिए? तो यह सिर्फ करने के लिए आसान नहीं है x.0 या कुछ करो. तो उस के लिए तय कास्टिंग है. तो कास्टिंग सी कन्वर्ट करने के लिए एक रास्ता है दूसरे के लिए एक चर प्रकार से. तो यहाँ, 1 एक पूर्णांक है. और के सामने यह नाव डाल द्वारा यह, हम एक नाव के लिए 1 कास्टिंग कर रहे हैं. और इसलिए इस परिवर्तित कर देंगे एक 1.0 करने के लिए 1. और इस के लिए बदल जाएगा एक 10.0 करने के लिए 10. और फिर बातें करने के लिए इसी तरह व्यवहार हम अभी पता चला है कि पिछले संस्करण जहां, उम्मीद के रूप में, हम 0.10 मिलता है और यह कि मुद्रित करेंगे. और हम के साथ ऐसा कर सकते हैं बहुत चर,. तो हम कहते हैं, नाव एक्स कर सकते हैं नाव y से विभाजित. यूसुफ: कोई सवाल? आरओबी: तो बस नियमित रूप से गणित में जैसे, हम ऑपरेटर पूर्वता है. तो गणित वर्ग में, आप और अधिक होने की संभावना हो कार्रवाई के आदेश इसे कहते हैं. इधर, आधिकारिक शब्द है ऑपरेटर पूर्वता. लेकिन ऑपरेटर पूर्वता, या सबसे ऑपरेटरों, आप उम्मीद करेंगे है. तो सिर्फ गणित में की तरह, 2 बार 10 है और अधिक बारीकी से वर्गीकृत किया जा करने के लिए जा रहा इस 10 2 से विभाजित और फिर 2. कार्रवाई के आदेश, यह 2 करना होगा बार 10, 10 तो 2 से विभाजित है, और यह 20 से अधिक 5 प्लस 2 करूँगा. इसलिए यह उम्मीद के रूप में है, और आप उपयोग कर सकते हैं समूह अभिव्यक्ति के लिए कोष्ठक. तुम वर्ग कोष्ठक का उपयोग नहीं कर सकते समूह अभिव्यक्ति के लिए. हाँ? स्पीकर 5: क्या आप वास्तव में अभी वापस एक दूसरे जाना? आप एक स्ट्रिंग के लिए एक पूर्णांक डाल सकते हैं? आरओबी: तो सी में, आप कुछ भी डाल सकते हैं क्या आप चाहते हैं कुछ भी करना चाहते हैं. बस यही बात है मतलब यह नहीं है ऐसा करने के लिए एक अच्छी बात है. तो आप को एक int डाली जब एक स्ट्रिंग, इसका मतलब है कि - और हम इस में मिल जाएगा बहुत अधिक अच्छी तरह - यूसुफ: काफी समय बाद. रोब: मैं बहुत बाद में कहने के लिए नहीं चाहता था, इसलिए मैं अपने वाक्य को बदलने की कोशिश की. हम और अधिक अच्छी तरह से इसे में मिल जाएगा बाद में, जहां वास्तव में आप एक है जब स्ट्रिंग चर - इसलिए एक स्ट्रिंग मनमाने ढंग से किया जा सकता है लंबे, है ना? और हम एक पूर्णांक है कि कह रहा हूँ लंबे चार बाइट्स और आठ है बाइट्स और एक नाव चार बाइट्स है. तो एक स्ट्रिंग, बस एक पूर्णांक की तरह ही है यह करने के लिए बाइट की एक निश्चित संख्या. और कहा कि चार बाइट्स होगा. लेकिन एक स्ट्रिंग सुंदर हो सकता है मनमाने ढंग से लंबे समय, सही? तो हैलो दुनिया पहले से ही है कि 10 है अगर वर्ण या जो कुछ भी, कि पहले से ही है 4 बाइट्स से अधिक होने जा रहा मैं एक स्ट्रिंग में फिट कर सकते हैं. और तो तार वास्तव में कैसे काम करता है वे जहां स्मृति में कि स्ट्रिंग हैं रखा जा रहा है. और इसलिए यहाँ पर, जब मैं कहता हूँ स्ट्रिंग X है एक्स के अंदर, नमस्ते विश्व के बराबर होती है बस ओह, नमस्ते विश्व संग्रहीत किया जाता है, कह रही है स्मृति में इस विशेष जगह पर. तो हम एक के लिए एक पूर्णांक कास्ट करने के लिए प्रयास करते हैं तो स्ट्रिंग, तो हम व्याख्या करने के लिए कोशिश कर रहे हैं स्मृति की कुछ बेतरतीब हिस्सा एक स्ट्रिंग के रूप में. और वह लगभग हमेशा चीजों को तोड़ता है. यूसुफ: लेकिन अगर वह भ्रमित आप, हम इसे कवर किया जाएगा बाद में और अधिक गहराई में. रोब: हाँ. तुम कहाँ जा रहे हैं यह है संकेत में मिलता है. और वह एक महत्वपूर्ण हिस्सा है इस कोर्स के लिए दो सप्ताह का. अध्यक्ष 6: यह वस्तुओं की तरह काम करता है अन्य भाषाओं में है या नहीं सच में? आरओबी: तो अन्य भाषाओं, वस्तुओं में संकेत का उपयोग प्रतिनिधित्व किया जाएगा. हालांकि यह एक ही बात नहीं है. किसी भी विचार? यूसुफ: सं कोई विचार. रोब: ठीक है. यूसुफ: अगले. आरओबी: बस उस के साथ जाना. ठीक है. तो सापेक्ष. बस हम साथ साथ है, शून्य की तरह विभाजित और गुणा. तो सापेक्ष आप कर सकते हैं एक है इससे पहले नहीं देखा होगा. और यह सिर्फ देते हैं, कहते हैं, मेरे शेष. तो 55% से 10. विभाजित 55 कर का शेष 10 से 5 होगा. तो 55% से 10 5 है. और 3% 5 3 होगा. 8% 8 0 होगा. 16% 15 1 हो जाएगा. यूसुफ: इस के साथ एक नोट को बात, भी, यह उम्मीद के रूप में काम नहीं कर सकता है आप एक नकारात्मक संख्या का उपयोग करते हैं. तो नकारात्मक 5% 4, कुछ लोग लगता है कि हो सकता है - आप नकारात्मक लगता है कि क्या होगा 5% 4 हो सकता है? स्पीकर 5: एक. यूसुफ: तो कुछ लोग, एक का कहना है कुछ लोगों को नकारात्मक एक का कहना है. लेकिन क्या - रोब: मैं भी नहीं होता उन में से एक ने कहा. यूसुफ: दो, क्षमा करें. कुछ लोगों का कहना है कि - आरओबी: तीन. यूसुफ: तीन? आरओबी: नकारात्मक - नकारात्मक पाँच - क्या था - यूसुफ: तीन, तीन, तीन. माफ़ कीजिए. क्योंकि आप कर लें, तो आम तौर पर, modulo इसे कहीं देखा है, यह आमतौर पर इसका मतलब सही, एक सकारात्मक संख्या में वापसी? आरओबी: तो हम गणित में जब कहते हैं, 10% के, वे तुम्हें देने के लिए चाहते हैं - हम 10 से आधुनिक हैं, तो हम करने के लिए उम्मीद 0 से 9 के बीच एक नंबर मिलता है. यहाँ में, ऐसी बात नहीं है कि आप ऋणात्मक संख्याओं लौट मिलेगा. यूसुफ: तो नकारात्मक 5% 4 1 नकारात्मक होगा. आरओबी: लेकिन यह आप आधुनिक आईएनजी रहे हैं कि दुर्लभ है साथ शुरू करने के लिए नकारात्मक संख्या. इस करें. यूसुफ: हाँ. आरओबी: हम्म. ठीक है. बाहर के बारे में बात करने के लिए तो एक अंतिम बात तैरता है, यह एक खतरनाक व्यवहार है लेकिन तैरता एक सटीक नहीं हैं प्रस्तुति. तो फिर वापस बाइट्स के लिए जा रहा, याद एक पूर्णांक हमेशा चार बाइट्स और एक है कि नाव हमेशा चार बाइट्स है. तो लुकास के उदाहरण बहुत अच्छा है. तो 3 से विभाजित 1 के बारे में सोच. तो 0.3333333. मैं केवल 32 बिट, कैसे कर सकते हैं, तो मैं बिल्कुल 0.33333 दुकान? और हो सकता है, जो भी कारण के लिए, तुम कहते हो, सब ठीक है, ठीक है, चलो बस कहना है इस विशेष 1011001, चलो कि सिर्फ इतना है कि 0.333333 होना चाहिए. खैर, आप केवल एक निश्चित संख्या का है उन बिट्स, तो यह नामुमकिन है हर एक अस्थायी बिंदु का प्रतिनिधित्व सिर्फ 32 बिट दिया मूल्य. खैर, यह किसी भी प्रतिनिधित्व करने के लिए असंभव है चल बिन्दु मान अनंत दिया - खैर, बिट्स के किसी भी परिमित संख्या दी. हम प्रयोग किया जाए तो इस मुद्दे को यहाँ है, ठीक है, दो दशमलव स्थानों के लिए मुद्रित करने के लिए, हम सही ढंग से जवाब 0.10 से मिला. लेकिन हुड के नीचे, यह सच है करने के लिए संभव के रूप में बंद के रूप में जमा किया जा रहा है उन बिट्स के रूप में 0.10 प्रतिनिधित्व कर सकते हैं. इस अगली स्लाइड पर है? या यह नहीं है? यूसुफ: हाँ, यह है. रोब: Blegh, blegh. यूसुफ: हाँ, आप कर सकते हैं बस एक बिट नोटों ऊपर खींच. रोब: मैं सिर्फ ज़ूम करने के लिए जा रहा हूँ उस पर पिछले पर. हे भगवान, कि [सुनाई] है. तो उस नंबर. यही कारण है कि मुद्रित किया जाएगा क्या है हम उस प्रोग्राम चलाते हैं. और वह वास्तव में एक बड़ा सौदा नहीं है नोटिस हम केवल तरह के बारे में देखभाल कर रहे हैं 02:58 दशमलव स्थानों. जैसा कि हम केवल मूल, 0.10 मुद्रित हम कुछ भी गलत नहीं देखा था और यही कारण है कि है. लेकिन हम में शुरू हो रही एक बार सटीक, सही संख्या यह है कि का प्रतिनिधित्व, हम ऐसा नहीं कर सकते देखना वास्तव में 0.1 प्रतिनिधित्व करते हैं. और यहाँ समस्या का हिस्सा है, की तरह है सब ठीक है, कि, ठीक है, ठीक है, लेकिन पहला, क्या हम ऐसा करने की कोशिश की, जवाब 0.1 बराबर? सही है या गलत वापस जाने के लिए जा रहा है? और इसलिए यह कहना मुश्किल है. मैं यह वास्तव में सच वापसी हो सकती है. यह पहला - मुझे नहीं मालूम. आप काम शुरू एक बार जवाब है चल बिन्दु मान के साथ, आप सुंदर बहुत समानता का उपयोग नहीं किया जाना चाहिए इस अस्पष्टता की वजह से. और आप सभी जानते हैं, यह सौवां है दशमलव स्थान है कि चल बिन्दु में सक्षम नहीं था सही ढंग से संभाल करने के लिए. और तो समानता सिर्फ असफल हो जायेगी और भी हालांकि संख्या - आप से किया गया था अगर सटीक संख्या का उपयोग कर, संख्या चाहिए बिल्कुल वैसा ही किया गया है. यह जैसे 50 के पाठ्यक्रम पर है इन अस्थायी उपयोग कर गणना बात मान, त्रुटि का निर्माण कर सकते हैं ऊपर और ऊपर और ऊपर, और बातें सिर्फ गलत. यूसुफ: और वास्तव में वहाँ गया है यह हो रहा है की प्रसिद्ध उदाहरण हैं. नासा के इंजीनियरों इस मिल गया है की तरह में विस्फोट करने के लिए गलत है, के कारण रॉकेट वे शुरू किया गया है के बाद हवा. और इस तरह के मुद्दों के बहुत सारे. तो हाँ. अध्यक्ष 6: आप 0.3 एफ कहते हैं, यह बाकी truncate करता है? या यह नीचे गोल या है? रोब: यह दौर printf होगा? यूसुफ: मैं printf truncates लगता. रोब: ठीक है. तो हम इसी तरह विपरीत में जा सकते हैं इस जहाँ की दिशा, इस मामले में, यह प्रतिनिधित्व कर सकता है निकटतम 0.1 इस संख्या के साथ था. यह करने में सक्षम हो सकता है निकटतम का प्रतिनिधित्व 0.2 विपरीत में है दिशा, ०.१९९९९९९९६३५६ या कुछ और. हम उस दिशा में चला गया तो अगर चीजें, तो printf 0.3 च लौटेंगे 1.99 के बजाय 2.00. यूसुफ: और मैं पूरी तरह से नहीं उस पर यकीन. आप एक छोटा सा, छोटी सी लिखने के लिए चाहते हो सकता है कार्यक्रम सिर्फ इतना है कि जाँच करने के लिए. आरओबी: हालांकि, क्या हम के बारे में सुनिश्चित कर रहे हैं कि है आप एक के लिए है कि कास्ट करने की कोशिश की INT, और एक int के लिए कास्टिंग के लिए जा रहा है यह अगर, दशमलव truncate करने के लिए कारण आप 1.9999999 कास्ट करने की कोशिश एक पूर्णांक के लिए, यदि आप 1 मिलेगा. और तो आप आम तौर पर इस्तेमाल करना चाहिए गणित पुस्तकालय में दौर समारोह. प्रश्न? ठीक है. यूसुफ: तो स्थितियों पर जाने से और बूलियन अभिव्यक्ति. तो इससे पहले कि आप इन देखा है. और वास्तव में, मुझे यकीन है कि मेरे बनाते हैं कंप्यूटर यहाँ सही प्रारूप में है. अंतरिक्ष. क्षमा करें, हम सौदा करने के लिए जा रहे हैं एक किनारों पर कटऑफ के साथ थोड़ा सा. लेकिन हाँ, तुम लोगों को देखा है इस से पहले स्क्रैच में. तो यहाँ यह सही अभिव्यक्ति है में प्रयोग किया जाता है जो एक सशर्त बयान. तो शून्य होगा से अधिक का जवाब सही है या गलत आपको बता. और ये वास्तव में महत्वपूर्ण हैं क्योंकि वे हमें शुरू करने की अनुमति हमारे कोड में तर्क. तो उदाहरण के लिए, यह एक कार्यक्रम है उपयोगकर्ता पूछता है कि खरोंच में लिखा एक पूर्णांक के लिए और क्या उन्हें बताता है वे तुम्हें दिया था कि पूर्णांक एक था सकारात्मक या नकारात्मक संख्या. और देखने के लिए यहाँ पर रूपांतरण है जब आप पहली बार, बयान प्रिंट आउट मुझे एक पूर्णांक दे. और फिर तुम एक पूर्णांक के लिए उन्हें पूछना. और फिर तुम पर सशर्त तर्क का उपयोग यहाँ की जांच करने के लिए कि क्या उस नंबर शून्य या नहीं की तुलना में वास्तव में अधिक से अधिक था. तो यहाँ हम एक बूलियन अभिव्यक्ति है बयान तो एक सशर्त के अंदर. किसी भी सवाल है? इस बारे में कोई सवाल कर रहे हैं? ठीक है. तो बस से अधिक है ज़ाहिर है, की तुलना में ज्यादा है. आप बूलियन अभिव्यक्ति का निर्माण कर सकते हैं चीजों की तरह के अधिकांश का उपयोग आप गणित में के बारे में सोचना होगा. से तो ज्यादा है. उस से भी एक कम होना चाहिए. माफ़ कीजिए. और रिक्ति. रोब: भगवान न करे कि आप इसे छोड़ दें. यूसुफ: सब ठीक है. अधिक से अधिक, की तुलना में कम है, की तुलना में इतनी अधिक से अधिक से, या, कम करने के लिए बराबर से, या बराबर है. हम के लिए जाँच करने के लिए डबल बराबरी का उपयोग समानता, एक साधन के बराबर होती है क्योंकि असाइनमेंट, सही? हां. और फिर हम भी द्वारा बराबर होती नहीं है सकते हैं विस्मयादिबोधक चिह्न का उपयोग, के बराबर होती है. और इस विस्मयबोधक चिह्न प्रतीक कर सकते हैं भी बढ़ाया जा इतना है कि अगर आप चाहते हैं बूलियन के किसी भी तरह पलटना अभिव्यक्ति, आप ऐसा कर सकते हैं. तो यह सत्य पर मूल्यांकन करेंगे जवाब कम है ही अगर से अधिक या शून्य के बराबर. उस पर कोई सवाल? ठीक है. तो आप भी इन गठजोड़ कर सकते हैं तार्किक और और का उपयोग कर अभिव्यक्ति तार्किक या. तो यह सिर्फ और प्रतीक है जो शिफ्ट, 7 होना चाहिए. और यह है, जो पाइप प्रतीक है एक कम मामले एल यह किसी के नहीं सही है कि अपने Enter कुंजी ऊपर है. तो आप का प्रतीक इनमें से दो का इस्तेमाल तार्किक और तार्किक या. तो यह केवल सच वापसी करेंगे अगर जवाब एक, दो, तीन, या चार है. और यह केवल सच वापसी करेंगे अगर जवाब दोनों तरफ से परे है कि है. तो यह एक, दो, तीन, या चार नहीं है. और आप का प्रयोग करेंगे रास्ता एक अभिव्यक्ति में - आरओबी: या एक शून्य या एक पांच. यूसुफ: शून्य या एक पांच. माफ़ कीजिए. हां, हां, हां. ठीक है. और अब यहाँ पर, एक ही रास्ता है कि आप कि अभिव्यक्ति का प्रयोग करेंगे, एक छोटे एक तो सशर्त की अभिव्यक्ति की ओर बयान, आप भी इसका इस्तेमाल होता है बस के अंदर रखकर उसी तरह यदि बयान के कोष्ठकों. तो यह printf केवल आग जाएगा अगर जवाब एक, दो, तीन, या चार है. संयोजन पर कोई प्रश्न अभिव्यक्ति? तो एक और सशर्त वहाँ हम एक हैं / और कॉल का निर्माण. तो बुनियादी तौर पर, यह अब है, तो ठीक है, इसका मतलब है मैं देखना चाहता था कुछ नहीं था यह सच है, तो किसी और को जाने और कि अन्य कार्रवाई प्रदर्शन करते हैं. इसलिए इस विशेष मामले में, मैंने पूछा एक पूर्णांक के लिए उपयोगकर्ता. पूर्णांक शून्य से अधिक है? हाँ? ठीक है, तो वे उठाया एक सकारात्मक संख्या. यदि नहीं, तो यह होनी चाहिए नकारात्मक या एक शून्य कर दिया गया. तो तुम एक नकारात्मक संख्या उठाया या फिर इस मामले में एक शून्य. हां. या फिर एक शून्य. और फिर हम भी, अगर / और है यदि और कुछ. तो यह हम में से एक दृश्य को अंजाम देता है चीजें पहले वाले असफल ही है. तो इस मामले में, अब हम कर रहे हैं आप शून्य लेने आखरी. वे एक सकारात्मक उठाया और न ही न तो अगर एक नकारात्मक संख्या है, तो वे चाहिए शून्य उठाया है. तो यह सिर्फ नीचे चला जाता है इस तरह श्रृंखला. कैसे एक का तो एक उदाहरण यदि से अलग है - एक तो / और से अलग है आईएफएस के सिर्फ एक दृश्य. और यह एक आम सवाल है कि आप एक तरह मिलता है, तो लोगों को अच्छी तरह से, है पूछना 95 CS50 में, क्या होगा इस कार्यक्रम तुम बताओ? स्पीकर 5: आप एक ए मिला यूसुफ: हाँ. आप हर एक मिला सही उन में से एक. तुम, तुम एक बी मिला, एक एक मिला सही, एक सी और डी को मिला? तो इन सब का मूल्यांकन मिल आदेश में. एक 95 90 से अधिक है तो, जबकि यह है 80 से भी अधिक से अधिक, यह भी है 70 से अधिक है, और यह बात है यह भी 60 से अधिक. तो आप उन श्रेणियों के सभी मिल गया. और मैं तुम्हें होगा मान केवल ए चाहते हैं तय है कि जिस तरह से बदलने के लिए है वरना यदि / के साथ थे. इसलिए इस परिदृश्य में, यह 95 है कि देखता है 90 से अधिक है, और फिर यह करता है बाकी का मूल्यांकन नहीं बयान की. उस के बारे में कोई सवाल? तो एक और सशर्त तरह की नहीं है हम यहाँ है कि संरचना जो हम एक स्विच बयान कहते हैं. तो यह आप मूल रूप से जाँच करने के लिए अनुमति देता है क्या तुम डाल एक नंबर का मूल्य स्विच बयान में है. इसलिए इस परिदृश्य में, हम जा रहे हैं n है अगर एन पर, और हम, ओह, कह रहे हैं एक, तब उस बयान मुद्रित. और फिर बाहर निकलने का मतलब है, जो तोड़ स्विच बयान से बाहर है. यह एक नहीं था, तो, ठीक है, बस अंततः उन सभी मामलों की जांच. यह एक या दो या अगर और इसलिए यह जांच करता है तीन, और यह तदनुसार प्रिंट. और क्या इस डिफ़ॉल्ट कीवर्ड यहाँ नीचे वे किसी भी दर्ज नहीं किया था साधन है उन की, तब अमान्य कहना. तो चलो मैं n के लिए पूछना है और हम कहते हैं उपयोगकर्ता मेरे चार देता है. खैर, यह उन मामलों में से कोई भी मेल खाता है, तो इसमें क्या बाहर प्रिंट होगा डिफ़ॉल्ट अनुभाग. हाँ, सवाल? स्पीकर 5: आप बूलियन उपयोग कर सकते हैं अभिव्यक्ति के बजाय एक, दो, तीन या? यूसुफ: तो सवाल आप उपयोग कर सकते है एक के बजाय बूलियन अभिव्यक्ति, दो और तीन? और सी में, मैं तुम पर विश्वास ऐसा नहीं कर सकते. लेकिन अन्य भाषाओं में, जो आप कर सकते हैं के अंत में मुठभेड़ आप कर सकते हैं जावास्क्रिप्ट, जैसे सेमेस्टर. खैर, आप पहली बार की गणना करने के लिए होगा फिर उस मूल्य और में इसका इस्तेमाल करते हैं बयान स्विच. हाँ? रोब: स्विच के लाभ का तो हिस्सा आप इस किया था अगर बयानों के बारे में सोच रहा है एक तो / वरना, तो के रूप में n के बराबर होती है, तो जैसे एक या जो भी बराबर होती है. वरना / एन के बराबर होती है, तो दो, जो भी बराबर होती है. वरना / एन के बराबर होती है, तो तीन बराबर होती है. इसलिए कार्यक्रम चला जाएगा तरीका यह है क्रमिक रूप से है कि इस सूची में नीचे जाना होगा और, जाँच एक n है? नहींं. N दो है? नहींं. N तीन है? हाँ. यह मत करो. स्विच बयान के साथ, जबकि यह है यह होने के लिए संकलन करने के लिए वास्तव में सक्षम वास्तव में तेजी से. और जैसे ही यह स्विच, यह कहते हैं सब ठीक है, n मैं हूँ, दो है, कहते हैं तुरंत जहां पर कूदने के लिए जा रहा मैं निष्पादित शुरू करने वाला हूँ. मैं पहले की जांच करने के लिए नहीं जा रहा हूँ, n एक, दो n है है? यह तुरंत शुरू कर सकते हैं यह करने के लिए माना जाता है. और उसकी वजह से, यह नहीं कर सकते बूलियन शर्तों ले. वरना यह करना होगा अनुक्रमिक, जैसे, सब ठीक है, पता है शून्य से अधिक? वरना 10 या जो कुछ भी की तुलना में n अधिक है. यूसुफ: इस मामले में, अगर आप इस्तेमाल किया अगर / वरना, अगर, तो स्विच होगा लगभग तीन बार चलाने अगर / वरना, तो तुलना में तेजी. हम ऐसे में स्विच व्यवस्थित कर सकते हैं हम तोड़ नहीं है कि एक तरह से मामलों में से प्रत्येक के बाद. तो इस मामले में, मैं का विभाजन कर रहा हूँ हम एक में चुनते हैं और कि संख्या दो उच्च संख्या नहीं किया जा रहा है और तीन एक उच्च संख्या है. तो इस मामले में, अगर n यह एक या दो है मामले मारा और फिर यह होगा होगा , के माध्यम से गिर क्योंकि कोई तोड़ नहीं है. और यह यहाँ खत्म हो जाएगा. हम एक चुनना तो, अगर यह printf करना होगा और फिर इतना है कि कोई भी तोड़ इस मार डाला है. और हां, वे तीन में दर्ज करते हैं या कुछ और, तो इसे छोड़ देंगे उन और वहाँ नहीं जाना है, और यह बजाय अमल करेंगे लाइन इसी. इस बारे में कोई सवाल कर रहे हैं? हाँ? अध्यक्ष 4: आपको कोई त्रुटि मिलती चाहेंगे आप अगर मामले एक के बाद एक ब्रेक की थी लेकिन यह यह करने के लिए के लिए कुछ नहीं था? यूसुफ: तो सवाल आप मिल जाएगा है एक त्रुटि आप के बाद एक तोड़ दिया है अगर एक मामले लेकिन ऐसा करने के लिए कुछ भी नहीं है? और जवाब नहीं है. आप वास्तव में कोई त्रुटि नहीं मिलेगा. हम्म मिमी, हाँ. यहाँ तो के रूप में की तरह एक छोटे से बदलाव, मैं यहाँ एक printf डाला जा रहा हूँ. वूप्स. तो क्या हुआ अगर यह मुद्रित होगा मैं निवेश के रूप में एक डाल दिया? हाँ. यह यह नहीं ले गए थे तुम्हें बताना होगा दो बार एक उच्च संख्या, सही? यह है कि पहले मामले को मारा जाएगा, इसे तोड़ने नहीं होगा, और यह गिर जाएगा दूसरे मामले के माध्यम से. उस के बारे में कोई सवाल? रोब: आप एक और सवाल है? यूसुफ: ठीक है, शांत. ठीक है. तो हम एक फोन वहाँ कुछ और है जो मूल रूप से त्रिगुट ऑपरेटर एक ऐसा करने के लिए वैकल्पिक वाक्यविन्यास यदि और तो और. और इसे आप एक पंक्ति पर यह सब करने की सुविधा देता है. इस विशेष कार्यक्रम में तो मैं n के लिए उपयोगकर्ता पूछ रहा हूँ. N 100 से अधिक है, तो मैं बताना उन्हें वे एक उच्च संख्या उठाया. वरना मैं उन्हें बता वे एक कम संख्या उठाया. इसलिए हम इस सच लंबे वाक्य रचना का उपयोग कर सकते हैं, n है यदि स्ट्रिंग, एस, और फिर जाँच 100 से अधिक और आवंटित यह तदनुसार. लेकिन हम इतना अधिक संक्षिप्त कर सकते हैं इस त्रिगुट ऑपरेटर सिंटैक्स का उपयोग कर एक प्रश्न शामिल है जो मार्क और एक पेट के. तो सवालिया निशान अनिवार्य है सही, एक प्रश्न पूछ? आरओबी: हो सकता है कि पर ज़ूम. यूसुफ: हाँ. अच्छी बात है. तो इस त्रिगुट ऑपरेटर है. मैं पहला सवाल पूछना, 100 से n अधिक से अधिक है? अगर ऐसा है, तो मैं पहले निष्पादित पेट के पहले भाग. यदि ऐसा नहीं है, तो मैं निष्पादित पेट के बाद दूसरा हिस्सा. तो अगर एन, 100 से अधिक है तो यह उच्च उठाता है और कहते हैं कि स्ट्रिंग एस में. N 100 से कम है तो उसे कम उठाता और फिर स्ट्रिंग है कि में डालता है. इसलिए कि यह बड़ा हिस्सा गाढ़ा होगा सिर्फ इतना है कि एक लाइन में नीचे. स्पीकर 5: कि लोकप्रिय है? यूसुफ: हाँ, इसके लिए काफी लोकप्रिय है आप करना चाहते हैं जहां अनिवार्य रूप से बातें एक काम पर आधारित है हालत किसी प्रकार का. और इस मामले में, हम कोशिश कर रहे थे स्ट्रिंग के लिए एक मूल्य प्रदान करने के लिए. ऐसा नहीं है - मुझे लगता है मैं वास्तव में पसंद नहीं है लगता है यह अन्य मामलों में. लेकिन यह विशेष रूप से उपयोगी है इस काम के लिए. आरओबी: यह एक बहुत ही आम पैटर्न है आप कुछ चर है कि जहां कुछ, सेट अगर तुम, कहने जा रहे हैं एक मूल्य के लिए इस चर, अन्यथा, सेट एक और मूल्य के लिए इस चर. और वह परिदृश्य है जहां एक त्रिगुट का उपयोग करें. यूसुफ: और आप बचत कर रहे हैं लाइनों की बहुत सारी, सही? और यह सिर्फ यकीनन आपके कोड बनाता है थोड़ा और अधिक पठनीय. हाँ, सवाल? अध्यक्ष 6: एक त्रिगुट के लिए, आप जा सकते हैं स्ट्रिंग के बराबर होती है, प्रश्न चिह्न? और फिर आप कहते हैं, हो सकता है पाँच अलग अलग विकल्प. और पर निर्भर करता है क्या पता की संख्या , आप उन लोगों में से एक को चुनना होता था? यूसुफ: तो, वहाँ एक सवाल है आप स्ट्रिंग कर सकते हैं जहां वाक्य रचना की तरह एन के बराबर होती है, और उसके बाद दो से अधिक है कि प्रश्न चिह्न के बाद विकल्प? और एक साधारण सवाल का जवाब नहीं, वहाँ नहीं है ऐसा करने के लिए वास्तव में एक अच्छा तरीका है कि जब तक आप घोंसला कई त्रिगुट करना चाहते हैं एक दूसरे के अंदर ऑपरेटरों. आप 100 से n अधिक से अधिक की तरह कर सकता है प्रश्न चिह्न, और फिर एक और त्रिगुट ऑपरेटर, एन 50 से अधिक, प्रश्न चिह्न, और घोंसला यह है कि जिस तरह से. लेकिन उस परिदृश्य में, अपने कोड है , एक तरह से अस्पष्ट और गंदा हो रही और यह सिर्फ करने के लिए जाने के लिए बेहतर हो सकता है उस बिंदु पर एक अगर / और बयान. आरओबी: और भी, के रूप में एक तरफ ध्यान दें, पीएचपी गलत तरीके से त्रिगुट लागू करता है ऑपरेटर ऐसे कि नेस्टेड ternaries वे चाहिए के रूप में भी काम नहीं करते. यूसुफ: हाँ. तो यह एक छोटा सा भ्रमित हो जाता है तुम जाओ, खासकर जब विभिन्न भाषाओं में. आरओबी: यह काफी भ्रमित करने वाला है कि भाषा इसके बारे में गलत कर रहे हैं. यूसुफ: तो वास्तव में, बस स्पष्ट करने के लिए, हर किसी को पता नहीं क्या है कि % S यहाँ पर करता है? उस के बारे में कोई सवाल? मुझे लगता है कि सिर्फ कैमरे के लिए है,% s मूल रूप से हमें एक प्लेसहोल्डर डाल देता है एक स्ट्रिंग के लिए. और फिर अंत में, हम द्वारा निर्दिष्ट चर हम इस में लाना चाहता हूँ जगह धारक है है. तो यह है कि मूल रूप से लेता है और यह यहाँ में डालता है. और फिर यह आप उठाया, बाहर मुद्रित होगा एक उच्च या आप एक कम संख्या उठाया. ठीक है. तो छोरों आप चीजों को प्रदर्शन करने की अनुमति परिपत्र गति में, सही? आप में इस का सामना करना पड़ा है हो सकता है हमेशा के रूप में खरोंच छोरों या जब तक दोहराएँ या एक विशेष दोहराएँ बार की संख्या. तो क्यों यह हमारे लिए अच्छा है? खैर, सी में, हम यह है हम कहते हैं गीत स्क्रैच में लागू कि गाती है, यह गाना है कि कभी समाप्त नहीं होती. यह बस पर और पर चला जाता है और हमेशा के लिए और हमेशा के लिए. ठीक है, तुम वास्तव में एक कार्यक्रम नहीं बना सकते कि printf की एक अनंत संख्या है यह वक्तव्य में, सही? इसलिए इस विशेष परिदृश्य में, एक ही रास्ता आप यह काम कर सकता है और उस यह है हमेशा के लिए मुद्रित करने के लिए बजाय एक समय पाश का उपयोग करें. तो एक समय पाश क्या होगा अंजाम दो ब्रेसिज़ के शरीर में है कि के आधार पर यह के अंतर्गत आता है क्या हालत है. अगर, पहले इस विशिष्ट उदाहरण में तो हम हमेशा के लिए इस प्रिंट करने के लिए क्या चाहते हैं हम क्या कर सकते हैं? खैर, यकीन है, है ना? तो इस तरह के विचार को जोड़ती है कुछ बूलियन अभिव्यक्ति की एक पाश के साथ. और हम बूलियन के बारे में सीखा पहले का भाव. इसलिए जब भी अंदर की हालत कि हालांकि, इस लूप सही रहता है पर और पर और पर अमल करेंगे. और इस मामले में, अगर हम सिर्फ यह आपूर्ति सच के साथ, यह एक अनंत का कारण बनता है पर पर गीत प्रिंट और जो लूप और हम बिना पहले के रूप में वांछित पर एक अनंत है कि एक कार्यक्रम होने printf बयान की संख्या, जो है संभव नहीं. इसलिए अधिक compellingly, हालांकि, आप एक साथ इस का उपयोग कर सकते हैं चर और एक शर्त. तो चलिए हम दोहराना चाहते हैं हम कहते हैं पूरी तरह दीवाना वाक्यांश,, 10 बार. तो क्या आप एक समय पाश के साथ कर सकते है जब आप पहली बार एक काउंटर प्रारंभ कर सकते हैं के चर बाहर 10 के पाश है. और फिर असल में, हर बार तुम जाओ जबकि पाश के माध्यम से, तुम बाहर प्रिंट फिर बयान और आप कमी काउंटर चर अंत में जब तक, कुछ बिंदु पर, एक बार हम पर्याप्त मैं घटाना टाइम्स, 1 मैं काफी समय से - और बस, मैं शून्य शून्य से स्पष्ट करने के लिए मैं शून्य से 1 मैं बराबर होती है इसका मतलब है. वह मूल रूप से करने के लिए मैं नीचे लाना होगा एक बार मैं शून्य मारा बिंदु है, जहां इस शर्त सही नहीं रह गया है और इसलिए यह लूप के बाहर से बाहर निकालता है. तो पूरी तरह दीवाना केवल 10 बार मुद्रित करता है. एक समय पाश के बारे में कोई सवाल? ठीक है. तो हम क्या कर सकते हैं एक तरीका है कि हम क्या बस एक और अधिक संक्षिप्त तरीके के साथ किया था हम एक पाश के लिए क्या कहते हैं. तो एक के लिए पाश एक के होते हैं आरंभीकरण, एक शर्त है, और एक हम पहले था, बस की तरह अद्यतन, इस समय पाश में. तो चलिए एक नजर डालते हैं. इस समय पाश में, हम एक था आरंभीकरण, तो हम एक था हम जाँच की कि हालत. और फिर हम एक अद्यतन था शीर्ष पर कदम. एक के लिए पाश के साथ, यह मूल रूप से लेता है इन तीन बातों और यह condenses नीचे एक लाइन में. इसमें इतना है कि पहली बात पाश के लिए आरंभीकरण है. और फिर तुम तो एक अर्धविराम करते हैं, और आपको मैं जो हालत है, करना शून्य से अधिक, वहाँ पर चला जाता है और उसके बाद अद्यतन कदम. तो इस पर प्रदर्शन किया जाता है पाश शरीर के बहुत अंत. तो इन दो कार्यक्रमों रहे हैं अनिवार्य रूप से बराबर. कोई सवाल? एक तो क्या फर्क पड़ता है इन दोनों के बीच? किसी को भी यह बात बाहर कर सकते हैं? यह थोड़ा सूक्ष्म हो सकता है. यह सिर्फ एक बहुत छोटा सा फर्क है. हाँ? स्पीकर 5: आप का उपयोग करने में सक्षम नहीं होगा के लिए लूप के बाहर मैं चर [सुनाई]? यूसुफ: बिल्कुल है. तो यह है कि हम करने के लिए मिल जाएगा कुछ है बाद में चर गुंजाइश बुलाया. लेकिन अनिवार्य रूप से, यह मैं जीवन int इस समय पाश के बाहर. तो एक बार इस समय पाश किया जाता है क्रियान्वित करने, मैं बाद में मैं का उपयोग करने में सक्षम हो जाएगा कार्यक्रम में पर. जबकि इस के साथ पाश के लिए, यह int i पाश के लिए इस के अंदर scoped है. और यह इस भाग के अंदर है क्योंकि के लिए लूप की, कि शुरू होता है साथ कोष्ठक और सिरों पर वहाँ पर घुंघराले ब्रेस. के अंदर घोषित कुछ भी है कि यहाँ बाहर नहीं किया जा सकता. मैं बाहर मैं का उपयोग करने का प्रयास करते हैं तो, यह हूँ , अघोषित प्रतीक मुझे बताओ. और अनिवार्य रूप से, मैं नहीं होता इसका इस्तेमाल करने में सक्षम हो. आरओबी: और अच्छी तरह से 10 साल पहले, में सचमुच सभी मामलों, घुंघराले ब्रेसिज़ हैं आप निर्धारित किया क्या एक चर के दायरे. तो वहीं, मैं 10 के बराबर है int इस के अंदर घोषित किया जाता है घुंघराले ब्रेसिज़ का सेट. और यदि ऐसा है तो जब तक आप मैं का उपयोग करने की कोशिश के रूप में इस घुंघराले ब्रेस से पहले, यह ठीक है. आप कर टाइप करते समय, आप देख सकते हैं डैश, डैश, एसटीडी, के बराबर होती है, C99 देखें. तो यह है कि सी के बाद के संस्करण है कि जीसीसी भी देता है कि लागू किया गया है इस शॉर्टकट. इसलिए इस सी में अनुमति नहीं दी जानी करने के लिए इस्तेमाल किया और आप देख सकते हैं क्यों, क्योंकि इस INT मैं इस घुंघराले ब्रेस के बाहर है लेकिन यह अभी भी में माना जाता है इन घुंघराले ब्रेसिज़ के दायरे. लेकिन यह एक बहुत ही सुविधाजनक बात है, और इसलिए यह एक अच्छा विस्तार है. यूसुफ: कोई सवाल? ठीक है. तो क्या और अधिक उपयोगी है है कि कभी कभी आप गतिशीलता की तरह चाहते हैं अपने पाश, सही? तुम सिर्फ जरूरी मुद्रित नहीं करना चाहती पूरी तरह से हर समय दीवाना, तुम से नीचे की गणना करना चाहते 10 या कुछ और. और तो आप काउंटर चर का उपयोग कर सकते हैं उस लूप के अंदर के रूप में अच्छी तरह से. और इस मामले में, इस कार्यक्रम बस नीचे सभी तरह से नीचे 10 से गिना जाता है. और यह क्या मुद्रित नहीं करता है? यह शून्य मुद्रित नहीं करता, ठीक है, क्योंकि जब - हाँ, यह भी 11 मुद्रित नहीं करता. तो यह शून्य मुद्रित नहीं करता क्योंकि जब मैं शून्य है, यह मूल्यांकन करता है, याद उस पर चला जाता है से पहले शर्त पाश शरीर पर अमल करने की. मैं शून्य है और जब यह ऐसा है, तो गलत है यह नीचे की गिनती बाहर मुद्रित नहीं करता शून्य, यह सिर्फ गिनती प्रिंट 1 करने के लिए सभी तरह से नीचे 10 नीचे. हम वास्तव में यह शून्य मुद्रित करने के लिए चाहता था, तो तो हम एक बराबर चिह्न रखा जाएगा साइन तुलना में यह अधिक से अधिक के बाद. ठीक है. इनपुट सत्यापन ऐसा करने के लिए एक ही रास्ता है, जो तुम क्या करने के लिए उपयोगकर्ता पूछने जब है कुछ, आप यकीन है कि वे बनाना चाहते अपने निर्देशों का पालन करें, उपयोग करने के लिए है जबकि पाश, सही? इसलिए इस विशेष मामले में, मैं पूछ रहा हूँ एक सकारात्मक संख्या के लिए और फिर मैं हूँ इनपुट के लिए प्रतीक्षारत. इनपुट है और फिर मैं जाँच शून्य से कम है, उन्हें पूछते रहते हैं. तो जब तक वे मुझे एक नंबर दे रूप कि सकारात्मक नहीं है, पूछते रहते हैं, पूछते रहते हैं, पूछते रहते हैं. लेकिन एक तरह से अजीब इस बारे में क्या है? या फिर क्या बारे में इष्टतम प्रतीत नहीं होता यहीं इस संरचना? कोई है? हाँ? अध्यक्ष 6: आप दोहरा रहे हैं अनुदेश दो बार. यूसुफ: ठीक है. इसलिए हम दो printf बयान यहाँ, सही? तो हम सिर्फ यह मिल सकता है एक तरीका है करना होगा कि एक करने के लिए नीचे हमारी कोड आसान पढ़ने के लिए और एक को थोड़ा और अधिक साफ. और फिर हम नहीं होता साथ ही दो बार में मिलता है. और अगर आप ऐसा कर सकते हैं एक ही रास्ता है एक मत का समय पाश का उपयोग करके. और एक मत का समय पाश मूल रूप से एक एक समय पाश के विभिन्न प्रपत्र जहां घुंघराले ब्रेसिज़ के भीतर जो कुछ भी है कम से कम एक बार मार डाला जाता है. तो यहाँ में, मैं घोषणा, INT इनपुट, के बाहर पहले. और फिर मैं सिर्फ यह करना है, कहना अनुदेश जबकि इनपुट शून्य से भी कम है. तो यह पहले क्या हिट. यह हमेशा कम से कम इस पर अमल करेंगे एक बार, तो यह हमेशा के लिए उपयोगकर्ता पूछेंगे कम से कम एक बार निवेश के लिए. और फिर यह है कि निवेश का मूल्यांकन करता है, और यह एक चक्र में चला जाता है. हाँ, सवाल? अध्यक्ष 6: यह करने के लिए एक रास्ता है [सुनाई] प्रकार, अगर आप कहते हैं की तरह, GetString, और किसी [सुनाई] [सुनाई] के लिए एक रास्ता है यूसुफ: तो, वहाँ एक सवाल है इनपुट सत्यापन करने का तरीका अगर उपयोगकर्ता सही में डाल नहीं है चर के प्रकार? हम एक पूर्णांक के लिए पूछना है और यदि ऐसा है तो वे बजाय हमें एक स्ट्रिंग दे. और हम कार्यान्वित कार्यों में आप के लिए, GetInt, सभी में GetString उन कार्यों, वे वास्तव में पहले से ही बुनियादी प्रकार इनपुट की है कि ऐसा हुड के तहत मान्यता. तो आप कार्यों का उपयोग कर रहे हैं कि हम जो दिया, क्या तुम सच में की जरूरत नहीं है. लेकिन तुम कैसे में और अधिक देखने के लिए चाहते हैं आप वास्तव में ऐसा कर सकते हैं, आप देख सकते हैं फाइल पर हुड के तहत I/O-- मानक मैं / हे कार्यों, फाइल नहीं जैसे एक मानक इनपुट से पढ़ने और मानक उत्पादन. और आप एक बेहतर समझ प्राप्त कर सकते हैं कैसे की आप ऐसा कर सकते हैं. आरओबी: एक मुद्दा है, हालांकि, विशेष रूप से है उदाहरण के साथ आप कहा, आप एक स्ट्रिंग की उम्मीद और मैं एक पूर्णांक दर्ज करें. आप कैसे फर्क बताना होगा जानबूझकर चाहने के बीच INT 123 चाहने बनाम स्ट्रिंग 123? तो स्ट्रिंग, यह बहुत ज्यादा नहीं है वहाँ है सत्यापन, यह सिर्फ वे जो कुछ भी आप व्याख्या करेगा प्रवेश किया एक स्ट्रिंग के रूप में. इंटरनैशनल, आसान है, कोई बात नहीं क्योंकि आप उपयोगकर्ता से ले इनपुट, आप कर रहे हैं हमेशा एक स्ट्रिंग ले रही है. और इतना है कि स्ट्रिंग आप फिर से कर सकते हैं जाँच, इन सब कर रहे हैं वास्तव में संख्यात्मक अंक? यूसुफ: ठीक है. एक मत का समय पाश के बारे में कोई सवाल? आरओबी: ओह, और यह भी है - गुंजाइश के लिए वापस जा रहा, कुछ हद तक एक आम गलती कुछ स्थानीय उपयोग करने के लिए कोशिश कर रहा है इस मत का जबकि भीतर से चर इस शर्त के अंदर पाश. और वास्तव में, हम सिर्फ से छुटकारा मिल गया है अगर इस और int इनपुट के बराबर होती है, कहा GetInt, तो संकलक पर चिल्लाना होगा हमें, इनपुट मौजूद नहीं है क्योंकि के दायरे से बाहर इन घुंघराले ब्रेसिज़. यूसुफ: और यही कारण है कि हम यहाँ इस लाइनअप की जरूरत है. ठीक है. तो आप भी एक के बाहर तोड़ सकते हैं पाश जल्दी यदि आप चाहते हैं. तो यह एक अलग तरह का है हम सिर्फ कार्यान्वित क्या लागू करने. और बदले शर्त का उपयोग करने का कोष्ठकों के भीतर, हम एक प्रयोग कर रहे हैं यदि शरीर के अंदर बयान मत का समय पाश की. और असल में, जब इनपुट अंत में है शून्य से अधिक है, हम करेंगे लूप के बाहर तोड़. और इसलिए हम सभी को जाना होगा यहाँ नीचे रास्ता. और आप देख सकते हैं कि यह होगा शायद इस में पसंद किया यह एक छोटी सी के परिदृश्य, क्योंकि थोड़ा क्लीनर और एक छोटे से पढ़ने में आसान सा. इस जबकि, आप की तरह इसमें अतिरिक्त लाइनें है. यह सिर्फ एक छोटा सा भद्दा है मैं एक अर्थ में, लगता है. हाँ, सवाल? अध्यक्ष 4: मिल ही तोड़ दोगे ब्रेसिज़ के एक सेट से बाहर? यूसुफ: ठीक है. तो सवाल ही टूट जाएगा है आप एक पाश से बाहर निकलने? और इसका जवाब हां में है. तो क्या आप के लिए, loops के लिए नेस्ट किया है उदाहरण के लिए, मैं int के लिए है, तो मैं 0 के बराबर होती है जम्मू 0 के बराबर होती है 10 और फिर int के लिए जब तक 10 तक, मैं भीतर से बाहर तोड़ पाश, मैं अभी जाना होगा बाहरी पाश के लिए. तो यह प्रदर्शन रखेंगे बाहर पर कार्रवाई. उस के बारे में कोई सवाल? हाँ? स्पीकर 5: लेकिन केवल कार्यों तोड़ घुंघराले ब्रेसिज़ के लिए, नहीं अन्य के लिए बयान? [सुनाई] यूसुफ: तो सवाल टूट जाएगा है विरोध के रूप में छोरों के लिए केवल समारोह जैसे कि अगर अन्य बयान? और हाँ, कि मामला है, क्योंकि अगर आप सही, एक पाश से बाहर तोड़ रहे हो एक अर्थ में. रोब: अधिकांश मामलों में, यह है यदि यह कुछ की तरह है, फिर टूट गया. तो आप को लागू करने के लिए तोड़ने के लिए नहीं है इसके चारों ओर लपेटकर है कि अगर. और भी, यह एक पाश के लिए काफी नहीं है, लेकिन स्विच भी कर रहे हैं याद टूटता द्वारा की बाहर टूट. हम टूटता इस्तेमाल किया जा रहा देखा पहले स्विच के साथ. यूसुफ: और तुम भी उन का उपयोग कर सकते हैं जबकि छोरों में और loops के लिए. कोई सवाल? ठीक है. तो अगले कार्य है. तो आप इन BYOB में से एक का इस्तेमाल किया गया हो सकता है अपने खरोंच परियोजना में ब्लॉकों. और यह मूल रूप से अनुमति देता है आप एक सेट की परिभाषित करने के लिए पीछा किया जाना निर्देश. और मैं उस से क्या मतलब है चलो लगता है वापस गणित के लिए, सही, बीजगणित. आप हम एक्स के एक समारोह में क्या कहते है, कुछ चर, और के यह कहने दो. समारोह एक्स के एफ है एक्स के बराबर होती प्लस 5. तो अगर आप इस काली के रूप में एक्स के एफ के बारे में सोच सकते हैं फिर में 15 लेता है और उस बॉक्स 20 पैदा करता है. इसलिए अधिक आम तौर पर, एक समारोह है कुछ जानकारी और ले जाता है कि कुछ फिर कुछ outputs पैदा करता है. और क्यों कार्यों अच्छा कर रहे हैं? वे कारणों की एक संख्या के लिए अच्छा कर रहे हैं. इसलिए किसी एक चाकू ले जाना चाहता है इसका मतलब क्या संगठन पर? क्यों कार्यों के संदर्भ में सहायक होते हैं? हाँ? अध्यक्ष 4: यह बनाता है अपने कोड और अधिक पठनीय. यूसुफ: ठीक है. तो बातों में से एक यह बनाता है अपने कोड और अधिक पठनीय, सही? इसके बजाय int की तरह होने की एक्स एक्स के बराबर होती है बार एक्स बार एक्स, मैं एक्स के घन हो सकता है अधिक पठनीय और अधिक है जो एक पाठक के लिए समझ में आता है. संगठन के मामले में भी है प्रबंधनीय में अपने कोड तेज अंश, इतना है कि बजाय करने की कोशिश की सब एक लंबे खंड में यह लागू मुख्य में, आप की तरह इसे विभाजित कर सकते हैं जैसे में, ठीक है, चलो एक समारोह लिखने कुछ घन के लिए, के लिखने एक कुछ वर्ग के लिए कार्य करते हैं. आप छोटे में विभाजित कर सकते हैं, आप हल कर सकते हैं कि छोटे भागों से निपटने की कोशिश कर के रूप में विरोध सभी को एक बार में एक बड़ी समस्या है. आरओबी: या यहां तक ​​कि छोटे, छोटे भागों कि आप और एक साथी निपटने कर सकते हैं. यूसुफ: हाँ. आरओबी: तो दोनों के बजाय का आप एक प्रत्यारोपण करने के लिए कोशिश कर रहा एक ही समय में कार्य करते हैं. यूसुफ: सरलीकरण. किसी को भी एक अनुमान ले करना चाहते हैं? हाँ? स्पीकर 5: और अधिक पुनरावृत्ति. यूसुफ: ठीक है. आप के साथ ऐसा कर सकते हैं तो एक बात सरलीकरण यह की तरह पर है कि है पुन: प्रयोज्य के रूप में एक ही लाइनों है कि मैं एक घन समारोह लिखना एक बार, मैं कर सकता हूँ बस का उपयोग करने वाले और अधिक से अधिक और अधिक फिर बजाय टाइपिंग के अपने कार्यक्रम में एक्स बार एक्स बार एक्स से अधिक और पर और फिर से. और सरलीकरण यहां भी बस यह अपने कोड की तरह बना देता है इसका मतलब आप विभाजित एक बार आसान डिबग करने के लिए कार्यों में यह ऊपर. तो आप जहां स्थानीयकरण कर सकते हैं क्योंकि अपनी समस्याओं की तरह हैं. कोई सवाल? तो एक और विचार सही, अमूर्त है? इस ब्लैक बॉक्स. जैसे कि अगर आप GetInt करता है क्या जानते हो उपयोगकर्ता से इनपुट प्राप्त करने के लिए? हम वास्तव में सही कहा था, तुम नहीं किया है? हम आपको बता दिया है सभी GetInt करता है यह है कहते हैं कि वास्तव में क्या. हम आपको बता नहीं है तो भी अगर कैसे यह काम करता है, तो भी आप जानते हैं. इसलिए इस विशेष मामले में, यह है करता है जो एक चौगुनी समारोह एक इनपुट के लिए अलग अलग बातें एक उत्पादन का उत्पादन करने के लिए. और तुम एक नंबर चौगुना कर सकते हैं यह चार से गुणा करके. या फिर आप हम क्या कॉल कर सकते हैं सा दो से यह बदलाव. और हम इस कवर करेंगे एक छोटा सा बाद में. और पता करने की कोई जरूरत नहीं है कि यह कैसे समारोह वास्तव में यह रूप में लंबे समय के रूप में काम करता है जैसा कि कहा गया काम करता है. तो हुड के तहत, मैं हो सकता है जैसे, इनपुट बार लौटने आठ दो से विभाजित. और तुम सही, पता नहीं होता? आपको पता है की जरूरत है यह यह क्या कहता है. इसलिए कि उपयोगी बात है अमूर्त के बारे में. और एक बात की तरह इस विचार है एक करने के लिए अपने कोड की स्थानीयकृत विशेष खंड. यदि आप एक समस्या है, तो आप नहीं करते कोशिश कर सभी अपने कोड पर जाना है समस्या यह थी जहां तय करने के लिए. तो इस मामले में, मैं कार्यान्वित गलत घन. मैं घन गुणा रहा था तीन से. तो इस मामले में, यह एक कार्यक्रम है कि सिर्फ तीन से गुणा किया गया है हर जगह. और है कि एक और कार्यक्रम नहीं है बाहर एक समारोह में सकारात्मक असर घन. और इसलिए अब मैं अपनी गलती को ठीक करना चाहते हैं यहां, मैं हर एक लाइन ठीक करने के लिए है इस कार्यक्रम में कोड की. जबकि दूसरी ओर, अगर मैं इस्तेमाल समारोह, मैं ही बदलने की जरूरत क्या एक ही स्थान में गलत था. तो कंप्यूटर विज्ञान के क्षेत्र में, हम इनपुट और आउटपुट कहते हैं. आदानों पैरामीटर कहा जाता है या कर रहे हैं तर्क, और outputs कहा जाता है मान देते हैं. और हम इस तरह की मदद करता है हमें कैसे देखेंगे के एक दूसरे में एक समारोह को परिभाषित. तो यह एक समारोह परिभाषा है cubing के लिए. तो यह तो एक इनपुट लेता है, और यह देता है कि संख्या बार खुद तीन बार. तो चलो इस टूट. तो हम एक समारोह शीर्षक है जो मूल रूप से तीन चीजों के होते हैं. तो हम, पैरामीटर है जो जैसा कि मैंने पहले कहा था, कर रहे हैं, इस समारोह में आदानों. और फिर हम समारोह एक नाम दे. इस मामले में, यह क्यूब कहा जाता है. और फिर हम किस प्रकार निर्दिष्ट की मान है. तो इस मामले में, मेरे क्यूब समारोह एक पूर्णांक में ले जाता है और यह भी एक पूर्णांक देता है. मैं दो में पारित तो, अगर दो, एक पूर्णांक है यह मेरे लिए आठ जो रिटर्न एक पूर्णांक है. तो प्रकार का नाम मापदंडों वापसी. उस के बारे में प्रश्न? और फिर वापस मूल्य वास्तव में है वापसी कह कर अंत में निर्दिष्ट और फिर लौटने के लिए जो कुछ भी वापसी मान होता है. तो इस मामले में, हम यह सब डाल एक साथ, एक समारोह में ले जाता है मापदंडों, यह कुछ कहा जाता है, और है यह प्रकार है कि कुछ रिटर्न हम यह होने जा रहा था कहना है कि. कोई सवाल? तो कैसे हम एक समारोह का उपयोग करते हैं? खैर, हम तो एक समारोह लिखने और हम सही, हमारे कार्यक्रम में इसका इस्तेमाल करते हैं? तो मैं घन यह कहा जाता है, और तो मैं घन का उपयोग कर सकते हैं. लेकिन क्या महत्वपूर्ण है ध्यान दें इसी क्रम मामलों है. मैं मुख्य नीचे घन है, तो यह बात है क्यूब में चला जा रहा. और इस बिंदु पर, कुछ भी नहीं है कार्यक्रम में घन कहा जाता है, और यह बात है अभी मेरे पास है, की तरह होने जा रहा पता नहीं क्या क्यूब है. इसलिए यह अंतर्निहित, आपको बता देगा समारोह की घोषणा. यही कारण है कि ऊपर से पता चलता है कि त्रुटि है. और इसलिए इस मामले में, घन नीचे है मुख्य है, तो यह नहीं जा रहा है इसके बारे में पता करने के लिए. स्पीकर 5: तो मुख्य आमतौर पर है पिछले समारोह परिभाषित? यूसुफ: तो सवाल है मुख्य आमतौर पर पिछले है आप को परिभाषित करता हूं कि बात है? और कोई नहीं. हम आम तौर पर मुख्य पसंद है क्योंकि यह है ठीक है, शीर्ष पर होना चाहिए? पहली बात है कि आप क्योंकि प्रोग्रामर खोलने चाहते हैं देखने के लिए कार्यक्रम. और इसलिए हम कैसे हम इस मुद्दे को हल करते हैं शीर्ष पर होना करने के लिए मुख्य चाहते हैं, लेकिन हम चाहते हैं कि काम करता है, हम उन्हें चाहते हैं मुख्य नीचे होना अभी तक उपयोग करने के लिए सक्षम होने के लिए मुख्य के अंदर उन्हें? ठीक है, हम हम क्या कॉल का उपयोग एक समारोह के प्रोटोटाइप. तो क्या एक समारोह प्रोटोटाइप अनिवार्य रूप यह पहली बार क्या ले जाता है हस्ताक्षर या समारोह हेडर हम नीचे लागू करने के लिए क्या करना चाहते हैं यहाँ, और हम पर डाल एक कार्यक्रम के ऊपर. तो इस मामले में, हम कहते हैं कि, ठीक है, बाद में हमारे कार्यक्रम में, हम जा रहे हैं इस लागू करने के लिए एक वादा करना लेता है जो INT घन बुलाया समारोह, एक पूर्णांक इनपुट. तो अब, कि मुख्य ऊपर है क्योंकि, मुख्य, यह कहने के लिए जा रहा है, ओह, ठीक है, बाद में कार्यक्रम में, कि होने जा रहा है तो वहाँ मैं यह उल्लेख कर सकते हैं, तो मैं हूँ बस यह अभी के लिए के माध्यम से चलते हैं. और फिर नीचे, हम घन लागू. और फिर मुख्य बस कहेंगे, खैर, यह कड़ी की तरह का होगा एक साथ इन दो प्रतीकों. और हम कवर करेंगे कि क्या पर बाद में इसका मतलब है. और तो यह है कि यह पता चल जाएगा इसे इस्तेमाल करना चाहिए कि घन समारोह. आरओबी [सुनाई] चाहने के बारे में नीचे या में मुख्य शीर्ष, मैं दोनों को देखा है. जैसे कि बातें कर रहे हैं तल पर मुख्य रख दिया. लेकिन एक परियोजना विशेष रूप से हो जाता है एक बार बड़ा, आमतौर पर मुख्य एक में है सभी अपनी फ़ाइल. और उस समय, जैसे INT घन लाइन होगा - stdio.h के अंदर एक गुच्छा रहे हैं सिर्फ इतना है कि INT तरह लाइनों की घन INT इनपुट लाइन. और इसलिए उन प्रोटोटाइप चीजें आप कर रहे हैं पर, हेडर फाइल में डाल देते हैं जो बात, यह बात नहीं है. खैर, यह बात नहीं है. वे हमेशा शीर्ष पर जाओ. और मुख्य सभी का अपना एक फ़ाइल नहीं है, तो तुम डाल के बारे में चिंता करने की ज़रूरत नहीं है व्यक्तिगत समारोह प्रोटोटाइप फ़ाइल में. यूसुफ: और हम उस एक छोटी सी के लिए मिल जाएगा थोड़ी देर बाद रोब बात कर शुरू होता है जब संकलन के बारे में. और इसलिए एक फर्क भी नहीं है पैरामीटर और तर्क के बीच. और पैरामीटर अभी क्या है हम इन सूचनाओं जब फोन हम समारोह को परिभाषित. और हम एक तर्क यह कहते हैं जब हम वास्तव में समारोह में इसे पारित. तो इस मामले में, यह एक पैरामीटर है, हम पहले कहा था. और हम वास्तव में वहाँ पर इसका इस्तेमाल करते हैं, एक्स के घन, तब ही है x हम एक तर्क क्या कॉल समारोह घन के लिए. आरओबी: तो पैरामीटर के तर्क हैं - इस तरह के अंतर, वहाँ बहुत दूसरे के स्थान पर उलझन में है. इस बिंदु पर, मेरे लिए, यह एक की तरह है उन शब्दों है कि मैं इसे बाहर देख जब जंगली, मैं तुरंत मदद नहीं कर सकते वे में यह प्रयोग कर रहे हैं कि क्या सवाल सही संदर्भ, क्योंकि अंतर बहुत सूक्ष्म है कि बस हर किसी के लिए जाता है - मैं लगभग हमेशा तर्क कहना परवाह किए बिना मैं क्या मतलब है की. यूसुफ: और कार्यों में भी उपयोगी होते हैं हम दुष्प्रभाव क्या कॉल के लिए. तो एक समारोह नहीं आदानों ले सकते हैं, और यह भी कोई outputs उत्पादन कर सकते हैं. इसलिए इस विशेष मामले में, मैं कर रहा हूँ कोई है जो एक उपनेमका को परिभाषित मूल्य वापसी. और कहा कि निर्दिष्ट करने के क्रम में, हम का उपयोग हम यहाँ पर एक शून्य क्या कहते हैं. और इसलिए इस समारोह के पक्ष प्रभाव यह सिर्फ सामान है कि प्रिंट है पेज के लिए बाहर. यह वास्तव में किसी भी नहीं ले करता है आदानों, और यह नहीं है वास्तव में किसी भी outputs उत्पादन. लेकिन इस मायने में उपयोगी हो सकता है आप के लिए, उदाहरण के लिए, डिबग चाहते हैं अपने कार्यक्रम में कुछ, अगर आप चाहते हैं एक छोटी सी उपनेमका लिखने के लिए कि बाहर प्रिंट, सामग्री, हम कहते हैं स्मृति या कुछ और. और इसलिए इन दुष्प्रभावों कभी कभी रहे हैं संदर्भ से बाहर उपयोगी की बस इनपुट और आउटपुट पसंद है. कोई सवाल? और इस विशेष खंड समाप्त करने के लिए, इस कार्यक्रम क्या करता है? मैं तुम लोगों के एक जोड़े के लिए दे देंगे इसके माध्यम से पढ़ने के लिए सेकंड. एक बहुत ही बुनियादी स्तर पर, क्या हम करना चाहते हैं कहते हैं कि यह सही है, एक्स और वाई कि स्वैप है? तो आप में से कितने वास्तव में लगता है इस एक्स और वाई स्वैप जाएगा? अपने हाथ उठाओ. कोई नहीं. ठीक है. कौन सोचता है कि यह होगा एक्स और वाई स्वैप नहीं? और उस का योग था नहीं पूरे कमरे में. तो कुछ लोगों को यकीन नहीं कर रहे हैं. ठीक है. यही उचित है. तो चलो क्या होता है जब के माध्यम से चलते हैं आप वास्तव में पहला कार्य कॉल इस सवाल का जवाब देने के लिए. तो यह क्या स्मृति है तरह की तरह दिखता है. इस तरह के एक सरल मॉडल की तरह है जैसे जब स्मृति लग रहा है की आप एक प्रोग्राम चलाते हैं. इसलिए कहा जाता है कि वहाँ कुछ यहाँ नीचे ढेर और कुछ ढेर कहा जाता है. और इन की ओर बढ़ने स्मृति के बीच. इस विशेष मामले में, इसलिए जब आप एक समारोह फोन, यह ढेर पर डाल दिया जाता है. और फिर उस में निहित है जो कुछ भी समारोह हम चाहते हैं कि क्या फोन में रहता है समारोह के ढेर फ्रेम. और इसलिए एक अच्छा दृश्य के पाने के लिए यह let's - उदाहरण के लिए, हम था कार्यक्रम मुख्य पहले. और मुख्य के अंदर, हम घन कहा जाता है. तो मुख्य पहली ढेर पर जाना होगा यह पहला समारोह है, क्योंकि फ्रेम कि कहा जाता है. और फिर घन के अंदर भी कहा जाता है जब मुख्य, यह मुख्य के शीर्ष पर डाल दिया जाता है स्मृति के अंदर. तो क्या आप यहाँ नोटिस हूँ कि घन है अपने स्वयं के मानकों और इसकी है खुद के स्थानीय लोगों को. तो आप वास्तव में करने के लिए कुछ पारित जब एक समारोह पैरामीटर कि यह क्या था की प्रतियां हैं हो जाता है मुख्य से पारित कर दिया. और की तरह यह समझाने के लिए, चलो एक कार्यक्रम के माध्यम से चलते हैं. इसलिए हम ढेर है, यह है सिर्फ ढेर भाग. और हम क्या हम पहले इनिशियलाइज़ है एक और दो के लिए एक्स और वाई. इसलिए हम इन छोटे बक्से है. वे मुख्य के ढेर में बैठे हैं ढेर पर फ्रेम. वे एक और दो होते हैं. अब हम स्वैप कहते हैं. क्या होता है कि हम में एक्स और वाई गुजरती है स्वैप, और स्वैप अपनी खुद की प्रतियां बनाता है उन चर के अंदर का उपयोग करने की अपने ढेर फ्रेम की. तो अब खत्म हो गई है, हम एक, जो है एक्स था कि मूल्य शामिल हैं, और बी, जो y था कि मूल्य में शामिल है. तो एक, दो. और तुम इस अलग है कि ध्यान देंगे मुख्य के अंदर एक्स और वाई से. तो अब हम एक अस्थायी बना एक को रोकने के लिए चर. हम बी को बराबर सेट है, तो यह 1-2 बदल जाता है. और फिर हम बराबर बी सेट अस्थायी करने के लिए, जो एक है. और फिर अब हम बाहर बाहर निकलें इस समारोह का. तुम समारोह के बाहर से बाहर निकलते हैं, ढेर फ्रेम ढेर बंद popped हो जाता है. हम इसे धक्का कहते हैं. आप ढेर पर एक ढेर फ्रेम धक्का ढेर बंद और अगर आप पॉप. और तो क्या होता है कि सब कुछ है बस की कि ढेर फ्रेम प्रकार में था आग की लपटों में चला जाता है. और इतना है कि अब मौजूद नहीं है. लेकिन हम क्या सूचना है? हम वास्तव में कभी नहीं बदला एक्स और वाई के मूल्यों, है ना? तो उन मुख्य करने के लिए स्थानीय रुके. और स्वैप में चीजों से गुजर रहा है, हम वास्तव में उन मूल्यों को कभी नहीं बदला. और क्या हम इस कहते हैं? हम मान से यह पारित कहते हैं. तो सी में, आप में बातें पारित जब काम करता है, यह मूल्य द्वारा उन्हें गुजरता है और के लिए उनमें से एक प्रतिलिपि बनाता है उपयोग करने के लिए कार्य करते हैं. और हम बुलाया कुछ के बारे में सीखना होगा बाद में संदर्भ से गुजर रहा है, लेकिन है कि आप इस समस्या को हल कर सकते हैं एक तरीका है. लेकिन हम के बारे में चिंता नहीं होगी कि बाद में जब तक. आरओबी: और वास्तव में, उस शब्द, पासिंग संदर्भ से, इतनी सी भी नहीं है संदर्भित कर गुजर रहा है. सी विशेष रूप से मूल्य के पास से गुजर गया है. कोई फर्क नहीं पड़ता कि आप क्या करते हैं, आप हमेशा से रहे हैं कुछ की एक प्रति गुजर रहा है. मैं एक तरह से उल्लेख किया है जैसे यह सिर्फ है कि उससे पहले संकेत के साथ और एक स्ट्रिंग सिर्फ सच में चार है कि स्मृति में किसी जगह की ओर इशारा करते बाइट्स. ठीक है, मैं इस स्ट्रिंग है और अगर यह बात है कि स्ट्रिंग जहां है मुझे बता रहा है - ठीक है, मैं इस सूचक है अगर यह करने के लिए स्मृति में रखें, उसके बाद मैं एक पारित कर सकते हैं एक समारोह के लिए कि सूचक की प्रतिलिपि, और उस समारोह अभी भी जहां में जानता है स्मृति यह है. तो ये संकेत के दोनों ओर इशारा करते हैं उसी स्मृति में जगह है, और करने के लिए कि हम सक्षम होने के लिए जा रहे है कैसे परे चीजों को संशोधित करने के लिए वर्तमान स्टैक फ्रेम. यूसुफ: आप संकलन करना चाहते हैं? आरओबी: नहीं, यह 5:30 है. यूसुफ: ठीक है. यह 5:30 है. ठीक है. इसलिए हम मैं में लगता संकलन को कवर किया जाएगा अगले अनुभाग, या अपने अनुभाग नेता उस बिंदु पर होगा. और - रोब: कोई सवाल? यूसुफ: कोई सवाल? हाँ? स्पीकर 5: CS50, किसी से तार का उपयोग हम के लिए उपयोग करना चाहते हैं कि कार्यों उन है कि, सी कार्य की तरह हो जाएगा. CS50 में और नहीं गई कोई अतिरिक्त कर दिया. आरओबी: सही है. सी के किसी भी तुम, [सुनाई] की तरह हमारे तार पर उन का प्रयोग करेंगे. यूसुफ: और एक आखिरी बात मैं करना चाहता हूँ उल्लेख है कि हम एक शैली गाइड है इस वर्ग के लिए. रोब: ओह, हाँ. यूसुफ: तो आप एक से आया हूँ यदि आप पहले पृष्ठभूमि प्रोग्रामिंग कुछ परंपराओं का हो सकता है जब तुम डाल की तरह कोड लिख रहे हैं एक ही पंक्ति या विशेष पर ब्रेसेस इंडेंट के तरीके या आपके चर नामकरण. इस वर्ग में, हम पालन करना चाहते हैं एक विशिष्ट शैली गाइड बस, क्योंकि वैसे, अगर आप बाहर जाने के लिए और अगर में काम उद्योग, आप की उम्मीद हो जा रहे हैं की शैली गाइड का पालन करने के लिए आप के लिए जाना है, जिस पर कंपनी. जैसा उदाहरण के लिए, सुझाव मुझे लगता है नामकरण की एक विशेष प्रकार का है सम्मेलन. और ऊंट के बीच मतभेद है आवरण चर और बस की तरह अंडरस्कोर के साथ उन्हें अलग. और यह भी, मैं जैसे, सबसे महत्वपूर्ण बात यह लगता है उदाहरण के लिए, खरोज, सही? हम घुंघराले ब्रेसिज़ जहां शुरू करूँ हालत वे है, और अगली पंक्ति पर हैं. और हम भी में घुंघराले ब्रेसिज़ डाल यह केवल एक पंक्ति है, भले ही. और, ऐसा करने के तरीके के समय की एक बहुत हैं यह आप इन ब्रेसिज़ छोड़ सकते हैं, जहां यह केवल एक ही पंक्ति है अगर बंद यदि बयान के तहत. लेकिन इस वर्ग में, हम पालन करना चाहते हैं एक विशिष्ट शैली गाइड अभी तो तुम मिल उस चीज़ की तरह करते थे. रोब: हाँ, और शैली 50 के लिए जा रहा है इस शैली गाइड लागू करने, और हम कर रहे हैं शैली 50 उपयोग करने के लिए जा रहा ग्रेड अपने कोड के लिए. इसलिए यह बातें हमारे लिए आसान बनाता है उम्मीद है कि चीजें नहीं बनाना चाहिए तुम्हें दे दिया के लिए बहुत बुरा मानकीकृत शैली है कि नहीं होना चाहिए अवास्तविक. यूसुफ: और अंत में, शैली को खोजने के लिए , manual.cs50.net/style के लिए जाना गाइड. और हाँ. अध्यक्ष 4: आप को लागू करने के लिए जा रहे हैं प्रति पंक्ति किसी भी वर्ण? रोब: हाँ. यूसुफ: माफ करना, दोस्तों. आरओबी: यह केवल लोगों में से एक की तरह है. इस बिंदु पर, मैं 120 के साथ ठीक हूँ. मैं 120 कह के साथ ठीक हूँ प्रति पंक्ति वर्ण. मैं कुछ सीमा जा रहा है वहाँ समझते हैं. मैं 80 इतना छोटा है, लेकिन लगता है हम इसे लागू कर रहे हैं. यूसुफ: निजी तौर पर, मैं के साथ लगता है सी, 80 अक्षर और अधिक ठीक है. आप अन्य करने के लिए शुरू हो रही है एक बार जावास्क्रिप्ट और PHP जैसी भाषाओं, नहीं सिर्फ सीमित करने के लिए तो उचित 80 पात्रों के लिए यह. ठीक है. वैसे, यह सुपर अनुभाग था. किसी को कैंडी चाहता है? अध्यक्ष 4: हाँ.