1 00:00:00,000 --> 00:00:03,353 >> [संगीत बजाना] 2 00:00:03,353 --> 00:00:04,842 3 00:00:04,842 --> 00:00:06,050 डेविड मालन: नमस्ते, हर कोई। 4 00:00:06,050 --> 00:00:07,777 यह CS50 के supersection है। 5 00:00:07,777 --> 00:00:09,860 निरुपित धारा नहीं होगा एक सप्ताह के लिए शुरू करते हैं। 6 00:00:09,860 --> 00:00:11,580 और इसलिए आज मैं यहाँ हूँ with-- 7 00:00:11,580 --> 00:00:12,122 >> मारिया: मारिया। 8 00:00:12,122 --> 00:00:14,163 डेविड मालन: वास्तव में --to समस्या पर एक नज़र रखना 9 00:00:14,163 --> 00:00:16,110 एक, पाठ्यक्रम का सेट सामग्री के पहले सप्ताह, 10 00:00:16,110 --> 00:00:19,780 आप CS50 आईडीई के साथ उन्मुख हो, एक सा लिनक्स, है कि ऑपरेटिंग सिस्टम की 11 00:00:19,780 --> 00:00:22,290 आईडीई पर चल रहा है, साथ ही संक्रमण से कुछ को देखो 12 00:00:22,290 --> 00:00:25,730 सी अग्रणी करने के लिए खरोंच से समस्या का एक सेट अप। 13 00:00:25,730 --> 00:00:28,340 >> तो आगे की हलचल के बिना, समस्या में, एक सेट 14 00:00:28,340 --> 00:00:30,520 आप हो जा रहे हैं CS50 आईडीई, के लिए शुरू की है, जो 15 00:00:30,520 --> 00:00:33,230 इस वेब आधारित प्रोग्रामिंग है हम क्रम में उपयोग करने वाले पर्यावरण 16 00:00:33,230 --> 00:00:34,280 कार्यक्रमों लिखने के लिए। 17 00:00:34,280 --> 00:00:37,280 यह बहुत ही देखने के लिए डिजाइन किया गया है एक ठेठ कंप्यूटर की याद ताजा 18 00:00:37,280 --> 00:00:39,430 एक ऑपरेटिंग सिस्टम चलाने के लिनक्स बुलाया प्रणाली। 19 00:00:39,430 --> 00:00:42,440 लेकिन यह तथाकथित बादल में है, जो क्लास में हर कोई इसका मतलब 20 00:00:42,440 --> 00:00:45,100 वास्तव में हो सकता है उसके या उसके अपने खाते के रूप में अच्छी तरह से इस्तेमाल करते हैं और। 21 00:00:45,100 --> 00:00:48,950 >> तो आप में से अधिकांश शायद का इस्तेमाल नहीं किया पहले या शायद एक लिनक्स वातावरण 22 00:00:48,950 --> 00:00:50,447 यहां तक ​​कि एक कमांड लाइन वातावरण। 23 00:00:50,447 --> 00:00:52,280 और एक कमांड लाइन पर्यावरण अलग है। 24 00:00:52,280 --> 00:00:53,200 यह सब शाब्दिक है। 25 00:00:53,200 --> 00:00:54,730 यह सब कुंजीपटल आज्ञाओं है। 26 00:00:54,730 --> 00:00:59,480 और यह कोई mousing, कोई प्रतीक है, कोई वार्ता खिड़कियां, कोई मेनू। 27 00:00:59,480 --> 00:01:00,212 यह विशुद्ध रूप से पाठ है। 28 00:01:00,212 --> 00:01:01,920 तो पहली बार में, यह एक तरह एक कदम की तरह लगता है 29 00:01:01,920 --> 00:01:04,434 पीछे की ओर मिलावट के मामले में। 30 00:01:04,434 --> 00:01:06,600 लेकिन यह एक बहुत समाप्त होता जा रहा अधिक शक्तिशाली है, निश्चित रूप से, 31 00:01:06,600 --> 00:01:08,510 एक कंप्यूटर वैज्ञानिक के लिए, अंततः। 32 00:01:08,510 --> 00:01:09,540 >> तो चलो एक नज़र रखना। 33 00:01:09,540 --> 00:01:13,850 यहाँ मैं, CS50.io में हूँ जो के माध्यम से आप CS50 आईडीई में लॉग इन कर सकते हैं। 34 00:01:13,850 --> 00:01:17,414 और भी बहुत कुछ खरोंच में की तरह नहीं है, इस स्क्रीन पर तीन प्राथमिक क्षेत्रों में। 35 00:01:17,414 --> 00:01:20,080 तो बाएं हाथ की ओर है, हम है क्या फ़ाइल ब्राउज़र हो जाएगा। 36 00:01:20,080 --> 00:01:22,413 और इस फ़ोल्डर में वहाँ है अब ठीक है जो खाली है ऊपर, 37 00:01:22,413 --> 00:01:24,690 मैं सभी से छुटकारा मिल गया के बाद से मेरी supersection पहले फ़ाइलों। 38 00:01:24,690 --> 00:01:27,599 और कहा कि जहां हम करेंगे है हम लिखने कि सी फाइलों को बचाने के लिए। 39 00:01:27,599 --> 00:01:30,890 शीर्ष सही पर, हम एक जगह है, जहां है हमारे कोड के सभी लिखा मिलता जा रहा है। 40 00:01:30,890 --> 00:01:34,610 और वास्तव में, मैं इस प्लस क्लिक करते हैं, इस मुझे नई फ़ाइल का चयन करते जा रहा है। 41 00:01:34,610 --> 00:01:38,310 और यहाँ मैं या सी कोड लिखने शुरू कर सकते हैं, वास्तव में, अन्य भाषाओं के किसी भी संख्या। 42 00:01:38,310 --> 00:01:42,670 >> और फिर जहां यह सबसे नीचे कहते हैं jharvard @ ide50-- और तुम्हारा होगा 43 00:01:42,670 --> 00:01:45,080 एक छोटे से कुछ का कहना है different-- यह क्या कहा जाता था? 44 00:01:45,080 --> 00:01:48,644 45 00:01:48,644 --> 00:01:49,310 टर्मिनल विंडो। 46 00:01:49,310 --> 00:01:49,570 हाँ। 47 00:01:49,570 --> 00:01:51,810 तो टर्मिनल विंडो है तथाकथित कमांड लाइन 48 00:01:51,810 --> 00:01:55,540 आप बातचीत कर सकते हैं, जो के माध्यम से इंटरफेस अंतर्निहित ऑपरेटिंग सिस्टम के साथ। 49 00:01:55,540 --> 00:01:58,220 और अब के लिए, हम करने जा रहे हैं है- की बहुत कम इस्तेमाल करते हैं 50 00:01:58,220 --> 00:02:01,170 बस को देखने के लिए, संकलन करने के लिए हम देखते हैं कि त्रुटि संदेश, 51 00:02:01,170 --> 00:02:02,347 और हमारे कार्यक्रमों को चलाने के लिए। 52 00:02:02,347 --> 00:02:04,680 लेकिन अंततः, हम जा रहे हैं साथ ही, इतना अधिक करने के लिए। 53 00:02:04,680 --> 00:02:07,490 और तुम भी सॉफ्टवेयर स्थापित कर सकते हैं और अपने कार्यक्षेत्र के लिए प्रशासन 54 00:02:07,490 --> 00:02:09,066 CS50 आईडीई के भीतर, के रूप में अच्छी तरह से। 55 00:02:09,066 --> 00:02:10,440 लेकिन यह है कि कुछ और समय के बारे में अधिक। 56 00:02:10,440 --> 00:02:12,689 >> तो चलो आगे जाना है और लिखने के लिए एक बहुत ही सरल कार्यक्रम सिर्फ 57 00:02:12,689 --> 00:02:15,064 की एक वार्म अप के माध्यम से जाने के लिए शायद है जो hello.c, 58 00:02:15,064 --> 00:02:16,480 हम लिख सकते हैं सरलतम कार्यक्रम। 59 00:02:16,480 --> 00:02:18,330 मैं पहले से ही एक नया टैब खोल दिया है। 60 00:02:18,330 --> 00:02:24,310 मैं आगे जाने के लिए जा रहा हूँ और मानक io.h. शामिल कहना 61 00:02:24,310 --> 00:02:25,325 तब मुख्य (शून्य) int। 62 00:02:25,325 --> 00:02:28,930 63 00:02:28,930 --> 00:02:35,200 और फिर printf ("हैलो, दुनिया" बैकस्लैश एन, करीब बोली, 64 00:02:35,200 --> 00:02:39,480 बंद कोष्ठक, और अर्धविराम। 65 00:02:39,480 --> 00:02:39,990 >> ठीक है। 66 00:02:39,990 --> 00:02:41,700 तो अब मेरी खिड़की शीर्षकहीन है नोटिस। 67 00:02:41,700 --> 00:02:44,840 तो मैं बहुत जल्दी जा रहा हूँ , फाइल में सेव करने के लिए जाने के लिए। 68 00:02:44,840 --> 00:02:46,910 और यह महत्वपूर्ण है कि मैंने कहा, "नमस्ते।" यह नहीं फोन 69 00:02:46,910 --> 00:02:49,243 इसलिए एक बहुत ही आम गलती की है, विशेष रूप से समस्या में से एक है, सेट 70 00:02:49,243 --> 00:02:52,530 गलती सिर्फ फोन करने के लिए है अपने कार्यक्रम "पानी" या "लालची" या "मारियो" 71 00:02:52,530 --> 00:02:53,890 "क्रेडिट" या की तरह या। 72 00:02:53,890 --> 00:02:55,970 लेकिन अगर आप वास्तव में करना चाहते हैं सुनिश्चित करें कि आप फ़ाइल एक्सटेंशन 73 00:02:55,970 --> 00:02:58,928 यह एक ही तरीका है कि क्योंकि संकलक और भी कोड संपादक 74 00:02:58,928 --> 00:03:00,710 आप कर रहे हैं जानता है कि वास्तव में सी कोड लिखने। 75 00:03:00,710 --> 00:03:02,280 तो मुझे आगे जाना है और सहेजें क्लिक करते हैं। 76 00:03:02,280 --> 00:03:05,710 >> और अब भी है, क्या CS50 आईडीई यह भी है हमारे लिए किया है 77 00:03:05,710 --> 00:03:07,120 वाक्य रचना सब कुछ पर प्रकाश डाला। 78 00:03:07,120 --> 00:03:08,822 तो यह सब कुछ बहुत रंगीन बना दिया है। 79 00:03:08,822 --> 00:03:10,780 और का पूरा उद्देश्य कि कार्यशील नहीं है। 80 00:03:10,780 --> 00:03:14,290 यह करने के लिए मेरी आँखों आकर्षित करने के लिए बस धारणात्मक अलग टुकड़ों 81 00:03:14,290 --> 00:03:15,310 इस कार्यक्रम का। 82 00:03:15,310 --> 00:03:17,570 तो चलो आगे जाना है और इस संकलन करते। 83 00:03:17,570 --> 00:03:19,490 और मैं इस संकलन कर सकते हैं तरीके के एक जोड़े में। 84 00:03:19,490 --> 00:03:22,010 और एक सप्ताह में, पुराने स्कूल रास्ता हमने किया 85 00:03:22,010 --> 00:03:26,250 इस पर सचमुच था आदेश line-- "बजना hello.c।" 86 00:03:26,250 --> 00:03:27,596 और फिर मैं हिट दर्ज करें। 87 00:03:27,596 --> 00:03:29,720 और कुछ भी नहीं होने लगता है टर्मिनल विंडो में। 88 00:03:29,720 --> 00:03:32,654 लेकिन आईडीई में परिवर्तन क्या किया? 89 00:03:32,654 --> 00:03:35,320 कहाँ, फिर से, आईडीई बस का अर्थ संयुक्त विकसित वातावरण। 90 00:03:35,320 --> 00:03:38,360 यह कह का एक अच्छा तरीका है इस एकीकृत विकास 91 00:03:38,360 --> 00:03:40,620 सॉफ्टवेयर के विकास के लिए पर्यावरण। 92 00:03:40,620 --> 00:03:42,477 तो यूआई में क्या बदल गया? 93 00:03:42,477 --> 00:03:44,310 आप क्या नोटिस किया था कि मारिया, अलग है? 94 00:03:44,310 --> 00:03:47,100 >> मारिया: मैं कुछ देखा IDE50 के तहत यहां हुआ फ़ोल्डर। 95 00:03:47,100 --> 00:03:47,850 >> डेविड मालन: हाँ। 96 00:03:47,850 --> 00:03:50,230 तो यहाँ तक ही नहीं, हम क्या ज़रूरत है "hello.c।" 97 00:03:50,230 --> 00:03:53,120 हम यह भी है, "जो a.out" है एक कार्यक्रम के लिए एक गूंगा नाम की तरह। 98 00:03:53,120 --> 00:03:56,430 लेकिन वास्तव में, यह एक के लिए डिफ़ॉल्ट नाम है तुम सिर्फ अपने कोड संकलन जब कार्यक्रम 99 00:03:56,430 --> 00:03:59,110 और संकलक बता नहीं है उत्पादन करने के लिए क्या फ़ाइल। 100 00:03:59,110 --> 00:04:01,790 इसलिए मैं इस चलाना चाहते हैं, मैं compiler-- बताने की जरूरत 101 00:04:01,790 --> 00:04:05,340 या यों कहें, मैं करने की जरूरत है कार्यक्षेत्र बताओ कि मैं 102 00:04:05,340 --> 00:04:09,780 कहा जाता कार्यक्रम चलाना चाहते हैं "a.out।" 103 00:04:09,780 --> 00:04:10,550 दर्ज करें। 104 00:04:10,550 --> 00:04:12,474 और, नमस्ते "वहाँ दुनिया। "अब" ./ "। 105 00:04:12,474 --> 00:04:13,390 वास्तव में महत्वपूर्ण है। 106 00:04:13,390 --> 00:04:16,050 यहां तक ​​कि सामान्य रूप से हम केवल हालांकि आदेशों के नाम लिखते हैं, 107 00:04:16,050 --> 00:04:19,060 यह आप है एक प्रोग्राम है जब लिखा है, आप "./" कहने के लिए करना चाहते हैं 108 00:04:19,060 --> 00:04:22,460 कि स्पष्ट रूप से लिनक्स बताता है क्योंकि आप एक कार्यक्रम में कहा चलाना चाहते हैं कि 109 00:04:22,460 --> 00:04:26,930 इस में है कि "a.out", जहां डॉट मैं वर्तमान में हूँ कि इस निर्देशिका का अर्थ है 110 00:04:26,930 --> 00:04:31,600 होना होता है, जिसमें "a.out, कार्यक्षेत्र बुलाया। 111 00:04:31,600 --> 00:04:35,410 मैं सिर्फ इतना कहा क्योंकि अगर "a.out," दर्ज करें, मैं आदेश a.out "नहीं लेने जा रहा हूँ 112 00:04:35,410 --> 00:04:38,035 पाया "computer-- क्योंकि मैं का आविष्कार किया है, क्योंकि "a.out;" 113 00:04:38,035 --> 00:04:40,910 यह computer-- साथ नहीं आया था जहां यह देखने के लिए पता नहीं है, 114 00:04:40,910 --> 00:04:43,590 यहां तक ​​कि यह सही है, हालांकि मेरी नाक के नीचे, तो बात करो। 115 00:04:43,590 --> 00:04:44,090 ठीक है। 116 00:04:44,090 --> 00:04:49,910 तो हम करने के लिए यह बदल सकता है "हैलो -o बजना hello.c।" हो सकता है 117 00:04:49,910 --> 00:04:53,030 और मैं में प्रवेश मारा, तो क्या कार्यक्रम यह मेरे लिए उत्पादन करने के लिए जा रहा है? 118 00:04:53,030 --> 00:04:55,710 फ़ाइल का नाम क्या है? 119 00:04:55,710 --> 00:04:57,500 हाँ, पीठ में। 120 00:04:57,500 --> 00:04:58,479 यह सही है। "नमस्ते।" 121 00:04:58,479 --> 00:05:00,520 तो "नमस्ते" होने जा रहा है प्रोग्राम का नाम 122 00:05:00,520 --> 00:05:04,610 हम का उपयोग किया है, क्योंकि एक तथाकथित बस है जो कमांड लाइन तर्क है, 123 00:05:04,610 --> 00:05:08,120 के व्यवहार को बदलने का एक तरीका वास्तव में उत्पादन करने के लिए संकलक 124 00:05:08,120 --> 00:05:09,450 एक विशिष्ट फ़ाइल नाम। 125 00:05:09,450 --> 00:05:12,400 और वास्तव में, मैं ज़ूम बाहर और यहाँ देखो, 126 00:05:12,400 --> 00:05:17,430 अब मैं न केवल "a.out" है और के रूप में अच्छी तरह से "hello.c" बल्कि "हैलो,"। 127 00:05:17,430 --> 00:05:22,410 तो अब मुझे क्या करना है "./hello," दर्ज कर सकते हैं। 128 00:05:22,410 --> 00:05:23,640 और "नमस्ते, दुनिया।" वहाँ 129 00:05:23,640 --> 00:05:25,640 Lastly-- और इस पर अब सम्मेलन होगी 130 00:05:25,640 --> 00:05:27,590 हम भर में उपयोग सेमेस्टर, typically-- 131 00:05:27,590 --> 00:05:30,070 आप भी सिर्फ कह सकते हैं "हैलो बनाते हैं।" 132 00:05:30,070 --> 00:05:33,370 और वास्तव में, यह है कि यह हो रहा है कह रहा है तिथि करने के लिए यह पहले से ही मौजूद है। 133 00:05:33,370 --> 00:05:37,860 मुझे आगे जाना है और साथ दूर करते हैं आरएम आदेश, "a.out" दोनों - 134 00:05:37,860 --> 00:05:39,644 और कहते हैं कि "नियमित फाइल a.out निकालना चाहते हैं?" 135 00:05:39,644 --> 00:05:41,810 सिर्फ इसका मतलब है कि आप कर रहे हैं सुनिश्चित करें कि आप इसे हटाना चाहते हैं? 136 00:05:41,810 --> 00:05:42,880 मैं हाँ कहने जा रहा हूँ। 137 00:05:42,880 --> 00:05:46,690 और फिर मैं दूर करने के लिए जा रहा हूँ "हैलो" नहीं बल्कि "hello.c।" 138 00:05:46,690 --> 00:05:49,920 मैं स्पष्ट रूप से 'हां' कहने जा रहा हूँ लेकिन "वाई" के रूप में अच्छी तरह से पर्याप्त है। 139 00:05:49,920 --> 00:05:52,140 >> और अब यदि नोटिस मैं , ls-- जो, याद टाइप 140 00:05:52,140 --> 00:05:55,540 यह सभी सूचीबद्ध करता list-- इसका मतलब मेरा फ़ोल्डर में फ़ाइलों की। 141 00:05:55,540 --> 00:05:57,850 और वास्तव में, मैं ज़ूम बाहर और ऊपर छोड़ दिया पर लग रही है, 142 00:05:57,850 --> 00:05:59,730 यह क्या हो रहा है कि इस बात की पुष्टि इस फ़ोल्डर में, यहां तक ​​कि 143 00:05:59,730 --> 00:06:04,990 इसे यहाँ IDE50 रूप में चिह्नित किया है, हालांकि और न कार्यक्षेत्र, यह सिर्फ "hello.c है।" 144 00:06:04,990 --> 00:06:09,152 तो अब यहाँ नीचे, मैं अगर दर्ज "हैलो, बनाने के लिए" है, 145 00:06:09,152 --> 00:06:12,360 अब मैं एक बहुत लंबे समय तक आदेश देख सकते हैं लेकिन एक जा रहा है कि और अधिक परिष्कृत आदेश 146 00:06:12,360 --> 00:06:13,940 आने वाले हफ्तों में उपयोगी हो सकता है। 147 00:06:13,940 --> 00:06:16,720 और अब मैं "./hello।" कह सकते हैं 148 00:06:16,720 --> 00:06:19,257 >> तो चलो एक त्वरित दौरे ले जाने कुछ अन्य लिनक्स हासिल है। 149 00:06:19,257 --> 00:06:21,840 तो फिर क्यों हम एक कदम नहीं लेते पीठ और वास्तव में अधिक सेल्सियस पर देखो 150 00:06:21,840 --> 00:06:25,020 आम तौर पर, स्क्रैच से परिवर्तित सी के लिए, और उसके बाद एक नज़र के साथ समाप्त 151 00:06:25,020 --> 00:06:27,305 पहली समस्या पर सी में सेट ठीक है। 152 00:06:27,305 --> 00:06:30,430 तो मैं आगे और सिर्फ स्वच्छ जाने के लिए जा रहा हूँ नियंत्रण-एल बस के साथ मेरे कार्यक्षेत्र ऊपर 153 00:06:30,430 --> 00:06:31,429 साफ स्क्रीन रखने के लिए। 154 00:06:31,429 --> 00:06:33,520 लेकिन यह है कि कोई कार्यात्मक है अन्यथा प्रभाव। 155 00:06:33,520 --> 00:06:35,820 >> हमने देखा है कि स्मरण करो अब कुछ आदेशों। 156 00:06:35,820 --> 00:06:39,900 इसलिए हम जो आम तौर पर, बजना देखा है आप अब और मैन्युअल पर अमल करने की जरूरत नहीं होगी। 157 00:06:39,900 --> 00:06:41,650 हम बजाय मेकअप का उपयोग करेंगे। 158 00:06:41,650 --> 00:06:45,290 लेकिन हम यह भी एक है जो दिखाता है, रास देखा मेरी निर्देशिका में फ़ाइलों की सूची। 159 00:06:45,290 --> 00:06:48,750 और अब क्यों there-- दो वहाँ है अब फाइलों, "नमस्ते" और "hello.c।" 160 00:06:48,750 --> 00:06:52,240 क्यों एक एक सितारा या नहीं है "हैलो" के बाद तारांकन? 161 00:06:52,240 --> 00:06:54,900 कि आधारित है, क्या दर्शाता था हम एक सप्ताह में देखा था पर? 162 00:06:54,900 --> 00:06:58,852 163 00:06:58,852 --> 00:07:00,400 आप क्या सोचते हैं? 164 00:07:00,400 --> 00:07:02,742 स्टार का क्या महत्व है? 165 00:07:02,742 --> 00:07:04,614 >> मारिया: "नमस्ते" कार्यक्रम For--? 166 00:07:04,614 --> 00:07:05,530 डेविड मालन: "नमस्कार *"। 167 00:07:05,530 --> 00:07:06,330 हाँ। 168 00:07:06,330 --> 00:07:07,760 अरे हां? 169 00:07:07,760 --> 00:07:08,639 ओह, निष्पादन। 170 00:07:08,639 --> 00:07:09,180 यह सही है। 171 00:07:09,180 --> 00:07:10,890 तो यह है कि इसका मतलब है कि "नमस्ते" निष्पादन योग्य है। 172 00:07:10,890 --> 00:07:13,430 तो वास्तव में, यही कारण है मैंने कहा, "./hello।" क्या कर सकते हैं 173 00:07:13,430 --> 00:07:13,930 ठीक है। 174 00:07:13,930 --> 00:07:15,179 तो और क्या मैं यहाँ क्या कर सकते हैं? 175 00:07:15,179 --> 00:07:17,290 खैर, यह मैं कर सकता हूँ पता चला है यह भी निर्देशिका बनाने के। 176 00:07:17,290 --> 00:07:20,924 तो मुझे आगे जाना है और पैदा करते हैं, उदाहरण के लिए, एक "pset1" निर्देशिका। 177 00:07:20,924 --> 00:07:23,590 और समस्या सेट विनिर्देश आप वास्तव में यह कर होगा, 178 00:07:23,590 --> 00:07:25,260 इसलिए आप आज याद करने की जरूरत नहीं है। 179 00:07:25,260 --> 00:07:27,340 लेकिन "mkdir pset1" लगता है कोई प्रभाव पड़ता है। 180 00:07:27,340 --> 00:07:30,540 लेकिन फिर, कोई त्रुटि संदेश आम तौर पर एक अच्छी बात है। 181 00:07:30,540 --> 00:07:34,060 इसलिए मुझे लगता है, आह now-- अब "लोकसभा" टाइप करते हैं मैंने कहा जाता है एक निष्पादन योग्य फ़ाइल है 182 00:07:34,060 --> 00:07:36,570 "हैलो," एक सी फ़ाइल "hello.c।" कहा जाता है 183 00:07:36,570 --> 00:07:40,860 और फिर स्लैश, करने के लिए इतना बात करते हैं, यह एक निर्देशिका है कि इसका मतलब है। 184 00:07:40,860 --> 00:07:42,510 >> तो वास्तव में, अब मैं इसे खोलना चाहते हैं। 185 00:07:42,510 --> 00:07:45,730 और मुझे लगता है की तरह उस पर डबल क्लिक नहीं करते एक जीयूआई, एक चित्रमय वातावरण में। 186 00:07:45,730 --> 00:07:48,550 मैं बजाय "सीडी pset1। कहते हैं कि" 187 00:07:48,550 --> 00:07:49,640 दर्ज करें। 188 00:07:49,640 --> 00:07:53,100 दिलचस्प कुछ भी नहीं है लगता है मेरे छोटे से शीघ्र सिवाय हुआ 189 00:07:53,100 --> 00:07:57,300 here-- यह याद दिलाने के लिनक्स की तरह है मुझे कहाँ हूँ, तो क्या फ़ोल्डर खुला है। 190 00:07:57,300 --> 00:08:00,080 यह सिर्फ स्पष्ट रूप से मुझे बता रहा है रेखांकन करने का विरोध किया। 191 00:08:00,080 --> 00:08:05,100 अगर मैं प्रकार और "रास," यही कारण है कि मैं एक और देखते हो तुम्हें क्या लगता है, तुरंत शीघ्र 192 00:08:05,100 --> 00:08:07,269 मैं pset1 की सामग्री की सूची कब? 193 00:08:07,269 --> 00:08:09,310 मारिया: आप शायद नहीं है वहाँ में कुछ भी नहीं है। 194 00:08:09,310 --> 00:08:09,630 डेविड मालन: हाँ। 195 00:08:09,630 --> 00:08:11,510 तो फिर हम स्पष्ट रूप से नहीं है वहाँ में कुछ भी बनाया 196 00:08:11,510 --> 00:08:13,150 मैं सिर्फ निर्देशिका बनाया है। 197 00:08:13,150 --> 00:08:17,690 अब, मैं के लिए एक file-- बनाना चाहता था, तो उदाहरण के लिए, मैं एक नई फाइल बना सकते हैं। 198 00:08:17,690 --> 00:08:20,190 और फिर मैं तक जा सकता है बचाने के लिए और इसे बचाने के लिए, 199 00:08:20,190 --> 00:08:23,090 जैसे, "mario.c" आप क्या कर रहे हैं pset एक के मानक संस्करण। 200 00:08:23,090 --> 00:08:27,610 और फिर, किसी भी मैक या पीसी की तरह, सिर्फ , सहेजें फ़ोल्डर "pset1 चुनें। 201 00:08:27,610 --> 00:08:28,740 और अब फ़ाइल खाली है। 202 00:08:28,740 --> 00:08:31,160 लेकिन हम एक दूसरे के लिए फिर से ज़ूम में चलो। 203 00:08:31,160 --> 00:08:32,470 चलो यहाँ रास करते हैं। 204 00:08:32,470 --> 00:08:34,470 अब हम "mario.c" देखते हैं। 205 00:08:34,470 --> 00:08:37,850 >> तो कुछ अन्य आदेश है कि वहाँ time-- पर मन में रखने लायक हैं 206 00:08:37,850 --> 00:08:41,200 स्पष्ट है, या नियंत्रण एल मैं क्या है मार दिया गया; mkdir हमने देखा है; 207 00:08:41,200 --> 00:08:45,240 आरएम हम जो है, के रूप में अच्छी तरह से देखा है, हटाने या एक फ़ाइल को हटाने के लिए। 208 00:08:45,240 --> 00:08:49,310 अगर तुम देखो तुम also-- सकते खबरदार और ऑनलाइन ट्यूटोरियल में, आप -rf आरएम करेंगे 209 00:08:49,310 --> 00:08:52,630 कहने का एक बहुत ही आम रास्ता है उस में सामान है कि एक फ़ोल्डर हटाएँ। 210 00:08:52,630 --> 00:08:54,280 बस सुपर सावधान, सुपर होना। 211 00:08:54,280 --> 00:08:58,780 -rf बारी बारी से मतलब है जो भी है को नष्ट 212 00:08:58,780 --> 00:09:01,150 आप नष्ट करने की कोशिश कर रहे हैं और जबरन इसे हटा दें। 213 00:09:01,150 --> 00:09:04,630 यह एक फ़ोल्डर के साथ है, तो इसका मतलब है तो पुनरावर्ती एक फोल्डर के साथ एक फ़ोल्डर के साथ एक फ़ोल्डर, 214 00:09:04,630 --> 00:09:05,690 उन सभी को हटा दें। 215 00:09:05,690 --> 00:09:08,680 और जबरन भी नहीं है इसका मतलब हाँ मुझे पूछना है या नहीं, मुझे यकीन है? 216 00:09:08,680 --> 00:09:11,960 इसलिए इसके बारे में एक सुपर खतरनाक तरीका है जल्दी से सामान के बहुत सारे हटाने। 217 00:09:11,960 --> 00:09:17,210 लेकिन beware-- भी अक्सर एक निडर करता है छात्र गलती से, कहते हैं, pset हटाना 218 00:09:17,210 --> 00:09:18,000 उदाहरण के लिए, एक। 219 00:09:18,000 --> 00:09:19,833 >> मारिया: और वे सिर्फ अगर -r करते हैं, वे जा रहे हैं 220 00:09:19,833 --> 00:09:21,870 हर एक फ़ाइल के बारे में उनसे पूछने के लिए। 221 00:09:21,870 --> 00:09:22,790 >> डेविड मालन: कौन सा है मामूली कष्टप्रद। 222 00:09:22,790 --> 00:09:23,480 >> मारिया: हाँ। 223 00:09:23,480 --> 00:09:25,813 >> डेविड मालन: तो यही कारण है हम में से कई, आत्म शामिल है, 224 00:09:25,813 --> 00:09:27,070 -rf उपयोग करने की आदत में हूँ। 225 00:09:27,070 --> 00:09:27,861 लेकिन यह खतरनाक है। 226 00:09:27,861 --> 00:09:29,010 तो खरीदार खबरदार। 227 00:09:29,010 --> 00:09:31,050 और फिर एमवी तरह का है दिलचस्प बात यह नाम दिया है। 228 00:09:31,050 --> 00:09:33,600 तो इस कदम का आदेश है, जो अजीब एक छोटे से लगता है 229 00:09:33,600 --> 00:09:37,260 आप वास्तव में करने के लिए इसका इस्तेमाल कर सकते हैं, क्योंकि एक और एक जगह से फ़ाइलें स्थानांतरित। 230 00:09:37,260 --> 00:09:39,970 उदाहरण के लिए, मैं गड़बड़ लगता है। 231 00:09:39,970 --> 00:09:43,660 मैंने बनाया है कि मान लीजिए pset के लिए एक नई फ़ाइल। 232 00:09:43,660 --> 00:09:46,320 और मैं के रूप में इसे बचाया "greedy.c।" 233 00:09:46,320 --> 00:09:49,970 लेकिन गलती से मुझे लगता है कि इसे बचाने के लिए IDE50-- में मेरे कार्यक्षेत्र में ही इतनी 234 00:09:49,970 --> 00:09:51,580 और नहीं pset1 में। 235 00:09:51,580 --> 00:09:53,960 >> आप ऊपर छोड़ दिया पर के रूप में ज्यादा देख सकते हैं। 236 00:09:53,960 --> 00:09:55,284 "Greedy.c।" है 237 00:09:55,284 --> 00:09:56,450 और कुछ समाधान नहीं है। 238 00:09:56,450 --> 00:09:58,324 एक तो, मैं उपयोग कर सकते हैं सुपर उपयोगकर्ता के अनुकूल तरीके 239 00:09:58,324 --> 00:09:59,740 की बस खींचने और इसे छोड़ने। 240 00:09:59,740 --> 00:10:01,910 और कहा कि वास्तव में होगा इस समस्या को ठीक। 241 00:10:01,910 --> 00:10:04,967 लेकिन आज, हम को देखने के लिए कोशिश कर रहे हैं अधिक रहस्यमय लेकिन शक्तिशाली तरीके 242 00:10:04,967 --> 00:10:05,550 से यह कर रहा। 243 00:10:05,550 --> 00:10:07,880 तो मुझे pset1 में "लोकसभा" ले चलो। 244 00:10:07,880 --> 00:10:09,690 और मैं केवल "mario.c।" देखते हैं 245 00:10:09,690 --> 00:10:13,450 मुझे आगे जाना है और ऐसा करने दें "सीडी .."। 246 00:10:13,450 --> 00:10:15,320 तो सीडी फिर परिवर्तन निर्देशिका है। 247 00:10:15,320 --> 00:10:18,130 ".." हालांकि, क्या मतलब है? 248 00:10:18,130 --> 00:10:21,100 पिछली बार मैं ने कहा, "सीडी pset1 "pset1 में जाने के लिए। 249 00:10:21,100 --> 00:10:24,360 मैंने कहा, "सीडी .. कहते हैं कि" जब तो, मैं क्या कर रहा हूँ? 250 00:10:24,360 --> 00:10:24,910 पीछे की ओर। 251 00:10:24,910 --> 00:10:25,150 हाँ। 252 00:10:25,150 --> 00:10:26,750 >> तो यह तथाकथित माता पिता के लिए जा रहा है। 253 00:10:26,750 --> 00:10:29,730 जैसे, एक स्तर ऊपर जाएँ एक फ़ोल्डर से बाहर बाहर निकलने। 254 00:10:29,730 --> 00:10:30,500 तो दर्ज करें। 255 00:10:30,500 --> 00:10:31,900 और वास्तव में, यह क्या किया देखो। 256 00:10:31,900 --> 00:10:37,070 यह बजाय सिर्फ कार्यक्षेत्र में मुझे ले जाया गया के कार्यक्षेत्र में है जो pset1 में। 257 00:10:37,070 --> 00:10:39,710 और अब मैं "लोकसभा" टाइप करते हैं, सामान की एक पूरी गुच्छा है। 258 00:10:39,710 --> 00:10:41,650 में "greedy.c" है। 259 00:10:41,650 --> 00:10:48,720 तो अब मुझे सचमुच को एमवी का उपयोग करते हैं pset1 में "greedy.c" चलते हैं। 260 00:10:48,720 --> 00:10:51,120 और तो लिनक्स का एक बहुत आदेशों वास्तव में इस तरह काम करते हैं। 261 00:10:51,120 --> 00:10:54,470 वे कोई तर्क ले या वे एक ले तर्क या वे दो कमांड लाइन ले 262 00:10:54,470 --> 00:10:55,449 तर्क और बहुत आगे है। 263 00:10:55,449 --> 00:10:57,240 और इस मामले में, यह है सचमुच क्या कर रहा है 264 00:10:57,240 --> 00:11:01,670 यह succinctly-- यद्यपि कहते हैं, pset1 में greedy.c चलते हैं। 265 00:11:01,670 --> 00:11:02,310 दर्ज करें। 266 00:11:02,310 --> 00:11:03,310 कुछ भी नहीं होने लगता है। 267 00:11:03,310 --> 00:11:06,180 मैं फिर से एक रास करते हैं लेकिन, लालची चला गया है। 268 00:11:06,180 --> 00:11:12,437 मैंने कहा, "सीडी pset1" करते हैं, तो दर्ज है, और रास फिर से, अब यह सही जगह में है। 269 00:11:12,437 --> 00:11:14,270 एक तरफ, मानो कुछ विशेष रूप से reason-- 270 00:11:14,270 --> 00:11:16,194 आप रुक-रुक कर हो, तो नेटवर्क कनेक्टिविटी 271 00:11:16,194 --> 00:11:18,360 या आप के आसपास चल रहे हैं अपने लैपटॉप ढक्कन के साथ कैंपस 272 00:11:18,360 --> 00:11:20,180 बंद हो जाती है और फिर इसे ऊपर खुला फिर से और अपने कार्यक्षेत्र 273 00:11:20,180 --> 00:11:21,730 कुछ हद तक सिंक, कोई बड़ी बात नहीं से बाहर है। 274 00:11:21,730 --> 00:11:23,646 बस अपने ब्राउज़र को फिर से लोड खिड़की, और यह चाहिए 275 00:11:23,646 --> 00:11:26,339 resync इतना है कि बाएं हाथ फ़ाइल ब्राउज़र वास्तव में लग रहा है 276 00:11:26,339 --> 00:11:27,380 टर्मिनल विंडो की तरह। 277 00:11:27,380 --> 00:11:27,921 कोइ चिंता नहीं। 278 00:11:27,921 --> 00:11:31,460 जब संदेह में है, इसलिए, पृष्ठ पुनः लोड जब तक आप पहले से ही फाइलों को बचाया गया है। 279 00:11:31,460 --> 00:11:31,960 ठीक है। 280 00:11:31,960 --> 00:11:34,710 तो एमवी भी फ़ाइलों का नाम बदलने के लिए इस्तेमाल किया जा सकता है। 281 00:11:34,710 --> 00:11:36,760 और चलो पर एक नजर डालते हैं यहां यह अंतिम आदेश। 282 00:11:36,760 --> 00:11:39,950 तो suppose-- और यह है सुपर आम भी है, पर जल्दी। 283 00:11:39,950 --> 00:11:46,400 कुछ छात्रों को कभी कभी एक फाइल बना कहा जाता है, के एक और एक है क्या say-- करते हैं? 284 00:11:46,400 --> 00:11:47,730 "WATER.C।" की तरह 285 00:11:47,730 --> 00:11:51,080 तो मैं बस के लिए, चिल्लाना करेंगे सभी टोपियां में कोई कारण नहीं। 286 00:11:51,080 --> 00:11:53,190 लेकिन यह नहीं है फ़ाइल के लिए सही नाम 287 00:11:53,190 --> 00:11:56,660 हमारी समस्या सेट ही है क्योंकि अगर विनिर्देश तुम्हें बता नहीं था 288 00:11:56,660 --> 00:11:59,430 सभी टोपी के रूप में फाइल को बचाने के लिए "WATER.C।" 289 00:11:59,430 --> 00:12:01,320 इसके बजाय, हम उम्मीद करते हैं छोटे अक्षरों में "water.c"। 290 00:12:01,320 --> 00:12:03,140 और, वास्तव में, यह है समस्याग्रस्त क्योंकि check50, 291 00:12:03,140 --> 00:12:04,370 आप जा रहे एक कार्यक्रम समस्या में पूरा करने के 292 00:12:04,370 --> 00:12:07,350 स्वचालित रूप से है कि परीक्षणों के एक सेट अपने कोड की सत्यता 293 00:12:07,350 --> 00:12:11,615 आप पर चिल्लाना जा रहा है, तो यह नहीं कर सकते सभी लोअरकेस में "water.c" लगता है। 294 00:12:11,615 --> 00:12:12,712 >> इसलिए मैं इसे ठीक करने की जरूरत है। 295 00:12:12,712 --> 00:12:14,920 इतने सारे अलग अलग तरीकों से , जिनमें से पहला ऐसा करते हैं 296 00:12:14,920 --> 00:12:18,330 नियंत्रण क्लिक करें या सही क्लिक करने के लिए किया जाएगा फ़ाइल नाम सिर्फ नाम बदलें बदलने के लिए और। 297 00:12:18,330 --> 00:12:19,740 ऐसा करने के लिए पूरी तरह से ठीक है। 298 00:12:19,740 --> 00:12:21,820 लेकिन फिर, आज, चलो यह एक छोटे से शौक़ीन है। 299 00:12:21,820 --> 00:12:26,680 के बदलने के लिए एमवी का उपयोग करते हैं करने के लिए "WATER.C" "water.c।" 300 00:12:26,680 --> 00:12:30,690 तो अगर आप भी पहला तर्क का उपयोग कर सकते हैं दूसरा तर्क को यह नाम बदलने के लिए 301 00:12:30,690 --> 00:12:34,455 दूसरा तर्क में नहीं है, तो तथ्य यह है कि एक फ़ोल्डर या एक निर्देशिका का नाम। 302 00:12:34,455 --> 00:12:35,120 >> ठीक है। 303 00:12:35,120 --> 00:12:39,560 और अंत में, एक छोटे trick-- तो मैं कर रहा हूँ में इस समय मेरे कार्यक्षेत्र निर्देशिका। 304 00:12:39,560 --> 00:12:43,660 मैं pset एक में प्राप्त करना चाहते हैं, मैं निश्चित रूप से "सीडी pset1।" टाइप कर सकते हैं 305 00:12:43,660 --> 00:12:47,260 लेकिन यह "pset1" टाइप करने के लिए बहुत कठिन है, या फ़ाइल नाम या निर्देशिका नाम लंबे समय तक 306 00:12:47,260 --> 00:12:47,980 अभी भी। 307 00:12:47,980 --> 00:12:51,960 तो बहुत बार लिनक्स में, क्या आप "सार्वजनिक उपक्रम" टाइप करना आरंभ कर रहा है क्या कर सकते हैं 308 00:12:51,960 --> 00:12:56,100 और बस ऊब टैब मारा, और चलो आप के लिए कंप्यूटर समझ से बाहर। 309 00:12:56,100 --> 00:12:58,190 कि आदत में शामिल होने के लिए सुपर मददगार। 310 00:12:58,190 --> 00:13:01,079 अगर आपके पास केवल पकड़ है शुरू करने के लिए कई फाइल या फ़ोल्डर 311 00:13:01,079 --> 00:13:02,870 पत्र 'पी' के साथ या "पी एस," हो सकता है आप 312 00:13:02,870 --> 00:13:05,525 पहले कुछ और टाइप करने के लिए कंप्यूटर क्या करना जानता है। 313 00:13:05,525 --> 00:13:06,820 >> मारिया: हम शॉर्टकट की तरह। 314 00:13:06,820 --> 00:13:08,695 >> डेविड मालन: इस वसीयत तुम इतना समय बचा है। 315 00:13:08,695 --> 00:13:11,930 और यह भी, हम तुम, व्याख्यान में कहा ऊपर और नीचे, इतिहास में स्क्रॉल कर सकते हैं, 316 00:13:11,930 --> 00:13:15,461 हाल ही में मार डाला लगाने के लिए आदेशों के रूप में अच्छी तरह से। 317 00:13:15,461 --> 00:13:15,960 ठीक है। 318 00:13:15,960 --> 00:13:20,904 तो अब, चलो हमारे ध्यान में वापस बारी एक साधारण प्रोग्राम के लिए, दुनिया नमस्ते। 319 00:13:20,904 --> 00:13:22,195 इसलिए हम वास्तव में इस संकलित किया है। 320 00:13:22,195 --> 00:13:24,050 और अब हम क्यों नहीं लेते डेटा प्रकार पर एक नज़र 321 00:13:24,050 --> 00:13:26,776 और फिर कुछ से संक्रमण सी खरोंच ब्लॉकों इसी 322 00:13:26,776 --> 00:13:27,400 मारिया: बहुत बढ़िया। 323 00:13:27,400 --> 00:13:30,031 तो अब आप शुरू कर दिया है कि सी में प्रोग्राम लिखने, 324 00:13:30,031 --> 00:13:32,530 हम बात कर शुरू करने के लिए जा रहे हैं डेटा प्रकार और चर के बारे में। 325 00:13:32,530 --> 00:13:37,570 तो कुछ डेटा प्रकार है कि आप अब शुरू जानना चाहते हो जाएगा 326 00:13:37,570 --> 00:13:39,400 कर रहे हैं कि लोगों को कर रहे हैं नीले रंग में प्रकाश डाला। 327 00:13:39,400 --> 00:13:42,420 इसलिए हम पहले int है जो पूर्णांक के लिए खड़ा है। 328 00:13:42,420 --> 00:13:46,075 और कहा कि आप के रूप में, पूर्णांकों रखती है हो सकता है guessed-- तो 1, 2, 3, 329 00:13:46,075 --> 00:13:47,950 और किसी भी अन्य पूर्णांकों आप सोच सकते हैं कि। 330 00:13:47,950 --> 00:13:48,730 >> डेविड मालन: और भी नकारात्मक। 331 00:13:48,730 --> 00:13:50,220 >> मारिया: और भी नकारात्मक लोगों, हां। 332 00:13:50,220 --> 00:13:51,450 और 0। 333 00:13:51,450 --> 00:13:54,250 तो फिर हम मंगाई है, जो बिन्दु संख्या तैर रहे हैं। 334 00:13:54,250 --> 00:13:58,360 तो यह है कि सभी वास्तविक संख्या है कि दशमलव अंक है। 335 00:13:58,360 --> 00:14:03,960 तो 5.0, 5.2, और भी अधिक दशमलव बिंदु के बाद अंक, 336 00:14:03,960 --> 00:14:05,620 साथ ही, और भी नकारात्मक वाले। 337 00:14:05,620 --> 00:14:07,530 तो फिर हम एक चरित्र है जो चार लोगों की है। 338 00:14:07,530 --> 00:14:10,240 इसलिए मुझे लगता है कि हम के बारे में बात की थी लगता है इस व्याख्यान में आज। 339 00:14:10,240 --> 00:14:15,682 लेकिन हम एक example-- के लिए, पत्र है एक चार के रूप में संग्रहित किया जा सकता है कि बी, C--। 340 00:14:15,682 --> 00:14:18,390 लेकिन फिर हम एक बहुत अधिक प्रतीक है कि एक चार के रूप में संग्रहित किया जा सकता है। 341 00:14:18,390 --> 00:14:22,380 और उन ASCII के रूप में जमा हो जाती है। 342 00:14:22,380 --> 00:14:25,280 >> और फिर हम बूल है, जो Booleans हैं। 343 00:14:25,280 --> 00:14:29,067 और उन लोगों के सही करने के लिए मूल्यांकन या झूठी या क्रमशः 1 और 0,। 344 00:14:29,067 --> 00:14:31,650 डेविड मालन: और याद है कि बूल CS50 पुस्तकालय से आता है। 345 00:14:31,650 --> 00:14:33,300 इसलिए इसे बनाया नहीं है सी, लेकिन यह सुपर उपयोगी है 346 00:14:33,300 --> 00:14:34,850 सही और गलत की धारणा है। 347 00:14:34,850 --> 00:14:36,990 और भले ही आप मजेदार तथ्य यह है think-- हो सकता है। 348 00:14:36,990 --> 00:14:43,700 एक बूल तकनीकी रूप से कितने बिट्स की जरूरत है, वास्तव में, झूठी बनाम सच का प्रतिनिधित्व करने के लिए? 349 00:14:43,700 --> 00:14:47,910 कितने बिट्स तुम्हें क्या लगता है आप ज़्यादा से ज़्यादा, की आवश्यकता होगी? 350 00:14:47,910 --> 00:14:48,790 हाँ, सिर्फ एक। 351 00:14:48,790 --> 00:14:52,077 तो यह है कि सी भी निकलता आप सिर्फ एक सा नहीं दे सकता। 352 00:14:52,077 --> 00:14:54,160 माप की सबसे छोटी इकाई प्राप्त कर सकते हैं आप आठ है। 353 00:14:54,160 --> 00:14:57,090 तो यह है कि वे आप कर रहे हैं एक छोटी सी बेकार है एक पूरे बाइट, या आठ बिट का उपयोग कर, 354 00:14:57,090 --> 00:14:58,340 सही है या गलत प्रतिनिधित्व करने के लिए। 355 00:14:58,340 --> 00:15:01,807 लेकिन यह है कि यह सिर्फ एक रास्ता है CS50 पुस्तकालय द्वारा सी में लागू किया है। 356 00:15:01,807 --> 00:15:04,890 मारिया: हम कर रहे हैं कि और फिर लोगों को के रूप में बड़े पैमाने पर के बारे में बात करने के लिए नहीं जा रहा है 357 00:15:04,890 --> 00:15:08,060 सही डबल now--, कि बड़ा तैरता के लिए है। 358 00:15:08,060 --> 00:15:09,811 लांग लंबी और छोटी पूर्णांकों के लिए भी कर रहे हैं। 359 00:15:09,811 --> 00:15:10,643 डेविड मालन: वास्तव में। 360 00:15:10,643 --> 00:15:13,190 Pset एक के हैकर संस्करण में, हम वास्तव में लंबे समय तक इस्तेमाल करते हैं। 361 00:15:13,190 --> 00:15:15,801 लेकिन मानक संस्करण के लिए, यह आवश्यक नहीं होना चाहिए। 362 00:15:15,801 --> 00:15:16,300 मारिया: कूल। 363 00:15:16,300 --> 00:15:17,361 ठीक है। 364 00:15:17,361 --> 00:15:20,110 तो आप होना चाहिए operators-- इनमें से अधिकांश के साथ शायद परिचित। 365 00:15:20,110 --> 00:15:22,620 इसके अलावा, +; घटाव, -। 366 00:15:22,620 --> 00:15:24,070 गुणन के लिए, हम * है। 367 00:15:24,070 --> 00:15:25,900 इतना ही नहीं एक्स हम आम तौर पर उपयोग करें। 368 00:15:25,900 --> 00:15:27,840 प्रभाग, हम बैकस्लैश है। 369 00:15:27,840 --> 00:15:31,380 और सापेक्ष हमारे पिछले ऑपरेटर है कि हम अभी इस बारे में बात करने जा रहे हैं। 370 00:15:31,380 --> 00:15:35,610 यह करने के लिए हमें की अनुमति देता है कि एक ऑपरेटर की एक प्रभाग के शेष ले। 371 00:15:35,610 --> 00:15:40,630 हम 4% है, तो 2, 4 विभाजित तो 2 से 0 से शेष के साथ 2 है। 372 00:15:40,630 --> 00:15:41,740 तो 4% 2 0 है। 373 00:15:41,740 --> 00:15:42,950 4% 3 1 है। 374 00:15:42,950 --> 00:15:44,870 आप अंदाज़ा लगा सकता है के रूप में 4% से 5, 4 है। 375 00:15:44,870 --> 00:15:48,860 और इन सब का उपयोग करते समय याद ऑपरेटरों PEMDAS नियमों का उपयोग करने के लिए। 376 00:15:48,860 --> 00:15:54,060 >> डेविड मालन: तो, स्पष्ट होने के लिए आप यदि 4% 2 करते हैं, यही कारण है कि वास्तव में, कि 0 है? 377 00:15:54,060 --> 00:15:57,480 >> मारिया: 4 क्योंकि द्वारा विभाजित 2 0 से शेष के साथ 2 है। 378 00:15:57,480 --> 00:16:00,752 तो सापेक्ष हमें के रूप में है कि शेष देता है विभाजन के परिणाम का विरोध किया। 379 00:16:00,752 --> 00:16:02,960 डेविड मालन: और वास्तव में, हम यह सहायक क्या मिलेगा 380 00:16:02,960 --> 00:16:05,640 के लिए कुछ समस्याओं में यह है कि कि, जरूरी नहीं है 381 00:16:05,640 --> 00:16:08,040 आप करना चाहते हैं खुद को सीमित करने का प्रभाव 382 00:16:08,040 --> 00:16:10,720 संख्या की एक श्रृंखला के लिए कुछ के माध्यम से 0 की तरह, 383 00:16:10,720 --> 00:16:13,904 आप के आसपास लपेटो करने के सापेक्ष उपयोग कर सकते हैं पहले 2 अरब तरह से 384 00:16:13,904 --> 00:16:16,320 या 4 अरब मूल्य कि हम व्याख्यान में के बारे में बात की है। 385 00:16:16,320 --> 00:16:16,870 >> मारिया: हाँ। 386 00:16:16,870 --> 00:16:19,429 और हम भी हो सकता है "लालची" में। 387 00:16:19,429 --> 00:16:21,345 डेविड मालन: हाँ, में समस्या के रूप में अच्छी तरह से, एक की स्थापना की। 388 00:16:21,345 --> 00:16:22,520 मारिया: हाँ, अच्छा। 389 00:16:22,520 --> 00:16:24,340 डेविड मालन: शुभ संकेत है। 390 00:16:24,340 --> 00:16:25,750 मारिया: क्षमा करें। 391 00:16:25,750 --> 00:16:28,590 बूलियन इसलिए expressions-- बूलियन ऑपरेटरों के लिए, 392 00:16:28,590 --> 00:16:31,770 हम सब के बारे में बात करने जा रहे हैं इन कि आप यहाँ देख। 393 00:16:31,770 --> 00:16:35,310 इसलिए अभी, हम दो हैं समान लक्षण बराबरी के लिए सूचीबद्ध किया है। 394 00:16:35,310 --> 00:16:38,650 तो उन की तुलना के लिए कर रहे हैं। 395 00:16:38,650 --> 00:16:40,830 अब तक हम केवल देखा है एक संकेत के बराबर होती है। 396 00:16:40,830 --> 00:16:44,870 हम आवंटित है कि जब एक चर के लिए एक मूल्य। 397 00:16:44,870 --> 00:16:50,160 इसलिए हम तो, पूर्णांक एन = 5 देखा है हम चर n करने के लिए 5 सौंपा है। 398 00:16:50,160 --> 00:16:55,600 लेकिन हम के लिए == उपयोग करना चाहते हैं तुलना के लिए, हम हैं तो == 5 जाँच कर सकते हैं। 399 00:16:55,600 --> 00:16:58,310 और एन == 5 है, तो यह सच है। 400 00:16:58,310 --> 00:17:01,950 >> तो बूलियन ऑपरेटरों मूल रूप से, हमें की अनुमति है, 401 00:17:01,950 --> 00:17:04,670 बूलियन मूल्यांकन करने के लिए सही है या गलत करने के लिए अभिव्यक्ति। 402 00:17:04,670 --> 00:17:07,819 इसलिए हमारे पास बराबर होती नहीं विस्मयबोधक चिह्न और बराबर होती है। 403 00:17:07,819 --> 00:17:14,240 इसलिए हम भी n यदि जाँच कर सकता है बराबर नहीं 5-- इसलिए n! = 5। 404 00:17:14,240 --> 00:17:17,640 कम से कम या बराबर करने के लिए, कम से कम से अधिक या बराबर करने के लिए, की तुलना में अधिक है, 405 00:17:17,640 --> 00:17:20,720 और फिर हम तार्किक है और और तार्किक या। 406 00:17:20,720 --> 00:17:24,060 और उन हमें मूल्यांकन करने की अनुमति एक साथ कई बूलियन अभिव्यक्ति 407 00:17:24,060 --> 00:17:27,930 मूल रूप से एक साथ के रूप में आने के लिए एक पूरे बूलियन अभिव्यक्ति। 408 00:17:27,930 --> 00:17:34,970 हम एक नंबर खोजने के लिए चाहते हैं, तो कहते हैं, कि अधिक से अधिक 5 लेकिन कम से कम 15 है 409 00:17:34,970 --> 00:17:39,810 एक ही समय में, हम प्रयोग करेंगे n है तो देखने के लिए तार्किक और ऑपरेटर 410 00:17:39,810 --> 00:17:42,937 अधिक से अधिक 5 && कम से कम 15 एन। 411 00:17:42,937 --> 00:17:44,770 डेविड मालन: और यहाँ, भी, यह वास्तव में आसान है 412 00:17:44,770 --> 00:17:47,290 पर जल्दी करने के लिए गलती से सिर्फ एक ही एम्परसेंड उपयोग 413 00:17:47,290 --> 00:17:48,572 या एक भी खड़ी बार। 414 00:17:48,572 --> 00:17:51,280 और उम्मीद है कि संकलक होगा पर चिल्लाना आप वास्तव में वे क्योंकि 415 00:17:51,280 --> 00:17:52,530 एक बहुत ही अलग अर्थ है। 416 00:17:52,530 --> 00:17:55,660 उन उत्सुक के लिए, वे कर रहे हैं बिटवाइस के संचालन के लिए इस्तेमाल किया, 417 00:17:55,660 --> 00:17:57,197 व्यक्तिगत बिट्स पर परिचालन। 418 00:17:57,197 --> 00:17:58,780 लेकिन आप उन्हें यहाँ की जोड़ी चाहते हैं। 419 00:17:58,780 --> 00:18:01,560 और सुपर महत्वपूर्ण यह है कि पहले एक, बराबर चिह्न, 420 00:18:01,560 --> 00:18:05,270 समानता ऑपरेटर के रूप में जो है असाइनमेंट ऑपरेटर करने का विरोध किया। 421 00:18:05,270 --> 00:18:08,552 >> मारिया: और ऊर्ध्वाधर बार है हटाएं और वापसी के बीच स्थित है। 422 00:18:08,552 --> 00:18:09,260 डेविड मालन: हाँ। 423 00:18:09,260 --> 00:18:11,420 एक ठेठ अमेरिका कीबोर्ड पर। 424 00:18:11,420 --> 00:18:13,190 >> मारिया: हाँ। 425 00:18:13,190 --> 00:18:15,890 तो चलो सही में कूद जाने सशर्त बयान। 426 00:18:15,890 --> 00:18:18,300 खरोंच में, आप है पहले से ही देखा है, शायद, 427 00:18:18,300 --> 00:18:22,730 यदि आप करने की अनुमति बयान कि अगर कुछ सच है तो, जाँच 428 00:18:22,730 --> 00:18:23,660 कुछ और करें। 429 00:18:23,660 --> 00:18:28,410 तो अगर आप चाहते थे कि हो सकता है अपने प्रेत है, तो जाँच करने के लिए 430 00:18:28,410 --> 00:18:31,410 कुछ अन्य प्रेत छू या अपने स्क्रीन की सीमा। 431 00:18:31,410 --> 00:18:35,520 और फिर तुम चाहते थे कि हो सकता है खेल खत्म हो या कुछ और ही है। 432 00:18:35,520 --> 00:18:40,000 उस के लिए वाक्य रचना तो "अगर (हालत) है।" 433 00:18:40,000 --> 00:18:46,820 तो अगर आपके प्रेत कुछ को छू रहा है, तब घुंघराले ब्रेसिज़ के अंदर है। 434 00:18:46,820 --> 00:18:48,980 >> तो फिर हम अगर-और बयान है। 435 00:18:48,980 --> 00:18:54,080 वरना हमें कुछ करने की अनुमति देता है हालत यह है कि यदि हम 436 00:18:54,080 --> 00:18:55,870 शुरुआत में लिए जाँच सच नहीं है। 437 00:18:55,870 --> 00:19:01,530 प्रेत छू रहा है तो अगर सीमा और कुछ ऐसा करने के लिए कुछ और ही है। 438 00:19:01,530 --> 00:19:04,030 तो अन्यथा कुछ और ही है। 439 00:19:04,030 --> 00:19:07,530 तो फिर हम इस के लिए एक छोटा उदाहरण है। 440 00:19:07,530 --> 00:19:11,551 तो अगर (military_time <12), हम printf करना चाहते हैं "सुप्रभात!" 441 00:19:11,551 --> 00:19:13,300 वरना हम करने जा रहे हैं printf "नमस्कार!" 442 00:19:13,300 --> 00:19:14,860 बुनियादी उदाहरण। 443 00:19:14,860 --> 00:19:15,680 >> डेविड मालन: अच्छा। 444 00:19:15,680 --> 00:19:16,760 >> मारिया: कूल। 445 00:19:16,760 --> 00:19:18,560 तो अब हम स्विच बयान है। 446 00:19:18,560 --> 00:19:21,960 सामान्य सकते में बयानों स्विच हमें एक ही बात का एक बहुत कुछ करने की अनुमति 447 00:19:21,960 --> 00:19:25,070 हम सिर्फ बात की है कि अगर बयान के साथ के बारे में। 448 00:19:25,070 --> 00:19:29,440 उदाहरण के लिए, अभी हमारे पास है स्विच बयान के सामान्य प्रपत्र 449 00:19:29,440 --> 00:19:33,870 कि हमें लेने के लिए अनुमति देता है एक चर बुलाया n 450 00:19:33,870 --> 00:19:37,670 और का एक बहुत कुछ करने के लिए यह तुलना विभिन्न मूल्यों, जो यहाँ हम 451 00:19:37,670 --> 00:19:40,010 constant1, constant2 बुलाया है। 452 00:19:40,010 --> 00:19:41,150 हम एक बहुत अधिक हो सकता है। 453 00:19:41,150 --> 00:19:42,930 और उन मामलों कहा जाता है। 454 00:19:42,930 --> 00:19:46,280 >> हम एक स्विच है तो statement-- और यह काम करता है 455 00:19:46,280 --> 00:19:50,580 केवल हम एक है integers-- के लिए n है कि इस मामले में चर। 456 00:19:50,580 --> 00:19:53,840 चर n है तो , हम constant1 के बराबर 457 00:19:53,840 --> 00:19:59,720 कोड के कुछ अंश को अमल करेंगे या हम क्या करना चाहते हैं कि कुछ और। 458 00:19:59,720 --> 00:20:01,280 और फिर हम टूट जाएगा। 459 00:20:01,280 --> 00:20:04,820 तो तोड़ने का मतलब है कि स्विच बयान 460 00:20:04,820 --> 00:20:08,120 यदि क्रियान्वित बंद हो जाएगा एन, constant1 के बराबर है 461 00:20:08,120 --> 00:20:09,752 और फिर अपने कार्यक्रम जारी रहेगा। 462 00:20:09,752 --> 00:20:11,835 इसे से बाहर बाहर निकल जाएगा बयान स्विच और यह हूँ 463 00:20:11,835 --> 00:20:13,520 कुछ और करना जारी है। 464 00:20:13,520 --> 00:20:17,204 >> , तथापि, एन बराबर नहीं है तो constant2 के लिए constant1, तो मामला 465 00:20:17,204 --> 00:20:17,870 जाँच की जाएगी। 466 00:20:17,870 --> 00:20:21,750 तो एन, कि अन्य constant2 के बराबर होती है, तो कोड के अंश को क्रियान्वित किया जाएगा। 467 00:20:21,750 --> 00:20:23,850 और फिर यह तोड़ दूँगा कि यह करने के लिए बराबर है। 468 00:20:23,850 --> 00:20:27,580 और फिर हम also-- नहीं हो सकता है जरूरी है, एक डिफ़ॉल्ट मामले though-- 469 00:20:27,580 --> 00:20:32,290 n बराबर नहीं है जो अगर कुछ नहीं होगा आप सूचीबद्ध किया है कि मामलों के किसी भी। 470 00:20:32,290 --> 00:20:35,400 और डिफ़ॉल्ट मामले में, हम भी जरूरी नहीं कि एक को तोड़ने की जरूरत नहीं है 471 00:20:35,400 --> 00:20:39,271 स्विच बयान से पता चल जाएगा क्योंकि यह डिफ़ॉल्ट के बाद समाप्त करने की जरूरत है कि 472 00:20:39,271 --> 00:20:40,270 मामला यह है कि अगर मामला है। 473 00:20:40,270 --> 00:20:42,140 >> डेविड मालन: लेकिन Stylistically, हम हमेशा वहाँ में डाल दिया। 474 00:20:42,140 --> 00:20:42,540 >> मारिया: हाँ। 475 00:20:42,540 --> 00:20:42,710 >> डेविड मालन: हाँ। 476 00:20:42,710 --> 00:20:44,750 इसलिए विशेष रूप से, जब बाहर शुरू विशेष रूप से उन लोगों के बीच कम है, तो 477 00:20:44,750 --> 00:20:47,458 आरामदायक, मैं व्यक्तिगत रूप से होगा सिर्फ आईएफएस के साथ छड़ी की सिफारिश 478 00:20:47,458 --> 00:20:51,564 और आईएफएस-elses और अगर-और-अगर elses और आगे तो सिर्फ अगर 479 00:20:51,564 --> 00:20:53,480 वे एक छोटे से कर रहे हैं क्योंकि और अधिक सरल। 480 00:20:53,480 --> 00:20:56,142 यह एक अच्छा अनुकूलन है, या कभी कभी भी सौंदर्य की दृष्टि से यह 481 00:20:56,142 --> 00:20:57,350 कोड और अधिक पठनीय बनाता है। 482 00:20:57,350 --> 00:20:59,599 और वास्तव में, शायद मध्य सेमेस्टर हम एक समस्या देखेंगे 483 00:20:59,599 --> 00:21:02,504 यह सिर्फ बेहतर लग रहा है, जहां सेट और आसान मनुष्य के लिए पढ़ने के लिए 484 00:21:02,504 --> 00:21:03,670 एक स्विच बयान का उपयोग करके। 485 00:21:03,670 --> 00:21:05,460 लेकिन चिंता मत करो बहुत जल्दी इस को पकड़। 486 00:21:05,460 --> 00:21:05,680 >> मारिया: हाँ। 487 00:21:05,680 --> 00:21:08,840 आप अगर बयान के एक बहुत कुछ है, यह सिर्फ बहुत पठनीय नहीं हो सकता है। 488 00:21:08,840 --> 00:21:10,965 यह बहुत तेजी से नहीं हो सकता है के लिए आप इसे माध्यम से जाने के लिए। 489 00:21:10,965 --> 00:21:13,230 इसलिए बयानों सकते स्विच बहुत उपयोगी है, के रूप में अच्छी तरह से हो। 490 00:21:13,230 --> 00:21:17,900 और यह भी, remember-- नहीं ऐसा नहीं करते वहाँ में टूट जाता है डाल करने के लिए भूल जाते हैं। 491 00:21:17,900 --> 00:21:20,330 >> डेविड मालन: यह याद नहीं है। 492 00:21:20,330 --> 00:21:24,890 >> मारिया: तो आप गिर सकता है, क्योंकि के माध्यम से एक दूसरे के लिए मामले से। 493 00:21:24,890 --> 00:21:27,930 तो चलो उस मामले constant1 हम कहते हैं उस में एक ब्रेक बयान नहीं था। 494 00:21:27,930 --> 00:21:31,920 तो फिर हम के माध्यम से गिर सकता है अंदर मामले constant2। 495 00:21:31,920 --> 00:21:35,070 और हम हैं कि अगर ऐसा नहीं करना चाहते हैं हम पहले से ही मामला constant1 पहुँच गए हैं 496 00:21:35,070 --> 00:21:37,830 और यह n के बराबर है। 497 00:21:37,830 --> 00:21:45,100 >> तो, उदाहरण के लिए, हम एक चर है, तो एक वर्ग संख्या में शामिल है कि एन, 498 00:21:45,100 --> 00:21:48,990 और हम क्या देखना चाहता हूँ कि एन 50 के बराबर होती है, तो वर्ग, है- 499 00:21:48,990 --> 00:21:51,957 हम CS50 है "मुद्रित करने के लिए जा रहे हैं कंप्यूटर विज्ञान आई का परिचय " 500 00:21:51,957 --> 00:21:53,040 तो फिर हम तोड़ने के लिए जा रहे हैं। 501 00:21:53,040 --> 00:21:53,920 और यह बात है। 502 00:21:53,920 --> 00:21:55,950 अगर, हालांकि, एन बराबर है 51 के लिए, हम जा रहे हैं 503 00:21:55,950 --> 00:21:58,494 CS51 परिचय है "मुद्रित करने के लिए कम्प्यूटर साइंस द्वितीय करने के लिए। " 504 00:21:58,494 --> 00:21:59,910 तो, फिर, हम तोड़ने के लिए जा रहे हैं। 505 00:21:59,910 --> 00:22:05,080 हालांकि, तो हम डाल 124, 61, किसी भी आप के बारे में सोच सकता है कि अन्य नंबर, 506 00:22:05,080 --> 00:22:06,890 या कार्यक्रम नहीं जा रहा है मान्यता है कि करने के लिए। 507 00:22:06,890 --> 00:22:09,010 तो यह क्षमा करें, मैं हूँ "कहने जा रहा है उस वर्ग से परिचित नहीं है। " 508 00:22:09,010 --> 00:22:10,009 और इसे तोड़ने के लिए जा रहा है। 509 00:22:10,009 --> 00:22:12,847 डेविड मालन: तो क्या तुम सच में देख सकते हैं , अगर और यहाँ कुछ और विचार है, यदि। 510 00:22:12,847 --> 00:22:15,430 इसके लिए सिर्फ अलग वाक्य रचना है सटीक एक ही विचार व्यक्त। 511 00:22:15,430 --> 00:22:17,690 >> मारिया: बिल्कुल। 512 00:22:17,690 --> 00:22:19,480 अब हम अपने त्रिगुट ऑपरेटरों है। 513 00:22:19,480 --> 00:22:24,900 तो त्रिगुट ऑपरेटरों है तीन, एक की हालत parts-- 514 00:22:24,900 --> 00:22:27,220 यदि कुछ लेना देना नहीं शर्त यह है कि यह सच है, 515 00:22:27,220 --> 00:22:29,730 और फिर कुछ करने के लिए यदि शर्त यह है कि गलत है। 516 00:22:29,730 --> 00:22:33,400 तो अगर आप मूल रूप से देखते हैं, यहां इस बात का सिंटेक्स। 517 00:22:33,400 --> 00:22:37,792 हम प्रश्न चिह्न है, और तो the-- क्या हम इस कहते हैं? 518 00:22:37,792 --> 00:22:38,750 डेविड मालन: पेट के। 519 00:22:38,750 --> 00:22:39,100 मारिया: आंतों। 520 00:22:39,100 --> 00:22:39,599 धन्यवाद। 521 00:22:39,599 --> 00:22:41,880 माफ़ कीजिए। 522 00:22:41,880 --> 00:22:45,800 तो चलो करने के लिए हमारे उदाहरण देखो हम है- की भावना कर सकते हैं देखें 523 00:22:45,800 --> 00:22:47,840 class_num == 50। 524 00:22:47,840 --> 00:22:52,580 यहाँ तो हम == हमारे बूलियन ऑपरेटर देखना उस चर class_num तुलना 525 00:22:52,580 --> 00:22:53,100 50 को। 526 00:22:53,100 --> 00:22:55,150 तो class_num दुकानों एक पूर्णांक। 527 00:22:55,150 --> 00:22:58,180 और कहा कि पूर्णांक यदि तो हम कर रहे हैं, 50 के बराबर होती है 528 00:22:58,180 --> 00:23:02,810 स्टोर करने के लिए जा रहा है "डेविड मालन" स्ट्रिंग प्रोफेसर के अंदर। 529 00:23:02,810 --> 00:23:05,912 वर्ग संख्या नहीं करता है "नहीं डेविड मालन," 50 के बराबर 530 00:23:05,912 --> 00:23:07,120 प्रोफेसर होने जा रहा है। 531 00:23:07,120 --> 00:23:08,630 >> डेविड मालन: धन्यवाद। 532 00:23:08,630 --> 00:23:12,110 और इसलिए इस के बराबर लगती है आप पहली नज़र में, क्या कहेंगे? 533 00:23:12,110 --> 00:23:17,930 534 00:23:17,930 --> 00:23:19,960 >> मारिया: मेरे लिए यह लगता जैसे अगर-और बयान। 535 00:23:19,960 --> 00:23:20,709 >> डेविड मालन: हाँ। 536 00:23:20,709 --> 00:23:24,020 और वास्तव में, इस तरह का है एक सुंदर एक लाइनर की, 537 00:23:24,020 --> 00:23:27,520 इसलिए लागू करने के लिए, बात करने के लिए के बिल्कुल तर्क अगर-और 538 00:23:27,520 --> 00:23:29,010 लेकिन एक कदम में सब कुछ कर रही है। 539 00:23:29,010 --> 00:23:29,860 >> मारिया: बिल्कुल। 540 00:23:29,860 --> 00:23:30,360 हाँ। 541 00:23:30,360 --> 00:23:33,520 तो अगर-और बयानों से हो सकता है अंतरिक्ष के एक बहुत ऊपर ले लो। 542 00:23:33,520 --> 00:23:36,283 वे के लिए बहुत लंबा हो सकता है इस के रूप में सरल रूप में कुछ। 543 00:23:36,283 --> 00:23:38,350 तो यह बहुत ही किया जा सकता है संक्षिप्त और बहुत अच्छा है। 544 00:23:38,350 --> 00:23:40,880 545 00:23:40,880 --> 00:23:46,820 तो अब हम देख में जा रहे हैं फिर से और फिर कुछ क्रियान्वित करने, 546 00:23:46,820 --> 00:23:50,060 इसलिए एक के लिए जाँच कई बार हालत 547 00:23:50,060 --> 00:23:53,510 और फिर कुछ करने के लिए जारी शर्त यह है कि सच है, जबकि। 548 00:23:53,510 --> 00:23:56,740 तो यह हमें लाता अच्छी तरह से करते हुए छोरों में। 549 00:23:56,740 --> 00:23:59,270 >> बाईं करने के लिए, हमारे पास हमारी पहली जबकि पाश। 550 00:23:59,270 --> 00:24:03,840 कुछ सच है तो, जबकि बार-बार कुछ करो। 551 00:24:03,840 --> 00:24:08,850 इसलिए कि सूचना के लिए सुनिश्चित करें कि हमारे हालत यहाँ शीर्ष पर मान्य है। 552 00:24:08,850 --> 00:24:14,150 हम कहते हैं हमारी दूसरी loop-- के साथ जबकि एक है, जबकि हमें कुछ करना loop-- कि, 553 00:24:14,150 --> 00:24:15,890 फिर हम एक की स्थिति की जाँच करें। 554 00:24:15,890 --> 00:24:17,980 और शर्त यह है कि यदि सच करने के लिए जारी है, 555 00:24:17,980 --> 00:24:20,150 हम वापस जाने के लिए और फिर से काम करते हैं। 556 00:24:20,150 --> 00:24:23,360 तो मुख्य अंतर यह है कि जहां है इस हालत के लिए जाँच की है। 557 00:24:23,360 --> 00:24:29,260 और कोड कभी नहीं हो सकता हालत नहीं है, तो मार डाला 558 00:24:29,260 --> 00:24:30,430 जबकि पाश के साथ सच है। 559 00:24:30,430 --> 00:24:33,050 मत करो हालांकि साथ जबकि पाश, हम कोड है 560 00:24:33,050 --> 00:24:35,380 कि हमेशा कम से कम एक बार मार डाला है। 561 00:24:35,380 --> 00:24:37,470 और फिर हालत जबकि सच करने के लिए जारी है, 562 00:24:37,470 --> 00:24:39,960 हम वापस जाने के लिए और अंदर फिर से पुनरावृति कर सकते हैं। 563 00:24:39,960 --> 00:24:43,625 तो तुम क्यों हम प्रयोग करेंगे लगता है एक एक जबकि पाश पर पाश करते-करते हुए? 564 00:24:43,625 --> 00:24:48,221 565 00:24:48,221 --> 00:24:48,720 ठीक है। 566 00:24:48,720 --> 00:24:52,600 हम शीघ्र करना चाहते हैं तो इनपुट के कुछ प्रकार के लिए यूजर 567 00:24:52,600 --> 00:24:55,400 हम उन्हें पूछना चाहते हैं उनके नाम दर्ज करने के लिए, 568 00:24:55,400 --> 00:24:57,342 हम कम से कम एक बार उन्हें पूछना चाहता हूँ। 569 00:24:57,342 --> 00:24:59,050 और वे प्रवेश करते हैं तो उस नाम है, हम नहीं कर रहे हैं 570 00:24:59,050 --> 00:25:00,740 फिर उन्हें पूछने वाला हम पहले से ही यह पता है। 571 00:25:00,740 --> 00:25:02,656 लेकिन वे दर्ज नहीं करते हैं उनके नाम, या अगर वे 572 00:25:02,656 --> 00:25:05,787 कुछ है कि दर्ज स्पष्ट रूप से नहीं एक नाम है, 573 00:25:05,787 --> 00:25:08,120 हम अभी भी जारी रखना चाहते हैं उनके नाम के लिए उन पर पूछ रहे हैं। 574 00:25:08,120 --> 00:25:10,710 >> डेविड मालन: और व्याख्यान में हम एक था मिल सकारात्मक पूर्णांक के साथ इस तरह 575 00:25:10,710 --> 00:25:13,550 कुछ भी करने के लिए नहीं है, जहां उदाहरण के लिए, आप भी नहीं है, क्योंकि पहली बार में जाँच 576 00:25:13,550 --> 00:25:14,190 एक int मिल गया। 577 00:25:14,190 --> 00:25:16,680 इसलिए हम है- क्या करना चाहते हैं user-- से एक पूर्णांक के लिए मिल 578 00:25:16,680 --> 00:25:18,860 तो शायद, यह जांच, बार बार। 579 00:25:18,860 --> 00:25:21,030 >> मारिया: बिल्कुल। 580 00:25:21,030 --> 00:25:22,060 Loops-- ठीक है के लिए। 581 00:25:22,060 --> 00:25:25,842 छोरों अनुमति दे सकते हैं के लिए हमें लगभग ऐसा करने के लिए सटीक एक ही बात है, के रूप में अच्छी तरह से। 582 00:25:25,842 --> 00:25:27,300 यह वास्तव में सटीक एक ही बात है। 583 00:25:27,300 --> 00:25:30,190 तो कुछ भी नहीं है कि आप छोरों के लिए के साथ क्या कर सकते हैं 584 00:25:30,190 --> 00:25:32,840 आप में सक्षम नहीं होगा कि जबकि छोरों के साथ क्या करना है। 585 00:25:32,840 --> 00:25:36,900 लेकिन छोरों के लिए एक छोटी सी लग सकता है थोड़ा और अधिक जटिल वाक्य रचना 586 00:25:36,900 --> 00:25:39,730 क्योंकि वे तीन भागों के अंदर क्या 587 00:25:39,730 --> 00:25:42,990 बस से पहले था जबकि छोरों के साथ शर्त। 588 00:25:42,990 --> 00:25:48,260 तो पहली बात यह है कि आप समुद्र, बाएं सबसे अधिक है, हम "पूर्णांक बौने = 0" 589 00:25:48,260 --> 00:25:51,490 तो यह वह जगह है जहाँ हम हमारे चर को प्रारंभ। 590 00:25:51,490 --> 00:25:55,210 >> तो फिर हम एक अर्धविराम है और "बौने 7. <" 591 00:25:55,210 --> 00:25:57,100 तो यह है, जहां बाहर है हालत वास्तव में है। 592 00:25:57,100 --> 00:26:00,170 तो यह है कि हम होगा क्या है जबकि बस में डाल loop-- 593 00:26:00,170 --> 00:26:01,880 "बौने 7. <जबकि" 594 00:26:01,880 --> 00:26:05,380 इधर, कि में चला जाता है हमारे पाश के लिए के बीच। 595 00:26:05,380 --> 00:26:07,190 "तो dwaves 7. <" 596 00:26:07,190 --> 00:26:11,350 और फिर हमारे पिछले भाग ", बौने ++" है जो हम अपने चर अद्यतन जहां है। 597 00:26:11,350 --> 00:26:15,470 महत्वपूर्ण बात यह है तो साकार करने के लिए इस करता है 598 00:26:15,470 --> 00:26:22,010 पाश के लिए इस माध्यम से जाना जा रहा है सात बार और निष्पादित सात बार। 599 00:26:22,010 --> 00:26:24,020 इसलिए हम सात है बौने, और वे सभी कर रहे हैं 600 00:26:24,020 --> 00:26:26,020 मैं यहाँ हूँ "कहने जा रहा आप मदद करने के लिए, स्नो व्हाइट " 601 00:26:26,020 --> 00:26:28,860 वे तैयार हैं क्योंकि बर्फ की सफेद करने में मदद करने के लिए। 602 00:26:28,860 --> 00:26:33,600 >> छोरों, हम किया होता, जबकि साथ प्रारम्भ और अद्यतन करने 603 00:26:33,600 --> 00:26:37,490 नहीं शर्त के अंदर, फिर से, लेकिन पहले या जबकि पाश अंदर या तो 604 00:26:37,490 --> 00:26:40,210 यह सुनिश्चित करना है कि we-- क्योंकि हम हमेशा उन भागों की जरूरत है। 605 00:26:40,210 --> 00:26:42,835 इसलिए है कि हम यह सुनिश्चित करना उन्हें, हम अभी भी है उन्हें जोड़ा जाएगा 606 00:26:42,835 --> 00:26:44,580 पर, अभी नहीं कोष्ठकों के अंदर। 607 00:26:44,580 --> 00:26:47,288 >> डेविड मालन: और तो यह like-- लग रहा है व्याख्यान में, उदाहरण के लिए, 608 00:26:47,288 --> 00:26:50,250 मैं लगभग हमेशा उपयोग की तरह, मैं और n और बहुत उबाऊ चर। 609 00:26:50,250 --> 00:26:53,050 आप अधिक उपयोग कर सकते हैं ऐसा लगता है चतुराई से भी, चर नाम दिया है। 610 00:26:53,050 --> 00:26:56,300 >> मारिया: हाँ, यह वास्तव में बहुत अच्छा है थोड़ा और अधिक वर्णनात्मक चर का उपयोग करने के लिए 611 00:26:56,300 --> 00:26:59,400 किसी और को है, विशेष रूप से, क्योंकि अगर अपने code-- पढ़ने शायद आप कर रहे हैं ग्रेडर 612 00:26:59,400 --> 00:27:00,940 या आप सहयोग कर रहे हैं किसी के साथ-- 613 00:27:00,940 --> 00:27:03,481 आप यकीन है कि बनाना चाहते वे आप क्या कर रहे हैं समझते हैं। 614 00:27:03,481 --> 00:27:05,750 615 00:27:05,750 --> 00:27:06,400 >> ठीक है। 616 00:27:06,400 --> 00:27:11,435 तो यह कुछ बहुत funky-- है पाश के लिए एक के अंदर पाश के लिए। 617 00:27:11,435 --> 00:27:13,060 हम इस से पहले देखा है, तो मैं नहीं जानता। 618 00:27:13,060 --> 00:27:13,830 शायद ऩही। 619 00:27:13,830 --> 00:27:17,750 लेकिन हम वास्तव में है- हो सकता है इसलिए बजाय छोरों के छोरों। 620 00:27:17,750 --> 00:27:25,130 तो किसी को भी हो सकता है चलना चाहता है मुझे क्या के माध्यम से हो रहा है यहाँ? 621 00:27:25,130 --> 00:27:28,240 622 00:27:28,240 --> 00:27:29,490 डेविड मालन: मैं एक चाकू ले लेंगे। 623 00:27:29,490 --> 00:27:29,970 मारिया: कूल। 624 00:27:29,970 --> 00:27:30,636 डेविड मालन: ठीक है। 625 00:27:30,636 --> 00:27:34,690 तो, हम सामान मुद्रित करना चाहते spoiler-- कि नीचे दाएँ हाथ के कोने में है 626 00:27:34,690 --> 00:27:35,190 क्या आप वहां मौजूद हैं। 627 00:27:35,190 --> 00:27:35,450 >> मारिया: ठीक है। 628 00:27:35,450 --> 00:27:35,710 हाँ हाँ। 629 00:27:35,710 --> 00:27:38,043 >> डेविड मालन: तो हम है बस वहाँ कि नमूना उत्पादन डाल दिया। 630 00:27:38,043 --> 00:27:42,590 इसलिए मैं से अनुमान कर सकते हैं आप कर रहे हैं कि सर्वोच्च पाश 631 00:27:42,590 --> 00:27:45,680 पंक्तियों पर iterating सबसे बाहरी पाश, तो बात करो। 632 00:27:45,680 --> 00:27:48,107 और तुम पर पुनरावृति रहे अंतरतम पाश के साथ कॉलम। 633 00:27:48,107 --> 00:27:50,190 और intuitively, इस उम्मीद है कि समझ में आता है चाहिए 634 00:27:50,190 --> 00:27:52,070 क्योंकि स्वभाव से हमने देखा है कि हर कार्यक्रम 635 00:27:52,070 --> 00:27:55,570 जो है, इससे पहले कि printf, समारोह हम, अंत में, का उपयोग कर रहे हैं 636 00:27:55,570 --> 00:27:58,190 सामान मुद्रित करने की क्षमता है लाइन से बाहर अनिवार्य रूप से लाइन। 637 00:27:58,190 --> 00:27:59,960 की तरह, एक बार आप outputted गए हैं एक नई लाइन, वहाँ है 638 00:27:59,960 --> 00:28:02,876 कोई वापस दोहरीकरण और कुछ मुद्रण कम से कम, स्क्रीन में उच्च 639 00:28:02,876 --> 00:28:04,530 इस तरह printf का उपयोग नहीं। 640 00:28:04,530 --> 00:28:07,750 >> और तो उस संबंध में, यह बनाता है भावना है कि सबसे बाहरी पाश 641 00:28:07,750 --> 00:28:10,930 पंक्तियों की चर्चा करते हुए किया जाना चाहिए प्रत्येक पंक्ति दिया क्योंकि, 642 00:28:10,930 --> 00:28:13,650 यदि आप चाहते करने के लिए जा रहे हैं तो XXXXX बाहर प्रिंट, और 643 00:28:13,650 --> 00:28:15,520 अगली पंक्ति, XXXXX पर चलते हैं। 644 00:28:15,520 --> 00:28:17,317 तो पंक्तियों पहले आओ। 645 00:28:17,317 --> 00:28:19,150 और फिर भीतर प्रत्येक पंक्ति, आप स्तंभों प्रिंट। 646 00:28:19,150 --> 00:28:21,160 आप ऐसा करने की कोशिश की तो विपरीत, यह शायद नहीं होगा 647 00:28:21,160 --> 00:28:21,690 आप का इरादा के रूप में बाहर आ गए। 648 00:28:21,690 --> 00:28:22,190 >> मारिया: हाँ। 649 00:28:22,190 --> 00:28:24,950 हम बस को वापस नहीं जा सकता printf के साथ पिछली पंक्ति। 650 00:28:24,950 --> 00:28:27,658 >> डेविड मालन: और क्या दिलचस्प है गुंजाइश के बारे में आज की चैट प्रति, 651 00:28:27,658 --> 00:28:31,600 वास्तव में, पंक्ति एक पूर्णांक है कि सर्वोच्च पाश में घोषित किया है। 652 00:28:31,600 --> 00:28:34,030 लेकिन यह अभी भी है कि नोटिस के अंदर, तो बात है, 653 00:28:34,030 --> 00:28:35,982 घुंघराले ब्रेसिज़ कि तुरंत पालन करें 654 00:28:35,982 --> 00:28:38,440 यह तकनीकी रूप से नहीं है, भले ही उन घुंघराले ब्रेसिज़ के भीतर। 655 00:28:38,440 --> 00:28:41,750 तो पंक्ति के लिए दायरे में है कोड के अंश की सम्पूर्णता, 656 00:28:41,750 --> 00:28:44,690 दोनों पाश के लिए बाहरी के अंदर और पाश के लिए भीतरी के अंदर। 657 00:28:44,690 --> 00:28:48,050 लेकिन इसके विपरीत, जहां स्तंभ दायरे में है? 658 00:28:48,050 --> 00:28:49,810 चर कॉलम? 659 00:28:49,810 --> 00:28:51,310 हाँ, केवल अंदर पाश में। 660 00:28:51,310 --> 00:28:54,280 हम तक पहुँच नहीं है और क्योंकि वह ठीक है यह अपने घुंघराले ब्रेसिज़ के बाहर। 661 00:28:54,280 --> 00:28:57,280 हम सभी एक नया बाहर प्रिंट है वहाँ बहुत अंत में लाइन। 662 00:28:57,280 --> 00:28:58,670 वास्तव में तो यह है कि ठीक है। 663 00:28:58,670 --> 00:29:03,740 >> तो यह प्रभाव पड़ता है, यह की तरह लग रहा है की तीन पंक्तियों और चार स्तंभों कर रही है। 664 00:29:03,740 --> 00:29:04,370 >> मारिया: ठीक है। 665 00:29:04,370 --> 00:29:06,270 तो पहले हम हमारी पहली पंक्ति के माध्यम से जाना। 666 00:29:06,270 --> 00:29:10,520 और सिर्फ हमारी पहली पंक्ति में, हम करते हैं पहली पंक्ति के अंदर चार स्तंभों। 667 00:29:10,520 --> 00:29:11,980 इसलिए हम चार एक्स के बाहर प्रिंट। 668 00:29:11,980 --> 00:29:15,800 और फिर हम के बाद से, लूप के लिए बाहर कर सकते हैं हम पहले से ही चार एक्स के बाहर छपा है। 669 00:29:15,800 --> 00:29:17,100 और हम एक नई लाइन प्रिंट। 670 00:29:17,100 --> 00:29:19,920 और फिर हम के माध्यम से जाना दो और पंक्तियों के लिए एक ही प्रक्रिया 671 00:29:19,920 --> 00:29:21,170 तीन में से एक कुल बनाने के लिए। 672 00:29:21,170 --> 00:29:23,530 >> डेविड मालन: और यह यह ध्यान देने योग्य है फ़ॉन्ट का सिर्फ एक विरूपण साक्ष्य, तथ्य 673 00:29:23,530 --> 00:29:25,680 नमूना आउटपुट कि , इतना लम्बे लग रहे हैं 674 00:29:25,680 --> 00:29:27,520 अधिक नहीं है, हालांकि के रूप में स्तंभों से पंक्तियों। 675 00:29:27,520 --> 00:29:29,824 सिर्फ एक्स लेकिन क्योंकि यह है यह व्यापक है की तुलना में लम्बे है। 676 00:29:29,824 --> 00:29:32,740 यही कारण है कि वहाँ क्या हो रहा है वह सब है लाइनों के बीच प्लस सफेद स्थान। 677 00:29:32,740 --> 00:29:33,281 >> मारिया: ठीक है। 678 00:29:33,281 --> 00:29:34,792 कूल। 679 00:29:34,792 --> 00:29:35,750 डेविड मालन: ठीक है। 680 00:29:35,750 --> 00:29:39,830 तो समस्या पर एक त्वरित देखो, एक सेट किसी भी प्रश्न पूछ सकते हैं, और फिर स्थगित? 681 00:29:39,830 --> 00:29:40,330 ठीक है। 682 00:29:40,330 --> 00:29:43,164 समस्या एक सेट में तो, तीन है प्राथमिक चुनौतियों, अंततः। 683 00:29:43,164 --> 00:29:44,955 लेकिन पहले, आप पाएंगे समस्या है कि सेट 684 00:29:44,955 --> 00:29:47,900 साथ के रूप में विनिर्देश, कई psets इस गिरावट से चलने के लिए जा रहा है 685 00:29:47,900 --> 00:29:50,691 कुछ तैयारी में जुट के माध्यम से, कुछ संसाधनों आप बाहर बिंदु 686 00:29:50,691 --> 00:29:52,440 कि आप कर सकते हैं या हो सकता है पहले से ही देखा है नहीं। 687 00:29:52,440 --> 00:29:54,440 उदाहरण के लिए, CS50 , शॉर्ट्स का एक सूट है 688 00:29:54,440 --> 00:29:56,481 लघु वीडियो है, जो कर रहे हैं, नहीं इस के विपरीत, लेकिन लगता है कि 689 00:29:56,481 --> 00:29:58,460 बहुत ही विषय specific-- हैं शायद पाँच मिनट, 690 00:29:58,460 --> 00:30:02,360 छोरों पर लंबाई में 10 मिनट या शर्तों पर या एल्गोरिदम पर 691 00:30:02,360 --> 00:30:04,125 या बाद में और अधिक पर उन्नत विषयों, के रूप में अच्छी तरह से। 692 00:30:04,125 --> 00:30:06,000 और हम आम तौर एम्बेड समस्या में उन 693 00:30:06,000 --> 00:30:07,950 सेट इसलिए छात्रों कि जिसके साथ एक संसाधन है 694 00:30:07,950 --> 00:30:10,840 हो सकता है कि सामग्री की समीक्षा करने के लिए पहले से ही व्याख्यान या अनुभाग में आते हैं। 695 00:30:10,840 --> 00:30:13,220 लेकिन इसे इस तरह से और अधिक ध्यान केंद्रित है और अपनी उंगलियों पर अधिक। 696 00:30:13,220 --> 00:30:15,928 >> हम यह भी समस्या में एम्बेड करने के लिए करते हैं walkthroughs बुलाया बातें तय करता है। 697 00:30:15,928 --> 00:30:20,790 इसलिए लगभग सभी मुझे क्या करना है उदाहरण के व्याख्यान में, यहाँ मंच पर, हम भी 698 00:30:20,790 --> 00:30:24,565 कैमरे पर गोली मार दी है एक अधिक धीमी अग्रिम, 699 00:30:24,565 --> 00:30:28,760 पर मेरे द्वारा एक अधिक घनिष्ठ पूर्वाभ्यास कि कोड की अपने लैपटॉप, लाइन से लाइन 700 00:30:28,760 --> 00:30:31,427 इसलिए उस वर्ग में, हम अक्सर हूँ कुछ या किसी के माध्यम से हवा में घूमना 701 00:30:31,427 --> 00:30:33,260 एक साथ interject होगा एक सवाल के जवाब। 702 00:30:33,260 --> 00:30:35,820 लेकिन यह जरूरी नहीं सिंक नहीं करता दर्शकों में हर किसी के लिए में। 703 00:30:35,820 --> 00:30:38,230 तो अगर आप कोड walkthroughs मिल जाएगा उदाहरण के अधिकांश के लिए 704 00:30:38,230 --> 00:30:40,950 हम व्याख्यान में यहाँ है कि इतनी है कि आप अपनी गति से यह माध्यम से चल सकता है 705 00:30:40,950 --> 00:30:43,580 और तेजी से आगे अतीत या या अगर आप चाहते हैं, पूरी तरह छोड़। 706 00:30:43,580 --> 00:30:45,356 >> अक्सर कुछ भी नहीं है वार्म अप सवाल है कि 707 00:30:45,356 --> 00:30:47,105 की तरह करने के लिए पूछना इस सामग्री को सुदृढ़ 708 00:30:47,105 --> 00:30:50,250 और इससे पहले कि आप आराम कर रहे हैं कि यह सुनिश्चित कर लें आप pset के आराम के साथ आगे बढ़ना है। 709 00:30:50,250 --> 00:30:51,700 और फिर, ज़ाहिर है, pset में ही नहीं है। 710 00:30:51,700 --> 00:30:53,450 और बातों में से एक बहुत जानबूझ हम 711 00:30:53,450 --> 00:30:57,202 CS50 में लगभग हर रसहीन है या बौद्धिक रूप से शुष्क 712 00:30:57,202 --> 00:30:58,910 यांत्रिक कदम है कि आप क्या हो सकता है 713 00:30:58,910 --> 00:31:00,519 लगभग हमेशा बहुत अच्छी तरह से प्रलेखित है। 714 00:31:00,519 --> 00:31:03,560 अवधि के दौरान, हम करेंगे अधिक बयानबाजी सवाल पूछने के लिए शुरू 715 00:31:03,560 --> 00:31:06,187 की तरह इस या उस कैसे करना याद है? 716 00:31:06,187 --> 00:31:08,520 लेकिन आम तौर पर, आप पाएंगे समस्या सेट है कि आप प्राप्त 717 00:31:08,520 --> 00:31:10,269 यांत्रिकी के माध्यम से कुछ का तो यह है कि 718 00:31:10,269 --> 00:31:14,160 दिलचस्प है, बौद्धिक चुनौतियों अंत में आप के लिए छात्र को छोड़ दिया जाता है। 719 00:31:14,160 --> 00:31:17,390 >> साथ ही कहा, Zamyla, जिसे हम व्याख्यान में आज बात कर रखा, 720 00:31:17,390 --> 00:31:20,190 हमारे पुराने स्टाफ में से एक है यह भी walkthroughs रखती है, जो सदस्य 721 00:31:20,190 --> 00:31:24,520 मारियो की तरह विशिष्ट pset समस्याओं पर और लालची है, हालांकि इस साल पानी नहीं। 722 00:31:24,520 --> 00:31:26,540 और यह उन लोगों में है वह यह है कि अक्सर walkthroughs 723 00:31:26,540 --> 00:31:29,450 के लिए कुछ सुझाव और चालें प्रदान करता है कैसे आप कभी नहीं बता रही है, आगे बढ़ने के लिए 724 00:31:29,450 --> 00:31:31,810 वास्तव में क्या करना है, लेकिन एक शर्त की तरह rather--, 725 00:31:31,810 --> 00:31:35,200 तुम्हें दे will-- यदि आप कम से कम एक इतना है कि विचारों की जोड़ी यह आप पर निर्भर है 726 00:31:35,200 --> 00:31:37,830 अंततः तय करने के लिए उन्हें कैसे दृष्टिकोण करने के लिए। 727 00:31:37,830 --> 00:31:41,200 >> मारिया: की तरह एक उच्च स्तर की तरह के तर्क की समझ क्या 728 00:31:41,200 --> 00:31:42,220 हम ऐसा करने के लिए आप पूछ रहे हैं। 729 00:31:42,220 --> 00:31:42,485 >> डेविड मालन: बिल्कुल। 730 00:31:42,485 --> 00:31:44,190 और, वास्तव में, Zamyla की walkthroughs होती हैं 731 00:31:44,190 --> 00:31:46,190 अक्सर जवाब देने के लिए जहां से पूछा सवाल 732 00:31:46,190 --> 00:31:48,610 मैं विशेष रूप से जब शुरू हुआ करते इन लंबे विनिर्देशों हैं 733 00:31:48,610 --> 00:31:51,960 थोड़ा कठिन सभी पाठ दिया और वे उन में कल्पना की है कि। 734 00:31:51,960 --> 00:31:54,890 >> तो water.c, आप पाएंगे आप इसे पूरा करने के बाद, 735 00:31:54,890 --> 00:31:56,920 वास्तव में अपेक्षाकृत सरल है। 736 00:31:56,920 --> 00:31:58,882 बिल्कुल एक गुच्छा रहे हैं आप बैंग के लिए जाने की 737 00:31:58,882 --> 00:32:01,840 कोशिश कर दीवार के खिलाफ अपने सिर यह संकलन नहीं है यही कारण है यह पता लगाने के लिए 738 00:32:01,840 --> 00:32:03,450 या क्यों इसे सही ढंग से नहीं चल रहा है। 739 00:32:03,450 --> 00:32:05,040 लेकिन आप कर रहे हैं एक बार इसके साथ और आप कर लेते हैं 740 00:32:05,040 --> 00:32:07,620 किसी के साथ कुश्ती कुछ समय बिताया हो सकता है आप जो बग्स की, 741 00:32:07,620 --> 00:32:09,490 आप यह है कि मिल जाएगा एक बहुत ही कम कार्यक्रम। 742 00:32:09,490 --> 00:32:11,770 यह बस कुछ ही में किया जा सकता है कोड की लाइनों, जिनमें से सबसे अधिक 743 00:32:11,770 --> 00:32:15,030 अगर हम पहले से ही व्याख्यान में यहाँ देखा है अगर आप सही इमारत ब्लॉकों इकट्ठा। 744 00:32:15,030 --> 00:32:16,810 >> और हम के रूप में सुझाव यहाँ, यह पूछने के लिए जा रहा है 745 00:32:16,810 --> 00:32:22,250 आप कितने मिनट निर्दिष्ट करने के लिए किसी को परिसर में एक शॉवर ले जा रहा है। 746 00:32:22,250 --> 00:32:24,779 हम समस्या में निर्दिष्ट पानी के प्रवाह की दर निर्धारित 747 00:32:24,779 --> 00:32:27,320 की तरह, एक कम प्रवाह बौछार में सिर, ज्यादा Seinfeld क्लिप की तरह 748 00:32:27,320 --> 00:32:29,180 हम कल देखा था या उसके विपरीत। 749 00:32:29,180 --> 00:32:30,971 और फिर आप बस गणित के एक बिट करने के लिए, 750 00:32:30,971 --> 00:32:34,710 बताने के लिए सी का उपयोग अंकगणित really-- हमें कैसे पानी के कई, मोटे तौर पर, बोतलें 751 00:32:34,710 --> 00:32:37,720 हम कर रहे हैं करने के लिए कि बराबर है एक n मिनट की बौछार ले रही है। 752 00:32:37,720 --> 00:32:41,389 >> अब, mario.c में, यह जा रहा है एक थोड़ा अब कार्यक्रम होने के लिए। 753 00:32:41,389 --> 00:32:42,930 यह अभी तक इस होना करने के लिए नहीं जा रहा है। 754 00:32:42,930 --> 00:32:45,130 बस कुछ ही लाइनों water.c से अधिक समय। 755 00:32:45,130 --> 00:32:48,230 लेकिन यह अवसर होने जा रहा है पुराने स्कूल मारियो विश्राम करने के लिए 756 00:32:48,230 --> 00:32:50,670 सुपर मारियो से पिरामिड ब्रदर्स या कुछ फॉलो-ऑन। 757 00:32:50,670 --> 00:32:53,510 यह सुंदर के रूप में देखने के लिए नहीं जा रहा है या वहाँ है कि एक के रूप में के रूप में रंगीन। 758 00:32:53,510 --> 00:32:56,468 हम तो बस थोड़ा हैशटैग का उपयोग करने के लिए जा रहे हैं जैसे हम स्क्रीन पर यहाँ है 759 00:32:56,468 --> 00:32:58,120 ASCII पाठ का उपयोग कर। 760 00:32:58,120 --> 00:33:00,362 लेकिन यह एक ही विचार लगभग जाएगा। 761 00:33:00,362 --> 00:33:02,570 और यह एक होने जा रहा है पहली नज़र में लगता है कि व्यायाम 762 00:33:02,570 --> 00:33:04,720 सिर्फ सुंदर simple-- लगती है एक साधारण पिरामिड प्रिंट। 763 00:33:04,720 --> 00:33:07,345 लेकिन कुछ विशेषताओं वहाँ यहां दिलचस्प हैं। 764 00:33:07,345 --> 00:33:12,400 के दाएँ किनारे सूचना है कि पिरामिड वास्तव में चौड़ाई दो है। 765 00:33:12,400 --> 00:33:14,570 तो बराबर दो वहाँ ऊंचाई कॉलम, जो 766 00:33:14,570 --> 00:33:16,804 यह एक छोटा सा की आवश्यकता होती है बनाता है सोचा था की बिट बनाने के लिए 767 00:33:16,804 --> 00:33:19,720 सुनिश्चित करें कि आप के रूप में, यह बिल्कुल सही मिल सिर्फ एक पूरी तरह से कोणीय करने का विरोध 768 00:33:19,720 --> 00:33:20,220 लाइन। 769 00:33:20,220 --> 00:33:23,340 तो यह है कि एक कोने मामले का एक सा है लेकिन वास्तविक खेल से मेल खाता है। 770 00:33:23,340 --> 00:33:27,610 >> और यह भी पहली बार में गैर स्पष्ट है सफेद अंतरिक्ष मुद्रित करने के लिए कैसे नज़र। 771 00:33:27,610 --> 00:33:29,430 इसलिए मुझे लगता है पर जब देखो नमूना उत्पादन here-- 772 00:33:29,430 --> 00:33:32,440 और यह spec-- में भी है यह एक तरह से, एक आयत की तरह लग रहा है 773 00:33:32,440 --> 00:33:35,120 लेकिन एक विकर्ण आयत, काट कर दिया गया है 774 00:33:35,120 --> 00:33:37,320 और यह सिर्फ सफेद रिक्त स्थान है, तो बात करने के लिए है। 775 00:33:37,320 --> 00:33:40,100 और हां एक अक्सर पूछे जाने वाले सवाल यहाँ अच्छी तरह से, हमेशा होता है, 776 00:33:40,100 --> 00:33:43,302 मैं हैशटैग कदम है कैसे सही करने के लिए? 777 00:33:43,302 --> 00:33:44,760 या मैं कैसे रिक्त स्थान प्रिंट करूं? 778 00:33:44,760 --> 00:33:46,860 और यह वास्तव में आसान है सबसे अधिक छात्रों को लगता है कि अधिक। 779 00:33:46,860 --> 00:33:47,360 है ना? 780 00:33:47,360 --> 00:33:51,620 तुम बस द्वारा नेत्रहीन यह अनुमान लगा सकता है एक या दो बार अंतरिक्ष बार मार 781 00:33:51,620 --> 00:33:52,700 या तीन बार। 782 00:33:52,700 --> 00:33:56,260 >> और इसलिए भी कि हम लगभग printf के साथ यद्यपि हमेशा एक स्ट्रिंग या एक पूर्णांक के बाहर प्रिंट 783 00:33:56,260 --> 00:33:59,950 या नमस्ते "की तरह एक शब्द, शब्दों की दुनिया "या श्रृंखला, 784 00:33:59,950 --> 00:34:03,560 आप भी सिर्फ प्रिंट कर सकते हैं बोली, अंतरिक्ष, गंदें शब्द बोलना। 785 00:34:03,560 --> 00:34:06,320 और कहा कि वास्तव में दे देंगे तुम वहाँ एक सफेद स्थान। 786 00:34:06,320 --> 00:34:08,330 तो मन में रखने के लिए और इस overthink नहीं है। 787 00:34:08,330 --> 00:34:10,570 आप वास्तव में है पंक्ति से पंक्ति से पंक्ति का फैसला, 788 00:34:10,570 --> 00:34:14,280 नहीं अपने उदाहरण के विपरीत एक उन लोगों में से पहले कितने पल 789 00:34:14,280 --> 00:34:18,420 कॉलम सफेद रिक्त स्थान होना चाहिए और हैशटैग होना चाहिए कि कैसे उनमें से कई। 790 00:34:18,420 --> 00:34:21,560 यह समय का एक सा लगेगा, लेकिन यह है एक तरह की अंततः एक तर्क पहेली। 791 00:34:21,560 --> 00:34:22,060 >> मारिया: हाँ। 792 00:34:22,060 --> 00:34:25,060 लेकिन पंक्ति से पंक्ति में जाने का तर्क यहाँ बहुत उपयोगी होने जा रहा है। 793 00:34:25,060 --> 00:34:25,810 डेविड मालन: हाँ। 794 00:34:25,810 --> 00:34:28,976 मैं नमूना कोड आप भी gave-- लगता है यह एक पूरा कार्यक्रम नहीं था। 795 00:34:28,976 --> 00:34:34,247 तुम अब भी पूर्णांक और मुख्य जरूरत और शून्य और # शामिल stdio.h, 796 00:34:34,247 --> 00:34:35,580 व्याख्यान से सामान का एक बहुत। 797 00:34:35,580 --> 00:34:37,629 लेकिन इमारत ब्लॉकों वहाँ होने लगते हैं। 798 00:34:37,629 --> 00:34:39,920 और फिर अंत में कुछ है एक छोटे से अधिक एल्गोरिथम। 799 00:34:39,920 --> 00:34:43,210 तो यह किसी भी समय पता चला है कि आप सीवीएस या किसी सुविधा की दुकान में जाने 800 00:34:43,210 --> 00:34:47,810 और किसी को आप हाथ खजांची बिल या परिवर्तन के रूप में सिक्कों, 801 00:34:47,810 --> 00:34:50,620 यह पता चला है कि वे मनुष्यों, वे यह जानते हैं या नहीं, या नहीं, 802 00:34:50,620 --> 00:34:53,300 शायद क्या प्रयोग कर रहे हैं एक लालची एल्गोरिथ्म कहा जाता है, 803 00:34:53,300 --> 00:34:58,170 आप बकाया कर रहे हैं, का कहना है, जिसके तहत 21 $ परिवर्तन में क्योंकि किसी कारण के लिए 804 00:34:58,170 --> 00:35:01,580 आप बहुत सस्ती कुछ खरीदा सीवीएस पर एक बहुत बड़ा बिल के साथ, 805 00:35:01,580 --> 00:35:05,910 अगर यह सच में कष्टप्रद होगा खजांची आप 21 एकल या बुरा दिया 806 00:35:05,910 --> 00:35:07,629 अभी तक, सिक्कों की एक पूरी बहुत कुछ। 807 00:35:07,629 --> 00:35:10,670 बल्कि, एक उचित व्यक्ति क्या है शायद ऐसा करने जा रहा है कि वे जा रहे है 808 00:35:10,670 --> 00:35:14,224 एक $ 20 और फिर एक $ 1 बिल, और हड़पने के लिए आपको लगता है कि इस मामले में सिर्फ दो बिलों का हाथ। 809 00:35:14,224 --> 00:35:17,390 मारिया: तो वे कम से कम करने की मांग कर रहे वे तुम्हें करने के लिए वापस दे कि परिवर्तन। 810 00:35:17,390 --> 00:35:17,850 डेविड मालन: बिल्कुल। 811 00:35:17,850 --> 00:35:19,540 और एक ही सौदा के सिक्कों के साथ, के रूप में अच्छी तरह से। 812 00:35:19,540 --> 00:35:23,040 आप बकाया कर रहे हैं, $ 0.50 कहते हैं, उम्मीद है कि आप 50 पैसे नहीं करना चाहती। 813 00:35:23,040 --> 00:35:25,500 आप के बजाय दो चाहते हैं उदाहरण के लिए क्वार्टर,। 814 00:35:25,500 --> 00:35:27,540 अब, यह मान करता है खजांची है कि 815 00:35:27,540 --> 00:35:29,940 हर मज़हब के लिए पर्याप्त है कि वह या वह तुम्हें देने के लिए चाहते हो सकता है। 816 00:35:29,940 --> 00:35:32,148 लेकिन हम आपको ग्रहण करने के लिए अनुमति नहीं है समस्या के रूप में ज्यादा। 817 00:35:32,148 --> 00:35:35,590 और लक्ष्य के अंत में, करने के लिए है सी कोड में एक लालची एल्गोरिथ्म को लागू करने। 818 00:35:35,590 --> 00:35:37,344 तो उपयोगकर्ता की अनुमति दी है कितना में टाइप करने के लिए 819 00:35:37,344 --> 00:35:40,510 वह बदल सकते हैं या वह डॉलर के साथ बकाया है और सेंट, चल बिन्दु किसी तरह का 820 00:35:40,510 --> 00:35:41,590 शायद मूल्य। 821 00:35:41,590 --> 00:35:45,530 और फिर आप गणित क्या करना है और खैर, एल्गोरिदम यह पता लगाने, 822 00:35:45,530 --> 00:35:49,020 कितने सिक्के मैं दे सकता है आप न्यूनतम तुम्हें देने के लिए 823 00:35:49,020 --> 00:35:50,270 परिवर्तन की ठीक है कि राशि। 824 00:35:50,270 --> 00:35:53,470 लेकिन एक होने जा रहा है यहाँ कुछ मुश्किल भागों, है ना? 825 00:35:53,470 --> 00:35:56,236 पूरे जैसे वहाँ अस्पष्टता मुद्दा। 826 00:35:56,236 --> 00:35:56,860 मारिया: बिल्कुल। 827 00:35:56,860 --> 00:35:59,114 तो चल बिन्दु मूल्यों अस्पष्टता है। 828 00:35:59,114 --> 00:36:00,780 हम आज व्याख्यान में इस बारे में बात की? 829 00:36:00,780 --> 00:36:02,340 >> डेविड मालन: हम किया था व्याख्यान में पिछली बार। 830 00:36:02,340 --> 00:36:03,506 हम अस्पष्टता के बारे में बात की थी। 831 00:36:03,506 --> 00:36:08,840 और अगर आप उपयोगकर्ता धोखा नहीं करना चाहते हैं कितना परिवर्तन का वह या वह बकाया है। 832 00:36:08,840 --> 00:36:11,290 और तो पूर्वाभ्यास में समस्या सेट विनिर्देश, 833 00:36:11,290 --> 00:36:15,990 के रूप में, अंत में, कुछ सोचा दे आप उन लोगों को कम कर सकते हैं कि कैसे अस्पष्टता 834 00:36:15,990 --> 00:36:17,280 त्रुटियों, संभवतः। 835 00:36:17,280 --> 00:36:21,050 इसके लिए, निश्चित रूप से, परिहार्य है हम के बारे में बात कर रहे हैं आदानों। 836 00:36:21,050 --> 00:36:23,590 और, वास्तव में, pennies-- शायद हम Zamyla के लिए स्थगित कर देंगे, 837 00:36:23,590 --> 00:36:25,136 मैं वहाँ चाल के लिए, लगता है। 838 00:36:25,136 --> 00:36:27,760 तो अंत में, आप एक मिल जाएगा समस्याओं को बढ़ने से इस सप्ताह 839 00:36:27,760 --> 00:36:30,700 जिसमें से पहला, बहुत छोटा है तो मध्यम, तो एक बड़ा सा। 840 00:36:30,700 --> 00:36:33,200 लेकिन उन सभी को इमारत का उपयोग यह पिछले सप्ताह से ब्लॉक, 841 00:36:33,200 --> 00:36:35,280 इस supersection से, समस्या सेट विनिर्देश 842 00:36:35,280 --> 00:36:36,710 असंख्य संसाधनों में डालता है। 843 00:36:36,710 --> 00:36:41,000 लेकिन फिर भी, अगर सब पर संघर्ष विशेष रूप से कम आराम से उन लोगों के बीच 844 00:36:41,000 --> 00:36:42,917 कोई पूर्व की पृष्ठभूमि के साथ, कार्यालय समय के लिए आए 845 00:36:42,917 --> 00:36:44,958 सोमवार और मंगलवार और पर बुधवार और गुरुवार। 846 00:36:44,958 --> 00:36:46,950 के माध्यम से चर्चा CS50 करने के लिए जाओ पाठ्यक्रम की वेबसाइट 847 00:36:46,950 --> 00:36:49,080 जो के माध्यम से आप चैट कर सकते हैं कर्मचारियों और सहपाठियों के साथ। 848 00:36:49,080 --> 00:36:51,670 >> लेकिन अंततः, मुझे लगता है कि सबसे अच्छी सलाह है, बस जल्दी शुरू किया गया है। 849 00:36:51,670 --> 00:36:54,711 यह वर्ग की तरह नहीं है कि आप बुधवार को psets शुरू किया जाना चाहिए 850 00:36:54,711 --> 00:36:56,640 रात, या बुरा गुरुवार की रात। 851 00:36:56,640 --> 00:36:59,067 >> मारिया: मेरी सबसे अच्छी सलाह है सोमवार से शुरू कर दिया है। 852 00:36:59,067 --> 00:36:59,900 डेविड मालन: सोमवार। 853 00:36:59,900 --> 00:37:02,490 तो अगर आप कोई already-- शुरू नहीं किया है। 854 00:37:02,490 --> 00:37:04,732 लेकिन फिर भी अगर नहीं सोमवार, तो मंगलवार। 855 00:37:04,732 --> 00:37:05,690 जितना जल्दी उतना अच्छा। 856 00:37:05,690 --> 00:37:08,605 और उस कारण है कोर्स है तो कई देर दिनों की है 857 00:37:08,605 --> 00:37:10,535 आप एक का एक सा देने के लिए मनोवैज्ञानिक दबाव 858 00:37:10,535 --> 00:37:13,684 पहले शुरू है, लेकिन अभी भी यह बताने के लिए चीजों को अब लेने के लिए जब बातें पर्ची 859 00:37:13,684 --> 00:37:14,350 आपकी अपेक्षा से। 860 00:37:14,350 --> 00:37:17,950 >> मारिया: और आप का उपयोग करना चाहते हैं कार्यालय समय भी, आप जितना कर सकते हैं। 861 00:37:17,950 --> 00:37:20,291 >> डेविड मालन: कोई सवाल? 862 00:37:20,291 --> 00:37:20,790 ठीक है। 863 00:37:20,790 --> 00:37:22,930 खैर, हम यहाँ क्यों स्थगित नहीं करते हैं? 864 00:37:22,930 --> 00:37:23,487