1 00:00:00,000 --> 00:00:02,742 >> [MÜZİK OYUN] 2 00:00:02,742 --> 00:00:05,030 3 00:00:05,030 --> 00:00:09,090 >> ANDI'nin PENG Bu CS50 ve bölümün haftada iki hoş geldiniz. 4 00:00:09,090 --> 00:00:11,740 Bu aslında bir hafta varken aslında bizim class-- iki, 5 00:00:11,740 --> 00:00:14,550 İlk hafta bölümü yaşadım. 6 00:00:14,550 --> 00:00:18,897 Ellerin göster, Hepinizin kaç Geçen hafta süper bölüme geldi? 7 00:00:18,897 --> 00:00:19,480 Tamam, tamam. 8 00:00:19,480 --> 00:00:20,020 Bu iyi. 9 00:00:20,020 --> 00:00:23,110 Kaçınız izledim Süper bölümde geçen hafta? 10 00:00:23,110 --> 00:00:23,610 TAMAM. 11 00:00:23,610 --> 00:00:25,702 Ve siz iyi yaptı sorun üzerinde bir set? 12 00:00:25,702 --> 00:00:28,660 Yani biz o kadar alacağım Gerçekten zeki çocuklar bir demet 13 00:00:28,660 --> 00:00:32,310 Bu sınıf ve şeyler iyi olacak. 14 00:00:32,310 --> 00:00:33,180 TAMAM. 15 00:00:33,180 --> 00:00:33,980 Yani birinci-- 16 00:00:33,980 --> 00:00:37,900 17 00:00:37,900 --> 00:00:41,090 >> İlk olarak, biz sadece kısaca gidiyoruz Bugün için gündemde üzerine gitmek. 18 00:00:41,090 --> 00:00:42,700 Biz ders lojistik hakkında konuşacağız. 19 00:00:42,700 --> 00:00:45,480 Size bir sürü muhtemelen ilgili sorularınız 20 00:00:45,480 --> 00:00:46,920 nasıl bu derste koşmak şeyler. 21 00:00:46,920 --> 00:00:47,897 Biz onlara cevap olacak. 22 00:00:47,897 --> 00:00:49,730 Biz kısaca gidiyoruz halinde döngüler üzerinden gitmek 23 00:00:49,730 --> 00:00:51,410 Sizinle herhangi bir süper bölümünü kaçırdı. 24 00:00:51,410 --> 00:00:53,240 Biz ASCII haritalama hakkında konuşacağım. 25 00:00:53,240 --> 00:00:56,180 Biz diziler hakkında konuşacağız, fonksiyonlar, komut satırı argümanları. 26 00:00:56,180 --> 00:01:00,210 Ve son olarak, ne çocuklar muhtemelen tüm Gerçekten öğrenmek için burada olmak istiyorum, 27 00:01:00,210 --> 00:01:01,270 senin pset2 olduğunu. 28 00:01:01,270 --> 00:01:04,209 Biz bazı güzel hileler olacak Bunu yapmak için nasıl ve ipuçları. 29 00:01:04,209 --> 00:01:07,910 30 00:01:07,910 --> 00:01:08,690 >> TAMAM. 31 00:01:08,690 --> 00:01:11,450 Ayrıca, ikincisi, biz Burada şeker çok. 32 00:01:11,450 --> 00:01:13,583 Şeker seven herkes, Buraya gel. 33 00:01:13,583 --> 00:01:14,430 Bazı tut. 34 00:01:14,430 --> 00:01:15,100 Ben bir grup var. 35 00:01:15,100 --> 00:01:16,390 Biz ofiste bir ton var. 36 00:01:16,390 --> 00:01:18,230 Ben gerçekten istemiyorum Bütün gün şeker yiyin. 37 00:01:18,230 --> 00:01:20,300 Siz, tüm şeker yemelidir Ben sizin için buraya getirdim çünkü. 38 00:01:20,300 --> 00:01:20,990 Sadece şeker yiyin. 39 00:01:20,990 --> 00:01:24,080 Her bölüm şeker var olacak. 40 00:01:24,080 --> 00:01:25,330 >> Bunun için ilk önce, ben kimim? 41 00:01:25,330 --> 00:01:27,080 Benim adım Andi Peng olduğunu. 42 00:01:27,080 --> 00:01:30,270 Ben Yale'de burada CS50 başkanı TA duyuyorum. 43 00:01:30,270 --> 00:01:32,540 Ve ek olarak, bu, ayrıca göre-- olacak 44 00:01:32,540 --> 00:01:35,600 Herkes çalışan da-- olsaydı dostum, omuz üstünde ağlamaya. 45 00:01:35,600 --> 00:01:39,140 Eğer Pset Due önceki gece, Eğer, ne oluyor hiçbir fikrim yok 46 00:01:39,140 --> 00:01:40,080 beni vurdu. 47 00:01:40,080 --> 00:01:42,770 Biz Vesaire, birlikte kederini edeceğiz. 48 00:01:42,770 --> 00:01:46,100 Sadece ben burada olduğumu biliyorum ön saflarda olarak sizin için kaynak 49 00:01:46,100 --> 00:01:51,830 yardımcı Siz nasıl anlamaya CS50 ve ötesinde sorunları çözmek için. 50 00:01:51,830 --> 00:01:54,590 >> Benim e-posta andi.peng@yale.edu olduğunu. 51 00:01:54,590 --> 00:01:58,390 Ben de bir birey dışarı göndereceğiz o benim telefon numarası ile e-posta 52 00:01:58,390 --> 00:02:01,860 Böylece değil herkes internet telefon numarasını görebilirsiniz. 53 00:02:01,860 --> 00:02:03,640 Herhangi bir zamanda beni aramasını çekinmeyin. 54 00:02:03,640 --> 00:02:07,510 Cidden, benim telefon Genellikle elime bağlı. 55 00:02:07,510 --> 00:02:10,240 Ben yanıt veremeyebilir Birkaç dakika içinde. 56 00:02:10,240 --> 00:02:11,984 Bir kaç saat içinde yanıt veremeyebilir. 57 00:02:11,984 --> 00:02:14,400 Ama eğer, size garanti edemez beni arar eğer, bana e-posta 58 00:02:14,400 --> 00:02:17,404 metin bana, ben 24 saat içinde cevap verecektir. 59 00:02:17,404 --> 00:02:19,820 Çoğu zaman, ben daha önce cevap veririz Anlıyorum çünkü o 60 00:02:19,820 --> 00:02:23,900 Herkes bazı sorunları var ki ve size cevap istiyorum 61 00:02:23,900 --> 00:02:26,110 çok hızlı bir şekilde cevaplanması gereken. 62 00:02:26,110 --> 00:02:28,945 >> Ancak, ararsanız Beni 30 dakika önce 63 00:02:28,945 --> 00:02:31,570 nedeniyle Perşembe olduğu parça Andi, bana yardım gibi akşam--, 64 00:02:31,570 --> 00:02:35,380 Ben verebilir started-- değil O omuz üzerinde ağlamaya. 65 00:02:35,380 --> 00:02:41,520 Ama düşünmek için zaman olabilir O bir dahaki sefere değil nasıl. 66 00:02:41,520 --> 00:02:44,040 TAMAM. 67 00:02:44,040 --> 00:02:44,944 Üzgünüz. 68 00:02:44,944 --> 00:02:45,850 Nasıl geri gidiyorsun? 69 00:02:45,850 --> 00:02:48,140 Oraya gidiyoruz. 70 00:02:48,140 --> 00:02:52,310 >> Yani bu derste, bir var Herkes için destek ton. 71 00:02:52,310 --> 00:02:54,640 Sadece ek olarak Burada bölümler, size hangi 72 00:02:54,640 --> 00:02:57,000 Her hafta 90 harcamak olsun Benimle harika dakika 73 00:02:57,000 --> 00:02:58,330 biz de ofis saatleri var. 74 00:02:58,330 --> 00:03:01,021 Kaç çocuklar zaten Yardım için çalışma saatleri bulundun mu? 75 00:03:01,021 --> 00:03:01,520 Büyük. 76 00:03:01,520 --> 00:03:05,700 Yani, görmek gerçekten çok güzel çünkü biz 45'in üzerinde TA ve CA'ların bir kadroya sahip 77 00:03:05,700 --> 00:03:11,780 burada bu ders için eğitilmiş senin psets ile Sizi yardımcı olmak için. 78 00:03:11,780 --> 00:03:14,580 >> Pazartesi bunlar TEAL düzenlenen konum Burada 17 Hill House sınıf 79 00:03:14,580 --> 00:03:15,350 Yale'de. 80 00:03:15,350 --> 00:03:17,349 Salı ve perşembe günleri, Onlar Commons düzenlenen ediyoruz. 81 00:03:17,349 --> 00:03:20,010 Hemen hemen 11:00 hafta içi her gün 8:00. 82 00:03:20,010 --> 00:03:21,620 Gel, gel. 83 00:03:21,620 --> 00:03:24,030 Herhangi bir sorun, hayır problem-- Sadece içeri gel, 84 00:03:24,030 --> 00:03:26,650 ve sonra biz bu konuda size yardımcı olacak. 85 00:03:26,650 --> 00:03:31,640 >> İkincisi, çalışma saatleri ek olarak ve bölümler, biz de şort var. 86 00:03:31,640 --> 00:03:35,930 Hiç kimse bir çift gördü videolarda şort ya da izlenecek yollar 87 00:03:35,930 --> 00:03:36,750 Web sitesinde? 88 00:03:36,750 --> 00:03:37,250 TAMAM. 89 00:03:37,250 --> 00:03:39,510 Yani gerçekten, gerçekten yararlı. 90 00:03:39,510 --> 00:03:42,470 Bizim güzel Harvard üretimi O okula oraya ekip 91 00:03:42,470 --> 00:03:47,910 Kuzeyde, onlar filme ve üretti bu inanılmaz örneklerde videoları. 92 00:03:47,910 --> 00:03:52,290 >> Onlar adım adım alacağım nasıl bir sorunu çözme hakkında gitmek için. 93 00:03:52,290 --> 00:03:56,340 Çoğu kez, hakkında karıştı ediyorsanız basit bir kavram, tekil bir kavram, 94 00:03:56,340 --> 00:03:59,780 muhtemelen çünkü, bir göz atın yere sitemizde üzerinde kısa. 95 00:03:59,780 --> 00:04:03,800 Ve genellikle büyük bir kaynak var İlk olduğunuzda bakmak için 96 00:04:03,800 --> 00:04:06,510 Bir sorunun üstesinden nasıl kaybetti. 97 00:04:06,510 --> 00:04:09,750 >> Üçüncüsü, biz de var study50 ve reference50. 98 00:04:09,750 --> 00:04:15,650 Yani on 50 çalışma Web sitesi sadece bir bağlantıdır. 99 00:04:15,650 --> 00:04:21,500 Bence, bu, study.cs50.net Ya da bunun gibi bir şey. 100 00:04:21,500 --> 00:04:22,860 Sadece Google'da. 101 00:04:22,860 --> 00:04:24,229 Biz hazırlanan slaytlar çok var. 102 00:04:24,229 --> 00:04:26,770 Biz şort çok var ve Tüm derlenmiş walkthroughs-- şeyler 103 00:04:26,770 --> 00:04:31,070 çok güzel ve tüm çocuklar için temiz göz atmak, herhangi kavramları bkz 104 00:04:31,070 --> 00:04:32,860 hakkında karıştı olduğunu. 105 00:04:32,860 --> 00:04:35,920 Muhtemelen kapalı olurdum Orada study50 içinde bitti. 106 00:04:35,920 --> 00:04:37,640 >> Benzer Reference50--. 107 00:04:37,640 --> 00:04:41,510 Biz çeşitli notların bir şey var hizmetinizdedir için hazır. 108 00:04:41,510 --> 00:04:44,450 Ve son olarak, biz ne var CS50 tartışır denilen 109 00:04:44,450 --> 00:04:48,082 Bir forum, eğer önceki gece Eğer sorunları yapıyoruz, demek, 110 00:04:48,082 --> 00:04:49,880 Eğer bir sorum var. 111 00:04:49,880 --> 00:04:52,340 Tartışın CS50 giriş yapın. 112 00:04:52,340 --> 00:04:53,190 Sorunuzu Gönderin. 113 00:04:53,190 --> 00:04:55,820 Ve hundreds-- o zaman bir eş, belki thousands-- 114 00:04:55,820 --> 00:04:57,960 Online bu sınıf alarak giriş olacaktır. 115 00:04:57,960 --> 00:05:01,182 Ve belki birileri alabilirsiniz TA can önce cevap. 116 00:05:01,182 --> 00:05:03,390 Aslında sadece var online forum biz geleni 117 00:05:03,390 --> 00:05:04,556 Bizim sorunları görüşmek için kullanabilirsiniz. 118 00:05:04,556 --> 00:05:06,483 Çok havalı. 119 00:05:06,483 --> 00:05:10,660 120 00:05:10,660 --> 00:05:11,550 >> TAMAM. 121 00:05:11,550 --> 00:05:13,220 Peki sorun ayarlar. 122 00:05:13,220 --> 00:05:17,840 Biz sağ üzereyiz sorun kalınlığında iki ayarlayın. 123 00:05:17,840 --> 00:05:20,570 Çoğumuz zaten sorun ile mücadele bir set. 124 00:05:20,570 --> 00:05:24,460 Biz zaten belki bekleyen biliyorum Dün gece pset yapmak için 125 00:05:24,460 --> 00:05:28,170 CS50 yapmak akıllıca bir şey değil. 126 00:05:28,170 --> 00:05:32,380 >> İpuçları ve esasen ipuçları başarı bütün spec okunur. 127 00:05:32,380 --> 00:05:36,270 Kaçınız zaten pset 2 spec okudun mu? 128 00:05:36,270 --> 00:05:36,770 TAMAM. 129 00:05:36,770 --> 00:05:39,840 Bu katı bir miktar. 130 00:05:39,840 --> 00:05:43,210 İkinizin muhtemelen tanıdı biliyorum artık gözlük gerçekten uzun. 131 00:05:43,210 --> 00:05:45,700 Onlar gerçekten uzun, gerçekten sensin. 132 00:05:45,700 --> 00:05:49,630 >> Her satır okumak gerçekten zor kelime o dikkatle kelimenin. 133 00:05:49,630 --> 00:05:52,780 Sadece nerede yağsız istiyorum Eğer bir şeyler yapmak söyler. 134 00:05:52,780 --> 00:05:54,459 Ben size garanti edemez, bunu yapma. 135 00:05:54,459 --> 00:05:56,750 Bunu yaparsanız, muhtemelen konum yere özleyeceğim 136 00:05:56,750 --> 00:05:58,458 nerede size söyler nasıl bir sorun başlatmak için 137 00:05:58,458 --> 00:06:01,140 ya da adını ne söyler Sorununuz ya da size söyler, 138 00:06:01,140 --> 00:06:03,720 bu muhtemelen en iyi yolu Sorununuzu yapmaya başlayın. 139 00:06:03,720 --> 00:06:05,050 Ve sonra kaybolmuş olacak. 140 00:06:05,050 --> 00:06:08,219 >> Eğer sizin yanınızdaki okumaya çalıştığınızda yarım aracılığıyla spec, 141 00:06:08,219 --> 00:06:10,510 Önemli bir sürü sen değilsin ki information-- 142 00:06:10,510 --> 00:06:12,260 Gerçekten erişim mümkün olacak. 143 00:06:12,260 --> 00:06:13,219 Yani bütün spec okuyun. 144 00:06:13,219 --> 00:06:15,468 Bütün spec okumak için çalışın Eğer bölümüne gelmeden önce, 145 00:06:15,468 --> 00:06:17,360 Daha sonra, ne zaman çünkü biz pset hakkında konuşmak, 146 00:06:17,360 --> 00:06:21,070 Hepimizin bir fikir sahibi olabilirsiniz Neler evi. 147 00:06:21,070 --> 00:06:25,169 >> İkinci olarak, bu kavram Ben başvurmak istiyorum edeceğiz 148 00:06:25,169 --> 00:06:26,710 Tabii dönem boyunca bir sürü. 149 00:06:26,710 --> 00:06:30,070 Ama esasen, sağ, yarım bizi karşılamaya? 150 00:06:30,070 --> 00:06:33,970 Ben, senin TA ve Jason olarak ders olarak senin profesör olarak yönetici ve Scaz 151 00:06:33,970 --> 00:06:37,120 ve David sizin profesör ve tüm olarak Bu derste başka güzel TA, 152 00:06:37,120 --> 00:06:39,830 Bu elbette-- içinde yardımcıları Biz elimizden geleni yapacağız 153 00:06:39,830 --> 00:06:42,965 ayarladığınız emin olmak için kadar bu derste başarılı olmak için. 154 00:06:42,965 --> 00:06:43,840 Biz bölümünü yapacak. 155 00:06:43,840 --> 00:06:44,870 Biz ofis saatleri yapacak. 156 00:06:44,870 --> 00:06:47,087 Biz telefona cevap verecek aramalar, e-postalarınızı cevaplamak 157 00:06:47,087 --> 00:06:49,670 yapmak için elimizden geleni yaparız emin sorular sorulur. 158 00:06:49,670 --> 00:06:51,460 >> Ancak, bize de yardım et. 159 00:06:51,460 --> 00:06:52,450 Yarım buluşuruz. 160 00:06:52,450 --> 00:06:56,040 Eğer ofis saatleri gelirseniz değil, bölüme değil gitmiş 161 00:06:56,040 --> 00:07:02,060 hayır olan, konferanslar gördükten Fikir bana yardım gibi olmak, neler oluyor. 162 00:07:02,060 --> 00:07:04,350 Ben de üzgünüm, böyle olacağım. 163 00:07:04,350 --> 00:07:06,410 Bu ödünç zaman olabilir omuz, ağlamaya 164 00:07:06,410 --> 00:07:08,959 Emin değilim çünkü Sana yardım için ne yapabilirim 165 00:07:08,959 --> 00:07:12,000 En azından yardım etmeye çalışmayın, eğer Kendinizi başında biraz. 166 00:07:12,000 --> 00:07:12,910 Yarım buluşuruz. 167 00:07:12,910 --> 00:07:15,020 Biliyor musun, lütfen gel cevaplamak ve almak için hazır 168 00:07:15,020 --> 00:07:16,353 malzeme yapmaya hazır. 169 00:07:16,353 --> 00:07:19,342 O kadar çok şeyler yapar katılan herkes için daha kolay. 170 00:07:19,342 --> 00:07:22,970 Evet, bu oldukça fazla. 171 00:07:22,970 --> 00:07:23,720 >> Puanlama. 172 00:07:23,720 --> 00:07:29,250 Yani ders üzerinde, oldukça var derinlemesine nasıl bir sorunumuz notu ile ilgili. 173 00:07:29,250 --> 00:07:32,440 Ama esasen, arıza Bu sizin sınıf% 50 oranında 174 00:07:32,440 --> 00:07:34,530 psets, olacak çünkü o, güzel 175 00:07:34,530 --> 00:07:37,400 nereye engin harcadığımız üzerinde kurs süresinin çoğunluğu. 176 00:07:37,400 --> 00:07:39,854 % 40 quizler, ve sizin Nihai proje% 10 olacaktır. 177 00:07:39,854 --> 00:07:42,520 Boyunca iki sınavlar olacak dönem kurs. 178 00:07:42,520 --> 00:07:47,050 Ben tarih ve saatleri olduğunu düşünüyorum Ayrıca ders listelendi. 179 00:07:47,050 --> 00:07:49,210 >> Yolu biz olacak senin psets derecelendirilmesi olmak 180 00:07:49,210 --> 00:07:53,930 biz aslında dört olması her sınıfa atayabilirsiniz değerler. 181 00:07:53,930 --> 00:07:57,250 Bu kapsamda bir değere sahiptir, doğruluk, tasarım ve stil. 182 00:07:57,250 --> 00:08:01,530 Gördüğünüz gibi, bu tür bizim psets hesaplanması için formül. 183 00:08:01,530 --> 00:08:03,640 Üç biz çoğu vermek ağırlık, doğruluğu 184 00:08:03,640 --> 00:08:06,140 açıkçası antrenör çünkü olgularda test edilmelidir 185 00:08:06,140 --> 00:08:08,480 İstediğimiz o sınamak için. 186 00:08:08,480 --> 00:08:11,000 >> Siz her şeye sahip emrinde check50. 187 00:08:11,000 --> 00:08:13,730 Bu çok kullanışlı bir fonksiyon var hepiniz olabilir ki 188 00:08:13,730 --> 00:08:17,560 sunucularımıza kodunuzu yükleyin, Nerede sizin için kontrol eder. 189 00:08:17,560 --> 00:08:20,800 Ve o gördüm frowny yüzler, gülen yüzler. 190 00:08:20,800 --> 00:08:22,119 Onlar gerçekten, gerçekten yararlı. 191 00:08:22,119 --> 00:08:23,910 Olmayın Lütfen çalışır gibi öğrenci 192 00:08:23,910 --> 00:08:26,230 Onlara tüm cevaplar kodlamalısınız. 193 00:08:26,230 --> 00:08:30,050 Kesinlikle pset nerede gördüm Biri check50 tüm değerleri gördüm 194 00:08:30,050 --> 00:08:33,429 ve onlar sadece zor eğer açmayız kodlanmış Bu sayı, bu sayıyı çıktı. 195 00:08:33,429 --> 00:08:35,080 Bu sayının, bu sayı yazdırmak. 196 00:08:35,080 --> 00:08:36,090 Bunu yapmayın. 197 00:08:36,090 --> 00:08:39,360 >> Hatta teknik se check50, doğru 198 00:08:39,360 --> 00:08:41,809 çözme yolunuzu Sorun doğru değil. 199 00:08:41,809 --> 00:08:45,770 Dolayısıyla, sadece idareli check50 kullanın. 200 00:08:45,770 --> 00:08:48,497 Ama aynı zamanda emin olun siz o işleyen nasıl anlamak 201 00:08:48,497 --> 00:08:50,580 Program çalıştığını check50 yanı sıra, 202 00:08:50,580 --> 00:08:53,120 Her test edemez, çünkü check50 olası vaka. 203 00:08:53,120 --> 00:08:55,440 Biz bazıları test olacak. 204 00:08:55,440 --> 00:09:00,390 >> Tasarım esasen, nasıl kodunuz iyi tasarlanmış? 205 00:09:00,390 --> 00:09:04,150 Eğer kopya yapıştırma birden iseniz Kod birçok, birçok kez hatları. 206 00:09:04,150 --> 00:09:06,960 Belki pek yok kodunuzu en iyi tasarım. 207 00:09:06,960 --> 00:09:09,470 Belki o döngü ekleme zamanı geldi. 208 00:09:09,470 --> 00:09:12,090 Esasen, burada sadece hepsi kodunuzu yapmaya çalışıyorum hakkında, 209 00:09:12,090 --> 00:09:17,010 olarak verimli kod yazmaya çalışıyorum mümkün böylece program çalışır olarak 210 00:09:17,010 --> 00:09:19,630 olabildiğince çabuk. 211 00:09:19,630 --> 00:09:20,996 >> Son olarak, biz tarzı var. 212 00:09:20,996 --> 00:09:24,360 Yani stili tür keyfi, sübjektif terim. 213 00:09:24,360 --> 00:09:27,470 Ben resmen biliyorum CS50 için bir stil 50 rehber, 214 00:09:27,470 --> 00:09:30,050 o oh, size söyler nereye, seni Burada bir boşluk olmalıdır. 215 00:09:30,050 --> 00:09:32,220 You should biçimi tür kodunuzu bu şekilde. 216 00:09:32,220 --> 00:09:34,070 Bu yol şey isim olmalıdır. 217 00:09:34,070 --> 00:09:38,180 >> Ben gerçekten, başına umurumda değil, nasıl Eğer kodunuzu stil tercih 218 00:09:38,180 --> 00:09:39,840 sadece sürece tutarlı kalmak gibi. 219 00:09:39,840 --> 00:09:43,732 Örneğin, isterseniz Dört sonra bir boşluk bırakın 220 00:09:43,732 --> 00:09:45,690 Dört döngü önce, Sadece her zaman bunu. 221 00:09:45,690 --> 00:09:46,523 Tür Yapmayın. 222 00:09:46,523 --> 00:09:47,730 Bunu diğer zamanlarda yapmayın. 223 00:09:47,730 --> 00:09:51,046 Eğer kıvırcık tutmak isterseniz parantez alanı belli bir şekilde, 224 00:09:51,046 --> 00:09:52,170 Sadece her zaman bu şekilde yapmak. 225 00:09:52,170 --> 00:09:54,628 Tür yerlerde bunu yapmayın Burada ve bir yerde orada değil. 226 00:09:54,628 --> 00:09:57,010 Biz derecelendirilmesi olduğunuzda, Gerçekten zor 227 00:09:57,010 --> 00:09:59,420 Hiçbir fikrim nasıl varsa Eğer, senin kod biçimlendirme ediyoruz 228 00:09:59,420 --> 00:10:02,064 şeyler tuhaf ve yersiz bulunmaktadır. 229 00:10:02,064 --> 00:10:04,980 Sadece tutarlı tutmak, o var daha benim için daha kolay 230 00:10:04,980 --> 00:10:06,310 kodunuzu okumak mümkün. 231 00:10:06,310 --> 00:10:09,393 Bir öğrenci olarak sizin için çok daha kolay kodunuza bakmak mümkün 232 00:10:09,393 --> 00:10:11,720 ve yanlış ne olduğunu görmek sorunlar var neden kesiyorsun. 233 00:10:11,720 --> 00:10:15,740 Stil kolay şeylerden biridir Siz tam puan almak için ne yapabilirim. 234 00:10:15,740 --> 00:10:18,770 Esasen, sadece eğer, bakım eğer Eğer dikkat beş dakika ödemek 235 00:10:18,770 --> 00:10:22,760 her hafta senin kod, sen-meli Tam stil noktaları alıyorum. 236 00:10:22,760 --> 00:10:26,020 >> Son olarak, biz denilen ne varsa kapsam çarpan. 237 00:10:26,020 --> 00:10:28,890 Scope-- ben büyük bir olduğunu biliyorum Özellikle bu sınıfta kelime. 238 00:10:28,890 --> 00:10:31,030 Ama kapsamı, tüm bu araçlar Eğer çalışıyorsanız olduğunu 239 00:10:31,030 --> 00:10:33,670 senin yeteneğini en iyi şekilde psets. 240 00:10:33,670 --> 00:10:37,180 Üç out açarsanız Dört sorunların 241 00:10:37,180 --> 00:10:39,460 ve hatta çalışmayın Sonuncusu, muhtemelen konum 242 00:10:39,460 --> 00:10:41,630 kapsam bazı noktaları kaybedeceğiz. 243 00:10:41,630 --> 00:10:44,560 >> Sadece sorunu başlatmak bile, içinden yürümek için elinizden geleni yapın. 244 00:10:44,560 --> 00:10:47,691 Bu işe yaramazsa bile, onu teslim olduğunu gösterir ve gösterir, çünkü 245 00:10:47,691 --> 00:10:50,190 Bize bunu, çalışıyoruz o Eğer set sorunu girişiminde 246 00:10:50,190 --> 00:10:51,430 senin yeteneğini en iyi şekilde. 247 00:10:51,430 --> 00:10:53,800 Ve sonra biz size verebilirim kapsam tam puan. 248 00:10:53,800 --> 00:10:58,715 >> Kapsam de zaman biz çok önemlidir en pset puanı damla hakkında konuşmak. 249 00:10:58,715 --> 00:11:02,010 Yani boyunca yarıyıl, siz dokuz psets var. 250 00:11:02,010 --> 00:11:05,340 Ve biz aslında bırakarak olacak Bu dokuz üzerinden en düşük puan, 251 00:11:05,340 --> 00:11:07,670 ama tam kapsam puan var sadece. 252 00:11:07,670 --> 00:11:11,120 >> Yani eksik pset açmak durumunda, ne yazık ki, o bir bırakamazsınız, 253 00:11:11,120 --> 00:11:13,540 senin kapsamı nedeniyle noktalar tamamlanmış değil. 254 00:11:13,540 --> 00:11:16,570 Eğer korkunç bir hafta var ve bu yüzden bile ölüyorsun ve hasta olduğun yerde 255 00:11:16,570 --> 00:11:20,040 ya da köpek, kedi, ölür ölür ve ödev ile aşırı ediyoruz, 256 00:11:20,040 --> 00:11:21,074 Sadece pset girişimi. 257 00:11:21,074 --> 00:11:22,490 Sizin yeteneğini en iyi şekilde yapın. 258 00:11:22,490 --> 00:11:23,840 Bu işe yaramazsa, bu önemli değil. 259 00:11:23,840 --> 00:11:24,506 Sadece bunu çevirin. 260 00:11:24,506 --> 00:11:26,590 En azından biz verebiliriz Eğer çaba gösteriyor. 261 00:11:26,590 --> 00:11:28,510 >> Bu sınıftaki çaba için bir. 262 00:11:28,510 --> 00:11:30,170 Çaba için en az düşük puanı damla. 263 00:11:30,170 --> 00:11:32,354 Yani evet. 264 00:11:32,354 --> 00:11:33,270 Yani oldukça fazla. 265 00:11:33,270 --> 00:11:36,521 Herkes bu yüzden sorularım var mı uzak sınıfta nasıl derecesine? 266 00:11:36,521 --> 00:11:37,187 Ya da bunların herhangi bir? 267 00:11:37,187 --> 00:11:41,220 Bunlardan herhangi biri, böylece far-- bölümler, ofis saatleri? 268 00:11:41,220 --> 00:11:41,720 Güzel. 269 00:11:41,720 --> 00:11:46,720 270 00:11:46,720 --> 00:11:47,800 TAMAM. 271 00:11:47,800 --> 00:11:51,260 >> Yani bu bir konu hayır gerçekten hakkında konuşmak seviyor. 272 00:11:51,260 --> 00:11:53,084 Ben gerçekten bu konuda konuşmak sevmiyorum. 273 00:11:53,084 --> 00:11:55,250 Siz gerçekten istemiyorum Bana bu konuda konuşmak duymak. 274 00:11:55,250 --> 00:11:57,690 Ama ne yazık ki, hepimiz Bu konuda konuşmak zorunda. 275 00:11:57,690 --> 00:12:00,110 David 20 dakika bir geçirdi bunu konuşuyor ders. 276 00:12:00,110 --> 00:12:02,580 Ve bu konu Akademik dürüstlük. 277 00:12:02,580 --> 00:12:08,110 >> Yani hepimiz burada muhtemelen yazdım Bizim Yale kariyerinde bir deneme bazen. 278 00:12:08,110 --> 00:12:11,800 Biz muhtemelen biz ettik bir konuşma gotten Bizim deneme plagiarize değil söylendi, 279 00:12:11,800 --> 00:12:13,940 Bu çalışma bizim değil çünkü. 280 00:12:13,940 --> 00:12:18,109 Bilgisayar bilimi, var kavramının aynı tür. 281 00:12:18,109 --> 00:12:20,150 Gönderdiğiniz tüm işler, Yazdığınız tüm kod 282 00:12:20,150 --> 00:12:21,900 Yazdığınız kod olmalıdır. 283 00:12:21,900 --> 00:12:24,280 Eğer ettik kod gerekmiyor Başka bir yerden kopyalanmış. 284 00:12:24,280 --> 00:12:26,777 Kod olmamalı Eğer googled ve plopped ettik 285 00:12:26,777 --> 00:12:28,360 eğer o inşaat ve gerçekten bilmiyorum. 286 00:12:28,360 --> 00:12:32,440 Tür duygusu var o ama gerçekten ne yaptığını. 287 00:12:32,440 --> 00:12:36,562 Şüpheye düşerseniz, esasen, Sadece mantıklı olacak. 288 00:12:36,562 --> 00:12:38,520 Bizim müfredat, biz var şeylerin bir bütün liste 289 00:12:38,520 --> 00:12:40,560 biz makul bakın makul değil karşı. 290 00:12:40,560 --> 00:12:43,820 >> Örneğin, uygun sen ve senin arkadaşın 291 00:12:43,820 --> 00:12:47,360 Ne en iyi yolu tartışmaya gitmek yaklaşık mantıklı bir problem çözme. 292 00:12:47,360 --> 00:12:48,910 Bu oldukça makul. 293 00:12:48,910 --> 00:12:53,244 Ne mantıklı olmaz eğer olduğunu çocuklar, bir araya geldi aynı kodu yazdınız 294 00:12:53,244 --> 00:12:54,410 ve aynı kodda zorlandı. 295 00:12:54,410 --> 00:12:56,302 Bu mantıklı değil. 296 00:12:56,302 --> 00:12:57,510 Aynı şey, bir kompozisyon tür. 297 00:12:57,510 --> 00:12:59,290 Eğer tartışmak istiyorsanız Arkadaşınızla, hey, 298 00:12:59,290 --> 00:13:00,220 bu benim hakkında yazmak istiyorum budur. 299 00:13:00,220 --> 00:13:02,500 Bunlar İstiyorum adımlar Büyük, bu konuda yazmak için alır. 300 00:13:02,500 --> 00:13:03,208 Bu harika. 301 00:13:03,208 --> 00:13:04,790 Birbirleri ile işbirliği edin. 302 00:13:04,790 --> 00:13:06,540 Siz başlatırsanız Aynı şey yazma, 303 00:13:06,540 --> 00:13:10,020 Aynı denemede açmak daha az Tamam. 304 00:13:10,020 --> 00:13:13,200 Peki ne zaman şüphe, sadece bunu yapmayın. 305 00:13:13,200 --> 00:13:16,940 >> Burada, CS50 içinde, biz komut var Bu çalışma test otomatikleştirmek için 306 00:13:16,940 --> 00:13:21,740 değil sadece kod doğruluğu, ama aynı zamanda kod teklik. 307 00:13:21,740 --> 00:13:25,920 Yani pozisyonda bizi koymak etmeyiniz of EXCOMM için davayı zorunda. 308 00:13:25,920 --> 00:13:31,110 Şimdi sadece, sadece herkes için lütfen Bu harika bir deneyim yapmak. 309 00:13:31,110 --> 00:13:33,600 Herkes, daha iyi öğrenir Hepimiz daha mutlu, 310 00:13:33,600 --> 00:13:37,926 ve hepimiz kadar ayarlanır Bu dersi başarıyla. 311 00:13:37,926 --> 00:13:39,800 Çok var bir şey Bu sınıfta hakkında benzersiz 312 00:13:39,800 --> 00:13:42,660 Bence herkes gerçekten gerekir düşünüyorum Biz olması dikkat 313 00:13:42,660 --> 00:13:44,930 Ne pişmanlık denir Bizim müfredat çıkartıldı. 314 00:13:44,930 --> 00:13:50,010 Bu nedenle esas olarak, 72 saat içinde, eğer Eğer bir şey yaptık inanıyorum 315 00:13:50,010 --> 00:13:53,240 Eğer gerçekten emin oldu değiliz Uygun, bize gelin lütfen. 316 00:13:53,240 --> 00:13:57,220 Biz size söz veriyorum o 72 saat içinde Biz davayı kendimizi idare edecek 317 00:13:57,220 --> 00:13:59,820 Daha yüksek bakmadan yönetimde otorite. 318 00:13:59,820 --> 00:14:03,100 >> Yani bana gelip derseniz, Andi, hey, ben gerçekten üzgünüm, 319 00:14:03,100 --> 00:14:07,620 ama ben bir kaç satır benim, olduğunu düşünüyorum Tür Googled kod dün gece, 320 00:14:07,620 --> 00:14:10,120 Stack indi Taşma, kopyalama ve yapıştırılan, 321 00:14:10,120 --> 00:14:13,680 ve ben gerçekten, gerçekten üzgünüm Bu konuda, bana haber ver. 322 00:14:13,680 --> 00:14:16,900 Sadece fester lütfen izin vermeyin ve sadece bunu yakalamak umuyoruz. 323 00:14:16,900 --> 00:14:17,784 Biz onu yakalayacak. 324 00:14:17,784 --> 00:14:18,450 Sadece bana gel. 325 00:14:18,450 --> 00:14:20,520 Bana 72 saat içinde bize bildirin. 326 00:14:20,520 --> 00:14:22,240 Biz bir çözüm anlamaya edeceğiz. 327 00:14:22,240 --> 00:14:26,679 Ve biz atıfta söz veriyorum esasen üniversite yetkilileri. 328 00:14:26,679 --> 00:14:29,220 Bu yüzden senin yararına olduğunu sadece herkes ile dürüst olmak gerekirse 329 00:14:29,220 --> 00:14:31,720 Elbette dahil. 330 00:14:31,720 --> 00:14:34,630 >> TAMAM. 331 00:14:34,630 --> 00:14:35,240 TAMAM. 332 00:14:35,240 --> 00:14:37,800 Yani şimdi, çabuk önce Ben hareket, herkes yapar 333 00:14:37,800 --> 00:14:42,670 lojistik ile ilgili sorularınız varsa nasıl dersler biz çalıştırmak için gidiyoruz, 334 00:14:42,670 --> 00:14:45,982 nasıl bölümler gidiyor , bunların hiçbirini çalıştırmak için? 335 00:14:45,982 --> 00:14:46,711 TAMAM. 336 00:14:46,711 --> 00:14:47,210 Evet. 337 00:14:47,210 --> 00:14:48,126 >> HEDEF KİTLE: [duyulamaz]? 338 00:14:48,126 --> 00:14:50,414 339 00:14:50,414 --> 00:14:51,080 ANDI PENG: Evet. 340 00:14:51,080 --> 00:14:54,850 Peki nasıl bir çoğunuz quizzes-- Pazartesi / Çarşamba bölümünde? 341 00:14:54,850 --> 00:14:56,700 Kaç kişisiniz Salı / Perşembe? 342 00:14:56,700 --> 00:14:58,550 Tamam, bu yüzden burada sağlam bir bölünme var. 343 00:14:58,550 --> 00:15:00,900 Yani biz koşmak yolu Yale'de o biziz 344 00:15:00,900 --> 00:15:04,040 Ayrı iki tane olacak Her section-- için bir quizzes-- bu 345 00:15:04,040 --> 00:15:06,160 Ders sırasında alınacaktır. 346 00:15:06,160 --> 00:15:09,310 Ben, bu Ekim, Ekim sonu olduğunu düşünüyorum Haftanın tek olarak böyle bir şey, 347 00:15:09,310 --> 00:15:10,794 quiz. 348 00:15:10,794 --> 00:15:11,960 Evet, bu yüzden sadece sınıfa gelir. 349 00:15:11,960 --> 00:15:13,920 Pazartesi veya Çarşamba günü, Eğer sınav götüreceğiz. 350 00:15:13,920 --> 00:15:16,336 Salı veya Perşembe günü, Farklı bir sınav götüreceğiz. 351 00:15:16,336 --> 00:15:18,570 Ama aynı malzeme ele alınacaktır. 352 00:15:18,570 --> 00:15:19,160 Evet. 353 00:15:19,160 --> 00:15:20,660 İyi soru. 354 00:15:20,660 --> 00:15:21,160 Evet. 355 00:15:21,160 --> 00:15:23,260 >> HEDEF KİTLE: Nerede biz do Bizim notları kontrol gidilir? 356 00:15:23,260 --> 00:15:23,926 >> ANDI PENG: Evet. 357 00:15:23,926 --> 00:15:28,420 Yani dışarı bir gönderme olacak e-posta ne olursa olsun her hafta 358 00:15:28,420 --> 00:15:31,460 sınavlar graded-- olan veya, üzgünüm, psets sınıflandırılır zaman. 359 00:15:31,460 --> 00:15:34,120 Psets genellikle açılır öğlen veya Cuma tarafından. 360 00:15:34,120 --> 00:15:37,540 Bu yüzden olacak söz veriyorum Size onları geri almaya çalışın 361 00:15:37,540 --> 00:15:40,000 Aşağıdaki Cuma öğlen. 362 00:15:40,000 --> 00:15:44,950 >> Ne zaman ben notu pset, ben göndereceğiz sınıf kitabında bir bildirim dışarı 363 00:15:44,950 --> 00:15:47,070 Bu size puanınızı söyler Online görülebilir. 364 00:15:47,070 --> 00:15:52,022 Yani şu bu hafta, ben sonra Geçen haftaki psets derecelendirilmesi bitirmek 365 00:15:52,022 --> 00:15:54,230 Siz bir e-posta alacaksınız bildirim, sana söylüyorum 366 00:15:54,230 --> 00:15:55,870 hey bu nereye olduğunu notlarınızı görüntülemek için gidin. 367 00:15:55,870 --> 00:15:57,680 Ve her görebilirsiniz senin notların dökümü. 368 00:15:57,680 --> 00:15:58,555 Siz yorum görebilirsiniz. 369 00:15:58,555 --> 00:16:00,360 Ah, hızlı bir şey de. 370 00:16:00,360 --> 00:16:03,060 Büyük de açıklama bölümü Kitap nerede muhtemelen olacak olan 371 00:16:03,060 --> 00:16:05,300 Zaman zaman sınıflandırma çoğunluğu harcamak. 372 00:16:05,300 --> 00:16:07,094 Yani bir şey olduğunu ne zaman gerçekten önemli 373 00:16:07,094 --> 00:16:09,010 Siz bakıyorsunuz Notların senin psets üzerinde 374 00:16:09,010 --> 00:16:11,400 Sadece bakmıyor Fiziksel puanı 375 00:16:11,400 --> 00:16:14,630 ama aynı zamanda zaman ayırdığınız Gerçekten benim yorum okuyun. 376 00:16:14,630 --> 00:16:17,820 >> Genellikle bu geribildirim verir Eğer bir sorununuz çözüyoruz nasıl. 377 00:16:17,820 --> 00:16:20,480 Yapmanız gereken ise biraz daha iyi bir şey, 378 00:16:20,480 --> 00:16:24,080 yapıcı eleştiri genellikle En iyi bu yorumlar bölümünde verilmiştir. 379 00:16:24,080 --> 00:16:26,950 Yani, ben gidiyorum lütfen lütfen Yorum yazmaya vakit geçirmek için. 380 00:16:26,950 --> 00:16:30,440 Ben gerçekten takdir ediyorum lütfen Siz bu yorumları okumak olsaydı. 381 00:16:30,440 --> 00:16:31,170 TAMAM. 382 00:16:31,170 --> 00:16:34,150 Güzel. 383 00:16:34,150 --> 00:16:34,680 >> Pekala. 384 00:16:34,680 --> 00:16:40,680 Yani biz konuşmaya başlamak için gidiyoruz ve sadece hızlı bir şekilde gözden 385 00:16:40,680 --> 00:16:45,040 ürünü bazı hafta konum sadece bu yüzden sıfır 386 00:16:45,040 --> 00:16:48,760 için sağ sayfada Bu haftaki sorunlarını başında. 387 00:16:48,760 --> 00:16:52,600 Yani while döngüsü biridir ilmeklerin üç tip 388 00:16:52,600 --> 00:16:54,510 Biz daha önce bu sınıfta tartıştık. 389 00:16:54,510 --> 00:16:57,060 >> Bir while döngüsü esas sözdizimi yazılmış 390 00:16:57,060 --> 00:17:00,666 burada, belirli bir durum ise, Bu doğru, art arda mı? 391 00:17:00,666 --> 00:17:02,040 Burada bu grafikteki düşünün. 392 00:17:02,040 --> 00:17:04,780 Bir başlayacak gidiyoruz kodunuzu belli bir noktaya. 393 00:17:04,780 --> 00:17:09,030 Sen döngü koşulu girmek için gidiyoruz ve-- I bilebiliyors-- olmayan x bir daha azdır. 394 00:17:09,030 --> 00:17:11,677 >> Eğer bu doğruysa, sen gidiyorsun Döngü gövdesini yürütmek için. 395 00:17:11,677 --> 00:17:14,010 Ve yapmaya devam edeceksin Bir daha, yine, daha 396 00:17:14,010 --> 00:17:17,900 Bir neden üzerinde ve çakışık hangi loop-- durumunuz olana kadar 397 00:17:17,900 --> 00:17:19,079 yanlış. 398 00:17:19,079 --> 00:17:22,140 Bu yolla, bir süre döngü Yani basit yollarından biridir 399 00:17:22,140 --> 00:17:25,619 durumun her türlü yazmak için üzerinde ve tekrar tekrarlamak gerekiyor. 400 00:17:25,619 --> 00:17:28,109 Sadece zaman dikkatli olun Eğer döngü her türlü yazıyoruz 401 00:17:28,109 --> 00:17:32,140 Eğer bir çıkış koşulu olarak sahip olduğu iyi ne olursa olsun bir güncelleştirme gibi 402 00:17:32,140 --> 00:17:36,714 senin döngü sadece değil öyle mi üzerinde ve sonsuz üzerinde çalıştırın. 403 00:17:36,714 --> 00:17:38,630 Herhangi bir durumda, gidiyoruz emin olmak için 404 00:17:38,630 --> 00:17:42,670 Eğer bazı yönlerini değiştirerek konum kodunuzu veya döngünün sonunda 405 00:17:42,670 --> 00:17:46,680 Sadece bir yolu var olduğundan emin olmak için durumun doğru ilerliyor 406 00:17:46,680 --> 00:17:48,400 Eğer sonuna kadar tanışmak istiyorum. 407 00:17:48,400 --> 00:17:50,239 Bu herkese mantıklı mı? 408 00:17:50,239 --> 00:17:52,530 Biz sadece olmak istemiyorum Bu sarmal nerede yakaladı 409 00:17:52,530 --> 00:17:55,710 biz etrafında ve dolaşmak ve döngüyü kırmak için hiçbir yolu yoktur. 410 00:17:55,710 --> 00:17:58,844 Ve her döngü esasen Bu yapmanın bir yolu vardır. 411 00:17:58,844 --> 00:17:59,344 TAMAM. 412 00:17:59,344 --> 00:18:03,030 413 00:18:03,030 --> 00:18:06,060 >> Senin İkincisi, birçok Mario psets içinde 414 00:18:06,060 --> 00:18:08,910 Muhtemelen istihdam etmek zorunda kaldı döngü bu tip. 415 00:18:08,910 --> 00:18:11,802 Bir do-while döngüsünde denir. 416 00:18:11,802 --> 00:18:14,510 Her şeyden önce, herkes bana söyleyebilir ne do arasındaki fark 417 00:18:14,510 --> 00:18:16,586 döngü ve bir süre döngü ise? 418 00:18:16,586 --> 00:18:17,086 Evet. 419 00:18:17,086 --> 00:18:21,030 >> HEDEF KİTLE: döngü sırasında do [duyulamaz] İlk çalışır. 420 00:18:21,030 --> 00:18:22,120 >> ANDI PENG: Evet, kesinlikle. 421 00:18:22,120 --> 00:18:27,130 Yani bir do döngü hep yapar iken ne Parantez içinde do içinde olduğunu 422 00:18:27,130 --> 00:18:30,520 Orada ve o koşul yok Şeyin özür için kontrol etmeden önce, 423 00:18:30,520 --> 00:18:32,940 önce kodu yapar durumu kontrol. 424 00:18:32,940 --> 00:18:37,200 Ve bu bizim için özellikle uygun olduğunu Burada bu sınıfta, çoğu kez, çünkü 425 00:18:37,200 --> 00:18:41,450 Biz soracak istiyorum gidiyoruz girdi çeşit kullanıcı. 426 00:18:41,450 --> 00:18:43,520 Ve sonra, bağlı Bizi vermek girişi, 427 00:18:43,520 --> 00:18:46,150 o zaman, oh yapmak değerlendirebilirsiniz biz onları tekrar soracak gerekiyor? 428 00:18:46,150 --> 00:18:49,930 >> Mario Yani, eğer kullanıcı size verdi negatif yükseklikte, örneğin, 429 00:18:49,930 --> 00:18:52,990 İlk istemine gidiyoruz ve içeride ne yapmak. 430 00:18:52,990 --> 00:18:54,820 Sonra süre kontrol için gidiyoruz. 431 00:18:54,820 --> 00:18:57,570 Bilirsin, 1 negatiftir pozitif bir sayı olduğu? 432 00:18:57,570 --> 00:19:00,680 O değil, ben gidiyorum sırt ve do ve tekrarı tekrar 433 00:19:00,680 --> 00:19:03,950 ve tekrar ve onlar kadar tekrarlayın Sonunda size istediğiniz bir numara vermek, 434 00:19:03,950 --> 00:19:07,002 hepimizin kodunda istihdam edebilirsiniz. 435 00:19:07,002 --> 00:19:09,210 Bu oldukça önemli esas olarak, herhangi bir kullanıcı girişi. 436 00:19:09,210 --> 00:19:11,760 Ben herhangi bir garanti edebilir Bir pset nerede zaman 437 00:19:11,760 --> 00:19:15,070 Biz girmenizi isteyecektir kodun herhangi bir tür, biz konum 438 00:19:15,070 --> 00:19:17,540 Muhtemelen sana vereceğim Biz konum olan bir test durumu 439 00:19:17,540 --> 00:19:21,200 gidiş işte sana kötü bir şey vermek kodunuzu kırmaya çalışacağım. 440 00:19:21,200 --> 00:19:25,044 >> Biz input isteyecektir çalışırsanız tamsayı, biz sadece sana bir dize verebilir 441 00:19:25,044 --> 00:19:26,460 ve bu nasıl ele alabileceğinizi görebilirsiniz. 442 00:19:26,460 --> 00:19:30,610 Biz yaş istihdam etmenizi sorarsanız, size negatif bir sayı verebilir 443 00:19:30,610 --> 00:19:32,340 Bunu nasıl ele alabileceğinizi görebilirsiniz. 444 00:19:32,340 --> 00:19:37,260 Sadece çocuklar için test emin olun olgular hangi iyi alamadım 445 00:19:37,260 --> 00:19:38,590 girişi, diyelim. 446 00:19:38,590 --> 00:19:40,510 Ve döngü sırasında bir do çoğu zaman en iyisi 447 00:19:40,510 --> 00:19:45,260 böylece kodunuzu tasarlamak için bir yol bu kapsam karşıladığını söyledi. 448 00:19:45,260 --> 00:19:45,760 TAMAM. 449 00:19:45,760 --> 00:19:48,930 450 00:19:48,930 --> 00:19:49,470 >> TAMAM. 451 00:19:49,470 --> 00:19:53,270 Yani bu belki de en çok Üç takım karmaşık döngü 452 00:19:53,270 --> 00:19:54,990 biz bugüne kadar baktım. 453 00:19:54,990 --> 00:19:56,689 Ve ilk başta çok korkunç görünüyor. 454 00:19:56,689 --> 00:19:59,730 Ama ben, sana garanti sen guys kez for döngüsü nasıl kullanılacağını asmak olsun, 455 00:19:59,730 --> 00:20:03,320 en kullanışlı şeylerden biri, cephanelik en yararlı araçlar 456 00:20:03,320 --> 00:20:05,300 Bu sınıfta ileriye taşımak için. 457 00:20:05,300 --> 00:20:09,920 >> Yani, örneğin, Scratch içinde, Bu çok basit bir blok vardı 458 00:20:09,920 --> 00:20:13,180 O sadece bu belli tekrarlayın dedi kez belirli sayıda cümleleri. 459 00:20:13,180 --> 00:20:16,260 Bu arada, SAJ-- Bu Scaz Andi Jason var. 460 00:20:16,260 --> 00:20:18,740 Biz çoğu zaman bizim e-postalar Saj imzalamak. 461 00:20:18,740 --> 00:20:20,360 Biz SAJ derseniz, karışık olmayın. 462 00:20:20,360 --> 00:20:22,630 Bu sadece biz varız. 463 00:20:22,630 --> 00:20:28,600 >> Yani Scratch olarak, biz başardık dedi bir blok, ben SAJ seviyorum tekrarlayın! 464 00:20:28,600 --> 00:20:29,430 10 kere. 465 00:20:29,430 --> 00:20:30,130 Çok basit. 466 00:20:30,130 --> 00:20:32,302 Bunun ardındaki mantık, bir çok, çok basit, değil mi? 467 00:20:32,302 --> 00:20:35,260 Ben ilk ilk geçmek istiyorum Zaman ve ikinci zaman görmek 468 00:20:35,260 --> 00:20:38,510 ve benzeri, bu, üçüncü kez bkz ve böylece, kadar 10 çarptı. 469 00:20:38,510 --> 00:20:41,960 >> Ve şekilde biz o temsil edecek Kod sadece bir for döngüsü basit geçer. 470 00:20:41,960 --> 00:20:45,440 Yani, sen beyan gidiyoruz Bu durumda burada değişken, 471 00:20:45,440 --> 00:20:46,349 bir int ile. 472 00:20:46,349 --> 00:20:47,390 Biz bunu i isim gidiyoruz. 473 00:20:47,390 --> 00:20:49,500 Biz 0'a başlatılamıyor gidiyoruz. 474 00:20:49,500 --> 00:20:52,490 Ve durma sürümü Ben olacak 10'dan az olduğunu. 475 00:20:52,490 --> 00:20:54,622 Ve güncelleme i ++ olacak. 476 00:20:54,622 --> 00:20:57,750 >> Ve döngü içinde, gidiyor sonunda onu kadar çalıştırmak için 477 00:20:57,750 --> 00:21:01,490 condition-- sonunu edecek olan durumda, bu döngü kırmaya gidiyor. 478 00:21:01,490 --> 00:21:04,600 Şeyler olmalı size adamlar tür önce gördük 479 00:21:04,600 --> 00:21:07,270 Sorununuz bir set için ve yapmak zorunda. 480 00:21:07,270 --> 00:21:12,310 Herkes herhangi bir sorunuz var mı Şu anda döngüler için ilgili? 481 00:21:12,310 --> 00:21:12,930 TAMAM. 482 00:21:12,930 --> 00:21:13,430 Büyük. 483 00:21:13,430 --> 00:21:17,520 484 00:21:17,520 --> 00:21:18,620 >> TAMAM. 485 00:21:18,620 --> 00:21:22,270 Kim o sizin için öylesine Bu hafta pset spec okumak 486 00:21:22,270 --> 00:21:27,690 Biz istihdam etmek zorunda olacak biliyorum bir şey ASCII ve ASCII tablosu denir. 487 00:21:27,690 --> 00:21:32,380 Böylece Davut konuşmasında kısaca gitti nasıl bilgisayarların essentially-- herşey 488 00:21:32,380 --> 00:21:35,410 bir bilgisayar kodlanmıştır İkili, sıfır ve olanlar. 489 00:21:35,410 --> 00:21:39,740 Ve bilgisayarlar edebiliyoruz yolu ek olarak farklı değerler depolamak için 490 00:21:39,740 --> 00:21:44,360 sıfır ve olanlar haritalama yoluyla vardır bu numaraları diğer rakamları temsil etmek 491 00:21:44,360 --> 00:21:47,220 veya esasen diğer karakterler. 492 00:21:47,220 --> 00:21:49,810 >> Bir bu durumda Yani Tüm öyle table-- ASCII 493 00:21:49,810 --> 00:21:53,600 numaraları harita karakterleri veya karakter vardır. 494 00:21:53,600 --> 00:21:57,385 Kaynak kodu dosyası Yani senin gördüğü computer--, 495 00:21:57,385 --> 00:22:00,010 hey, sıfırlar ve olanları bir demet, sıfır ve olanlar sıfırlar ve olanları. 496 00:22:00,010 --> 00:22:02,350 İşte saklanan ne Bilgisayarınızın gerçek bellek. 497 00:22:02,350 --> 00:22:04,750 >> Ama biz insanlar istediğinizde bilgisayar ile iletişim, 498 00:22:04,750 --> 00:22:08,249 biz, örneğin, demek want--, Ben büyük A istiyorsanız, 499 00:22:08,249 --> 00:22:10,540 Biraz yol gerekir gidiyorum Bilgisayarı söylüyorum, ah, 500 00:22:10,540 --> 00:22:16,300 Ben büyük harf A yazdığınızda, yani İkili bu temsili. 501 00:22:16,300 --> 00:22:22,260 >> Ve böylece biz bunu yolu attı bir keyfi şey bir ASCII tablosu olarak adlandırılan, 502 00:22:22,260 --> 00:22:25,020 nerede, insanlar gibi, olduğu gibi programcılar, bir süre önce, 503 00:22:25,020 --> 00:22:28,660 Biz keyfi biz karar verdi Bu numara atamak için gittiğini 504 00:22:28,660 --> 00:22:30,960 Bu karakter değerler. 505 00:22:30,960 --> 00:22:32,720 >> Yani siz bu online google olabilir. 506 00:22:32,720 --> 00:22:37,120 Ben buna bir link de var bence pset-- sadece bir ASCII tablosu haritası, ASCII 507 00:22:37,120 --> 00:22:37,720 tablo. 508 00:22:37,720 --> 00:22:40,722 Sadece ikili çevirir karakterlere numaralar. 509 00:22:40,722 --> 00:22:42,930 Ve çok olacak Sorun seti için yararlı 510 00:22:42,930 --> 00:22:45,470 İstediğiniz zaman bir şey ya da eğer hesaplamak 511 00:22:45,470 --> 00:22:47,880 Belirli görüntülemek istediğiniz karakter veya tamsayılar 512 00:22:47,880 --> 00:22:50,327 veya bazı karakterler işlemek. 513 00:22:50,327 --> 00:22:52,160 Çok olacak Önemli olduğunu tüm 514 00:22:52,160 --> 00:22:55,140 ASCII tablosu gezinmek için biliyorum. 515 00:22:55,140 --> 00:23:01,260 >> Örneğin, büyük A So sayı 65 ile temsil edilmektedir. 516 00:23:01,260 --> 00:23:04,207 Ve küçük bir 97 ile temsil edilmektedir. 517 00:23:04,207 --> 00:23:07,040 Yani o bilmek önemlidir İki değer arasındaki fark 518 00:23:07,040 --> 00:23:08,320 32 olduğunu. 519 00:23:08,320 --> 00:23:13,210 Çoğu kez, sen dönüştürmek için gerekirse Diğer bir fark 32'dir. 520 00:23:13,210 --> 00:23:15,710 Ne tür iseniz üzülmeyin ilk başta bu konuda karışık. 521 00:23:15,710 --> 00:23:20,230 Biz nasıl olur üzerinden gidersiniz Gerçek kod bu işe. 522 00:23:20,230 --> 00:23:24,700 523 00:23:24,700 --> 00:23:26,380 >> TAMAM. 524 00:23:26,380 --> 00:23:30,770 Dışarı dizüstü bilgisayarlar o sizin için öylesine ASCII tablosu yukarı çekin çekinmeyin, 525 00:23:30,770 --> 00:23:36,030 Bu muhtemelen olacaktır, çünkü Siz başvuru gerektirir 526 00:23:36,030 --> 00:23:38,100 karakterler nelerdir. 527 00:23:38,100 --> 00:23:38,640 TAMAM. 528 00:23:38,640 --> 00:23:42,840 >> Böylece belli bilerek karakterleri, belirli numaralara Haritayı 529 00:23:42,840 --> 00:23:47,240 Ben sadece ilk çalıştırmak olsaydı Bu hat, printf a code-- 530 00:23:47,240 --> 00:23:50,900 Bir, eksi küçük harfe Büyük A. kimseye mu 531 00:23:50,900 --> 00:23:55,880 ne olacağı konusunda bir tahmin var Şu anda ekrandan dışarı yazdırmak? 532 00:23:55,880 --> 00:23:58,190 >> Her Yani ilk ne yapar Bir temsil küçük harfe? 533 00:23:58,190 --> 00:24:00,990 Ne sayı olduğunu ASCII tablosundaki şifrelenmiş. 534 00:24:00,990 --> 00:24:01,490 Maalesef? 535 00:24:01,490 --> 00:24:02,630 >> HEDEF KİTLE: 97? 536 00:24:02,630 --> 00:24:03,630 >> ANDI PENG: 97, harika. 537 00:24:03,630 --> 00:24:05,077 Ve büyük bir nedir? 538 00:24:05,077 --> 00:24:06,330 >> HEDEF KİTLE: 65. 539 00:24:06,330 --> 00:24:08,255 >> ANDI PENG: Yani 97 eksi 65 nedir? 540 00:24:08,255 --> 00:24:09,227 >> HEDEF KİTLE: 32. 541 00:24:09,227 --> 00:24:09,810 ANDI PENG: Tamam. 542 00:24:09,810 --> 00:24:13,530 Yani gidiyor beyler ne düşünüyorsun ne zaman girdi gerçekleştiğini kod satırı 543 00:24:13,530 --> 00:24:14,670 benim bilgisayar içine? 544 00:24:14,670 --> 00:24:17,981 545 00:24:17,981 --> 00:24:19,896 >> HEDEF KİTLE: [duyulamaz]. 546 00:24:19,896 --> 00:24:21,020 ANDI PENG: Üzgünüm, yukarı konuşuyoruz. 547 00:24:21,020 --> 00:24:22,520 Endişe etme. 548 00:24:22,520 --> 00:24:25,750 Bu çok güvenli Çevre, eksi kamera. 549 00:24:25,750 --> 00:24:27,550 Hepimiz hiçbir endişe ki-- gidiyoruz. 550 00:24:27,550 --> 00:24:30,940 Sadece biz gibi davranmak için gidiyoruz Sadece bize bu odada serinliyor. 551 00:24:30,940 --> 00:24:31,480 Endişe etme. 552 00:24:31,480 --> 00:24:33,410 Hiçbir soru çok aptalca. 553 00:24:33,410 --> 00:24:35,300 Cevap yok aptal cevaptır. 554 00:24:35,300 --> 00:24:38,260 Herhalde hata yapmak için gidiyorum Benim öğretim sürecinde. 555 00:24:38,260 --> 00:24:40,740 Cidden, çocuklar, sadece yumurtlamak. 556 00:24:40,740 --> 00:24:43,092 Kendinize güvenin, biliyor musun? 557 00:24:43,092 --> 00:24:43,800 Yani neydi? 558 00:24:43,800 --> 00:24:47,990 Kim bu son cevabı söyledi? 559 00:24:47,990 --> 00:24:48,540 TAMAM. 560 00:24:48,540 --> 00:24:50,380 Bu güzel ve net bağırmak. 561 00:24:50,380 --> 00:24:51,220 >> HEDEF KİTLE: 32? 562 00:24:51,220 --> 00:24:51,850 >> ANDI PENG: 32. 563 00:24:51,850 --> 00:24:54,141 Tamam, bu kodu çalışmasına izin ve Bu ne olmadığını görmek. 564 00:24:54,141 --> 00:25:00,260 565 00:25:00,260 --> 00:25:00,760 TAMAM. 566 00:25:00,760 --> 00:25:03,300 567 00:25:03,300 --> 00:25:06,360 Yani olarak siz yapabilirsiniz tür Ben ettik tipik gösterimini görmek için 568 00:25:06,360 --> 00:25:12,250 Biz istihdam nasıl burada kurmak Bizim bilgisayarda programın herhangi bir tür. 569 00:25:12,250 --> 00:25:14,770 Bizim ana işlevi var Bizim ana işlevi içinde. 570 00:25:14,770 --> 00:25:17,265 Ben sadece kopya gidiyorum ve Bu kod satırı yapıştırın. 571 00:25:17,265 --> 00:25:21,082 572 00:25:21,082 --> 00:25:23,540 Ne zaman çocuklar da dikkatli olun kopyalama ve kod yapıştırırken. 573 00:25:23,540 --> 00:25:28,750 Bazen bazı operatörler Doğru üzerine yapıştırın yok. 574 00:25:28,750 --> 00:25:31,397 Bu durumda, eksi işareti aslında bir çizgi oldu. 575 00:25:31,397 --> 00:25:32,980 Ve böylece bilgisayarınız açmadı. 576 00:25:32,980 --> 00:25:35,870 Bu yüzden geri dönmek zorunda kaldı ve fiziksel olarak yeniden yazın. 577 00:25:35,870 --> 00:25:37,846 Sadece dikkatli olun Sizler bunu yapıyor. 578 00:25:37,846 --> 00:25:41,178 579 00:25:41,178 --> 00:25:42,660 >> TAMAM. 580 00:25:42,660 --> 00:25:43,980 Biz burada bu çalıştırmak için gidiyoruz. 581 00:25:43,980 --> 00:25:45,670 Bu yüzden bizim section2 içine cd gidiyoruz. 582 00:25:45,670 --> 00:25:50,470 583 00:25:50,470 --> 00:25:52,030 Ben bu programın asciimath aradım. 584 00:25:52,030 --> 00:25:55,690 Biz herhangi çalıştırdığınızda Yani, hatırlıyorum Program, ilk derlemek istiyorum 585 00:25:55,690 --> 00:25:57,150 Bizim yapmak aracılığıyla çalıştırarak. 586 00:25:57,150 --> 00:26:00,030 Ve sonra biz aslında çalıştırmak istediğiniz nokta-çizgi yaparak programı. 587 00:26:00,030 --> 00:26:01,280 Yani biz ./asciimath gidiyoruz. 588 00:26:01,280 --> 00:26:05,780 589 00:26:05,780 --> 00:26:06,590 >> Doğru, oraya gidiyoruz. 590 00:26:06,590 --> 00:26:07,410 Ve biz 32 bkz. 591 00:26:07,410 --> 00:26:07,930 Aferin. 592 00:26:07,930 --> 00:26:10,340 Sen şeker bir parça hak ediyor. 593 00:26:10,340 --> 00:26:11,160 Sizin için Candy. 594 00:26:11,160 --> 00:26:11,900 Özür dilerim. 595 00:26:11,900 --> 00:26:13,100 Pekala. 596 00:26:13,100 --> 00:26:13,670 TAMAM. 597 00:26:13,670 --> 00:26:18,070 Yani biz buraya geri Bizim örneğimizde gidebilirsiniz. 598 00:26:18,070 --> 00:26:23,530 599 00:26:23,530 --> 00:26:24,345 Hayır, 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 TAMAM. 603 00:26:32,490 --> 00:26:34,610 Ben sadece böyle tutmak için gidiyorum. 604 00:26:34,610 --> 00:26:48,520 605 00:26:48,520 --> 00:26:51,240 TAMAM. 606 00:26:51,240 --> 00:26:51,740 TAMAM. 607 00:26:51,740 --> 00:26:55,340 Siz gördüğünüz gibi, biz yapabiliriz çok ilginç şeyler çok, 608 00:26:55,340 --> 00:26:58,880 çok serin bir çok şey, bir sürü içeren çok karmaşık şeyler 609 00:26:58,880 --> 00:27:02,720 ASCII karakterleri ve rakamlar. 610 00:27:02,720 --> 00:27:05,890 Eğer beş satır aşağı almak sonra, Bu birlikte takip etmek bir çok şey. 611 00:27:05,890 --> 00:27:07,640 Biz gitmek için gidiyoruz değil bölümünden. 612 00:27:07,640 --> 00:27:10,720 Eğer yapabilirsen, çekinmeyin, kağıt üzerine dışarı muhakeme 613 00:27:10,720 --> 00:27:14,750 İlk ne zaman ne oluyor gerektiğini üzerinde değerlerin giriş böyle bir dize. 614 00:27:14,750 --> 00:27:19,720 Örneğin, bu son satırda, biz z-- belirli number-- temsil eder 615 00:27:19,720 --> 00:27:24,740 bir-- da temsil eden bir Belirli number-- artı 1 MODULOS 26 616 00:27:24,740 --> 00:27:26,750 artı bir küçük harfe. 617 00:27:26,750 --> 00:27:29,220 >> Siz okumaya devam ederse Bu yoluyla, sizi 618 00:27:29,220 --> 00:27:34,009 Bir desen gelip görebilirsiniz nasıl kod manipüle ediyoruz. 619 00:27:34,009 --> 00:27:36,050 Ben çok, çok önermek sizin bölüm sonuçta 620 00:27:36,050 --> 00:27:38,160 adamlar önde ve giriş gitmek Bilgisayarınızda o tüm 621 00:27:38,160 --> 00:27:40,060 ve ne tür görmek sayılar dışarı geliyor 622 00:27:40,060 --> 00:27:43,090 ve bu yüzden ile akıl çünkü psets için, oluyor 623 00:27:43,090 --> 00:27:45,060 Gerçekten önemli olacak anlaman için 624 00:27:45,060 --> 00:27:47,132 Neden bazı şeyler oluyor. 625 00:27:47,132 --> 00:27:48,590 Bu slaytlar Tüm online olacak. 626 00:27:48,590 --> 00:27:51,510 Için çalışıyor bu yüzden hiçbir endişe fiziksel notlar kopyalayın. 627 00:27:51,510 --> 00:27:52,510 Her şey çevrimiçi. 628 00:27:52,510 --> 00:27:54,050 Bu bölümde kendisi online olacak. 629 00:27:54,050 --> 00:27:57,500 Bütün kaynak kodu o Ben online olacak koşuyorum. 630 00:27:57,500 --> 00:27:58,180 Evet. 631 00:27:58,180 --> 00:27:59,430 Eğer hala bir soru var mıydı? 632 00:27:59,430 --> 00:28:00,587 HEDEF KİTLE: MODULOS nedir? 633 00:28:00,587 --> 00:28:01,170 ANDI PENG: Tamam. 634 00:28:01,170 --> 00:28:05,620 Yani modülo gidiyor bir operatör olduğunu senin adamların en pset oldukça önemli 635 00:28:05,620 --> 00:28:06,690 İşte. 636 00:28:06,690 --> 00:28:12,280 Yani operatörler yolu C ve programlama çalışmalarında 637 00:28:12,280 --> 00:28:16,360 Eğer denen olması bölünme sembolü ve modül sembolü, 638 00:28:16,360 --> 00:28:18,350 hangi sadece yüzde işareti gibidir. 639 00:28:18,350 --> 00:28:24,840 >> C, Yani bir tamsayı yaptığınızda Bir çizgi ile bir tamsayı bölünmesiyle, 640 00:28:24,840 --> 00:28:27,720 C kesmek isteyen bir eğilim var ondalık noktaları tüm kapalı, 641 00:28:27,720 --> 00:28:30,290 bir tamsayı istiyor çünkü bir tamsayı dönüştürmek için. 642 00:28:30,290 --> 00:28:33,550 Bir çift olmak istiyorum gitmiyor Tüm kendisinden sonra ondalık bir demet. 643 00:28:33,550 --> 00:28:39,322 >> Ben 2 bölü 3 yapmak eğer öyleyse, o gidiyor 0.5 kesti ve sadece seni 1 vermek. 644 00:28:39,322 --> 00:28:41,530 Bu bir şey yani olması sen ne zaman çok dikkatli 645 00:28:41,530 --> 00:28:45,294 programlama matematik her türlü yapıyor, sayılar olsun ki 646 00:28:45,294 --> 00:28:47,210 sayılar olmayabilir Eğer düşündükleri, 647 00:28:47,210 --> 00:28:50,190 hangi nedenle yuvarlama aşağıdadır Son pset çok önemlidir. 648 00:28:50,190 --> 00:28:51,980 >> Modulo size kalanı verir. 649 00:28:51,980 --> 00:28:56,200 Ben 3 yaptım, örneğin, eğer öyleyse Modulo 2-- yani yüzde 3 işareti 2-- 650 00:28:56,200 --> 00:28:58,020 bu size o kalanını verecekti. 651 00:28:58,020 --> 00:29:00,460 Yani 3 bölü 2 1.5 olduğunu. 652 00:29:00,460 --> 00:29:01,410 Bu 1 1 kalan var. 653 00:29:01,410 --> 00:29:04,600 Size 1, verecek olan Bunun kalandır. 654 00:29:04,600 --> 00:29:07,361 >> Yani siz hareket ederken ASCII tablosu aracılığıyla, 655 00:29:07,361 --> 00:29:09,735 Modulo olmanın sona erecek çok önemli bir şey, 656 00:29:09,735 --> 00:29:11,240 ve biz bu daha sonra ele alacağız. 657 00:29:11,240 --> 00:29:17,750 658 00:29:17,750 --> 00:29:19,040 >> TAMAM. 659 00:29:19,040 --> 00:29:27,300 Çok güzel bir şey, oldukça yeni ve oldukça benzersiz 660 00:29:27,300 --> 00:29:31,920 Bu hafta olduğu tartışılan ettik bir dizi nedir kavramı. 661 00:29:31,920 --> 00:29:34,370 Yani dizi ilk veri yapısının türü 662 00:29:34,370 --> 00:29:36,320 Biz gidiyoruz Bu sınıfta karşılaşırlar. 663 00:29:36,320 --> 00:29:40,010 Tüm veri yapısıdır olduğunu keyfi çeşit, 664 00:29:40,010 --> 00:29:43,370 yapısı gibi tam anlamıyla şeyler Biz programcılar oluşturduk olarak o, 665 00:29:43,370 --> 00:29:47,890 Bizim kod koyduk o kodun diğer parçalarını içerebilir. 666 00:29:47,890 --> 00:29:51,090 >> Bu anlamda, bir array-- yüzden Bir dosya kabine gibi düşün, 667 00:29:51,090 --> 00:29:53,470 Farklı açarsanız nerede Dosya dolabının rafları, 668 00:29:53,470 --> 00:29:55,630 Eğer farklı şeyler erişebilirsiniz. 669 00:29:55,630 --> 00:29:58,630 Anısına, bir dizi sadece yapıyor Bilgisayarınızda aynı şey. 670 00:29:58,630 --> 00:30:01,730 Farklı blocks-- biz olabilir Bir dizinin indices-- onları arayın. 671 00:30:01,730 --> 00:30:04,210 Bu, sadece bir blok gibi belleğin bir raf 672 00:30:04,210 --> 00:30:07,580 Biz içinde oluşturulan ettik senin Bilgisayar giriş yapabilirsiniz 673 00:30:07,580 --> 00:30:10,270 Farklı mekanlarda bazı şeyler. 674 00:30:10,270 --> 00:30:18,000 >> Bir dizi ile Yani, Her zaman specify-- zorunda 675 00:30:18,000 --> 00:30:22,360 Eğer bir ilan belirtmek zorunda aşağıdaki biçimde dizisi. 676 00:30:22,360 --> 00:30:24,290 Önce gidiyoruz veri türünü belirlemek 677 00:30:24,290 --> 00:30:25,831 Eğer dizinin oluşturmak istediğinizi. 678 00:30:25,831 --> 00:30:28,870 Ben tamsayılar dizisi istiyorsanız, Ben orada int koyacaktım. 679 00:30:28,870 --> 00:30:32,079 Ben dize dizisi istiyorsanız, Ben, orada dizeleri koymak için gidiyorum 680 00:30:32,079 --> 00:30:34,995 senin dizinin adını ve sonra Eğer köşeli parantez için gidiyoruz. 681 00:30:34,995 --> 00:30:39,580 Ve köşeli parantez içinde, sen senin dizinin boyutu var olacak. 682 00:30:39,580 --> 00:30:42,900 >> Için çok önemli bir şey diziler oluşturarak zaman akılda tutmak 683 00:30:42,900 --> 00:30:46,530 Bir oluşturduktan sonra, bu Dizi, o boyut değiştiremezsiniz. 684 00:30:46,530 --> 00:30:50,180 Bildiğiniz Yani şimdi o Eğer, büyüklüğü 10 bir dizi var 685 00:30:50,180 --> 00:30:54,550 Eğer ben 10 hücre için gidiyorum biliyorum Bu dizi içinde endeksleri içinde veya 10, 686 00:30:54,550 --> 00:30:56,830 ve gidiyor asla genişletmek veya azaltmak için 687 00:30:56,830 --> 00:30:59,850 olursa olsun orada ne ve bu alan şu anda sadece 10 blok 688 00:30:59,850 --> 00:31:04,490 saklayabilirsiniz bellekte ayrılan Eğer koyduk ne kadar 10 şey. 689 00:31:04,490 --> 00:31:08,790 >> Yani bu şekilde, bir dizi veri türü, bir dizidir veri yapısı 690 00:31:08,790 --> 00:31:13,392 yaparız bazıları diğerlerinden çok farklı Bu derste daha sonra kaplama olabilir. 691 00:31:13,392 --> 00:31:15,170 Evet. 692 00:31:15,170 --> 00:31:20,080 Örneğin, eğer istedi büyüklüğü 3 bir dizi oluşturmak 693 00:31:20,080 --> 00:31:23,670 integer-- içeriyordu değişkenler ah, özür dilerim, temperature-- arasında 694 00:31:23,670 --> 00:31:25,640 ve sıcaklık, bir Tabii ki, bir tam sayıdır. 695 00:31:25,640 --> 00:31:28,710 >> Bu yüzden, hangi int yaratacak Biz saklamak istediğiniz veri türü. 696 00:31:28,710 --> 00:31:32,680 Biz bu sıcaklıklar diyeceğiz adlandırma adlandırılması uğruna 697 00:31:32,680 --> 00:31:34,200 Hepimizin anlıyorum bir şey. 698 00:31:34,200 --> 00:31:35,900 Ve biz köşeli parantez zorunda gidiyoruz. 699 00:31:35,900 --> 00:31:37,200 Ve biz üç sayı istiyoruz. 700 00:31:37,200 --> 00:31:39,000 Yani biz koymak için gidiyoruz bunun içinde üç. 701 00:31:39,000 --> 00:31:41,041 >> Gerçekten bir şey Akılda tutulması gereken önemli 702 00:31:41,041 --> 00:31:43,530 diziler sıfır endeksli olmasıdır. 703 00:31:43,530 --> 00:31:46,410 Demek ki hepsi senin olduğunu 0 indeksi ile başlar, 704 00:31:46,410 --> 00:31:49,800 ve içinden koşmak 1 eksi dizinin boyutu. 705 00:31:49,800 --> 00:31:52,730 Yani burada, örneğin, biz büyüklüğü 3 bir dizi var. 706 00:31:52,730 --> 00:31:54,680 Bu mümkün olacak üç değer tutun. 707 00:31:54,680 --> 00:31:57,450 Ama sayılar themselves-- sayı, dizi, bu indeks, 708 00:31:57,450 --> 00:32:00,271 Dizi, 2. 0 ile vardır. 709 00:32:00,271 --> 00:32:03,520 Yani adamlar, ne zaman gerçekten dikkatli olmak set senin sorunlarına üzerinden gidiyoruz 710 00:32:03,520 --> 00:32:06,500 ve dizinin her türlü oluştururken, çünkü bu kez bir sürü 711 00:32:06,500 --> 00:32:08,490 Gerçekten, gerçekten çok kolay unutmak. 712 00:32:08,490 --> 00:32:11,840 Aslında indeksi yok 3, ben şu anda sadece 713 00:32:11,840 --> 00:32:13,130 2 indekse sahiptir. 714 00:32:13,130 --> 00:32:16,046 Ve sen denerseniz Üçüncü endeksi erişmek, 715 00:32:16,046 --> 00:32:18,170 o ne olacak boş sonlandırıcı aradı. 716 00:32:18,170 --> 00:32:19,990 Aslında gitmiyor dizide mevcuttur. 717 00:32:19,990 --> 00:32:21,781 Ve bilgisayar böyle gitmiyor. 718 00:32:21,781 --> 00:32:24,570 Peki ne zaman dikkatli olun Sadece bir şeyler erişiyorsunuz 719 00:32:24,570 --> 00:32:28,070 Hatırlarsanız sağlamak diziler olduğunu sıfır endeksli. 720 00:32:28,070 --> 00:32:28,880 >> TAMAM. 721 00:32:28,880 --> 00:32:34,030 Yani ilk örnek adildir bir dizi yaratmanın bir yolu. 722 00:32:34,030 --> 00:32:36,790 Ben ikinci örnek Aşağıda sadece ayrı bir yoludur 723 00:32:36,790 --> 00:32:40,210 yaratma aynı veri nedir biz sadece Girilen ettik yapısı. 724 00:32:40,210 --> 00:32:44,347 Bunun yerine fiziksel olarak çalışan boyunca ve 0 sıcaklığında koyarak 725 00:32:44,347 --> 00:32:47,180 ne olursa olsun eşittir, sıcaklık 1 ne olursa olsun, sıcaklık 2 eşittir eşittir 726 00:32:47,180 --> 00:32:50,950 neyse, ben sadece gerçekten olabilir doğrudan bir satırda tüm oluşturmak 727 00:32:50,950 --> 00:32:53,010 Sıcaklık köşeli parantez içine eşittir. 728 00:32:53,010 --> 00:32:56,536 >> Ve bu durumda haber, sana ihtiyacım yok diziniz ne kadar büyük belirtmek için, 729 00:32:56,536 --> 00:32:59,160 Bilgisayar gidiyor çünkü geçmesi ve orada olduğunu görmek 730 00:32:59,160 --> 00:33:01,570 Bu küme parantezi üç unsur. 731 00:33:01,570 --> 00:33:04,000 Ve bu, tamam, biliyorum gidiyor Ben boyutta 3 bir dizi gerekir. 732 00:33:04,000 --> 00:33:07,440 Sen gerek gitmiyorsun Giriş o şu şekilde. 733 00:33:07,440 --> 00:33:10,170 >> Ve aynı zamanda, evet, bu şekilde. 734 00:33:10,170 --> 00:33:12,610 Herkes soruları var mı Biz diziler yapmak nasıl dair 735 00:33:12,610 --> 00:33:17,391 veya bir dizi yapısının nasıl çalıştığını? 736 00:33:17,391 --> 00:33:17,890 Evet. 737 00:33:17,890 --> 00:33:18,806 >> HEDEF KİTLE: [duyulamaz]? 738 00:33:18,806 --> 00:33:21,649 739 00:33:21,649 --> 00:33:22,690 ANDI PENG: Evet, kesinlikle. 740 00:33:22,690 --> 00:33:26,150 Yani beyan ve başlatmak için olsaydı Bir dizi aşağıdaki yöntemi, 741 00:33:26,150 --> 00:33:28,477 hangi ikinci yoludur, Sadece o bırakabilirsiniz. 742 00:33:28,477 --> 00:33:30,310 Ve bilgisayar otomatik olarak biliyor 743 00:33:30,310 --> 00:33:33,950 Kaç elemanları saymak gerekiyor Bu küme ayracı, ayrılır 744 00:33:33,950 --> 00:33:34,930 virgül ile. 745 00:33:34,930 --> 00:33:37,517 >> Yani burada onlar 65, 87, 30 bkz. 746 00:33:37,517 --> 00:33:39,600 Yani bilgisayar, oh, bilir Üç tamsayı var. 747 00:33:39,600 --> 00:33:45,960 Bir dizi adı oluşturmak için biliyorum İçinde üç unsur ile sıcaklık. 748 00:33:45,960 --> 00:33:46,590 İyi soru. 749 00:33:46,590 --> 00:33:47,090 Evet. 750 00:33:47,090 --> 00:33:51,590 >> HEDEF KİTLE: Mümkün oluşturmak değil mi farklı veri tipleri ile bir dizi 751 00:33:51,590 --> 00:33:53,021 bunun girmiş olabilir? 752 00:33:53,021 --> 00:33:56,746 Örneğin, tamsayılar ile [duyulamaz]? 753 00:33:56,746 --> 00:33:59,120 ANDI'nin PENG: amacıyla Bu sınıfın, hayır, şimdi. 754 00:33:59,120 --> 00:34:03,070 Bir veri oluşturmak zaman Bir dizi gibi yapı, 755 00:34:03,070 --> 00:34:04,990 Eğer söylüyorsun Bilgisayar, hey, sana ihtiyacım var 756 00:34:04,990 --> 00:34:08,159 Bu kadar tahsis etmek benim sabit disk hafıza, 757 00:34:08,159 --> 00:34:10,690 her hücre bir olmak bit belirli sayıda. 758 00:34:10,690 --> 00:34:13,429 >> Biz hafta öğrenilen hatırla sıfır farklı veri 759 00:34:13,429 --> 00:34:15,300 türleri farklı boyutları vardır? 760 00:34:15,300 --> 00:34:17,630 Örneğin, bir dize So Farklı bir miktardır 761 00:34:17,630 --> 00:34:20,719 char daha alan hangi alan farklı bir miktardır 762 00:34:20,719 --> 00:34:21,830 Bir tamsayı. 763 00:34:21,830 --> 00:34:25,534 Ve böylece sizin belirlediğiniz ve yoksa mix ve değişkenlerin ne tür maç 764 00:34:25,534 --> 00:34:27,659 Eğer bilgisayarınızın var gidiş çok karıştı olmak. 765 00:34:27,659 --> 00:34:29,950 Ve bunu bilmek için gitmiyor ne kadar bellek vermek için. 766 00:34:29,950 --> 00:34:32,480 Sağ amaçları için çok Şimdi, bilgisayarlar yapabilirsiniz sadece 767 00:34:32,480 --> 00:34:36,120 Bir dizinin bir tür tanır. 768 00:34:36,120 --> 00:34:37,940 İyi soru. 769 00:34:37,940 --> 00:34:38,440 TAMAM. 770 00:34:38,440 --> 00:34:45,179 771 00:34:45,179 --> 00:34:47,120 >> Bu yüzden doğal olarak, Elimizdeki ikinci soru 772 00:34:47,120 --> 00:34:50,760 biz yarattık şimdi, iyi, dizi ve biz tüm bunları koyduk 773 00:34:50,760 --> 00:34:54,190 Dizideki nasıl Biz kimiz erişmek için mümkün olacak? 774 00:34:54,190 --> 00:34:59,710 Tipik yapı Böylece biz her zaman bir dizi erişmek için döngü bizim güzel. 775 00:34:59,710 --> 00:35:03,830 Biz olacağım Seni çocuklar söz Burada bu adama bir sürü görüyorum. 776 00:35:03,830 --> 00:35:06,470 >> Esasen, her zaman istediğiniz girişine bir diziye değerleri 777 00:35:06,470 --> 00:35:09,940 ya da onları erişmek istediğiniz, Bunu yapmak için en iyi yolu, bir for döngüsü olduğunu 778 00:35:09,940 --> 00:35:13,730 çünkü döngü için de, sen sen kaç kere bilmek 779 00:35:13,730 --> 00:35:17,290 dizi üzerinden çalıştırmak istediğiniz olacak, Bir durak baskı var çünkü, değil mi? 780 00:35:17,290 --> 00:35:19,680 Ve her zaman çalıştırmak aracılığıyla, sen erişebilirsiniz 781 00:35:19,680 --> 00:35:21,310 Dizinin başka bir öğesi. 782 00:35:21,310 --> 00:35:26,920 >> Ve ayrıca, bu bir nedeni genellikle Biz 0 değerde döngüler için bizim başlangıç 783 00:35:26,920 --> 00:35:30,080 Eğer diziler eriştiğinizde, çünkü sıfır endeksi erişebilirsiniz. 784 00:35:30,080 --> 00:35:32,070 Ve bu yüzden çok güzel paraleldir. 785 00:35:32,070 --> 00:35:35,295 Siz istedi olabilir Ben 1 eşittir int için yazıyorum. 786 00:35:35,295 --> 00:35:37,330 i daha az ya da 3'e eşittir. 787 00:35:37,330 --> 00:35:39,890 >> Ama bu oldukça işe yaramaz burada, çünkü sen sadece 788 00:35:39,890 --> 00:35:42,010 0, 1, ve 2 unsurları vardır. 789 00:35:42,010 --> 00:35:45,815 Ve böylece başlatmak için olsaydı daki elemanı 1, 2 i ve 3, 790 00:35:45,815 --> 00:35:48,440 Çalıştırdığınız sonuna kadar gidiyoruz senin dizi sınırlarının dışına, 791 00:35:48,440 --> 00:35:50,440 ve kötü şeyler olacak. 792 00:35:50,440 --> 00:35:54,480 >> Yani siz segue görmek umut ve neden daha önceki sınıflarda 793 00:35:54,480 --> 00:35:58,560 Biz nasıl çalıştırmak için sizi öğretim ve döngü için biz yolu bir biçimlendirmek. 794 00:35:58,560 --> 00:36:01,900 Şimdi biz ettik, çünkü var diziler içine geçiş, 795 00:36:01,900 --> 00:36:06,760 neden 0 ödünç görebilirsiniz kendisi çok güzel erişimde. 796 00:36:06,760 --> 00:36:09,880 >> Bu yüzden bunu yolu ben ki- olduğunu Sadece uğruna burada yazdırarak 797 00:36:09,880 --> 00:36:10,830 yazdırmanın. 798 00:36:10,830 --> 00:36:13,750 Ama benim tutucudur, virgül var. 799 00:36:13,750 --> 00:36:15,645 Ve gerçek erişen parçası oluyor. 800 00:36:15,645 --> 00:36:17,520 Dizinin adı Sıcaklık denirdi. 801 00:36:17,520 --> 00:36:21,570 Yani sıcaklık ve var Dizinin i'nci elementi. 802 00:36:21,570 --> 00:36:24,400 >> For döngüsü geçiyor Yani, 0'a başlamak için gidiyor. 803 00:36:24,400 --> 00:36:27,640 Bu yazdırmak için gidiyor Bu dizinin 0 indeksi. 804 00:36:27,640 --> 00:36:29,599 Sonra yazdırmak için gidiyor İlk elemanın dışında. 805 00:36:29,599 --> 00:36:31,431 Sonra yazdırmak için gidiyor İkinci bir dışarı. 806 00:36:31,431 --> 00:36:32,880 Ve sonra biz kırmaya gidiyoruz. 807 00:36:32,880 --> 00:36:36,718 Herkes açık mı Bu nasıl oluyor? 808 00:36:36,718 --> 00:36:37,217 Büyük. 809 00:36:37,217 --> 00:36:43,230 810 00:36:43,230 --> 00:36:44,100 >> Pekala. 811 00:36:44,100 --> 00:36:47,270 Yani burada biz bir yolunu bir var biz istemiyordu söyleyerek 812 00:36:47,270 --> 00:36:50,020 Sert-kod programcı olarak beni açmayız. 813 00:36:50,020 --> 00:36:53,320 Aslında fiziksel istemiyordu Her bireyin eleman koymak 814 00:36:53,320 --> 00:36:54,020 Bu dizinin. 815 00:36:54,020 --> 00:36:56,500 Bunun yerine isteseydim , kullanıcı giriş değerleri 816 00:36:56,500 --> 00:36:58,100 Bunu yapmanın en iyi yolu nedir? 817 00:36:58,100 --> 00:37:00,920 >> Peki, burada oluşturduk bu güzel işlevi, 818 00:37:00,920 --> 00:37:03,560 İçinde bir dizi bildirebilirsiniz. 819 00:37:03,560 --> 00:37:06,210 Haydi scores-- Yani int sadece biz yapmak istiyorum demek 820 00:37:06,210 --> 00:37:10,660 18 notlarının düzenlenen bir dizi Burada bu bölümde öğrencilerin. 821 00:37:10,660 --> 00:37:12,670 Sanırım biraz buldum fazla 18 çocuk bugün. 822 00:37:12,670 --> 00:37:16,460 Ama örneğin aşkına, Sadece biz 18 vardı varsayalım. 823 00:37:16,460 --> 00:37:21,580 Ben bir dizi ismi puanları yaratacak türü int, puanları, çünkü tabii ki, 824 00:37:21,580 --> 00:37:22,987 sayılardır. 825 00:37:22,987 --> 00:37:24,820 Ve ben gidiyorum Köşeli parantez içinde 18 826 00:37:24,820 --> 00:37:29,900 çünkü o kadar çok sayıda öğrenci I puanları depolamak mümkün olmak istiyorum. 827 00:37:29,900 --> 00:37:32,206 >> Ve yolu ben doldurmak istiyorum dizi Ben isterdim ki 828 00:37:32,206 --> 00:37:35,572 , bir döngü için bir ile çalıştırın Tabii, 0 benim 0 endeks olmak. 829 00:37:35,572 --> 00:37:38,030 Ve sonra 18 olmak benim var çünkü, baskı durdurma 830 00:37:38,030 --> 00:37:39,690 Dizideki 18 elemanları. 831 00:37:39,690 --> 00:37:44,620 Ve sonra printf yapacağım girin student-- yada yada yada adına skoru. 832 00:37:44,620 --> 00:37:51,171 >> Herkes ben neden burada bana söyleyebilir Ben artı 1 yazdırıp değil? 833 00:37:51,171 --> 00:37:52,920 Bir numara tür soru değil aslında. 834 00:37:52,920 --> 00:37:56,020 Aslında fiziksel olarak değil kodun çalışmasını etkiler. 835 00:37:56,020 --> 00:37:56,520 Evet. 836 00:37:56,520 --> 00:37:57,909 >> HEDEF KİTLE: [duyulamaz] 0? 837 00:37:57,909 --> 00:37:58,950 ANDI PENG: Evet, kesinlikle. 838 00:37:58,950 --> 00:38:02,620 O, hey söylemek biraz garip, Bu sınıftaki 0 ​​öğrencisin. 839 00:38:02,620 --> 00:38:03,780 Bu biraz garip. 840 00:38:03,780 --> 00:38:08,340 Bize Yani, insan olarak, gerçekten sevmiyorum Bilgisayarlar nasıl düşündüğünü düşünmek. 841 00:38:08,340 --> 00:38:10,930 Bu yüzden bile olsa Bilgisayar, bu değerleri saklamak oluyor 842 00:38:10,930 --> 00:38:13,310 0-th endeksi, içinde Biz insanları değil, biz gerçekten yok 843 00:38:13,310 --> 00:38:15,520 sıfır kendimize başvurmak istiyorum. 844 00:38:15,520 --> 00:38:18,119 Yani sadece o yazdırırken, Ben baskı ve eklemek için gidiyorum 845 00:38:18,119 --> 00:38:19,410 Sadece netlik uğruna 1. 846 00:38:19,410 --> 00:38:22,447 Ben yazdırırken Yani, ben olacağım 18 ile öğrenci 1 yazdırmak mümkün. 847 00:38:22,447 --> 00:38:24,530 Aslında etkilemez kod çalışma 848 00:38:24,530 --> 00:38:27,110 herhangi bir şekilde, yol ben yazdırabilirsiniz. 849 00:38:27,110 --> 00:38:30,380 >> Sen Ama dikkatli olun Aslında dizi erişim. 850 00:38:30,380 --> 00:38:32,780 Eğer puanları i gördüğünüzde, Burada dikkat Aslında ben 851 00:38:32,780 --> 00:38:38,200 0 indeksi erişme ve değil 1 artı 0-- veya 1 artı 1, 852 00:38:38,200 --> 00:38:45,530 Bu durumda, çok endeksi Bu aslında açık. 853 00:38:45,530 --> 00:38:48,870 Herkesin biraz OK üzerine mi nasıl bu sayede çalışan 854 00:38:48,870 --> 00:38:51,470 ve her dizin ile ben diziye bir değer koyarak 855 00:38:51,470 --> 00:38:55,340 ve 18 numaraları ile bir dizi oluşturma kullanıcı girişine gidiyor? 856 00:38:55,340 --> 00:38:58,780 857 00:38:58,780 --> 00:38:59,821 TAMAM. 858 00:38:59,821 --> 00:39:00,321 Güzel. 859 00:39:00,321 --> 00:39:05,380 860 00:39:05,380 --> 00:39:07,400 >> TAMAM. 861 00:39:07,400 --> 00:39:12,220 Biz şimdi oldukça var şeye taşınmak hem de set bu parça hakkında. 862 00:39:12,220 --> 00:39:15,020 Ben derste biliyorum, David-- üzgünüm, bir soru vardı? 863 00:39:15,020 --> 00:39:16,840 >> HEDEF KİTLE: Bunu büyütmek misin? 864 00:39:16,840 --> 00:39:18,080 >> ANDI PENG: Evet, ben de denedim. 865 00:39:18,080 --> 00:39:18,788 Ama ben bilmiyorum. 866 00:39:18,788 --> 00:39:21,437 Nedense, bu PowerPoint sürümü 867 00:39:21,437 --> 00:39:23,270 gerçekten çalışıyor değil Ekranın ile. 868 00:39:23,270 --> 00:39:25,260 Yani biz sadece gidiyoruz Böyle tutmak için. 869 00:39:25,260 --> 00:39:27,280 Tüm bu online yüklenecektir. 870 00:39:27,280 --> 00:39:28,218 Üzgünüm beyler. 871 00:39:28,218 --> 00:39:30,090 Evet. 872 00:39:30,090 --> 00:39:30,980 TAMAM. 873 00:39:30,980 --> 00:39:35,530 >> Bu yüzden de dizeleri olabilir. 874 00:39:35,530 --> 00:39:39,320 Yani aslında siz I notice-- eğer Rob o konuşmasında bu gitti biliyorum 875 00:39:39,320 --> 00:39:43,652 O bir dize aslında did-- olduğunu karakter sadece bir dizi, 876 00:39:43,652 --> 00:39:44,860 Bu konuda düşünüyorsanız, değil mi? 877 00:39:44,860 --> 00:39:47,500 Bir dize bir isim ya da bir cümle veya bir kelime değil mi? 878 00:39:47,500 --> 00:39:52,975 >> Ben adında bir dize oluşturmak olsaydı Andi-- sadece benim adım, A-N-D-I. 879 00:39:52,975 --> 00:39:55,460 Sen sadece bir değişken olarak düşünmedim. 880 00:39:55,460 --> 00:39:58,630 Ama aslında, aşağı kırıldı karakter sadece bir diziye. 881 00:39:58,630 --> 00:40:01,910 Yani bir karakteri var Bir dizi değeri depolanır. 882 00:40:01,910 --> 00:40:05,420 Bu saklanan n bir karakter var İkinci indeks ve benzeri ve benzeri. 883 00:40:05,420 --> 00:40:08,660 >> Biz bu şekilde Yani Aslında bu tür 884 00:40:08,660 --> 00:40:10,970 yapısının ayarlanır Bizim dizeleri yerleştirin. 885 00:40:10,970 --> 00:40:14,660 Yani burada, ben giriş olsaydı kelimesi "yemek" - yani dize kelimesi eşittir 886 00:40:14,660 --> 00:40:15,540 dize olsun. 887 00:40:15,540 --> 00:40:19,260 Ben giriş olsaydı kelime "yemek" olduğunu benim bilgisayar yolu fiziksel olarak 888 00:40:19,260 --> 00:40:21,870 benim belleğimde bu dizeyi depoluyor. 889 00:40:21,870 --> 00:40:27,140 >> Ve ben bunu üzerinden çalıştırmak istedim ve i içine öylesine konrtol baskı 890 00:40:27,140 --> 00:40:30,890 biz derste, hatırlıyorum, sıfır eşittir strlen denir kapalı bir şey, 891 00:40:30,890 --> 00:40:32,990 veya dize uzunluğu. 892 00:40:32,990 --> 00:40:36,520 Ben aslında çünkü Dizi ne kadar büyük biliyor 893 00:40:36,520 --> 00:40:38,210 ne olursa olsun kullanıcının inputting-- bölgesinin 894 00:40:38,210 --> 00:40:40,370 >> Örneğin, girilen kelime "yemek" ve biliyorum 895 00:40:40,370 --> 00:40:41,870 Doğru, üç karakter uzunluğunda değil mi? 896 00:40:41,870 --> 00:40:44,700 Yani orada üç koyabilirsiniz ve her şey iyi olacak. 897 00:40:44,700 --> 00:40:49,290 Ama kullanıcı girişi şey varsa bu değerler, farklı bir sayı, 898 00:40:49,290 --> 00:40:52,760 Eğer gerçekten mümkün olmayacaktır gidiyoruz kodunuzu programlamak zaman olduğunu biliyorum. 899 00:40:52,760 --> 00:40:56,040 >> Bu yüzden test durumları ele yolu Böyle bir şey olması 900 00:40:56,040 --> 00:41:00,070 Sadece bir fonksiyonu olan, adı strlen Bu bir dizedir ne kadar söyler. 901 00:41:00,070 --> 00:41:02,080 Yani kelimenin strlen. 902 00:41:02,080 --> 00:41:03,470 Benim sözüm yemek olduğunu. 903 00:41:03,470 --> 00:41:05,990 n kelimesinin strlen eşittir. 904 00:41:05,990 --> 00:41:08,930 Biri bu beni ne söyleyebilir değer aslında hemen orada? 905 00:41:08,930 --> 00:41:12,550 N sağ ne temsil etmez Şimdi, bu örnekte, ben olsaydı yemek? 906 00:41:12,550 --> 00:41:13,530 >> HEDEF KİTLE: 3. 907 00:41:13,530 --> 00:41:14,520 >> ANDI PENG: 3, tam. 908 00:41:14,520 --> 00:41:18,820 Int i eşittir Yani biz sıfır, n esasen 3 eşittir. 909 00:41:18,820 --> 00:41:22,355 Ve çalıştırmak için gidiyor o 3i ++ az olana kadar. 910 00:41:22,355 --> 00:41:24,980 Ve aslında gidecek aracılığı ile aynı şeyi yapmak. 911 00:41:24,980 --> 00:41:26,979 Bu yazdırmak için gidiyor Her değer ve size vermek 912 00:41:26,979 --> 00:41:29,700 E-A-T. Bu sadece bir belirten oluyor yazma farklı bir yolu. 913 00:41:29,700 --> 00:41:31,170 Bu çok yararlı olacak. 914 00:41:31,170 --> 00:41:31,670 Evet. 915 00:41:31,670 --> 00:41:35,174 HEDEF KİTLE: koyarak yararları nedir n, bu iç strlen kelime eşittir 916 00:41:35,174 --> 00:41:36,894 [inaudible] döngü için? 917 00:41:36,894 --> 00:41:37,560 ANDI PENG: Evet. 918 00:41:37,560 --> 00:41:44,880 Yani demek aşağıdaki amaçlara olsaydı, örneğin, Ben olsaydım o zaman yapmak ve 919 00:41:44,880 --> 00:41:51,935 Benim kodunda bu oop-- o olur sanıyor- aslında aynı şey gibi yapıyor olacak. 920 00:41:51,935 --> 00:41:55,060 Ancak, yol David açıkladı o derste, eğer birisi sizin adamlar 921 00:41:55,060 --> 00:41:57,854 hatırlıyorum oldu gibi o insanlar, programcılar olarak, 922 00:41:57,854 --> 00:42:00,270 Biz gerçekten bizim program deneyin Kod bizim bilgisayar vardır ki 923 00:42:00,270 --> 00:42:04,070 bu nedenle, mümkün olduğunca az çalışmak bizim kod çok etkilidir. 924 00:42:04,070 --> 00:42:06,850 >> Yani orada, ne olsaydı Benim için döngü içinde olur 925 00:42:06,850 --> 00:42:10,790 Ben ilk ilan ediyorum ki Değişken adındaki i 0 olacak. 926 00:42:10,790 --> 00:42:13,350 Ben, oh, kontrol etmek için gidiyorum kelimesinin strlen nedir? 927 00:42:13,350 --> 00:42:15,000 Ah, strlen 3'tür. 928 00:42:15,000 --> 00:42:16,191 Yani ben üçten az olması? 929 00:42:16,191 --> 00:42:16,690 Evet. 930 00:42:16,690 --> 00:42:17,870 Ben çalıştırmak için gidiyorum. 931 00:42:17,870 --> 00:42:21,130 >> Ve sonra ikinci kez tekrar etrafında Döngü, ben i artırmak için gidiyorum. 932 00:42:21,130 --> 00:42:22,550 ben bir olacak. 933 00:42:22,550 --> 00:42:25,600 Ve ben, oh, kontrol edecek ama kelimenin strlen nedir? 934 00:42:25,600 --> 00:42:26,839 Oh, üç değil. 935 00:42:26,839 --> 00:42:29,880 Ve, bir tür savurgan görünüyor yapar Eğer döngü çalıştırmak her zaman, 936 00:42:29,880 --> 00:42:33,340 fonksiyonu kontrol edilecek, Hatta kelimesinin strlen olsa 937 00:42:33,340 --> 00:42:35,490 Aslında asla değişmez? 938 00:42:35,490 --> 00:42:38,590 >> Yani bir bilgisayar için ekstra güç var. 939 00:42:38,590 --> 00:42:42,180 Eğer şeyler hakkında konuşmaya başladığınızda milyarlarca ve milyarlarca olduğunu 940 00:42:42,180 --> 00:42:44,431 ve yerlerde milyarlarca Uzun, bilgisayarınızı hayal 941 00:42:44,431 --> 00:42:47,430 Fiziksel üzerinden gitmek zorunda ve O her zaman tüm kontrol ediniz. 942 00:42:47,430 --> 00:42:53,170 Bu nedenle, sadece yapmaktır verimlilik uğruna, 943 00:42:53,170 --> 00:42:57,620 Biz sadece bu yapmak eğilimindedir Çünkü biz sadece konum bu şekilde 944 00:42:57,620 --> 00:42:59,850 işlevinin çağrılması Başlangıçta, bir kez 945 00:42:59,850 --> 00:43:01,766 ve her defasında o gidiyor geçer 946 00:43:01,766 --> 00:43:03,789 değeri saklamak için 3 Orada, yaptığın değil 947 00:43:03,789 --> 00:43:05,330 sürekli her zaman kontrol etmelisiniz. 948 00:43:05,330 --> 00:43:05,743 Evet. 949 00:43:05,743 --> 00:43:06,409 >> HEDEF KİTLE: Özür dilerim. 950 00:43:06,409 --> 00:43:09,070 Sadece [duyulamaz]. 951 00:43:09,070 --> 00:43:13,985 Eğer int n strlen eşittir ve koymak misiniz Bu döngü dışında yukarıda 952 00:43:13,985 --> 00:43:15,364 hem de? 953 00:43:15,364 --> 00:43:16,030 ANDI PENG: Evet. 954 00:43:16,030 --> 00:43:17,100 Kesinlikle, bunu yapabilir. 955 00:43:17,100 --> 00:43:19,970 Burada o var nedeni çünkü döngü işleri için yolu 956 00:43:19,970 --> 00:43:23,500 denir ki, bir anlamda yerel değişken 957 00:43:23,500 --> 00:43:26,150 sen her şeyi döngüsü için içini yaratmak 958 00:43:26,150 --> 00:43:27,890 Sadece döngü için içinde mevcuttur. 959 00:43:27,890 --> 00:43:31,530 >> Yani ben sadece değişken bu parantez içinde bulunmaktadır. 960 00:43:31,530 --> 00:43:35,260 Ayrıca n Ve burada değişkenler sadece bu parantez içinde bulunmaktadır. 961 00:43:35,260 --> 00:43:39,350 Yani bir strlen kullanmak olsaydı aşağı aşağıda birden çok kez kelime, 962 00:43:39,350 --> 00:43:42,230 kesinlikle bunu yapmak için en iyi yolu top o kadar beyan olacaktır 963 00:43:42,230 --> 00:43:43,563 bu yüzden bir kez bunu yapmak zorunda değilsiniz. 964 00:43:43,563 --> 00:43:45,420 Evet. 965 00:43:45,420 --> 00:43:47,670 HEDEF KİTLE: Neden var yüzde sonrasında yeni hat 966 00:43:47,670 --> 00:43:51,300 Tüm koymak istiyorsanız görme o ayrı bir sonraki mektuplar? 967 00:43:51,300 --> 00:43:54,140 >> ANDI PENG: Oh, ben istedim Her satırda hepsini yazdırabilirsiniz. 968 00:43:54,140 --> 00:43:54,890 It does not matter. 969 00:43:54,890 --> 00:43:55,890 Evet, bu bir biçimlendirme var. 970 00:43:55,890 --> 00:43:57,181 O da, iyi bir soru. 971 00:43:57,181 --> 00:43:59,360 Ben isteseydim Evet, yazdırmak için Sadece tek bir satırda, 972 00:43:59,360 --> 00:44:02,731 Ben çizgi olmazdı. 973 00:44:02,731 --> 00:44:03,230 TAMAM. 974 00:44:03,230 --> 00:44:06,880 Herkes iyi? 975 00:44:06,880 --> 00:44:07,500 TAMAM. 976 00:44:07,500 --> 00:44:08,000 Güzel. 977 00:44:08,000 --> 00:44:12,080 978 00:44:12,080 --> 00:44:14,750 >> Yani ben yeterince konuştuk düşünüyorum. 979 00:44:14,750 --> 00:44:20,040 Sen adamların sırası ile çalıştırmak için Kod ve burada neyin yanlış olduğunu söyle. 980 00:44:20,040 --> 00:44:21,560 Böcek nerede? 981 00:44:21,560 --> 00:44:26,920 Gördüğünüz gibi Yani, bir ilan ettik türü dize adlı sınıfın yeni dizisi. 982 00:44:26,920 --> 00:44:30,220 Ve ben, Sam girilen ettik Içine Jess ve Kim. 983 00:44:30,220 --> 00:44:33,400 Ve ben yazdırmak için çalışılıyor dizinin tüm unsurları. 984 00:44:33,400 --> 00:44:36,796 Neden bu biri bana söyleyebilir Bana sorunları verecek? 985 00:44:36,796 --> 00:44:39,320 Ben adamlar sana 10 veririm saniye bu düşünmek. 986 00:44:39,320 --> 00:44:55,490 987 00:44:55,490 --> 00:44:56,619 >> TAMAM. 988 00:44:56,619 --> 00:44:57,118 Evet? 989 00:44:57,118 --> 00:45:01,972 >> HEDEF KİTLE: sol orta mı 3 eşit veya [duyulamaz]? 990 00:45:01,972 --> 00:45:02,680 ANDI PENG: Doğru. 991 00:45:02,680 --> 00:45:06,784 Yani bu aslında kaç kez Bu döngü içinde koşacağız? 992 00:45:06,784 --> 00:45:07,620 >> HEDEF KİTLE: Dört. 993 00:45:07,620 --> 00:45:08,070 >> ANDI PENG: Kesinlikle. 994 00:45:08,070 --> 00:45:09,445 Bu dört kez kişiye aracılığıyla gidiyor. 995 00:45:09,445 --> 00:45:12,250 Bu aracılığıyla çalıştırmak için gidiyor 0, 1, 2, ve 3, 996 00:45:12,250 --> 00:45:15,200 bunların elemanı i olduğu daha az ya da 3'e eşittir. 997 00:45:15,200 --> 00:45:16,960 O 2 ne zaman durdurmak için gitmiyor. 998 00:45:16,960 --> 00:45:18,800 Bu tutmak için gidiyor bu 3 vurur kadar devam. 999 00:45:18,800 --> 00:45:21,720 Bildiğimiz gibi, sadece üç var Bizim asıl dizideki elemanları. 1000 00:45:21,720 --> 00:45:27,260 >> Biz dördüncü erişmeye çalışırsanız elemanı ya da 3'ün endeksi 1001 00:45:27,260 --> 00:45:30,357 Bir yerde vurmak için gidiyoruz hafızada mevcut gelmez. 1002 00:45:30,357 --> 00:45:31,690 Bu boş sonlandırıcı denir. 1003 00:45:31,690 --> 00:45:32,856 Hiçbir şey olacak. 1004 00:45:32,856 --> 00:45:35,324 Bilgisayarınız gitmiyor Seninle çok mutlu olmak için. 1005 00:45:35,324 --> 00:45:36,170 Evet. 1006 00:45:36,170 --> 00:45:38,430 Herkes soruları var mı neden oluyordu üzerinde? 1007 00:45:38,430 --> 00:45:39,679 Bunu önlemek için ortak bir alan var. 1008 00:45:39,679 --> 00:45:40,712 Evet. 1009 00:45:40,712 --> 00:45:45,777 >> HEDEF KİTLE: ilk değil mi 2 Bir dize var da slayt? 1010 00:45:45,777 --> 00:45:46,360 ANDI PENG: Hayır 1011 00:45:46,360 --> 00:45:49,610 Bu nedenle esas olarak, ne zaman Bir dizi yapıyoruz, 1012 00:45:49,610 --> 00:45:51,540 Bu dirsek hakkı Orada her number-- bu 1013 00:45:51,540 --> 00:45:53,480 Eğer nasıl söylüyor Birçok unsurları Ben var. 1014 00:45:53,480 --> 00:45:55,840 Aslında söylemiyor Bana bir şey indeksler. 1015 00:45:55,840 --> 00:45:58,760 Yani bu durumda, ben istediğimi biliyorsun Üç basamaklı yazmak için, 1016 00:45:58,760 --> 00:46:02,690 üç fiziksel yerlerde Ben tutmak istiyorum ne tutun. 1017 00:46:02,690 --> 00:46:04,510 Üç numara olduğunu İşte bu yüzden. 1018 00:46:04,510 --> 00:46:06,560 Ancak, eğer istediğim aslında erişmek için, 1019 00:46:06,560 --> 00:46:11,220 Söylemek istedim, printf Daha sonra sınıf dirsek numarası, 1020 00:46:11,220 --> 00:46:14,560 aslında koymak için gidiyoruz Orada fiziki indeksi. 1021 00:46:14,560 --> 00:46:16,330 Evet, iyi bir soru. 1022 00:46:16,330 --> 00:46:20,065 >> HEDEF KİTLE: Yani fiziksel bir endeks sözde [inaudible] olmak? 1023 00:46:20,065 --> 00:46:20,940 ANDI PENG: Üzgünüm. 1024 00:46:20,940 --> 00:46:21,500 Eğer biraz konuşabilir miyim? 1025 00:46:21,500 --> 00:46:24,208 >> HEDEF KİTLE: Yani fiziksel endeksi [Duyulamaz] kutularının her? 1026 00:46:24,208 --> 00:46:25,260 [Duyulamaz]? 1027 00:46:25,260 --> 00:46:26,040 >> ANDI PENG: Evet. 1028 00:46:26,040 --> 00:46:28,970 Yani burada geri gitmek için gidiyorum. 1029 00:46:28,970 --> 00:46:31,120 Burada düşünün. 1030 00:46:31,120 --> 00:46:32,820 Biz büyüklük 3 bir dizi var. 1031 00:46:32,820 --> 00:46:35,540 Gibi üç yer var, Burada fiziksel tutucular. 1032 00:46:35,540 --> 00:46:37,620 Ama 0, 1, ve 2 adında ediyoruz. 1033 00:46:37,620 --> 00:46:40,700 Ben bunlara erişmek için istedim Yani, Ben bunlara erişmek yolu 1034 00:46:40,700 --> 00:46:43,480 Burada ne istediğini printf olduğunu. 1035 00:46:43,480 --> 00:46:45,485 Sen yazdırmak zorunda kalacak Bunun adı dışında, 1036 00:46:45,485 --> 00:46:47,610 Daha sonra bilgisayara çünkü oh, bakmak gerekir, bilir 1037 00:46:47,610 --> 00:46:51,391 0 dizin için bu dizide. 1038 00:46:51,391 --> 00:46:51,890 Evet. 1039 00:46:51,890 --> 00:46:53,306 Ama boyutu değişmez. 1040 00:46:53,306 --> 00:46:55,492 Boyutu ne olursa olsun 3 olduğu Onları etiketlemek nasıl. 1041 00:46:55,492 --> 00:46:58,321 1042 00:46:58,321 --> 00:46:58,820 TAMAM. 1043 00:46:58,820 --> 00:47:01,387 Herkes iyi? 1044 00:47:01,387 --> 00:47:02,970 HEDEF KİTLE: Yani her zaman ben [duyulamaz]? 1045 00:47:02,970 --> 00:47:06,357 1046 00:47:06,357 --> 00:47:06,940 ANDI PENG: Tamam. 1047 00:47:06,940 --> 00:47:13,270 Yani bu durumda, biz gerçekten yok Tabii şu anda içine almak. 1048 00:47:13,270 --> 00:47:16,760 Ama biliyoruz ki benim gibi bir string-- bir dize temelde, önce söylediğim 1049 00:47:16,760 --> 00:47:18,440 karakter dizisi. 1050 00:47:18,440 --> 00:47:21,430 Ben bir dizi oluşturmak Yani eğer dizeleri, ben tür 1051 00:47:21,430 --> 00:47:24,430 Dizinin bir dizi var karakter, değil mi? 1052 00:47:24,430 --> 00:47:27,720 >> Bu durumda Yani, çünkü ben , dizelerden oluşan bir dizi var 1053 00:47:27,720 --> 00:47:31,340 Eğer girmek için gerçekten uzun bir sözcük olsaydı, hala sadece bir yer kaplıyor 1054 00:47:31,340 --> 00:47:33,230 bu bir dize çünkü. 1055 00:47:33,230 --> 00:47:37,492 Ama sanki düşünmek o dizinin karakterleri, 1056 00:47:37,492 --> 00:47:40,450 o daha bir sürü alıyor Başka bir deyişle herhangi karakterden 1057 00:47:40,450 --> 00:47:41,372 bulunmaktadır. 1058 00:47:41,372 --> 00:47:42,830 Şu an için gerçekten önemli değil. 1059 00:47:42,830 --> 00:47:44,921 Ama bu sadece genel bulunuyor nasıl işe yarıyor. 1060 00:47:44,921 --> 00:47:49,750 1061 00:47:49,750 --> 00:47:50,560 >> TAMAM. 1062 00:47:50,560 --> 00:47:55,840 Yani bu Bunu yapmana izin olacak bir şeydir dönem boyunca bir sürü. 1063 00:47:55,840 --> 00:47:57,500 Sesimi dinlenmem gerekiyor. 1064 00:47:57,500 --> 00:47:59,530 Siz kendinizi uyarmak gerekir. 1065 00:47:59,530 --> 00:48:02,300 Size bir sürü muhtemelen Şu anda uyumak zorunda. 1066 00:48:02,300 --> 00:48:05,960 Ben rastgele sorunlar giren ediyorum nerede bir sınıf olarak ya da 1067 00:48:05,960 --> 00:48:09,480 bir ortak ile senin yanında olacak tartışan bir kaç dakika geçirmek için 1068 00:48:09,480 --> 00:48:14,980 biz çözme hakkında gitmek nasıl veya bu gibi bir program oluşturmak. 1069 00:48:14,980 --> 00:48:17,100 >> Yani şimdi biz istiyoruz Bir program-- oluşturmak için 1070 00:48:17,100 --> 00:48:19,560 Biz onu aramak için gidiyoruz upper.c-- dönüştürür olduğunu 1071 00:48:19,560 --> 00:48:24,787 bir üst sınıfa bir küçük kelime string-- büyük harf, üzgünüm. 1072 00:48:24,787 --> 00:48:26,370 Kelime dizeleri, üzgünüm, eşanlamlıdır. 1073 00:48:26,370 --> 00:48:28,370 Onları değiştirmek için gidiyorum aynı şey demek için. 1074 00:48:28,370 --> 00:48:32,270 1075 00:48:32,270 --> 00:48:33,499 >> Evet. 1076 00:48:33,499 --> 00:48:34,540 Birkaç dakika ayırın. 1077 00:48:34,540 --> 00:48:37,130 Öyle olmak zorunda değildir herhangi bir dilde yazılmış. 1078 00:48:37,130 --> 00:48:39,890 Sadece sözde kod kod ya da mantıksal nasıl biz bile olur 1079 00:48:39,890 --> 00:48:42,083 Böyle bir sorunla yapıyor hakkında gitmek. 1080 00:48:42,083 --> 00:48:42,583 Evet. 1081 00:48:42,583 --> 00:48:49,881 1082 00:48:49,881 --> 00:48:52,780 >> [YAN KONUŞMA] 1083 00:48:52,780 --> 00:49:18,680 1084 00:49:18,680 --> 00:49:22,130 >> Ben de siz can-- fark Ben tür zaten programına bakın. 1085 00:49:22,130 --> 00:49:24,600 Ben benim eksikliği sanırım Sunum modu bir sorundur. 1086 00:49:24,600 --> 00:49:27,410 Ama sorun değil. 1087 00:49:27,410 --> 00:49:30,410 >> [YAN KONUŞMA] 1088 00:49:30,410 --> 00:50:03,589 1089 00:50:03,589 --> 00:50:04,380 Çocuklar, lütfen, evet. 1090 00:50:04,380 --> 00:50:05,400 Şeker olsun gel. 1091 00:50:05,400 --> 00:50:06,372 Şeker olsun gel. 1092 00:50:06,372 --> 00:50:07,698 >> HEDEF KİTLE: Evet! 1093 00:50:07,698 --> 00:50:09,958 >> [YAN KONUŞMA] 1094 00:50:09,958 --> 00:50:16,101 1095 00:50:16,101 --> 00:50:18,100 ANDI PENG: Ayrıca, evet, Ben şeker atma başlayacağız 1096 00:50:18,100 --> 00:50:20,280 sorulara cevap yok insanlar. 1097 00:50:20,280 --> 00:50:22,260 Tüm soruları cevaplamak gerekir Yani. 1098 00:50:22,260 --> 00:50:24,895 Yoksa insanları herhalde kim sorulara cevap yoktur. 1099 00:50:24,895 --> 00:50:26,070 Evet, başka bir yol etrafında. 1100 00:50:26,070 --> 00:50:28,570 >> [YAN KONUŞMA] 1101 00:50:28,570 --> 00:51:13,399 1102 00:51:13,399 --> 00:51:14,274 HEDEF KİTLE: [duyulamaz] 1103 00:51:14,274 --> 00:51:17,300 1104 00:51:17,300 --> 00:51:18,340 >> ANDI PENG: Evet. 1105 00:51:18,340 --> 00:51:19,340 Evet. 1106 00:51:19,340 --> 00:51:22,840 >> [YAN KONUŞMA] 1107 00:51:22,840 --> 00:51:40,700 1108 00:51:40,700 --> 00:51:41,590 >> Pekala, çocuklar. 1109 00:51:41,590 --> 00:51:44,731 Gibi, 10 saniye daha sürebilir. 1110 00:51:44,731 --> 00:51:48,210 >> [YAN KONUŞMA] 1111 00:51:48,210 --> 00:52:10,600 1112 00:52:10,600 --> 00:52:11,750 >> Çocuklar, tamam. 1113 00:52:11,750 --> 00:52:14,920 Yani biz çalışıyoruz başlamadan önce aslında fiziksel, kod yazmak 1114 00:52:14,920 --> 00:52:20,650 geliştirmek için iyi bir alışkanlık olduğunu Biz aklın birinci tür istiyorum 1115 00:52:20,650 --> 00:52:22,737 dışarı mantıklı biz bunu nasıl yapacağını. 1116 00:52:22,737 --> 00:52:24,570 Sen emin olmak, Sizden önce fiziksel 1117 00:52:24,570 --> 00:52:27,210 kod çalışıyor başlamak Mario, o yapmak 1118 00:52:27,210 --> 00:52:28,870 Emin senin pseudocode var. 1119 00:52:28,870 --> 00:52:31,235 Yani size alıyor ne yani oluşturmanız gerekir 1120 00:52:31,235 --> 00:52:33,360 sizi fiziksel olarak o daha sonra program yazmak, 1121 00:52:33,360 --> 00:52:36,640 Eğer hataları yakalamak için daha iyi edebiliyoruz kodunuzu ve bunun gibi şeyler. 1122 00:52:36,640 --> 00:52:40,460 >> Yani biz sadece başlamak için gidiyoruz by-- İngilizce olarak pseudocode, 1123 00:52:40,460 --> 00:52:43,320 Herkes vermek istiyor Bana bir jenerik açıklama 1124 00:52:43,320 --> 00:52:46,250 Biz bunu hakkında gitmesine nasıl? 1125 00:52:46,250 --> 00:52:48,102 Evet. 1126 00:52:48,102 --> 00:52:49,664 >> HEDEF KİTLE: [duyulamaz]. 1127 00:52:49,664 --> 00:52:50,830 ANDI PENG: Tabii, merak etmeyin. 1128 00:52:50,830 --> 00:52:57,233 HEDEF KİTLE: Eğer bunu sormak ya da sorabilir miyim Birisi, string 1-- evet, dize almak 1129 00:52:57,233 --> 00:52:58,160 ve daha sonra-- 1130 00:52:58,160 --> 00:52:59,826 >> ANDI PENG: Evet, bu nedenle bu iyi bir başlangıç. 1131 00:52:59,826 --> 00:53:01,972 Ben konuşurken, üzgünüm, yazmaya başlayacağız. 1132 00:53:01,972 --> 00:53:02,471 Yani-- 1133 00:53:02,471 --> 00:53:05,698 >> HEDEF KİTLE: --the küçük sayılar daha yüksek, değil mi? 1134 00:53:05,698 --> 00:53:08,519 Ya da küçük harfler yüksek numaraları var? 1135 00:53:08,519 --> 00:53:09,310 ANDI PENG: Kesinlikle. 1136 00:53:09,310 --> 00:53:16,156 HEDEF KİTLE: Öyleyse çıkarmak Ne olursa olsun [duyulamaz] 32. 1137 00:53:16,156 --> 00:53:28,600 1138 00:53:28,600 --> 00:53:29,870 >> ANDI PENG: Büyük. 1139 00:53:29,870 --> 00:53:35,020 Bu yüzden tür genel bir duygusu var ve nasıl bu sorun hakkında çalışmak. 1140 00:53:35,020 --> 00:53:40,060 Biz tür öğrendim bilerek Bu dizeleri, fiziksel yolu 1141 00:53:40,060 --> 00:53:43,320 hafızada saklanır, zaten ne 1142 00:53:43,320 --> 00:53:45,920 Muhtemelen gidiyoruz biliyorum kodunuzda yazmak zorunda 1143 00:53:45,920 --> 00:53:48,288 sırayla dize gezinmek için? 1144 00:53:48,288 --> 00:53:49,259 >> HEDEF KİTLE: döngü. 1145 00:53:49,259 --> 00:53:50,550 ANDI PENG: döngü A, aynen öyle. 1146 00:53:50,550 --> 00:53:56,540 1147 00:53:56,540 --> 00:53:57,220 Büyük. 1148 00:53:57,220 --> 00:54:00,539 Bu yüzden tür bir genel var pseudocode yazılı 1149 00:54:00,539 --> 00:54:02,330 Bu tür veriyor Size nasıl notlar 1150 00:54:02,330 --> 00:54:03,900 problem çözme konusunda hareket edeceklerdi. 1151 00:54:03,900 --> 00:54:06,150 Şimdi bu var, size Daha sonra bunu başvuruda bulunabilir 1152 00:54:06,150 --> 00:54:08,233 Eğer çalıştığınız ne zaman aslında kod yazmak. 1153 00:54:08,233 --> 00:54:10,240 Yani biz aslında burada gidebilirsiniz. 1154 00:54:10,240 --> 00:54:25,130 Ve ben adında bir işlevi var upper.c-- orada sadece boş bir şablon bu-- 1155 00:54:25,130 --> 00:54:28,510 Şu anda siz için gidiyoruz Bana yazmak için nasıl anlamaya yardımcı 1156 00:54:28,510 --> 00:54:30,430 değil kod satırını code-- bu hattı. 1157 00:54:30,430 --> 00:54:32,890 Bu kod birden fazla satır olacak. 1158 00:54:32,890 --> 00:54:35,710 >> Her türlü başlatırken Boş pset bölgesinin ne 1159 00:54:35,710 --> 00:54:37,418 Ben gereken ilk şey yapmak için hatırlamak? 1160 00:54:37,418 --> 00:54:39,290 >> HEDEF KİTLE: [duyulamaz]. 1161 00:54:39,290 --> 00:54:41,000 >> ANDI PENG: Büyük Yep. 1162 00:54:41,000 --> 00:54:41,500 Ekleyin. 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 Çoğu kez, bu biridir En kolay hatalar insanlar 1166 00:54:49,640 --> 00:54:51,598 Onlar olduğunuzda yapacak yazma onlar olacak ki 1167 00:54:51,598 --> 00:54:54,180 Bir eklemeyi unutmayın ihtiyaç duydukları önemli kütüphanesi. 1168 00:54:54,180 --> 00:54:57,689 Yani, çalışma saatleri ve sen gibi iseniz Benim kod neden çalışmıyor bilmiyorum. 1169 00:54:57,689 --> 00:54:59,230 Eğer çalışmıyor neden bana söyleyebilir misiniz? 1170 00:54:59,230 --> 00:55:00,730 Biz #include söylemek için gidiyoruz? 1171 00:55:00,730 --> 00:55:02,520 Bunu #include gerekir. 1172 00:55:02,520 --> 00:55:03,270 TAMAM. 1173 00:55:03,270 --> 00:55:07,230 >> Yani biz burada standart I / O var. 1174 00:55:07,230 --> 00:55:10,740 Olduğunu sadece kütüphane Burada ihtiyacımız olacak? 1175 00:55:10,740 --> 00:55:12,681 Başka ne yapacağız? 1176 00:55:12,681 --> 00:55:13,180 Özür dilerim. 1177 00:55:13,180 --> 00:55:14,562 Birisi sadece bunu çığlık? 1178 00:55:14,562 --> 00:55:15,666 >> HEDEF KİTLE: [duyulamaz]. 1179 00:55:15,666 --> 00:55:16,666 ANDI PENG: İşte buyurun. 1180 00:55:16,666 --> 00:55:20,320 1181 00:55:20,320 --> 00:55:21,440 TAMAM. 1182 00:55:21,440 --> 00:55:26,070 Ve nasıl her türlü başlatma hakkında gitmek do ana işlevi fonksiyonu, herhangi bir tür 1183 00:55:26,070 --> 00:55:28,760 Bizim program dahilinde? 1184 00:55:28,760 --> 00:55:30,020 Ana Int. 1185 00:55:30,020 --> 00:55:34,531 1186 00:55:34,531 --> 00:55:35,030 TAMAM. 1187 00:55:35,030 --> 00:55:35,970 Burada içeride ne koyacağım? 1188 00:55:35,970 --> 00:55:37,640 Yapmak istediğiniz ilk şey nedir? 1189 00:55:37,640 --> 00:55:39,910 Biz almak istiyorsanız kullanıcı dize, 1190 00:55:39,910 --> 00:55:43,870 ne var olacak Bu ilk satırda yapmalı? 1191 00:55:43,870 --> 00:55:46,120 Maalesef, siz sadece hissediyorum konuşmak için ücretsiz ve yüksek sesle. 1192 00:55:46,120 --> 00:55:47,123 Sadece dışarı neyse bağırmak. 1193 00:55:47,123 --> 00:55:48,772 >> HEDEF KİTLE: Kullanıcıya sorun mu var? 1194 00:55:48,772 --> 00:55:49,980 ANDI PENG: bunu nasıl yaparız? 1195 00:55:49,980 --> 00:55:51,873 Ask-- ben "kullanıcı sormak" yazın gidiyorum? 1196 00:55:51,873 --> 00:55:52,600 >> HEDEF KİTLE: Printf. 1197 00:55:52,600 --> 00:55:54,341 >> ANDI PENG: Tamam. 1198 00:55:54,341 --> 00:55:54,840 Printf. 1199 00:55:54,840 --> 00:55:57,372 Ne printf istiyorsun? 1200 00:55:57,372 --> 00:55:58,776 >> HEDEF KİTLE: bir şey yazın. 1201 00:55:58,776 --> 00:56:02,760 1202 00:56:02,760 --> 00:56:03,840 >> ANDI PENG: Böyle mi? 1203 00:56:03,840 --> 00:56:05,430 Ben bir bilgisayar gibiyim Beyler, taklit. 1204 00:56:05,430 --> 00:56:08,475 Fiziksel bana her adımı söyle Buraya yazmanız gerekir? 1205 00:56:08,475 --> 00:56:09,600 Ben yanlış bir şey yapıyorum? 1206 00:56:09,600 --> 00:56:10,743 Ben bir şey yazdığınızı mıyım? 1207 00:56:10,743 --> 00:56:11,690 >> HEDEF KİTLE: Sen tırnak gerekir. 1208 00:56:11,690 --> 00:56:12,380 >> ANDI PENG: Ben tırnak ihtiyacınız var? 1209 00:56:12,380 --> 00:56:12,880 TAMAM. 1210 00:56:12,880 --> 00:56:15,520 1211 00:56:15,520 --> 00:56:16,297 TAMAM. 1212 00:56:16,297 --> 00:56:17,698 >> HEDEF KİTLE: Ve sonra yeni bir satır. 1213 00:56:17,698 --> 00:56:21,434 1214 00:56:21,434 --> 00:56:22,465 Noktalı. 1215 00:56:22,465 --> 00:56:23,340 ANDI PENG: semicolon? 1216 00:56:23,340 --> 00:56:24,060 TAMAM. 1217 00:56:24,060 --> 00:56:24,560 İyi. 1218 00:56:24,560 --> 00:56:27,060 >> HEDEF KİTLE: Ve belki belirtmek Eğer küçük harflerle istediğiniz? 1219 00:56:27,060 --> 00:56:30,120 1220 00:56:30,120 --> 00:56:31,415 >> ANDI PENG: Büyük. 1221 00:56:31,415 --> 00:56:33,540 Siz bana gülerler noktalı virgül koymak unutma. 1222 00:56:33,540 --> 00:56:36,350 Bir yerde garanti Bu sınıfın sırasında, 1223 00:56:36,350 --> 00:56:38,260 Eğer koymak unutacak noktalı virgül, ve 1224 00:56:38,260 --> 00:56:41,116 anlamaya sana üç saat sürer dışarı neden kodu çalışmıyor. 1225 00:56:41,116 --> 00:56:42,240 Bu hepimiz için oldu. 1226 00:56:42,240 --> 00:56:43,950 Muhtemelen size ne olacak. 1227 00:56:43,950 --> 00:56:46,352 Noktalı virgül kullanarak iyi bir alışkanlık haline getirin. 1228 00:56:46,352 --> 00:56:46,852 TAMAM. 1229 00:56:46,852 --> 00:56:49,010 >> HEDEF KİTLE: İstediğiniz musunuz ters eğik çizgi yapmalı? 1230 00:56:49,010 --> 00:56:50,398 >> ANDI PENG: Elbette. 1231 00:56:50,398 --> 00:56:51,856 Eğer ters eğik çizgi yapmak istiyor musunuz? 1232 00:56:51,856 --> 00:56:53,020 >> HEDEF KİTLE: Evet. 1233 00:56:53,020 --> 00:56:54,330 >> ANDI PENG: Büyük. 1234 00:56:54,330 --> 00:56:54,830 TAMAM. 1235 00:56:54,830 --> 00:56:57,872 Bundan sonra ne yapmalıyım? 1236 00:56:57,872 --> 00:56:58,964 >> HEDEF KİTLE: dize alın. 1237 00:56:58,964 --> 00:56:59,880 ANDI PENG: dize alın. 1238 00:56:59,880 --> 00:57:03,080 1239 00:57:03,080 --> 00:57:03,830 Peki ben ne yazabilirim? 1240 00:57:03,830 --> 00:57:04,233 Biri? 1241 00:57:04,233 --> 00:57:05,040 >> HEDEF KİTLE: String s. 1242 00:57:05,040 --> 00:57:05,873 >> ANDI PENG: String s. 1243 00:57:05,873 --> 00:57:07,251 HEDEF KİTLE: GetString. 1244 00:57:07,251 --> 00:57:09,000 ANDI PENG: Biri, Bana nerede söyleyebilir 1245 00:57:09,000 --> 00:57:12,000 Bu fonksiyon GetString geliyor? 1246 00:57:12,000 --> 00:57:13,660 >> HEDEF KİTLE: string.h. 1247 00:57:13,660 --> 00:57:15,256 >> ANDI PENG: string.h? 1248 00:57:15,256 --> 00:57:16,715 Bunu string.h gelen düşünüyorum? 1249 00:57:16,715 --> 00:57:17,830 >> HEDEF KİTLE: [duyulamaz]. 1250 00:57:17,830 --> 00:57:18,830 >> ANDI PENG: İşte buyurun. 1251 00:57:18,830 --> 00:57:21,280 Bu CS50.h. geliyor 1252 00:57:21,280 --> 00:57:24,530 Her zaman nerede karıştı ediyorsanız kütüphane dosyası ya da bir başlık dosyasıdır, 1253 00:57:24,530 --> 00:57:28,450 google anlamıyla string.h ve ben söyleyeyim 1254 00:57:28,450 --> 00:57:30,450 tüm fonksiyonları nelerdir string.h ki. 1255 00:57:30,450 --> 00:57:31,340 TAMAM. 1256 00:57:31,340 --> 00:57:35,210 >> Yani şimdi ben bir dize oluşturduk ve bunun için kullanıcı istemi ettik, 1257 00:57:35,210 --> 00:57:38,770 Ben bir değişkende saklanır ettik adlı s, ne şimdi ne gerekiyor? 1258 00:57:38,770 --> 00:57:40,652 >> HEDEF KİTLE: Bu küçük harflerle olmadığını kontrol edin. 1259 00:57:40,652 --> 00:57:41,360 ANDI PENG: Üzgünüm? 1260 00:57:41,360 --> 00:57:42,545 HEDEF KİTLE: Bu küçük harflerle olmadığını kontrol edin. 1261 00:57:42,545 --> 00:57:44,045 ANDI PENG: Pekala, o yapalım. 1262 00:57:44,045 --> 00:57:45,857 Bunu nasıl yaparım? 1263 00:57:45,857 --> 00:57:47,940 Aslında amaçlı Şu anda sınıfın, 1264 00:57:47,940 --> 00:57:50,330 biz sadece gidiyoruz her şeyi varsayalım 1265 00:57:50,330 --> 00:57:52,620 biz girdi küçük harflerle zaten. 1266 00:57:52,620 --> 00:57:55,430 Eğer kontrol etmek istedim, sen-cekti sadece koşullu ifadesi ekleyin 1267 00:57:55,430 --> 00:57:59,640 teslim olduğunu, içinden koştu her dizi elemanı 1268 00:57:59,640 --> 00:58:02,540 o ise ve kontrol Bazı değerler arasında. 1269 00:58:02,540 --> 00:58:05,627 Unutmadan hangi sayı lowercase değerleri vardır. 1270 00:58:05,627 --> 00:58:07,210 ASCII masaya bakabilirsiniz. 1271 00:58:07,210 --> 00:58:08,800 Ama evet, gerçekten iyi bir nokta. 1272 00:58:08,800 --> 00:58:11,758 Ama şimdi, biz sadece gidiyoruz tüm dizeleri varsayalım biz girdi 1273 00:58:11,758 --> 00:58:13,130 küçük harflerle bulunmaktadır. 1274 00:58:13,130 --> 00:58:13,870 TAMAM. 1275 00:58:13,870 --> 00:58:18,069 >> Yani hakkında nasıl gitmek Bir sonraki bu sorunu? 1276 00:58:18,069 --> 00:58:18,860 HEDEF KİTLE: döngü. 1277 00:58:18,860 --> 00:58:19,340 ANDI PENG: döngü için? 1278 00:58:19,340 --> 00:58:19,839 TAMAM. 1279 00:58:19,839 --> 00:58:20,847 Ne tip söyle. 1280 00:58:20,847 --> 00:58:25,230 >> HEDEF KİTLE: int i için 0 eşittir. 1281 00:58:25,230 --> 00:58:27,230 >> ANDI PENG: Tamam. 1282 00:58:27,230 --> 00:58:36,350 >> HEDEF KİTLE: Oh, aslında, o zaman size Virgül yapmak ve n strlen eşittir yapmak. 1283 00:58:36,350 --> 00:58:38,940 >> ANDI PENG: Yani önemli olan Ben o burada fark var düşünüyorum 1284 00:58:38,940 --> 00:58:42,936 Biz int söylemek yoktu ki n ikinci kez biz bunu yaptık. 1285 00:58:42,936 --> 00:58:45,060 Sadece bir o biliyor Eğer ilan ediyoruz döngü, 1286 00:58:45,060 --> 00:58:47,934 Aslında bir int gerekmez İkinci kez bir değişken yapın. 1287 00:58:47,934 --> 00:58:51,202 Sen n strlen söyleyebiliriz. 1288 00:58:51,202 --> 00:58:52,620 >> HEDEF KİTLE: s Of. 1289 00:58:52,620 --> 00:58:53,510 >> ANDI PENG: s. 1290 00:58:53,510 --> 00:58:54,706 TAMAM. 1291 00:58:54,706 --> 00:58:58,370 >> HEDEF KİTLE: O noktalı virgül. 1292 00:58:58,370 --> 00:59:00,130 >> ANDI PENG: Elbette. 1293 00:59:00,130 --> 00:59:04,050 >> HEDEF KİTLE: Ve sonra [duyulamaz] n. 1294 00:59:04,050 --> 00:59:07,480 1295 00:59:07,480 --> 00:59:09,460 Sonra i ++. 1296 00:59:09,460 --> 00:59:11,780 >> ANDI PENG: Büyük. 1297 00:59:11,780 --> 00:59:12,280 Pekala. 1298 00:59:12,280 --> 00:59:14,690 İçeri Ne istiyorsun şimdi döngü için bu? 1299 00:59:14,690 --> 00:59:17,820 Biz aracılığıyla çalıştırmak için gidiyoruz eğer Unutmayın, bir dize ve bir dizi üzerinden çalıştırmak 1300 00:59:17,820 --> 00:59:19,287 biz de bir şeyler kontrol etmek istiyorum. 1301 00:59:19,287 --> 00:59:20,370 İhtiyacımız olacak? 1302 00:59:20,370 --> 00:59:23,070 1303 00:59:23,070 --> 00:59:26,900 Bu artık zor kısmının türüdür. 1304 00:59:26,900 --> 00:59:27,960 Herkes bir tahmin var? 1305 00:59:27,960 --> 00:59:34,160 1306 00:59:34,160 --> 00:59:34,690 >> TAMAM. 1307 00:59:34,690 --> 00:59:37,830 Bunun için ilk önce, nasıl biz bile girebilirim? 1308 00:59:37,830 --> 00:59:41,610 Nasıl biz bile ilk onay veya dizideki öğeye erişmek? 1309 00:59:41,610 --> 00:59:42,920 Biz nasıl yapacağız? 1310 00:59:42,920 --> 00:59:47,120 Biz bunu kullanmak gösterimde nedir? 1311 00:59:47,120 --> 00:59:50,920 Bu dizinin adı ne denir mi? 1312 00:59:50,920 --> 00:59:52,400 Doğru, s denir? 1313 00:59:52,400 --> 00:59:54,850 >> Herhangi bir dize her zaman bir dizi olduğunu unutmayın. 1314 00:59:54,850 --> 00:59:58,210 Yani s dirsek i, değil mi? 1315 00:59:58,210 --> 01:00:01,360 Bu akım değeri olduğundan ya da endeks değeri, biz kontrol ediyoruz. 1316 01:00:01,360 --> 01:00:05,156 Ve biz bu eşit ayarlamak için gidiyoruz aşağıdaki amaçlara doğru bir küçük değer mi istiyorsun? 1317 01:00:05,156 --> 01:00:07,530 Biz açmak istiyor lower-- Üzgünüm, biz bir büyük harf istiyoruz. 1318 01:00:07,530 --> 01:00:10,014 Biz küçük harf açmak istiyor Bir büyük harf içine değer. 1319 01:00:10,014 --> 01:00:11,805 Ve üzgünüm bu yüzden da--, adın ne? 1320 01:00:11,805 --> 01:00:12,580 >> HEDEF KİTLE: Heidi. 1321 01:00:12,580 --> 01:00:12,940 >> ANDI PENG: Üzgünüm? 1322 01:00:12,940 --> 01:00:13,280 >> HEDEF KİTLE: Heidi. 1323 01:00:13,280 --> 01:00:13,988 >> ANDI PENG: Heidi. 1324 01:00:13,988 --> 01:00:15,850 Heidi dediği gibi Başlangıçta, muhtemelen konum 1325 01:00:15,850 --> 01:00:20,330 Biz konum Şeyin ihtiyacımız olacak Muhtemelen çıkarmak zorunda olacak 1326 01:00:20,330 --> 01:00:22,630 Doğru ne olursa olsun charc 32? 1327 01:00:22,630 --> 01:00:24,680 ASCII üzerine Çünkü masa, fark 1328 01:00:24,680 --> 01:00:27,790 küçük harf arasında ve bir büyük harf 32'dir. 1329 01:00:27,790 --> 01:00:31,290 Biz bunu yaparken Yani, muhtemelen konum Doğru, 32 çıkarmak istediğiniz olacak? 1330 01:00:31,290 --> 01:00:33,910 >> Bu yüzden Cuz i yapacağız. 1331 01:00:33,910 --> 01:00:37,590 1332 01:00:37,590 --> 01:00:41,200 Bunu neden yaptığımı herkes anlıyor mu? 1333 01:00:41,200 --> 01:00:45,760 Çünkü şu anda, bizim dizide, Biz 0 indeksi kontrol ediyoruz, değil mi? 1334 01:00:45,760 --> 01:00:49,190 Ve 0 endekste Dize, ilk karakter. 1335 01:00:49,190 --> 01:00:51,820 Ve bu karakter, biz gidiyoruz o küçük olduğunu varsaymak. 1336 01:00:51,820 --> 01:00:55,980 Biz büyük harf yapmak istiyorsanız, biz kendi değerinden 32 çıkarmamız gerekir, 1337 01:00:55,980 --> 01:00:58,620 Bizim ASCII çünkü tablo, biz bunu elde nasıl 1338 01:00:58,620 --> 01:01:01,600 İlgili sonraki o büyük kılan değer. 1339 01:01:01,600 --> 01:01:03,714 Herkes anlıyor mu? 1340 01:01:03,714 --> 01:01:04,213 Evet. 1341 01:01:04,213 --> 01:01:06,530 >> HEDEF KİTLE: Ayrıca Could Bir minus-- küçük harfe do 1342 01:01:06,530 --> 01:01:08,080 >> ANDI'nin PENG: Evet, böylece var: Aslında gerçekten iyi. 1343 01:01:08,080 --> 01:01:10,455 Ben geri gelmek için gidiyorum soru bu yaptıktan sonra. 1344 01:01:10,455 --> 01:01:11,060 Evet. 1345 01:01:11,060 --> 01:01:13,940 Ve sonra isterseniz ne olup bittiğini görmek 1346 01:01:13,940 --> 01:01:16,180 Herhalde gidiyorum Sağ yazdırmak istediğiniz? 1347 01:01:16,180 --> 01:01:19,930 Birisi bana ne diyeceğim Burada yazdırmak istiyorum. 1348 01:01:19,930 --> 01:01:29,160 >> HEDEF KİTLE: printf yüzde c ters eğik çizgi [duyulamaz]. 1349 01:01:29,160 --> 01:01:33,570 Bu [duyulamaz] s i değerdir. 1350 01:01:33,570 --> 01:01:34,614 >> ANDI PENG: s i, üzgünüm? 1351 01:01:34,614 --> 01:01:35,530 HEDEF KİTLE: [duyulamaz]. 1352 01:01:35,530 --> 01:01:38,550 1353 01:01:38,550 --> 01:01:39,550 ANDI PENG: Bilmiyorum. 1354 01:01:39,550 --> 01:01:40,600 Ne düşünüyorsun? 1355 01:01:40,600 --> 01:01:44,016 >> HEDEF KİTLE: Şey, ben wouldn't-- Ben bring-- olmaz sanırım 1356 01:01:44,016 --> 01:01:46,944 Ben dışarı alacaktı içeride, çünkü [inaudible]. 1357 01:01:46,944 --> 01:01:49,726 1358 01:01:49,726 --> 01:01:51,392 ANDI PENG: Oh, bunu yapardı? 1359 01:01:51,392 --> 01:01:53,867 HEDEF KİTLE: Evet. 1360 01:01:53,867 --> 01:01:56,700 ANDI PENG: hadi yolu bırakalım o ve ben neden daha sonra açıklayacağım. 1361 01:01:56,700 --> 01:01:58,533 Zaman bile, unutmayın Bir yer tutucu var, 1362 01:01:58,533 --> 01:02:00,701 bunu etrafına parantez koymak istiyorum. 1363 01:02:00,701 --> 01:02:01,200 Pekala. 1364 01:02:01,200 --> 01:02:04,810 Yani bu burada katı bir işlevi olmalıdır. 1365 01:02:04,810 --> 01:02:06,370 Şunu çalıştıralım ve derler olmadığına bakın. 1366 01:02:06,370 --> 01:02:08,750 Üst olun. 1367 01:02:08,750 --> 01:02:09,250 Ah ah. 1368 01:02:09,250 --> 01:02:12,030 1369 01:02:12,030 --> 01:02:13,340 Bu çok iyi görünmüyor. 1370 01:02:13,340 --> 01:02:14,507 Bu neden oluyor? 1371 01:02:14,507 --> 01:02:17,340 Herhangi bir hata olduğu gibi, gitmek istediğiniz sırt ve ilki ile başlamak, 1372 01:02:17,340 --> 01:02:20,630 genellikle bir hata nedenleri yüzünden ondan sonra diğer hatalar çok. 1373 01:02:20,630 --> 01:02:26,700 Burada upper.c bkz: 18: 25, söyler Bana bu programda, upper.c adlı 1374 01:02:26,700 --> 01:02:33,800 hat 18, hata örtük ilan fonksiyonları kütüphanesi tip strlen 1375 01:02:33,800 --> 01:02:36,330 unassigned-- vesaire, bilmiyorum Ne bundan sonra oluyor. 1376 01:02:36,330 --> 01:02:39,990 >> Tüm şu anda bana olan söylüyor O şey strlen oluyor. 1377 01:02:39,990 --> 01:02:43,520 Ve bilgisayar, çünkü karışık oluyor o gibi ben strlen ne olduğunu bilmiyorum ki? 1378 01:02:43,520 --> 01:02:45,520 Ne muhtemelen yapar Eğer kaçırdığını söyleyen oldu mu? 1379 01:02:45,520 --> 01:02:46,490 >> HEDEF KİTLE: Sen [duyulamaz] kaçırıyorsun. 1380 01:02:46,490 --> 01:02:47,630 >> ANDI PENG: Haklısın. 1381 01:02:47,630 --> 01:02:49,510 Kesinlikle. 1382 01:02:49,510 --> 01:02:52,140 O nerede Yani bu emin olmak için önemlidir 1383 01:02:52,140 --> 01:02:56,970 Bu sizin kullandığınız her fonksiyonu senin Kod doğru başlık yaşıyor 1384 01:02:56,970 --> 01:02:59,660 Başka kitaplık için dosya veya Eğer hatalar çok almak için gidiyoruz 1385 01:02:59,660 --> 01:03:01,150 ve kod gitmiyor Neler bilmek. 1386 01:03:01,150 --> 01:03:03,050 Yani biz burada string.h dahil gidiyoruz. 1387 01:03:03,050 --> 01:03:06,270 >> Şimdi üst derlemeye çalıştığınızda. 1388 01:03:06,270 --> 01:03:08,410 Doğru derleyin. 1389 01:03:08,410 --> 01:03:09,960 Şimdi bu programı çalıştırın. 1390 01:03:09,960 --> 01:03:12,000 Yani küçük harflerle bir şeyler yazın. 1391 01:03:12,000 --> 01:03:14,920 Siz ne tip istiyorsun? 1392 01:03:14,920 --> 01:03:16,546 Bir şey haykırmak. 1393 01:03:16,546 --> 01:03:17,920 Pekala, Charly sadece yürüdü. 1394 01:03:17,920 --> 01:03:18,990 Biz Charly adını yazın edeceğiz. 1395 01:03:18,990 --> 01:03:21,670 1396 01:03:21,670 --> 01:03:22,840 >> Küçük harflerle Charly. 1397 01:03:22,840 --> 01:03:27,742 Ve umarım, inşallah, bu haykırmak ve tükürmek olacak 1398 01:03:27,742 --> 01:03:28,575 Büyük harf Charly. 1399 01:03:28,575 --> 01:03:30,830 Yay! 1400 01:03:30,830 --> 01:03:33,430 Herkes anlamak yok Bunu çözmek hakkında gitti? 1401 01:03:33,430 --> 01:03:36,190 Yol I can tamsayılar kullanarak işlemek 1402 01:03:36,190 --> 01:03:39,410 şey çözmek için Ben dizeleri yapmak istiyorum, 1403 01:03:39,410 --> 01:03:44,390 karakterler ve tamsayılar can çünkü Aynı şekilde, çünkü başvurulan 1404 01:03:44,390 --> 01:03:45,540 ASCII haritalama. 1405 01:03:45,540 --> 01:03:52,890 >> Yani eğer, senin noktaya geri dönmek için ben 32 yerine buraya koymak istedim 1406 01:03:52,890 --> 01:03:58,959 Büyük bir gibi bir küçük harfe eksi Bu, o, hem de eşit işe 1407 01:03:58,959 --> 01:04:01,750 çünkü o sadece sadece Bu iki değer arasındaki fark. 1408 01:04:01,750 --> 01:04:09,570 Ben bu vasıtasıyla yine Charly yapmak istiyorsanız. 1409 01:04:09,570 --> 01:04:10,320 Oh hayır. 1410 01:04:10,320 --> 01:04:11,820 Sanırım evet, yanlış yoldan gitti düşünüyorum? 1411 01:04:11,820 --> 01:04:13,260 >> HEDEF KİTLE: [duyulamaz] Bir küçük harfe. 1412 01:04:13,260 --> 01:04:14,260 >> ANDI PENG: İşte buyurun. 1413 01:04:14,260 --> 01:04:22,380 1414 01:04:22,380 --> 01:04:22,880 Evet. 1415 01:04:22,880 --> 01:04:24,920 Ve dışarı charly tükürür. 1416 01:04:24,920 --> 01:04:28,020 Peki ne zaman dikkatli olun değerleri çıkarılarak ediyoruz 1417 01:04:28,020 --> 01:04:30,400 hangisinin hatırlamak Diğer daha fazla. 1418 01:04:30,400 --> 01:04:35,220 Örneğin, buraya ben unuttum O küçük bir aslında 1419 01:04:35,220 --> 01:04:38,540 Büyük A büyükse ne zaman I Onlara başka bir şekilde çıkarmak için çalıştı 1420 01:04:38,540 --> 01:04:40,600 etrafında, negatif 32 aldım. 1421 01:04:40,600 --> 01:04:42,800 Ve benim bilgisayar, gibiydi Ben ne olduğunu bilmiyorum. 1422 01:04:42,800 --> 01:04:45,810 Sadece bazı rastgele olasılık var çok iyi değil değer. 1423 01:04:45,810 --> 01:04:48,760 Ve böylece sen emin olun Doğru uzunluğu çıkarılarak 1424 01:04:48,760 --> 01:04:52,831 İstediğiniz karakteri bulmak için. 1425 01:04:52,831 --> 01:04:53,330 TAMAM. 1426 01:04:53,330 --> 01:04:58,550 Herkes biz nasıl karıştırılır Bu işlevi yazma hakkında gitti? 1427 01:04:58,550 --> 01:04:59,180 TAMAM. 1428 01:04:59,180 --> 01:05:04,830 Yani aslında bir işlev zaten Kütüphane denir ctype.h bulunmaktadır. 1429 01:05:04,830 --> 01:05:06,417 Kütüphanenin denilen ctype.h. 1430 01:05:06,417 --> 01:05:08,500 Bu fonksiyon aslında zaten sizin için yazılmış. 1431 01:05:08,500 --> 01:05:10,820 Üst için denir. 1432 01:05:10,820 --> 01:05:13,027 >> Ve böylece amaçlı Bu pset, sen gidiyorsun 1433 01:05:13,027 --> 01:05:15,860 Eğer gerçekten kullanmak istediğinizi bulmak için içerdiği bir çok fonksiyonu 1434 01:05:15,860 --> 01:05:17,390 ctype kütüphane içinde. 1435 01:05:17,390 --> 01:05:21,040 , Alt, üst, üst olduğu için, bir lower-- olanlar tüm fonksiyonlar 1436 01:05:21,040 --> 01:05:24,914 çok kullanmak mümkün olacak, çok hızlı bir şekilde kendi kodu olduğunu 1437 01:05:24,914 --> 01:05:26,080 Bu tam olarak ne yapar. 1438 01:05:26,080 --> 01:05:28,941 Biz nasıl dönüştürüleceğini yazdı bir dize büyük harfe. 1439 01:05:28,941 --> 01:05:31,440 Ama bu aslında kodu başkasının yazmış olduğu 1440 01:05:31,440 --> 01:05:33,800 ve erişebileceğiniz bu Farklı bir fonksiyonu aracılığıyla. 1441 01:05:33,800 --> 01:05:34,300 Evet? 1442 01:05:34,300 --> 01:05:39,570 >> HEDEF KİTLE: Yani sadece orada bir kopyasını ve her harf için bunu? 1443 01:05:39,570 --> 01:05:42,070 >> ANDI PENG: Evet, ben değil çünkü Bir değerlerinin umurumda. 1444 01:05:42,070 --> 01:05:44,540 Ben sadece fark bakım Aralarında doğru, 32 mi? 1445 01:05:44,540 --> 01:05:48,210 Küçük harf arasındaki fark B ve büyük B de 32'dir. 1446 01:05:48,210 --> 01:05:50,860 Ve c arasındaki fark ve büyük harf C hep 32'dir. 1447 01:05:50,860 --> 01:05:53,235 >> Ben sadece umurumda zorunda İkisi arasındaki fark, 1448 01:05:53,235 --> 01:05:56,666 tüm harfleri yüzünden Doğru, aynı modeli takip? 1449 01:05:56,666 --> 01:05:58,540 Ben fark varsa Bunların arasında, tek bir 1450 01:05:58,540 --> 01:06:01,050 Biliyorum ne fark bunların hepsi arasındadır. 1451 01:06:01,050 --> 01:06:01,740 İyi soru. 1452 01:06:01,740 --> 01:06:04,090 Evet. 1453 01:06:04,090 --> 01:06:06,660 Herkes iyi? 1454 01:06:06,660 --> 01:06:09,080 TAMAM. 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 >> TAMAM. 1458 01:06:15,270 --> 01:06:20,310 Yani başka bir kavram olduğunu senin gibi çok yararlı olacak 1459 01:06:20,310 --> 01:06:22,570 geliştirmeye devam kodunuzu bu fikir 1460 01:06:22,570 --> 01:06:25,430 fonksiyonlar veya soyutlama oluşturma. 1461 01:06:25,430 --> 01:06:28,479 Yani şimdi, hepimiz cebir aldık. 1462 01:06:28,479 --> 01:06:31,770 Cebir, sen olduğunu öğretilir Bu harika bir şey bir işlevi olarak adlandırılan 1463 01:06:31,770 --> 01:06:35,300 Makine, nerede eğer numara giriş tek tür, 1464 01:06:35,300 --> 01:06:38,720 Bu harika fonksiyon geçiyor ve dışarı doğru, farklı bir çıkış çıkar? 1465 01:06:38,720 --> 01:06:42,220 Kodda, aynı şey olmuyor fonksiyonun herhangi bir tür. 1466 01:06:42,220 --> 01:06:48,230 >> Yani fiziksel olarak olabilir Benim kod bedenimde yazma 1467 01:06:48,230 --> 01:06:52,357 aslında yok bir ana ilkesi ne olursa olsun kod gövdesi yapıyor. 1468 01:06:52,357 --> 01:06:54,940 Bunun dışında ancak, ben de can Birçok farklı işlevleri yazabilirsiniz 1469 01:06:54,940 --> 01:06:56,320 pek çok farklı şeyler yapmak. 1470 01:06:56,320 --> 01:06:58,570 Örneğin, biz zaten var bazıları kullanmaya başladı. 1471 01:06:58,570 --> 01:07:00,610 Printf-- bir olduğunu fonksiyon bu başkası 1472 01:07:00,610 --> 01:07:02,870 zaten yazmış Bizim kod çağırabilirsiniz. 1473 01:07:02,870 --> 01:07:05,410 Bu durumda upper-- için, upper-- başka işlevi 1474 01:07:05,410 --> 01:07:07,330 Biz biz yazdık Bizim kod çağırabilirsiniz. 1475 01:07:07,330 --> 01:07:09,520 Ve bu yüzden neden bunu tahmin biz bile işlevlere sahiptir? 1476 01:07:09,520 --> 01:07:12,100 Neden sadece plop yok tüm kod aynı çizgide? 1477 01:07:12,100 --> 01:07:13,730 Bu herkes için kolaylaştırır. 1478 01:07:13,730 --> 01:07:19,200 >> Eh, bu arkasındaki mantık organizasyon, her şeyden önce, olduğunu. 1479 01:07:19,200 --> 01:07:21,880 Bu gidiş gerçekten sinir bozucu Birinin kod aracılığıyla 1480 01:07:21,880 --> 01:07:25,110 ve printf gibi bir fonksiyon. 1481 01:07:25,110 --> 01:07:28,570 Siz aslında bilseydim neler fonksiyon printf yazmak için gerektirdiği 1482 01:07:28,570 --> 01:07:30,530 bu kod 1000 hatları gibi, bu. 1483 01:07:30,530 --> 01:07:32,357 >> Eğer istediğim her zaman şey printf'in, 1484 01:07:32,357 --> 01:07:35,440 Ben, kod satırlarını 1000 yazmak zorunda Bu, okumak gerçekten can sıkıcı olurdu 1485 01:07:35,440 --> 01:07:36,290 sağ? 1486 01:07:36,290 --> 01:07:38,860 Biz sadece ettik yüzden Bu soyut fonksiyonu yarattı 1487 01:07:38,860 --> 01:07:41,670 Biz birileri var Başka bir yerde yazmıştır. 1488 01:07:41,670 --> 01:07:44,920 Ve her zaman biz bunu kullanmak gerekir Bizim kod, sadece printf söylemek zorundayım. 1489 01:07:44,920 --> 01:07:48,070 Ve bu işlevi kullanmak mümkün başkası bizim kod yazmıştır. 1490 01:07:48,070 --> 01:07:51,020 Bu kolaylaştırır örgütsel kod okumak için. 1491 01:07:51,020 --> 01:07:53,460 >> İkincisi, bu sadeleştirme var. 1492 01:07:53,460 --> 01:07:56,750 Biz gereken adımları kolaylaştırır Bizim sorunu çözmek için almak. 1493 01:07:56,750 --> 01:07:59,300 Printf, printf gibi fonksiyonlar, Üst nasıl işlev 1494 01:07:59,300 --> 01:08:03,560 için bize izin her şey vardır daha kolay böylece aşağı bizim kodunu basitleştirmek. 1495 01:08:03,560 --> 01:08:05,830 Ve son şey yeniden kullanılabilirliği olduğunu. 1496 01:08:05,830 --> 01:08:08,710 >> Elimizdeki gerçeği Yani Bir işlevi çağrılır printf 1497 01:08:08,710 --> 01:08:11,990 birçok farklı çağırabilirsiniz Zaman ve yeniden kullanılabilir olmasını sağlar. 1498 01:08:11,990 --> 01:08:14,980 Ben printf yazmak için olsaydı, Ben sadece bir kez yazın. 1499 01:08:14,980 --> 01:08:16,439 Sadece bu tek bir yerde bulunmaktadır. 1500 01:08:16,439 --> 01:08:19,890 Ben tekrar yapmak isteseydim, yapardım kopyalamak ve bütün yapıştırmak zorunda 1501 01:08:19,890 --> 01:08:21,760 kod benim ikinci hattına. 1502 01:08:21,760 --> 01:08:24,880 Biz bir işlev oluşturursanız yüzden Bu, bizim ana dışında var 1503 01:08:24,880 --> 01:08:26,880 biz sadece çağırabilirler o ve ne zaman yeniden 1504 01:08:26,880 --> 01:08:29,604 böylece çok daha kolay olduğunu gerek Bizim için programlar yazmak için. 1505 01:08:29,604 --> 01:08:32,220 1506 01:08:32,220 --> 01:08:35,549 >> Yani yol aslında yazmak olacağını Bir işlev, doğru çok benzer? 1507 01:08:35,549 --> 01:08:37,590 Bu ilk tür örnek yaparız hangi 1508 01:08:37,590 --> 01:08:42,830 Bir tarzı bir işlev üstlenmek bakın Bizim int main boşluğun farklı. 1509 01:08:42,830 --> 01:08:46,779 Bu durumda, eğer ben istedim Doğru, q isminde bir fonksiyon yazabiliriz? 1510 01:08:46,779 --> 01:08:49,370 >> Ve burada int değeri beni anlatıyor, 1511 01:08:49,370 --> 01:08:51,649 Ben bu ne istiyorsun Bana dönmek için işlev? 1512 01:08:51,649 --> 01:08:54,484 Ben bir tamsayı küp istiyorsanız, Ben girmek istediğiniz gidiyorum. 1513 01:08:54,484 --> 01:08:55,525 Bu parametreler. 1514 01:08:55,525 --> 01:08:58,490 Ben int türünde bir değer girişleri için gidiyorum. 1515 01:08:58,490 --> 01:09:01,300 Ve geri dönmek için gidiyorum int başka tür değer. 1516 01:09:01,300 --> 01:09:03,050 Ve burada, senin kadar Tüm yapıyorum, görebilirsiniz 1517 01:09:03,050 --> 01:09:07,300 Benim girdi ne olursa olsun cubing olduğunu Benim çıkış olarak ve dönen. 1518 01:09:07,300 --> 01:09:10,790 >> Peki tüm bu fonksiyon olduğunu yapar tamsayı çeşit alır. 1519 01:09:10,790 --> 01:09:14,979 Bu kez kendisi tarafından çarpar böylece yürürlükte küpler. 1520 01:09:14,979 --> 01:09:17,729 Ve o zaman döndürür ne olursa olsun çıkıştır. 1521 01:09:17,729 --> 01:09:20,540 Bu yüzden, bu durumda, bu iki satır var: biz fazladan yazmak zorunda kaldım kodu. 1522 01:09:20,540 --> 01:09:22,880 Ama biz diyoruz istedim Bu birden çok kez üzerine, 1523 01:09:22,880 --> 01:09:26,210 o bir yazın çok daha kolay daha küpte var burada hat 1524 01:09:26,210 --> 01:09:28,830 birden çok kez gitmek zorunda. 1525 01:09:28,830 --> 01:09:34,180 >> Yani yol olduğunu esasen herhangi bir fonksiyonun herhangi bir tür için biçimlendirme 1526 01:09:34,180 --> 01:09:36,420 mevcut gidiyor burada gibidir. 1527 01:09:36,420 --> 01:09:38,659 Yani biz işlev adı var. 1528 01:09:38,659 --> 01:09:39,950 Bu durumda, bu küp denir. 1529 01:09:39,950 --> 01:09:42,033 Ve biz bunu Küpü çünkü isim o hatırlamak kolay. 1530 01:09:42,033 --> 01:09:44,220 Bunu kare isim ve aslında küp edilebilir. 1531 01:09:44,220 --> 01:09:45,500 Farketmez. 1532 01:09:45,500 --> 01:09:48,020 Sen sadece bir isim senin işlevi atama. 1533 01:09:48,020 --> 01:09:51,660 >> Burada bu hakkın, int, bir İhtiyacınız parametrenin türü. 1534 01:09:51,660 --> 01:09:54,149 Yani bu işlevi ne işletmek için gereken? 1535 01:09:54,149 --> 01:09:55,990 Peki, bu bir giriş ihtiyacı var. 1536 01:09:55,990 --> 01:09:56,704 Ben girdi adını verdi. 1537 01:09:56,704 --> 01:09:58,120 Sen ne istersen onu adlandırabilirsiniz. 1538 01:09:58,120 --> 01:10:00,500 Ama ben int türünde bir şeye ihtiyacım var. 1539 01:10:00,500 --> 01:10:03,730 Aslında yürütmek için gidiyor Burada içinde ne olursa olsun, 1540 01:10:03,730 --> 01:10:04,990 fonksiyonun gövdesi. 1541 01:10:04,990 --> 01:10:07,847 Ve sonra dönüş tipi Burada, bu int-- 1542 01:10:07,847 --> 01:10:09,680 Tüm bu beni bir söylüyor Bu fonksiyonu olduğunu 1543 01:10:09,680 --> 01:10:11,250 int bana dönecek. 1544 01:10:11,250 --> 01:10:14,460 Yani bir int almak için gidiyor ve var bir int size geri vermek için gidiyor. 1545 01:10:14,460 --> 01:10:17,750 Herkes nasıl anladı mı Bu tür biçimlendirme çalışıyor? 1546 01:10:17,750 --> 01:10:18,250 Güzel. 1547 01:10:18,250 --> 01:10:24,690 1548 01:10:24,690 --> 01:10:25,740 >> TAMAM. 1549 01:10:25,740 --> 01:10:31,770 Bu gibi görünüyor Yani endişeli olmayın Şimdi biraz soyut hakkı. 1550 01:10:31,770 --> 01:10:33,450 Bu konuşmamız olacak bir şeydir. 1551 01:10:33,450 --> 01:10:36,310 Biz derin dalış olacak Daha sonra ders. 1552 01:10:36,310 --> 01:10:41,170 Yolu, yüksek bir seviyede herhangi bir tür bunlar işin soyutlama 1553 01:10:41,170 --> 01:10:43,530 ise, bellekte, bu Bilgisayarınız her şey 1554 01:10:43,530 --> 01:10:47,660 Bu tip saklanır yığının, ben diyeyim. 1555 01:10:47,660 --> 01:10:49,070 >> Orada en üstünde Yani. 1556 01:10:49,070 --> 01:10:50,861 Bilmiyorum eğer adamlar o kadar da iyi görebiliyorum. 1557 01:10:50,861 --> 01:10:52,590 Ben yakınlaştırmak için çalışacağım. 1558 01:10:52,590 --> 01:10:55,111 İşte üstünde, biz Fiziksel metni 1559 01:10:55,111 --> 01:10:57,860 Bilgisayar interpreting-- olanın tüm sıfırlar ve olanları o 1560 01:10:57,860 --> 01:10:59,540 bizim bilgisayar içinde var. 1561 01:10:59,540 --> 01:11:03,390 Ve sonra biz başlatıldı var Veri ve başlatılmamış verileri, 1562 01:11:03,390 --> 01:11:05,340 ne genel değişkenler diyoruz. 1563 01:11:05,340 --> 01:11:08,200 Mevcut değişkenlere Yani tüm programlar arasında 1564 01:11:08,200 --> 01:11:11,815 ve entire genelinde, esas olarak, kod. 1565 01:11:11,815 --> 01:11:13,940 Endişeye gerek yok siz iseniz tür belirsiz bu konuda. 1566 01:11:13,940 --> 01:11:16,060 Şu an gerçekten önemli değil. 1567 01:11:16,060 --> 01:11:18,680 >> Ve sonra ne var bir yığın bir yığın çağırdı. 1568 01:11:18,680 --> 01:11:21,140 Kelimenin tam anlamıyla bir yığının düşünün sadece şeylerin bir yığın gibi, 1569 01:11:21,140 --> 01:11:23,098 Farklı bir yığın şeyler üstünde itiliyor 1570 01:11:23,098 --> 01:11:27,870 Çeşitli depolamak birbirinden kodunuzun içinde değişkenler ve sözdizimi. 1571 01:11:27,870 --> 01:11:31,460 Ve sonra burada çok altında, Biz ortam değişkenleri 1572 01:11:31,460 --> 01:11:35,480 Eğer içinde yürütme ne kod sadece küçük satır. 1573 01:11:35,480 --> 01:11:40,510 >> Ve biz sadece Büyütmek için gidiyoruz Gerçek yığın parçası olarak. 1574 01:11:40,510 --> 01:11:43,880 Biz Yani burada, yakınlaştırmak için yığının sadece bu alan üzerinde, 1575 01:11:43,880 --> 01:11:45,140 Bu göründüğü gibi değildir. 1576 01:11:45,140 --> 01:11:48,590 Ve bu aslında oldukça önemli olduğunu Siz işlevleri hakkında ne konuşmak, 1577 01:11:48,590 --> 01:11:52,330 çünkü haber olduğunu Bilgisayarınızın belleği 1578 01:11:52,330 --> 01:11:55,600 değişkenleri depolamak ve işlevleri 1579 01:11:55,600 --> 01:11:58,790 ve her ikisi de parametreleri kayıt fonksiyonu ve ana değişkenler 1580 01:11:58,790 --> 01:12:00,190 farklı yerlerde. 1581 01:12:00,190 --> 01:12:03,390 >> Yani şimdi, ana olduğunu gerçek işlev 1582 01:12:03,390 --> 01:12:04,780 Bir kod yürütme olduğunuzu. 1583 01:12:04,780 --> 01:12:08,050 Sen onun parametreleri burada saklanır var ve yerel değişkenler burada saklanır. 1584 01:12:08,050 --> 01:12:12,270 Yerel değişken sadece herhangi bir değişkeni ifade sadece bu işlevi içinde var. 1585 01:12:12,270 --> 01:12:15,610 Ve bunun üzerine, bu var küp olarak adlandırılan ayrı işlevi. 1586 01:12:15,610 --> 01:12:18,240 Bunu parametreler var var ayrıca bu halk olarak. 1587 01:12:18,240 --> 01:12:21,540 >> Nedeni ve mümkün olduğunu burada gördüğünüz 1588 01:12:21,540 --> 01:12:25,030 küp alır ne olur ana işlevinden değer 1589 01:12:25,030 --> 01:12:27,640 Aslında o aşkın kopyalama olması. 1590 01:12:27,640 --> 01:12:31,470 Ben küp istedim Yani eğer 2 ve 8 dönmek olduğunu 2 1591 01:12:31,470 --> 01:12:33,730 Aslında girildiği bir parametre olarak ve bu kadar 1592 01:12:33,730 --> 01:12:37,690 Eğer mevcut olması için üzerine kopyalanan bellekte iki farklı yerde. 1593 01:12:37,690 --> 01:12:40,520 Ve çok dikkatli olmak zorunda hatırlamak hangi onlardan biri 1594 01:12:40,520 --> 01:12:42,520 aslında manipüle ediyoruz. 1595 01:12:42,520 --> 01:12:47,170 Ve ne bir örnek Bu çok kötü olurdu 1596 01:12:47,170 --> 01:12:48,050 Burada mevcut. 1597 01:12:48,050 --> 01:12:50,760 1598 01:12:50,760 --> 01:12:58,650 >> Yani burada, ben var, teoride, Burada bir program, bir ana işlevi 1599 01:12:58,650 --> 01:13:02,180 Ben bir int ilan ediyorum x 1 eşittir. 1600 01:13:02,180 --> 01:13:04,505 Başka bir int y 2 eşit ilan ediyorum. 1601 01:13:04,505 --> 01:13:06,380 Ve sonra onu koşuyorum Bu fonksiyon sayesinde 1602 01:13:06,380 --> 01:13:09,647 Ben varsayalım denilen takas, bu iki değer takas ediyor. 1603 01:13:09,647 --> 01:13:11,480 Ve sonra ben gidiyorum Doğru, onları baskı? 1604 01:13:11,480 --> 01:13:13,220 Ben bu program yapmak istiyorum. 1605 01:13:13,220 --> 01:13:15,180 >> O yüzden gelip bir göz atalım. 1606 01:13:15,180 --> 01:13:18,200 Ben aslında farklı bir yazarsanız Yani fonksiyonu, gördüğünüz gibi, 1607 01:13:18,200 --> 01:13:19,750 Burada bizim ana işleve sahiptir. 1608 01:13:19,750 --> 01:13:22,860 Ve sonra bizim var Burada ikinci işlevi. 1609 01:13:22,860 --> 01:13:24,520 Void takas. 1610 01:13:24,520 --> 01:13:27,090 Void sadece var olduğu anlamına gelir bir şey geri gitmiyor. 1611 01:13:27,090 --> 01:13:28,930 Fonksiyon adı takas olarak adlandırılan ve var 1612 01:13:28,930 --> 01:13:33,730 alımı iki değişkenli, int a ve gidiş senin [duyulamaz] işlevi, b int. 1613 01:13:33,730 --> 01:13:39,010 >> Yani aslında burada biz konum Bu işlevi x ve y geçiriyordu. 1614 01:13:39,010 --> 01:13:40,760 Ve biz olsaydı bu yüzden istediğimiz bu-- oluşturmak 1615 01:13:40,760 --> 01:13:42,420 Doğru, geçici bir değer yaratmak? 1616 01:13:42,420 --> 01:13:43,930 Biz o atamak için gidiyoruz. 1617 01:13:43,930 --> 01:13:45,388 Ve sonra bir artık eşit b gidiyor. 1618 01:13:45,388 --> 01:13:47,660 B geri olacak nerede geçici değer, 1619 01:13:47,660 --> 01:13:51,070 olan bir zaman için Bir şeyleri takas etmek istiyorum, 1620 01:13:51,070 --> 01:13:52,320 Sadece onları takas gibi olamaz. 1621 01:13:52,320 --> 01:13:54,360 >> Bir out tutmak zorunda Burada hatırlar, böylece 1622 01:13:54,360 --> 01:13:56,485 Ne yani, çünkü bir kez birini takas, unutur 1623 01:13:56,485 --> 01:13:58,200 Doğru ne orijinal değeri oldu? 1624 01:13:58,200 --> 01:14:00,990 Teoride, bu program So Doğru, çalışması gerekir? 1625 01:14:00,990 --> 01:14:03,630 Ben takas isteseydim iki değiştirimesi gerekir. 1626 01:14:03,630 --> 01:14:05,490 Yani o da çalışmasına izin ve eğer o inşaat bakın. 1627 01:14:05,490 --> 01:14:11,130 1628 01:14:11,130 --> 01:14:16,940 >> Siz gördüğünüz gibi, x bir kez 1 ve y kez 2 idi. 1629 01:14:16,940 --> 01:14:21,475 Ve ben bunu yazdırmak, x de 1 dir ve Y, 2 'dir. 1630 01:14:21,475 --> 01:14:25,970 Hmm, bu program görünmüyor Ben çalışmak istediğiniz şekilde çalışma. 1631 01:14:25,970 --> 01:14:29,950 Herkes bir çekim istiyor mu Bu olay neden tahmin? 1632 01:14:29,950 --> 01:14:34,430 Bu yolu ile bir ilgisi yoktur farklı şeylerdir 1633 01:14:34,430 --> 01:14:38,172 bellekteki farklı yerlerde depolanmış. 1634 01:14:38,172 --> 01:14:39,377 >> TAMAM. 1635 01:14:39,377 --> 01:14:41,960 Yani siz endişelenmenize gerek yok Şu anda bu konuda çok fazla. 1636 01:14:41,960 --> 01:14:46,610 Ama bu küp yerel biliyorum değişkenleri a ve b vardı, 1637 01:14:46,610 --> 01:14:49,230 burada işlev için, a ve b 'ilan ettik 1638 01:14:49,230 --> 01:14:53,570 mevcut değişkenler olarak küp içinde, o işlev. 1639 01:14:53,570 --> 01:14:59,490 Ama sen, parametreleri görebilirsiniz o Burada saklanan ediliyordu olarak alıyor. 1640 01:14:59,490 --> 01:15:01,370 Ama biz aslında değildi bir şey dönüyor. 1641 01:15:01,370 --> 01:15:03,120 Biz aslında x ve y değişen değildi. 1642 01:15:03,120 --> 01:15:04,440 Biz sadece a ve b değişen bulundu. 1643 01:15:04,440 --> 01:15:08,340 >> Biz içine x ve y kopyalanan vardı bir şey a ve b çağırdı. 1644 01:15:08,340 --> 01:15:11,092 Ama biz asla aslında x ve y kendilerini manipüle. 1645 01:15:11,092 --> 01:15:12,800 Görme Siz misiniz Bu nasıl oluyor? 1646 01:15:12,800 --> 01:15:16,140 Biz sadece bunu kopyalanan ettik mi üzerinde, ama aslında muhafaza değil 1647 01:15:16,140 --> 01:15:18,030 onlar bellekte nerede iz. 1648 01:15:18,030 --> 01:15:20,127 >> Ve şimdi bilgisayar oh, ettik, bakıyor 1649 01:15:20,127 --> 01:15:21,960 aracılığıyla bu şeyi çalıştırmak bu güzel işlev. 1650 01:15:21,960 --> 01:15:23,690 Ancak x ve y x ve y de bulunmaktadır. 1651 01:15:23,690 --> 01:15:26,240 Hiçbir ne oldu Onları gerçeği nedeniyle 1652 01:15:26,240 --> 01:15:28,340 bu parametreler bu ve yerel değişkenler 1653 01:15:28,340 --> 01:15:30,150 Farklı saklanır bellekte yerleştirin. 1654 01:15:30,150 --> 01:15:32,030 Ve bu daha üst düzey bir kavram olduğunu yaparız 1655 01:15:32,030 --> 01:15:34,300 derste daha sonra görmeye başlayabilirsiniz. 1656 01:15:34,300 --> 01:15:36,950 Ama sadece bu olduğunu biliyorum olabilir bir sorun 1657 01:15:36,950 --> 01:15:41,400 ve biz nasıl yollarını anlamaya edeceğiz derste daha sonra bu anlaşma. 1658 01:15:41,400 --> 01:15:41,900 TAMAM. 1659 01:15:41,900 --> 01:15:47,750 1660 01:15:47,750 --> 01:15:48,250 Pekala. 1661 01:15:48,250 --> 01:15:51,780 Yani geçen kavram, biz konum Gerçekten kapak olacak 1662 01:15:51,780 --> 01:15:53,880 Bu yararlı olacak pset bu hafta 1663 01:15:53,880 --> 01:15:56,060 ne denir vardır komut satırı argümanları. 1664 01:15:56,060 --> 01:16:00,820 Yani konuşmasında Rob geçti nasıl bu çalışmaları kısaca tür. 1665 01:16:00,820 --> 01:16:02,770 Esasen biliyorum ne zaman yazıyoruz 1666 01:16:02,770 --> 01:16:06,280 Bir ana işlevi gibi biz Geçmişte önce fonksiyonlarını yazdı 1667 01:16:06,280 --> 01:16:07,804 Biz int main boşluğu vardı. 1668 01:16:07,804 --> 01:16:10,470 Ve nedeni geçersiz vardı orada Bizim programlar vermedi çünkü oldu 1669 01:16:10,470 --> 01:16:12,520 Doğru, çalıştırmak için giriş değerleri gerekiyor? 1670 01:16:12,520 --> 01:16:16,020 Ben Mario'yu koştum, ben gerek yoktu Aslında sadece bir şey yazmak için 1671 01:16:16,020 --> 01:16:16,970 ben Mario koştu. 1672 01:16:16,970 --> 01:16:20,170 Ben daha sonra kullanıcı istemi olabilir. 1673 01:16:20,170 --> 01:16:22,450 Ama bu her zaman böyle olmayacak. 1674 01:16:22,450 --> 01:16:24,980 >> Örneğin, bu haftanın problemi, setleri 1675 01:16:24,980 --> 01:16:28,365 sen, o sorulması için gidiyoruz Programınızı çalıştıran ek olarak, 1676 01:16:28,365 --> 01:16:30,990 girmek istediğiniz gidiyoruz senin gibi düz bazı şeyler 1677 01:16:30,990 --> 01:16:32,050 programınızı çalıştırın. 1678 01:16:32,050 --> 01:16:34,720 Bu yüzden bunu bir yol olarak adlandırılır Bir komut satırı argümanı, hangi 1679 01:16:34,720 --> 01:16:37,280 bir argüman gibi doğrudan giriş yapabilirsiniz 1680 01:16:37,280 --> 01:16:39,260 Eğer programı çalıştırmak için çalışıyoruz olarak. 1681 01:16:39,260 --> 01:16:44,680 >> Yani bu gösterimi, bu oldukça karmaşık görünümlü 1682 01:16:44,680 --> 01:16:47,320 ama gerçekten bu değil zor. Yani int main-- 1683 01:16:47,320 --> 01:16:48,910 Bu sadece ana işlevi var. 1684 01:16:48,910 --> 01:16:52,110 Argc virgül dize argv parantez içine. 1685 01:16:52,110 --> 01:16:56,040 Yani söylüyor tüm bu olduğunu int argc-- tüm bulunuyor söylüyorum 1686 01:16:56,040 --> 01:17:00,560 olanların sayısı olmasıdır Bilgisayar beklemesin argümanlar. 1687 01:17:00,560 --> 01:17:03,130 >> Gerçekten Yani bir şey izlemek için önemlidir 1688 01:17:03,130 --> 01:17:07,080 Programınızın fiziksel adıdır bu argümanlar biri olarak sayar. 1689 01:17:07,080 --> 01:17:11,080 Benim program istedim eğer öyleyse artı bir ilave komut satırı çalıştırabilirsiniz 1690 01:17:11,080 --> 01:17:13,310 argüman, aslında ben iki tane var olacak. 1691 01:17:13,310 --> 01:17:15,080 Argc aslında iki olacak. 1692 01:17:15,080 --> 01:17:18,010 Ve sonra dize argv bracket-- yaptığını tüm 1693 01:17:18,010 --> 01:17:20,410 bana bir veriyor var dizeleri dizisi 1694 01:17:20,410 --> 01:17:24,870 Sadece görüntülemek ve kaydetmek ne olacak Bu komut satırı argümanları tüm vardır. 1695 01:17:24,870 --> 01:17:34,090 >> Yani, örneğin, ben bu var istedim Program, doğru, Dosyası Çıkış ./copy? 1696 01:17:34,090 --> 01:17:37,330 Bu sadece tipik bir Linux komut var. 1697 01:17:37,330 --> 01:17:38,830 Aslında ne argc nedir? 1698 01:17:38,830 --> 01:17:41,320 Kaç komut satırı argümanları Bu aslında var? 1699 01:17:41,320 --> 01:17:45,130 Bütün bu yapar bir kopyasını yapmak olduğunu bir dosya adının bir infile 1700 01:17:45,130 --> 01:17:47,070 ve kopyalar içine başka bir dosya, değil mi? 1701 01:17:47,070 --> 01:17:48,700 Hepsi bu yapıyor bulunuyor. 1702 01:17:48,700 --> 01:17:53,080 Gördüğünüz gibi, ben tek bir satırda yapıyorum Aslında programı ihtiyaç duymadan. 1703 01:17:53,080 --> 01:17:55,380 >> Bu durumda, bizim argc nedir? 1704 01:17:55,380 --> 01:17:58,968 Biz Kaç argüman var? 1705 01:17:58,968 --> 01:17:59,634 HEDEF KİTLE: Üç? 1706 01:17:59,634 --> 01:18:01,200 ANDI PENG: Biz tam, üç var. 1707 01:18:01,200 --> 01:18:05,030 Bu yüzden çok sezgisel Sadece bu sadece olduğunu düşünüyorum 1708 01:18:05,030 --> 01:18:06,290 infile ve outfile. 1709 01:18:06,290 --> 01:18:10,190 Ama biliyoruz ki fiziksel ismi Program biri olarak sayar koşuyoruz. 1710 01:18:10,190 --> 01:18:13,220 Bu yüzden, bu durumda, argc aslında üçtür. 1711 01:18:13,220 --> 01:18:15,860 Peki, argv 0 nedir? 1712 01:18:15,860 --> 01:18:18,180 , Tüm hatırla komut satırı argümanları 1713 01:18:18,180 --> 01:18:20,500 dizeleri bir dizi içinde depolanmıştır. 1714 01:18:20,500 --> 01:18:24,140 Yani ben bunu erişmeye çalışırsanız ne dirsek 0 give me argv ki? 1715 01:18:24,140 --> 01:18:25,364 >> HEDEF KİTLE: [duyulamaz]. 1716 01:18:25,364 --> 01:18:26,155 ANDI PENG: Kesinlikle. 1717 01:18:26,155 --> 01:18:28,550 Bana nokta verecek çünkü o, kopya slash 1718 01:18:28,550 --> 01:18:31,070 0 elemanı, Benim dizinin ilk öğesi. 1719 01:18:31,070 --> 01:18:33,236 Ne argv 1 dersiniz? 1720 01:18:33,236 --> 01:18:33,945 >> HEDEF KİTLE: infile. 1721 01:18:33,945 --> 01:18:35,070 ANDI PENG: infile, kesinlikle. 1722 01:18:35,070 --> 01:18:36,272 Ne argv 2 dersiniz? 1723 01:18:36,272 --> 01:18:37,022 HEDEF KİTLE: Dosyası. 1724 01:18:37,022 --> 01:18:38,190 ANDI PENG: Dosyası. 1725 01:18:38,190 --> 01:18:39,290 Bu artık biraz zor. 1726 01:18:39,290 --> 01:18:42,630 Siz ne düşünüyorsunuz argv 3 beni vererek olacak 1727 01:18:42,630 --> 01:18:45,522 Bunu yazdırmak için çalıştı? 1728 01:18:45,522 --> 01:18:48,260 >> HEDEF KİTLE: [duyulamaz]? 1729 01:18:48,260 --> 01:18:50,164 >> ANDI PENG: Eğer bir el kadar var mıydı? 1730 01:18:50,164 --> 01:18:50,663 Evet. 1731 01:18:50,663 --> 01:18:51,550 >> İZLEYİCİ: bir alternatif. 1732 01:18:51,550 --> 01:18:52,341 >> ANDI PENG: Kesinlikle. 1733 01:18:52,341 --> 01:18:55,440 Yani derste hatırlıyorum biz Bir yarış şey sonunda sahip 1734 01:18:55,440 --> 01:18:56,640 null sonlandırıcı aradı? 1735 01:18:56,640 --> 01:18:58,890 Biz de bu işe alırsınız ileride sınıfta. 1736 01:18:58,890 --> 01:19:02,472 Ama gösterimde olduğunu biliyorum, yol bilgisayarınız 1737 01:19:02,472 --> 01:19:04,430 bu sonu olduğunu bilir dizinin buna olmasıdır 1738 01:19:04,430 --> 01:19:07,310 null denen birşey koyar terminatör veya çizgi sıfır. 1739 01:19:07,310 --> 01:19:12,047 >> Yani argv 3 erişmeye çalışırsanız, Bu çizgi 0 vurmak için gidiyoruz. 1740 01:19:12,047 --> 01:19:13,630 Bu hileli bir soru bile fazla. 1741 01:19:13,630 --> 01:19:17,020 Ne argv 4 hakkında? 1742 01:19:17,020 --> 01:19:20,920 Yani bu geçmiş boş sonlandırıcı olduğunu Bizim dizi sınırlarının geçmiş. 1743 01:19:20,920 --> 01:19:24,380 Gidiyor sen ne düşünüyorsun Biz bunu çalıştığınızda ne? 1744 01:19:24,380 --> 01:19:25,842 >> HEDEF KİTLE: [duyulamaz]? 1745 01:19:25,842 --> 01:19:26,550 ANDI PENG: Üzgünüm? 1746 01:19:26,550 --> 01:19:28,025 Bu biraz daha yüksek sesle söyle? 1747 01:19:28,025 --> 01:19:29,086 >> HEDEF KİTLE: [duyulamaz]. 1748 01:19:29,086 --> 01:19:29,710 ANDI PENG: Evet. 1749 01:19:29,710 --> 01:19:32,420 Yani adıdır büyük olasılıkla alırsınız alanı. 1750 01:19:32,420 --> 01:19:36,610 Ama bu argv biliyorum 4-- Bu erişim yapmanıza olanak sağlar 1751 01:19:36,610 --> 01:19:38,610 Bilgisayarınız yıllarda yerler hafıza size gerçekten 1752 01:19:38,610 --> 01:19:41,650 Çünkü, dokunaklı olmamalı Şu anda ne olduğunu argv biliyorum. 1753 01:19:41,650 --> 01:19:46,220 Bunu büyüklüğü 3 bir dizi olduğunu biliyorum Bu nokta kopyalama, infile ve outfile vardır. 1754 01:19:46,220 --> 01:19:50,200 >> Bunun ötesinde şimdiye kadar gitmeye çalışırsanız Eğer null Terminatör geçmiş olduğunuzu, 1755 01:19:50,200 --> 01:19:53,050 Bilgisayarınızda büyük olasılıkla vardır argv 4 saklanan bir şey. 1756 01:19:53,050 --> 01:19:55,790 Ve gerçekten olmamalı , argv 4 içine erişime izin 1757 01:19:55,790 --> 01:19:58,130 Eğer bir dosya var, çünkü dolap ve sadece sensin 1758 01:19:58,130 --> 01:19:59,790 Bu üç raflarında erişim izni. 1759 01:19:59,790 --> 01:20:02,870 Ama ötesine ulaşmaya çalışırsanız Eğer izin verilen nerede raf, 1760 01:20:02,870 --> 01:20:04,930 Eğer karıştırmasını başlatmak için gidiyoruz Bilgisayarınızın belleğinde başka şeyler. 1761 01:20:04,930 --> 01:20:06,690 Bu gerçekten, gerçekten kötü olacak. 1762 01:20:06,690 --> 01:20:07,440 Yani sadece biliyorum. 1763 01:20:07,440 --> 01:20:10,370 Senin için çok dikkatli olun sadece rastgele başlamaz 1764 01:20:10,370 --> 01:20:14,772 Bir dizideki eleman erişen o oluşturmak istediğini değildi. 1765 01:20:14,772 --> 01:20:17,114 Evet. 1766 01:20:17,114 --> 01:20:18,430 >> TAMAM. 1767 01:20:18,430 --> 01:20:26,360 Bu yüzden başka yapacağız Burada, terminal örneği. 1768 01:20:26,360 --> 01:20:27,300 TAMAM. 1769 01:20:27,300 --> 01:20:29,900 Hızla konferansta Rob Yani Geçen gün gitti 1770 01:20:29,900 --> 01:20:35,040 Bu örnek üzerinden, nerede vardı int main int argc dize argv 1771 01:20:35,040 --> 01:20:39,090 braketleri, ben olduğumu söylüyor hangi Komut satırı argümanları zorunda olacak. 1772 01:20:39,090 --> 01:20:41,860 >> Argc eşitse o vardır 2-- hatırlıyorum eşittir, 1773 01:20:41,860 --> 01:20:45,070 eşittir karşılaştırma anlamına eşittir. 1774 01:20:45,070 --> 01:20:47,980 2 eşitse, o zaman ben merhaba yazdırmak için gidiyoruz, 1775 01:20:47,980 --> 01:20:51,190 ne olursa olsun ilk Dizinin elemanıdır. 1776 01:20:51,190 --> 01:20:54,100 Else baskı, merhaba dünya. 1777 01:20:54,100 --> 01:20:56,300 Bu ne oluyor esasen olur? 1778 01:20:56,300 --> 01:21:00,570 Birisi sadece açıklayabilir İngilizce bu program ne yapıyor? 1779 01:21:00,570 --> 01:21:01,272 Evet. 1780 01:21:01,272 --> 01:21:08,160 >> HEDEF KİTLE: Birisi bir komut yazdıysanız ve onların adı ve soyadı dedi, 1781 01:21:08,160 --> 01:21:12,096 Sadece yazdırmaz tek ve merhaba demek ilk 1782 01:21:12,096 --> 01:21:14,090 ne olursa olsun ilk adıdır. 1783 01:21:14,090 --> 01:21:15,410 >> ANDI PENG: Tamam, hadi onu çalışmasına izin verin. 1784 01:21:15,410 --> 01:21:22,470 Ben olsaydım Yani örneğin, yapmak Bu dosya merhaba aşağıdaki amaçlara merhaba yapmak 1785 01:21:22,470 --> 01:21:24,500 Beni girmek ne istiyorsun aşağıdaki amaçlara? 1786 01:21:24,500 --> 01:21:25,900 >> HEDEF KİTLE: İlk ve son isim. 1787 01:21:25,900 --> 01:21:27,280 >> ANDI PENG: Ad ve soyadı? 1788 01:21:27,280 --> 01:21:28,180 Spaces? 1789 01:21:28,180 --> 01:21:29,690 >> HEDEF KİTLE: Evet. 1790 01:21:29,690 --> 01:21:33,490 >> ANDI PENG: Biri söyleyebilir Bana hemen, argc nedir? 1791 01:21:33,490 --> 01:21:35,630 Sadece orada? 1792 01:21:35,630 --> 01:21:36,290 Üzgünüz, özür dilerim. 1793 01:21:36,290 --> 01:21:37,920 Beni geri dönelim. 1794 01:21:37,920 --> 01:21:40,740 Kaç komut satırı argümanları Siz gerçekten göremiyorum mudur. 1795 01:21:40,740 --> 01:21:43,760 Ama yakınlaştırmak için çalışacağım. 1796 01:21:43,760 --> 01:21:44,290 Deniyorum. 1797 01:21:44,290 --> 01:21:45,414 Evet, doğru, üç var? 1798 01:21:45,414 --> 01:21:48,750 Bu merhaba nokta çizgi var, Andi, ve o Peng var. 1799 01:21:48,750 --> 01:21:51,870 >> Yani siz bu ne düşünüyorsun Program dışarı baskı olacak? 1800 01:21:51,870 --> 01:21:55,550 1801 01:21:55,550 --> 01:21:56,060 Ah. 1802 01:21:56,060 --> 01:21:57,120 Ah özür dilerim. 1803 01:21:57,120 --> 01:21:57,810 Yanlış isim. 1804 01:21:57,810 --> 01:22:03,630 1805 01:22:03,630 --> 01:22:06,130 O merhaba dünya, yazdırmak ediyor. 1806 01:22:06,130 --> 01:22:09,603 Herkes açıklamak isteyen var mı neden oluyor? 1807 01:22:09,603 --> 01:22:10,103 Evet? 1808 01:22:10,103 --> 01:22:11,019 >> HEDEF KİTLE: [duyulamaz]. 1809 01:22:11,019 --> 01:22:14,439 1810 01:22:14,439 --> 01:22:15,230 ANDI PENG: Kesinlikle. 1811 01:22:15,230 --> 01:22:19,940 Yani burada, koşullu argc 2'ye eşit eşitse vardır. 1812 01:22:19,940 --> 01:22:23,650 Yani sadece durumda var ki İki komut satırı argümanları. 1813 01:22:23,650 --> 01:22:25,850 Sonra yazdırmaya gidiyorum, merhaba, ne olursa olsun. 1814 01:22:25,850 --> 01:22:28,210 Ama başka, ben gidiyorum Sadece merhaba dünya yazdırın. 1815 01:22:28,210 --> 01:22:30,040 Yani birisi istiyor bana bir örnek vermek 1816 01:22:30,040 --> 01:22:35,050 nasıl ben aslında mümkün olacaktır bu argv 1 değerini yazdırmak için olsun? 1817 01:22:35,050 --> 01:22:38,600 >> Burada giriş ne olurdu? 1818 01:22:38,600 --> 01:22:39,840 Sadece bir şey, değil mi? 1819 01:22:39,840 --> 01:22:42,900 Dot merhaba zaten Çünkü İlk argüman olarak sayar. 1820 01:22:42,900 --> 01:22:43,930 Ben sadece bir tane daha var. 1821 01:22:43,930 --> 01:22:46,470 Ben sadece Andi yaparsam Yani merhaba dot. 1822 01:22:46,470 --> 01:22:47,270 Merhaba, Andi. 1823 01:22:47,270 --> 01:22:49,186 Herkes anladı mı neden oluyor? 1824 01:22:49,186 --> 01:22:49,602 Evet. 1825 01:22:49,602 --> 01:22:52,500 >> HEDEF KİTLE: Yani arasındaki boşluk Komut LINE o [inaudible] nedir? 1826 01:22:52,500 --> 01:22:56,247 1827 01:22:56,247 --> 01:22:56,830 ANDI PENG: Hayır 1828 01:22:56,830 --> 01:23:03,810 Komut satırında boşluk Yani argüman, x bilgisayarınızı anlatmak için 1829 01:23:03,810 --> 01:23:06,820 Bu bir yeni dize başlangıcıdır. 1830 01:23:06,820 --> 01:23:11,130 Yani dize argv o mağaza var-- senin komutları satırı argümanları tüm 1831 01:23:11,130 --> 01:23:13,110 dizeleri. 1832 01:23:13,110 --> 01:23:17,420 Ve böylece komut satırında boşluk , yaptığı tüm size olan argument-- 1833 01:23:17,420 --> 01:23:21,030 bu bir dizenin sonunda ve başka geçmek için zamanı geldi. 1834 01:23:21,030 --> 01:23:21,990 >> Evet. 1835 01:23:21,990 --> 01:23:23,530 Bu oldukça önemli olduğunu senin pset, sen çünkü 1836 01:23:23,530 --> 01:23:24,613 Bu test olacak. 1837 01:23:24,613 --> 01:23:29,300 Yani herkes var mı Bu konuda herhangi bir sorunuz var mı? 1838 01:23:29,300 --> 01:23:30,016 Tamam iyi. 1839 01:23:30,016 --> 01:23:30,515 Evet? 1840 01:23:30,515 --> 01:23:35,008 >> HEDEF KİTLE: Yani neden seni olur yerine tamsayı argüman calc koymak 1841 01:23:35,008 --> 01:23:40,059 İstediğiniz zaman içinde [inaudible] olurdu ek bilgi yazmak için 1842 01:23:40,059 --> 01:23:41,030 [Duyulamaz]? 1843 01:23:41,030 --> 01:23:42,090 >> ANDI PENG: Evet, kesinlikle. 1844 01:23:42,090 --> 01:23:45,370 Bazı programlar gerekecektir girdi bir komut satırı argümanı ile 1845 01:23:45,370 --> 01:23:47,732 o geçer ve bu için kullanır. 1846 01:23:47,732 --> 01:23:49,035 Evet. 1847 01:23:49,035 --> 01:23:50,410 HEDEF KİTLE: Peki, eğer [duyulamaz]? 1848 01:23:50,410 --> 01:23:55,440 1849 01:23:55,440 --> 01:23:58,870 >> ANDI PENG: Peki, ne var ne Benim programda daha sonra değiştirmek için? 1850 01:23:58,870 --> 01:23:59,870 >> HEDEF KİTLE: Sadece 3. 1851 01:23:59,870 --> 01:24:12,460 1852 01:24:12,460 --> 01:24:15,020 >> ANDI PENG: Neden olduğunu oluyor sizce? 1853 01:24:15,020 --> 01:24:18,940 >> HEDEF KİTLE: [Duyulmaz] çünkü. 1854 01:24:18,940 --> 01:24:22,370 >> HEDEF KİTLE: Sen olurdu [duyulamaz] 2 olarak değiştirin. 1855 01:24:22,370 --> 01:24:23,484 >> İZLEYİCİ: 1 ve 2. 1856 01:24:23,484 --> 01:24:24,650 ANDI PENG: 1 ve 2, tam. 1857 01:24:24,650 --> 01:24:29,150 Yani bu durumda, muhtemelen olur İki Printf statements-- istiyorum 1858 01:24:29,150 --> 01:24:32,601 argv 1 baskılı on ve argv 2 baskılı biri. 1859 01:24:32,601 --> 01:24:33,100 İşte. 1860 01:24:33,100 --> 01:24:34,516 Aslında gerçekten hızlı yapabilirsiniz. 1861 01:24:34,516 --> 01:24:46,720 1862 01:24:46,720 --> 01:24:47,320 Orada sen gitmek. 1863 01:24:47,320 --> 01:24:48,287 Ah. 1864 01:24:48,287 --> 01:24:49,370 Değil tamamen ne istediğini. 1865 01:24:49,370 --> 01:24:52,590 Ama etrafta siz karmaşa ile eğer biçimlendirme, o çıkacaktır. 1866 01:24:52,590 --> 01:24:54,981 Evet. 1867 01:24:54,981 --> 01:24:55,480 Güzel. 1868 01:24:55,480 --> 01:24:57,670 Ben biz zamanında biraz kısa olduğunu biliyorum. 1869 01:24:57,670 --> 01:25:02,469 Ama ben sadece hızlı bir harcamak için gidiyorum yararlı-- geçiyor birkaç dakika 1870 01:25:02,469 --> 01:25:03,760 HEDEF KİTLE: İki dakikanız var. 1871 01:25:03,760 --> 01:25:05,010 ANDI PENG: İki dakika var? 1872 01:25:05,010 --> 01:25:06,340 Teşekkür ederim. 1873 01:25:06,340 --> 01:25:09,180 Bazı hızlı pset ipuçları. 1874 01:25:09,180 --> 01:25:13,100 Bu pset Yani, ben son derece tavsiye Dediğim gibi, herkes spec okumak için. 1875 01:25:13,100 --> 01:25:16,804 Üç programs-- bir yazılı olacak , caesar.c adlı bir, initials.c adı 1876 01:25:16,804 --> 01:25:17,720 biri olarak adlandırılan vigenere.c. 1877 01:25:17,720 --> 01:25:20,465 1878 01:25:20,465 --> 01:25:22,340 Bazı önemli ipuçları olduğunu Siz gerçekten istediğiniz 1879 01:25:22,340 --> 01:25:25,040 böylece zihinli tutmak için Bu işlevi vardır 1880 01:25:25,040 --> 01:25:27,770 Söylemek gibi bir trois, atoi-- denir. 1881 01:25:27,770 --> 01:25:29,520 Bu eğer Belirsiz Aslında bunu nasıl söylüyor. 1882 01:25:29,520 --> 01:25:32,510 Ama bütün o giren ediyor, yapıyor. 1883 01:25:32,510 --> 01:25:34,320 Bu bir int bir dize dönüştürür. 1884 01:25:34,320 --> 01:25:37,490 Yani ben tamsayı ASCII temsil eder. 1885 01:25:37,490 --> 01:25:40,310 Bu sadece ASCII dönüştürme ediyor değerler değerler tamsayı. 1886 01:25:40,310 --> 01:25:44,510 Yani, bu mağazalar dizisi argv hatırlıyorum senin komutların tümünü arguments-- hat 1887 01:25:44,510 --> 01:25:46,300 o dizeleri olarak hepsini saklar. 1888 01:25:46,300 --> 01:25:50,010 Ve böylece muktedir istiyorsanız bunlardan biri bir tamsayıdır haline gelmiş, 1889 01:25:50,010 --> 01:25:52,750 Eğer zorunda gidiyoruz Burada bu değeri kullanmak için. 1890 01:25:52,750 --> 01:25:56,690 >> Modulo, biz kapalı gibi önceki sınıf bugün, 1891 01:25:56,690 --> 01:25:59,550 Eğer sahip olmanızı sağlar Eğer ne varsa kalanı. 1892 01:25:59,550 --> 01:26:03,620 Yani eğer biz gerçekten, gerçekten var Sezar büyük sayılar, 1893 01:26:03,620 --> 01:26:06,117 ne sonu varsa Vigenere bir dize? 1894 01:26:06,117 --> 01:26:08,450 Nasıl mümkün olacak etrafında sarmak almak için? 1895 01:26:08,450 --> 01:26:11,330 Ben z vurdu ve ben isterseniz Bir geri gitmek için, 1896 01:26:11,330 --> 01:26:13,650 nasıl almak için gidiyorum etrafında sarmak için? 1897 01:26:13,650 --> 01:26:15,960 Muhtemelen kullanmak istiyorsanız Orada bir yerde modulo. 1898 01:26:15,960 --> 01:26:19,190 >> İkincisi, dolaşmak kitaplığınızın. ctype.h. 1899 01:26:19,190 --> 01:26:20,680 Yani biz yeni bir kütüphane var. 1900 01:26:20,680 --> 01:26:25,270 Gerçekten, gerçekten bir sürü bulabilirsiniz kullanışlı functions-- isupper, islower, 1901 01:26:25,270 --> 01:26:27,681 toupper, tolower, isalpha, vesaire. 1902 01:26:27,681 --> 01:26:30,680 Çok yararlı olacaktır Tüm fonksiyonlar Eğer anlamaya çalışıyoruz, 1903 01:26:30,680 --> 01:26:33,780 Bu karakter küçük harf nedir? 1904 01:26:33,780 --> 01:26:35,730 Ben bu dönüştürmek nasıl Bir büyük harfe dize? 1905 01:26:35,730 --> 01:26:38,146 Bütün bunlar, çok olacak senin pset için çok yararlı. 1906 01:26:38,146 --> 01:26:42,720 1907 01:26:42,720 --> 01:26:45,500 TAMAM. 1908 01:26:45,500 --> 01:26:49,644 >> Ofis saatleri bu gece 08:00 kadar TEAL sınıfta 11:00 yarın 1909 01:26:49,644 --> 01:26:51,310 yanı sıra Çarşamba ve Perşembe gecesi olarak. 1910 01:26:51,310 --> 01:26:53,280 Ofis saatleri Commons vardır. 1911 01:26:53,280 --> 01:26:56,180 Son derece Sizi önermek tüm hemen başlamak 1912 01:26:56,180 --> 01:27:00,490 Bunu olmak istemiyorum çünkü Perşembe gecesi sorunları var çocuk 1913 01:27:00,490 --> 01:27:03,870 olan senin pset göndererek ve gibi, ben ne yapacağımı bilmiyorum. 1914 01:27:03,870 --> 01:27:05,870 Ben bitirdim, başladı, ben sundu. 1915 01:27:05,870 --> 01:27:09,737 Kendinize bazı oda vermek çalışın, Kod sorunlar her zaman ortaya çünkü. 1916 01:27:09,737 --> 01:27:11,570 Sen emin olmak Kendinizi vermek 1917 01:27:11,570 --> 01:27:14,810 zaman bir çok muktedir psets tamamlayın. 1918 01:27:14,810 --> 01:27:15,310 Güzel. 1919 01:27:15,310 --> 01:27:16,720 Burada asmak gerekir. 1920 01:27:16,720 --> 01:27:18,226 >> HEDEF KİTLE: Bu zaten online mı? 1921 01:27:18,226 --> 01:27:20,850 ANDI PENG: Bu eğer ben bilmiyorum Online zaten, ama bu olacak. 1922 01:27:20,850 --> 01:27:23,500 Herkes ben buraya asmak edeceğiz Zaten herhangi bir sorunuz vardır. 1923 01:27:23,500 --> 01:27:25,390 Geldiğin için teşekkürler. 1924 01:27:25,390 --> 01:27:27,105