1 00:00:00,000 --> 00:00:02,880 >> [Zenelejátszási] 2 00:00:02,880 --> 00:00:10,580 3 00:00:10,580 --> 00:00:13,500 >> 1. Előadó: Ez CS50 és ez az a hét elején két. 4 00:00:13,500 --> 00:00:18,400 Nos, nézzük merülés jobbra valamit hogy bugos, hogy úgy mondjam. 5 00:00:18,400 --> 00:00:24,015 Szóval, itt van CS50 IDE és én már húzta fel előre ebben a rohadt screen-- 6 00:00:24,015 --> 00:00:25,070 azt. 7 00:00:25,070 --> 00:00:25,760 Spoiler figyelmeztetés. 8 00:00:25,760 --> 00:00:26,260 Minden rendben. 9 00:00:26,260 --> 00:00:29,060 Már húzta fel a képernyőn van, amely egy nagyon egyszerű program. 10 00:00:29,060 --> 00:00:32,659 Ha lépjünk le, a legtöbb Az ez csak megjegyzések, 11 00:00:32,659 --> 00:00:36,730 de itt vonalak 13 keresztül 17 van egy program. 12 00:00:36,730 --> 00:00:40,580 >> Ez egy szintaktikailag helyes, ami azt jelenti, ha Fordítsam le, akkor összeállításához és futtatásához, 13 00:00:40,580 --> 00:00:41,920 de ez hibás. 14 00:00:41,920 --> 00:00:47,330 Ez a program azt állítja, a megjegyzések fel tetején, hogy meg kell nyomtatni 10 csillag, 15 00:00:47,330 --> 00:00:48,870 de ez nem. 16 00:00:48,870 --> 00:00:53,290 És tapasztalatai alapján, vagy hamarosan tapasztalat C, 17 00:00:53,290 --> 00:00:56,820 tud logikusan megkülönböztetni miért van ez, sőt, hibás? 18 00:00:56,820 --> 00:00:57,804 Igen? 19 00:00:57,804 --> 00:00:59,220 Közönség: Magától nulláról 10. 20 00:00:59,220 --> 00:01:01,884 Ez 11 ismétléseket. 21 00:01:01,884 --> 00:01:02,550 1. Előadó: Igen. 22 00:01:02,550 --> 00:01:06,030 Szóval, ez lesz a nulláról fel révén és egyenlő 10, 23 00:01:06,030 --> 00:01:08,140 ami persze 11 ismétléseket. 24 00:01:08,140 --> 00:01:10,020 Szóval, ez lesz a print, sőt, 11 csillag. 25 00:01:10,020 --> 00:01:13,040 Szóval, a számítógép-tudomány egyezmény A legtöbb programozási nyelv 26 00:01:13,040 --> 00:01:15,270 Valóban, csak azért, hogy számolás kezdése nulla, 27 00:01:15,270 --> 00:01:18,800 de számítanak fel, de nem a értékkel, amit tényleg érdekel. 28 00:01:18,800 --> 00:01:21,216 >> Nos, ez az egyik dolog, vesz egy kicsit szokni kell 29 00:01:21,216 --> 00:01:25,350 és még Scratch, célja, mint ez A nem programozók vagy nem számítógépes 30 00:01:25,350 --> 00:01:28,070 tudósok és gyerekeknek nagyrészt, úgy tervezték, hogy van 31 00:01:28,070 --> 00:01:29,570 elkezdi számítva általában egy. 32 00:01:29,570 --> 00:01:30,277 És ez rendben van. 33 00:01:30,277 --> 00:01:33,110 Tudod egyáltalán elkezd számolás egy, ha ez kényelmesebb. 34 00:01:33,110 --> 00:01:37,210 És számítanak fel, és a 10, de rájössz, különösen ezen a héten 35 00:01:37,210 --> 00:01:39,950 és azon túl, hogy csak azért, Sok dolgot programozási 36 00:01:39,950 --> 00:01:42,465 feltételezzük, hogy 0 az első jegyű, amivel számolni, 37 00:01:42,465 --> 00:01:45,590 hogy fogsz találni könnyebben csak azért, hogy ebbe a szokása, hogy kezdő 38 00:01:45,590 --> 00:01:49,490 nullától számítva értékig törődsz most a 39 00:01:49,490 --> 00:01:49,990 hogy menjen. 40 00:01:49,990 --> 00:01:50,990 >> Szóval, hogy fix, hogy. 41 00:01:50,990 --> 00:01:53,670 Mi változott a kisebb vagy megegyezik, csak kevesebb, mint. 42 00:01:53,670 --> 00:01:56,050 Vessünk egy pillantást Egy másik példa van. 43 00:01:56,050 --> 00:01:59,585 >> Szóval, ez a program is arra hivatkozik, annak megjegyzések fel tetején, hogy meg kell nyomtatni 44 00:01:59,585 --> 00:02:02,260 tíz csillagok, de nem. 45 00:02:02,260 --> 00:02:05,540 Mi a hiba itt? 46 00:02:05,540 --> 00:02:07,930 >> Szóval, what-- és sajnálom, legyen világos. 47 00:02:07,930 --> 00:02:08,610 10 csillag. 48 00:02:08,610 --> 00:02:11,644 Soronként, de nem. 49 00:02:11,644 --> 00:02:14,810 Szóval, sőt, hadd menjen előre, és fordítsd ez, mert ez egy kicsit kevésbé 50 00:02:14,810 --> 00:02:16,900 törölje alapján ez a leírás. 51 00:02:16,900 --> 00:02:18,720 Hadd menjek át a forrás könyvtárába. 52 00:02:18,720 --> 00:02:25,110 Tedd buggy egy pont perjel, buggy egy. 53 00:02:25,110 --> 00:02:28,680 OK, látom 11 csillag, amely még mindig problematikus, 54 00:02:28,680 --> 00:02:30,090 de ők is az egész egy sorban. 55 00:02:30,090 --> 00:02:31,500 Mi itt a kérdés? 56 00:02:31,500 --> 00:02:32,339 Igen. 57 00:02:32,339 --> 00:02:33,255 Közönség: [hallható]. 58 00:02:33,255 --> 00:02:36,194 59 00:02:36,194 --> 00:02:36,860 1. Előadó: Igen. 60 00:02:36,860 --> 00:02:40,210 Tehát ez egy finomság, hogy esetleg emlékszem nekem így rövid említést. 61 00:02:40,210 --> 00:02:42,793 Annak ellenére, hogy minden úgy néz ki szép, és ez szépen tagolt, 62 00:02:42,793 --> 00:02:45,850 és ez a fajta néz ki, mint a Scratch- abban a sorban 16. és 17., 63 00:02:45,850 --> 00:02:47,600 Valóban, tagolt alatt, hogy a hurok. 64 00:02:47,600 --> 00:02:48,400 Ez lényegtelen. 65 00:02:48,400 --> 00:02:50,460 A számítógép nem tudja, vagy látni fehér térben. 66 00:02:50,460 --> 00:02:52,910 Fehér térben csak az mi, emberek, stilisztikailag. 67 00:02:52,910 --> 00:02:57,010 A számítógép nem tudja, mikor van kapcsoszárójele, ami valóban, 68 00:02:57,010 --> 00:02:58,280 megoldhatja a problémát. 69 00:02:58,280 --> 00:03:02,350 >> Tehát, ha valóban elment, és kifejezetten meg ezeket a kapcsos zárójelek 70 00:03:02,350 --> 00:03:05,220 amely megoldhatja a problémát egyértelművé téve, hogy a fordító 71 00:03:05,220 --> 00:03:07,930 hogy én valóban szeretnénk dolgozni két sornyi kódot újra, 72 00:03:07,930 --> 00:03:09,220 és újra, és újra. 73 00:03:09,220 --> 00:03:11,680 De mi az alapvető magyarázata? 74 00:03:11,680 --> 00:03:12,180 Jobb? 75 00:03:12,180 --> 00:03:15,260 Nem feltétlenül kell kapcsoszárójele minden alkalommal, 76 00:03:15,260 --> 00:03:18,210 annak ellenére, hogy talán a legjobb, gyakorlatot bejutni, hogy szokás egyébként 77 00:03:18,210 --> 00:03:20,878 annak ellenére, hogy hozzáteszi két karakter a kódban. miért? 78 00:03:20,878 --> 00:03:22,380 >> Közönség: [hallható]? 79 00:03:22,380 --> 00:03:24,630 1. Előadó: Igen, így ez Egy másik megoldás teljesen. 80 00:03:24,630 --> 00:03:25,130 Jobb? 81 00:03:25,130 --> 00:03:28,250 Különösen, ha első pillantásra nem Nagyra értékelem, hogy mi folyik. 82 00:03:28,250 --> 00:03:31,070 Nos, biztosan tudnánk Csak két dolgot egyszerre 83 00:03:31,070 --> 00:03:32,710 és csak elkerülni a problémát teljesen. 84 00:03:32,710 --> 00:03:36,080 És ez rendben van, de most, A mai célra, milyen 85 00:03:36,080 --> 00:03:38,200 a magyarázat a hiba? 86 00:03:38,200 --> 00:03:39,810 Miért voltak azok a csillagok egy sorban? 87 00:03:39,810 --> 00:03:40,806 Igen? 88 00:03:40,806 --> 00:03:43,296 >> Közönség: Úgy tűnik, hogy ha Van egy sor kód, 89 00:03:43,296 --> 00:03:46,649 meg tudod csinálni anélkül, hogy azok. 90 00:03:46,649 --> 00:03:47,440 1. Előadó: Pontosan. 91 00:03:47,440 --> 00:03:48,750 Ez csak egy emberi egyezmény. 92 00:03:48,750 --> 00:03:50,750 Az emberek rájönnek, hogy ez egy kicsit bosszantó vagy unalmas 93 00:03:50,750 --> 00:03:53,470 hogy ki kell rakni kapcsoszárójele összes az idő, ha minden, amit akarok 94 00:03:53,470 --> 00:03:55,090 van végre egy sor kód. 95 00:03:55,090 --> 00:03:57,660 Szóval, az emberek úgy döntött, néhány ideje, hogy ez rendben van. 96 00:03:57,660 --> 00:04:01,180 Ha azt szeretnénk, hogy az összes hurok az csak az egyik ilyen sort, 97 00:04:01,180 --> 00:04:04,030 hogy rendben van az egységes pontosvessző végén. 98 00:04:04,030 --> 00:04:07,210 De csak akkor lehet csinálni egy ilyen vonal nélkül zárójelek segítségével. 99 00:04:07,210 --> 00:04:09,900 >> Tehát, ha CS50 stílus útmutató mivel pont akkor kell, 100 00:04:09,900 --> 00:04:11,980 látni fogod, hogy általában ez jó szokás 101 00:04:11,980 --> 00:04:14,920 bejutni ezt, amíg te elég kényelmes eltévelyedésünk 102 00:04:14,920 --> 00:04:17,404 Ezekből féle egyezmények és ezzel a saját dolog. 103 00:04:17,404 --> 00:04:18,820 Szóval amíg te a saját következetes. 104 00:04:18,820 --> 00:04:21,540 És fogunk beszélni többet stílus egy kicsit később ma. 105 00:04:21,540 --> 00:04:23,200 >> Szóval, hadd nyit egy másik programot. 106 00:04:23,200 --> 00:04:24,930 Természetesen, mi kell rögzíteni, hogy a 10 is. 107 00:04:24,930 --> 00:04:32,470 Hadd menjen előre, és levelet igazi gyors program, amely hívom, 108 00:04:32,470 --> 00:04:38,140 mondjuk, loop pont C. Tehát, loop pont C. És hurok dot C megyek is, 109 00:04:38,140 --> 00:04:41,970 közé tartoznak a standard I / O dot H int main semmis. 110 00:04:41,970 --> 00:04:44,020 És most nézzük csak csinálni, sőt, egy hurok. 111 00:04:44,020 --> 00:04:46,020 Szóval, 4 int én lesz nulla. 112 00:04:46,020 --> 00:04:48,660 Én kevesebb, mint, mondjuk, 50. 113 00:04:48,660 --> 00:04:49,950 Én plusz, plusz. 114 00:04:49,950 --> 00:04:53,350 És akkor itt nézzük megy előre, és ne nyomtassa F. 115 00:04:53,350 --> 00:04:56,400 És akkor szeretnék nyomtatni I és egy új vonalat, pontosvessző. 116 00:04:56,400 --> 00:05:00,015 >> És ez kinyomtatja a szám nullától akár 50? 117 00:05:00,015 --> 00:05:02,900 118 00:05:02,900 --> 00:05:03,680 Néhány fej bólint. 119 00:05:03,680 --> 00:05:04,270 Néhány nos. 120 00:05:04,270 --> 00:05:05,339 Mi a hiba már? 121 00:05:05,339 --> 00:05:06,630 Mi a könnyű hibát csináltam? 122 00:05:06,630 --> 00:05:07,170 Igen. 123 00:05:07,170 --> 00:05:08,544 >> Közönség: [hallható]. 124 00:05:08,544 --> 00:05:09,210 1. Előadó: Igen. 125 00:05:09,210 --> 00:05:11,520 Így, bár úgy néz ki, mint ez az, amit kíván, 126 00:05:11,520 --> 00:05:13,920 Emlékeztetünk arra, hogy én is Csak egy ASCII karaktert. 127 00:05:13,920 --> 00:05:14,955 >> Tehát, ha azt mondom, print "I." 128 00:05:14,955 --> 00:05:16,670 Ez szó szerint megy nyomtatni I. Tehát, ha én 129 00:05:16,670 --> 00:05:20,030 szeretné plug-in helyőrzőjeként érték Igazából van szükség erre, 130 00:05:20,030 --> 00:05:22,630 majd plug-in a I értéke dinamikusan. 131 00:05:22,630 --> 00:05:25,200 Különben én csak fog kap 50 Én azon a képernyőn. 132 00:05:25,200 --> 00:05:28,140 >> Szóval, hadd menjen előre, és hogy a hurok, futtatni, 133 00:05:28,140 --> 00:05:30,650 és valóban, már az összes Az utat egészen 49. 134 00:05:30,650 --> 00:05:34,140 És ha én lépjünk vissza az időben látom a szám nulla az elején. 135 00:05:34,140 --> 00:05:36,050 >> Nos, mi lenne, ha valahogy csavart ki? 136 00:05:36,050 --> 00:05:37,800 Mi van, ha ezt csinálom? 137 00:05:37,800 --> 00:05:40,120 Csak azért, mert én nem gondoltam. 138 00:05:40,120 --> 00:05:40,970 Mi ez a program. 139 00:05:40,970 --> 00:05:43,970 Miután újra össze, és fuss, fog tenni logikusan? 140 00:05:43,970 --> 00:05:44,870 >> Közönség: Semmi. 141 00:05:44,870 --> 00:05:45,661 >> 1. Előadó: Semmi. 142 00:05:45,661 --> 00:05:47,156 Miert van az? 143 00:05:47,156 --> 00:05:49,124 >> Közönség: Én tervezték nulla. 144 00:05:49,124 --> 00:05:51,899 Szóval, a feltétel hamis. 145 00:05:51,899 --> 00:05:52,940 1. Előadó: Igen, pontosan. 146 00:05:52,940 --> 00:05:55,110 Minden a kód helyes, nyelvtanilag. 147 00:05:55,110 --> 00:05:57,310 Ez lefordítja, ez kód fog futni, de ez nem 148 00:05:57,310 --> 00:06:00,110 fog tenni valami hasznosat mert alaphelyzetbe én nulla. 149 00:06:00,110 --> 00:06:02,240 Ezután ellenőrizze, hogy én több, mint 50? 150 00:06:02,240 --> 00:06:03,810 Nyilvánvaló, hogy nem, ez nem az. 151 00:06:03,810 --> 00:06:05,760 Tehát a hurok soha végrehajtja egyáltalán. 152 00:06:05,760 --> 00:06:09,580 >> Mi van, ha nem teszünk valamit egy kicsit felelőtlen? 153 00:06:09,580 --> 00:06:12,890 Szóval, mi van, ha mi, mint int én lesz nulla. 154 00:06:12,890 --> 00:06:15,640 És most hadd használja a közben hurok, amely egy újabb feltételt. 155 00:06:15,640 --> 00:06:21,810 És amíg én mondom, én pedig nagyobb, mint vagy egyenlő nullával, majd itt I. 156 00:06:21,810 --> 00:06:26,070 megy előre, és mentse a fájlt, hogy hurkot. 157 00:06:26,070 --> 00:06:27,070 És én azon vagyok, hogy futtatni. 158 00:06:27,070 --> 00:06:30,230 Mit fogok látni ezt alkalommal egy while ciklus? 159 00:06:30,230 --> 00:06:30,852 Igen. 160 00:06:30,852 --> 00:06:32,120 >> Közönség: végtelen ciklust? 161 00:06:32,120 --> 00:06:35,360 >> 1. Előadó: egy végtelen ciklus? 162 00:06:35,360 --> 00:06:36,662 Igen, és miért? 163 00:06:36,662 --> 00:06:38,120 Közönség: Mert mindig nulla. 164 00:06:38,120 --> 00:06:38,786 1. Előadó: Igen. 165 00:06:38,786 --> 00:06:40,100 Szóval, én inicializáljuk nulla. 166 00:06:40,100 --> 00:06:44,470 Persze, mindig nagyobb vagy egyenlő mint 0 eredményeként. 167 00:06:44,470 --> 00:06:46,460 Szóval, én csak megy lásd ezt a végtelenségig. 168 00:06:46,460 --> 00:06:49,850 És most ez jön ki egyszer vagy kétszer során fejében. 169 00:06:49,850 --> 00:06:52,417 Mi történik, ha Van egy végtelen ciklus? 170 00:06:52,417 --> 00:06:53,314 >> Közönség: Ellenőrző C. 171 00:06:53,314 --> 00:06:53,980 1. Előadó: Igen. 172 00:06:53,980 --> 00:06:56,250 Szóval kontroll C-utóbb válaszolni. 173 00:06:56,250 --> 00:06:59,520 Sajnos, most már kinyomtatható millió és millió nullák már 174 00:06:59,520 --> 00:07:01,520 és így a számítógép fajta van előttem. 175 00:07:01,520 --> 00:07:03,394 Szóval, ez lesz figyelmen kívül hagyni nekem egy kicsit. 176 00:07:03,394 --> 00:07:06,560 De ha csak nyomd meg a Ctrl C pár alkalommal a Mac vagy PC billentyűzet, 177 00:07:06,560 --> 00:07:08,790 Végül meg kell, sőt, megszüntetni. 178 00:07:08,790 --> 00:07:11,770 És ha nem, mi megmutatjuk, néhány technikák nemsokára ahol 179 00:07:11,770 --> 00:07:14,850 valójában erőszakkal ölni programok, ugyanúgy, mint a Windows és a Mac OS, 180 00:07:14,850 --> 00:07:15,562 ha kell. 181 00:07:15,562 --> 00:07:16,770 De próbáljunk valami mást. 182 00:07:16,770 --> 00:07:19,895 Nézzük ténylegesen növelni I. Van ennek még lesz végtelen? 183 00:07:19,895 --> 00:07:22,870 184 00:07:22,870 --> 00:07:25,140 Hadd futtatásához. 185 00:07:25,140 --> 00:07:27,090 És most akkor milyen mi is történik. 186 00:07:27,090 --> 00:07:30,140 Ez is egy végtelen ciklusba. 187 00:07:30,140 --> 00:07:33,080 De ez egy kicsit trükkös kérdés. 188 00:07:33,080 --> 00:07:35,460 Vajon ez a nyomdába adás számok örökre? 189 00:07:35,460 --> 00:07:36,647 >> Közönség: Nem. 190 00:07:36,647 --> 00:07:37,230 1. Előadó: Nem 191 00:07:37,230 --> 00:07:37,620 Miért? 192 00:07:37,620 --> 00:07:38,820 Hallottam néhány nos itt. 193 00:07:38,820 --> 00:07:41,859 Someone-- Igen. 194 00:07:41,859 --> 00:07:44,275 Közönség: Nem volt elég bitek, hogy valóban tartani fog. 195 00:07:44,275 --> 00:07:44,730 1. Előadó: Rendben. 196 00:07:44,730 --> 00:07:46,000 Szóval nem elég bit tartani fog. 197 00:07:46,000 --> 00:07:47,124 Szóval, mi fog történni? 198 00:07:47,124 --> 00:07:49,320 Ez csak fog megállni? 199 00:07:49,320 --> 00:07:52,542 >> Közönség: Valamikor fog állni the-- 200 00:07:52,542 --> 00:07:54,500 1. Előadó: Ez lesz zárva A hurok le, de miért? 201 00:07:54,500 --> 00:07:57,950 Mi fog történni a legvégén határait? 202 00:07:57,950 --> 00:07:58,479 Igen? 203 00:07:58,479 --> 00:08:00,520 Közönség: Nem fog ciklusban vissza a negatív számok. 204 00:08:00,520 --> 00:08:02,900 1. Előadó: A negatív számok, vagy ha mi csak kezelésére pozitív, 205 00:08:02,900 --> 00:08:03,570 nulla legalább. 206 00:08:03,570 --> 00:08:04,550 Szóval igen, feltétlenül. 207 00:08:04,550 --> 00:08:08,059 Emlékezzünk vissza, hogy láttuk utoljára, hogy ha növekmény a bitek egy túl sokszor, 208 00:08:08,059 --> 00:08:10,225 és ott mellső túlfolyó a kapacitás a int 209 00:08:10,225 --> 00:08:13,058 vagy bármi az adattípus, akkor megy a kerületi, valószínűleg, 210 00:08:13,058 --> 00:08:14,020 két negatív szám. 211 00:08:14,020 --> 00:08:16,644 Vagy ha már meghatározza, hogy a tartományban kell csak pozitív, 212 00:08:16,644 --> 00:08:18,560 amit tehetünk, de mi már nem láttam, hogy még, 213 00:08:18,560 --> 00:08:21,420 lehet, hogy végül legalább vissza nullára. 214 00:08:21,420 --> 00:08:22,410 Bár, tulajdonképpen igen. 215 00:08:22,410 --> 00:08:24,320 Ebben az esetben, a negatív szám, amely esetben 216 00:08:24,320 --> 00:08:26,870 A hurok fog megszüntetni mert nem, sőt, 217 00:08:26,870 --> 00:08:29,220 nagyobb vagy egyenlő, mint nulla, ha ez negatív. 218 00:08:29,220 --> 00:08:31,780 >> Így sajnos hogyan Hosszú lenne várnunk? 219 00:08:31,780 --> 00:08:35,490 Most vagyunk-ig mi, 2.000.000-szerű? 220 00:08:35,490 --> 00:08:37,705 Olyanok vagyunk, mint 2 milliárd, fogunk várni kell 221 00:08:37,705 --> 00:08:39,330 amíg nem tudjuk valójában lát ez a tünet. 222 00:08:39,330 --> 00:08:46,200 De látjuk, hogy egy kicsit gyorsabb, maybe-- lássuk, ha tudjuk megszakítani. 223 00:08:46,200 --> 00:08:46,700 Gyerünk. 224 00:08:46,700 --> 00:08:49,500 225 00:08:49,500 --> 00:08:51,331 Még a menük jelennek meg lassan. 226 00:08:51,331 --> 00:08:51,830 Minden rendben. 227 00:08:51,830 --> 00:08:54,270 Szóval, mi jön vissza, hogy nemsokára. 228 00:08:54,270 --> 00:08:56,320 Ez egy jó time-- verje meg, kölykök. 229 00:08:56,320 --> 00:08:58,280 >> Ez egy jó ideje néhány bejelentéseket. 230 00:08:58,280 --> 00:09:01,225 Szóval, ha lehet, mint hogy vegyenek részt YHack, 231 00:09:01,225 --> 00:09:03,600 amely egy olyan esemény, hogy szponzorált barátaink a Yale-en. 232 00:09:03,600 --> 00:09:05,990 És valóban, néhány tanfolyam TF Yale van szó ebben. 233 00:09:05,990 --> 00:09:08,610 YHack egy nemzetközi hack-a-Thon házigazdája tartott 234 00:09:08,610 --> 00:09:12,395 a Yale, összefogva 1500 hasonló gondolkodású hackerek és hirdetések minden 235 00:09:12,395 --> 00:09:13,120 szerte a világon. 236 00:09:13,120 --> 00:09:14,610 Ha ez az érdeklődés, vess egy pillantást ide. 237 00:09:14,610 --> 00:09:17,401 Ha ez túl röviden a képernyőn, vessen egy pillantást a mai diák 238 00:09:17,401 --> 00:09:19,622 Az URL-jét yhack.org. 239 00:09:19,622 --> 00:09:21,080 Szóval, még néhány gyors bejelentések. 240 00:09:21,080 --> 00:09:24,410 Szóval, hivatalosan szakaszok indul Jövő héten itt és New Haven. 241 00:09:24,410 --> 00:09:27,660 Tartsa szem előtt, akkor is kap egy e-mail később ezen a hétvégén a legvalószínűbb. 242 00:09:27,660 --> 00:09:29,390 Ez hosszú időt vesz igénybe A CS50 szakasz, 243 00:09:29,390 --> 00:09:32,080 mivel az egész nép a osztály és mindenki körül mozog. 244 00:09:32,080 --> 00:09:34,871 És minden Tanítási Fellows menetrendek is még megszilárdulása, 245 00:09:34,871 --> 00:09:38,110 de stay tuned egy e-mailt, és ha szükséges kell, akkor újra a részben van után. 246 00:09:38,110 --> 00:09:39,580 >> Study.cs50.net. 247 00:09:39,580 --> 00:09:43,280 Tehát, még ha egy állandó résztvevő A szakaszok, rájönnek, hogy szinte minden 248 00:09:43,280 --> 00:09:46,786 A forrásokat használunk szekciókban nyilvánosan elérhető CS50 249 00:09:46,786 --> 00:09:48,460 Tanulmányozza át ezt az URL itt. 250 00:09:48,460 --> 00:09:51,630 Tehát, ha valaha is szeretne újra felülvizsgálat anyag részben vagy olvassa el előttünk, 251 00:09:51,630 --> 00:09:54,170 vagy nem tudja, hogy ez néhány héten, észre, hogy a minta diák, 252 00:09:54,170 --> 00:09:58,210 és problémákat, és meghatározások, és még sok minden ott is. 253 00:09:58,210 --> 00:10:00,645 >> Munkaidőben folytatódik ma, és holnap, és szerdán, 254 00:10:00,645 --> 00:10:03,020 és csütörtökön ellenőrizze a pálya weboldalon a menetrend. 255 00:10:03,020 --> 00:10:05,690 >> És azt is, most indít ma CS50 Beszéljétek. 256 00:10:05,690 --> 00:10:09,230 Tehát, ha és amikor kérdése van az egymással, illetve a tanfolyam személyzete, 257 00:10:09,230 --> 00:10:12,099 és általában dolgozik néhány problémát sor, 258 00:10:12,099 --> 00:10:15,015 rájönnek, hogy nem feltétlenül kell fordulni, az emberi következő te. 259 00:10:15,015 --> 00:10:17,810 Ha ott senki, akkor eljussanak hozzánk és osztálytársai 260 00:10:17,810 --> 00:10:19,890 keresztül online CS50 Beszéljétek. 261 00:10:19,890 --> 00:10:22,600 Szóval, ez a vita fórumon a kurzus, 262 00:10:22,600 --> 00:10:24,550 és rájönnek, hogy ez talán a legjobb 263 00:10:24,550 --> 00:10:28,480 kiindulópont, ha van kérdés, ha a munkaidô 264 00:10:28,480 --> 00:10:29,470 különösen. 265 00:10:29,470 --> 00:10:31,070 >> Ebéd elindul ezen a héten is. 266 00:10:31,070 --> 00:10:33,170 A Tűz és jég [Hallhatatlan] New Havenben. 267 00:10:33,170 --> 00:10:35,379 Vessen egy pillantást a pálya honlapot annak érdekében, hogy válaszolj. 268 00:10:35,379 --> 00:10:36,753 Érkezési sorrendben szolgálják, hogy. 269 00:10:36,753 --> 00:10:39,380 Ha nem kap ezen a héten fogjuk csinálni ezeket a legtöbbet minden pénteken 270 00:10:39,380 --> 00:10:40,400 a futamidő alatt. 271 00:10:40,400 --> 00:10:41,830 >> OK, és most egy szót osztályozás. 272 00:10:41,830 --> 00:10:44,690 Különösen, amikor belépünk probléma meg egyet, ami ezen a héten, 273 00:10:44,690 --> 00:10:46,670 és a probléma meg két és azt követően. 274 00:10:46,670 --> 00:10:51,680 Hogyan megyünk kiértékeléséhez P sorozat és értékeli a minőségi erről? 275 00:10:51,680 --> 00:10:55,560 Szóval, ez négy tengely, hogy az általunk használt CS50, és ők a négy itt. 276 00:10:55,560 --> 00:10:59,200 >> Hatályát, amely rögzíti a numerikus alapján, hogy mennyi a P halmaz 277 00:10:59,200 --> 00:10:59,860 tudtad kezelni. 278 00:10:59,860 --> 00:11:02,890 Ez nagyjából megfelel a erőfeszítést, és ez a mi módon elfog 279 00:11:02,890 --> 00:11:05,190 Próbáltad fele P állítva, az összes P készlet. 280 00:11:05,190 --> 00:11:08,860 Ez egy könnyű, hogy tökéletes pontszámok ha nem, sőt, 281 00:11:08,860 --> 00:11:11,020 próbálja minden szempontból a P halmaz. 282 00:11:11,020 --> 00:11:12,010 Szóval, hogy tartsa szem előtt. 283 00:11:12,010 --> 00:11:13,420 >> Korrektség, hogy pontosan. 284 00:11:13,420 --> 00:11:17,760 Vajon a kódot munka, mint a specifikáció és a vezérkar "mintaoldattal 285 00:11:17,760 --> 00:11:19,730 arra utalnak, hogy a kódot kell, sőt, működik. 286 00:11:19,730 --> 00:11:23,260 Ellenőrizze 50, ha még nem találkoztam vele Még van P beállítani egy specifikáció 287 00:11:23,260 --> 00:11:25,060 és általában Önnek igen / nem választ 288 00:11:25,060 --> 00:11:26,518 a tekintetben, hogy a kód helyes. 289 00:11:26,518 --> 00:11:30,680 Legalábbis annyiban, amennyiben megyünk értékelni, hogy a tesztek alapján 290 00:11:30,680 --> 00:11:32,430 hogy mi fut az adott programon belül. 291 00:11:32,430 --> 00:11:33,850 >> Design sokkal szubjektívebb. 292 00:11:33,850 --> 00:11:35,994 Így jól megírt van a kód. 293 00:11:35,994 --> 00:11:38,410 És ez a valami, kapsz jobb idővel, 294 00:11:38,410 --> 00:11:41,201 és ez a valami, hogy mi lesz hogy több minőségi visszajelzést. 295 00:11:41,201 --> 00:11:43,350 És a programok kialakítása talán jelenti előtt hosszú ideig 296 00:11:43,350 --> 00:11:47,650 Csábító lehet valamilyen P állítva, hogy tegyen valamit loopingly, 297 00:11:47,650 --> 00:11:51,590 hanem, hogy talán három, vagy négy, vagy Öt beágyazott előtérbe hurkok vagy beágyazott közben 298 00:11:51,590 --> 00:11:52,090 hurkok. 299 00:11:52,090 --> 00:11:54,130 Hogy általában kell kezdeni, hogy ha megalázkodik 300 00:11:54,130 --> 00:11:56,070 és általában is tekinthető rossz tervezés. 301 00:11:56,070 --> 00:11:59,490 És akkor elkezd látni az osztályban, és ki az osztály jó módja a dolgok, 302 00:11:59,490 --> 00:12:02,920 Rossz módon a dolgok, hogy Lehet minden helyes, de nem 303 00:12:02,920 --> 00:12:04,304 feltétlenül jól megtervezett. 304 00:12:04,304 --> 00:12:05,220 Mint az írás egy esszét. 305 00:12:05,220 --> 00:12:08,100 Lehet, hogy képes a szavakat egy oldalon, amely nyelvtanilag helyes, 306 00:12:08,100 --> 00:12:10,016 de az esszé vagy a dolgozat ők csak 307 00:12:10,016 --> 00:12:11,810 teljesen következetlen vagy unpersuasive. 308 00:12:11,810 --> 00:12:15,930 És így, hogy lehet az analóg az írásos világa rossz vagy jó design. 309 00:12:15,930 --> 00:12:18,490 >> És a stílus is, meglehetősen szubjektív. 310 00:12:18,490 --> 00:12:20,060 De legalább azt várjuk összhang. 311 00:12:20,060 --> 00:12:21,480 Így szép az a kód. 312 00:12:21,480 --> 00:12:22,840 Vannak dolgok, szépen tagolt? 313 00:12:22,840 --> 00:12:26,600 Vannak a változók is elemzi / Az összes a zárójelek és kapcsos zárójelek 314 00:12:26,600 --> 00:12:27,920 igazodik, mint ahogy kellene? 315 00:12:27,920 --> 00:12:31,490 Van egy CS50 stílusban útmutatót, A probléma set fog mutatni neked. 316 00:12:31,490 --> 00:12:33,730 Azok kényelmesebb is Üdvözöljük elkóborolt, hogy 317 00:12:33,730 --> 00:12:35,771 mindaddig, amíg saját magának következetes. 318 00:12:35,771 --> 00:12:38,020 És ez is egy tanulság fogjuk erősíteni szakaszban. 319 00:12:38,020 --> 00:12:40,990 Tehát, ha az összes ez egy kicsit gyors, észre a P halmaz és szakaszok 320 00:12:40,990 --> 00:12:42,900 bemegy mélyebben nemsokára. 321 00:12:42,900 --> 00:12:45,490 >> De általában van Nagyon kevés kanalak CS50. 322 00:12:45,490 --> 00:12:48,170 Pontszámok általában skálán a 1-3, vagy 1-5. 323 00:12:48,170 --> 00:12:50,836 Mi vagyunk literally-- és nem tudok mondani, Ehhez elegendő az első héten. 324 00:12:50,836 --> 00:12:51,582 Három jó. 325 00:12:51,582 --> 00:12:54,290 Így, bár igen, háromban Öt rendesen, matematikailag, 326 00:12:54,290 --> 00:12:57,240 Lehet, hogy egy 60 százalékos vagy, mint a D mínusz. 327 00:12:57,240 --> 00:12:58,840 Három van, sőt, jó. 328 00:12:58,840 --> 00:13:01,050 És valóban, azt várjuk, a legtöbb diák az osztályban 329 00:13:01,050 --> 00:13:04,280 hogy elindul a távon körül kettesével, hármasával, négyesével, és. 330 00:13:04,280 --> 00:13:05,510 Valószínűleg nem sok ötös. 331 00:13:05,510 --> 00:13:06,661 Nem túl sok is. 332 00:13:06,661 --> 00:13:08,910 De általában indul hogy sweet spot a görbe 333 00:13:08,910 --> 00:13:11,694 úgy, hogy az idő előrehaladtával, van valójában szoba, 334 00:13:11,694 --> 00:13:13,360 és lehetőségek a felső progresszió. 335 00:13:13,360 --> 00:13:15,810 Szóval, kérlek, ne egyenlőségjelet tesznek a három 60%. 336 00:13:15,810 --> 00:13:17,410 Ez sokkal elvontabb annál. 337 00:13:17,410 --> 00:13:20,160 A képlet, amellyel számítani fokozat van súlyozva az alábbiak szerint. 338 00:13:20,160 --> 00:13:21,610 Korrektség érdemes a leginkább. 339 00:13:21,610 --> 00:13:23,010 Tervezés érdemes egy kicsit kevésbé. 340 00:13:23,010 --> 00:13:24,490 Stílus érdemes egy kicsit kevésbé. 341 00:13:24,490 --> 00:13:26,950 És ez általában rögzíti az időt 342 00:13:26,950 --> 00:13:29,800 hogy megy a szerzés egyes A tengelyek csak jobb. 343 00:13:29,800 --> 00:13:31,810 A stílus szuper könnyű, legyen szuper gyors, 344 00:13:31,810 --> 00:13:33,657 de ez egy egyszerű szokást hogy lusta kb. 345 00:13:33,657 --> 00:13:35,490 Helyességét eltarthat Ön a legtöbb időt. 346 00:13:35,490 --> 00:13:38,990 Kergeti néhány felfedezett hibát figyelembe, hogy a plusz órát vagy többet, 347 00:13:38,990 --> 00:13:41,737 és igen, a pontozási végül rögzíti, hogy. 348 00:13:41,737 --> 00:13:43,070 És így, most egy komolyabb szót. 349 00:13:43,070 --> 00:13:45,240 Mivel CS50 van különbséget, a jobb 350 00:13:45,240 --> 00:13:47,440 vagy ami még rosszabb, hogy a talán jobban megismerjék 351 00:13:47,440 --> 00:13:50,065 A kérdések az egyetemi őszinteség, mint a legtöbb más szakok. 352 00:13:50,065 --> 00:13:53,720 És valóban, ez a tudásom, hogy küldünk több diák, sajnos, 353 00:13:53,720 --> 00:13:56,690 fegyelmi eljárás lefolytatása céljából Minden évben eredményeként. Na, 354 00:13:56,690 --> 00:13:59,040 az az érdeke, teljes nyilvánosságra hozatala, beszéljünk röviden 355 00:13:59,040 --> 00:14:02,820 arról, hogy mi folyik a CS50, és mit tehet, és mit lehet ilyenkor. 356 00:14:02,820 --> 00:14:05,530 >> Szóval, itt 2007 óta, amikor Örököltem a kurzus, 357 00:14:05,530 --> 00:14:07,870 az a szám, Hírdetőtábla esetekben. 358 00:14:07,870 --> 00:14:10,690 Ad Board Harvard fegyelmi szerv, vagy most a Honor jogtanácsos, 359 00:14:10,690 --> 00:14:13,790 amelyhez ügyeket, amikor hallgatók tenni valamit, hogy a pálya 360 00:14:13,790 --> 00:14:15,470 tananyag tartja ésszerűtlennek. 361 00:14:15,470 --> 00:14:17,220 Nincs igazi minta Itt, azt mondanám. 362 00:14:17,220 --> 00:14:19,530 Ez ingadozik a év, de általában 363 00:14:19,530 --> 00:14:22,262 ez az a szám, esetekben, amelyek említett. 364 00:14:22,262 --> 00:14:23,970 A hallgatók száma amelyek részt? 365 00:14:23,970 --> 00:14:25,290 Ez is változik. 366 00:14:25,290 --> 00:14:27,930 Jellemzően tavaly Például, 29 diák a Harvard 367 00:14:27,930 --> 00:14:29,740 voltak Ad bordás, hogy úgy mondjam. 368 00:14:29,740 --> 00:14:32,670 29 közülük jelenlegi diákok, ketten előzetes diákok, 369 00:14:32,670 --> 00:14:35,610 kik segítettek Néhány kellemetlen módon. 370 00:14:35,610 --> 00:14:38,400 És akkor tekintve a százalékos, ez általában körülbelül 3% 371 00:14:38,400 --> 00:14:41,360 az osztály, hogy sajnos teszi az ilyen jellegű döntéseket. 372 00:14:41,360 --> 00:14:44,470 >> Szóval, tavaly ez 3,5% A CS50 a hallgatói szervezet 373 00:14:44,470 --> 00:14:46,820 ez volt Ad bordás, hogy úgy mondjam. 374 00:14:46,820 --> 00:14:48,490 >> Szóval, mit jelent mindez jelent? 375 00:14:48,490 --> 00:14:49,660 És mit valójában? 376 00:14:49,660 --> 00:14:52,930 >> Szóval, a teljes nyilvánosságra hozatala, mi Teljesen, mint számítógépes szakemberek, 377 00:14:52,930 --> 00:14:57,620 Van szoftver rendelkezésünkre álló eszközök és ez nagyon könnyű számunkra, a méltányosság, 378 00:14:57,620 --> 00:15:00,980 hogy más osztálytársai, akik nem átkelés ezeket a sorokat átkelni összehasonlítani 379 00:15:00,980 --> 00:15:04,570 minden olyan előterjesztést, idén ellen minden benyújtása az elmúlt nyolc évben. 380 00:15:04,570 --> 00:15:05,445 Szoftver ez. 381 00:15:05,445 --> 00:15:07,440 És végül ez emberi szem, hogy úgy dönt, 382 00:15:07,440 --> 00:15:11,410 e vagy sem, hogy utalja néhány mindegy további elbírálására, 383 00:15:11,410 --> 00:15:12,737 de a szoftver biztosan segít. 384 00:15:12,737 --> 00:15:15,820 És ez, őszintén szólva, ezért úgy gondolom, hogy van egy ilyen nagy számban CS50. 385 00:15:15,820 --> 00:15:18,540 Ez nem azért CS50 hallgatók vagy CS diákok több 386 00:15:18,540 --> 00:15:20,840 általában kevésbé becsületes mint bármely más diákok, 387 00:15:20,840 --> 00:15:22,340 ez csak akkor van eszközök és technikák 388 00:15:22,340 --> 00:15:24,095 amellyel ezt az első menetben. 389 00:15:24,095 --> 00:15:25,960 >> De mi tartsa szemmel mindezen dolgok 390 00:15:25,960 --> 00:15:30,340 valamint ismét az érdeke elismerve azt a munkát, amit most tesz 391 00:15:30,340 --> 00:15:32,397 még egy-egy szuper többsége az osztály. 392 00:15:32,397 --> 00:15:34,230 És a tanfolyam politikája a tudományos tisztesség, 393 00:15:34,230 --> 00:15:37,021 annak ellenére, hogy egy csomó bekezdések Hosszú egy csomó golyók 394 00:15:37,021 --> 00:15:40,490 amelyek remélhetőleg egészen olvasható, hogy Tényleg nem szűkülnek le ésszerűnek. 395 00:15:40,490 --> 00:15:44,000 És a legjobb ökölszabály, hogy kínálunk fel a tananyag 396 00:15:44,000 --> 00:15:46,020 ez a lényeg minden munkát, amit 397 00:15:46,020 --> 00:15:47,850 benyújtja a tanfolyam kell lennie a saját. 398 00:15:47,850 --> 00:15:51,510 És valóban, szinte az összes ilyen pontjában említett esetekben a fegyelmi eljárás 399 00:15:51,510 --> 00:15:55,640 ez azért volt, mert néhány diák egy késő éjszaka jellemzően fordult saját kódját 400 00:15:55,640 --> 00:15:58,130 több mint egyenesen egy osztálytársa, aki ezt követően fogadta el azt 401 00:15:58,130 --> 00:16:00,840 teljes egészében vagy jelentősen cikke. 402 00:16:00,840 --> 00:16:02,680 >> De tényleg, ez rendben van. 403 00:16:02,680 --> 00:16:04,684 És valóban, az irodában órát, a cédulákat 404 00:16:04,684 --> 00:16:07,850 akkor már átadta ha jött iroda órán múlt héten arra ösztönzi annyi. 405 00:16:07,850 --> 00:16:09,710 Tökéletesen bátorítják és szívesen 406 00:16:09,710 --> 00:16:12,340 hogy megvitassák a problémát készletek osztálytársaival. 407 00:16:12,340 --> 00:16:14,461 Hogy segítsünk egymásnak, amikor megbotlott. 408 00:16:14,461 --> 00:16:17,710 De általában az ökölszabály kell legyen ez a "ha segítséget kérsz, 409 00:16:17,710 --> 00:16:20,412 akkor mutatják be a kódot, hogy mások, de lehet, hogy nem megtekinteni az övék. " 410 00:16:20,412 --> 00:16:22,620 Tehát, más szóval, ha én küzd valamilyen Pset 411 00:16:22,620 --> 00:16:25,290 és én csak ülök ott a étkezőben, vagy a könyvtárban, 412 00:16:25,290 --> 00:16:28,470 vagy az osztályteremben próbálnak találni hibát, 413 00:16:28,470 --> 00:16:30,340 Én természetesen azt mutatják, kódomat én képernyőn 414 00:16:30,340 --> 00:16:32,590 annak a személynek mellett ülő nekem, természetesen a személyzet, 415 00:16:32,590 --> 00:16:33,600 hanem egy osztálytársa. 416 00:16:33,600 --> 00:16:36,580 De ha a megoldás, hogy osztálytársam kínált, ó, 417 00:16:36,580 --> 00:16:39,200 Itt csak hogy egy pillantást, amit Tettem, hogy átlépi a vonalat. 418 00:16:39,200 --> 00:16:43,120 >> És azt merem mondani, hogy ez általában ésszerű dolog a legtöbb ember számára 419 00:16:43,120 --> 00:16:45,030 hogy nagyon könnyen helyszínen a vonal. 420 00:16:45,030 --> 00:16:47,195 És így, hogy a tananyag részletesebben. 421 00:16:47,195 --> 00:16:49,070 És most az egyik több ellentmondásos vonatkozásai 422 00:16:49,070 --> 00:16:52,529 A CS50 tananyag, hogy azt hittem, szólani végezetül itt 423 00:16:52,529 --> 00:16:53,820 az ún sajnálom záradékot. 424 00:16:53,820 --> 00:16:55,340 Szóval, itt minden apró betűs. 425 00:16:55,340 --> 00:16:58,090 De általában láttuk Az elmúlt 8 évnél 426 00:16:58,090 --> 00:17:01,510 hogy valóban, szinte minden CS50 által esetekben az egyetemi becstelenség 427 00:17:01,510 --> 00:17:04,390 volna az eredmény csak rossz döntéshozatali késő este. 428 00:17:04,390 --> 00:17:07,144 Az eredmény a stressz, az eredmény A hiányzó táplálkozás, alváshiány, 429 00:17:07,144 --> 00:17:09,560 Túl sok P-készletek, túl sok határidőket, túl sok kötelezettségvállalások. 430 00:17:09,560 --> 00:17:13,520 Stressz kiépítése egy 2:00, 03:00 AM, 04:00, a határidő fenyeget. 431 00:17:13,520 --> 00:17:17,020 A legtöbb diák ezekben az esetekben Épp most hozott rossz döntések 432 00:17:17,020 --> 00:17:20,619 hogy esetleg nagyon jól bánni a Másnap reggel, ha nem perccel később, 433 00:17:20,619 --> 00:17:25,490 de míg tavaly nem volt szeleppel, hogy ezek a diákok 434 00:17:25,490 --> 00:17:29,140 valóban nyit, hogy valóban foglalkozzon a problémával a félelem nélkül 435 00:17:29,140 --> 00:17:30,850 elindult a főiskolán összesen. 436 00:17:30,850 --> 00:17:33,260 >> És valóban, mi vezetett ezt sajnálom záradékot tavaly, 437 00:17:33,260 --> 00:17:35,970 amely azt mondja, hogy ha belül 72 óra, három nap, 438 00:17:35,970 --> 00:17:37,970 Az átkelés néhány sort előírt tananyag 439 00:17:37,970 --> 00:17:41,178 jössz elő, hogy az egyik természetesen a fejek, és mi lesz a chat róla. 440 00:17:41,178 --> 00:17:43,720 Vannak még bizonyos kimenetele, ellentétben azzal, amit az 441 00:17:43,720 --> 00:17:44,990 Beszámoltak az ellenkezőjére. 442 00:17:44,990 --> 00:17:49,190 Van még néhány eredmény, hogy perelhető a kurzus, 443 00:17:49,190 --> 00:17:51,611 Általában a nullázás egy Pset vagy vesz egy másik akció, 444 00:17:51,611 --> 00:17:53,610 de mi, sőt, kezelni magunkat, és nem 445 00:17:53,610 --> 00:17:58,460 utalja magasabb volt az eredmény Lehet, hogy sokkal súlyosabb. 446 00:17:58,460 --> 00:18:01,810 És valóban, hogy megosszák, mi történt tavaly, a nyolc év, és most 447 00:18:01,810 --> 00:18:04,950 Kilenc év tanítás a tanfolyam és kipofozva különböző gombok, 448 00:18:04,950 --> 00:18:07,866 fordult különböző tárcsázza az elmúlt több éve akadémiai őszinteség, 449 00:18:07,866 --> 00:18:11,920 és látva egy az adatok nem látható hatása, sőt a beszédek, mint ez, 450 00:18:11,920 --> 00:18:15,490 ez volt a kezét a legjobb dolog, vezettünk be pedagógiailag 451 00:18:15,490 --> 00:18:18,090 Nyolc évvel mentén ezeket a sorokat CS50. 452 00:18:18,090 --> 00:18:21,010 >> 19 tanuló jelentkezett a jelen szakaszban az elmúlt évben. 453 00:18:21,010 --> 00:18:23,389 Mi nem tett semmit a Hét azon hallgatók, 454 00:18:23,389 --> 00:18:25,430 meghatározására, hogy ők feleslegesen aggódik. 455 00:18:25,430 --> 00:18:27,304 Ők nem, sőt, átlépte a vonalat, de ez 456 00:18:27,304 --> 00:18:28,960 volt egy jó beszélgetésre, hogy mégis. 457 00:18:28,960 --> 00:18:31,190 Mi nullázni 11. pontszámok hogy nem nyújtottak be. 458 00:18:31,190 --> 00:18:33,840 És egy esetben kértük a diák, hogy csinál egy problémát beállítani. 459 00:18:33,840 --> 00:18:36,370 De vonzóbb, Őszintén, ezekkel 19 csevegések, 460 00:18:36,370 --> 00:18:39,020 ami sokkal több volt, mint én várható, hogy mindegyikük 461 00:18:39,020 --> 00:18:41,370 10 perc és talán egy órás is hozta 462 00:18:41,370 --> 00:18:44,920 fényt számos kérdést illetően családi problémák, kérdések barátja, 463 00:18:44,920 --> 00:18:46,940 mentális egészségügyi problémák hogy mi aztán részt, 464 00:18:46,940 --> 00:18:50,200 a hallgató áldás, rezidens dékán, vagy barátok, vagy bármely más számot 465 00:18:50,200 --> 00:18:51,450 A támogatási források. 466 00:18:51,450 --> 00:18:54,454 Tehát, hogy ez volt messze az egyik A legjobb felhasználása korunk 467 00:18:54,454 --> 00:18:55,870 és az egyik legjobb beavatkozások. 468 00:18:55,870 --> 00:18:58,870 >> Ezzel azt mondta, nem volt bemenet a felderítési arányának 469 00:18:58,870 --> 00:19:00,909 akadémiai becstelenség általában. 470 00:19:00,909 --> 00:19:02,950 És merem állítani, ez részhalmaza A diákok a tavalyi 471 00:19:02,950 --> 00:19:06,350 volt, hogy a demográfiai korábban soha nem azonosított előtt 472 00:19:06,350 --> 00:19:08,140 és soha nem kapcsolódik előtt. 473 00:19:08,140 --> 00:19:10,020 És igen, ezek voltak Csodálatos sikertörténetek 474 00:19:10,020 --> 00:19:13,390 annak ellenére sem, napvilágra az optimálisnál rosszabb körülmények között. 475 00:19:13,390 --> 00:19:15,640 Szóval, ezt tartsd szem előtt mint te, hogy talán, 476 00:19:15,640 --> 00:19:17,390 Néhány rossz döntés magát késő este, 477 00:19:17,390 --> 00:19:20,151 hogy van igénybevétele olyan hosszú a tanuló az adott helyzetben 478 00:19:20,151 --> 00:19:23,400 saját fel, és terjesszen elő, hogy tudjuk hogy ez a fajta beszélgetés, és foglalkozni vele 479 00:19:23,400 --> 00:19:27,310 olyan módon, hogy ez az oktatási, majd akkor tedd mögöttünk a következő napon. 480 00:19:27,310 --> 00:19:30,335 >> Tehát minden további nélkül, hogy a élét erre a beszélgetésre, 481 00:19:30,335 --> 00:19:35,080 az ok a kölykök felfelé van csak azért, hogy megtörjön a jég egy pillanatra. 482 00:19:35,080 --> 00:19:39,560 És sajnos, ők mind az alvás, de mit kellett volna történnie itt 483 00:19:39,560 --> 00:19:41,760 volt, mindenki kellett volna a félelem és az a fajta kikapcsolódásra 484 00:19:41,760 --> 00:19:43,910 azt követően, hogy nagyon nehéz beszélgetés. 485 00:19:43,910 --> 00:19:46,930 De úgy tűnik, tettem A kölykök aludni. 486 00:19:46,930 --> 00:19:50,070 De ha elmész CS50 a honlap perjel kölykök, 487 00:19:50,070 --> 00:19:51,610 meg lehet nézni őket egész nap. 488 00:19:51,610 --> 00:19:55,280 Különösen talán 2:00, vagy 03:00, vagy 04:00 éjszaka 489 00:19:55,280 --> 00:19:57,480 hogy egy kicsit a stressz enyhítésére van. 490 00:19:57,480 --> 00:19:58,805 Szóval ez perjel kölykök. 491 00:19:58,805 --> 00:20:01,700 492 00:20:01,700 --> 00:20:02,200 Minden rendben. 493 00:20:02,200 --> 00:20:03,020 Nem volt olyan szórakoztató? 494 00:20:03,020 --> 00:20:04,200 OKÉ. 495 00:20:04,200 --> 00:20:07,140 Szóval, vissza néhány számítógépes a tudomány, ha lehet. 496 00:20:07,140 --> 00:20:10,600 >> Szóval, emlékeztetni arra, hogy utoljára kezdtük akik nem csak a fő, amely 497 00:20:10,600 --> 00:20:13,930 volt az alapértelmezett funkció, a mikor zöld zászló kattintott egyenértékű, 498 00:20:13,930 --> 00:20:16,999 de mi is indult röviden írásban néhány saját funkcióit. 499 00:20:16,999 --> 00:20:20,040 És eddig ezek egyike sem funkciók volt különösen nagy vagy húsos. 500 00:20:20,040 --> 00:20:24,570 Kapsz azokba nagyobb funkciók valószínűleg, P készlet 2, P készlet 3, 501 00:20:24,570 --> 00:20:26,410 Határozottan P szett 4 kezdve. 502 00:20:26,410 --> 00:20:29,340 Most a legtöbb program, ha nem mindegyik, minden bizonnyal a P 503 00:20:29,340 --> 00:20:31,550 szett 1 lehet tenni teljesen fő. 504 00:20:31,550 --> 00:20:33,810 Ha a program csak öt sor, 10 sor, 505 00:20:33,810 --> 00:20:37,070 akár 20 sor hosszú, tökéletesen ésszerű írni, hogy 506 00:20:37,070 --> 00:20:40,930 Az összes fő- és nehogy túl komplikált a kódot, de mit csinálunk ma 507 00:20:40,930 --> 00:20:44,360 és tovább próbálkozik a szintén bemutatni néhány jó tervezési technikák 508 00:20:44,360 --> 00:20:48,660 így például a kódot kap több bonyolult és azokat a problémákat 509 00:20:48,660 --> 00:20:51,690 szeretné megoldani nehezebb és érdekesebb van, valami, 510 00:20:51,690 --> 00:20:55,850 A szerszámokat a eszköztárat, amellyel tervezni jó megoldás azoknak. 511 00:20:55,850 --> 00:21:01,210 >> Tehát, vessünk egy gyors pillantást vissza A program az utolsó héten, ami 512 00:21:01,210 --> 00:21:06,550 volt funkciók nulla pont C. És észre, hogy egészen egyszerűen 513 00:21:06,550 --> 00:21:10,310 úgy néz ki, mint ez a két funkciók, a fő és a nyomtatási nevét. 514 00:21:10,310 --> 00:21:13,160 És visszagondolva, vagy talán reverse engineering ma, 515 00:21:13,160 --> 00:21:16,880 mi volt a motiváció bevezetésére függvényében a sorban 28 nevű, 516 00:21:16,880 --> 00:21:18,180 print név? 517 00:21:18,180 --> 00:21:21,745 Vagy mi volt ez egy példa a szempontjából elv, vagy elvihető, 518 00:21:21,745 --> 00:21:22,605 ha úgy tetszik. 519 00:21:22,605 --> 00:21:26,560 520 00:21:26,560 --> 00:21:27,300 Néhány mormogás. 521 00:21:27,300 --> 00:21:28,830 Mi? 522 00:21:28,830 --> 00:21:32,210 >> Ja igen funkcionális dekompozíció ez a fajta a képzelet módja mondván, 523 00:21:32,210 --> 00:21:34,690 lebomlanak a programot alkotórészeire 524 00:21:34,690 --> 00:21:37,530 majd azokat a részeket, összeállítani egy egész. 525 00:21:37,530 --> 00:21:39,620 Szóval, ez is csak egyfajta Egy falatot már, 526 00:21:39,620 --> 00:21:42,050 de ez talán még egy jobb példa valamit 527 00:21:42,050 --> 00:21:43,081 most hívott absztrakció. 528 00:21:43,081 --> 00:21:43,580 Jobb? 529 00:21:43,580 --> 00:21:46,950 Absztrakció lesz egy A visszatérő témák CS50 530 00:21:46,950 --> 00:21:49,085 és számítástechnika általánosabban mivel ez 531 00:21:49,085 --> 00:21:53,060 olyan technika, amellyel meg lehet oldani problémákat hatékonyabban, mert 532 00:21:53,060 --> 00:21:56,807 írhat megoldások több ösztönösen és olyan módon, hogy mérlegek 533 00:21:56,807 --> 00:21:58,390 és érthető mások. 534 00:21:58,390 --> 00:21:59,860 Mit értek ez alatt? 535 00:21:59,860 --> 00:22:04,340 >> Szóval, vitathatatlanul sokkal olvashatóbb nézni egy ilyen programban, 536 00:22:04,340 --> 00:22:05,990 szuper rövid bár ez. 537 00:22:05,990 --> 00:22:10,050 Amikor meglátja a 22. sorban, hogy van olyan függvény, nyomtatás nevét. 538 00:22:10,050 --> 00:22:12,620 Ez a név önmagában azt mondja, hogy mit csinál. 539 00:22:12,620 --> 00:22:15,780 Ez a funkció tűnik úgy input közötti zárójelben, 540 00:22:15,780 --> 00:22:18,600 és látszólag csinál valamit, feltehetően kiírja a nevét. 541 00:22:18,600 --> 00:22:20,880 És igen, még akkor is, Teljesen volna 542 00:22:20,880 --> 00:22:25,280 megtette, amit csináltunk egy hete volt, ami csak hogy ez a tényleges kódsort, 543 00:22:25,280 --> 00:22:28,710 hogy eltűnjön ez, és kap eltűnjön ez mind együtt, 544 00:22:28,710 --> 00:22:31,436 Ezt egy kissé szórakozott el fogalmát nyomtatás egy nevet. 545 00:22:31,436 --> 00:22:33,060 Nem érdekel, ha használja a nyomtatási def. 546 00:22:33,060 --> 00:22:35,601 Nem érdekel, ha van egy százalékkal S és egy rep N. Ezek 547 00:22:35,601 --> 00:22:37,270 hihetetlenül misztikus részleteket. 548 00:22:37,270 --> 00:22:40,090 Amit érdekel, mint a programozó nyomtat egy nevet. 549 00:22:40,090 --> 00:22:43,414 És igen, mi jobb módja, hogy mint az egy funkció, print név? 550 00:22:43,414 --> 00:22:46,330 És igen, ez volt az egyik motivációja csinál valamit, mint ez. 551 00:22:46,330 --> 00:22:50,370 Így a kód olvashatóbbá több újrahasznosítható, és szintén magától leíró jellegű. 552 00:22:50,370 --> 00:22:52,120 Most, vessünk egy pillantást egy másik példát, 553 00:22:52,120 --> 00:22:56,220 amely funkciókat egy, amit kellett ide. 554 00:22:56,220 --> 00:23:00,367 >> Szóval, ez talán még kényszerítő mert ebben az esetben, 555 00:23:00,367 --> 00:23:01,700 Nem akarom, hogy csak kap egy int. 556 00:23:01,700 --> 00:23:03,320 Azt szeretnénk, hogy egy pozitív int. 557 00:23:03,320 --> 00:23:06,470 És kiderül, hogy pozitív int meg kell csinálni egy csomó rohangálás. 558 00:23:06,470 --> 00:23:06,969 Jobb? 559 00:23:06,969 --> 00:23:09,600 Ez nem egy egyszerű online hívja mint a nyomtatott neve volt, 560 00:23:09,600 --> 00:23:11,480 ami bevallom, kevésbé meggyőző. 561 00:23:11,480 --> 00:23:16,000 >> Ahhoz, hogy a pozitív int, logically-- hadd lépjünk vissza elrejteni ezt. 562 00:23:16,000 --> 00:23:18,887 Mit kell csinálnod? 563 00:23:18,887 --> 00:23:20,720 Mint minden eszközhöz, abban a pillanatban van 564 00:23:20,720 --> 00:23:24,440 dolgok, mint a nyomtatási def a Standard Könyvtár és szintén CS50 könyvtár 565 00:23:24,440 --> 00:23:26,990 már kap Int, és szerezz Float, Get Long Long, A string, 566 00:23:26,990 --> 00:23:29,260 de az csak egy, a germán, most az Get Int. 567 00:23:29,260 --> 00:23:32,970 Tehát, ha az egyetlen eszköz van a szerszámos doboz Get Int, 568 00:23:32,970 --> 00:23:35,505 hogyan megy a végrehajtási hogy kap pozitív int? 569 00:23:35,505 --> 00:23:35,929 >> Közönség: Hozzon létre egy naplót, és ellenőrizze arról, hogy a bemeneti, hogy adtak 570 00:23:35,929 --> 00:23:36,762 pozitív volt, vagy sem. 571 00:23:36,762 --> 00:23:39,390 572 00:23:39,390 --> 00:23:40,640 >> 1. Előadó: Tökéletes. 573 00:23:40,640 --> 00:23:41,200 Pontosan. 574 00:23:41,200 --> 00:23:43,950 Egy másik eszköz van a mi eszköztár egy vagy két hete 575 00:23:43,950 --> 00:23:45,419 csak a hurok konstrukciót. 576 00:23:45,419 --> 00:23:48,210 És igen, igen, ha az általunk használt egy ideig hurok, vagy a do while ciklus, vagy egy fore 577 00:23:48,210 --> 00:23:50,850 loop tudtuk valószínűleg megússza bármely e valamilyen formában. 578 00:23:50,850 --> 00:23:55,140 Mi lehet végrehajtani fogalma get Pozitív int csak használ Get Int, 579 00:23:55,140 --> 00:23:57,830 és aztán csak folyamatosan hív, hogy újra és tartsa nyaggat a felhasználó 580 00:23:57,830 --> 00:24:00,320 amíg ő valójában ad nekünk, amit akarunk. 581 00:24:00,320 --> 00:24:03,260 >> És így most ez a absztrakció a folyamat 582 00:24:03,260 --> 00:24:05,680 kapok egy pozitív int egy függvény nevű 583 00:24:05,680 --> 00:24:08,930 Get Pozitív Int egy kicsit kézenfekvő, mivel ezt nézd meg. 584 00:24:08,930 --> 00:24:10,990 Ezek olyanok, mint 10 plus kódsor 585 00:24:10,990 --> 00:24:15,090 részt vesznek abban, hogy pozitív int, és én nem igazán érdekel, hogyan csinálja. 586 00:24:15,090 --> 00:24:17,850 Csak az érdekel, hogy te meg tudja csinálni, és így már 587 00:24:17,850 --> 00:24:21,660 rejtve ezeket a részleteket mögött nevezett funkció Get Pozitív int, hogy 588 00:24:21,660 --> 00:24:23,430 Valóban, van ez a do while ciklus. 589 00:24:23,430 --> 00:24:27,660 >> És látni a múlt héten a szintaxis ott, de ez csak kijelenti N, 590 00:24:27,660 --> 00:24:29,800 és nem írja ki a utasítást, hogy a felhasználó számára. 591 00:24:29,800 --> 00:24:33,330 Arra kéri Get Int, majd ellenőrzi, ez a feltétel újra, és újra, 592 00:24:33,330 --> 00:24:35,230 és újra, amíg a felhasználó együttműködik. 593 00:24:35,230 --> 00:24:38,000 >> Tehát most, néhány alapvető ellenőrzést. 594 00:24:38,000 --> 00:24:40,370 Azok számára talán ismerős egy kis programozással, 595 00:24:40,370 --> 00:24:46,410 miért N kijelentette, hogy miért hozhatok N kívül a do while ciklus? 596 00:24:46,410 --> 00:24:50,370 Miért van az, on-line 29, és nem on, mint 33, például. 597 00:24:50,370 --> 00:24:53,529 >> Közönség: Mert amikor Kijelentem, hogy azon kívül, hogy milyen 598 00:24:53,529 --> 00:24:56,688 több, a nagyobb scope-- 599 00:24:56,688 --> 00:24:58,146 >> 1. Előadó: Jó. 600 00:24:58,146 --> 00:24:59,604 >> Közönség: --and ha kijelentem ez a cikluson belül, [hallhatatlan] 601 00:24:59,604 --> 00:25:00,979 mert nem tud róla. 602 00:25:00,979 --> 00:25:02,819 603 00:25:02,819 --> 00:25:03,610 1. Előadó: Pontosan. 604 00:25:03,610 --> 00:25:06,330 Ha tudok simplify-- ez egy kérdés a hatálya alá. 605 00:25:06,330 --> 00:25:11,530 És hatálya vonatkozik arra az összefüggésre, amely a változó létezik, vagy felhasználható. 606 00:25:11,530 --> 00:25:15,050 És a szép ökölszabály az, hogy Általában, ha kijelentjük, vagy hozzon létre 607 00:25:15,050 --> 00:25:21,642 változó csak akkor tudjuk használni belülről A legközelebb átölelő zárójelek segítségével. 608 00:25:21,642 --> 00:25:22,600 Szóval mit is jelent ez? 609 00:25:22,600 --> 00:25:26,551 Ha én, ahelyett, visszacsinálni, és menjen el valamit, úgy érzi, egy kicsit egyszerűbb. 610 00:25:26,551 --> 00:25:27,050 Jobb? 611 00:25:27,050 --> 00:25:29,360 >> 32. sor csak úgy néz ki tisztább most nekem. 612 00:25:29,360 --> 00:25:31,500 Csinálok mindkét dolog Egyszer majd hozzárendeljük 613 00:25:31,500 --> 00:25:33,070 A jobb kezét a bal kezét. 614 00:25:33,070 --> 00:25:35,180 A probléma most alapuló hogy feladat-meghatározása 615 00:25:35,180 --> 00:25:41,130 van, hogy az N lehet használni a vonalak 31. és 32. belsejében ez a hurok, 616 00:25:41,130 --> 00:25:45,100 de ahol az említett meghatározás lehet, hogy nem lehet használni? 617 00:25:45,100 --> 00:25:45,660 Összhangban mi? 618 00:25:45,660 --> 00:25:46,160 Igen. 619 00:25:46,160 --> 00:25:47,490 >> Közönség: 35. 620 00:25:47,490 --> 00:25:49,180 >> 1. Előadó: 35. 621 00:25:49,180 --> 00:25:50,480 Határozottan nem 35. 622 00:25:50,480 --> 00:25:52,349 És azt is, hol máshol? 623 00:25:52,349 --> 00:25:52,890 Közönség: 34. 624 00:25:52,890 --> 00:25:55,040 1. Előadó: Még 34 problémás, mert 625 00:25:55,040 --> 00:25:56,450 kívül a zárójelek segítségével. 626 00:25:56,450 --> 00:25:58,200 És így valójában lássuk, mi történik. 627 00:25:58,200 --> 00:25:58,700 Jobb? 628 00:25:58,700 --> 00:26:00,722 Ez úgy tűnik, egy kicsit intuitív, vagy lehet, hogy nem, 629 00:26:00,722 --> 00:26:02,680 de lássuk, mi a fordítóprogram mondani, ha 630 00:26:02,680 --> 00:26:04,730 bemegy a mai forrás könyvtárába. 631 00:26:04,730 --> 00:26:08,950 Tedd funkció egy. 632 00:26:08,950 --> 00:26:11,231 Istenem. 633 00:26:11,231 --> 00:26:12,980 Nos, én végül elkészült hogy az úton. 634 00:26:12,980 --> 00:26:14,030 Minden rendben. 635 00:26:14,030 --> 00:26:15,510 És mi a kérdés? 636 00:26:15,510 --> 00:26:17,430 Nagyon misztikus nézni. 637 00:26:17,430 --> 00:26:19,570 De itt van, amit typed-- hogy a funkció egy. 638 00:26:19,570 --> 00:26:21,640 Itt van, mit csinál okozta, ami valójában 639 00:26:21,640 --> 00:26:23,705 használja a fordító csengés néhány ilyen zászlók 640 00:26:23,705 --> 00:26:25,080 hogy majd meglátjuk előtt ismét hosszú. 641 00:26:25,080 --> 00:26:26,829 És ismét, mindig meg Az első hiba, 642 00:26:26,829 --> 00:26:30,540 mert lehet, hogy csak egy lépcsőzetes értelmetlen hatása a többi vonalon. 643 00:26:30,540 --> 00:26:34,410 >> Szóval ez mit jelent az, hogy a probléma függvényében 1.c. 644 00:26:34,410 --> 00:26:36,890 Ez a vonal 32. 645 00:26:36,890 --> 00:26:39,712 És ez oszlop, vagy a karakter, 13. 646 00:26:39,712 --> 00:26:42,670 Tehát, amikor a szövegszerkesztő, amely segít azonosítani, ahol a kérdés. 647 00:26:42,670 --> 00:26:47,079 Szóval ha felfelé, mi a 32. sor? 648 00:26:47,079 --> 00:26:49,120 Ez valóban ez ami már kiemelte 649 00:26:49,120 --> 00:26:50,607 jobb here-- nem használt változó n. 650 00:26:50,607 --> 00:26:51,440 De ez nem használt. 651 00:26:51,440 --> 00:26:52,320 Én használ ez. 652 00:26:52,320 --> 00:26:56,110 De a fordító zavarodott, mert csak belül létezik ennek hatálya alá. 653 00:26:56,110 --> 00:26:57,727 És így nem tudom használni itt. 654 00:26:57,727 --> 00:26:58,560 Nem tudom használni itt. 655 00:26:58,560 --> 00:27:01,320 És a fordító, ezért nem is érdekel, hogy én próbálom. 656 00:27:01,320 --> 00:27:03,940 Úgy tűnik, hogy a fel nem használt tartozó tényleges körét. 657 00:27:03,940 --> 00:27:08,854 >> Így tudjuk kiterjeszteni a by doing Pontosan, amit elkezdtünk with-- int n. 658 00:27:08,854 --> 00:27:11,020 És bár ez nem úgy néz ki, elegáns, talán, 659 00:27:11,020 --> 00:27:15,110 és elvisszük egy plusz sort Itt, most már hatályát mindenhol. 660 00:27:15,110 --> 00:27:15,970 Így próbáljuk meg újra. 661 00:27:15,970 --> 00:27:19,040 Tehát, hogy a funkció az egyik. 662 00:27:19,040 --> 00:27:19,610 Szép. 663 00:27:19,610 --> 00:27:23,370 És most, ha én, ha futok funkció Egy, adjunk meg negatív 10, 664 00:27:23,370 --> 00:27:27,170 negatív 1, 0, 1, és ez valóban működik. 665 00:27:27,170 --> 00:27:28,610 >> Szóval van egy másik megoldást. 666 00:27:28,610 --> 00:27:29,280 Tudod mit? 667 00:27:29,280 --> 00:27:31,230 Mi van, ha igazán vagyok birkózik ez? 668 00:27:31,230 --> 00:27:33,140 Nem tudom, hol a n kéne menni. 669 00:27:33,140 --> 00:27:33,723 Tudod mit? 670 00:27:33,723 --> 00:27:39,220 Én csak megy, hogy minden ahogy a tetején fájlom van. 671 00:27:39,220 --> 00:27:42,835 Milyen lenne ez egyáltalán, mit gondolsz? 672 00:27:42,835 --> 00:27:43,335 Igen? 673 00:27:43,335 --> 00:27:44,251 >> Közönség: [hallható]. 674 00:27:44,251 --> 00:27:47,964 675 00:27:47,964 --> 00:27:48,630 1. Előadó: Igen. 676 00:27:48,630 --> 00:27:50,560 Úgyhogy tette globális, hogy úgy mondjam. 677 00:27:50,560 --> 00:27:54,430 Ha van egy változó, amely már kívül az összes funkciót, amely lehetővé tette, 678 00:27:54,430 --> 00:27:58,780 és a lefordítható, és n most elérhetővé nemcsak get 679 00:27:58,780 --> 00:28:02,490 pozitív int, hanem main-- amely egy kicsit aggasztó, mert van 680 00:28:02,490 --> 00:28:04,864 Már egy n a fő, így több a hogy csak egy moment-- 681 00:28:04,864 --> 00:28:06,530 de ez tekinthető rossz tervezés. 682 00:28:06,530 --> 00:28:06,910 Minden rendben. 683 00:28:06,910 --> 00:28:08,570 Ha kénytelenek valami ilyesmi, ó, én 684 00:28:08,570 --> 00:28:10,125 Csak tedd fel itt, mert A kódot úgy tűnik összeállításához 685 00:28:10,125 --> 00:28:12,180 általában nem a legjobb gyakorlatot. 686 00:28:12,180 --> 00:28:14,590 Inkább azt szeretnénk, hogy válasszon lehetséges legszűkebb körre 687 00:28:14,590 --> 00:28:18,720 a változók, ami azt jelentené, megy a mi eredeti terve, amely 688 00:28:18,720 --> 00:28:19,920 itt van. 689 00:28:19,920 --> 00:28:24,400 >> Most Mellesleg, ha egyáltalán van Egy a névvel változó itt, 690 00:28:24,400 --> 00:28:27,750 az út c volna kezelni this-- bár ez nem fog megtörténni túl often-- 691 00:28:27,750 --> 00:28:30,150 az, hogy ez még mindig tökéletesen be itt. 692 00:28:30,150 --> 00:28:35,000 De ez a meghatározás n sorban 22 fog árnyékot vessen a globális. 693 00:28:35,000 --> 00:28:38,190 Szóval ez fog működni fő, és a globális egyik 694 00:28:38,190 --> 00:28:41,670 ténylegesen alkalmazni, ha éppen kap pozitív int De erről bővebben 695 00:28:41,670 --> 00:28:43,890 Egy másik alkalommal, de csak azoknak kíváncsi. 696 00:28:43,890 --> 00:28:45,970 >> Tehát röviden, mi erősít ez itt. 697 00:28:45,970 --> 00:28:49,220 Most kötekedik kívül két másik mielőtt megnézzük egy utolsó kódsort 698 00:28:49,220 --> 00:28:50,170 Ebben a programban. 699 00:28:50,170 --> 00:28:52,170 Get pozitív int. 700 00:28:52,170 --> 00:28:54,450 A bal oldali A szó a szó int. 701 00:28:54,450 --> 00:28:56,860 Mit jelent, hogy jelzi gondolsz? 702 00:28:56,860 --> 00:28:58,900 Eddig mi már többnyire látható semmis. 703 00:28:58,900 --> 00:28:59,400 Igen? 704 00:28:59,400 --> 00:29:01,810 >> Közönség: Ez a fajta változó, hogy te kérdezel. 705 00:29:01,810 --> 00:29:04,550 >> 1. Előadó: Igen Ez a fajta, hadd Nem mondom változó, de az a fajta érték 706 00:29:04,550 --> 00:29:05,990 hogy amit kérek vissza. 707 00:29:05,990 --> 00:29:08,070 És valóban, ez intuitív itt is, hátha. 708 00:29:08,070 --> 00:29:08,200 Jobb? 709 00:29:08,200 --> 00:29:10,250 Ha azt szeretnénk, hogy egy Pozitív int, mi az, amit 710 00:29:10,250 --> 00:29:12,920 szeretné, hogy a function--, mint mi önkéntesek a múlt héten 711 00:29:12,920 --> 00:29:15,720 hogy kézzel vissza egy darab A papírok int rajta? 712 00:29:15,720 --> 00:29:19,190 És így már meghatározta, hogy a úgynevezett visszatérési típus ezt a funkciót 713 00:29:19,190 --> 00:29:20,450 van, hogy pozitív int. 714 00:29:20,450 --> 00:29:22,990 Ha nem akarjuk, hogy vissza semmit, azt mondod, semmis. 715 00:29:22,990 --> 00:29:25,270 Ha azt akarjuk, hogy visszatérjen egy string, azt mondod húr. 716 00:29:25,270 --> 00:29:27,310 Ha azt akarjuk, hogy visszatérjen úszó, azt mondod úszó. 717 00:29:27,310 --> 00:29:30,440 De az egyetlen, amely érvényes itt logikusan, mert én vagyok a get int, 718 00:29:30,440 --> 00:29:34,130 Bár én vagyok korlátozza azt, hogy pozitív értékek, az, hogy visszatérjen egy int. 719 00:29:34,130 --> 00:29:38,380 >> Így viszont, mit jelent hogy van egy űrt zárójelben? 720 00:29:38,380 --> 00:29:40,130 Mit jelentenek a zárójelben általánosságban meghatározzák? 721 00:29:40,130 --> 00:29:40,588 Igen? 722 00:29:40,588 --> 00:29:42,880 >> Közönség: Ez az a funkció, a valójában nem kapok meg. 723 00:29:42,880 --> 00:29:44,650 >> 1. Előadó: Ez az a funkció, a valójában nem kapja meg, amit? 724 00:29:44,650 --> 00:29:45,430 >> Közönség: Egy bemenet. 725 00:29:45,430 --> 00:29:46,763 >> 1. Előadó: An bemenet, nincs. 726 00:29:46,763 --> 00:29:49,870 Tehát valóban, ha zárójel Itt adja semmis, 727 00:29:49,870 --> 00:29:51,650 ez csak azt jelenti nem akarok semmiféle adatot. 728 00:29:51,650 --> 00:29:53,269 Majd a probléma kezelésére magam. 729 00:29:53,269 --> 00:29:55,810 És valóban, akkor nem kell mondd, hogy pozitív int semmit. 730 00:29:55,810 --> 00:29:59,630 Csak azt mondom, hogy a pozitív int, és hogy funkciót kialszik, és ezt a dolgot. 731 00:29:59,630 --> 00:30:02,970 >> De ott volt egy kis trükk voltam már játszott itt egész idő 732 00:30:02,970 --> 00:30:04,970 hogy megbizonyosodjon arról, ezt a kódot állít össze. 733 00:30:04,970 --> 00:30:09,620 Figyeljük meg, hogy int-- kap pozitív int void-- van a vonalban 27. 734 00:30:09,620 --> 00:30:14,530 De valamilyen látszólag furcsa okból ez is itt a 16. sorban. 735 00:30:14,530 --> 00:30:18,530 És csak a jó intézkedés megismétlem ez így tökéletesen egyforma. 736 00:30:18,530 --> 00:30:21,640 És mondtam prototípus egy kis egysoros megjegyzést. 737 00:30:21,640 --> 00:30:28,850 Mi történik, ha törlöm ezt, és Most ismételni, hogy a funkció 1, írja. 738 00:30:28,850 --> 00:30:29,350 Hoppá. 739 00:30:29,350 --> 00:30:32,527 740 00:30:32,527 --> 00:30:33,110 Várj egy percet. 741 00:30:33,110 --> 00:30:34,764 Hol van a lapon? 742 00:30:34,764 --> 00:30:35,263 Huh? 743 00:30:35,263 --> 00:30:37,969 744 00:30:37,969 --> 00:30:39,620 Készenlét. 745 00:30:39,620 --> 00:30:41,570 Tedd funkció 1. 746 00:30:41,570 --> 00:30:42,150 Ott vagyunk. 747 00:30:42,150 --> 00:30:42,310 OKÉ. 748 00:30:42,310 --> 00:30:43,400 Hát nem mentette meg rendesen. 749 00:30:43,400 --> 00:30:45,220 Szóval, azt hiszem, van egy kis bug itt, ahol én nem vagyok 750 00:30:45,220 --> 00:30:46,636 látva a lap nevét az adott pillanatban. 751 00:30:46,636 --> 00:30:47,940 Szóval mi folyik itt? 752 00:30:47,940 --> 00:30:52,210 Implicit nyilatkozatot funkció kap pozitív int érvénytelen C99. 753 00:30:52,210 --> 00:30:53,940 Szóval zavaros újra. 754 00:30:53,940 --> 00:30:55,200 Szóval mi ez jelzi? 755 00:30:55,200 --> 00:30:57,287 Nos, kiderült, hogy C elég hülye. 756 00:30:57,287 --> 00:30:59,912 Nos, ez a programozási nyelvet, vagy inkább a fordító. 757 00:30:59,912 --> 00:31:02,940 Csak azt tudja, hogy mit kell tanított meg, és ez csak 758 00:31:02,940 --> 00:31:05,640 tudni fogja, hogy valami ha tanított, mielőtt. 759 00:31:05,640 --> 00:31:07,960 Más szóval, Fő abban a pillanatban, én vagyok 760 00:31:07,960 --> 00:31:10,900 próbálják meg a funkció nevű kap pozitív int. 761 00:31:10,900 --> 00:31:14,120 De a fordító nem megy észrevenni, hogy kap pozitív int 762 00:31:14,120 --> 00:31:16,500 létezik, amíg a 26. 763 00:31:16,500 --> 00:31:21,360 És akkor mi a fordító nem csak hibák, amint ez lesz a sorban a 17., 764 00:31:21,360 --> 00:31:23,700 mondván implicit nyilatkozat Az, hogy a pozitív int, amely 765 00:31:23,700 --> 00:31:27,740 csak egy divatos szóval, én nem hogy mit kap pozitív int még. 766 00:31:27,740 --> 00:31:31,240 >> Más nyelvek, mint a Java és Python és Ruby lehet előre nézni. 767 00:31:31,240 --> 00:31:32,240 C nem. 768 00:31:32,240 --> 00:31:35,110 És így, ahogy mi erősít ez az egyik két módon. 769 00:31:35,110 --> 00:31:40,160 Vagy az egyik, ha a probléma az, hogy kap Pozitív int még nem látott, 770 00:31:40,160 --> 00:31:42,150 Nos, hadd vigye a tetején. 771 00:31:42,150 --> 00:31:43,650 Ez lenne a probléma megoldása. 772 00:31:43,650 --> 00:31:46,790 De általában, ez tekinthető a jobb technika 773 00:31:46,790 --> 00:31:50,220 hogy tegye a fő funkciója a nagyon tetején úgy, hogy egy emberi olvasó a kódot 774 00:31:50,220 --> 00:31:52,710 tudja, a program mit csinál, mert fő nem temették összes 775 00:31:52,710 --> 00:31:53,960 ahogy az alján vagy a közepén. 776 00:31:53,960 --> 00:31:55,130 Ez az egyik legfontosabb. 777 00:31:55,130 --> 00:31:56,410 Tehát, hogy nem érzi ideális. 778 00:31:56,410 --> 00:31:58,326 És akkor valóban kap a helyzetekben, amikor 779 00:31:58,326 --> 00:32:00,820 Ha egy funkció hívások Egy másik, amely felhívja a másik, 780 00:32:00,820 --> 00:32:04,630 akkor kap egy kérdés, ahol nem lehet menni a másik felett, logikusan. 781 00:32:04,630 --> 00:32:05,920 Ez egyszerűen nem lehetséges. 782 00:32:05,920 --> 00:32:09,290 >> És így a munkába körül ez az, hogy csak vegye 783 00:32:09,290 --> 00:32:13,200 A funkció aláírása, így a speak-- Az első sorban, ahol ez declared-- 784 00:32:13,200 --> 00:32:16,850 és csak másolja, illessze a top, de nem göndör braces-- 785 00:32:16,850 --> 00:32:17,980 Csak egy pontosvessző. 786 00:32:17,980 --> 00:32:20,840 Ez olyan, mint egy kis emlékeztető A mi jön. 787 00:32:20,840 --> 00:32:26,630 És valóban, az összes ebben az időben, amikor láttak dolgokat, mint a szokásos io.h 788 00:32:26,630 --> 00:32:33,040 és cs50.h hasonlóan, azokban a dot h fájlok vannak más prototípusok. 789 00:32:33,040 --> 00:32:35,250 És majd meglátjuk, hogy nemsokára. 790 00:32:35,250 --> 00:32:39,340 >> Tehát röviden, ha van egy program, Egy fájl több funkciót 791 00:32:39,340 --> 00:32:42,300 Különben fő, akkor szinte Mindig akar nyilatkozni őket 792 00:32:42,300 --> 00:32:45,360 csak útján az első vonal, majd egy pontosvessző, 793 00:32:45,360 --> 00:32:48,410 legtetején a fájl. 794 00:32:48,410 --> 00:32:50,460 Ez volt a sok egyszerre. 795 00:32:50,460 --> 00:32:53,130 Bármi kérdés? 796 00:32:53,130 --> 00:32:53,920 Bármi kérdés? 797 00:32:53,920 --> 00:32:54,530 Minden rendben. 798 00:32:54,530 --> 00:32:59,760 >> Tehát menjünk tovább, majd hogy valami ilyesmit köhögés. 799 00:32:59,760 --> 00:33:00,260 Ó. 800 00:33:00,260 --> 00:33:00,570 Hogyan illeszkedik. 801 00:33:00,570 --> 00:33:01,220 Minden rendben. 802 00:33:01,220 --> 00:33:02,260 Köhögés. 803 00:33:02,260 --> 00:33:05,080 Tehát itt van egy c program végrehajtásáról 804 00:33:05,080 --> 00:33:07,560 megcsináltuk a minap Scratch, hogy nagyon egyszerűen csak 805 00:33:07,560 --> 00:33:08,691 mondja köhögés, köhögés, köhögés. 806 00:33:08,691 --> 00:33:09,190 Minden rendben. 807 00:33:09,190 --> 00:33:11,136 És valaki azt mondta, néhány nappal ezelőtt, hogy van 808 00:33:11,136 --> 00:33:12,760 egy módja a tisztítás ezt a kódot már fel. 809 00:33:12,760 --> 00:33:12,880 Minden rendben? 810 00:33:12,880 --> 00:33:15,440 Amint másolja és beillesztés valószínűleg rossz tervezés. 811 00:33:15,440 --> 00:33:18,725 Legalább egyszer eljutunk négy vagy öt vagy 20 köhögés, úgy érzi, rossz gyakorlat. 812 00:33:18,725 --> 00:33:19,850 Mi csak tartani példányt, beillesztés. 813 00:33:19,850 --> 00:33:22,213 Mi a kézenfekvő megoldás a takarítás ez a program fel? 814 00:33:22,213 --> 00:33:23,120 >> Közönség: Hurok. 815 00:33:23,120 --> 00:33:23,350 >> 1. Előadó: Igen. 816 00:33:23,350 --> 00:33:24,070 Így használja a hurok. 817 00:33:24,070 --> 00:33:27,697 És tudjuk használni a for-ciklusban, egy darabig hurok, tetszőleges számú megközelítések. 818 00:33:27,697 --> 00:33:29,780 És valóban, ez az, amit teszünk verzió itt. 819 00:33:29,780 --> 00:33:32,250 Már helyett újraírt meg verziójában egyik cough.c 820 00:33:32,250 --> 00:33:35,170 hogy csak a köhögés belül a hurok. 821 00:33:35,170 --> 00:33:38,240 Rendben, de van egy lehetőséget teremteni, hogy milyen kezdete 822 00:33:38,240 --> 00:33:41,630 tervezni ezt egy kicsit több, mint A lecke, amit tanított egy perce 823 00:33:41,630 --> 00:33:46,190 amely this-- tegyük fel, hogy én akartam, hogy hozzon létre egy függvényt nevű köhögés, 824 00:33:46,190 --> 00:33:49,730 nézzük meg egy pillanatra mit fog kinézni. 825 00:33:49,730 --> 00:33:51,900 Tehát, ha akarok valamit köhögni, csak meg kell 826 00:33:51,900 --> 00:33:53,800 használható nyomtatási f belül a funkciót. 827 00:33:53,800 --> 00:33:55,030 És valóban én vagyok. 828 00:33:55,030 --> 00:33:56,990 És valóban, mindez ideje, bármikor te 829 00:33:56,990 --> 00:33:59,000 nyomtatás valamit A képernyőn egy programozó 830 00:33:59,000 --> 00:34:00,610 nevezném, hogy a mellékhatása. 831 00:34:00,610 --> 00:34:02,990 Nem én átadta vissza valakit egy értéket. 832 00:34:02,990 --> 00:34:06,170 Ez nekem vesz néhány fellépés hogy lehet szemmel látható. 833 00:34:06,170 --> 00:34:10,672 De ez a funkció köhögés, nem is tér vissza semmit alapján az első sorban? 834 00:34:10,672 --> 00:34:12,880 Nem, mert visszatérési típus semmis, ami csak annyit jelent, 835 00:34:12,880 --> 00:34:14,250 ez nem átadta nekem semmit vissza. 836 00:34:14,250 --> 00:34:16,791 Lehet, hogy csinál valamit vizuálisan, de ez nem átadta nekem 837 00:34:16,791 --> 00:34:18,639 vissza egy darab papír, mint a múlt héten. 838 00:34:18,639 --> 00:34:21,310 >> Nem is kell semmilyen bemeneti? 839 00:34:21,310 --> 00:34:21,810 Nem. 840 00:34:21,810 --> 00:34:23,134 És így semmisnek itt is. 841 00:34:23,134 --> 00:34:25,600 Szóval ez is egyfajta több mint Mérnöki ezt a problémát. 842 00:34:25,600 --> 00:34:26,099 Jobb? 843 00:34:26,099 --> 00:34:28,820 Csináltam a program több komplex, több sornyi kódot, 844 00:34:28,820 --> 00:34:31,889 Én még nem tette semmilyen több funkciós, de ez a 845 00:34:31,889 --> 00:34:34,210 lenne egy lépcsőfok, talán egy szélesebb 846 00:34:34,210 --> 00:34:36,830 összefüggésben bonyolultabb kódot. 847 00:34:36,830 --> 00:34:38,150 De mi a helyzet ezzel? 848 00:34:38,150 --> 00:34:42,050 Mi közöm done-- csak rápillantott ez nem nézett a comment 849 00:34:42,050 --> 00:34:46,076 legtetején a file-- mi van Én alapvetően itt történik az én köhögés 850 00:34:46,076 --> 00:34:47,409 végrehajtása, hogy ez más? 851 00:34:47,409 --> 00:34:48,327 Igen, vissza? 852 00:34:48,327 --> 00:34:51,384 >> Közönség: Tedd azt, így Van egy karakter kikapcsolni. 853 00:34:51,384 --> 00:34:52,050 1. Előadó: Igen. 854 00:34:52,050 --> 00:34:53,270 Szóval ez úgy érzi, milyen szép. 855 00:34:53,270 --> 00:34:53,389 Jobb? 856 00:34:53,389 --> 00:34:56,600 Ez olyan, mint hozzá egy funkciót a program vagy a funkciót, ebben az esetben. 857 00:34:56,600 --> 00:34:57,830 Még mindig vissza mást. 858 00:34:57,830 --> 00:35:00,538 Lehet, hogy egy vizuális mellékhatása, mert keresi a nyomtatási f. 859 00:35:00,538 --> 00:35:02,800 De most már parametrizálhatók A funkció, amely 860 00:35:02,800 --> 00:35:06,470 azt jelenti, hogy megadta venni bemeneti int típusú és hívjuk n, 861 00:35:06,470 --> 00:35:08,510 de nem tudtam nevezni, amit csak akarok. 862 00:35:08,510 --> 00:35:11,550 Valójában, ez lehet, hogy csak szor, hogy még konkrétabb. 863 00:35:11,550 --> 00:35:13,310 És akkor én is csak ezen változtatni itt. 864 00:35:13,310 --> 00:35:16,450 De a lényeg az, hogy ez hogyan hozzon létre egy függvényt, amely veszi bemenet. 865 00:35:16,450 --> 00:35:19,530 És ha visszaemlékeztek essek révén talán egy internetes 866 00:35:19,530 --> 00:35:23,000 A séta-átvezetéseket, a negyedik és egyben utolsó köhögés például 867 00:35:23,000 --> 00:35:27,150 észre fogod venni, itt voltam generalizált kódomat further-- fajta absztrahált 868 00:35:27,150 --> 00:35:27,690 tovább. 869 00:35:27,690 --> 00:35:31,390 Mint a köhögés és tüsszentés, mindkettő kb mintha azt mondanánk valamit, vagy hogy 870 00:35:31,390 --> 00:35:32,330 valamilyen hangot. 871 00:35:32,330 --> 00:35:34,725 Mentése lenne a megfelelő Scratch blokk. 872 00:35:34,725 --> 00:35:37,350 És így mit csináltam ebben a verzióban, ahol tudunk csak pillantást, 873 00:35:37,350 --> 00:35:43,170 köhögés olyan, mint mondja, [Köhögés], köhögés, és eközben a tüsszögés 874 00:35:43,170 --> 00:35:44,570 mintha azt mondanánk, [ACHOO]. 875 00:35:44,570 --> 00:35:46,900 És így már általánossá amelyek végrehajtásáról 876 00:35:46,900 --> 00:35:48,970 Mostanra végrehajtási Ez az általános funkciót, 877 00:35:48,970 --> 00:35:51,490 azt mondják, ami azért érdekes, a mai célra 878 00:35:51,490 --> 00:35:54,300 Csak azért, mert még mindig Nincsenek visszatérő típus. 879 00:35:54,300 --> 00:35:56,398 De hány bemenet van rajta? 880 00:35:56,398 --> 00:35:56,981 Közönség: Két. 881 00:35:56,981 --> 00:35:57,430 1. Előadó: Két. 882 00:35:57,430 --> 00:35:59,263 És ezért ha azt szeretnénk, hogy hogy a két érv, 883 00:35:59,263 --> 00:36:00,710 Csak el őket vesszővel. 884 00:36:00,710 --> 00:36:03,110 És ha azt szeretnénk, hogy majd hívja ezt a funkciót, 885 00:36:03,110 --> 00:36:05,800 észre, hogy csak hívja mondjuk, idézet, idézet vége, 886 00:36:05,800 --> 00:36:09,090 Az első érv, közös n, a második érv. 887 00:36:09,090 --> 00:36:12,130 Tehát újra, csak ki most a építőkövei, hogy mi is valójában 888 00:36:12,130 --> 00:36:15,686 végre néhány saját funkcióit. 889 00:36:15,686 --> 00:36:16,570 Minden rendben. 890 00:36:16,570 --> 00:36:19,690 Bármilyen kérdése a következő? 891 00:36:19,690 --> 00:36:22,400 >> Tehát most hadd húzza vissza egy réteg, ha így van. 892 00:36:22,400 --> 00:36:24,840 És a cél, végső soron, Jövő héten problémája szett 893 00:36:24,840 --> 00:36:27,710 lesz a cryptogrophy-- a művészet rejtjelező információkat. 894 00:36:27,710 --> 00:36:30,640 És kifejezetten, az információt lesz akkor kódolására vagy dekódolására 895 00:36:30,640 --> 00:36:31,605 lesz a szöveg. 896 00:36:31,605 --> 00:36:33,980 És így ez a fajta meghívók A kérdés ma, mint jól, 897 00:36:33,980 --> 00:36:38,480 mi folyik a motorháztető alatt szöveges túl ASCII hétről nulla, 898 00:36:38,480 --> 00:36:40,730 És hogyan lehet ténylegesen elkezd manipulálni? 899 00:36:40,730 --> 00:36:43,070 Tehát itt van Zamyla nevét. 900 00:36:43,070 --> 00:36:47,380 És a szövegben, hogy lehet bevinni be, mint az A string funkciót. 901 00:36:47,380 --> 00:36:52,540 És most kezdődik, amikor megjelenik egy húr mint this-- Z-A-M-Y-L-egy-- 902 00:36:52,540 --> 00:36:56,550 kezdeni gondolkodni róla, mintha minden e karakterek van egy doboz a 903 00:36:56,550 --> 00:36:57,050 saját. 904 00:36:57,050 --> 00:36:59,460 És valóban, egy hét múlva már ideje, minden egyes ilyen dobozok 905 00:36:59,460 --> 00:37:04,280 képviselnek majd nagyon specifikusan egy blokk memory-- egy falatot a memóriát. 906 00:37:04,280 --> 00:37:07,050 Tehát minden ilyen leveleket, végül, képviseli majd a 8 bitet. 907 00:37:07,050 --> 00:37:10,560 És mi lesz valóban látja, mi folyik A a motorháztető alatt a gépemen. 908 00:37:10,560 --> 00:37:13,440 >> De nem elegendő Csak nézni Zamyla 909 00:37:13,440 --> 00:37:17,520 szemüvegén keresztül, amelynek alapján az egyes E betűk saját mezőbe. 910 00:37:17,520 --> 00:37:22,697 És szépen elég C tudjuk eléréséhez minden ilyen dobozok közvetlenül. 911 00:37:22,697 --> 00:37:25,530 Tehát, ha azt akarjuk, hogy az első betű a nevét, szuper könnyű C. 912 00:37:25,530 --> 00:37:28,410 Ha azt szeretnénk, hogy az utolsó levél, szuper könnyű is 913 00:37:28,410 --> 00:37:30,240 egy darab új szintaxis. 914 00:37:30,240 --> 00:37:36,250 >> Így fogok menni előre be CS50 IDE és megnyitja a húr nulla pont C. 915 00:37:36,250 --> 00:37:40,270 És ebben a példában itt, vannak egy pár új dolog történik. 916 00:37:40,270 --> 00:37:44,360 Tehát első a sorban a 19. volt, most már Látta ezt before-- A string. 917 00:37:44,360 --> 00:37:49,840 Ahogyan tehát egy gyors józanság ellenőrzés, ha valaki tudna ajánlani akár verbálisan 918 00:37:49,840 --> 00:37:52,662 Egy laikus magyarázata mi folyik a sorban 19. 919 00:37:52,662 --> 00:37:55,370 Mint most ezt lefordítani Angol hogy a szobatársa nem CS50 920 00:37:55,370 --> 00:37:56,416 talán megértené. 921 00:37:56,416 --> 00:37:56,916 Igen. 922 00:37:56,916 --> 00:37:59,749 >> Közönség: Van a felhasználói input húr, és tárolja egy változóban s. 923 00:37:59,749 --> 00:38:01,934 924 00:38:01,934 --> 00:38:02,600 1. Előadó: Jó. 925 00:38:02,600 --> 00:38:05,579 Kérje meg a felhasználót egy szöveggel és tárolja egy változóban s. 926 00:38:05,579 --> 00:38:06,120 Az remek. 927 00:38:06,120 --> 00:38:08,090 Tehát a jobb oldali oldalán, hívjuk A string. 928 00:38:08,090 --> 00:38:10,340 Hogy visszaad egy értéket hogy nem rendelték 929 00:38:10,340 --> 00:38:14,230 ettől jobb oldalról a bal oldali oldalán egy változó nevű s ez 930 00:38:14,230 --> 00:38:15,950 célja, hogy tárolja a húr. 931 00:38:15,950 --> 00:38:16,800 Pontosan. 932 00:38:16,800 --> 00:38:20,000 >> Tehát most a 22. sorban per A megjegyzés a sorban 21, 933 00:38:20,000 --> 00:38:22,780 Nyilvánvalóan ezt a szöveget nyomtatja egy karakter soronként. 934 00:38:22,780 --> 00:38:23,740 De hogyan? 935 00:38:23,740 --> 00:38:27,040 Tehát először is, Inicializáljuk I. 0. 936 00:38:27,040 --> 00:38:31,061 És akkor hogyan jutunk el vége Zamyla nevét? 937 00:38:31,061 --> 00:38:32,810 Nos, a végén Zamyla nevét, tudtam 938 00:38:32,810 --> 00:38:38,151 kézzel írja be az utolsó karaktert a neve valahogy, vagy számát is. 939 00:38:38,151 --> 00:38:38,650 Jobb? 940 00:38:38,650 --> 00:38:43,500 Ha visszamegyünk here-- Z-A-M-L-- Y-L-egy-- így tudtam írja be. 941 00:38:43,500 --> 00:38:47,340 Mi az index Zamyla utolsó levele? 942 00:38:47,340 --> 00:38:52,517 Ha ez 0-- szólva, mint egy programmer-- 0, 1, 2, 3, 4, 5, 943 00:38:52,517 --> 00:38:56,570 Én heard-- így valóban, az utolsó betű A Zamyla neve a hatodik, 944 00:38:56,570 --> 00:38:58,890 de ha azt nézzük, 0, ez lesz az 5. számú. 945 00:38:58,890 --> 00:39:01,320 Így tartsa szem előtt van. 946 00:39:01,320 --> 00:39:04,929 >> Kiderül, van egy funkció C nevű strlen, és vissza a nap 947 00:39:04,929 --> 00:39:06,720 és a mai napig is, Sok programozó 948 00:39:06,720 --> 00:39:09,524 dönt, hogy szinkronizálja neveket a funkciók hangzik, mintha a szavakat 949 00:39:09,524 --> 00:39:10,440 ők próbálnak mondani. 950 00:39:10,440 --> 00:39:12,590 Tehát strlen string hosszát. 951 00:39:12,590 --> 00:39:18,168 És akkor mi lenne karakterlánc hosszát S tért vissza, amikor Zamyla az input? 952 00:39:18,168 --> 00:39:19,569 >> Közönség: Öt. 953 00:39:19,569 --> 00:39:22,090 >> 1 hangszóró: Z-A-M-Y-L. Hat. 954 00:39:22,090 --> 00:39:22,590 Jobb? 955 00:39:22,590 --> 00:39:23,940 Mi a hossza Zamyla nevét? 956 00:39:23,940 --> 00:39:24,440 Jobb? 957 00:39:24,440 --> 00:39:26,240 És csak a valóságban, hat betű. 958 00:39:26,240 --> 00:39:26,740 Jobb? 959 00:39:26,740 --> 00:39:28,940 És így mit jelent ez a mi hurok? 960 00:39:28,940 --> 00:39:32,130 Fogunk menni 0 legfeljebb hat, amely 961 00:39:32,130 --> 00:39:33,650 fog adni nekünk öt ismétléseket. 962 00:39:33,650 --> 00:39:34,890 Mit csinálunk minden bejárást? 963 00:39:34,890 --> 00:39:36,870 Nos, százalékban C, valaki kitalálta a minap, 964 00:39:36,870 --> 00:39:38,710 azt jelenti, helyőrzőjeként mi? 965 00:39:38,710 --> 00:39:39,335 >> Közönség: Char. 966 00:39:39,335 --> 00:39:40,293 1. Előadó: Csak egy char. 967 00:39:40,293 --> 00:39:42,877 Tehát egyetlen character-- nem több karakter, mint egy húr. 968 00:39:42,877 --> 00:39:45,251 És akkor itt van az új vonal hogy megvan a nyomtatást. 969 00:39:45,251 --> 00:39:46,580 És akkor itt van az új szintaxist. 970 00:39:46,580 --> 00:39:51,130 Ha azt szeretnénk, hogy nyomtassa ki az i-edik karakterhez S, hogy úgy mondjam, 971 00:39:51,130 --> 00:39:54,060 akkor egyszerűen azt mondják, a Nevét a húr S, 972 00:39:54,060 --> 00:39:58,230 majd nyissa szögletes zárójel, és majd bezárta szögletes zárójel, egy i 973 00:39:58,230 --> 00:39:58,780 a közép. 974 00:39:58,780 --> 00:40:01,430 És ez a fajta szép, hogy ez a fajta néz ki, mint egy négyzet 975 00:40:01,430 --> 00:40:06,210 csakúgy, mint a terek, ahol a Zamyla karakterek vannak azon a képen van. 976 00:40:06,210 --> 00:40:09,970 >> Tehát, ha én valóban futtatni ezt Most nézzük meg, mi történik. 977 00:40:09,970 --> 00:40:15,190 String 0 pont perjel karakterlánc 0, és akkor én vagyok 978 00:40:15,190 --> 00:40:16,720 majd írja be Zamyla nevét. 979 00:40:16,720 --> 00:40:19,428 Nincs azonnali, mert nem használja nyomtatási f, de ez rendben van. 980 00:40:19,428 --> 00:40:20,660 Én csak tudom, mit tegyek. 981 00:40:20,660 --> 00:40:23,240 És valóban, a kinyomtatott Zamyla nevét, soronként egyet. 982 00:40:23,240 --> 00:40:25,760 >> Most egy kicsit meggondolatlan. 983 00:40:25,760 --> 00:40:28,461 Tegyük fel, hogy nem tudtam, mintegy strlen és gondoltam, 984 00:40:28,461 --> 00:40:31,460 Minden rendben, senki nem megy, hogy egy Íme nagyobb, mint 50 karakter. 985 00:40:31,460 --> 00:40:36,360 Menjünk előre, és újrafordítani ezt és futtassa újra azt, majd írja be Zamyla 986 00:40:36,360 --> 00:40:37,160 újra. 987 00:40:37,160 --> 00:40:40,850 Logikus, hogy mi van a programot megpróbálom kinyomtatni? 988 00:40:40,850 --> 00:40:49,545 Z-A-M-Y-L-A, akkor, mint a 45 ismeretlen bájt memóriát. 989 00:40:49,545 --> 00:40:51,670 És valóban, mi jön vissza hogy ez a gondolat a memóriát. 990 00:40:51,670 --> 00:40:54,180 De csak logikailag, ha Zamyla neve ennek a hosszú, 991 00:40:54,180 --> 00:40:56,450 mint egy a kép Itt, amit mondunk 992 00:40:56,450 --> 00:40:59,810 A további nyomtatást, további nyomtatást, tartsa nyomtatás, további nyomtatást, további nyomtatást, 993 00:40:59,810 --> 00:41:03,781 egészen a 50. karakter, amely ki tudja, mi fog történni. 994 00:41:03,781 --> 00:41:05,030 Úgyhogy tulajdonképpen egy pillantást. 995 00:41:05,030 --> 00:41:06,720 Nézzük írja Zamyla. 996 00:41:06,720 --> 00:41:07,250 Érdekes. 997 00:41:07,250 --> 00:41:08,190 Szerencsénk volt. 998 00:41:08,190 --> 00:41:09,700 Csak egy csomó fehér térben. 999 00:41:09,700 --> 00:41:09,930 Ó. 1000 00:41:09,930 --> 00:41:11,120 Van egy funky karaktert. 1001 00:41:11,120 --> 00:41:14,577 Úgy néz ki, olyan, mint egy furcsa kérdés Mark mellett, de van Zamyla nevét. 1002 00:41:14,577 --> 00:41:15,660 Menjünk igazán vakmerő. 1003 00:41:15,660 --> 00:41:20,000 Mi lenne, ha ki kell nyomtatni 500 blokkolja az ismeretlenbe? 1004 00:41:20,000 --> 00:41:24,380 Menjünk előre, és ezt a valamint majd újra futni. 1005 00:41:24,380 --> 00:41:27,980 És hadd teljes képernyős, mert látnunk kell több hely. 1006 00:41:27,980 --> 00:41:30,460 Zamyla. 1007 00:41:30,460 --> 00:41:31,830 Szerencsém újra. 1008 00:41:31,830 --> 00:41:33,070 >> Mer akkor egyre több vakmerő? 1009 00:41:33,070 --> 00:41:36,070 Menjünk tovább vakmerő. 1010 00:41:36,070 --> 00:41:39,350 50.000 karakter. 1011 00:41:39,350 --> 00:41:41,390 Ez egészen biztosan nem jó ötlet. 1012 00:41:41,390 --> 00:41:41,890 Minden rendben. 1013 00:41:41,890 --> 00:41:42,990 String 0. 1014 00:41:42,990 --> 00:41:44,720 Ez lesz az utolsó demo. 1015 00:41:44,720 --> 00:41:47,261 Zamyla. 1016 00:41:47,261 --> 00:41:48,632 Huh. 1017 00:41:48,632 --> 00:41:50,010 Huh. 1018 00:41:50,010 --> 00:41:50,680 OKÉ. 1019 00:41:50,680 --> 00:41:54,407 Szóval a memória valóban üres most, amely tulajdonképpen egyfajta kényelmes. 1020 00:41:54,407 --> 00:41:55,990 Amit én próbálok alábbiakra: minden rendben. 1021 00:41:55,990 --> 00:41:57,614 És most én csak megyek, hogy vakmerő. 1022 00:41:57,614 --> 00:41:58,570 500.000. 1023 00:41:58,570 --> 00:42:03,860 Make-- nézzük teljes képernyős azt. 1024 00:42:03,860 --> 00:42:04,990 Belép. 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 Ott vagyunk. 1028 00:42:13,390 --> 00:42:15,610 Fogalmam sincs, hogy mi van, de ez rosszul hangzik. 1029 00:42:15,610 --> 00:42:16,110 Minden rendben. 1030 00:42:16,110 --> 00:42:20,322 És valóban, hamarosan, ha között A szerencsés kevesek munkaidőn 1031 00:42:20,322 --> 00:42:22,780 és a probléma meg egyet, akkor Lehet, nagyon jól ez a találkozás. 1032 00:42:22,780 --> 00:42:25,490 Szegmentációs hiba valójában nem Van egy jól meghatározott jelentéssel. 1033 00:42:25,490 --> 00:42:28,450 Ez azt jelenti, valami tévedés kapcsolatos egy szegmens a memória. 1034 00:42:28,450 --> 00:42:30,490 És a laikus szempontból, ez azt jelenti, hogy megérintette 1035 00:42:30,490 --> 00:42:34,780 memory-- szoktuk RAM a gépemben hogy nem kellett volna hozzáférést. 1036 00:42:34,780 --> 00:42:37,050 És ez az, ami mind erős és veszélyes is 1037 00:42:37,050 --> 00:42:39,910 a C, hogy tulajdonképpen nem léphetnek be szabadon 1038 00:42:39,910 --> 00:42:45,910 A teljes egészében a program memória vagy bájt vagy RAM, pontosabban. 1039 00:42:45,910 --> 00:42:49,510 >> Így, bár Zamyla neve csak hat karakter hosszú, 1040 00:42:49,510 --> 00:42:51,450 Még mindig megy sehova memóriában akarok. 1041 00:42:51,450 --> 00:42:53,491 És ahogy Mellesleg, ha már Olvastad néhány cikket 1042 00:42:53,491 --> 00:42:55,610 az évek néhány szerver vagy egy program 1043 00:42:55,610 --> 00:42:58,654 szerzés repedt vagy feltört ez kihasználták valamit 1044 00:42:58,654 --> 00:43:00,820 úgynevezett puffer túlcsordulás kihasználni, hogy mi lesz a ténylegesen 1045 00:43:00,820 --> 00:43:04,970 beszélni néhány hét alatt, ami Általában hivatkozva valahogy becsapó 1046 00:43:04,970 --> 00:43:09,090 A számítógépet jól megy határain túlra memória 1047 00:43:09,090 --> 00:43:11,410 hogy legyen, és találni valami szaftos 1048 00:43:11,410 --> 00:43:13,530 abban memory-- egy jelszót, talán egy utat 1049 00:43:13,530 --> 00:43:16,990 megkerülésének néhány sorszám ellenőrizze, vagy csak általában képesek 1050 00:43:16,990 --> 00:43:20,360 becsapni a számítógép végrehajtó kód, amely nem volt célja. 1051 00:43:20,360 --> 00:43:22,360 De térjünk vissza a valóságban csak egy pillanatra 1052 00:43:22,360 --> 00:43:24,550 ahol ez a program megvalósított strlen, 1053 00:43:24,550 --> 00:43:26,110 és vezessen be egy dolgot itt. 1054 00:43:26,110 --> 00:43:30,030 Mi az újdonság ezek között első három sor? 1055 00:43:30,030 --> 00:43:30,910 >> Tehát húr dot h. 1056 00:43:30,910 --> 00:43:35,490 Kiderül, itt van ez a könyvtár úgynevezett Húr Dot H, vagy String Könyvtár, 1057 00:43:35,490 --> 00:43:38,490 akinek header fájlt, hogy úgy mondjam, string dot h ez ad nekem 1058 00:43:38,490 --> 00:43:40,860 hozzáférést ehhez strlen funkciót. 1059 00:43:40,860 --> 00:43:43,841 Ha én kihagyja, hogy a fordító fog kiabálni velem valamilyen formában. 1060 00:43:43,841 --> 00:43:44,590 De tudod mit? 1061 00:43:44,590 --> 00:43:46,090 Most térjünk igazán árnyalt. 1062 00:43:46,090 --> 00:43:50,820 Összhangban 22, van valami fajta A inefficient-- rosszul tervezett, 1063 00:43:50,820 --> 00:43:53,990 arguably-- erről kódsort. 1064 00:43:53,990 --> 00:43:56,280 Gondolj vissza, hogy A hurok végrehajtják 1065 00:43:56,280 --> 00:44:00,140 és milyen lépéseket fog újra megtörténni, és újra és again-- az inicializálás, 1066 00:44:00,140 --> 00:44:04,110 a feltétellel, hogy a kód lesz végrehajtva, akkor a növekmény 1067 00:44:04,110 --> 00:44:07,880 vagy a változás, akkor a feltétel, akkor a kód, akkor a változás, akkor 1068 00:44:07,880 --> 00:44:11,280 a feltétel, akkor a kód, majd a változás, és így tovább. 1069 00:44:11,280 --> 00:44:15,320 Szóval mi lehet egy kicsit aggasztó, vagy rosszul végzett itt? 1070 00:44:15,320 --> 00:44:16,387 Igen, a kék. 1071 00:44:16,387 --> 00:44:18,220 Közönség: STRLEN van úgynevezett sok-sok alkalommal. 1072 00:44:18,220 --> 00:44:20,654 1073 00:44:20,654 --> 00:44:21,320 1. Előadó: Igen. 1074 00:44:21,320 --> 00:44:23,700 Tehát strlen hívják sokszor, de mi van 1075 00:44:23,700 --> 00:44:27,113 hossza Zamyla nevét a első alkalommal a ciklus végrehajtja? 1076 00:44:27,113 --> 00:44:27,860 >> Közönség: Hat. 1077 00:44:27,860 --> 00:44:28,110 >> 1. Előadó: Hat. 1078 00:44:28,110 --> 00:44:30,976 Nos, mi a hossza a nevét A második alkalommal a kódot hajt végre? 1079 00:44:30,976 --> 00:44:31,432 >> Közönség: Hat. 1080 00:44:31,432 --> 00:44:31,890 >> 1. Előadó: Rendben. 1081 00:44:31,890 --> 00:44:32,720 Ez még mindig hat. 1082 00:44:32,720 --> 00:44:33,220 Jobb? 1083 00:44:33,220 --> 00:44:35,260 Zarla nevét még nem változott, még akkor is, ha keresem 1084 00:44:35,260 --> 00:44:38,240 A csak egy része a betűk az ő nevét. 1085 00:44:38,240 --> 00:44:41,349 És így az a tény, hogy én vagyok hatékonyan kérdezi ezt a kérdést, mi 1086 00:44:41,349 --> 00:44:44,640 hossza Zamyla, mi a hossza A Zamyla, mi a hossza Zamyla, 1087 00:44:44,640 --> 00:44:47,990 Hat különböző alkalommal, vagy hét még, csak hülye, 1088 00:44:47,990 --> 00:44:50,390 mert ez változatlan a válasz. 1089 00:44:50,390 --> 00:44:53,550 És így, amit tudtam ténylegesen tennie, this-- a karakterlánc egy 1090 00:44:53,550 --> 00:44:55,680 Nekem van egy kissé jobb verzió itt. 1091 00:44:55,680 --> 00:45:00,110 There-- whoops-- húr két Nekem van marginálisan jobb változata, amelyben 1092 00:45:00,110 --> 00:45:05,010 Én this-- helyett csak inicializálása i 0, én is egy vessző 1093 00:45:05,010 --> 00:45:07,990 Kijelentem, egy második nevű változó n-- Nem kell mondanom int újra. 1094 00:45:07,990 --> 00:45:09,220 Nem kellene, sőt. 1095 00:45:09,220 --> 00:45:10,380 De én azt mondom n. 1096 00:45:10,380 --> 00:45:13,610 És akkor alaphelyzetbe n a strlen n, úgy, hogy most 1097 00:45:13,610 --> 00:45:17,110 Hányszor strlen kivégeznek összesen? 1098 00:45:17,110 --> 00:45:17,610 Csak egyszer. 1099 00:45:17,610 --> 00:45:20,257 És így ez mit értünk korábban a jobb tervezés. 1100 00:45:20,257 --> 00:45:23,090 Igazából egyszer a kód helyes, megy vissza, és végiggondolja, 1101 00:45:23,090 --> 00:45:26,820 vagyok így a lehető legkevesebb memória vagy néhány másodperc 1102 00:45:26,820 --> 00:45:30,409 vagy milliszekundum számítógép idő a lehetséges, hogy végre néhány probléma? 1103 00:45:30,409 --> 00:45:32,200 És fogok görgetni fel, és csak annyit, 1104 00:45:32,200 --> 00:45:34,283 hogy itt van ez említés null ez a verzió, 1105 00:45:34,283 --> 00:45:36,390 de majd jön vissza, hogy nemsokára. 1106 00:45:36,390 --> 00:45:41,010 Mert most, vessünk egy pillantást A ez hova vezet minket. 1107 00:45:41,010 --> 00:45:44,110 Tehát az egyik, kiderül, hogy Most, hogy megvan a képessége, 1108 00:45:44,110 --> 00:45:46,860 nézni az egyes karakterek, kihasználhatjuk valamit 1109 00:45:46,860 --> 00:45:50,807 hétről 0, ami nagyon titokzatos, fajta érdektelen idején. 1110 00:45:50,807 --> 00:45:53,390 De most, és különösen akkor, ha eljutni kriptográfia egy hét, 1111 00:45:53,390 --> 00:45:54,820 ez lesz elég erős. 1112 00:45:54,820 --> 00:45:57,450 Kiderült, hogy néhány adatok types-- ints és úszók 1113 00:45:57,450 --> 00:46:00,300 és karakter és vonósokra és egyéb things-- néhány közülük 1114 00:46:00,300 --> 00:46:02,800 lehet nagyon könnyen átalakítható a másikba. 1115 00:46:02,800 --> 00:46:05,840 >> Például, amikor beszéltünk Az ASCII egy ideig ago-- itt 1116 00:46:05,840 --> 00:46:07,796 A nagybetű keresztül M, pont, pont, 1117 00:46:07,796 --> 00:46:12,530 dot-- azt mondta, hogy van egy leképezés ezek között a betűket és számokat. 1118 00:46:12,530 --> 00:46:14,970 És valóban, ez igaz A kisbetűk is. 1119 00:46:14,970 --> 00:46:17,470 Kisbetűs egy 97, a tőke a 65. 1120 00:46:17,470 --> 00:46:20,860 És van egy számot ASCII, amely csak ez a leképezés 1121 00:46:20,860 --> 00:46:23,240 rendszer az összes többi ilyen leveleket. 1122 00:46:23,240 --> 00:46:25,030 Szóval mit is jelent ez? 1123 00:46:25,030 --> 00:46:28,390 Nos, én megyek előre, és nyitott A valódi gyorsan egy úgynevezett 1124 00:46:28,390 --> 00:46:31,240 ASCII 0, amelynek legnagyobb részét a hozzászólás. 1125 00:46:31,240 --> 00:46:33,860 És ismét online lehet mindig pillanat alatt át a megjegyzéseket. 1126 00:46:33,860 --> 00:46:36,180 >> És nézd meg, mit ezt fogja csinálni. 1127 00:46:36,180 --> 00:46:38,410 Szóval ez van a fő funkciója. 1128 00:46:38,410 --> 00:46:41,490 Már kódolva a számok csak a Most, mert tudom, hogy mit csinálok. 1129 00:46:41,490 --> 00:46:42,950 Tudom, hogy mit akarok itt látni. 1130 00:46:42,950 --> 00:46:45,220 És én már inicializált I. 65. 1131 00:46:45,220 --> 00:46:48,490 És én számítok fel a 26 betű összesen. 1132 00:46:48,490 --> 00:46:52,990 És mit fogok én kinyomtathat egy sorral 1133 00:46:52,990 --> 00:46:54,930 ha lehet értelmezni ez a kiemelt sor? 1134 00:46:54,930 --> 00:46:55,970 Mi lett nyomtatva? 1135 00:46:55,970 --> 00:46:56,797 Igen. 1136 00:46:56,797 --> 00:46:57,264 >> Közönség: Fogsz kinyomtatni a levelet, hogy 1137 00:46:57,264 --> 00:46:59,805 megfelel a térképet a levél érték és egész érték? 1138 00:46:59,805 --> 00:47:01,199 1139 00:47:01,199 --> 00:47:01,990 1. Előadó: Pontosan. 1140 00:47:01,990 --> 00:47:04,740 Megyek nyomtatni a levél megfelelő egész érték, 1141 00:47:04,740 --> 00:47:06,131 és fordítva, az alábbiak szerint. 1142 00:47:06,131 --> 00:47:08,880 Hát ez az, hogy valaki azt mondta korábban, csak egy helykitöltő egy char. 1143 00:47:08,880 --> 00:47:09,490 Még mindig. 1144 00:47:09,490 --> 00:47:12,280 Ez, persze, egy helykitöltő Egy int-- nem egy új sort. 1145 00:47:12,280 --> 00:47:18,140 És most észre, az első érték, Én dugulás számára, hogy helyfoglaló 1146 00:47:18,140 --> 00:47:22,320 nem csak az I. mondok, A zárójelben, char én, 1147 00:47:22,320 --> 00:47:26,700 amely a zárójeles char mondja a fordító, kezelésére I 1148 00:47:26,700 --> 00:47:28,490 nem olyan, mi az, ami egy szám. 1149 00:47:28,490 --> 00:47:30,490 Kezeljük úgy, mint egy valódi karakter. 1150 00:47:30,490 --> 00:47:34,490 Míg a második érték Én dugulás in-- én-- kéne lennie egy számot. 1151 00:47:34,490 --> 00:47:38,140 >> Tehát, ha tudom lefordítani ezt a program-- így ez teszi ASCII 0, 1152 00:47:38,140 --> 00:47:41,720 dot perjel ASCII 0-- én csak kap Ez a praktikus kis grafikon, amely 1153 00:47:41,720 --> 00:47:44,950 megmutatja az összes lehetséges leképezés anélkül, hogy szerintem 1154 00:47:44,950 --> 00:47:46,450 keresztül, vagy kitalálni a saját. 1155 00:47:46,450 --> 00:47:48,783 És én is nyomtat ki, észre a kisbetűk, 1156 00:47:48,783 --> 00:47:51,410 mert pár sorral később, én is ki kell nyomtatni a leképezést 1157 00:47:51,410 --> 00:47:53,737 is, amely csak a azt mondják, hogy ha egyszer megérted 1158 00:47:53,737 --> 00:47:55,570 mi folyik alatta A motorháztető, igaz 1159 00:47:55,570 --> 00:47:57,111 automatikusan konvertálja oda-vissza. 1160 00:47:57,111 --> 00:48:00,160 És valóban, ha valakinek valaha ez az általános iskolában 1161 00:48:00,160 --> 00:48:03,490 vagy hallott valaki mitikusan vesz egy megjegyzés 1162 00:48:03,490 --> 00:48:05,620 és átadta volna a vagy barátja az osztályban, 1163 00:48:05,620 --> 00:48:08,300 de megzavarta a betűket, mint az A B válik, 1164 00:48:08,300 --> 00:48:11,240 és B válik C, vagy valami bonyolultabb annál, nos, 1165 00:48:11,240 --> 00:48:13,410 hogyan megy körülbelül végrehajtó, mint egy gyerek? 1166 00:48:13,410 --> 00:48:16,340 Nos, csak milyen tudni Egy válik B, B válik a C, 1167 00:48:16,340 --> 00:48:19,700 de matematikailag Mi volt az a gyerek csinál? 1168 00:48:19,700 --> 00:48:22,050 Mit hozzátéve, hogy minden betű? 1169 00:48:22,050 --> 00:48:23,340 Hatékonyan, 1. 1170 00:48:23,340 --> 00:48:27,740 >> Tehát, ha változtatni B-be, ez olyan, mint a változó 65-66, 1171 00:48:27,740 --> 00:48:29,590 amely matematikailag pontosan azt jelenti, adjunk hozzá 1. 1172 00:48:29,590 --> 00:48:33,300 És így ha kellett végrehajtani hogy kicsit megtévesztő technika 1173 00:48:33,300 --> 00:48:36,380 a tanár kódot, Lehet csinálni, hogy pontosan csak 1174 00:48:36,380 --> 00:48:38,552 hozzáadásával egyetlen betűvel együtt. 1175 00:48:38,552 --> 00:48:40,260 Szóval nemsokára, mi vagyunk lesz látni, hogyan 1176 00:48:40,260 --> 00:48:43,300 kihasználhatják, hogy a ténylegesen valóban tülekedés és megfejt 1177 00:48:43,300 --> 00:48:43,991 információkat. 1178 00:48:43,991 --> 00:48:47,240 Közben tudom, hogy már megkezdődött hogy vezessenek be egy pár más könyvtárak 1179 00:48:47,240 --> 00:48:48,990 here-- a húr egy ma. 1180 00:48:48,990 --> 00:48:51,180 És egy nagyon hasznos oldal remélhetőleg talál 1181 00:48:51,180 --> 00:48:55,010 nevezik reference.cs50.net, amely A tanári kar már össze, 1182 00:48:55,010 --> 00:48:57,510 így ha azt szeretnénk, hogy felnéz, hogyan strlen munkák, 1183 00:48:57,510 --> 00:48:59,300 akkor elkezd gépelni A függvény nevét, 1184 00:48:59,300 --> 00:49:02,890 kattintson strlen ott, majd Egy kevésbé kényelmes magyarázat 1185 00:49:02,890 --> 00:49:03,700 fog megjelenni. 1186 00:49:03,700 --> 00:49:06,880 Vagy ha szeretné, hogy a hivatalos Linux-alapú magyarázata, 1187 00:49:06,880 --> 00:49:08,945 akkor kattintson több süppedő a jobb felső sarokban, és ez 1188 00:49:08,945 --> 00:49:12,070 bemutatja ugyanazt az információt, de a bonyolultabb kifejezéseket. 1189 00:49:12,070 --> 00:49:15,070 Ez hasznos forrás a valójában mit csinál mindent. 1190 00:49:15,070 --> 00:49:17,320 >> Legközelebb megyünk vessünk egy pillantást Ovaltine 1191 00:49:17,320 --> 00:49:20,070 és több, és bemutatkozni a világ a kriptográfia. 1192 00:49:20,070 --> 00:49:21,930 Ezt megelőzően, majd meglátjuk Később ezen a héten. 1193 00:49:21,930 --> 00:49:23,390 És most, Colton Ogden. 1194 00:49:23,390 --> 00:49:26,730 Találkozunk szerdán. 1195 00:49:26,730 --> 00:49:30,216 >> [Zenelejátszási] 1196 00:49:30,216 --> 00:49:33,702 >> [Zenelejátszási] 1197 00:49:33,702 --> 00:49:38,682 1198 00:49:38,682 --> 00:49:42,200 >> 1. Előadó: Milyen a [Hangjelzés] csinálsz? 1199 00:49:42,200 --> 00:49:45,720 >> 1. Előadó: Eszem desszertet? 1200 00:49:45,720 --> 00:49:47,160 Hogyan enni? 1201 00:49:47,160 --> 00:49:47,860 A kezeddel? 1202 00:49:47,860 --> 00:49:54,050 1203 00:49:54,050 --> 00:49:57,940 >> [Zenelejátszási] 1204 00:49:57,940 --> 00:50:03,453