1 00:00:00,000 --> 00:00:02,880 >> [MÜZİK OYUN] 2 00:00:02,880 --> 00:00:10,580 3 00:00:10,580 --> 00:00:13,500 >> HOPARLÖR 1: Bu CS50 ve Bu haftanın iki başlangıcıdır. 4 00:00:13,500 --> 00:00:18,400 Yani, sağ şeye dalış izin Bu tabiri caizse, adamcağız. 5 00:00:18,400 --> 00:00:24,015 Yani, burada CS50 IDE ve ben ettik Bu lanet screen-- peşin çekti 6 00:00:24,015 --> 00:00:25,070 o. 7 00:00:25,070 --> 00:00:25,760 İpucu uyarısı. 8 00:00:25,760 --> 00:00:26,260 Pekala. 9 00:00:26,260 --> 00:00:29,060 Ben burada bu ekranı çekti ettik hangi çok basit bir programı vardır. 10 00:00:29,060 --> 00:00:32,659 Biz aşağı kaydırma ise, çoğu Bu sadece comments edilir, 11 00:00:32,659 --> 00:00:36,730 ancak burada satır 13 yoluyla 17 bir program var. 12 00:00:36,730 --> 00:00:40,580 >> Bu eğer anlamına gelir sözdizimi kurallarına göre geçerli değil Ben, bu derlemek ve çalıştırmak olacak, bunu derlemek 13 00:00:40,580 --> 00:00:41,920 ama adamcağız var. 14 00:00:41,920 --> 00:00:47,330 Bu program yorumlarda iddia kontör o 10 yıldız yazdırmak gerektiğini 15 00:00:47,330 --> 00:00:48,870 ama öyle değil. 16 00:00:48,870 --> 00:00:53,290 Ve deneyime dayalı, veya yakında C deneyim olması için, 17 00:00:53,290 --> 00:00:56,820 mantıksal ayırt edebilirsiniz Bu, aslında, adamcağız neden? 18 00:00:56,820 --> 00:00:57,804 Evet? 19 00:00:57,804 --> 00:00:59,220 HEDEF KİTLE: Bu sıfırdan 10'a gider. 20 00:00:59,220 --> 00:01:01,884 İşte 11 yineleme var. 21 00:01:01,884 --> 00:01:02,550 KONUŞMACI 1: Evet. 22 00:01:02,550 --> 00:01:06,030 Yani, sıfırdan gidiyor 10'a kadar yukarı ve eşit, 23 00:01:06,030 --> 00:01:08,140 Tabii ki 11 yineleme olduğunu. 24 00:01:08,140 --> 00:01:10,020 Yani, gidiyor Baskı, aslında, 11 yıldız. 25 00:01:10,020 --> 00:01:13,040 Yani, bilgisayar bilimleri kongre çoğu programlama dillerinde 26 00:01:13,040 --> 00:01:15,270 yapman lazım, gerçekten, sıfırdan saymaya başlar, 27 00:01:15,270 --> 00:01:18,800 ancak değil doğru saymak Aslında umurumda değer. 28 00:01:18,800 --> 00:01:21,216 >> Şimdi, bu bir şey olduğunu Biraz alışmak alır 29 00:01:21,216 --> 00:01:25,350 ve tasarlanmış, hatta Scratch, olduğu gibi non programcılar ya da olmayan bilgisayar için 30 00:01:25,350 --> 00:01:28,070 Bilim adamları ve çocuklar için büyük ölçüde, sahip olacak şekilde tasarlanmıştır 31 00:01:28,070 --> 00:01:29,570 Eğer bir de genel saymaya başlar. 32 00:01:29,570 --> 00:01:30,277 Ve bu iyi. 33 00:01:30,277 --> 00:01:33,110 Kesinlikle saymaya başlayabilirsiniz bir o daha rahat eğer. 34 00:01:33,110 --> 00:01:37,210 Ve ve 10 arasındaki saymak, ancak Bu hafta özellikle fark edeceksiniz 35 00:01:37,210 --> 00:01:39,950 ve bunun ötesinde sadece bu yüzden programlamada birçok şey 36 00:01:39,950 --> 00:01:42,465 0 ilk olduğunu varsayalım Eğer saymak hangi basamak, 37 00:01:42,465 --> 00:01:45,590 Eğer daha kolay bulmak için gidiyoruz Sadece başlangıç ​​bu alışkanlığı içine almak için 38 00:01:45,590 --> 00:01:49,490 Sıfırdan ve değerine kadar sayma sizden şu anda umurumda 39 00:01:49,490 --> 00:01:49,990 gitmek olsun. 40 00:01:49,990 --> 00:01:50,990 >> Yani, o belirlemiştir. 41 00:01:50,990 --> 00:01:53,670 Biz daha az değişti ya sadece az eşittir. 42 00:01:53,670 --> 00:01:56,050 En az bir göz atalım Burada bir ikinci örnek. 43 00:01:56,050 --> 00:01:59,585 >> Yani, bu program da iddia ediyor onun o yazdırmak gerektiğini kontör yorumlar 44 00:01:59,585 --> 00:02:02,260 On yıldız, ama öyle değil. 45 00:02:02,260 --> 00:02:05,540 Burada hata nedir? 46 00:02:05,540 --> 00:02:07,930 >> Yani, ne-- ve üzgünüm, açık olalım. 47 00:02:07,930 --> 00:02:08,610 10 yıldız. 48 00:02:08,610 --> 00:02:11,644 Satır başına bir, ama öyle değil. 49 00:02:11,644 --> 00:02:14,810 Yani, aslında, beni go ahead ve derlemek izin biraz daha az, çünkü bu bir 50 00:02:14,810 --> 00:02:16,900 Bu açıklama dayalı temizleyin. 51 00:02:16,900 --> 00:02:18,720 Bana bizim kaynak dizine gidelim. 52 00:02:18,720 --> 00:02:25,110 Adamcağız tek nokta çizgi, adamcağız biri yapmak. 53 00:02:25,110 --> 00:02:28,680 Tamam, ben 11 yıldız, bakın hangi hala sorunludur 54 00:02:28,680 --> 00:02:30,090 ama onlar bir satırda aynı zamanda tüm sensin. 55 00:02:30,090 --> 00:02:31,500 Burada sorun nedir? 56 00:02:31,500 --> 00:02:32,339 Evet. 57 00:02:32,339 --> 00:02:33,255 HEDEF KİTLE: [duyulamaz]. 58 00:02:33,255 --> 00:02:36,194 59 00:02:36,194 --> 00:02:36,860 KONUŞMACI 1: Evet. 60 00:02:36,860 --> 00:02:40,210 Yani bu bir incelik olduğunu sen olabilir olduğu Bana kısa söz verme hatırlıyorum. 61 00:02:40,210 --> 00:02:42,793 Hatta her şey görünüyor olsa güzel ve o güzel girintili var, 62 00:02:42,793 --> 00:02:45,850 ve bu tür Scratch-benziyor 16 ve 17 olduğu doğrultusunda, 63 00:02:45,850 --> 00:02:47,600 Gerçekten, döngü o altında girintili. 64 00:02:47,600 --> 00:02:48,400 Bu önemsiz değil. 65 00:02:48,400 --> 00:02:50,460 Bilgisayar yok bilmek ya da boşluk görüyorum. 66 00:02:50,460 --> 00:02:52,910 Beyaz boşluk sadece içindir Bize biçimsel, insanlarda. 67 00:02:52,910 --> 00:02:57,010 Eğer varsa bilgisayar biliyor Gerçekten kaşlı, hangi olur, 68 00:02:57,010 --> 00:02:58,280 Bu sorunu gidermek. 69 00:02:58,280 --> 00:03:02,350 >> Yani, biz aslında gitti ve açıkça bu küme parantezi koymak 70 00:03:02,350 --> 00:03:05,220 Bu bu sorunu çözmek istiyorum derleyici açık hale 71 00:03:05,220 --> 00:03:07,930 Aslında yürütmek istiyorum Yine kod iki satır, 72 00:03:07,930 --> 00:03:09,220 ve tekrar ve tekrar. 73 00:03:09,220 --> 00:03:11,680 Ama temel bir açıklama ne? 74 00:03:11,680 --> 00:03:12,180 Sağ? 75 00:03:12,180 --> 00:03:15,260 Biz kesinlikle gerek yok kıvırcık, her zaman parantezi 76 00:03:15,260 --> 00:03:18,210 muhtemelen en iyi olsa bile uygulama zaten bu alışkanlık haline almak için 77 00:03:18,210 --> 00:03:20,878 Hatta iki ekler olsa kodunuzu karakter. neden? 78 00:03:20,878 --> 00:03:22,380 >> HEDEF KİTLE: [duyulamaz]? 79 00:03:22,380 --> 00:03:24,630 HOPARLÖR 1: Evet böylece var: tamamen başka bir çözüm. 80 00:03:24,630 --> 00:03:25,130 Sağ? 81 00:03:25,130 --> 00:03:28,250 İlk bakışta bilmiyorsun Özellikle Gerçekten ne olup bittiğini takdir ediyorum. 82 00:03:28,250 --> 00:03:31,070 Eh, elbette biz-ebil Sadece bir kere de iki şey yapmak 83 00:03:31,070 --> 00:03:32,710 ve sadece tamamen sorunu önlemek. 84 00:03:32,710 --> 00:03:36,080 Ve bu, şimdi iyi, ama Bugünün amaçlar için neler 85 00:03:36,080 --> 00:03:38,200 hata açıklaması nedir? 86 00:03:38,200 --> 00:03:39,810 Neden tek bir satırda bütün bu yıldız vardı? 87 00:03:39,810 --> 00:03:40,806 Evet? 88 00:03:40,806 --> 00:03:43,296 >> HEDEF KİTLE: Bu eğer görünüyor Eğer bir kod satırı var 89 00:03:43,296 --> 00:03:46,649 O olmadan bunu yapabilirsiniz. 90 00:03:46,649 --> 00:03:47,440 KONUŞMACI 1: Kesinlikle. 91 00:03:47,440 --> 00:03:48,750 Bu sadece bir insan sözleşmedir. 92 00:03:48,750 --> 00:03:50,750 İnsanlar bir fark olduğunu biraz can sıkıcı ya da sıkıcı 93 00:03:50,750 --> 00:03:53,470 Tüm küme parantezi koymak zorunda Eğer yapmak istediğiniz tüm eğer zaman 94 00:03:53,470 --> 00:03:55,090 bir kod satırı çalıştırmak olduğunu. 95 00:03:55,090 --> 00:03:57,660 Yani, insanlar karar bazı Bu güzel önce o zaman. 96 00:03:57,660 --> 00:04:01,180 Eğer döngü koymak istiyorsanız Böyle sadece bir satırda, 97 00:04:01,180 --> 00:04:04,030 bu tek sorun yok sonunda noktalı virgül. 98 00:04:04,030 --> 00:04:07,210 Ama sadece böyle bir yapabilirsiniz kaşlı ayraçlar olmadan hattı. 99 00:04:07,210 --> 00:04:09,900 >> Peki, ne zaman CS50 stil rehberi , sizi yönlendirecektir olarak 100 00:04:09,900 --> 00:04:11,980 genellikle göreceksiniz ki iyi alışkanlıktır 101 00:04:11,980 --> 00:04:14,920 sen kadar bu içine almak oldukça rahat straying 102 00:04:14,920 --> 00:04:17,404 sözleşmelerin bu türlü ve kendi şeyi yapıyorum. 103 00:04:17,404 --> 00:04:18,820 Madem tutarlı kendini konum olarak. 104 00:04:18,820 --> 00:04:21,540 Ve biz hakkında daha fazla konuşacağız Daha sonra bugün biraz stil. 105 00:04:21,540 --> 00:04:23,200 >> Yani, bana bir başka programı açalım. 106 00:04:23,200 --> 00:04:24,930 Tabii ki, biz gerektiği de bu 10 düzeltin. 107 00:04:24,930 --> 00:04:32,470 Bana devam edelim ve gerçek bilgileri Ben arayacağım hızlı bir program, 108 00:04:32,470 --> 00:04:38,140 diyelim ki, döngü C. Yani, döngü C dot Ve döngü nokta C I için gidiyorum 109 00:04:38,140 --> 00:04:41,970 Standart I dahil / Ç dot H ana boşluğu int. 110 00:04:41,970 --> 00:04:44,020 Ve şimdi sadece gerçekten bir döngü, yapalım. 111 00:04:44,020 --> 00:04:46,020 Yani, 4 int sıfır alır. 112 00:04:46,020 --> 00:04:48,660 Ben 50, diyelim ki, daha azdır. 113 00:04:48,660 --> 00:04:49,950 Ben artı, artı. 114 00:04:49,950 --> 00:04:53,350 Ve sonra buraya atalım go ahead ve F yazdırırım 115 00:04:53,350 --> 00:04:56,400 Ve sonra ben yazdırmak istediğiniz ve yeni bir satır, virgül. 116 00:04:56,400 --> 00:05:00,015 >> Ve bu tüm yazdırmalısınız sıfırdan sayılar 50'ye kadar? 117 00:05:00,015 --> 00:05:02,900 118 00:05:02,900 --> 00:05:03,680 Birkaç kafa sallar. 119 00:05:03,680 --> 00:05:04,270 Birkaç nos. 120 00:05:04,270 --> 00:05:05,339 Zaten hata nedir? 121 00:05:05,339 --> 00:05:06,630 Yaptığım kolay hata nedir? 122 00:05:06,630 --> 00:05:07,170 Evet. 123 00:05:07,170 --> 00:05:08,544 >> HEDEF KİTLE: [duyulamaz]. 124 00:05:08,544 --> 00:05:09,210 KONUŞMACI 1: Evet. 125 00:05:09,210 --> 00:05:11,520 Bu yüzden bile görünüyor olsa bu benim niyetinde ne gibi 126 00:05:11,520 --> 00:05:13,920 Ben de olduğunu hatırlamak Sadece bir ASCII karakter. 127 00:05:13,920 --> 00:05:14,955 >> Yani, ben derseniz, print "I." 128 00:05:14,955 --> 00:05:16,670 Kelimenin tam anlamıyla gidiyor eğer, Ben de öyle yazdırmak için ben 129 00:05:16,670 --> 00:05:20,030 plug-in bir yer tutucu istiyorum değer Aslında bunu yapmak gerekiyor 130 00:05:20,030 --> 00:05:22,630 ve sonra plug-in dinamik I değer. 131 00:05:22,630 --> 00:05:25,200 Aksi takdirde ben sadece gidiyorum Ekranda 50 Ben 's olsun. 132 00:05:25,200 --> 00:05:28,140 >> Yani, bana devam edelim ve Bu döngü yapmak, koşmak, 133 00:05:28,140 --> 00:05:30,650 ve aslında, hepimizin var kadar 49 ile yol. 134 00:05:30,650 --> 00:05:34,140 Ben zamanında geri kaydırma Ve eğer görüyorum başında sayı sıfır. 135 00:05:34,140 --> 00:05:36,050 >> Eh, ben tür ne berbat olur? 136 00:05:36,050 --> 00:05:37,800 Ne bu yaparsam? 137 00:05:37,800 --> 00:05:40,120 Sadece ben düşünmüyorum çünkü. 138 00:05:40,120 --> 00:05:40,970 Bu program nedir. 139 00:05:40,970 --> 00:05:43,970 Bir kez derlenmiş ve koşmak yeniden, mantıklı yapacaksınız? 140 00:05:43,970 --> 00:05:44,870 >> HEDEF KİTLE: Hiçbir şey. 141 00:05:44,870 --> 00:05:45,661 >> KONUŞMACI 1: Hiçbir şey. 142 00:05:45,661 --> 00:05:47,156 Neden? 143 00:05:47,156 --> 00:05:49,124 >> İZLEYİCİ: I sıfır için tasarlanmıştır. 144 00:05:49,124 --> 00:05:51,899 Yani, koşul yanlıştır. 145 00:05:51,899 --> 00:05:52,940 KONUŞMACI 1: Evet, kesinlikle. 146 00:05:52,940 --> 00:05:55,110 Tüm kod sözdizimsel, doğrudur. 147 00:05:55,110 --> 00:05:57,310 Bu, bu derleyecek kod çalışır, ama değil 148 00:05:57,310 --> 00:06:00,110 yararlı bir şey yapacak Ben başlatmak çünkü sıfıra. 149 00:06:00,110 --> 00:06:02,240 Sonra ben 50 daha büyüktür, kontrol ettin mi? 150 00:06:02,240 --> 00:06:03,810 Açıkçası, hayır, öyle değil. 151 00:06:03,810 --> 00:06:05,760 Yani döngü hiç yürütür asla. 152 00:06:05,760 --> 00:06:09,580 >> Ne bir şey yaparsak Biraz daha pervasız? 153 00:06:09,580 --> 00:06:12,890 Biz int gibi yaparsak Yani, sıfır Ne olur. 154 00:06:12,890 --> 00:06:15,640 Ve şimdi bana süre kullanmama izin Başka bir koşul olan loop. 155 00:06:15,640 --> 00:06:21,810 Ben, söylerken Ve ben daha fazla iken veya sıfıra eşit ve daha sonra burada ben 156 00:06:21,810 --> 00:06:26,070 döngü yapmak, go ahead ve dosyayı kaydedin. 157 00:06:26,070 --> 00:06:27,070 Ve bunu çalıştırmak üzereyim. 158 00:06:27,070 --> 00:06:30,230 Ne bu görmeye gidiyorum Bir süre döngü ile zaman? 159 00:06:30,230 --> 00:06:30,852 Evet. 160 00:06:30,852 --> 00:06:32,120 >> HEDEF KİTLE: sonsuz bir döngüye? 161 00:06:32,120 --> 00:06:35,360 >> KONUŞMACI 1: sonsuz bir döngüye? 162 00:06:35,360 --> 00:06:36,662 Evet, ve neden? 163 00:06:36,662 --> 00:06:38,120 HEDEF KİTLE: her zaman sıfır var çünkü. 164 00:06:38,120 --> 00:06:38,786 KONUŞMACI 1: Evet. 165 00:06:38,786 --> 00:06:40,100 Yani, sıfır olarak başlatıldı. 166 00:06:40,100 --> 00:06:44,470 Tabii ki her zaman büyüktür veya daha sonuç olarak 0'a eşit. 167 00:06:44,470 --> 00:06:46,460 Yani, ben sadece gidiyorum sonsuz görüyoruz. 168 00:06:46,460 --> 00:06:49,850 Ve şimdi, bu kez geldi ya da iki kez dersin kafaları. 169 00:06:49,850 --> 00:06:52,417 Ne zaman size olur sonsuz bir döngü var? 170 00:06:52,417 --> 00:06:53,314 >> HEDEF KİTLE: Denetim C. 171 00:06:53,314 --> 00:06:53,980 KONUŞMACI 1: Evet. 172 00:06:53,980 --> 00:06:56,250 Yani Kontrol C sonunda cevap verecektir. 173 00:06:56,250 --> 00:06:59,520 Ne yazık ki, biz baskılı ettik milyonlarca zaten sıfır milyonlarca 174 00:06:59,520 --> 00:07:01,520 ve bu nedenle bilgisayar var tür önümde var. 175 00:07:01,520 --> 00:07:03,394 Yani, görmezden gidiyor Bana biraz için. 176 00:07:03,394 --> 00:07:06,560 Ama sadece Kontrol Cl birkaç vurmak Mac veya PC klavyesinde kez 177 00:07:06,560 --> 00:07:08,790 Sonunda o, gerçekten sonlandırmak gerekir. 178 00:07:08,790 --> 00:07:11,770 Ve eğer, size bazı göstereceğiz Uzun nerede önce teknikleri 179 00:07:11,770 --> 00:07:14,850 Aslında zorla programları öldürebilir, çok Windows ve Mac OS gibi, 180 00:07:14,850 --> 00:07:15,562 eğer gerekirse. 181 00:07:15,562 --> 00:07:16,770 Ama başka bir şey deneyelim. 182 00:07:16,770 --> 00:07:19,895 En doğrusu I. mı artırmak edelim bu hala sonsuz olacak? 183 00:07:19,895 --> 00:07:22,870 184 00:07:22,870 --> 00:07:25,140 Bana bu çalıştıralım. 185 00:07:25,140 --> 00:07:27,090 Ve şimdi biraz can Neler görüyorum. 186 00:07:27,090 --> 00:07:30,140 Bu da sonsuz bir döngü olduğunu. 187 00:07:30,140 --> 00:07:33,080 Ama bu hile soru bir parçasıdır. 188 00:07:33,080 --> 00:07:35,460 Bu sonsuza kadar sayıları yazdırmak olacak mı? 189 00:07:35,460 --> 00:07:36,647 >> İZLEYİCİ: Hayır 190 00:07:36,647 --> 00:07:37,230 KONUŞMACI 1: Hayır 191 00:07:37,230 --> 00:07:37,620 Neden? 192 00:07:37,620 --> 00:07:38,820 Buraya bazı nos duydum. 193 00:07:38,820 --> 00:07:41,859 Evet Someone--. 194 00:07:41,859 --> 00:07:44,275 HEDEF KİTLE: Yeterince yok bit gerçekten devam etmek. 195 00:07:44,275 --> 00:07:44,730 KONUŞMACI 1: Tamam. 196 00:07:44,730 --> 00:07:46,000 Yani yeterince yok bit devam etmek. 197 00:07:46,000 --> 00:07:47,124 Peki, ne olacak? 198 00:07:47,124 --> 00:07:49,320 Sadece durdurmak için gidiyor? 199 00:07:49,320 --> 00:07:52,542 >> HEDEF KİTLE: Bir noktada o Şeyin kapanacak 200 00:07:52,542 --> 00:07:54,500 KONUŞMACI 1: kapanacak Döngü aşağı, ama neden? 201 00:07:54,500 --> 00:07:57,950 Ne de ne olacak kendi sınırları çok uç? 202 00:07:57,950 --> 00:07:58,479 Evet? 203 00:07:58,479 --> 00:08:00,520 HEDEF KİTLE: Bu döngü olacak geri negatif sayılar için. 204 00:08:00,520 --> 00:08:02,900 KONUŞMACI 1: negatif sayılar için, ya da Biz sadece pozitif tedavi olsaydı, 205 00:08:02,900 --> 00:08:03,570 Sıfır en azından. 206 00:08:03,570 --> 00:08:04,550 Yani evet, kesinlikle. 207 00:08:04,550 --> 00:08:08,059 Biz son kez gördüğünü hatırlayın eğer senin bitler bir çok kez artırmak 208 00:08:08,059 --> 00:08:10,225 ve taşma orada ön senin int kapasitesi 209 00:08:10,225 --> 00:08:13,058 ya da veri türü sen, ne olursa olsun etrafında sarmak için gidiyor, muhtemelen, 210 00:08:13,058 --> 00:08:14,020 İki negatif sayılar. 211 00:08:14,020 --> 00:08:16,644 Yoksa bunu belirtmek ettik eğer senin aralık, sadece pozitif olmalı 212 00:08:16,644 --> 00:08:18,560 Yapabileceğiniz hangi ama Biz henüz görmedim 213 00:08:18,560 --> 00:08:21,420 En azından geri sıfır sonunda olabilir. 214 00:08:21,420 --> 00:08:22,410 Rağmen aslında evet. 215 00:08:22,410 --> 00:08:24,320 Bu durumda negatif sayılar, bu durumda, 216 00:08:24,320 --> 00:08:26,870 döngü sona erdirmek için gidiyor I olmadığı için, aslında, 217 00:08:26,870 --> 00:08:29,220 daha büyük ya da eşit bir Sıfır negatif ise. 218 00:08:29,220 --> 00:08:31,780 >> Peki, ne yazık ki, nasıl Yeter ki beklemek zorunda kalacak? 219 00:08:31,780 --> 00:08:35,490 Şu anda kadar konum Ne 2000000-ish? 220 00:08:35,490 --> 00:08:37,705 Biz, 2 milyar gibi Biz beklemek zorunda gidiyoruz 221 00:08:37,705 --> 00:08:39,330 kadar biz aslında bu belirtiyi görebilirsiniz. 222 00:08:39,330 --> 00:08:46,200 Ama biz, biraz daha hızlı görebilirsiniz Biz kesebilirsiniz bakalım belki--. 223 00:08:46,200 --> 00:08:46,700 Hadi. 224 00:08:46,700 --> 00:08:49,500 225 00:08:49,500 --> 00:08:51,331 Hatta menüleri yavaş yavaş ortaya çıkıyor. 226 00:08:51,331 --> 00:08:51,830 Pekala. 227 00:08:51,830 --> 00:08:54,270 Yani, biz uzun zaman önce tekrar bu geleceğiz. 228 00:08:54,270 --> 00:08:56,320 Bu, yavru kahretsin seferinde-- bir iyi. 229 00:08:56,320 --> 00:08:58,280 >> Bazı duyurular için iyi bir zaman. 230 00:08:58,280 --> 00:09:01,225 Yani, gibi olabilir eğer YHack meşgul, 231 00:09:01,225 --> 00:09:03,600 Bir olay hangi ediliyor Yale dostlarımız tarafından desteklenen. 232 00:09:03,600 --> 00:09:05,990 Ve gerçekten de, bazı ders en Yale'de TFs buna katılmaktadırlar. 233 00:09:05,990 --> 00:09:08,610 YHack uluslararası bir hack-a-thon tarafından barındırılan ve tutulan 234 00:09:08,610 --> 00:09:12,395 Yale, 1.500 araya getirerek fikirli bilgisayar korsanları ve tüm reklam gibi 235 00:09:12,395 --> 00:09:13,120 dünyada. 236 00:09:13,120 --> 00:09:14,610 Bu ilgi ise, Burada bir göz atın. 237 00:09:14,610 --> 00:09:17,401 Bu üzerinde çok kısa ise Ekran, bugünün slaytlar bakmak 238 00:09:17,401 --> 00:09:19,622 yhack.org için URL. 239 00:09:19,622 --> 00:09:21,080 Yani, aynı zamanda birkaç hızlı duyurular. 240 00:09:21,080 --> 00:09:24,410 Yani, resmen bölümler başlayacak önümüzdeki hafta hem burada hem de New Haven. 241 00:09:24,410 --> 00:09:27,660 Bir almak olacak Unutmayın E-posta daha sonra bu hafta sonu büyük ihtimalle. 242 00:09:27,660 --> 00:09:29,390 Bu uzun zaman alır bölümüne CS50 için, 243 00:09:29,390 --> 00:09:32,080 verilen tüm insanlar sınıf ve herkes dolaşırım. 244 00:09:32,080 --> 00:09:34,871 Ve tüm Öğretim Üyeleri ' programları da halen güçlendirilerek, 245 00:09:34,871 --> 00:09:38,110 ama bir e-posta ve ihtiyaç halinde bizi izlemeye devam edin , yeniden bölümü olabilir olmak sonra orada. 246 00:09:38,110 --> 00:09:39,580 >> Study.cs50.net. 247 00:09:39,580 --> 00:09:43,280 Yani, sürekli bir katılımcı bile bölümlerinde, hemen hemen tüm fark 248 00:09:43,280 --> 00:09:46,786 kaynak Biz bölümlerinde kullanımı CS50 de kamuya açık 249 00:09:46,786 --> 00:09:48,460 Burada bu adresten eğitim. 250 00:09:48,460 --> 00:09:51,630 Yani, hiç inceleme yeniden isterseniz veya önceden okuma bölümünden malzeme, 251 00:09:51,630 --> 00:09:54,170 ya bazı hafta yapamaz, Bu örnek slaytlar gerçekleştirmek, 252 00:09:54,170 --> 00:09:58,210 ve sorunlar ve tanımlar, ve daha yanı sıra tüm vardır. 253 00:09:58,210 --> 00:10:00,645 >> Ofis saatleri, bugün devam ve yarın ve Çarşamba, 254 00:10:00,645 --> 00:10:03,020 ve Perşembe ders en çek programı için web sitesi. 255 00:10:03,020 --> 00:10:05,690 >> Ve aynı zamanda, şu anda başlatılması Bugün CS50 tartışın olduğunu. 256 00:10:05,690 --> 00:10:09,230 Yani, eğer ve soruları olduğunda birbirlerine ya da dersin personeli için, 257 00:10:09,230 --> 00:10:12,099 ve genellikle çalışıyoruz Bazı sorun sette, 258 00:10:12,099 --> 00:10:15,015 mutlaka yok fark Size bir sonraki insana çevirmek zorunda. 259 00:10:15,015 --> 00:10:17,810 Kimse yok varsa, bunu yapabilirsiniz Bize ve sınıf arkadaşları ulaşmak 260 00:10:17,810 --> 00:10:19,890 Online CS50 aracılığıyla tartışın. 261 00:10:19,890 --> 00:10:22,600 Yani, bu bir tartışma dersin tahta, 262 00:10:22,600 --> 00:10:24,550 bu fark belki de en iyisi 263 00:10:24,550 --> 00:10:28,480 Eğer varsa başlamak için yer ofis saatleri soruları ne zaman dışında 264 00:10:28,480 --> 00:10:29,470 özellikle. 265 00:10:29,470 --> 00:10:31,070 >> Öğle Yemeği de bu hafta başlayacak. 266 00:10:31,070 --> 00:10:33,170 Fire and Ice [Duyulamaz] New Haven. 267 00:10:33,170 --> 00:10:35,379 Tabii en az bir göz atın sırayla web RSVP için. 268 00:10:35,379 --> 00:10:36,753 Ilk gelen bunun için hizmet vermektedir. 269 00:10:36,753 --> 00:10:39,380 Bu hafta içinde alamazsanız bu en her Cuma yapacağız 270 00:10:39,380 --> 00:10:40,400 Dönem içinde. 271 00:10:40,400 --> 00:10:41,830 >> Tamam, şimdi derecelendirilmesi ile ilgili bir kelime. 272 00:10:41,830 --> 00:10:44,690 Biz sorunu girmek özellikle Bu hafta hangi bir set 273 00:10:44,690 --> 00:10:46,670 ve problem iki ve daha sonra ayarlayın. 274 00:10:46,670 --> 00:10:51,680 Nasıl P setleri değerlendirilmesi gidiyorsun ve bunların kalitesini değerlendirmek? 275 00:10:51,680 --> 00:10:55,560 Yani, biz kullandığımız dört eksenleri var CS50 ve burada bu dört sensin. 276 00:10:55,560 --> 00:10:59,200 >> Bir sayısal üzerinde yakalar Kapsam, P kümesinin ne kadar temeli 277 00:10:59,200 --> 00:10:59,860 Eğer mücadele etmedi. 278 00:10:59,860 --> 00:11:02,890 Kabaca tekabül ediyor çaba ve yakalama şeklimiz var 279 00:11:02,890 --> 00:11:05,190 Eğer denemek yarısı P vermedi P takımdaki tüm ayarlayın. 280 00:11:05,190 --> 00:11:08,860 Bu mükemmel almak için kolay bir tanesidir bunu yaparsanız puanları, gerçekten, 281 00:11:08,860 --> 00:11:11,020 P kümesinin her yönüyle deneyin. 282 00:11:11,020 --> 00:11:12,010 Yani, aklınızda tutun. 283 00:11:12,010 --> 00:11:13,420 >> Doğruluk tam olarak bu. 284 00:11:13,420 --> 00:11:17,760 Spesifikasyon olarak kod çalışıyor mu ve değnek örnek çözüm olarak 285 00:11:17,760 --> 00:11:19,730 kodunuz öneririz Aslında, çalışmalıdır. 286 00:11:19,730 --> 00:11:23,260 Eğer bir araya geldi değil varsa, 50 kontrol Henüz P olan bir şartname set 287 00:11:23,260 --> 00:11:25,060 ve genellikle olacak Sana evet / hayır cevaplar vermek 288 00:11:25,060 --> 00:11:26,518 olmadığı konusunda kodunuzu doğrudur. 289 00:11:26,518 --> 00:11:30,680 En azından şimdiye kadar gidiyoruz olarak o deneylerine dayanmaktadır değerlendirebilir için 290 00:11:30,680 --> 00:11:32,430 biz bu program dahilinde çalıştırmak. 291 00:11:32,430 --> 00:11:33,850 >> Tasarım çok daha özneldir. 292 00:11:33,850 --> 00:11:35,994 Bu ne kadar iyi yazılmış kod olmasıdır. 293 00:11:35,994 --> 00:11:38,410 Ve bu bir şey olduğunu Eğer zamanla daha iyi alırsınız 294 00:11:38,410 --> 00:11:41,201 ve bir şey olduğunu yaparız var daha nitel geribildirim sağlamak. 295 00:11:41,201 --> 00:11:43,350 Ve tasarımı ile ben belki önce uzun Demek istediğim 296 00:11:43,350 --> 00:11:47,650 Bazı P cazip olabilir loopingly bir şeyler yapmak için ayarlanır, 297 00:11:47,650 --> 00:11:51,590 ama belki üç, ya da dört, ya da sahip olmak Beş iç içe ön döngüler veya iç içe iken 298 00:11:51,590 --> 00:11:52,090 döngüler. 299 00:11:52,090 --> 00:11:54,130 Bu genellikle gerekir Eğer yalakalık yapmaya başlar 300 00:11:54,130 --> 00:11:56,070 ve genellikle olacaktır kabul kötü tasarım. 301 00:11:56,070 --> 00:11:59,490 Ve sen sınıfta görmeye başlayacağız ve şeyler yapmanın sınıf iyi yollarından dışarı 302 00:11:59,490 --> 00:12:02,920 şeyler yapmanın kötü yolları olduğunu tüm doğru olabilir, ama olmayabilir 303 00:12:02,920 --> 00:12:04,304 mutlaka iyi tasarlanmış. 304 00:12:04,304 --> 00:12:05,220 Bir kompozisyon yazma gibi. 305 00:12:05,220 --> 00:12:08,100 Sen sözcükleri koymak mümkün olabilir dilbilgisi bakımından doğru olan sayfa, 306 00:12:08,100 --> 00:12:10,016 kompozisyon ya ama onlar konum tez adildir 307 00:12:10,016 --> 00:12:11,810 Tamamen tutarsız ya da ikna edici. 308 00:12:11,810 --> 00:12:15,930 Ve bu da analog olabilir kötü ya da iyi bir tasarım yazılı dünya. 309 00:12:15,930 --> 00:12:18,490 >> Ve stil de oldukça özneldir. 310 00:12:18,490 --> 00:12:20,060 Ama en azından biz tutarlılık bekliyoruz. 311 00:12:20,060 --> 00:12:21,480 Bu ne kadar güzel kodunuzu olmasıdır. 312 00:12:21,480 --> 00:12:22,840 Güzel şeyler girintili? 313 00:12:22,840 --> 00:12:26,600 Senin değişkenler de adlandırılır / tüm Are senin parantez ve kaşlı ayraçlar arasında 314 00:12:26,600 --> 00:12:27,920 olması gerektiği gibi hizalanmış? 315 00:12:27,920 --> 00:12:31,490 Biz bir CS50 stil rehberi var Sorun seti de işaret eder. 316 00:12:31,490 --> 00:12:33,730 Bunlar daha rahat Bu sokak hoş geldiniz 317 00:12:33,730 --> 00:12:35,771 Çok uzun kendini tutarlı olarak. 318 00:12:35,771 --> 00:12:38,020 Ve bu da, bir ders Biz bölümünde takviye edeceğiz. 319 00:12:38,020 --> 00:12:40,990 Yani, tüm bu eğer biraz oldu Hızlı, fark P seti ve bölümler 320 00:12:40,990 --> 00:12:42,900 uzun zaman önce daha derinlemesine girecek. 321 00:12:42,900 --> 00:12:45,490 >> Ama genelde biz CS50 için çok az kovalar. 322 00:12:45,490 --> 00:12:48,170 Skorlar bir ölçekte genellikle bir-üç ya da birden beşe kadar. 323 00:12:48,170 --> 00:12:50,836 Biz gerçekten-- konum ve ben söyleyemem ilk hafta içinde bu yeterli. 324 00:12:50,836 --> 00:12:51,582 Üç iyidir. 325 00:12:51,582 --> 00:12:54,290 Yani, olsa bile, evet, üç üzerinden beş normal, matematiksel 326 00:12:54,290 --> 00:12:57,240 yüzde 60 veya D eksi gibi olabilir. 327 00:12:57,240 --> 00:12:58,840 Üç aslında iyidir. 328 00:12:58,840 --> 00:13:01,050 Ve, aslında, beklenen Sınıfta öğrencilerin çoğu 329 00:13:01,050 --> 00:13:04,280 etrafında terimini başlamak için ikişer, üçerli ve ve dörtlü. 330 00:13:04,280 --> 00:13:05,510 Muhtemelen çok değil beş. 331 00:13:05,510 --> 00:13:06,661 Çok az olanlar. 332 00:13:06,661 --> 00:13:08,910 Ama genelde başlaması eğri o tatlı nokta 333 00:13:08,910 --> 00:13:11,694 böylece zaman ilerledikçe bu, Oda aslında var, 334 00:13:11,694 --> 00:13:13,360 Üst ilerlemesi için ve fırsatlar. 335 00:13:13,360 --> 00:13:15,810 Yani,% 60 ile üç eşit etmeyiniz. 336 00:13:15,810 --> 00:13:17,410 Çok daha soyut daha var. 337 00:13:17,410 --> 00:13:20,160 Biz hesaplamak hangi formül aşağıdaki gibi notları ağırlıklı. 338 00:13:20,160 --> 00:13:21,610 Doğruluk en değer. 339 00:13:21,610 --> 00:13:23,010 Tasarım biraz daha az değer. 340 00:13:23,010 --> 00:13:24,490 Stil biraz daha az değer. 341 00:13:24,490 --> 00:13:26,950 Bu, genel olarak süreyi yakalar 342 00:13:26,950 --> 00:13:29,800 her alıyorum gider Bu eksenlerin sadece sağ. 343 00:13:29,800 --> 00:13:31,810 Stil, süper kolay süper hızlı olmalı, 344 00:13:31,810 --> 00:13:33,657 ama kolay bir alışkanlık hakkında tembel olsun. 345 00:13:33,657 --> 00:13:35,490 Doğruluk sürebilir çoğu zaman. 346 00:13:35,490 --> 00:13:38,990 Bazı böcek gücünü aşağı Chasing , bu ekstra saat veya daha fazla sürebilir 347 00:13:38,990 --> 00:13:41,737 ve bu nedenle, puanlama sonuçta o yakalar. 348 00:13:41,737 --> 00:13:43,070 Ve böylece, artık daha ciddi bir kelime. 349 00:13:43,070 --> 00:13:45,240 CS50 sahip olduğu ayrım, daha iyi 350 00:13:45,240 --> 00:13:47,440 ya da kötü olma belki de daha iyi tanışmış 351 00:13:47,440 --> 00:13:50,065 akademik sorunları ile En Başka ders daha dürüstlük. 352 00:13:50,065 --> 00:13:53,720 Ve gerçekten de benim bilgi olduğunu Biz ne yazık ki, daha fazla öğrenci göndermek 353 00:13:53,720 --> 00:13:56,690 disiplin amaçlı Bir sonuç olarak, her yıl. Bu yüzden, 354 00:13:56,690 --> 00:13:59,040 Tam çıkarına açıklama, kısaca bahsedelim 355 00:13:59,040 --> 00:14:02,820 CS50 biten ve ne sen ne hakkında yapmak ve ne sen dikkatli olabilirsiniz. 356 00:14:02,820 --> 00:14:05,530 >> Yani, burada beri 2007 ne zaman Ben, kurs miras 357 00:14:05,530 --> 00:14:07,870 Reklam Kurulu, vaka sayısıdır. 358 00:14:07,870 --> 00:14:10,690 Reklam Kurulu, Harvard disiplin olduğunu vücut, ya da hemen şimdi Onur Müşaviri, 359 00:14:10,690 --> 00:14:13,790 hangi olgu zaman adlandırılır Öğrenciler bu ders bir şeyler yapmak 360 00:14:13,790 --> 00:14:15,470 izlence mantıksız düşünmektedir. 361 00:14:15,470 --> 00:14:17,220 Hiçbir gerçek desen var Burada, ben söyleyebilirim. 362 00:14:17,220 --> 00:14:19,530 Bitti dalgalanıyor yaş, ancak genellikle 363 00:14:19,530 --> 00:14:22,262 Bu sayısıdır adlandırılır vakalar. 364 00:14:22,262 --> 00:14:23,970 Öğrenci sayısı katılmaktadırlar? 365 00:14:23,970 --> 00:14:25,290 Bu çok değişir. 366 00:14:25,290 --> 00:14:27,930 Için Tipik olarak, geçen yıl Harvard'da örnek, 29 öğrenci 367 00:14:27,930 --> 00:14:29,740 tabiri caizse Reklam Çizgili, idi. 368 00:14:29,740 --> 00:14:32,670 Onları güncel öğrencilerin 29 Onları önce iki öğrencisi, 369 00:14:32,670 --> 00:14:35,610 kim işbirliği edildi Bazı uygunsuz bir şekilde. 370 00:14:35,610 --> 00:14:38,400 Sonra açısından yüzde, genellikle yaklaşık% 3 var: 371 00:14:38,400 --> 00:14:41,360 sınıf, ne yazık ki, kararların bu tür yapar. 372 00:14:41,360 --> 00:14:44,470 >> Yani, geçen yıl% 3,5 oldu CS50 öğrenci vücudun 373 00:14:44,470 --> 00:14:46,820 Bu tabiri caizse Reklam Çizgili, oldu. 374 00:14:46,820 --> 00:14:48,490 >> Yani, tüm bu ne anlama geliyor? 375 00:14:48,490 --> 00:14:49,660 Ve biz aslında ne yapacağız? 376 00:14:49,660 --> 00:14:52,930 >> Yani, tam açıklama için, biz Kesinlikle, bilgisayar bilim adamları olarak, 377 00:14:52,930 --> 00:14:57,620 Bizim emrinde yazılım araçları ve adalet içinde, bizim için çok kolay, 378 00:14:57,620 --> 00:15:00,980 değil en diğer sınıf arkadaşları Bu satırları geçen karşılaştırmak geçmeye 379 00:15:00,980 --> 00:15:04,570 Her başvuru her karşı bu yıl son sekiz yıldır sunulması. 380 00:15:04,570 --> 00:15:05,445 Yazılım yapar. 381 00:15:05,445 --> 00:15:07,440 Ve sonuçta var karar insan gözü 382 00:15:07,440 --> 00:15:11,410 Bazı başvurmak için olsun ya da olmasın Daha fazla yargı için önemli, 383 00:15:11,410 --> 00:15:12,737 ancak yazılım kesinlikle yardımcı olur. 384 00:15:12,737 --> 00:15:15,820 Ve bu, açıkçası, ben neden olduğunu düşünüyorum Biz CS50 gibi çok sayıda vardır. 385 00:15:15,820 --> 00:15:18,540 Bu CS50 yüzünden değil öğrenci veya CS öğrencilerin daha 386 00:15:18,540 --> 00:15:20,840 genellikle daha az dürüst Başka öğrencilere göre, 387 00:15:20,840 --> 00:15:22,340 bu sadece elimizdeki araçları ve teknikleri 388 00:15:22,340 --> 00:15:24,095 hangi ilk seferde almak. 389 00:15:24,095 --> 00:15:25,960 >> Ama biz göz kulak do Bu şeylerin tümü üzerinde 390 00:15:25,960 --> 00:15:30,340 yanı, yine çıkarları koymak ediliyor çalışmalarını tanıma 391 00:15:30,340 --> 00:15:32,397 sınıf süper çoğunluk tarafından. 392 00:15:32,397 --> 00:15:34,230 Ve dersin politikası Akademik dürüstlük, 393 00:15:34,230 --> 00:15:37,021 bu paragrafların bir demet olsa bile mermi bir demet uzun 394 00:15:37,021 --> 00:15:40,490 o, umarım oldukça okunabilir Gerçekten makul haşlayın yok. 395 00:15:40,490 --> 00:15:44,000 Ve başparmak en iyi kural Biz ders içinde sunuyoruz 396 00:15:44,000 --> 00:15:46,020 Bu, özü Tüm iş size 397 00:15:46,020 --> 00:15:47,850 Kendi olmalı bu dersin teslim. 398 00:15:47,850 --> 00:15:51,510 Ve gerçekten de, hemen hemen herkesin olgular disiplin cezası için sevk 399 00:15:51,510 --> 00:15:55,640 çünkü bazı öğrenci geç biri oldu gece genellikle kendi kodunu çevirdi 400 00:15:55,640 --> 00:15:58,130 düpedüz bir sınıf arkadaşı üzerinde, kim o zaman kabul 401 00:15:58,130 --> 00:16:00,840 bütünüyle ya da önemli ölçüde tuzları. 402 00:16:00,840 --> 00:16:02,680 >> Ama gerçekten, bu Tamam. 403 00:16:02,680 --> 00:16:04,684 Ve gerçekten, ofiste Kağıt saat makbuzları 404 00:16:04,684 --> 00:16:07,850 Eğer ofis tarafından geldiyse teslim oldum Saat geçen hafta kadar teşvik eder. 405 00:16:07,850 --> 00:16:09,710 Kesinlikle sensin karşıladı ve teşvik 406 00:16:09,710 --> 00:16:12,340 sınıf arkadaşları ile sorun setleri görüşmek üzere. 407 00:16:12,340 --> 00:16:14,461 Tökezleyerek zaman birbirlerine yardımcı olmak. 408 00:16:14,461 --> 00:16:17,710 Ama genelde başparmak kuralı olmalıdır Bu olabilir, "yardım talebinde zaman, 409 00:16:17,710 --> 00:16:20,412 başkalarına kodunuzu gösterebilir, ama sen onların görebilmek olmayabilir. " 410 00:16:20,412 --> 00:16:22,620 Bu yüzden, başka bir deyişle, eğer ben Bazı P seti ile mücadele 411 00:16:22,620 --> 00:16:25,290 ve ben orada oturuyorum salonu yemek, ya da kütüphanede, 412 00:16:25,290 --> 00:16:28,470 ya da sınıfta Bazı arıza bulmaya çalışıyor, 413 00:16:28,470 --> 00:16:30,340 Kesinlikle gösterebilir benim ekranda kodumu 414 00:16:30,340 --> 00:16:32,590 kişinin yanında oturan için Benim için kesinlikle personel, 415 00:16:32,590 --> 00:16:33,600 aynı zamanda sınıf arkadaşı. 416 00:16:33,600 --> 00:16:36,580 Ama çözüm eğer benim sınıf arkadaşım, oh olduğunu sunuyor 417 00:16:36,580 --> 00:16:39,200 Burada sadece bir göz atın neyi Ben çizgisini geçtiğinde o yaptı. 418 00:16:39,200 --> 00:16:43,120 >> Ve bunu genellikle söylemek cesaret edemez çoğu insan için bir makul bir şey 419 00:16:43,120 --> 00:16:45,030 Çok kolay çizgisini nokta. 420 00:16:45,030 --> 00:16:47,195 Ve böylece, tanıtım bilgilerin görmek Daha fazla ayrıntı için. 421 00:16:47,195 --> 00:16:49,070 Daha Ve şimdi bir tartışmalı yönleri 422 00:16:49,070 --> 00:16:52,529 CS50 müfredatın ben ben düşündüm Burada sonuç olarak konuşmak istiyorum 423 00:16:52,529 --> 00:16:53,820 Sözde pişman deyimdir. 424 00:16:53,820 --> 00:16:55,340 Yani, burada tüm ince baskı var. 425 00:16:55,340 --> 00:16:58,090 Ama genel olarak gördüğümüz Son 8 yılda artı 426 00:16:58,090 --> 00:17:01,510 Gerçekten de, hemen hemen tüm CS50 en, bu Akademik sahtekârlık vakaları 427 00:17:01,510 --> 00:17:04,390 Sadece fakir sonucu olmuştur Gece geç saatlerde karar verme. 428 00:17:04,390 --> 00:17:07,144 Stres, sonuç sonucu yeme eksikliği, uykusuzluk, 429 00:17:07,144 --> 00:17:09,560 çok P setleri, çok tarihler, çok taahhütler. 430 00:17:09,560 --> 00:17:13,520 Bir 02:00 AM kadar bina Stres, 03:00 AM, bir tarih başgösteren 04:00. 431 00:17:13,520 --> 00:17:17,020 Bu durumlarda çoğu öğrenci sadece kötü kararlar yaptık 432 00:17:17,020 --> 00:17:20,619 onlar çok iyi pişman olabilir Ertesi sabah dakika sonra değilse 433 00:17:20,619 --> 00:17:25,490 ama geçen seneye kadar orada hiçbir tahliye vanası bu öğrenciler olabilir 434 00:17:25,490 --> 00:17:29,140 Aslında gerçekte ele açılır olmanın olmadan korku üzerine sorun baş 435 00:17:29,140 --> 00:17:30,850 tamamen üniversiteden başlattım. 436 00:17:30,850 --> 00:17:33,260 >> Ve, gerçekten, biz tanıttı Bu pişmanlık hükmü geçen yıl, 437 00:17:33,260 --> 00:17:35,970 hangi diyor içinden, eğer 72 saat, üç gün, 438 00:17:35,970 --> 00:17:37,970 Bazı çizgiyi geçme ders reçete 439 00:17:37,970 --> 00:17:41,178 Kurs en birine öne çıkan başkanları ve biz bu konuda bir sohbet olacak. 440 00:17:41,178 --> 00:17:43,720 Hala orada bazı ne kadar sonuç, aksine 441 00:17:43,720 --> 00:17:44,990 Aksine bildirilmiştir. 442 00:17:44,990 --> 00:17:49,190 Bazı sonuç hala var olduğunu Elbette tarafından eyleme olduğunu 443 00:17:49,190 --> 00:17:51,611 genellikle P seti sıfırlama ya da başka bir eyleme, 444 00:17:51,611 --> 00:17:53,610 ama biz, gerçekten, olacak bunun üstesinden kendimiz değil 445 00:17:53,610 --> 00:17:58,460 daha yüksek sonuç olduğunu ifade çok daha ciddi olabilir. 446 00:17:58,460 --> 00:18:01,810 Ve, gerçekten, ne paylaşmak Geçen yıl, sekiz yıl içinde, ve şimdi 447 00:18:01,810 --> 00:18:04,950 Bu dersi dokuz yıl ve çeşitli kolları ile müdahalesi sonrasında, 448 00:18:04,950 --> 00:18:07,866 Geçmişte boyunca çeşitli kadranı çevirerek Akademik dürüstlük birkaç yıl, 449 00:18:07,866 --> 00:18:11,920 ve veri hiçbir belirgin başına görünce Hatta böyle konuşmalar etkisi, 450 00:18:11,920 --> 00:18:15,490 Bu iyi bir şey elleri Biz pedagojik sunduk 451 00:18:15,490 --> 00:18:18,090 sekiz yıl boyunca CS50 bu yollar. 452 00:18:18,090 --> 00:18:21,010 >> 19 öğrenci öne çıktı Bu maddeye geçen yıl altında. 453 00:18:21,010 --> 00:18:23,389 Biz hiçbir harekete geçti Bu öğrencilerin yedi, 454 00:18:23,389 --> 00:18:25,430 olduklarını belirlemek gereksiz yere endişeli. 455 00:18:25,430 --> 00:18:27,304 Bunlar aslında, yoktu Bir çizgiyi geçti ama 456 00:18:27,304 --> 00:18:28,960 İyi bir sohbet yine sahip oldu. 457 00:18:28,960 --> 00:18:31,190 Biz puanları 11 zeroed Bu sunuldu. 458 00:18:31,190 --> 00:18:33,840 Ve bir durumda biz sorduk Öğrenci set bir sorun yapmak. 459 00:18:33,840 --> 00:18:36,370 Ama daha zorlayıcı, dürüst, bu 19 sohbetleri ile, 460 00:18:36,370 --> 00:18:39,020 hangi I yol daha oldu bunların her biri olması beklenmektedir 461 00:18:39,020 --> 00:18:41,370 Belki bir 10 dakika saat uzun, ayrıca getirdi 462 00:18:41,370 --> 00:18:44,920 ilgili konularda bir dizi ışığına ailesel sorunlar, arkadaş sorunları, 463 00:18:44,920 --> 00:18:46,940 Ruh sağlığı sorunları biz sonra devreye ki 464 00:18:46,940 --> 00:18:50,200 Öğrencinin nimet, ikamet ile Dean, ya arkadaş, ya da başka herhangi bir numara 465 00:18:50,200 --> 00:18:51,450 destek kaynaklarının. 466 00:18:51,450 --> 00:18:54,454 Böylece bu kadar tek oldu Bizim zamanımızın en iyi kullanımlarından 467 00:18:54,454 --> 00:18:55,870 ve en iyi uygulamalardan birisidir. 468 00:18:55,870 --> 00:18:58,870 >> Bunu dedi, hiçbir vardı algılama oranı giriş 469 00:18:58,870 --> 00:19:00,909 Akademik sahtekârlık daha genel. 470 00:19:00,909 --> 00:19:02,950 Ve ben, demek bu alt kümesini cesaret Öğrencilerin geçen yıl 471 00:19:02,950 --> 00:19:06,350 Bir demografiyi olarak biz Daha önce önce tanımlanmış asla 472 00:19:06,350 --> 00:19:08,140 ve daha önce bağlı hiç. 473 00:19:08,140 --> 00:19:10,020 Ve böylece, bu vardı Harika başarı hikayeleri 474 00:19:10,020 --> 00:19:13,390 onlar ışık getirildi olsa Optimal koşullarda daha az. 475 00:19:13,390 --> 00:19:15,640 Yani, bunu aklınızdan çıkarmayın Yaptığınız olarak, belki de, 476 00:19:15,640 --> 00:19:17,390 bazı kötü karar Kendinizi gece geç saatlerde, 477 00:19:17,390 --> 00:19:20,151 rücu kadar uzun olduğunu bu durumda öğrenci olarak 478 00:19:20,151 --> 00:19:23,400 kadar kendi ve öne çıkıp biz böylece sohbet bu tür var ve onunla başa 479 00:19:23,400 --> 00:19:27,310 bir şekilde o eğitici ve daha sonra Biz ertesi gün arkamızda koyabilirsiniz. 480 00:19:27,310 --> 00:19:30,335 >> Fazla uzatmadan Yani, almak Bu konuşmanın kapalı kenar, 481 00:19:30,335 --> 00:19:35,080 yavru isimli kadar olan nedeni Sadece bir an için buz kırmak için. 482 00:19:35,080 --> 00:19:39,560 Ve ne yazık ki, hepsi uyku konum ama sözde ne burada ne 483 00:19:39,560 --> 00:19:41,760 oldu herkes gerekiyordu huşu ve tür dinlenmek için 484 00:19:41,760 --> 00:19:43,910 Bu çok ağır bir konuşma sonrasında. 485 00:19:43,910 --> 00:19:46,930 Ama görünüşe göre ben koymak yavru uyumak. 486 00:19:46,930 --> 00:19:50,070 Ama CS50 en giderseniz Web sitesi çizgi yavruları, 487 00:19:50,070 --> 00:19:51,610 Eğer gün boyu izleyebilirsiniz. 488 00:19:51,610 --> 00:19:55,280 Özellikle belki 02:00 ya 03:00, ya da gece 04:00 489 00:19:55,280 --> 00:19:57,480 Orada biraz stres rahatlama görmek için. 490 00:19:57,480 --> 00:19:58,805 Yani yavru çizgi olduğunu. 491 00:19:58,805 --> 00:20:01,700 492 00:20:01,700 --> 00:20:02,200 Pekala. 493 00:20:02,200 --> 00:20:03,020 Değil eğlenceli miydi? 494 00:20:03,020 --> 00:20:04,200 TAMAM. 495 00:20:04,200 --> 00:20:07,140 Yani, geri bir bilgisayara bilim, eğer ben olabilir. 496 00:20:07,140 --> 00:20:10,600 >> Yani, biz başladık son kez çağırmak sadece ana değil bakıyor ki 497 00:20:10,600 --> 00:20:13,930 Varsayılan fonksiyonu, zaman oldu Yeşil bayrak, eşdeğer tıklandığında 498 00:20:13,930 --> 00:20:16,999 ama biz de kısaca başladı Kendi işlevlerin bazıları yazma. 499 00:20:16,999 --> 00:20:20,040 Bu işlevlerin Ve bugüne kadar hiçbiri Özellikle büyük ya da etli olmuştur. 500 00:20:20,040 --> 00:20:24,570 Sen o büyük içine alırsınız fonksiyonlar muhtemelen P 2 set, P, 3 set 501 00:20:24,570 --> 00:20:26,410 Kesinlikle P 4 ve ileriye ayarlayın. 502 00:20:26,410 --> 00:20:29,340 Şu anda sizin programlarının çoğu, Kesinlikle hepsi, P değilse 503 00:20:29,340 --> 00:20:31,550 set 1 Ana tamamen yapılabilir. 504 00:20:31,550 --> 00:20:33,810 Senin program sadece buysa beş satır, 10 hatları, 505 00:20:33,810 --> 00:20:37,070 Hatta 20 satır uzunluğunda, mükemmel Bunu yazmak için makul 506 00:20:37,070 --> 00:20:40,930 Tüm ana ve değil zorlaştırıyor aşmıştır kodunuzu, ama bugün ne yapıyoruz 507 00:20:40,930 --> 00:20:44,360 ve ileriye de çalışıyor bazı iyi tasarım tekniklerini tanıtmak 508 00:20:44,360 --> 00:20:48,660 böylece kodunuzu daha alır gibi karmaşık ve sorunlar olarak 509 00:20:48,660 --> 00:20:51,690 Eğer sert olsun çözmek istiyorsanız ve daha ilginç var, çeşit, 510 00:20:51,690 --> 00:20:55,850 Araç kutunuzdaki araçlar hangi ile olanlara iyi çözümler üretmek. 511 00:20:55,850 --> 00:21:01,210 >> Yani, kısaca bir göz atalım geri Benim geçen hafta, bu programın hangi 512 00:21:01,210 --> 00:21:06,550 olduğu fonksiyonları sıfır noktalı C ve oldukça basit, fark, 513 00:21:06,550 --> 00:21:10,310 bu iki ile bu gibi görünüyor fonksiyonlar, ana ve baskı adı. 514 00:21:10,310 --> 00:21:13,160 Ve geri ya da belki düşünme Bugün ters mühendislik, 515 00:21:13,160 --> 00:21:16,880 tanıtmak için motivasyon neydi hat denilen 28 bir fonksiyon, 516 00:21:16,880 --> 00:21:18,180 Baskı adı? 517 00:21:18,180 --> 00:21:21,745 Ya da bu bir örnek neydi Bir ilke veya paket koşulları, 518 00:21:21,745 --> 00:21:22,605 Sen yaparsan. 519 00:21:22,605 --> 00:21:26,560 520 00:21:26,560 --> 00:21:27,300 Bazı üfürümler. 521 00:21:27,300 --> 00:21:28,830 Ne? 522 00:21:28,830 --> 00:21:32,210 >> Evet İşlevsel Ayrışma diyerek fantezi yolu tür, 523 00:21:32,210 --> 00:21:34,690 Programınızı ayrıştırmak kendisini oluşturan parçaların içine 524 00:21:34,690 --> 00:21:37,530 ve daha sonra bu parçaları kullanın bir bütünü monte. 525 00:21:37,530 --> 00:21:39,620 Yani, bu çok türüdür Zaten bir lokma, 526 00:21:39,620 --> 00:21:42,050 ama bu belki de bir şey iyi örnek 527 00:21:42,050 --> 00:21:43,081 Sadece soyutlama denir. 528 00:21:43,081 --> 00:21:43,580 Sağ? 529 00:21:43,580 --> 00:21:46,950 Soyutlama biri olacak CS50 yinelenen temalar 530 00:21:46,950 --> 00:21:49,085 ve aynı zamanda bilgisayar bilimi daha genel olarak beri 531 00:21:49,085 --> 00:21:53,060 Eğer çözebilir hangi bir tekniktir sorunlar daha etkili çünkü sen 532 00:21:53,060 --> 00:21:56,807 Daha fazla çözüm yazabilirsiniz sezgisel ve bir bakıma o terazi 533 00:21:56,807 --> 00:21:58,390 ve diğer insanlar tarafından anlaşılabilir bir durumdur. 534 00:21:58,390 --> 00:21:59,860 Bununla ne demek istiyorsun? 535 00:21:59,860 --> 00:22:04,340 >> Yani, belki çok daha okunabilir Böyle bir programa bakmak, 536 00:22:04,340 --> 00:22:05,990 o olsa süper kısa. 537 00:22:05,990 --> 00:22:10,050 Eğer on line 22 gördüğünüzde var ki adında bir işlev, baskı adı. 538 00:22:10,050 --> 00:22:12,620 Tek başına bu isim ne yaptığını söylüyor. 539 00:22:12,620 --> 00:22:15,780 Bu fonksiyon görünüşte alır onun parantez girişi, 540 00:22:15,780 --> 00:22:18,600 ve görünüşe göre bir şey yok, muhtemelen adını yazdırır. 541 00:22:18,600 --> 00:22:20,880 Ve böylece, hatta biz bile Kesinlikle olabilir 542 00:22:20,880 --> 00:22:25,280 Biz hangi bir hafta önce ne yaptığını yapmış Sadece, bu kod satırı almak gerçek 543 00:22:25,280 --> 00:22:28,710 Bu kurtulmak ve almak hep birlikte bu kurtulmak, 544 00:22:28,710 --> 00:22:31,436 biz tür abstracted Bir isim yazdırmak kavramı. 545 00:22:31,436 --> 00:22:33,060 Baskı def kullanıyorsanız umurumda değil. 546 00:22:33,060 --> 00:22:35,601 Eğer bir varsa umurumda değil Yüzde S ve Bunlar bir ters eğik çizgi N. 547 00:22:35,601 --> 00:22:37,270 inanılmaz gizemli ayrıntılardır. 548 00:22:37,270 --> 00:22:40,090 Ben olarak umurumda ne programcı bir isim yazdırıyor. 549 00:22:40,090 --> 00:22:43,414 Ve böylece, daha iyi ne şekilde bunu Bir işlev, baskı adını arayarak daha? 550 00:22:43,414 --> 00:22:46,330 Ve böylece, bu motivasyonları biriydi Böyle bir şey yapmak için. 551 00:22:46,330 --> 00:22:50,370 Kod daha okunabilir hale daha yeniden kullanılabilir ve aynı zamanda kendini açıklayıcı. 552 00:22:50,370 --> 00:22:52,120 Şimdi, bir göz atalım Başka bir örnek de, 553 00:22:52,120 --> 00:22:56,220 hangi fonksiyonlar biriydi hangi biz burada üzerinde vardı. 554 00:22:56,220 --> 00:23:00,367 >> Yani, bu bir hatta belki de daha ilgi çekici, çünkü bu durumda, 555 00:23:00,367 --> 00:23:01,700 Ben sadece bir int almak istemiyorum. 556 00:23:01,700 --> 00:23:03,320 Ben olumlu bir int almak istiyorum. 557 00:23:03,320 --> 00:23:06,470 Ve bu olumlu almak için çıkıyor Eğer ayak işi bir sürü yapmak zorunda int. 558 00:23:06,470 --> 00:23:06,969 Sağ? 559 00:23:06,969 --> 00:23:09,600 Bu basit bir satır değil Baskı adı gibi arama 560 00:23:09,600 --> 00:23:11,480 hangi kuşkusuz daha az zorlayıcı. 561 00:23:11,480 --> 00:23:16,000 >> Pozitif int almak için, logically-- Beni bu gizlemek için geri aşağı kaydırma olsun. 562 00:23:16,000 --> 00:23:18,887 Yapmanız gereken ne? 563 00:23:18,887 --> 00:23:20,720 Bütün araçlar gibi biz Şu anda olduklarından 564 00:23:20,720 --> 00:23:24,440 Standart yazıcı def gibi şeyler Kütüphane ayrıca CS50 kütüphanesinden 565 00:23:24,440 --> 00:23:26,990 Biz Int al, ve Float alın Uzun Uzun, String alın, 566 00:23:26,990 --> 00:23:29,260 ama sadece bir, Germane, Şu anda Int alın olduğunu. 567 00:23:29,260 --> 00:23:32,970 Yani, sadece bir araç varsa senin alet kutusunda Int Alın olduğunu 568 00:23:32,970 --> 00:23:35,505 biz uygulanması hakkında gitmek nasıl pozitif int almak için? 569 00:23:35,505 --> 00:23:35,929 >> HEDEF KİTLE: bir günlük oluşturun ve kontrol üzerine olsun onlar verdi girdi 570 00:23:35,929 --> 00:23:36,762 olumlu ya da değildi. 571 00:23:36,762 --> 00:23:39,390 572 00:23:39,390 --> 00:23:40,640 >> KONUŞMACI 1: Mükemmel. 573 00:23:40,640 --> 00:23:41,200 Kesinlikle. 574 00:23:41,200 --> 00:23:43,950 Biz var başka bir araç bizim Bir ya da iki hafta önce gelen araç 575 00:23:43,950 --> 00:23:45,419 sadece bir döngü yapısıdır. 576 00:23:45,419 --> 00:23:48,210 Ve böylece, evet, biz bir süre kullanırsanız Döngü veya döngü sırasında bir do, ya da ön 577 00:23:48,210 --> 00:23:50,850 muhtemelen uzak alabilir döngü bazı şeklinde olanlar biriyle. 578 00:23:50,850 --> 00:23:55,140 Biz get kavramını uygulayabilirsiniz Sadece alın Int kullanarak pozitif int, 579 00:23:55,140 --> 00:23:57,830 ve sonra sadece onu demeye devam Tekrar ve kullanıcı pestering tutmak 580 00:23:57,830 --> 00:24:00,320 kadar o ya da aslında o bize istediğimizi verir. 581 00:24:00,320 --> 00:24:03,260 >> Ve şimdi, bu sürecin soyutlama 582 00:24:03,260 --> 00:24:05,680 olumlu bir int alma adı verilen bir işlev 583 00:24:05,680 --> 00:24:08,930 Get Pozitif Int biraz daha zorlayıcı şuna bak, çünkü. 584 00:24:08,930 --> 00:24:10,990 Bu 10 artı gibidir kod satırları o 585 00:24:10,990 --> 00:24:15,090 Olumlu bir int alma katılmaktadırlar, ve ben gerçekten bunu nasıl umurumda değil. 586 00:24:15,090 --> 00:24:17,850 Umurumda Tüm seninle olduğunu bunu, ve bu yüzden ettik edebilirsiniz 587 00:24:17,850 --> 00:24:21,660 Bir arkasına gizlenmiş tüm bu detaylar Çağrılan işlev o int Pozitif alın 588 00:24:21,660 --> 00:24:23,430 Gerçekten, döngü sırasında bu do sahiptir. 589 00:24:23,430 --> 00:24:27,660 >> Ve sözdizimi için geçen hafta bakın Orada, ama sadece N ilan, 590 00:24:27,660 --> 00:24:29,800 ve yazdırır kullanıcıya talimat. 591 00:24:29,800 --> 00:24:33,330 Bu Int Alın çağırır ve sonra kontrol bu durum tekrar ve tekrar, 592 00:24:33,330 --> 00:24:35,230 ve kullanıcı işbirliği tekrar gelene kadar. 593 00:24:35,230 --> 00:24:38,000 >> Yani şimdi, bir kaç aklı denetler. 594 00:24:38,000 --> 00:24:40,370 Belki tanıdık olanlar için Bazı programlama, 595 00:24:40,370 --> 00:24:46,410 N ilan edildi neden, neden ben oluştururum Döngü sırasında do N dışında? 596 00:24:46,410 --> 00:24:50,370 Neden on line 29 ve Örneğin benzeri 33 üzerinde. 597 00:24:50,370 --> 00:24:53,529 >> HEDEF KİTLE: sizi Çünkü tür, dışarıda beyan 598 00:24:53,529 --> 00:24:56,688 daha büyük scope-- bölgesinin 599 00:24:56,688 --> 00:24:58,146 >> SPEAKER 1: İyi. 600 00:24:58,146 --> 00:24:59,604 >> HEDEF KİTLE: --ve sen bildirirseniz o döngü içinde, [inaudible] 601 00:24:59,604 --> 00:25:00,979 bu konuda bilmiyor çünkü. 602 00:25:00,979 --> 00:25:02,819 603 00:25:02,819 --> 00:25:03,610 KONUŞMACI 1: Kesinlikle. 604 00:25:03,610 --> 00:25:06,330 I simplify-- Eğer kapsam bir mesele. 605 00:25:06,330 --> 00:25:11,530 Ve kapsam bağlamında atıfta hangi değişken var ya kullanılabilir. 606 00:25:11,530 --> 00:25:15,050 Ve burada başparmak güzel kural olduğunu genellikle beyan veya oluşturduğunuzda 607 00:25:15,050 --> 00:25:21,642 değişken yalnızca içinde kullanabilirsiniz en yakın küme parantezi kucaklayan. 608 00:25:21,642 --> 00:25:22,600 Peki bu ne anlama geliyor? 609 00:25:22,600 --> 00:25:26,551 Ben, bunun yerine, bu geri ve giderseniz Biraz daha basit hissediyor şey. 610 00:25:26,551 --> 00:25:27,050 Sağ? 611 00:25:27,050 --> 00:25:29,360 >> Satır 32 şimdi bana temiz görünüyor. 612 00:25:29,360 --> 00:25:31,500 Ben ikisini de yapıyorum bir kez ve sonra atama 613 00:25:31,500 --> 00:25:33,070 sol el sağ eli. 614 00:25:33,070 --> 00:25:35,180 Sorun artık dayalı kapsam bu tanım 615 00:25:35,180 --> 00:25:41,130 Bu N hatları kullanılabilir olan 31, bu kısmın içerisinde 32, 616 00:25:41,130 --> 00:25:45,100 ama nerede tanımı gereği o kullanılamaz? 617 00:25:45,100 --> 00:25:45,660 Doğrultusunda ne olacak? 618 00:25:45,660 --> 00:25:46,160 Evet. 619 00:25:46,160 --> 00:25:47,490 >> HEDEF KİTLE: 35. 620 00:25:47,490 --> 00:25:49,180 >> KONUŞMACI 1: 35. 621 00:25:49,180 --> 00:25:50,480 Kesinlikle 35. 622 00:25:50,480 --> 00:25:52,349 Ve ayrıca burada başka? 623 00:25:52,349 --> 00:25:52,890 HEDEF KİTLE: 34. 624 00:25:52,890 --> 00:25:55,040 KONUŞMACI 1: Hatta 34 olduğunu o çünkü sorunlu 625 00:25:55,040 --> 00:25:56,450 küme ayraçları dışında. 626 00:25:56,450 --> 00:25:58,200 Ve böylece aslında, en ne olduğunu görelim. 627 00:25:58,200 --> 00:25:58,700 Sağ? 628 00:25:58,700 --> 00:26:00,722 Bu biraz görünebilir sezgisel veya olmayabilir 629 00:26:00,722 --> 00:26:02,680 ama en ne görelim derleyici zaman söylemek zorunda 630 00:26:02,680 --> 00:26:04,730 Biz bugünün kaynak dizine gidin. 631 00:26:04,730 --> 00:26:08,950 Fonksiyonu tek yapın. 632 00:26:08,950 --> 00:26:11,231 Aman Tanrım. 633 00:26:11,231 --> 00:26:12,980 Eh, sonunda bitmiş bu arada. 634 00:26:12,980 --> 00:26:14,030 Pekala. 635 00:26:14,030 --> 00:26:15,510 Ve mesele burada ne var? 636 00:26:15,510 --> 00:26:17,430 Bakmak çok gizemli. 637 00:26:17,430 --> 00:26:19,570 Ama burada ben typed-- ne fonksiyonu biri haline getirmektedir. 638 00:26:19,570 --> 00:26:21,640 İşte yapmak kaynaklı buydu Hangi aslında 639 00:26:21,640 --> 00:26:23,705 derleyici clang kullanarak Bu bayraklar bazı 640 00:26:23,705 --> 00:26:25,080 Biz uzun zaman önce tekrar görürsünüz. 641 00:26:25,080 --> 00:26:26,829 Ve yine, her zaman bakmak İlk hata da, 642 00:26:26,829 --> 00:26:30,540 Sadece bir basamaklı olabilir çünkü Diğer hatlarda anlamsız etkisi. 643 00:26:30,540 --> 00:26:34,410 >> Peki bunun anlamı olduğunu Sorun fonksiyonu 1.c içinde 644 00:26:34,410 --> 00:26:36,890 Bu hat 32 üzerinde. 645 00:26:36,890 --> 00:26:39,712 Ve bu sütunun ya da karakteri, 13 at var. 646 00:26:39,712 --> 00:26:42,670 Peki ne zaman metin editörü o can Sorun nerede olduğunu belirlemenize yardımcı. 647 00:26:42,670 --> 00:26:47,079 Ben yukarı Yani eğer, çizgi 32 nedir? 648 00:26:47,079 --> 00:26:49,120 Yani aslında bu bir var zaten vurgulanmış oluyor 649 00:26:49,120 --> 00:26:50,607 Sağ burada-- kullanılmayan değişken n. 650 00:26:50,607 --> 00:26:51,440 Ama kullanılmayan değil. 651 00:26:51,440 --> 00:26:52,320 Ben kullanıyorum. 652 00:26:52,320 --> 00:26:56,110 Ama derleyici en çünkü karıştı yalnızca bu kapsam içinde bulunmaktadır. 653 00:26:56,110 --> 00:26:57,727 Ve ben burada bunu kullanamaz. 654 00:26:57,727 --> 00:26:58,560 Burada bunu kullanamaz. 655 00:26:58,560 --> 00:27:01,320 Ve derleyici, bu nedenle, Hatta ben çalışıyorum o umursamıyor. 656 00:27:01,320 --> 00:27:03,940 Bu kullanılmamış gibi görünüyor gerçek kapsamı içinde. 657 00:27:03,940 --> 00:27:08,854 >> Yani biz yaparak kapsamını genişletebilirsiniz Tam Başladığımız işi Şarkı söylemeyi kes n int. 658 00:27:08,854 --> 00:27:11,020 Ve öyle değil olsa bile belki gibi zarif görünmek, 659 00:27:11,020 --> 00:27:15,110 ve biz ekstra bir satır alıyorsun Burada, şimdi her yerde kapsam içinde. 660 00:27:15,110 --> 00:27:15,970 Yani tekrar deneyelim. 661 00:27:15,970 --> 00:27:19,040 Yani işlevi biri olun. 662 00:27:19,040 --> 00:27:19,610 Güzel. 663 00:27:19,610 --> 00:27:23,370 Ve şimdi ben eğer işlevini çalıştırırsanız biri, en 10 negatif verelim 664 00:27:23,370 --> 00:27:27,170 Negatif 1, 0, 1, ve gerçekten de çalışır. 665 00:27:27,170 --> 00:27:28,610 >> Yani burada başka bir çözüm var. 666 00:27:28,610 --> 00:27:29,280 Biliyor musun? 667 00:27:29,280 --> 00:27:31,230 Gerçekten bu ne güreş ediyorsam? 668 00:27:31,230 --> 00:27:33,140 Nerede olduğunu bilmiyorum n gitmek gerekiyordu. 669 00:27:33,140 --> 00:27:33,723 Biliyor musun? 670 00:27:33,723 --> 00:27:39,220 Ben sadece bunu koymak için gidiyorum tüm Burada benim dosyasının üst yol. 671 00:27:39,220 --> 00:27:42,835 Bu, Ne düşünüyorsun yapardı? 672 00:27:42,835 --> 00:27:43,335 Evet? 673 00:27:43,335 --> 00:27:44,251 >> HEDEF KİTLE: [duyulamaz]. 674 00:27:44,251 --> 00:27:47,964 675 00:27:47,964 --> 00:27:48,630 KONUŞMACI 1: Evet. 676 00:27:48,630 --> 00:27:50,560 Yani tabiri caizse, küresel yaptık. 677 00:27:50,560 --> 00:27:54,430 Eğer bir değişken varsa o dışarıda var izin verilen için tüm fonksiyonları, 678 00:27:54,430 --> 00:27:58,780 ve kod derleme ve n Şimdi get değil sadece erişilebilir olacaktır 679 00:27:58,780 --> 00:28:02,490 değil, aynı zamanda olumlu bir main-- int olan bölgesindeki var çünkü biraz endişe verici 680 00:28:02,490 --> 00:28:04,864 Ana zaten bir n, bu nedenle daha fazla Sadece bir moment-- o üzerinde 681 00:28:04,864 --> 00:28:06,530 ama bu kötü tasarım düşünülebilir. 682 00:28:06,530 --> 00:28:06,910 Pekala. 683 00:28:06,910 --> 00:28:08,570 Eğer başvurmak varsa bir şey, oh ben olacak gibi 684 00:28:08,570 --> 00:28:10,125 sadece burada çünkü koymak Kod derlemek gibi görünüyor 685 00:28:10,125 --> 00:28:12,180 genellikle en iyi uygulama değildir. 686 00:28:12,180 --> 00:28:14,590 Aksine seçmek istediğiniz dar olası kapsam 687 00:28:14,590 --> 00:28:18,720 senin değişkenler için, hangi anlamına gelir Bizim ilk tasarımı ile gidiyor ki 688 00:28:18,720 --> 00:28:19,920 burada. 689 00:28:19,920 --> 00:28:24,400 >> Şimdi bir kenara olarak, sahip olmasaydı Burada değişken aynı adlı bir, 690 00:28:24,400 --> 00:28:27,750 yol c bu-- ele alabileceğinizi Bu çok often-- olmayacak olsa 691 00:28:27,750 --> 00:28:30,150 bu hala olmasıdır Burada mükemmel para cezası. 692 00:28:30,150 --> 00:28:35,000 Ama doğrultusunda n bu tanım 22 küresel bir gölge olacaktır. 693 00:28:35,000 --> 00:28:38,190 Yani bu bir içinde çalışacaktır Ana ve küresel bir tane 694 00:28:38,190 --> 00:28:41,670 Eğer olduğunuzda aslında geçerli olacaktır Pozitif int Ama bu konuda daha fazla olsun 695 00:28:41,670 --> 00:28:43,890 Başka bir zaman, ama sadece meraklı olanlar için. 696 00:28:43,890 --> 00:28:45,970 >> Yani Kısacası, biz burada bunu düzeltmek. 697 00:28:45,970 --> 00:28:49,220 Şimdi diğer iki adet ayrı kızdırmak izin Biz bir kod son satırı bakmak önce 698 00:28:49,220 --> 00:28:50,170 Bu programda. 699 00:28:50,170 --> 00:28:52,170 Pozitif int alın. 700 00:28:52,170 --> 00:28:54,450 Sol tarafta onun kelime kelime int. 701 00:28:54,450 --> 00:28:56,860 Bu sizce ne anlama geliyor? 702 00:28:56,860 --> 00:28:58,900 Bugüne kadar çoğunlukla geçersiz gördüm. 703 00:28:58,900 --> 00:28:59,400 Evet? 704 00:28:59,400 --> 00:29:01,810 >> HEDEF KİTLE: Bu tip var hakkında soruyorsun değişken. 705 00:29:01,810 --> 00:29:04,550 >> KONUŞMACI 1: Evet, bu türüdür, bana izin değil değişken söylüyorlar, ama değer tipi 706 00:29:04,550 --> 00:29:05,990 ben geri soruyorum. 707 00:29:05,990 --> 00:29:08,070 Ve gerçekten de, işte Burada sezgisel, umarım. 708 00:29:08,070 --> 00:29:08,200 Sağ? 709 00:29:08,200 --> 00:29:10,250 Eğer almak istiyorsanız Pozitif int, sen ne 710 00:29:10,250 --> 00:29:12,920 gibi function-- istiyorum bizim Geçen hafta gönüllüler 711 00:29:12,920 --> 00:29:15,720 bir parça size geri teslim etmek Bunun üzerine bir int ile kağıt? 712 00:29:15,720 --> 00:29:19,190 Ve böylece biz belirtilen ettik Bu işlevin sözde geri dönüş tipi 713 00:29:19,190 --> 00:29:20,450 Pozitif int olsun. 714 00:29:20,450 --> 00:29:22,990 Biz bunu istemiyordu Eğer geçersiz demek, bir şey dönün. 715 00:29:22,990 --> 00:29:25,270 İsterseniz geri dönmek için bir dize, dize söylüyorlar. 716 00:29:25,270 --> 00:29:27,310 İsterseniz geri dönmek için Bir şamandıra, şamandıra sen söylüyorlar. 717 00:29:27,310 --> 00:29:30,440 Ama burada da geçerlidir tek mantıklı, ben olsun int kullanıyorum çünkü, 718 00:29:30,440 --> 00:29:34,130 I sınırlamaksızın olmama rağmen pozitif değerler, bir int döndürmektir. 719 00:29:34,130 --> 00:29:38,380 >> Yani tersine, bu ne anlama geliyor Bu parantez içinde bir boşluk var? 720 00:29:38,380 --> 00:29:40,130 Parantez ne Genellikle tanımlar? 721 00:29:40,130 --> 00:29:40,588 Evet? 722 00:29:40,588 --> 00:29:42,880 >> HEDEF KİTLE: Bu fonksiyon en anlamına gelir aslında almıyor. 723 00:29:42,880 --> 00:29:44,650 >> KONUŞMACI 1: Fonksiyon en anlamına gelir Aslında Ne almıyorum? 724 00:29:44,650 --> 00:29:45,430 >> HEDEF KİTLE: Bir giriş. 725 00:29:45,430 --> 00:29:46,763 >> KONUŞMACI 1: herhangi bir giriş. 726 00:29:46,763 --> 00:29:49,870 Yani gerçekten, eğer parantez burada, geçersiz belirttiğiniz 727 00:29:49,870 --> 00:29:51,650 sadece ben herhangi bir giriş istemiyorum demektir. 728 00:29:51,650 --> 00:29:53,269 Ben sorunu kendim ilgilenirim. 729 00:29:53,269 --> 00:29:55,810 Ve gerçekten de, bunu yapmak zorunda değilsiniz Pozitif int şey almak söyleyin. 730 00:29:55,810 --> 00:29:59,630 Sadece söylemek olumlu int almak ve bu fonksiyon çıkmak ve onun şey yapacağız. 731 00:29:59,630 --> 00:30:02,970 >> Ama ettik küçük bir hile var oldu Burada bu bütün zaman oynuyor 732 00:30:02,970 --> 00:30:04,970 Bu kodu derler emin olmak için. 733 00:30:04,970 --> 00:30:09,620 Pozitif olsun int-- edin int void-- hattı 27 üzerindedir. 734 00:30:09,620 --> 00:30:14,530 Ama bazıları görünüşte garip bir nedenden dolayı bu hat 16 üzerinde burada da var. 735 00:30:14,530 --> 00:30:18,530 Ve sadece iyi ölçmek için ben tekrar edeceğiz Bu yüzden mükemmel aynı olduğunu. 736 00:30:18,530 --> 00:30:21,640 Ve ben söyledim prototip ile Biraz tek satırlık açıklama. 737 00:30:21,640 --> 00:30:28,850 Ne ben silerseniz olur, Ve Şimdi fonksiyonu 1, girmek yapmak yeniden çalıştırın. 738 00:30:28,850 --> 00:30:29,350 Whoops. 739 00:30:29,350 --> 00:30:32,527 740 00:30:32,527 --> 00:30:33,110 Bir dakika bekle. 741 00:30:33,110 --> 00:30:34,764 Benim sekmesi nerede? 742 00:30:34,764 --> 00:30:35,263 Ha? 743 00:30:35,263 --> 00:30:37,969 744 00:30:37,969 --> 00:30:39,620 Yanında olmak. 745 00:30:39,620 --> 00:30:41,570 Fonksiyonu 1 yapın. 746 00:30:41,570 --> 00:30:42,150 Oraya gidiyoruz. 747 00:30:42,150 --> 00:30:42,310 TAMAM. 748 00:30:42,310 --> 00:30:43,400 Düzgün kaydedilmez etmemişti. 749 00:30:43,400 --> 00:30:45,220 Yani, ben biraz olduğunu düşünüyorum Burada hata değilim nerede 750 00:30:45,220 --> 00:30:46,636 Şu anda sekme adını görünce. 751 00:30:46,636 --> 00:30:47,940 Peki burada neler oluyor? 752 00:30:47,940 --> 00:30:52,210 Fonksiyonun Örtülü beyanı Pozitif int olsun C99 geçersiz. 753 00:30:52,210 --> 00:30:53,940 Yani yine kafa karıştırıcı. 754 00:30:53,940 --> 00:30:55,200 Yani bu işaret nedir? 755 00:30:55,200 --> 00:30:57,287 Peki, bu çıkıyor C oldukça aptalca. 756 00:30:57,287 --> 00:30:59,912 Eh, bu programlama var dil, ya da daha doğrusu derleyici olduğunu. 757 00:30:59,912 --> 00:31:02,940 Sadece ne var biliyor Onu öğretti ve sadece var 758 00:31:02,940 --> 00:31:05,640 bir şey biliyor gidiyor Daha önce öğretti eğer. 759 00:31:05,640 --> 00:31:07,960 Diğer bir deyişle, in Şu anda ana, ben 760 00:31:07,960 --> 00:31:10,900 Bir işlevi çağırmak çalışıyorum denilen pozitif int olsun. 761 00:31:10,900 --> 00:31:14,120 Ama derleyici gitmiyor pozitif int olsun fark 762 00:31:14,120 --> 00:31:16,500 hat 26 kadar mevcuttur. 763 00:31:16,500 --> 00:31:21,360 Ve böylece derleyici ne adildir hataları en kısa sürede 17 hat alır gibi, 764 00:31:21,360 --> 00:31:23,700 örtük beyanı söyleyerek olumlu int, olsun hangi 765 00:31:23,700 --> 00:31:27,740 söyleyerek sadece süslü bir yoludur, I do not Pozitif int henüz ne olduğunu biliyorum olsun. 766 00:31:27,740 --> 00:31:31,240 >> Java gibi diğer diller ve Python ve Ruby ileriye bakmak olabilir. 767 00:31:31,240 --> 00:31:32,240 C değil. 768 00:31:32,240 --> 00:31:35,110 Ve böylece biz düzeltmek yolu Bu iki yoldan biridir. 769 00:31:35,110 --> 00:31:40,160 Ya biri, sorun eğer olsun Pozitif int, daha önce görülmemiş olmamıştır 770 00:31:40,160 --> 00:31:42,150 iyi, bana sadece üst bunu geçelim. 771 00:31:42,150 --> 00:31:43,650 İşte bu sorunu çözmek istiyorum. 772 00:31:43,650 --> 00:31:46,790 Ama genelde, bu kadar kabul iyi tekniği 773 00:31:46,790 --> 00:31:50,220 Çok adresinden ana işlevi koymak Bir insan kodunuzu okuma böylece üst 774 00:31:50,220 --> 00:31:52,710 Program ne bilir Ana bütün gömülü olmadığından 775 00:31:52,710 --> 00:31:53,960 altına veya ortada bir yol. 776 00:31:53,960 --> 00:31:55,130 O çok üstünde olduğunu. 777 00:31:55,130 --> 00:31:56,410 Böylece ideal bir hissetmez. 778 00:31:56,410 --> 00:31:58,326 Ve aslında alabilirsiniz durumlar nereye içine 779 00:31:58,326 --> 00:32:00,820 bir fonksiyon çağrıları ise Başka çağıran başka, 780 00:32:00,820 --> 00:32:04,630 Eğer bir sorun içine alabilirsiniz nerede ne mantıklı, diğerinin üzerinde gidebilirsiniz. 781 00:32:04,630 --> 00:32:05,920 Bu sadece mümkün değil. 782 00:32:05,920 --> 00:32:09,290 >> Ve böylece yol çalışması Bu sadece almaktır etrafında 783 00:32:09,290 --> 00:32:13,200 işlevin imzası, bu yüzden speak-- için bu declared-- var ilk satırı 784 00:32:13,200 --> 00:32:16,850 ve sadece kopya en yapıştırın kıvırcık braces-- üst değil 785 00:32:16,850 --> 00:32:17,980 Sadece bir noktalı virgül ile. 786 00:32:17,980 --> 00:32:20,840 Biraz ipucu gibi gelmek ne olduğunu. 787 00:32:20,840 --> 00:32:26,630 Ve aslında, bu kez tüm zaman Standart io.h gibi şeyler gördük 788 00:32:26,630 --> 00:32:33,040 ve cs50.h, benzer şekilde, bu nokta, h dosyalar var, diğer prototipler vardır. 789 00:32:33,040 --> 00:32:35,250 Ve biz uzun zaman önce olduğunu görürsünüz. 790 00:32:35,250 --> 00:32:39,340 >> Kısacası Yani bir program varsa çoklu fonksiyonları olan bir dosyada 791 00:32:39,340 --> 00:32:42,300 Ana yanı sıra, neredeyse Her zaman onları bildirmek istiyorum 792 00:32:42,300 --> 00:32:45,360 Sadece ilk yolu ile noktalı virgül ardından çizgi, 793 00:32:45,360 --> 00:32:48,410 Dosyanın çok üstünde. 794 00:32:48,410 --> 00:32:50,460 Bu seferde çok oldu. 795 00:32:50,460 --> 00:32:53,130 Sorusu olan? 796 00:32:53,130 --> 00:32:53,920 Sorusu olan? 797 00:32:53,920 --> 00:32:54,530 Pekala. 798 00:32:54,530 --> 00:32:59,760 >> Öyleyse hareket edelim öksürük gibi bir şey. 799 00:32:59,760 --> 00:33:00,260 Ah. 800 00:33:00,260 --> 00:33:00,570 Nasıl uydurma. 801 00:33:00,570 --> 00:33:01,220 Pekala. 802 00:33:01,220 --> 00:33:02,260 Öksürük. 803 00:33:02,260 --> 00:33:05,080 Yani burada bir c Bir programın uygulanması 804 00:33:05,080 --> 00:33:07,560 Biz diğer gün yaptım Scratch çok basitçe sadece 805 00:33:07,560 --> 00:33:08,691 öksürük, öksürük, öksürük diyor. 806 00:33:08,691 --> 00:33:09,190 Pekala. 807 00:33:09,190 --> 00:33:11,136 Ve birisi bir kaç sözü gün önce var olduğunu 808 00:33:11,136 --> 00:33:12,760 Zaten bu kodu temizlemek için bir yol. 809 00:33:12,760 --> 00:33:12,880 Pekala? 810 00:33:12,880 --> 00:33:15,440 En kısa sürede size kopyalama konum olarak ve Muhtemelen kötü tasarım yapıştırarak. 811 00:33:15,440 --> 00:33:18,725 En az bir kez biz dört ya da beş olsun ya da 20 öksürük, kötü uygulama hissediyor. 812 00:33:18,725 --> 00:33:19,850 Biz sadece, yapıştırma kopyasını saklayın. 813 00:33:19,850 --> 00:33:22,213 Bariz çözüm nedir Bu programın kadar temizlik? 814 00:33:22,213 --> 00:33:23,120 >> HEDEF KİTLE: Döngü. 815 00:33:23,120 --> 00:33:23,350 >> KONUŞMACI 1: Evet. 816 00:33:23,350 --> 00:33:24,070 Yani bir döngü kullanmak. 817 00:33:24,070 --> 00:33:27,697 Ve biz, bir süre bir için-döngü kullanabilirsiniz köprüsü, yaklaşımların herhangi bir sayı. 818 00:33:27,697 --> 00:33:29,780 Ve gerçekten de, bu ne var Burada sürümünde tek yapmak. 819 00:33:29,780 --> 00:33:32,250 Ben bunun yerine yeniden yazıldı ettik cough.c sürüm, bir bölgesindeki 820 00:33:32,250 --> 00:33:35,170 bir for döngüsü içinde sadece öksürük olmak. 821 00:33:35,170 --> 00:33:38,240 Pekala, ama orada bir start tür şimdi fırsat 822 00:33:38,240 --> 00:33:41,630 daha fazla gibi bu biraz tasarım ders Biz bir an önce öğretti 823 00:33:41,630 --> 00:33:46,190 İstediğim varsayalım bu-- olan öksürük adında bir işlevi oluşturmak için, 824 00:33:46,190 --> 00:33:49,730 Sadece bir an için düşünelim ne gibi bakmaya gidiyor. 825 00:33:49,730 --> 00:33:51,900 Ben bir şey istiyorsanız Ben sadece ihtiyacım öksürük 826 00:33:51,900 --> 00:33:53,800 fonksiyonu içerisine print f kullanın. 827 00:33:53,800 --> 00:33:55,030 Ve gerçekten öyleyim. 828 00:33:55,030 --> 00:33:56,990 Ve aslında, bütün bu Zaman, her zaman sen 829 00:33:56,990 --> 00:33:59,000 bir şey yazdırırken Ekran, bir programcı 830 00:33:59,000 --> 00:34:00,610 bir yan etkisi olduğunu çağırır. 831 00:34:00,610 --> 00:34:02,990 Beni teslim değil Geri birisi bir değer. 832 00:34:02,990 --> 00:34:06,170 Bu beni biraz hareket alıyor görsel olarak belirgin olabilir. 833 00:34:06,170 --> 00:34:10,672 Ama bu fonksiyon öksürük, o çıkmıyor İlk satırda dayalı şey var mı? 834 00:34:10,672 --> 00:34:12,880 Hayır, dönüş tipi nedeniyle Sadece, yani geçersizdir 835 00:34:12,880 --> 00:34:14,250 geri Bana bir şey uzatırken değil. 836 00:34:14,250 --> 00:34:16,791 Bu şeyler yapıyor olabilir görsel, ama bana teslim değil 837 00:34:16,791 --> 00:34:18,639 geçen hafta gibi bir kağıt parçası geri. 838 00:34:18,639 --> 00:34:21,310 >> Herhangi bir giriş ihtiyacı var mı? 839 00:34:21,310 --> 00:34:21,810 Hayır. 840 00:34:21,810 --> 00:34:23,134 Ve bu yüzden çok burada hükümsüz olduğunu. 841 00:34:23,134 --> 00:34:25,600 Yani bu da bir tür olduğunu Bu sorunu aşırı mühendislik. 842 00:34:25,600 --> 00:34:26,099 Sağ? 843 00:34:26,099 --> 00:34:28,820 Ben daha çok programı yaptık kod karmaşık, daha hatları, 844 00:34:28,820 --> 00:34:31,889 Ben herhangi bir yapılmış değil daha fonksiyonel, ancak bu 845 00:34:31,889 --> 00:34:34,210 bir basamak olacağını, Belki de, daha geniş bir 846 00:34:34,210 --> 00:34:36,830 daha karmaşık kod ile bağlam. 847 00:34:36,830 --> 00:34:38,150 Ama bu ne hakkında? 848 00:34:38,150 --> 00:34:42,050 Ben sadece ne bakarak done-- var Bu yorumun bakmadan 849 00:34:42,050 --> 00:34:46,076 ne file-- çok üstünde Ben temelde benim öksürük burada yapılacak 850 00:34:46,076 --> 00:34:47,409 farklı uygulama? 851 00:34:47,409 --> 00:34:48,327 Evet, arkada? 852 00:34:48,327 --> 00:34:51,384 >> HEDEF KİTLE: you can yüzden olun Bir karakter kapatmak zorunda. 853 00:34:51,384 --> 00:34:52,050 KONUŞMACI 1: Evet. 854 00:34:52,050 --> 00:34:53,270 Yani bu tür güzel hissediyor. 855 00:34:53,270 --> 00:34:53,389 Sağ? 856 00:34:53,389 --> 00:34:56,600 Bu bir özellik ekleme gibi senin Program veya bu durumda sizin işlevi. 857 00:34:56,600 --> 00:34:57,830 Hala hiçbir şey döndürür. 858 00:34:57,830 --> 00:35:00,538 Bu, görsel bir yan etkisi olabilir yazdırma f çağırıyor çünkü. 859 00:35:00,538 --> 00:35:02,800 Ama şimdi parametrize var fonksiyonu, burada 860 00:35:02,800 --> 00:35:06,470 Ben alınan Belirlediğiniz ettik demektir int türünde giriş ve n diyoruz 861 00:35:06,470 --> 00:35:08,510 ama ben istediğin bir şey diyebiliriz. 862 00:35:08,510 --> 00:35:11,550 Aslında, sadece olabilir Zaman daha açık olması için. 863 00:35:11,550 --> 00:35:13,310 Ve sonra ben sadece burada bu değişebilir. 864 00:35:13,310 --> 00:35:16,450 Ama nokta nasıl bu olduğunu girdi alır bir işlev oluşturun. 865 00:35:16,450 --> 00:35:19,530 Ve sen saygısız çağırmak durumunda bir belki de online yoluyla 866 00:35:19,530 --> 00:35:23,000 walk-through, Dördüncü ve son öksürük örneği, 867 00:35:23,000 --> 00:35:27,150 Burada farkedeceğiniz genelleştirilmiş ettik soyutlanmış benim kod further-- tür 868 00:35:27,150 --> 00:35:27,690 ayrıca o. 869 00:35:27,690 --> 00:35:31,390 Öksürük ve hapşırma gibi, her ikisi de hakkında bir şeyler söylüyor ya da yapma gibi 870 00:35:31,390 --> 00:35:32,330 Sesin çeşit. 871 00:35:32,330 --> 00:35:34,725 Kaydet olurdu Scratch bloğu gelir. 872 00:35:34,725 --> 00:35:37,350 Ve ben bu sürümde yaptım, ne hangi biz de sadece bakışta can 873 00:35:37,350 --> 00:35:43,170 , öksürük, sadece, [öksürük] ​​demek gibi olduğunu öksürük, ve bu arada, hapşırma olduğunu 874 00:35:43,170 --> 00:35:44,570 demek gibi, [ACHOO]. 875 00:35:44,570 --> 00:35:46,900 Ve bu yüzden genel ettik Bu uygulama 876 00:35:46,900 --> 00:35:48,970 Şimdi uygulayarak Bu genel fonksiyon 877 00:35:48,970 --> 00:35:51,490 İlginç olan, söylemek Bugünün amaçlı 878 00:35:51,490 --> 00:35:54,300 Sadece hala çünkü Bir dönüş türü yok. 879 00:35:54,300 --> 00:35:56,398 Ama kaç girişler var? 880 00:35:56,398 --> 00:35:56,981 HEDEF KİTLE: İki. 881 00:35:56,981 --> 00:35:57,430 KONUŞMACI 1: İki. 882 00:35:57,430 --> 00:35:59,263 Ve böylece isterseniz iki argüman almak, 883 00:35:59,263 --> 00:36:00,710 Sadece bir virgül ile ayırın. 884 00:36:00,710 --> 00:36:03,110 Ve sonra isterseniz Bu işlev çağrısı, 885 00:36:03,110 --> 00:36:05,800 fark Size sadece , unquote, alıntı, diyelim çağrı 886 00:36:05,800 --> 00:36:09,090 İlk argüman için, ortak n ikinci argüman için. 887 00:36:09,090 --> 00:36:12,130 Yani yine, biz sadece şu anda sahip yapı taşları biz aslında can böylece 888 00:36:12,130 --> 00:36:15,686 Kendi bazı işlevler uygulamak. 889 00:36:15,686 --> 00:36:16,570 Pekala. 890 00:36:16,570 --> 00:36:19,690 Bunlar üzerinde Herhangi bir sorunuz? 891 00:36:19,690 --> 00:36:22,400 >> Yani şimdi en bir tabaka eğer öyleyse geri soyma edelim. 892 00:36:22,400 --> 00:36:24,840 Ve gol, sonuçta, Gelecek haftaki sorun kümesidir 893 00:36:24,840 --> 00:36:27,710 cryptogrophy-- üzerinde olacak bilgi çabalıyorlar sanatı. 894 00:36:27,710 --> 00:36:30,640 Ve özel olarak ise, bilgiler şifrelemek veya şifresini olacak 895 00:36:30,640 --> 00:36:31,605 Metin olacak. 896 00:36:31,605 --> 00:36:33,980 Davetiye Ve böylece bu tür Soru bugün de olduğu gibi, 897 00:36:33,980 --> 00:36:38,480 Ne başlık altında oluyor Haftanın sıfırdan ASCII ötesinde metin ile, 898 00:36:38,480 --> 00:36:40,730 ve nasıl aslında biz manipüle başlar? 899 00:36:40,730 --> 00:36:43,070 Yani burada Zamyla adıdır. 900 00:36:43,070 --> 00:36:47,380 Ve metinde, bu girilen olabilir olsun dize işlevi gibi içine. 901 00:36:47,380 --> 00:36:52,540 Bir görünce, şimdi başlıyor bu-- Z-A-M-Y-L-bir-- gibi dize 902 00:36:52,540 --> 00:36:56,550 Her sanki bunu düşünmeye başlamak Bu karakter bir kutu içinde onun 903 00:36:56,550 --> 00:36:57,050 Kendi. 904 00:36:57,050 --> 00:36:59,460 Ve gerçekten de, bir hafta içinde ya da öylesine Zaman, bu kutulardan her 905 00:36:59,460 --> 00:37:04,280 Çok özel temsil edecek belleğin bir ısırık memory-- bir blok. 906 00:37:04,280 --> 00:37:07,050 Peki bu harflerin her biri, sonuçta, 8 bit temsil edecek. 907 00:37:07,050 --> 00:37:10,560 Ve biz aslında ne oluyor görürsünüz benim bilgisayar başlık altında üzerinde. 908 00:37:10,560 --> 00:37:13,440 >> Ama o yeterli için Sadece Zamyla bakmak 909 00:37:13,440 --> 00:37:17,520 ve bu sayede her bu lens aracılığıyla Bu mektuplar, kendi kutuda. 910 00:37:17,520 --> 00:37:22,697 Ve güzel yeterince C biz doğrudan bu kutuların her biri erişebilirsiniz. 911 00:37:22,697 --> 00:37:25,530 İlk almak istiyorsanız Yani Onun adının mektup, C. süper kolay 912 00:37:25,530 --> 00:37:28,410 Son almak istiyorsanız mektup, süper kolay yanı sıra 913 00:37:28,410 --> 00:37:30,240 Yeni sözdizimi bir parça ile. 914 00:37:30,240 --> 00:37:36,250 >> Yani CS50 içine önde gidiyorum IDE ve dize sıfır nokta C. açmak 915 00:37:36,250 --> 00:37:40,270 Ve bu örnekte, orada Yeni bir kaç şey oluyor. 916 00:37:40,270 --> 00:37:44,360 Yani ilk satırda 19, biz ettik Bu before-- olsun dize görüldü. 917 00:37:44,360 --> 00:37:49,840 Yani sadece hızlı aklı kontrol olarak, Birisi sözlü kadar teklif eğer 918 00:37:49,840 --> 00:37:52,662 Bir rahip olmayan kimse açıklama Ne hattında 19 oluyor. 919 00:37:52,662 --> 00:37:55,370 Sadece içine bu tercüme gibi İngilizce o CS50 bir oda arkadaşı değil 920 00:37:55,370 --> 00:37:56,416 anlayabilir. 921 00:37:56,416 --> 00:37:56,916 Evet. 922 00:37:56,916 --> 00:37:59,749 >> HEDEF KİTLE: Kullanıcı giriş a mı dize değişken s saklayın ve. 923 00:37:59,749 --> 00:38:01,934 924 00:38:01,934 --> 00:38:02,600 SPEAKER 1: İyi. 925 00:38:02,600 --> 00:38:05,579 Kullanıcı girişi bir dize var ve değişken s saklayın. 926 00:38:05,579 --> 00:38:06,120 Bu harika. 927 00:38:06,120 --> 00:38:08,090 Sağ taraftan Yani Yan, biz olsun dize diyoruz. 928 00:38:08,090 --> 00:38:10,340 Bu bir değer döndürür Bu atanmış alamadım 929 00:38:10,340 --> 00:38:14,230 sağ tarafta sol-el için olan bir değişken olarak adlandırılan s içine yan 930 00:38:14,230 --> 00:38:15,950 bir dize saklamak için tasarlanmış. 931 00:38:15,950 --> 00:38:16,800 Kesinlikle. 932 00:38:16,800 --> 00:38:20,000 >> Yani şimdi başına 22 satır hat 21 yorum, 933 00:38:20,000 --> 00:38:22,780 Açıkçası bu dizeyi yazdırır Her satıra bir karakter. 934 00:38:22,780 --> 00:38:23,740 Ama nasıl? 935 00:38:23,740 --> 00:38:27,040 Yani her şeyden önce, biz I 0 başlatılamıyor. 936 00:38:27,040 --> 00:38:31,061 Ve sonra nasıl alabilirim Zamyla adının sonuna? 937 00:38:31,061 --> 00:38:32,810 Eh, sonunda Zamyla adı, I could 938 00:38:32,810 --> 00:38:38,151 elle son karakteri yazın Onun bir şekilde adı veya bunun sayısı. 939 00:38:38,151 --> 00:38:38,650 Sağ? 940 00:38:38,650 --> 00:38:43,500 Biz geri burada-- Z-A-M-ben- giderseniz Y-L-A- yüzden yazabilirsiniz. 941 00:38:43,500 --> 00:38:47,340 Indeksi neler var Zamyla son mektup? 942 00:38:47,340 --> 00:38:52,517 Bu ise 0-- benzer bir konuşma programmer-- 0, 1, 2, 3, 4, 5, 943 00:38:52,517 --> 00:38:56,570 Ben, bu yüzden gerçekten son harfi heard-- Zamyla adına altıncı, 944 00:38:56,570 --> 00:38:58,890 ama biz 0'dan saymak eğer, bu sayı 5 olacak. 945 00:38:58,890 --> 00:39:01,320 Yani burada akılda tutmak. 946 00:39:01,320 --> 00:39:04,929 >> Bir fonksiyon var dışarı O turnike C strlen aradım ve geri gün 947 00:39:04,929 --> 00:39:06,720 ve hala bu gün, programcılar bir sürü 948 00:39:06,720 --> 00:39:09,524 isim senkronize tercih onların kelime gibi ses fonksiyonları 949 00:39:09,524 --> 00:39:10,440 Dedikleri çalışıyorlar. 950 00:39:10,440 --> 00:39:12,590 Yani strlen dize uzunluğudur. 951 00:39:12,590 --> 00:39:18,168 Ve ne yani dize uzunluğu olur Zamyla girişi olduğunda S dönmek? 952 00:39:18,168 --> 00:39:19,569 >> HEDEF KİTLE: Beş. 953 00:39:19,569 --> 00:39:22,090 >> HOPARLÖR 1: Z-A-M-Y-L. Altı. 954 00:39:22,090 --> 00:39:22,590 Sağ? 955 00:39:22,590 --> 00:39:23,940 Zamyla adının uzunluğu nedir? 956 00:39:23,940 --> 00:39:24,440 Sağ? 957 00:39:24,440 --> 00:39:26,240 Ve sadece gerçekte, altı harf. 958 00:39:26,240 --> 00:39:26,740 Sağ? 959 00:39:26,740 --> 00:39:28,940 Ve böylece bizim döngüsü için ne anlama geliyor? 960 00:39:28,940 --> 00:39:32,130 Biz gitmek için gidiyoruz Altıya kadar 0, hangi 961 00:39:32,130 --> 00:39:33,650 Bize beş yineleme verecek. 962 00:39:33,650 --> 00:39:34,890 Biz her tekrarında ne yaparsınız? 963 00:39:34,890 --> 00:39:36,870 Peki, yüzde C, birisi Geçen gün tahmin, 964 00:39:36,870 --> 00:39:38,710 Ne için bir yer tutucu demek? 965 00:39:38,710 --> 00:39:39,335 >> HEDEF KİTLE: Char. 966 00:39:39,335 --> 00:39:40,293 KONUŞMACI 1: Sadece bir karakter. 967 00:39:40,293 --> 00:39:42,877 Yani tek bir character-- değil bir dize gibi birden çok karakter. 968 00:39:42,877 --> 00:39:45,251 Ve sonra burada yeni çizgi Biz yazdırarak var ki. 969 00:39:45,251 --> 00:39:46,580 Ve sonra burada yeni sözdizimi. 970 00:39:46,580 --> 00:39:51,130 I-th yazdırmak istiyorsanız Dize S karakter, yani, konuşmak için 971 00:39:51,130 --> 00:39:54,060 sadece söyleyebiliriz Dize S isim, 972 00:39:54,060 --> 00:39:58,230 ve sonra köşeli ayraç açmak ve daha sonra bir i ile, köşeli ayraç kapalı 973 00:39:58,230 --> 00:39:58,780 orta. 974 00:39:58,780 --> 00:40:01,430 Ve o içinde biraz güzel bu tür bir kare gibi görünüyor 975 00:40:01,430 --> 00:40:06,210 Sadece kareler gibi Zamyla en hangi karakter o resimde var. 976 00:40:06,210 --> 00:40:09,970 >> Aslında bu çalıştırırsanız yüzden Şimdi, en ne olduğunu görelim. 977 00:40:09,970 --> 00:40:15,190 Dize 0 nokta çizgi olun Dize 0, sonra ben 978 00:40:15,190 --> 00:40:16,720 Zamyla adına yazmanız olacak. 979 00:40:16,720 --> 00:40:19,428 Ben yapmadım çünkü hiçbir istemi var, Baskı f kullanabilirsiniz, ancak bu iyi. 980 00:40:19,428 --> 00:40:20,660 Ben sadece ne yapacağımı biliyorum. 981 00:40:20,660 --> 00:40:23,240 Ve gerçekten de yazdırır Zamyla adı, her satıra bir tane. 982 00:40:23,240 --> 00:40:25,760 >> Şimdi biraz pervasız olalım. 983 00:40:25,760 --> 00:40:28,461 Bilmiyordum varsayalım yaklaşık strlen ve ben düşündüm, 984 00:40:28,461 --> 00:40:31,460 tamam, kimse bir sahip olacak 50 karakterden gibi daha büyük isim. 985 00:40:31,460 --> 00:40:36,360 En go ahead ve bu derlemeye edelim ve yeniden çalıştırın ve sonra da Zamyla yazın 986 00:40:36,360 --> 00:40:37,160 Tekrar. 987 00:40:37,160 --> 00:40:40,850 Mantıken, ne Program yazdırmaya çalışın olacak? 988 00:40:40,850 --> 00:40:49,545 Z-A-M-Y-L-A sonra gibi 45 bellek bilinmiyor bayt. 989 00:40:49,545 --> 00:40:51,670 Ve gerçekten de, biz geri geleceğiz bellek bu fikri. 990 00:40:51,670 --> 00:40:54,180 Ama mantıklı eğer Zamyla adı uzun bu 991 00:40:54,180 --> 00:40:56,450 resim başına Burada, ne söylüyorsun 992 00:40:56,450 --> 00:40:59,810 yazdırmaya devam, yazdırmaya devam edilir tutmak baskı, baskı tutmak yazdırmaya devam 993 00:40:59,810 --> 00:41:03,781 50 karaktere tüm yol, hangi ne olacak kim bilir ne. 994 00:41:03,781 --> 00:41:05,030 Yani aslında bir göz atalım. 995 00:41:05,030 --> 00:41:06,720 En Zamyla yazın edelim. 996 00:41:06,720 --> 00:41:07,250 İlginç. 997 00:41:07,250 --> 00:41:08,190 Biz şanslıydık. 998 00:41:08,190 --> 00:41:09,700 Beyaz boşluk Sadece bir sürü. 999 00:41:09,700 --> 00:41:09,930 Ah. 1000 00:41:09,930 --> 00:41:11,120 Tek korkak karakter var. 1001 00:41:11,120 --> 00:41:14,577 Bu garip bir soru gibi görünüyor tür Orada işareti ama Zamyla adı vardır. 1002 00:41:14,577 --> 00:41:15,660 En çok pervasız alalım. 1003 00:41:15,660 --> 00:41:20,000 Biz 500 çıktısını hakkında nasıl Bilinmeyen içine bloklar? 1004 00:41:20,000 --> 00:41:24,380 En go ahead ve bu yapalım yanı sıra ve daha sonra yeniden çalıştırmak. 1005 00:41:24,380 --> 00:41:27,980 Ve en çok, çünkü tam ekran let Biz daha fazla yer görmek gerekir. 1006 00:41:27,980 --> 00:41:30,460 Zamyla. 1007 00:41:30,460 --> 00:41:31,830 Yine şanslı. 1008 00:41:31,830 --> 00:41:33,070 >> Daha pervasız olsun cesaret? 1009 00:41:33,070 --> 00:41:36,070 En fazla pervasız alalım. 1010 00:41:36,070 --> 00:41:39,350 50.000 karakter. 1011 00:41:39,350 --> 00:41:41,390 Bu en kesinlikle iyi bir fikir değil. 1012 00:41:41,390 --> 00:41:41,890 Pekala. 1013 00:41:41,890 --> 00:41:42,990 Dize 0 yapın. 1014 00:41:42,990 --> 00:41:44,720 Bu bizim son demo olacak. 1015 00:41:44,720 --> 00:41:47,261 Zamyla. 1016 00:41:47,261 --> 00:41:48,632 Ugh. 1017 00:41:48,632 --> 00:41:50,010 Ugh. 1018 00:41:50,010 --> 00:41:50,680 TAMAM. 1019 00:41:50,680 --> 00:41:54,407 Yani benim bellek, şu anda gerçekten boş hangi aslında tür uygundur. 1020 00:41:54,407 --> 00:41:55,990 Ben tamam aşağıdaki amaçlara ulaşmaya çalışıyorum ne. 1021 00:41:55,990 --> 00:41:57,614 Ve şimdi ben sadece pervasız alacağım. 1022 00:41:57,614 --> 00:41:58,570 500.000. 1023 00:41:58,570 --> 00:42:03,860 Tam ekranlı en let it Make--. 1024 00:42:03,860 --> 00:42:04,990 Girin. 1025 00:42:04,990 --> 00:42:05,490 Zamyla. 1026 00:42:05,490 --> 00:42:12,050 1027 00:42:12,050 --> 00:42:13,390 Oraya gidiyoruz. 1028 00:42:13,390 --> 00:42:15,610 Ben hiçbir fikri ne anlama sahip , ama kötü geliyor. 1029 00:42:15,610 --> 00:42:16,110 Pekala. 1030 00:42:16,110 --> 00:42:20,322 Ve aslında, yakında, içinde iseniz mesai saatleri içinde şanslı birkaç 1031 00:42:20,322 --> 00:42:22,780 ve problem, size bir set bunu çok iyi karşılaşabilirsiniz. 1032 00:42:22,780 --> 00:42:25,490 Segmentasyon hataya aslında yok iyi tanımlanmış anlamlara sahiptir. 1033 00:42:25,490 --> 00:42:28,450 Bu hata bir çeşit demektir belleğin bir segmente ilişkilendirilmesi. 1034 00:42:28,450 --> 00:42:30,490 Ve meslekten olmayan şartlarını, biz dokundu demektir 1035 00:42:30,490 --> 00:42:34,780 memory-- benim bilgisayar RAM kullanılmış Ben erişimi vardı gerektiğini. 1036 00:42:34,780 --> 00:42:37,050 Ve bu ikisi ne var Güçlü ve aynı zamanda tehlikeli 1037 00:42:37,050 --> 00:42:39,910 C hakkında size o aslında serbest erişim 1038 00:42:39,910 --> 00:42:45,910 Programınızın belleğinin bütünlüğü için veya bayt veya RAM, daha spesifik. 1039 00:42:45,910 --> 00:42:49,510 >> Bu yüzden bile Zamyla adı olsa Sadece altı karakter uzunluğunda 1040 00:42:49,510 --> 00:42:51,450 Hala her yere gidebilir bellekte istiyorum. 1041 00:42:51,450 --> 00:42:53,491 Ve bir kenara, sen ettik sanki Hiç bazı makaleyi okuyun 1042 00:42:53,491 --> 00:42:55,610 bazıları hakkında yılda Sunucu ya da bazı program 1043 00:42:55,610 --> 00:42:58,654 Çatlak veya kesmek alıyorum işte şey alınan avantajı 1044 00:42:58,654 --> 00:43:00,820 Bir bellek taşması denilen biz aslında olacak o istismar 1045 00:43:00,820 --> 00:43:04,970 işte, birkaç hafta içinde hakkında konuşmak Genellikle bir şekilde kandırma atıfta 1046 00:43:04,970 --> 00:43:09,090 iyi gidiyor içine bir bilgisayar hafıza sınırları ötesinde 1047 00:43:09,090 --> 00:43:11,410 o olması gerektiğini ve sulu bir şey bulmak 1048 00:43:11,410 --> 00:43:13,530 bu memory-- bir şifre, belki de bir yol 1049 00:43:13,530 --> 00:43:16,990 Bazı seri numarası engellemeyi çek, ya da genel olarak mümkün sadece 1050 00:43:16,990 --> 00:43:20,360 Bilgisayar çalıştırdığı kandırmak için amaçlanan değildi kodu. 1051 00:43:20,360 --> 00:43:22,360 Ama geri gelmesine izin Sadece bir an için gerçeklik 1052 00:43:22,360 --> 00:43:24,550 bu program nerede strlen ile uygulanan, 1053 00:43:24,550 --> 00:43:26,110 ve burada bir şey yukarı tanıtmak. 1054 00:43:26,110 --> 00:43:30,030 Bu en üst üç satır arasında yeni ne var? 1055 00:43:30,030 --> 00:43:30,910 >> Yani dize nokta h. 1056 00:43:30,910 --> 00:43:35,490 Bu adlandırılan bu kütüphane var çıkıyor Dize Dot H veya String Kütüphanesi, 1057 00:43:35,490 --> 00:43:38,490 kimin başlık dosyası, tabiri caizse, bana verir dize nokta h 1058 00:43:38,490 --> 00:43:40,860 Bu strlen işlevine erişim. 1059 00:43:40,860 --> 00:43:43,841 Bunu atlarsanız, derleyici Bazı formda bana bağırma gidiyorum. 1060 00:43:43,841 --> 00:43:44,590 Ama ne biliyor musun? 1061 00:43:44,590 --> 00:43:46,090 Şimdi gerçekten incelikli başlayalım. 1062 00:43:46,090 --> 00:43:50,820 Hat 22, bir şey bir tür var arasında inefficient-- kötü tasarlanmış, 1063 00:43:50,820 --> 00:43:53,990 Bu kod satırı hakkında arguably--. 1064 00:43:53,990 --> 00:43:56,280 Nasıl geri düşünün için döngü uygulanır 1065 00:43:56,280 --> 00:44:00,140 ve hangi adımların tekrar yaşanmaması ve Tekrar ve başlatma vasıtasıyla yine, 1066 00:44:00,140 --> 00:44:04,110 durum, kod o idam, sonra artış olur 1067 00:44:04,110 --> 00:44:07,880 veya değiştirmek, daha sonra koşul, daha sonra kod, daha sonra değişiklik, 1068 00:44:07,880 --> 00:44:11,280 durum, daha sonra kod, Daha sonra benzeri değişim ve. 1069 00:44:11,280 --> 00:44:15,320 Peki biraz olabilir endişe verici ya da kötü burada yapılır? 1070 00:44:15,320 --> 00:44:16,387 Evet, mavi. 1071 00:44:16,387 --> 00:44:18,220 HEDEF KİTLE: Strlen olduğunu birçok, birçok kez aradı. 1072 00:44:18,220 --> 00:44:20,654 1073 00:44:20,654 --> 00:44:21,320 KONUŞMACI 1: Evet. 1074 00:44:21,320 --> 00:44:23,700 Olarak adlandırılır Bu yüzden strlen birçok kez, ama ne 1075 00:44:23,700 --> 00:44:27,113 Zamyla adının uzunluğu İlk kez döngü yürütür? 1076 00:44:27,113 --> 00:44:27,860 >> HEDEF KİTLE: Altı. 1077 00:44:27,860 --> 00:44:28,110 >> KONUŞMACI 1: Altı. 1078 00:44:28,110 --> 00:44:30,976 Eh, onun adının uzunluğu nedir kodu yürütür ikinci kez? 1079 00:44:30,976 --> 00:44:31,432 >> HEDEF KİTLE: Altı. 1080 00:44:31,432 --> 00:44:31,890 >> KONUŞMACI 1: Tamam. 1081 00:44:31,890 --> 00:44:32,720 Hala altı var. 1082 00:44:32,720 --> 00:44:33,220 Sağ? 1083 00:44:33,220 --> 00:44:35,260 Zarla adı değil var Ben arıyorum bile değişti 1084 00:44:35,260 --> 00:44:38,240 Onun adına harflerin tek kısmında. 1085 00:44:38,240 --> 00:44:41,349 Ve böylece aslında ben etkili olduğumu Bu soruyu soran, ne 1086 00:44:41,349 --> 00:44:44,640 Zamyla uzunluğu, uzunluk ne Zamyla bölgesinin Zamyla uzunluğu ne, 1087 00:44:44,640 --> 00:44:47,990 Altı ayrı zamanlar, ya da Yedi bile, sadece aptalca 1088 00:44:47,990 --> 00:44:50,390 o cevap değişmeyen çünkü. 1089 00:44:50,390 --> 00:44:53,550 Ve böylece ne aslında olabilir dizesinde tek de paha do 1090 00:44:53,550 --> 00:44:55,680 Burada marjinal iyi bir sürümü var. 1091 00:44:55,680 --> 00:45:00,110 Orada-- whoops-- dize iki Ben Bir marjinal iyi bir sürümü olup 1092 00:45:00,110 --> 00:45:05,010 Ben yerine sadece bu-- do Ben bir virgül ile de, 0 i başlatılıyor 1093 00:45:05,010 --> 00:45:07,990 adlı ikinci bir değişkeni bildirmek n- tekrar int söylemek zorunda değilsiniz. 1094 00:45:07,990 --> 00:45:09,220 Ben aslında olmamalıdır. 1095 00:45:09,220 --> 00:45:10,380 Ama ben n say. 1096 00:45:10,380 --> 00:45:13,610 Ve sonra ben n başlatmak Böylece n strlen, hemen 1097 00:45:13,610 --> 00:45:17,110 kaç kez strlen yok Toplamda idam? 1098 00:45:17,110 --> 00:45:17,610 Sadece bir kere. 1099 00:45:17,610 --> 00:45:20,257 Ve böylece bu ne demek olduğunu Daha önce iyi tasarım hakkında. 1100 00:45:20,257 --> 00:45:23,090 Aslında kodunuzu doğru bir kez geri dönüyor ve düşünmeyi, 1101 00:45:23,090 --> 00:45:26,820 Ben az kullanıyorum Bellek ya da birkaç saniye içinde 1102 00:45:26,820 --> 00:45:30,409 Bilgisayar süresi veya milisaniye olarak biraz problem uygulamak mümkün? 1103 00:45:30,409 --> 00:45:32,200 Ve ben ilerlemek için gidiyorum yukarı ve sadece söz 1104 00:45:32,200 --> 00:45:34,283 Bu söz var ki Bu sürümde null, 1105 00:45:34,283 --> 00:45:36,390 ama biz uzun zaman önce tekrar bu geleceğiz. 1106 00:45:36,390 --> 00:45:41,010 Şimdi Çünkü en bir göz atalım nerede bu bizi gidiyor. 1107 00:45:41,010 --> 00:45:44,110 Yani bir, o çıkıyor Biz yeteneğine sahip artık 1108 00:45:44,110 --> 00:45:46,860 bireysel karakter bakmak için, Biz bir şey kaldıraç 1109 00:45:46,860 --> 00:45:50,807 haftadan itibaren 0 çok gizli ve zaman ilginç tür. 1110 00:45:50,807 --> 00:45:53,390 Ama şimdi, ve özellikle biz Bir hafta içinde Kriptolamaya olsun, 1111 00:45:53,390 --> 00:45:54,820 oldukça güçlü olacak. 1112 00:45:54,820 --> 00:45:57,450 Bu bazı çıkıyor verilerin types-- ints ve yüzer 1113 00:45:57,450 --> 00:46:00,300 ve karakter ve dizeleri ve bazıları seyleri Diğer 1114 00:46:00,300 --> 00:46:02,800 çok kolay bir şekilde bir başka dönüştürülebilir. 1115 00:46:02,800 --> 00:46:05,840 >> Örneğin, biz konuştuk ASCII hakkında bazı zaman önce-- burada 1116 00:46:05,840 --> 00:46:07,796 büyük harfler A M aracılığıyla, nokta, nokta, 1117 00:46:07,796 --> 00:46:12,530 dot-- bir eşleme var olduğunu söyledi Bu harf ve sayılar arasında. 1118 00:46:12,530 --> 00:46:14,970 Ve aslında, bu geçerlidir hem de küçük harf için. 1119 00:46:14,970 --> 00:46:17,470 Küçük harf, bir 97 olduğunu, sermaye 65 olduğunu. 1120 00:46:17,470 --> 00:46:20,860 Ve ASCII bir numara, orada hangi sadece bu eşleme 1121 00:46:20,860 --> 00:46:23,240 bu diğer harflerin tüm sistemi. 1122 00:46:23,240 --> 00:46:25,030 Peki bu ne anlama geliyor? 1123 00:46:25,030 --> 00:46:28,390 Eh, ben önde ve açık gidiyorum denilen gerçek çabuk şey kadar 1124 00:46:28,390 --> 00:46:31,240 Yorumlar olduğu çoğu ASCII 0. 1125 00:46:31,240 --> 00:46:33,860 Ve yine çevrimiçi her zaman yapabilirsiniz yorumlar aracılığıyla bakışta. 1126 00:46:33,860 --> 00:46:36,180 >> Ve bir göz atın neyi Bunu yapmak için gidiyor. 1127 00:46:36,180 --> 00:46:38,410 Bu yüzden ana işlevi var. 1128 00:46:38,410 --> 00:46:41,490 Ben sadece için numaraları sabit kodlanmış ettik Şimdi, çünkü ben ne yaptığımı biliyorum. 1129 00:46:41,490 --> 00:46:42,950 Ben burada görmek istediğini biliyorum. 1130 00:46:42,950 --> 00:46:45,220 Ve ben 65 ben başlatıldı ettik. 1131 00:46:45,220 --> 00:46:48,490 Ve ben sayıyorum 26 üzerinden harfler toplam. 1132 00:46:48,490 --> 00:46:52,990 Ve ben ne gidiyorum Bir seferde bir satır yazdırmak 1133 00:46:52,990 --> 00:46:54,930 Eğer yorumlamak eğer Bu çizgiyi vurgulanan? 1134 00:46:54,930 --> 00:46:55,970 Ne basılmış olur? 1135 00:46:55,970 --> 00:46:56,797 Evet. 1136 00:46:56,797 --> 00:46:57,264 >> HEDEF KİTLE: Eğer gidiyorsunuz mektup yazdırmak için 1137 00:46:57,264 --> 00:46:59,805 haritasına karşılık mektup değer ve tamsayı değeri var mı? 1138 00:46:59,805 --> 00:47:01,199 1139 00:47:01,199 --> 00:47:01,990 KONUŞMACI 1: Kesinlikle. 1140 00:47:01,990 --> 00:47:04,740 Ben mektup yazdırmak için gidiyorum tam sayı değerine karşılık gelen, 1141 00:47:04,740 --> 00:47:06,131 ve tersi olarak izler. 1142 00:47:06,131 --> 00:47:08,880 Peki bu, birisi daha önce söylediğim bir char sadece bir yer tutucudur. 1143 00:47:08,880 --> 00:47:09,490 O hala. 1144 00:47:09,490 --> 00:47:12,280 Bu, elbette, bir yer tutucudur yeni bir satır bir int-- değil. 1145 00:47:12,280 --> 00:47:18,140 Ve şimdi, benim ilk değerini dikkat edin O tutucu için takarak ediyorum 1146 00:47:18,140 --> 00:47:22,320 Sadece I. dediğimi değil, Parantez içindeki, karakter I, 1147 00:47:22,320 --> 00:47:26,700 hangi parantez char derleyici söylüyorum, ben tedavi 1148 00:47:26,700 --> 00:47:28,490 değil bir sayı olduğu, ne kadar. 1149 00:47:28,490 --> 00:47:30,490 Gerçek bir karakter olarak davranın. 1150 00:47:30,490 --> 00:47:34,490 İkinci değerin Oysa ben takmayı ediyorum açmayız ben- sadece bir sayı olmalıdır. 1151 00:47:34,490 --> 00:47:38,140 >> Yani bu program-- derlemek bu nedenle bu ASCII 0 yapmak olduğunu 1152 00:47:38,140 --> 00:47:41,720 nokta çizgi ASCII 0-- Ben sadece almak Bu kullanışlı küçük grafik o 1153 00:47:41,720 --> 00:47:44,950 Beni olası tüm gösterir Bunu düşünmek zorunda kalmadan eşleştirmeleri 1154 00:47:44,950 --> 00:47:46,450 üzerinden veya benim kendi anlamaya. 1155 00:47:46,450 --> 00:47:48,783 Ve ben de, yazdırmak ediyorum küçük harfleri fark 1156 00:47:48,783 --> 00:47:51,410 Daha sonra birkaç satır, çünkü Ayrıca bu haritalama çıktısını 1157 00:47:51,410 --> 00:47:53,737 yanı sıra, sadece için hangi Anlıyor kez söylemek 1158 00:47:53,737 --> 00:47:55,570 altında neler oluyor Kaput yapabilirsiniz 1159 00:47:55,570 --> 00:47:57,111 otomatik ileri geri dönüştürün. 1160 00:47:57,111 --> 00:48:00,160 Ve aslında, sizin varsa Hiç ilkokulda yaptım 1161 00:48:00,160 --> 00:48:03,490 ya da birisi duydum mitsel bir not alarak 1162 00:48:03,490 --> 00:48:05,620 ve geçirmeden onun ya da sınıfta onun arkadaşı, 1163 00:48:05,620 --> 00:48:08,300 ama sen şifreli A B olur benzeri mektuplar, 1164 00:48:08,300 --> 00:48:11,240 ve B C, ya da bir şey olur Bundan daha karmaşık, iyi, 1165 00:48:11,240 --> 00:48:13,410 nasıl hakkında gitmek Çocukken bu uygulama? 1166 00:48:13,410 --> 00:48:16,340 Peki, sen sadece tür biliyorum A B olur, B C olur, 1167 00:48:16,340 --> 00:48:19,700 ama matematiksel olarak, bu çocuk ne yapıyordu? 1168 00:48:19,700 --> 00:48:22,050 Ne her harf ekleyerek edildi? 1169 00:48:22,050 --> 00:48:23,340 Etkili, 1. 1170 00:48:23,340 --> 00:48:27,740 >> Eğer B A değiştirdiğinizde Yani, işte tür 66'ya 65 değiştirme gibi, 1171 00:48:27,740 --> 00:48:29,590 hangi matematiksel sadece 1 ekleyin demektir. 1172 00:48:29,590 --> 00:48:33,300 Ve böylece uygulamaya olsaydı O biraz aldatıcı tekniği 1173 00:48:33,300 --> 00:48:36,380 kod öğretmeniniz, sen Bu sadece tam olarak yapabilir 1174 00:48:36,380 --> 00:48:38,552 birlikte tek bir harf ekleyerek. 1175 00:48:38,552 --> 00:48:40,260 Yani uzun zaman önce, biz konum biz nasıl göreceğiz 1176 00:48:40,260 --> 00:48:43,300 Aslında bu yararlanabilirsiniz gerçekten karıştırmak ve deşifre 1177 00:48:43,300 --> 00:48:43,991 bilgiler. 1178 00:48:43,991 --> 00:48:47,240 Bu arada, biz başladık biliyorum birkaç diğer kütüphaneler tanıtmak 1179 00:48:47,240 --> 00:48:48,990 dize tek Bugün var--. 1180 00:48:48,990 --> 00:48:51,180 Ve çok yararlı bir site umarım bulacaksınız 1181 00:48:51,180 --> 00:48:55,010 , reference.cs50.net denir öğretim elemanlarının bir araya getirdik, 1182 00:48:55,010 --> 00:48:57,510 Eğer isterseniz, böylece nasıl strlen işleri bakmak, 1183 00:48:57,510 --> 00:48:59,300 Yazmaya başlamadan işlevin adı, 1184 00:48:59,300 --> 00:49:02,890 tıklatın orada strlen ve sonra daha az rahat açıklama 1185 00:49:02,890 --> 00:49:03,700 görünmesi için gidiyor. 1186 00:49:03,700 --> 00:49:06,880 Yoksa yetkiliyi isterseniz Linux tabanlı açıklama 1187 00:49:06,880 --> 00:49:08,945 Daha rahat tıklayabilirsiniz sağ üst ve ona 1188 00:49:08,945 --> 00:49:12,070 Aynı bilgiyi sunacak, ancak daha karmaşık açısından. 1189 00:49:12,070 --> 00:49:15,070 Bu yararlı bir kaynak var aslında her şeyi ne yaptığını biliyor. 1190 00:49:15,070 --> 00:49:17,320 >> Biz gidiyoruz dahaki sefere Ovaltine bir göz atın 1191 00:49:17,320 --> 00:49:20,070 ve daha fazla ve kendimizi tanıtmak kriptografi dünyasına. 1192 00:49:20,070 --> 00:49:21,930 Bundan önce, biz göreceğiz Daha sonra bu hafta. 1193 00:49:21,930 --> 00:49:23,390 Ve şimdi, Colton Ogden. 1194 00:49:23,390 --> 00:49:26,730 Çarşamba görüşürüz. 1195 00:49:26,730 --> 00:49:30,216 >> [MÜZİK OYUN] 1196 00:49:30,216 --> 00:49:33,702 >> [MÜZİK OYUN] 1197 00:49:33,702 --> 00:49:38,682 1198 00:49:38,682 --> 00:49:42,200 >> KONUŞMACI 1: Ne [BLEEP] yapıyorsun? 1199 00:49:42,200 --> 00:49:45,720 >> KONUŞMACI 1: Benim tatlı yiyorum? 1200 00:49:45,720 --> 00:49:47,160 Bunu nasıl yersin? 1201 00:49:47,160 --> 00:49:47,860 Senin ellerinle? 1202 00:49:47,860 --> 00:49:54,050 1203 00:49:54,050 --> 00:49:57,940 >> [MÜZİK OYUN] 1204 00:49:57,940 --> 00:50:03,453