1 00:00:00,000 --> 00:00:02,742 >> [მუსიკის დაკვრა] 2 00:00:02,742 --> 00:00:05,030 3 00:00:05,030 --> 00:00:09,090 >> Andi Peng: ეს ​​არის CS50, და მივესალმებით კვირაში ორი მონაკვეთზე. 4 00:00:09,090 --> 00:00:11,740 ეს არის რეალურად, ხოლო კვირაში ჩვენი ორი კლასის ფაქტობრივად, 5 00:00:11,740 --> 00:00:14,550 პირველ კვირას, რომ ჩვენ გვქონდა განყოფილებაში. 6 00:00:14,550 --> 00:00:18,897 შოუ ხელში, რამდენი თქვენგანი ყველა მოვიდა სუპერ მონაკვეთზე გასულ კვირას? 7 00:00:18,897 --> 00:00:19,480 OK, რომ კარგადაა. 8 00:00:19,480 --> 00:00:20,020 ეს არის ის, OK. 9 00:00:20,020 --> 00:00:23,110 რამდენი თქვენგანი უყურებს სუპერ მონაკვეთზე გასულ კვირას? 10 00:00:23,110 --> 00:00:23,610 OK. 11 00:00:23,610 --> 00:00:25,702 და შენ გააკეთა ჯარიმის on პრობლემა მითითებული ერთი? 12 00:00:25,702 --> 00:00:28,660 ასე რომ, მე ვაპირებ, რომ ჩვენ გვაქვს რამოდენიმე მართლაც ჭკვიანი ბავშვები 13 00:00:28,660 --> 00:00:32,310 ამ კლასში და რამ კარგად იქნება. 14 00:00:32,310 --> 00:00:33,180 OK. 15 00:00:33,180 --> 00:00:33,980 ასე რომ, პირველი 16 00:00:33,980 --> 00:00:37,900 17 00:00:37,900 --> 00:00:41,090 >> პირველ რიგში, ჩვენ უბრალოდ აპირებს მოკლედ გადასვლა ზე მეტი დღის წესრიგში დღეს. 18 00:00:41,090 --> 00:00:42,700 ჩვენ ვსაუბრობთ, რა თქმა უნდა ლოგისტიკის. 19 00:00:42,700 --> 00:00:45,480 ბევრი თქვენგანი ალბათ აქვს შეკითხვები 20 00:00:45,480 --> 00:00:46,920 როგორ რამ აწარმოებს ამ კურსს. 21 00:00:46,920 --> 00:00:47,897 ჩვენ უპასუხოს მათ. 22 00:00:47,897 --> 00:00:49,730 ჩვენ ვაპირებთ, რომ მოკლედ გადასვლა ზე მეტი მარყუჟების შემთხვევაში 23 00:00:49,730 --> 00:00:51,410 რომელიმე თქვენ ბიჭები გაუშვა სუპერ მონაკვეთზე. 24 00:00:51,410 --> 00:00:53,240 ჩვენ ვსაუბრობთ ASCII რუკების. 25 00:00:53,240 --> 00:00:56,180 ჩვენ ვსაუბრობთ კოლექტორები, ფუნქციები, ბრძანების არგუმენტები. 26 00:00:56,180 --> 00:01:00,210 და ბოლოს, რა თქვენ ბიჭები ალბათ ყველა ნამდვილად გსურთ იყოს აქ, რათა გაეცნონ, 27 00:01:00,210 --> 00:01:01,270 თქვენი pset2. 28 00:01:01,270 --> 00:01:04,209 ჩვენ გვექნება ზოგიერთი ლამაზი ტრიუკები და რჩევა, თუ როგორ უნდა გავაკეთოთ, რომ. 29 00:01:04,209 --> 00:01:07,910 30 00:01:07,910 --> 00:01:08,690 >> OK. 31 00:01:08,690 --> 00:01:11,450 გარდა ამისა, მეორე რიგში, ჩვენ უამრავი candy აქ. 32 00:01:11,450 --> 00:01:13,583 ვისაც უყვარს candy, მხოლოდ ამუშავება აქ. 33 00:01:13,583 --> 00:01:14,430 Grab ზოგიერთი. 34 00:01:14,430 --> 00:01:15,100 მე მაქვს რამოდენიმე. 35 00:01:15,100 --> 00:01:16,390 ჩვენ გვყავს ტონა ოფისში. 36 00:01:16,390 --> 00:01:18,230 მე ნამდვილად არ მინდა ჭამა Candy მთელი დღე. 37 00:01:18,230 --> 00:01:20,300 თქვენ ბიჭები უნდა ჭამა ყველა კამფეტი, იმიტომ, რომ მე მოუტანა მას აქ თქვენ ბიჭები. 38 00:01:20,300 --> 00:01:20,990 უბრალოდ ჭამეთ კანფეტი. 39 00:01:20,990 --> 00:01:24,080 იქ იქნება candy ყოველ სექციაში. 40 00:01:24,080 --> 00:01:25,330 >> ასე რომ, პირველი, ვინ ვარ მე? 41 00:01:25,330 --> 00:01:27,080 ჩემი სახელი არის Andi Peng. 42 00:01:27,080 --> 00:01:30,270 უფროსი მე ვარ TA of CS50 აქ იელის. 43 00:01:30,270 --> 00:01:32,540 და გარდა ამისა, რომ, მე ასევე be-- 44 00:01:32,540 --> 00:01:35,600 თუ ვინმე მოსწონს თქვენი გაშვებული buddy, თქვენი მხრის ტირილი. 45 00:01:35,600 --> 00:01:39,140 იმ შემთხვევაში, თუ ღამეს თქვენი pset ის გამო, თქვენ არ ვიცი, რა ხდება, 46 00:01:39,140 --> 00:01:40,080 მოხვდა me up. 47 00:01:40,080 --> 00:01:42,770 ჩვენ commiserate ერთად, და სხვა. 48 00:01:42,770 --> 00:01:46,100 უბრალოდ ვიცი, რომ მე აქ ვარ, როგორც რესურსი თქვენ, როგორც ფრონტის ხაზი 49 00:01:46,100 --> 00:01:51,830 ეხმარება ბიჭებს გაერკვნენ, თუ როგორ პრობლემების CS50 და მის ფარგლებს გარეთ. 50 00:01:51,830 --> 00:01:54,590 >> ჩემი ელ არის andi.peng@yale.edu. 51 00:01:54,590 --> 00:01:58,390 მე ასევე out ინდივიდუალური ელ ჩემი ტელეფონის ნომერი ის 52 00:01:58,390 --> 00:02:01,860 ისე, რომ არ ყველას ინტერნეტ ხედავთ, ჩემი ტელეფონის ნომერი. 53 00:02:01,860 --> 00:02:03,640 მოგერიდებათ მირეკავენ ნებისმიერ დროს. 54 00:02:03,640 --> 00:02:07,510 სერიოზულად, ჩემი ტელეფონი არის როგორც წესი, ერთვის ჩემი მხრივ. 55 00:02:07,510 --> 00:02:10,240 მე შეიძლება არ უპასუხა ფარგლებში რამდენიმე წუთის განმავლობაში. 56 00:02:10,240 --> 00:02:11,984 მე არ რეაგირება რამდენიმე საათის განმავლობაში. 57 00:02:11,984 --> 00:02:14,400 მაგრამ მე გარანტიას გაძლევთ, თუ თქვენ e-mail me, თუ მირეკავენ, 58 00:02:14,400 --> 00:02:17,404 ტექსტის, მე კი გიპასუხებთ 24 საათის განმავლობაში. 59 00:02:17,404 --> 00:02:19,820 ხშირ შემთხვევაში, მე რეაგირება ადრე რომ, რადგან მე მესმის 60 00:02:19,820 --> 00:02:23,900 რომ ყველას გვაქვს გარკვეული პრობლემები, და გსურთ თქვენი პასუხი 61 00:02:23,900 --> 00:02:26,110 უნდა გაეცეს პასუხი ძალიან სწრაფად. 62 00:02:26,110 --> 00:02:28,945 >> თუმცა, თუ თქვენ მოვუწოდებთ მე 30 წუთით ადრე 63 00:02:28,945 --> 00:02:31,570 რომ ნაჭერი რომ იმის გამო, ხუთშაბათი ღამე იყოს, Andi, დამეხმაროთ, 64 00:02:31,570 --> 00:02:35,380 მე არ started-- მე შეიძლება მისცეს რომ მხრის ტირილი შესახებ. 65 00:02:35,380 --> 00:02:41,520 მაგრამ ეს შეიძლება იყოს დრო, რომ ვიფიქროთ როგორ არ უნდა გავაკეთოთ, რომ მომავალი დრო. 66 00:02:41,520 --> 00:02:44,040 OK. 67 00:02:44,040 --> 00:02:44,944 Oops. 68 00:02:44,944 --> 00:02:45,850 როგორ შემიძლია დაბრუნდეს? 69 00:02:45,850 --> 00:02:48,140 იქ ჩვენ წავიდეთ. 70 00:02:48,140 --> 00:02:52,310 >> ასე რომ, რა თქმა უნდა, ჩვენ გვაქვს ტონა მხარდაჭერა ყველას. 71 00:02:52,310 --> 00:02:54,640 გარდა ამისა, უბრალოდ განყოფილებები აქ, რომელიც 72 00:02:54,640 --> 00:02:57,000 ყოველ კვირას დახარჯოს 90 მშვენიერი ე წუთზე ჩემთან ერთად, 73 00:02:57,000 --> 00:02:58,330 ჩვენ ასევე გვაქვს საათებში. 74 00:02:58,330 --> 00:03:01,021 რამდენი თქვენგანი უკვე ყოფილა საათებში დახმარება? 75 00:03:01,021 --> 00:03:01,520 შესანიშნავი. 76 00:03:01,520 --> 00:03:05,700 ეს არის ძალიან კარგი, რომ ნახოთ, იმიტომ, რომ ჩვენ აქვს შტაბის 45-ზე მეტ TAs და CAS 77 00:03:05,700 --> 00:03:11,780 მომზადებული ამ, რა თქმა უნდა, რომ აქ ხართ ეხმარება თქვენ ბიჭები თქვენი psets. 78 00:03:11,780 --> 00:03:14,580 >> ორშაბათს ისინი გაიმართა TEAL კლასის 17 Hill House აქ 79 00:03:14,580 --> 00:03:15,350 იელის. 80 00:03:15,350 --> 00:03:17,349 სამშაბათს და ხუთშაბათს, ისინი გაიმართა commons. 81 00:03:17,349 --> 00:03:20,010 8:00 11:00 საკმაოდ ბევრი ყოველ სამუშაო დღეს. 82 00:03:20,010 --> 00:03:21,620 მოდით, გამოვა. 83 00:03:21,620 --> 00:03:24,030 არანაირი პრობლემა, არ პრობლემის უბრალოდ მოვიდა წელს, 84 00:03:24,030 --> 00:03:26,650 და მაშინ ჩვენ დაგეხმარებით ერთად, რომ. 85 00:03:26,650 --> 00:03:31,640 >> მეორე, გარდა იმისა, რომ სამუშაო საათებში და სექციები, ჩვენ ასევე გვაქვს შორტები. 86 00:03:31,640 --> 00:03:35,930 აქვს ვინმეს ოდესმე მინახავს რამდენიმე შორტები ან walkthroughs ვიდეოკადრები 87 00:03:35,930 --> 00:03:36,750 ვებ გვერდი? 88 00:03:36,750 --> 00:03:37,250 OK. 89 00:03:37,250 --> 00:03:39,510 ასე რომ, ისინი ნამდვილად, ნამდვილად გამოსადეგი. 90 00:03:39,510 --> 00:03:42,470 ჩვენი საყვარელი ჰარვარდის წარმოება გუნდის იქ, რომ სკოლა 91 00:03:42,470 --> 00:03:47,910 ჩრდილოეთით, მათ გადაიღეს და წარმოებული ეს წარმოუდგენელი walkthrough videos. 92 00:03:47,910 --> 00:03:52,290 >> ისინი თქვენ ეტაპობრივად მეშვეობით როგორ წავიდეთ შესახებ გადაჭრის პრობლემას. 93 00:03:52,290 --> 00:03:56,340 ხშირ შემთხვევაში, თუ თქვენ დაბნეული შესახებ მარტივი კონცეფცია, სინგულარული კონცეფცია, 94 00:03:56,340 --> 00:03:59,780 შევხედოთ, იმიტომ, რომ ჩვენ, ალბათ, მოკლე მასზე სადღაც ჩვენს ვებგვერდზე. 95 00:03:59,780 --> 00:04:03,800 და ეს, როგორც წესი, დიდი რესურსი უნდა ვეძებოთ, როდესაც თქვენ პირველი 96 00:04:03,800 --> 00:04:06,510 დაკარგა თუ როგორ უნდა გაუმკლავდეს პრობლემა. 97 00:04:06,510 --> 00:04:09,750 >> მესამე, ჩვენ ასევე უნდა study50 და reference50. 98 00:04:09,750 --> 00:04:15,650 ასე რომ შეისწავლოს 50 საიტზე მხოლოდ ბმული. 99 00:04:15,650 --> 00:04:21,500 ეს, ჩემი აზრით, study.cs50.net ან რამე მაგდაგვარს. 100 00:04:21,500 --> 00:04:22,860 მხოლოდ Google. 101 00:04:22,860 --> 00:04:24,229 ჩვენ გვყავს უამრავი სლაიდები მომზადებული. 102 00:04:24,229 --> 00:04:26,770 ჩვენ გვყავს უამრავი შორტები და walkthroughs-- რამ ყველა შედგენილი 103 00:04:26,770 --> 00:04:31,070 ძალიან ლამაზი და სუფთა თქვენ ბიჭები ყველა დაათვალიეროთ, ვხედავ რაიმე ცნებები 104 00:04:31,070 --> 00:04:32,860 რომ თქვენ დაბნეული შესახებ. 105 00:04:32,860 --> 00:04:35,920 ეს ალბათ იქნება დაფარული იქ study50. 106 00:04:35,920 --> 00:04:37,640 >> Reference50-- მსგავსი. 107 00:04:37,640 --> 00:04:41,510 ჩვენ გვყავს ბევრი სხვადასხვა შენიშვნები ხელმისაწვდომი თქვენს განკარგულებაში. 108 00:04:41,510 --> 00:04:44,450 და ბოლოს, ჩვენ, რა არის მოუწოდა CS50 საუბარი, 109 00:04:44,450 --> 00:04:48,082 ფორუმს, რომელიც, თუ ღამეს თქვენ აკეთებთ თქვენი პრობლემა, ვთქვათ, 110 00:04:48,082 --> 00:04:49,880 გაქვთ შეკითხვა. 111 00:04:49,880 --> 00:04:52,340 შესვლა CS50 იმსჯელებს. 112 00:04:52,340 --> 00:04:53,190 განათავსეთ თქვენი კითხვა. 113 00:04:53,190 --> 00:04:55,820 და მაშინ ერთი hundreds-- ალბათ, thousands-- თანატოლებს 114 00:04:55,820 --> 00:04:57,960 აღების ამ კლასში შემოსული შესვლა. 115 00:04:57,960 --> 00:05:01,182 და, შესაძლოა, ვინმეს შეუძლია მიიღოს თქვენი პასუხი ადრე TA შეუძლია. 116 00:05:01,182 --> 00:05:03,390 ეს არსებითად მხოლოდ ფორუმი რომ ჩვენ შეგვიძლია ყველა 117 00:05:03,390 --> 00:05:04,556 გამოყენება, რათა განიხილონ ჩვენი პრობლემები. 118 00:05:04,556 --> 00:05:06,483 ეს არის მაგარი. 119 00:05:06,483 --> 00:05:10,660 120 00:05:10,660 --> 00:05:11,550 >> OK. 121 00:05:11,550 --> 00:05:13,220 ასე რომ, პრობლემა ადგენს. 122 00:05:13,220 --> 00:05:17,840 ჩვენ შესახებ უფლება სქელი პრობლემა მითითებული ორი. 123 00:05:17,840 --> 00:05:20,570 ბევრი ჩვენგანი უკვე იბრძოლა პრობლემა მითითებული ერთი. 124 00:05:20,570 --> 00:05:24,460 ჩვენ უკვე ვიცით, რომ ალბათ ელოდება ბოლო ღამე უნდა გავაკეთოთ თქვენი pset 125 00:05:24,460 --> 00:05:28,170 არ არის smartest რამ უნდა გავაკეთოთ CS50. 126 00:05:28,170 --> 00:05:32,380 >> რჩევები და მინიშნებები არსებითად წარმატება წავიკითხე მთელი სპეც. 127 00:05:32,380 --> 00:05:36,270 რამდენი თქვენგანი უკვე წაკითხვის სპეც pset 2? 128 00:05:36,270 --> 00:05:36,770 OK. 129 00:05:36,770 --> 00:05:39,840 ეს არის მყარი თანხა. 130 00:05:39,840 --> 00:05:43,210 მე ვიცი, შენ ალბათ აღიარებული , ახლა specs მართლაც ხანგრძლივი. 131 00:05:43,210 --> 00:05:45,700 ისინი მართლაც, მართლაც ხანგრძლივი. 132 00:05:45,700 --> 00:05:49,630 >> ეს მართლაც მძიმე წასაკითხი ყველა ხაზი რომ ყურადღებით სიტყვა-სიტყვით. 133 00:05:49,630 --> 00:05:52,780 გსურთ უბრალოდ skim, სადაც ის გიჩვენებთ უნდა გავაკეთოთ რაღაც. 134 00:05:52,780 --> 00:05:54,459 მე გარანტიას გაძლევთ, რომ არ გაგვაჩნია. 135 00:05:54,459 --> 00:05:56,750 თუ თქვენ, რომ, თქვენ ალბათ აპირებს მენატრება სადღაც 136 00:05:56,750 --> 00:05:58,458 სადაც ეს გიჩვენებთ როგორ უნდა დაიწყოს პრობლემა 137 00:05:58,458 --> 00:06:01,140 ან გიჩვენებთ თუ რა სახელი თქვენი პრობლემა და ეს გიჩვენებთ, 138 00:06:01,140 --> 00:06:03,720 ეს არის ალბათ საუკეთესო გზა დაიწყოს აკეთებს თქვენი პრობლემა. 139 00:06:03,720 --> 00:06:05,050 და მაშინ თქვენ უნდა დაიკარგოს. 140 00:06:05,050 --> 00:06:08,219 >> როდესაც თქვენ ცდილობენ წაიკითხონ თქვენი სპეც შუა ნაწილამდე იყვნენ მეშვეობით, 141 00:06:08,219 --> 00:06:10,510 ბევრი მნიშვნელოვანი information--, რომ თქვენ არ 142 00:06:10,510 --> 00:06:12,260 აპირებს შეძლებს მართლაც ხელმისაწვდომობა. 143 00:06:12,260 --> 00:06:13,219 ასე წავიკითხე მთელი სპეც. 144 00:06:13,219 --> 00:06:15,468 ცდილობენ წაიკითხონ მთელი სპეც სანამ მოვა განყოფილებიანი, 145 00:06:15,468 --> 00:06:17,360 იმიტომ, რომ მაშინ, როდესაც ჩვენ ვისაუბროთ pset, 146 00:06:17,360 --> 00:06:21,070 ჩვენ შეგვიძლია ყველა გაქვთ იდეა რა ხდება. 147 00:06:21,070 --> 00:06:25,169 >> მეორე, ეს არის კონცეფცია რომ მე მინდა მინიშნება 148 00:06:25,169 --> 00:06:26,710 ბევრი მთელი კურსი სემესტრში. 149 00:06:26,710 --> 00:06:30,070 მაგრამ არსებითად, ჩვენთან შესახვედრად შუა ნაწილამდე იყვნენ, არა? 150 00:06:30,070 --> 00:06:33,970 მე, როგორც თქვენი TA და ჯეისონ როგორც, რა თქმა უნდა მენეჯერი და Scaz როგორც თქვენი პროფესორი 151 00:06:33,970 --> 00:06:37,120 და დავით, როგორც თქვენი პროფესორი და ყველა სხვა lovely TAs ამ რა თქმა უნდა, 152 00:06:37,120 --> 00:06:39,830 თანაშემწეები ამ course-- ჩვენ ყველაფერს გავაკეთებთ იმისათვის, 153 00:06:39,830 --> 00:06:42,965 უზრუნველყოს, რომ თქვენ მითითებული მდე წარმატების რა თქმა უნდა. 154 00:06:42,965 --> 00:06:43,840 ჩვენ ჩავატარებთ განყოფილებაში. 155 00:06:43,840 --> 00:06:44,870 ჩვენ ჩავატარებთ საათებში. 156 00:06:44,870 --> 00:06:47,087 ჩვენ გიპასუხებთ თქვენი ტელეფონი ზარები, უპასუხოს თქვენი ელექტრონული ფოსტის, 157 00:06:47,087 --> 00:06:49,670 ყველაფერი გავაკეთოთ, რათა დარწმუნებული ვარ, თქვენს კითხვებს უპასუხა. 158 00:06:49,670 --> 00:06:51,460 >> თუმცა, დაგვეხმარება ძალიან. 159 00:06:51,460 --> 00:06:52,450 ჩვენთან შესახვედრად შუა ნაწილამდე იყვნენ. 160 00:06:52,450 --> 00:06:56,040 თუ მოვა საათებში არ რომელმაც წავიდა განყოფილებიანი, არ 161 00:06:56,040 --> 00:07:02,060 იხილა ლექციები, რომელსაც არ ვიცი, რა ხდება, იყოს, დამეხმაროთ. 162 00:07:02,060 --> 00:07:04,350 მე ვაპირებ, რომ იყოს, ასევე, მე ბოდიში. 163 00:07:04,350 --> 00:07:06,410 ეს შეიძლება იყოს დრო, რომ სარგებლის რომ მხრის ტირილი, 164 00:07:06,410 --> 00:07:08,959 იმიტომ, რომ მე არ ვარ დარწმუნებული რა შეგვიძლია გავაკეთოთ, რათა დაგეხმაროთ 165 00:07:08,959 --> 00:07:12,000 თუ არ ცდილობენ მინიმუმ დახმარება თავს ცოტა დასაწყისში. 166 00:07:12,000 --> 00:07:12,910 ჩვენთან შესახვედრად შუა ნაწილამდე იყვნენ. 167 00:07:12,910 --> 00:07:15,020 თქვენ იცით, გთხოვთ მოდის მზად არის პასუხი გასცეს და მიიღოს 168 00:07:15,020 --> 00:07:16,353 მზად არის ჩაერთოს მასალა. 169 00:07:16,353 --> 00:07:19,342 რაც რამ იმდენად ადვილია ყველასთვის ჩართული. 170 00:07:19,342 --> 00:07:22,970 ჰო, საკმაოდ ბევრი იყო. 171 00:07:22,970 --> 00:07:23,720 >> შეფასების. 172 00:07:23,720 --> 00:07:29,250 ასე რომ, სილაბუსი, ეს არის საკმაოდ სიღრმისეული დაკავშირებით, თუ როგორ ჩვენ კლასის. 173 00:07:29,250 --> 00:07:32,440 მაგრამ არსებითად, ავარია ამ 50% თქვენი grade 174 00:07:32,440 --> 00:07:34,530 იქნება psets, რომელიც არის ლამაზი, იმიტომ, რომ ის 175 00:07:34,530 --> 00:07:37,400 სადაც თქვენ ხარჯავს უზარმაზარ უმრავლესობა რა თქმა უნდა დრო. 176 00:07:37,400 --> 00:07:39,854 ტესტებში 40%, და თქვენი საბოლოო პროექტი იქნება 10%. 177 00:07:39,854 --> 00:07:42,520 იქნება ორი ვიქტორინებში მთელი რა თქმა უნდა, სემესტრში. 178 00:07:42,520 --> 00:07:47,050 მე ვფიქრობ, რომ ჯერ და ვადები ასევე ჩამოთვლილია სილაბუსში. 179 00:07:47,050 --> 00:07:49,210 >> ისე, რომ ჩვენ უნდა შეფასების თქვენს psets 180 00:07:49,210 --> 00:07:53,930 არის, რომ ჩვენ არსებითად ოთხ ფასეულობები, რომელიც უნდა მივუთითოთ თითოეული კლასის. 181 00:07:53,930 --> 00:07:57,250 ჩვენ გვყავს მნიშვნელობა ფარგლებს, სისწორეში, დიზაინი და სტილი. 182 00:07:57,250 --> 00:08:01,530 ასე რომ, როგორც ხედავთ, ეს ერთგვარი ჩვენი ფორმულა psets. 183 00:08:01,530 --> 00:08:03,640 სამი ვაძლევთ ყველაზე წონა სისწორე, 184 00:08:03,640 --> 00:08:06,140 რადგან აშკარად თქვენი მწვრთნელი უნდა ტესტირება შემთხვევებში 185 00:08:06,140 --> 00:08:08,480 ჩვენ გვინდა, რომ ეს ტესტი. 186 00:08:08,480 --> 00:08:11,000 >> თქვენ ბიჭები ყველას გვაქვს check50 თქვენს განკარგულებაში. 187 00:08:11,000 --> 00:08:13,730 ეს არის ძალიან სასარგებლო ფუნქცია რომ თქვენ ბიჭები შეუძლია ყველა 188 00:08:13,730 --> 00:08:17,560 ატვირთეთ თქვენი კოდი ჩვენი სერვერები სადაც ჩვენ აუცილებლად შეამოწმეთ იგი თქვენთვის. 189 00:08:17,560 --> 00:08:20,800 და ვნახე ის, frowny სახეები, ღიმილიანი სახეები. 190 00:08:20,800 --> 00:08:22,119 ისინი მართლაც, ნამდვილად გამოსადეგი. 191 00:08:22,119 --> 00:08:23,910 გთხოვთ არ იყოს სტუდენტი, რომელიც მინდა ლელო 192 00:08:23,910 --> 00:08:26,230 რომ hardcode ყველა პასუხი. 193 00:08:26,230 --> 00:08:30,050 მე ნამდვილად მინახავს pset, სადაც ვიღაც დაინახა ყველა ღირებულებებს check50 194 00:08:30,050 --> 00:08:33,429 და ისინი უბრალოდ მყარი კოდირებული შიგნით, თუ ეს ნომერი, ამობეჭდოთ ეს ნომერი. 195 00:08:33,429 --> 00:08:35,080 თუ რომ ნომერი, ბეჭდვა, რომ ნომერი. 196 00:08:35,080 --> 00:08:36,090 არ გაგვაჩნია. 197 00:08:36,090 --> 00:08:39,360 >> მიუხედავად იმისა, რომ ტექნიკურად check50 არის სწორი, 198 00:08:39,360 --> 00:08:41,809 თქვენი გზა გადაჭრის პრობლემა არ არის სწორი. 199 00:08:41,809 --> 00:08:45,770 ასე რომ, უბრალოდ გამოიყენოთ check50 sparingly. 200 00:08:45,770 --> 00:08:48,497 მაგრამ ასევე დარწმუნდით, რომ თქვენ გაგება, თუ როგორ ფუნქციონირებს, 201 00:08:48,497 --> 00:08:50,580 პროგრამა ფუნქციონირებს გარდა check50, 202 00:08:50,580 --> 00:08:53,120 იმიტომ, რომ ჩვენ არ შეგვიძლია შევამოწმოთ ყველა შესაძლებელია შემთხვევაში check50. 203 00:08:53,120 --> 00:08:55,440 ჩვენ უნდა ტესტირების ზოგიერთი მათგანი. 204 00:08:55,440 --> 00:09:00,390 >> დიზაინი არსებითად, თუ როგორ მოფიქრებული თქვენი კოდი? 205 00:09:00,390 --> 00:09:04,150 თუ თქვენ ხართ ასლი pasting სხვადასხვა ხაზი კოდი ბევრჯერ. 206 00:09:04,150 --> 00:09:06,960 იქნებ არ საკმაოდ საუკეთესო დიზაინის თქვენი კოდი. 207 00:09:06,960 --> 00:09:09,470 იქნებ დროა, რომ დაამატოთ loop. 208 00:09:09,470 --> 00:09:12,090 არსებითად, აქ უბრალოდ ყველა ცდილობს თქვენი კოდი 209 00:09:12,090 --> 00:09:17,010 ცდილობს თქვენი კოდი ეფექტურად შესაძლებელია ისე, რომ თქვენი პროგრამა ეშვება 210 00:09:17,010 --> 00:09:19,630 რაც შეიძლება სწრაფად. 211 00:09:19,630 --> 00:09:20,996 >> და ბოლოს, ჩვენ გვაქვს სტილი. 212 00:09:20,996 --> 00:09:24,360 ასე რომ, სტილი არის ერთგვარი თვითნებური, სუბიექტური ვადით. 213 00:09:24,360 --> 00:09:27,470 მე ვიცი, ჩვენ ოფიციალურად აქვს სტილი 50 მეგზური CS50, 214 00:09:27,470 --> 00:09:30,050 სადაც ეს გიჩვენებთ, oh, უნდა ჰქონდეს სივრცე აქ. 215 00:09:30,050 --> 00:09:32,220 თქვენ უნდა სახის ფორმატი თქვენი კოდი ამ გზით. 216 00:09:32,220 --> 00:09:34,070 თქვენ უნდა დაასახელოს რამ ამ გზით. 217 00:09:34,070 --> 00:09:38,180 >> მე ნამდვილად არ მაინტერესებს, თავისთავად, თუ როგორ თქვენ თქვენი სტილი კოდი, 218 00:09:38,180 --> 00:09:39,840 უბრალოდ, როგორც თქვენ დარჩება თანმიმდევრული. 219 00:09:39,840 --> 00:09:43,732 მაგალითად, თუ გსურთ დატოვეთ ფართი შემდეგ თქვენი ოთხ 220 00:09:43,732 --> 00:09:45,690 სანამ თქვენი ოთხი ციკლი, უბრალოდ, რომ ყოველ ჯერზე. 221 00:09:45,690 --> 00:09:46,523 ნუ სახის ამის გაკეთება. 222 00:09:46,523 --> 00:09:47,730 არ გააკეთოთ ეს სხვა დროს. 223 00:09:47,730 --> 00:09:51,046 თუ გსურთ, რომ შევინარჩუნოთ curly braces სივრცეში გარკვეული გზა, 224 00:09:51,046 --> 00:09:52,170 უბრალოდ ყოველთვის გავაკეთებთ, რომ გზა. 225 00:09:52,170 --> 00:09:54,628 ნუ სახის გავაკეთოთ, რომ სადღაც აქ და სადღაც იქ არ არის. 226 00:09:54,628 --> 00:09:57,010 როდესაც ჩვენ შეფასების, ეს მართლაც რთულია 227 00:09:57,010 --> 00:09:59,420 თუ მე არ ვიცი, როგორ თქვენ გაფორმებით თქვენი კოდი, 228 00:09:59,420 --> 00:10:02,064 რამ wacky და გარეთ ადგილი. 229 00:10:02,064 --> 00:10:04,980 თუ თქვენ უბრალოდ შეინახოს იგი თანმიმდევრული, ეს ბევრად უფრო ადვილია ჩემთვის, როგორც დიდი 230 00:10:04,980 --> 00:10:06,310 შეძლებს იკითხება თქვენი კოდი. 231 00:10:06,310 --> 00:10:09,393 ეს ბევრად უფრო ადვილია თქვენთვის, როგორც სტუდენტი შეძლებს გაეცნონ კოდი 232 00:10:09,393 --> 00:10:11,720 და ვნახოთ, რა არის არასწორი ეს ხაზი, თუ რატომ არის საკითხები. 233 00:10:11,720 --> 00:10:15,740 სტილი არის ერთ ერთი ყველაზე იოლი რამ თქვენ ბიჭები შეუძლია მიიღოს სრული ქულა. 234 00:10:15,740 --> 00:10:18,770 არსებითად, თუ უბრალოდ მაინტერესებს, თუ იხდით ხუთი წუთის ყურადღება 235 00:10:18,770 --> 00:10:22,760 თქვენი კოდი, ყოველ კვირას, თქვენ უნდა იქნება მიღების სრული სტილი რაოდენობა. 236 00:10:22,760 --> 00:10:26,020 >> და ბოლოს, ჩვენ გვაქვს რასაც მულტიპლიკატორის ფარგლებს. 237 00:10:26,020 --> 00:10:28,890 ფარგლებს მე ვიცი, რომ ეს არის დიდი სიტყვა, განსაკუთრებით ამ კლასში. 238 00:10:28,890 --> 00:10:31,030 მაგრამ ფარგლებს, რომ ყველა საშუალებით არის, რომ თქვენ ცდილობს 239 00:10:31,030 --> 00:10:33,670 psets რომ საუკეთესო თქვენი უნარი. 240 00:10:33,670 --> 00:10:37,180 თუ თქვენ ჩართოთ სამში თქვენი ოთხი პრობლემა 241 00:10:37,180 --> 00:10:39,460 და კი არ ცდილობენ ბოლო ერთი, თქვენ ალბათ 242 00:10:39,460 --> 00:10:41,630 აპირებს დაკარგავს გარკვეული რაოდენობა on ფარგლებს. 243 00:10:41,630 --> 00:10:44,560 >> მაშინაც კი, თუ თქვენ დავიწყო პრობლემა, ნუ თქვენი საუკეთესო გავლა იგი. 244 00:10:44,560 --> 00:10:47,691 მაშინაც კი, თუ ეს არ იმუშავებს, აქციოს იგი, იმიტომ, რომ აჩვენებს და მეტყველებს იმაზე, 245 00:10:47,691 --> 00:10:50,190 ჩვენთვის, რომ თქვენ ცდილობთ, რომ თქვენ სცადა პრობლემის მითითებული 246 00:10:50,190 --> 00:10:51,430 მაქსიმალურად თქვენი უნარი. 247 00:10:51,430 --> 00:10:53,800 და მაშინ ჩვენ შეგვიძლია მოგცეთ სრული ქულა ფარგლებს. 248 00:10:53,800 --> 00:10:58,715 >> სფერო არის ასევე ძალიან მნიშვნელოვანია, როდესაც ჩვენ ვისაუბროთ ყველაზე დაბალი pset ანგარიში წვეთი. 249 00:10:58,715 --> 00:11:02,010 ასე რომ, რა თქმა უნდა, სემესტრში, თქვენ ბიჭებს აქვთ ცხრა psets. 250 00:11:02,010 --> 00:11:05,340 და ჩვენ, ფაქტობრივად, ჩაშვების ყველაზე დაბალი ქულა აქედან ცხრა, 251 00:11:05,340 --> 00:11:07,670 მაგრამ მხოლოდ იმ შემთხვევაში თუ თქვენ გაქვთ სრული ფარგლებს რაოდენობა. 252 00:11:07,670 --> 00:11:11,120 >> ასე რომ, თუ თქვენ ჩართოთ არასრული pset, სამწუხაროდ, ჩვენ ვერ ჩამოაგდეს, რომ ერთი, 253 00:11:11,120 --> 00:11:13,540 იმიტომ, რომ თქვენი ფარგლებს რაოდენობა დასრულებული არ იყო. 254 00:11:13,540 --> 00:11:16,570 ასე რომ, თუ თქვენ გაქვთ საშინელი კვირაში სადაც თქვენ კვდება და თქვენ ავადმყოფი 255 00:11:16,570 --> 00:11:20,040 ან თქვენი ძაღლი მოკვდება, თქვენი კატა კვდება, და თქვენ გადატვირთულია საშინაო დავალება, 256 00:11:20,040 --> 00:11:21,074 უბრალოდ ცდილობენ pset. 257 00:11:21,074 --> 00:11:22,490 ამის გაკეთება, რათა საუკეთესო თქვენი უნარი. 258 00:11:22,490 --> 00:11:23,840 თუ ეს არ მოხდა, ეს არ აქვს. 259 00:11:23,840 --> 00:11:24,506 უბრალოდ ჩართოთ იგი. 260 00:11:24,506 --> 00:11:26,590 ყოველ შემთხვევაში, ჩვენ შეუძლია თქვენ მიუთითებს ძალისხმევა. 261 00:11:26,590 --> 00:11:28,510 >> ამისთვის ძალისხმევა ამ კლასში. 262 00:11:28,510 --> 00:11:30,170 მინიმუმ დაბალი ქულა წვეთი ძალისხმევა. 263 00:11:30,170 --> 00:11:32,354 ასე რომ, yeah. 264 00:11:32,354 --> 00:11:33,270 ეს არის საკმაოდ ბევრი იყო. 265 00:11:33,270 --> 00:11:36,521 ვინმეს აქვს კითხვები ასე რამდენადაც, თუ როგორ ჩვენ grade კლასში? 266 00:11:36,521 --> 00:11:37,187 ან ეს? 267 00:11:37,187 --> 00:11:41,220 ნებისმიერი ამ, ასე far-- განყოფილებები, სამუშაო საათებში? 268 00:11:41,220 --> 00:11:41,720 ზემოთ. 269 00:11:41,720 --> 00:11:46,720 270 00:11:46,720 --> 00:11:47,800 OK. 271 00:11:47,800 --> 00:11:51,260 >> ასე რომ, ეს არის საგანი, რომელიც არ ერთი ნამდვილად უყვარს ლაპარაკი. 272 00:11:51,260 --> 00:11:53,084 მე ნამდვილად არ მინდა ამაზე. 273 00:11:53,084 --> 00:11:55,250 თქვენ ბიჭები ნამდვილად არ მინდა მომისმინოთ ამაზე. 274 00:11:55,250 --> 00:11:57,690 მაგრამ, სამწუხაროდ, ჩვენ ყველა უნდა გაიგო ამის შესახებ. 275 00:11:57,690 --> 00:12:00,110 დავით გატარებული 20 წუთი ლექცია საუბრობდა. 276 00:12:00,110 --> 00:12:02,580 და ეს არის თემა აკადემიური პატიოსნება. 277 00:12:02,580 --> 00:12:08,110 >> ასე რომ, ჩვენ ყველა აქ ალბათ დაწერილი ესსე შუალედში ჩვენს Yale კარიერა. 278 00:12:08,110 --> 00:12:11,800 ჩვენ, ალბათ, მიღებული განხილვა, სადაც ჩვენ უკვე განუცხადა არ plagiarize ჩვენი ესსე, 279 00:12:11,800 --> 00:12:13,940 იმიტომ, რომ მუშაობა არ არის ჩვენი. 280 00:12:13,940 --> 00:12:18,109 კომპიუტერულ მეცნიერებაში, ჩვენ გვაქვს იგივე სახის კონცეფცია. 281 00:12:18,109 --> 00:12:20,150 ყველა სამუშაო, რომ თქვენ წარმოადგინოს, ყველა კოდი რომ წერთ 282 00:12:20,150 --> 00:12:21,900 უნდა იყოს კოდი, რომ თქვენ არ წერია. 283 00:12:21,900 --> 00:12:24,280 არ უნდა იყოს კოდი, რომ თქვენ გადაწერა სხვაგან. 284 00:12:24,280 --> 00:12:26,777 არ უნდა იყოს კოდი, რომელიც თქვენ googled და plopped in 285 00:12:26,777 --> 00:12:28,360 და თქვენ ნამდვილად არ ვიცი, თუ ის მუშაობს. 286 00:12:28,360 --> 00:12:32,440 თქვენ სახის გრძნობა რასაც ის აკეთებს, მაგრამ ნამდვილად არ. 287 00:12:32,440 --> 00:12:36,562 როდესაც ეჭვი, არსებითად, ის უბრალოდ იყოს გონივრული. 288 00:12:36,562 --> 00:12:38,520 ჩვენს სილაბუსი, ჩვენ გვაქვს მთელი სია რამ 289 00:12:38,520 --> 00:12:40,560 როგორც ვხედავთ, გონივრული წინააღმდეგ არ არის მიზანშეწონილი. 290 00:12:40,560 --> 00:12:43,820 >> მაგალითად, გონივრული თქვენ და თქვენი მეგობარი 291 00:12:43,820 --> 00:12:47,360 მსჯელობენ, თუ რა არის საუკეთესო გზა წავიდეთ ამის შესახებ ლოგიკურად გადაჭრის პრობლემას. 292 00:12:47,360 --> 00:12:48,910 ეს არის საკმაოდ გონივრული. 293 00:12:48,910 --> 00:12:53,244 რა არ იქნებოდა მიზანშეწონილი არის თუ ბიჭები ერთად, აკრეფილი იგივე კოდი, 294 00:12:53,244 --> 00:12:54,410 და აღმოჩნდა იმავე კოდი. 295 00:12:54,410 --> 00:12:56,302 ეს არ არის მიზანშეწონილი. 296 00:12:56,302 --> 00:12:57,510 იგივე, სახის ესსე. 297 00:12:57,510 --> 00:12:59,290 თუ გსურთ განიხილავს თქვენი მეგობარი, hey, 298 00:12:59,290 --> 00:13:00,220 ეს არის ის, რაც მე მინდა, რომ წერენ. 299 00:13:00,220 --> 00:13:02,500 ეს არის ნაბიჯები მინდა მიიღოს წერენ, დიდი. 300 00:13:02,500 --> 00:13:03,208 ეს არის მშვენიერი. 301 00:13:03,208 --> 00:13:04,790 გთხოვთ, ითანამშრომლონ ერთმანეთთან. 302 00:13:04,790 --> 00:13:06,540 თუ ბიჭები დაიწყოს წერა იგივე, 303 00:13:06,540 --> 00:13:10,020 გახდეს იმავე წერილში, რომელიც ნაკლები OK. 304 00:13:10,020 --> 00:13:13,200 ასე რომ, როდესაც ეჭვი, უბრალოდ არ აკეთებენ. 305 00:13:13,200 --> 00:13:16,940 >> აქ, ჩვენ CS50, ჩვენ სკრიპტები რომ აწარმოებს ავტომატიზაცია შესამოწმებლად 306 00:13:16,940 --> 00:13:21,740 არა მხოლოდ სისწორეში თქვენი კოდი, არამედ უნიკალურობა თქვენი კოდი. 307 00:13:21,740 --> 00:13:25,920 ასე რომ გთხოვთ არ დაგვაყენა პოზიცია რომელსაც ეხება თქვენი საქმე EXCOMM. 308 00:13:25,920 --> 00:13:31,110 გთხოვთ, უბრალოდ ყველას, მოდით უბრალოდ რომ ეს შესანიშნავი გამოცდილება. 309 00:13:31,110 --> 00:13:33,600 ყველას გაიგებს უკეთესი, ჩვენ ყველანი ვართ ბედნიერი, 310 00:13:33,600 --> 00:13:37,926 და ჩვენ ყველა შეიქმნა წარმატების რა თქმა უნდა. 311 00:13:37,926 --> 00:13:39,800 ის, რაც ძალიან უნიკალური ამ კლასში 312 00:13:39,800 --> 00:13:42,660 რომ მე ვფიქრობ, რომ ყველას უნდა ნამდვილად ყურადღება მიაქციონ არის, რომ ჩვენ გვაქვს 313 00:13:42,660 --> 00:13:44,930 რასაც სინანული პუნქტი ჩვენს სილაბუსში. 314 00:13:44,930 --> 00:13:50,010 ასე რომ, არსებითად, 72 საათის განმავლობაში, თუ თქვენ გვჯერა, რომ თქვენ გავაკეთეთ რაღაც 315 00:13:50,010 --> 00:13:53,240 თქვენ ნამდვილად არ ვიცი იყო საჭიროების შემთხვევაში, გთხოვთ მოგვმართოთ. 316 00:13:53,240 --> 00:13:57,220 ჩვენ გპირდებით, რომ 72 საათის განმავლობაში ჩვენ გაუმკლავდეს შემთხვევაში საკუთარ თავს 317 00:13:57,220 --> 00:13:59,820 მითითების გარეშე უმაღლესი ორგანოს ადმინისტრაციას. 318 00:13:59,820 --> 00:14:03,100 >> ასე რომ, თუ თქვენ მოვიდა ჩემთან და ამბობენ, Andi, hey, მე ნამდვილად ვწუხვარ, 319 00:14:03,100 --> 00:14:07,620 მაგრამ მე ვფიქრობ, რომ არსებობს რამდენიმე ხაზები ჩემი კოდი ღამით, რომ მე სახის googled, 320 00:14:07,620 --> 00:14:10,120 გადმოვიდა of Stack Overflow, ასლი და გაკრული, 321 00:14:10,120 --> 00:14:13,680 და მე ნამდვილად, ნამდვილად ვწუხვარ იმის შესახებ, რომ, ნება მომეცით ვიცი. 322 00:14:13,680 --> 00:14:16,900 გთხოვთ, ნუ უბრალოდ ასეც გართულდეს და იმედი მაქვს, რომ მე დაჭერა მას. 323 00:14:16,900 --> 00:14:17,784 ჩვენ დაჭერა მას. 324 00:14:17,784 --> 00:14:18,450 მოდი. 325 00:14:18,450 --> 00:14:20,520 მიადევნე თვალი 72 საათის განმავლობაში. 326 00:14:20,520 --> 00:14:22,240 ჩვენ გაერკვნენ გამოსავალი. 327 00:14:22,240 --> 00:14:26,679 და გპირდებით, რომ ჩვენ არ ეხება უნივერსიტეტის ხელისუფლება არსებითად. 328 00:14:26,679 --> 00:14:29,220 ასე რომ, ეს თქვენი საუკეთესო ინტერესი უბრალოდ იყოს პატიოსანი ყველას 329 00:14:29,220 --> 00:14:31,720 ჩართული, რა თქმა უნდა. 330 00:14:31,720 --> 00:14:34,630 >> OK. 331 00:14:34,630 --> 00:14:35,240 OK. 332 00:14:35,240 --> 00:14:37,800 ახლა, სწრაფად, სანამ მე გადაადგილება, ვინმემ 333 00:14:37,800 --> 00:14:42,670 აქვს შეკითხვები ლოგისტიკის იმაზე, თუ როგორ კურსები ჩვენ ვაპირებთ აწარმოებს, 334 00:14:42,670 --> 00:14:45,982 როგორ სექციები ვაპირებთ აწარმოებს, რომ არც ერთი? 335 00:14:45,982 --> 00:14:46,711 OK. 336 00:14:46,711 --> 00:14:47,210 ჰო. 337 00:14:47,210 --> 00:14:48,126 >> აუდიტორია: [INAUDIBLE]? 338 00:14:48,126 --> 00:14:50,414 339 00:14:50,414 --> 00:14:51,080 Andi Peng: ჰო. 340 00:14:51,080 --> 00:14:54,850 ასე რომ ტესტებში რამდენი ხართ ამ სამშაბათი / ოთხშაბათი განყოფილებაში? 341 00:14:54,850 --> 00:14:56,700 რამდენი ხართ სამშაბათი / ხუთშაბათი? 342 00:14:56,700 --> 00:14:58,550 OK, ასე, რომ ეს არის მყარი გაყოფილი აქ. 343 00:14:58,550 --> 00:15:00,900 ასე რომ, ისე, რომ ჩვენ აწარმოებს ის იელის არის, რომ ჩვენ 344 00:15:00,900 --> 00:15:04,040 ვაპირებთ აქვს ორი დამოუკიდებელი ტესტებში ერთი თითოეული სექცია, რომელიც 345 00:15:04,040 --> 00:15:06,160 იქნება მიღებული დროს კლასი. 346 00:15:06,160 --> 00:15:09,310 მე ვფიქრობ, რომ ოქტომბერში, ოქტომბრის ბოლოს, ასე რომ, ერთი კვირის ერთი 347 00:15:09,310 --> 00:15:10,794 ვიქტორინა. 348 00:15:10,794 --> 00:15:11,960 ჰო, ისე, უბრალოდ მოვიდა კლასის. 349 00:15:11,960 --> 00:15:13,920 იმ ორშაბათს და ოთხშაბათს, თქვენ მიიღოს ვიქტორინა. 350 00:15:13,920 --> 00:15:16,336 იმ სამშაბათს ან ხუთშაბათს, თქვენ მიიღოს სხვადასხვა ვიქტორინა. 351 00:15:16,336 --> 00:15:18,570 მაგრამ იმავე მასალის დაიფარება. 352 00:15:18,570 --> 00:15:19,160 ჰო. 353 00:15:19,160 --> 00:15:20,660 კარგი კითხვაა. 354 00:15:20,660 --> 00:15:21,160 ჰო. 355 00:15:21,160 --> 00:15:23,260 >> აუდიტორია: სად წასვლა შეამოწმოთ ჩვენი შეფასება? 356 00:15:23,260 --> 00:15:23,926 >> Andi Peng: ჰო. 357 00:15:23,926 --> 00:15:28,420 ასე რომ, მე იქნება გაგზავნის out ელ-ფოსტა რასაც ყოველ კვირას 358 00:15:28,420 --> 00:15:31,460 როდესაც ტესტები graded-- ან, ვწუხვარ, როდესაც psets ფასდება. 359 00:15:31,460 --> 00:15:34,120 Psets, როგორც წესი, აღმოჩნდა ამ შუადღისას ან პარასკევს. 360 00:15:34,120 --> 00:15:37,540 ასე რომ, მე გპირდებით, რომ ცდილობენ მიიღონ მათ უკან თქვენ 361 00:15:37,540 --> 00:15:40,000 შუადღისთვის შემდეგი პარასკევი. 362 00:15:40,000 --> 00:15:44,950 >> როდესაც მე grade pset, მე გამოგიგზავნით გარეთ შეტყობინებას grade წიგნაკი 363 00:15:44,950 --> 00:15:47,070 , რომელიც გიჩვენებთ თქვენი ანგარიში შეიძლება ჩაითვალოს ონლაინ რეჟიმში. 364 00:15:47,070 --> 00:15:52,022 ასე რომ, ამ კვირაში, მას შემდეგ, რაც მე დასრულდება შეფასების გასულ კვირას psets, 365 00:15:52,022 --> 00:15:54,230 თქვენ ბიჭები მიიღებს ელ-ფოსტა შეტყობინებას გეუბნებოდით, 366 00:15:54,230 --> 00:15:55,870 hey ეს არის სადაც თქვენ წასვლა ნახოთ თქვენი შეფასება. 367 00:15:55,870 --> 00:15:57,680 და თქვენ შეგიძლიათ ნახოთ ყველა ავარია თქვენი შეფასება. 368 00:15:57,680 --> 00:15:58,555 თქვენ შეგიძლიათ ნახოთ კომენტარი. 369 00:15:58,555 --> 00:16:00,360 ოჰ, სწრაფი რამ ასევე. 370 00:16:00,360 --> 00:16:03,060 კომენტარი სექციაში დიდი წიგნი, სადაც მე, ალბათ, 371 00:16:03,060 --> 00:16:05,300 ატარებენ უმრავლესობა ჩემი დრო შეფასების. 372 00:16:05,300 --> 00:16:07,094 ასე რომ, ერთი რამ, რომ მართლაც მნიშვნელოვანია, როდესაც 373 00:16:07,094 --> 00:16:09,010 თქვენ ბიჭები არიან ათვალიერებენ თქვენი შეფასება თქვენს psets 374 00:16:09,010 --> 00:16:11,400 ეს არ არის მხოლოდ ეძებს ფიზიკური ანგარიში 375 00:16:11,400 --> 00:16:14,630 არამედ აღების დრო ნამდვილად წაიკითხა ჩემი კომენტარი. 376 00:16:14,630 --> 00:16:17,820 >> ხშირად, რომელიც გაძლევთ კავშირი იმაზე, თუ როგორ თქვენ გადაჭრის პრობლემას. 377 00:16:17,820 --> 00:16:20,480 თუ თქვენ უნდა გავაკეთოთ რაღაც ცოტა უკეთესი, 378 00:16:20,480 --> 00:16:24,080 კონსტრუქციული კრიტიკა, როგორც წესი, საუკეთესო მიეცეს იმ კომენტარი სექციაში. 379 00:16:24,080 --> 00:16:26,950 ასე რომ, გთხოვთ, გთხოვთ, მე ვაპირებ დროის გასატარებლად წერილობითი კომენტარები. 380 00:16:26,950 --> 00:16:30,440 გთხოვთ, მე ნამდვილად იმსახურებს თუ ბიჭები რომ წაიკითხა იმ კომენტარი. 381 00:16:30,440 --> 00:16:31,170 OK. 382 00:16:31,170 --> 00:16:34,150 ზემოთ. 383 00:16:34,150 --> 00:16:34,680 >> ყველა უფლება. 384 00:16:34,680 --> 00:16:40,680 ასე რომ, ჩვენ ვაპირებთ, რომ დაიწყოს საუბარი და მხოლოდ განხილვის სწრაფად 385 00:16:40,680 --> 00:16:45,040 ზოგიერთი მასალა კვირაში ნულოვანი მხოლოდ ასე ჩვენ 386 00:16:45,040 --> 00:16:48,760 მარჯვენა გვერდზე დაწყებული ამ კვირაში პრობლემები. 387 00:16:48,760 --> 00:16:52,600 ასე რომ სანამ loop ერთ-ერთი სამი ტიპის მარყუჟების 388 00:16:52,600 --> 00:16:54,510 ჩვენ განვიხილეთ ადრე ამ კლასში. 389 00:16:54,510 --> 00:16:57,060 >> ხოლო loop არსებითად წერია სინტაქსი 390 00:16:57,060 --> 00:17:00,666 სადაც, ხოლო გარკვეული მდგომარეობა, ამისათვის არაერთხელ, არა? 391 00:17:00,666 --> 00:17:02,040 ვფიქრობ, რომ ეს ამ გრაფიკული აქ. 392 00:17:02,040 --> 00:17:04,780 თქვენ აპირებს დაიწყოს ზე გარკვეულ მომენტში თქვენი კოდი. 393 00:17:04,780 --> 00:17:09,030 თქვენ აპირებს შესვლის loop მდგომარეობაში if-- მე არ ვიცი x ნაკლებია. 394 00:17:09,030 --> 00:17:11,677 >> თუ ეს ასეა, თქვენ აპირებს შეასრულოს loop ორგანო. 395 00:17:11,677 --> 00:17:14,010 და თქვენ ვაპირებთ აკეთეთ რომ კიდევ ერთხელ, კიდევ ერთხელ, კიდევ ერთხელ, 396 00:17:14,010 --> 00:17:17,900 მეტი და over-- რის გამოც ის მარყუჟის სანამ თქვენი მდგომარეობა ხდება 397 00:17:17,900 --> 00:17:19,079 ყალბი. 398 00:17:19,079 --> 00:17:22,140 ასე რომ, ამ გზით, ხოლო loop ერთ-ერთი მარტივი გზა 399 00:17:22,140 --> 00:17:25,619 დაწერა რაიმე პირობით, რომ საჭიროებს ვიმეორებ მეტი და მეტი და მეტი. 400 00:17:25,619 --> 00:17:28,109 უბრალოდ ფრთხილად, როცა თქვენ წერილობით რაიმე სახის loop 401 00:17:28,109 --> 00:17:32,140 რომ თქვენ გაქვთ გასასვლელი მდგომარეობა, როგორც ისევე როგორც განახლება, რასაც ის 402 00:17:32,140 --> 00:17:36,714 ასე, რომ თქვენი loop არ მხოლოდ აწარმოებს და მეტი უსასრულოდ. 403 00:17:36,714 --> 00:17:38,630 ნებისმიერ შემთხვევაში, თქვენ აპირებს უნდა გვინდა დავრწმუნდეთ, 404 00:17:38,630 --> 00:17:42,670 რომ თქვენ შეცვლით ზოგიერთი ასპექტი თქვენი კოდი და ბოლოს ციკლი 405 00:17:42,670 --> 00:17:46,680 უბრალოდ დარწმუნდით, რომ თქვენ გაქვთ გზა პროგრესირებს მიმართ მდგომარეობაში 406 00:17:46,680 --> 00:17:48,400 რომ გსურთ აკმაყოფილებდეს ბოლომდე. 407 00:17:48,400 --> 00:17:50,239 არა, რომ აზრი ყველას? 408 00:17:50,239 --> 00:17:52,530 ჩვენ უბრალოდ არ მინდა, რომ იყოს წამოეწია ამ სპირალი, სადაც 409 00:17:52,530 --> 00:17:55,710 ჩვენ გარშემო და ირგვლივ და არ არსებობს გზა შესვენება loop. 410 00:17:55,710 --> 00:17:58,844 და ყოველ loop არსებითად აქვს გზა აკეთებს, რომ. 411 00:17:58,844 --> 00:17:59,344 OK. 412 00:17:59,344 --> 00:18:03,030 413 00:18:03,030 --> 00:18:06,060 >> მეორეც, ბევრი თქვენგანი თქვენს Mario psets 414 00:18:06,060 --> 00:18:08,910 ალბათ დასაქმება ამ ტიპის loop. 415 00:18:08,910 --> 00:18:11,802 ეს ეწოდება do ხოლო loop. 416 00:18:11,802 --> 00:18:14,510 პირველ რიგში, შეიძლება ვინმეს მითხრათ რა განსხვავებაა do 417 00:18:14,510 --> 00:18:16,586 ხოლო მარყუჟის და ხოლო loop არის? 418 00:18:16,586 --> 00:18:17,086 ჰო. 419 00:18:17,086 --> 00:18:21,030 >> აუდიტორია: do ხოლო loop გადის პირველი [INAUDIBLE]. 420 00:18:21,030 --> 00:18:22,120 >> Andi Peng: ჰო, ზუსტად. 421 00:18:22,120 --> 00:18:27,130 ასე რომ, ნუ ხოლო მარყუჟის ყოველთვის აკეთებს რასაც შიგნით do, შიგნით ფრჩხილებში 422 00:18:27,130 --> 00:18:30,520 იქ და იმას, რომ მდგომარეობა ადრე შემოწმების the-- ბოდიში, 423 00:18:30,520 --> 00:18:32,940 იმას, რომ კოდი წინაშე შემოწმების პირობით. 424 00:18:32,940 --> 00:18:37,200 ეს განსაკუთრებით მნიშვნელოვანია ჩვენთვის აქ ამ კლასში, იმიტომ, რომ ყველაზე ჯერ 425 00:18:37,200 --> 00:18:41,450 ჩვენ ვაპირებთ, რომ გსურთ უბიძგონ მომხმარებლის გარკვეული შეყვანა. 426 00:18:41,450 --> 00:18:43,520 და მაშინ, დამოკიდებულია შეყვანის ისინი გვაძლევენ, 427 00:18:43,520 --> 00:18:46,150 მაშინ ჩვენ შეგვიძლია შევაფასოთ, რა, ამის ჩვენ უნდა უბიძგონ კიდევ ერთხელ? 428 00:18:46,150 --> 00:18:49,930 >> ასე რომ, Mario, თუ მომხმარებელს მისცა თქვენ უარყოფითი სიმაღლე, მაგალითად, 429 00:18:49,930 --> 00:18:52,990 თქვენ აპირებს პირველი სწრაფი და ნუ რაც არის შიგნით. 430 00:18:52,990 --> 00:18:54,820 მაშინ ვაპირებთ, რათა შეამოწმოს, ხოლო. 431 00:18:54,820 --> 00:18:57,570 თქვენ იცით, არის უარყოფითი 1, ის არის, რომ დადებითი რიცხვი? 432 00:18:57,570 --> 00:19:00,680 თუ ეს არ არის, მე ვაპირებ წასვლა უკან და ვიმეორებ do და ვიმეორებ 433 00:19:00,680 --> 00:19:03,950 და ვიმეორებ და ვიმეორებ, სანამ ისინი საბოლოოდ გაძლევთ ნომერი, რომელიც გსურთ, 434 00:19:03,950 --> 00:19:07,002 რომ ჩვენ შეგვიძლია ყველა დასაქმება ჩვენი კოდი. 435 00:19:07,002 --> 00:19:09,210 ეს არის საკმაოდ მნიშვნელოვანი არსებითად პროფაილი შეყვანა. 436 00:19:09,210 --> 00:19:11,760 შემიძლია გარანტია მოგცეთ, ნებისმიერ დრო pset, სადაც 437 00:19:11,760 --> 00:19:15,070 ჩვენ ვთხოვთ თქვენ შეყვანის რაიმე კოდი, ჩვენ 438 00:19:15,070 --> 00:19:17,540 ალბათ აპირებს მოგცემთ ტესტი საქმე, რომელიც ჩვენ 439 00:19:17,540 --> 00:19:21,200 აპირებს მოგცემთ რაღაც ცუდი, რომ აპირებს ცდილობენ დაარღვიოს თქვენი კოდი. 440 00:19:21,200 --> 00:19:25,044 >> თუ ჩვენ ვცდილობთ გთხოვოთ შეყვანის რიცხვი, ჩვენ შეიძლება მხოლოდ მოგცემთ სიმებიანი 441 00:19:25,044 --> 00:19:26,460 და ვხედავ, თუ როგორ გაუმკლავდეს, რომ. 442 00:19:26,460 --> 00:19:30,610 თუ ჩვენ ვთხოვთ თქვენ დასაქმება ასაკის, ჩვენ მოგცემთ უარყოფითი ნომერი 443 00:19:30,610 --> 00:19:32,340 იმისათვის, რომ ნახოთ, თუ როგორ გაუმკლავდეს, რომ. 444 00:19:32,340 --> 00:19:37,260 უბრალოდ დარწმუნდით, რომ თქვენ ბიჭები ტესტირება საქმე, რომელშიც თქვენ არ მიიღოს საუკეთესო 445 00:19:37,260 --> 00:19:38,590 input, მოდით უბრალოდ, ვამბობთ. 446 00:19:38,590 --> 00:19:40,510 და ნუ ხოლო მარყუჟის არის ხშირად საუკეთესო 447 00:19:40,510 --> 00:19:45,260 გზა, რათა შეიმუშავონ თქვენი კოდი ისე რომ იგი აკმაყოფილებს, რომ ფარგლებს. 448 00:19:45,260 --> 00:19:45,760 OK. 449 00:19:45,760 --> 00:19:48,930 450 00:19:48,930 --> 00:19:49,470 >> OK. 451 00:19:49,470 --> 00:19:53,270 ასე რომ, ეს არის ალბათ ყველაზე კომპლექსი loop გარეთ სამი 452 00:19:53,270 --> 00:19:54,990 რომ ჩვენ შევხედე ჯერჯერობით. 453 00:19:54,990 --> 00:19:56,689 და როგორც ჩანს, ძალიან საშინელი პირველი. 454 00:19:56,689 --> 00:19:59,730 მაგრამ მე გაძლევთ გარანტიას, ერთხელ თქვენ ბიჭები შეეგუონ, თუ როგორ გამოიყენოთ ამისთვის მარყუჟის, 455 00:19:59,730 --> 00:20:03,320 ეს არის ერთ ერთი ყველაზე სასარგებლო რამ, ყველაზე სასარგებლო ინსტრუმენტები თქვენს არსენალში 456 00:20:03,320 --> 00:20:05,300 წინსვლის ამ კლასში. 457 00:20:05,300 --> 00:20:09,920 >> ასე მაგალითად, Scratch, ჩვენ გვქონდა ამ ძალიან მარტივი ბლოკი 458 00:20:09,920 --> 00:20:13,180 რომელიც მხოლოდ განაცხადა ვიმეორებ ამ კონკრეტულ ფრაზები გარკვეული რაოდენობის ჯერ. 459 00:20:13,180 --> 00:20:16,260 სხვათა შორის, SAJ-- რომ არის Scaz Andi ჯეისონ. 460 00:20:16,260 --> 00:20:18,740 ჩვენ ხშირად მოაწეროს ჩვენი ელ SAJ. 461 00:20:18,740 --> 00:20:20,360 თუ ვიტყვით, SAJ, არ უნდა იყოს დაბნეული. 462 00:20:20,360 --> 00:20:22,630 ეს მხოლოდ ჩვენთვის. 463 00:20:22,630 --> 00:20:28,600 >> ასე რომ, Scratch, ჩვენ შევძელით ბლოკი რომ განაცხადა, ვიმეორებ, მე მიყვარს SAJ! 464 00:20:28,600 --> 00:20:29,430 10-ჯერ. 465 00:20:29,430 --> 00:20:30,130 ძალიან მარტივია. 466 00:20:30,130 --> 00:20:32,302 ლოგიკა, რომელიც არის ძალიან, ძალიან მარტივია, არა? 467 00:20:32,302 --> 00:20:35,260 მე მინდა პირველი გავლა პირველი დრო და ვხედავთ, რომ, მეორედ 468 00:20:35,260 --> 00:20:38,510 და ვხედავ, რომ, მესამედ, ა.შ. და ასე შემდეგ, სანამ არ მოხვდა 10. 469 00:20:38,510 --> 00:20:41,960 >> და გზა ჩვენ წარმოადგენს, რომ კოდი არის უბრალო for loop. 470 00:20:41,960 --> 00:20:45,440 ასე რომ, თქვენ აპირებს გამოაცხადოს თქვენი ცვლადი აქ, ამ შემთხვევაში, 471 00:20:45,440 --> 00:20:46,349 ერთად int. 472 00:20:46,349 --> 00:20:47,390 ჩვენ ვაპირებთ, რომ დაარქვით i. 473 00:20:47,390 --> 00:20:49,500 ჩვენ ვაპირებთ, რომ ინიციალიზაცია მას 0. 474 00:20:49,500 --> 00:20:52,490 და გაჩერების გამოცემა იქნება მე ნაკლებია 10. 475 00:20:52,490 --> 00:20:54,622 და განახლება იქნება i ++. 476 00:20:54,622 --> 00:20:57,750 >> და შიგნით მარყუჟის, ის აპირებს შეასრულოს, სანამ საბოლოოდ 477 00:20:57,750 --> 00:21:01,490 ჰიტები ბოლოს condition--, რომელიც შემთხვევაში, ის აპირებს დაარღვიოს loop. 478 00:21:01,490 --> 00:21:04,600 არ უნდა იყოს პერსონალის, რომ თქვენ ბიჭები ყველა სახის მინახავს ადრე 479 00:21:04,600 --> 00:21:07,270 და ეს უნდა გააკეთოს, რომ თქვენი პრობლემა მითითებული ერთი. 480 00:21:07,270 --> 00:21:12,310 ვინმეს გაქვთ რაიმე შეკითხვები დაკავშირებით მარყუჟების ახლა? 481 00:21:12,310 --> 00:21:12,930 OK. 482 00:21:12,930 --> 00:21:13,430 შესანიშნავი. 483 00:21:13,430 --> 00:21:17,520 484 00:21:17,520 --> 00:21:18,620 >> OK. 485 00:21:18,620 --> 00:21:22,270 ასე რომ, იმ თქვენ, ვინც წაკითხვის pset სპეც ამ კვირაში 486 00:21:22,270 --> 00:21:27,690 ვიცით, რომ ჩვენ ვაპირებთ, რომ დასაქმება რაღაც მოუწოდა ASCII და ASCII მაგიდასთან. 487 00:21:27,690 --> 00:21:32,380 დავითმა ლექცია წავიდა მოკლედ როგორ კომპიუტერები არსებითად ყველაფერი 488 00:21:32,380 --> 00:21:35,410 არის კოდირებული კომპიუტერი ორობითი, zeros და პირობა. 489 00:21:35,410 --> 00:21:39,740 და ისე, რომ კომპიუტერი შეუძლიათ შესანახად სხვადასხვა ღირებულებების გარდა 490 00:21:39,740 --> 00:21:44,360 zeros და პირობა მეშვეობით რუკების იმ ნომრები წარმოადგენს სხვა ციფრები 491 00:21:44,360 --> 00:21:47,220 ან არსებითად სხვა სიმბოლოები. 492 00:21:47,220 --> 00:21:49,810 >> ასე რომ, ამ შემთხვევაში, ASCII მაგიდასთან ყველა ეს ასეა, 493 00:21:49,810 --> 00:21:53,600 არის რუკა გმირები, ან სიმბოლო, ნომრები. 494 00:21:53,600 --> 00:21:57,385 ასე რომ, კოდის, ფაილი თქვენს კომპიუტერში ის ხედავს, 495 00:21:57,385 --> 00:22:00,010 hey, bunch of zeros და პირობა, zeros და პირობა, zeros და პირობა. 496 00:22:00,010 --> 00:22:02,350 აი, რა ინახება ფაქტობრივი მეხსიერების თქვენს კომპიუტერში. 497 00:22:02,350 --> 00:22:04,750 >> მაგრამ, როდესაც ჩვენ ადამიანებს გვინდა ურთიერთობა კომპიუტერი, 498 00:22:04,750 --> 00:22:08,249 ჩვენ want-- ვთქვათ, მაგალითად, თუ მინდა ზედა, 499 00:22:08,249 --> 00:22:10,540 მე ვაპირებ უნდა გარკვეული გზა ვეუბნებოდი კომპიუტერი, oh, 500 00:22:10,540 --> 00:22:16,300 როდესაც მე აკრიფოთ ზედა, ვგულისხმობ ეს წარმომადგენლობა ორობითი. 501 00:22:16,300 --> 00:22:22,260 >> ასე რომ გზა გავაკეთოთ, რომ ესროლა თვითნებური რამ მოუწოდა ASCII მაგიდასთან, 502 00:22:22,260 --> 00:22:25,020 სადაც ჩვენ, როგორც ადამიანები, როგორც პროგრამისტები, რამდენიმე ხნის წინ, 503 00:22:25,020 --> 00:22:28,660 ჩვენ თვითნებურად გადაწყვიტა, რომ ჩვენ მიდიოდნენ დაავალოს ამ რაოდენობის 504 00:22:28,660 --> 00:22:30,960 ღირებულებები, ეს გმირები. 505 00:22:30,960 --> 00:22:32,720 >> ასე რომ, შენ შეიძლება google ამ ონლაინ რეჟიმში. 506 00:22:32,720 --> 00:22:37,120 მე ვფიქრობ, რომ ბმული ეს თქვენი pset-- მხოლოდ ASCII რუკა მაგიდა, ASCII 507 00:22:37,120 --> 00:22:37,720 მაგიდა. 508 00:22:37,720 --> 00:22:40,722 ეს მხოლოდ ითარგმნება ორობითი ნომრები სიმბოლო. 509 00:22:40,722 --> 00:22:42,930 და ეს იქნება ძალიან სასარგებლო თქვენი პრობლემა კომპლექტი 510 00:22:42,930 --> 00:22:45,470 როდესაც გსურთ გამოვთვალოთ არაფერი და თუ 511 00:22:45,470 --> 00:22:47,880 გვინდა, რომ არიან გარკვეული გმირები და რიცხვებით 512 00:22:47,880 --> 00:22:50,327 ან მანიპულირება გარკვეული სიმბოლო. 513 00:22:50,327 --> 00:22:52,160 ეს იქნება ძალიან მნიშვნელოვანია, რომ თქვენ ყველა 514 00:22:52,160 --> 00:22:55,140 იცით, თუ როგორ ნავიგაცია ASCII მაგიდასთან. 515 00:22:55,140 --> 00:23:01,260 >> ასე მაგალითად, ზედა წარმოდგენილია ნომერი 65. 516 00:23:01,260 --> 00:23:04,207 და ამას წარმოდგენილია 97. 517 00:23:04,207 --> 00:23:07,040 ამიტომ მნიშვნელოვანია, რომ იცით, რომ განსხვავება ორ ღირებულებები 518 00:23:07,040 --> 00:23:08,320 32. 519 00:23:08,320 --> 00:23:13,210 ხშირ შემთხვევაში, თუ უნდა გადაიყვანოთ ერთი სხვა, განსხვავება არის 32. 520 00:23:13,210 --> 00:23:15,710 და არ ინერვიულოთ თუ თქვენ სახის ბუნდოვანი ამ პირველი. 521 00:23:15,710 --> 00:23:20,230 ჩვენ წავიდეთ მეტი, თუ როგორ ჩვენ გვინდა დასაქმება ეს ფაქტობრივი კოდი. 522 00:23:20,230 --> 00:23:24,700 523 00:23:24,700 --> 00:23:26,380 >> OK. 524 00:23:26,380 --> 00:23:30,770 ასე რომ, იმ თქვენ, ლაპტოპები out, მოგერიდებათ დახევის up ASCII მაგიდასთან, 525 00:23:30,770 --> 00:23:36,030 იმიტომ, რომ ეს ალბათ მოითხოვს თუ არა ბიჭები მითითებას 526 00:23:36,030 --> 00:23:38,100 რა სიმბოლოები. 527 00:23:38,100 --> 00:23:38,640 OK. 528 00:23:38,640 --> 00:23:42,840 >> ასე იცის, რომ გარკვეული გმირები რუკაზე გარკვეული ნომრები, 529 00:23:42,840 --> 00:23:47,240 თუ მე აწარმოებს მხოლოდ პირველი ხაზი, რომ code--, printf a, 530 00:23:47,240 --> 00:23:50,900 ამას, მინუს ზედა A. ვინმეს 531 00:23:50,900 --> 00:23:55,880 გაქვთ ამოიცნობთ, თუ რა იქნება დაბეჭდვის ეკრანზე ახლა? 532 00:23:55,880 --> 00:23:58,190 >> ასე რომ, პირველ რიგში, რა ამას წარმოადგენს? 533 00:23:58,190 --> 00:24:00,990 რა ნომერი არის, რომ კოდირებული ASCII მაგიდასთან. 534 00:24:00,990 --> 00:24:01,490 ბოდიში? 535 00:24:01,490 --> 00:24:02,630 >> აუდიტორია: 97? 536 00:24:02,630 --> 00:24:03,630 >> Andi Peng: 97, დიდი. 537 00:24:03,630 --> 00:24:05,077 და რა არის ზედა? 538 00:24:05,077 --> 00:24:06,330 >> აუდიტორია: 65. 539 00:24:06,330 --> 00:24:08,255 >> Andi Peng: რა არის 97 მინუს 65? 540 00:24:08,255 --> 00:24:09,227 >> აუდიტორია: 32. 541 00:24:09,227 --> 00:24:09,810 Andi Peng: OK. 542 00:24:09,810 --> 00:24:13,530 ასე რომ, რას ბიჭები ვფიქრობ აპირებს მოხდეს, როდესაც მე input, რომ ხაზი კოდი 543 00:24:13,530 --> 00:24:14,670 ჩემს კომპიუტერში? 544 00:24:14,670 --> 00:24:17,981 545 00:24:17,981 --> 00:24:19,896 >> აუდიტორია: [INAUDIBLE]. 546 00:24:19,896 --> 00:24:21,020 Andi Peng: სამწუხაროდ, საუბარი up. 547 00:24:21,020 --> 00:24:22,520 არ აწუხებს. 548 00:24:22,520 --> 00:24:25,750 ეს არის ძალიან უსაფრთხო გარემო, მინუს კამერა. 549 00:24:25,750 --> 00:24:27,550 ჩვენ ყველა აპირებს, რომელთა მიზანია არ აწუხებს. 550 00:24:27,550 --> 00:24:30,940 უბრალოდ ჩვენ ყველა აპირებს პრეტენზია მოსწონს ეს მხოლოდ ჩვენს გამყინვარება ამ ოთახში. 551 00:24:30,940 --> 00:24:31,480 არ აწუხებს. 552 00:24:31,480 --> 00:24:33,410 კითხვის ნიშნები არ არის ძალიან სულელური. 553 00:24:33,410 --> 00:24:35,300 პასუხი არ არის სულელური პასუხი. 554 00:24:35,300 --> 00:24:38,260 მე ალბათ აპირებს, რათა შეცდომები რა თქმა უნდა, ჩემი სწავლების. 555 00:24:38,260 --> 00:24:40,740 სერიოზულად, ბიჭები, უბრალოდ ირჩევენ ის. 556 00:24:40,740 --> 00:24:43,092 იყავით დარწმუნებული საკუთარ თავს, თქვენ იცით? 557 00:24:43,092 --> 00:24:43,800 ასე რომ, რა იყო ეს? 558 00:24:43,800 --> 00:24:47,990 ვინ თქვა, რომ ბოლო პასუხი? 559 00:24:47,990 --> 00:24:48,540 OK. 560 00:24:48,540 --> 00:24:50,380 Shout, რომ ლამაზი და ნათელი. 561 00:24:50,380 --> 00:24:51,220 >> აუდიტორია: 32? 562 00:24:51,220 --> 00:24:51,850 >> Andi Peng: 32. 563 00:24:51,850 --> 00:24:54,141 OK, მოდით აწარმოებს ამ კოდი და თუ, რომ ის, რაც ხდება. 564 00:24:54,141 --> 00:25:00,260 565 00:25:00,260 --> 00:25:00,760 OK. 566 00:25:00,760 --> 00:25:03,300 567 00:25:03,300 --> 00:25:06,360 ასე რომ, როგორც თქვენ ბიჭები შეგიძლიათ სახის ვხედავ, ტიპიური notation მე 568 00:25:06,360 --> 00:25:12,250 შეიქმნა აქ, როგორ უნდა დაასაქმოს რაიმე პროგრამა ჩვენს კომპიუტერში. 569 00:25:12,250 --> 00:25:14,770 ჩვენ გვაქვს ჩვენი მთავარი ფუნქცია ჩვენს ძირითად ფუნქციას. 570 00:25:14,770 --> 00:25:17,265 მე უბრალოდ აპირებს კოპირება და ჩასვით ეს ხაზი კოდი. 571 00:25:17,265 --> 00:25:21,082 572 00:25:21,082 --> 00:25:23,540 ასევე, ფრთხილად, როდესაც თქვენ ბიჭები გადაწერა და pasting კოდი. 573 00:25:23,540 --> 00:25:28,750 ზოგჯერ გარკვეული ოპერატორები არ ჩასვით მეტი სწორად. 574 00:25:28,750 --> 00:25:31,397 იმ შემთხვევაში, მინუს ნიშანი იყო, ფაქტობრივად, dash. 575 00:25:31,397 --> 00:25:32,980 ასე რომ, კომპიუტერში არ აირჩიოთ it up. 576 00:25:32,980 --> 00:25:35,870 ასე რომ, მე უნდა დაბრუნდეს და ფიზიკური გაიმეორეთ, რომ. 577 00:25:35,870 --> 00:25:37,846 უბრალოდ ფრთხილად, როდესაც თქვენ ბიჭები აკეთებენ, რომ. 578 00:25:37,846 --> 00:25:41,178 579 00:25:41,178 --> 00:25:42,660 >> OK. 580 00:25:42,660 --> 00:25:43,980 ჩვენ ვაპირებთ, რომ აწარმოებს ამ აქ. 581 00:25:43,980 --> 00:25:45,670 ასე რომ, ჩვენ ვაპირებთ, რომ cd ჩვენი section2. 582 00:25:45,670 --> 00:25:50,470 583 00:25:50,470 --> 00:25:52,030 მე მოუწოდა ამ პროგრამის asciimath. 584 00:25:52,030 --> 00:25:55,690 ასე მახსოვს, როდესაც ჩვენ აწარმოებს ნებისმიერი პროგრამა, ჩვენ გვინდა, რომ პირველი კომპილირება 585 00:25:55,690 --> 00:25:57,150 გაშვებული ეს ჩვენი მიიღოს. 586 00:25:57,150 --> 00:26:00,030 და მაშინ ჩვენ გვინდა, რომ რეალურად აწარმოებს პროგრამა აკეთებს dot-slash. 587 00:26:00,030 --> 00:26:01,280 ასე რომ, ჩვენ ვაპირებთ ./asciimath. 588 00:26:01,280 --> 00:26:05,780 589 00:26:05,780 --> 00:26:06,590 >> მარჯვენა, იქ ჩვენ წავიდეთ. 590 00:26:06,590 --> 00:26:07,410 და ჩვენ ვხედავთ, 32. 591 00:26:07,410 --> 00:26:07,930 კარგად გაკეთდეს. 592 00:26:07,930 --> 00:26:10,340 თქვენ იმსახურებთ ცალი კანფეტი. 593 00:26:10,340 --> 00:26:11,160 Candy თქვენთვის. 594 00:26:11,160 --> 00:26:11,900 ბოდიში. 595 00:26:11,900 --> 00:26:13,100 ყველა უფლება. 596 00:26:13,100 --> 00:26:13,670 OK. 597 00:26:13,670 --> 00:26:18,070 ასე რომ, ჩვენ შეგვიძლია დავუბრუნდეთ ჩვენს მაგალითს აქ. 598 00:26:18,070 --> 00:26:23,530 599 00:26:23,530 --> 00:26:24,345 Aah, არ. 600 00:26:24,345 --> 00:26:29,147 601 00:26:29,147 --> 00:26:31,090 Aah. 602 00:26:31,090 --> 00:26:32,490 OK. 603 00:26:32,490 --> 00:26:34,610 მე უბრალოდ აპირებს, რომ შევინარჩუნოთ ის, რომ. 604 00:26:34,610 --> 00:26:48,520 605 00:26:48,520 --> 00:26:51,240 OK. 606 00:26:51,240 --> 00:26:51,740 OK. 607 00:26:51,740 --> 00:26:55,340 ასე რომ, როგორც თქვენ ბიჭები ხედავთ, ჩვენ შეგვიძლია გავაკეთოთ უამრავი ძალიან საინტერესო რამ, 608 00:26:55,340 --> 00:26:58,880 ბევრი ძალიან მაგარი რამ, ბევრი ძალიან რთული რამ, მათ შორის 609 00:26:58,880 --> 00:27:02,720 ASCII სიმბოლოები და ციფრები. 610 00:27:02,720 --> 00:27:05,890 მას შემდეგ, რაც თქვენ მიიღებთ ქვემოთ ხაზი ხუთ, რომ ბევრი დაიცვას გასწვრივ. 611 00:27:05,890 --> 00:27:07,640 ჩვენ არ ვაპირებთ წასვლა განყოფილების მეშვეობით. 612 00:27:07,640 --> 00:27:10,720 მოგერიდებათ, თუ შეგიძლია, მიზეზი, ქაღალდზე 613 00:27:10,720 --> 00:27:14,750 პირველი, რაც უნდა იყოს მაშინ, როდესაც შეყვანის ასეთი სიმებიანი ღირებულებებს. 614 00:27:14,750 --> 00:27:19,720 მაგალითად, რომ ბოლო ხაზი, ჩვენ გვაქვს z--, რომელიც წარმოადგენს გარკვეული რიცხვი 615 00:27:19,720 --> 00:27:24,740 a--, რომელიც ასევე წარმოადგენს გარკვეული რიცხვი პლუს 1 modulos 26 616 00:27:24,740 --> 00:27:26,750 პლუს ამას. 617 00:27:26,750 --> 00:27:29,220 >> თუ ბიჭები შეინახოს მოსმენით ამ გზით, თქვენ 618 00:27:29,220 --> 00:27:34,009 შეიძლება იხილეთ ნიმუში ამუშავება როგორ ჩვენ მანიპულირების კოდი. 619 00:27:34,009 --> 00:27:36,050 მე მაღალ, უაღრესად გთავაზობთ შემდეგ სექციაში ყველა თქვენგანს 620 00:27:36,050 --> 00:27:38,160 ბიჭები წავიდეთ წინ და შეტანის იმ ყველა თქვენს კომპიუტერში 621 00:27:38,160 --> 00:27:40,060 და რა სახის ციფრები გამოდის 622 00:27:40,060 --> 00:27:43,090 და მსჯელობა, რატომ ვართ ხდება, რადგან თქვენს psets 623 00:27:43,090 --> 00:27:45,060 ეს იქნება მართლაც მნიშვნელოვანია თქვენ უნდა გვესმოდეს, 624 00:27:45,060 --> 00:27:47,132 რატომ გარკვეული ხდება. 625 00:27:47,132 --> 00:27:48,590 ყველა ეს სლაიდები იქნება ონლაინ რეჟიმში. 626 00:27:48,590 --> 00:27:51,510 ასე რომ, არ აწუხებს ცდილობს ფიზიკური ასლი ქვემოთ აღნიშნავს. 627 00:27:51,510 --> 00:27:52,510 ყველაფერი ონლაინ რეჟიმში. 628 00:27:52,510 --> 00:27:54,050 ეს სექცია თავად იქნება ონლაინ რეჟიმში. 629 00:27:54,050 --> 00:27:57,500 ყველა ჩემი კოდის რომ მე გაშვებული იქნება ონლაინ რეჟიმში. 630 00:27:57,500 --> 00:27:58,180 ჰო. 631 00:27:58,180 --> 00:27:59,430 გსმენიათ მაინც გაქვთ შეკითხვა? 632 00:27:59,430 --> 00:28:00,587 აუდიტორია: რა არის modulos? 633 00:28:00,587 --> 00:28:01,170 Andi Peng: OK. 634 00:28:01,170 --> 00:28:05,620 ასე რომ, modulo არის ოპერატორი, რომ აპირებს იყოს საკმაოდ მნიშვნელოვანია, რომ თქვენი ბიჭები ის pset 635 00:28:05,620 --> 00:28:06,690 აქ. 636 00:28:06,690 --> 00:28:12,280 ასე რომ, ისე, რომ ოპერატორები C და პროგრამირების მუშაობა 637 00:28:12,280 --> 00:28:16,360 არის, რომ თქვენ რასაც გაყოფის სიმბოლოდ და modulus სიმბოლო, 638 00:28:16,360 --> 00:28:18,350 რომელიც ისევე, როგორც პროცენტი ნიშანი. 639 00:28:18,350 --> 00:28:24,840 >> ასე რომ, C, როდესაც თქვენ რიცხვი იყოფა რიცხვი ერთად ხაზი, 640 00:28:24,840 --> 00:28:27,720 C აქვს ტენდენცია მინდა მოჭრილი off ყველა ათობითი ქულა, 641 00:28:27,720 --> 00:28:30,290 იმის გამო, რომ მთელი სურს კონვერტირება რიცხვი. 642 00:28:30,290 --> 00:28:33,550 ეს არ აპირებს მინდა იყოს ორმაგი ერთად bunch of ათწილადები ყველა მას შემდეგ. 643 00:28:33,550 --> 00:28:39,322 >> ასე რომ, თუ 3 იყოფა 2, ის აპირებს შეწყვიტა 0.5 და მხოლოდ მოგცემთ 1. 644 00:28:39,322 --> 00:28:41,530 ასე რომ, რაღაც უნდა იყოს ძალიან ფრთხილად, როდესაც თქვენ 645 00:28:41,530 --> 00:28:45,294 ვაკეთებთ ნებისმიერი სახის მათემატიკის პროგრამირებაში, ის არის, რომ ნომრები თქვენ 646 00:28:45,294 --> 00:28:47,210 არ შეიძლება ნომრები რომ თქვენ ფიქრი, 647 00:28:47,210 --> 00:28:50,190 რის გამოც დამრგვალება თქვენს ბოლო pset იმდენად მნიშვნელოვანია. 648 00:28:50,190 --> 00:28:51,980 >> Modulo გაძლევთ დარჩენილი. 649 00:28:51,980 --> 00:28:56,200 ასე მაგალითად, თუ მე 3 modulo 2- ასე 3 პროცენტს ნიშანი 2- 650 00:28:56,200 --> 00:28:58,020 ეს საშუალებას მისცემს თქვენ დარჩენილი, რომ. 651 00:28:58,020 --> 00:29:00,460 ასე რომ, 3 იყოფა 2 1.5. 652 00:29:00,460 --> 00:29:01,410 ეს არის 1 დარჩენილი 1. 653 00:29:01,410 --> 00:29:04,600 ეს მოგცემთ 1, რომელიც არის დარჩენილი, რომ. 654 00:29:04,600 --> 00:29:07,361 >> ასე რომ, როდესაც თქვენ ბიჭები მივდივართ მეშვეობით ASCII მაგიდა, 655 00:29:07,361 --> 00:29:09,735 modulo დასრულდება მდე მიმდინარეობს ის, რომ ძალიან მნიშვნელოვანია, 656 00:29:09,735 --> 00:29:11,240 და ჩვენ განვიხილავთ, რომ მოგვიანებით. 657 00:29:11,240 --> 00:29:17,750 658 00:29:17,750 --> 00:29:19,040 >> OK. 659 00:29:19,040 --> 00:29:27,300 ასე რომ, ის, რაც არის საკმაოდ, საკმაოდ ახალი და საკმაოდ უნიკალური 660 00:29:27,300 --> 00:29:31,920 რომ ჩვენ განიხილეს ამ კვირაში კონცეფცია, თუ რა არის მასივი. 661 00:29:31,920 --> 00:29:34,370 ამიტომ მასივი პირველი ტიპის მონაცემთა სტრუქტურის 662 00:29:34,370 --> 00:29:36,320 რომ ჩვენ ვაპირებთ ექმნებათ ამ კლასში. 663 00:29:36,320 --> 00:29:40,010 ყველა მონაცემები სტრუქტურა არის გარკვეული თვითნებური, 664 00:29:40,010 --> 00:29:43,370 ფაქტიურად რამ, როგორიცაა სტრუქტურა რომ ჩვენ, როგორც პროგრამისტების შევქმენით, 665 00:29:43,370 --> 00:29:47,890 რომ ჩვენ ჩავდეთ კოდი, რომელიც შეიძლება შეიცავდეს სხვა ცალი კოდი. 666 00:29:47,890 --> 00:29:51,090 >> ასე რომ, ამ თვალსაზრისით, მასივი ვფიქრობ, რომ ეს ფაილი კაბინეტი, 667 00:29:51,090 --> 00:29:53,470 სადაც თუ გახსნა სხვადასხვა თაროები თქვენი ფაილი კაბინეტი, 668 00:29:53,470 --> 00:29:55,630 თქვენ შეგიძლიათ თქვათ სხვადასხვა რამ. 669 00:29:55,630 --> 00:29:58,630 მეხსიერება, მასივი უბრალოდ აკეთებს იგივე, რაც თქვენს კომპიუტერში. 670 00:29:58,630 --> 00:30:01,730 თქვენ შეგიძლიათ სხვადასხვა blocks-- ჩვენ მოვუწოდებთ მათ indices-- მასივი. 671 00:30:01,730 --> 00:30:04,210 ეს, ისევე, ბლოკი, თაროზე მეხსიერება 672 00:30:04,210 --> 00:30:07,580 რომელიც ჩვენ შევქმენით თქვენი კომპიუტერი, რომელიც შეგიძლიათ შეყვანის 673 00:30:07,580 --> 00:30:10,270 გარკვეული რამ სხვადასხვა ფართები. 674 00:30:10,270 --> 00:30:18,000 >> ამრიგად მასივი, თქვენ ყოველთვის უნდა specify-- 675 00:30:18,000 --> 00:30:22,360 თქვენ უნდა მიუთითოთ გამოცხადების მასივი შემდეგ ფორმატში. 676 00:30:22,360 --> 00:30:24,290 თქვენ აპირებს პირველი მითითებული მონაცემები ტიპის 677 00:30:24,290 --> 00:30:25,831 რომ გსურთ შექმნათ მასივი. 678 00:30:25,831 --> 00:30:28,870 თუ მინდა მასივი რიცხვებით, მე ვაპირებ დააყენა int უფლება არსებობს. 679 00:30:28,870 --> 00:30:32,079 თუ მინდა მასივი სტრიქონები, მე ვაპირებ დააყენოს strings იქ, 680 00:30:32,079 --> 00:30:34,995 სახელი თქვენი მასივი, და მაშინ თქვენ აპირებთ უნდა კვადრატულ ფრჩხილებში. 681 00:30:34,995 --> 00:30:39,580 და შიგნით კვადრატულ ფრჩხილებში, თქვენ აპირებთ უნდა ზომა თქვენი მასივი. 682 00:30:39,580 --> 00:30:42,900 >> ის, რაც ნამდვილად მნიშვნელოვანია გვახსოვდეს, როდესაც შექმნა კოლექტორები არის 683 00:30:42,900 --> 00:30:46,530 ის, რომ ერთხელ თქვენ შექმნით მასივი, რომ ზომა არ შეიცვლება. 684 00:30:46,530 --> 00:30:50,180 ასე რომ, თუ თქვენ იცით, რომ ახლა თქვენ გაქვთ მასივი ზომა 10, 685 00:30:50,180 --> 00:30:54,550 თქვენ იცით, რომ მე ვაპირებ აქვს 10 საკნებში ფარგლებში ან 10 მაჩვენებლების ფარგლებში მასივი, 686 00:30:54,550 --> 00:30:56,830 და ის არ აპირებს გაფართოებას ან შეამცირებს 687 00:30:56,830 --> 00:30:59,850 არ აქვს მნიშვნელობა რა, და რომ იქ ამჟამად მხოლოდ 10 ბლოკები სივრცეში 688 00:30:59,850 --> 00:31:04,490 გამოყოფილი თქვენს მეხსიერებაში, რომ შეგიძლიათ შეინახოთ 10 რამ, რაც არ უნდა თქვენ დააყენა. 689 00:31:04,490 --> 00:31:08,790 >> ასე რომ, ამ გზით, მასივი მონაცემები ტიპის, მონაცემები სტრუქტურა, რომელიც არის მასივი 690 00:31:08,790 --> 00:31:13,392 ძალიან განსხვავდება ზოგიერთი სხვა ჩვენ გამოგიგზავნით გააშუქებს მოგვიანებით ამ კურსს. 691 00:31:13,392 --> 00:31:15,170 ჰო. 692 00:31:15,170 --> 00:31:20,080 მაგალითად, თუ თქვენ სურდა შექმნა მასივი ზომა 3, 693 00:31:20,080 --> 00:31:23,670 შეიცავს ცვლადები რიცხვი ოჰ, უკაცრავად, ერთი temperature-- 694 00:31:23,670 --> 00:31:25,640 და ტემპერატურა, საქართველოს რა თქმა უნდა, არის მთელი რიცხვი. 695 00:31:25,640 --> 00:31:28,710 >> ასე რომ, ჩვენ შევქმნათ int, რომელიც არის მონაცემები ტიპის, რაც ჩვენ გვინდა შესანახად. 696 00:31:28,710 --> 00:31:32,680 ჩვენ ვაპირებთ, რომ მოვუწოდო ამ ტემპერატურა გულისთვის ნომენკლატურა დასახელებისგან 697 00:31:32,680 --> 00:31:34,200 ის, რომ ჩვენ ყველას გვესმის. 698 00:31:34,200 --> 00:31:35,900 ჩვენ ვაპირებთ, რომ კვადრატულ ფრჩხილებში. 699 00:31:35,900 --> 00:31:37,200 და ჩვენ გვინდა, სამი ნომრები. 700 00:31:37,200 --> 00:31:39,000 ასე რომ, ჩვენ ვაპირებთ, რომ სამი შიგნით მას. 701 00:31:39,000 --> 00:31:41,041 >> რაღაც რომ მართლაც მნიშვნელოვანია გვახსოვდეს, 702 00:31:41,041 --> 00:31:43,530 ის არის, რომ კოლექტორები ნულოვანი ინდექსირებული. 703 00:31:43,530 --> 00:31:46,410 ყველა იმას ნიშნავს, რომ თქვენ იწყება ინდექსი 0, 704 00:31:46,410 --> 00:31:49,800 და თქვენ აწარმოებს მეშვეობით ზომა მასივი მინუს 1. 705 00:31:49,800 --> 00:31:52,730 ასე მაგალითად, აქ ჩვენ აქვს მასივი ზომა 3. 706 00:31:52,730 --> 00:31:54,680 ის აპირებს შეძლებს გამართავს სამი ღირებულებებს. 707 00:31:54,680 --> 00:31:57,450 მაგრამ ციფრები themselves--, რომ ნომერი, მასივი, რომ ინდექსი, 708 00:31:57,450 --> 00:32:00,271 მასივი, არის 0-დან 2. 709 00:32:00,271 --> 00:32:03,520 ასე რომ, ბიჭები, იქნება ნამდვილად, ნამდვილად ფრთხილად, როდესაც თქვენ გადის თქვენი პრობლემები შეიქმნა 710 00:32:03,520 --> 00:32:06,500 და ქმნის რაიმე სახის მასივი, იმიტომ, რომ ბევრი ჯერ ეს 711 00:32:06,500 --> 00:32:08,490 ნამდვილად, ნამდვილად იცის, რომ. 712 00:32:08,490 --> 00:32:11,840 მე რეალურად არ აქვს ინდექსი 3, რომ მე გაკეთებული მხოლოდ 713 00:32:11,840 --> 00:32:13,130 გვაქვს მაჩვენებელი 2. 714 00:32:13,130 --> 00:32:16,046 და თუ თქვენ ცდილობენ წვდომის მესამე ინდექსი, 715 00:32:16,046 --> 00:32:18,170 ის იქნება, თუ რა არის მოუწოდა null terminator. 716 00:32:18,170 --> 00:32:19,990 ის არ აპირებს რეალურად არსებობს მასივი. 717 00:32:19,990 --> 00:32:21,781 და კომპიუტერი არ ვაპირებთ, რომ. 718 00:32:21,781 --> 00:32:24,570 ასე რომ, ფრთხილად, როდესაც თქვენ წვდომის რამ მხოლოდ 719 00:32:24,570 --> 00:32:28,070 იმისთვის, რომ თქვენ უნდა გვახსოვდეს რომ კოლექტორები არის ნულოვანი ინდექსირებული. 720 00:32:28,070 --> 00:32:28,880 >> OK. 721 00:32:28,880 --> 00:32:34,030 ასე რომ, პირველი მაგალითი არის მხოლოდ ერთი გზა შექმნის მასივი. 722 00:32:34,030 --> 00:32:36,790 მეორე მაგალითი მაქვს ქვემოთ არის უბრალოდ ცალკე გზა 723 00:32:36,790 --> 00:32:40,210 შექმნის რა არის იგივე მონაცემები სტრუქტურა, რომელიც ჩვენ მხოლოდ inputted. 724 00:32:40,210 --> 00:32:44,347 ასე რომ, ნაცვლად ფიზიკური გაშვებული მეშვეობით და აყენებს ტემპერატურა 0 725 00:32:44,347 --> 00:32:47,180 უდრის რასაც, ტემპერატურა 1 უდრის რასაც, ტემპერატურა 2 ტოლობის 726 00:32:47,180 --> 00:32:50,950 რაც არ უნდა, შემეძლო რეალურად მხოლოდ პირდაპირ შექმნა ეს ყველაფერი ერთი ხაზი 727 00:32:50,950 --> 00:32:53,010 შევიდა ტემპერატურა კვადრატულ ფრჩხილებში შეადგენს. 728 00:32:53,010 --> 00:32:56,536 >> და შეამჩნია ამ შემთხვევაში, თქვენ არ უნდა დააკონკრეტა, თუ როგორ დიდი თქვენი მასივი, 729 00:32:56,536 --> 00:32:59,160 რადგან კომპიუტერის აპირებს გავლა და ვხედავთ, რომ იქ 730 00:32:59,160 --> 00:33:01,570 სამი ელემენტები იმ Curly braces. 731 00:33:01,570 --> 00:33:04,000 და ის აპირებს, რომ ვიცი, OK, მე უნდა მასივი ზომა 3. 732 00:33:04,000 --> 00:33:07,440 თქვენ არ აპირებთ უნდა შეყვანის შემდეგ გზა. 733 00:33:07,440 --> 00:33:10,170 >> ასევე, yeah, რომ გზა. 734 00:33:10,170 --> 00:33:12,610 ვინმეს აქვს კითხვები დაკავშირებით, თუ როგორ ჩვენ კოლექტორები 735 00:33:12,610 --> 00:33:17,391 ან როგორ სტრუქტურა მასივი მუშაობს? 736 00:33:17,391 --> 00:33:17,890 ჰო. 737 00:33:17,890 --> 00:33:18,806 >> აუდიტორია: [INAUDIBLE]? 738 00:33:18,806 --> 00:33:21,649 739 00:33:21,649 --> 00:33:22,690 Andi Peng: ჰო, ზუსტად. 740 00:33:22,690 --> 00:33:26,150 ასე რომ, თუ თქვენ ვაცხადებთ და ვრთავ მასივი შემდეგი მეთოდი, 741 00:33:26,150 --> 00:33:28,477 რომელიც მეორე გზა, თქვენ შეგიძლიათ უბრალოდ დატოვონ იმ. 742 00:33:28,477 --> 00:33:30,310 და კომპიუტერული ავტომატურად იცის, რომ ეს 743 00:33:30,310 --> 00:33:33,950 საჭიროებს ითვლიან რამდენი ელემენტები არიან იმ Curly braces, გამოეყო 744 00:33:33,950 --> 00:33:34,930 წერტილებით. 745 00:33:34,930 --> 00:33:37,517 >> ასე რომ, აქ ისინი ხედავენ 65, 87, 30. 746 00:33:37,517 --> 00:33:39,600 ასე რომ, კომპიუტერი იცის, oh, ეს არის სამი რიცხვებით. 747 00:33:39,600 --> 00:33:45,960 მე ვიცი, რომ შევქმნათ მასივი სახელი ტემპერატურის სამი ელემენტები მას. 748 00:33:45,960 --> 00:33:46,590 კარგი კითხვაა. 749 00:33:46,590 --> 00:33:47,090 ჰო. 750 00:33:47,090 --> 00:33:51,590 >> აუდიტორია: არის თუ არა შესაძლებელი, რომ შევქმნათ მასივი სხვადასხვა სახის მონაცემები 751 00:33:51,590 --> 00:33:53,021 რომელიც შეიძლება შევიდნენ? 752 00:33:53,021 --> 00:33:56,746 მაგალითად, რიცხვებით [INAUDIBLE]? 753 00:33:56,746 --> 00:33:59,120 Andi Peng: მიზნებისათვის ამ კლასის, არ, ახლავე. 754 00:33:59,120 --> 00:34:03,070 როდესაც თქვენ შექმნათ მონაცემთა სტრუქტურირებაზე როგორიცაა მასივი, 755 00:34:03,070 --> 00:34:04,990 თქვენ ვეუბნებოდი კომპიუტერი, hey, მე უნდა 756 00:34:04,990 --> 00:34:08,159 გამოყოს ეს ბევრად მეხსიერების ჩემს მყარ დისკზე, 757 00:34:08,159 --> 00:34:10,690 თითოეულ საკანში მყოფი გარკვეული რაოდენობის ბიტი. 758 00:34:10,690 --> 00:34:13,429 >> დამახსოვრება გავიგეთ კვირაში ნულოვანი რომ განსხვავებული მონაცემები 759 00:34:13,429 --> 00:34:15,300 სახის გვაქვს სხვადასხვა ზომის? 760 00:34:15,300 --> 00:34:17,630 ასე მაგალითად, სიმებიანი არის სხვადასხვა ოდენობის 761 00:34:17,630 --> 00:34:20,719 სივრცეში, ვიდრე char, რომელიც არის სხვადასხვა ოდენობით სივრცეში 762 00:34:20,719 --> 00:34:21,830 საწყისი რიცხვი. 763 00:34:21,830 --> 00:34:25,534 ასე რომ, თუ თქვენ არ დააკონკრეტა და თქვენ ავურიოთ და ემთხვევა თუ რა სახის ცვლადები 764 00:34:25,534 --> 00:34:27,659 თქვენ გაქვთ, კომპიუტერის იქნება ძალიან დაბნეული. 765 00:34:27,659 --> 00:34:29,950 და ის არ აპირებს ვიცი რამდენი მეხსიერება გადმოგცეთ. 766 00:34:29,950 --> 00:34:32,480 ასე რომ, იმ მიზნით, რომ უფლება ახლა, კომპიუტერები მხოლოდ 767 00:34:32,480 --> 00:34:36,120 აღიარებს ერთი ტიპის მასივი. 768 00:34:36,120 --> 00:34:37,940 კარგი კითხვაა. 769 00:34:37,940 --> 00:34:38,440 OK. 770 00:34:38,440 --> 00:34:45,179 771 00:34:45,179 --> 00:34:47,120 >> ასე რომ, ბუნებრივია, მეორე კითხვა გვაქვს 772 00:34:47,120 --> 00:34:50,760 არის, ასევე, რომ ჩვენ შევქმენით array და ჩვენ დააყენა ყველა ამ საკითხზე 773 00:34:50,760 --> 00:34:54,190 მასივი, როგორ ვართ ჩვენ იქნება საშუალება, რათა შეამოწმონ ეს? 774 00:34:54,190 --> 00:34:59,710 ასე რომ, ტიპური სტრუქტურა, რომ ჩვენ ყოველთვის წვდომის მასივი ჩვენი საყვარელი for loop. 775 00:34:59,710 --> 00:35:03,830 მე გპირდებით, რომ ბიჭები რომ ჩვენ ვიქნებით ხედავს ბევრი ამ თანამემამულე აქ. 776 00:35:03,830 --> 00:35:06,470 >> არსებითად, ნებისმიერ დროს გსურთ შეყვანის აფასებს მასივი 777 00:35:06,470 --> 00:35:09,940 ან თქვენ გინდათ, მათ შორის, საუკეთესო გზა ამის გაკეთება არის ამისთვის მარყუჟის, 778 00:35:09,940 --> 00:35:13,730 იმის გამო, რომ ამისთვის მარყუჟის, თქვენ ვიცი, რამდენჯერ თქვენ 779 00:35:13,730 --> 00:35:17,290 აპირებს გსურთ აწარმოებს მეშვეობით მასივი, იმიტომ, რომ თქვენ გაქვთ გაჩერება გამოცემა, არა? 780 00:35:17,290 --> 00:35:19,680 და ყოველ ჯერზე თქვენ აწარმოებს მეშვეობით, თქვენ შეგიძლიათ თქვათ 781 00:35:19,680 --> 00:35:21,310 სხვადასხვა ელემენტს მასივი. 782 00:35:21,310 --> 00:35:26,920 >> ასევე, ეს არის მიზეზი, რის გამოც, როგორც წესი, ჩვენ დავიწყებთ ჩვენი ამისთვის მარყუჟების at 0 ღირებულება, 783 00:35:26,920 --> 00:35:30,080 იმიტომ, რომ, როდესაც თქვენ შედიხართ მასივები, თქვენ შეგიძლიათ თქვათ ნულოვანი ინდექსი. 784 00:35:30,080 --> 00:35:32,070 ასე რომ, ეს პარალელები ძალიან ლამაზად. 785 00:35:32,070 --> 00:35:35,295 თქვენ ბიჭები შეიძლება არ სურდა წერენ int i უდრის 1. 786 00:35:35,295 --> 00:35:37,330 რომ ნაკლებია ან ტოლი 3. 787 00:35:37,330 --> 00:35:39,890 >> მაგრამ ეს არ იმუშავებს საკმაოდ აქ კარგად, იმიტომ, რომ თქვენ მხოლოდ 788 00:35:39,890 --> 00:35:42,010 ელემენტებს, 0, 1 და 2. 789 00:35:42,010 --> 00:35:45,815 ასე რომ, თუ თქვენ უნდა დაიწყოს თქვენი i at ელემენტი 1, 2, 3 790 00:35:45,815 --> 00:35:48,440 თქვენ აპირებს დასრულდება მდე მიმდინარეობს გარეთ ფარგლებში თქვენი მასივი, 791 00:35:48,440 --> 00:35:50,440 და ცუდი რამ მოხდება. 792 00:35:50,440 --> 00:35:54,480 >> ასე რომ, ვიმედოვნებ, რომ ბიჭები ნახოთ segue რატომ ადრე კატეგორიები 793 00:35:54,480 --> 00:35:58,560 ჩვენ ასწავლის, თუ ბიჭები როგორ აწარმოებს და ფორმატის for loop გზა, რომ ჩვენ ვიყავით. 794 00:35:58,560 --> 00:36:01,900 ეს იმიტომ, რომ, ახლა ჩვენ transitioned შევიდა მასივები, 795 00:36:01,900 --> 00:36:06,760 თქვენ ხედავთ, რატომ 0 lends თავად ძალიან ლამაზად წვდომის. 796 00:36:06,760 --> 00:36:09,880 >> ასე რომ გზა გავაკეთოთ, რომ ისაა, რომ მე ვარ უბრალოდ ბეჭდვის ის აქ გულისთვის 797 00:36:09,880 --> 00:36:10,830 ბეჭდვა ეს. 798 00:36:10,830 --> 00:36:13,750 მაგრამ მე მაქვს ჩემი placeholder, მძიმით. 799 00:36:13,750 --> 00:36:15,645 და ფაქტობრივი წვდომის ნაწილი ხდება. 800 00:36:15,645 --> 00:36:17,520 სახელი მასივი ეწოდა ტემპერატურა. 801 00:36:17,520 --> 00:36:21,570 ასე რომ, ეს ტემპერატურა და i-ე ელემენტს მასივი. 802 00:36:21,570 --> 00:36:24,400 >> ასე რომ, როგორც for loop გადის, ის აპირებს იწყება 0. 803 00:36:24,400 --> 00:36:27,640 ის აპირებს ამობეჭდოთ 0th ინდექსი მასივი. 804 00:36:27,640 --> 00:36:29,599 შემდეგ ის აპირებს ბეჭდვა პირველი ელემენტია. 805 00:36:29,599 --> 00:36:31,431 შემდეგ ის აპირებს ბეჭდვა out მეორე. 806 00:36:31,431 --> 00:36:32,880 და მაშინ ჩვენ ვაპირებთ, რომ დაარღვიოს. 807 00:36:32,880 --> 00:36:36,718 ყველას ნათელი on როგორ რომ ხდება? 808 00:36:36,718 --> 00:36:37,217 შესანიშნავი. 809 00:36:37,217 --> 00:36:43,230 810 00:36:43,230 --> 00:36:44,100 >> ყველა უფლება. 811 00:36:44,100 --> 00:36:47,270 ასე რომ აქ გვაქვს გზა განაცხადა, რომ, თუ ჩვენ არ გვინდა, 812 00:36:47,270 --> 00:36:50,020 მყარი კოდი შიგნით ჩემთვის, როგორც პროგრამისტი. 813 00:36:50,020 --> 00:36:53,320 მე არ მინდა, რომ რეალურად ფიზიკურად ბოლო ყოველ ცალკეულ ელემენტს 814 00:36:53,320 --> 00:36:54,020 ამ მასივი. 815 00:36:54,020 --> 00:36:56,500 თუ მინდოდა ნაცვლად აქვს მომხმარებლის შეყვანის ღირებულებები, 816 00:36:56,500 --> 00:36:58,100 რა არის საუკეთესო გზა ამის გაკეთება? 817 00:36:58,100 --> 00:37:00,920 >> ისე, აქ მე შევქმენი ამ ლამაზი ფუნქცია, 818 00:37:00,920 --> 00:37:03,560 რომელიც მე შეიძლება განაცხადოს მასივი. 819 00:37:03,560 --> 00:37:06,210 ასე int scores-- მოდით უბრალოდ ვიტყვი, რომ ჩვენ გვსურს 820 00:37:06,210 --> 00:37:10,660 მასივი, რომელიც გაიმართა შეფასება ყველა 18 სტუდენტების აქ ამ სექციაში. 821 00:37:10,660 --> 00:37:12,670 მე ვფიქრობ, რომ ჩვენ მივიღეთ ცოტა 18-ზე მეტი ბავშვებს დღეს. 822 00:37:12,670 --> 00:37:16,460 მაგრამ მაგალითად გულისთვის, მოდით უბრალოდ ვივარაუდოთ, რომ ჩვენ გვქონდა 18. 823 00:37:16,460 --> 00:37:21,580 მე შექმნათ მასივი სახელი ქულები ტიპი int, რადგან ქულა, რა თქმა უნდა, 824 00:37:21,580 --> 00:37:22,987 ნომრები. 825 00:37:22,987 --> 00:37:24,820 და მე ვაპირებ აქვს 18 კვადრატულ ფრჩხილებში, 826 00:37:24,820 --> 00:37:29,900 იმიტომ, რომ რამდენი სტუდენტები გსურთ შეძლებს შესანახად ქულით. 827 00:37:29,900 --> 00:37:32,206 >> და გზა მინდა მოეყვანა მასივი, რომ მე 828 00:37:32,206 --> 00:37:35,572 გაუშვით მეშვეობით ამისთვის მარყუჟის, საქართველოს რა თქმა უნდა, 0, ჩემი 0th ინდექსი. 829 00:37:35,572 --> 00:37:38,030 და მერე 18 რომ ჩემი შეჩერების გამოცემა, იმიტომ, რომ იქ 830 00:37:38,030 --> 00:37:39,690 18 ელემენტების მასივი. 831 00:37:39,690 --> 00:37:44,620 და მაშინ მე ვაპირებ ამის printf, შეიტანეთ ანგარიში student-- იადა იადა იადა. 832 00:37:44,620 --> 00:37:51,171 >> შეუძლია ვინმეს მითხრათ, რატომ აქ ვარ ბეჭდვის i პლუს 1 და არა მე? 833 00:37:51,171 --> 00:37:52,920 ეს არის ერთგვარი შეასრულა კითხვაზე, ნამდვილად არ. 834 00:37:52,920 --> 00:37:56,020 ეს არ არის რეალურად ფიზიკურად იმოქმედებს გაძღოლას კოდი. 835 00:37:56,020 --> 00:37:56,520 ჰო. 836 00:37:56,520 --> 00:37:57,909 >> აუდიტორია: [INAUDIBLE] 0? 837 00:37:57,909 --> 00:37:58,950 Andi Peng: ჰო, ზუსტად. 838 00:37:58,950 --> 00:38:02,620 ეს ცოტა უხერხულია ამბობენ, hey, თქვენ 0th სტუდენტი ამ კლასში. 839 00:38:02,620 --> 00:38:03,780 ეს ცოტა უცნაურია. 840 00:38:03,780 --> 00:38:08,340 ამიტომ ჩვენთვის, როგორც ადამიანები, ნამდვილად არ მოსწონს ვფიქრობ, თუ როგორ კომპიუტერები ვფიქრობ. 841 00:38:08,340 --> 00:38:10,930 ასე რომ, მიუხედავად იმისა, რომ კომპიუტერული, ის შენახვის ღირებულებების 842 00:38:10,930 --> 00:38:13,310 ამ 0-ე ინდექსი, როდესაც ჩვენ ადამიანები, ჩვენ ნამდვილად არ 843 00:38:13,310 --> 00:38:15,520 მინდა ეხება საკუთარ თავს, როგორც ნულოვანი. 844 00:38:15,520 --> 00:38:18,119 ასე რომ, როდესაც მე უბრალოდ ბეჭდვა, რომ, მე ვაპირებ ბეჭდვა და დაამატოთ 845 00:38:18,119 --> 00:38:19,410 1 გულისთვის სიცხადე. 846 00:38:19,410 --> 00:38:22,447 ასე რომ, როდესაც მე ბეჭდვა, მე ვაპირებ, რომ შეუძლია ბეჭდვა სტუდენტები 1 მეშვეობით 18. 847 00:38:22,447 --> 00:38:24,530 ეს ფაქტობრივად არ აისახება გაძღოლას კოდი 848 00:38:24,530 --> 00:38:27,110 არანაირად, სხვათა შორის, მე ბეჭდვა. 849 00:38:27,110 --> 00:38:30,380 >> მაგრამ ფრთხილად, როდესაც თქვენ რეალურად წვდომის მასივი. 850 00:38:30,380 --> 00:38:32,780 როდესაც ხედავთ ქულა i, შეამჩნია აქ მე ვარ 851 00:38:32,780 --> 00:38:38,200 წვდომის 0th ინდექსი და არა 1 + 0- ან 1 + 1 852 00:38:38,200 --> 00:38:45,530 ამ შემთხვევაში, ინდექსი ასე რომ რეალურად ნათელია. 853 00:38:45,530 --> 00:38:48,870 ყველას სახის OK on როგორ ეს გადის 854 00:38:48,870 --> 00:38:51,470 და ყოველი ინდექსი ვარ აყენებს მნიშვნელობა შევიდა მასივი 855 00:38:51,470 --> 00:38:55,340 და ქმნის მასივი 18 ნომრები რომ მომხმარებლის აპირებს შეყვანის? 856 00:38:55,340 --> 00:38:58,780 857 00:38:58,780 --> 00:38:59,821 OK. 858 00:38:59,821 --> 00:39:00,321 ზემოთ. 859 00:39:00,321 --> 00:39:05,380 860 00:39:05,380 --> 00:39:07,400 >> OK. 861 00:39:07,400 --> 00:39:12,220 ჩვენ ახლა გადავიდეს ის, რაც საკმაოდ შესაბამისი ამ ცალი მითითებული, ისევე. 862 00:39:12,220 --> 00:39:15,020 მე ვიცი, ლექცია, დავით ბოდიში, თქვენ კითხვა ჰქონდა? 863 00:39:15,020 --> 00:39:16,840 >> აუდიტორია: შეგიძლიათ enlarge ეს? 864 00:39:16,840 --> 00:39:18,080 >> Andi Peng: ჰო, მე სცადა. 865 00:39:18,080 --> 00:39:18,788 მაგრამ მე არ ვიცი. 866 00:39:18,788 --> 00:39:21,437 გარკვეული მიზეზების გამო, ამ მობილური PowerPoint 867 00:39:21,437 --> 00:39:23,270 მართლაც არ მუშაობს კარგად არიან. 868 00:39:23,270 --> 00:39:25,260 ასე რომ, ჩვენ უბრალოდ აპირებს რომ შევინარჩუნოთ ის მოსწონს ეს. 869 00:39:25,260 --> 00:39:27,280 ყველა ეს იქნება ინტერნეტში. 870 00:39:27,280 --> 00:39:28,218 უკაცრავად, ბიჭები. 871 00:39:28,218 --> 00:39:30,090 ჰო. 872 00:39:30,090 --> 00:39:30,980 OK. 873 00:39:30,980 --> 00:39:35,530 >> ასე რომ, ჩვენ შეიძლება ასევე აქვს სიმები. 874 00:39:35,530 --> 00:39:39,320 ასე რომ, თუ თქვენ ბიჭები რეალურად შეამჩნია მე ვიცი, Rob წავიდა ამ ლექცია 875 00:39:39,320 --> 00:39:43,652 რომ მას did-- სიმებიანი არის რეალურად მხოლოდ მასივი გმირები, 876 00:39:43,652 --> 00:39:44,860 თუ ფიქრობთ, რომ ეს, არა? 877 00:39:44,860 --> 00:39:47,500 სიმებიანი სახელი ან წინადადება ან სიტყვა, არა? 878 00:39:47,500 --> 00:39:52,975 >> მე რომ შევქმნათ string დაასახელა Andi-- მხოლოდ ჩემი სახელით, A-N-D-I. 879 00:39:52,975 --> 00:39:55,460 თქვენ ფიქრობთ, რომ, როგორც მხოლოდ ერთი ცვლადი. 880 00:39:55,460 --> 00:39:58,630 მაგრამ რეალურად, ეს ჩაიშალა შევიდა მხოლოდ მასივი სიმბოლო. 881 00:39:58,630 --> 00:40:01,910 ასე რომ, ის მივიღე ხასიათი შენახული მასივი ღირებულება. 882 00:40:01,910 --> 00:40:05,420 მას აქვს ხასიათი n ინახება მეორე ინდექსი და ასე შემდეგ და ასე შემდეგ. 883 00:40:05,420 --> 00:40:08,660 >> ასე რომ, ამ გზით, ჩვენ რეალურად ამ სახის 884 00:40:08,660 --> 00:40:10,970 სტრუქტურა მითითებული განათავსეთ ჩვენი სიმები. 885 00:40:10,970 --> 00:40:14,660 ასე რომ, თუ მე უნდა შეყვანის სიტყვა "ჭამა", - ასე სიმებიანი სიტყვა ტოლია 886 00:40:14,660 --> 00:40:15,540 მიიღოს სიმებიანი. 887 00:40:15,540 --> 00:40:19,260 მე რომ შეყვანის სიტყვა "ჭამა", რომელიც ფიზიკურად, ისე, რომ ჩემი კომპიუტერი 888 00:40:19,260 --> 00:40:21,870 შენახვის რომ სიმებიანი ჩემი მეხსიერება. 889 00:40:21,870 --> 00:40:27,140 >> და თუ მინდოდა აწარმოებს მეშვეობით, რომ და ბეჭდვა, რომ out-- ისე შევიდა i 890 00:40:27,140 --> 00:40:30,890 ნულის ტოლია, გახსოვდეთ, ლექცია, ჩვენ დაფარული რაღაც რომ ე.წ. strlen, 891 00:40:30,890 --> 00:40:32,990 ან სიგრძეზე სიმებიანი. 892 00:40:32,990 --> 00:40:36,520 იმის გამო, რომ მე არ იცით, თუ როგორ დიდი მასივი 893 00:40:36,520 --> 00:40:38,210 ნებისმიერი მომხმარებლის inputting-- 894 00:40:38,210 --> 00:40:40,370 >> მაგალითად, მე inputted სიტყვა "ჭამა", და მე ვიცი, 895 00:40:40,370 --> 00:40:41,870 რომ სამი სიმბოლო, არა? 896 00:40:41,870 --> 00:40:44,700 ასე რომ, მე ვერ დააყენა სამი იქ და ყველაფერი კარგად იქნება. 897 00:40:44,700 --> 00:40:49,290 მაგრამ თუ თქვენი მომხმარებლის შეყვანის რაღაც რომ სხვადასხვა რაოდენობით ღირებულებების, 898 00:40:49,290 --> 00:40:52,760 თქვენ აპირებს ვერ შეძლებს ნამდვილად ვიცით, რომ როდესაც თქვენ პროგრამა თქვენი კოდი. 899 00:40:52,760 --> 00:40:56,040 >> ასე რომ გზა, რომ ჩვენ გაუმკლავდეს ტესტის მინდა, რომ ის არის, რომ ჩვენ გვაქვს რაღაც 900 00:40:56,040 --> 00:41:00,070 მოუწოდა strlen, რომელიც მხოლოდ ფუნქცია რომელიც გიჩვენებთ თუ რამდენი ხანი სტრიქონს. 901 00:41:00,070 --> 00:41:02,080 ამიტომ strlen სიტყვა. 902 00:41:02,080 --> 00:41:03,470 ჩემი სიტყვა ჭამა. 903 00:41:03,470 --> 00:41:05,990 n უდრის strlen სიტყვა. 904 00:41:05,990 --> 00:41:08,930 შეუძლია ვინმეს მითხრათ რა, რომ ღირებულება რეალურად არის აქ? 905 00:41:08,930 --> 00:41:12,550 რას n წარმოადგენს სწორი ახლა, ამ მაგალითად, თუ მე მქონდა ჭამა? 906 00:41:12,550 --> 00:41:13,530 >> აუდიტორია: 3. 907 00:41:13,530 --> 00:41:14,520 >> Andi Peng: 3, ზუსტად. 908 00:41:14,520 --> 00:41:18,820 ასე რომ, ჩვენ გვაქვს int i შეადგენს ნულოვანი, n შეადგენს 3, არსებითად. 909 00:41:18,820 --> 00:41:22,355 და მე მიღებას აპირებს სანამ ეს ნაკლები 3i ++. 910 00:41:22,355 --> 00:41:24,980 და ის აპირებს, რომ არსებითად წასვლა მეშვეობით და იგივე რამ. 911 00:41:24,980 --> 00:41:26,979 ის აპირებს ამობეჭდოთ ყველა ღირებულება და მოგცემთ 912 00:41:26,979 --> 00:41:29,700 E-A-T. უბრალოდ აღმნიშვნელი სხვადასხვა გზა წერის იგი. 913 00:41:29,700 --> 00:41:31,170 ეს იქნება ძალიან სასარგებლო. 914 00:41:31,170 --> 00:41:31,670 ჰო. 915 00:41:31,670 --> 00:41:35,174 აუდიტორია: რა სარგებელი აყენებს ო ტოლია strlen სიტყვის შიგნით რომ 916 00:41:35,174 --> 00:41:36,894 ამისთვის loop [INAUDIBLE]? 917 00:41:36,894 --> 00:41:37,560 Andi Peng: ჰო. 918 00:41:37,560 --> 00:41:44,880 ასე რომ, თუ მე, რომელთა მიზანია, მაგალითად, თუ მე უნდა გავაკეთოთ, რომ და შემდეგ 919 00:41:44,880 --> 00:41:51,935 გავაკეთოთ oop--, რომ ჩემი კოდი, ის რომ რეალურად უნდა აკეთებს, როგორიცაა იგივე. 920 00:41:51,935 --> 00:41:55,060 თუმცა, ისე, რომ მან ეს შემდეგნაირად ახსნა ის დროს ლექცია, თუ რომელიმე თქვენ ბიჭები 921 00:41:55,060 --> 00:41:57,854 გვახსოვდეს, რომ, როგორც ადამიანები, როგორც პროგრამისტები, 922 00:41:57,854 --> 00:42:00,270 ჩვენ ნამდვილად ვცდილობთ პროგრამა ჩვენი კოდი ისე, რომ ჩვენი კომპიუტერი 923 00:42:00,270 --> 00:42:04,070 მუშაობა, როგორც მინიმალური, რაც შეიძლება, ისე, რომ ჩვენი კოდი არის ძალიან ეფექტური. 924 00:42:04,070 --> 00:42:06,850 >> ასე რომ, თუ მქონდა, რომ იქ, რა მოხდება ჩემი for loop 925 00:42:06,850 --> 00:42:10,790 ის არის, რომ მე პირველი განაცხადოს ცვლადი სახელად i იქნება 0. 926 00:42:10,790 --> 00:42:13,350 მე ვაპირებ, რომ ნახოთ, oh, რა არის strlen სიტყვა? 927 00:42:13,350 --> 00:42:15,000 ოჰ, strlen არის 3. 928 00:42:15,000 --> 00:42:16,191 ასე რომ, მე ნაკლები სამი? 929 00:42:16,191 --> 00:42:16,690 დიახ, ეს არის. 930 00:42:16,690 --> 00:42:17,870 მე ვაპირებ აწარმოებს. 931 00:42:17,870 --> 00:42:21,130 >> და მაშინ მეორედ უკან გარშემო მარყუჟის, მე ვაპირებ, რომ ნამატი i. 932 00:42:21,130 --> 00:42:22,550 i იქნება ერთი. 933 00:42:22,550 --> 00:42:25,600 და მე აპირებს შეამოწმოს, oh, მაგრამ რა არის strlen სიტყვა? 934 00:42:25,600 --> 00:42:26,839 ოჰ, ეს სამი. 935 00:42:26,839 --> 00:42:29,880 და იმას, რომ როგორც ჩანს, სახის არარაციონალური, ყოველ დროს, თქვენ აწარმოებს მეშვეობით მარყუჟის, 936 00:42:29,880 --> 00:42:33,340 უნდა შემოწმების ფუნქცია, მიუხედავად იმისა, რომ strlen სიტყვა 937 00:42:33,340 --> 00:42:35,490 არასოდეს რეალურად ცვლის? 938 00:42:35,490 --> 00:42:38,590 >> ასე რომ, ეს დამატებითი ძალა კომპიუტერი. 939 00:42:38,590 --> 00:42:42,180 როდესაც თქვენ დავიწყოთ საუბარი რამ რომ მილიარდობით 940 00:42:42,180 --> 00:42:44,431 და მილიარდობით ადგილებში ხანგრძლივი, წარმოიდგინეთ, თქვენს კომპიუტერში 941 00:42:44,431 --> 00:42:47,430 რომელსაც ფიზიკურად გავლა და შეამოწმეთ ყველა რომ თითოეული დრო. 942 00:42:47,430 --> 00:42:53,170 სწორედ ამიტომ, რათა მხოლოდ გულისთვის ეფექტურობის, 943 00:42:53,170 --> 00:42:57,620 ჩვენ, როგორც წესი, მხოლოდ ამის გაკეთება, იმის გამო, რომ ამ გზით ჩვენ მხოლოდ 944 00:42:57,620 --> 00:42:59,850 მოუწოდებენ ფუნქცია კიდევ დასაწყისში, 945 00:42:59,850 --> 00:43:01,766 და რომ ყოველ ჯერზე ეს გადის ის აპირებს 946 00:43:01,766 --> 00:43:03,789 შენახვის ღირებულება 3 იქ, რომ თქვენ არ 947 00:43:03,789 --> 00:43:05,330 უნდა მუდმივად შეამოწმეთ ყოველ ჯერზე. 948 00:43:05,330 --> 00:43:05,743 ჰო. 949 00:43:05,743 --> 00:43:06,409 >> აუდიტორია: უკაცრავად. 950 00:43:06,409 --> 00:43:09,070 უბრალოდ [INAUDIBLE]. 951 00:43:09,070 --> 00:43:13,985 იქნებ არ int n შეადგენს strlen და რომ ზემოთ გარეთ ამისთვის loop 952 00:43:13,985 --> 00:43:15,364 ისევე? 953 00:43:15,364 --> 00:43:16,030 Andi Peng: ჰო. 954 00:43:16,030 --> 00:43:17,100 თქვენ შეიძლება ამის გაკეთება, აბსოლუტურად. 955 00:43:17,100 --> 00:43:19,970 მიზეზი ჩვენ ის აქ არის რადგან გზა ამისთვის loop სამუშაოები 956 00:43:19,970 --> 00:43:23,500 ის არის, რომ ეს ე.წ. ადგილობრივი ცვლადი გრძნობა 957 00:43:23,500 --> 00:43:26,150 რომ ყველაფერი თქვენ შექმნის შიგნით ამისთვის loop 958 00:43:26,150 --> 00:43:27,890 მხოლოდ არსებობს შიგნით ამისთვის loop. 959 00:43:27,890 --> 00:43:31,530 >> ასე რომ, ცვლადი მე მხოლოდ არსებობს იმ ფრჩხილებში. 960 00:43:31,530 --> 00:43:35,260 აქ ცვლადები n ასევე არსებობს მხოლოდ იმ ფრჩხილებში. 961 00:43:35,260 --> 00:43:39,350 ასე რომ, თუ თქვენ უნდა გამოვიყენოთ strlen of სიტყვა რამდენჯერმე ქვემოთ, 962 00:43:39,350 --> 00:43:42,230 აბსოლუტურად საუკეთესო გზა უნდა გააკეთოს, იქნება გამოაცხადოს ის up დაბრუნება 963 00:43:42,230 --> 00:43:43,563 ასე რომ თქვენ არ უნდა გავაკეთოთ, რომ ერთხელ. 964 00:43:43,563 --> 00:43:45,420 ჰო. 965 00:43:45,420 --> 00:43:47,670 აუდიტორია: რატომ გაქვთ ახალი ხაზი შემდეგ პროცენტს 966 00:43:47,670 --> 00:43:51,300 ხედავს, თუ გსურთ, რომ ყველა წერილები შემდეგ იგი გამოყოფა? 967 00:43:51,300 --> 00:43:54,140 >> Andi Peng: Oh, მინდოდა ბეჭდვა მათ თითოეული ხაზი. 968 00:43:54,140 --> 00:43:54,890 არ აქვს მნიშვნელობა,. 969 00:43:54,890 --> 00:43:55,890 ჰო, გაფორმებით. 970 00:43:55,890 --> 00:43:57,181 ეს არის კარგი კითხვა, თუმცა. 971 00:43:57,181 --> 00:43:59,360 ჰო, თუ მინდოდა ბეჭდვა ეს ყველაფერი მხოლოდ ერთი ხაზი, 972 00:43:59,360 --> 00:44:02,731 მე არ აქვს ტირე. 973 00:44:02,731 --> 00:44:03,230 OK. 974 00:44:03,230 --> 00:44:06,880 ყველას კარგი? 975 00:44:06,880 --> 00:44:07,500 OK. 976 00:44:07,500 --> 00:44:08,000 ზემოთ. 977 00:44:08,000 --> 00:44:12,080 978 00:44:12,080 --> 00:44:14,750 >> ასე რომ, მე ვფიქრობ, რომ მე ვესაუბრე საკმარისი. 979 00:44:14,750 --> 00:44:20,040 თქვენ ბიჭები თავის მხრივ აწარმოებს მეშვეობით კოდი და მეუბნებოდა, თუ რა არის არასწორი აქ. 980 00:44:20,040 --> 00:44:21,560 სად არის bug? 981 00:44:21,560 --> 00:44:26,920 ასე რომ, როგორც ხედავთ, მე გამოაცხადა ახალი მასივი ტიპის სიმებიანი დაასახელა კლასის. 982 00:44:26,920 --> 00:44:30,220 და მე inputted Sam, Jess და კიმ შევიდა. 983 00:44:30,220 --> 00:44:33,400 და მე მცდელობაში დაბეჭდვა ყველა ელემენტების მასივი. 984 00:44:33,400 --> 00:44:36,796 შეუძლია ვინმეს მითხრათ, რატომ არის ეს აპირებს მომეცი პრობლემები? 985 00:44:36,796 --> 00:44:39,320 მე მივცემ თქვენ ბიჭები 10 წამი ვიფიქროთ ამ. 986 00:44:39,320 --> 00:44:55,490 987 00:44:55,490 --> 00:44:56,619 >> OK. 988 00:44:56,619 --> 00:44:57,118 ჰო? 989 00:44:57,118 --> 00:45:01,972 >> აუდიტორია: მარცხენა ცენტრი უდრის 3 ან [INAUDIBLE]? 990 00:45:01,972 --> 00:45:02,680 Andi Peng: მარჯვენა. 991 00:45:02,680 --> 00:45:06,784 რამდენჯერ არის ეს, ფაქტობრივად, აპირებს მეშვეობით ამ loop? 992 00:45:06,784 --> 00:45:07,620 >> აუდიტორია: ოთხი. 993 00:45:07,620 --> 00:45:08,070 >> Andi Peng: ზუსტად. 994 00:45:08,070 --> 00:45:09,445 ის აპირებს მეშვეობით ოთხჯერ. 995 00:45:09,445 --> 00:45:12,250 ის აპირებს მეშვეობით 0, 1, 2, 3, 996 00:45:12,250 --> 00:45:15,200 იმიტომ, რომ მათი ელემენტს i ნაკლებია ან ტოლი 3. 997 00:45:15,200 --> 00:45:16,960 ეს არ შევწყვეტთ, როდესაც ის 2. 998 00:45:16,960 --> 00:45:18,800 ის აპირებს შენარჩუნება აპირებს, სანამ ის ჰიტები 3. 999 00:45:18,800 --> 00:45:21,720 და როგორც ვიცით, იქ მხოლოდ სამი ელემენტები ჩვენს ფაქტობრივი მასივი. 1000 00:45:21,720 --> 00:45:27,260 >> თუ ჩვენ ვცდილობთ მეოთხე ელემენტს ან ინდექსი 3, 1001 00:45:27,260 --> 00:45:30,357 თქვენ ვაპირებთ მოხვდა სადმე მეხსიერებაში, რომ არ არსებობს. 1002 00:45:30,357 --> 00:45:31,690 ეს მოუწოდა null terminator. 1003 00:45:31,690 --> 00:45:32,856 არაფერი არ იქნება იქ. 1004 00:45:32,856 --> 00:45:35,324 თქვენი კომპიუტერი არ აპირებს ძალიან ბედნიერი თქვენთან ერთად. 1005 00:45:35,324 --> 00:45:36,170 ჰო. 1006 00:45:36,170 --> 00:45:38,430 ვინმეს აქვს კითხვები თუ რატომ, რომ ხდებოდა? 1007 00:45:38,430 --> 00:45:39,679 ეს არის ის, საერთო ფართობი რათა თავიდან ავიცილოთ. 1008 00:45:39,679 --> 00:45:40,712 ჰო. 1009 00:45:40,712 --> 00:45:45,777 >> აუდიტორია: არა, არ არის პირველი ლღობას ასევე აქვს სიმებიანი 2? 1010 00:45:45,777 --> 00:45:46,360 Andi Peng: No. 1011 00:45:46,360 --> 00:45:49,610 ასე რომ, არსებითად, როდესაც თქვენ მიღების მასივი, 1012 00:45:49,610 --> 00:45:51,540 რომ bracket უფლება იქ, რომ რიცხვი ყველა 1013 00:45:51,540 --> 00:45:53,480 გეუბნება ის არის, თუ როგორ ბევრი ელემენტები მაქვს. 1014 00:45:53,480 --> 00:45:55,840 ეს რეალურად არ ვეუბნებოდი მე ინდექსების არაფერი. 1015 00:45:55,840 --> 00:45:58,760 ასე რომ, ამ შემთხვევაში, მე ვიცი, მე მინდა წერა სამ ადგილას, 1016 00:45:58,760 --> 00:46:02,690 სამი ფიზიკური ადგილებში გამართავს რასაც მინდა გამართავს. 1017 00:46:02,690 --> 00:46:04,510 ასე რომ, რატომ ნომერი სამი არის. 1018 00:46:04,510 --> 00:46:06,560 თუმცა, თუ მინდოდა რეალურად წვდომის, 1019 00:46:06,560 --> 00:46:11,220 თუ მინდოდა მეთქვა, printf კლასი bracket ნომერი, მაშინ 1020 00:46:11,220 --> 00:46:14,560 თქვენ აპირებს რეალურად დააყენა ფიზიკური ინდექსი არსებობს. 1021 00:46:14,560 --> 00:46:16,330 ჰო, კარგი კითხვა. 1022 00:46:16,330 --> 00:46:20,065 >> აუდიტორია: ასე რომ ფიზიკური ინდექსი უნდა იყოს [INAUDIBLE]? 1023 00:46:20,065 --> 00:46:20,940 Andi Peng: მე ბოდიში. 1024 00:46:20,940 --> 00:46:21,500 შეგიძლიათ საუბარი ცოტა? 1025 00:46:21,500 --> 00:46:24,208 >> აუდიტორია: ასე რომ ფიზიკური ინდექსი [INAUDIBLE] თითოეული ყუთები? 1026 00:46:24,208 --> 00:46:25,260 [INAUDIBLE]? 1027 00:46:25,260 --> 00:46:26,040 >> Andi Peng: ჰო. 1028 00:46:26,040 --> 00:46:28,970 ამიტომ, მე ვაპირებ დაბრუნდეს უფლება აქ. 1029 00:46:28,970 --> 00:46:31,120 წარმოიდგინეთ უფლება აქ. 1030 00:46:31,120 --> 00:46:32,820 ჩვენ გვყავს მასივი ზომა 3. 1031 00:46:32,820 --> 00:46:35,540 არსებობს სამი ადგილებში, როგორიცაა, ფიზიკური placeholders აქ. 1032 00:46:35,540 --> 00:46:37,620 მაგრამ ისინი დაასახელა 0, 1 და 2. 1033 00:46:37,620 --> 00:46:40,700 ასე რომ, თუ მინდოდა შეღწევის, ისე, რომ მე თქვათ მათ 1034 00:46:40,700 --> 00:46:43,480 არის printf, რაც მინდოდა აქ. 1035 00:46:43,480 --> 00:46:45,485 თქვენ უნდა ბეჭდვა გარეთ სახელწოდება, 1036 00:46:45,485 --> 00:46:47,610 იმიტომ, რომ მაშინ კომპიუტერი იცის, რა, მე უნდა გამოიყურებოდეს 1037 00:46:47,610 --> 00:46:51,391 ამ მასივი, რომ 0th ინდექსი. 1038 00:46:51,391 --> 00:46:51,890 ჰო. 1039 00:46:51,890 --> 00:46:53,306 მაგრამ ზომა არ იცვლება. 1040 00:46:53,306 --> 00:46:55,492 ზომა 3, მიუხედავად იმისა, თუ როგორ წარწერა მათ. 1041 00:46:55,492 --> 00:46:58,321 1042 00:46:58,321 --> 00:46:58,820 OK. 1043 00:46:58,820 --> 00:47:01,387 ყველას კარგი? 1044 00:47:01,387 --> 00:47:02,970 აუდიტორია: ასე რომ, ყოველ ჯერზე მე [INAUDIBLE]? 1045 00:47:02,970 --> 00:47:06,357 1046 00:47:06,357 --> 00:47:06,940 Andi Peng: OK. 1047 00:47:06,940 --> 00:47:13,270 ასე რომ, ამ შემთხვევაში, ჩვენ ნამდვილად არ მოხვდება იგი ახლა, რა თქმა უნდა. 1048 00:47:13,270 --> 00:47:16,760 მაგრამ ვიცი, რომ სიმებიანი, როგორიც მე განაცხადა, სიმებიანი არსებითად 1049 00:47:16,760 --> 00:47:18,440 მასივი სიმბოლო. 1050 00:47:18,440 --> 00:47:21,430 ასე რომ, თუ შევქმნათ მასივი სიმები, I ტიპის 1051 00:47:21,430 --> 00:47:24,430 მასივი მასივი გმირები, არა? 1052 00:47:24,430 --> 00:47:27,720 >> ასე რომ, ამ შემთხვევაში, იმიტომ, რომ მე მასივი სიმები, 1053 00:47:27,720 --> 00:47:31,340 თუ იყო შეტანის მართლაც დიდი სიტყვა, რომ ჯერ კიდევ იკავებს მხოლოდ ერთ სივრცეში, 1054 00:47:31,340 --> 00:47:33,230 იმიტომ, რომ ერთი სტრიქონი. 1055 00:47:33,230 --> 00:47:37,492 მაგრამ თუ თქვენ ფიქრი გმირები, რომ მასივი, 1056 00:47:37,492 --> 00:47:40,450 მაშინ რომ აღების ბევრი სხვა პერსონაჟი, ვიდრე ნებისმიერ სხვა სიტყვა 1057 00:47:40,450 --> 00:47:41,372 არიან. 1058 00:47:41,372 --> 00:47:42,830 ნამდვილად არ მნიშვნელოვანია ახლა. 1059 00:47:42,830 --> 00:47:44,921 მაგრამ ეს მხოლოდ ზოგადად როგორ მუშაობს. 1060 00:47:44,921 --> 00:47:49,750 1061 00:47:49,750 --> 00:47:50,560 >> OK. 1062 00:47:50,560 --> 00:47:55,840 ასე რომ, ეს არის ის, რაც მე გაძლევთ ამის გაკეთება ბევრი მეტი კურსი სემესტრი. 1063 00:47:55,840 --> 00:47:57,500 მე უნდა დაისვენოს ჩემი ხმა. 1064 00:47:57,500 --> 00:47:59,530 თქვენ ბიჭები უნდა სტიმულირება თავი. 1065 00:47:59,530 --> 00:48:02,300 ბევრი თქვენგანი ალბათ აქვს ძილის ახლავე. 1066 00:48:02,300 --> 00:48:05,960 მე შესაყვანი შემთხვევითი პრობლემები სადაც ჩვენ, როგორც კლასის ან თქვენ 1067 00:48:05,960 --> 00:48:09,480 პარტნიორი შემდეგ თქვენ ვაპირებთ გაატარონ რამდენიმე წუთის მსჯელობენ 1068 00:48:09,480 --> 00:48:14,980 შესახებ, თუ როგორ წავიდოდა შესახებ გადაჭრის ან შექმნის პროგრამა, როგორიცაა ამ. 1069 00:48:14,980 --> 00:48:17,100 >> ასე რომ, ახლა, ჩვენ გვინდა უნდა შეიქმნას პროგრამაში 1070 00:48:17,100 --> 00:48:19,560 ჩვენ ვაპირებთ, რომ ეძახით upper.c-- რომ გარდაქმნის 1071 00:48:19,560 --> 00:48:24,787 ამას სიტყვა ზედა კლასის სიმებიანი ზედა, ბოდიში. 1072 00:48:24,787 --> 00:48:26,370 სიტყვა სიმები, ბოდიში, არის სინონიმი. 1073 00:48:26,370 --> 00:48:28,370 მე ვაპირებ შეცვლას იმას ნიშნავს, რომ იგივე. 1074 00:48:28,370 --> 00:48:32,270 1075 00:48:32,270 --> 00:48:33,499 >> ჰო. 1076 00:48:33,499 --> 00:48:34,540 მიიღეთ რამდენიმე წუთში. 1077 00:48:34,540 --> 00:48:37,130 ეს არ უნდა იყოს ნებისმიერ ენაზე. 1078 00:48:37,130 --> 00:48:39,890 უბრალოდ pseudocode კოდი და ლოგიკურად როგორ ჩვენ გვინდა კიდევ 1079 00:48:39,890 --> 00:48:42,083 წავიდეთ შესახებ აკეთებს ასეთი პრობლემა. 1080 00:48:42,083 --> 00:48:42,583 ჰო. 1081 00:48:42,583 --> 00:48:49,881 1082 00:48:49,881 --> 00:48:52,780 >> [SIDE საუბრის] 1083 00:48:52,780 --> 00:49:18,680 1084 00:49:18,680 --> 00:49:22,130 >> მე ასევე შენიშნა, რომ თქვენ ბიჭები can-- მე სახის ვხედავ უკვე პროგრამა. 1085 00:49:22,130 --> 00:49:24,600 ვფიქრობ, ჩემი ნაკლებობა წამყვანის რეჟიმი არის პრობლემა. 1086 00:49:24,600 --> 00:49:27,410 მაგრამ ეს OK. 1087 00:49:27,410 --> 00:49:30,410 >> [SIDE საუბრის] 1088 00:49:30,410 --> 00:50:03,589 1089 00:50:03,589 --> 00:50:04,380 ჰო, გთხოვთ, ბიჭები. 1090 00:50:04,380 --> 00:50:05,400 მოდი მიიღოთ კამფეტი. 1091 00:50:05,400 --> 00:50:06,372 მოდი მიიღოთ კამფეტი. 1092 00:50:06,372 --> 00:50:07,698 >> აუდიტორია: დიახ! 1093 00:50:07,698 --> 00:50:09,958 >> [SIDE საუბრის] 1094 00:50:09,958 --> 00:50:16,101 1095 00:50:16,101 --> 00:50:18,100 Andi Peng: გარდა ამისა, ვიცი, დავიწყებ სროლა candy 1096 00:50:18,100 --> 00:50:20,280 ადამიანები, რომლებიც არ უპასუხოს კითხვებს. 1097 00:50:20,280 --> 00:50:22,260 ასე რომ თქვენ უნდა ყველა კითხვას. 1098 00:50:22,260 --> 00:50:24,895 ან მე ვფიქრობ, ადამიანები, რომლებიც უპასუხეთ კითხვებს. 1099 00:50:24,895 --> 00:50:26,070 ჰო, პირიქით. 1100 00:50:26,070 --> 00:50:28,570 >> [SIDE საუბრის] 1101 00:50:28,570 --> 00:51:13,399 1102 00:51:13,399 --> 00:51:14,274 აუდიტორია: [INAUDIBLE] 1103 00:51:14,274 --> 00:51:17,300 1104 00:51:17,300 --> 00:51:18,340 >> Andi Peng: ჰო. 1105 00:51:18,340 --> 00:51:19,340 ჰო. 1106 00:51:19,340 --> 00:51:22,840 >> [SIDE საუბრის] 1107 00:51:22,840 --> 00:51:40,700 1108 00:51:40,700 --> 00:51:41,590 >> ყველა უფლება, ბიჭები. 1109 00:51:41,590 --> 00:51:44,731 მიიღეთ, როგორც, კიდევ 10 წამი. 1110 00:51:44,731 --> 00:51:48,210 >> [SIDE საუბრის] 1111 00:51:48,210 --> 00:52:10,600 1112 00:52:10,600 --> 00:52:11,750 >> OK, ბიჭები. 1113 00:52:11,750 --> 00:52:14,920 ასე რომ, სანამ ჩვენ ვიწყებთ ცდილობს რეალურად ფიზიკურად წერენ კოდი, 1114 00:52:14,920 --> 00:52:20,650 კარგი ჩვევა განვითარება არის ის, რომ ჩვენ გვინდა, რომ პირველი სახის მიზეზი 1115 00:52:20,650 --> 00:52:22,737 out ლოგიკურად როგორ უნდა გავაკეთოთ ეს. 1116 00:52:22,737 --> 00:52:24,570 თქვენ გვინდა დავრწმუნდეთ, სანამ ფიზიკურად 1117 00:52:24,570 --> 00:52:27,210 დაიწყოს ცდილობს კოდექსში Mario, რომ თქვენ მიიღოს 1118 00:52:27,210 --> 00:52:28,870 დარწმუნებული ვარ, რომ თქვენ გაქვთ თქვენი pseudocode. 1119 00:52:28,870 --> 00:52:31,235 რომ აღების თქვენ მეშვეობით ის, რაც თქვენ უნდა შექმნათ ასე 1120 00:52:31,235 --> 00:52:33,360 რომ, როდესაც თქვენ ფიზიკურად დაწერეთ თქვენი პროგრამის შემდეგ, 1121 00:52:33,360 --> 00:52:36,640 თქვენ უკეთ შეუძლია შეცდომების დაჭერა თქვენი კოდი და რამ, როგორიცაა, რომ. 1122 00:52:36,640 --> 00:52:40,460 >> ამიტომ, ჩვენ ვაპირებთ, რომ დავიწყო by-- ინგლისურ pseudocode, 1123 00:52:40,460 --> 00:52:43,320 ვინმეს გსურთ მისცეს ჩემთვის ზოგადი ახსნა 1124 00:52:43,320 --> 00:52:46,250 თუ როგორ წავიდოდა შესახებ ამით? 1125 00:52:46,250 --> 00:52:48,102 ჰო. 1126 00:52:48,102 --> 00:52:49,664 >> აუდიტორია: [INAUDIBLE]. 1127 00:52:49,664 --> 00:52:50,830 Andi Peng: რა თქმა უნდა, არ აწუხებს. 1128 00:52:50,830 --> 00:52:57,233 აუდიტორია: შეგიძლიათ ვთხოვო მას ან ითხოვენ ვინმე მისაღებად სიმებიანი 1-- yeah, სიმებიანი, 1129 00:52:57,233 --> 00:52:58,160 და შემდეგ 1130 00:52:58,160 --> 00:52:59,826 >> Andi Peng: დიახ, ასე რომ ეს არის კარგი დასაწყისია. 1131 00:52:59,826 --> 00:53:01,972 დავიწყებ აკრეფით, ვწუხვარ, რადგან თქვენ საუბარი. 1132 00:53:01,972 --> 00:53:02,471 ასე რომ-- 1133 00:53:02,471 --> 00:53:05,698 >> აუდიტორია: --The ამას ციფრები უფრო მაღალია, არა? 1134 00:53:05,698 --> 00:53:08,519 ან ამას წერილები აქვს მაღალი ნომრები? 1135 00:53:08,519 --> 00:53:09,310 Andi Peng: ზუსტად. 1136 00:53:09,310 --> 00:53:16,156 აუდიტორია: ასე შემდეგ ვაკლებთ 32 რასაც [INAUDIBLE]. 1137 00:53:16,156 --> 00:53:28,600 1138 00:53:28,600 --> 00:53:29,870 >> Andi Peng: დიდი. 1139 00:53:29,870 --> 00:53:35,020 ასე რომ, ჩვენ სახის გაქვთ ზოგადად გრძნობა როგორ უნდა იმუშაოს ამ პრობლემის შესახებ. 1140 00:53:35,020 --> 00:53:40,060 იცის, რომ ჩვენ სახის ვისწავლეთ ფიზიკური, რომ სტრიქონები 1141 00:53:40,060 --> 00:53:43,320 ინახება მეხსიერებაში, რას უკვე 1142 00:53:43,320 --> 00:53:45,920 იცით, რომ თქვენ აპირებთ, ალბათ, უნდა დაწეროთ თქვენი კოდი 1143 00:53:45,920 --> 00:53:48,288 იმისათვის, რომ გადაადგილება მეშვეობით სიმებიანი? 1144 00:53:48,288 --> 00:53:49,259 >> აუდიტორია: loop. 1145 00:53:49,259 --> 00:53:50,550 Andi Peng: A for loop, ზუსტად. 1146 00:53:50,550 --> 00:53:56,540 1147 00:53:56,540 --> 00:53:57,220 შესანიშნავი. 1148 00:53:57,220 --> 00:54:00,539 ასე რომ, ჩვენ ასეთი აქვს generic pseudocode წერილობითი ქვემოთ 1149 00:54:00,539 --> 00:54:02,330 რომ სახის იძლევა თქვენ აღნიშნავს, თუ როგორ 1150 00:54:02,330 --> 00:54:03,900 გადაინაცვლებს შესახებ პრობლემის გადაჭრის. 1151 00:54:03,900 --> 00:54:06,150 ახლა, რომ თქვენ გაქვთ ეს, თქვენ შეგიძლიათ მითითებას მას მოგვიანებით 1152 00:54:06,150 --> 00:54:08,233 მაშინ, როდესაც თქვენ ცდილობთ რეალურად დაწეროთ თქვენი კოდი. 1153 00:54:08,233 --> 00:54:10,240 ასე რომ, ჩვენ შეგვიძლია რეალურად აქ. 1154 00:54:10,240 --> 00:54:25,130 და მაქვს ფუნქცია მოუწოდა upper.c-- იქ მას is-- მხოლოდ ერთი ცარიელი თარგი 1155 00:54:25,130 --> 00:54:28,510 ახლა, რომ თქვენ ბიჭები ვაპირებთ დამეხმარება გაერკვნენ, თუ როგორ დაწერა 1156 00:54:28,510 --> 00:54:30,430 ეს ხაზი კოდი არ ხაზი კოდი. 1157 00:54:30,430 --> 00:54:32,890 ეს იქნება სხვადასხვა ხაზების კოდი. 1158 00:54:32,890 --> 00:54:35,710 >> როდესაც დაწყებული ნებისმიერი სახის ცარიელი pset, რა არის 1159 00:54:35,710 --> 00:54:37,418 პირველი, რაც მე უნდა უნდა გვახსოვდეს, რომ გავაკეთოთ? 1160 00:54:37,418 --> 00:54:39,290 >> აუდიტორია: [INAUDIBLE]. 1161 00:54:39,290 --> 00:54:41,000 >> Andi Peng: დიდი Yep. 1162 00:54:41,000 --> 00:54:41,500 ჩართეთ. 1163 00:54:41,500 --> 00:54:44,850 1164 00:54:44,850 --> 00:54:47,130 stdio.h. 1165 00:54:47,130 --> 00:54:49,640 ხშირად ეს არის ერთ ერთი ყველაზე მარტივი შეცდომები 1166 00:54:49,640 --> 00:54:51,598 გახდის, როდესაც ისინი წერა, არის ის, რომ ისინი ყველაფერს 1167 00:54:51,598 --> 00:54:54,180 უნდა დაგვავიწყდეს, რომ მოიცავს მნიშვნელოვანი ბიბლიოთეკა მათ სჭირდებათ. 1168 00:54:54,180 --> 00:54:57,689 ასე რომ, თუ ის ოფისში საათი და თქვენ, როგორიცაა, მე არ ვიცი, რატომ ჩემი კოდი არ მუშაობს. 1169 00:54:57,689 --> 00:54:59,230 შეგიძლიათ მითხრათ, რატომ არ მუშაობს? 1170 00:54:59,230 --> 00:55:00,730 ჩვენ ვაპირებთ, რომ ვთქვათ გქონდათ შეიცავდეს? 1171 00:55:00,730 --> 00:55:02,520 თქვენ უნდა შეიცავდეს იგი. 1172 00:55:02,520 --> 00:55:03,270 OK. 1173 00:55:03,270 --> 00:55:07,230 >> ამიტომ, ჩვენ მივიღეთ სტანდარტული I / O აქ. 1174 00:55:07,230 --> 00:55:10,740 ის არის, რომ ბიბლიოთეკა ჩვენ ვაპირებთ, რომ უნდა აქ? 1175 00:55:10,740 --> 00:55:12,681 რა ვართ აპირებს? 1176 00:55:12,681 --> 00:55:13,180 ბოდიში. 1177 00:55:13,180 --> 00:55:14,562 ვიღაცამ უბრალოდ ყვირილი ის? 1178 00:55:14,562 --> 00:55:15,666 >> აუდიტორია: [INAUDIBLE]. 1179 00:55:15,666 --> 00:55:16,666 Andi Peng: იქ წასვლა. 1180 00:55:16,666 --> 00:55:20,320 1181 00:55:20,320 --> 00:55:21,440 OK. 1182 00:55:21,440 --> 00:55:26,070 და როგორ წავიდეთ შესახებ დაწყებული ნებისმიერი სახის ფუნქცია, ნებისმიერი სახის მთავარი ფუნქცია 1183 00:55:26,070 --> 00:55:28,760 ჩვენს პროგრამაში? 1184 00:55:28,760 --> 00:55:30,020 Int მთავარი. 1185 00:55:30,020 --> 00:55:34,531 1186 00:55:34,531 --> 00:55:35,030 OK. 1187 00:55:35,030 --> 00:55:35,970 რა შემიძლია დააყენა შიგნით აქ? 1188 00:55:35,970 --> 00:55:37,640 რა არის პირველი რაც თქვენ უნდა გავაკეთოთ? 1189 00:55:37,640 --> 00:55:39,910 თუ ჩვენ გვინდა სიმებიანი ეხლა შესახებ, 1190 00:55:39,910 --> 00:55:43,870 რასაც ჩვენ ვაპირებთ, რომ აქვს უნდა გავაკეთოთ ეს პირველი ხაზი? 1191 00:55:43,870 --> 00:55:46,120 ბოდიში, თქვენ ბიჭები უბრალოდ ვგრძნობ უფასო ლაპარაკი და ხმამაღალი. 1192 00:55:46,120 --> 00:55:47,123 უბრალოდ ყვირილი რასაც. 1193 00:55:47,123 --> 00:55:48,772 >> აუდიტორია: გააქვთ მომხმარებელი? 1194 00:55:48,772 --> 00:55:49,980 Andi Peng: როგორ უნდა გავაკეთოთ, რომ? 1195 00:55:49,980 --> 00:55:51,873 Ask-- ვარ მე ტიპის "ვთხოვ შესახებ"? 1196 00:55:51,873 --> 00:55:52,600 >> აუდიტორია: Printf. 1197 00:55:52,600 --> 00:55:54,341 >> Andi Peng: OK. 1198 00:55:54,341 --> 00:55:54,840 Printf. 1199 00:55:54,840 --> 00:55:57,372 რა გვინდა printf? 1200 00:55:57,372 --> 00:55:58,776 >> აუდიტორია: ტიპი რაღაც. 1201 00:55:58,776 --> 00:56:02,760 1202 00:56:02,760 --> 00:56:03,840 >> Andi Peng: მომწონს, რომ? 1203 00:56:03,840 --> 00:56:05,430 ბიჭები, თითქოს, როგორიც მე ვარ კომპიუტერი. 1204 00:56:05,430 --> 00:56:08,475 ფიზიკური მეუბნებოდა, ყოველი ნაბიჯი რომ მე უნდა აკრიფოთ აქ? 1205 00:56:08,475 --> 00:56:09,600 ვაკეთებ რაღაც? 1206 00:56:09,600 --> 00:56:10,743 თუ მე აკრეფილი რაღაც? 1207 00:56:10,743 --> 00:56:11,690 >> აუდიტორია: თქვენ უნდა შეთავაზებები. 1208 00:56:11,690 --> 00:56:12,380 >> Andi Peng: მე უნდა შეთავაზებები? 1209 00:56:12,380 --> 00:56:12,880 OK. 1210 00:56:12,880 --> 00:56:15,520 1211 00:56:15,520 --> 00:56:16,297 OK. 1212 00:56:16,297 --> 00:56:17,698 >> აუდიტორია: და მერე ახალი ხაზი. 1213 00:56:17,698 --> 00:56:21,434 1214 00:56:21,434 --> 00:56:22,465 მძიმით. 1215 00:56:22,465 --> 00:56:23,340 Andi Peng: მძიმით? 1216 00:56:23,340 --> 00:56:24,060 OK. 1217 00:56:24,060 --> 00:56:24,560 კარგი. 1218 00:56:24,560 --> 00:56:27,060 >> აუდიტორია: იქნებ მიუთითოთ რომ გსურთ იგი ამას? 1219 00:56:27,060 --> 00:56:30,120 1220 00:56:30,120 --> 00:56:31,415 >> Andi Peng: დიდი. 1221 00:56:31,415 --> 00:56:33,540 თქვენ ბიჭები დამცინიან დავიწყება დააყენოს მძიმით. 1222 00:56:33,540 --> 00:56:36,350 მე გაძლევთ გარანტიას, სადღაც რა თქმა უნდა, ამ კლასის, 1223 00:56:36,350 --> 00:56:38,260 თქვენ დაგავიწყდეთ დააყენოს მძიმით, და ეს 1224 00:56:38,260 --> 00:56:41,116 გადაგიყვანთ სამი საათის განმავლობაში უნდა გაერკვნენ გაირკვეს, თუ რატომ თქვენი კოდი არ მუშაობს. 1225 00:56:41,116 --> 00:56:42,240 ეს მოხდა ყველა ჩვენგანისთვის. 1226 00:56:42,240 --> 00:56:43,950 ეს ალბათ მოხდება. 1227 00:56:43,950 --> 00:56:46,352 მიიღეთ კარგი ჩვევა გამოყენებით semicolons. 1228 00:56:46,352 --> 00:56:46,852 OK. 1229 00:56:46,852 --> 00:56:49,010 >> აუდიტორია: გსურთ გავაკეთოთ წარმატებული წელს? 1230 00:56:49,010 --> 00:56:50,398 >> Andi Peng: რა თქმა უნდა. 1231 00:56:50,398 --> 00:56:51,856 გსურთ გააკეთოთ წარმატებული წელს? 1232 00:56:51,856 --> 00:56:53,020 >> აუდიტორია: დიახ. 1233 00:56:53,020 --> 00:56:54,330 >> Andi Peng: დიდი. 1234 00:56:54,330 --> 00:56:54,830 OK. 1235 00:56:54,830 --> 00:56:57,872 რა გავაკეთო შემდეგი? 1236 00:56:57,872 --> 00:56:58,964 >> აუდიტორია: მიიღეთ სიმებიანი. 1237 00:56:58,964 --> 00:56:59,880 Andi Peng: მიიღეთ სიმებიანი. 1238 00:56:59,880 --> 00:57:03,080 1239 00:57:03,080 --> 00:57:03,830 ასე რომ, რა ტიპის? 1240 00:57:03,830 --> 00:57:04,233 ვინმეს? 1241 00:57:04,233 --> 00:57:05,040 >> აუდიტორია: სიმებიანი s. 1242 00:57:05,040 --> 00:57:05,873 >> Andi Peng: სიმებიანი s. 1243 00:57:05,873 --> 00:57:07,251 აუდიტორია: GetString. 1244 00:57:07,251 --> 00:57:09,000 Andi Peng: Somebody, შეგიძლიათ მითხრათ, სადაც 1245 00:57:09,000 --> 00:57:12,000 ამ ფუნქციის GetString მოდის? 1246 00:57:12,000 --> 00:57:13,660 >> აუდიტორია: string.h. 1247 00:57:13,660 --> 00:57:15,256 >> Andi Peng: string.h? 1248 00:57:15,256 --> 00:57:16,715 თქვენ ფიქრობთ, რომ ეს from string.h? 1249 00:57:16,715 --> 00:57:17,830 >> აუდიტორია: [INAUDIBLE]. 1250 00:57:17,830 --> 00:57:18,830 >> Andi Peng: იქ წასვლა. 1251 00:57:18,830 --> 00:57:21,280 ეს ეხლა cs50.h. 1252 00:57:21,280 --> 00:57:24,530 თუ თქვენ ყოველთვის დაბნეული, სადაც ბიბლიოთეკა ფაილი ან header ფაილი, 1253 00:57:24,530 --> 00:57:28,450 google ფაქტიურად string.h, და მე გეტყვით, 1254 00:57:28,450 --> 00:57:30,450 რა არის ყველა ის ფუნქცია რომლებიც string.h. 1255 00:57:30,450 --> 00:57:31,340 OK. 1256 00:57:31,340 --> 00:57:35,210 >> ასე რომ, ახლა, რომ მე შევქმენი სიმებიანი და მე უბიძგონ შესახებ მას, 1257 00:57:35,210 --> 00:57:38,770 მე ინახება ეს ცვლადი სახელად s, რა უნდა ქნას? 1258 00:57:38,770 --> 00:57:40,652 >> აუდიტორია: შეამოწმეთ თუ ამას. 1259 00:57:40,652 --> 00:57:41,360 Andi Peng: ბოდიში? 1260 00:57:41,360 --> 00:57:42,545 აუდიტორია: შეამოწმეთ თუ ამას. 1261 00:57:42,545 --> 00:57:44,045 Andi Peng ყველა უფლება, მოდით გავაკეთოთ. 1262 00:57:44,045 --> 00:57:45,857 როგორ შემიძლია ამის გაკეთება? 1263 00:57:45,857 --> 00:57:47,940 სინამდვილეში, იმ მიზნით, კლასის ახლავე, 1264 00:57:47,940 --> 00:57:50,330 ჩვენ უბრალოდ აპირებს ვივარაუდოთ, რომ ყველაფერი 1265 00:57:50,330 --> 00:57:52,620 რომ ჩვენ შეტანის უკვე ამას. 1266 00:57:52,620 --> 00:57:55,430 თუ უნდოდა, რათა შეამოწმოს, თქვენ აკეთებთ უბრალოდ დაამატოთ პირობითი განაცხადი 1267 00:57:55,430 --> 00:57:59,640 რომ შეამოწმეს, რომ გაიქცა მეშვეობით თითოეული მასივი ელემენტს 1268 00:57:59,640 --> 00:58:02,540 და შეამოწმა, თუ ის შორის გარკვეული ღირებულებები. 1269 00:58:02,540 --> 00:58:05,627 მე დაგვავიწყდეს, რა რაოდენობის ღირებულებები ამას არიან. 1270 00:58:05,627 --> 00:58:07,210 თქვენ შეგიძლიათ შეხედეთ ის ASCII მაგიდასთან. 1271 00:58:07,210 --> 00:58:08,800 მაგრამ ჰო, რომ არის ძალიან კარგი წერტილი. 1272 00:58:08,800 --> 00:58:11,758 მაგრამ ახლა, ჩვენ უბრალოდ აპირებს ვივარაუდოთ, რომ ყველა სიმები ჩვენ input 1273 00:58:11,758 --> 00:58:13,130 ვართ ამას. 1274 00:58:13,130 --> 00:58:13,870 OK. 1275 00:58:13,870 --> 00:58:18,069 >> ასე რომ, როგორ მივდივარ შესახებ ეს პრობლემა არის შემდეგი? 1276 00:58:18,069 --> 00:58:18,860 აუდიტორია: loop. 1277 00:58:18,860 --> 00:58:19,340 Andi Peng: For loop? 1278 00:58:19,340 --> 00:58:19,839 OK. 1279 00:58:19,839 --> 00:58:20,847 მითხარით, რა უნდა აკრიფოთ. 1280 00:58:20,847 --> 00:58:25,230 >> აუდიტორია: int i = 0. 1281 00:58:25,230 --> 00:58:27,230 >> Andi Peng: OK. 1282 00:58:27,230 --> 00:58:36,350 >> აუდიტორია: Oh, რეალურად, მაშინ თქვენ ამის მძიმით და ნუ ო შეადგენს strlen. 1283 00:58:36,350 --> 00:58:38,940 >> Andi Peng: ასე რომ, მთავარია, რომ მე ვფიქრობ, რომ ის შენიშნა აქ 1284 00:58:38,940 --> 00:58:42,936 ის არის, რომ ჩვენ არ უნდა ვთქვა, int n მეორედ ეს გავაკეთეთ. 1285 00:58:42,936 --> 00:58:45,060 უბრალოდ ვიცი, რომ ამისთვის loop როცა თქვენ გამოცხადების, 1286 00:58:45,060 --> 00:58:47,934 თქვენ ნამდვილად არ გვჭირდება int of მეორე, როცა ამის გაკეთება ცვლადი. 1287 00:58:47,934 --> 00:58:51,202 შეიძლება ითქვას, n strlen. 1288 00:58:51,202 --> 00:58:52,620 >> აუდიტორია: s. 1289 00:58:52,620 --> 00:58:53,510 >> Andi Peng: s. 1290 00:58:53,510 --> 00:58:54,706 OK. 1291 00:58:54,706 --> 00:58:58,370 >> აუდიტორია: მაშინ მძიმით. 1292 00:58:58,370 --> 00:59:00,130 >> Andi Peng: რა თქმა უნდა. 1293 00:59:00,130 --> 00:59:04,050 >> აუდიტორია: და მერე [INAUDIBLE] n. 1294 00:59:04,050 --> 00:59:07,480 1295 00:59:07,480 --> 00:59:09,460 მერე ++. 1296 00:59:09,460 --> 00:59:11,780 >> Andi Peng: დიდი. 1297 00:59:11,780 --> 00:59:12,280 ყველა უფლება. 1298 00:59:12,280 --> 00:59:14,690 რა გვინდა შიგნით ამ loop ახლა? 1299 00:59:14,690 --> 00:59:17,820 გახსოვდეთ, თუ ჩვენ ვაპირებთ აწარმოებს მეშვეობით სიმებიანი და აწარმოებს მეშვეობით მასივი, 1300 00:59:17,820 --> 00:59:19,287 ჩვენ გვინდა, რომ ნახოთ რამ იგი. 1301 00:59:19,287 --> 00:59:20,370 რას აპირებს უნდა? 1302 00:59:20,370 --> 00:59:23,070 1303 00:59:23,070 --> 00:59:26,900 ეს არის ერთგვარი სახიფათო ნაწილი ახლა. 1304 00:59:26,900 --> 00:59:27,960 ვინმეს აქვს ვხვდები? 1305 00:59:27,960 --> 00:59:34,160 1306 00:59:34,160 --> 00:59:34,690 >> OK. 1307 00:59:34,690 --> 00:59:37,830 ასე რომ, პირველი, თუ როგორ ჩვენ კი წვდომის? 1308 00:59:37,830 --> 00:59:41,610 როგორ ჩვენ კი პირველი გამშვები ან წვდომის ელემენტი მასივი? 1309 00:59:41,610 --> 00:59:42,920 როგორ უნდა გავაკეთოთ, რომ? 1310 00:59:42,920 --> 00:59:47,120 რა არის notation ვიყენებთ ამის გაკეთება? 1311 00:59:47,120 --> 00:59:50,920 რა სახელით ამ მასივი მოუწოდა? 1312 00:59:50,920 --> 00:59:52,400 ეს მოუწოდა, არა? 1313 00:59:52,400 --> 00:59:54,850 >> გახსოვდეთ, ნებისმიერი string ყოველთვის მასივი. 1314 00:59:54,850 --> 00:59:58,210 ასე რომ, s bracket i, არა? 1315 00:59:58,210 --> 01:00:01,360 იმიტომ, რომ მიმდინარე ღირებულება ან ინდექსის მნიშვნელობა ჩვენ შემოწმების. 1316 01:00:01,360 --> 01:00:05,156 და ჩვენ ვაპირებთ მითითებული, რომ თანაბარი რომელთა მიზანია ჩვენ გვინდა, ამას მნიშვნელობა, არა? 1317 01:00:05,156 --> 01:00:07,530 ჩვენ გვინდა, რომ იქცეს, რომ lower-- უკაცრავად, ჩვენ გვინდა, რომ ზედა. 1318 01:00:07,530 --> 01:00:10,014 ჩვენ გვინდა, რომ გახდეს ამას მნიშვნელობა შევიდა ზედა. 1319 01:00:10,014 --> 01:00:11,805 და ასე მოსწონს მე ვწუხვარ, რა გქვია? 1320 01:00:11,805 --> 01:00:12,580 >> აუდიტორია: Heidi. 1321 01:00:12,580 --> 01:00:12,940 >> Andi Peng: ბოდიში? 1322 01:00:12,940 --> 01:00:13,280 >> აუდიტორია: Heidi. 1323 01:00:13,280 --> 01:00:13,988 >> Andi Peng: Heidi. 1324 01:00:13,988 --> 01:00:15,850 ისევე როგორც ჰაიდი განაცხადა თავდაპირველად, ჩვენ, ალბათ, 1325 01:00:15,850 --> 01:00:20,330 აპირებთ უნდა the-- ჩვენ ალბათ აპირებს უნდა გამოვაკლოთ 1326 01:00:20,330 --> 01:00:22,630 32 რასაც charc რომ არის, უფლება? 1327 01:00:22,630 --> 01:00:24,680 იმის გამო, რომ წლის ASCII მაგიდა, განსხვავება 1328 01:00:24,680 --> 01:00:27,790 შორის ამას წერილი და ზედა წერილი 32. 1329 01:00:27,790 --> 01:00:31,290 ასე რომ, როდესაც ჩვენ ამით, ჩვენ, ალბათ, აპირებს გვინდა გამოვაკლოთ 32, არა? 1330 01:00:31,290 --> 01:00:33,910 >> ასე რომ, ჩვენ ვაპირებთ, რომ s i. 1331 01:00:33,910 --> 01:00:37,590 1332 01:00:37,590 --> 01:00:41,200 არა ყველას მესმის, რატომ გააკეთა ეს? 1333 01:00:41,200 --> 01:00:45,760 იმის გამო, რომ ახლა, ჩვენს მასივი, ჩვენ შემოწმების 0th ინდექსი, არა? 1334 01:00:45,760 --> 01:00:49,190 და 0th ინდექსი სიმებიანი, რომ პირველი ხასიათი. 1335 01:00:49,190 --> 01:00:51,820 და რომ ხასიათი, ჩვენ ვაპირებთ უნდა ვივარაუდოთ, რომ ეს ამას. 1336 01:00:51,820 --> 01:00:55,980 თუ ჩვენ გვინდა, რომ ის ზედა, ჩვენ უნდა გამოვაკლოთ 32 მისი ღირებულება, 1337 01:00:55,980 --> 01:00:58,620 იმიტომ, რომ ჩვენი ASCII მაგიდა, რომ, თუ ჩვენ მას 1338 01:00:58,620 --> 01:01:01,600 მომდევნო შესაბამისი მნიშვნელობა, რაც მას ზედა. 1339 01:01:01,600 --> 01:01:03,714 ამჯამად ყველას გვესმის, რომ? 1340 01:01:03,714 --> 01:01:04,213 ჰო. 1341 01:01:04,213 --> 01:01:06,530 >> აუდიტორია: იქნებ ასევე გთხოვთ ამას მინუს 1342 01:01:06,530 --> 01:01:08,080 >> Andi Peng: ჰო, ისე, რომ რეალურად ძალიან კარგი. 1343 01:01:08,080 --> 01:01:10,455 მე ვაპირებ დაბრუნებას, რომ კითხვა მას შემდეგ, რაც ჩვენ ამის გაკეთება. 1344 01:01:10,455 --> 01:01:11,060 ჰო. 1345 01:01:11,060 --> 01:01:13,940 და მაშინ, თუ მე მინდა ვნახოთ, რა ხდება, 1346 01:01:13,940 --> 01:01:16,180 მე ალბათ აპირებს გსურთ ბეჭდვა, უფლება? 1347 01:01:16,180 --> 01:01:19,930 ვინმეს მითხრათ რა მინდა ამობეჭდოთ აქ. 1348 01:01:19,930 --> 01:01:29,160 >> აუდიტორია: printf პროცენტი c წარმატებული [INAUDIBLE]. 1349 01:01:29,160 --> 01:01:33,570 ეს არის ის, ღირებულება [INAUDIBLE] s i. 1350 01:01:33,570 --> 01:01:34,614 >> Andi Peng: s i, ბოდიში? 1351 01:01:34,614 --> 01:01:35,530 აუდიტორია: [INAUDIBLE]. 1352 01:01:35,530 --> 01:01:38,550 1353 01:01:38,550 --> 01:01:39,550 Andi Peng: მე არ ვიცი. 1354 01:01:39,550 --> 01:01:40,600 რას ფიქრობთ? 1355 01:01:40,600 --> 01:01:44,016 >> აუდიტორია: ისე, მე wouldn't-- ვფიქრობ, მე არ bring-- 1356 01:01:44,016 --> 01:01:46,944 მე მიიღოს იგი გარეთ შიგნით, რადგან [INAUDIBLE]. 1357 01:01:46,944 --> 01:01:49,726 1358 01:01:49,726 --> 01:01:51,392 Andi Peng: Oh, თქვენ არ კეთდება, რომ? 1359 01:01:51,392 --> 01:01:53,867 აუდიტორია: Yeah. 1360 01:01:53,867 --> 01:01:56,700 Andi Peng: მოდით დატოვოს ის გზა ეს არის, და მე რატომ მოგვიანებით. 1361 01:01:56,700 --> 01:01:58,533 გახსოვდეთ, მაშინაც კი, როცა აქვს ადგილი მფლობელი, 1362 01:01:58,533 --> 01:02:00,701 გსურთ დააყენა ფრჩხილებში გარშემო. 1363 01:02:00,701 --> 01:02:01,200 ყველა უფლება. 1364 01:02:01,200 --> 01:02:04,810 ასე რომ, ეს უნდა იყოს მყარი ფუნქცია აქ. 1365 01:02:04,810 --> 01:02:06,370 მოდით გაუშვით და თუ იგი ადგენს. 1366 01:02:06,370 --> 01:02:08,750 ჩადება ზედა. 1367 01:02:08,750 --> 01:02:09,250 Uh-oh. 1368 01:02:09,250 --> 01:02:12,030 1369 01:02:12,030 --> 01:02:13,340 ეს არ გამოიყურება ძალიან კარგი. 1370 01:02:13,340 --> 01:02:14,507 რატომ ხდება ეს? 1371 01:02:14,507 --> 01:02:17,340 როგორც ნებისმიერი შეცდომა, გსურთ წავიდეთ უკან და იწყება პირველი, 1372 01:02:17,340 --> 01:02:20,630 იმიტომ, რომ, როგორც წესი, ერთი შეცდომა მიზეზები უამრავი სხვა შეცდომები მას შემდეგ. 1373 01:02:20,630 --> 01:02:26,700 აქ ჩვენ ვხედავთ, upper.c: 18: 25, რომელიც მოგვითხრობს მე ამ პროგრამაში სახელად upper.c, 1374 01:02:26,700 --> 01:02:33,800 on line 18, შეცდომა მინიშნებით გამოცხადების ბიბლიოთეკის ფუნქციები strlen ტიპი 1375 01:02:33,800 --> 01:02:36,330 unassigned-- blah, მე არ ვიცი, რა ხდება ამის შემდეგ. 1376 01:02:36,330 --> 01:02:39,990 >> ყველა ის მეუბნებოდა, რომ ახლა არის რომ რაღაც ხდება strlen. 1377 01:02:39,990 --> 01:02:43,520 კომპიუტერი და დაბნეული, რადგან ეს იგივეა, მე არ ვიცი, რა strlen არის? 1378 01:02:43,520 --> 01:02:45,520 რას რომელიც, სავარაუდოდ, გითხრათ თქვენ დაკარგული? 1379 01:02:45,520 --> 01:02:46,490 >> აუდიტორია: თქვენ აკლია [INAUDIBLE]. 1380 01:02:46,490 --> 01:02:47,630 >> Andi Peng: თქვენ უფლება. 1381 01:02:47,630 --> 01:02:49,510 ზუსტად. 1382 01:02:49,510 --> 01:02:52,140 ასე რომ, ეს არის, სადაც ეს მნიშვნელოვანია, რომ დავრწმუნდეთ 1383 01:02:52,140 --> 01:02:56,970 რომ ყველა ფუნქცია თქვენ იყენებთ თქვენს კოდი აქვს სწორი header 1384 01:02:56,970 --> 01:02:59,660 ფაილი ბიბლიოთეკა, ანდა თქვენ აპირებთ მისაღებად უამრავი შეცდომები 1385 01:02:59,660 --> 01:03:01,150 და თქვენი კოდი არ აპირებს ვიცი, რა ხდება. 1386 01:03:01,150 --> 01:03:03,050 ასე რომ, ჩვენ ვაპირებთ, რომ მოიცავს string.h აქ. 1387 01:03:03,050 --> 01:03:06,270 >> ახლა, როდესაც ჩვენ ვცდილობთ შეადგინონ ზედა. 1388 01:03:06,270 --> 01:03:08,410 კომპილირდება სწორად. 1389 01:03:08,410 --> 01:03:09,960 მოდით აწარმოებს ამ პროგრამის. 1390 01:03:09,960 --> 01:03:12,000 ასე რომ, აკრიფოთ რაღაც ამას. 1391 01:03:12,000 --> 01:03:14,920 რას ბიჭები გსურთ შეიტანოთ? 1392 01:03:14,920 --> 01:03:16,546 ყვირილი რაღაც. 1393 01:03:16,546 --> 01:03:17,920 ყველა უფლება, Charly უბრალოდ დადიოდა. 1394 01:03:17,920 --> 01:03:18,990 ჩვენ აკრიფოთ Charly სახელი. 1395 01:03:18,990 --> 01:03:21,670 1396 01:03:21,670 --> 01:03:22,840 >> Charly ამას. 1397 01:03:22,840 --> 01:03:27,742 და იმედია, იმედია, ეს არის აპირებს ყვირილი და შამფურზე 1398 01:03:27,742 --> 01:03:28,575 Charly ზედა. 1399 01:03:28,575 --> 01:03:30,830 საზაფხულო! 1400 01:03:30,830 --> 01:03:33,430 ჯერ ყველას კარგად ესმის, თუ როგორ მივედი გადაჭრის, რომ? 1401 01:03:33,430 --> 01:03:36,190 ისე, რომ მე არ შემიძლია მანიპულირება გამოყენებით რიცხვებით 1402 01:03:36,190 --> 01:03:39,410 გადაწყვიტოს, რომ რაღაც მე მინდა, რომ სტრიქონები, 1403 01:03:39,410 --> 01:03:44,390 იმიტომ, რომ გმირები და რიცხვებით შეუძლია მითითებული იმ გზით, რადგან 1404 01:03:44,390 --> 01:03:45,540 of ASCII რუკების. 1405 01:03:45,540 --> 01:03:52,890 >> ასე რომ, უნდა დაბრუნდეს თქვენი აზრი, თუ მე მინდოდა, რომ აქ ნაცვლად 32 1406 01:03:52,890 --> 01:03:58,959 ზედა მინუს მხედრულ, ისევე, როგორც რომ, რომელიც იმუშავებს ერთნაირად ისევე, 1407 01:03:58,959 --> 01:04:01,750 იმიტომ, რომ ის, უბრალოდ, მხოლოდ განსხვავება ამ ორ ღირებულებას შორის. 1408 01:04:01,750 --> 01:04:09,570 თუ მე მინდა, რომ ეს ერთხელ charly. 1409 01:04:09,570 --> 01:04:10,320 Oh no. 1410 01:04:10,320 --> 01:04:11,820 მე ვფიქრობ, რომ ჩვენ წავიდა არასწორი გზა, არა? 1411 01:04:11,820 --> 01:04:13,260 >> აუდიტორია: [INAUDIBLE] ამას. 1412 01:04:13,260 --> 01:04:14,260 >> Andi Peng: იქ წასვლა. 1413 01:04:14,260 --> 01:04:22,380 1414 01:04:22,380 --> 01:04:22,880 Yep. 1415 01:04:22,880 --> 01:04:24,920 და გარეთ ფეხზე charly. 1416 01:04:24,920 --> 01:04:28,020 ასე რომ, ფრთხილად, როდესაც თქვენ ვაკლებთ ღირებულებები 1417 01:04:28,020 --> 01:04:30,400 უნდა გვახსოვდეს, რომელიც ერთი არის უფრო მეტი, ვიდრე სხვა. 1418 01:04:30,400 --> 01:04:35,220 მაგალითად, აქ დამავიწყდა რომ ამას რეალურად 1419 01:04:35,220 --> 01:04:38,540 უფრო მეტი, ვიდრე ზედა A. ასე რომ, როდესაც მე ცდილობდა სხვაობა მათ სხვა გზა 1420 01:04:38,540 --> 01:04:40,600 გარშემო, მე მივიღე უარყოფითი 32. 1421 01:04:40,600 --> 01:04:42,800 და ჩემი კომპიუტერი იყო, მე არ ვიცი, რა არის. 1422 01:04:42,800 --> 01:04:45,810 ეს ალბათობა რამოდენიმე შემთხვევითი ღირებულება, რომელიც არ არის ძალიან კარგი. 1423 01:04:45,810 --> 01:04:48,760 ასე რომ დარწმუნდით, რომ თქვენ გამოკლებით, სწორი სიგრძე 1424 01:04:48,760 --> 01:04:52,831 იპოვოს ხასიათი გსურთ. 1425 01:04:52,831 --> 01:04:53,330 OK. 1426 01:04:53,330 --> 01:04:58,550 არის ვინმე დაბნეული შესახებ, თუ როგორ წავიდა წერა ეს ფუნქცია? 1427 01:04:58,550 --> 01:04:59,180 OK. 1428 01:04:59,180 --> 01:05:04,830 ასე რომ, რეალურად, ფუნქცია უკვე არსებობს ბიბლიოთეკა მოუწოდა ctype.h. 1429 01:05:04,830 --> 01:05:06,417 ბიბლიოთეკის მოუწოდა ctype.h. 1430 01:05:06,417 --> 01:05:08,500 ეს ფუნქცია რეალურად არის უკვე დაწერილი თქვენთვის. 1431 01:05:08,500 --> 01:05:10,820 ეს ე.წ. ზედა. 1432 01:05:10,820 --> 01:05:13,027 >> ასე რომ, იმ მიზნით, ამ pset, თქვენ აპირებს 1433 01:05:13,027 --> 01:05:15,860 მოძიების, რომ თქვენ ნამდვილად გსურთ გამოიყენოთ ბევრი ფუნქციები შეიცავს 1434 01:05:15,860 --> 01:05:17,390 ფარგლებში ctype ბიბლიოთეკა. 1435 01:05:17,390 --> 01:05:21,040 ზედა, ქვედა, არის ზედა, არის lower-- იმ ყველა ფუნქციები 1436 01:05:21,040 --> 01:05:24,914 რომ თქვენ შეძლებთ გამოიყენოთ ძალიან, ძალიან სწრაფად საკუთარი კოდი, რომელიც 1437 01:05:24,914 --> 01:05:26,080 ზუსტად რა ეს იმას. 1438 01:05:26,080 --> 01:05:28,941 ჩვენ ვწერდით, თუ როგორ უნდა გარდაქმნას სიმებიანი ზედა. 1439 01:05:28,941 --> 01:05:31,440 მაგრამ ეს არის რეალურად კოდი რომ სხვისი დაწერილი 1440 01:05:31,440 --> 01:05:33,800 და რომ თქვენ შეგიძლიათ თქვათ მეშვეობით სხვადასხვა ფუნქცია. 1441 01:05:33,800 --> 01:05:34,300 ჰო? 1442 01:05:34,300 --> 01:05:39,570 >> აუდიტორია: ასე რომ თქვენ უბრალოდ დააკოპირეთ-ის იქ და ამას თითოეული წერილი? 1443 01:05:39,570 --> 01:05:42,070 >> Andi Peng: ჰო, იმიტომ, რომ მე არ აინტერესებს ღირებულებებს. 1444 01:05:42,070 --> 01:05:44,540 მე უბრალოდ მაინტერესებს, რომ განსხვავება მათ შორის არის 32, არა? 1445 01:05:44,540 --> 01:05:48,210 შორის განსხვავება ამას ბ და ზედა B ასევე 32. 1446 01:05:48,210 --> 01:05:50,860 და განსხვავება გ და ზედა C ყოველთვის 32. 1447 01:05:50,860 --> 01:05:53,235 >> მე უბრალოდ აინტერესებს განსხვავება ორ, 1448 01:05:53,235 --> 01:05:56,666 იმიტომ, რომ ყველა ასო მოჰყვება იგივე ნიმუში, არა? 1449 01:05:56,666 --> 01:05:58,540 თუ მე მაქვს განსხვავება შორის ერთ-ერთი მათგანი, 1450 01:05:58,540 --> 01:06:01,050 მე ვიცი, რა განსხვავებაა შორის ყველა მათგანი. 1451 01:06:01,050 --> 01:06:01,740 კარგი კითხვაა. 1452 01:06:01,740 --> 01:06:04,090 ჰო. 1453 01:06:04,090 --> 01:06:06,660 ყველას კარგი? 1454 01:06:06,660 --> 01:06:09,080 OK. 1455 01:06:09,080 --> 01:06:09,580 OOP. 1456 01:06:09,580 --> 01:06:14,380 1457 01:06:14,380 --> 01:06:15,270 >> OK. 1458 01:06:15,270 --> 01:06:20,310 ასე რომ კიდევ ერთი კონცეფცია, რომელიც არის იქნება ძალიან სასარგებლო, რადგან თქვენ 1459 01:06:20,310 --> 01:06:22,570 გააგრძელოს განვითარება თქვენი კოდი არის ეს იდეა 1460 01:06:22,570 --> 01:06:25,430 შექმნის ფუნქცია ან აბსტრაქცია. 1461 01:06:25,430 --> 01:06:28,479 ასე რომ, ახლა, ჩვენ ყველა მიღებული ალგებრა. 1462 01:06:28,479 --> 01:06:31,770 ალგებრაში, თქვენ ასწავლიან, რომ არ ეს მშვენიერი რამ მოუწოდა ფუნქცია 1463 01:06:31,770 --> 01:06:35,300 მანქანა, სადაც, თუ თქვენ შეყვანის ერთი სახის ნომერი, 1464 01:06:35,300 --> 01:06:38,720 ის გადის ამ შესანიშნავი ფუნქცია და გარეთ pops სხვადასხვა გამომავალი, არა? 1465 01:06:38,720 --> 01:06:42,220 კოდი, იგივე ხდება ნებისმიერი სახის ფუნქცია. 1466 01:06:42,220 --> 01:06:48,230 >> ასე რომ, შემეძლო ფიზიკურად წერენ ჩემი სხეული ჩემი კოდი 1467 01:06:48,230 --> 01:06:52,357 მთავარი განცხადებას, რომ რეალურად აკეთებს რასაც სხეულის კოდი აკეთებს. 1468 01:06:52,357 --> 01:06:54,940 მაგრამ გარეთ რომ, შემიძლია ასევე წერენ სხვადასხვა ფუნქციები 1469 01:06:54,940 --> 01:06:56,320 რომ ბევრი სხვადასხვა რამ. 1470 01:06:56,320 --> 01:06:58,570 მაგალითად, ჩვენ უკვე დაიწყო ზოგიერთი მათგანი. 1471 01:06:58,570 --> 01:07:00,610 Printf-- რომ არის ფუნქცია, რომელიც სხვისი 1472 01:07:00,610 --> 01:07:02,870 უკვე წერდა, რომ ჩვენ შეგვიძლია მოვუწოდებთ ჩვენს კოდი. 1473 01:07:02,870 --> 01:07:05,410 იმისათვის, რომ upper-- ამ შემთხვევაში, upper-- კიდევ ერთი ფუნქცია 1474 01:07:05,410 --> 01:07:07,330 დავწერეთ, რომ ჩვენ შეგიძლიათ დარეკოთ ჩვენს კოდი. 1475 01:07:07,330 --> 01:07:09,520 ასე რომ, ვფიქრობ, რატომ ჩვენ კი ფუნქციები? 1476 01:07:09,520 --> 01:07:12,100 რატომ არ გვაქვს უბრალოდ plop ეს ყველაფერი იგივე ხაზი კოდი? 1477 01:07:12,100 --> 01:07:13,730 რაც მას ადვილად ყველასთვის. 1478 01:07:13,730 --> 01:07:19,200 >> ისე, ლოგიკა, რომ ეს არის, პირველ რიგში, ორგანიზაცია. 1479 01:07:19,200 --> 01:07:21,880 ეს მართლაც შემაშფოთებელი აპირებს მეშვეობით ვიღაცის კოდი 1480 01:07:21,880 --> 01:07:25,110 და ერთი ფუნქცია printf. 1481 01:07:25,110 --> 01:07:28,570 თუ ბიჭები რეალურად იცოდა, რა ფუნქცია printf მოჰყვა დაწერა, 1482 01:07:28,570 --> 01:07:30,530 ეს, ისევე, როგორც 1000 ხაზების კოდი. 1483 01:07:30,530 --> 01:07:32,357 >> თუ ყოველ ჯერზე მე მინდოდა printf, რაღაც, 1484 01:07:32,357 --> 01:07:35,440 მე მქონდა დაწერა 1,000 ხაზი კოდი, რომ იყოს მართლაც შემაშფოთებელი, რომ წავიკითხე, 1485 01:07:35,440 --> 01:07:36,290 არა? 1486 01:07:36,290 --> 01:07:38,860 სწორედ ამიტომ ჩვენ მხოლოდ ის ამ აბსტრაქტული ფუნქცია 1487 01:07:38,860 --> 01:07:41,670 რომ ჩვენ გვაქვს უკვე ვინმე სხვა დაწერილი სხვაგან. 1488 01:07:41,670 --> 01:07:44,920 და ყოველ ჯერზე ჩვენ უნდა გამოვიყენოთ ეს ჩვენი კოდი, ჩვენ უბრალოდ უნდა ვთქვა printf. 1489 01:07:44,920 --> 01:07:48,070 და რომ შეუძლია გამოიყენოთ ფუნქცია ვინმეს არ გაუკეთებია ჩვენს კოდი. 1490 01:07:48,070 --> 01:07:51,020 ეს ხდის ადვილი ორგანიზაციულად წაკითხვის კოდი. 1491 01:07:51,020 --> 01:07:53,460 >> მეორე, ეს არის გამარტივებას. 1492 01:07:53,460 --> 01:07:56,750 ეს ამარტივებს ნაბიჯები ჩვენ მიიღოს გადაჭრას ჩვენი პრობლემა. 1493 01:07:56,750 --> 01:07:59,300 Printf, ფუნქციების მსგავსად printf, ფუნქციები, როგორიცაა ზემო 1494 01:07:59,300 --> 01:08:03,560 ყველაფერი, რაც საშუალებას გვაძლევს გავიმარტივოთ კოდი ქვემოთ ასე უფრო ადვილია. 1495 01:08:03,560 --> 01:08:05,830 და ბოლოს, რაც reusability. 1496 01:08:05,830 --> 01:08:08,710 >> ასე რომ ის ფაქტი, რომ ჩვენ გვაქვს ფუნქცია მოუწოდა printf 1497 01:08:08,710 --> 01:08:11,990 შეგვიძლია ვუწოდოთ სხვადასხვა ჯერ და საშუალებას, რომ იყოს მრავალჯერადი. 1498 01:08:11,990 --> 01:08:14,980 თუ მე უნდა დამეწერა printf, მე მხოლოდ დაწერა ერთხელ. 1499 01:08:14,980 --> 01:08:16,439 იგი არსებობს მხოლოდ, რომ ერთი ადგილი. 1500 01:08:16,439 --> 01:08:19,890 თუ მინდოდა ამის გაკეთება კიდევ ერთხელ, მე უნდა დააკოპირეთ და ჩასვით ყველა რომ 1501 01:08:19,890 --> 01:08:21,760 ჩემს მეორე ხაზი კოდი. 1502 01:08:21,760 --> 01:08:24,880 სწორედ ამიტომ, თუ ჩვენ შევქმნით ფუნქცია რომ არსებობს გარეთ ჩვენი მთავარი, 1503 01:08:24,880 --> 01:08:26,880 ჩვენ შეგვიძლია მხოლოდ მოუწოდებენ და reuse ეს მაშინ, როდესაც 1504 01:08:26,880 --> 01:08:29,604 ჩვენ გვჭირდება ისე, რომ ბევრი ადვილია ჩვენთვის, როგორც პროგრამების დაწერა. 1505 01:08:29,604 --> 01:08:32,220 1506 01:08:32,220 --> 01:08:35,549 >> ასე რომ გზა, რომ ჩვენ რეალურად დაწეროს ფუნქცია არის ძალიან ჰგავს, არა? 1507 01:08:35,549 --> 01:08:37,590 ეს არის ერთგვარი პირველი მაგალითად, რომელშიც ჩვენ 1508 01:08:37,590 --> 01:08:42,830 იხილეთ ფუნქცია იღებს სტილი განსხვავებული, ვიდრე ჩვენი int ძირითადი ბათილად. 1509 01:08:42,830 --> 01:08:46,779 ამ შემთხვევაში, თუ მინდოდა, დაწეროს ფუნქცია უწოდა q, არა? 1510 01:08:46,779 --> 01:08:49,370 >> და int მნიშვნელობა აქ არის ყველა მეუბნებოდა, 1511 01:08:49,370 --> 01:08:51,649 რა მინდა ამ ფუნქციონირებს დაბრუნებას მე? 1512 01:08:51,649 --> 01:08:54,484 თუ მინდა კუბი რიცხვი, მე ვაპირებ გვინდა შეყვანის. 1513 01:08:54,484 --> 01:08:55,525 ეს არის პარამეტრებს. 1514 01:08:55,525 --> 01:08:58,490 მე ვაპირებ საშუალებებით მნიშვნელობა ტიპის int. 1515 01:08:58,490 --> 01:09:01,300 და მე ვაპირებ დაბრუნებას სხვა ტიპის ღირებულება int. 1516 01:09:01,300 --> 01:09:03,050 და აქ, როგორც თქვენ ხედავთ, ყველა მე ვაკეთებ 1517 01:09:03,050 --> 01:09:07,300 არის cubing რასაც ჩემი შეყვანის როგორც ჩემი გამომავალი და დაბრუნების იგი. 1518 01:09:07,300 --> 01:09:10,790 >> ასე რომ, ყველა ამ ფუნქციის არ არის იღებს გარკვეული რიცხვი. 1519 01:09:10,790 --> 01:09:14,979 ეს multiplies ეს თავისთავად ორჯერ ისე, რომ იგი კუბურები ეფექტი. 1520 01:09:14,979 --> 01:09:17,729 და მაშინ ის დააბრუნებს რასაც გამომავალი. 1521 01:09:17,729 --> 01:09:20,540 ასე რომ, ამ შემთხვევაში, ეს ორი ხაზი კოდი, რომელიც ჩვენ უნდა დაწეროს დამატებით. 1522 01:09:20,540 --> 01:09:22,880 მაგრამ თუ ჩვენ მინდოდა დარეკვა საფუძველზე ამ რამდენჯერმე, 1523 01:09:22,880 --> 01:09:26,210 ეს არის ბევრი ადვილია შეიტანოთ, რომ ერთი ხაზი აქ, რომ ის cube, ვიდრე 1524 01:09:26,210 --> 01:09:28,830 უნდა გაიაროს რამდენჯერმე. 1525 01:09:28,830 --> 01:09:34,180 >> ასე რომ გზა, რომელიც არსებითად ნებისმიერი გაფორმებით ნებისმიერ ფუნქცია 1526 01:09:34,180 --> 01:09:36,420 აპირებს არსებობს ჰგავს აქ. 1527 01:09:36,420 --> 01:09:38,659 ასე რომ, ჩვენ აქვს ფუნქცია სახელი. 1528 01:09:38,659 --> 01:09:39,950 ამ შემთხვევაში, ეს ე.წ. კუბი. 1529 01:09:39,950 --> 01:09:42,033 ჩვენ დაარქვით cube, რადგან ეს ადვილად დასამახსოვრებელი. 1530 01:09:42,033 --> 01:09:44,220 შეგიძლიათ დაასახელოთ ის მოედანზე და ეს შეიძლება რეალურად იყოს კუბში. 1531 01:09:44,220 --> 01:09:45,500 მნიშვნელობა არ აქვს. 1532 01:09:45,500 --> 01:09:48,020 მხოლოდ სახელი, რომ თქვენ მინიჭების თქვენი ფუნქცია. 1533 01:09:48,020 --> 01:09:51,660 >> ეს უფლება აქ, int, არის ტიპის პარამეტრი გჭირდებათ. 1534 01:09:51,660 --> 01:09:54,149 ასე რომ, რას ნიშნავს ეს ფუნქცია გინდათ მუშაობას? 1535 01:09:54,149 --> 01:09:55,990 ისე, მას სჭირდება შეყვანა. 1536 01:09:55,990 --> 01:09:56,704 დაასახელა ის შეყვანა. 1537 01:09:56,704 --> 01:09:58,120 შეგიძლიათ დაასახელოთ ის რაც გსურთ. 1538 01:09:58,120 --> 01:10:00,500 მაგრამ მე უნდა რაიმე ტიპის int. 1539 01:10:00,500 --> 01:10:03,730 ის აპირებს რეალურად შეასრულოს რაც შიგნით აქ, 1540 01:10:03,730 --> 01:10:04,990 ორგანოს ფუნქცია. 1541 01:10:04,990 --> 01:10:07,847 და მაშინ დაბრუნების ტიპის სწორედ აქ, ამ გაკეთება int 1542 01:10:07,847 --> 01:10:09,680 ყველა ის მეუბნებოდა, რომ არის რომ ეს ფუნქცია 1543 01:10:09,680 --> 01:10:11,250 დაბრუნებას აპირებს ჩემთვის int. 1544 01:10:11,250 --> 01:10:14,460 ასე რომ, ის აპირებს მიიღოს int, და ის აპირებს მოგცემთ უკან int. 1545 01:10:14,460 --> 01:10:17,750 ამჯამად ყველას გვესმის, თუ როგორ გაფორმებით ამ სახის სამუშაოები? 1546 01:10:17,750 --> 01:10:18,250 ზემოთ. 1547 01:10:18,250 --> 01:10:24,690 1548 01:10:24,690 --> 01:10:25,740 >> OK. 1549 01:10:25,740 --> 01:10:31,770 ასე რომ არ იყოს შეშფოთებული, თუ ეს, როგორც ჩანს, ცოტა აბსტრაქტული ახლავე. 1550 01:10:31,770 --> 01:10:33,450 ეს არის ის, რომ ჩვენ ვსაუბრობთ. 1551 01:10:33,450 --> 01:10:36,310 ჩვენ ჩაყვინთვის უფრო ღრმა მოგვიანებით, რა თქმა უნდა. 1552 01:10:36,310 --> 01:10:41,170 ისე, რომ ნებისმიერ მაღალ დონეზე აბსტრაქცია ამ საკითხზე მუშაობა 1553 01:10:41,170 --> 01:10:43,530 ის არის, რომ, მეხსიერება, და თქვენს კომპიუტერში, ყველაფერი 1554 01:10:43,530 --> 01:10:47,660 ინახება ამ ტიპის დასტის, უნდა ვთქვა. 1555 01:10:47,660 --> 01:10:49,070 >> ასე რომ, იქ ზედა. 1556 01:10:49,070 --> 01:10:50,861 მე არ ვიცი, თუ ბიჭები ვხედავთ, რომ კარგად. 1557 01:10:50,861 --> 01:10:52,590 ვეცდები, რომ მიუახლოვდით. 1558 01:10:52,590 --> 01:10:55,111 აქ ზედა, ჩვენ აქვს ფიზიკური ტექსტი 1559 01:10:55,111 --> 01:10:57,860 რა კომპიუტერი interpreting-- ყველა zeros და პირობა, რომ 1560 01:10:57,860 --> 01:10:59,540 არსებობს ჩვენს კომპიუტერში. 1561 01:10:59,540 --> 01:11:03,390 და მაშინ ჩვენ ინიციალიზაცია მონაცემები და uninitialized მონაცემები, 1562 01:11:03,390 --> 01:11:05,340 რაც ჩვენ მოვუწოდებთ გლობალური ცვლადები. 1563 01:11:05,340 --> 01:11:08,200 ასე რომ ცვლადების, რომ არსებობს მთელი პროგრამები 1564 01:11:08,200 --> 01:11:11,815 და მთელს თქვენს მთელი, არსებითად, კოდი. 1565 01:11:11,815 --> 01:11:13,940 არ აწუხებს თუ ბიჭები არიან სახის გაურკვეველია ამ. 1566 01:11:13,940 --> 01:11:16,060 ეს ნამდვილად არ აქვს მნიშვნელობა ახლა. 1567 01:11:16,060 --> 01:11:18,680 >> და მაშინ ჩვენ გვაქვს რა არის მოუწოდა ბევრი Stack. 1568 01:11:18,680 --> 01:11:21,140 წარმოიდგინეთ დასტის სიტყვასიტყვით ისევე, როგორც დასტის რამ, 1569 01:11:21,140 --> 01:11:23,098 დასტის სხვადასხვა რამ აიძულა თავზე 1570 01:11:23,098 --> 01:11:27,870 ერთმანეთს რომ შესანახად სხვადასხვა ცვლადები და სინტაქსი თქვენი კოდი. 1571 01:11:27,870 --> 01:11:31,460 და მერე აქ ძალიან ბოლოში, ჩვენ გვაქვს გარემოს ცვლადები 1572 01:11:31,460 --> 01:11:35,480 რას შესრულებაში ფარგლებში მხოლოდ თქვენი პატარა ხაზი კოდი. 1573 01:11:35,480 --> 01:11:40,510 >> და ჩვენ უბრალოდ აპირებს მასშტაბის ამ ფაქტობრივი დასტის ნაწილი. 1574 01:11:40,510 --> 01:11:43,880 ასე რომ სწორედ აქ, თუ ჩვენ, რომ გაადიდოთ წელს მხოლოდ ამ სფეროში დასტის, 1575 01:11:43,880 --> 01:11:45,140 ეს არის ის, რაც ჰგავს. 1576 01:11:45,140 --> 01:11:48,590 და ეს არის რეალურად საკმაოდ მნიშვნელოვანი როდესაც თქვენ ბიჭები საუბრობენ ფუნქციები, 1577 01:11:48,590 --> 01:11:52,330 იმიტომ, რომ ცნობა, რომ მეხსიერების თქვენი კომპიუტერის 1578 01:11:52,330 --> 01:11:55,600 შენახვის ცვლადები და ფუნქციები 1579 01:11:55,600 --> 01:11:58,790 და პარამეტრების როგორც თქვენი ფუნქცია და თქვენი ძირითადი ცვლადები 1580 01:11:58,790 --> 01:12:00,190 სხვადასხვა ადგილებში. 1581 01:12:00,190 --> 01:12:03,390 >> ასე რომ, ახლა, მთავარი არის ფაქტობრივი ფუნქცია 1582 01:12:03,390 --> 01:12:04,780 რომ თქვენ აღასრულებს კოდი. 1583 01:12:04,780 --> 01:12:08,050 თქვენ არ მისი პარამეტრების ინახება აქ და მისი ადგილობრივი ცვლადები ინახება აქ. 1584 01:12:08,050 --> 01:12:12,270 ადგილობრივი ცვლადი მხოლოდ იმას ნიშნავს, ნებისმიერი ცვლადი რომ არსებობს მხოლოდ, რომ ფუნქცია. 1585 01:12:12,270 --> 01:12:15,610 და თავზე ის, რომ თქვენ გაქვთ ეს ცალკე ფუნქცია მოუწოდა კუბი. 1586 01:12:15,610 --> 01:12:18,240 თქვენ უნდა, რომ პარამეტრების ისევე, როგორც იმ ადგილობრივები. 1587 01:12:18,240 --> 01:12:21,540 >> და მიზეზი შეგიძლიათ ვხედავ აქ არის ის, რომ ის, რაც 1588 01:12:21,540 --> 01:12:25,030 ხდება, როდესაც კუბი იღებს მნიშვნელობა მთავარი ფუნქცია 1589 01:12:25,030 --> 01:12:27,640 ის არის, რომ რეალურად ის გადაწერა, რომ დასრულდა. 1590 01:12:27,640 --> 01:12:31,470 ასე რომ, თუ მინდოდა კუბი 2 და დაბრუნდეს 8, რომელიც 2 1591 01:12:31,470 --> 01:12:33,730 რეალურად inputted როგორც პარამეტრი და ეს 1592 01:12:33,730 --> 01:12:37,690 გადაწერა დასრულდა ისე, რომ თქვენ გაქვთ ეს არსებული ორ სხვადასხვა ადგილას მეხსიერებაში. 1593 01:12:37,690 --> 01:12:40,520 და თქვენ უნდა იყოს ძალიან ფრთხილად on დამახსოვრების რომელიც ერთ-ერთი იმ 1594 01:12:40,520 --> 01:12:42,520 თქვენ რეალურად მანიპულირება. 1595 01:12:42,520 --> 01:12:47,170 და მაგალითად, თუ რა მოხდა ეს იქნება ძალიან, ძალიან ცუდი 1596 01:12:47,170 --> 01:12:48,050 არსებობს აქ. 1597 01:12:48,050 --> 01:12:50,760 1598 01:12:50,760 --> 01:12:58,650 >> ასე რომ, აქ, მე მაქვს, თეორიულად, პროგრამა სწორედ აქ, მთავარი ფუნქცია 1599 01:12:58,650 --> 01:13:02,180 რომ მე გამოცხადების int x უდრის 1. 1600 01:13:02,180 --> 01:13:04,505 მე გამოცხადების მეორე int y უდრის 2. 1601 01:13:04,505 --> 01:13:06,380 და მაშინ მე გაშვებული ეს მეშვეობით, ამ ფუნქციის 1602 01:13:06,380 --> 01:13:09,647 მოუწოდა swap, სადაც მე ვივარაუდოთ, რომ ეს შევცვალე ორი ღირებულებებს. 1603 01:13:09,647 --> 01:13:11,480 და მაშინ მე ვაპირებ ბეჭდვა მათ, არა? 1604 01:13:11,480 --> 01:13:13,220 ეს არის ის, რაც მე მინდა ეს პროგრამა უნდა გააკეთოს. 1605 01:13:13,220 --> 01:13:15,180 >> მოდით, ქვემოთ და შევხედოთ. 1606 01:13:15,180 --> 01:13:18,200 ასე რომ, თუ რეალურად დაწეროს სხვადასხვა ფუნქცია, როგორც ხედავთ, 1607 01:13:18,200 --> 01:13:19,750 ჩვენ გვაქვს ჩვენი მთავარი ფუნქცია აქ. 1608 01:13:19,750 --> 01:13:22,860 და მაშინ ჩვენ გვაქვს ჩვენი მეორე ფუნქცია აქ. 1609 01:13:22,860 --> 01:13:24,520 ძალადაკარგულად გაცვლა. 1610 01:13:24,520 --> 01:13:27,090 ბათილად მხოლოდ იმას ნიშნავს, რომ ეს დაბრუნებას არ აპირებს არაფერი. 1611 01:13:27,090 --> 01:13:28,930 ფუნქცია სახელი მოუწოდა swap, და ეს 1612 01:13:28,930 --> 01:13:33,730 აპირებს მიღება ორი ცვლადის, int a და int ბ, თქვენი [INAUDIBLE] ფუნქცია. 1613 01:13:33,730 --> 01:13:39,010 >> ასე რომ, არსებითად, აქ, ჩვენ გავლის x და y ამ ფუნქციას. 1614 01:13:39,010 --> 01:13:40,760 და თუ ჩვენ შექმნა ამას ასე რომ ჩვენ გვინდა 1615 01:13:40,760 --> 01:13:42,420 შექმნას დროებითი ღირებულება, არა? 1616 01:13:42,420 --> 01:13:43,930 ჩვენ ვაპირებთ, რომ დაავალოს, რომ ა. 1617 01:13:43,930 --> 01:13:45,388 და შემდეგ აპირებს ახლა თანაბარი ბ. 1618 01:13:45,388 --> 01:13:47,660 და ბ იქნება უკან სადაც temp ღირებულება, 1619 01:13:47,660 --> 01:13:51,070 რომელიც არის, რადგან, როდესაც გსურთ სვოპ რამ, 1620 01:13:51,070 --> 01:13:52,320 თქვენ არ შეგიძლიათ უბრალოდ მინდა სვოპ მათ. 1621 01:13:52,320 --> 01:13:54,360 >> თქვენ უნდა შევინარჩუნოთ ერთი აქ, ასე რომ მას ახსოვს 1622 01:13:54,360 --> 01:13:56,485 რა არის, იმიტომ, რომ ერთხელ თქვენ სვოპ ერთი, თქვენ დაგავიწყდებათ 1623 01:13:56,485 --> 01:13:58,200 რა, რომ ორიგინალური ღირებულება იყო, არა? 1624 01:13:58,200 --> 01:14:00,990 ამ თეორიის მიხედვით, ამ პროგრამის უნდა ვიმუშაოთ, არა? 1625 01:14:00,990 --> 01:14:03,630 თუ მინდოდა, რომ სვოპ ორი, მათ უნდა სვოპ. 1626 01:14:03,630 --> 01:14:05,490 მოდით აწარმოებს და თუ მუშაობს. 1627 01:14:05,490 --> 01:14:11,130 1628 01:14:11,130 --> 01:14:16,940 >> ასე რომ, როგორც თქვენ ბიჭები ხედავთ, x ოდესღაც 1 და Y კიდევ 2. 1629 01:14:16,940 --> 01:14:21,475 და თუ მე ამობეჭდოთ, x კვლავ 1 და Y არის 2. 1630 01:14:21,475 --> 01:14:25,970 Hmm, ეს პროგრამა არ ჩანს, სამუშაო ისე, რომ მე მინდა, რომ ეს მუშაობა. 1631 01:14:25,970 --> 01:14:29,950 ვინმეს სურს მიიღოს ესროლეს გამოცნობა, რატომ ხდება? 1632 01:14:29,950 --> 01:14:34,430 ეს უნდა გააკეთოს გზა რომ სხვადასხვა რამ არის 1633 01:14:34,430 --> 01:14:38,172 ინახება სხვადასხვა ადგილებში მეხსიერებაში. 1634 01:14:38,172 --> 01:14:39,377 >> OK. 1635 01:14:39,377 --> 01:14:41,960 ასე, რომ თქვენ ბიჭები არ უნდა ფიქრი ძალიან ბევრი ამ ახლავე. 1636 01:14:41,960 --> 01:14:46,610 მაგრამ ვიცი, რომ კუბი ადგილობრივი ცვლადები იყო და ბ, 1637 01:14:46,610 --> 01:14:49,230 იმიტომ, რომ აქ ჩვენი ფუნქცია, ჩვენ განაცხადა და ბ 1638 01:14:49,230 --> 01:14:53,570 როგორც ცვლადი, რომ არსებობს ფარგლებში cube, რომ ფუნქცია. 1639 01:14:53,570 --> 01:14:59,490 მაგრამ, როგორც ხედავთ, პარამეტრების, რომელიც ის აღების მიმდინარეობს ინახება აქ. 1640 01:14:59,490 --> 01:15:01,370 მაგრამ ჩვენ არ ვიყავით რეალურად დაბრუნების არაფერი. 1641 01:15:01,370 --> 01:15:03,120 ჩვენ არ რეალურად შეცვლის x და y. 1642 01:15:03,120 --> 01:15:04,440 ჩვენ უბრალოდ იცვლება და ბ. 1643 01:15:04,440 --> 01:15:08,340 >> გადმოვიწერეთ x და y შევიდა რაღაც მოუწოდა და ბ. 1644 01:15:08,340 --> 01:15:11,092 მაგრამ ჩვენ არასოდეს რეალურად მანიპულირება x და y თავს. 1645 01:15:11,092 --> 01:15:12,800 ხართ თუ არა ბიჭები ხედავს როგორ რომ ხდება? 1646 01:15:12,800 --> 01:15:16,140 არის, რომ ჩვენ უბრალოდ გადმოწერილია მეტი, მაგრამ ჩვენ არ რეალურად ინახება 1647 01:15:16,140 --> 01:15:18,030 სიმღერა, სადაც მათ მეხსიერებაში. 1648 01:15:18,030 --> 01:15:20,127 >> ასე რომ, ახლა კომპიუტერი ეძებს, oh, მე 1649 01:15:20,127 --> 01:15:21,960 აწარმოებს ამ რამ მეშვეობით ამ ლამაზი ფუნქცია. 1650 01:15:21,960 --> 01:15:23,690 მაგრამ x და y კვლავ x და y. 1651 01:15:23,690 --> 01:15:26,240 არაფერი მოხდა მათ იმ ფაქტის გამო, 1652 01:15:26,240 --> 01:15:28,340 რომ იმ პარამეტრების და ადგილობრივი ცვლადები 1653 01:15:28,340 --> 01:15:30,150 ინახება სხვადასხვა განათავსეთ მეხსიერებაში. 1654 01:15:30,150 --> 01:15:32,030 და ეს არის უმაღლესი დონის კონცეფცია, რომელიც ჩვენ გამოგიგზავნით 1655 01:15:32,030 --> 01:15:34,300 დაიწყოს ხედავს მოგვიანებით, რა თქმა უნდა. 1656 01:15:34,300 --> 01:15:36,950 მაგრამ ვიცი, რომ ეს არის პრობლემა, რომელიც შეიძლება მოხდეს 1657 01:15:36,950 --> 01:15:41,400 და რომ ჩვენ გაერკვნენ გზა, თუ როგორ უნდა გაუმკლავდეთ ამ მოგვიანებით, რა თქმა უნდა. 1658 01:15:41,400 --> 01:15:41,900 OK. 1659 01:15:41,900 --> 01:15:47,750 1660 01:15:47,750 --> 01:15:48,250 ყველა უფლება. 1661 01:15:48,250 --> 01:15:51,780 ასე რომ, ბოლო კონცეფცია ჩვენ ნამდვილად დაფარავს 1662 01:15:51,780 --> 01:15:53,880 რომ იქნება სასარგებლო ამისთვის pset ამ კვირაში 1663 01:15:53,880 --> 01:15:56,060 არიან რა ეწოდება ბრძანების ხაზი არგუმენტები. 1664 01:15:56,060 --> 01:16:00,820 ასე რომ, რობ მისი ლექცია გაიარა სახის მოკლედ, თუ როგორ ეს მუშაობა. 1665 01:16:00,820 --> 01:16:02,770 არსებითად ვიცი, რომ როდესაც თქვენ წერა 1666 01:16:02,770 --> 01:16:06,280 ისევე როგორც მთავარი ფუნქცია, როდესაც ჩვენ წერდა ფუნქციები ადრე წარსულში, 1667 01:16:06,280 --> 01:16:07,804 ჩვენ გვქონდა int ძირითადი ბათილად. 1668 01:16:07,804 --> 01:16:10,470 და მიზეზი გვქონდა ბათილად არ იყო, რადგან ჩვენი პროგრამები არ 1669 01:16:10,470 --> 01:16:12,520 უნდა შეყვანის ღირებულებები აწარმოებს, უფლება? 1670 01:16:12,520 --> 01:16:16,020 როდესაც მე გაიქცა Mario, მე არ უნდა რეალურად მხოლოდ ჩაწერეთ რაღაც 1671 01:16:16,020 --> 01:16:16,970 როდესაც მე გაიქცა Mario. 1672 01:16:16,970 --> 01:16:20,170 მე ვერ უბიძგონ შესახებ მოგვიანებით. 1673 01:16:20,170 --> 01:16:22,450 მაგრამ ეს ყოველთვის არ იყოს საქმე. 1674 01:16:22,450 --> 01:16:24,980 >> მაგალითად, ამ კვირის პრობლემა კომპლექტი, 1675 01:16:24,980 --> 01:16:28,365 თქვენ იქნება სთხოვა, რომ გარდა გაშვებული თქვენი პროგრამა, 1676 01:16:28,365 --> 01:16:30,990 თქვენ აპირებს მინდა შეყვანის გარკვეული რამ სწორი, როგორც თქვენ 1677 01:16:30,990 --> 01:16:32,050 აწარმოებს თქვენი პროგრამის. 1678 01:16:32,050 --> 01:16:34,720 ასე რომ გზა გავაკეთოთ, რომ ე.წ. ბრძანების არგუმენტი, რომელიც 1679 01:16:34,720 --> 01:16:37,280 არის როგორც არგუმენტი შეგიძლიათ შეყვანის პირდაპირ 1680 01:16:37,280 --> 01:16:39,260 როგორც თქვენ ცდილობენ აწარმოებს თქვენი პროგრამის. 1681 01:16:39,260 --> 01:16:44,680 >> ასე რომ, notation ამ, ეს არის საკმაოდ რთული, ლამაზი, 1682 01:16:44,680 --> 01:16:47,320 მაგრამ ეს ნამდვილად არ არის, რომ რთულია. ასე int main-- 1683 01:16:47,320 --> 01:16:48,910 ეს მხოლოდ თქვენი მთავარი ფუნქცია. 1684 01:16:48,910 --> 01:16:52,110 Into argc მძიმე სიმებიანი argv ფრჩხილებში. 1685 01:16:52,110 --> 01:16:56,040 ასე რომ, ყველა, რომ ვამბობ, არის ის, რომ ამ int argc-- ყველა რომ გეუბნება 1686 01:16:56,040 --> 01:17:00,560 ის არის, რომ ეს არის ნომერი არგუმენტები კომპიუტერი უნდა ველოდოთ. 1687 01:17:00,560 --> 01:17:03,130 >> ასე რომ, ერთი რამ, რომ ნამდვილად მნიშვნელოვანია, რომ შევინარჩუნოთ სიმღერა 1688 01:17:03,130 --> 01:17:07,080 ფიზიკური სახელი თქვენი პროგრამა იმედი აქვს, როგორც ერთ-ერთი იმ არგუმენტებს. 1689 01:17:07,080 --> 01:17:11,080 ასე რომ, თუ მინდოდა ჩემი პროგრამა აწარმოებს დამატებული command line 1690 01:17:11,080 --> 01:17:13,310 არგუმენტი, მე რეალურად აპირებს აქვს ორი. 1691 01:17:13,310 --> 01:17:15,080 Argc რეალურად იქნება ორი. 1692 01:17:15,080 --> 01:17:18,010 და შემდეგ სიმებიანი argv bracket-- ყველა რომ აკეთებს, 1693 01:17:18,010 --> 01:17:20,410 ეს მაძლევს მასივი სტრიქონები, რომ 1694 01:17:20,410 --> 01:17:24,870 ვაპირებ უბრალოდ არიან და ჩაწეროთ რა ყველა იმ ბრძანების ხაზი არგუმენტები. 1695 01:17:24,870 --> 01:17:34,090 >> ასე მაგალითად, თუ მინდოდა ეს პროგრამა, ./copy infile outfile, არა? 1696 01:17:34,090 --> 01:17:37,330 ეს უბრალოდ ტიპიური Linux ბრძანება. 1697 01:17:37,330 --> 01:17:38,830 რა არის argc? 1698 01:17:38,830 --> 01:17:41,320 რამდენი ბრძანების არგუმენტები არსებობს ფაქტიურად ამ? 1699 01:17:41,320 --> 01:17:45,130 ყველა ეს არ არის, რათა ასლი infile სახელით ერთი ფაილი 1700 01:17:45,130 --> 01:17:47,070 და ეს აკოპირებს კიდევ ერთი ფაილი, არა? 1701 01:17:47,070 --> 01:17:48,700 ეს არის ის, რომ ყველა ამ აკეთებს. 1702 01:17:48,700 --> 01:17:53,080 როგორც ხედავთ, მე ვაკეთებ ერთ ხაზს გარეშე რეალურად სჭირდება პროგრამა. 1703 01:17:53,080 --> 01:17:55,380 >> რა არის ჩვენი argc ამ ​​შემთხვევაში? 1704 01:17:55,380 --> 01:17:58,968 რამდენი არგუმენტები გვაქვს? 1705 01:17:58,968 --> 01:17:59,634 აუდიტორია: სამი? 1706 01:17:59,634 --> 01:18:01,200 Andi Peng: ჩვენ სამი, ზუსტად. 1707 01:18:01,200 --> 01:18:05,030 ასე რომ, ეს ძალიან ინტუიციური უბრალოდ ვფიქრობ, რომ ეს მხოლოდ 1708 01:18:05,030 --> 01:18:06,290 infile და outfile. 1709 01:18:06,290 --> 01:18:10,190 მაგრამ ვიცი, რომ ფიზიკური სახელი პროგრამა თქვენ გაშვებული ითვლის როგორც ერთი. 1710 01:18:10,190 --> 01:18:13,220 ასე რომ, ამ შემთხვევაში, argc ფაქტიურად სამი. 1711 01:18:13,220 --> 01:18:15,860 როგორ შესახებ, თუ რა არის argv 0? 1712 01:18:15,860 --> 01:18:18,180 გახსოვდეთ, რომ ყველა ბრძანების ხაზი არგუმენტები 1713 01:18:18,180 --> 01:18:20,500 ინახება მასივი სტრიქონები. 1714 01:18:20,500 --> 01:18:24,140 ასე რომ, თუ ცდილობენ, რათა შეამოწმონ ის, რაც რომ argv bracket 0 მომეცი? 1715 01:18:24,140 --> 01:18:25,364 >> აუდიტორია: [INAUDIBLE]. 1716 01:18:25,364 --> 01:18:26,155 Andi Peng: ზუსტად. 1717 01:18:26,155 --> 01:18:28,550 ეს მაძლევს dot სლეში ასლი, იმიტომ, რომ ის 1718 01:18:28,550 --> 01:18:31,070 0th ელემენტის, პირველ ელემენტს ჩემი მასივი. 1719 01:18:31,070 --> 01:18:33,236 რაც შეეხება argv 1? 1720 01:18:33,236 --> 01:18:33,945 >> აუდიტორია: infile. 1721 01:18:33,945 --> 01:18:35,070 Andi Peng: infile, ზუსტად. 1722 01:18:35,070 --> 01:18:36,272 რაც შეეხება argv 2? 1723 01:18:36,272 --> 01:18:37,022 აუდიტორია: outfile. 1724 01:18:37,022 --> 01:18:38,190 Andi Peng: outfile. 1725 01:18:38,190 --> 01:18:39,290 ეს არის ცოტა სახიფათო ახლა. 1726 01:18:39,290 --> 01:18:42,630 რას ბიჭები ვფიქრობ argv 3 იქნება მაძლევს 1727 01:18:42,630 --> 01:18:45,522 თუ მე შევეცადე ბეჭდვა, რომ გარეთ? 1728 01:18:45,522 --> 01:18:48,260 >> აუდიტორია: [INAUDIBLE]? 1729 01:18:48,260 --> 01:18:50,164 >> Andi Peng: ხომ არ აქვს ხელი? 1730 01:18:50,164 --> 01:18:50,663 ჰო. 1731 01:18:50,663 --> 01:18:51,550 >> აუდიტორია: ალტერნატიული. 1732 01:18:51,550 --> 01:18:52,341 >> Andi Peng: ზუსტად. 1733 01:18:52,341 --> 01:18:55,440 ასე მახსოვს, ლექცია, რომ ჩვენ აქვს ბოლოს რასის რაღაც 1734 01:18:55,440 --> 01:18:56,640 მოუწოდა null terminator? 1735 01:18:56,640 --> 01:18:58,890 ჩვენ შეღწევას ეს ასევე შემდგომი კლასში. 1736 01:18:58,890 --> 01:19:02,472 მაგრამ ვიცი, რომ notation, გზა თქვენს კომპიუტერში 1737 01:19:02,472 --> 01:19:04,430 იცის, რომ ბოლოს მასივი არის ის, რომ 1738 01:19:04,430 --> 01:19:07,310 აყენებს რაღაც მოუწოდა null terminator ან dash ნულოვანი. 1739 01:19:07,310 --> 01:19:12,047 >> ასე რომ, თუ თქვენ ცდილობენ, რათა შეამოწმონ argv 3, თქვენ ვაპირებთ მოხვდა ამ dash 0. 1740 01:19:12,047 --> 01:19:13,630 ეს არის კიდევ უფრო შეასრულა კითხვაზე. 1741 01:19:13,630 --> 01:19:17,020 რაც შეეხება argv 4? 1742 01:19:17,020 --> 01:19:20,920 ასე რომ, ეს არის წარსული null terminator, წარსულში ფარგლებში ჩვენი მასივი. 1743 01:19:20,920 --> 01:19:24,380 რას ფიქრობთ აპირებს მოხდეს, როდესაც ჩვენ ვცდილობთ, რომ? 1744 01:19:24,380 --> 01:19:25,842 >> აუდიტორია: [INAUDIBLE]? 1745 01:19:25,842 --> 01:19:26,550 Andi Peng: ბოდიში? 1746 01:19:26,550 --> 01:19:28,025 ამბობენ, რომ ცოტა ხმამაღალი? 1747 01:19:28,025 --> 01:19:29,086 >> აუდიტორია: [INAUDIBLE]. 1748 01:19:29,086 --> 01:19:29,710 Andi Peng: დიახ. 1749 01:19:29,710 --> 01:19:32,420 ეს არის სახელი ფართობი თქვენ სავარაუდოდ. 1750 01:19:32,420 --> 01:19:36,610 მაგრამ ვიცი, რომ argv 4-- რომელიც საშუალებას გაძლევთ ხელმისაწვდომობის 1751 01:19:36,610 --> 01:19:38,610 ადგილები თქვენი კომპიუტერის მეხსიერება, რომ თქვენ ნამდვილად 1752 01:19:38,610 --> 01:19:41,650 არ უნდა ეხება, რადგან ახლა თქვენ იცით, რა argv არის. 1753 01:19:41,650 --> 01:19:46,220 თქვენ იცით, რომ ეს მასივი ზომა 3 რომ აქვს dot ასლი, infile და outfile. 1754 01:19:46,220 --> 01:19:50,200 >> თუ თქვენ ცდილობენ წავიდეთ აქამდე, რომ რომ თქვენ წარსულში null terminator, 1755 01:19:50,200 --> 01:19:53,050 თქვენს კომპიუტერში აქვს, ალბათ, შენახული რაღაც argv 4. 1756 01:19:53,050 --> 01:19:55,790 თქვენ ნამდვილად არ უნდა იყოს უშვებენ შევიდა argv 4, 1757 01:19:55,790 --> 01:19:58,130 იმიტომ, რომ თქვენ გაქვთ ფაილი კაბინეტი და თქვენ მხოლოდ 1758 01:19:58,130 --> 01:19:59,790 უშვებენ იმ სამი თაროები. 1759 01:19:59,790 --> 01:20:02,870 მაგრამ თუ თქვენ ცდილობენ მიაღწიონ გზა მიღმა შელფზე სადაც ნებადართულია, 1760 01:20:02,870 --> 01:20:04,930 თქვენ აპირებს დაიწყოს ძვირფასი სხვა რამ თქვენი კომპიუტერის მეხსიერებაში. 1761 01:20:04,930 --> 01:20:06,690 ეს იქნება ნამდვილად, ნამდვილად ცუდი. 1762 01:20:06,690 --> 01:20:07,440 ასე რომ, მხოლოდ ის ვიცი, რომ. 1763 01:20:07,440 --> 01:20:10,370 იყავით ძალიან ფრთხილად, რომ თქვენ არა მხოლოდ შემთხვევით დაიწყება 1764 01:20:10,370 --> 01:20:14,772 წვდომის ელემენტების მასივი, რომ არ იყო რა უნდოდა, რათა შეიქმნას. 1765 01:20:14,772 --> 01:20:17,114 Yep. 1766 01:20:17,114 --> 01:20:18,430 >> OK. 1767 01:20:18,430 --> 01:20:26,360 ასე რომ, ჩვენ ვაპირებთ, რომ კიდევ ერთი ტერმინალის მაგალითად აქ. 1768 01:20:26,360 --> 01:20:27,300 OK. 1769 01:20:27,300 --> 01:20:29,900 ასე რომ, Rob სწრაფად ლექცია მეორე დღეს წავიდა 1770 01:20:29,900 --> 01:20:35,040 ამ გზით, მაგალითად, სადაც ის ჰქონდა int ძირითადი int argc სიმებიანი argv 1771 01:20:35,040 --> 01:20:39,090 ფრჩხილებში, რომელიც მეუბნებოდა, რომ მე ვარ აპირებს აქვს ბრძანების არგუმენტები. 1772 01:20:39,090 --> 01:20:41,860 >> მას აქვს, თუ argc უდრის უდრის 2- მახსოვს, 1773 01:20:41,860 --> 01:20:45,070 შეადგენს შეადგენს ნიშნავს შედარებით. 1774 01:20:45,070 --> 01:20:47,980 თუ ეს უდრის 2, მაშინ მე ვარ აპირებს ბეჭდვა hello, 1775 01:20:47,980 --> 01:20:51,190 რასაც პირველი ელემენტის მასივი. 1776 01:20:51,190 --> 01:20:54,100 Else ბეჭდვა, hello მსოფლიოში. 1777 01:20:54,100 --> 01:20:56,300 რა არის ეს აპირებს მოხდება არსებითად? 1778 01:20:56,300 --> 01:21:00,570 შეგიძლიათ ვინმეს უბრალოდ განმარტავენ, ინგლისური რა ეს პროგრამა აკეთებს? 1779 01:21:00,570 --> 01:21:01,272 ჰო. 1780 01:21:01,272 --> 01:21:08,160 >> აუდიტორია: თუ ვინმე აკრეფილი ბრძანება და განაცხადა, რომ მათი სახელი და გვარი, 1781 01:21:08,160 --> 01:21:12,096 ეს არ არის მხოლოდ ბეჭდვა პირველი და ვთქვა, hello, 1782 01:21:12,096 --> 01:21:14,090 რასაც თქვენი სახელი არის. 1783 01:21:14,090 --> 01:21:15,410 >> Andi Peng: OK, მოდით გაუშვით. 1784 01:21:15,410 --> 01:21:22,470 ასე მაგალითად, თუ მე უნდა გააკეთოს ეს ფაილი მიიღოს hello, რომელთა მიზანია მიესალმები 1785 01:21:22,470 --> 01:21:24,500 რომელთა მიზანია, რაც გინდა, შეყვანის? 1786 01:21:24,500 --> 01:21:25,900 >> აუდიტორია: სახელი და გვარი. 1787 01:21:25,900 --> 01:21:27,280 >> Andi Peng: სახელი და გვარი? 1788 01:21:27,280 --> 01:21:28,180 სივრცეები? 1789 01:21:28,180 --> 01:21:29,690 >> აუდიტორია: Yeah. 1790 01:21:29,690 --> 01:21:33,490 >> Andi Peng: შეიძლება ვინმეს ვუთხრა ჩემთვის ახლა, რა არის argc? 1791 01:21:33,490 --> 01:21:35,630 უბრალოდ უფლება არსებობს? 1792 01:21:35,630 --> 01:21:36,290 Oops, უკაცრავად. 1793 01:21:36,290 --> 01:21:37,920 ნება მომეცით დაბრუნდეს. 1794 01:21:37,920 --> 01:21:40,740 რამდენი ბრძანების არგუმენტები are-- თქვენ ბიჭები ნამდვილად ვერ ვხედავ. 1795 01:21:40,740 --> 01:21:43,760 მაგრამ ვეცდები, რომ მიუახლოვდით. 1796 01:21:43,760 --> 01:21:44,290 ვცდილობ. 1797 01:21:44,290 --> 01:21:45,414 დიახ, აქ არის სამი, არა? 1798 01:21:45,414 --> 01:21:48,750 ეს dot slash hello, ეს Andi, და ეს Peng. 1799 01:21:48,750 --> 01:21:51,870 >> ასე რომ, რა ბიჭები ვფიქრობ, რომ ეს პროგრამა იქნება დაბეჭდვისას? 1800 01:21:51,870 --> 01:21:55,550 1801 01:21:55,550 --> 01:21:56,060 Oh. 1802 01:21:56,060 --> 01:21:57,120 ბოდიში. 1803 01:21:57,120 --> 01:21:57,810 არასწორი სახელი. 1804 01:21:57,810 --> 01:22:03,630 1805 01:22:03,630 --> 01:22:06,130 ეს დაბეჭდვისას, hello მსოფლიოში. 1806 01:22:06,130 --> 01:22:09,603 ვინმეს გვინდა ავუხსნათ რატომ, რომ ხდება? 1807 01:22:09,603 --> 01:22:10,103 ჰო? 1808 01:22:10,103 --> 01:22:11,019 >> აუდიტორია: [INAUDIBLE]. 1809 01:22:11,019 --> 01:22:14,439 1810 01:22:14,439 --> 01:22:15,230 Andi Peng: ზუსტად. 1811 01:22:15,230 --> 01:22:19,940 ასე რომ, აქ, პირობითი არის, თუ argc უდრის უდრის 2. 1812 01:22:19,940 --> 01:22:23,650 ასე რომ, მხოლოდ იმ შემთხვევაში, რომ იქ ორი ბრძანება ხაზი არგუმენტები. 1813 01:22:23,650 --> 01:22:25,850 ამის შემდეგ მე ვაპირებ ბეჭდვა, hello, რაც არ არის. 1814 01:22:25,850 --> 01:22:28,210 მაგრამ სხვაგან, მე ვაპირებ ბეჭდვა მხოლოდ, hello მსოფლიოში. 1815 01:22:28,210 --> 01:22:30,040 ასე რომ, ჯერ ვინმეს სურს მომეცი მაგალითად 1816 01:22:30,040 --> 01:22:35,050 როგორ მე შეძლებთ რეალურად მისაღებად მას ბეჭდვა ღირებულება argv 1? 1817 01:22:35,050 --> 01:22:38,600 >> რა მე უნდა შეყვანის აქ? 1818 01:22:38,600 --> 01:22:39,840 მხოლოდ ერთი რამ, არა? 1819 01:22:39,840 --> 01:22:42,900 იმის გამო, რომ dot მიესალმები უკვე იმედი აქვს, როგორც პირველი არგუმენტი. 1820 01:22:42,900 --> 01:22:43,930 მე მხოლოდ ერთი. 1821 01:22:43,930 --> 01:22:46,470 ასე dot მიესალმები თუ უბრალოდ Andi. 1822 01:22:46,470 --> 01:22:47,270 Hello, Andi. 1823 01:22:47,270 --> 01:22:49,186 ამჯამად ყველას გვესმის რატომ, რომ ხდება? 1824 01:22:49,186 --> 01:22:49,602 ჰო. 1825 01:22:49,602 --> 01:22:52,500 >> აუდიტორია: ასე რომ სივრცე ბრძანება ხაზი არის ის, [INAUDIBLE]? 1826 01:22:52,500 --> 01:22:56,247 1827 01:22:56,247 --> 01:22:56,830 Andi Peng: No. 1828 01:22:56,830 --> 01:23:03,810 ასე რომ, სივრცეში ბრძანების არგუმენტი, x, ვუთხრა თქვენს კომპიუტერში 1829 01:23:03,810 --> 01:23:06,820 რომ ეს არის დაწყების ახალი სიმებიანი. 1830 01:23:06,820 --> 01:23:11,130 ასე რომ, სიმებიანი argv აქ იგი მაღაზიებში ყველა თქვენი ბრძანებები ხაზი არგუმენტები 1831 01:23:11,130 --> 01:23:13,110 სტრიქონები. 1832 01:23:13,110 --> 01:23:17,420 ასე რომ, სივრცეში ბრძანების არგუმენტი ყველა რომ არ არის გითხრათ, 1833 01:23:17,420 --> 01:23:21,030 ეს არის ბოლოს ერთი სტრიქონი და დროა გადაადგილება სხვა. 1834 01:23:21,030 --> 01:23:21,990 >> ჰო. 1835 01:23:21,990 --> 01:23:23,530 ეს არის საკმაოდ მნიშვნელოვანი თქვენი pset, იმიტომ, რომ თქვენ 1836 01:23:23,530 --> 01:23:24,613 იქნება ტესტირება ეს. 1837 01:23:24,613 --> 01:23:29,300 ასე რომ ვინმეს აქვს ნებისმიერი კითხვები ამ? 1838 01:23:29,300 --> 01:23:30,016 OK, მაგარი. 1839 01:23:30,016 --> 01:23:30,515 ჰო? 1840 01:23:30,515 --> 01:23:35,008 >> აუდიტორია: ასე რომ მიზეზი, რომ ბოლო რიცხვი არგუმენტი calc ნაცვლად 1841 01:23:35,008 --> 01:23:40,059 [INAUDIBLE] იქნებოდა, როდესაც გსურთ აკრიფოთ დამატებითი ინფორმაციის 1842 01:23:40,059 --> 01:23:41,030 [INAUDIBLE]? 1843 01:23:41,030 --> 01:23:42,090 >> Andi Peng: ჰო, ზუსტად. 1844 01:23:42,090 --> 01:23:45,370 ზოგიერთი პროგრამები დასჭირდება თქვენ შეყვანის ბრძანების არგუმენტი 1845 01:23:45,370 --> 01:23:47,732 ის, რომ გადის და რომელიც იყენებს, რომ. 1846 01:23:47,732 --> 01:23:49,035 ჰო. 1847 01:23:49,035 --> 01:23:50,410 აუდიტორია: მერე რა, რომ [INAUDIBLE]? 1848 01:23:50,410 --> 01:23:55,440 1849 01:23:55,440 --> 01:23:58,870 >> Andi Peng: ისე, რა მაქვს უნდა შეიცვალოს შემდეგ ჩემი პროგრამა? 1850 01:23:58,870 --> 01:23:59,870 >> აუდიტორია: Just 3. 1851 01:23:59,870 --> 01:24:12,460 1852 01:24:12,460 --> 01:24:15,020 >> Andi Peng: რატომ არის, რომ ხდება, როგორ ფიქრობთ? 1853 01:24:15,020 --> 01:24:18,940 >> აუდიტორია: იმის გამო, რომ [INAUDIBLE]. 1854 01:24:18,940 --> 01:24:22,370 >> აუდიტორია: ნეტავ უნდა შეეცვალათ ის 2 [INAUDIBLE]. 1855 01:24:22,370 --> 01:24:23,484 >> აუდიტორია: 1 და 2. 1856 01:24:23,484 --> 01:24:24,650 Andi Peng: 1 და 2, ზუსტად. 1857 01:24:24,650 --> 01:24:29,150 ასე რომ, ამ შემთხვევაში, თქვენ, ალბათ, მინდა, რომ ორი printf statements-- 1858 01:24:29,150 --> 01:24:32,601 ერთი, რომ დაბეჭდილი argv 1 და ერთი, რომ დაბეჭდილი argv 2. 1859 01:24:32,601 --> 01:24:33,100 აქ. 1860 01:24:33,100 --> 01:24:34,516 მე შემიძლია რეალურად გავაკეთოთ, რომ რეალური სწრაფი. 1861 01:24:34,516 --> 01:24:46,720 1862 01:24:46,720 --> 01:24:47,320 ესეც ასე. 1863 01:24:47,320 --> 01:24:48,287 Oh. 1864 01:24:48,287 --> 01:24:49,370 არ არის, რა უნდოდა. 1865 01:24:49,370 --> 01:24:52,590 მაგრამ თუ ბიჭები სასადილო გარშემო გაფორმებით, ის გამოვა. 1866 01:24:52,590 --> 01:24:54,981 ჰო. 1867 01:24:54,981 --> 01:24:55,480 ზემოთ. 1868 01:24:55,480 --> 01:24:57,670 მე ვიცი, ჩვენ ცოტა მოკლე დროში. 1869 01:24:57,670 --> 01:25:02,469 მაგრამ მე უბრალოდ აპირებს სწრაფად დახარჯოს რამდენიმე წუთის გადის helpful-- 1870 01:25:02,469 --> 01:25:03,760 აუდიტორია: თქვენ გაქვთ ორი წუთი. 1871 01:25:03,760 --> 01:25:05,010 Andi Peng: მე მაქვს ორი წუთი? 1872 01:25:05,010 --> 01:25:06,340 დიდი მადლობა. 1873 01:25:06,340 --> 01:25:09,180 რამდენიმე სწრაფი pset რჩევები. 1874 01:25:09,180 --> 01:25:13,100 ასე რომ, ამ pset, მე მაღალ რეკომენდაციას, როგორც ვთქვი, ყველას წაკითხვის სპეც. 1875 01:25:13,100 --> 01:25:16,804 თქვენ უნდა წერა სამი პროგრამების ერთ-ერთი მოუწოდა initials.c, ერთი მოუწოდა caesar.c, 1876 01:25:16,804 --> 01:25:17,720 ერთი მოუწოდა vigenere.c. 1877 01:25:17,720 --> 01:25:20,465 1878 01:25:20,465 --> 01:25:22,340 რამდენიმე მნიშვნელოვანი რჩევა, რომ თქვენ ბიჭები ნამდვილად გსურთ 1879 01:25:22,340 --> 01:25:25,040 უნდა შევინარჩუნოთ გონება, ასე რომ ეს არის ფუნქცია 1880 01:25:25,040 --> 01:25:27,770 მოუწოდა atoi-- როგორც მე მინდა ვთქვა, trois. 1881 01:25:27,770 --> 01:25:29,520 გაურკვეველია, თუ ეს ფაქტობრივად, თუ როგორ ვთქვათ. 1882 01:25:29,520 --> 01:25:32,510 მაგრამ ყველა ის აკეთებს, ის შესაყვანი. 1883 01:25:32,510 --> 01:25:34,320 ეს აკონვერტებს სიმებიანი int. 1884 01:25:34,320 --> 01:25:37,490 ასე რომ, წარმოადგენს ASCII რომ i რიცხვი. 1885 01:25:37,490 --> 01:25:40,310 ეს მხოლოდ კონვერტაცია ASCII ფასეულობები რიცხვი ღირებულებებს. 1886 01:25:40,310 --> 01:25:44,510 ასე მახსოვს argv, მასივი, რომ მაღაზიები ყველა თქვენი ბრძანებები გამოდიან არგუმენტი 1887 01:25:44,510 --> 01:25:46,300 ის ინახავს მათ ყველა, როგორც სიმები. 1888 01:25:46,300 --> 01:25:50,010 ასე რომ, თუ გსურთ შეძლებს ერთ-ერთი მათგანი გახდეს რიცხვი, 1889 01:25:50,010 --> 01:25:52,750 თქვენ ვაპირებთ აქვს უნდა გამოიყენოს ეს მნიშვნელობა აქ. 1890 01:25:52,750 --> 01:25:56,690 >> Modulo, როგორც ჩვენ დაფარული ადრე კლასში დღეს, 1891 01:25:56,690 --> 01:25:59,550 გაძლევთ საშუალებას აქვს დანარჩენი რასაც თქვენ გაქვთ. 1892 01:25:59,550 --> 01:26:03,620 ასე რომ, თუ ჩვენ, რეალურად, მართლაც დიდი რაოდენობით Caesar, 1893 01:26:03,620 --> 01:26:06,117 რა მოხდება, თუ ჩვენ ბოლომდე სიმებიანი Vigenere? 1894 01:26:06,117 --> 01:26:08,450 როგორ აპირებთ შეძლებს უნდა, რომ გადაიტანოთ გარშემო? 1895 01:26:08,450 --> 01:26:11,330 თუ მე მოხვდა z და მინდა მას დაბრუნდეს, 1896 01:26:11,330 --> 01:26:13,650 როგორ ვაპირებ მისაღებად რომ გადაიტანოთ გარშემო? 1897 01:26:13,650 --> 01:26:15,960 ალბათ გსურთ გამოიყენოთ modulo იქ სადღაც. 1898 01:26:15,960 --> 01:26:19,190 >> მეორე, დაათვალიეროთ გარშემო თქვენი ბიბლიოთეკა. ctype.h. 1899 01:26:19,190 --> 01:26:20,680 სწორედ ახალი ბიბლიოთეკა გვაქვს. 1900 01:26:20,680 --> 01:26:25,270 თქვენ ნახავთ, ბევრი ნამდვილად, ნამდვილად სასარგებლო ფუნქცია isupper, islower, 1901 01:26:25,270 --> 01:26:27,681 toupper, tolower, isalpha, et cetera. 1902 01:26:27,681 --> 01:26:30,680 ყველა ის ფუნქცია, რომელიც იქნება ძალიან სასარგებლო როდესაც თქვენ ცდილობენ გაერკვნენ, 1903 01:26:30,680 --> 01:26:33,780 ეს ხასიათი ამას წერილი? 1904 01:26:33,780 --> 01:26:35,730 როგორ შემიძლია გადაიყვანოთ ამ სიმებიანი ზედა? 1905 01:26:35,730 --> 01:26:38,146 ეს ყველაფერი იქნება ძალიან, ძალიან სასარგებლოა თქვენი pset. 1906 01:26:38,146 --> 01:26:42,720 1907 01:26:42,720 --> 01:26:45,500 OK. 1908 01:26:45,500 --> 01:26:49,644 >> სამუშაო საათები დღეს არის 8:00 11:00 TEAL კლასის ხვალ 1909 01:26:49,644 --> 01:26:51,310 ისევე, როგორც ოთხშაბათს და ხუთშაბათს ღამით. 1910 01:26:51,310 --> 01:26:53,280 სამუშაო საათები არიან commons. 1911 01:26:53,280 --> 01:26:56,180 მაღალი გთავაზობთ ბიჭები ყველა დავიწყოთ დაუყოვნებლივ, 1912 01:26:56,180 --> 01:27:00,490 იმიტომ, რომ თქვენ არ გსურთ, რომ ბავშვი, რომელიც ხუთშაბათს ღამით პრობლემები აქვს 1913 01:27:00,490 --> 01:27:03,870 წარდგენის თქვენი pset და ასე, მე არ ვიცი, რა უნდა გააკეთოს. 1914 01:27:03,870 --> 01:27:05,870 დავიწყე, მე დასრულდა, მე წარმოდგენილი. 1915 01:27:05,870 --> 01:27:09,737 სცადეთ მისცეს საკუთარ თავს გარკვეული ოთახი, რადგან კოდი პრობლემა ყოველთვის მოხდეს. 1916 01:27:09,737 --> 01:27:11,570 თქვენ გვინდა დავრწმუნდეთ, რომ თქვენ თავს 1917 01:27:11,570 --> 01:27:14,810 ბევრი დრო უნდა შეეძლოს დასრულებას psets. 1918 01:27:14,810 --> 01:27:15,310 ზემოთ. 1919 01:27:15,310 --> 01:27:16,720 მე გათიშეთ გარშემო აქ. 1920 01:27:16,720 --> 01:27:18,226 >> აუდიტორია: ეს არის ონლაინ უკვე? 1921 01:27:18,226 --> 01:27:20,850 Andi Peng: მე არ ვიცი, თუ ის ამჟამად უკვე, მაგრამ ეს იქნება. 1922 01:27:20,850 --> 01:27:23,500 მე გათიშეთ გარშემო აქ თუ ვინმეს აქვს რაიმე შეკითხვები უკვე. 1923 01:27:23,500 --> 01:27:25,390 მადლობა მობრძანებისათვის. 1924 01:27:25,390 --> 01:27:27,105