1 00:00:00,000 --> 00:00:02,880 >> [Muusika mängib] 2 00:00:02,880 --> 00:00:10,580 3 00:00:10,580 --> 00:00:13,500 >> SPEAKER 1: See on CS50 ja see on algus nädalal kaks. 4 00:00:13,500 --> 00:00:18,400 Niisiis, olgem sukelduda otse midagi mis on lollakas, kui nii võib öelda. 5 00:00:18,400 --> 00:00:24,015 Niisiis, siin on CS50 IDE ja ma olen tõmmatakse ette seda screen-- kuradi 6 00:00:24,015 --> 00:00:25,070 seda. 7 00:00:25,070 --> 00:00:25,760 Spoiler alert. 8 00:00:25,760 --> 00:00:26,260 Hästi. 9 00:00:26,260 --> 00:00:29,060 Olen tõmmata seda ekraani siin millel on väga lihtne programm. 10 00:00:29,060 --> 00:00:32,659 Kui me keri, kõige Selle lihtsalt kommenteerib, 11 00:00:32,659 --> 00:00:36,730 kuid siin read 13 kuni 17 on meil programmis. 12 00:00:36,730 --> 00:00:40,580 >> See on süntaktiliselt kehtivaks, mis tähendab, et kui Ma kompileerida, siis kompileerida ja tööle, 13 00:00:40,580 --> 00:00:41,920 aga see on lollakas. 14 00:00:41,920 --> 00:00:47,330 See programm väidab kommentaarid up top, et see peaks printida 10 tähte, 15 00:00:47,330 --> 00:00:48,870 kuid see ei ole. 16 00:00:48,870 --> 00:00:53,290 Ja mis põhineb oma kogemusi, või varsti kogemus C, 17 00:00:53,290 --> 00:00:56,820 saab loogiliselt eristada miks see tegelikult lollakas? 18 00:00:56,820 --> 00:00:57,804 Jah? 19 00:00:57,804 --> 00:00:59,220 Sihtrühm: See läheb nullist 10. 20 00:00:59,220 --> 00:01:01,884 See on 11 korduste. 21 00:01:01,884 --> 00:01:02,550 SPEAKER 1: Jah. 22 00:01:02,550 --> 00:01:06,030 Nii, see läheb nullist üles läbi ja võrdne 10 23 00:01:06,030 --> 00:01:08,140 mis muidugi on 11 korduste. 24 00:01:08,140 --> 00:01:10,020 Nii, see läheb print tõepoolest 11 tähte. 25 00:01:10,020 --> 00:01:13,040 Niisiis, infotehnoloogia konventsiooni Enamikus programmeerimiskeeltes 26 00:01:13,040 --> 00:01:15,270 on tõesti lihtsalt alustada nullist, 27 00:01:15,270 --> 00:01:18,800 aga loota, aga vähem läbi väärtus, mida sa tegelikult hoolivad. 28 00:01:18,800 --> 00:01:21,216 >> Nüüd, see on üks asi, mis võtab natuke harjumist 29 00:01:21,216 --> 00:01:25,350 ja isegi kriimustus, mille kuna see on mitte programmeerijad või mitte arvuti 30 00:01:25,350 --> 00:01:28,070 teadlaste ja lastele suuresti, on ette nähtud selleks 31 00:01:28,070 --> 00:01:29,570 hakkate lugedes tavaliselt ühe. 32 00:01:29,570 --> 00:01:30,277 Ja see on hea. 33 00:01:30,277 --> 00:01:33,110 Võite täiesti hakka lugema ühes kui see on mugavam. 34 00:01:33,110 --> 00:01:37,210 Ja loota kuni kuni 10, kuid saate aru, eriti sel nädalal 35 00:01:37,210 --> 00:01:39,950 ja pärast seda lihtsalt nii paljud asjad programmeerimine 36 00:01:39,950 --> 00:01:42,465 eeldada, et 0 on esimene kohaline kellega loota, 37 00:01:42,465 --> 00:01:45,590 et sa lähed on lihtsam lihtsalt sattuda see harjumus algus 38 00:01:45,590 --> 00:01:49,490 nullist ja lugedes kuni väärtus sa hoolid kohe alates 39 00:01:49,490 --> 00:01:49,990 saada minna. 40 00:01:49,990 --> 00:01:50,990 >> Nii, et on fikseeritud, et. 41 00:01:50,990 --> 00:01:53,670 Muutsime väiksem või võrdub lihtsalt alla. 42 00:01:53,670 --> 00:01:56,050 Võtame pilk teine ​​näide. 43 00:01:56,050 --> 00:01:59,585 >> Nii, see programm on liiga väidab oma Kommentaarid up top, et see peaks printida 44 00:01:59,585 --> 00:02:02,260 kümne tärni, kuid see ei esine. 45 00:02:02,260 --> 00:02:05,540 Mis viga siin? 46 00:02:05,540 --> 00:02:07,930 >> Nii, what-- ja kahju, olgem selged. 47 00:02:07,930 --> 00:02:08,610 10 tähte. 48 00:02:08,610 --> 00:02:11,644 Üks rida, kuid see ei ole. 49 00:02:11,644 --> 00:02:14,810 Nii et tegelikult, las ma minna ja koostada see üks, sest see on natuke vähem 50 00:02:14,810 --> 00:02:16,900 kustutada põhineb sellel kirjeldus. 51 00:02:16,900 --> 00:02:18,720 Lubage mul minna meie allikas kataloog. 52 00:02:18,720 --> 00:02:25,110 Tee lollakas üks dot kaldkriipsuga lollakas üks. 53 00:02:25,110 --> 00:02:28,680 OK, ma näen 11 tähte, mis on jätkuvalt problemaatiline, 54 00:02:28,680 --> 00:02:30,090 kuid nad on ka kõik ühele joonele. 55 00:02:30,090 --> 00:02:31,500 Milles on küsimus siin? 56 00:02:31,500 --> 00:02:32,339 Jah. 57 00:02:32,339 --> 00:02:33,255 Sihtrühm: [kuuldamatu]. 58 00:02:33,255 --> 00:02:36,194 59 00:02:36,194 --> 00:02:36,860 SPEAKER 1: Jah. 60 00:02:36,860 --> 00:02:40,210 Nii et see on teravmeelsus, mida võib mäleta mind muutes lühidalt of. 61 00:02:40,210 --> 00:02:42,793 Kuigi kõik tundub ilus, ja see on kenasti liigestatud, 62 00:02:42,793 --> 00:02:45,850 ja see omamoodi näeb Scratch-like sellele reale 16 ja 17 on 63 00:02:45,850 --> 00:02:47,600 tõepoolest, liigestatud all, et loop. 64 00:02:47,600 --> 00:02:48,400 See on ebaoluline. 65 00:02:48,400 --> 00:02:50,460 Arvuti ei tea ega näe valget ruumi. 66 00:02:50,460 --> 00:02:52,910 Valge ruum on lihtsalt Meie inimesed, stiililiselt. 67 00:02:52,910 --> 00:02:57,010 Arvuti ei tea, kui teil on looksulg, mis tõepoolest 68 00:02:57,010 --> 00:02:58,280 Selle probleemi lahendamiseks. 69 00:02:58,280 --> 00:03:02,350 >> Niisiis, kui me tegelikult läks ja selgesõnaliselt panna need looksulg 70 00:03:02,350 --> 00:03:05,220 mis probleemi lahendada poolt teha selgeks, et tõlkija 71 00:03:05,220 --> 00:03:07,930 et ma tegelikult tahan täita kaks rida koodi uuesti, 72 00:03:07,930 --> 00:03:09,220 ja uuesti ja uuesti. 73 00:03:09,220 --> 00:03:11,680 Aga mis on põhiline selgitus? 74 00:03:11,680 --> 00:03:12,180 Õigus? 75 00:03:12,180 --> 00:03:15,260 Me ei vaja otseselt looksulg kogu aeg, 76 00:03:15,260 --> 00:03:18,210 kuigi see on ilmselt parim Praktikas sattuda, et harjumus niikuinii 77 00:03:18,210 --> 00:03:20,878 kuigi see lisab kaks tegelased oma koodi. miks? 78 00:03:20,878 --> 00:03:22,380 >> Sihtrühm: [kuuldamatu]? 79 00:03:22,380 --> 00:03:24,630 SPEAKER 1: Jah, nii see on teine ​​lahendus kokku. 80 00:03:24,630 --> 00:03:25,130 Õigus? 81 00:03:25,130 --> 00:03:28,250 Eriti kui esmapilgul te ei tõesti hindan, mis toimub. 82 00:03:28,250 --> 00:03:31,070 Noh, kindlasti saime lihtsalt teha kahte asja korraga 83 00:03:31,070 --> 00:03:32,710 ja lihtsalt vältida probleemi üldse. 84 00:03:32,710 --> 00:03:36,080 Ja see on hea, kuid nüüd, tänapäeva tähenduses, mida 85 00:03:36,080 --> 00:03:38,200 on seletus viga? 86 00:03:38,200 --> 00:03:39,810 Miks olid kõik need tähed ühes reas? 87 00:03:39,810 --> 00:03:40,806 Jah? 88 00:03:40,806 --> 00:03:43,296 >> Sihtrühm: Tundub, et kui sul on üks rida koodi, 89 00:03:43,296 --> 00:03:46,649 sa ei saa seda teha, ilma et need. 90 00:03:46,649 --> 00:03:47,440 SPEAKER 1: Täpselt. 91 00:03:47,440 --> 00:03:48,750 See on lihtsalt inimese konventsioon. 92 00:03:48,750 --> 00:03:50,750 Inimesed mõistavad, et see on natuke tüütu või tüütu 93 00:03:50,750 --> 00:03:53,470 on panna looksulg kõik ajast, kui kõik mida sa teha tahad 94 00:03:53,470 --> 00:03:55,090 on täita üks rida koodi. 95 00:03:55,090 --> 00:03:57,660 Niisiis, inimesed otsustasid mõned aega tagasi, et see on hea. 96 00:03:57,660 --> 00:04:01,180 Kui sa tahad panna kõik oma loop just, et üks rida niimoodi, 97 00:04:01,180 --> 00:04:04,030 see on hea koos ühe semikooloniga lõpus. 98 00:04:04,030 --> 00:04:07,210 Aga sa võid teha ainult üks selline line ilma looksulg. 99 00:04:07,210 --> 00:04:09,900 >> Niisiis, kui CS50 stiili juhend kui punkt teil, 100 00:04:09,900 --> 00:04:11,980 näete, et üldiselt see on hea harjumus 101 00:04:11,980 --> 00:04:14,920 sattuda, kuni olete üsna mugav Hulkuvaid 102 00:04:14,920 --> 00:04:17,404 taolised konventsioonid ja teeb oma asja. 103 00:04:17,404 --> 00:04:18,820 Nii kaua, kui sa oled ise järjekindel. 104 00:04:18,820 --> 00:04:21,540 Ja me räägime rohkem soengusse veidi hiljem täna. 105 00:04:21,540 --> 00:04:23,200 >> Niisiis, lubage mul avada ühe teise programmi. 106 00:04:23,200 --> 00:04:24,930 Muidugi, me peaksime määrata, et 10 samuti. 107 00:04:24,930 --> 00:04:32,470 Lubage mul minna ja kirjutada tõeline kiire programm, mis ma helistan, 108 00:04:32,470 --> 00:04:38,140 oletame, loop dot C. Nii, loop dot C. Ja loop dot C ma lähen, 109 00:04:38,140 --> 00:04:41,970 hulka standard I / O dot H int main void. 110 00:04:41,970 --> 00:04:44,020 Ja nüüd lihtsalt teha, tõepoolest, silmus. 111 00:04:44,020 --> 00:04:46,020 Niisiis, 4 int ma läheb nulli. 112 00:04:46,020 --> 00:04:48,660 Ma vähem kui, ütleme, 50. 113 00:04:48,660 --> 00:04:49,950 Ma pluss pluss. 114 00:04:49,950 --> 00:04:53,350 Ja siis siin teeme minna ja ei prindi F. 115 00:04:53,350 --> 00:04:56,400 Ja siis ma tahan printida Ma ning uus liin, semikooloniga. 116 00:04:56,400 --> 00:05:00,015 >> Ja see peaks printida kõik numbrid nullist kuni 50? 117 00:05:00,015 --> 00:05:02,900 118 00:05:02,900 --> 00:05:03,680 Paar head noogutab. 119 00:05:03,680 --> 00:05:04,270 Mõned numbrid. 120 00:05:04,270 --> 00:05:05,339 Mis viga juba? 121 00:05:05,339 --> 00:05:06,630 Mis on lihtne viga tegin? 122 00:05:06,630 --> 00:05:07,170 Jah. 123 00:05:07,170 --> 00:05:08,544 >> Sihtrühm: [kuuldamatu]. 124 00:05:08,544 --> 00:05:09,210 SPEAKER 1: Jah. 125 00:05:09,210 --> 00:05:11,520 Nii et kuigi see näeb nagu see, mida ma kavatsen, 126 00:05:11,520 --> 00:05:13,920 Tuletame meelde, et ma ka lihtsalt ASCII. 127 00:05:13,920 --> 00:05:14,955 >> Niisiis, kui ma ütlen, print "I." 128 00:05:14,955 --> 00:05:16,670 See on sõna otseses mõttes läheb prindi I. Niisiis, kui ma 129 00:05:16,670 --> 00:05:20,030 tahan plug-in kohatäide väärtust ma tegelikult vaja seda teha 130 00:05:20,030 --> 00:05:22,630 ja siis siduda nendega I väärtus dünaamiliselt. 131 00:05:22,630 --> 00:05:25,200 Muidu ma olen lihtsalt kavatse saada 50 ma oma ekraanil. 132 00:05:25,200 --> 00:05:28,140 >> Niisiis, lubage mul minna ja seda loop, käivitada, 133 00:05:28,140 --> 00:05:30,650 ja tegelikult on meil kõik viis kuni läbi 49. 134 00:05:30,650 --> 00:05:34,140 Ja kui ma kerida ajas tagasi ma näen number null alguses. 135 00:05:34,140 --> 00:05:36,050 >> Noh, mis siis, kui ma mingi kruvi lahti? 136 00:05:36,050 --> 00:05:37,800 Mis siis, kui ma seda teen? 137 00:05:37,800 --> 00:05:40,120 Lihtsalt sellepärast, et ma ei mõtle. 138 00:05:40,120 --> 00:05:40,970 Mis selle programmi. 139 00:05:40,970 --> 00:05:43,970 Kui oled kompileerida ja tööle, kavatseb teha loogiliselt? 140 00:05:43,970 --> 00:05:44,870 >> Sihtrühm: Mitte midagi. 141 00:05:44,870 --> 00:05:45,661 >> SPEAKER 1: Nothing. 142 00:05:45,661 --> 00:05:47,156 Miks nii? 143 00:05:47,156 --> 00:05:49,124 >> Sihtrühm: I mõeldud null. 144 00:05:49,124 --> 00:05:51,899 Nii, tingimus on vale. 145 00:05:51,899 --> 00:05:52,940 SPEAKER 1: Jah, täpselt. 146 00:05:52,940 --> 00:05:55,110 Kõik kood on õige, süntaktiliselt. 147 00:05:55,110 --> 00:05:57,310 See koostab selle kood töötab, kuid see ei ole 148 00:05:57,310 --> 00:06:00,110 kavatse teha midagi kasulikku sest ma initsialiseerida ma nulli. 149 00:06:00,110 --> 00:06:02,240 Siis vaadake, on mul rohkem kui 50? 150 00:06:02,240 --> 00:06:03,810 Ilmselt ei, see ei ole. 151 00:06:03,810 --> 00:06:05,760 Nii silmus kunagi täide üldse. 152 00:06:05,760 --> 00:06:09,580 >> Mis siis, kui me midagi veidi hoolimatu? 153 00:06:09,580 --> 00:06:12,890 Nii, mis siis, kui me teeme nagu int ma läheb nulli. 154 00:06:12,890 --> 00:06:15,640 Ja nüüd lubage mul kasutada samal ajal loop, mis oli teine ​​tingimus. 155 00:06:15,640 --> 00:06:21,810 Ja kui ma ütlen, kui ma on suurem kui või võrdub nulliga, ja siis siin ma 156 00:06:21,810 --> 00:06:26,070 minna ja salvestage fail, teha loop. 157 00:06:26,070 --> 00:06:27,070 Ja ma olen umbes käivitada. 158 00:06:27,070 --> 00:06:30,230 Mida ma näha seda aega koos, samas loop? 159 00:06:30,230 --> 00:06:30,852 Jah. 160 00:06:30,852 --> 00:06:32,120 >> Sihtrühm: lõputu silmuse? 161 00:06:32,120 --> 00:06:35,360 >> SPEAKER 1: lõputult aega? 162 00:06:35,360 --> 00:06:36,662 Jah, ja miks? 163 00:06:36,662 --> 00:06:38,120 Sihtrühm: Sest see on alati null. 164 00:06:38,120 --> 00:06:38,786 SPEAKER 1: Jah. 165 00:06:38,786 --> 00:06:40,100 Niisiis, ma käivitub null. 166 00:06:40,100 --> 00:06:44,470 Muidugi ma alati suurem kui või võrdne 0 tagajärjel. 167 00:06:44,470 --> 00:06:46,460 Niisiis, ma olen lihtsalt kavatse vaata seda lõpmatult. 168 00:06:46,460 --> 00:06:49,850 Ja nüüd, see on tulnud kord või kaks korda kursuse peadesse. 169 00:06:49,850 --> 00:06:52,417 Mis juhtub, kui on lõputu silmuse? 170 00:06:52,417 --> 00:06:53,314 >> Sihtrühm: kontrolli C. 171 00:06:53,314 --> 00:06:53,980 SPEAKER 1: Jah. 172 00:06:53,980 --> 00:06:56,250 Nii Kontroll C lõpuks vastata. 173 00:06:56,250 --> 00:06:59,520 Kahjuks oleme välja printida miljonite nullidega juba 174 00:06:59,520 --> 00:07:01,520 ja nii on arvutisse Selline sai minu ees. 175 00:07:01,520 --> 00:07:03,394 Nii, see läheb ignoreerida mind natuke. 176 00:07:03,394 --> 00:07:06,560 Aga kui sa lihtsalt vajuta kontroll C mõned korda Mac või PC klaviatuur, 177 00:07:06,560 --> 00:07:08,790 lõpuks peaks tõepoolest lõpetada. 178 00:07:08,790 --> 00:07:11,770 Ja kui ei, siis me näitame teile mõned tehnikat enne pikka kus sa 179 00:07:11,770 --> 00:07:14,850 võib tegelikult sunniviisiliselt tappa programme, palju nagu Windows ja Mac OS, 180 00:07:14,850 --> 00:07:15,562 vajaduse korral. 181 00:07:15,562 --> 00:07:16,770 Aga proovime midagi muud. 182 00:07:16,770 --> 00:07:19,895 Olgem tegelikult juurdekasvu I. Kas see ikka saab olema lõpmatu? 183 00:07:19,895 --> 00:07:22,870 184 00:07:22,870 --> 00:07:25,140 Lubage mul teha selle. 185 00:07:25,140 --> 00:07:27,090 Ja nüüd saab sellist näha, mis toimub. 186 00:07:27,090 --> 00:07:30,140 Ka see on lõputu silmuse. 187 00:07:30,140 --> 00:07:33,080 Aga see on natuke konksuga küsimus. 188 00:07:33,080 --> 00:07:35,460 Kas see trükkimineku numbrid igavesti? 189 00:07:35,460 --> 00:07:36,647 >> Sihtrühm: Ei 190 00:07:36,647 --> 00:07:37,230 SPEAKER 1: Ei 191 00:07:37,230 --> 00:07:37,620 Miks? 192 00:07:37,620 --> 00:07:38,820 Kuulsin mõned nos siin. 193 00:07:38,820 --> 00:07:41,859 Someone-- Jah. 194 00:07:41,859 --> 00:07:44,275 Sihtrühm: Sa ei ole piisavalt bittide tõesti edasi. 195 00:07:44,275 --> 00:07:44,730 SPEAKER 1: Olgu. 196 00:07:44,730 --> 00:07:46,000 Nii et ma ei ole piisavalt bitti edasi. 197 00:07:46,000 --> 00:07:47,124 Niisiis, mis juhtub? 198 00:07:47,124 --> 00:07:49,320 See on lihtsalt kavatse lõpetada? 199 00:07:49,320 --> 00:07:52,542 >> Sihtrühm: Mingil hetkel lülitub see the-- 200 00:07:52,542 --> 00:07:54,500 SPEAKER 1: See sulgeb silmus maha, kuid miks? 201 00:07:54,500 --> 00:07:57,950 Mis juhtub juures Päris lõpus oma piirid? 202 00:07:57,950 --> 00:07:58,479 Jah? 203 00:07:58,479 --> 00:08:00,520 Sihtrühm: see tsükkel Tagasi negatiivsed arvud. 204 00:08:00,520 --> 00:08:02,900 SPEAKER 1: negatiivsed arvud, või kui me olime lihtsalt ravivad positiivne, 205 00:08:02,900 --> 00:08:03,570 null vähemalt. 206 00:08:03,570 --> 00:08:04,550 Nii et jah, absoluutselt. 207 00:08:04,550 --> 00:08:08,059 Tuletame meelde, et me nägime viimast korda, et kui sa juurdekasvu oma bitti liiga palju kordi, 208 00:08:08,059 --> 00:08:10,225 ja seal esiplaanile ülevoolu suutlikkust oma int 209 00:08:10,225 --> 00:08:13,058 või mis iganes andmete tüüp on, sa oled läheb ümbritsev ilmselt 210 00:08:13,058 --> 00:08:14,020 Kahe negatiivse arvu. 211 00:08:14,020 --> 00:08:16,644 Või kui olete määrata, et teie vahemikus peaks olema ainult positiivne, 212 00:08:16,644 --> 00:08:18,560 mida saate teha, kuid meil ei ole näinud, et veel 213 00:08:18,560 --> 00:08:21,420 võite lõpuks vähemalt tagasi nulli. 214 00:08:21,420 --> 00:08:22,410 Kuigi tegelikult jah. 215 00:08:22,410 --> 00:08:24,320 Sel juhul negatiivse numbrid, mispuhul 216 00:08:24,320 --> 00:08:26,870 silmus läheb lõpetada sest ma ei ole tegelikult 217 00:08:26,870 --> 00:08:29,220 suurem või võrdne null, kui see on negatiivne. 218 00:08:29,220 --> 00:08:31,780 >> Nii kahjuks kuidas kaua oleks me peame ootama? 219 00:08:31,780 --> 00:08:35,490 Praegu oleme kuni Mis, 2 miljonit-ish? 220 00:08:35,490 --> 00:08:37,705 Me oleme nagu 2 miljardit, me läheme pea ootama 221 00:08:37,705 --> 00:08:39,330 kuni me tegelikult saame näha see sümptom. 222 00:08:39,330 --> 00:08:46,200 Aga me näeme seda veidi kiiremini, maybe-- Vaatame, kas me saame katkestada. 223 00:08:46,200 --> 00:08:46,700 Ole nüüd. 224 00:08:46,700 --> 00:08:49,500 225 00:08:49,500 --> 00:08:51,331 Isegi menüüd ilmuvad aeglaselt. 226 00:08:51,331 --> 00:08:51,830 Hästi. 227 00:08:51,830 --> 00:08:54,270 Niisiis, me tuleme tagasi, et enne pikk. 228 00:08:54,270 --> 00:08:56,320 See on hea AEG_ kurat, kutsikad. 229 00:08:56,320 --> 00:08:58,280 >> See on hea aeg mõned teated. 230 00:08:58,280 --> 00:09:01,225 Niisiis, kui teile soovida tegeleda YHack, 231 00:09:01,225 --> 00:09:03,600 mis üritus on sponsoreerib meie sõbrad Yale'i. 232 00:09:03,600 --> 00:09:05,990 Ja tõepoolest, mõned kursuse TF Yale'i on seotud sellega. 233 00:09:05,990 --> 00:09:08,610 YHack on rahvusvaheline Hack-a-Thon võõrustajaks ja hoitakse 234 00:09:08,610 --> 00:09:12,395 Yale'i, tuues kokku 1500 sarnaste huvidega häkkerid ja reklaamid kõik 235 00:09:12,395 --> 00:09:13,120 üle maailma. 236 00:09:13,120 --> 00:09:14,610 Kui see on huvi, vaatleme siin. 237 00:09:14,610 --> 00:09:17,401 Kui see on liiga lühidalt ekraan, kui heita pilk tänapäeva slaidid 238 00:09:17,401 --> 00:09:19,622 jaoks URL yhack.org. 239 00:09:19,622 --> 00:09:21,080 Niisiis, ka mõned kiired teadaandeid. 240 00:09:21,080 --> 00:09:24,410 Nii, ametlikult lõigud hakkab Järgmisel nädalal nii siin kui ka New Haven. 241 00:09:24,410 --> 00:09:27,660 Pea meeles, sa pead olema saada Kirjuta hiljem sel nädalavahetusel kõige tõenäolisem. 242 00:09:27,660 --> 00:09:29,390 See võtab kaua aega jaoks CS50 paragrahvi, 243 00:09:29,390 --> 00:09:32,080 anda kogu inimest klassi ja kõik ringi liikudes. 244 00:09:32,080 --> 00:09:34,871 Ja kõik Õpetamine Fellows ' sõiduplaanide ka veel kramplikult, 245 00:09:34,871 --> 00:09:38,110 kuid Hoia talle ja kui vaja võimalik, saab uuesti osa järel. 246 00:09:38,110 --> 00:09:39,580 >> Study.cs50.net. 247 00:09:39,580 --> 00:09:43,280 Seega, isegi kui teil on pidev osaleja kell lõigud, mõistame, et peaaegu kõik 248 00:09:43,280 --> 00:09:46,786 ressursse, mida me kasutame lõigud on avalikkusele kättesaadavad CS50 249 00:09:46,786 --> 00:09:48,460 Uuring sellelt aadressilt siin. 250 00:09:48,460 --> 00:09:51,630 Niisiis, kui soovite kunagi tahaks uuesti läbivaatamine materjali osa, või lugeda edasi, 251 00:09:51,630 --> 00:09:54,170 või te ei saa teha seda mõne nädala, aru, et proov slaidid, 252 00:09:54,170 --> 00:09:58,210 ja probleeme, ja definitsioonid, ja kõik on seal hästi. 253 00:09:58,210 --> 00:10:00,645 >> Lahtiolekuajad jätkata täna ja homme ja kolmapäeval, 254 00:10:00,645 --> 00:10:03,020 ja neljapäeval vaadake kursuse kodulehel ajakava. 255 00:10:03,020 --> 00:10:05,690 >> Ja ka nüüd käivitada täna on CS50 Arutle. 256 00:10:05,690 --> 00:10:09,230 Niisiis, kas ja millal teil on küsimusi omavahel või kursuse personal 257 00:10:09,230 --> 00:10:12,099 ja toimivad üldiselt mõned probleem komplekti, 258 00:10:12,099 --> 00:10:15,015 mõistad, et sa ei pruugi on pöörduda inimese kõrval teid. 259 00:10:15,015 --> 00:10:17,810 Kui seal on keegi seal, saate jõuda meile ja klassikaaslastega 260 00:10:17,810 --> 00:10:19,890 Online kaudu CS50 Arutle. 261 00:10:19,890 --> 00:10:22,600 Niisiis, see on arutelu juhatuse käigus, 262 00:10:22,600 --> 00:10:24,550 ja mõistma, et see on ehk parim 263 00:10:24,550 --> 00:10:28,480 koht alustamiseks, kui teil on küsimusi kui väljaspool tööaega 264 00:10:28,480 --> 00:10:29,470 eriti. 265 00:10:29,470 --> 00:10:31,070 >> Lõunasöök käivitub sel nädalal ka. 266 00:10:31,070 --> 00:10:33,170 Kell Tule ja Jää [Kuuldamatu] New Haven. 267 00:10:33,170 --> 00:10:35,379 Heitke pilk kursuse kodulehel, et RSVP. 268 00:10:35,379 --> 00:10:36,753 Kes ees, see teenib selle eest. 269 00:10:36,753 --> 00:10:39,380 Kui sa ei saa selles nädalas me teeme neid kõige igal reedel 270 00:10:39,380 --> 00:10:40,400 tähtaja jooksul. 271 00:10:40,400 --> 00:10:41,830 >> OK, ja nüüd sõnagi mune. 272 00:10:41,830 --> 00:10:44,690 Eriti kui me siseneme probleem määrata ühe, mis on välja sel nädalal, 273 00:10:44,690 --> 00:10:46,670 ja probleem seatud kaks ja pärast seda. 274 00:10:46,670 --> 00:10:51,680 Kuidas minna hindamiseks P komplekti ja hinnata nende kvaliteet? 275 00:10:51,680 --> 00:10:55,560 Nii, see on nelja telje, et me kasutame CS50, ja nad on need neli siin. 276 00:10:55,560 --> 00:10:59,200 >> Ulatus, mis lööb numbrilise alusel, kui palju on P komplekt 277 00:10:59,200 --> 00:10:59,860 sa lahendada. 278 00:10:59,860 --> 00:11:02,890 See on umbes vastab vaeva, ja see on meie viis hõivamiseks 279 00:11:02,890 --> 00:11:05,190 sa proovida pool P määrata, kõik P komplekti. 280 00:11:05,190 --> 00:11:08,860 See on lihtne, saada täiuslik hinded kui te seda teete, tõepoolest, 281 00:11:08,860 --> 00:11:11,020 proovida iga aspekti P komplekti. 282 00:11:11,020 --> 00:11:12,010 Nii, et hoidke seda silmas pidades. 283 00:11:12,010 --> 00:11:13,420 >> Korrektsus on just nii. 284 00:11:13,420 --> 00:11:17,760 Kas teie koodi töö spetsifikatsioon ja kui staabid proovi lahust 285 00:11:17,760 --> 00:11:19,730 viitavad sellele, et oma koodi peaks tegelikult töötavad. 286 00:11:19,730 --> 00:11:23,260 Saate 50, kui sa ei ole täidetud siis veel, on P määrata ühe spetsifikatsioon 287 00:11:23,260 --> 00:11:25,060 ja üldiselt sulle jah / ei vastused 288 00:11:25,060 --> 00:11:26,518 kas teie kood on õige. 289 00:11:26,518 --> 00:11:30,680 Vähemalt nii palju kui me läheme hinnata seda, mis põhineb testid 290 00:11:30,680 --> 00:11:32,430 et võtame selles programmis. 291 00:11:32,430 --> 00:11:33,850 >> Disain on palju subjektiivset. 292 00:11:33,850 --> 00:11:35,994 See, kuidas hästi kirjutatud on oma kood. 293 00:11:35,994 --> 00:11:38,410 Ja see on midagi, saad paremini ajas, 294 00:11:38,410 --> 00:11:41,201 ja see on midagi, mida me tulen pakkuda rohkem kvalitatiivset tagasisidet. 295 00:11:41,201 --> 00:11:43,350 Ja disain võin tähenda enne kaua te 296 00:11:43,350 --> 00:11:47,650 võib tekkida kiusatus mõnel P määrata midagi loopingly, 297 00:11:47,650 --> 00:11:51,590 kuid on võibolla kolme või nelja või viie nested esiplaanile silmad või pesitseda samas 298 00:11:51,590 --> 00:11:52,090 silmad. 299 00:11:52,090 --> 00:11:54,130 See üldiselt peaks hakkavad sind roomama 300 00:11:54,130 --> 00:11:56,070 ja oleks üldiselt halvaks disain. 301 00:11:56,070 --> 00:11:59,490 Ja sa hakkad näha klassi ja välja klassi hea viise asju, 302 00:11:59,490 --> 00:12:02,920 halb viise asju, et võib kõik olla korrektne, kuid ei 303 00:12:02,920 --> 00:12:04,304 tingimata hästi disainitud. 304 00:12:04,304 --> 00:12:05,220 Nagu essee kirjutamiseks. 305 00:12:05,220 --> 00:12:08,100 Sa võiksid panna sõnu leht, mis on grammatiliselt õige, 306 00:12:08,100 --> 00:12:10,016 kuid essee või Lõputöö nad on lihtsalt 307 00:12:10,016 --> 00:12:11,810 täiesti seosetu või unpersuasive. 308 00:12:11,810 --> 00:12:15,930 Ja nii, et võiks olla analoogi kirjutatud maailma halb või hea disain. 309 00:12:15,930 --> 00:12:18,490 >> Ja stiili, liiga, on üsna subjektiivne. 310 00:12:18,490 --> 00:12:20,060 Aga vähemalt ootame järjepidevus. 311 00:12:20,060 --> 00:12:21,480 See, kuidas päris on oma kood. 312 00:12:21,480 --> 00:12:22,840 Kas asjad kenasti liigestatud? 313 00:12:22,840 --> 00:12:26,600 Kas teie muutujaid ka nime / Kas kõik sinu sulgudes ja looksulg 314 00:12:26,600 --> 00:12:27,920 korrastada, kui nad peaksid olema? 315 00:12:27,920 --> 00:12:31,490 Meil on CS50 stiilis juhendi Probleemi komplekt toob välja teid. 316 00:12:31,490 --> 00:12:33,730 Need mugavam on Tere hulkuvate et 317 00:12:33,730 --> 00:12:35,771 nii kaua, kui te olete ise järjekindel. 318 00:12:35,771 --> 00:12:38,020 Ja ka see on õppetund me tugevdada punktis. 319 00:12:38,020 --> 00:12:40,990 Niisiis, kui see kõik oli natuke kiire, realiseerida P komplekt ja sektsioonid 320 00:12:40,990 --> 00:12:42,900 läheb põhjalikumalt enne pikk. 321 00:12:42,900 --> 00:12:45,490 >> Aga üldiselt on meil väga vähe kopad CS50. 322 00:12:45,490 --> 00:12:48,170 Hinded on üldiselt skaalal ühest kuni kolmest või 1-5. 323 00:12:48,170 --> 00:12:50,836 Oleme literally-- ja ma ei saa öelda, Käesoleva piisavalt esimesel nädalal. 324 00:12:50,836 --> 00:12:51,582 Kolm on hea. 325 00:12:51,582 --> 00:12:54,290 Niisiis, kuigi, jah, kolm viie tavaliselt matemaatiliselt 326 00:12:54,290 --> 00:12:57,240 võib olla 60 protsenti või nagu D miinus. 327 00:12:57,240 --> 00:12:58,840 Kolm on tegelikult hea. 328 00:12:58,840 --> 00:13:01,050 Ja tegelikult ootame enamik õpilasi klassis 329 00:13:01,050 --> 00:13:04,280 alustad mõiste ümber kahekaupa ja kolmekesi ja püksid. 330 00:13:04,280 --> 00:13:05,510 Tõenäoliselt mitte nii palju viied. 331 00:13:05,510 --> 00:13:06,661 Mitte liiga palju ones. 332 00:13:06,661 --> 00:13:08,910 Aga üldiselt alustada et magus kohapeal kõver 333 00:13:08,910 --> 00:13:11,694 nii et aja kulgedes, seal on tegelikult ruumi, 334 00:13:11,694 --> 00:13:13,360 ja võimalused ülemine progresseerumist. 335 00:13:13,360 --> 00:13:15,810 Niisiis, ärge võrdsustada kolm 60%. 336 00:13:15,810 --> 00:13:17,410 See on palju rohkem abstraktne kui see. 337 00:13:17,410 --> 00:13:20,160 Valem, mida me arvutada klassid on hääli järgmiselt. 338 00:13:20,160 --> 00:13:21,610 Korrektsus on väärt rohkem. 339 00:13:21,610 --> 00:13:23,010 Disain on väärt natuke vähem. 340 00:13:23,010 --> 00:13:24,490 Stiil on väärt natuke vähem. 341 00:13:24,490 --> 00:13:26,950 Ja seda üldiselt lööb aega 342 00:13:26,950 --> 00:13:29,800 mis läheb üha iga Nende telgede just õige. 343 00:13:29,800 --> 00:13:31,810 Stiil on väga lihtne, peaks olema super kiire, 344 00:13:31,810 --> 00:13:33,657 kuid see on lihtne harjumus saada laisk kohta. 345 00:13:33,657 --> 00:13:35,490 Korrektsus võib võtta sa enamuse ajast. 346 00:13:35,490 --> 00:13:38,990 Chasing alla mõned bug väest võtta, et ekstra tund või rohkem, 347 00:13:38,990 --> 00:13:41,737 ja nii, punktisüsteem lõpuks lööb see. 348 00:13:41,737 --> 00:13:43,070 Ja nii, nüüd tõsisemalt sõna. 349 00:13:43,070 --> 00:13:45,240 Kuna CS50 on vahet, parema 350 00:13:45,240 --> 00:13:47,440 või veel hullem, olemise ehk parem tuttavaks 351 00:13:47,440 --> 00:13:50,065 küsimustega akadeemilise ausus kui enamik muid muidugi. 352 00:13:50,065 --> 00:13:53,720 Ja tõepoolest, see on minu teada, et saadame rohkem õpilasi, kahjuks 353 00:13:53,720 --> 00:13:56,690 distsiplinaareesmärgil Igal aastal kui tulemus. Niisiis, 354 00:13:56,690 --> 00:13:59,040 huvides täis avalikustamine, räägime lühidalt 355 00:13:59,040 --> 00:14:02,820 umbes mis toimub CS50 ja mida saab teha ja mida saab tähelepanelik. 356 00:14:02,820 --> 00:14:05,530 >> Nii, siin alates 2007. aastast, mil Ma päris loomulikult 357 00:14:05,530 --> 00:14:07,870 on mitmeid Ad Board juhtudel. 358 00:14:07,870 --> 00:14:10,690 Kuulutus Board on Harvardi distsiplinaarkaristuse keha või nüüd Honor nõunik, 359 00:14:10,690 --> 00:14:13,790 mille juhtudel on nimetatud kui õpilaste midagi, mis kursuse 360 00:14:13,790 --> 00:14:15,470 ainekava arvab ebamõistlik. 361 00:14:15,470 --> 00:14:17,220 Ei ole reaalne muster siin, ma ütleks. 362 00:14:17,220 --> 00:14:19,530 See kõigub üle aastat, kuid üldiselt 363 00:14:19,530 --> 00:14:22,262 see arv juhtudel, mis on nimetatud. 364 00:14:22,262 --> 00:14:23,970 Õpilaste arv mis on seotud? 365 00:14:23,970 --> 00:14:25,290 See on liiga erinev. 366 00:14:25,290 --> 00:14:27,930 Tavaliselt mullu Näiteks 29 õpilaste Harvardi 367 00:14:27,930 --> 00:14:29,740 olid Ad laudis, nii rääkida. 368 00:14:29,740 --> 00:14:32,670 29 neist praegused õpilased, kaks neist enne üliõpilased, 369 00:14:32,670 --> 00:14:35,610 kes olid koostööd Mõnes ebasoovitavad viis. 370 00:14:35,610 --> 00:14:38,400 Ja siis poolest protsent, see on tavaliselt umbes 3% 371 00:14:38,400 --> 00:14:41,360 klassi, et kahjuks teeb selliseid otsuseid. 372 00:14:41,360 --> 00:14:44,470 >> Niisiis, eelmisel aastal oli see 3,5% on CS50 üliõpilaskonna 373 00:14:44,470 --> 00:14:46,820 mis oli Kuulutus laudis, nii rääkida. 374 00:14:46,820 --> 00:14:48,490 >> Niisiis, mida see kõik tähendab? 375 00:14:48,490 --> 00:14:49,660 Ja mida me tegelikult teha? 376 00:14:49,660 --> 00:14:52,930 >> Nii täielikku avalikustamist, me absoluutselt, kui arvuti teadlased, 377 00:14:52,930 --> 00:14:57,620 on tarkvara meie käsutuses olevaid vahendeid ja see on väga lihtne meile, õiglus, 378 00:14:57,620 --> 00:15:00,980 et teiste klassikaaslastega, kes ei ole ületamisel neid ridu ületada võrrelda 379 00:15:00,980 --> 00:15:04,570 Iga esitamise sel aastal vastu iga esitamise viimase kaheksa aasta jooksul. 380 00:15:04,570 --> 00:15:05,445 Tarkvara teeb seda. 381 00:15:05,445 --> 00:15:07,440 Ja lõpuks on see Inimese silmad, et otsustada, 382 00:15:07,440 --> 00:15:11,410 kas pöörduda mõne loe edasiseks lahendamiseks, 383 00:15:11,410 --> 00:15:12,737 kuid tarkvara kindlasti aitab. 384 00:15:12,737 --> 00:15:15,820 Ja see, ausalt öeldes, sellepärast, et ma arvan, meil on selline suur hulk CS50. 385 00:15:15,820 --> 00:15:18,540 See ei ole, sest CS50 õpilased või CS õpilased rohkem 386 00:15:18,540 --> 00:15:20,840 Üldiselt on kõik vähem aus kui mis tahes muu üliõpilased, 387 00:15:20,840 --> 00:15:22,340 see on lihtsalt oleme tööriistu ja tehnikaid 388 00:15:22,340 --> 00:15:24,095 kellega seda esmase. 389 00:15:24,095 --> 00:15:25,960 >> Aga me hoida silma kõik need asjad 390 00:15:25,960 --> 00:15:30,340 samuti jällegi huvides tunnistades tööd, mis kuramuse panna 391 00:15:30,340 --> 00:15:32,397 poolt super enamus klassi. 392 00:15:32,397 --> 00:15:34,230 Ja muidugi poliitika Akadeemilisel ausus, 393 00:15:34,230 --> 00:15:37,021 kuigi see kamp punktid kaua koos kamp täppe 394 00:15:37,021 --> 00:15:40,490 mis on loodetavasti üsna loetav, siis tõesti taandub mõistlik. 395 00:15:40,490 --> 00:15:44,000 Ja parim rusikareegel, et Pakume kuni piires ainekava 396 00:15:44,000 --> 00:15:46,020 see on, sisuliselt kõik tööd, mida 397 00:15:46,020 --> 00:15:47,850 esitama selle käigus peab olema oma. 398 00:15:47,850 --> 00:15:51,510 Ja tõepoolest, peaaegu kõik need, nimetatud juhtudel distsiplinaarkaristuse 399 00:15:51,510 --> 00:15:55,640 see oli, sest mõned õpilane hilja ühe öösel tavaliselt välja tema kood 400 00:15:55,640 --> 00:15:58,130 üle lausa klassivend, kes siis võttis ta 401 00:15:58,130 --> 00:16:00,840 tervikuna või oluliselt selle. 402 00:16:00,840 --> 00:16:02,680 >> Aga tõesti, see on OK. 403 00:16:02,680 --> 00:16:04,684 Ja tõepoolest, kontoris tundi, kombineed paber 404 00:16:04,684 --> 00:16:07,850 olete meheks, kui sa tulid kontor tundi eelmisel nädalal julgustab nii palju. 405 00:16:07,850 --> 00:16:09,710 Sul on täiesti tervitas ja julgustada 406 00:16:09,710 --> 00:16:12,340 arutada probleemi komplekti koos klassikaaslastega. 407 00:16:12,340 --> 00:16:14,461 Et aidata teineteist komistuskivi. 408 00:16:14,461 --> 00:16:17,710 Aga üldiselt rusikareegel peaks olla see, "kui te küsite abi, 409 00:16:17,710 --> 00:16:20,412 võite näidata oma koodi teistele, aga sa ei pruugi näha päralt. " 410 00:16:20,412 --> 00:16:22,620 Niisiis, teisisõnu, kui Kõht hädas mõne P komplekt 411 00:16:22,620 --> 00:16:25,290 ja ma istun seal söögisaal, või raamatukogu 412 00:16:25,290 --> 00:16:28,470 või klassiruumis ja püüavad leida süü, 413 00:16:28,470 --> 00:16:30,340 Ma kindlasti näitan minu kood minu ekraanil 414 00:16:30,340 --> 00:16:32,590 et inimene istub kõrval mulle kindlasti personali, 415 00:16:32,590 --> 00:16:33,600 vaid ka klassivend. 416 00:16:33,600 --> 00:16:36,580 Aga kui lahendus, mis minu klassivend pakub on, oh, 417 00:16:36,580 --> 00:16:39,200 siin lihtsalt võtta pilk Ma tegin, mis läbib liin. 418 00:16:39,200 --> 00:16:43,120 >> Ja ma julgen öelda, et on üldiselt mõistlik asi, et enamik inimesi 419 00:16:43,120 --> 00:16:45,030 väga lihtsalt kohapeal rida. 420 00:16:45,030 --> 00:16:47,195 Ja nii, vaata ainekava üksikasjalikumalt. 421 00:16:47,195 --> 00:16:49,070 Ja nüüd üks rohkem vastuolulisem küsimus 422 00:16:49,070 --> 00:16:52,529 on CS50 ainekava, et ma arvasin räägiksime lõpetuseks siin 423 00:16:52,529 --> 00:16:53,820 on nn kahetsust punkti. 424 00:16:53,820 --> 00:16:55,340 Niisiis, siin on kõik trahvi print. 425 00:16:55,340 --> 00:16:58,090 Aga üldiselt oleme näinud viimase 8 pluss aastat 426 00:16:58,090 --> 00:17:01,510 et tõepoolest, peaaegu kõik CS50 tema juhtudel akadeemilise ebaaususe 427 00:17:01,510 --> 00:17:04,390 on tulemus lihtsalt halb otsustusprotsessi hilisõhtuni. 428 00:17:04,390 --> 00:17:07,144 Tulemuseks on stress, tulemus puudumise söömine, unetus, 429 00:17:07,144 --> 00:17:09,560 liiga palju P komplekti, liiga palju tähtajad, liiga palju kohustusi. 430 00:17:09,560 --> 00:17:13,520 Stress ülesehitamisel on 2:00, 3:00 AM, 04:00, tähtajaga ootuses. 431 00:17:13,520 --> 00:17:17,020 Enamik õpilasi nendel juhtudel äsja tehtud halbu otsuseid 432 00:17:17,020 --> 00:17:20,619 et nad võivad väga hästi kahetse Järgmisel hommikul kui mitte minutit hiljem 433 00:17:20,619 --> 00:17:25,490 kuid kuni eelmise aasta polnud väljalaskeklapp, et need õpilased võiksid 434 00:17:25,490 --> 00:17:29,140 tegelikult avada tegelikult tegeleda probleemiga, kartmata 435 00:17:29,140 --> 00:17:30,850 käivitatud kolledži kokku. 436 00:17:30,850 --> 00:17:33,260 >> Ja tõepoolest, tutvustasime Selle kahetsust § eelmisel aastal 437 00:17:33,260 --> 00:17:35,970 mis ütleb, et kui sees 72 tundi, kolm päeva, 438 00:17:35,970 --> 00:17:37,970 ületamise mõned line ettenähtud ainekava 439 00:17:37,970 --> 00:17:41,178 sa teeks ühe kursuse peade ja me vestelda midagi. 440 00:17:41,178 --> 00:17:43,720 On siiski mõned tulemus, et vastupidi on 441 00:17:43,720 --> 00:17:44,990 teatatud teisiti. 442 00:17:44,990 --> 00:17:49,190 On veel mõned tulemused, mis on vaidlustatavad poolt muidugi 443 00:17:49,190 --> 00:17:51,611 üldiselt nullimist P komplekt või võttes mingeid teisi tegevusi, 444 00:17:51,611 --> 00:17:53,610 kuid me tõepoolest hakkama ise ja mitte 445 00:17:53,610 --> 00:17:58,460 vaadake seda suurem oli tulemus võib olla palju raskemad. 446 00:17:58,460 --> 00:18:01,810 Ja tõesti, et jagada, mis juhtus Eelmisel aastal kaheksa aastat ja nüüd 447 00:18:01,810 --> 00:18:04,950 üheksa aastat, õpetades seda muidugi ja pärast sisemusse erinevaid nuppe, 448 00:18:04,950 --> 00:18:07,866 keerates erinevate valib viimase mitu aastat akadeemilisel ausus, 449 00:18:07,866 --> 00:18:11,920 ja nähes ühe andmeid ei ilmne mõju, isegi kõnede niimoodi, 450 00:18:11,920 --> 00:18:15,490 see oli käed alla parim asi oleme kasutusele pedagoogiliselt 451 00:18:15,490 --> 00:18:18,090 kaheksa aastat mööda Nende ridade CS50. 452 00:18:18,090 --> 00:18:21,010 >> 19 üliõpilast tuli edasi Käesoleva paragrahvi eelmisel aastal. 453 00:18:21,010 --> 00:18:23,389 Me ei võtnud vastu Seitsme nende õpilaste, 454 00:18:23,389 --> 00:18:25,430 määratakse kindlaks, et nad olid asjatult muretsema. 455 00:18:25,430 --> 00:18:27,304 Nad ei olnud tegelikult ületanud joone, kuid see 456 00:18:27,304 --> 00:18:28,960 oli hea chat on sellegipoolest. 457 00:18:28,960 --> 00:18:31,190 Me nullitakse 11 skoori mis esitati. 458 00:18:31,190 --> 00:18:33,840 Ja ühel juhul me küsis õpilane tegema probleem seada. 459 00:18:33,840 --> 00:18:36,370 Aga rohkem kaalukaid, ausalt, need 19 vestlused, 460 00:18:36,370 --> 00:18:39,020 mis oli nii rohkem kui mina Eeldatakse, igaüks neist 461 00:18:39,020 --> 00:18:41,370 10 minutit võibolla tund pikk, tõi 462 00:18:41,370 --> 00:18:44,920 valguse hulk küsimusi perekondliku küsimusi, sõber küsimusi, 463 00:18:44,920 --> 00:18:46,940 vaimse tervise probleemid mis me siis tegeleb, 464 00:18:46,940 --> 00:18:50,200 üliõpilase õnnistus, resident Dean, või sõbrad, või mõni muu number 465 00:18:50,200 --> 00:18:51,450 toetuse ressurssidest. 466 00:18:51,450 --> 00:18:54,454 Nii et see oli siiani üks parimaid kasutusviise meie aja 467 00:18:54,454 --> 00:18:55,870 ja üks parimaid sekkumised. 468 00:18:55,870 --> 00:18:58,870 >> Olles seda öelnud, see ei olnud sisend määr avastamine 469 00:18:58,870 --> 00:19:00,909 akadeemilise ebaaususe üldisemalt. 470 00:19:00,909 --> 00:19:02,950 Ja ma julgen öelda, et see alagrupis Õpilaste eelmisel aastal 471 00:19:02,950 --> 00:19:06,350 oli demograafiline et me varem kunagi kindlaks teha enne 472 00:19:06,350 --> 00:19:08,140 ja ei olnud kunagi seotud varem. 473 00:19:08,140 --> 00:19:10,020 Ja nii olid need Imeline edulugusid 474 00:19:10,020 --> 00:19:13,390 kuigi nad toodi päevavalgele vähem kui optimaalne asjaolusid. 475 00:19:13,390 --> 00:19:15,640 Niisiis, pidage seda meeles teete, võib-olla, 476 00:19:15,640 --> 00:19:17,390 viletsat otsust ise hilisõhtuni, 477 00:19:17,390 --> 00:19:20,151 et on vaja kasutada nii kaua, kui õpilane selles olukorras 478 00:19:20,151 --> 00:19:23,400 ise üles ja teeks, et saaksime ole sellist chat ja sellega tegeleda 479 00:19:23,400 --> 00:19:27,310 viisil, mis on haridus- ja seejärel me võime sellest möödas järgmisel päeval. 480 00:19:27,310 --> 00:19:30,335 >> Nii ilma pikema jututa, võtta serv off see vestlus, 481 00:19:30,335 --> 00:19:35,080 põhjus kutsikad on kuni on lihtsalt murda jää hetkekski. 482 00:19:35,080 --> 00:19:39,560 Ja kahjuks on nad kõik magama, aga mis pidi juhtuma siin 483 00:19:39,560 --> 00:19:41,760 oli igaühel pidi Hirmu ja omamoodi lõõgastuda 484 00:19:41,760 --> 00:19:43,910 pärast, et väga raske vestlus. 485 00:19:43,910 --> 00:19:46,930 Aga ilmselt panin kutsikad magama. 486 00:19:46,930 --> 00:19:50,070 Aga kui te lähete CS50 on veebisait kaldkriipsuga kutsikad, 487 00:19:50,070 --> 00:19:51,610 võite vaadata neid kogu päeva pikkune. 488 00:19:51,610 --> 00:19:55,280 Eriti võibolla 2:00, või 03:00 või 04:00 öösel 489 00:19:55,280 --> 00:19:57,480 näha vähe stressi leevendamiseks olemas. 490 00:19:57,480 --> 00:19:58,805 Nii et on kaldkriips kutsikad. 491 00:19:58,805 --> 00:20:01,700 492 00:20:01,700 --> 00:20:02,200 Hästi. 493 00:20:02,200 --> 00:20:03,020 Kas polnud lõbus? 494 00:20:03,020 --> 00:20:04,200 OKEI. 495 00:20:04,200 --> 00:20:07,140 Niisiis, tagasi mõned arvuti teaduse, kui tohib. 496 00:20:07,140 --> 00:20:10,600 >> Nii, meenutada, et viimase aja hakkasime otsin mitte ainult peamine, mis 497 00:20:10,600 --> 00:20:13,930 oli vaikimisi funktsiooni, kui roheline lipp klõpsanud samaväärne, 498 00:20:13,930 --> 00:20:16,999 kuid alustasime ka lühidalt kirjalikult mõned meie funktsioonid. 499 00:20:16,999 --> 00:20:20,040 Ja siiani ükski nendest funktsioonidest on olnud eriti suur või tuumakas. 500 00:20:20,040 --> 00:20:24,570 Saad neisse suurem funktsioone ilmselt, P komplekt 2, P seatud 3, 501 00:20:24,570 --> 00:20:26,410 kindlasti P seatud 4 ja edasi. 502 00:20:26,410 --> 00:20:29,340 Just nüüd enamiku oma programme, kui mitte kõik neist, kindlasti P 503 00:20:29,340 --> 00:20:31,550 komplekt 1 saab teha täiesti peamine. 504 00:20:31,550 --> 00:20:33,810 Kui teie programm on ainult viis rida, 10 rida, 505 00:20:33,810 --> 00:20:37,070 isegi 20 rida pikk, täiesti mõistlik kirjutada 506 00:20:37,070 --> 00:20:40,930 kõik põhi- ja mitte üle keeruliseks koodi, kuid mida me teeme täna 507 00:20:40,930 --> 00:20:44,360 ja edasi üritab ka tutvustada häid projekteerimise tehnikaid 508 00:20:44,360 --> 00:20:48,660 nii et kui koodi saab rohkem keeruline ja kuna probleemid 509 00:20:48,660 --> 00:20:51,690 soovite lahendada saada raskem ja huvitav olete, omamoodi, 510 00:20:51,690 --> 00:20:55,850 vahendeid oma tööriistakasti, mille kujundada häid lahendusi neile. 511 00:20:55,850 --> 00:21:01,210 >> Niisiis, võtame pilgu tagasi selle programmi oma eelmisel nädalal, mis 512 00:21:01,210 --> 00:21:06,550 oli funktsioonid null dot C. Ja märkate, et lihtsalt 513 00:21:06,550 --> 00:21:10,310 see näeb välja selline kahe funktsioone, pea- ja print nimi. 514 00:21:10,310 --> 00:21:13,160 Ja mõtlesin tagasi või ehk reverse engineering täna 515 00:21:13,160 --> 00:21:16,880 Mis ajendas sisse Funktsiooni line 28 nimega, 516 00:21:16,880 --> 00:21:18,180 print nimi? 517 00:21:18,180 --> 00:21:21,745 Või mis oli see näide on Seoses põhimõte või Buffee, 518 00:21:21,745 --> 00:21:22,605 Kui soovid. 519 00:21:22,605 --> 00:21:26,560 520 00:21:26,560 --> 00:21:27,300 Mõned murmurs. 521 00:21:27,300 --> 00:21:28,830 Mida? 522 00:21:28,830 --> 00:21:32,210 >> Jah, nii funktsionaalne lagunemine on selline, et fancy viis öelda, 523 00:21:32,210 --> 00:21:34,690 lagunevad oma programmi osadeks 524 00:21:34,690 --> 00:21:37,530 ja siis kasuta neid osi koguda tervikuna. 525 00:21:37,530 --> 00:21:39,620 Nii, et liiga on lihtsalt selline suutäie juba, 526 00:21:39,620 --> 00:21:42,050 aga see on võib-olla isegi parem näide millestki 527 00:21:42,050 --> 00:21:43,081 just helistas võtmiseks. 528 00:21:43,081 --> 00:21:43,580 Õigus? 529 00:21:43,580 --> 00:21:46,950 Üldistus saab olema üks on korduvad teemad CS50 530 00:21:46,950 --> 00:21:49,085 ja ka arvutiteadus üldisemalt, sest see on 531 00:21:49,085 --> 00:21:53,060 tehnikat, millega saab lahendada probleemidega tõhusamaks, sest sa 532 00:21:53,060 --> 00:21:56,807 saab kirjutada lahendusi rohkem intuitiivselt ja nii, et kaalud 533 00:21:56,807 --> 00:21:58,390 ja on ka mõistetav teiste inimeste poolt. 534 00:21:58,390 --> 00:21:59,860 Mida ma mõtlen, et? 535 00:21:59,860 --> 00:22:04,340 >> Nii, väidetavalt on palju selgem ja arusaadavam vaadata programmi nagu see, 536 00:22:04,340 --> 00:22:05,990 super lühike, kuigi see on. 537 00:22:05,990 --> 00:22:10,050 Kui näed real 22, et seal on funktsioon nimega, print nimi. 538 00:22:10,050 --> 00:22:12,620 See nimi üksinda ütleb, mida ta teeb. 539 00:22:12,620 --> 00:22:15,780 See funktsioon ilmselt võtab sisendi vahel sulgudes, 540 00:22:15,780 --> 00:22:18,600 ja ilmselt teeb midagi, arvatavasti prindib nime. 541 00:22:18,600 --> 00:22:20,880 Ja nii, kuigi me absoluutselt võiks olla 542 00:22:20,880 --> 00:22:25,280 teinud seda, mida me tegime nädal tagasi, mis oli lihtsalt võtta see tegelik rida koodi, 543 00:22:25,280 --> 00:22:28,710 vabaneda sellest, ning saada lahti see kõik koos, 544 00:22:28,710 --> 00:22:31,436 me mingi ammutatud ära mõiste printimise nimi. 545 00:22:31,436 --> 00:22:33,060 Mind ei huvita, kui te kasutate print def. 546 00:22:33,060 --> 00:22:35,601 Mind ei huvita, kui teil on protsenti S ja kaldkriips N. Need 547 00:22:35,601 --> 00:22:37,270 on uskumatult kauge üksikasjad. 548 00:22:37,270 --> 00:22:40,090 Mida ma hoolin kui programmeerija prindib nime. 549 00:22:40,090 --> 00:22:43,414 Ja jah, siis mis oleks parem viis seda teha kui helistades funktsiooni print nimi? 550 00:22:43,414 --> 00:22:46,330 Ja nii, et oli üks motivatsioone teeme midagi sellist. 551 00:22:46,330 --> 00:22:50,370 Making kood loetavamaks rohkem korduvkasutatavad ja ka ise kirjeldav. 552 00:22:50,370 --> 00:22:52,120 Nüüd võtame pilk veel üks näide, 553 00:22:52,120 --> 00:22:56,220 mis oli funktsioonid ühe, mis meil oli siin. 554 00:22:56,220 --> 00:23:00,367 >> Nii, see on võib-olla isegi rohkem oluline seetõttu, et antud juhul 555 00:23:00,367 --> 00:23:01,700 Ma ei taha lihtsalt saada int. 556 00:23:01,700 --> 00:23:03,320 Ma tahan saada positiivset int. 557 00:23:03,320 --> 00:23:06,470 Ja selgub, et saada positiivne int sa pead tegema kamp legwork. 558 00:23:06,470 --> 00:23:06,969 Õigus? 559 00:23:06,969 --> 00:23:09,600 See ei ole lihtne üks rida helistada nagu print nimi oli, 560 00:23:09,600 --> 00:23:11,480 mis on küll vähem veenvad. 561 00:23:11,480 --> 00:23:16,000 >> Et saada positiivset int, logically-- andke mulle tagasi kerima alla peita. 562 00:23:16,000 --> 00:23:18,887 Mida sa pead tegema? 563 00:23:18,887 --> 00:23:20,720 Nagu kõik tööriistadele on hetkel on 564 00:23:20,720 --> 00:23:24,440 asjad print def Standard Raamatukogu ja ka CS50 raamatukogu 565 00:23:24,440 --> 00:23:26,990 meil siia keskmine, ja siia Float, Võta Long Long, saad String, 566 00:23:26,990 --> 00:23:29,260 kuid ainus, Germane, just nüüd on siia Int. 567 00:23:29,260 --> 00:23:32,970 Niisiis, kui ainus vahend teil on oma tööriistakomplekti on siia keskmine, 568 00:23:32,970 --> 00:23:35,505 kuidas me minna rakendamisel et saada positiivne int? 569 00:23:35,505 --> 00:23:35,929 >> Sihtrühm: Loo log ja vaadake kas sisend, et nad andsid 570 00:23:35,929 --> 00:23:36,762 oli positiivne või mitte. 571 00:23:36,762 --> 00:23:39,390 572 00:23:39,390 --> 00:23:40,640 >> SPEAKER 1: täiuslik. 573 00:23:40,640 --> 00:23:41,200 Täpselt. 574 00:23:41,200 --> 00:23:43,950 Teine vahend oleme meie tööriistakast nädal või kaks tagasi 575 00:23:43,950 --> 00:23:45,419 on lihtsalt silmukoiminen ehitada. 576 00:23:45,419 --> 00:23:48,210 Ja nii, jah, kui me kasutame ajal loop või teha, kui silmus, või esiplaanile 577 00:23:48,210 --> 00:23:50,850 loop me saaksime tõenäoliselt ära mõnega neist mingis vormis. 578 00:23:50,850 --> 00:23:55,140 Me saame rakendada mõiste get positiivne int poolt lihtsalt kasutades siia keskmine, 579 00:23:55,140 --> 00:23:57,830 ja siis muudkui nimetades seda uuesti ja hoida tüütamine kasutaja 580 00:23:57,830 --> 00:24:00,320 kuni ta tegelikult annab meile, mida me tahame. 581 00:24:00,320 --> 00:24:03,260 >> Ja nii nüüd, see võtmiseks protsessi 582 00:24:03,260 --> 00:24:05,680 saada positiivne int funktsiooniks nimetatakse 583 00:24:05,680 --> 00:24:08,930 Võta Positiivne keskmine on veidi rohkem oluline seetõttu vaadata seda. 584 00:24:08,930 --> 00:24:10,990 Need on nagu 10 pluss rida koodi, mis 585 00:24:10,990 --> 00:24:15,090 on kaasatud saada positiivset int, ja ma tõesti ei hooli, kuidas seda teha. 586 00:24:15,090 --> 00:24:17,850 Kõik ma hoolin on see, et sa ei saa seda teha, ja nii ma olen 587 00:24:17,850 --> 00:24:21,660 peidetud kõik need üksikasjad taga funktsiooni nimetatakse siia Positiivne int, et 588 00:24:21,660 --> 00:24:23,430 Tõepoolest, on see tee samas loop. 589 00:24:23,430 --> 00:24:27,660 >> Ja vaadake eelmisel nädalal süntaks seal, kuid see lihtsalt kuulutab N, 590 00:24:27,660 --> 00:24:29,800 ja ta prindib välja Juhised kasutajale. 591 00:24:29,800 --> 00:24:33,330 Ta kutsub siia Int ja siis kontrollib see tingimus uuesti ja uuesti, 592 00:24:33,330 --> 00:24:35,230 ja jälle, kuni kasutaja koostööd. 593 00:24:35,230 --> 00:24:38,000 >> Nüüd, mõned meelerahu kontrolli. 594 00:24:38,000 --> 00:24:40,370 Neile võib-olla tuttav mõned programmeerimise, 595 00:24:40,370 --> 00:24:46,410 miks on N deklareeritud, miks ma loon N väljaspool do samas loop? 596 00:24:46,410 --> 00:24:50,370 Miks see on line 29 ja mitte kohta, nagu 33 näiteks. 597 00:24:50,370 --> 00:24:53,529 >> Sihtrühm: Sest kui sa kuulutada välja, et selline 598 00:24:53,529 --> 00:24:56,688 rohkem, seda suurem scope-- 599 00:24:56,688 --> 00:24:58,146 >> SPEAKER 1: Good. 600 00:24:58,146 --> 00:24:59,604 >> Sihtrühm: --and kui te kuulutada see sees silmus, [kuuldamatu] 601 00:24:59,604 --> 00:25:00,979 sest ta ei tea midagi. 602 00:25:00,979 --> 00:25:02,819 603 00:25:02,819 --> 00:25:03,610 SPEAKER 1: Täpselt. 604 00:25:03,610 --> 00:25:06,330 Kui ma ei saa simplify-- see on küsimus ulatus. 605 00:25:06,330 --> 00:25:11,530 Ja ulatus viitab kontekst kus muutuja on olemas või on kasutatavad. 606 00:25:11,530 --> 00:25:15,050 Ja kena rusikareegel on see, et Üldiselt, kui sa tunnistada või luua 607 00:25:15,050 --> 00:25:21,642 muutujale, mida saab kasutada ainult siis sees Lähima omaks looksulg. 608 00:25:21,642 --> 00:25:22,600 Mida see tähendab? 609 00:25:22,600 --> 00:25:26,551 Kui ma hoopis tagasi võtta ja minna koos midagi, mis tundub veidi lihtsam. 610 00:25:26,551 --> 00:25:27,050 Õigus? 611 00:25:27,050 --> 00:25:29,360 >> Line 32 ainult tundub puhtam mulle nüüd. 612 00:25:29,360 --> 00:25:31,500 Ma teen nii asju üks kord ja seejärel määrates 613 00:25:31,500 --> 00:25:33,070 Paremalt vasakule poolt. 614 00:25:33,070 --> 00:25:35,180 Probleem nüüd põhineb et kohaldamisala määratlus 615 00:25:35,180 --> 00:25:41,130 on, et N saab kasutada read 31 ja 32 sees see silmus, 616 00:25:41,130 --> 00:25:45,100 aga kus, mida see määratlus võib see ei tohi kasutada? 617 00:25:45,100 --> 00:25:45,660 Kooskõlas mida? 618 00:25:45,660 --> 00:25:46,160 Jah. 619 00:25:46,160 --> 00:25:47,490 >> Sihtrühm: 35. 620 00:25:47,490 --> 00:25:49,180 >> SPEAKER 1: 35. 621 00:25:49,180 --> 00:25:50,480 Kindlasti mitte 35. 622 00:25:50,480 --> 00:25:52,349 Ja ka siis, kui teine? 623 00:25:52,349 --> 00:25:52,890 Sihtrühm: 34. 624 00:25:52,890 --> 00:25:55,040 SPEAKER 1: Isegi 34 on problemaatiline, sest see on 625 00:25:55,040 --> 00:25:56,450 väljaspool looksulg. 626 00:25:56,450 --> 00:25:58,200 Ja nii tegelikult, vaatame, mis juhtub. 627 00:25:58,200 --> 00:25:58,700 Õigus? 628 00:25:58,700 --> 00:26:00,722 See võib tunduda natuke intuitiivne või ei pruugi, 629 00:26:00,722 --> 00:26:02,680 aga vaatame, mida koostaja on öelda, kui 630 00:26:02,680 --> 00:26:04,730 läheme tänapäeva allikas kataloog. 631 00:26:04,730 --> 00:26:08,950 Tee funktsiooni ühes. 632 00:26:08,950 --> 00:26:11,231 Oh mu jumal. 633 00:26:11,231 --> 00:26:12,980 Noh, ma lõpuks valmis mis, muide. 634 00:26:12,980 --> 00:26:14,030 Hästi. 635 00:26:14,030 --> 00:26:15,510 Ja mis teema siin? 636 00:26:15,510 --> 00:26:17,430 Väga kauge vaadata. 637 00:26:17,430 --> 00:26:19,570 Aga siin on, mida ma typed-- Funktsiooni üks. 638 00:26:19,570 --> 00:26:21,640 Siin on, mida teha indutseeritud mis on tegelikult 639 00:26:21,640 --> 00:26:23,705 kasutades koostaja rõkkama mõned neist lipud 640 00:26:23,705 --> 00:26:25,080 et me näeme jälle enne pikk. 641 00:26:25,080 --> 00:26:26,829 Ja jälle, alati otsima esimesel viga, 642 00:26:26,829 --> 00:26:30,540 sest see võib lihtsalt olla kuhjuvate mõttetu mõju teistele liinidele. 643 00:26:30,540 --> 00:26:34,410 >> Mida see tähendab, et Probleem on funktsioon 1.c. 644 00:26:34,410 --> 00:26:36,890 On line 32. 645 00:26:36,890 --> 00:26:39,712 Ja see on veeru või märk, 13. 646 00:26:39,712 --> 00:26:42,670 Nii et kui teie tekstiredaktor, mis suudab aitab tuvastada, kui küsimus on. 647 00:26:42,670 --> 00:26:47,079 Nii et kui ma keri üles, mis on line 32? 648 00:26:47,079 --> 00:26:49,120 See on tõepoolest see üks mis on juba esile 649 00:26:49,120 --> 00:26:50,607 siin-- kasutamata muutuja n. 650 00:26:50,607 --> 00:26:51,440 Aga see ei ole kasutamata. 651 00:26:51,440 --> 00:26:52,320 Ma kasutan seda. 652 00:26:52,320 --> 00:26:56,110 Aga koostaja segaduses, sest see eksisteerib vaid seestpoolt selle ulatust. 653 00:26:56,110 --> 00:26:57,727 Ja nii ma ei saa seda kasutada siin. 654 00:26:57,727 --> 00:26:58,560 Ma ei saa seda kasutada siin. 655 00:26:58,560 --> 00:27:01,320 Ja tõlkija, seega isegi ei huvita, et ma üritan. 656 00:27:01,320 --> 00:27:03,940 Tundub olevat kasutamata tema tegelikku ulatust. 657 00:27:03,940 --> 00:27:08,854 >> Nii saame laiendada tehes täpselt, mida me hakkasime with-- int n. 658 00:27:08,854 --> 00:27:11,020 Ja kuigi seda ei juhtu otsida elegantne, võib-olla, 659 00:27:11,020 --> 00:27:15,110 ja me võttes täiendava line Siin, nüüd on see ulatus kõikjal. 660 00:27:15,110 --> 00:27:15,970 Nii proovime uuesti. 661 00:27:15,970 --> 00:27:19,040 Nii et funktsiooni ühes. 662 00:27:19,040 --> 00:27:19,610 Nice. 663 00:27:19,610 --> 00:27:23,370 Ja nüüd, kui ma kui ma saan funktsiooni üks, andkem see negatiivne 10, 664 00:27:23,370 --> 00:27:27,170 negatiivseid 1, 0, 1, ja see tõepoolest toimib. 665 00:27:27,170 --> 00:27:28,610 >> Nii on teine ​​lahendus siin. 666 00:27:28,610 --> 00:27:29,280 Tead mida? 667 00:27:29,280 --> 00:27:31,230 Mis siis, kui ma tegelikult olen maadlevad seda? 668 00:27:31,230 --> 00:27:33,140 Ma ei tea, kus n pidi minema. 669 00:27:33,140 --> 00:27:33,723 Tead mida? 670 00:27:33,723 --> 00:27:39,220 Ma lihtsalt panna see kõik kuidas ülaosas minu pilt siin. 671 00:27:39,220 --> 00:27:42,835 Mida see ei, sa arvad? 672 00:27:42,835 --> 00:27:43,335 Jah? 673 00:27:43,335 --> 00:27:44,251 >> Sihtrühm: [kuuldamatu]. 674 00:27:44,251 --> 00:27:47,964 675 00:27:47,964 --> 00:27:48,630 SPEAKER 1: Jah. 676 00:27:48,630 --> 00:27:50,560 Nii et ma olen teinud globaalse, nii rääkida. 677 00:27:50,560 --> 00:27:54,430 Kui teil on muutuja, mis on väljaspool kõik oma funktsioone, mis on lubatud, 678 00:27:54,430 --> 00:27:58,780 ja kood peaks koostama ja n Nüüdsest on kättesaadav mitte ainult get 679 00:27:58,780 --> 00:28:02,490 positiivse int, vaid ka main-- mille on veidi murettekitav, sest seal on 680 00:28:02,490 --> 00:28:04,864 juba n peamine, et rohkem kohta, et just moment-- 681 00:28:04,864 --> 00:28:06,530 kuid seda võiks pidada halva disaini. 682 00:28:06,530 --> 00:28:06,910 Hästi. 683 00:28:06,910 --> 00:28:08,570 Kui teil on vaja kasutada midagi, oh, ma 684 00:28:08,570 --> 00:28:10,125 lihtsalt pane see siia üles, sest kood tundub koostada 685 00:28:10,125 --> 00:28:12,180 Üldiselt ei ole hea tava. 686 00:28:12,180 --> 00:28:14,590 Pigem sa tahad valida võimalikult kitsalt ulatus 687 00:28:14,590 --> 00:28:18,720 Teie muutujaid, mis tähendaks läheb meie esialgne projekt, mis 688 00:28:18,720 --> 00:28:19,920 on siin. 689 00:28:19,920 --> 00:28:24,400 >> Nüüd kui panna, et kui ei ole sellega identselt nimega muutuja siin 690 00:28:24,400 --> 00:28:27,750 Muide c käsitleks see-- kuigi seda ei juhtu liiga often-- 691 00:28:27,750 --> 00:28:30,150 on see, et see on siiski täiesti trahvi siin. 692 00:28:30,150 --> 00:28:35,000 Aga see definitsioon n kooskõlas 22 on vari globaalsed. 693 00:28:35,000 --> 00:28:38,190 Nii see toimib jooksul Peamine ja globaalsed 694 00:28:38,190 --> 00:28:41,670 tegelikult kohaldatakse, kui oled saada positiivset int Aga sellest pikemalt 695 00:28:41,670 --> 00:28:43,890 muul ajal, kuid ainult neile, uudishimulik. 696 00:28:43,890 --> 00:28:45,970 >> Lühidalt öeldes, me määrata see siin. 697 00:28:45,970 --> 00:28:49,220 Nüüd tease peale kaks tükki enne kui me vaatame viimast rida koodi 698 00:28:49,220 --> 00:28:50,170 Selles programmis. 699 00:28:50,170 --> 00:28:52,170 Saada positiivset int. 700 00:28:52,170 --> 00:28:54,450 Vasakul servas Oma sõna on sõna int. 701 00:28:54,450 --> 00:28:56,860 Mida see tähendama sa arvad? 702 00:28:56,860 --> 00:28:58,900 Seni oleme enamasti näinud tühine. 703 00:28:58,900 --> 00:28:59,400 Jah? 704 00:28:59,400 --> 00:29:01,810 >> Sihtrühm: See tüüp muutuja, mis sa küsides. 705 00:29:01,810 --> 00:29:04,550 >> SPEAKER 1: Jah See tüüp, lase mind ei ütle muutuv, kuid millist tüüpi väärtust 706 00:29:04,550 --> 00:29:05,990 et ma olen palunud tagasi. 707 00:29:05,990 --> 00:29:08,070 Ja tõepoolest, see on intuitiivne siin, loodetavasti. 708 00:29:08,070 --> 00:29:08,200 Õigus? 709 00:29:08,200 --> 00:29:10,250 Kui soovite saada positiivne int, mis see on teile 710 00:29:10,250 --> 00:29:12,920 taha funktsioon-- nagu meie vabatahtlikud eelmisel nädalal 711 00:29:12,920 --> 00:29:15,720 anda teile tagasi tükk paberile int seda? 712 00:29:15,720 --> 00:29:19,190 Ja nii me oleme täpsustada, et nn tüübi tagastamise seda funktsiooni 713 00:29:19,190 --> 00:29:20,450 on saada positiivne int. 714 00:29:20,450 --> 00:29:22,990 Kui me ei taha, et see tagasi midagi, sa ütled tühine. 715 00:29:22,990 --> 00:29:25,270 Kui sa tahad seda tagasi string, ütlete string. 716 00:29:25,270 --> 00:29:27,310 Kui sa tahad seda tagasi ujuk, ütlete sularahaga. 717 00:29:27,310 --> 00:29:30,440 Aga ainus, mis kehtib ka siin loogiliselt, sest ma kasutan get int, 718 00:29:30,440 --> 00:29:34,130 kuigi ma olen piirata seda positiivseid väärtusi, on tagasi int. 719 00:29:34,130 --> 00:29:38,380 >> Nii vastupidi, mida see tähendab et seal on tühine sulgudes? 720 00:29:38,380 --> 00:29:40,130 Mida sulgudes üldiselt defineerida? 721 00:29:40,130 --> 00:29:40,588 Jah? 722 00:29:40,588 --> 00:29:42,880 >> Sihtrühm: See tähendab, et funktsiooni tegelikult ei saada seda. 723 00:29:42,880 --> 00:29:44,650 >> SPEAKER 1: See tähendab, et funktsiooni tegelikult ei saa, mida? 724 00:29:44,650 --> 00:29:45,430 >> Sihtrühm: Sisend. 725 00:29:45,430 --> 00:29:46,763 >> SPEAKER 1: Sisend, üldse. 726 00:29:46,763 --> 00:29:49,870 Nii tõesti, kui sulgudes Siin saab määrata tühine, 727 00:29:49,870 --> 00:29:51,650 see tähendab lihtsalt ma ei taha mingit sisendit. 728 00:29:51,650 --> 00:29:53,269 Ma tegelen probleemi ise. 729 00:29:53,269 --> 00:29:55,810 Ja tõepoolest, sa ei pea rääkige saada positiivset int midagi. 730 00:29:55,810 --> 00:29:59,630 Sa lihtsalt öelda, saada positiivset int, ja et funktsiooni kustub ja teha oma asja. 731 00:29:59,630 --> 00:30:02,970 >> Aga seal on olnud väike trikk ma olen mänginud siin kogu see aeg 732 00:30:02,970 --> 00:30:04,970 veenduda selle koodi koostab. 733 00:30:04,970 --> 00:30:09,620 Pange tähele, et int-- saada positiivne int void-- on line 27. 734 00:30:09,620 --> 00:30:14,530 Aga mõned pealtnäha veider põhjus see on ka siin on line 16. 735 00:30:14,530 --> 00:30:18,530 Ja just hea meede ma kordan see nii on täiesti identsed. 736 00:30:18,530 --> 00:30:21,640 Ja ma olen öelnud prototüüp jumbu-line kommentaari. 737 00:30:21,640 --> 00:30:28,850 Mis juhtub, kui ma kustutan selle, Ja nüüd uuesti, et funktsioon 1, siseneda. 738 00:30:28,850 --> 00:30:29,350 Oih. 739 00:30:29,350 --> 00:30:32,527 740 00:30:32,527 --> 00:30:33,110 Oota hetk. 741 00:30:33,110 --> 00:30:34,764 Kus mu tab? 742 00:30:34,764 --> 00:30:35,263 Huh? 743 00:30:35,263 --> 00:30:37,969 744 00:30:37,969 --> 00:30:39,620 Ootel. 745 00:30:39,620 --> 00:30:41,570 Tee funktsiooni 1. 746 00:30:41,570 --> 00:30:42,150 Seal me läheme. 747 00:30:42,150 --> 00:30:42,310 OKEI. 748 00:30:42,310 --> 00:30:43,400 Ei salvestanud õigesti. 749 00:30:43,400 --> 00:30:45,220 Niisiis, ma arvan, et seal on vähe bug siin, kus ma ei ole 750 00:30:45,220 --> 00:30:46,636 Nähes tab nimi hetkel. 751 00:30:46,636 --> 00:30:47,940 Mis siin toimub? 752 00:30:47,940 --> 00:30:52,210 Kaudsed deklaratsiooni funktsioon saada positiivset int on kehtetu C99. 753 00:30:52,210 --> 00:30:53,940 Nii ajab jälle. 754 00:30:53,940 --> 00:30:55,200 Mis on see viitab? 755 00:30:55,200 --> 00:30:57,287 Noh, tuleb välja, et C on päris loll. 756 00:30:57,287 --> 00:30:59,912 Noh, see on programmeerimine keele või pigem koostaja on. 757 00:30:59,912 --> 00:31:02,940 See ainult ei tea, mis teil on õpetas ta, ja see on ainult 758 00:31:02,940 --> 00:31:05,640 läheb tea midagi kui sa õpetasid seda varem. 759 00:31:05,640 --> 00:31:07,960 In teisisõnu Peamised hetkel, ma olen 760 00:31:07,960 --> 00:31:10,900 üritab helistada funktsioon nimetatakse saada positiivset int. 761 00:31:10,900 --> 00:31:14,120 Aga koostaja ei kavatse märgata, et saada positiivne int 762 00:31:14,120 --> 00:31:16,500 püsib kuni rida 26. 763 00:31:16,500 --> 00:31:21,360 Ja mis siis koostaja teeb, on lihtsalt vead nii kiiresti kui ta saab liinile 17, 764 00:31:21,360 --> 00:31:23,700 öeldes kaudne deklaratsioon ning saada positiivset int, mis 765 00:31:23,700 --> 00:31:27,740 on lihtsalt fancy viis öelda, ma ei ole tean, mida saad positiivne int on veel. 766 00:31:27,740 --> 00:31:31,240 >> Teised keeled nagu Java ja Python ja Ruby võiks vaadata tulevikku. 767 00:31:31,240 --> 00:31:32,240 C ei ole. 768 00:31:32,240 --> 00:31:35,110 Ja nii nagu me määrata see on üks kahest viisist. 769 00:31:35,110 --> 00:31:40,160 Kas üks, kui probleem on see, et saada positiivne int ei ole näinud, 770 00:31:40,160 --> 00:31:42,150 Noh, las ma lihtsalt liiguta seda üles. 771 00:31:42,150 --> 00:31:43,650 See oleks probleemi lahendada. 772 00:31:43,650 --> 00:31:46,790 Aga üldiselt, see on peetakse paremaks tehnika 773 00:31:46,790 --> 00:31:50,220 panna oma põhifunktsiooni on väga top, nii et inimene lugemine koodi 774 00:31:50,220 --> 00:31:52,710 teab, mida programm teeb, sest peamine pole maetud kõik 775 00:31:52,710 --> 00:31:53,960 Muide allosas või keskel. 776 00:31:53,960 --> 00:31:55,130 See on tipus. 777 00:31:55,130 --> 00:31:56,410 Nii, et ei tunne ideaalne. 778 00:31:56,410 --> 00:31:58,326 Ja tegelikult võite saada situatsiooni, kus 779 00:31:58,326 --> 00:32:00,820 kui üks funktsioon nõuab teine, mis nõuab teise, 780 00:32:00,820 --> 00:32:04,630 võite sattuda küsimus, kus ei ole võib minna üle teistele loogiliselt. 781 00:32:04,630 --> 00:32:05,920 See lihtsalt ei ole võimalik. 782 00:32:05,920 --> 00:32:09,290 >> Ja nii teel tööle ümber on lihtsalt võtta 783 00:32:09,290 --> 00:32:13,200 funktsiooni allkiri, nii et speak-- esimene rida, kus see on declared-- 784 00:32:13,200 --> 00:32:16,850 ja lihtsalt kopeerida, kleepida juures top, kuid mitte lokkis braces-- 785 00:32:16,850 --> 00:32:17,980 lihtsalt semikooloniga. 786 00:32:17,980 --> 00:32:20,840 See on nagu väike vihje kohta, mis on tulemas. 787 00:32:20,840 --> 00:32:26,630 Ja tegelikult, kogu see aeg, mil me näinud asju nagu standard io.h 788 00:32:26,630 --> 00:32:33,040 ja cs50.h samamoodi nendes dot h failid on olemas teisi prototüübid. 789 00:32:33,040 --> 00:32:35,250 Ja me näeme, et enne pikk. 790 00:32:35,250 --> 00:32:39,340 >> Lühidalt öeldes, kui teil on programmi failis koos mitmeid funktsioone 791 00:32:39,340 --> 00:32:42,300 Lisaks peamisele, siis peaaegu alati taha tunnistada neid 792 00:32:42,300 --> 00:32:45,360 lihtsalt teed oma esimese line, millele järgneb semikoolon, 793 00:32:45,360 --> 00:32:48,410 ülaservas faili. 794 00:32:48,410 --> 00:32:50,460 See oli palju kõik korraga. 795 00:32:50,460 --> 00:32:53,130 Kas küsimusi on? 796 00:32:53,130 --> 00:32:53,920 Kas küsimusi on? 797 00:32:53,920 --> 00:32:54,530 Hästi. 798 00:32:54,530 --> 00:32:59,760 >> Nii liigume edasi siis et midagi köha. 799 00:32:59,760 --> 00:33:00,260 Oh. 800 00:33:00,260 --> 00:33:00,570 Kui hästi. 801 00:33:00,570 --> 00:33:01,220 Hästi. 802 00:33:01,220 --> 00:33:02,260 Köha. 803 00:33:02,260 --> 00:33:05,080 Nii et siin on c programmi rakendamise kohta 804 00:33:05,080 --> 00:33:07,560 tegime teisel päeval Scratch, et väga lihtsalt lihtsalt 805 00:33:07,560 --> 00:33:08,691 ütleb köha, köha, köha. 806 00:33:08,691 --> 00:33:09,190 Hästi. 807 00:33:09,190 --> 00:33:11,136 Ja keegi ütles paari päeva tagasi, et seal on 808 00:33:11,136 --> 00:33:12,760 viis puhastada see kood üles juba. 809 00:33:12,760 --> 00:33:12,880 Hästi? 810 00:33:12,880 --> 00:33:15,440 Niipea kui sa kopeerimine ja kleepides ilmselt halva disaini. 811 00:33:15,440 --> 00:33:18,725 Vähemalt kord saame neli või viis või 20 köha, tundub halb tava. 812 00:33:18,725 --> 00:33:19,850 Me muudkui koopia, kleepimine. 813 00:33:19,850 --> 00:33:22,213 Mis on ilmne lahendus Puhastus selle programmi üles? 814 00:33:22,213 --> 00:33:23,120 >> Sihtrühm: Loop. 815 00:33:23,120 --> 00:33:23,350 >> SPEAKER 1: Jah. 816 00:33:23,350 --> 00:33:24,070 Nii et kasutage silmus. 817 00:33:24,070 --> 00:33:27,697 Ja me saame kasutada for-loop, samal ajal loop, tahes mitmeid lähenemisi. 818 00:33:27,697 --> 00:33:29,780 Ja tõepoolest, see, mida teeme versioon siin. 819 00:33:29,780 --> 00:33:32,250 Olen asemel kirjutatakse see versioonis üks cough.c 820 00:33:32,250 --> 00:33:35,170 olla lihtsalt köha jooksul for-loop. 821 00:33:35,170 --> 00:33:38,240 Kõik õige, kuid seal on võimalus nüüd selline algus 822 00:33:38,240 --> 00:33:41,630 kavandada käesoleva natuke rohkem nagu Tunni me õpetasime hetk tagasi, 823 00:33:41,630 --> 00:33:46,190 mis on see-- arvan, et ma tahtsin luua funktsiooni nimetatakse köha, 824 00:33:46,190 --> 00:33:49,730 Vaatleme hetkeks mida see hakkab välja nägema. 825 00:33:49,730 --> 00:33:51,900 Nii et kui ma tahan midagi köha, ma lihtsalt vaja 826 00:33:51,900 --> 00:33:53,800 kasutada print f sees funktsiooni. 827 00:33:53,800 --> 00:33:55,030 Ja tõepoolest olen. 828 00:33:55,030 --> 00:33:56,990 Ja tegelikult, kõik see aega, iga kord, kui oled 829 00:33:56,990 --> 00:33:59,000 trükkimine midagi ekraani, programmeerija 830 00:33:59,000 --> 00:34:00,610 kutsuksin et kõrvaltoime. 831 00:34:00,610 --> 00:34:02,990 See ei ole minu üleandmist tagasi keegi väärtus. 832 00:34:02,990 --> 00:34:06,170 See on minu võtaksid meetmeid mis võivad olla visuaalselt ilmselge. 833 00:34:06,170 --> 00:34:10,672 Aga see funktsioon köha, see tagasi midagi, mis põhineb tema esimene rida? 834 00:34:10,672 --> 00:34:12,880 Ei, sest selle tüübi tagastamise on tühine, mis tähendab lihtsalt 835 00:34:12,880 --> 00:34:14,250 see ei jagab mulle midagi tagasi. 836 00:34:14,250 --> 00:34:16,791 Võiks midagi visuaalselt, kuid see ei ole üleandmise mind 837 00:34:16,791 --> 00:34:18,639 tagasi paberile, nagu eelmisel nädalal. 838 00:34:18,639 --> 00:34:21,310 >> Kas seda üldse sisendkäibemaksu? 839 00:34:21,310 --> 00:34:21,810 Ei. 840 00:34:21,810 --> 00:34:23,134 Ja nii see on tühine ka siin. 841 00:34:23,134 --> 00:34:25,600 Nii et see on ka omamoodi üle-Engineering see probleem. 842 00:34:25,600 --> 00:34:26,099 Õigus? 843 00:34:26,099 --> 00:34:28,820 Olen teinud programmi rohkem keerukamaks, rida koodi, 844 00:34:28,820 --> 00:34:31,889 Ma ei ole teinud ühtegi toimivamad, kuid see 845 00:34:31,889 --> 00:34:34,210 oleks vaheastmeks, ehk laiemat 846 00:34:34,210 --> 00:34:36,830 kontekstis keerulisemate koodi. 847 00:34:36,830 --> 00:34:38,150 Aga see? 848 00:34:38,150 --> 00:34:42,050 Mida ma done-- lihtsalt riivav seda ilma vaadates kommentaar 849 00:34:42,050 --> 00:34:46,076 tipus on file-- mida on Ma põhimõtteliselt teha siin minu köha 850 00:34:46,076 --> 00:34:47,409 rakendamist, mis on erinev? 851 00:34:47,409 --> 00:34:48,327 Jah, on tagasi? 852 00:34:48,327 --> 00:34:51,384 >> Sihtrühm: Tee nii et saate on märk lülitada. 853 00:34:51,384 --> 00:34:52,050 SPEAKER 1: Jah. 854 00:34:52,050 --> 00:34:53,270 Nii et see tundub selline kena. 855 00:34:53,270 --> 00:34:53,389 Õigus? 856 00:34:53,389 --> 00:34:56,600 See on nagu lisades funktsioon oma programmi või oma funktsiooni, antud juhul. 857 00:34:56,600 --> 00:34:57,830 See ikka tagasi midagi. 858 00:34:57,830 --> 00:35:00,538 See võib olla visuaalne kõrvaltoime, sest see helistab print f. 859 00:35:00,538 --> 00:35:02,800 Aga nüüd olen parametriseerisin Funktsiooni mille 860 00:35:02,800 --> 00:35:06,470 tähendab, et ma olen täpsustatud võtta sisend-tüüpi int ja nimetame seda n, 861 00:35:06,470 --> 00:35:08,510 aga ma võiks seda nimetada midagi, mida ma tahan. 862 00:35:08,510 --> 00:35:11,550 Tegelikult võib see olla ainult korda veelgi selgem. 863 00:35:11,550 --> 00:35:13,310 Ja siis ma võiks lihtsalt muuta see siin. 864 00:35:13,310 --> 00:35:16,450 Kuid küsimus on selles, et see, kuidas ma luua funktsioon, mis võtab sisend. 865 00:35:16,450 --> 00:35:19,530 Ja kui te mäletate flipping läbi ehk internetis ühe 866 00:35:19,530 --> 00:35:23,000 jalutada läbi ekspordi, siis Neljas ja viimane köha näiteks 867 00:35:23,000 --> 00:35:27,150 märkad siin ma olen üldistatud minu kood further-- mingi abstraktse 868 00:35:27,150 --> 00:35:27,690 seda edasi. 869 00:35:27,690 --> 00:35:31,390 Nagu köha ja aevastus, nii on umbes nagu öelda midagi või teha 870 00:35:31,390 --> 00:35:32,330 mingi heli. 871 00:35:32,330 --> 00:35:34,725 Salvesta oleks vastava Scratch blokeerida. 872 00:35:34,725 --> 00:35:37,350 Ja nii ma tegin selles versioonis, mida me saame lihtsalt pilk, 873 00:35:37,350 --> 00:35:43,170 on köha on nagu öelda, [Köha] köha, ja vahepeal, aevastamine on 874 00:35:43,170 --> 00:35:44,570 nagu öelda, [ACHOO]. 875 00:35:44,570 --> 00:35:46,900 Ja nii ma üldistada Nende rakendamisel 876 00:35:46,900 --> 00:35:48,970 nüüd rakendamiseks tavalisele funktsiooni, 877 00:35:48,970 --> 00:35:51,490 öelda, mis on huvitav tänapäeva eesmärkidel 878 00:35:51,490 --> 00:35:54,300 ainult sellepärast, et see ikka ei ole tagasi tüübist. 879 00:35:54,300 --> 00:35:56,398 Aga kui palju sisendeid see on? 880 00:35:56,398 --> 00:35:56,981 Sihtrühm: Kaks. 881 00:35:56,981 --> 00:35:57,430 SPEAKER 1: Kaks. 882 00:35:57,430 --> 00:35:59,263 Ja kui sa tahad võtta kaks argumenti, 883 00:35:59,263 --> 00:36:00,710 lihtsalt eralda need komaga. 884 00:36:00,710 --> 00:36:03,110 Ja kui sa tahad, siis helistada, et funktsiooni, 885 00:36:03,110 --> 00:36:05,800 märgata, et sa lihtsalt helistada ütleme, quote, Tsitaat lõppeb, 886 00:36:05,800 --> 00:36:09,090 esimest argumenti, ühise n, teist väidet. 887 00:36:09,090 --> 00:36:12,130 Nii jälle, me lihtsalt nüüd ehitusplokkide et saaksime tegelikult 888 00:36:12,130 --> 00:36:15,686 rakendada mõned meie funktsioonid. 889 00:36:15,686 --> 00:36:16,570 Hästi. 890 00:36:16,570 --> 00:36:19,690 Kõik küsimused need on? 891 00:36:19,690 --> 00:36:22,400 >> Nüüd oletame, koorida tagasi kiht kui nii. 892 00:36:22,400 --> 00:36:24,840 Ja eesmärk lõppkokkuvõttes on järgmisel nädalal probleem komplekt 893 00:36:24,840 --> 00:36:27,710 läheb edasi cryptogrophy-- kunst skrambleerimisbittide informatsiooni. 894 00:36:27,710 --> 00:36:30,640 Ja konkreetsemalt teavet on teil krüptida või lahti krüptida 895 00:36:30,640 --> 00:36:31,605 läheb teksti. 896 00:36:31,605 --> 00:36:33,980 Ja nii, et sellist kutset Tänane küsimus nagu hästi, 897 00:36:33,980 --> 00:36:38,480 mis toimub all kapuuts teksti peale ASCII nädalast null, 898 00:36:38,480 --> 00:36:40,730 Ja kuidas me tegelikult alustada manipuleerida seda? 899 00:36:40,730 --> 00:36:43,070 Nii et siin on Zamyla nime. 900 00:36:43,070 --> 00:36:47,380 Ja teksti, mis võib olla sisestatud arvesse nagu get Stringifunktsioonide. 901 00:36:47,380 --> 00:36:52,540 Ja algab nüüd, kui näete string nagu see-- Z-A-M-Y-L-a-- 902 00:36:52,540 --> 00:36:56,550 hakata mõtlema sellest, nagu oleks iga need tegelased on kasti oma 903 00:36:56,550 --> 00:36:57,050 oma. 904 00:36:57,050 --> 00:36:59,460 Ja tõepoolest, nädala või nii on aega, kusjuures kõik lahtrid 905 00:36:59,460 --> 00:37:04,280 läheb esindama väga konkreetselt ploki memory-- hammustada mälu. 906 00:37:04,280 --> 00:37:07,050 Nii kõik need kirjad, lõpuks esindab 8 bitti. 907 00:37:07,050 --> 00:37:10,560 Ja me tegelikult näha, mis toimub kohta all kapuuts minu arvuti. 908 00:37:10,560 --> 00:37:13,440 >> Aga mitte piisab lihtsalt vaadata Zamyla 909 00:37:13,440 --> 00:37:17,520 läbi selle läätse, kusjuures iga need kirjad on oma kasti. 910 00:37:17,520 --> 00:37:22,697 Ja kenasti piisavalt C saame juurde kõik need kastid otse. 911 00:37:22,697 --> 00:37:25,530 Nii et kui sa tahad saada esimene täht tema nime, super lihtne C. 912 00:37:25,530 --> 00:37:28,410 Kui sa tahad saada viimase kirja, super lihtne ka 913 00:37:28,410 --> 00:37:30,240 tükk uut süntaks. 914 00:37:30,240 --> 00:37:36,250 >> Nii et ma lähen edasi minna arvesse CS50 IDE ja avada string null dot C. 915 00:37:36,250 --> 00:37:40,270 Ja selles näites siin, seal on paari uusi asju juhtub. 916 00:37:40,270 --> 00:37:44,360 Nii esimene rida 19, me oleme näinud seda before-- get string. 917 00:37:44,360 --> 00:37:49,840 Nii nagu kiire meelerahu kontrolli, kui keegi saaks pakkuda kuni verbaalselt 918 00:37:49,840 --> 00:37:52,662 võhik selgitus mis toimub kooskõlas 19. 919 00:37:52,662 --> 00:37:55,370 Nagu lihtsalt see viiks English et toakaaslane ei CS50 920 00:37:55,370 --> 00:37:56,416 Võib aru saada. 921 00:37:56,416 --> 00:37:56,916 Jah. 922 00:37:56,916 --> 00:37:59,749 >> Sihtrühm: Kas kasutaja sisestada string ja hoidke seda muutujat s. 923 00:37:59,749 --> 00:38:01,934 924 00:38:01,934 --> 00:38:02,600 SPEAKER 1: Good. 925 00:38:02,600 --> 00:38:05,579 Kas kasutaja sisend string ja hoidke seda muutujat s. 926 00:38:05,579 --> 00:38:06,120 See on suurepärane. 927 00:38:06,120 --> 00:38:08,090 Nii et paremal külg, mida me nimetame get string. 928 00:38:08,090 --> 00:38:10,340 See tagastab väärtuse et ei saada määratud 929 00:38:10,340 --> 00:38:14,230 alates parempoolne vasakpoolseks pool muutujaks nimetatakse s, mis on 930 00:38:14,230 --> 00:38:15,950 säilitamiseks mõeldud string. 931 00:38:15,950 --> 00:38:16,800 Täpselt. 932 00:38:16,800 --> 00:38:20,000 >> Nüüd joon 22 kohta kommentaari kooskõlas 21, 933 00:38:20,000 --> 00:38:22,780 ilmselt prindib et string üks märk rea kohta. 934 00:38:22,780 --> 00:38:23,740 Aga kuidas? 935 00:38:23,740 --> 00:38:27,040 Nii esiteks, me initsialiseerida I 0. 936 00:38:27,040 --> 00:38:31,061 Ja siis kuidas me saame lõpuks Zamyla nimi? 937 00:38:31,061 --> 00:38:32,810 Noh, lõpus Zamyla nimi, suutsin 938 00:38:32,810 --> 00:38:38,151 käsitsi sisestama viimase iseloom Tema nimi kuidagi, või kui palju see. 939 00:38:38,151 --> 00:38:38,650 Õigus? 940 00:38:38,650 --> 00:38:43,500 Kui me läheme tagasi siin-- Z-A-M-ma-- Y-L-a--, et ma võiks kirjutada. 941 00:38:43,500 --> 00:38:47,340 Mis on indeks Zamyla viimane kiri? 942 00:38:47,340 --> 00:38:52,517 Kui see on 0-- rääkides nagu programmer-- 0, 1, 2, 3, 4, 5, 943 00:38:52,517 --> 00:38:56,570 Ma heard-- nii tõesti, viimane täht in Zamyla nimi on kuues, 944 00:38:56,570 --> 00:38:58,890 aga kui me loota 0, see saab olema number 5. 945 00:38:58,890 --> 00:39:01,320 Nii et hoidke seda silmas pidada. 946 00:39:01,320 --> 00:39:04,929 >> Selgub, seal on funktsioon C nimetatakse strlen ja juba järgmisel päeval 947 00:39:04,929 --> 00:39:06,720 ja sel päeval veel, Paljud programmeerijad 948 00:39:06,720 --> 00:39:09,524 vali sünkroonida nimed nende funktsioone, mis kõlab nagu sõnad 949 00:39:09,524 --> 00:39:10,440 nad üritavad öelda. 950 00:39:10,440 --> 00:39:12,590 Nii strlen on string pikkusega. 951 00:39:12,590 --> 00:39:18,168 Ja mis oleks string pikkusega S naasta, kui Zamyla on sisend? 952 00:39:18,168 --> 00:39:19,569 >> Sihtrühm: Viis. 953 00:39:19,569 --> 00:39:22,090 >> SPEAKER 1: Z-A-M-Y-L. Kuus. 954 00:39:22,090 --> 00:39:22,590 Õigus? 955 00:39:22,590 --> 00:39:23,940 Mis on pikkus Zamyla nimi? 956 00:39:23,940 --> 00:39:24,440 Õigus? 957 00:39:24,440 --> 00:39:26,240 Ja just tegelikult kuus tähte. 958 00:39:26,240 --> 00:39:26,740 Õigus? 959 00:39:26,740 --> 00:39:28,940 Ja mis siis kas see tähendab, et meie loop? 960 00:39:28,940 --> 00:39:32,130 Me läheme alates 0 kuni kuus, mille 961 00:39:32,130 --> 00:39:33,650 läheb meile viit korduste. 962 00:39:33,650 --> 00:39:34,890 Mida me teeme iga iteratsiooni? 963 00:39:34,890 --> 00:39:36,870 Noh, protsenti C, keegi arvata teisel päeval, 964 00:39:36,870 --> 00:39:38,710 tähendab kohatäide, mida? 965 00:39:38,710 --> 00:39:39,335 >> Sihtrühm: Char. 966 00:39:39,335 --> 00:39:40,293 SPEAKER 1: Lihtsalt char. 967 00:39:40,293 --> 00:39:42,877 Nii ühe character-- ole Mitme tegelasi nagu string. 968 00:39:42,877 --> 00:39:45,251 Ja siis siin on uus liin et meil väljatrükk. 969 00:39:45,251 --> 00:39:46,580 Ja siis siin on uus süntaks. 970 00:39:46,580 --> 00:39:51,130 Kui soovite välja printida i-nda märgi stringi S, nii et rääkida, 971 00:39:51,130 --> 00:39:54,060 võite lihtsalt öelda nimi stringi S, 972 00:39:54,060 --> 00:39:58,230 ja avage nurksulg ja Seejärel suletakse nurksulg koos i 973 00:39:58,230 --> 00:39:58,780 keskel. 974 00:39:58,780 --> 00:40:01,430 Ja see on selline tore, et see selline näeb välja nagu kandiline 975 00:40:01,430 --> 00:40:06,210 nagu ruudud, mis Zamyla on tegelased olemas, et pilt on. 976 00:40:06,210 --> 00:40:09,970 >> Nii et kui ma tegelikult teha selle Nüüd vaatame, mis juhtub. 977 00:40:09,970 --> 00:40:15,190 Tee string 0 dot kaldkriipsuga string 0, ja siis ma olen 978 00:40:15,190 --> 00:40:16,720 ei kavatse tüüpi Zamyla nime. 979 00:40:16,720 --> 00:40:19,428 Ei ole kiire, sest ma ei ole kasuta print f, kuid sellest pole midagi. 980 00:40:19,428 --> 00:40:20,660 Ma lihtsalt tean, mida teha. 981 00:40:20,660 --> 00:40:23,240 Ja tõepoolest, ta prindib välja Zamyla nimi, üks rea kohta. 982 00:40:23,240 --> 00:40:25,760 >> Nüüd on natuke hoolimatu. 983 00:40:25,760 --> 00:40:28,461 Oletame, et ma ei tea umbes strlen ja ma arvasin, 984 00:40:28,461 --> 00:40:31,460 kõik õige, keegi läheb on nimi suurem kui näiteks 50 tähemärki. 985 00:40:31,460 --> 00:40:36,360 Lähme edasi ja kompileerida seda ja korrake seda, ja siis kirjuta Zamyla 986 00:40:36,360 --> 00:40:37,160 uuesti. 987 00:40:37,160 --> 00:40:40,850 Loogiliselt, mida on Programm kavatse proovida trükkida? 988 00:40:40,850 --> 00:40:49,545 Z-A-M-Y-L-A siis nagu 45 teadmata baiti mälu. 989 00:40:49,545 --> 00:40:51,670 Ja tõepoolest, me tuleme tagasi Selle idee mälu. 990 00:40:51,670 --> 00:40:54,180 Aga loogiliselt, kui Zamyla nimi on see pikk, 991 00:40:54,180 --> 00:40:56,450 ühe pildi siin, mida me ütleme 992 00:40:56,450 --> 00:40:59,810 on hoida trükkimine, hoida trükkimine, hoida trükkimine, hoida trükkimine, hoida trükkimine, 993 00:40:59,810 --> 00:41:03,781 kõik viis 50. iseloomu, mis kes teab, mis juhtub. 994 00:41:03,781 --> 00:41:05,030 Nii saab tegelikult vaatleme. 995 00:41:05,030 --> 00:41:06,720 Olgem kirjuta Zamyla. 996 00:41:06,720 --> 00:41:07,250 Huvitavad. 997 00:41:07,250 --> 00:41:08,190 Meil vedas. 998 00:41:08,190 --> 00:41:09,700 Lihtsalt terve hulk tühja ruumi. 999 00:41:09,700 --> 00:41:09,930 Oh. 1000 00:41:09,930 --> 00:41:11,120 Seal on üks funky iseloomu. 1001 00:41:11,120 --> 00:41:14,577 Tundub selline nagu imelik küsimus märgi sinna, kuid seal on Zamyla nime. 1002 00:41:14,577 --> 00:41:15,660 Lähme tõesti hoolimatu. 1003 00:41:15,660 --> 00:41:20,000 Kuidas me välja printida 500 plokid tundmatusse? 1004 00:41:20,000 --> 00:41:24,380 Lähme edasi ja muuta see samuti ja siis uuesti käivitada. 1005 00:41:24,380 --> 00:41:27,980 Ja olgem täisekraanil, sest me peame nägema rohkem ruumi. 1006 00:41:27,980 --> 00:41:30,460 Zamyla. 1007 00:41:30,460 --> 00:41:31,830 Vedas jälle. 1008 00:41:31,830 --> 00:41:33,070 >> Julge saame rohkem hoolimatu? 1009 00:41:33,070 --> 00:41:36,070 Lähme rohkem hoolimatu. 1010 00:41:36,070 --> 00:41:39,350 50000 tähemärki. 1011 00:41:39,350 --> 00:41:41,390 See on kõige kindlasti ei ole hea mõte. 1012 00:41:41,390 --> 00:41:41,890 Hästi. 1013 00:41:41,890 --> 00:41:42,990 Tee string 0. 1014 00:41:42,990 --> 00:41:44,720 See on meie viimane demo. 1015 00:41:44,720 --> 00:41:47,261 Zamyla. 1016 00:41:47,261 --> 00:41:48,632 Ugh. 1017 00:41:48,632 --> 00:41:50,010 Ugh. 1018 00:41:50,010 --> 00:41:50,680 OKEI. 1019 00:41:50,680 --> 00:41:54,407 Nii et minu mälu on tõesti tühi kohe, mis on tegelikult omamoodi mugav. 1020 00:41:54,407 --> 00:41:55,990 Mida ma üritan saada mina-- kõik korras. 1021 00:41:55,990 --> 00:41:57,614 Ja nüüd ma lähen lihtsalt saada hoolimatu. 1022 00:41:57,614 --> 00:41:58,570 500,000. 1023 00:41:58,570 --> 00:42:03,860 Make-- olgem täisekraani ta. 1024 00:42:03,860 --> 00:42:04,990 Sisesta. 1025 00:42:04,990 --> 00:42:05,490 Zamyla. 1026 00:42:05,490 --> 00:42:12,050 1027 00:42:12,050 --> 00:42:13,390 Seal me läheme. 1028 00:42:13,390 --> 00:42:15,610 Mul pole aimugi, mida see on, kuid see kõlab halb. 1029 00:42:15,610 --> 00:42:16,110 Hästi. 1030 00:42:16,110 --> 00:42:20,322 Ja tegelikult, varsti, kui sa oled üks õnnelik vähe tööaega 1031 00:42:20,322 --> 00:42:22,780 ja probleem määrata üks, siis võib väga hästi esineda seda. 1032 00:42:22,780 --> 00:42:25,490 Segmenteerimine süü tegelikult teeb on täpselt määratletud tähenduses. 1033 00:42:25,490 --> 00:42:28,450 See tähendab, mingi viga seotud segmenti mälu. 1034 00:42:28,450 --> 00:42:30,490 Ja üldarusaadavat mõttes, see tähendab, et me puudutanud 1035 00:42:30,490 --> 00:42:34,780 memory-- me kasutasime RAM minu arvuti et ma ei oleks pidanud olema juurdepääs. 1036 00:42:34,780 --> 00:42:37,050 Ja see, mida on nii võimas ja ka ohtlik 1037 00:42:37,050 --> 00:42:39,910 umbes C on see, et sa tegelikult olema piiramatu juurdepääs 1038 00:42:39,910 --> 00:42:45,910 ta kõigile oma programmi mälu või baiti või RAM täpsemalt. 1039 00:42:45,910 --> 00:42:49,510 >> Nii et kuigi Zamyla nimi on ainult kuus tähemärki, 1040 00:42:49,510 --> 00:42:51,450 Ma ei saa ikka kuhugi minna mälu tahan. 1041 00:42:51,450 --> 00:42:53,491 Ja kui kõrvale, kui olete kunagi lugenud mõnda artiklit 1042 00:42:53,491 --> 00:42:55,610 aastate jooksul mõningate server või mõne programmi 1043 00:42:55,610 --> 00:42:58,654 saada pragunenud või häkkinud see on võetakse ära midagi 1044 00:42:58,654 --> 00:43:00,820 nimetatakse buffer overflow ära võime me tegelikult 1045 00:43:00,820 --> 00:43:04,970 rääkida mõne nädala, mis on Üldiselt viitab kuidagi kavaldades 1046 00:43:04,970 --> 00:43:09,090 arvuti sisse läheb hästi piiridest kaugemale mälu 1047 00:43:09,090 --> 00:43:11,410 et see peaks olema, ja leida midagi mahlane 1048 00:43:11,410 --> 00:43:13,530 et memory-- Parooli ehk viis 1049 00:43:13,530 --> 00:43:16,990 möödahiilimiseks mõned seerianumber Kontrollige, või lihtsalt üldiselt võimelised 1050 00:43:16,990 --> 00:43:20,360 trikk Arvuti on kood, mis ei olnud mõeldud. 1051 00:43:20,360 --> 00:43:22,360 Aga tulgem tagasi Tegelikkuses hetkeks 1052 00:43:22,360 --> 00:43:24,550 kus see programm oli rakendada strlen, 1053 00:43:24,550 --> 00:43:26,110 ja tutvustada üks asi siin. 1054 00:43:26,110 --> 00:43:30,030 Mida uut Neist esikolmikusse read? 1055 00:43:30,030 --> 00:43:30,910 >> Nii string dot h. 1056 00:43:30,910 --> 00:43:35,490 Selgub, et see on raamatukogu nimetatakse String Dot H või String raamatukogu 1057 00:43:35,490 --> 00:43:38,490 kelle päisefail, nii-öelda on string dot h, mis annab mulle 1058 00:43:38,490 --> 00:43:40,860 juurdepääsu sellele strlen funktsiooni. 1059 00:43:40,860 --> 00:43:43,841 Kui ma jätta, et koostaja on läheb peale karjuda mingis vormis. 1060 00:43:43,841 --> 00:43:44,590 Aga tead mis? 1061 00:43:44,590 --> 00:43:46,090 Nüüd lähme tõesti nüansirikas. 1062 00:43:46,090 --> 00:43:50,820 Vastavalt 22, seal on midagi sellist of inefficient-- halvasti projekteeritud, 1063 00:43:50,820 --> 00:43:53,990 arguably-- selle rida koodi. 1064 00:43:53,990 --> 00:43:56,280 Mõelge sellele, kuidas for-loop rakendamine 1065 00:43:56,280 --> 00:44:00,140 ja milliseid samme korduda ja uuesti ja again-- vormindamise, 1066 00:44:00,140 --> 00:44:04,110 tingimusel, kood, mis saab täita, siis juurdekasvu 1067 00:44:04,110 --> 00:44:07,880 või muutus, siis tingimusel, siis koodi, siis muutus, siis 1068 00:44:07,880 --> 00:44:11,280 tingimusel, siis kood, Seejärel muutus, ja nii edasi. 1069 00:44:11,280 --> 00:44:15,320 Mis võiks olla natuke murettekitav või halvasti teinud siin? 1070 00:44:15,320 --> 00:44:16,387 Jah, sinine. 1071 00:44:16,387 --> 00:44:18,220 Sihtrühm: strlen on nimetatakse palju, palju kordi. 1072 00:44:18,220 --> 00:44:20,654 1073 00:44:20,654 --> 00:44:21,320 SPEAKER 1: Jah. 1074 00:44:21,320 --> 00:44:23,700 Nii strlen nimetatakse mitu korda, kuid mis on 1075 00:44:23,700 --> 00:44:27,113 pikkus Zamyla oma nime, Esimest korda loop täidab? 1076 00:44:27,113 --> 00:44:27,860 >> Sihtrühm: Kuus. 1077 00:44:27,860 --> 00:44:28,110 >> SPEAKER 1: Kuus. 1078 00:44:28,110 --> 00:44:30,976 Noh, mis on pikkus tema nimi teine ​​kord kood käivitab? 1079 00:44:30,976 --> 00:44:31,432 >> Sihtrühm: Kuus. 1080 00:44:31,432 --> 00:44:31,890 >> SPEAKER 1: Olgu. 1081 00:44:31,890 --> 00:44:32,720 See on ikka kuus. 1082 00:44:32,720 --> 00:44:33,220 Õigus? 1083 00:44:33,220 --> 00:44:35,260 Zarla nime ei ole muutunud, isegi kui ma otsin 1084 00:44:35,260 --> 00:44:38,240 kell ainult osa tähti tema nimi. 1085 00:44:38,240 --> 00:44:41,349 Ja nii, et ma olen tegelikult selle küsimuse, mis on 1086 00:44:41,349 --> 00:44:44,640 pikkus Zamyla, mis on pikkus of Zamyla, mis on pikkus Zamyla, 1087 00:44:44,640 --> 00:44:47,990 kuue eri aegadel, või Seitsme isegi, on lihtsalt loll, 1088 00:44:47,990 --> 00:44:50,390 sest see on muutumatu, et vastus. 1089 00:44:50,390 --> 00:44:53,550 Ja nii ma võiks tegelikult teha on see-- string üks 1090 00:44:53,550 --> 00:44:55,680 Mul on natuke parem versioon siit. 1091 00:44:55,680 --> 00:45:00,110 There-- whoops-- string kaks mul marginaalselt parem variant, kus 1092 00:45:00,110 --> 00:45:05,010 Mina see-- asemel lihtsalt initializing i 0, ma ka komaga 1093 00:45:05,010 --> 00:45:07,990 Kinnitan teise muutuja nimega n-- ma ei pea ütlema, int uuesti. 1094 00:45:07,990 --> 00:45:09,220 Ma ei tohiks tegelikult. 1095 00:45:09,220 --> 00:45:10,380 Aga ma ütlen n. 1096 00:45:10,380 --> 00:45:13,610 Ja siis ma initsialiseerida n strlen n, nii et nüüd 1097 00:45:13,610 --> 00:45:17,110 Mitu korda strlen saada hukati kokku? 1098 00:45:17,110 --> 00:45:17,610 Ainult üks kord. 1099 00:45:17,610 --> 00:45:20,257 Ja nii on see, mida me mõtleme varem, parem disain. 1100 00:45:20,257 --> 00:45:23,090 Tegelikult, kui teie kood on õige, lähen tagasi ja läbi mõelda, 1101 00:45:23,090 --> 00:45:26,820 ma kasutan nii vähe mälu või mõne sekundi 1102 00:45:26,820 --> 00:45:30,409 või millisekundit arvuti ajal võimalik rakendada mingi probleem? 1103 00:45:30,409 --> 00:45:32,200 Ja ma lähen kerida up ja lihtsalt mainida 1104 00:45:32,200 --> 00:45:34,283 et seal on see mainimine null selles versioonis, 1105 00:45:34,283 --> 00:45:36,390 kuid me tuleme tagasi, et enne pikk. 1106 00:45:36,390 --> 00:45:41,010 Sest nüüd, lähme vaatame kell, kus see saab meid. 1107 00:45:41,010 --> 00:45:44,110 Nii et üks, selgub, et Nüüd, kui meil on võime 1108 00:45:44,110 --> 00:45:46,860 vaadata üksikute märkide, saame võimendada midagi 1109 00:45:46,860 --> 00:45:50,807 nädalast 0, mis oli väga kauge ja omamoodi ebahuvitav ajal. 1110 00:45:50,807 --> 00:45:53,390 Aga nüüd, ja eriti siis, kui me saada Krüptograafia nädalas 1111 00:45:53,390 --> 00:45:54,820 see saab olema päris võimas. 1112 00:45:54,820 --> 00:45:57,450 Selgub, et mõned andmed types-- ints ja ujukite 1113 00:45:57,450 --> 00:46:00,300 ja süütab ja stringid ja teiste things-- mõned neist 1114 00:46:00,300 --> 00:46:02,800 saab väga kergesti muundada teiseks. 1115 00:46:02,800 --> 00:46:05,840 >> Näiteks, kui me rääkisime umbes ASCII mõnda aega ago-- siin 1116 00:46:05,840 --> 00:46:07,796 Pealinnas tähtedega A läbi M, dot, dot, 1117 00:46:07,796 --> 00:46:12,530 dot-- me ütlesime, et seal on kaardistamine vahel tähed ja numbrid. 1118 00:46:12,530 --> 00:46:14,970 Ja tegelikult, see kehtib jaoks väiketähti samuti. 1119 00:46:14,970 --> 00:46:17,470 Väiksed tähed a on 97, kapitalile on 65. 1120 00:46:17,470 --> 00:46:20,860 Ja seal on mitmeid ASCII, mis on lihtsalt selle kaardistamine 1121 00:46:20,860 --> 00:46:23,240 süsteemi kõik need muud tähed. 1122 00:46:23,240 --> 00:46:25,030 Mida see tähendab? 1123 00:46:25,030 --> 00:46:28,390 Noh, ma lähen edasi minna ja avatud tõelisi kiiresti midagi, mida nimetatakse 1124 00:46:28,390 --> 00:46:31,240 ASCII 0, millest enamik on kommentaarid. 1125 00:46:31,240 --> 00:46:33,860 Ja taas online saab alati lühidalt läbi kommentaarid. 1126 00:46:33,860 --> 00:46:36,180 >> Ja vaadata, mida see saab seda teha. 1127 00:46:36,180 --> 00:46:38,410 Nii see ju peamine funktsioon. 1128 00:46:38,410 --> 00:46:41,490 Olen kodeeritud numbrid lihtsalt nüüd, sest ma tean, mida ma teen. 1129 00:46:41,490 --> 00:46:42,950 Ma tean, mida ma tahan näha siin. 1130 00:46:42,950 --> 00:46:45,220 Ja ma olen vormindatud I 65. 1131 00:46:45,220 --> 00:46:48,490 Ja ma arvestan üles läbi 26 tähte kokku. 1132 00:46:48,490 --> 00:46:52,990 Ja mida ma nüüd prindi üks rida korraga 1133 00:46:52,990 --> 00:46:54,930 kas saate tõlgendada see esile rida? 1134 00:46:54,930 --> 00:46:55,970 Mis saab trükkida? 1135 00:46:55,970 --> 00:46:56,797 Jah. 1136 00:46:56,797 --> 00:46:57,264 >> Sihtrühm: Kas sa lähed prindi kirjas, et 1137 00:46:57,264 --> 00:46:59,805 vastab kaart kirjas väärtus ja täisarvuni? 1138 00:46:59,805 --> 00:47:01,199 1139 00:47:01,199 --> 00:47:01,990 SPEAKER 1: Täpselt. 1140 00:47:01,990 --> 00:47:04,740 Ma lähen printida kirja vastab täisarvuni, 1141 00:47:04,740 --> 00:47:06,131 ja vastupidi, on järgmine. 1142 00:47:06,131 --> 00:47:08,880 Noh see, et keegi varem ütles, on lihtsalt kohatäide char. 1143 00:47:08,880 --> 00:47:09,490 See ikka on. 1144 00:47:09,490 --> 00:47:12,280 See muidugi on kohatäide jaoks int-- ole uus liin. 1145 00:47:12,280 --> 00:47:18,140 Ja nüüd märkate, minu esimene väärtus, mis Ma ühendades selleks kohatäide 1146 00:47:18,140 --> 00:47:22,320 ei ole lihtsalt I. ma räägin, sulgudes char ma, 1147 00:47:22,320 --> 00:47:26,700 mis Sulgudes char on räägib tõlkija, raviks Ma 1148 00:47:26,700 --> 00:47:28,490 ole suur, nagu ta on, mis on number. 1149 00:47:28,490 --> 00:47:30,490 Treat see tegelik iseloom. 1150 00:47:30,490 --> 00:47:34,490 Arvestades, et teine ​​väärtus Ma kõrvaldamine in-- I-- peaks olema ainult number. 1151 00:47:34,490 --> 00:47:38,140 >> Nii et kui ma koostada selle program-- nii et see on tee ASCII 0, 1152 00:47:38,140 --> 00:47:41,720 dot kaldkriipsuga ASCII 0-- ma lihtsalt saada see mugav väike skeem, mis 1153 00:47:41,720 --> 00:47:44,950 näitab mulle kõiki võimalikke kaardistamisel, ilma et arvan, et see 1154 00:47:44,950 --> 00:47:46,450 läbi või sellest aru saada minu oma. 1155 00:47:46,450 --> 00:47:48,783 Ja ma olen ka välja trükkida, märgata väiketähti, 1156 00:47:48,783 --> 00:47:51,410 sest mõned read hiljem, ma ka välja printida selle kaardistamine 1157 00:47:51,410 --> 00:47:53,737 samuti, mis on lihtsalt öelda, et kui sa mõistad 1158 00:47:53,737 --> 00:47:55,570 mis toimub all kapuuts, sa saad 1159 00:47:55,570 --> 00:47:57,111 automaatselt teisendada edasi ja tagasi. 1160 00:47:57,111 --> 00:48:00,160 Ja tegelikult, kui keegi teist kunagi tegin seda algkool 1161 00:48:00,160 --> 00:48:03,490 või kuulnud keegi müütiline võttes teadmiseks 1162 00:48:03,490 --> 00:48:05,620 ja saata see oma või tema sõber klassis, 1163 00:48:05,620 --> 00:48:08,300 aga sa Segipaisatud tähti näha nii muutub B, 1164 00:48:08,300 --> 00:48:11,240 ja B muutub C, või midagi keerulisem kui see, noh, 1165 00:48:11,240 --> 00:48:13,410 kuidas sa minna rakendamisel, et nagu laps? 1166 00:48:13,410 --> 00:48:16,340 Noh, sa lihtsalt selline tea  saab B, B muutub C, 1167 00:48:16,340 --> 00:48:19,700 kuid matemaatiliselt, Mis see oli poiss teeb? 1168 00:48:19,700 --> 00:48:22,050 Mida sa lisades iga täht? 1169 00:48:22,050 --> 00:48:23,340 Sisuliselt 1. 1170 00:48:23,340 --> 00:48:27,740 >> Nii et kui muudad A B, mis on selline nagu muutuvatele 65-66, 1171 00:48:27,740 --> 00:48:29,590 mis matemaatiliselt tähendab lihtsalt lisada 1. 1172 00:48:29,590 --> 00:48:33,300 Ja nii, kui sa olid rakendada et veidi petlik tehnikat 1173 00:48:33,300 --> 00:48:36,380 Sinu õpetaja koodi, siis Võib teha just nii lihtsalt 1174 00:48:36,380 --> 00:48:38,552 lisades ühe tähe koos. 1175 00:48:38,552 --> 00:48:40,260 Nii et enne pikk, et me oleme näeme, kuidas me 1176 00:48:40,260 --> 00:48:43,300 saab ära, et tegelikult tõeliselt rüselus ja lahti harutama 1177 00:48:43,300 --> 00:48:43,991 informatsiooni. 1178 00:48:43,991 --> 00:48:47,240 Vahepeal teatada, et oleme alustanud tutvustada paar teiste raamatukogude 1179 00:48:47,240 --> 00:48:48,990 siin-- string üks täna. 1180 00:48:48,990 --> 00:48:51,180 Ja väga kasulik sait Loodetavasti leiad 1181 00:48:51,180 --> 00:48:55,010 nimetatakse reference.cs50.net, mis Õppejõudude on kokku pandud, 1182 00:48:55,010 --> 00:48:57,510 nii et kui sa tahad otsida, kuidas strlen tööd, 1183 00:48:57,510 --> 00:48:59,300 võidki kirjutama hakata funktsiooni nime, 1184 00:48:59,300 --> 00:49:02,890 kliki strlen seal, ja siis vähem mugav selgitus 1185 00:49:02,890 --> 00:49:03,700 läheb ilmuda. 1186 00:49:03,700 --> 00:49:06,880 Või kui soovite, et ametnik Linuxi-põhiste selgitus, 1187 00:49:06,880 --> 00:49:08,945 võite klõpsata hubane ülevalt paremalt ja see 1188 00:49:08,945 --> 00:49:12,070 esitab sama teavet, aga keerukamate mõttes. 1189 00:49:12,070 --> 00:49:15,070 See on kasulik ressurss tegelikult tea, mida kõike teeb. 1190 00:49:15,070 --> 00:49:17,320 >> Järgmine kord, kui me läheme heita pilk Ovaltine 1191 00:49:17,320 --> 00:49:20,070 ja rohkem, ja tutvustada ennast maailma krüptograafia. 1192 00:49:20,070 --> 00:49:21,930 Enne seda, et me näeme sa hiljem sel nädalal. 1193 00:49:21,930 --> 00:49:23,390 Ja nüüd, Colton Ogden. 1194 00:49:23,390 --> 00:49:26,730 Kohtumiseni kolmapäeval. 1195 00:49:26,730 --> 00:49:30,216 >> [Muusika mängib] 1196 00:49:30,216 --> 00:49:33,702 >> [Muusika mängib] 1197 00:49:33,702 --> 00:49:38,682 1198 00:49:38,682 --> 00:49:42,200 >> SPEAKER 1: Mis [Piipar] sa teed? 1199 00:49:42,200 --> 00:49:45,720 >> SPEAKER 1: Ma söön oma magustoitu? 1200 00:49:45,720 --> 00:49:47,160 Kuidas sa seda süüa? 1201 00:49:47,160 --> 00:49:47,860 Käega? 1202 00:49:47,860 --> 00:49:54,050 1203 00:49:54,050 --> 00:49:57,940 >> [Muusika mängib] 1204 00:49:57,940 --> 00:50:03,453