1 00:00:00,000 --> 00:00:11,736 2 00:00:11,736 --> 00:00:16,626 >> [VİDEO OYNATMA] 3 00:00:16,626 --> 00:00:19,410 >> Matematiksel -Bir zaferi ve mekanik beceri 4 00:00:19,410 --> 00:00:23,270 Bu büyük yeni otomatik Harvard Üniversitesi'nde hesap. 5 00:00:23,270 --> 00:00:27,140 Matematik Karmaşık sorunlar kodlanmış biçimde makineden geçirilerek 6 00:00:27,140 --> 00:00:31,710 Kasette doğru bir çözülüyor zaman dakika fraksiyon gerekli 7 00:00:31,710 --> 00:00:32,819 İnsan hesaplama. 8 00:00:32,819 --> 00:00:44,280 9 00:00:44,280 --> 00:00:48,220 Her türlü hızlandırmak için tasarlanan matematiksel ve bilimsel araştırma, 10 00:00:48,220 --> 00:00:53,840 Dev mekanik beyin için çalışacaktır Amerika Birleşik Devletleri Deniz Kuvvetleri savaşın sonuna kadar. 11 00:00:53,840 --> 00:01:03,620 12 00:01:03,620 --> 00:01:06,570 >> [SON OYNATMA] 13 00:01:06,570 --> 00:01:08,590 >> DAVID J. MALAN: Bu, CS50 olduğunu. 14 00:01:08,590 --> 00:01:10,590 Geçmiş bir büyülü oldu yer, ama sen ettik eğer hiç 15 00:01:10,590 --> 00:01:13,366 Bu cihaz olduğunu merak Harvard Bilim Merkezi'nde, 16 00:01:13,366 --> 00:01:16,150 gerçekten bir parçasıdır Harvard Mark I ve var 17 00:01:16,150 --> 00:01:18,710 Şimdi orada Ekranda geçmiş yıllar için. 18 00:01:18,710 --> 00:01:20,590 Ve ne görürsünüz Sorun grubu gömülü 19 00:01:20,590 --> 00:01:24,416 tek perde arkasında bir göz Bu cihaz, yaptım ve yaptığı en neyi 20 00:01:24,416 --> 00:01:27,540 olan Profesör Harry Lewis, gelen Burada bilgisayar bilimi departmanı. 21 00:01:27,540 --> 00:01:29,440 Sadece biraz bu konuda Böylece daha fazla. 22 00:01:29,440 --> 00:01:33,990 >> Ama bugün geçiş başlar Geçen hafta bu, 23 00:01:33,990 --> 00:01:37,290 ve biz söz getireceğim burada bir fotoğraf 24 00:01:37,290 --> 00:01:38,630 aslında oldukça ünlü. 25 00:01:38,630 --> 00:01:42,270 Herkes bu ne biliyor mu Burada ekranda? 26 00:01:42,270 --> 00:01:43,880 En azından efsaneye göre. 27 00:01:43,880 --> 00:01:44,837 Evet. 28 00:01:44,837 --> 00:01:45,920 HEDEF KİTLE: ilk virüs. 29 00:01:45,920 --> 00:01:49,570 DAVID J. MALAN: Yani sözde Bir bilgisayarda ilk gerçek hata. 30 00:01:49,570 --> 00:01:52,490 Şimdi gerçekte kelime hata, Bir programda bir hata için, 31 00:01:52,490 --> 00:01:55,250 Bazı bizimle birlikte olmuştur fiziksel dünyada zaman, 32 00:01:55,250 --> 00:01:58,190 ve bu ilk biriydi belgelenmiş kez nerede birisi aslında 33 00:01:58,190 --> 00:02:02,280 Mark dışında büyük bir güve koparıp II bilgisayar, bağlayıcı koydum 34 00:02:02,280 --> 00:02:05,006 ve sonra kaydedilen Bilinen ilk hata olarak 35 00:02:05,006 --> 00:02:06,630 aslında fiziksel bulundu etmek. 36 00:02:06,630 --> 00:02:10,104 Yani bu şekilde girilmiştir Günümüz ilim içine. 37 00:02:10,104 --> 00:02:12,020 Geçen her şey Haftanın online olarak kullanılabilir. 38 00:02:12,020 --> 00:02:14,840 Belirli kaynaklara sen olabilir ille, özellikle fark 39 00:02:14,840 --> 00:02:15,881 bizzat buraya geliyor eğer. 40 00:02:15,881 --> 00:02:20,230 Yani öğretim arkadaşlarının birinin her Yıl notları kurallı dizi yapar, 41 00:02:20,230 --> 00:02:22,010 böylece tutmak gerekmez başınızı aşağı çalışıyor 42 00:02:22,010 --> 00:02:24,410 En şeyi yazıya Bu sınıfta burada ortaya çıkabilir. 43 00:02:24,410 --> 00:02:25,940 Yani bu fark [sözde? Scribd?] Notlar 44 00:02:25,940 --> 00:02:29,350 Kesinlikle slaytlar, online ve Sınıfta kullanmak kaynak kodu. 45 00:02:29,350 --> 00:02:31,436 Biz tam metin transkriptleri yapmak Mevcut yanı. 46 00:02:31,436 --> 00:02:34,310 Eğer hayal meyal hatırlıyorum Yani eğer bazı terim ve biraz yukarı bakmak istiyorum 47 00:02:34,310 --> 00:02:37,280 daha kolay, hepsi fark Bunun aranabilir yayında. 48 00:02:37,280 --> 00:02:38,930 Yanı hem de izlenecek. 49 00:02:38,930 --> 00:02:42,710 Nitekim, bugün bakmaya başlar Bir alt düzey bir programlama dili, 50 00:02:42,710 --> 00:02:45,290 yakında bize bilinen C, ve çok kolay 51 00:02:45,290 --> 00:02:48,820 çeşit sadece birkaç sonra kaybolmak anlar zaman, ve merak sonra sıralama 52 00:02:48,820 --> 00:02:52,370 biz aslında biraz daha var nasıl En basit karmaşık bir örnek. 53 00:02:52,370 --> 00:02:54,975 Ve böylece biz kiraz olacak gerçekleştirmek Sınıfta bazı esnasında almak 54 00:02:54,975 --> 00:02:57,850 temsili örneklerinin ancak çok daha da olduğunu fark 55 00:02:57,850 --> 00:03:01,140 Eğer çalışmak, böylece online bulunabilirlik Kendi hızınızda içinden 56 00:03:01,140 --> 00:03:02,950 ancak en rahat konum. 57 00:03:02,950 --> 00:03:05,200 >> Ama biz birlikte bıraktığımız Sadece bu idi programları. 58 00:03:05,200 --> 00:03:09,690 Yani yeşil bayrak tıklayın ve bu program ne yapar? 59 00:03:09,690 --> 00:03:10,710 Merhaba, dünya, diyor. 60 00:03:10,710 --> 00:03:13,180 Kedi dedirten merhaba onun küçük dünyasında 61 00:03:13,180 --> 00:03:15,990 Sol üst taraftaki Scratch kullanıcı arabiriminin. 62 00:03:15,990 --> 00:03:18,810 Ama biz tanıtmaya başladık Bazı terminoloji geçen hafta. 63 00:03:18,810 --> 00:03:23,614 Ve böylece, bu gibi şeyler bizim neyi aradı? 64 00:03:23,614 --> 00:03:25,280 Bunun için genel bir terim ne olabilir? 65 00:03:25,280 --> 00:03:26,266 Evet. 66 00:03:26,266 --> 00:03:28,210 Bir yöntem veya bir deyim. 67 00:03:28,210 --> 00:03:29,280 Tabii, bu bir eylem bu. 68 00:03:29,280 --> 00:03:30,140 Bunu yap. 69 00:03:30,140 --> 00:03:32,400 Ve yine vardı çizilmeye diğer şekiller, 70 00:03:32,400 --> 00:03:35,360 Bu sözde yanında Açıklamada, onlar da vardı 71 00:03:35,360 --> 00:03:38,221 Biz ne denir bu gibi şeyler? 72 00:03:38,221 --> 00:03:38,720 Evet. 73 00:03:38,720 --> 00:03:39,634 Yani bir döngü. 74 00:03:39,634 --> 00:03:42,050 Ve bu durumda, bu şey Tekrarlar, açıkçası, 10 kez. 75 00:03:42,050 --> 00:03:43,040 Bir sonsuza blok var. 76 00:03:43,040 --> 00:03:44,164 Başkalarının bir çift var. 77 00:03:44,164 --> 00:03:48,309 Ve bugün nasıl görmeye gidiyoruz Bir daha modern dünyaya bu tercüme, 78 00:03:48,309 --> 00:03:50,850 o olsa bile, eğer sen İlk bakışta çıkacaklar 79 00:03:50,850 --> 00:03:52,024 daha oynamasından olması. 80 00:03:52,024 --> 00:03:53,190 Ama bu gerçekten de döngüler vardı. 81 00:03:53,190 --> 00:03:56,182 Ve sonra gibi şeyler var Bu biçiminde bir bu, 82 00:03:56,182 --> 00:03:57,515 ve esasen sorulan sorular. 83 00:03:57,515 --> 00:03:58,890 Ve biz ne kadar bu ifade? 84 00:03:58,890 --> 00:03:59,762 >> HEDEF KİTLE: Boole ifadesi. 85 00:03:59,762 --> 00:04:00,320 >> DAVID J. MALAN: Evet. 86 00:04:00,320 --> 00:04:01,340 Boole ifadesi. 87 00:04:01,340 --> 00:04:04,502 Bir şey ya doğrudur ya da Yanlış, evet ya da hayır, bir ya da sıfır, 88 00:04:04,502 --> 00:04:05,960 Ancak dünyayı görmek istiyorum. 89 00:04:05,960 --> 00:04:08,335 Ama biz o Boole denilen ifadeleri ve biz onları takın 90 00:04:08,335 --> 00:04:09,900 koşullar, ya da dallara. 91 00:04:09,900 --> 00:04:12,170 Ve dünyada Çizilmeye, her şey güzel 92 00:04:12,170 --> 00:04:15,460 şekli açısından kilitleri, bunu yapmak için mantıklı mantıklı, 93 00:04:15,460 --> 00:04:18,490 ama sadece durdurmak zorunda değilsiniz şartlı bir şey yapıyor, 94 00:04:18,490 --> 00:04:20,450 Bir atasözü olabilir yolda çatal 95 00:04:20,450 --> 00:04:24,040 ve bu veya eğer birini yapın koşulun doğru veya değil. 96 00:04:24,040 --> 00:04:26,040 Ve sonra, olarak, göreceksiniz Henüz varsa, 97 00:04:26,040 --> 00:04:27,480 iç içe bu bloklar eşitlemek olabilir. 98 00:04:27,480 --> 00:04:32,110 Yani Scratch şekilleri doldurmak için büyür bunu içine eklemek isteyebilirsiniz, 99 00:04:32,110 --> 00:04:35,330 bu yüzden aslında ifade edebileceğiniz en Eğer yapmak isteyebilirsiniz herhangi mantık. 100 00:04:35,330 --> 00:04:38,220 >> Duyuru Şimdi birkaç kelime hem burada hem de New Haven için. 101 00:04:38,220 --> 00:04:39,370 Yani kesit bugün başlıyor. 102 00:04:39,370 --> 00:04:42,120 Bu URL kursu en açık Web sitesi, bilmeyenler için. 103 00:04:42,120 --> 00:04:43,970 Kesitler bir olacak fırsat araya gelmek 104 00:04:43,970 --> 00:04:46,553 çok daha samimi bir ortamda [daha? Sanders?], Izin verir 105 00:04:46,553 --> 00:04:50,347 Bir 10 ila 20 sınıf arkadaşları ile farklı pistlerde de adam öğretim, 106 00:04:50,347 --> 00:04:51,930 ve farklı adım, bunu seçerseniz. 107 00:04:51,930 --> 00:04:54,080 Gerçekten ders teklifleri Farklı kesitler 108 00:04:54,080 --> 00:04:57,340 daha rahat olanlar için, daha fazla konforlu ve bir yerde arasında, 109 00:04:57,340 --> 00:04:59,860 ve burada başparmak rolü olduğunu hiçbir resmi tanım var, 110 00:04:59,860 --> 00:05:04,600 ama daha az rahat iseniz, ne tür biliyorum. 111 00:05:04,600 --> 00:05:07,470 Sen hakkında biraz cesur konum geri, belki de ayak adım fikri 112 00:05:07,470 --> 00:05:10,130 sınıfta ya gösteren bölüm arasında bir in kadar. 113 00:05:10,130 --> 00:05:12,770 Sizin beri programlama oldum daha rahat, altı yaşında idi 114 00:05:12,770 --> 00:05:13,400 Belki sizin için. 115 00:05:13,400 --> 00:05:16,150 Ve bu bir toss-up tür ise, Tam olarak ne de aramda 116 00:05:16,150 --> 00:05:17,190 çıkartılacaktır. 117 00:05:17,190 --> 00:05:18,410 >> Şimdi, bu arada, Bir sınıfın bu boyutu, 118 00:05:18,410 --> 00:05:21,326 o bölüme bize oldukça zaman alır Herkes, bu yüzden sözde var, 119 00:05:21,326 --> 00:05:24,030 süper bölümler, yukarı önümüzdeki Haftasonu ve önümüzdeki hafta başında, 120 00:05:24,030 --> 00:05:26,570 böylece dersin web sitesine bir göz atın Tabii geniş olanlar için, 121 00:05:26,570 --> 00:05:28,610 ve aynı zamanda bu filme onları kim yapamaz. 122 00:05:28,610 --> 00:05:33,470 Ve bölümler kendilerini başlayacak hafta CS50 sıfır endeksinin üç. 123 00:05:33,470 --> 00:05:35,880 Sorun 0 zaten ayarlanmış dersin web sitesinde. 124 00:05:35,880 --> 00:05:40,010 Ve var olduğunu fark Dokuz sonlarında günler bu dönem. 125 00:05:40,010 --> 00:05:43,240 Yani bu son bir yükseltme yıl, beş geç gün vardı. 126 00:05:43,240 --> 00:05:46,210 >> Yani merak ediyorsanız eğer, Biz dokuz problem setleri var. 127 00:05:46,210 --> 00:05:53,200 Dokuz gün sonunda, her biri sahip Sadece haftada bir tane geçirebilirsiniz. 128 00:05:53,200 --> 00:05:56,089 Bu etkin bir bütün yapar Sorun nedeniyle Cuma setleri, 129 00:05:56,089 --> 00:05:58,630 ama hedef biraz koymak için psikolojik baskı bit 130 00:05:58,630 --> 00:06:01,100 size almak için denemek için Perşembe günü işler içinde 131 00:06:01,100 --> 00:06:03,960 yakında keşfedeceksiniz olarak, çünkü iyi ya da kötü, çoğu için 132 00:06:03,960 --> 00:06:07,820 Yazılım dünyasında her şey biter çok uzun süre tahmin daha alarak. 133 00:06:07,820 --> 00:06:10,620 Yani bir tür düşünün yardımcı olmak için fırsat 134 00:06:10,620 --> 00:06:13,880 Kendinizi, Perşembe hedef ama, evet, konfor almak 135 00:06:13,880 --> 00:06:14,950 Her şey Cuma kaynaklanmaktadır. 136 00:06:14,950 --> 00:06:17,590 Ve sen bunları göndermeniz durumunda Perşembe, bu harika. 137 00:06:17,590 --> 00:06:21,020 Hiçbir bonus puan veya ekstra var Bu süre karşılanması için kredi. 138 00:06:21,020 --> 00:06:23,250 Bu sadece bir koltuk değneği olması gerekiyordu. 139 00:06:23,250 --> 00:06:25,810 >> Ve çalışma saatleri, hem Burada ve New Haven, 140 00:06:25,810 --> 00:06:28,840 bizzat, sen istersen Bizim kurslardan herhangi birine ile bir araya 141 00:06:28,840 --> 00:06:31,060 yardım dostlar ve CA'lar öğretim. 142 00:06:31,060 --> 00:06:31,640 >> Pekala. 143 00:06:31,640 --> 00:06:33,110 Yani şimdi, şu daha gerçek yapalım. 144 00:06:33,110 --> 00:06:35,470 Ve bir an için başlatmak için gidiyor Biraz daha gizemli olsun, ama çok için 145 00:06:35,470 --> 00:06:37,310 hızla Cuma ve Önümüzdeki hafta olacak 146 00:06:37,310 --> 00:06:41,230 çok daha fazla yapmak mümkün Biz bugüne kadar Scratch içinde olabilir. 147 00:06:41,230 --> 00:06:44,350 Bu yüzden son kod tanıttı hafta, şekille de olsa. 148 00:06:44,350 --> 00:06:45,620 Bu puzzle parçaları oldu. 149 00:06:45,620 --> 00:06:48,800 Ve biz o olduğunu resmiyet Kaynak kodu denen şey, 150 00:06:48,800 --> 00:06:50,330 ama neye benziyordu ki? 151 00:06:50,330 --> 00:06:52,550 Eh, biraz baktım böyle bir şey. 152 00:06:52,550 --> 00:06:55,410 Ve, aslında, sadece bir tür biz bu nereye kızdırmak. 153 00:06:55,410 --> 00:06:57,800 Ben devam edeceğim ve Burada bir pencere açmak, 154 00:06:57,800 --> 00:06:59,810 ve ben sadece yeni dosya seçmek için gidiyorum. 155 00:06:59,810 --> 00:07:03,200 Ve ben bu dosyayı kaydetmek için gidiyorum merhaba nokta c gibi bir şey olarak. 156 00:07:03,200 --> 00:07:05,700 O seçenek Daha sadece bir an kelimeler. 157 00:07:05,700 --> 00:07:08,630 Ve bu nasıl birisi olabilir olduğu Bir program yazma konusunda gitmek. 158 00:07:08,630 --> 00:07:13,990 Standart G / Ç nokta h, int main Dahil yakın boşluk ve ardından açık kaşlı ayraç 159 00:07:13,990 --> 00:07:19,430 kaşlı ayraç, printf merhaba virgül dünyası, ters eğik çizgi n, noktalı virgül, Kaydet, aferin. 160 00:07:19,430 --> 00:07:19,930 TAMAM. 161 00:07:19,930 --> 00:07:21,670 Benim ilk yazdığım Program, ama gidiyor 162 00:07:21,670 --> 00:07:23,878 inanılmaz underwhelmed zaman aslında çünkü 163 00:07:23,878 --> 00:07:27,352 Elbette, bu programı çalıştırın, İlk yazarak merhaba yapmak, 164 00:07:27,352 --> 00:07:30,310 ve sonra merhaba eğik çizgi ve yaparız dot çok daha ayrıntılı olarak bu geçmesi 165 00:07:30,310 --> 00:07:31,730 Bir anda, o öyle hepsi bu. 166 00:07:31,730 --> 00:07:33,270 Herhangi bir açılır pencere açılır değildir. 167 00:07:33,270 --> 00:07:35,070 Bu şey yapmaz özellikle fantezi. 168 00:07:35,070 --> 00:07:38,830 Bütün yaptığı Ben bunu ne yapmak, ama nasıl bu kadar alabilirim? 169 00:07:38,830 --> 00:07:40,560 Ve nasıl biz üzerine inşa edersiniz? 170 00:07:40,560 --> 00:07:43,430 Peki, bir kaç tanıştırayım Burada farklı kavramlar. 171 00:07:43,430 --> 00:07:47,170 >> Yani biri, biz başlamak üzereyiz bir derleyici denilen bir program kullanarak. 172 00:07:47,170 --> 00:07:51,470 Bir derleyici, Mac OS, Windows için var Linux işletim sistemleri herhangi bir sayıda, 173 00:07:51,470 --> 00:07:54,540 ve biz yakında size tanıtacağız biz kullanıyor olacağı çevre, 174 00:07:54,540 --> 00:07:57,410 ama bir derleyici sadece general yazılım parçası için kullanılan terim 175 00:07:57,410 --> 00:08:01,940 Bu kaynak kodunu alır ve ondan nesne kodunu üretir. 176 00:08:01,940 --> 00:08:03,940 Diğer bir deyişle, eğer giriş için kaynak olarak sahip 177 00:08:03,940 --> 00:08:08,250 Kod, ben sadece yazdıklarınızı gibi bir şey, sonuçta nesne kodunu üretir. 178 00:08:08,250 --> 00:08:11,780 Ve nesne kodu sadece gerçekten o çıktılar söylemenin süslü yolu 179 00:08:11,780 --> 00:08:12,926 sıfır adlı ve kimsenin. 180 00:08:12,926 --> 00:08:14,800 Diğer bir deyişle, bir kaynak o olsa bile kod, 181 00:08:14,800 --> 00:08:17,240 Biraz Arcane bakmak olacak, ve biraz daha az dost 182 00:08:17,240 --> 00:08:19,590 ilk bakışta Scratch daha en azından bir şey 183 00:08:19,590 --> 00:08:21,120 biz insanların anlayabileceği. 184 00:08:21,120 --> 00:08:24,360 Bu tür görünüyor ve gibi geliyor İngilizce olsa bile çok özlü olduğunu. 185 00:08:24,360 --> 00:08:28,040 Sıfır en programlama Oysa ve kişinin, bizim öncekilerin yapmak zorunda olduğu gibi, 186 00:08:28,040 --> 00:08:30,920 Birkaç yıl önce, değildi özellikle eğlenceli bir meydan okuma. 187 00:08:30,920 --> 00:08:33,710 Ve yine, bu ne olduğu bilgisayar hala anlar. 188 00:08:33,710 --> 00:08:37,010 Yani derleyici bizi alır Kaynak kodu kodunu nesne. 189 00:08:37,010 --> 00:08:39,860 Bu bir dosyayı açmadan gibi derleyici, ve bunu kaydetmek zaman, 190 00:08:39,860 --> 00:08:41,419 o sıfırları ve yenilerini almak. 191 00:08:41,419 --> 00:08:43,419 Yani biz nasıl görürsünüz sadece bir an o. 192 00:08:43,419 --> 00:08:47,400 >> Ama şimdi diyelim bir sağlamaya çalışıyoruz geçen hafta ve bu arasında köprü, 193 00:08:47,400 --> 00:08:50,660 bile bu yüzden asılı olduğunu kaşlı ayraçlar gibi şeylere, 194 00:08:50,660 --> 00:08:54,100 ve noktalı virgül ve parantez ve Bu entelektüel ilginç hepsi 195 00:08:54,100 --> 00:08:57,620 programlama yönlerini, çok anlaşılır erken insanları çelme, 196 00:08:57,620 --> 00:09:00,930 fikirlerin hepsi fark bugün, son aynıdır. 197 00:09:00,930 --> 00:09:03,975 Bu yüzden geçen biz bu örneği gördüm Burada, Hello World programı. 198 00:09:03,975 --> 00:09:07,500 İstersek Eh, bugün başlıyor Aynı programını uygulamaya, 199 00:09:07,500 --> 00:09:10,800 Bir bakmak için gidiyor Böyle küçük bir şey. 200 00:09:10,800 --> 00:09:14,040 Ve biz, ne uzun int önce açıklayacağım Ana ve hükümsüz ve bütün bunlar ve 201 00:09:14,040 --> 00:09:18,770 ama en azından ben burada göremiyor zaten tanıdık Merhaba Dünya. 202 00:09:18,770 --> 00:09:20,860 >> Gibi arada işler fonksiyonu, merhaba demek, 203 00:09:20,860 --> 00:09:23,570 çok basit bir olacak Bunun gibi çok basit bir ifade. 204 00:09:23,570 --> 00:09:26,930 Printf merhaba dünya, bazı ters eğik çizgi, tırnak, 205 00:09:26,930 --> 00:09:29,780 noktalı virgül ile değil, Bu konuda daha fazla gelmek. 206 00:09:29,780 --> 00:09:34,066 Döngüler, bu arada, bu bir döngü, Tabii, sonsuza kadar dünyayı merhaba diyor 207 00:09:34,066 --> 00:09:36,690 ve bu bir bakmak için gidiyor Son olarak daha garip küçük, 208 00:09:36,690 --> 00:09:39,530 ama ben bir şey söylemek durumunda gibi, gerçek süre, I 209 00:09:39,530 --> 00:09:44,050 Sonra Merhaba dünya yazdırabilirsiniz tekrar ve tekrar ve tekrar ve tekrar. 210 00:09:44,050 --> 00:09:46,660 Ve sonra da ne tür can burada anlaması başlar, 211 00:09:46,660 --> 00:09:49,070 kullanarak bu kuralı kaşlı tür 212 00:09:49,070 --> 00:09:52,050 ve kucaklayan gibi Orada kod girintili hattı. 213 00:09:52,050 --> 00:09:55,840 Kod printf satırı çok gibi Yukarıdaki sarı bulmaca parçası kadar. 214 00:09:55,840 --> 00:09:58,740 Yani biz sonsuza söylemek etmeyeceğiz, Biz gerçek iken söylemek için gidiyoruz 215 00:09:58,740 --> 00:10:01,020 sadece biraz neden ama biz göreceğiz. 216 00:10:01,020 --> 00:10:04,210 >> Bu arada, biz böyle bir döngü varsa, nereye sonlu bir şey tekrar 217 00:10:04,210 --> 00:10:07,730 sayı süreleri, bu da bu kadar Biraz alacak alışmak 218 00:10:07,730 --> 00:10:12,820 için, fakat int için söyleyecek i i ++, ben az 10 sıfır alır 219 00:10:12,820 --> 00:10:14,056 ve daha sonra tekrar Printf. 220 00:10:14,056 --> 00:10:15,430 Ama desenler orada oluyor. 221 00:10:15,430 --> 00:10:18,434 Ve tanıdık o sizin için AP Bilgisayar Bilimleri veya Java ile 222 00:10:18,434 --> 00:10:21,100 veya diğer dillerden herhangi sayıda Hemen hemen tüm bu yapıların 223 00:10:21,100 --> 00:10:23,820 Şimdiye kadar çoğunlukla tanıdık görünmelidir. 224 00:10:23,820 --> 00:10:24,680 >> Yani değişken. 225 00:10:24,680 --> 00:10:29,270 Yani burada basit bir Scratch alıntı olduğunu sıfıra karşı adında bir değişken setleri 226 00:10:29,270 --> 00:10:33,150 ve sonra sonsuza sayaç diyor ve o zaman tek sayaç değiştirir. 227 00:10:33,150 --> 00:10:37,030 Yani, sıfır ile başlayan ve daha sonra, bir, iki, üç. 228 00:10:37,030 --> 00:10:42,560 Peki biz o tanıtmak olabilir Bu yeni dil benzer biraz? 229 00:10:42,560 --> 00:10:45,460 Int sayacı eşittir Gerçek ise sıfır, hangi 230 00:10:45,460 --> 00:10:48,100 daha önce gelen aynı fikir sonsuza kadar şey yapıyor, 231 00:10:48,100 --> 00:10:49,530 ve ben sadece printf gidiyorum. 232 00:10:49,530 --> 00:10:53,310 Ve şimdi, biraz garip oluyor Yüzde i, ancak daha fazla o gelmek için, 233 00:10:53,310 --> 00:10:55,140 ancak bu fikirlerin tam olarak aynıdır. 234 00:10:55,140 --> 00:10:58,820 Biz şimdi uymak zorunda bilgisayar sözdizimi 235 00:10:58,820 --> 00:11:00,010 Bize talep edecek. 236 00:11:00,010 --> 00:11:04,620 >> Boole ifadesi gibi bir şey sx az y'den, y ya da daha az x, 237 00:11:04,620 --> 00:11:06,354 ve z daha az y. 238 00:11:06,354 --> 00:11:09,270 Bu küçük bir şey bakmak için gidiyor Bu gibi sadece parantez ile 239 00:11:09,270 --> 00:11:13,020 gibi iyi ölçmek için matematik sadece temin etmesi operasyonların sırası 240 00:11:13,020 --> 00:11:14,750 Biz niyetinde gibidir. 241 00:11:14,750 --> 00:11:15,600 Ve şimdi, koşullar. 242 00:11:15,600 --> 00:11:21,220 Yani y az x derseniz x az y yerine, x, y büyükse else if, 243 00:11:21,220 --> 00:11:26,020 Aksi takdirde, x, y daha büyük olduğunu söylemek mantıksal olarak, x, y eşit olmalıdır. 244 00:11:26,020 --> 00:11:28,710 Yani uygulamak olabilir Scratch böyle bir şey, 245 00:11:28,710 --> 00:11:31,230 ya uygulamak olabilir Bu sözdizimi o. 246 00:11:31,230 --> 00:11:35,090 Ve yine, kaşlı tür vardır bulmaca gibi bize aynı şekil vererek 247 00:11:35,090 --> 00:11:40,750 parçaları, ancak sözdizimi, şimdi, belki de Bazı modellerini takip başlıyor. 248 00:11:40,750 --> 00:11:42,910 >> Peki, bu bizi buraya verir? 249 00:11:42,910 --> 00:11:45,260 Yani biz o zamanlar bizim ana program geldik. 250 00:11:45,260 --> 00:11:47,930 Aslında atalım, şimdi, onunla bir şeyler yapmak. 251 00:11:47,930 --> 00:11:50,660 Yani bu çok ilk Biz keskin dahil bkz hattı, 252 00:11:50,660 --> 00:11:53,160 Standart I / O, nokta h ve sonra bazı garip açı 253 00:11:53,160 --> 00:11:57,330 aşağıda parantez. int main geçersiz ve sonra printf merhaba dünya. 254 00:11:57,330 --> 00:11:58,200 Yani sadece bir adım atmak. 255 00:11:58,200 --> 00:12:02,440 Daha önce programlanmış hiç biri, En azından bu çizgilerin bir açıklar. 256 00:12:02,440 --> 00:12:04,490 Belki bazı kullanma Geçen haftanın jargon. 257 00:12:04,490 --> 00:12:06,942 Printf Örneğin, nedir? 258 00:12:06,942 --> 00:12:07,442 Evet. 259 00:12:07,442 --> 00:12:08,410 >> HEDEF KİTLE: [duyulamaz] 260 00:12:08,410 --> 00:12:08,610 >> DAVID J. MALAN: Evet. 261 00:12:08,610 --> 00:12:11,380 Bu bir işlev ya da bir deyim var, Geçen haftaki terminolojiden. 262 00:12:11,380 --> 00:12:13,470 Ve bu bir eylem var o bir şey yapıyor. 263 00:12:13,470 --> 00:12:15,855 Şimdi bu işlev, ya da bu açıklama yapar 264 00:12:15,855 --> 00:12:17,550 o girdi çeşit almaya görünür? 265 00:12:17,550 --> 00:12:20,080 266 00:12:20,080 --> 00:12:24,380 Ve ne anlamda yapar eğer öyleyse, giriş almak gibi görünüyor? 267 00:12:24,380 --> 00:12:26,180 Giriş, ben ne demek istiyorsunuz? 268 00:12:26,180 --> 00:12:26,720 Evet. 269 00:12:26,720 --> 00:12:27,595 >> HEDEF KİTLE: [duyulamaz] 270 00:12:27,595 --> 00:12:30,565 271 00:12:30,565 --> 00:12:31,440 DAVID J. MALAN: Evet. 272 00:12:31,440 --> 00:12:34,890 Yani bir kaç puzzle parçaları dışarı Scratch Nerede bunu parametrize olabilir. 273 00:12:34,890 --> 00:12:37,980 Sen tekrarını söyleyebilirdi tekrarlamak kaç kez blok, 274 00:12:37,980 --> 00:12:40,320 böylece bir girdi olarak verilen sıralar ve sadece Scratch gibi 275 00:12:40,320 --> 00:12:43,060 küçük beyaz yer tutucu vardı Eğer yazarsınız sayı, 276 00:12:43,060 --> 00:12:45,810 bu yüzden biz bu kullanmak yapmak Metin Dünya parantez 277 00:12:45,810 --> 00:12:49,910 bize bu yuvarlak şekil vermek içine bizim girişi takabilirsiniz. 278 00:12:49,910 --> 00:12:53,180 Sonuçta, yıl onlarca önce zaman C olarak adlandırılan bu dil, 279 00:12:53,180 --> 00:12:55,950 kimse icat edildi bu bizden biri beklenen 280 00:12:55,950 --> 00:12:59,420 Bu, birkaç yıl sonra, biz olur Merhaba diyor bir işlevi istiyorum. 281 00:12:59,420 --> 00:12:59,920 Sağ? 282 00:12:59,920 --> 00:13:02,880 Bir olsaydı daha güzel olurdu puzzle parçası, ya da bir anahtar sözcük, 283 00:13:02,880 --> 00:13:05,502 o, merhaba denir kelimenin tam anlamıyla sadece merhaba diyor. 284 00:13:05,502 --> 00:13:06,460 Ama biz buna ihtiyacımız yok. 285 00:13:06,460 --> 00:13:09,320 Biz çok daha düşük bir şey olabilir genel baskı gibi seviyeli, 286 00:13:09,320 --> 00:13:12,760 girdi alır komutu, Biz istersen ve yazdırır. 287 00:13:12,760 --> 00:13:14,960 Yani model şimdi fark Bu ortaya çıkmaya başlayacaktır. 288 00:13:14,960 --> 00:13:19,310 Açık parantez yakın parantez olduğunu görünüşe girişi kucaklayan, 289 00:13:19,310 --> 00:13:21,770 ve sonra çift bakın iki ucunda tırnak. 290 00:13:21,770 --> 00:13:25,110 Garip ters eğik çizgi hala var n, ama umarım şimdi 291 00:13:25,110 --> 00:13:29,900 En azından bunu görselleştirmek başlayabilirsiniz printf girdi bazı şeklinde gerçekleşiyor. 292 00:13:29,900 --> 00:13:31,850 Gibi kullanıcı dostu değil Scratch, ama bu sadece 293 00:13:31,850 --> 00:13:34,920 gibi bazı değer takılı olan. 294 00:13:34,920 --> 00:13:38,306 >> Pekala, şimdi aslında atalım Bu ile bir şeyler yapmak. 295 00:13:38,306 --> 00:13:40,930 Yani sizden bazı biliyor olabilir önce sınıf alışveriş sahip 296 00:13:40,930 --> 00:13:42,638 arkadaşlarıyla birlikte sohbet bu uzun yıllardır 297 00:13:42,638 --> 00:13:44,590 Biz bir şey denir kullanılan CS50 cihaz. 298 00:13:44,590 --> 00:13:49,160 Bu teknolojiyi açıklayan bir terim oldu sanal makine denir ki 299 00:13:49,160 --> 00:13:51,870 bir yazılım parçasıdır bu senin öncekilerden kapalı indirmek istiyorum 300 00:13:51,870 --> 00:13:53,360 Bedava dersin sitesi. 301 00:13:53,360 --> 00:13:56,550 Onlar da ücretsiz parça indirmek istiyorum Bir hypervisor adlandırılan yazılım, 302 00:13:56,550 --> 00:14:00,590 VMware gibi denilen şey, VirtualBox ya da herhangi bir sayı veya 303 00:14:00,590 --> 00:14:04,450 diğer araçları ve Mac veya PC üzerinde kendi ya da her türlü bilgisayar geçen sene vardı 304 00:14:04,450 --> 00:14:06,620 ve yıllar geçmiş, onlar Bir simgesini tıklatın iki katına çıkacak 305 00:14:06,620 --> 00:14:08,860 Bu yazılımı çalıştırmak için hipervizör denir. 306 00:14:08,860 --> 00:14:12,220 Ve o programın içinde Onlar CS50 Cihazı açacak. 307 00:14:12,220 --> 00:14:14,710 Ve etkisi oldu ister senin bir öncül 308 00:14:14,710 --> 00:14:17,780 Mac OS ya da koşuyordu Windows o sonra 309 00:14:17,780 --> 00:14:22,910 sonradan yeni bir pencere vardı onların Ekran CS50 ortamı koşuyor. 310 00:14:22,910 --> 00:14:27,370 Yani bir sanal makine birini çalıştırmanızı sağlar Başka içindeki işletim sistemi, 311 00:14:27,370 --> 00:14:28,785 ve biz de bunu tam olarak ne. 312 00:14:28,785 --> 00:14:31,410 Tabii biz çoğu boyunca denilen bir işletim sistemi kullanmak 313 00:14:31,410 --> 00:14:34,070 Linux, özellikle Ubuntu Linux ve bu 314 00:14:34,070 --> 00:14:37,590 yıllar geçmiş çok güzel bir şekilde derste emin herkesi yapma 315 00:14:37,590 --> 00:14:38,840 sadece aynı ortamı vardı. 316 00:14:38,840 --> 00:14:41,339 Ve her türlü kullanabilirsiniz gerçekten istediğiniz bilgisayar. 317 00:14:41,339 --> 00:14:43,930 Downsides arasında olsa da, vardı iki gigabayt gibi oldu 318 00:14:43,930 --> 00:14:45,480 Bu şeyi indirmek için. 319 00:14:45,480 --> 00:14:50,310 Mutlaka iyi süper işe yaramadı kimin bilgisayarlar insanlar belki sadece 320 00:14:50,310 --> 00:14:54,570 bir konser vardı ya da öylesine RAM, ya da CPU hızı çok fazla gigahertz, 321 00:14:54,570 --> 00:14:56,750 ve bu nedenle bu yıl için Bu ve diğer nedenlerle, 322 00:14:56,750 --> 00:14:59,140 Biz geçiş olmuştur sahip Bu ortama. 323 00:14:59,140 --> 00:15:03,730 Sözde CS50 IDE açık kaynak kodlu yazılım dayalı, 324 00:15:03,730 --> 00:15:07,380 ve desteklenen bir platform Bir şirket Cloud9 denilen 325 00:15:07,380 --> 00:15:11,110 bu, Avrupa destekler Bizi esasen sahip olmanızı sağlar 326 00:15:11,110 --> 00:15:15,770 O aynı ortamı olarak yıl geçmiş, ama sözde bulutta. 327 00:15:15,770 --> 00:15:17,532 >> Peki bulut nedir? 328 00:15:17,532 --> 00:15:20,480 Muhtemelen tıkladığınız Mac veya PC üzerindeki simgesi. 329 00:15:20,480 --> 00:15:22,210 Bulut nedir? 330 00:15:22,210 --> 00:15:22,709 Evet? 331 00:15:22,709 --> 00:15:25,880 332 00:15:25,880 --> 00:15:26,780 Biraz daha yüksek sesle. 333 00:15:26,780 --> 00:15:30,510 334 00:15:30,510 --> 00:15:31,010 Evet. 335 00:15:31,010 --> 00:15:33,770 Bu bilgisayar sadece bir avuç Başka bir yerde veri depolamak ve çalıştırmak o 336 00:15:33,770 --> 00:15:34,880 Yazılım ve benzeri. 337 00:15:34,880 --> 00:15:39,390 Yani sadece kelime de gerçekten var [açıklayan jure? kiralanabilir?] 338 00:15:39,390 --> 00:15:40,930 Başka bir yerde yaşamak bilgisayarlar. 339 00:15:40,930 --> 00:15:42,810 Sen misin, kendiniz, mutlaka kendi yok. 340 00:15:42,810 --> 00:15:45,256 Peki ne zaman veri veya sizin programları, bulut vardır 341 00:15:45,256 --> 00:15:47,630 o sadece birisi demektir Başka bir yerde başka bilgisayarları, 342 00:15:47,630 --> 00:15:50,510 olup, büyük olasılıkla, ilgili kayıt Fiziksel dizüstü veya masaüstü. 343 00:15:50,510 --> 00:15:52,990 Ve böylece CS50 IDE şimdi budur. 344 00:15:52,990 --> 00:15:55,670 >> Bundan sonra belirli bir gidersiniz Tanıtacağım URL 345 00:15:55,670 --> 00:16:00,090 için, sorunun daha sonra bu, 1 set hafta, o zaman, üzerine oturum olacaktır 346 00:16:00,090 --> 00:16:01,480 bu ortamı sağlar. 347 00:16:01,480 --> 00:16:03,896 Ve çok gibi Scratch vardı dahil, birkaç farklı paneller, 348 00:16:03,896 --> 00:16:06,030 yani CS50 IDE tam olarak bu var. 349 00:16:06,030 --> 00:16:09,480 Burada sol üst tarafta, sen Tanıdık bir dosya tarayıcısı göreceğiz. 350 00:16:09,480 --> 00:16:11,930 Dosyaları herhangi bir Yani sen Bu ortama koymak 351 00:16:11,930 --> 00:16:13,346 Sadece orada listelenen olacak. 352 00:16:13,346 --> 00:16:14,350 Dosyalar ve klasörler. 353 00:16:14,350 --> 00:16:16,790 Burada Üstüne üstlük, Eğer bir yerde görmek için gidiyoruz 354 00:16:16,790 --> 00:16:18,420 nerede aslında kod yazabilirsiniz. 355 00:16:18,420 --> 00:16:21,860 Başlangıçta C, daha sonra PHP ve JavaScript vadeli, 356 00:16:21,860 --> 00:16:24,739 ve belki de nihai için projeleri, Yakut veya Java veya Python 357 00:16:24,739 --> 00:16:27,280 veya dillerden herhangi bir sayı vardır Bu ortamda destekledi. 358 00:16:27,280 --> 00:16:30,130 Hiç bağlı değil Özellikle CS50 için. 359 00:16:30,130 --> 00:16:33,390 >> Ve sonra burada alt köşesindeki, Özellikle daha rahat olanlar için, 360 00:16:33,390 --> 00:16:35,590 Eğer bir şey var Bir terminal penceresi denir. 361 00:16:35,590 --> 00:16:38,770 Ve bu terminal penceresi veriyor Eğer herhangi bir komutu çalıştırmak için size 362 00:16:38,770 --> 00:16:40,860 Bu bulut ortamında istiyorum. 363 00:16:40,860 --> 00:16:42,860 Bu yüklemenizi sağlar herhangi bir ek yazılım 364 00:16:42,860 --> 00:16:46,810 Eğer sözde çünkü İstediğiniz Kök veya yönetici ayrıcalıkları. 365 00:16:46,810 --> 00:16:49,930 Yani diğer bir deyişle, bu bile olsa sonuçta bulut içinde barındırılan, 366 00:16:49,930 --> 00:16:52,400 ve biz bile bir ölçüde bunu basitleştirilmiş 367 00:16:52,400 --> 00:16:57,110 Varsayılan olarak, kelimenin tam anlamıyla tanıtan Dan Armendariz ve Dino sayesinde, 368 00:16:57,110 --> 00:17:01,070 ve üzeri CS50 takımında Dan Bradley aylar geçmiş, bir daha rahat 369 00:17:01,070 --> 00:17:05,140 Bir sürü gizler modu Başlangıçta kafa karıştırıcı dikkat dağıtıcı. 370 00:17:05,140 --> 00:17:10,119 Orada var olan her şey Tipik bir bilgisayar sistemi temsil 371 00:17:10,119 --> 00:17:12,319 Eğer gerçek dünyada kullanmak olabilir. 372 00:17:12,319 --> 00:17:15,640 >> Peki ne bu her anlama ve biz aslında onunla ne yapabilirim? 373 00:17:15,640 --> 00:17:19,124 En aslında bir programa bir göz atalım. 374 00:17:19,124 --> 00:17:21,290 Yani açmak için gidiyorum Burada gerçek çevre, 375 00:17:21,290 --> 00:17:23,894 hangi sadece bizim Chrome olduğunu Firefox olabilir tarayıcı, 376 00:17:23,894 --> 00:17:26,640 Internet Explorer olabilir, ya da başka bir tarayıcı de. 377 00:17:26,640 --> 00:17:28,400 Tam şu an için burada ekranlı oluyor. 378 00:17:28,400 --> 00:17:31,580 Ve ben aslında kızdırmak istiyorum dışında bu programın buydu. 379 00:17:31,580 --> 00:17:36,170 Yani doldu büyüterek, bir göz atalım yaptım ne, top, ve nasıl burada var. 380 00:17:36,170 --> 00:17:38,315 Yani burada tam o var aynı kod satırları. 381 00:17:38,315 --> 00:17:40,440 Yani bu deyimi, Daha önce de belirtildiği gibi. 382 00:17:40,440 --> 00:17:42,580 Merhaba diyor işlevi. 383 00:17:42,580 --> 00:17:45,870 Kaşlı, üzerinde hat, dört ve altı satır, 384 00:17:45,870 --> 00:17:49,290 zarfının muhtemelen tür Bu hat ilişkilendirmek için 385 00:17:49,290 --> 00:17:50,890 benim program özüyle. 386 00:17:50,890 --> 00:17:54,890 Yani gerçekten bu kelime ana, Bu, üçüncü hatta orada var 387 00:17:54,890 --> 00:17:59,450 Eğer eşdeğer olarak aklınıza gelebilecek yeşil bayrak tıklandığında bunun, 388 00:17:59,450 --> 00:18:01,080 Scratch engellemek. 389 00:18:01,080 --> 00:18:05,280 Biz burada bu var, bu yüzden ne zaman bir Yeşil bayrak, baskı tıklandığında, ya da söylemek 390 00:18:05,280 --> 00:18:06,700 Merhaba Dünya. 391 00:18:06,700 --> 00:18:11,210 >> Ama at, şimdi, bir tahmin atalım neler bu ilk, daha çok gizli hattıdır. 392 00:18:11,210 --> 00:18:15,100 Keskin, açık açılı dahil dirsek, standart G / Ç nokta h 393 00:18:15,100 --> 00:18:17,320 Açılı braketi kapatın. 394 00:18:17,320 --> 00:18:19,850 Belki ne yaptığını, özellikle programlanmış verdiyseniz 395 00:18:19,850 --> 00:18:21,390 başka bir dilde daha önce. 396 00:18:21,390 --> 00:18:21,890 Evet? 397 00:18:21,890 --> 00:18:22,765 >> HEDEF KİTLE: [duyulamaz] 398 00:18:22,765 --> 00:18:25,095 399 00:18:25,095 --> 00:18:25,970 DAVID J. MALAN: Evet. 400 00:18:25,970 --> 00:18:26,470 Kesinlikle. 401 00:18:26,470 --> 00:18:29,455 Yani bu bir erişim veriyor kütüphane, yani fonksiyonların, konuşmak için. 402 00:18:29,455 --> 00:18:31,830 Ve fonksiyonların bir kütüphanesidir fonksiyonlar o başkası 403 00:18:31,830 --> 00:18:34,406 ya da son zamanlarda, yazdığı ya uzun zaman önce, böylece 404 00:18:34,406 --> 00:18:35,780 tekerleği yeniden icat etmek zorunda değilsiniz. 405 00:18:35,780 --> 00:18:39,020 Örneğin, biz değiliz 2015 yılında, bilmek zorunda, 406 00:18:39,020 --> 00:18:42,280 O koyar kod yazmak nasıl benim ekranda bir karakter. 407 00:18:42,280 --> 00:18:44,820 Başkası düşündüm etti Printf fonksiyonu ile 408 00:18:44,820 --> 00:18:47,280 Ben soyut sıralamak böylece uzakta böyle olduğunu, ya da katman 409 00:18:47,280 --> 00:18:49,350 üstünde özel hayatının kodu ve şimdi sadece almak 410 00:18:49,350 --> 00:18:52,760 herhangi bir program yazıyorum hafife ekrana bir şeyler yazdırabilirsiniz. 411 00:18:52,760 --> 00:18:58,150 Yani birinci adımda orada bu ilk satırı Sözde başlık dosyasını içerir 412 00:18:58,150 --> 00:18:59,980 Standart kütüphane. 413 00:18:59,980 --> 00:19:02,630 Yani, dilini bakın Şimdi hangi çalışıyoruz 414 00:19:02,630 --> 00:19:05,010 Standart bir kütüphanesi vardı fonksiyonların bir sürü ile. 415 00:19:05,010 --> 00:19:07,240 Printf bunlardan biri ve Bu kodun ilk satırı 416 00:19:07,240 --> 00:19:10,040 demek bana erişim vermek böylece bu fonksiyonlar, ben 417 00:19:10,040 --> 00:19:12,300 Bu tekerleği yeniden icat etmek zorunda değilsiniz. 418 00:19:12,300 --> 00:19:15,940 >> Şimdi alt penceresine gidelim ve ben daha önce ne yaptığını tam olarak yapmak. 419 00:19:15,940 --> 00:19:18,520 Bir an önce, ne zaman oldu Kod boyunca pırpır etme, 420 00:19:18,520 --> 00:19:24,540 ilk kez dışarı yazarak, Ben çok hızlı bir şekilde daktilo, merhaba olun. 421 00:19:24,540 --> 00:19:28,250 Tüm hakkında tahmin ediyorum Ne oldu? 422 00:19:28,250 --> 00:19:29,150 Ben ne yapıyordu? 423 00:19:29,150 --> 00:19:29,649 Evet? 424 00:19:29,649 --> 00:19:31,810 425 00:19:31,810 --> 00:19:32,310 Boşver. 426 00:19:32,310 --> 00:19:32,970 Tamam. 427 00:19:32,970 --> 00:19:33,492 Evet. 428 00:19:33,492 --> 00:19:34,450 HEDEF KİTLE: Bunu derleniyor. 429 00:19:34,450 --> 00:19:34,700 DAVID J. MALAN: Evet. 430 00:19:34,700 --> 00:19:35,770 Sadece derleme oldu. 431 00:19:35,770 --> 00:19:36,270 Sağ? 432 00:19:36,270 --> 00:19:39,280 Hatta bu tamamen yabancı ise Size bu gibi güzel İngilizce var. 433 00:19:39,280 --> 00:19:41,155 Kesinlikle sıfır değil ve olanlar, bu yüzden hala 434 00:19:41,155 --> 00:19:44,220 sözde aracılığıyla çalıştırmak için gereken Program, bir derleyici, o gidiyor 435 00:19:44,220 --> 00:19:46,060 girdi olarak almak ve çıktı üretmek için. 436 00:19:46,060 --> 00:19:48,270 Ve en azından, şimdi, içinde Bu Linux ortamında, 437 00:19:48,270 --> 00:19:51,030 ancak bu, önkoşul değil Biz başlayacağız sadece burada bu olduğunu 438 00:19:51,030 --> 00:19:53,960 genellikle ile etkileşim Bu gibi bilgisayar sistemleri 439 00:19:53,960 --> 00:19:55,770 sözde komut satırı ile. 440 00:19:55,770 --> 00:19:57,790 Bir yanıp sönen Yani istemi ve klavye, 441 00:19:57,790 --> 00:20:01,630 ve o kadar çok fare değil, çok pencere ve simgeler ve menüler, 442 00:20:01,630 --> 00:20:02,980 yerine her metinsel olduğunu. 443 00:20:02,980 --> 00:20:06,180 Ve bu ilk başta, hissediyor olsa bile bakışta, belki de geriye bir adım gibi, 444 00:20:06,180 --> 00:20:08,437 aslında çok daha var güçlü ve etkileyici bir yol 445 00:20:08,437 --> 00:20:10,270 Bir bilgisayar kontrol Özellikle senin gibi, 446 00:20:10,270 --> 00:20:12,950 Kendinizi daha fazla hale daha az konforlu. 447 00:20:12,950 --> 00:20:16,790 Size bir sürü yapmak için izin gidiyor sadece ne Microsoft daha fazla şeyler 448 00:20:16,790 --> 00:20:20,390 veya Apple ile yapmanızı sağlar Onların grafik işletim sistemi. 449 00:20:20,390 --> 00:20:23,270 >> Yani, şimdi, Enter vurduğunda hiçbir şey bu zaman olur 450 00:20:23,270 --> 00:20:25,960 görünüşte çünkü Program merhaba güncel olduğunu. 451 00:20:25,960 --> 00:20:28,250 Ve komut neydi Ondan sonra koştum? 452 00:20:28,250 --> 00:20:32,370 Nokta merhaba, merhaba dünya çizgi. 453 00:20:32,370 --> 00:20:34,350 Şimdi bir adım atalım Sadece bir an için geri. 454 00:20:34,350 --> 00:20:39,510 Bu merhaba sadece yapmak çıkıyor Bir program derleme basitleştirilmiş bir yol. 455 00:20:39,510 --> 00:20:41,670 Sadece tanıtalım jargonu tek parça, 456 00:20:41,670 --> 00:20:43,470 ama sonra uzaklaşmaya o değil çünkü, ondan 457 00:20:43,470 --> 00:20:46,640 Tüm bu ilginç Bugünün amaçlar için kullanılabilir. 458 00:20:46,640 --> 00:20:51,000 Biz kullanmaya başlamak için gidiyoruz derleyici C dili için, Clang denir. 459 00:20:51,000 --> 00:20:54,280 Ve bu sadece çalıştırılan bir program olduğunu gibi biz orada komut satırında yaptım. 460 00:20:54,280 --> 00:20:56,580 Ve bu yüzden isterseniz Bir programı derlemek ben 461 00:20:56,580 --> 00:21:00,790 merhaba nokta adlı bir dosyaya yazdım c ben gerçekten sadece clang merhaba c tipi 462 00:21:00,790 --> 00:21:02,100 girin. 463 00:21:02,100 --> 00:21:04,880 >> Komik bir şey, tarihsel nedenlerle, 464 00:21:04,880 --> 00:21:07,750 Ben belirtmek yoksa Programın adı 465 00:21:07,750 --> 00:21:11,690 Ben yapmazsam ben, çıktı istediğiniz Bu sıfır için bir dosya adı belirtin 466 00:21:11,690 --> 00:21:14,990 ve olanlar çok garip kongre kabul edildi yıl önce 467 00:21:14,990 --> 00:21:17,390 Bir tür hissettim burada zaman iyi cevap, 468 00:21:17,390 --> 00:21:21,650 İyi sadece keyfi arayalım İlk program bir nokta dışında derlemek. 469 00:21:21,650 --> 00:21:22,900 Bir alfabenin ilk gelir. 470 00:21:22,900 --> 00:21:23,920 Out, çıkış var. 471 00:21:23,920 --> 00:21:26,210 Bu yüzden programı arayacak Bir nokta dışarı varsayılan. 472 00:21:26,210 --> 00:21:29,550 Ben istiyorum çünkü bu iyi dayalı bu metinde programı çalıştırın 473 00:21:29,550 --> 00:21:33,590 Çevre, sadece yazın dot dışarı bir nokta çizgi girin. 474 00:21:33,590 --> 00:21:35,250 Ve bu tam olarak daha önce aday olacağını. 475 00:21:35,250 --> 00:21:36,880 Yani gerçek o kadar hızlı görelim. 476 00:21:36,880 --> 00:21:40,370 >> Ben geri giderseniz Yani benim CS50 IDE kaynak kodu, 477 00:21:40,370 --> 00:21:47,860 ve ben onun yerine bunu, clang merhaba karyolası c girmek, haber hiçbir şey olmuyor, 478 00:21:47,860 --> 00:21:49,790 ama neredeyse her zaman Bu Linux ortamında, 479 00:21:49,790 --> 00:21:53,310 kötü bir şey olduğunu, ne gibi görünüyor zaman İyi bir şey aslında ne demek. 480 00:21:53,310 --> 00:21:56,270 Eğer bir hata görmüyorsanız mesajı tüm muhtemelen iyi olduğunu. 481 00:21:56,270 --> 00:22:01,930 Ben şimdi yaparsam Ve gerçekten, nokta nokta çizgi, bir dışarı benim aynı programı çalıştırmak girin. 482 00:22:01,930 --> 00:22:04,610 Hala merhaba programı var önceki çünkü gerçekten bu kadar 483 00:22:04,610 --> 00:22:07,430 çok güzel, sadece olacak yapmak yerine hatırlayarak yazın 484 00:22:07,430 --> 00:22:10,240 Bu büyüler komutlar, ama hadi bakın nasıl 485 00:22:10,240 --> 00:22:12,890 yine de, bunun üzerine iyileştirebilir. 486 00:22:12,890 --> 00:22:15,340 >> Yani, bu komut kodu derlemek için. 487 00:22:15,340 --> 00:22:19,100 Bu çalıştırmak için komut bundan sonra kodu derlenmiş. 488 00:22:19,100 --> 00:22:20,546 Nasıl bir dosya adı belirtebilirsiniz? 489 00:22:20,546 --> 00:22:22,670 Peki Sadece tanıştırayım jargon bir parçası daha. 490 00:22:22,670 --> 00:22:24,461 Bu olduğunuzda metin tabanlı ortam, 491 00:22:24,461 --> 00:22:27,400 Belirtmek istiyorum gidiyoruz komut satırı argümanları olarak adlandırılan şeyler. 492 00:22:27,400 --> 00:22:31,380 Hangi söyleyerek sadece süslü bir yoludur, isteminde diğer bir deyişle o 493 00:22:31,380 --> 00:22:33,860 davranışını çimdik ne olursa olsun Program koşuyoruz. 494 00:22:33,860 --> 00:22:37,320 Ben Yani özellikle programın adı clang yazarak, çalışan, 495 00:22:37,320 --> 00:22:38,504 Clang adlandırılan bir programdır. 496 00:22:38,504 --> 00:22:40,920 Yani bu ya eski okul çift ​​tıklayarak eşdeğer 497 00:22:40,920 --> 00:22:42,860 Microsoft Word veya Bazı programın simgesini tıklatın. 498 00:22:42,860 --> 00:22:46,360 Ben bunun yerine sadece, adını yazarak kulüpler ancak komut bu sürümünde, 499 00:22:46,360 --> 00:22:51,334 Daha sonra çizgi o boşluk var merhaba uzay merhaba nokta c. 500 00:22:51,334 --> 00:22:53,500 Asla ettik Yani bile daha önce bu dünyada oynanan 501 00:22:53,500 --> 00:22:58,160 Sadece bir tahmin almak nasıl dash o merhaba yapıyor? 502 00:22:58,160 --> 00:23:00,620 Ya bunu yapmak için clang anlatıyor? 503 00:23:00,620 --> 00:23:01,386 Evet. 504 00:23:01,386 --> 00:23:02,455 >> HEDEF KİTLE: [duyulamaz] 505 00:23:02,455 --> 00:23:03,330 DAVID J. MALAN: Evet. 506 00:23:03,330 --> 00:23:08,614 Sadece olmak dosyanın çıktısını ayarlar merhaba yerine dışarı nokta sillier evi. 507 00:23:08,614 --> 00:23:09,780 Ve, gerçekten, bunu deneyelim. 508 00:23:09,780 --> 00:23:14,250 İlk, ben şimdi ne eğer öyleyse r m merhaba hadi yapalım. 509 00:23:14,250 --> 00:23:15,590 Bu kaldırmak var. 510 00:23:15,590 --> 00:23:18,450 Ve kaldır söyleyecek normal dosya merhaba hangi 511 00:23:18,450 --> 00:23:22,210 gereksiz gizemli, ama sadece araçlar Dosyayı silmek istiyor musunuz, 512 00:23:22,210 --> 00:23:23,230 ve ben evet için y yazın. 513 00:23:23,230 --> 00:23:27,340 Eğer üst bakarak eğer Ve fark sol, o orada kaybolur etmedi. 514 00:23:27,340 --> 00:23:32,180 Bana şimdi clang çizgi o yapalım ve Ben, merhaba devam edin ve yapacağım 515 00:23:32,180 --> 00:23:34,890 tüm kapaklar, merhaba nokta c. 516 00:23:34,890 --> 00:23:37,775 Şimdi, ben nokta çizgi yaparsanız merhaba, ne beklenir? 517 00:23:37,775 --> 00:23:41,240 518 00:23:41,240 --> 00:23:42,430 >> Belki de hassas bir dava. 519 00:23:42,430 --> 00:23:43,070 Belki de değil. 520 00:23:43,070 --> 00:23:44,030 Görelim. 521 00:23:44,030 --> 00:23:45,230 Böyle bir dosya ya da dizin yok. 522 00:23:45,230 --> 00:23:47,438 Ve biz tür hile yapabilirsiniz Sadece sol üst bakarak. 523 00:23:47,438 --> 00:23:49,630 Ne Açıkçası yaptım olarak programı kaydetmek? 524 00:23:49,630 --> 00:23:51,070 Tüm merhaba kapaklar. 525 00:23:51,070 --> 00:23:53,020 Yani gerçekten bu gidiş var Bir fark yaratmak için. 526 00:23:53,020 --> 00:23:54,540 Yani şimdi hello world geri döndü. 527 00:23:54,540 --> 00:23:56,969 Şimdi bu, tüm ince ve iyi ve hepsi çok zihin-uyuşturucu, 528 00:23:56,969 --> 00:23:59,760 get tür bu batağa saplanmış ayrıntıları, fakat onları anlamak 529 00:23:59,760 --> 00:24:00,500 güzel. 530 00:24:00,500 --> 00:24:02,675 >> Bu giderek dışarı yazarak Uzun büyüler 531 00:24:02,675 --> 00:24:05,980 Özellikle olacak değil Dünyada eğlenceli, bu yüzden insanlar 532 00:24:05,980 --> 00:24:08,260 , başka bir program icat Birkaç yıl önce, denir 533 00:24:08,260 --> 00:24:12,190 , yapmak oldukça basit make yazmanız için izin verir, 534 00:24:12,190 --> 00:24:14,530 Programın adı Yapmak istediğiniz ve yapmak 535 00:24:14,530 --> 00:24:18,580 o bakacağız ki akıllı Geçerli klasör, dizindeki aka, 536 00:24:18,580 --> 00:24:21,440 ve bir dosyanız varsa merhaba nokta c denilen, 537 00:24:21,440 --> 00:24:25,800 o derleyip dosya merhaba denilen bir programa senin için. 538 00:24:25,800 --> 00:24:29,950 Yani çok daha basit bir yolu var daha şifreli komutları yapıyor 539 00:24:29,950 --> 00:24:30,800 biz daha önce yaptık. 540 00:24:30,800 --> 00:24:34,080 Ve biz önceden yapılandırılmış IDE CS50 bilmek 541 00:24:34,080 --> 00:24:38,560 o çizgi o ve bir numara yapmam gerektiğini Diğer bayraklar, ya da komut satırı argümanları, 542 00:24:38,560 --> 00:24:40,670 Biz uzun zaman önce görürsünüz. 543 00:24:40,670 --> 00:24:43,700 >> Ama şimdi gerçekten yapalım daha ilginç bir şey. 544 00:24:43,700 --> 00:24:46,950 Sadece tüm merhaba dünya yazarak Zaman o kadar zorlayıcı değil. 545 00:24:46,950 --> 00:24:52,280 Bu yüzden bana öncesinde ve değişim gidelim bu program ve merhaba David söylüyorlar. 546 00:24:52,280 --> 00:24:54,120 Şimdi burada gidiyorum. 547 00:24:54,120 --> 00:24:57,360 Devam edin ve merhaba yapmak yapacağım. 548 00:24:57,360 --> 00:25:00,652 Ve yine şimdi görüyorsun yapmak size daha uzun gösteriyor 549 00:25:00,652 --> 00:25:03,360 o olduğunu komutlar dizisi Biz önceden yapılandırılmış çünkü yapıyor 550 00:25:03,360 --> 00:25:05,200 bu şekilde, ama biz Şimdilik endişe gerek yok 551 00:25:05,200 --> 00:25:10,735 ne o başka yapıyor derleme nokta merhaba, merhaba dünya çizgi. 552 00:25:10,735 --> 00:25:14,969 553 00:25:14,969 --> 00:25:15,510 Sorun nedir? 554 00:25:15,510 --> 00:25:16,177 Evet. 555 00:25:16,177 --> 00:25:17,370 >> HEDEF KİTLE: [duyulamaz] 556 00:25:17,370 --> 00:25:18,203 >> DAVID J. MALAN: Evet. 557 00:25:18,203 --> 00:25:19,600 Yani, noobie hata. 558 00:25:19,600 --> 00:25:22,394 Ben, bu süper ince olduğunu fark ama burada yıldız, sekmesinde, 559 00:25:22,394 --> 00:25:25,060 Sadece kaydettiğiniz değil demektir, tarayıcılar ve diğer program ve 560 00:25:25,060 --> 00:25:25,930 bazen bunu. 561 00:25:25,930 --> 00:25:27,939 Yani kontrol s veya komut s kaydetmek gerekir. 562 00:25:27,939 --> 00:25:29,730 Şimdi bana önde gitmeme izin ve programı yeniden çalıştırın. 563 00:25:29,730 --> 00:25:33,360 564 00:25:33,360 --> 00:25:34,260 Çekirdekler. 565 00:25:34,260 --> 00:25:36,050 Doğru, bu yüzden bir çok-aşamalı bir süreçtir. 566 00:25:36,050 --> 00:25:39,400 Hiçbiri, özellikle karmaşıktır ama her zaman biz, dosyayı değiştirmek 567 00:25:39,400 --> 00:25:43,450 Biz sonuçlanımını değiştirmeniz gerekir sıfır ve olanları ve nokta çizgi merhaba. 568 00:25:43,450 --> 00:25:43,950 Vay. 569 00:25:43,950 --> 00:25:46,450 Yani bu çok underwhelming biz sadece bu yazdırılır. 570 00:25:46,450 --> 00:25:48,360 Bir eşyalarını yapalım Şimdi, daha dinamik küçük. 571 00:25:48,360 --> 00:25:52,280 >> Peki like that, çıkıyor Çizilmeye, C değişkenlerini destekler. 572 00:25:52,280 --> 00:25:54,790 Ve isterseniz çıkıyor depolayan bir değişken olması, 573 00:25:54,790 --> 00:25:57,300 gibi biz sayı değil tipik, Scratch ile yaptığımız 574 00:25:57,300 --> 00:26:01,300 ancak bir kelime gibi ya da bir ifade ya da bir isim, sen 575 00:26:01,300 --> 00:26:04,837 Bir değişkeni belirtebilirsiniz tipi string olmak. 576 00:26:04,837 --> 00:26:06,670 Yani biz daha göreceğiz Sadece bir an, bu, 577 00:26:06,670 --> 00:26:09,090 ama o C çıkıyor ve Bunun gibi dillerin bir sürü 578 00:26:09,090 --> 00:26:11,240 değişkenlerin çok özel türleri vardır. 579 00:26:11,240 --> 00:26:13,810 Sadece, cebir gibi değil Bir x, bir y ve z nereden 580 00:26:13,810 --> 00:26:16,940 ve bu sadece her zaman Bir programlama dilinde sayılar, 581 00:26:16,940 --> 00:26:20,030 Eğer can, numaralarını saklayabileceğiniz Tek tek karakterleri depolamak, 582 00:26:20,030 --> 00:26:24,619 Eğer sen-ebil, tam sözcükleri depolamak bütün görüntüler, bütün ses dosyalarını saklamak 583 00:26:24,619 --> 00:26:25,160 ve benzerleri. 584 00:26:25,160 --> 00:26:28,362 Peki ne belirlemeniz gerekir Bizim değişken türüdür. 585 00:26:28,362 --> 00:26:31,570 Ve Kongre tarafından ben diyeceğim benim bu özlü sırf değişken s, 586 00:26:31,570 --> 00:26:33,510 ve s dizesi için duruyor. 587 00:26:33,510 --> 00:26:36,400 >> Ve sonra saklamak için gidiyorum Bu değişkenin içinde 588 00:26:36,400 --> 00:26:39,570 Sadece Scratch ile ister Ben set bloğu kullandığınızda, 589 00:26:39,570 --> 00:26:41,950 Ben kullanmak için gidiyorum C atama operatörü, 590 00:26:41,950 --> 00:26:45,290 hangi güzel yeterince eşit imzalamak, ama eşit işareti yapar. 591 00:26:45,290 --> 00:26:53,220 Bu sağ içine bir şey taşır İfade sol tarafı. 592 00:26:53,220 --> 00:26:57,170 Yani yaptıklarını, açık olmak hat beş, ben bir değişken ilan ettik edilir. 593 00:26:57,170 --> 00:27:01,284 Ben bana vermek, bilgisayar söyledim Bir değişken için bellek, bu s çağrı 594 00:27:01,284 --> 00:27:03,950 ve ben gidiyorum önceden bilmek Bunun bir dize koyarak için. 595 00:27:03,950 --> 00:27:05,950 Ve bir dize sadece bir karakter dizisi. 596 00:27:05,950 --> 00:27:09,190 Bir kelime veya bir cümle veya paragraf var, ancak karakter dizisi var. 597 00:27:09,190 --> 00:27:10,610 Bu sayılar değil. 598 00:27:10,610 --> 00:27:13,800 Ne dize ben olacak değilim Bu değişkene koyarak? 599 00:27:13,800 --> 00:27:16,185 Eh, görünüşe alıntı unquote, "Hannah". 600 00:27:16,185 --> 00:27:17,810 Şimdi ortaya çıkan oluyor desen dikkat edin. 601 00:27:17,810 --> 00:27:19,260 Bir sol ifadesi var. 602 00:27:19,260 --> 00:27:21,810 Bir sağ ifadesi var, eşittir işareti ile ayrılan. 603 00:27:21,810 --> 00:27:24,390 Ve sadece eğer bir tahmin almak yine de yabancı, 604 00:27:24,390 --> 00:27:27,430 noktalı virgül ne yapıyor. 605 00:27:27,430 --> 00:27:28,865 Tahminen bizim için ne yapıyor? 606 00:27:28,865 --> 00:27:29,365 Evet? 607 00:27:29,365 --> 00:27:29,840 >> HEDEF KİTLE: [duyulamaz] 608 00:27:29,840 --> 00:27:29,980 >> DAVID J. MALAN: Evet. 609 00:27:29,980 --> 00:27:31,170 Bu sadece çizgiyi sonlandıran ediyor. 610 00:27:31,170 --> 00:27:31,669 Sağ? 611 00:27:31,669 --> 00:27:34,260 Bilgisayarlar dobra dobra olmak istiyorum kelimenin tam anlamıyla, ne yapacağını anlattı. 612 00:27:34,260 --> 00:27:36,343 Fıstık ezmesi gibi ve jöle sandviç örneği 613 00:27:36,343 --> 00:27:39,360 belirttiğiniz yoksa Tam olarak planladığınız ne 614 00:27:39,360 --> 00:27:42,190 bu kararın hata veya sola olabilir. 615 00:27:42,190 --> 00:27:44,890 Noktalı anlamına gelir bu komut için bu kadar. 616 00:27:44,890 --> 00:27:48,310 Süper hassas davranıyor ve bu kadar çok kolay bir şey bırakmak için. 617 00:27:48,310 --> 00:27:52,240 Yani şimdi bu program görünmüyor I kadar farklı herhangi çalışmayan 618 00:27:52,240 --> 00:27:53,500 daha dinamik hale. 619 00:27:53,500 --> 00:27:57,107 Yani ziyade zor benim kendi olabilir isim, bana bir yer tutucu değerini koyalım. 620 00:27:57,107 --> 00:28:00,190 Ve o çıkıyor ve ben bunu biliyorum belgeleri okuyarak, 621 00:28:00,190 --> 00:28:04,080 ve o, yıllardır fonksiyonu kullanılır Printf dinamik olacak şekilde tasarlanmıştır. 622 00:28:04,080 --> 00:28:07,510 Siz önceden bilmek zorunda değilsiniz bunu koymak istiyorum ne kelime. 623 00:28:07,510 --> 00:28:11,290 Bunun yerine bir olabilir Yüzde s gibi yer tutucu, hangi 624 00:28:11,290 --> 00:28:15,500 anlatacak Bilgisayar, burada bir dize koydu. 625 00:28:15,500 --> 00:28:17,740 >> Hangi dize orada koymak istiyorsun? 626 00:28:17,740 --> 00:28:22,430 Will bunlar arasındaki çıkıyor hatırlıyorum parantez, ayırmak 627 00:28:22,430 --> 00:28:28,020 Bir fonksiyona girdi, varsa virgül, burada şeylerin listesini ayrılmış 628 00:28:28,020 --> 00:28:31,790 biz aslında birden geçmek bir işleve girdiler. 629 00:28:31,790 --> 00:28:33,901 Yani sadece bazı Scratch gibi bloklar, sen olmayabilir 630 00:28:33,901 --> 00:28:36,150 onlarla oynamıştır projeleriniz henüz veya hiç, 631 00:28:36,150 --> 00:28:38,250 Bazı Scratch bloklar iki girişe sahiptir. 632 00:28:38,250 --> 00:28:41,220 İki beyaz kutuları yapabilirsiniz numara veya kelimeleri içine girin. 633 00:28:41,220 --> 00:28:45,210 Yani C gibi işlevleri var etmek iki giriş alabilir printf. 634 00:28:45,210 --> 00:28:48,050 Ve yine, bu virgül Onları ayıran. 635 00:28:48,050 --> 00:28:51,070 Yani İngilizce, yine olsa bile Eğer, daha önce programlanmış hiç 636 00:28:51,070 --> 00:28:55,320 Bu mantık printf bir işlev tarafından, iki girişi alır biri 637 00:28:55,320 --> 00:28:58,810 bir yer tutucudur, ne umuyoruz olduğunu printf bu girdi ile ne yapacak? 638 00:28:58,810 --> 00:29:01,470 639 00:29:01,470 --> 00:29:03,220 Bu merhaba demek için gidiyor Hannah, umarım. 640 00:29:03,220 --> 00:29:05,274 Yani biz kaydetmeniz gerekir bunu yapmak için. 641 00:29:05,274 --> 00:29:06,190 Ben uzaklaştırmak için gidiyorum. 642 00:29:06,190 --> 00:29:10,701 Ben buraya gitmek için gidiyorum ve merhaba girmek yapmak demek. 643 00:29:10,701 --> 00:29:11,200 Ah. 644 00:29:11,200 --> 00:29:14,830 Bir şey yanlış ve aslında Bu oldukça zor. 645 00:29:14,830 --> 00:29:18,400 Ben kod altı hatları ve hatalar 12 çizgiler gibi. 646 00:29:18,400 --> 00:29:22,120 Yani, bu için sabırsızlanıyoruz. 647 00:29:22,120 --> 00:29:24,260 Peki burada neler oluyor? 648 00:29:24,260 --> 00:29:27,370 Yani burada En iyi pratik kural, Eğer dışarı başlıyoruz, özellikle 649 00:29:27,370 --> 00:29:29,370 dalıp alamadım altta şeyler. 650 00:29:29,370 --> 00:29:31,220 Aslında çok bilinçli sadece yukarı kaydırılır 651 00:29:31,220 --> 00:29:33,930 Çok sık bir bilgisayar olduğu Bir cihazın tüm bu parlak. 652 00:29:33,930 --> 00:29:35,054 Bu karıştı almak için gidiyor. 653 00:29:35,054 --> 00:29:37,220 O bir şey görürse o o, anlamıyor 654 00:29:37,220 --> 00:29:40,030 diğer hata olabilir olarak yanlış kod satırları, 655 00:29:40,030 --> 00:29:41,649 olsa bile onlar mükemmel iyiyiz. 656 00:29:41,649 --> 00:29:43,940 Yani her zaman çalışmak istediğiniz hataları aşağı yukarı. 657 00:29:43,940 --> 00:29:47,850 Ve kuşkusuz bu Şu anda Süper gizemli. 658 00:29:47,850 --> 00:29:50,830 >> Hata, bildirilmemiş kullanımı tanımlayıcı bir dize. 659 00:29:50,830 --> 00:29:52,130 Ben standart kastettiniz? 660 00:29:52,130 --> 00:29:53,720 Hayır, ben dize geliyordu. 661 00:29:53,720 --> 00:29:55,830 Ve belki de bir yazım hatası var, işaret ediyor. 662 00:29:55,830 --> 00:30:00,570 Sıralama benzeri, yazım denetimi bir içinde Çok geeky yolu, ama burada neden, 663 00:30:00,570 --> 00:30:02,840 ve bu bileceksiniz Sadece uygulama gereği, 664 00:30:02,840 --> 00:30:06,390 o dizeyi çıkıyor ki Aslında C'de mevcut değildir, Cı 665 00:30:06,390 --> 00:30:08,820 Özellikle eski dildir, ve çok düşük seviyede var: 666 00:30:08,820 --> 00:30:11,361 ve bir çok özellik yok Eğer büyümüş olabileceğini 667 00:30:11,361 --> 00:30:14,620 Eğer varsa, aslında, programlanmış olan Java, bazılarınız olduğu gibi, 668 00:30:14,620 --> 00:30:16,980 ancak bunu yeni şeyler öğretebilir. 669 00:30:16,980 --> 00:30:20,900 Ve gerçekten biz bu CS50 yaptık, Hatta dönem sonunda olsa da, 670 00:30:20,900 --> 00:30:23,512 Bu eğitim jantlar tüm kapalı atılmış olacaktır, 671 00:30:23,512 --> 00:30:25,220 bu içinde ne İlk birkaç haftayı 672 00:30:25,220 --> 00:30:29,830 Başlangıçta biz de var olduğunu Eğer CS50 nokta h bulunmaktadır. 673 00:30:29,830 --> 00:30:31,230 Hangi bir başlık dosyasıdır. 674 00:30:31,230 --> 00:30:32,440 Gelecekte bu konuda daha fazla. 675 00:30:32,440 --> 00:30:36,430 >> Bu işlevleri içeren bir dosya var biz sizin için yazdım. 676 00:30:36,430 --> 00:30:39,180 Ve bu işlevlerin arasında yer alıyor girdi almak için fonksiyonlar 677 00:30:39,180 --> 00:30:43,520 kullanıcı, dizeleri gibi, ve gelen sayılar ve reel sayılar, ve daha fazlası. 678 00:30:43,520 --> 00:30:45,550 Ama aynı zamanda bir kaç kısayolları vardır. 679 00:30:45,550 --> 00:30:48,200 Bir veri türü olarak bir Boole tanımlar. 680 00:30:48,200 --> 00:30:50,340 C doğru veya yanlış yoktur. 681 00:30:50,340 --> 00:30:53,880 Ama biz bunu kavramını verebilir doğru ya da bu kütüphanede yoluyla yanlış. 682 00:30:53,880 --> 00:30:57,670 Ve o da bir dize yok Bu çizgiyi dahil kadar yerleşik. 683 00:30:57,670 --> 00:31:01,090 Yani bu kod satırı söyler derleyici, hey, Clang, bak 684 00:31:01,090 --> 00:31:03,570 Bir bütün bu dosyada kod demet o CS50 685 00:31:03,570 --> 00:31:06,330 böylece yazmış Bu dosyayı kullanan herkes 686 00:31:06,330 --> 00:31:09,330 verilen alabilir özellikler de ekledik. 687 00:31:09,330 --> 00:31:11,220 >> Yani şimdi beni önde gitmeme izin ve ekranı temizlemek, 688 00:31:11,220 --> 00:31:14,178 ve meraklı eğer ben sadece kontrol söylüyorum l Her zaman, ekranı temizlemek için 689 00:31:14,178 --> 00:31:15,500 ya da açık yazabilirsiniz. 690 00:31:15,500 --> 00:31:19,220 Ben şimdi önde gidiyorum ve tipi merhaba yapmak ve tüm iyi. 691 00:31:19,220 --> 00:31:22,550 Hala bir gizemli çıktı ama bu hatalı bir mesaj değil. 692 00:31:22,550 --> 00:31:28,300 Ben nokta yaparsak merhaba eğik çizgi ve bir şekilde kenara, nokta çizgi çoğu yabancı. 693 00:31:28,300 --> 00:31:30,430 Sadece, nokta aracı anlamına gelir Geçerli dizin. 694 00:31:30,430 --> 00:31:33,120 Eğer şimdiye kadar kullandığınız Yani eğer DOS veya Linux veya Unix 695 00:31:33,120 --> 00:31:35,410 Bir şey yapmış olabilir cd nokta nokta gibi 696 00:31:35,410 --> 00:31:39,220 dot dot geriye gitmek anlamına gelir Zaman, ya da geriye gitmek, ya da daha yukarı 697 00:31:39,220 --> 00:31:40,370 senin dizinde. 698 00:31:40,370 --> 00:31:43,090 Dot sadece bakmak anlamına gelir Geçerli dizin. 699 00:31:43,090 --> 00:31:45,670 Ben buradayım, hangi merhaba istiyorum. 700 00:31:45,670 --> 00:31:47,750 Ve gerçekten, şimdi Hannah merhaba diyor. 701 00:31:47,750 --> 00:31:51,120 Ve ben tekrar değiştirirseniz Maria, derlemeye 702 00:31:51,120 --> 00:31:55,650 o merhaba, nokta çizgi yapacak merhaba, programın sürekli değişiyor. 703 00:31:55,650 --> 00:31:58,060 >> Ama bu yine de bir Oldukça aptal bir program. 704 00:31:58,060 --> 00:32:00,972 Ben bu programı gemi istiyorsanız, veya bir arkadaşınıza verin, 705 00:32:00,972 --> 00:32:03,430 veya Maria ya da Hannah ver bu konuda, bu iyi. 706 00:32:03,430 --> 00:32:07,300 Ben, her ikisi için de özelleştirebilirsiniz ama asla dinamik olacak. 707 00:32:07,300 --> 00:32:10,870 O derlenmiş bir kez onlar bunu değiştiremezsiniz aşağı bu sıfırlar ve olanları içine. 708 00:32:10,870 --> 00:32:12,350 Bu yüzden akıllı bir şey ne? 709 00:32:12,350 --> 00:32:17,100 Ne, eğer yerine sabit kodlama Programın bu kişinin adını içine, 710 00:32:17,100 --> 00:32:20,890 biz sadece ne olursa olsun talep üzerine dize? 711 00:32:20,890 --> 00:32:22,430 >> Yani diğer bir deyişle, bunu yapmama izin ver. 712 00:32:22,430 --> 00:32:24,030 Ben bu programı yeniden derlemek için gidiyorum. 713 00:32:24,030 --> 00:32:25,710 Ve bana şimdi altta yakınlaştırmak edelim. 714 00:32:25,710 --> 00:32:29,920 Merhaba nokta çizgi merhaba olun. 715 00:32:29,920 --> 00:32:31,710 Şimdi hiçbir şey olmuyor. 716 00:32:31,710 --> 00:32:35,860 Biz hızlı gönüllü alabilir miyim Bir şey yapmak için? 717 00:32:35,860 --> 00:32:36,360 Yukarı gel. 718 00:32:36,360 --> 00:32:37,020 Adın ne? 719 00:32:37,020 --> 00:32:37,445 >> PANCHO: Pancho. 720 00:32:37,445 --> 00:32:38,361 >> DAVID J. MALAN: Pacho? 721 00:32:38,361 --> 00:32:39,609 Yukarı gel. 722 00:32:39,609 --> 00:32:42,150 Buraya aldıktan sonra, bu çok underwhelming olacak, 723 00:32:42,150 --> 00:32:44,060 ama daha ilginç Benden daha yazarak. 724 00:32:44,060 --> 00:32:49,007 Devam edin ve yazın isterseniz sizin adı, ben sadece sizin için bu programı yaptı. 725 00:32:49,007 --> 00:32:49,840 Sadece adınızı yazın. 726 00:32:49,840 --> 00:32:52,380 727 00:32:52,380 --> 00:32:53,900 Girin. 728 00:32:53,900 --> 00:32:54,489 Harika. 729 00:32:54,489 --> 00:32:55,780 Pekala, çok teşekkür ederim. 730 00:32:55,780 --> 00:32:56,708 >> PANCHO: Çok teşekkür ederim. 731 00:32:56,708 --> 00:32:57,636 >> DAVID J. MALAN: Tamam. 732 00:32:57,636 --> 00:32:59,028 >> [Alkış] 733 00:32:59,028 --> 00:33:00,884 734 00:33:00,884 --> 00:33:01,840 >> Bu çok nazikti. 735 00:33:01,840 --> 00:33:03,145 Hadi bakalım. 736 00:33:03,145 --> 00:33:03,770 Ne yaptık? 737 00:33:03,770 --> 00:33:05,930 Yani biz nihayet en azından Bu program, dinamik yaptı. 738 00:33:05,930 --> 00:33:08,400 Şimdi kesinlikle hala Tasarım Underwhelming tarafından, 739 00:33:08,400 --> 00:33:11,480 ama biz nihayet yeteneğine sahip Şimdi çok önceden kod yazmak 740 00:33:11,480 --> 00:33:13,770 printf yazarları gibi, ve daha sonra dinamik 741 00:33:13,770 --> 00:33:17,550 biz girdi temel alınan adapte teslim ya programcı tarafından, 742 00:33:17,550 --> 00:33:20,610 veya insan tarafından kim aslında programı ile etkileşimde. 743 00:33:20,610 --> 00:33:22,990 Yani deneyin Şimdi aslında atalım birkaç diğer yapıları yapmak 744 00:33:22,990 --> 00:33:26,625 Biz programları yapamaz eğer görmek kendilerini daha sofistike. 745 00:33:26,625 --> 00:33:29,250 Yani öncesinde ve yerine gidelim Sıfırdan bu bir yazma 746 00:33:29,250 --> 00:33:31,540 Ben bugünün içine gidiyorum kaynak kodu, ve tüm bu 747 00:33:31,540 --> 00:33:34,290 Tabii en geçerli Web sitesi ve sürükleyin ve bırakın 748 00:33:34,290 --> 00:33:36,590 Kendi ortama sorun bir kez Cuma gel 749 00:33:36,590 --> 00:33:38,506 set 1 verir talimatlar, ya yaparsın 750 00:33:38,506 --> 00:33:41,200 Komut satırı olarak bunu yapmak iyi, s gelip ama daha 1 olarak ayarlayın. 751 00:33:41,200 --> 00:33:44,940 >> Şimdi bu programda ne görelim Burada engerek nokta c çağırdı. 752 00:33:44,940 --> 00:33:47,970 Şimdi ben zaten yorumladı ettik o, ancak yeni ne var? 753 00:33:47,970 --> 00:33:51,230 İlk bakışta, hangi satır kod kesinlikle yeni mi? 754 00:33:51,230 --> 00:33:53,930 755 00:33:53,930 --> 00:33:56,780 Muhtemelen temelden Şimdi yabancı. 756 00:33:56,780 --> 00:33:58,417 >> HEDEF KİTLE: [duyulamaz] 757 00:33:58,417 --> 00:34:00,250 DAVID J. MALAN: Evet, yani int x n olsun eşittir. 758 00:34:00,250 --> 00:34:03,760 Biz bunların hiçbirini görmedim daha önce, ama int muhtemelen 759 00:34:03,760 --> 00:34:08,179 ne tür sembolü Değişken, [ dan?] tamsayı. 760 00:34:08,179 --> 00:34:09,040 Yani tamsayı için int. 761 00:34:09,040 --> 00:34:11,420 Bu sadece daha fazla davranıyor özlü. x sadece keyfidir. 762 00:34:11,420 --> 00:34:13,920 x ve y ve z, hala sayılar için oldukça makul, 763 00:34:13,920 --> 00:34:16,790 ama genellikle bir kez kelimeleri kullanacağız Bizim programlar daha karmaşık olsun. 764 00:34:16,790 --> 00:34:18,940 Elbette, int alın olsun dize gibi çok, 765 00:34:18,940 --> 00:34:21,629 Muhtemelen gidecek kullanıcının bir int, 766 00:34:21,629 --> 00:34:23,670 ve sonra biz gidiyoruz y ile aynı şeyi yapmak. 767 00:34:23,670 --> 00:34:27,610 Ve görünüşe göre, olsa bile bu Son satır, 24, daha karmaşık görünüyor 768 00:34:27,610 --> 00:34:32,679 Bu toplamı söyleyecek ve bu başka bir şey değildir. 769 00:34:32,679 --> 00:34:35,840 >> Ve ihbar yüzde i Muhtemelen ne gösterir? 770 00:34:35,840 --> 00:34:38,190 Nasıl bir rol yüzde yapar Ben görünüşe hizmet? 771 00:34:38,190 --> 00:34:40,739 772 00:34:40,739 --> 00:34:41,719 Sadece tutucular var. 773 00:34:41,719 --> 00:34:42,219 Sağ? 774 00:34:42,219 --> 00:34:45,149 Yüzde s, dize oldu Yüzde i tamsayı içindir. 775 00:34:45,149 --> 00:34:47,690 Yüzde f Orada gidiyor puan değeri, kayan için hangi 776 00:34:47,690 --> 00:34:49,273 Bir ondalık noktasının sadece bir sayıdır. 777 00:34:49,273 --> 00:34:50,590 Diğer bir deyişle, bir reel sayı. 778 00:34:50,590 --> 00:34:55,270 Yani aslında bu derleme izin gerçek hızlı programlamak ve toplayıcı yapabilirim. 779 00:34:55,270 --> 00:34:57,962 Whoops. 780 00:34:57,962 --> 00:34:58,670 İyi bir fırsat. 781 00:34:58,670 --> 00:35:02,970 Peki tüm bu kez, burada benim kullanıcı fark Bu hesabın jharvard olduğu için isim. 782 00:35:02,970 --> 00:35:06,620 Ben, aka CS50 IDE IDE50 duyuyorum. 783 00:35:06,620 --> 00:35:11,030 Ve şimdi burada mavi, bir söz ama Nerede olduğumu çevreye gelen. 784 00:35:11,030 --> 00:35:16,050 Ve aslında, ben üstüne kadar Büyütmek eğer Burada, ben bir IDE50 var olduğunu fark 785 00:35:16,050 --> 00:35:19,490 ve ben eğer tür, bu kelimeyi bakın , tarafına çalışma alanını başınızı açın. 786 00:35:19,490 --> 00:35:23,890 Özetle, gerçeği Ben tilde çizgi çalışma alanını görüyorum 787 00:35:23,890 --> 00:35:26,910 demek ki, bu metinde tabanlı komut ortamı, 788 00:35:26,910 --> 00:35:32,300 Ben metin eşdeğer duyuyorum Bu buraya klasörü grafiksel. 789 00:35:32,300 --> 00:35:35,730 Yani nokta çizgi yaptığınızda toplayıcı, hiçbir kural söylüyor 790 00:35:35,730 --> 00:35:37,372 Hedef toplayıcı stop yapmak için. 791 00:35:37,372 --> 00:35:39,830 Ben, bunun ne anlama geldiğini bilmiyorum ama nedense kötü. 792 00:35:39,830 --> 00:35:43,310 Böyle bir dosya ya da dizin yok daha açıktır. 793 00:35:43,310 --> 00:35:45,670 Nerede o zaman? 794 00:35:45,670 --> 00:35:47,820 Ben tıkladım nereye dayanarak Daha önce dosyayı açmak için. 795 00:35:47,820 --> 00:35:49,442 Nerede olabilir? 796 00:35:49,442 --> 00:35:52,050 >> Bu kaynakta muhtemelen tek w Çarşamba, 797 00:35:52,050 --> 00:35:53,960 ve ben, gerçekten bunu görebilirsiniz Bunu açmak durumunda. 798 00:35:53,960 --> 00:35:57,220 Orada toplayıcı nokta c ama Bu metin tabanlı bir ortam, 799 00:35:57,220 --> 00:35:59,380 Yine, süper açık olmak zorunda. 800 00:35:59,380 --> 00:36:03,950 Ben içine dizinleri değiştirmek istiyorsanız Kaynak, bir Çarşamba, ben yazmanız gerekir, 801 00:36:03,950 --> 00:36:07,210 cd uzay kaynağı tek Çarşamba şimdi girmek ve 802 00:36:07,210 --> 00:36:09,810 benim istemi değişiklikler Bana bir görsel işaret vermek 803 00:36:09,810 --> 00:36:12,330 Ben başka bir yerde, gerçekten, ben Benim ortamında, 804 00:36:12,330 --> 00:36:15,710 ama şimdi yapmak yapabilirim toplayıcı, o iş gibi görünüyor, 805 00:36:15,710 --> 00:36:18,190 dot bana bir tamsayı vermek, engerek çizgi. 806 00:36:18,190 --> 00:36:19,080 Bir. 807 00:36:19,080 --> 00:36:20,070 İki. 808 00:36:20,070 --> 00:36:21,630 Bir ve iki toplamı üçtür. 809 00:36:21,630 --> 00:36:24,140 Ama işbirliği yoksa, en int yapar ne olsun bakalım. 810 00:36:24,140 --> 00:36:25,200 Bana bir tamsayı ver. 811 00:36:25,200 --> 00:36:26,590 Hayır. 812 00:36:26,590 --> 00:36:27,350 Tekrar dene. 813 00:36:27,350 --> 00:36:29,060 TAMAM. 814 00:36:29,060 --> 00:36:30,520 Güzel. 815 00:36:30,520 --> 00:36:32,130 50. 816 00:36:32,130 --> 00:36:32,680 50. 817 00:36:32,680 --> 00:36:33,010 Pekala. 818 00:36:33,010 --> 00:36:34,055 Yani nihayet işbirliği yapar. 819 00:36:34,055 --> 00:36:36,430 Ve bu bazı var işlevsellik, bu fonksiyonlar 820 00:36:36,430 --> 00:36:37,760 Sizin için inşa etmişlerdir olabilir. 821 00:36:37,760 --> 00:36:43,330 >> Uygulanması içinde çok int ne programlama olsun 822 00:36:43,330 --> 00:36:47,990 muhtemelen bir geçen hafta inşa yeniden deneme bu davranışı var zorlamak için, 823 00:36:47,990 --> 00:36:49,962 yeniden, yeniden deneyin? 824 00:36:49,962 --> 00:36:51,670 Evet, muhtemelen orada döngünün çeşit. 825 00:36:51,670 --> 00:36:54,160 Bu sözdizimsel bakmak için gidiyor sıfırdan en bloklardan farklı, 826 00:36:54,160 --> 00:36:55,880 ancak gerçekte bu Ne dosyanın içinde. 827 00:36:55,880 --> 00:36:58,505 Ve birkaç hafta süre içinde yaparız aslında CS50 kütüphanede bakmak 828 00:36:58,505 --> 00:37:02,000 olarak içinde ne olduğunu, ama orada tam olarak heybetli bir döngü. 829 00:37:02,000 --> 00:37:04,840 >> En aptalca az şey oynayalım Burada bu dosya ile oyunu. 830 00:37:04,840 --> 00:37:06,550 Durum sıfır nokta c. 831 00:37:06,550 --> 00:37:08,960 Biz sadece genel gidiyoruz sıfırdan saymaya başlar. 832 00:37:08,960 --> 00:37:11,220 Ve ben geçmiş kaydırmaya devam üstündeki bazı şeyler. 833 00:37:11,220 --> 00:37:15,390 Mavi Burada, tüm demarcated Bu yıldızların ve bölü, 834 00:37:15,390 --> 00:37:17,310 programı sizin kim daha önce, o da ne? 835 00:37:17,310 --> 00:37:18,690 Neden biz atlayarak duruyorsun? 836 00:37:18,690 --> 00:37:19,110 Ne? 837 00:37:19,110 --> 00:37:19,490 >> HEDEF KİTLE: Bu bir açıklama değil. 838 00:37:19,490 --> 00:37:19,800 >> DAVID J. MALAN: Evet. 839 00:37:19,800 --> 00:37:20,633 Bu sadece bir yorum var. 840 00:37:20,633 --> 00:37:24,160 Bu insanlar için bir yorumdur okumak, bizim durumumuzda bu, 841 00:37:24,160 --> 00:37:27,120 Dosyanın adını bize ne söyler bunu kim yazdı, ve ne o does 842 00:37:27,120 --> 00:37:28,610 bu yüzden yok kod okumaya 843 00:37:28,610 --> 00:37:30,110 Bu dosyanın tüm hakkında ne olduğunu bilmek. 844 00:37:30,110 --> 00:37:33,110 Bu, sadece bir açıklama ama işlevsel alakasız olduğunu. 845 00:37:33,110 --> 00:37:35,930 Ve ben bile silebilirsiniz Benim dosya ve hiçbir etkisi yoktur. 846 00:37:35,930 --> 00:37:38,740 Sulu hatları şunlardır Burada ilk iki, şimdi. 847 00:37:38,740 --> 00:37:41,405 int void main eşdeğer yeşil bayrak tıklandığında bizim ne zaman, 848 00:37:41,405 --> 00:37:44,030 bu yüzden o olacak bırakmak için gidiyoruz Bugün için, ve biz geri geleceğiz, 849 00:37:44,030 --> 00:37:46,940 Sonunda, olarak neyi int ve boşluk, şimdi, ama 850 00:37:46,940 --> 00:37:49,500 Ben ne yaptığımı fark Burada da, sen de yapabilirsiniz 851 00:37:49,500 --> 00:37:51,736 Eğer doğrultusunda bir varsa Eğer varsa, yorum 852 00:37:51,736 --> 00:37:54,670 Bir Paylaşmak istediğiniz düşünce belirli bir kod satırı hakkında, 853 00:37:54,670 --> 00:37:58,910 C kongre çizgi yapmaktır slash, ve sonra birkaç özlü sözler, 854 00:37:58,910 --> 00:38:01,500 bir tam cümle, genellikle bir paragraf, 855 00:38:01,500 --> 00:38:05,310 Bu sadece sizin için açıklıyor, ya da sizin TF, ya da diğer okuyucular veya iş arkadaşları, 856 00:38:05,310 --> 00:38:06,990 kodunuzu ne yapıyor. 857 00:38:06,990 --> 00:38:10,150 Yani oldukça bakmak zorunda daha ve bu da hatlardan sonucuna 858 00:38:10,150 --> 00:38:12,550 Dokuz ve 10, nedir Bu hat sekiz yapıyor 859 00:38:12,550 --> 00:38:14,945 Ben sadece bir yorum vermek bir tamsayı için kullanıcı sormak, 860 00:38:14,945 --> 00:38:17,820 Sonra ben de zor düşünmek zorunda değilsiniz Ne hakkında hatları dokuz ve 10 vardır. 861 00:38:17,820 --> 00:38:19,720 Ben sadece ne olduğunu biliyorum topluca onlar yapıyorlar. 862 00:38:19,720 --> 00:38:20,460 >> Nasıl? 863 00:38:20,460 --> 00:38:22,060 Peki, burada istemi var. 864 00:38:22,060 --> 00:38:23,610 İşte int getting. 865 00:38:23,610 --> 00:38:25,984 Ve önceki dayalı davranış, o olsun int gibi görünüyor 866 00:38:25,984 --> 00:38:29,080 emin olmak için yeterince akıllı İnsan işbirliği ve verir 867 00:38:29,080 --> 00:38:30,090 bir tamsayı. 868 00:38:30,090 --> 00:38:32,270 Ama şimdi biz görüyoruz. 869 00:38:32,270 --> 00:38:33,740 Ve bu Scratch andırır. 870 00:38:33,740 --> 00:38:36,140 Ben olduğumu iddia ediyorum Kullanıcının girişi analiz, 871 00:38:36,140 --> 00:38:39,050 ama biraz yanlış. 872 00:38:39,050 --> 00:38:43,200 Ve görünüşe göre C Bu nasıl biz else if ifade, bir dal, 873 00:38:43,200 --> 00:38:46,320 Bir yol çatal, ama ben biraz yanlış söylüyorlar. 874 00:38:46,320 --> 00:38:50,470 Bu programda hata nedir? 875 00:38:50,470 --> 00:38:51,610 Hakkında daha geri? 876 00:38:51,610 --> 00:38:52,223 Evet. 877 00:38:52,223 --> 00:38:53,150 >> HEDEF KİTLE: [duyulamaz] sıfır. 878 00:38:53,150 --> 00:38:54,025 >> DAVID J. MALAN: Evet. 879 00:38:54,025 --> 00:38:57,630 Ben sıfır yazarsanız Yani, düşünelim tam olarak bu durumda, ya da köşe durumda, 880 00:38:57,630 --> 00:38:58,450 eğer sen. 881 00:38:58,450 --> 00:39:02,790 Ben, sıfır yazarsanız Yani hangi bloklar görünüşe kapmak olacak? 882 00:39:02,790 --> 00:39:04,660 Eğer yoksa? 883 00:39:04,660 --> 00:39:07,340 Başka ve söyleyecek, Eğer negatif bir sayı aldı. 884 00:39:07,340 --> 00:39:10,476 Ve gerçekten de, sıfır gerekiyordu değil pozitif veya negatif, 885 00:39:10,476 --> 00:39:11,850 ve böylece yanlışlıkla olurdu. 886 00:39:11,850 --> 00:39:12,930 Bu bir hata olurdu. 887 00:39:12,930 --> 00:39:14,580 Peki bu düzeltebilirim? 888 00:39:14,580 --> 00:39:16,360 Daha önce programlanmış olmamıştı biri mi? 889 00:39:16,360 --> 00:39:16,570 İster misin-- 890 00:39:16,570 --> 00:39:17,480 >> HEDEF KİTLE: [duyulamaz] 891 00:39:17,480 --> 00:39:17,990 >> DAVID J. MALAN: katlanması? 892 00:39:17,990 --> 00:39:18,570 >> HEDEF KİTLE: [duyulamaz] 893 00:39:18,570 --> 00:39:18,930 >> DAVID J. MALAN: Oh, var mı? 894 00:39:18,930 --> 00:39:20,350 Daha önce programlanmış olmamıştı biri. 895 00:39:20,350 --> 00:39:21,750 Şansınızı denemek ister Bu, kırmızı tişörtlü? 896 00:39:21,750 --> 00:39:22,600 Yukarı gel. 897 00:39:22,600 --> 00:39:25,320 Eğer sakıncası yoksa Oh evet, yukarı gel. 898 00:39:25,320 --> 00:39:27,586 Yani programlanmış olan asla daha önce, senin adın ne? 899 00:39:27,586 --> 00:39:28,210 LAUREN: Lauren. 900 00:39:28,210 --> 00:39:29,626 DAVID J. MALAN: Lauren, tamam. 901 00:39:29,626 --> 00:39:31,150 Yani bizim için bu hatayı düzeltmek. 902 00:39:31,150 --> 00:39:35,070 Sen muhtemelen, C görmedim, ve muhtemelen başka hiçbir dil. 903 00:39:35,070 --> 00:39:38,380 Yani bizim için bu programı düzeltmek. 904 00:39:38,380 --> 00:39:39,100 Memnun oldum. 905 00:39:39,100 --> 00:39:39,615 Baskı yok. 906 00:39:39,615 --> 00:39:40,156 LAUREN: Evet. 907 00:39:40,156 --> 00:39:43,350 908 00:39:43,350 --> 00:39:46,270 >> DAVID J. MALAN: Fakat yine de, eğer bu kumar, plana göre giderse 909 00:39:46,270 --> 00:39:48,350 paket burada olacak başlatmak için, sadece tekrar olmak 910 00:39:48,350 --> 00:39:51,080 desenleri fark ve Mevcut sözdizimi sonucuna 911 00:39:51,080 --> 00:39:55,420 Eğer ifade olabilir başka nasıl Kendinizi, hayır cinas sipariş, amaçlanan 912 00:39:55,420 --> 00:39:58,410 bazı ek senaryoyu yakalamak için. 913 00:39:58,410 --> 00:39:59,603 Yani biz eğer başka söylüyorsun. 914 00:39:59,603 --> 00:40:04,040 915 00:40:04,040 --> 00:40:05,230 printf iyi. 916 00:40:05,230 --> 00:40:09,120 Ve CS50 ile fark IDE ve frankly-- IDE 917 00:40:09,120 --> 00:40:11,110 Entegre açılımı Geliştirme Ortamı. 918 00:40:11,110 --> 00:40:14,110 Bu söyleyerek sadece süslü bir yoludur size programı yardımcı olan bir programdır. 919 00:40:14,110 --> 00:40:16,779 Bu gibi kullanıcı dostu şeyler yapar Bir parantez yazdığınızda, 920 00:40:16,779 --> 00:40:18,320 size otomatik diğer verir. 921 00:40:18,320 --> 00:40:20,760 Karine sen varlık sonunda o tip istediğiniz olacak, 922 00:40:20,760 --> 00:40:22,400 ve aynı zamanda tırnak ile yapar. 923 00:40:22,400 --> 00:40:24,190 >> Yani çizgiyi 23 gibi. 924 00:40:24,190 --> 00:40:26,400 Orada yol% 99. 925 00:40:26,400 --> 00:40:29,920 Birisi bir ipucu ile uymak istiyor? 926 00:40:29,920 --> 00:40:31,420 Ben izleyici noktalı virgül duydum. 927 00:40:31,420 --> 00:40:32,080 İyi. 928 00:40:32,080 --> 00:40:33,260 Yani bu tamamlar. 929 00:40:33,260 --> 00:40:37,930 Ve şimdi, ben biraz var hat 21, şaşkınlık. 930 00:40:37,930 --> 00:40:41,370 Bunu nasıl ifade etmek istiyorsun? 931 00:40:41,370 --> 00:40:43,370 Ne soru istiyoruz Sizce, sormak? 932 00:40:43,370 --> 00:40:46,870 933 00:40:46,870 --> 00:40:50,330 Yani önce biz soru soruldu, n, sıfırdan büyük olup, bunu yapmak. 934 00:40:50,330 --> 00:40:51,870 Else, bunu. 935 00:40:51,870 --> 00:40:54,317 Yani biz bir seçmeniz gerekir soru burada sormak. 936 00:40:54,317 --> 00:40:55,192 HEDEF KİTLE: [duyulamaz] 937 00:40:55,192 --> 00:40:56,530 DAVID J. MALAN: İyi. 938 00:40:56,530 --> 00:40:58,290 N sıfıra eşit Yani eğer. 939 00:40:58,290 --> 00:41:01,140 940 00:41:01,140 --> 00:41:02,100 Mükemmel. 941 00:41:02,100 --> 00:41:03,080 Yani burada duralım. 942 00:41:03,080 --> 00:41:04,850 Bu braving için çok teşekkür ederiz. 943 00:41:04,850 --> 00:41:10,890 Sana küçük bir hak verelim belki orada stres topu. 944 00:41:10,890 --> 00:41:11,900 Yani biz neredeyse oradayız. 945 00:41:11,900 --> 00:41:14,790 Aslında, Lauren, bunu yaparsanız değil Zihin, bana kimse burada çimdik yapalım 946 00:41:14,790 --> 00:41:17,850 sadece bile tutarlı olmak Biz Scratch gördüklerim ne 947 00:41:17,850 --> 00:41:21,080 Ben çizgilerle yapmak istiyorsunuz 21 ve 24, sadece tekrar tabanlı 948 00:41:21,080 --> 00:41:23,290 Biz Scratch içinde bunu nasıl, belki? 949 00:41:23,290 --> 00:41:24,230 >> HEDEF KİTLE: it up taşıyın. 950 00:41:24,230 --> 00:41:25,605 >> DAVID J. MALAN: Evet, yukarı hareket ettirin. 951 00:41:25,605 --> 00:41:30,260 Yani başka bir koşul, üçüncü veya Dördüncü veya beşinci, ya da son dal, 952 00:41:30,260 --> 00:41:34,100 gerçekten sonra gelmelidir, ve bu, sadece kongre tarafından var 953 00:41:34,100 --> 00:41:36,047 Sadece eğer sen çünkü. 954 00:41:36,047 --> 00:41:37,380 Yani bu çimdik yapmak gerekiyor. 955 00:41:37,380 --> 00:41:39,660 Ve ben gözlerimi koymak gerekiyor Buraya kaşlı ayraç. 956 00:41:39,660 --> 00:41:42,700 Ve şimdi, bu program derleyecek. 957 00:41:42,700 --> 00:41:46,140 Biz çok yakın, ama orada Çok, çok ince hata. 958 00:41:46,140 --> 00:41:47,200 En ne görelim. 959 00:41:47,200 --> 00:41:49,660 >> İlk olarak, bana devam edin ve uzaklaştırma edelim. 960 00:41:49,660 --> 00:41:53,405 Ben devam edeceğim ve durumu sıfır yapmak yazın. 961 00:41:53,405 --> 00:41:55,070 Ah, yalan söyledim. 962 00:41:55,070 --> 00:41:58,760 Şimdi derleyici aslında oldukça zeki. 963 00:41:58,760 --> 00:42:00,950 Ve ben gerçekten anlamıyorum bu hata mesajı var. 964 00:42:00,950 --> 00:42:04,310 Bir atamanın sonucunu kullanma Parantez olmadan bir koşulu olarak, 965 00:42:04,310 --> 00:42:05,740 Görünüşe göre kötü. 966 00:42:05,740 --> 00:42:07,100 Ama bu ne anlama geliyor? 967 00:42:07,100 --> 00:42:10,860 >> Peki tekrar desen arıyor Biz daha önce gördüğüm kodu 968 00:42:10,860 --> 00:42:16,640 Aslında yapıyor hat 17 nedir, Hatta Lauren biraz amaçlanan olsa 969 00:42:16,640 --> 00:42:18,790 Aksi? 970 00:42:18,790 --> 00:42:19,290 Evet. 971 00:42:19,290 --> 00:42:21,565 >> HEDEF KİTLE: [duyulamaz] 972 00:42:21,565 --> 00:42:22,440 DAVID J. MALAN: Evet. 973 00:42:22,440 --> 00:42:26,610 Yani görünüşe göre, eşittir işaretini hatırlıyor Daha önce kullandım gibi değil eşittir değildir. 974 00:42:26,610 --> 00:42:29,240 Sağ taraftan Onun atama, sola. 975 00:42:29,240 --> 00:42:33,810 Yani şu anda 17 satır bir durumdur, ve bu kadar 976 00:42:33,810 --> 00:42:37,890 Parantez içindeki kod yürütme, ama bu kod çalıştırdığında, 977 00:42:37,890 --> 00:42:42,140 Ne sıfır değerine oluyor? 978 00:42:42,140 --> 00:42:45,250 Ne n değerine oluyor? 979 00:42:45,250 --> 00:42:46,810 Sıfır olmak. 980 00:42:46,810 --> 00:42:50,520 N sıfır haline Yani, ve yine geçen hafta başına, 981 00:42:50,520 --> 00:42:54,690 genellikle o sıfır demek yanlış ve bir doğrudur 982 00:42:54,690 --> 00:42:57,410 ya evet biridir ve hiçbir sıfırdır. 983 00:42:57,410 --> 00:42:59,590 Yani doğru ve yanlış, bir ve 0. 984 00:42:59,590 --> 00:43:06,090 Hat 17 arasında n olmuşsa değeri 0 Verilen sıfır doğrudur? 985 00:43:06,090 --> 00:43:06,590 Hayır. 986 00:43:06,590 --> 00:43:08,280 Tanım olarak, sıfır yanlıştır. 987 00:43:08,280 --> 00:43:10,860 İşte biz konum kongre var ilerlemeye sarılmak olacak. 988 00:43:10,860 --> 00:43:17,320 Yani olacak hatları 18, 19 ve 20 Hiç mantıklı, şimdi uygulamak? 989 00:43:17,320 --> 00:43:18,320 Yapamazlar. 990 00:43:18,320 --> 00:43:21,640 Bu yüzden soru soruldu ama oldukça hassas, 991 00:43:21,640 --> 00:43:25,620 ve sürece bu bilemeyiz Eğer, C çözüm gördüm 992 00:43:25,620 --> 00:43:29,610 Eğer ifade etmek istediğinizde ise eşitlik, sen eşittir eşittir söylüyorlar. 993 00:43:29,610 --> 00:43:33,140 Yani eşittir işareti zaten kullanılan atama yoluyla, sağa sola doğru. 994 00:43:33,140 --> 00:43:35,110 Eşittir araçlar eşittir. 995 00:43:35,110 --> 00:43:37,950 Ve gerçekten aklını istiyorsanız JavaScript ve PHP, bükük olmak, 996 00:43:37,950 --> 00:43:40,490 var eşittir eşittir, eşit olan tamamen başka bir şey demek, 997 00:43:40,490 --> 00:43:41,990 ama biz uzun zaman önce o alırsınız. 998 00:43:41,990 --> 00:43:45,760 >> Yani bu basit bir düzeltme, ama fark Bu hata yapmak için süper kolay, 999 00:43:45,760 --> 00:43:48,700 ve daha sonra merak ve mücadele dakika boyunca değil, bir saat, eğer, 1000 00:43:48,700 --> 00:43:51,490 neden benim kod değil Ben niyetinde olarak yürütülmesi? 1001 00:43:51,490 --> 00:43:54,140 Eğer söylemedin çünkü var o tam Ne demek istediğini. 1002 00:43:54,140 --> 00:43:56,450 Yani neredeyse oldu mükemmel, o ve büyük 1003 00:43:56,450 --> 00:44:00,760 Biz bu iki küçük tökezledi olduğunu şeyler, biz bunları düzeltmek şimdi çünkü eğer 1004 00:44:00,760 --> 00:44:06,240 ve ben koşul sıfır yapabilirim nokta, durumu sıfır çizgi 1005 00:44:06,240 --> 00:44:07,490 Ben bir tamsayı istiyorum, lütfen. 1006 00:44:07,490 --> 00:44:08,090 Görelim. 1007 00:44:08,090 --> 00:44:09,160 Hayır. 1008 00:44:09,160 --> 00:44:10,740 Bunu yapmak için beni zorlamak için gidiyor. 1009 00:44:10,740 --> 00:44:11,990 Yani 42. 1010 00:44:11,990 --> 00:44:13,590 Ben pozitif bir sayı aldı. 1011 00:44:13,590 --> 00:44:16,470 Yani şimdi nasıl ispat yapmak Doğru bu program? 1012 00:44:16,470 --> 00:44:19,990 Bir matematikçi iseniz, yapamazsın Gerçekten deneme yanılma yoluyla bu kanıtlamak, 1013 00:44:19,990 --> 00:44:20,490 sağ? 1014 00:44:20,490 --> 00:44:23,180 Sen tarafından sadece kanıt can Örnek, ama en azından 1015 00:44:23,180 --> 00:44:25,494 Bir programcı olarak biz değiliz Şimdilik kanıtlamak için denemek için gidiyoruz 1016 00:44:25,494 --> 00:44:27,660 Bu aslında o Doğru, ama ben muhtemelen gerektiğini 1017 00:44:27,660 --> 00:44:29,470 Bazı temsilci vakaları test edin. 1018 00:44:29,470 --> 00:44:31,070 >> Ben 42 test ettik. 1019 00:44:31,070 --> 00:44:33,030 Ben 43 test edebilir. 1020 00:44:33,030 --> 00:44:34,910 Ben 44 test edebilir. 1021 00:44:34,910 --> 00:44:35,640 Testi 45. 1022 00:44:35,640 --> 00:44:36,140 Sağ? 1023 00:44:36,140 --> 00:44:37,860 Ama bu gerçekten uzun bir zaman yapabilirdi. 1024 00:44:37,860 --> 00:44:39,925 Biraz daha ne olurdu ilginç vakalar denemek için? 1025 00:44:39,925 --> 00:44:41,050 HEDEF KİTLE: [duyulamaz] sıfır. 1026 00:44:41,050 --> 00:44:41,740 DAVID J. MALAN: Yani sıfır. 1027 00:44:41,740 --> 00:44:42,297 Kesinlikle. 1028 00:44:42,297 --> 00:44:44,880 Ve iyi, biz, bu sefer var Lauren'in yeni kod sayesinde. 1029 00:44:44,880 --> 00:44:46,213 Denemek için iyi bir durum nedir? 1030 00:44:46,213 --> 00:44:47,320 HEDEF KİTLE: Negatif biri. 1031 00:44:47,320 --> 00:44:50,070 >> DAVID J. MALAN: Negatif biri ve belki biraz daha büyük bir şey, 1032 00:44:50,070 --> 00:44:52,617 belki 42 negatif, ama genel olarak, ne zaman 1033 00:44:52,617 --> 00:44:54,450 Programlarınızı test ileriye doğru hareket, sen 1034 00:44:54,450 --> 00:44:56,325 düşünmek istiyorum gidiş Kendinize, ne gibi 1035 00:44:56,325 --> 00:44:58,050 temel farklı durumlardır. 1036 00:44:58,050 --> 00:45:01,720 Ve ben negatif bir olgu söylemek cesaret, Pozitif vaka ve sıfır vaka 1037 00:45:01,720 --> 00:45:03,365 hemen hemen bu tamamlamaktadır. 1038 00:45:03,365 --> 00:45:04,990 En bu olsa bir varyantı bakalım. 1039 00:45:04,990 --> 00:45:06,930 Koşullar on. 1040 00:45:06,930 --> 00:45:11,224 Bu, burada doğru çözüm Online iki ve göreceksiniz ki, 1041 00:45:11,224 --> 00:45:13,390 Eğer doğru yürümek walkthroughs, genellikle olacak 1042 00:45:13,390 --> 00:45:18,090 Bu adım adım kadar artırmak biz tam olarak doğru bir yaklaşım olsun. 1043 00:45:18,090 --> 00:45:20,070 Biz sormak istedim ne iki soru seferde? 1044 00:45:20,070 --> 00:45:22,200 >> Beni bunun yerine açalım. 1045 00:45:22,200 --> 00:45:26,740 Nedenlerden dolayı Sigara anahtarı, Biz başka bir zaman görürsünüz. 1046 00:45:26,740 --> 00:45:29,610 Ne sözdizimsel Burada yeni? 1047 00:45:29,610 --> 00:45:32,760 Şu anda bir oyun oynuyorum burada bilgisayar anlatıyor 1048 00:45:32,760 --> 00:45:35,550 Beni, bana bir tamsayı vermek bir ve 10 arasında, 1049 00:45:35,550 --> 00:45:37,180 ve sonra kullanıcı girişi yargılamak ediyorum. 1050 00:45:37,180 --> 00:45:39,180 İngilizce dayalı burada gördüğünüz kodu 1051 00:45:39,180 --> 00:45:41,530 mavi, bu program ne yapıyor? 1052 00:45:41,530 --> 00:45:44,256 1053 00:45:44,256 --> 00:45:46,380 HEDEF KİTLE: [duyulamaz] aldı Bir büyük ya da küçük numara. 1054 00:45:46,380 --> 00:45:46,484 DAVID J. MALAN: Evet. 1055 00:45:46,484 --> 00:45:49,450 Bu sadece olup olmadığını karara bağlamak ediyor Ben büyük, ya da orta aldı, 1056 00:45:49,450 --> 00:45:53,900 ya da az sayıda, çok göre küçük, orta keyfi tanımı, 1057 00:45:53,900 --> 00:45:58,510 ve burada büyük, ama haber yeni sözdizimi şudur. 1058 00:45:58,510 --> 00:46:02,340 Int veya eşit daha az var imzalamak veya veya daha imzalamak eşit büyüktür, 1059 00:46:02,340 --> 00:46:05,430 Nerede biri, diğeri üzerinde sen misin Microsoft Word gibi ifade edebilir. 1060 00:46:05,430 --> 00:46:08,180 Bir programlama dilinde Yani tipik sadece iki karakter yapmak, 1061 00:46:08,180 --> 00:46:09,450 birbiri ardına. 1062 00:46:09,450 --> 00:46:12,695 Ve bu muhtemelen ne , işareti işareti temsil etmektedir. 1063 00:46:12,695 --> 00:46:13,570 HEDEF KİTLE: [duyulamaz] 1064 00:46:13,570 --> 00:46:13,680 DAVID J. MALAN: Evet. 1065 00:46:13,680 --> 00:46:16,910 Bu sadece anlamına gelir ve bunun nedeni C yazarları çıkıyor 1066 00:46:16,910 --> 00:46:19,120 Tek bir işareti kullanılan hangi düşündüğünüzden 1067 00:46:19,120 --> 00:46:22,430 kavramı için mükemmel olurdu ve, zaten bitmiş durumda 1068 00:46:22,430 --> 00:46:27,300 böylece işareti işareti aslında biz aslında istiyoruz davayı yakalar. 1069 00:46:27,300 --> 00:46:30,610 >> Yani şimdi iki şey rastlamak edelim. 1070 00:46:30,610 --> 00:46:32,640 Beni go ahead ve bir açalım. 1071 00:46:32,640 --> 00:46:36,590 Biraz endişe verici bir şey. 1072 00:46:36,590 --> 00:46:37,970 Tutarsızlık nokta c. 1073 00:46:37,970 --> 00:46:40,260 Beni burada iki şeyi tanıtalım. 1074 00:46:40,260 --> 00:46:44,720 Yapabileceğimiz Bir, haber matematik, kadar zaman önce 1075 00:46:44,720 --> 00:46:47,797 Biz artı iki numaraları, x ve y'nin yaptı. 1076 00:46:47,797 --> 00:46:49,380 Bu program, görünüşte ne yapıyor? 1077 00:46:49,380 --> 00:46:52,140 Ben, henüz yorum yok ettik ve ben yüzde f sunduk, 1078 00:46:52,140 --> 00:46:55,720 ama hızla daha önce söylediğim Yüzde f kayan nokta anlamına gelir 1079 00:46:55,720 --> 00:46:56,970 Gerçek sayı değeri. 1080 00:46:56,970 --> 00:46:59,520 Bir ondalık ile bir şey bir tamsayı değil noktası. 1081 00:46:59,520 --> 00:47:02,270 Bu program ne düşünüyorsunuz Ekranda bana göstermek için çalışıyor? 1082 00:47:02,270 --> 00:47:05,060 1083 00:47:05,060 --> 00:47:06,050 Evet? 1084 00:47:06,050 --> 00:47:07,550 HEDEF KİTLE: 10 üzerinden bir sonucudur. 1085 00:47:07,550 --> 00:47:07,780 DAVID J. MALAN: Evet. 1086 00:47:07,780 --> 00:47:09,680 Ne 10 bölü birinin sonucudur. 1087 00:47:09,680 --> 00:47:12,721 Doğru, çünkü hepiniz muhtemelen 10 üzerinden Şunu bilerek büyümüş 1088 00:47:12,721 --> 00:47:14,502 nedir? 1089 00:47:14,502 --> 00:47:16,220 Evet, sadece 1/10 ya da 0.1 var. 1090 00:47:16,220 --> 00:47:16,720 Sağ? 1091 00:47:16,720 --> 00:47:19,010 Yani bu aslında ne görelim. 1092 00:47:19,010 --> 00:47:21,010 Bu yüzden bana go ahead ve bu tasarruf sağlar. 1093 00:47:21,010 --> 00:47:21,970 Beni buraya gidelim. 1094 00:47:21,970 --> 00:47:26,360 Tutarsızlık nokta çizgi olun belirsizlik ve ihbar da, 1095 00:47:26,360 --> 00:47:29,380 Linux ortamında, değil mi belirsizlik dışarı yazıp almak zorunda 1096 00:47:29,380 --> 00:47:30,010 gün boyunca. 1097 00:47:30,010 --> 00:47:32,910 Genellikle, Sekme vurmak, eğer sizin için düşünce sona erecektir, 1098 00:47:32,910 --> 00:47:36,660 olan kelimelere dayalı geçerli dizinde mevcut. 1099 00:47:36,660 --> 00:47:37,160 TAMAM. 1100 00:47:37,160 --> 00:47:37,970 Yani sen haklıydın. 1101 00:47:37,970 --> 00:47:41,239 10 ile bölünmüş bir, aslında, 0.1. 1102 00:47:41,239 --> 00:47:42,280 Ama ben biraz merak ediyorum. 1103 00:47:42,280 --> 00:47:44,196 Ve printf çıkıyor Bazı özelliklerini destekler 1104 00:47:44,196 --> 00:47:48,700 Eğer daha fazla belirtebilirsiniz sayede ondalık noktalarının varsayılan numara. 1105 00:47:48,700 --> 00:47:52,140 Yani 10 ondalık görmek istiyorsanız Ben yüzde yapabilirim noktaları, 1106 00:47:52,140 --> 00:47:55,510 Yer tutucu sembolü için, dot 10 Bana 10 ondalık sayı vermek, 1107 00:47:55,510 --> 00:47:58,140 ve sonra yine kayan nokta değer ve bir kenara olarak, 1108 00:47:58,140 --> 00:48:01,550 Bu ters eğik çizgi n ne görünüşe göre biz kullanmaya devam? 1109 00:48:01,550 --> 00:48:03,450 Bu bir var çıkıyor yeni bir hat için sembol. 1110 00:48:03,450 --> 00:48:05,970 Bu çok açık bir yoldur Bilgisayara söyleyerek, 1111 00:48:05,970 --> 00:48:08,759 Bir sonraki imleci sonra çizgi bitirdiniz. 1112 00:48:08,759 --> 00:48:10,800 Ve biz ne olur göreceğiz biz yapmıyoruz zaman. 1113 00:48:10,800 --> 00:48:12,430 >> Beni belirsizlik yapmak derlemeye edelim. 1114 00:48:12,430 --> 00:48:15,320 1115 00:48:15,320 --> 00:48:18,356 Şimdi belirsizlik çizgi nokta. 1116 00:48:18,356 --> 00:48:18,930 TAMAM. 1117 00:48:18,930 --> 00:48:19,780 Hala doğru. 1118 00:48:19,780 --> 00:48:21,512 Bir 10'a bölünür. 1119 00:48:21,512 --> 00:48:23,220 Şimdi alıyorum bir Biraz meraklı olsa. 1120 00:48:23,220 --> 00:48:27,599 Ne 20 ondalık bakarsanız işaret, derlemeye, yeniden çalıştırın, 1121 00:48:27,599 --> 00:48:29,390 ve bir kenara gibi hız, ayrıca kullanabilirsiniz 1122 00:48:29,390 --> 00:48:31,800 senin kadar ve aşağı oklarını senin tarih boyunca ilerleyin 1123 00:48:31,800 --> 00:48:35,476 böylece tutmak zorunda değilsiniz Bu komutlar yeniden yazmak girin. 1124 00:48:35,476 --> 00:48:36,910 Huh. 1125 00:48:36,910 --> 00:48:39,220 Ben ilkokuldayken öğrenmek vermedi. 1126 00:48:39,220 --> 00:48:43,260 Pekala, bana izin : 29 yerler gibi görüyorum. 1127 00:48:43,260 --> 00:48:44,300 Belki sadece bir tesadüftü bu. 1128 00:48:44,300 --> 00:48:46,907 Belki benim bilgisayar garip davranıyor. 1129 00:48:46,907 --> 00:48:47,990 Bu doğru bir şey değil? 1130 00:48:47,990 --> 00:48:50,300 Bu deterministically şeyler yapıyor. 1131 00:48:50,300 --> 00:48:53,410 Yani belirsizlik olun. 1132 00:48:53,410 --> 00:48:54,890 Tamam, bu kadar berbat oluyor. 1133 00:48:54,890 --> 00:48:57,620 Peki ne oluyor? 1134 00:48:57,620 --> 00:49:00,160 >> Yani görünüşte sizin yanınızdaki Öğretmen yalan olmuştur 1135 00:49:00,160 --> 00:49:03,900 Bu sürenin tamamı için size Biz uzun zaman önce görürsünüz nedenler. 1136 00:49:03,900 --> 00:49:05,569 Ama bir başka program ile bitirelim. 1137 00:49:05,569 --> 00:49:07,860 Bu biraz programlar Birisi, birkaç yıl önce yazdığım 1138 00:49:07,860 --> 00:49:08,990 ve aslında bir yarışma parçası. 1139 00:49:08,990 --> 00:49:11,198 Hiç kimse aslında kod yazıyor Bu gibi ve bunu yaparsanız, 1140 00:49:11,198 --> 00:49:12,880 Bu üslup bir sorundur. 1141 00:49:12,880 --> 00:49:14,660 Ama insanlar palavra hakları için bunu. 1142 00:49:14,660 --> 00:49:17,260 En kafa karıştırıcı yazmak için seyir program o 1143 00:49:17,260 --> 00:49:19,110 yine ilginç bir şey yapar. 1144 00:49:19,110 --> 00:49:23,930 Ve not biz bırakmak düşündüm Bugün, Colton bizi buraya çalış önce 1145 00:49:23,930 --> 00:49:27,840 Bu programı çalıştırmak için, Hatta sadece kullanarak hangi 1146 00:49:27,840 --> 00:49:31,450 Bu metin tabanlı C çevre, bize bu verir. 1147 00:49:31,450 --> 00:49:32,264 Lanet olsun. 1148 00:49:32,264 --> 00:49:34,930 >> [KAHKAHA] 1149 00:49:34,930 --> 00:49:36,800 >> Yanında olmak. 1150 00:49:36,800 --> 00:49:39,340 [Duyulamaz] c çizgi l m. 1151 00:49:39,340 --> 00:49:42,885 Sen büyülü görmeye gidiyoruz Biz uzun zaman önce görürsünüz sözler. 1152 00:49:42,885 --> 00:49:45,780 [Duyulamaz] Pekala. 1153 00:49:45,780 --> 00:49:51,592 Ve şimdi bile yapabilirsiniz Böyle şeyler yapmak. 1154 00:49:51,592 --> 00:49:52,340 Bu kadar. 1155 00:49:52,340 --> 00:49:56,410 CS50 biz için, Cuma günü görüşürüz. 1156 00:49:56,410 --> 00:49:58,910 >> [MÜZİK OYUN] 1157 00:49:58,910 --> 00:52:38,390 1158 00:52:38,390 --> 00:52:41,440 >> [Alkış] 1159 00:52:41,440 --> 00:52:42,812