1 00:00:00,000 --> 00:00:05,530 2 00:00:05,530 --> 00:00:09,790 >> TANÁR: Tehát a napirendet ezen a héten, nem sok cucc. 3 00:00:09,790 --> 00:00:12,801 De remélhetőleg igen, nagyon hasznos és az érintett srácok ezen a héten. 4 00:00:12,801 --> 00:00:15,550 De megyünk költeni talán 15, 20 perc csak gyorsan beszél 5 00:00:15,550 --> 00:00:17,370 A link listát. 6 00:00:17,370 --> 00:00:19,694 Linklisták fognak fedezi a kvízt. 7 00:00:19,694 --> 00:00:22,610 Így talán nem lenne nagyon hasznos tanulni egy kicsit arról, hogy mi is az. 8 00:00:22,610 --> 00:00:25,210 >> Megyünk tölteni a hatalmas többsége a mai szakaszt 9 00:00:25,210 --> 00:00:27,640 megy át kvíz nulla gyakorlatban problémákat. 10 00:00:27,640 --> 00:00:30,970 És akkor majd mentse talán 20, 30 perc végén minden lappangó kérdések 11 00:00:30,970 --> 00:00:32,850 valakinek van. 12 00:00:32,850 --> 00:00:34,610 >> És akkor, az utolsó Öt perc, megyek 13 00:00:34,610 --> 00:00:36,467 hogy egy szivattyú fel beszédében a kvíz. 14 00:00:36,467 --> 00:00:38,050 Srácok minden akar lenni ide. 15 00:00:38,050 --> 00:00:39,591 Mert lesz egy jó ideje. 16 00:00:39,591 --> 00:00:42,650 17 00:00:42,650 --> 00:00:49,230 >> Rendben, így néhány anyag linkre listán. 18 00:00:49,230 --> 00:00:52,620 Hogyan Ők jellemzően strukturált van Van egy úgynevezett node, ugye? 19 00:00:52,620 --> 00:00:54,870 Van ezek a dolgok úgynevezett csomópontok, amelyek struktúrákat. 20 00:00:54,870 --> 00:00:57,360 Én megyek át, hogyan lehet létrehozni Egy csomópont a következő dia. 21 00:00:57,360 --> 00:01:00,680 De lényegében az összes kapcsolódó A listák olyan adat, amelyet 22 00:01:00,680 --> 00:01:03,340 már összefűzve keresztül mutatók. 23 00:01:03,340 --> 00:01:09,110 >> És így az az előnye van Az egy láncolt lista fölött, 24 00:01:09,110 --> 00:01:11,280 talán, mint egy tömb, a az a tény, hogy egy tömbben 25 00:01:11,280 --> 00:01:15,000 szükség van egy összefüggő blokk memória minden ugyanazon a helyen, egy 26 00:01:15,000 --> 00:01:16,870 a másik után, hogy képes, hogy az. 27 00:01:16,870 --> 00:01:20,200 Mivel a láncolt lista, amit lehetett véletlenszerű kis bit memória 28 00:01:20,200 --> 00:01:23,020 az egész számítógépen felfűzve össze mutatók. 29 00:01:23,020 --> 00:01:26,270 >> És így Önnek információkhoz férhet hozzá, 30 00:01:26,270 --> 00:01:28,610 hogy jön egymás után egyéb, a másik után 31 00:01:28,610 --> 00:01:32,720 anélkül, csak egy hatalmas darab memória számítógép valahol. 32 00:01:32,720 --> 00:01:35,910 És így ez az egyik fő oka annak, hogy használata link listája. 33 00:01:35,910 --> 00:01:40,300 >> Másodszor, ez nagyon egyszerű, hogy dinamikusan átméretezi a kapcsolatot a listán, mert a tömb, 34 00:01:40,300 --> 00:01:44,720 ha egy tömböt, Van egy bizonyos beállított értéket. 35 00:01:44,720 --> 00:01:47,340 Mondjuk akartam létrehozni, egy sor 10 egészek. 36 00:01:47,340 --> 00:01:49,970 Én létre egy sor 10 egészek, és ennyi. 37 00:01:49,970 --> 00:01:50,580 Ez 10. 38 00:01:50,580 --> 00:01:52,038 Nem tudom, mit tegyek ezután. 39 00:01:52,038 --> 00:01:53,680 Ha akartam, hogy ez 11, nem tudom megtenni. 40 00:01:53,680 --> 00:01:55,710 Ha akarom, hogy ez a 9., nem teheti meg. 41 00:01:55,710 --> 00:01:59,910 >> Míg egy linket listát, felveheti és törölni, és helyezze, ahol csak akar. 42 00:01:59,910 --> 00:02:04,940 Dinamikusan lakik a strukturálják itt, az adatok szerkezetét. 43 00:02:04,940 --> 00:02:08,370 És ez ad nekünk egy csomó több hozzáadott rugalmasság 44 00:02:08,370 --> 00:02:11,320 hogy általában nem Van tömbök. 45 00:02:11,320 --> 00:02:15,210 >> Bárki zavaros az alapvető szerkezete milyen kapcsolat lista 46 00:02:15,210 --> 00:02:17,930 vagy miért van, hogy az egyik több mint egy tömb? 47 00:02:17,930 --> 00:02:20,330 Igen, megyünk át részletesen hogyan kell ténylegesen létre egyet. 48 00:02:20,330 --> 00:02:24,121 De ez csak egyfajta Az általános értelemben most. 49 00:02:24,121 --> 00:02:24,620 Hűvös. 50 00:02:24,620 --> 00:02:28,770 És így tömböket összefűzve Ezen a szép kis dolog 51 00:02:28,770 --> 00:02:29,960 úgynevezett csomópontok. 52 00:02:29,960 --> 00:02:32,210 Minden olyan csomópont egy olyan típusú struktúra. 53 00:02:32,210 --> 00:02:36,090 Ne feledje, a struktúra van, ha akart hogy hozzon létre egy bizonyos típusú változó 54 00:02:36,090 --> 00:02:39,850 C, amelyre még nincs létezik, akkor, mint programozó, 55 00:02:39,850 --> 00:02:42,030 valóban létre, hogy magad. 56 00:02:42,030 --> 00:02:46,540 >> És így az ilyen típusú adatok szerkezet az úgynevezett egy csomópont, 57 00:02:46,540 --> 00:02:50,770 ténylegesen általunk készített, hogy nem áll fenn a C önmagában. 58 00:02:50,770 --> 00:02:53,150 És az is, hogy hozzon létre egy olyan van, 59 00:02:53,150 --> 00:02:57,170 fejlécében typedef struct, amely azt mondja, a fordító vagyok 60 00:02:57,170 --> 00:02:59,640 mintegy létrehozni egy struct. 61 00:02:59,640 --> 00:03:00,830 >> Megyünk a nevét "node". 62 00:03:00,830 --> 00:03:03,350 És belül megyünk arra, hogy egy változó, 63 00:03:03,350 --> 00:03:05,060 ami megy értéket tárolnak. 64 00:03:05,060 --> 00:03:09,320 És akkor mi is lesz a már egy mutató az úgynevezett "jövő" 65 00:03:09,320 --> 00:03:12,090 hogy pont a következő csomópont a linket listán. 66 00:03:12,090 --> 00:03:14,730 És akkor azt befejezed ki mellett csak ismétlődő csomópont ismét úgy 67 00:03:14,730 --> 00:03:17,490 A fordító tudja, OK itt a vége az én struktúra. 68 00:03:17,490 --> 00:03:22,540 >> És így ezen a módon, mi vagyunk a fajta létrehozásának egy aranyos kis tömb 69 00:03:22,540 --> 00:03:25,450 fajta dolog egy érték és mutatóval. 70 00:03:25,450 --> 00:03:27,757 És akkor linket mindet valamint azok a mutatók. 71 00:03:27,757 --> 00:03:30,090 Hogy így minden fajta lehet felfűzve együtt egy láncban. 72 00:03:30,090 --> 00:03:32,920 73 00:03:32,920 --> 00:03:34,162 >> Hűvös. 74 00:03:34,162 --> 00:03:35,453 Hallod, hogy egy kicsit jobban? 75 00:03:35,453 --> 00:03:36,140 >> Közönség: Igen. 76 00:03:36,140 --> 00:03:38,540 >> Tanár: Rendben. 77 00:03:38,540 --> 00:03:44,280 Tehát az is, hogy, ahogy ti is látni, Egy tipikus linket lista felépítése 78 00:03:44,280 --> 00:03:45,500 az, hogy van egy vezetője. 79 00:03:45,500 --> 00:03:49,460 Megvan a fejét érték, amely nem fogtak bármely más mutató. 80 00:03:49,460 --> 00:03:53,177 De ez meg fog mutatni, vagy hivatkozás, egy másik csomópont. 81 00:03:53,177 --> 00:03:56,510 A csomópont után fog hivatkozni a csomópont után, és így tovább és így tovább 82 00:03:56,510 --> 00:03:59,170 amíg meg végül hit A végén a link lista. 83 00:03:59,170 --> 00:04:00,980 És ha csak nem lesz egy mutató van. 84 00:04:00,980 --> 00:04:04,659 >> És igen, gondolom, mint, egy láncon, vagy akár Ha bármely srácok tette, nem tudom, 85 00:04:04,659 --> 00:04:06,450 mint a Fruit Loops amikor kicsi voltál. 86 00:04:06,450 --> 00:04:08,590 Tennéd karakterlánc őket együtt és viseld a nyaka köré. 87 00:04:08,590 --> 00:04:09,840 Szerintem ez pontosan ugyanaz a dolog. 88 00:04:09,840 --> 00:04:12,964 Van ilyen kis dolgot, amit lehet string együtt, hogy pont az egyik 89 00:04:12,964 --> 00:04:15,291 után, hogy az egymás után , és így tovább és így tovább 90 00:04:15,291 --> 00:04:17,040 amíg van egy lánc egy adatstruktúra 91 00:04:17,040 --> 00:04:21,190 amelyek segítségével viszont tetszik. 92 00:04:21,190 --> 00:04:27,370 >> Tehát az is, hogy ez a mi lenne jellemzően beszúrása vagy törlése 93 00:04:27,370 --> 00:04:30,020 minden csomópont egy linket lista nagyon eltérő 94 00:04:30,020 --> 00:04:31,970 attól függően, hogy hol, hogy csomópont. 95 00:04:31,970 --> 00:04:34,880 Tehát, például azért, mert mutatók mindig 96 00:04:34,880 --> 00:04:38,645 mutatott egy bizonyos értéket, Ha törölni vagy beszúrni egy csomópont, 97 00:04:38,645 --> 00:04:41,770 azt szeretnénk, hogy győződjön meg arról, hogy a mutató A minden mutatva a helyes dolgokat. 98 00:04:41,770 --> 00:04:46,200 >> Tehát, ha akarta potenciálisan helyezze új csomópont értéke egy 99 00:04:46,200 --> 00:04:48,379 belsejében egy rendezett kapcsolat listát, mindannyian tudjuk itt 100 00:04:48,379 --> 00:04:51,170 a képen, hogy fog menj be a fej és a két, ugye? 101 00:04:51,170 --> 00:04:52,620 Mert egy jól illik oda. 102 00:04:52,620 --> 00:04:59,060 De a mód, ahogyan ezt tenné ez az első dereferencing a mutató 103 00:04:59,060 --> 00:05:02,160 fej-küldő, hogy az egyik. 104 00:05:02,160 --> 00:05:05,040 >> De mi jön be a probléma itt. 105 00:05:05,040 --> 00:05:08,280 Tud valaki, hogy mi a probléma van, ha mi voltunk az első hivatkozás feloldási 106 00:05:08,280 --> 00:05:10,090 A mutató tetőtől egyet? 107 00:05:10,090 --> 00:05:14,202 Milyen probléma lehet befut, ha megpróbáljuk adni ezt az első a mi tömb? 108 00:05:14,202 --> 00:05:15,409 >> Közönség: [hallható] 109 00:05:15,409 --> 00:05:16,200 Professzor: Pontosan. 110 00:05:16,200 --> 00:05:20,000 Tehát itt van egy mutató volt Egyszer mutatott a fejét, hogy kettő. 111 00:05:20,000 --> 00:05:23,120 De ha megszabadulni, hogy a mutató, pont ez az egyik, 112 00:05:23,120 --> 00:05:26,500 most nincs ötletem hová menjen, hogy két. 113 00:05:26,500 --> 00:05:29,850 Mert mint már mondtam, hogy van egy óriás darab memória a számítógép. 114 00:05:29,850 --> 00:05:31,860 Mindezek csomópontokat véletlenszerűen tarkított 115 00:05:31,860 --> 00:05:33,350 minden helyen a számítógép. 116 00:05:33,350 --> 00:05:36,140 És nem tudom, hogyan hogy megy a megállapítás, hogy. 117 00:05:36,140 --> 00:05:40,420 >> És így meg kell, hogy a mutatók mutatva minden csomópont a végén. 118 00:05:40,420 --> 00:05:42,420 Különben, ha véletlenül követéssel, egyik 119 00:05:42,420 --> 00:05:44,485 nélkül jelölne érték az első, te 120 00:05:44,485 --> 00:05:47,410 csak fog veszíteni mindent utána. 121 00:05:47,410 --> 00:05:49,720 >> Szóval mi megyünk tennie, akkor az első 122 00:05:49,720 --> 00:05:53,270 szeretnénk létrehozni egy mutatót A csomópont beszúrni kívánt. 123 00:05:53,270 --> 00:05:55,270 Pont ez, ahol szeretné szúrni azt, 124 00:05:55,270 --> 00:05:59,410 majd később neked is pont fejét az egyik. 125 00:05:59,410 --> 00:06:02,800 >> Van ennek értelme itt mindenki? 126 00:06:02,800 --> 00:06:03,346 Nagy. 127 00:06:03,346 --> 00:06:04,720 Gondold azt, hogy olyan, mint egy lánc. 128 00:06:04,720 --> 00:06:07,420 Ha hozzá egy láncot, ez egyfajta ösztönös 129 00:06:07,420 --> 00:06:10,742 hogyan mennék behelyezésével, hogy. 130 00:06:10,742 --> 00:06:15,274 >> OK, így valójában sokkal rövidebb, mint gondoltam volna, 131 00:06:15,274 --> 00:06:16,690 egy öt perces duma a linklisták. 132 00:06:16,690 --> 00:06:19,960 Csak, hogy a srácok a alapgondolata, hogy mi az. 133 00:06:19,960 --> 00:06:23,580 >> Itt van napirenden kvíz nulla. 134 00:06:23,580 --> 00:06:24,895 Ne hagyd, hogy ez megfélemlíteni. 135 00:06:24,895 --> 00:06:26,270 Tudom, hogy ez a sok információ. 136 00:06:26,270 --> 00:06:27,580 Úgy néz ki, nagyon ijesztő. 137 00:06:27,580 --> 00:06:33,130 Ez is egy csomó, én úgy gondolja, CSC típusú kifejezések. 138 00:06:33,130 --> 00:06:37,440 Dolgok, mint hexadecimális húrok, mutatók, dinamikus memóriaterületekből 139 00:06:37,440 --> 00:06:40,120 Nagyon ijesztő hangzású kifejezéseket. 140 00:06:40,120 --> 00:06:42,700 >> De mi lesz megtörni őket le, hogy némi gyakorlattal problémák 141 00:06:42,700 --> 00:06:44,980 úgy, hogy a srácok minden készek ehhez a vizsgálathoz. 142 00:06:44,980 --> 00:06:47,104 Hányan vagytok srácok Már elkezdtem tanulni? 143 00:06:47,104 --> 00:06:50,040 144 00:06:50,040 --> 00:06:53,670 >> OK, srácok valószínűleg szeretne kezdeni a kezdetekhez 145 00:06:53,670 --> 00:06:56,480 azon, hogy az adott teszt holnap. 146 00:06:56,480 --> 00:06:58,739 Vagy csütörtökön néhányan. 147 00:06:58,739 --> 00:07:01,030 Igen, így fogunk menni több mint egy kis gyakorlás problémákat. 148 00:07:01,030 --> 00:07:04,600 Ha a srácok minden akarják venni ki egy papírlapot, egy ceruza. 149 00:07:04,600 --> 00:07:07,310 Megyünk csak töltik a túlnyomó többsége a mai szakaszt 150 00:07:07,310 --> 00:07:11,590 megy át bizonyos, hogy így a srácok egy ötlet, mire számíthat a kvízt. 151 00:07:11,590 --> 00:07:14,957 152 00:07:14,957 --> 00:07:16,890 >> OKÉ. 153 00:07:16,890 --> 00:07:19,730 Pár logisztikai részletek is, bárki számára 154 00:07:19,730 --> 00:07:25,120 aki nem volt, hogy ez a kapcsolat létezik, ha elmész cs50.yale.edu, az első 155 00:07:25,120 --> 00:07:28,566 Ezen az oldalon van egy link hogy azt mondja: "A kvíz Zero." 156 00:07:28,566 --> 00:07:29,440 Link visz oda. 157 00:07:29,440 --> 00:07:31,065 Ha még nem olvastad, kérlek olvasd el. 158 00:07:31,065 --> 00:07:34,470 Mert azt mondja, nagyon fontos információkat a kvízt. 159 00:07:34,470 --> 00:07:37,410 >> Megyek húzza ezt ki hogy csak azért, mert fizikailag, 160 00:07:37,410 --> 00:07:40,200 ha a srácok nem tudja, hol menni, mi lesz probléma. 161 00:07:40,200 --> 00:07:44,220 És így ha az utolsó szempontjából val N, menjen a jogi egyetemre nézőtér. 162 00:07:44,220 --> 00:07:47,500 És ha az utolsó kezdődik P Z, menjen Davies Auditorium. 163 00:07:47,500 --> 00:07:50,240 És ez csak akkor érvényes a az emberek a szerda részt. 164 00:07:50,240 --> 00:07:53,420 >> Ha figyelembe a kvíz Csütörtök, elmész SSS 114 165 00:07:53,420 --> 00:07:55,078 ahol az előadásán tipikusan. 166 00:07:55,078 --> 00:07:55,953 Közönség: [hallható] 167 00:07:55,953 --> 00:07:59,316 168 00:07:59,316 --> 00:08:01,940 Professzor: O Z-ig, fogsz menni a Davies nézőtér. 169 00:08:01,940 --> 00:08:03,273 Én meg fog változni, nem? 170 00:08:03,273 --> 00:08:05,670 171 00:08:05,670 --> 00:08:09,698 >> Ó, igen, csak nem automatikus. 172 00:08:09,698 --> 00:08:11,753 >> Ja, hogy te Christa. 173 00:08:11,753 --> 00:08:15,190 174 00:08:15,190 --> 00:08:16,030 Igen, az én hibám. 175 00:08:16,030 --> 00:08:17,610 Ja, O Z-ig, fogsz menni Davies Auditorim. 176 00:08:17,610 --> 00:08:19,140 Megyek erősít ez egyszer feltölteni. 177 00:08:19,140 --> 00:08:20,320 Igen. 178 00:08:20,320 --> 00:08:22,160 >> És akkor még valami Fontos szem előtt 179 00:08:22,160 --> 00:08:25,290 az, hogy szerdán ha hivatalosan Beiratkozott a szerdai szakaszt, 180 00:08:25,290 --> 00:08:26,832 el kell vinni a kvíz szerdán. 181 00:08:26,832 --> 00:08:29,706 És ha beiratkozott, csütörtök el kell vinni a kvíz csütörtökön. 182 00:08:29,706 --> 00:08:31,000 És ez alatt órakeret. 183 00:08:31,000 --> 00:08:35,970 Hol, azt hiszem, ez olyan, mint a 01:00 02:15 szerdán és 2:30-03:45 184 00:08:35,970 --> 00:08:37,220 csütörtökönként. 185 00:08:37,220 --> 00:08:41,710 >> Ha van kibékíthetetlen konfliktusok, Dean kifogásokat az egyetlen dolog, 186 00:08:41,710 --> 00:08:43,030 Sajnos, nem tudjuk figyelembe. 187 00:08:43,030 --> 00:08:45,560 Mivel már volt egy túlnyomó többsége kérések 188 00:08:45,560 --> 00:08:47,970 váltani szerdától csütörtökig. 189 00:08:47,970 --> 00:08:51,265 Amit nem tudunk eleget, kivéve, ha van egy Dean kérésére. 190 00:08:51,265 --> 00:08:52,650 >> OKÉ. 191 00:08:52,650 --> 00:08:57,000 Szóval mielőtt elkezdjük a Pár gyakorlatban problémákat, 192 00:08:57,000 --> 00:09:00,540 Csak megyek, hogy menjen át Andy hasznos tippeket a siker érdekében. 193 00:09:00,540 --> 00:09:04,140 Srácok, ha tanulmány, hogy tényleg akar gyakorolni kódot írni kézzel. 194 00:09:04,140 --> 00:09:07,050 Az első alkalommal, amit valaha vett egy CS kvíz, én nem 195 00:09:07,050 --> 00:09:09,960 gyakorlatot kódot írni kézzel előtt, és ez rendkívül 196 00:09:09,960 --> 00:09:11,890 Megdöbbentő, hogy milyen nehéz volt. 197 00:09:11,890 --> 00:09:16,125 >> Ha nektek nem kap a szokása gépelési ki mindent, 198 00:09:16,125 --> 00:09:20,260 Ami nagyon természetes, hogy képes volna automatikusan és 199 00:09:20,260 --> 00:09:22,015 konzolok és pontosvessző van. 200 00:09:22,015 --> 00:09:23,890 Amikor írsz ki kézzel, néha 201 00:09:23,890 --> 00:09:27,100 Nagyon, nagyon könnyű elfelejteni pontosvessző, vagy elfelejti, hogy lezárja a konzol, 202 00:09:27,100 --> 00:09:30,970 vagy elfelejti, hogy lezárja a vastagbél, vagy valami ilyesmi. 203 00:09:30,970 --> 00:09:34,322 >> Tehát ha írsz kódot kézzel, ez egy nagyon más érzés. 204 00:09:34,322 --> 00:09:37,280 Szóval srácok, ha dolgozik néhány, a gyakorlatban problémákat, 205 00:09:37,280 --> 00:09:38,904 ez jó, hogy tényleg gyakorlatban ma. 206 00:09:38,904 --> 00:09:41,770 Vagy holnap, azt hiszem, ha figyelembe véve a kvíz csütörtökön. 207 00:09:41,770 --> 00:09:45,280 >> Másodszor, az utolsó, mint, Nyolc évnyi gyakorlat 208 00:09:45,280 --> 00:09:47,070 kvízek interneten. 209 00:09:47,070 --> 00:09:50,759 Az idei kvíz valószínűleg Nagyon, nagyon hasonlít mindet. 210 00:09:50,759 --> 00:09:51,800 Ezek mind nagyon hasonlóak. 211 00:09:51,800 --> 00:09:54,220 Ön milyen bejutni a stílus a típusú kérdés 212 00:09:54,220 --> 00:09:57,250 kérünk, hogy milyen típusú funkciókat fogunk írni, hogy, 213 00:09:57,250 --> 00:09:58,580 satöbbi, satöbbi. 214 00:09:58,580 --> 00:10:01,980 >> Tehát hogy a gyakorlatban vetélkedők, Különösen szoros határidőre. 215 00:10:01,980 --> 00:10:05,390 75 perc alatt megtenni a teszt nem sok időt. 216 00:10:05,390 --> 00:10:07,254 Ez nagyon, nagyon hosszú. 217 00:10:07,254 --> 00:10:09,670 És így srácok igazán akar hogy megbizonyosodjon arról, hogy a srácok 218 00:10:09,670 --> 00:10:11,990 az a szokása, írásban kódot kézzel gyorsan. 219 00:10:11,990 --> 00:10:15,070 Mert nem akarom az első ideje, hogy egy kvízt, amely ilyen hosszúságú 220 00:10:15,070 --> 00:10:16,560 lennie a kvíz. 221 00:10:16,560 --> 00:10:20,540 Titeket tényleg szeretnénk, hogy győződjön meg arról, hogy gyakorlatban előre. 222 00:10:20,540 --> 00:10:24,550 >> Negyedszer, azt szeretnénk, hogy vizsgálja felül a Előadás és szekció diák. 223 00:10:24,550 --> 00:10:25,980 Nem kell megjegyeznie a dolgokat. 224 00:10:25,980 --> 00:10:30,430 Igazából, mindenki tette a Egy fehér lapot jegyzetek, 225 00:10:30,430 --> 00:10:31,090 eleje és hátulja. 226 00:10:31,090 --> 00:10:32,920 Ti is írja, vagy írjon. 227 00:10:32,920 --> 00:10:37,070 Ha azon kapod magad szüksége, hogy memorizálni semmit, letette azt a lapot. 228 00:10:37,070 --> 00:10:40,810 >> Garantálom neked, nem akarod, hogy beszorult a közepén, hogy a kvíz 229 00:10:40,810 --> 00:10:43,890 is, mint, oh yeah, mi a futásidejű efféle versus efféle. 230 00:10:43,890 --> 00:10:46,490 Csak tedd le, és másold egyenesen a megjegyzés lapot. 231 00:10:46,490 --> 00:10:50,420 Akkor valójában csak használja a agy gondolkodni a problémák 232 00:10:50,420 --> 00:10:52,190 ahelyett, hogy felidézni tényeket. 233 00:10:52,190 --> 00:10:55,250 És így igazán kihasználni A minden rést részletek 234 00:10:55,250 --> 00:11:00,140 hogy úgy gondolja, meg kell megjegyeznünk, puff le a felülvizsgálati lapot. 235 00:11:00,140 --> 00:11:02,680 >> OK, bármilyen kérdése logisztikailag kapcsolatos kvíz 236 00:11:02,680 --> 00:11:05,510 mielőtt elkezdjük néhány kvíz problémák gyakorolni? 237 00:11:05,510 --> 00:11:06,416 Igen? 238 00:11:06,416 --> 00:11:10,040 >> Közönség: Még nem volt esélye hogy nézd meg a kvíz [hallhatatlan] 239 00:11:10,040 --> 00:11:11,757 de ez lesz alkalmazása többnyire, 240 00:11:11,757 --> 00:11:14,090 Vagy van még lesz, mint a nyelvtudás kérdése? 241 00:11:14,090 --> 00:11:14,940 >> Professzor: Ez egy csomó. 242 00:11:14,940 --> 00:11:16,731 Szóval, ahogy én tenné le a kvíz 243 00:11:16,731 --> 00:11:18,810 is-- én raktam össze Némi gyakorlat problémák 244 00:11:18,810 --> 00:11:20,960 hogy húztam az összes vetélkedők. 245 00:11:20,960 --> 00:11:25,210 De látni fogod, hogy van két fő típusú kérdéseket fogunk feltenni Önnek. 246 00:11:25,210 --> 00:11:28,750 >> Az egyik egy nagyon alacsony szinten részlete cucc. 247 00:11:28,750 --> 00:11:31,720 Adunk egy kis kódrészletet és azt mondják, van itt egy olyan problémára? 248 00:11:31,720 --> 00:11:33,110 Mi lenne kinyomtatásával itt? 249 00:11:33,110 --> 00:11:35,980 Mit fog ez a kód termelni, satöbbi. 250 00:11:35,980 --> 00:11:38,710 Szóval nagyon alacsony szintű információk részleteit. 251 00:11:38,710 --> 00:11:42,700 >> És a másik oldalon, akkor nagyon magas szintű tudás alapú kérdésekre. 252 00:11:42,700 --> 00:11:45,190 Meg tudod magyarázni, mi a különbség egy bináris keresés 253 00:11:45,190 --> 00:11:46,148 és lineáris keresés? 254 00:11:46,148 --> 00:11:48,500 Miért akarnánk használja a másik felett? 255 00:11:48,500 --> 00:11:49,960 Talán, mi a GDB? 256 00:11:49,960 --> 00:11:51,560 Miért akarjuk használni GDB? 257 00:11:51,560 --> 00:11:54,590 Magasabb szintű, az alapvető megértés kérdéseket. 258 00:11:54,590 --> 00:11:58,240 Így látni fogod keveréke ők ketten a kvíz. 259 00:11:58,240 --> 00:12:01,462 >> Még valami, mielőtt azt egyenesen bele? 260 00:12:01,462 --> 00:12:02,879 OKÉ. 261 00:12:02,879 --> 00:12:03,670 Közönség: Még egy. 262 00:12:03,670 --> 00:12:04,030 Tanár: Ó, még egy. 263 00:12:04,030 --> 00:12:04,340 Bocsánat. 264 00:12:04,340 --> 00:12:05,631 >> Közönség: Igen, minden rendben. 265 00:12:05,631 --> 00:12:10,140 Szóval azt mondod, 75 perc van Túl rövid, mint nem valószínű, 266 00:12:10,140 --> 00:12:11,640 hogy mi lesz befejezni? 267 00:12:11,640 --> 00:12:13,571 Vagy, mint, 75 perc Pontosan annyi időt 268 00:12:13,571 --> 00:12:15,700 ahogy kellene, ha mi voltunk megfelelően előkészített? 269 00:12:15,700 --> 00:12:17,450 TANÁR: OK, így az kvízjáték kihívást jelent. 270 00:12:17,450 --> 00:12:19,550 Ez határozottan kihívást. 271 00:12:19,550 --> 00:12:21,092 Meg fogja találni magát rövid idő alatt. 272 00:12:21,092 --> 00:12:24,341 Akkor valószínűleg fog ütni, mint 10, 15 perccel a vége előtt, és hogy tetszik, szar. 273 00:12:24,341 --> 00:12:25,520 Én már olyan sok maradt meg. 274 00:12:25,520 --> 00:12:26,520 És ez teljesen rendben van. 275 00:12:26,520 --> 00:12:28,740 Mindenki fogja érezni ugyanúgy. 276 00:12:28,740 --> 00:12:31,074 >> Csak nagyon is tudatában van hogy mennyi idő van. 277 00:12:31,074 --> 00:12:33,490 És ez az, amiért azt mondom, srácok a gyakorlatban vetélkedők. 278 00:12:33,490 --> 00:12:36,672 Mert tényleg ad egy nagy értelme amit a teszt lesz, mint. 279 00:12:36,672 --> 00:12:39,130 Tehát, ha találsz magadnak, hogy képes befejezte a gyakorlatban 280 00:12:39,130 --> 00:12:41,671 vetélkedők egy jó adag idő, akkor idŒbeosztást is, 281 00:12:41,671 --> 00:12:45,695 akkor nem lesz probléma szerdán vagy csütörtökön. 282 00:12:45,695 --> 00:12:46,575 >> Hűvös. 283 00:12:46,575 --> 00:12:49,200 Tehát, ha mindenki wants-- Azt hiszem, a legtöbb ember papírlap 284 00:12:49,200 --> 00:12:49,810 ki már. 285 00:12:49,810 --> 00:12:52,604 Megyek lényegében csak Önnek minta kérdéseket, 286 00:12:52,604 --> 00:12:54,520 adni nektek, mint egy Néhány perc alatt megtenni őket. 287 00:12:54,520 --> 00:12:59,610 És megyünk át, mint egy osztály mi a választ közülük. 288 00:12:59,610 --> 00:13:02,860 >> Tehát ez egy nagyon tipikus korai kérdés fogunk 289 00:13:02,860 --> 00:13:06,720 kérdezni, konvertáló szám közötti eltérő alapokon. 290 00:13:06,720 --> 00:13:09,070 Bináris, mint ti is Emlékezzünk, az alap kettő. 291 00:13:09,070 --> 00:13:12,470 Tizedes alap 10, vagy mi mint az emberek általában értelmezik. 292 00:13:12,470 --> 00:13:17,120 Hexadecimális van 16 alap, amely a nulla a kilenc, valamint az A-tól F- 293 00:13:17,120 --> 00:13:19,990 >> Szóval van négy szám vagyok kérve srácok átalakítani itt. 294 00:13:19,990 --> 00:13:23,909 Adok tetszik, három- Négy perc átgondolni, hogyan 295 00:13:23,909 --> 00:13:25,200 mi lenne járni megoldásában. 296 00:13:25,200 --> 00:13:32,832 297 00:13:32,832 --> 00:13:35,710 >> Közönség: Megengedi számológépek? 298 00:13:35,710 --> 00:13:37,630 >> Tanár: Nem fogsz kell számológépek, igen. 299 00:13:37,630 --> 00:13:42,420 Azt hiszem, az alapvető kívül, azt hiszem, ez Minden srácok fogják kérni, hogy tegye. 300 00:13:42,420 --> 00:14:41,700 301 00:14:41,700 --> 00:14:45,070 >> És csak azért, hogy ilyen van értelme Az, amikor mindenki kész, felnéz, 302 00:14:45,070 --> 00:14:47,429 hullám, nem tudom, mosolyogni, nézd boldog, ha kész. 303 00:14:47,429 --> 00:14:47,929 Igen. 304 00:14:47,929 --> 00:17:21,680 305 00:17:21,680 --> 00:17:23,945 Talán még egy pár percig. 306 00:17:23,945 --> 00:18:28,080 307 00:18:28,080 --> 00:18:29,600 >> Oké, hogy azt. 308 00:18:29,600 --> 00:18:31,580 Én szándékosan fog adni nektek kevesebb idő 309 00:18:31,580 --> 00:18:33,760 mint akkor valószínűleg kell némi ezeket a problémákat, 310 00:18:33,760 --> 00:18:37,124 egyszerűen azért, mert azt akarom, hogy megbizonyosodjon arról, hogy átjutunk egy csomó probléma. 311 00:18:37,124 --> 00:18:39,290 Így nem gond, ha nem Van egy esélyt, hogy befejezze. 312 00:18:39,290 --> 00:18:43,770 Teljesen rendben van, amíg van egy ötlet, hogyan szeretné ezt. 313 00:18:43,770 --> 00:18:45,850 Szóval menjünk előre, és nem az első. 314 00:18:45,850 --> 00:18:52,690 315 00:18:52,690 --> 00:18:57,870 >> Tehát az első, nem mindenki akarja mondani, bináris, mit mindegyik számjegy 316 00:18:57,870 --> 00:19:00,484 képviseli szempontjából értéküket? 317 00:19:00,484 --> 00:19:01,250 Igen? 318 00:19:01,250 --> 00:19:03,349 >> Közönség: Két, hogy a teljesítmény nulla, 2-1. 319 00:19:03,349 --> 00:19:04,140 Professzor: Pontosan. 320 00:19:04,140 --> 00:19:04,640 Na. 321 00:19:04,640 --> 00:19:13,430 322 00:19:13,430 --> 00:19:16,430 >> Jobb, így jellemzően mikor vagyunk bázis 10 323 00:19:16,430 --> 00:19:20,580 Mindezen képviselt, mint, 10 hogy az alap a nulla, ugye? 324 00:19:20,580 --> 00:19:21,810 Ez az ön egyik lakása. 325 00:19:21,810 --> 00:19:24,520 Minden 10-es hely van 10 hogy a hatalom egy. 326 00:19:24,520 --> 00:19:26,600 Akkor 100 helye 10 hogy a hatalom a kettő. 327 00:19:26,600 --> 00:19:29,570 >> Bármi bázis te megy köze pontosan ugyanaz a dolog, 328 00:19:29,570 --> 00:19:31,480 csak egy másik alap. 329 00:19:31,480 --> 00:19:34,130 Tehát bináris, minden, ami a bázis kettő. 330 00:19:34,130 --> 00:19:37,110 Fogsz alakítani az összes számjegy két, bármilyen hatalom 331 00:19:37,110 --> 00:19:38,190 A számjegy. 332 00:19:38,190 --> 00:19:41,450 És így ebben az értelemben, mi lehet egy könnyebb út 333 00:19:41,450 --> 00:19:43,800 hogy képes összeadja vagy összeadják a számokat, hogy 334 00:19:43,800 --> 00:19:46,010 átalakulhat bázis 10. 335 00:19:46,010 --> 00:19:50,362 >> Tehát nem mindenki akarja mondani, hogy mi a válasz az első egy van a bázis tíz? 336 00:19:50,362 --> 00:19:51,674 >> Közönség: Két, [hallhatatlan] 337 00:19:51,674 --> 00:19:52,340 Tanár: Igen. 338 00:19:52,340 --> 00:19:53,230 Közönség: 42. 339 00:19:53,230 --> 00:19:56,560 TANÁR: 42, tessék. 340 00:19:56,560 --> 00:20:00,660 Szóval, ahogy kaptuk ezt a válasz az volt a csinál két első, ami két. 341 00:20:00,660 --> 00:20:02,760 Plusz két harmadik, amely nyolc. 342 00:20:02,760 --> 00:20:07,590 Plusz két ötödik, amelyek van bármi marad. 343 00:20:07,590 --> 00:20:09,390 Összefoglalni őket, és ez 42. 344 00:20:09,390 --> 00:20:12,000 >> Van valaki zavaros, hogyan jutottunk, hogy? 345 00:20:12,000 --> 00:20:15,630 Tehát az alapvető kívül, mint Azt mondtam, akkor minden rendben lesz. 346 00:20:15,630 --> 00:20:17,410 Ha nem, nos, mi lehet gyakorolni, hogy túl. 347 00:20:17,410 --> 00:20:18,720 De ez rendben is van. 348 00:20:18,720 --> 00:20:20,560 Hűvös. 349 00:20:20,560 --> 00:20:25,570 >> Tudja valaki akar adni nekem a válaszolni, hogy a második is? 350 00:20:25,570 --> 00:20:26,860 >> 50? 351 00:20:26,860 --> 00:20:27,600 Jó. 352 00:20:27,600 --> 00:20:30,044 Bárki világos, hogy mi mi van, hogy vagy? 353 00:20:30,044 --> 00:20:31,960 Cool, én is a válaszok a következő dia. 354 00:20:31,960 --> 00:20:34,440 Így nem gond, ha be kell másolni le. 355 00:20:34,440 --> 00:20:38,860 >> OK, így hexadecimális egy kicsit trükkösebb. 356 00:20:38,860 --> 00:20:41,840 de fogok mutatni nektek egy parancsikont, hogyan kell csinálni. 357 00:20:41,840 --> 00:20:44,800 Tehát hexadecimális, ahogy emlékszem, az összes ez lesz 16. 358 00:20:44,800 --> 00:20:48,920 És mert mi, emberek valójában nem Jelenleg 16 szám képviseli, hogy 359 00:20:48,920 --> 00:20:56,940 megyünk a nullától kilencig, amely az első 10 értékeket, és akkor mi A-tól F, 360 00:20:56,940 --> 00:20:58,630 amelyek a következő hat értékeket. 361 00:20:58,630 --> 00:21:03,040 >> És így a legegyszerűbb módja annak, hogy megy minden bináris számot hexadecimális 362 00:21:03,040 --> 00:21:05,350 hogy megtörjük őket a félidőt. 363 00:21:05,350 --> 00:21:10,042 És így minden bináris szám odaadjuk akkor valószínűleg nyolc számjegy. 364 00:21:10,042 --> 00:21:11,750 Tudod csak megtörni őket a közepén. 365 00:21:11,750 --> 00:21:17,460 >> Tehát az első one-- egy egy, Egy egy, egy, egy, egy egy. 366 00:21:17,460 --> 00:21:21,340 Fajta hiszem, tudod, felhívni perjel vagy vessző közöttük. 367 00:21:21,340 --> 00:21:23,800 És ha csak átalakítani közvetlenül bármilyen 368 00:21:23,800 --> 00:21:26,670 ez az, hogy az első számú hexadecimális, 369 00:21:26,670 --> 00:21:29,880 és ami itt a A második hexadecimális. 370 00:21:29,880 --> 00:21:37,584 >> Úgy emlékszem, a közönséges jelölést, Mit hexadecimális értékek kezdeni? 371 00:21:37,584 --> 00:21:38,460 >> Közönség: Zero. 372 00:21:38,460 --> 00:21:39,270 >> Professzor: 0X. 373 00:21:39,270 --> 00:21:45,210 Tehát tudjuk, hogy minden alkalommal azt kérjük, megtérít minden olyan számot hexadecimális, 374 00:21:45,210 --> 00:21:48,230 vagy bármikor, amikor lát kezdődő számot 0X, 375 00:21:48,230 --> 00:21:50,230 Tudja, hogy ez egy hexadecimális érték. 376 00:21:50,230 --> 00:21:54,160 >> És akkor fogsz kérni, hogy meghatározni, hogy mi ez a két számjegy. 377 00:21:54,160 --> 00:21:59,690 És ahogy te teszed, tallying fel hogy a fél és tallying fel, hogy fél. 378 00:21:59,690 --> 00:22:02,870 Tehát ebben a példában, mi lenne egy, egy, egy, egy lenni? 379 00:22:02,870 --> 00:22:04,890 Milyen értéke lenne az? 380 00:22:04,890 --> 00:22:06,040 Ez lenne F, ugye? 381 00:22:06,040 --> 00:22:08,050 Ez lenne 15. 382 00:22:08,050 --> 00:22:11,780 >> Szóval ez lenne F. One, Egy, egy, egy itt is 383 00:22:11,780 --> 00:22:21,270 F. Tehát egy, egy, egy, egy, egy, egy, egy, Egy hexadecimális, mind ez a 0XFF. 384 00:22:21,270 --> 00:22:25,350 Mivel ez a fele képviselteti magát F, az értéke 15, 385 00:22:25,350 --> 00:22:27,331 és ez a fele képviselteti magát F, az érték 15. 386 00:22:27,331 --> 00:22:29,456 Mert emlékszem, mi vagyunk számolás nullától kilencig. 387 00:22:29,456 --> 00:22:35,290 Egy olyan, mint 10, B jelentése, mint a 11, F 15. 388 00:22:35,290 --> 00:22:41,690 >> Van ennek értelme, hogy mindenki mennyire től kapott bináris hexadecimális? 389 00:22:41,690 --> 00:22:44,595 >> Közönség: És igen, hogyan jutottunk el 15-re az egy, egy, egy, egy? 390 00:22:44,595 --> 00:22:46,220 Tanár: Igen, ez a kettes, igaz? 391 00:22:46,220 --> 00:22:48,090 Képzeld el, hogy ez csak egy bináris szám. 392 00:22:48,090 --> 00:22:50,792 Szóval van két a nulladik, amely az egyik. 393 00:22:50,792 --> 00:22:51,500 Közönség: Ó, oké. 394 00:22:51,500 --> 00:22:51,670 Szóval csak teljes ki. 395 00:22:51,670 --> 00:22:52,670 >> Tanár: Igen, és akkor csak teljes, hogy ki. 396 00:22:52,670 --> 00:22:53,380 Ez minden van. 397 00:22:53,380 --> 00:22:54,890 >> Közönség: OK. 398 00:22:54,890 --> 00:22:55,830 >> Professzor: OK. 399 00:22:55,830 --> 00:23:00,740 >> Közönség: Szóval megy a bináris decimális hexadecimális? 400 00:23:00,740 --> 00:23:04,590 >> Professzor: Ez a legegyszerűbb módja ennek, igen. 401 00:23:04,590 --> 00:23:11,390 Nem fogsz decimális, mert tizedes csak nullától kilencig. 402 00:23:11,390 --> 00:23:13,410 Mi csak egyfajta bontással ezt fel két. 403 00:23:13,410 --> 00:23:15,201 >> Közönség: [hallható] a tizedes találni 404 00:23:15,201 --> 00:23:17,809 amit összeillik, hogy hexadecimális. 405 00:23:17,809 --> 00:23:20,100 TANÁR: Úgy értem, te tallying felhasználásával alapvető matematikai. 406 00:23:20,100 --> 00:23:20,725 Közönség: Igen. 407 00:23:20,725 --> 00:23:22,300 Tanár: Igen, nagyjából. 408 00:23:22,300 --> 00:23:23,630 Ez egy kicsit zavaró. 409 00:23:23,630 --> 00:23:26,410 De csak tudom, hogy te oszthatjuk fel, amit 410 00:23:26,410 --> 00:23:28,160 ez az érték a csak félidőt. 411 00:23:28,160 --> 00:23:29,570 Nézd, mi ez a bináris? 412 00:23:29,570 --> 00:23:30,610 Milyen szám ez? 413 00:23:30,610 --> 00:23:33,270 Ez lesz valamit nulláról F. 414 00:23:33,270 --> 00:23:35,722 >> Itt is lesz valamit nulláról F. 415 00:23:35,722 --> 00:23:37,722 És akkor csak fel E két pont ott. 416 00:23:37,722 --> 00:23:38,263 >> Közönség: OK. 417 00:23:38,263 --> 00:23:38,910 Tanár: Igen. 418 00:23:38,910 --> 00:23:39,410 OKÉ. 419 00:23:39,410 --> 00:23:42,320 Szóval akartok próbálja meg a következőt akkor? 420 00:23:42,320 --> 00:23:49,601 Nulla, egy nulla, egy, egy, nulla, egy nulla. 421 00:23:49,601 --> 00:23:52,350 Adok nektek, mint 30 másodperc, mert valószínűleg nem tudja 422 00:23:52,350 --> 00:23:53,850 A trükk, hogy hogyan kell ezt csinálni korábban. 423 00:23:53,850 --> 00:24:24,950 424 00:24:24,950 --> 00:24:27,381 >> OK, bárki szeretné, hogy ez egy lövés? 425 00:24:27,381 --> 00:24:28,774 >> 0X5A. 426 00:24:28,774 --> 00:24:29,440 Professzor: 0X5A. 427 00:24:29,440 --> 00:24:30,470 5a. 428 00:24:30,470 --> 00:24:31,340 Jó. 429 00:24:31,340 --> 00:24:37,050 Szóval ez itt lenne be-- szeretne hogy mondja el, hogyan jutott ez? 430 00:24:37,050 --> 00:24:38,920 Először is, hogyan került az öt? 431 00:24:38,920 --> 00:24:42,030 >> Közönség: Mert nulla, egy, nulla, az egyik öt. 432 00:24:42,030 --> 00:24:45,170 >> Tanár: Mindenkinek érti miért nulla, egy, nulla, egy az öt? 433 00:24:45,170 --> 00:24:46,260 Van itt valaki. 434 00:24:46,260 --> 00:24:48,010 Nincs semmi a két első. 435 00:24:48,010 --> 00:24:50,300 Két második, akkor Van egy, ami négy. 436 00:24:50,300 --> 00:24:52,600 Szóval hozzá a négy plusz Az egyik, hogy van öt. 437 00:24:52,600 --> 00:24:53,600 Mindenki jó? 438 00:24:53,600 --> 00:24:54,100 OKÉ. 439 00:24:54,100 --> 00:24:56,570 És akkor mi lesz ez, és miért? 440 00:24:56,570 --> 00:24:58,350 Milyen szám viszont egy felel meg? 441 00:24:58,350 --> 00:24:59,350 >> Közönség: 10. 442 00:24:59,350 --> 00:25:00,976 >> Tanár: És mi ez a bázis kettő? 443 00:25:00,976 --> 00:25:01,850 Közönség: [hallható] 444 00:25:01,850 --> 00:25:03,010 Professzor: Pontosan. 445 00:25:03,010 --> 00:25:06,370 Tehát ez a második érték itt lenne 0X5A. 446 00:25:06,370 --> 00:25:08,410 >> Mindenki jó, hogyan kell átalakítani? 447 00:25:08,410 --> 00:25:10,770 Ez sokkal egyszerűbb, mint gondolnád van. 448 00:25:10,770 --> 00:25:13,330 Csak azt akarom, hogy győződjön meg arról, Tudja hasznos tippek 449 00:25:13,330 --> 00:25:14,950 és trükkök, hogyan kell csinálni. 450 00:25:14,950 --> 00:25:18,432 >> Közönség: Miért csak osztott hogy a közepén, mint ez? 451 00:25:18,432 --> 00:25:21,390 Csak olyan, mint, OK, én csak akkor fog törődnek ezek első [hallhatatlan]? 452 00:25:21,390 --> 00:25:24,240 >> Professzor: Mert ez valójában a módon hexadecimális értékek szerepelnek. 453 00:25:24,240 --> 00:25:26,890 0X, hogy valójában azt jelenti, nem más, mint mondja, 454 00:25:26,890 --> 00:25:28,710 hogy ez egy hexadecimális szám. 455 00:25:28,710 --> 00:25:31,580 És ez mindig jelent Az első négy számjegy. 456 00:25:31,580 --> 00:25:34,330 És ez mindig jelent Az utolsó négy számjegye. 457 00:25:34,330 --> 00:25:37,835 És így ez a két számjegy csak felelnek meg a különböző bitek. 458 00:25:37,835 --> 00:25:39,200 >> Közönség: Így lesz always-- 459 00:25:39,200 --> 00:25:41,830 >> Professzor: Te mindig lesz, hogy nyolc értéket bit. 460 00:25:41,830 --> 00:25:44,580 >> Közönség: Ez olyan, mint egy dolog, Itt vagy, hogy egy dolog az egész? 461 00:25:44,580 --> 00:25:46,883 Professzor: Ez csak egy dolog a számítógépek, aha. 462 00:25:46,883 --> 00:25:47,424 Közönség: OK. 463 00:25:47,424 --> 00:25:48,240 Fantasztikus. 464 00:25:48,240 --> 00:25:51,290 >> TANÁR: Is, ezért a fenti példában mi átalakított bináris decimális, 465 00:25:51,290 --> 00:25:53,290 és bináris hexadecimális. 466 00:25:53,290 --> 00:25:56,610 Akartok győződjön meg róla is gyakorolni megy a másik irányba. 467 00:25:56,610 --> 00:26:03,370 Tehát, ha én adtam neked 0XFF, akkor felhívni, hogy ki bináris, ugye? 468 00:26:03,370 --> 00:26:06,820 >> Konvertálni F bináris, amely egy, egy, egy, egy, 469 00:26:06,820 --> 00:26:09,380 átalakítani F kettes, amelyek egy, egy, egy, egy. 470 00:26:09,380 --> 00:26:11,310 >> Szóval mi is kérem, hogy fordítva. 471 00:26:11,310 --> 00:26:14,817 Tehát decimális bináris, vagy hexadecimális bináris. 472 00:26:14,817 --> 00:26:16,650 Tehát azt szeretnénk, hogy győződjön Biztosan tudom, mindkét irányban. 473 00:26:16,650 --> 00:26:19,371 Majd talán kérdezni a kettő kombinációjával. 474 00:26:19,371 --> 00:26:20,660 >> Igen, van egy kérdésem? 475 00:26:20,660 --> 00:26:22,724 Én see-- te jó? 476 00:26:22,724 --> 00:26:23,348 Közönség: Igen. 477 00:26:23,348 --> 00:26:24,560 Professzor: OK. 478 00:26:24,560 --> 00:26:26,101 Jó vagyok, hogy töröljék el ezt? 479 00:26:26,101 --> 00:26:26,600 Nagy. 480 00:26:26,600 --> 00:26:33,965 481 00:26:33,965 --> 00:26:40,437 >> Rendben, tehát választ itt, ha valaki Különös, később és összezavarodnak. 482 00:26:40,437 --> 00:26:41,844 OKÉ. 483 00:26:41,844 --> 00:26:46,070 >> Közönség: Számít, ha teszünk a betűk Capitol vagy kisbetűs? 484 00:26:46,070 --> 00:26:50,360 >> TANÁR: igen, mert hexadecimális, megállapodás szerint, 485 00:26:50,360 --> 00:26:52,840 az összes karakter nagybetűs. 486 00:26:52,840 --> 00:26:54,650 Tehát A-tól F lesz nagybetűs. 487 00:26:54,650 --> 00:26:58,660 Ha tesz egy kisbetűs egy, nem tudom, ha lenne feltétlenül jelölje meg rossz. 488 00:26:58,660 --> 00:27:00,679 De elméletileg, ez technikailag nem 489 00:27:00,679 --> 00:27:01,970 hogyan kéne, hogy van ez. 490 00:27:01,970 --> 00:27:03,303 Tehát ezeket mind nagybetűs. 491 00:27:03,303 --> 00:27:05,910 Igen, jó kérdés. 492 00:27:05,910 --> 00:27:07,780 >> OKÉ. 493 00:27:07,780 --> 00:27:08,790 Második kérdés. 494 00:27:08,790 --> 00:27:12,750 Tekintsük ezt a szép program itt. 495 00:27:12,750 --> 00:27:15,180 Megkérdezem a kérdést, Visszajövök ezt. 496 00:27:15,180 --> 00:27:23,170 >> Szóval, először is, mi van benne a szabványos io.h ez az érdeke, hogy a program? 497 00:27:23,170 --> 00:27:26,640 Másodszor, mit void jelentik a sorban három? 498 00:27:26,640 --> 00:27:30,572 És a harmadik, mit visszatérő nulla-re fő, a soros hathengeres, általában jelentenek? 499 00:27:30,572 --> 00:27:33,280 Ha a srácok szeretnék írni azoknak le, mivel én visszaváltani 500 00:27:33,280 --> 00:27:36,810 A dia csak így lehet látni kódot. 501 00:27:36,810 --> 00:27:40,400 Ez egy példa a, mint például, talán egy magasabb szintű kérdés, ahol azt kérjük, 502 00:27:40,400 --> 00:27:42,435 milyen dolgok jelentik a programban. 503 00:27:42,435 --> 00:27:47,290 504 00:27:47,290 --> 00:27:49,215 >> Mindenki jó nekem, hogy menj vissza a dia? 505 00:27:49,215 --> 00:27:53,400 506 00:27:53,400 --> 00:27:54,361 OK, hűvös. 507 00:27:54,361 --> 00:27:57,610 Ezért adok nektek, mint talán három perc nézni ezt egy gyorsan. 508 00:27:57,610 --> 00:28:41,330 509 00:28:41,330 --> 00:28:44,140 >> OK, így ez az ember, mint a viszonylag egyszerű, koncepcionálisan. 510 00:28:44,140 --> 00:28:49,280 Akar valaki mondja meg, mi van első belső hash beleértve 511 00:28:49,280 --> 00:28:52,630 A standard io.h könyvtár fájl? 512 00:28:52,630 --> 00:28:55,510 Miért van szükség, hogy a könyvtár tartalmazza a program? 513 00:28:55,510 --> 00:28:56,930 Mi itt van szükségünk lesz? 514 00:28:56,930 --> 00:28:56,980 >> Igen? 515 00:28:56,980 --> 00:28:58,340 >> Közönség: az, hogy amikor teszel, hogy printf? 516 00:28:58,340 --> 00:28:59,131 >> Professzor: Pontosan. 517 00:28:59,131 --> 00:29:01,780 Tehát printf, bármikor hogy egy bemenet a felhasználótól 518 00:29:01,780 --> 00:29:04,140 és valami mást a képernyőn, ez 519 00:29:04,140 --> 00:29:05,600 a standard input, output könyvtárában. 520 00:29:05,600 --> 00:29:07,170 Gondolj arra, hogy, hogy way-- bemenet, kimenet. 521 00:29:07,170 --> 00:29:08,430 >> Muszáj egy kimenet? 522 00:29:08,430 --> 00:29:09,207 Igen. 523 00:29:09,207 --> 00:29:12,040 Szóval tudom, hogy én mindig megy szükség van a szabványosítása i.o könyvtár. 524 00:29:12,040 --> 00:29:16,400 >> Tehát printf az a funkció, amellyel meg kell elérni 525 00:29:16,400 --> 00:29:19,370 és hashtaget tartalmaznia szabvány i.o könyvtár. 526 00:29:19,370 --> 00:29:20,280 OKÉ. 527 00:29:20,280 --> 00:29:22,660 >> Másodszor, mit void jelentenek? 528 00:29:22,660 --> 00:29:26,970 Megvan a int main (void), mit jelent érvényteleníti itt értem itt a sorban három? 529 00:29:26,970 --> 00:29:28,080 Igen, a hátsó. 530 00:29:28,080 --> 00:29:29,020 >> Közönség: [hallható] 531 00:29:29,020 --> 00:29:29,920 >> Professzor: Pontosan. 532 00:29:29,920 --> 00:29:33,320 Jól jegyezd meg, amit megtanultunk kiindulva, PSET 533 00:29:33,320 --> 00:29:35,360 hogy ténylegesen adja parancssorból 534 00:29:35,360 --> 00:29:39,010 érvek, hogy a programot, hogy Fő feladata, úgy, ahogy a felhasználó, 535 00:29:39,010 --> 00:29:39,650 hívd. 536 00:29:39,650 --> 00:29:42,650 Ha van üres, az azt jelenti, hogy Lehet, hogy csak a program futtatásához közvetlenül 537 00:29:42,650 --> 00:29:44,680 nélkül parancssori paramétereket. 538 00:29:44,680 --> 00:29:46,160 Mindenki tisztában, hogy? 539 00:29:46,160 --> 00:29:46,660 OKÉ. 540 00:29:46,660 --> 00:29:52,850 >> És végül miért zavar csinál ez a visszatérés nulla dolog itt? 541 00:29:52,850 --> 00:29:54,740 Miért is kell nekünk egy int main? 542 00:29:54,740 --> 00:29:57,330 Miért nem lehet már csak void main void? 543 00:29:57,330 --> 00:29:59,216 Igen? 544 00:29:59,216 --> 00:30:01,590 Közönség: Csak hogy tudjuk győződjön meg róla, hogy a program 545 00:30:01,590 --> 00:30:04,247 kilépő sikeresen, mint szemben, ha azt számlálva. 546 00:30:04,247 --> 00:30:06,580 És akkor tudjuk, hogy ez egy másfajta hiba. 547 00:30:06,580 --> 00:30:07,621 >> Tanár: Igen, pontosan. 548 00:30:07,621 --> 00:30:10,670 Ez csak egy nagyon hagyományos dolog, amit csinálunk, 549 00:30:10,670 --> 00:30:13,840 az, hogy csak a végén a programot, csak azért, hogy győződjön meg arról, 550 00:30:13,840 --> 00:30:15,830 hogy a fő funkciója megfelelően működik, 551 00:30:15,830 --> 00:30:17,940 mi mindig szeretnénk csinálni visszatérő nulla. 552 00:30:17,940 --> 00:30:21,160 Még akkor is, szükségszerűen Nem látom, hogy a nyomtatott sehol. 553 00:30:21,160 --> 00:30:25,092 >> Mivel a programozók, tudod, ha Van sok különböző sornyi kódot 554 00:30:25,092 --> 00:30:27,050 és nem tudod, hol ezek rosszul megy, 555 00:30:27,050 --> 00:30:30,240 és ha hiba történik szeretne győződjön meg arról, hogy van ez a hiba. 556 00:30:30,240 --> 00:30:33,240 És így jellemzően ha valami balul baj lesz egy visszatérését egy csak 557 00:30:33,240 --> 00:30:34,669 hogy győződjön meg arról, tudjuk, hogy ez. 558 00:30:34,669 --> 00:30:36,460 Tehát, ha látni vissza zero, jellemzően 559 00:30:36,460 --> 00:30:38,293 azt jelenti, hogy a program végrehajtása sikerült. 560 00:30:38,293 --> 00:30:40,490 561 00:30:40,490 --> 00:30:40,990 Jó? 562 00:30:40,990 --> 00:30:45,180 563 00:30:45,180 --> 00:30:45,680 Hűvös. 564 00:30:45,680 --> 00:30:48,710 565 00:30:48,710 --> 00:30:52,680 >> OK, második program itt. 566 00:30:52,680 --> 00:30:54,827 Fontolja meg, hogy. 567 00:30:54,827 --> 00:30:56,910 És ha ti látni lebegnek, srácok valószínűleg 568 00:30:56,910 --> 00:31:00,810 Van egy jó ötlete, mit Én azon vagyok, hogy kérdezni. 569 00:31:00,810 --> 00:31:05,200 >> Tehát amikor ezt a programot végrehajtja, mint látható, 570 00:31:05,200 --> 00:31:09,330 Én nyilvánító úszó belül a fő funkciója. 571 00:31:09,330 --> 00:31:13,470 Én megnevezné "választ", és én beállítás hogy egyenlő egy osztva 10. 572 00:31:13,470 --> 00:31:17,860 Én kinyomtatásával, hogy az egyik tizedes pontossággal, hogy lebegnek. 573 00:31:17,860 --> 00:31:19,880 És akkor én visszatér nulla. 574 00:31:19,880 --> 00:31:24,470 >> Tehát, ha a program végrehajtásához, gondoljon vissza a kapzsi most, 575 00:31:24,470 --> 00:31:26,550 Ez a program kinyomtatja 0.0. 576 00:31:26,550 --> 00:31:29,993 Mint tudjuk, remélhetőleg mindannyian Tudja, egy osztva 10 nem 0,00, 577 00:31:29,993 --> 00:31:32,350 ez 0,1. 578 00:31:32,350 --> 00:31:37,810 De miért ez a program azt hiszi, hogy 1 osztva 10 nyomatok 0.1 Más 579 00:31:37,810 --> 00:31:39,504 mint 0,1? 580 00:31:39,504 --> 00:31:42,545 Adok nektek talán, mint 30 másodpercig csak gyorsan gondolkodni, hogy 581 00:31:42,545 --> 00:31:43,878 és megyek vissza a program. 582 00:31:43,878 --> 00:32:17,800 583 00:32:17,800 --> 00:32:20,290 >> OKÉ. 584 00:32:20,290 --> 00:32:22,205 Bárki akar adni neki egy esélyt? 585 00:32:22,205 --> 00:32:24,330 Három mondatban vagy kisebb, mert általában vagyunk 586 00:32:24,330 --> 00:32:27,650 lesz, hogy korlátozzák az összes választ a három mondat, vagy kevesebb 587 00:32:27,650 --> 00:32:31,130 így nem csak kérődzik véletlenszerű dolgokat rá a kvíz. 588 00:32:31,130 --> 00:32:32,740 >> Ja, hogy a lövés. 589 00:32:32,740 --> 00:32:36,390 >> Közönség: Szóval azt hiszem, itt van ez a nevezett dolog, mint, [hallhatatlan] 590 00:32:36,390 --> 00:32:42,320 Így lehet, például, ott lehet, mint, 0,09, 591 00:32:42,320 --> 00:32:47,250 hogy hol nyomtassa ki az első számjegy, akkor az lenne, hogy 0,0? 592 00:32:47,250 --> 00:32:49,100 >> TANÁR: Close, nem egészen. 593 00:32:49,100 --> 00:32:49,810 Christabell? 594 00:32:49,810 --> 00:32:51,770 >> Közönség: Te elosztjuk egy és 10, és mindketten egész számok. 595 00:32:51,770 --> 00:32:54,610 És így az is, hogy ez lesz tárolni ez, mint egy egész szám. 596 00:32:54,610 --> 00:32:56,480 És így a legközelebbi egész értékre lenne 0.0. 597 00:32:56,480 --> 00:32:57,471 És ez az 0.1. 598 00:32:57,471 --> 00:32:58,970 Tanár: Igen, ez nagyon jó. 599 00:32:58,970 --> 00:33:00,040 Ez a helyes válasz. 600 00:33:00,040 --> 00:33:03,597 Tehát ez egy nagyon zavaros koncepció egy csomó gyerek. 601 00:33:03,597 --> 00:33:06,680 És azt szeretné, hogy győződjön meg arról, hogy Ezt az állítást mindenki feje. 602 00:33:06,680 --> 00:33:10,090 >> Szóval mit nevezünk úszó pont pontatlanság, 603 00:33:10,090 --> 00:33:12,800 ahol az oka annak, hogy sok a programok kapzsi 604 00:33:12,800 --> 00:33:17,010 nem működött kezdetben azért volt, mert elfelejtette leadni a változó. 605 00:33:17,010 --> 00:33:19,370 Tehát mi Christabell mondta teljesen igaza volt. 606 00:33:19,370 --> 00:33:21,990 >> Az úszó eredendően pontatlan. 607 00:33:21,990 --> 00:33:26,400 Mivel a számítógép, igaz, van véges mennyiségű bit memória 608 00:33:26,400 --> 00:33:28,480 tudjuk használni, hogy a számoknak. 609 00:33:28,480 --> 00:33:33,480 Tehát, például, ez CS50 ID is-- Azt hiszem, ez egy 64 bites számítógépen. 610 00:33:33,480 --> 00:33:37,520 >> Az úszó csak képviselt egy véges mennyiségű ezeket a biteket. 611 00:33:37,520 --> 00:33:42,260 És így 0,1 végtelen nullák, Ez volt 0,1, ugye? 612 00:33:42,260 --> 00:33:45,450 De nem tudjuk ténylegesen készlet ez a szám a mi számítógép. 613 00:33:45,450 --> 00:33:47,810 Mi csak nincs elég memória megtenni. 614 00:33:47,810 --> 00:33:52,340 >> És így a legközelebbi közelítéséről mi a memóriában tárolt valójában 615 00:33:52,340 --> 00:33:55,390 olyasmi, mint 0.000 valamit, valami, valami, valami. 616 00:33:55,390 --> 00:34:01,240 Ami, ha egyszer csonkolni ez kerekíti le 0.0. 617 00:34:01,240 --> 00:34:05,640 >> És így ez a példa csak egy amely bizonyítja, rengeteg kérdések 618 00:34:05,640 --> 00:34:08,469 van, amikor mi vagyunk próbál helytelenül nem matematikai 619 00:34:08,469 --> 00:34:11,000 anélkül, öntés, mint egy különböző egész. 620 00:34:11,000 --> 00:34:14,870 Szóval, csak legyen óvatos, hogy ez történik. 621 00:34:14,870 --> 00:34:18,239 >> A vetélkedők, ha kapsz egy kódtömb és ez olyan, mint, 622 00:34:18,239 --> 00:34:19,510 mi kiírja a végén? 623 00:34:19,510 --> 00:34:24,096 És ha ez néhány véletlenszerű értéket srácok tudnia kell, hogy miért történik. 624 00:34:24,096 --> 00:34:24,909 Igen? 625 00:34:24,909 --> 00:34:27,926 >> Közönség: Truncate van megszabadulni mindent egy bizonyos pont után? 626 00:34:27,926 --> 00:34:28,513 [NEM HALLHATÓ] 627 00:34:28,513 --> 00:34:30,929 Tanár: Igen, így valójában ez egy nagyon rossz példa, 628 00:34:30,929 --> 00:34:37,870 mert 0.100 bármilyen ténylegesen lenne csonkolni le 0.1. 629 00:34:37,870 --> 00:34:41,389 De ha úgy döntesz, hogy fut it-- én nem emlékszem, mert tavaly ők 630 00:34:41,389 --> 00:34:42,830 futott be a programot. 631 00:34:42,830 --> 00:34:45,300 Úgy futott, hogy az úgynevezett A CS50 Appliance, amely 632 00:34:45,300 --> 00:34:46,389 eltér a ID. 633 00:34:46,389 --> 00:34:48,520 Ez egy 32 bites rendszer, azt hiszem. 634 00:34:48,520 --> 00:34:50,290 És így nem volt más számokat. 635 00:34:50,290 --> 00:34:53,330 >> De alapvetően, csak tudom, hogy Az egész koncepció csonkolás 636 00:34:53,330 --> 00:34:54,815 és hogyan, csak vágja a dolgokat le. 637 00:34:54,815 --> 00:34:55,690 És így ha rounds-- 638 00:34:55,690 --> 00:34:56,300 >> Közönség: kerekítés nélkül. 639 00:34:56,300 --> 00:34:57,370 >> Professzor: Pontosan. 640 00:34:57,370 --> 00:34:57,870 Igen. 641 00:34:57,870 --> 00:35:02,330 642 00:35:02,330 --> 00:35:04,380 Hűvös. 643 00:35:04,380 --> 00:35:05,250 >> Szia, a hátsó. 644 00:35:05,250 --> 00:35:07,634 Mi csak megy át néhány kvíz kérdések felülvizsgálata. 645 00:35:07,634 --> 00:35:08,430 >> Minden rendben. 646 00:35:08,430 --> 00:35:10,150 Szóval fontolja meg egy másik program itt. 647 00:35:10,150 --> 00:35:12,797 648 00:35:12,797 --> 00:35:15,380 Én adok nektek egy pár percig, hogy olvassa át ezt. 649 00:35:15,380 --> 00:35:18,588 Ez olyan dolog, hogy volt egy nagyon Nemrég azt hiszem, fújt sok van 650 00:35:18,588 --> 00:35:19,142 srácok fejében. 651 00:35:19,142 --> 00:35:21,100 De mi beszélni fogunk ezen keresztül ismét csak 652 00:35:21,100 --> 00:35:24,152 győződjön meg róla, értem teljesen. 653 00:35:24,152 --> 00:35:24,652 OKÉ. 654 00:35:24,652 --> 00:35:41,280 655 00:35:41,280 --> 00:35:41,780 OKÉ. 656 00:35:41,780 --> 00:35:44,342 Bárki több időre van szüksége olvassa el ezt a kódot? 657 00:35:44,342 --> 00:35:45,650 OKÉ. 658 00:35:45,650 --> 00:35:50,630 >> Tehát úgy tűnik számomra, hogy Ebben a programban vagyok 659 00:35:50,630 --> 00:35:53,460 ami két húrok segítségével getString. 660 00:35:53,460 --> 00:35:55,180 Az egyik az úgynevezett s és egy úgynevezett t. 661 00:35:55,180 --> 00:35:58,680 És ha ők egyenlő megegyezik egymással, 662 00:35:58,680 --> 00:36:00,880 Meg kell nyomtatni "Te írja ugyanezt. " 663 00:36:00,880 --> 00:36:04,170 >> De elsewise, akkor nyomtassa ki, "Te gépelt különböző dolog ", ugye? 664 00:36:04,170 --> 00:36:05,990 Úgy tűnik, nagyon, nagyon egyszerű. 665 00:36:05,990 --> 00:36:08,720 De, ha azonban én valójában Megpróbálok írni ezt a programot, 666 00:36:08,720 --> 00:36:12,230 úgy tűnik, hogy még ha én input pontosan ugyanazt a húrok, 667 00:36:12,230 --> 00:36:15,490 Még mindig kiírja: "Te gépelt különböző dolog! " 668 00:36:15,490 --> 00:36:18,020 Akar valaki, hogy egy lövés, miért ez a program mindig 669 00:36:18,020 --> 00:36:20,370 válaszolja, hogy a bemenetek különböző, még 670 00:36:20,370 --> 00:36:22,090 amikor maguk a szavak ugyanazok? 671 00:36:22,090 --> 00:36:24,870 672 00:36:24,870 --> 00:36:29,170 >> Tehát, ha én is input-- David szerelem hogy egy példát, mint anya, ugye? 673 00:36:29,170 --> 00:36:37,890 Kisbetűs M-O-M S, T egyenlő kisbetűs M-O-M. 674 00:36:37,890 --> 00:36:40,340 Ha futottam át ezt a hogy a kód, miért lenne 675 00:36:40,340 --> 00:36:44,180 kinyomtatni "beírt különböző dolog?" 676 00:36:44,180 --> 00:36:46,336 >> Tudja valaki több kell ideje ezen gondolkodni? 677 00:36:46,336 --> 00:36:47,294 OK, azt hiszem, jó. 678 00:36:47,294 --> 00:36:48,716 Igen? 679 00:36:48,716 --> 00:36:53,930 >> Közönség: OK, így valamit ahol ez a memóriában tárolt, ugye? 680 00:36:53,930 --> 00:36:54,890 >> Tanár: Igen. 681 00:36:54,890 --> 00:37:00,400 >> Közönség: Hol ez olyan, mint, ha ez a s karakterlánc tárolja a memóriában spot-- 682 00:37:00,400 --> 00:37:01,689 Én feltalálás this-- nulla. 683 00:37:01,689 --> 00:37:02,355 TANÁR: Persze. 684 00:37:02,355 --> 00:37:05,290 Közönség: És húr t tárolják, Memory Spot, 685 00:37:05,290 --> 00:37:11,000 mint, 167, majd nulla nem egyenlő 167. 686 00:37:11,000 --> 00:37:12,610 >> Professzor: Pontosan. 687 00:37:12,610 --> 00:37:18,350 OK, úgy emlékszem, ezt a hihetetlen Jelenések könyvében kifejtette, hogy a srácok 688 00:37:18,350 --> 00:37:21,530 a múlt héten, hogy a húrok nem igazán létezik? 689 00:37:21,530 --> 00:37:25,380 Amikor alkotunk valamit az úgynevezett karakterlánc vagyunk, a valóságban, 690 00:37:25,380 --> 00:37:29,330 létrehozni valamit úgynevezett char csillag. 691 00:37:29,330 --> 00:37:34,470 Melyik is ez egy mutató, egy string vagy egy sor karakter. 692 00:37:34,470 --> 00:37:39,480 >> És így ebben a példában, ha én volt, hogy bemeneti M-O-M az utat 693 00:37:39,480 --> 00:37:49,350 hogy a számítógép lenne tárolja azt emlékezetben backslash nulla, ugye? 694 00:37:49,350 --> 00:37:53,180 Ez a négy karakter, karakter, kellene tárolni valahol. 695 00:37:53,180 --> 00:37:59,290 >> És akkor ez a négy karakterek backslash nulla, 696 00:37:59,290 --> 00:38:01,275 tárolják valahol máshol, nem igaz? 697 00:38:01,275 --> 00:38:04,685 Fogalmam sincs, ahol a címek , ők valahol a gépemen. 698 00:38:04,685 --> 00:38:07,080 De én nem tudom pontosan, hol vannak. 699 00:38:07,080 --> 00:38:10,170 >> Amikor egy sztring s minden, ami igazán 700 00:38:10,170 --> 00:38:15,550 egy mutató a kezdeni az ezt a fonalat. 701 00:38:15,550 --> 00:38:21,130 És amikor létre ezt a t értéket, minden, ami egy pointert itt. 702 00:38:21,130 --> 00:38:23,980 És így, ha akarsz egyenlőségjelet tenni és ellenőrizni 703 00:38:23,980 --> 00:38:27,710 hogy ha s az egyenlők megegyezik T, a számítógép 704 00:38:27,710 --> 00:38:31,635 tényleg csak visszatér Ön a címe ennek m 705 00:38:31,635 --> 00:38:33,390 és a címe, hogy m. 706 00:38:33,390 --> 00:38:36,230 És azért, mert ők két különálló darab adatok 707 00:38:36,230 --> 00:38:38,750 tárolt két különböző címeket a számítógép, 708 00:38:38,750 --> 00:38:41,750 A számítógép sosem fog ismeri fel őket, hogy a ugyanaz. 709 00:38:41,750 --> 00:38:43,500 Akar valaki hogy a lövés, amit mi 710 00:38:43,500 --> 00:38:46,900 kellett volna tennie, ha azt akartuk, hogy helyes ezt, és van egy korrekt futó program 711 00:38:46,900 --> 00:38:49,360 helyette? 712 00:38:49,360 --> 00:38:52,070 Gondolj bele, hogy egy pár másodpercig. 713 00:38:52,070 --> 00:38:54,929 Mire van szükségünk, hogy változtatni kell ezt a programot működése 714 00:38:54,929 --> 00:38:56,220 ahogy mi akarjuk, hogy működjön? 715 00:38:56,220 --> 00:39:17,260 716 00:39:17,260 --> 00:39:18,918 >> Igen, akarom, hogy a stab rajta? 717 00:39:18,918 --> 00:39:24,082 >> Közönség: Lehet igyekszünk dereference a mutatót, és ellenőrizze a tömb? 718 00:39:24,082 --> 00:39:25,540 Professzor: Ez az egyik módja annak, hogy csináld. 719 00:39:25,540 --> 00:39:27,880 Szóval, mi a neved? 720 00:39:27,880 --> 00:39:29,010 Sajnálom, emlékeztessen. 721 00:39:29,010 --> 00:39:29,589 >> Zee: Zee. 722 00:39:29,589 --> 00:39:32,130 Tanár: Igen, igen, mi Zee javasolt lenne feltétlenül működik. 723 00:39:32,130 --> 00:39:32,629 Jobbra? 724 00:39:32,629 --> 00:39:35,730 Mi lehetett a mutató hivatkozás feloldási és ténylegesen el is hozzáférést 725 00:39:35,730 --> 00:39:38,460 A fizikai adatok belsejében van. 726 00:39:38,460 --> 00:39:40,300 És mi csak összehasonlítani az egész képernyőt. 727 00:39:40,300 --> 00:39:43,670 >> Elmondhatjuk, OK, mutató, adj mi van benne itt. 728 00:39:43,670 --> 00:39:44,960 Ez visszaadnia m. 729 00:39:44,960 --> 00:39:47,168 És azt mondanám, mutató, adj mi van benne itt. 730 00:39:47,168 --> 00:39:47,750 Visszaadnia m. 731 00:39:47,750 --> 00:39:48,410 Az Ön által említett mérkőzésen? 732 00:39:48,410 --> 00:39:49,410 Igen. 733 00:39:49,410 --> 00:39:50,340 Aztán megyünk tovább. 734 00:39:50,340 --> 00:39:54,240 >> Mi folyamatosan ellenőrzi a teljes két húrok egészen a végéig 735 00:39:54,240 --> 00:39:56,635 és nézd meg, azok egyenlő, ha az összes kapott érték egyenlő. 736 00:39:56,635 --> 00:39:59,680 És ha az összes kapott érték egyenlő, akkor tudjuk, hogy a húrok igazak. 737 00:39:59,680 --> 00:40:01,600 Persze, ez hogyan is kellene csinálni? 738 00:40:01,600 --> 00:40:03,930 >> Tudja valaki zavaros bármelyikét ez? 739 00:40:03,930 --> 00:40:06,970 Az egész koncepció, hogyan húrok tényleg csak mutatók, 740 00:40:06,970 --> 00:40:08,440 és hogyan nem igazán létezik? 741 00:40:08,440 --> 00:40:10,480 És miért kapunk hibák mint ahogy mi lehet ez? 742 00:40:10,480 --> 00:40:15,070 Mert garantálom nektek, pointerek és vonós elosztása és a memória 743 00:40:15,070 --> 00:40:16,470 fognak jönni. 744 00:40:16,470 --> 00:40:17,410 >> Igen? 745 00:40:17,410 --> 00:40:21,072 >> Közönség: [hallható] hivatkozás feloldási ez, csak hogy egy csillag [hallhatatlan] 746 00:40:21,072 --> 00:40:21,780 TANÁR: Így van. 747 00:40:21,780 --> 00:40:28,430 Tehát, hogy egy mutató segítségével derererence hogy bemenjek a címe a mutató 748 00:40:28,430 --> 00:40:30,390 és beszerezni az adatokat, az érték ott. 749 00:40:30,390 --> 00:40:32,700 És így kell csinálni, hogy a csillagos mutató. 750 00:40:32,700 --> 00:40:34,262 Ne tévesszük össze ezt. 751 00:40:34,262 --> 00:40:35,186 >> Közönség: [hallható]. 752 00:40:35,186 --> 00:40:35,852 >> Tanár: Igen. 753 00:40:35,852 --> 00:40:39,750 Közönség: Tehát most is felírhatjuk Ha csillagos s egyenlő az egyenlők csillagos t. 754 00:40:39,750 --> 00:40:40,630 >> Tanár: Hát, nem. 755 00:40:40,630 --> 00:40:40,960 Nem. 756 00:40:40,960 --> 00:40:41,640 >> Közönség: Ez nem elég jó, nem? 757 00:40:41,640 --> 00:40:43,760 >> Tanár: Nem, mert te csak megnézni az első levél. 758 00:40:43,760 --> 00:40:46,010 Valószínűleg fog szükség van valamiféle hurok 759 00:40:46,010 --> 00:40:49,055 végigmegy minden egyes karakter mindkét szálakat. 760 00:40:49,055 --> 00:40:49,837 Igen. 761 00:40:49,837 --> 00:40:52,920 Tehát, ha akartam, hogy csak nézze meg, ha kezdődött ugyanaz a dolog, 762 00:40:52,920 --> 00:40:58,220 amit tehetünk, ha csillagos s egyenlő csillagos t. 763 00:40:58,220 --> 00:41:01,300 Akkor tudod, hogy ezek legalább kezdődött ugyanazt a karaktert. 764 00:41:01,300 --> 00:41:01,952 >> Igen? 765 00:41:01,952 --> 00:41:04,056 >> Közönség: Tehát az utat akkor lenne 766 00:41:04,056 --> 00:41:06,064 mint egy beágyazott hurok vagy mutató? 767 00:41:06,064 --> 00:41:06,730 Tanár: Igen. 768 00:41:06,730 --> 00:41:08,170 Nagyjából csak egy ciklusban. 769 00:41:08,170 --> 00:41:12,430 Ne feledje, David osztályban említett A szabad szintaktikai cukor? 770 00:41:12,430 --> 00:41:17,690 És volt ez a nagyon zavaró dolog csillagos t 771 00:41:17,690 --> 00:41:22,030 plusz egy, ha bővülne keresztül, és ez a mutató mozgatásakor? 772 00:41:22,030 --> 00:41:29,910 Az egyszerűbb módja ez csak t i. 773 00:41:29,910 --> 00:41:31,090 >> Tehát csak egy tömb. 774 00:41:31,090 --> 00:41:34,630 Az út, ha volna egy részére hurok futott nulláról i, ahol 775 00:41:34,630 --> 00:41:36,580 i a hossza a húr, akkor is csak 776 00:41:36,580 --> 00:41:39,510 írja, hogy ahelyett, hogy a egész mutató hivatkozás dolog. 777 00:41:39,510 --> 00:41:43,510 Szóval ezek a dolgok pontosan egyenértékű a számítógépen. 778 00:41:43,510 --> 00:41:45,905 >> Srácok valószínűleg nem tudniuk kell, hogy 779 00:41:45,905 --> 00:41:48,280 de jó, hogy csak ilyen Van hátul a fejedben. 780 00:41:48,280 --> 00:41:52,630 Csak tudni, hogy a számítógép felismeri a különböző blokkok kód 781 00:41:52,630 --> 00:41:53,890 mint ugyanaz a dolog. 782 00:41:53,890 --> 00:41:57,510 Mivel ez csak sokkal felhasználóbarátabb barát nekünk bemutatni el, mintha 783 00:41:57,510 --> 00:41:58,150 egy tömbben. 784 00:41:58,150 --> 00:42:00,990 Ez csak könnyebb. 785 00:42:00,990 --> 00:42:02,719 >> Közönség: Így használja strlen, hogy tetszik, get-- 786 00:42:02,719 --> 00:42:03,385 Tanár: Igen. 787 00:42:03,385 --> 00:42:03,926 Közönség: OK. 788 00:42:03,926 --> 00:42:05,940 TANÁR: te is használja strlen vagy, ha 789 00:42:05,940 --> 00:42:10,420 Nem volt strlen tudod csak csinálni akár amíg eléred backslash nulla mindkét fél számára. 790 00:42:10,420 --> 00:42:11,568 Vagy működne. 791 00:42:11,568 --> 00:42:12,068 Igen. 792 00:42:12,068 --> 00:42:14,871 793 00:42:14,871 --> 00:42:17,996 Közönség: Szóval ez a hivatkozás feloldási minden egyetlen karakter, ha mi volt valójában 794 00:42:17,996 --> 00:42:21,044 írom ezt a kódot, akkor Lehet, hogy csak nem t zárójelben i 795 00:42:21,044 --> 00:42:22,460 Szeretem a csillag előtte? 796 00:42:22,460 --> 00:42:27,700 >> Tanár: Igen, egyenlő az egyenlők s konzol i, majd folyamatosan halad i 797 00:42:27,700 --> 00:42:29,790 le fel, amíg eléred a végén. 798 00:42:29,790 --> 00:42:31,286 Igen, ez mit tenne. 799 00:42:31,286 --> 00:42:33,660 És én valóban van egy következő Például az, amikor tényleg 800 00:42:33,660 --> 00:42:36,740 levelet strlen így a srácok a fajta Az, hogy játszani vele egy kicsit. 801 00:42:36,740 --> 00:42:43,567 >> Szóval mindenki tisztában mindössze memória, vonósok, mutatók, minőségi címeket? 802 00:42:43,567 --> 00:42:46,650 Néhány magasabb szintű fogalmak, hogy akarat biztosan kell tudni a kvíz 803 00:42:46,650 --> 00:42:48,928 holnap. 804 00:42:48,928 --> 00:42:49,904 >> Minden rendben. 805 00:42:49,904 --> 00:42:50,404 Jó. 806 00:42:50,404 --> 00:42:54,824 807 00:42:54,824 --> 00:42:55,324 Igen. 808 00:42:55,324 --> 00:42:58,770 809 00:42:58,770 --> 00:43:04,180 OK, így egy dolog, hogy mi is kérni Ön, mint mi minden évben egy kvíz, van, 810 00:43:04,180 --> 00:43:08,340 Feltételezem, hogy elfelejtette (amely úgy tűnik, hogy felejtsük el, hogy nem évente) 811 00:43:08,340 --> 00:43:10,810 ahol header fájlt strlen nyilvánítják. 812 00:43:10,810 --> 00:43:13,860 És így van, hogy változtattak rajta magunkat. 813 00:43:13,860 --> 00:43:16,350 >> Íme egy lista irányelvek hogy mi is jelen van 814 00:43:16,350 --> 00:43:20,660 srácok, ahol kapsz azt feltételezni, hogy s string nem lesz null. 815 00:43:20,660 --> 00:43:23,830 Akkor feltételezhető, hogy ok lesz megszűnik egy backslash nulla. 816 00:43:23,830 --> 00:43:26,670 Szóval tudom, hogy az, amit ez lesz a vége a. 817 00:43:26,670 --> 00:43:29,500 >> És, például, hogy a hossza helló lenne öt. 818 00:43:29,500 --> 00:43:32,890 Szóval lehet feltételezni, hogy helló lesz öt, H-E-L-L-O. 819 00:43:32,890 --> 00:43:35,890 Nem kell feltételezni, hogy a hátoldalon nulla számlák hosszát. 820 00:43:35,890 --> 00:43:39,720 821 00:43:39,720 --> 00:43:42,300 >> Ez az utolsó dolog itt, nem aggódni egész túlcsordulás. 822 00:43:42,300 --> 00:43:45,270 Tudja valaki emlékszik mi egész túlcsordulás van? 823 00:43:45,270 --> 00:43:48,041 >> Közönség: túlmutat a hossza [hallhatatlan]. 824 00:43:48,041 --> 00:43:50,740 >> Tanár: Igen, meg tudja magyarázni egy kicsit, mit jelent ez? 825 00:43:50,740 --> 00:43:55,330 >> Közönség: Szóval, azt hiszem, ez megy vissza A csonkolása például korábban. 826 00:43:55,330 --> 00:43:58,380 De ha csak annyi szám amelyek túlmutatnak a bitek száma 827 00:43:58,380 --> 00:44:01,409 hogy ténylegesen hozzárendelés hogy ez csak egyfajta vágva. 828 00:44:01,409 --> 00:44:04,242 Tanár: Igen, egy tipikus számítógép, hány bit van? 829 00:44:04,242 --> 00:44:05,306 Közönség: 32? 830 00:44:05,306 --> 00:44:06,430 Tanár: Igen, 32, jobbra. 831 00:44:06,430 --> 00:44:10,030 És ez az, hogy mi, négy milliárd kétmilliárd? 832 00:44:10,030 --> 00:44:13,579 Négy milliárd, legfeljebb négy milliárd pozitív egész szám, ugye? 833 00:44:13,579 --> 00:44:15,370 Két milliárd negatív, kétmilliárd pozitív, 834 00:44:15,370 --> 00:44:16,900 attól függ, hogyan szeretné csinálni. 835 00:44:16,900 --> 00:44:21,470 >> És így alapvetően mi lehet Elég egészek, hogy mehet fel 836 00:44:21,470 --> 00:44:25,800 két a 31. mínusz 1, ugye? 837 00:44:25,800 --> 00:44:27,980 Mert ha egyszer hit két a 32., mi nem 838 00:44:27,980 --> 00:44:30,040 Van, hogy mennyi memória van a számítógéphez. 839 00:44:30,040 --> 00:44:32,310 >> És így, elvileg, én tudott felér egy számot 840 00:44:32,310 --> 00:44:34,560 azaz mint a két a 46.. 841 00:44:34,560 --> 00:44:38,040 Ez egy hatalmas seggű szám, de elméletileg tudna. 842 00:44:38,040 --> 00:44:42,730 És így egész túlcsordulás van, ha megpróbál hozzon létre egy egész szám, amely meghaladja 843 00:44:42,730 --> 00:44:44,790 A számítógép képes tárolni. 844 00:44:44,790 --> 00:44:46,590 >> És így a srácok számára ez a példa nem rendelkeznek 845 00:44:46,590 --> 00:44:51,330 aggódni minket így egy óriás húr, amely két a 32. karakter 846 00:44:51,330 --> 00:44:51,830 hosszú. 847 00:44:51,830 --> 00:44:54,010 Ez lenne igazán értem. 848 00:44:54,010 --> 00:44:59,430 >> Rendben, én csak fog adni srácok az alap szerkezete. 849 00:44:59,430 --> 00:45:02,020 Fogsz létre nevű függvény int strlen, ahol 850 00:45:02,020 --> 00:45:08,436 belépőkártyát, egy char csillag, vagy string, mutató a húr nevezett s. 851 00:45:08,436 --> 00:45:10,820 >> Rendben, mindenki másolja le. 852 00:45:10,820 --> 00:45:13,550 853 00:45:13,550 --> 00:45:14,850 Hűvös. 854 00:45:14,850 --> 00:45:17,020 Oops-- más út. 855 00:45:17,020 --> 00:45:21,360 >> Tehát ez olyan, mint egy nehezebb darab probléma, 856 00:45:21,360 --> 00:45:25,320 ezért adok nektek talán öt- Hat perccel a fajta elmezavar 857 00:45:25,320 --> 00:45:27,478 és írd ezt a funkciót ki. 858 00:45:27,478 --> 00:45:29,710 >> Közönség: Mi nem figyelembe [hallható], 859 00:45:29,710 --> 00:45:30,200 nincs kezelhető egész? 860 00:45:30,200 --> 00:45:31,241 >> Tanár: Nem, nem. 861 00:45:31,241 --> 00:48:05,847 862 00:48:05,847 --> 00:48:06,930 Adok nektek egy tippet. 863 00:48:06,930 --> 00:48:12,325 A while ciklus igen hasznosak lehetnek itt. 864 00:48:12,325 --> 00:48:12,825 Igen. 865 00:48:12,825 --> 00:48:44,995 866 00:48:44,995 --> 00:48:45,495 Íme 867 00:48:45,495 --> 00:48:45,995 cukorka. 868 00:48:45,995 --> 00:48:49,980 869 00:48:49,980 --> 00:48:53,410 Candy is elérhető lesz A kvíz, azt hiszem. 870 00:48:53,410 --> 00:48:55,315 Szóval ti lesz minden, cukrozott holnap. 871 00:48:55,315 --> 00:49:01,110 872 00:49:01,110 --> 00:49:02,962 Lehet én-- megvan. 873 00:49:02,962 --> 00:49:03,718 >> Közönség: OK. 874 00:49:03,718 --> 00:49:04,384 Tanár: Igen. 875 00:49:04,384 --> 00:49:10,550 876 00:49:10,550 --> 00:49:11,870 >> Talán még 30 másodpercig, vagy úgy. 877 00:49:11,870 --> 00:50:02,220 878 00:50:02,220 --> 00:50:07,340 >> Rendben, ha nem történik meg, nincs gond. 879 00:50:07,340 --> 00:50:08,810 Fogunk lépni ezen keresztül együtt. 880 00:50:08,810 --> 00:50:09,310 OKÉ. 881 00:50:09,310 --> 00:50:13,800 Szóval megyek, csak az elrendezés a alapvető szerkezetét, ez a funkció itt. 882 00:50:13,800 --> 00:50:17,255 Int strlen. 883 00:50:17,255 --> 00:50:20,040 884 00:50:20,040 --> 00:50:23,460 Először is, nem mindenki akar mondani hogy ez mit jelent int? 885 00:50:23,460 --> 00:50:25,160 Azt kell, hogy ebben a funkcióban. 886 00:50:25,160 --> 00:50:26,709 >> Közönség: STRLEN [hallható]. 887 00:50:26,709 --> 00:50:27,500 Professzor: Pontosan. 888 00:50:27,500 --> 00:50:31,140 Szóval bármi is történik itt, vissza kell térnünk egy egész szám. 889 00:50:31,140 --> 00:50:36,367 És ahogy azt a spec, szeretnénk return-- 890 00:50:36,367 --> 00:50:37,700 Hajrá fiúk, csak menj tovább. 891 00:50:37,700 --> 00:50:40,480 Minden rendben van. 892 00:50:40,480 --> 00:50:42,960 Egyél minden úgyhogy nincs hogy vegye vissza, valóban. 893 00:50:42,960 --> 00:50:46,022 894 00:50:46,022 --> 00:50:48,855 Az int csak azt jelenti, hogy te fog visszatérni egész. 895 00:50:48,855 --> 00:50:55,350 896 00:50:55,350 --> 00:50:57,106 >> Mi ez char csillagos ek? 897 00:50:57,106 --> 00:50:58,640 Az mit jelent? 898 00:50:58,640 --> 00:51:00,879 >> Közönség: Tetszik, mi a bemenetre a. 899 00:51:00,879 --> 00:51:01,670 Professzor: Pontosan. 900 00:51:01,670 --> 00:51:04,142 És mi szinte a ugyanaz, mint a char csillag? 901 00:51:04,142 --> 00:51:04,850 Közönség: karakterlánc? 902 00:51:04,850 --> 00:51:05,641 Professzor: Pontosan. 903 00:51:05,641 --> 00:51:09,080 Tehát minden csinálunk, ha feladjuk ez egy mutató a húr. 904 00:51:09,080 --> 00:51:09,580 OKÉ. 905 00:51:09,580 --> 00:51:12,860 906 00:51:12,860 --> 00:51:13,360 Hűvös. 907 00:51:13,360 --> 00:51:16,650 >> Továbbá, ne felejtsd el, ha elfelejtjük hogy az Ön ezeket a konzolokat, 908 00:51:16,650 --> 00:51:18,330 ne felejtsük el, hogy írjon nekik magad. 909 00:51:18,330 --> 00:51:20,720 Mert elméletileg, hogy a kódod helytelen, ha elfelejti, hogy írjon nekik. 910 00:51:20,720 --> 00:51:21,803 Csak mindig figyelni. 911 00:51:21,803 --> 00:51:23,750 Mint, apró dolgok hogy nem veszi észre 912 00:51:23,750 --> 00:51:26,917 amikor programot írsz a laptop, mert a laptop nem az Ön számára? 913 00:51:26,917 --> 00:51:28,624 Ne felejtsd el, ha írsz kézzel. 914 00:51:28,624 --> 00:51:29,170 Igen? 915 00:51:29,170 --> 00:51:30,954 >> Közönség: De hogyan helytelen? 916 00:51:30,954 --> 00:51:33,190 Mint, tudjuk, hogy az egész probléma baj? 917 00:51:33,190 --> 00:51:34,190 >> Tanár: Nem, nem. 918 00:51:34,190 --> 00:51:34,860 Ne aggódj. 919 00:51:34,860 --> 00:51:39,270 Ez valójában elméletileg lehetséges Ön számára, hogy teljes pontot a kérdés 920 00:51:39,270 --> 00:51:41,980 akkor is, ha a kód soha nem fogy a való életben. 921 00:51:41,980 --> 00:51:46,052 Azt javaslom, hogy ne próbálja hogy ez megtörténjen. 922 00:51:46,052 --> 00:51:48,260 Például, mint ha minden ez itt is igaz, 923 00:51:48,260 --> 00:51:51,850 de elfelejtette a kettőspont vagy zárójel a kód valójában nem fog futni. 924 00:51:51,850 --> 00:51:53,740 De lehet, hogy irgalmas. 925 00:51:53,740 --> 00:51:54,394 >> Igen? 926 00:51:54,394 --> 00:51:56,050 >> Közönség: Van, hogy véleményezzék a kézírás? 927 00:51:56,050 --> 00:51:57,758 >> Tanár: Nem, nem, nem aggódik, hogy. 928 00:51:57,758 --> 00:51:58,440 Nem kommentálja. 929 00:51:58,440 --> 00:51:59,400 Stílus legyen jó. 930 00:51:59,400 --> 00:52:01,470 Tetszik, nem Smush mindent egy sorban. 931 00:52:01,470 --> 00:52:04,580 Mi nem leszünk boldogok veled, ha ezt teszed. 932 00:52:04,580 --> 00:52:07,250 >> Akar valaki hogy nekem az első sorban? 933 00:52:07,250 --> 00:52:08,633 Tipp, ez nagyon egyszerű. 934 00:52:08,633 --> 00:52:09,320 >> Igen? 935 00:52:09,320 --> 00:52:11,920 >> Közönség: Közepes, n értéke nulla. 936 00:52:11,920 --> 00:52:13,734 Csak létre számláló. 937 00:52:13,734 --> 00:52:15,900 Professzor: Tehát szeretnénk néhány egyfajta ellen, igaz? 938 00:52:15,900 --> 00:52:19,780 Csak megyek az új név "számít" Az olvashatóság kedvéért. 939 00:52:19,780 --> 00:52:21,265 Mit akarunk beállítani, egyenlő? 940 00:52:21,265 --> 00:52:21,890 >> Közönség: Zero. 941 00:52:21,890 --> 00:52:23,840 Tanár: Igen. 942 00:52:23,840 --> 00:52:24,340 Pontosvessző. 943 00:52:24,340 --> 00:52:26,250 Az is nagyon furcsa rajz pontosvessző. 944 00:52:26,250 --> 00:52:28,870 Csak gyakorlat csinálja. 945 00:52:28,870 --> 00:52:31,990 >> Így szeretnénk először egy számláló int típusú. 946 00:52:31,990 --> 00:52:35,360 Mert azt akarjuk számolni, hol tartottam sok szöveggel és betűk 947 00:52:35,360 --> 00:52:36,780 ebben a húr, ugye? 948 00:52:36,780 --> 00:52:38,330 Nagyon könnyű az első lépést. 949 00:52:38,330 --> 00:52:42,140 >> Oké, talán egy kicsit bonyolultabb Most, hogy fogunk megtenni? 950 00:52:42,140 --> 00:52:45,400 Akar valaki add nekem a kódsort 951 00:52:45,400 --> 00:52:48,450 hogy lehet, hogy segít a hurok keresztül Akármi is ez? 952 00:52:48,450 --> 00:52:54,540 953 00:52:54,540 --> 00:52:56,900 >> Ja, bátor vállalkozás a hátsó? 954 00:52:56,900 --> 00:53:06,832 >> Közönség: OK, így amíg pont csillagok, a Yeah, csillag s, 955 00:53:06,832 --> 00:53:09,465 nem nulla, akkor valamit tenni? 956 00:53:09,465 --> 00:53:11,090 Professzor: Ez nagyon, nagyon közel. 957 00:53:11,090 --> 00:53:11,835 Nagyon közel. 958 00:53:11,835 --> 00:53:13,710 Így fogok foglalkozni Két dolog ezzel. 959 00:53:13,710 --> 00:53:18,240 Először is, ez nem éppen nulla. 960 00:53:18,240 --> 00:53:20,110 Mi az? 961 00:53:20,110 --> 00:53:22,550 Ez a null terminátor, ami backslash nulla. 962 00:53:22,550 --> 00:53:24,960 Tehát ők másképp tekintve, hogy ők tárolják. 963 00:53:24,960 --> 00:53:26,270 Így már igazán közel. 964 00:53:26,270 --> 00:53:30,330 >> És másodszor, nem akarjuk, hogy csak mozgatni a mutatót. 965 00:53:30,330 --> 00:53:32,320 Azt akarjuk, hogy ténylegesen elérheti az értékeket, ugye? 966 00:53:32,320 --> 00:53:34,050 És igen, hogyan csináljuk ezt? 967 00:53:34,050 --> 00:53:34,550 Nagyon könnyű. 968 00:53:34,550 --> 00:53:36,841 Ne gondolj mutatók, ne gondolj emlékek. 969 00:53:36,841 --> 00:53:38,525 Menj vissza a héten két ilyen tanfolyam. 970 00:53:38,525 --> 00:53:39,555 >> Közönség: [hallható]. 971 00:53:39,555 --> 00:53:40,680 TANÁR: Mivel, nem emlékszel? 972 00:53:40,680 --> 00:53:41,400 Mik azok a húrok? 973 00:53:41,400 --> 00:53:42,650 Miben memóriában tárolt? 974 00:53:42,650 --> 00:53:43,300 >> Közönség: Ők emelte. 975 00:53:43,300 --> 00:53:43,810 >> Professzor: felnőnek. 976 00:53:43,810 --> 00:53:45,550 Szóval hogyan férünk hozzá minden karakter benne? 977 00:53:45,550 --> 00:53:46,466 >> Közönség: [hallható]. 978 00:53:46,466 --> 00:53:47,530 Professzor: Pontosan. 979 00:53:47,530 --> 00:53:53,195 Tehát while-- mi megy benne van? 980 00:53:53,195 --> 00:53:54,940 S - 981 00:53:54,940 --> 00:53:55,920 >> Közönség: I. 982 00:53:55,920 --> 00:53:58,216 >> Tanár: Ó, én nem létezik, ugye? 983 00:53:58,216 --> 00:53:59,620 >> Közönség: Ó, gróf? 984 00:53:59,620 --> 00:54:01,640 >> Tanár: Mi is csak Használja száma, nem igaz? 985 00:54:01,640 --> 00:54:03,050 >> Közönség: Bocs, én nevezte i. 986 00:54:03,050 --> 00:54:04,341 >> Tanár: Igen, ez mind jó. 987 00:54:04,341 --> 00:54:06,710 988 00:54:06,710 --> 00:54:10,760 Van egy változót itt ez már leadták, mint a mi számláló. 989 00:54:10,760 --> 00:54:13,650 Szóval miért nem csak használni, hogy mozoghat a while ciklus? 990 00:54:13,650 --> 00:54:15,230 Ennek van értelme? 991 00:54:15,230 --> 00:54:20,864 >> Tehát miközben s count-- Akar valaki hogy nekem mi történik, miután itt? 992 00:54:20,864 --> 00:54:22,030 Közönség: Ez nem egyenlő. 993 00:54:22,030 --> 00:54:23,405 Tanár: Nem egyenlő, ugye? 994 00:54:23,405 --> 00:54:26,200 Ez a Bang egyenlő, felkiáltójel egyenlő, 995 00:54:26,200 --> 00:54:28,500 amit akartok nevezni nem equal-- 996 00:54:28,500 --> 00:54:29,496 >> Közönség: [hallható]. 997 00:54:29,496 --> 00:54:30,990 >> Tanár: Igen. 998 00:54:30,990 --> 00:54:37,110 Emlékezz aposztróf van egy char, idézőjelek között van egy húr. 999 00:54:37,110 --> 00:54:38,630 Legyen óvatos, amikor használja őket. 1000 00:54:38,630 --> 00:54:42,430 Tehát, ha keresünk keresztül a tömb, az utolsó karakter, 1001 00:54:42,430 --> 00:54:46,420 tudjuk, nem akarjuk hogy legyen backslash nulla. 1002 00:54:46,420 --> 00:54:47,340 >> Tehát míg. 1003 00:54:47,340 --> 00:54:48,840 Nem vagyunk a végén a húr. 1004 00:54:48,840 --> 00:54:52,335 Mit akarunk csinálni benne? 1005 00:54:52,335 --> 00:54:55,269 >> Közönség: Szeretnénk felvenni a számláló, így ez számít plus plus? 1006 00:54:55,269 --> 00:54:56,060 Professzor: Pontosan. 1007 00:54:56,060 --> 00:55:03,064 Tehát itt fogunk csinálni számolni, gróf plus plus. 1008 00:55:03,064 --> 00:55:03,980 Hiányzik még egy sort. 1009 00:55:03,980 --> 00:55:05,090 Már majdnem ott vagyunk. 1010 00:55:05,090 --> 00:55:07,398 Mit fogunk megfeledkezve csinálni? 1011 00:55:07,398 --> 00:55:08,770 >> Közönség: Visszatérő nulla? 1012 00:55:08,770 --> 00:55:10,820 >> Professzor: vissza akar térni a nulla? 1013 00:55:10,820 --> 00:55:12,962 >> Közönség: Nem, visszatérve strlen. 1014 00:55:12,962 --> 00:55:13,511 Várj csak. 1015 00:55:13,511 --> 00:55:14,760 TANÁR: Melyik tárolják? 1016 00:55:14,760 --> 00:55:15,090 Közönség: gróf. 1017 00:55:15,090 --> 00:55:15,589 Gróf. 1018 00:55:15,589 --> 00:55:17,150 Professzor: Pontosan. 1019 00:55:17,150 --> 00:55:20,760 Tehát itt fogunk visszatérni száma. 1020 00:55:20,760 --> 00:55:23,450 1021 00:55:23,450 --> 00:55:25,380 >> Mert mi vagyunk csinálsz itt ultimately-- 1022 00:55:25,380 --> 00:55:29,780 van egy számláló változó, ami megy a növedék keresztül húr. 1023 00:55:29,780 --> 00:55:33,050 Fogunk tartani fog, tartsa megy, körbe-körbe ebben a körben. 1024 00:55:33,050 --> 00:55:37,700 És amíg nem vagyunk a végén ezt húr, amely a null terminátor. 1025 00:55:37,700 --> 00:55:40,410 >> És minden alkalommal megyünk keresztül, ez, mi hozzátéve, hogy a számláló. 1026 00:55:40,410 --> 00:55:42,640 És megyünk tovább végig ebben a tömbben. 1027 00:55:42,640 --> 00:55:44,880 És a végén, ha egyszer megüt a null terminátor, 1028 00:55:44,880 --> 00:55:48,469 Tudjuk, ó, mi lehet megtörni, visszatér a gróf. 1029 00:55:48,469 --> 00:55:49,260 Megvan a strlen. 1030 00:55:49,260 --> 00:55:52,280 1031 00:55:52,280 --> 00:55:56,400 >> Mindenki kap, hogyan ezt végrehajtani? 1032 00:55:56,400 --> 00:55:58,830 Míg loops-- Tudom mi nem tett túl sokat velük, 1033 00:55:58,830 --> 00:56:01,240 de ők általában Nagyon, nagyon hasznos, ha 1034 00:56:01,240 --> 00:56:05,390 Nem tudom, miről megállás állapotban feltétlenül kell, hogy legyen. 1035 00:56:05,390 --> 00:56:06,220 >> Kérdés? 1036 00:56:06,220 --> 00:56:10,080 >> Közönség: Tudunk levelet null A közben állapotban van? 1037 00:56:10,080 --> 00:56:10,940 >> Professzor: Miközben? 1038 00:56:10,940 --> 00:56:15,304 Igen, ez a probléma volt akkor srácok azt feltételezik, hogy ok nem lehet üres. 1039 00:56:15,304 --> 00:56:17,220 Mert emlékszem, Elméletileg, ha én adtam neked 1040 00:56:17,220 --> 00:56:21,180 egy mutatót, hogy túl nagy volt a memória, ez megadja a null, ugye? 1041 00:56:21,180 --> 00:56:23,770 Ez az, amit az operációs rendszer tenne. 1042 00:56:23,770 --> 00:56:26,960 >> Tehát ha én nem mondtam el, hogy vállalja s volnának, akkor ellenőrizni kell. 1043 00:56:26,960 --> 00:56:32,050 Tehát itt, azt írnánk, ha s egyenlő egyenlő null, vissza egyet. 1044 00:56:32,050 --> 00:56:33,028 Valami hasonló. 1045 00:56:33,028 --> 00:56:34,153 Közönség: [hallható] nulla. 1046 00:56:34,153 --> 00:56:37,287 1047 00:56:37,287 --> 00:56:39,370 TANÁR: OK, elmondom akkor miért nem tehetem. 1048 00:56:39,370 --> 00:56:43,357 Mert emlékszem a memóriában, igaz, itt. 1049 00:56:43,357 --> 00:56:43,940 Elmegyünk innen. 1050 00:56:43,940 --> 00:56:49,940 1051 00:56:49,940 --> 00:56:54,090 >> Megvan óriás tömbök A memória minden ráccsal 1052 00:56:54,090 --> 00:56:56,680 hogy a bolt különböző értékeket, ugye? 1053 00:56:56,680 --> 00:57:00,110 És így az egész egy string is-- számára Például, ha azt akarjuk, hogy adja hello, 1054 00:57:00,110 --> 00:57:05,490 lenne H-E-L-L-O backslash nulla, ugye? 1055 00:57:05,490 --> 00:57:09,570 És akkor ki tudja, mint a véletlenszerűen dolgokat, amelyek után itt is. 1056 00:57:09,570 --> 00:57:11,220 >> Valójában nem tudom, mi van ott. 1057 00:57:11,220 --> 00:57:13,350 És így ha azt írjuk, hogy helyett backslash nulla, 1058 00:57:13,350 --> 00:57:15,590 null, akkor nem lehet üres. 1059 00:57:15,590 --> 00:57:17,680 Mert ez csak azt jelentheti, néhány véletlenszerű egyebek 1060 00:57:17,680 --> 00:57:19,270 amelyek nem tartoznak a húr. 1061 00:57:19,270 --> 00:57:23,219 És így az is, hogy mindig tudjuk, hogy egy string vége van egy backslash nulla. 1062 00:57:23,219 --> 00:57:25,760 És úgy, hogy mindig, hogyan ellenőrizze, hogy a végén egy húr. 1063 00:57:25,760 --> 00:57:30,820 >> Null, minden azt jelenti, ha van egy nem létező mutatót, először is, 1064 00:57:30,820 --> 00:57:36,160 vagy ha a memória csak olyan nagy, hogy nem tud visszatérni, akkor ez lenne null. 1065 00:57:36,160 --> 00:57:40,150 Szóval nagyon óvatos differenciáló a különbség a null 1066 00:57:40,150 --> 00:57:42,130 és a backslash nulla. 1067 00:57:42,130 --> 00:57:43,670 Igen. 1068 00:57:43,670 --> 00:57:46,886 >> Mindenki rendben van ez? 1069 00:57:46,886 --> 00:57:48,150 OKÉ. 1070 00:57:48,150 --> 00:57:50,440 >> Szóval volt srácok írjon ki strlen. 1071 00:57:50,440 --> 00:57:53,790 Ténylegesen mi is kérni írsz ki-I, ne feledjük, hogy "Atwoa" 1072 00:57:53,790 --> 00:57:55,400 vagy amit akartok nevezni? 1073 00:57:55,400 --> 00:57:58,010 Ez a funkció a Vigenère és Caesar, hogy 1074 00:57:58,010 --> 00:58:00,900 átalakítja az ASCII érték egész? 1075 00:58:00,900 --> 00:58:04,360 Ez azt is jött ki a múlt vetélkedők A funkciók, amit kértem, hogy írjon. 1076 00:58:04,360 --> 00:58:08,280 >> Elég sok minden funkcióját hogy már használt, és 1077 00:58:08,280 --> 00:58:11,660 Nagyon könnyű írni magát, érzékelők tetszik alacsonyabb, 1078 00:58:11,660 --> 00:58:14,620 a felső, alacsonyabb, a felső. 1079 00:58:14,620 --> 00:58:17,964 Funkciók, hogy konvertálja a stringet kisbetűs nagybetűs. 1080 00:58:17,964 --> 00:58:19,380 Mindannyian tudjuk, hogyan kell csinálni, nem? 1081 00:58:19,380 --> 00:58:21,100 Ez elég könnyű. 1082 00:58:21,100 --> 00:58:24,770 Csak azt akarom, hogy megbizonyosodjon arról, hogy can-- ez ugyanaz a gondolkodási folyamat. 1083 00:58:24,770 --> 00:58:26,940 Te csak halad végig és bekapcsolja a dolgokat. 1084 00:58:26,940 --> 00:58:30,190 Vagy számít, vagy ha bekapcsolja a dolgokat másként. 1085 00:58:30,190 --> 00:58:32,280 >> Azt suggest-- I nem tudom, hogy mi lesz 1086 00:58:32,280 --> 00:58:39,080 megkérdezni, hogy memorizálni, amit a tőke egy vagy tőke Z, vagy kisbetűs A vagy kisbetűs 1087 00:58:39,080 --> 00:58:42,640 z az ASCII, de én azt javaslom Talán írásban rögzített esetben 1088 00:58:42,640 --> 00:58:44,124 mi csináljuk. 1089 00:58:44,124 --> 00:58:45,540 Csak, hogy a srácok egy hivatkozást. 1090 00:58:45,540 --> 00:58:47,180 Mint nagybetűs Egy az, hogy mi, 197? 1091 00:58:47,180 --> 00:58:51,320 És akkor kisbetűs mint 50 valamit. 1092 00:58:51,320 --> 00:58:52,492 65, igen, tessék. 1093 00:58:52,492 --> 00:58:54,950 Szóval, csak nagyjából tudja a különbség köztük 32. 1094 00:58:54,950 --> 00:58:57,670 Ez elég fontos. 1095 00:58:57,670 --> 00:58:58,170 Igen. 1096 00:58:58,170 --> 00:59:01,445 Jó vagyok ebben? 1097 00:59:01,445 --> 00:59:01,945 OKÉ. 1098 00:59:01,945 --> 00:59:03,109 >> Közönség: Mi lehetett Elméletileg írni néhány 1099 00:59:03,109 --> 00:59:04,410 Ezen csökkenhet is a mi little-- 1100 00:59:04,410 --> 00:59:07,035 >> Tanár: Akkor elméletileg Lehet, hogy csak másolja a funkció le. 1101 00:59:07,035 --> 00:59:08,482 Az igaz. 1102 00:59:08,482 --> 00:59:11,080 >> Közönség: Nem [hallható]. 1103 00:59:11,080 --> 00:59:12,720 >> Professzor: Srácok, egy lapon. 1104 00:59:12,720 --> 00:59:14,194 Srácok van egy jegyzet lapot. 1105 00:59:14,194 --> 00:59:14,860 Akkor írja meg. 1106 00:59:14,860 --> 00:59:15,490 Akkor írd meg. 1107 00:59:15,490 --> 00:59:17,031 Azt csinálsz, amit akarsz vele. 1108 00:59:17,031 --> 00:59:18,530 Igen. 1109 00:59:18,530 --> 00:59:21,406 Tehát elméletileg, ha akarsz, menj. 1110 00:59:21,406 --> 00:59:23,338 >> Közönség: [hallható] de nem igazán 1111 00:59:23,338 --> 00:59:25,994 feltétlenül meg kell emlékezni az érték, mi csak 1112 00:59:25,994 --> 00:59:28,914 Használja a felső vagy kisebb funkciót, ugye? 1113 00:59:28,914 --> 00:59:29,580 Tanár: Igen. 1114 00:59:29,580 --> 00:59:32,740 De ha kaptatok egy kérdést hogy azt mondja, írjon felső, 1115 00:59:32,740 --> 00:59:34,350 akkor lenne szükség, hogy írja meg. 1116 00:59:34,350 --> 00:59:38,150 Szóval ti is azt feltételezik, hogy srácok van, hogy az összes funkciót, 1117 00:59:38,150 --> 00:59:41,523 de ha szeretné használni a felső, vagy alacsonyabb, mit is kell csinálni? 1118 00:59:41,523 --> 00:59:43,840 >> Közönség: [hallható] Használja CS50 [hallhatatlan] 1119 00:59:43,840 --> 00:59:44,840 >> Tanár: Van-e CS50.h? 1120 00:59:44,840 --> 00:59:47,320 1121 00:59:47,320 --> 00:59:48,310 Legyen óvatos ott. 1122 00:59:48,310 --> 00:59:50,640 >> Tehát a felső, alacsonyabb, a felső, alacsonyabb, 1123 00:59:50,640 --> 00:59:52,990 funkciók, mely magában foglalja húr manipulációval 1124 00:59:52,990 --> 00:59:55,490 mindezt akár az ASCII vagy a matematikai könyvtár 1125 00:59:55,490 --> 00:59:57,350 vagy a húr könyvtárban. 1126 00:59:57,350 --> 01:00:00,290 Tehát, ha a srácok használja a fenti funkciók, legyen óvatos, hogy ne feledje, 1127 01:00:00,290 --> 01:00:01,451 tartalmazza, hogy a fejléc. 1128 01:00:01,451 --> 01:00:03,950 Így talán még valami, amit szeretnénk felvenni a lapot, 1129 01:00:03,950 --> 01:00:04,892 mik a fejléc? 1130 01:00:04,892 --> 01:00:06,600 Melyek a könyvtárak van már használja? 1131 01:00:06,600 --> 01:00:08,550 Milyen funkciók belül azok a könyvtárak? 1132 01:00:08,550 --> 01:00:09,230 Ez fontos. 1133 01:00:09,230 --> 01:00:10,420 >> Igen? 1134 01:00:10,420 --> 01:00:12,570 >> Közönség: tudnánk csak zsarut, és nem hashtaget 1135 01:00:12,570 --> 01:00:14,955 az abszolút minden levél, amit valaha 1136 01:00:14,955 --> 01:00:17,340 láttam, mint az összes kérdésre? 1137 01:00:17,340 --> 01:00:18,320 >> TANÁR: te is. 1138 01:00:18,320 --> 01:00:20,361 Nem tudom, milyen boldog mi lesz fokozatúra 1139 01:00:20,361 --> 01:00:25,090 hogy kvíz, amikor minden kódrészletet kétszer olyan hosszú, mint azt kell lennie. 1140 01:00:25,090 --> 01:00:27,200 Nem tudom, talán felszállni egy pontot stílusban. 1141 01:00:27,200 --> 01:00:28,790 De elméletileg a kód lenne helyes. 1142 01:00:28,790 --> 01:00:30,915 Ti is zsaru, és Csak tartalmazzák mindent. 1143 01:00:30,915 --> 01:00:32,044 Ez rendben is, igen. 1144 01:00:32,044 --> 01:00:32,960 Közönség: [hallható]. 1145 01:00:32,960 --> 01:00:33,270 Tanár: Igen. 1146 01:00:33,270 --> 01:00:34,900 Azt javaslom, ne csinálja mégis. 1147 01:00:34,900 --> 01:00:35,505 Igen. 1148 01:00:35,505 --> 01:00:36,130 Közönség: Cool. 1149 01:00:36,130 --> 01:00:36,620 Professzor: Jó kérdés. 1150 01:00:36,620 --> 01:00:37,480 Közönség: Szóval, a legrosszabb forgatókönyv. 1151 01:00:37,480 --> 01:00:38,563 Professzor: A legrosszabb esetben. 1152 01:00:38,563 --> 01:00:40,350 Ha teljesen elfelejteni, meg tudná csinálni. 1153 01:00:40,350 --> 01:00:40,850 Igen. 1154 01:00:40,850 --> 01:00:43,870 1155 01:00:43,870 --> 01:00:45,400 >> Ja, kód ott van. 1156 01:00:45,400 --> 01:00:49,176 Régebben n helyett száma, de akkor tudom, bármi úszik a hajó. 1157 01:00:49,176 --> 01:00:51,092 Közönség: Várj, ezért nem kell Hashtag 1158 01:00:51,092 --> 01:00:53,460 közé, mert mi vagyunk kezdve az int? 1159 01:00:53,460 --> 01:00:56,150 1160 01:00:56,150 --> 01:00:59,924 >> Tanár: Igen, csak feltételezhető, hogy akkor arra kérték, hogy írjon a funkciót. 1161 01:00:59,924 --> 01:01:02,340 Ha akarta, hogy biztonságos, akkor valószínűleg tedd oda. 1162 01:01:02,340 --> 01:01:05,650 De én csak nem zavarta, igen. 1163 01:01:05,650 --> 01:01:09,919 >> Én nem is tudom, ha szükséged könyvtár erre. 1164 01:01:09,919 --> 01:01:12,710 Mert nem igazán nyomtatás ki semmit, vagy ilyesmi, ugye? 1165 01:01:12,710 --> 01:01:16,500 1166 01:01:16,500 --> 01:01:19,568 Ja, nem tudom, ha Szüksége van egy könyvtár. 1167 01:01:19,568 --> 01:01:22,400 >> OKÉ. 1168 01:01:22,400 --> 01:01:26,020 Ez is egy kicsit többet mentén A vonalak memória manipulálása. 1169 01:01:26,020 --> 01:01:27,400 Ez a fajta kicsit trükkös. 1170 01:01:27,400 --> 01:01:28,960 Gondolj bele. 1171 01:01:28,960 --> 01:01:30,580 Van egy funkció úgynevezett funkcionális. 1172 01:01:30,580 --> 01:01:33,570 Tudtam volna elnevezte függetlenül, de úgy döntök, hogy nevezd meg a FUNC. 1173 01:01:33,570 --> 01:01:36,000 Megvan a fent én fő. 1174 01:01:36,000 --> 01:01:39,790 Ne feledje, azt szeretné, hogy függvényében, miután a fő, 1175 01:01:39,790 --> 01:01:42,370 azt szeretnénk, hogy győződjön meg róla, többek között a prototípust a tetején. 1176 01:01:42,370 --> 01:01:45,750 >> De ebben az esetben volt olyan rövid hogy úgy éreztem, hogy én is csak 1177 01:01:45,750 --> 01:01:47,260 tartalmazza azt tetején a fő. 1178 01:01:47,260 --> 01:01:51,170 Nem kell, hogy a prototípus, mert ez már fent leírt. 1179 01:01:51,170 --> 01:01:55,430 Tehát minden, amit csinálsz a fő funkciója teremt egész x = 10. 1180 01:01:55,430 --> 01:02:00,490 Hívom funk funkciót, majd a nyomtatás valamit. 1181 01:02:00,490 --> 01:02:02,840 >> És akkor ez ténylegesen mi funk csinál. 1182 01:02:02,840 --> 01:02:04,340 Kértek, hogy gondolja át ezt. 1183 01:02:04,340 --> 01:02:05,423 Mert ez egy kicsit trükkös. 1184 01:02:05,423 --> 01:02:07,220 Ez nagyon, nagyon trükkös, valóban. 1185 01:02:07,220 --> 01:02:09,549 Gondold át, mi ez programban lenne kimenetre. 1186 01:02:09,549 --> 01:02:10,840 Adok nektek két percig. 1187 01:02:10,840 --> 01:03:36,660 1188 01:03:36,660 --> 01:03:37,891 >> Jó viták? 1189 01:03:37,891 --> 01:03:38,853 >> Közönség: Igen. 1190 01:03:38,853 --> 01:03:39,815 >> Tanár: Igen. 1191 01:03:39,815 --> 01:03:42,220 Rendben, tehát ez trükkös oka. 1192 01:03:42,220 --> 01:03:44,845 És ez az, amiért el akartam hozni ezt mindenki figyelmét. 1193 01:03:44,845 --> 01:03:47,870 1194 01:03:47,870 --> 01:03:51,147 Akar valaki adjon nekem egy javaslat, egy kísérlet? 1195 01:03:51,147 --> 01:03:52,230 Milyen lenne ez kinyomtatni? 1196 01:03:52,230 --> 01:03:53,930 Teljesen rendben van, ha tévedsz. 1197 01:03:53,930 --> 01:03:55,619 Igen? 1198 01:03:55,619 --> 01:03:59,483 >> Közönség: Azt hiszem, ez 100 és majd 10-es két külön vonalat. 1199 01:03:59,483 --> 01:04:00,940 >> Tanár: És a 10? 1200 01:04:00,940 --> 01:04:03,154 Van valakinek bármilyen más találgatások? 1201 01:04:03,154 --> 01:04:04,150 Igen? 1202 01:04:04,150 --> 01:04:09,040 >> Közönség: Talán csak azért, mert 10 funk nem tér vissza semmit? 1203 01:04:09,040 --> 01:04:11,610 >> TANÁR: OK, így még kitalálni számú 1204 01:04:11,610 --> 01:04:14,990 az, hogy a találgatás kettes számú csak úgy, hogy nyomtassa ki 10. 1205 01:04:14,990 --> 01:04:17,623 Van valakinek bármilyen más találgatások? 1206 01:04:17,623 --> 01:04:19,654 OKÉ. 1207 01:04:19,654 --> 01:04:21,070 Szóval menjünk át ezt, ugye? 1208 01:04:21,070 --> 01:04:23,903 Ha kapsz egy darab kódot, Nem csak nézd meg, és mint a 1209 01:04:23,903 --> 01:04:25,060 ah, ez annyi cuccot! 1210 01:04:25,060 --> 01:04:26,460 Annyira össze vagyok zavarodva! 1211 01:04:26,460 --> 01:04:28,220 Mint, nyugodj meg lefelé. 1212 01:04:28,220 --> 01:04:31,602 Csak tudom, hogy akkor csak nézd át kódot sorról sorra. 1213 01:04:31,602 --> 01:04:32,310 Ez minden van. 1214 01:04:32,310 --> 01:04:33,840 Ez olyan, mint egy könyvet olvasott. 1215 01:04:33,840 --> 01:04:38,000 >> Tehát minden funkciót, mindig kezdődik fő. 1216 01:04:38,000 --> 01:04:40,860 Szóval megyünk kezdődik int main semmis, 1217 01:04:40,860 --> 01:04:43,010 még a program Már lerobbant, nem igaz? 1218 01:04:43,010 --> 01:04:45,070 Kezdjük a fő- semmis. 1219 01:04:45,070 --> 01:04:48,030 Int x = 10. 1220 01:04:48,030 --> 01:04:50,400 >> Így fogok törölni ezt. 1221 01:04:50,400 --> 01:04:55,179 1222 01:04:55,179 --> 01:04:58,470 Megyek, hogy felhívja a memória csak így srácok egyfajta látja, mi történik. 1223 01:04:58,470 --> 01:05:02,190 >> Emlékezz itt lent van a mi verem? 1224 01:05:02,190 --> 01:05:05,810 Akár itt van a mi kupac valahol itt. 1225 01:05:05,810 --> 01:05:07,470 Stack felnő, ugye? 1226 01:05:07,470 --> 01:05:10,150 És a verem, akkor a hálózati funkció, valamint 1227 01:05:10,150 --> 01:05:12,230 az összes hálózati lokális változók. 1228 01:05:12,230 --> 01:05:14,310 >> Tehát itt, int x értéke 10. 1229 01:05:14,310 --> 01:05:17,670 A mi fő funkciója vagyunk ami egy változó nevű x. 1230 01:05:17,670 --> 01:05:20,590 Mi beállítás, ami egyenlő 10. 1231 01:05:20,590 --> 01:05:24,200 Itt van néhány x, és te beállítás, ami egyenlő 10, jobbra, 1232 01:05:24,200 --> 01:05:25,400 belüli fő. 1233 01:05:25,400 --> 01:05:27,430 Mindenki jó? 1234 01:05:27,430 --> 01:05:28,070 >> Funkció. 1235 01:05:28,070 --> 01:05:30,330 Tehát most, a mi fő funkciót, akkor hívsz 1236 01:05:30,330 --> 01:05:31,810 A funkció is írtam fent. 1237 01:05:31,810 --> 01:05:34,550 Úgyhogy most be a második funkciót. 1238 01:05:34,550 --> 01:05:40,120 Fogunk létrehozni egy másik változó int x = 100. 1239 01:05:40,120 --> 01:05:42,410 Mi történik itt a verem? 1240 01:05:42,410 --> 01:05:46,980 Mi történik, ha hívja a függvényt, amely létrehozza az új változókat? 1241 01:05:46,980 --> 01:05:50,038 Mi történik itt a verem? 1242 01:05:50,038 --> 01:05:52,134 >> Közönség: [hallható] halom tetején? 1243 01:05:52,134 --> 01:05:52,800 Tanár: Igen. 1244 01:05:52,800 --> 01:05:54,050 Tehát tulajdonképpen létrehoz egy példányt. 1245 01:05:54,050 --> 01:05:56,560 1246 01:05:56,560 --> 01:05:57,740 És ez a fajta halom tetejére. 1247 01:05:57,740 --> 01:06:00,700 Gondoljunk csak a stack-- egy halom A könyvek, egy rakás semmit. 1248 01:06:00,700 --> 01:06:06,520 Cölöpök a tetején, először tavaly ki, tart, first out. 1249 01:06:06,520 --> 01:06:08,471 >> Szóval ez létre fog hozni egy x ide. 1250 01:06:08,471 --> 01:06:12,080 1251 01:06:12,080 --> 01:06:14,450 >> Hogy megy, hogy Az összes funcs változók. 1252 01:06:14,450 --> 01:06:14,950 Nagy. 1253 01:06:14,950 --> 01:06:20,980 Tehát most van két különböző x 's hogy képviselik két nagyon különböző dolog. 1254 01:06:20,980 --> 01:06:24,470 Aztán megyünk nyomtatni ki a egész szám x. 1255 01:06:24,470 --> 01:06:26,430 Úgyhogy nyomtatni 100, ugye? 1256 01:06:26,430 --> 01:06:29,389 Mert itt van ez a 100. 1257 01:06:29,389 --> 01:06:31,680 Szóval ez az első dolog, hogy ez meg fog kinyomtatni. 1258 01:06:31,680 --> 01:06:35,710 Mivel a függvény visszatérési semmit, Most, hogy a funkció, hogy a vonal a fő 1259 01:06:35,710 --> 01:06:37,070 történik. 1260 01:06:37,070 --> 01:06:39,160 Mindenki jó nekem eddig? 1261 01:06:39,160 --> 01:06:43,034 >> Úgyhogy most a kettő a három sor a fő funkciója. 1262 01:06:43,034 --> 01:06:44,450 Most megyünk a harmadik sorban. 1263 01:06:44,450 --> 01:06:46,350 Megyünk a printf. 1264 01:06:46,350 --> 01:06:48,222 Mi ez x belüli fő? 1265 01:06:48,222 --> 01:06:49,263 Mit jelent, hogy képviselje? 1266 01:06:49,263 --> 01:06:52,720 1267 01:06:52,720 --> 01:06:54,280 >> Milyen értéke van x most? 1268 01:06:54,280 --> 01:06:55,220 >> Közönség: 100. 1269 01:06:55,220 --> 01:06:56,799 >> Professzor: Ez 100? 1270 01:06:56,799 --> 01:06:57,590 Közönség: Még 10. 1271 01:06:57,590 --> 01:06:58,878 TANÁR: Még mindig 10. 1272 01:06:58,878 --> 01:07:00,870 Igen. 1273 01:07:00,870 --> 01:07:06,810 Mert emlékszem, belül a funk, x = 100. 1274 01:07:06,810 --> 01:07:09,690 De ha visszatér a mi fő funkciója, 1275 01:07:09,690 --> 01:07:12,440 hogy a változót a tárolt más helyen a mi verem. 1276 01:07:12,440 --> 01:07:16,250 >> Tehát most meg kell, hogy menjen vissza a Fő verem, hálózati helyi változók. 1277 01:07:16,250 --> 01:07:18,460 És itt x egyenlő 10. 1278 01:07:18,460 --> 01:07:20,300 És így fogunk kinyomtatni 10. 1279 01:07:20,300 --> 01:07:22,530 >> Így hát teljesen igaza volt. 1280 01:07:22,530 --> 01:07:25,053 Megyünk van kimenete 100 és 10. 1281 01:07:25,053 --> 01:07:25,553 Igen? 1282 01:07:25,553 --> 01:07:28,700 Közönség: Ha malloc, ez a halom, vagy a verem, hogy a [hallhatatlan]? 1283 01:07:28,700 --> 01:07:31,950 Professzor: Ha malloc, szedi memória a kupac 1284 01:07:31,950 --> 01:07:32,830 és azt kiutalták. 1285 01:07:32,830 --> 01:07:34,950 Úgy, hogy nem kell hogy szórakozz ezek közül bármelyik. 1286 01:07:34,950 --> 01:07:38,100 Szóval azt hiszem, a nagyobb elvihető Itt van egy úgynevezett hatálya. 1287 01:07:38,100 --> 01:07:39,650 >> Azoknak, akik ott voltak a A felülvizsgálati ülésén tegnap este, 1288 01:07:39,650 --> 01:07:41,080 beszélgettünk röviden erről. 1289 01:07:41,080 --> 01:07:45,380 Scope határozza meg, hogyan és amikor a változók léteznek. 1290 01:07:45,380 --> 01:07:48,050 Vagy belül, amit keretek nem a változók léteznek. 1291 01:07:48,050 --> 01:07:51,690 >> Elég sok a szabály általánosan van, a variables-- ha létre őket 1292 01:07:51,690 --> 01:07:56,660 belsejében göndör braces-- léteznek csak belül azokat a zárójelek segítségével. 1293 01:07:56,660 --> 01:08:00,312 >> Így például a mi függvényében funk, látod a két merevítőt. 1294 01:08:00,312 --> 01:08:02,020 Ha létrehoz semmit belsejébe, 1295 01:08:02,020 --> 01:08:06,500 esélye van minden, amit csinálsz ami egy köteg és tárolása, hogy ott van. 1296 01:08:06,500 --> 01:08:07,430 Ugyanaz a fő. 1297 01:08:07,430 --> 01:08:09,950 Ez csak tárolt fő. 1298 01:08:09,950 --> 01:08:13,560 >> Szintén akarsz lenni Nagyon, nagyon óvatos itt. 1299 01:08:13,560 --> 01:08:18,310 Mivel hatálya is kölcsönöz Maga a különböző példákat. 1300 01:08:18,310 --> 01:08:25,950 Így például a hurok, az int i értéke 0. 1301 01:08:25,950 --> 01:08:28,460 Én nem éri, nem tudom, 10. 1302 01:08:28,460 --> 01:08:32,111 Én plus plus. 1303 01:08:32,111 --> 01:08:34,560 És neked kód belsejében is, ugye? 1304 01:08:34,560 --> 01:08:38,830 >> Honnan ez a változó, i, valójában csak létezik? 1305 01:08:38,830 --> 01:08:40,510 Csak belsejét a hurok. 1306 01:08:40,510 --> 01:08:43,640 Szóval Fogadok sok srácok valószínűleg találkozott ez a hiba, ha 1307 01:08:43,640 --> 01:08:45,930 csinálsz programokat a psets. 1308 01:08:45,930 --> 01:08:49,990 Hányan vagytok próbálta használni i kívül egy ciklusban, és volt egy hiba? 1309 01:08:49,990 --> 01:08:53,310 Mint egy hivatkozás nélküli egészek vagy valami ilyesmi? 1310 01:08:53,310 --> 01:08:56,069 >> Az ok, hogy miért történik azért van, mert itt vagytok 1311 01:08:56,069 --> 01:08:59,109 teremt valamit, hogy csak belül létezik a for ciklus. 1312 01:08:59,109 --> 01:09:01,972 És ha megpróbálod használni, akkor nem valóban léteznek azon kívül. 1313 01:09:01,972 --> 01:09:04,930 Tehát alapvetően egy számítógép mondván: Én Nem tudom, miről beszél. 1314 01:09:04,930 --> 01:09:08,689 Csak azt tudom, hogy én voltam itt, de most már nem. 1315 01:09:08,689 --> 01:09:12,580 >> Tehát, ha én is létrehozni A hurok belsejében, ugye? 1316 01:09:12,580 --> 01:09:19,080 És fogok létrehozni egy másik, mint int j, és azt csinálja, amit. 1317 01:09:19,080 --> 01:09:23,689 És van egy kód belsejében A hurkot, j csak itt létezik. 1318 01:09:23,689 --> 01:09:26,029 De ez azt is létezik az i. 1319 01:09:26,029 --> 01:09:29,310 És így j csak akkor létezik ezen belül a hurok, 1320 01:09:29,310 --> 01:09:33,850 mivel i létezik az egészet. 1321 01:09:33,850 --> 01:09:34,500 >> Mindenki tiszta? 1322 01:09:34,500 --> 01:09:37,416 Ugyanaz a feltételes állítások Ha szeretne létrehozni valamit. 1323 01:09:37,416 --> 01:09:40,390 Ugyanaz a while, ha szeretne létrehozni valamit. 1324 01:09:40,390 --> 01:09:42,390 Ez olyasmi, hogy Nagyon, nagyon óvatos. 1325 01:09:42,390 --> 01:09:45,681 Tehát ez egy nagyon jó probléma a értelemben, hogy bizonyította két dolgot. 1326 01:09:45,681 --> 01:09:47,160 Azt bizonyította először, hatályát. 1327 01:09:47,160 --> 01:09:49,550 És azt is igazolta, is memóriafoglalási. 1328 01:09:49,550 --> 01:09:54,130 Mert ti tudni kell, hogy funkciók nőnek felfelé a verem. 1329 01:09:54,130 --> 01:09:56,710 És, hogy amikor telefonál funkciók, te létre 1330 01:09:56,710 --> 01:09:59,060 lényegében egy új köteg memória. 1331 01:09:59,060 --> 01:10:02,100 Ez nagyon különbözik a mi a hálózati memória. 1332 01:10:02,100 --> 01:10:03,300 Igen. 1333 01:10:03,300 --> 01:10:03,800 Tyűha! 1334 01:10:03,800 --> 01:10:05,470 Mindenki OK, hogy? 1335 01:10:05,470 --> 01:10:06,750 Ez volt zavaró. 1336 01:10:06,750 --> 01:10:09,380 Nagyon jó téma, hogy menjen át, mert akkor valószínűleg 1337 01:10:09,380 --> 01:10:12,255 lesz egy kis trükkös ilyesmi a kvíz. 1338 01:10:12,255 --> 01:10:13,350 Igen. 1339 01:10:13,350 --> 01:10:13,850 Hűvös. 1340 01:10:13,850 --> 01:10:16,014 1341 01:10:16,014 --> 01:10:18,430 Teszek kapsz 100 egy sort, majd 10 a másikon. 1342 01:10:18,430 --> 01:10:21,468 Igen, nagyon jó. 1343 01:10:21,468 --> 01:10:26,350 >> OK, most ti kap az esélye, hogy a TA-k. 1344 01:10:26,350 --> 01:10:30,600 Kapsz megválaszolni a szép e-maileket, hogy néha kap. 1345 01:10:30,600 --> 01:10:34,290 >> Szóval, Kedves Andi, látom Azt hiszem, valami rosszul megy az én fordítóval. 1346 01:10:34,290 --> 01:10:37,910 Biztos vagyok benne, hogy a kód helyes, de kapok szegmens hiba 1347 01:10:37,910 --> 01:10:39,074 minden alkalommal futok. 1348 01:10:39,074 --> 01:10:39,740 Mi történik? 1349 01:10:39,740 --> 01:10:42,844 Kérem, segítsen, sok-sok szeretettel. 1350 01:10:42,844 --> 01:10:45,740 1351 01:10:45,740 --> 01:10:49,410 >> Ha srácok valami ilyesmi hogy hogyan reagál? 1352 01:10:49,410 --> 01:10:51,860 Ezek valóban nagyon gyakori kérdésekre kérünk Öntől. 1353 01:10:51,860 --> 01:10:54,090 Van, ha, akkor adunk Önnek egy forgatókönyv, akkor nekünk 1354 01:10:54,090 --> 01:10:56,350 a legjobb kitalálni, mi folyik itt. 1355 01:10:56,350 --> 01:11:00,710 Bárki, aki a stab a mi folyik itt? 1356 01:11:00,710 --> 01:11:02,654 Igen? 1357 01:11:02,654 --> 01:11:06,056 >> Közönség: Talán másolunk a null, olyasmi, mint a mutató 1358 01:11:06,056 --> 01:11:08,924 mutat valamit null. 1359 01:11:08,924 --> 01:11:11,590 Tanár: Igen, ez lenne a Például az, amikor ez fog történni. 1360 01:11:11,590 --> 01:11:14,467 De mi a nagyobb képet A mi folyik itt? 1361 01:11:14,467 --> 01:11:17,050 Közönség: Vajon akarsz eléréséhez memóriát, hogy te nem 1362 01:11:17,050 --> 01:11:18,175 állítólag van hozzáférése? 1363 01:11:18,175 --> 01:11:19,200 Professzor: Pontosan. 1364 01:11:19,200 --> 01:11:24,800 Szóval szerintem egy seg hiba, egy off korlátok, tiltott terület a memóriában 1365 01:11:24,800 --> 01:11:27,780 hogy ne legyen megható. 1366 01:11:27,780 --> 01:11:31,670 >> Szóval elég sok, ha akarsz hogy index-- mint például 1367 01:11:31,670 --> 01:11:34,110 már bejelentett egy tömb nullától kilencig. 1368 01:11:34,110 --> 01:11:37,360 De próbálja megérinteni, hogy 10. értéket, akkor nem férhet hozzá, hogy. 1369 01:11:37,360 --> 01:11:38,694 Mivel nem nyilvánította. 1370 01:11:38,694 --> 01:11:40,943 És így a számítógép megy nézni, hogy tetszik, 1371 01:11:40,943 --> 01:11:43,440 Ajjaj, akarsz menni határain kívül egy index. 1372 01:11:43,440 --> 01:11:45,270 Megyek, hogy az Ön szegmens hiba. 1373 01:11:45,270 --> 01:11:46,590 >> Gondoljunk például szegmens, ugye? 1374 01:11:46,590 --> 01:11:49,665 Egy extra szegmens, a hiba amikor megpróbálja áttörni valamit 1375 01:11:49,665 --> 01:11:50,790 és akkor nem kellene ott lennie. 1376 01:11:50,790 --> 01:11:53,660 Szegmentációs hiba bármikor megpróbálja megérinteni a dolgokat 1377 01:11:53,660 --> 01:11:54,970 hogy ne legyen megható. 1378 01:11:54,970 --> 01:11:56,815 >> Tehát közös példák az index. 1379 01:11:56,815 --> 01:11:58,940 Természetesen, ha akarsz megérinteni, hogy volt null, 1380 01:11:58,940 --> 01:12:00,220 hogy is működik olyan jól. 1381 01:12:00,220 --> 01:12:02,300 Ha a mutatót próbálta érintse a dolgokat, hogy ne érjen, 1382 01:12:02,300 --> 01:12:03,730 hogy is működik olyan jól. 1383 01:12:03,730 --> 01:12:07,120 Legjellemzőbben azt is megtudhatod látja ezt egy tömbben. 1384 01:12:07,120 --> 01:12:07,740 Mindenki jó? 1385 01:12:07,740 --> 01:12:10,374 >> Közönség: Tehát, ha szeretné eléréséhez a 10. pont 1386 01:12:10,374 --> 01:12:12,290 és már csak egy határ kilenc, vagy valami. 1387 01:12:12,290 --> 01:12:13,160 >> Tanár: Igen, pontosan. 1388 01:12:13,160 --> 01:12:13,660 Eléggé. 1389 01:12:13,660 --> 01:12:15,930 1390 01:12:15,930 --> 01:12:16,430 Hűvös. 1391 01:12:16,430 --> 01:12:19,070 1392 01:12:19,070 --> 01:12:19,920 >> Kedves Andi. 1393 01:12:19,920 --> 01:12:23,440 Tehát van ezen a csodálatos dolgokat az úgynevezett fajta. 1394 01:12:23,440 --> 01:12:25,472 Ha Merge sort-- mint mi fűrészt például amikor 1395 01:12:25,472 --> 01:12:27,180 Tett Dávid az egész dolog class-- miért, 1396 01:12:27,180 --> 01:12:29,760 Ha ez így sokkal gyorsabb, mint a bármely más fajta, 1397 01:12:29,760 --> 01:12:33,310 miért is zavarja, tudva, bármely más fajta? 1398 01:12:33,310 --> 01:12:35,100 >> Mi ez a kérdés valójában kérdezem? 1399 01:12:35,100 --> 01:12:36,659 Mi a három word-- 1400 01:12:36,659 --> 01:12:37,950 Közönség: Mi a kompromisszum? 1401 01:12:37,950 --> 01:12:38,530 Professzor: Pontosan. 1402 01:12:38,530 --> 01:12:39,946 Ez az, amit a kérdés kérdezi. 1403 01:12:39,946 --> 01:12:43,682 Mi a kompromisszumot Merge sort versek minden más fajta? 1404 01:12:43,682 --> 01:12:45,850 >> Közönség: úgy memória, ugye? 1405 01:12:45,850 --> 01:12:47,720 >> Tanár: Van megmagyarázni, hogy egy kicsit? 1406 01:12:47,720 --> 01:12:49,490 Először hadd magyarázza Merge boltban. 1407 01:12:49,490 --> 01:12:50,970 Hogyan Merge sort működik? 1408 01:12:50,970 --> 01:12:55,220 >> Közönség: Így működik elosztjuk mindent fele 1409 01:12:55,220 --> 01:13:00,660 majd üzembe össze újraosztása, annak érdekében, 1410 01:13:00,660 --> 01:13:02,862 mint minden alkalommal, amikor egyesíteni a készletek. 1411 01:13:02,862 --> 01:13:03,820 Professzor: Elég sok. 1412 01:13:03,820 --> 01:13:06,861 Szóval levonhatjuk ezt ki, de jó lenne vigyél öt percet, hogy dolgozzon ki. 1413 01:13:06,861 --> 01:13:10,220 Tekint vissza a szekció diák ahol fedett Merge sort. 1414 01:13:10,220 --> 01:13:10,790 Pontosan. 1415 01:13:10,790 --> 01:13:13,406 >> Tehát ahogy Merge rendezési munkálatok ez osztja a dolgokat fele, 1416 01:13:13,406 --> 01:13:15,780 és akkor csak nézi a első értékeit mindegyik 1417 01:13:15,780 --> 01:13:17,000 és rendezi csak ennyi. 1418 01:13:17,000 --> 01:13:20,364 Folyamatosan teremt új tömbök és hozza a dolgokat egyre érdekében. 1419 01:13:20,364 --> 01:13:23,030 És így amíg ez nagyon, nagyon gyorsan, mert it's-- tudod, 1420 01:13:23,030 --> 01:13:25,380 bináris kereső n log n. 1421 01:13:25,380 --> 01:13:27,880 Te létre olyan sok különböző tömböket, hogy te 1422 01:13:27,880 --> 01:13:29,700 segítségével hatalmas mennyiségű memóriát. 1423 01:13:29,700 --> 01:13:33,080 És így amíg ez gyorsabb, a kompromisszumot Itt van, hogy az Ön által használt memóriát. 1424 01:13:33,080 --> 01:13:38,490 >> És igen, célzás, rendezi és keresések fedte sokkal több ebben az évben 1425 01:13:38,490 --> 01:13:41,610 mint az elmúlt években a korábbi. 1426 01:13:41,610 --> 01:13:45,100 Srácok kell látni, hogy tükröződik megfelelően a kvízt. 1427 01:13:45,100 --> 01:13:49,160 Azt határozottan időt fog alatt, amit minden fajtájára 1428 01:13:49,160 --> 01:13:52,320 vannak, milyen bináris keresés, hogyan lineáris keresés munkát. 1429 01:13:52,320 --> 01:13:54,750 Hogyan talán pszeudokódja kódot ki azokat. 1430 01:13:54,750 --> 01:13:55,950 Melyek a futási idők? 1431 01:13:55,950 --> 01:13:59,210 Valami, mint a futás alkalommal nagyon egyszerűen másolja le rá egy megjegyzés lapot, 1432 01:13:59,210 --> 01:13:59,710 jobbra? 1433 01:13:59,710 --> 01:14:01,420 >> Nagyon nehéz, ha éppen a közepén a vizsgálat 1434 01:14:01,420 --> 01:14:02,390 és van, hogy kitaláljuk, hogy ki. 1435 01:14:02,390 --> 01:14:03,160 Másolja le. 1436 01:14:03,160 --> 01:14:05,550 Én garantálom, hogy te lesz szüksége, hogy tudja, hogy. 1437 01:14:05,550 --> 01:14:06,860 Melyek a kompromisszum? 1438 01:14:06,860 --> 01:14:10,064 Legrosszabb esetben, a legjobb forgatókönyv mindannyiuk számára, nagyon megismerni. 1439 01:14:10,064 --> 01:14:10,564 Igen? 1440 01:14:10,564 --> 01:14:12,730 >> Közönség: Kell, hogy tudja, hogyan kell a kódot Merge sort? 1441 01:14:12,730 --> 01:14:15,470 Tetszik, meg kell emlékszik a rekurzív? 1442 01:14:15,470 --> 01:14:18,950 >> Tanár: Én nagyon kétlem, csak mert olyan, mintha meglehetősen bonyolult. 1443 01:14:18,950 --> 01:14:22,282 De ez nem lehet megvalósíthatatlan, ha Kérjük, hogy használja pszeudokódja ki. 1444 01:14:22,282 --> 01:14:22,781 Igen. 1445 01:14:22,781 --> 01:14:25,470 1446 01:14:25,470 --> 01:14:29,170 >> Ja, OK, még egy. 1447 01:14:29,170 --> 01:14:31,387 Ez érkezhet fel Ön utolsó darab egy kicsit. 1448 01:14:31,387 --> 01:14:42,101 1449 01:14:42,101 --> 01:14:43,090 Igen? 1450 01:14:43,090 --> 01:14:44,930 Vajon mindenki hallani? 1451 01:14:44,930 --> 01:14:48,360 >> OK, így elég sok első Az összes, milyen típusú program 1452 01:14:48,360 --> 01:14:51,000 lenne így egy kimeneti mint ez? 1453 01:14:51,000 --> 01:14:54,350 Emlékezz arra kértük, hogy megtudjuk, az új típusú hibakereső eszköz? 1454 01:14:54,350 --> 01:14:57,340 Mi volt a neve ez? 1455 01:14:57,340 --> 01:14:59,460 Valgrind, jobb 1456 01:14:59,460 --> 01:15:02,600 >> Ez volt a program, ahol a nevezhetjük, ami 1457 01:15:02,600 --> 01:15:05,940 nyomon követni az összes emlékét te használja a programot, és folyik. 1458 01:15:05,940 --> 01:15:11,090 Tehát, ha van valami, mint, határozottan elvesztette, 40 bájt egyben. 1459 01:15:11,090 --> 01:15:14,870 Valószínűleg te nem eszébe jutott, hogy kiszabadítsa. 1460 01:15:14,870 --> 01:15:18,710 Mert ha használja bájt memóriát, ez azt jelenti, hogy már elérhető, hogy az emlékezet, 1461 01:15:18,710 --> 01:15:20,240 de nem tudták kiszabadítani. 1462 01:15:20,240 --> 01:15:21,948 Tehát azt szeretnénk, hogy győződjön arról, hogy te is 1463 01:15:21,948 --> 01:15:31,420 segítségével free-- ez egy function-- bocsássa szabadon 1464 01:15:31,420 --> 01:15:34,930 A memória újraoszthatta malloc. 1465 01:15:34,930 --> 01:15:35,500 >> Hűvös. 1466 01:15:35,500 --> 01:15:37,140 Szóval ez a csúszda, én is azt. 1467 01:15:37,140 --> 01:15:41,050 Ez mindenütt a sok előadások, a sok részén diák. 1468 01:15:41,050 --> 01:15:44,254 Szeretné, hogy győződjön meg arról, csak tudod mindezt. 1469 01:15:44,254 --> 01:15:47,170 Vagy a feljegyzésben lap vagy ha szeretnénk megjegyezni, nyugodtan. 1470 01:15:47,170 --> 01:15:48,836 Ez nagyon, nagyon, nagyon fontos. 1471 01:15:48,836 --> 01:15:53,200 1472 01:15:53,200 --> 01:15:56,890 >> Szintén nagyon jó kérdés, hogy mi lehet kérni. 1473 01:15:56,890 --> 01:16:00,320 Miért kiválasztása sort-- pillantást Válogatás sort-- összes runtimes 1474 01:16:00,320 --> 01:16:02,060 vannak n faragva. 1475 01:16:02,060 --> 01:16:06,714 Függetlenül attól, hogy a lista jön Ön, mint, miért van Válogatás sort-- 1476 01:16:06,714 --> 01:16:08,630 Adok nektek 30 második gondol erről. 1477 01:16:08,630 --> 01:16:10,700 Mivel ez a fajta zavaró. 1478 01:16:10,700 --> 01:16:12,710 Ez magában foglalja bizonyos fogalmi gondolkodás. 1479 01:16:12,710 --> 01:16:16,470 Miért a futási idő kell egyeznie mind a legrosszabb és a legjobb forgatókönyv? 1480 01:16:16,470 --> 01:16:28,850 1481 01:16:28,850 --> 01:16:30,000 >> Igen? 1482 01:16:30,000 --> 01:16:38,084 >> Közönség: Mivel Selection sort egyes pozíció vagy helyet ebben a kis tömb 1483 01:16:38,084 --> 01:16:40,350 a dolog, vagy bármi. 1484 01:16:40,350 --> 01:16:44,430 Tehát még a legjobb forgatókönyv esetén, még ha ez tökéletesen rendezett, 1485 01:16:44,430 --> 01:16:47,380 az is szükséges, hogy legyen, mint, OK, egy. 1486 01:16:47,380 --> 01:16:49,000 Az én első helyen van az egyik. 1487 01:16:49,000 --> 01:16:50,250 És végig mindet. 1488 01:16:50,250 --> 01:16:51,249 OK, az egyik legkisebb. 1489 01:16:51,249 --> 01:16:53,053 És akkor megy újra és olyan, mint, OK, két 1490 01:16:53,053 --> 01:16:54,594 a legkisebb az összes dolog. 1491 01:16:54,594 --> 01:16:56,804 De még mindig van, hogy ellenőrizze minden egyes embert. 1492 01:16:56,804 --> 01:16:57,470 Tanár: Igen. 1493 01:16:57,470 --> 01:17:00,490 Így például, mondjuk, Van egy lista, már válogatni, 1494 01:17:00,490 --> 01:17:03,390 tömb 1-5. 1495 01:17:03,390 --> 01:17:07,100 Az hogy Selection fajta az, hogy megy keresztül, ellenőrzi ezek. 1496 01:17:07,100 --> 01:17:08,234 Ezután ellenőrzi a kettő között. 1497 01:17:08,234 --> 01:17:09,650 És akkor ellenőrzi, és kivár. 1498 01:17:09,650 --> 01:17:13,285 Tartja ellenőrzése mindet, függetlenül attól, hogy vagy nem 1499 01:17:13,285 --> 01:17:14,160 mert tulajdonképpen ez válogatni. 1500 01:17:14,160 --> 01:17:16,450 Mert ez egyszerűen ahogy az a fajta működik. 1501 01:17:16,450 --> 01:17:19,530 >> És így ez a kérdés olyan, mint fogalmi kérdést fogunk feltenni. 1502 01:17:19,530 --> 01:17:21,430 Ahol először, hogy mit Selection sort 1503 01:17:21,430 --> 01:17:23,304 van, igaz, hogy képes válaszolni a kérdésre. 1504 01:17:23,304 --> 01:17:26,200 Meg kell tudni, hogy megértsük koncepcionálisan mi folyik itt. 1505 01:17:26,200 --> 01:17:30,760 És akkor lehet alkalmazni, és azt hisszük, OK nézzük csak elképzelni legrosszabb forgatókönyv. 1506 01:17:30,760 --> 01:17:32,230 Mind csökkenő sorrendben. 1507 01:17:32,230 --> 01:17:33,290 Hogyan lenne ez befolyásolja ez? 1508 01:17:33,290 --> 01:17:34,650 >> Mi van, ha ez növekvő sorrendben? 1509 01:17:34,650 --> 01:17:35,640 Ha már válogatni? 1510 01:17:35,640 --> 01:17:37,240 Hogyan érintő runtimes? 1511 01:17:37,240 --> 01:17:40,270 És akkor Selection sort, észre fogod venni, hogy nem a ténylegesen számít. 1512 01:17:40,270 --> 01:17:43,500 Mert ellenőrizte, hogy mindent értékeket, függetlenül attól, hogy mi történik. 1513 01:17:43,500 --> 01:17:45,810 >> És olyan jó dolog, hogy emlékezzen. 1514 01:17:45,810 --> 01:17:50,290 Miért bizonyos fajtái különböznek másoktól és hogyan lehet a legjobban és a legrosszabb forgatókönyveket 1515 01:17:50,290 --> 01:17:52,740 érintené mindet. 1516 01:17:52,740 --> 01:17:56,700 >> Megyek valóban elérje a fajta mert ez lesz a teszt. 1517 01:17:56,700 --> 01:17:57,199 Igen. 1518 01:17:57,199 --> 01:18:00,820 1519 01:18:00,820 --> 01:18:01,320 OKÉ. 1520 01:18:01,320 --> 01:18:05,590 Van hat perc van hátra. 1521 01:18:05,590 --> 01:18:09,880 Tudom hogy három perccel a kérdésekre. 1522 01:18:09,880 --> 01:18:12,290 Én is kószál mint 20 perc szakasz után 1523 01:18:12,290 --> 01:18:13,850 Ha azt szeretnénk, hogy kérdéseket tegyenek fel is. 1524 01:18:13,850 --> 01:18:16,330 Tudja valaki csak meg igazán rövid kérdése vagy koncepcionális kérdések 1525 01:18:16,330 --> 01:18:17,360 ők nem tisztázott most? 1526 01:18:17,360 --> 01:18:17,832 Igen? 1527 01:18:17,832 --> 01:18:19,720 >> Közönség: Tudsz beszélni egy kicsit kicsit bitműveletek? 1528 01:18:19,720 --> 01:18:20,280 >> Tanár: Igen. 1529 01:18:20,280 --> 01:18:22,446 Tehát bitenkénti operátorok valami, akkor valószínűleg 1530 01:18:22,446 --> 01:18:24,170 Lehet, csak azt, hogy vedd fel a lapra. 1531 01:18:24,170 --> 01:18:27,540 Szóval quickly-- Nem akarok hogy menjen túl sok mélység 1532 01:18:27,540 --> 01:18:31,164 mert Harvard, hogy felülvizsgálja ülésen, betakarta elég jól. 1533 01:18:31,164 --> 01:18:33,080 Bitenkénti üzemben, ott öten, igaz? 1534 01:18:33,080 --> 01:18:41,370 >> Van ez, ami x vagy funkció, van jelet, ami a és. 1535 01:18:41,370 --> 01:18:44,050 Pipe, amely a vagy. 1536 01:18:44,050 --> 01:18:46,790 És akkor már a két különböző műszakban. 1537 01:18:46,790 --> 01:18:50,610 >> Ha adok neked két érték, ha Adok neked, mint, egy meg egy. 1538 01:18:50,610 --> 01:18:52,390 Mi lenne, hogy értékelje a? 1539 01:18:52,390 --> 01:18:55,490 Ha adok neked igaz és igaz, igaz? 1540 01:18:55,490 --> 01:18:56,930 Mi a helyzet, igaz vagy hamis? 1541 01:18:56,930 --> 01:18:57,830 Továbbra is igaz, ugye? 1542 01:18:57,830 --> 01:18:59,762 Mert van egy vagy. 1543 01:18:59,762 --> 01:19:01,220 Majd nagy valószínűséggel kapsz számokat. 1544 01:19:01,220 --> 01:19:03,780 Jól jegyezd meg, egy egyenlő Igaz, nulla egyenlő hamis. 1545 01:19:03,780 --> 01:19:07,407 És lehet, hogy Önnek ezeket a dolgokat és kérjük, hogy mondja el, mi történik. 1546 01:19:07,407 --> 01:19:10,240 Harvard fedi azt követő első 10 perc a tanulmány ülésén 1547 01:19:10,240 --> 01:19:11,230 nagyon, nagyon jól. 1548 01:19:11,230 --> 01:19:14,260 Szóval ti szeretnénk, hogy győződjön Biztosan tekint vissza, hogy. 1549 01:19:14,260 --> 01:19:16,387 >> Közönség: Van pisa5 lesz a kvíz? 1550 01:19:16,387 --> 01:19:16,970 Tanár: Nem. 1551 01:19:16,970 --> 01:19:18,240 Ne is nézd meg pisa5 most. 1552 01:19:18,240 --> 01:19:18,810 Nehéz. 1553 01:19:18,810 --> 01:19:22,830 Csak nem is zavarja nézi pisa5. 1554 01:19:22,830 --> 01:19:25,665 >> Azonban, mint néhány tanácsot és javaslatokat, azt 1555 01:19:25,665 --> 01:19:28,320 Javaslom, hogy elkezd pisa5 amint a teszt vége. 1556 01:19:28,320 --> 01:19:30,319 Ez lesz a legnehezebb héten, de aztán a srácok 1557 01:19:30,319 --> 01:19:34,590 majd átadta azt a dombok A hullámzó zöld és a kölykök, 1558 01:19:34,590 --> 01:19:36,115 és ez jó. 1559 01:19:36,115 --> 01:19:39,810 >> Ez az osztály kap jelentős könnyebb után az ötödik PSET. 1560 01:19:39,810 --> 01:19:41,560 KÖZÖNSÉG: Munkaidő a vasárnap, hétfő? 1561 01:19:41,560 --> 01:19:44,260 Tanár: Igen, tehát munkaidőn lesz A vasárnap hétfőn a PSET. 1562 01:19:44,260 --> 01:19:47,009 Munkaidőben ma lényegében csak úgy lesz a beszámolót a teszt. 1563 01:19:47,009 --> 01:19:50,350 Ha valaki be akar jönni, és kérje A TA a kérdés, mi ott leszünk. 1564 01:19:50,350 --> 01:19:53,220 >> Elviszem talán még egy kérdés ha valaki egy kérdést? 1565 01:19:53,220 --> 01:19:53,809 Igen? 1566 01:19:53,809 --> 01:19:55,850 Közönség: Ha csomópontok meghatározására, [hallhatatlan] 1567 01:19:55,850 --> 01:20:00,700 ha azt mondod csomópont csillagot, majd a következő, nem a számítógép automatikusan 1568 01:20:00,700 --> 01:20:03,610 értesültünk, hogy hogy egy másik mutatót? 1569 01:20:03,610 --> 01:20:04,580 >> Tanár: Nem. 1570 01:20:04,580 --> 01:20:06,710 >> Közönség: Meg kell újracsatolása hogy [hallhatatlan]? 1571 01:20:06,710 --> 01:20:09,270 >> Professzor: Tehát alapvetően a struktúra egy csomópont, emlékszem, 1572 01:20:09,270 --> 01:20:12,620 ez olyan, mint létrehozni a csomópontot és akkor van egy mutatót nevezzük következő. 1573 01:20:12,620 --> 01:20:14,630 Minden, amit csinálsz, amelynek A szerkezet van. 1574 01:20:14,630 --> 01:20:16,387 Meg kell rendelni Ez a mutató valahol. 1575 01:20:16,387 --> 01:20:18,470 Tehát a számítógépek nem tudom, mit csinál még. 1576 01:20:18,470 --> 01:20:20,250 Meg kell, hogy valóban rendelni, ha te létre a láncolt lista. 1577 01:20:20,250 --> 01:20:22,170 És ez az, ami elsősorban PSET 5 lesz. 1578 01:20:22,170 --> 01:20:24,106 Így nem aggódik sem, hogy most. 1579 01:20:24,106 --> 01:20:26,380 >> Közönség: Tehát nem kell túlságosan az összeköttetés lista, csak a 1580 01:20:26,380 --> 01:20:27,440 Az általános felfogás? 1581 01:20:27,440 --> 01:20:30,980 >> Professzor: Csak elég sok halom, sorok, linklisták, fák, hash táblák. 1582 01:20:30,980 --> 01:20:33,639 Csak, hogy tudja, mik azok. 1583 01:20:33,639 --> 01:20:35,680 Nem fogunk kérni tetszik valami konkrét 1584 01:20:35,680 --> 01:20:39,300 mert nem igazán történt egy PSET, hogy a borító sem, hogy még. 1585 01:20:39,300 --> 01:20:45,540 >> Tehát az utolsó két percig, mielőtt Én meg szabad ölni ezt a kvízt. 1586 01:20:45,540 --> 01:20:49,370 Elég sokat, mint, gondolkodni, hogyan amennyire srácok jöttek ebbe az osztályba. 1587 01:20:49,370 --> 01:20:52,820 >> Emlékszem, amikor a héten két Ennek az osztálynak, néhányan 1588 01:20:52,820 --> 01:20:55,720 eltölteni három órát írásban vizet. 1589 01:20:55,720 --> 01:20:57,970 Mennyi ideig tartana, akkor srácok, hogy írjon a víz most? 1590 01:20:57,970 --> 01:20:59,670 30 másodperc, talán? 1591 01:20:59,670 --> 01:21:01,810 Gondolni, hogy mennyi srácok tanultak. 1592 01:21:01,810 --> 01:21:04,320 CS egy nagyon, nagyon nehéz téma. 1593 01:21:04,320 --> 01:21:06,190 Nincs kétségem. 1594 01:21:06,190 --> 01:21:09,160 Nehéz, hogy ezért senki nem tanul meg. 1595 01:21:09,160 --> 01:21:10,730 Ez csak nehéz. 1596 01:21:10,730 --> 01:21:11,650 És ez teljesen rendben van. 1597 01:21:11,650 --> 01:21:14,150 >> És nagyon büszke vagyok, hogy mindenki tette, hogy ilyen messzire. 1598 01:21:14,150 --> 01:21:16,380 Psets nem könnyű. 1599 01:21:16,380 --> 01:21:17,790 Vesznek egy csomó időt. 1600 01:21:17,790 --> 01:21:22,580 Srácok, soha nem fogom kérni, hogy írjon A játék 15 vagy Vigenère a PSET. 1601 01:21:22,580 --> 01:21:24,160 Nem kell, hogy csak kiborulni róla. 1602 01:21:24,160 --> 01:21:28,080 Minden, amit tesztelünk itt az, hogy értékelje a fogalmi tudás, valamint 1603 01:21:28,080 --> 01:21:31,524 mint néhány alapvető készségek kódolás. 1604 01:21:31,524 --> 01:21:33,440 A vizsgálat célja, hogy igazán nagy kihívást jelent. 1605 01:21:33,440 --> 01:21:36,180 Mint, hogy úgy tervezték, az Ön számára, nem fog 100. 1606 01:21:36,180 --> 01:21:39,880 Emellett úgy van kialakítva, hogy valószínűleg nem tudja befejezni a 75 perc. 1607 01:21:39,880 --> 01:21:41,995 És ez teljesen rendben van. 1608 01:21:41,995 --> 01:21:42,870 Diák vagyok magamra. 1609 01:21:42,870 --> 01:21:45,960 Tudom, utálom, amikor sétálok ki a kvízt, mint, szar. 1610 01:21:45,960 --> 01:21:47,044 Hogy nagyon nehéz volt. 1611 01:21:47,044 --> 01:21:49,460 Valószínűleg mi fog happen-- és ez teljesen rendben van, 1612 01:21:49,460 --> 01:21:50,751 Én mondom nektek most. 1613 01:21:50,751 --> 01:21:53,190 Az eszközöket a következő dolgokat nem magas egyáltalán. 1614 01:21:53,190 --> 01:21:55,360 >> És azok számára, akik már egyre hasonlóan, 1615 01:21:55,360 --> 01:21:57,870 hármasával a problémát készletek, ez nem jelenti azt, hogy 1616 01:21:57,870 --> 01:21:59,536 lesz, hogy 60 százalékkal ebben az osztályban. 1617 01:21:59,536 --> 01:22:01,440 Ha kapsz 60% -os kvíz, amely nem 1618 01:22:01,440 --> 01:22:03,330 jelenti fogsz kap egy D ebben az osztályban. 1619 01:22:03,330 --> 01:22:05,740 Látjuk, különösen azt, a Azoknak, én részén, 1620 01:22:05,740 --> 01:22:07,406 Látom, hogy milyen nehéz a srácok minden dolgozó. 1621 01:22:07,406 --> 01:22:09,190 És tudom nyomon követni e. 1622 01:22:09,190 --> 01:22:11,420 >> Srácok rendben lesz. 1623 01:22:11,420 --> 01:22:14,580 Nincs intézményi emlékére boldogságot végén a félév. 1624 01:22:14,580 --> 01:22:16,840 Mert minden Harvard gyerekek mondanak a barátok, ó, minden rendben lesz. 1625 01:22:16,840 --> 01:22:18,381 Senki sem mondja nektek, hogy itt. 1626 01:22:18,381 --> 01:22:20,950 Tehát el kell mondanom nektek, hogy itt. 1627 01:22:20,950 --> 01:22:22,280 >> Srácok rendben lesz. 1628 01:22:22,280 --> 01:22:24,080 Nagyon büszke vagyok az összes srácok. 1629 01:22:24,080 --> 01:22:25,680 A teszt nehéz lesz. 1630 01:22:25,680 --> 01:22:28,140 Tanulmányozza azt, és utána Csak dobd el. 1631 01:22:28,140 --> 01:22:31,280 Készülj fel, hogy új dolgokat tanulni. 1632 01:22:31,280 --> 01:22:33,990 És enni édességet. 1633 01:22:33,990 --> 01:22:35,940 Már sok-sok édességet. 1634 01:22:35,940 --> 01:22:37,760 >> Kap egy jó éjszakai alvás. 1635 01:22:37,760 --> 01:22:40,420 Ne nem alszik, mert hogy lenne igazán rossz. 1636 01:22:40,420 --> 01:22:41,490 CS egy csomó logika. 1637 01:22:41,490 --> 01:22:44,960 Ha nem alszik, akkor nem tud működni, és az agy nem tud működni. 1638 01:22:44,960 --> 01:22:48,780 És én itt leszek a következő 20 perc, ha valaki azt akarja, hogy kószál. 1639 01:22:48,780 --> 01:22:51,150 Srácok fognak megölni. 1640 01:22:51,150 --> 01:22:53,000 Sok szerencsét. 1641 01:22:53,000 --> 01:22:55,663