1 00:00:00,000 --> 00:00:02,880 >> [Muzikos grojimo] 2 00:00:02,880 --> 00:00:10,580 3 00:00:10,580 --> 00:00:13,500 >> GARSIAKALBIS 1: Tai CS50 ir tai yra dvi savaitės pradžia. 4 00:00:13,500 --> 00:00:18,400 Taigi, galime pasinerti į dešinę kažką tai yra Buggy, taip sakant. 5 00:00:18,400 --> 00:00:24,015 Taigi, štai čia yra CS50 IDE ir aš išrautas iš anksto tai screen-- velniškai 6 00:00:24,015 --> 00:00:25,070 tai. 7 00:00:25,070 --> 00:00:25,760 Spoileris perspėjimas. 8 00:00:25,760 --> 00:00:26,260 Gerai. 9 00:00:26,260 --> 00:00:29,060 Aš iškedentas iki šį ekraną čia kuris yra labai paprastas programą. 10 00:00:29,060 --> 00:00:32,659 Jei mes slinkite žemyn, dauguma tai yra tik komentarai, 11 00:00:32,659 --> 00:00:36,730 bet čia 13 eilučių per 17 mes turime programą. 12 00:00:36,730 --> 00:00:40,580 >> Tai sintaksiškai teisingas, o tai reiškia, jei Aš kaupia, ji bus surinkti ir paleisti, 13 00:00:40,580 --> 00:00:41,920 bet tai Buggy. 14 00:00:41,920 --> 00:00:47,330 Ši programa teigia komentarus iki viršaus, kad jis turėtų spausdinti 10 žvaigždžių, 15 00:00:47,330 --> 00:00:48,870 tačiau taip nėra. 16 00:00:48,870 --> 00:00:53,290 Ir remiantis savo patirtimi, arba netrukus bus patirtis su C, 17 00:00:53,290 --> 00:00:56,820 galite logiškai atskirti kodėl tai, iš tiesų, Buggy? 18 00:00:56,820 --> 00:00:57,804 Taip? 19 00:00:57,804 --> 00:00:59,220 Auditorija: Jis eina nuo nulio iki 10. 20 00:00:59,220 --> 00:01:01,884 Štai 11 iteracijų. 21 00:01:01,884 --> 00:01:02,550 GARSIAKALBIS 1: Taip. 22 00:01:02,550 --> 00:01:06,030 Taigi, tai vyksta nuo nulio iki per ir lygi 10, 23 00:01:06,030 --> 00:01:08,140 kuris, žinoma, yra 11 iteracijų. 24 00:01:08,140 --> 00:01:10,020 Taigi, jis ketina Spausdinti tiesų, 11 žvaigždės. 25 00:01:10,020 --> 00:01:13,040 Taigi, kompiuterių mokslas konvencija daugeliu programavimo kalbų 26 00:01:13,040 --> 00:01:15,270 yra, iš tiesų, tik pradėti skaičiuoti nuo nulio, 27 00:01:15,270 --> 00:01:18,800 bet suskaičiuoti iki, bet ne per vertė, kad jūs iš tikrųjų rūpi. 28 00:01:18,800 --> 00:01:21,216 >> Dabar, tai yra vienas dalykas, kad užtrunka šiek tiek priprasti prie 29 00:01:21,216 --> 00:01:25,350 ir net "Scratch, skirta, kaip ji yra už ne programuotojų ar ne kompiuteryje 30 00:01:25,350 --> 00:01:28,070 mokslininkai ir vaikams esmės, yra skirta turėti 31 00:01:28,070 --> 00:01:29,570 Jums pradėti skaičiuoti paprastai ne vienas. 32 00:01:29,570 --> 00:01:30,277 Ir tai gerai. 33 00:01:30,277 --> 00:01:33,110 Jūs galite visiškai pradėti skaičiuoti bent vienas, jei tai patogiau. 34 00:01:33,110 --> 00:01:37,210 Ir suskaičiuoti ir per 10, bet Jums ypač suprasite šią savaitę 35 00:01:37,210 --> 00:01:39,950 ir už jos ribų, kad tiesiog taip daug dalykų, programavimas 36 00:01:39,950 --> 00:01:42,465 manyti, kad 0 yra pirmasis skaitmenų su kuria jūs tikėtis, 37 00:01:42,465 --> 00:01:45,590 kad jūs ketinate rasti lengviau tik patekti į šio įpročio pradžios 38 00:01:45,590 --> 00:01:49,490 nuo nulio ir skaičiuoja iki vertę jums rūpi dabar nuo 39 00:01:49,490 --> 00:01:49,990 gauti eiti. 40 00:01:49,990 --> 00:01:50,990 >> Taigi, tai yra nustačiusi, kad. 41 00:01:50,990 --> 00:01:53,670 Mes pakeistas mažiau negu arba lygus tik mažiau nei. 42 00:01:53,670 --> 00:01:56,050 Paimkime pažvelgti antras pavyzdys čia. 43 00:01:56,050 --> 00:01:59,585 >> Taigi, ši programa taip pat teigia, jos komentarai iki viršaus, kad jis turėtų spausdinti 44 00:01:59,585 --> 00:02:02,260 dešimt žvaigždės, bet ji nėra. 45 00:02:02,260 --> 00:02:05,540 Koks klaidą čia? 46 00:02:05,540 --> 00:02:07,930 >> Taigi, what-- ir gaila, būkime aišku. 47 00:02:07,930 --> 00:02:08,610 10 žvaigždžių. 48 00:02:08,610 --> 00:02:11,644 Vienas eilutėje, bet taip nėra. 49 00:02:11,644 --> 00:02:14,810 Taigi, iš tiesų, leiskite man eiti į priekį ir kaupia tai vienas, nes tai šiek tiek mažiau 50 00:02:14,810 --> 00:02:16,900 išvalyti remiantis tuo aprašymu. 51 00:02:16,900 --> 00:02:18,720 Leiskite man eiti į mūsų šaltinio katalogą. 52 00:02:18,720 --> 00:02:25,110 Padaryti Buggy vieną dot velniop, Buggy vieną. 53 00:02:25,110 --> 00:02:28,680 Gerai, matau 11 žvaigždžių, kurios vis dar yra problemiškas, 54 00:02:28,680 --> 00:02:30,090 bet jie taip pat viskas vienoje eilutėje. 55 00:02:30,090 --> 00:02:31,500 Koks klausimas čia? 56 00:02:31,500 --> 00:02:32,339 Taip. 57 00:02:32,339 --> 00:02:33,255 Auditorija: [nesigirdi]. 58 00:02:33,255 --> 00:02:36,194 59 00:02:36,194 --> 00:02:36,860 GARSIAKALBIS 1: Taip. 60 00:02:36,860 --> 00:02:40,210 Taigi tai yra subtilumas, kad jums gali prisiminti mane padaryti trumpą paminėti. 61 00:02:40,210 --> 00:02:42,793 Nors viskas atrodo gražus, ir jis gražiai atitraukiama, 62 00:02:42,793 --> 00:02:45,850 ir tai rūšies atrodo įbrėžimams kaip toje linija 16 ir 17 yra, 63 00:02:45,850 --> 00:02:47,600 Iš tiesų, įspaudžiami pagal kad kilpa. 64 00:02:47,600 --> 00:02:48,400 Štai nereikšmingas. 65 00:02:48,400 --> 00:02:50,460 Kompiuteris nėra žino ar pamatyti baltą erdvę. 66 00:02:50,460 --> 00:02:52,910 Balta erdvė yra tik mums žmonėms, stilistiškai. 67 00:02:52,910 --> 00:02:57,010 Kompiuteris neturi žinoti, jei turite garbanotas petnešos, kuri, tiesą sakant, 68 00:02:57,010 --> 00:02:58,280 išspręsti šią problemą. 69 00:02:58,280 --> 00:03:02,350 >> Taigi, jei mes iš tikrųjų įėjo ir aiškiai pateikti šių klamrami 70 00:03:02,350 --> 00:03:05,220 kad būtų išspręsti šią problemą priėmimo aišku, sudarytojas 71 00:03:05,220 --> 00:03:07,930 kad aš iš tikrųjų norite vykdyti dvi eilutes kodo vėl, 72 00:03:07,930 --> 00:03:09,220 ir vėl, ir vėl. 73 00:03:09,220 --> 00:03:11,680 Bet kas pagrindinis paaiškinimas? 74 00:03:11,680 --> 00:03:12,180 Teisė? 75 00:03:12,180 --> 00:03:15,260 Mes neturime griežtai reikia garbanotas petnešos visą laiką, 76 00:03:15,260 --> 00:03:18,210 nors tai turbūt geriausia praktika patekti į tą įpročio vistiek 77 00:03:18,210 --> 00:03:20,878 nors ji priduria, du simbolių kodą. kodėl? 78 00:03:20,878 --> 00:03:22,380 >> Auditorija: [nesigirdi]? 79 00:03:22,380 --> 00:03:24,630 GARSIAKALBIS 1: Taip taip, tai Kitas sprendimas apskritai. 80 00:03:24,630 --> 00:03:25,130 Teisė? 81 00:03:25,130 --> 00:03:28,250 Ypač, jei iš pirmo žvilgsnio jūs neturite tikrai vertiname tai, kas vyksta. 82 00:03:28,250 --> 00:03:31,070 Na, be abejo, mes galime tiesiog padaryti du dalykus vienu metu 83 00:03:31,070 --> 00:03:32,710 ir tik išvengti problemų apskritai. 84 00:03:32,710 --> 00:03:36,080 Ir tai gerai, bet dabar, šiandienos reikmėms, ką 85 00:03:36,080 --> 00:03:38,200 yra už klaidą paaiškinimui? 86 00:03:38,200 --> 00:03:39,810 Kodėl buvo visi tie žvaigždžių vienoje eilutėje? 87 00:03:39,810 --> 00:03:40,806 Taip? 88 00:03:40,806 --> 00:03:43,296 >> Auditorija: Atrodo, kad jei turite vieną eilutę kodo, 89 00:03:43,296 --> 00:03:46,649 Jūs galite padaryti be tų ją. 90 00:03:46,649 --> 00:03:47,440 GARSIAKALBIS 1: Būtent. 91 00:03:47,440 --> 00:03:48,750 Tai tik žmogaus konvencija. 92 00:03:48,750 --> 00:03:50,750 Žmonės supranta, kad tai yra tiek erzina ar nuobodų 93 00:03:50,750 --> 00:03:53,470 turėti įdėti garbanotas petnešos visi laiko, jei viską, ką nori daryti 94 00:03:53,470 --> 00:03:55,090 yra įvykdyti vieną eilutę kodo. 95 00:03:55,090 --> 00:03:57,660 Taigi, žmonės nusprendė kai seniai, kad tai gerai. 96 00:03:57,660 --> 00:04:01,180 Jei norite įdėti visus savo kilpa nuo tik, kad vienoje eilutėje, kaip šis, 97 00:04:01,180 --> 00:04:04,030 tai gerai su vieno Semikols pabaigoje. 98 00:04:04,030 --> 00:04:07,210 Bet jūs galite padaryti tik vienas toks linija be klamrami. 99 00:04:07,210 --> 00:04:09,900 >> Taigi, kai CS50 stiliaus gidas kaip jums nurodyti, 100 00:04:09,900 --> 00:04:11,980 pamatysite, kad paprastai jis yra geras įprotis 101 00:04:11,980 --> 00:04:14,920 patekti į šį kol būsite gana patogus zabladzenia 102 00:04:14,920 --> 00:04:17,404 iš šių konvencijų rūšių ir daro savo dalyką. 103 00:04:17,404 --> 00:04:18,820 Taigi, kol jūs esate savarankiškai nuoseklūs. 104 00:04:18,820 --> 00:04:21,540 Ir mes kalbame daugiau apie stilius šiek tiek vėliau ir šiandien. 105 00:04:21,540 --> 00:04:23,200 >> Taigi, leiskite man atverti vieną kitą programą. 106 00:04:23,200 --> 00:04:24,930 Žinoma, mes turėtume nustatyti, kad 10 taip pat. 107 00:04:24,930 --> 00:04:32,470 Leiskite man eiti į priekį ir rašyti realus Greita programa, kad aš kviesiu, 108 00:04:32,470 --> 00:04:38,140 tarkim, kilpa dot C. Taigi, kilpa dot C. Ir kilpos dot C Aš ruošiuosi, 109 00:04:38,140 --> 00:04:41,970 apima standartinį I / O taškas O int main negaliojančiu. 110 00:04:41,970 --> 00:04:44,020 O dabar tegul tiesiog padaryti, iš tiesų, kilpa. 111 00:04:44,020 --> 00:04:46,020 Taigi, 4 int i gauna nulis. 112 00:04:46,020 --> 00:04:48,660 I yra mažiau nei, tarkim, 50. 113 00:04:48,660 --> 00:04:49,950 Aš pliusas, pliusas. 114 00:04:49,950 --> 00:04:53,350 Ir tada čia tegul eiti į priekį ir daryti Spausdinimo F. 115 00:04:53,350 --> 00:04:56,400 Ir tada aš noriu spausdinti I ir nauja linija, kabliataškis. 116 00:04:56,400 --> 00:05:00,015 >> Ir tai turėtų spausdinti visus numeriai nuo nulio iki 50? 117 00:05:00,015 --> 00:05:02,900 118 00:05:02,900 --> 00:05:03,680 Keletas galva linkteli. 119 00:05:03,680 --> 00:05:04,270 Keletas nr. 120 00:05:04,270 --> 00:05:05,339 Kas jau klaidą? 121 00:05:05,339 --> 00:05:06,630 Kas lengva klaida padariau? 122 00:05:06,630 --> 00:05:07,170 Taip. 123 00:05:07,170 --> 00:05:08,544 >> Auditorija: [nesigirdi]. 124 00:05:08,544 --> 00:05:09,210 GARSIAKALBIS 1: Taip. 125 00:05:09,210 --> 00:05:11,520 Taigi, nors ji atrodo kaip tai, ką ketinu, 126 00:05:11,520 --> 00:05:13,920 Primename, kad aš taip pat tik ASCII simbolių. 127 00:05:13,920 --> 00:05:14,955 >> Taigi, jei aš sakau, spausdinti "I." 128 00:05:14,955 --> 00:05:16,670 Jis tiesiog vyksta spausdinti I. Taigi, jei aš 129 00:05:16,670 --> 00:05:20,030 noriu plug-in rezervuota vieta vertė Aš iš tikrųjų reikia tai padaryti 130 00:05:20,030 --> 00:05:22,630 ir tada plug-į I vertė, dinamiškai. 131 00:05:22,630 --> 00:05:25,200 Priešingu atveju aš tik ketina gauti 50 I "ekrane. 132 00:05:25,200 --> 00:05:28,140 >> Taigi, leiskite man eiti į priekį ir padaryti šį ciklą, paleiskite jį, 133 00:05:28,140 --> 00:05:30,650 ir, tiesą sakant, mes visi kelią iki per 49. 134 00:05:30,650 --> 00:05:34,140 Ir jei aš slinkti atgal laiku matau skaičius nulis pradžioje. 135 00:05:34,140 --> 00:05:36,050 >> Na, ką daryti, jei aš tipo susukti? 136 00:05:36,050 --> 00:05:37,800 Ką daryti, jei aš tai padaryti? 137 00:05:37,800 --> 00:05:40,120 Tiesiog todėl, kad aš ne galvoti. 138 00:05:40,120 --> 00:05:40,970 Kas tai programa. 139 00:05:40,970 --> 00:05:43,970 Kai iš naujo surinkti ir paleisti, ketina daryti logiškai? 140 00:05:43,970 --> 00:05:44,870 >> Auditorija: Nieko. 141 00:05:44,870 --> 00:05:45,661 >> GARSIAKALBIS 1: Nieko. 142 00:05:45,661 --> 00:05:47,156 Kodėl taip yra? 143 00:05:47,156 --> 00:05:49,124 >> AUDITORIJA: I yra skirtas nulio. 144 00:05:49,124 --> 00:05:51,899 Taigi, ši sąlyga yra klaidinga. 145 00:05:51,899 --> 00:05:52,940 GARSIAKALBIS 1: Taip, tiksliai. 146 00:05:52,940 --> 00:05:55,110 Visa kodas yra teisingas, sintaksiškai. 147 00:05:55,110 --> 00:05:57,310 Tai bus surinkti, šis kodas veiks, tačiau tai nėra 148 00:05:57,310 --> 00:06:00,110 ketina nieko naudingo padaryti nes aš inicijuoti Aš iki nulio. 149 00:06:00,110 --> 00:06:02,240 Mes tada patikrinkite, ar aš didesnis nei 50? 150 00:06:02,240 --> 00:06:03,810 Akivaizdu, kad ne, tai ne. 151 00:06:03,810 --> 00:06:05,760 Taigi kilpa niekada vykdo ne visiems. 152 00:06:05,760 --> 00:06:09,580 >> Ką daryti, jei mes darome ką nors šiek tiek daugiau beatodairiškai? 153 00:06:09,580 --> 00:06:12,890 Taigi, ką daryti, jei mes darome, kaip int i gauna nulis. 154 00:06:12,890 --> 00:06:15,640 O dabar leiskite naudoti kol kilpa, kuri buvo dar sąlyga. 155 00:06:15,640 --> 00:06:21,810 Ir o aš pasakyti, o I yra didesnis nei arba lygus nuliui, ir tada čia aš 156 00:06:21,810 --> 00:06:26,070 eiti į priekį ir išsaugoti failą, kad kilpa. 157 00:06:26,070 --> 00:06:27,070 Ir aš apie jį paleisti. 158 00:06:27,070 --> 00:06:30,230 Ką aš ketinu tai pamatyti laikas su while cikle? 159 00:06:30,230 --> 00:06:30,852 Taip. 160 00:06:30,852 --> 00:06:32,120 >> Auditorija: Begalinis kilpa? 161 00:06:32,120 --> 00:06:35,360 >> GARSIAKALBIS 1: Begalinis kilpa? 162 00:06:35,360 --> 00:06:36,662 Taip, ir kodėl? 163 00:06:36,662 --> 00:06:38,120 Auditorija: Nes tai visada lygi nuliui. 164 00:06:38,120 --> 00:06:38,786 GARSIAKALBIS 1: Taip. 165 00:06:38,786 --> 00:06:40,100 Taigi, aš yra inicializuoti kaip nulis. 166 00:06:40,100 --> 00:06:44,470 Žinoma, aš visada didesnis nei arba lygus 0, kaip rezultatas. 167 00:06:44,470 --> 00:06:46,460 Taigi, aš tik ketina pamatyti tai be galo. 168 00:06:46,460 --> 00:06:49,850 Ir dabar, tai atėjo kartą arba du kartus į kursą anketa galvų. 169 00:06:49,850 --> 00:06:52,417 Kas atsitinka, kai jūs turėti begalinį ciklą? 170 00:06:52,417 --> 00:06:53,314 >> Auditorija: Valdymo C. 171 00:06:53,314 --> 00:06:53,980 GARSIAKALBIS 1: Taip. 172 00:06:53,980 --> 00:06:56,250 Taigi Valdymo C ilgainiui reaguoti. 173 00:06:56,250 --> 00:06:59,520 Deja, mes išspausdinti milijonai ir milijonai nuliais jau 174 00:06:59,520 --> 00:07:01,520 ir kad kompiuteris turi rūšies gavo prieš mane. 175 00:07:01,520 --> 00:07:03,394 Taigi, jis ketina ignoruoti man už truputį. 176 00:07:03,394 --> 00:07:06,560 Bet jei jūs tiesiog paspauskite Control C nedaugelis kartų jūsų Mac arba PC klaviatūra, 177 00:07:06,560 --> 00:07:08,790 galiausiai jis turėtų išties nutraukti. 178 00:07:08,790 --> 00:07:11,770 O jei ne, mes jums parodyti kai metodai prieš ilgas, kur jūs 179 00:07:11,770 --> 00:07:14,850 iš tikrųjų gali priverstinai žudyti programas, panašiai kaip Windows ir Mac OS, 180 00:07:14,850 --> 00:07:15,562 jei reikia. 181 00:07:15,562 --> 00:07:16,770 Bet pabandykime ką nors kita. 182 00:07:16,770 --> 00:07:19,895 Leiskite tikrųjų prieaugio I. Ar tai vis dar bus begalinis? 183 00:07:19,895 --> 00:07:22,870 184 00:07:22,870 --> 00:07:25,140 Leiskite paleisti tai. 185 00:07:25,140 --> 00:07:27,090 Ir dabar jūs galite rūšies pamatyti, kas vyksta. 186 00:07:27,090 --> 00:07:30,140 Tai taip pat yra begalinis ciklas. 187 00:07:30,140 --> 00:07:33,080 Bet tai yra triukas klausimą tiek. 188 00:07:33,080 --> 00:07:35,460 Ar tai spausdinti numerius amžinai? 189 00:07:35,460 --> 00:07:36,647 >> AUDITORIJA: Ne 190 00:07:36,647 --> 00:07:37,230 GARSIAKALBIS 1: Ne 191 00:07:37,230 --> 00:07:37,620 Kodėl? 192 00:07:37,620 --> 00:07:38,820 Aš girdėjau kai nos čia. 193 00:07:38,820 --> 00:07:41,859 Someone-- Taip. 194 00:07:41,859 --> 00:07:44,275 Auditorija: Jūs neturite pakankamai bitai tikrai nesustoti. 195 00:07:44,275 --> 00:07:44,730 GARSIAKALBIS 1: Gerai. 196 00:07:44,730 --> 00:07:46,000 Taigi aš neturiu pakankamai bitai nesustoti. 197 00:07:46,000 --> 00:07:47,124 Taigi, kas nutiks? 198 00:07:47,124 --> 00:07:49,320 Tai tiesiog ketina sustabdyti? 199 00:07:49,320 --> 00:07:52,542 >> Auditorija: Tam tikru momentu ji bus uždaryta the-- 200 00:07:52,542 --> 00:07:54,500 GARSIAKALBIS 1: Ji bus uždaryta kilpa žemyn, bet kodėl? 201 00:07:54,500 --> 00:07:57,950 Kas nutiks ne labai galas jos ribų? 202 00:07:57,950 --> 00:07:58,479 Taip? 203 00:07:58,479 --> 00:08:00,520 Auditorija: Tai bus ciklas Atgal į neigiamus skaičius. 204 00:08:00,520 --> 00:08:02,900 GARSIAKALBIS 1: neigiamų skaičių, arba jei mes buvome tik gydant teigiamas, 205 00:08:02,900 --> 00:08:03,570 nulis bent. 206 00:08:03,570 --> 00:08:04,550 Taigi taip, absoliučiai. 207 00:08:04,550 --> 00:08:08,059 Prisiminkite, kad mes matėme paskutinį kartą, kad jei prieaugio jūsų bitai vienas per daug kartų, 208 00:08:08,059 --> 00:08:10,225 ir jūs Yra priekinės perpildymo Jūsų int talpa 209 00:08:10,225 --> 00:08:13,058 ar kas duomenų tipas yra, jūs esate vyksta į kuriuos vyniojami aplink, tikriausiai, 210 00:08:13,058 --> 00:08:14,020 du neigiamus skaičius. 211 00:08:14,020 --> 00:08:16,644 Arba, jei jūs nustatyti, kad jūsų diapazonas turėtų būti tik teigiamas, 212 00:08:16,644 --> 00:08:18,560 kuriuos galite padaryti, bet mes nematėme, kad dar, 213 00:08:18,560 --> 00:08:21,420 galite baigti bent atgal nulio. 214 00:08:21,420 --> 00:08:22,410 Nors, iš tikrųjų taip. 215 00:08:22,410 --> 00:08:24,320 Šiuo atveju, neigiamas numeriai, tokiu atveju 216 00:08:24,320 --> 00:08:26,870 kilpa ketina nutraukti nes aš yra ne, iš tikrųjų, 217 00:08:26,870 --> 00:08:29,220 didesnis nei arba lygus nulis, jei jis neigiamas. 218 00:08:29,220 --> 00:08:31,780 >> Taigi, deja, kaip seniai būtų turime laukti? 219 00:08:31,780 --> 00:08:35,490 Šiuo metu mes iki ką, 2 mln ish? 220 00:08:35,490 --> 00:08:37,705 Mes esame kaip 2 mlrd, mes ketiname teks palaukti 221 00:08:37,705 --> 00:08:39,330 kol mes iš tikrųjų galite pamatyti šį simptomą. 222 00:08:39,330 --> 00:08:46,200 Tačiau mes galime pamatyti šiek tiek greičiau, maybe-- pažiūrėkime, jei mes galime nutraukti. 223 00:08:46,200 --> 00:08:46,700 Nagi. 224 00:08:46,700 --> 00:08:49,500 225 00:08:49,500 --> 00:08:51,331 Net meniu rodomi lėtai. 226 00:08:51,331 --> 00:08:51,830 Gerai. 227 00:08:51,830 --> 00:08:54,270 Taigi, mes grįžti į, kad iki ilgai. 228 00:08:54,270 --> 00:08:56,320 Tai geras LAIKĄ_ damn tai, šuniukai. 229 00:08:56,320 --> 00:08:58,280 >> Tai geras laikas kai pranešimai. 230 00:08:58,280 --> 00:09:01,225 Taigi, jei jums gali patikti verstis YHack, 231 00:09:01,225 --> 00:09:03,600 kuris įvykis yra rėmė mūsų draugais Jeilio. 232 00:09:03,600 --> 00:09:05,990 Ir, tiesą sakant, kai kurie iš aikštyno TFS Jeilio yra susiję su šiuo. 233 00:09:05,990 --> 00:09:08,610 YHack yra tarptautinė Hack-a-Thon surengė ir surengė 234 00:09:08,610 --> 00:09:12,395 Jeilio, suburiant 1500 panašiai mąstančių įsilaužėlių ir skelbimų visais 235 00:09:12,395 --> 00:09:13,120 visame pasaulyje. 236 00:09:13,120 --> 00:09:14,610 Jei tai yra interesų, Pažiūrėk čia. 237 00:09:14,610 --> 00:09:17,401 Jei tai yra pernelyg trumpai dėl ekranas, pažiūrėtų į šiandienos skaidrių išvaizdą 238 00:09:17,401 --> 00:09:19,622 už paraiškos yhack.org URL. 239 00:09:19,622 --> 00:09:21,080 Taigi, taip pat keletas greitų skelbimai. 240 00:09:21,080 --> 00:09:24,410 Taigi, oficialiai skyriai pradės Kitą savaitę tiek čia ir New Haven. 241 00:09:24,410 --> 00:09:27,660 Turėkite omenyje, jums reikia gauti siųsti vėliau šį savaitgalį greičiausiai. 242 00:09:27,660 --> 00:09:29,390 Tai užima daug laiko už CS50 skyriuje, 243 00:09:29,390 --> 00:09:32,080 Atsižvelgiant į visus Tautai klasė ir visi juda. 244 00:09:32,080 --> 00:09:34,871 Ir visi Mokymo Fellows " tvarkaraščiai, taip pat vis dar kietinant, 245 00:09:34,871 --> 00:09:38,110 bet laukite elektroniniu paštu ir, jei reikia būti, galite iš naujo skyrių ten po. 246 00:09:38,110 --> 00:09:39,580 >> Study.cs50.net. 247 00:09:39,580 --> 00:09:43,280 Taigi, net jei esate pastovus dalyvis ne skyriuose, reikia suprasti, kad beveik visi 248 00:09:43,280 --> 00:09:46,786 išteklių mes naudojame skirsniuose yra viešai prieinama CS50 249 00:09:46,786 --> 00:09:48,460 Studijų šiuo URL čia. 250 00:09:48,460 --> 00:09:51,630 Taigi, jei jūs kada nors norėtumėte naujo peržiūra medžiaga, iš dalies arba skaityti į priekį, 251 00:09:51,630 --> 00:09:54,170 arba jūs negalite padaryti jį šiek tiek savaitę Suprantu, kad imties skaidres, 252 00:09:54,170 --> 00:09:58,210 ir problemos, ir apibrėžtys, ir dar daugiau, visi yra ten, taip pat. 253 00:09:58,210 --> 00:10:00,645 >> Darbo valandos vėl šiandien ir rytoj, ir trečiadienį, 254 00:10:00,645 --> 00:10:03,020 ir ketvirtadienį patikrinkite aikštyno svetainė grafiką. 255 00:10:03,020 --> 00:10:05,690 >> Ir taip pat, dabar pradeda šiandien yra CS50 Aptarti. 256 00:10:05,690 --> 00:10:09,230 Taigi, jei ir kai jūs turite klausimų dėl vienas su kitu arba už kursą darbuotojų, 257 00:10:09,230 --> 00:10:12,099 ir bendrai yra darbo dėl kai kurių problemų rinkinys, 258 00:10:12,099 --> 00:10:15,015 suprasti, kad jūs nebūtinai turi kreiptis į kitą jums žmogaus. 259 00:10:15,015 --> 00:10:17,810 Jei yra, niekas ten, jūs galite pasiekti, kad mūsų ir klasiokų 260 00:10:17,810 --> 00:10:19,890 internetu per CS50 Aptarti. 261 00:10:19,890 --> 00:10:22,600 Taigi, tai yra aptarimas lenta, žinoma, 262 00:10:22,600 --> 00:10:24,550 ir suprasti, kad tai yra galbūt geriausias 263 00:10:24,550 --> 00:10:28,480 vieta pradėti, kai jūs turite klausimai, kai už darbo valandų 264 00:10:28,480 --> 00:10:29,470 ypač. 265 00:10:29,470 --> 00:10:31,070 >> Pietūs bus pradėti šią savaitę taip pat. 266 00:10:31,070 --> 00:10:33,170 Tuo Ugnies ir ledo [Nesigirdi] New Haven. 267 00:10:33,170 --> 00:10:35,379 Žiūrėkite kursas išvaizdą interneto svetainę, siekiant atsakyti. 268 00:10:35,379 --> 00:10:36,753 Pirmas atėjai, pirmas tarnauti už tai. 269 00:10:36,753 --> 00:10:39,380 Jei jums nereikia gauti šią savaitę mes padarysime tai dauguma kiekvieną penktadienį 270 00:10:39,380 --> 00:10:40,400 per laikotarpį. 271 00:10:40,400 --> 00:10:41,830 >> Gerai, dabar žodžio apie rūšiavimo. 272 00:10:41,830 --> 00:10:44,690 Ypač, kaip mes įvesti problema nustatyti vieną, kuris yra iš šią savaitę, 273 00:10:44,690 --> 00:10:46,670 ir problema nustatyti du ir po to. 274 00:10:46,670 --> 00:10:51,680 Kaip mes eiti apie vertinimo P rinkiniai ir įvertinti jų kokybę? 275 00:10:51,680 --> 00:10:55,560 Taigi, tai keturios ašys, kad mes naudojame CS50, ir jie šių keturių čia. 276 00:10:55,560 --> 00:10:59,200 >> Taikymo sritis, kuri fiksuoja skaitinę pagrindas, kiek daug iš P rinkinys 277 00:10:59,200 --> 00:10:59,860 tu spręsti. 278 00:10:59,860 --> 00:11:02,890 Tai maždaug atitinka pastangų, ir tai mūsų būdas užfiksuoti 279 00:11:02,890 --> 00:11:05,190 Ar bandėte pusė P nustatyti, visi iš P rinkinį. 280 00:11:05,190 --> 00:11:08,860 Tai lengva gauti tobula balai, jei jūs darote, iš tiesų, 281 00:11:08,860 --> 00:11:11,020 pabandykite kiekvieną P rinkinys aspektą. 282 00:11:11,020 --> 00:11:12,010 Taigi, keep that in mind. 283 00:11:12,010 --> 00:11:13,420 >> Teisingumas yra būtent tai. 284 00:11:13,420 --> 00:11:17,760 Ar jūsų kodas darbą, kaip specifikacijos Ir kaip štabų "mėginio tirpalo 285 00:11:17,760 --> 00:11:19,730 rodo, kad jūsų kodas turėtų, iš tikrųjų, veikia. 286 00:11:19,730 --> 00:11:23,260 Patikrinkite 50, jei nėra įvykdytos ją dar yra P nustatyti vieną specifikacija 287 00:11:23,260 --> 00:11:25,060 ir paprastai jums taip / ne atsakymų 288 00:11:25,060 --> 00:11:26,518 , ar jūsų kodas yra teisinga. 289 00:11:26,518 --> 00:11:30,680 Bent tiek, kiek mes ketiname įvertinti ją, remiantis bandymų 290 00:11:30,680 --> 00:11:32,430 kad mes paleisti per tą programą. 291 00:11:32,430 --> 00:11:33,850 >> Dizainas yra daug daugiau subjektyvus. 292 00:11:33,850 --> 00:11:35,994 Tai kaip gerai parašyta jūsų kodą. 293 00:11:35,994 --> 00:11:38,410 Ir tai yra kažkas, kad Jūs gausite geriau laikui bėgant, 294 00:11:38,410 --> 00:11:41,201 ir tai kažkas, kad mes suteikti daugiau kokybišką grįžtamąją informaciją apie. 295 00:11:41,201 --> 00:11:43,350 Ir dizainas galėčiau reiškia prieš ilgai jūs 296 00:11:43,350 --> 00:11:47,650 gali būti linkusios kai P nustatyti ką nors padaryti loopingly, 297 00:11:47,650 --> 00:11:51,590 bet turi gal trys ar keturi, arba penki įdėtos priekines kilpos ar įdėtos, o 298 00:11:51,590 --> 00:11:52,090 kilpų. 299 00:11:52,090 --> 00:11:54,130 Kurie paprastai turi pradėti jums šliaužioti 300 00:11:54,130 --> 00:11:56,070 ir būtų paprastai laikoma blogo dizaino. 301 00:11:56,070 --> 00:11:59,490 Ir jūs pradėsite matyti klasėje iš klasės gerų būdų, kaip daryti dalykus, 302 00:11:59,490 --> 00:12:02,920 blogi keliai daryti dalykus, kurie gali visi būti teisinga, bet ne 303 00:12:02,920 --> 00:12:04,304 nebūtinai gerai suprojektuoti. 304 00:12:04,304 --> 00:12:05,220 Kaip rašyti rašinį. 305 00:12:05,220 --> 00:12:08,100 Jums gali būti suteikta galimybė įdėti žodžius ant puslapis, kuris yra gramatiškai teisingi, 306 00:12:08,100 --> 00:12:10,016 bet esė arba darbas jie į tai tik 307 00:12:10,016 --> 00:12:11,810 visiškai nenuoseklūs ar atžvilgiu turi būti netaikomas. 308 00:12:11,810 --> 00:12:15,930 Ir taip, kad galėtų būti analogas parašyta pasaulis blogas ar geras dizainas. 309 00:12:15,930 --> 00:12:18,490 >> Ir stilius, taip pat, yra gana subjektyvus. 310 00:12:18,490 --> 00:12:20,060 Bet bent jau mes tikimės, nuoseklumą. 311 00:12:20,060 --> 00:12:21,480 Tai kaip gana Jūsų kodas. 312 00:12:21,480 --> 00:12:22,840 Yra dalykų, gražiai atitraukiama? 313 00:12:22,840 --> 00:12:26,600 Ar jūsų kintamieji gerai pavadintas / Ar visi Jūsų skliausteliuose ir klamrami 314 00:12:26,600 --> 00:12:27,920 suderinta, kaip jie turėtų būti? 315 00:12:27,920 --> 00:12:31,490 Mes turime CS50 stiliaus vadovas, problema rinkinys nukreips jus ne. 316 00:12:31,490 --> 00:12:33,730 Tie, patogesnis yra kviečiame nuklysti nuo 317 00:12:33,730 --> 00:12:35,771 tol, kol esate savarankiškai nuoseklūs. 318 00:12:35,771 --> 00:12:38,020 Ir tai irgi yra pamoka mes sustiprinti skyriuje. 319 00:12:38,020 --> 00:12:40,990 Taigi, jei visa tai buvo šiek tiek greitai, suprasti, P rinkinys ir skyriai 320 00:12:40,990 --> 00:12:42,900 eisiu į daugiau gylio prieš ilgas. 321 00:12:42,900 --> 00:12:45,490 >> Tačiau paprastai mes turime labai mažai kaušai CS50. 322 00:12:45,490 --> 00:12:48,170 Natos yra paprastai tokiu mastu, nuo vieno iki trijų, arba nuo vieno iki penkių. 323 00:12:48,170 --> 00:12:50,836 Mes literally-- ir aš negaliu pasakyti tai pakankamai per pirmą savaitę. 324 00:12:50,836 --> 00:12:51,582 Trys yra gera. 325 00:12:51,582 --> 00:12:54,290 Taigi, nors, taip, trys iš penkių paprastai matematiškai, 326 00:12:54,290 --> 00:12:57,240 gali būti 60 procentų, arba kaip D minus. 327 00:12:57,240 --> 00:12:58,840 Trys yra, iš tikrųjų, gerai. 328 00:12:58,840 --> 00:13:01,050 Ir, tiesą sakant, mes tikimės dauguma studentų į klasę 329 00:13:01,050 --> 00:13:04,280 pradėti nuo terminą aplink poromis, ir trise ir Fours. 330 00:13:04,280 --> 00:13:05,510 Tikriausiai ne tiek daug Five. 331 00:13:05,510 --> 00:13:06,661 Ne per daug tie. 332 00:13:06,661 --> 00:13:08,910 Bet apskritai pradėti kad saldus vietoje kreivėje 333 00:13:08,910 --> 00:13:11,694 kad kaip kartą progresuoja, ten tikrai kambarys, 334 00:13:11,694 --> 00:13:13,360 ir galimybės viršutiniame progresavimą. 335 00:13:13,360 --> 00:13:15,810 Taigi, prašome negali prilygti tris su 60%. 336 00:13:15,810 --> 00:13:17,410 Tai gerokai abstraktesnis nei tai. 337 00:13:17,410 --> 00:13:20,160 Formulė, su kuria mes galime apskaičiuoti rūšių yra taip, kaip nurodyta toliau. 338 00:13:20,160 --> 00:13:21,610 Teisingumas yra verta labiausiai. 339 00:13:21,610 --> 00:13:23,010 Dizainas yra verta šiek tiek mažiau. 340 00:13:23,010 --> 00:13:24,490 Stilius verta šiek tiek mažiau. 341 00:13:24,490 --> 00:13:26,950 Ir šis paprastai fiksuoja, kiek laiko 342 00:13:26,950 --> 00:13:29,800 kad eina į vis kiekviena iš šių ašių teisingai. 343 00:13:29,800 --> 00:13:31,810 Stilius yra super lengva, turėtų būti super greitai, 344 00:13:31,810 --> 00:13:33,657 bet tai lengva įprotis gauti tingus apie. 345 00:13:33,657 --> 00:13:35,490 Teisingumas gali užtrukti Jūs didžiąją dalį laiko. 346 00:13:35,490 --> 00:13:38,990 Chasing žemyn šiek tiek apie klaidą galią imtis, kad papildomą valandą ar daugiau, 347 00:13:38,990 --> 00:13:41,737 ir taip, vertinimas balais galiausiai fiksuoja, kad. 348 00:13:41,737 --> 00:13:43,070 Ir taip, dabar rimtesnė žodis. 349 00:13:43,070 --> 00:13:45,240 Nuo CS50 turi tą atskirti, geriau 350 00:13:45,240 --> 00:13:47,440 arba, dar blogiau, būties gal geriau susipažinti 351 00:13:47,440 --> 00:13:50,065 su akademinės klausimais sąžiningumas, nei dauguma bet kurio kito kurso. 352 00:13:50,065 --> 00:13:53,720 Ir iš tiesų, tai mano žiniomis, kad mes siųsti daugiau studentų, deja, 353 00:13:53,720 --> 00:13:56,690 drausminių tikslais kasmet, kaip rezultatas. Taigi, 354 00:13:56,690 --> 00:13:59,040 Visiškai interesų atskleidimas, leiskite trumpai pasikalbėti 355 00:13:59,040 --> 00:14:02,820 apie tai, kas vyksta CS50, ir ką jus gali padaryti, ir ką jūs galite būti prisimindama. 356 00:14:02,820 --> 00:14:05,530 >> Taigi, čia nuo 2007, kai Aš paveldėjo kursą, 357 00:14:05,530 --> 00:14:07,870 yra AD valdybos atvejų skaičius. 358 00:14:07,870 --> 00:14:10,690 Reklamos valdyba yra Harvardo universiteto drausminė kūnas, ar dabar garbę patarėjas, 359 00:14:10,690 --> 00:14:13,790 į kurią atvejai nurodyti, kai studentai kažką daryti, kad aikštyno 360 00:14:13,790 --> 00:14:15,470 programa mano nepagrįsta. 361 00:14:15,470 --> 00:14:17,220 Nėra jokio realaus modelio Čia, sakyčiau. 362 00:14:17,220 --> 00:14:19,530 Ji svyruoja virš metus, tačiau paprastai 363 00:14:19,530 --> 00:14:22,262 tai yra skaičius atvejai, kurie yra nurodyti. 364 00:14:22,262 --> 00:14:23,970 Studentų skaičius kurie dalyvauja? 365 00:14:23,970 --> 00:14:25,290 Jis taip pat skiriasi. 366 00:14:25,290 --> 00:14:27,930 Paprastai pernai Pavyzdžiui, 29 studentų Harvardo 367 00:14:27,930 --> 00:14:29,740 buvo Reklamos lipa, taip sakant. 368 00:14:29,740 --> 00:14:32,670 29 iš jų dabartinių studentų, Du iš jų ankstesnių studentų, 369 00:14:32,670 --> 00:14:35,610 Kas buvo bendradarbiauja kai iškrypusios būdu. 370 00:14:35,610 --> 00:14:38,400 Ir tada kalbant apie procentais, tai paprastai apie 3% 371 00:14:38,400 --> 00:14:41,360 iš klasės, kad, deja, daro šiuos sprendimus rūšių. 372 00:14:41,360 --> 00:14:44,470 >> Taigi, pernai ji buvo 3,5% iš CS50 Studentų kūno 373 00:14:44,470 --> 00:14:46,820 kad buvo Reklamos lipa, taip sakant. 374 00:14:46,820 --> 00:14:48,490 >> Taigi, ką visa tai reiškia? 375 00:14:48,490 --> 00:14:49,660 Ir ką mes iš tikrųjų daryti? 376 00:14:49,660 --> 00:14:52,930 >> Taigi, visiškai atskleisti, mes absoliučiai, kaip kompiuterių mokslo, 377 00:14:52,930 --> 00:14:57,620 turi programinės įrangos įrankius savo žinioje ir tai labai lengva mums, tiesą sakant, 378 00:14:57,620 --> 00:15:00,980 kad kitos klasiokų, kurie nėra kerta šias eilutes kirsti palyginti 379 00:15:00,980 --> 00:15:04,570 kas šiemet prieš kiekvieną pateikimas pateikimas per pastaruosius aštuonerius metus. 380 00:15:04,570 --> 00:15:05,445 Programinė įranga tai daro. 381 00:15:05,445 --> 00:15:07,440 Ir galiausiai tai žmogaus akys, nusprendusios 382 00:15:07,440 --> 00:15:11,410 ar ne perduoti kai klausimas dėl tolesnio nuosprendžio, 383 00:15:11,410 --> 00:15:12,737 bet programinė įranga tikrai padeda. 384 00:15:12,737 --> 00:15:15,820 Ir tai, tiesą sakant, kodėl aš manau, kad turime tokius didelius numerius CS50. 385 00:15:15,820 --> 00:15:18,540 Tai ne todėl, kad CS50 studentai ar CS studentai daugiau 386 00:15:18,540 --> 00:15:20,840 paprastai yra bet mažiau sąžiningi nei bet kuris kitas studentams, 387 00:15:20,840 --> 00:15:22,340 tai tik mes turime Įrankiai ir būdai 388 00:15:22,340 --> 00:15:24,095 su kuria pasinaudoti šia pirmąjį perdavimą. 389 00:15:24,095 --> 00:15:25,960 >> Bet mes užmesti akį dėl visų šių dalykų 390 00:15:25,960 --> 00:15:30,340 taip pat, dar kartą, interesų pripažįstant darbą, kad nebūtų pateiktai 391 00:15:30,340 --> 00:15:32,397 By super dauguma klasėje. 392 00:15:32,397 --> 00:15:34,230 Ir žinoma, politika akademinio sąžiningumo, 393 00:15:34,230 --> 00:15:37,021 nors tai iš dalių krūva ilgas su kulkų krūva 394 00:15:37,021 --> 00:15:40,490 kad yra tikiuosi gana skaitoma, ji tikrai skliautais į pagrįstas. 395 00:15:40,490 --> 00:15:44,000 Ir geriausia nykščio taisykle, kad siūlome iki per mokymo programą 396 00:15:44,000 --> 00:15:46,020 tai yra, esmė visų darbų, kad jus 397 00:15:46,020 --> 00:15:47,850 pateikti šį kursą turi būti jūsų pačių. 398 00:15:47,850 --> 00:15:51,510 , Ir iš tikrųjų beveik visi iš tų, nurodytais atvejais už drausminius veiksmus 399 00:15:51,510 --> 00:15:55,640 ji buvo, nes kai kurių studentų pabaigoje vienas naktį paprastai pasuko jo ar jos kodą 400 00:15:55,640 --> 00:15:58,130 per atvirai, kad klasiokas, kuris vėliau jį priėmė 401 00:15:58,130 --> 00:16:00,840 visas arba žymiai dalis. 402 00:16:00,840 --> 00:16:02,680 >> Bet tikrai, tai yra Gerai. 403 00:16:02,680 --> 00:16:04,684 Ir iš tiesų, biure valandų, iš popieriaus lapeliai 404 00:16:04,684 --> 00:16:07,850 jūs buvote įteikė jei atėjo įstaigos valandos praėjusią savaitę skatina kiek. 405 00:16:07,850 --> 00:16:09,710 Jūs esate visiškai pasveikino ir paragino 406 00:16:09,710 --> 00:16:12,340 aptarti problemų rinkinius su klasiokais. 407 00:16:12,340 --> 00:16:14,461 Norėdami padėti vienas kitam, kai suklupimo. 408 00:16:14,461 --> 00:16:17,710 Bet paprastai nykščio taisyklė turėtų būti tai, "kai jūs prašote pagalbos, 409 00:16:17,710 --> 00:16:20,412 galite parodyti savo kodą su kitais, bet jūs negalite peržiūrėti savo. " 410 00:16:20,412 --> 00:16:22,620 Taigi, kitaip tariant, jei aš kovoja su tam tikru P rinkinys 411 00:16:22,620 --> 00:16:25,290 ir aš sėdi ten į valgykla, ar bibliotekoje, 412 00:16:25,290 --> 00:16:28,470 ar klasėje bando rasti tam tikrą gedimą, 413 00:16:28,470 --> 00:16:30,340 Aš tikrai gali parodyti mano kodas ant mano ekrano 414 00:16:30,340 --> 00:16:32,590 kad asmuo sėdi šalia man tikrai darbuotojai, 415 00:16:32,590 --> 00:16:33,600 bet klasiokas. 416 00:16:33,600 --> 00:16:36,580 Bet jei sprendimas, mano klasiokas siūlo yra, OH, 417 00:16:36,580 --> 00:16:39,200 čia tik pažvelgti, ką Aš, kad kerta liniją. 418 00:16:39,200 --> 00:16:43,120 >> Ir drįsčiau pasakyti, kad tai apskritai protingas dalykas daugumai žmonių 419 00:16:43,120 --> 00:16:45,030 labai lengvai pastebėti, kad liniją. 420 00:16:45,030 --> 00:16:47,195 Ir taip, žr mokymo programą išsamiau. 421 00:16:47,195 --> 00:16:49,070 Ir dabar yra viena iš daugiau prieštaringų aspektų 422 00:16:49,070 --> 00:16:52,529 iš CS50 mokymo programą, kad aš maniau, kad aš būtų kalbėti išvada čia 423 00:16:52,529 --> 00:16:53,820 yra vadinamasis apgailestauju sąlyga. 424 00:16:53,820 --> 00:16:55,340 Taigi, čia viskas baudos spausdinti. 425 00:16:55,340 --> 00:16:58,090 Bet apskritai mes matėme per pastaruosius 8 metus plius 426 00:16:58,090 --> 00:17:01,510 kad, tiesą sakant, beveik visi CS50 s atvejai akademinio nesąžiningumo 427 00:17:01,510 --> 00:17:04,390 buvę tiesiog prastas rezultatas sprendimų priėmimo vėlai naktį. 428 00:17:04,390 --> 00:17:07,144 Streso, rezultatas rezultatas nuo valgymo stokos trūksta miego, 429 00:17:07,144 --> 00:17:09,560 per daug P rinkiniai, per daug terminai, per daug įsipareigojimų. 430 00:17:09,560 --> 00:17:13,520 Stresas kuriant į 2:00, 03:00 AM, 04:00, nurodydama terminą smarkus. 431 00:17:13,520 --> 00:17:17,020 Dauguma studentų šiose bylose ką tik padarė blogų sprendimų 432 00:17:17,020 --> 00:17:20,619 kad jie gali labai gerai apgailestaujame Kitą rytą, jei ne minučių vėliau, 433 00:17:20,619 --> 00:17:25,490 tačiau iki praėjusių metų nebuvo Išleidimo vožtuvas, kad šie studentai galėtų 434 00:17:25,490 --> 00:17:29,140 iš tikrųjų atverti tikrųjų spręsti problema su galva be baimės būti 435 00:17:29,140 --> 00:17:30,850 įkelti iš kolegijos apskritai. 436 00:17:30,850 --> 00:17:33,260 >> Ir, tiesą sakant, mes pristatėme tai apgailestauju sąlyga pernai, 437 00:17:33,260 --> 00:17:35,970 kurie sako, kad jei per 72 valandų, tris dienas 438 00:17:35,970 --> 00:17:37,970 kirtimo šiek linija nurodyta mokymo programos 439 00:17:37,970 --> 00:17:41,178 ateini į priekį į vieną iš aikštyno Vadovai ir mes turime pokalbiai apie jį. 440 00:17:41,178 --> 00:17:43,720 Yra dar būti šiek tiek rezultatas, priešingai, kas yra 441 00:17:43,720 --> 00:17:44,990 Buvo pranešta, kad yra priešingai. 442 00:17:44,990 --> 00:17:49,190 Yra dar kai rezultatas, kad yra baustinas pagal kursą, 443 00:17:49,190 --> 00:17:51,611 paprastai nulio yra P rinkinį ar vartojate tam tikrų kitų veiksmų, 444 00:17:51,611 --> 00:17:53,610 bet iš tiesų mes,, tvarkyti save, o ne 445 00:17:53,610 --> 00:17:58,460 perduoti jį didesnis buvo rezultatas gali būti daug sunkesnis. 446 00:17:58,460 --> 00:18:01,810 Ir, tiesą sakant, pasidalinti, kas atsitiko Pernai per aštuonerius metus, ir dabar 447 00:18:01,810 --> 00:18:04,950 devynerius metus, dėstymo šį kursą ir po skardinimo su įvairių rankenėlėmis, 448 00:18:04,950 --> 00:18:07,866 tekinimo įvairių ciferblatai per pastaruosius keletą metų akademinės sąžiningumo, 449 00:18:07,866 --> 00:18:11,920 ir matyti už duomenų nėra akivaizdžių poveikis, net kalbose, pavyzdžiui, tai, 450 00:18:11,920 --> 00:18:15,490 tai buvo rankas žemyn geriausias dalykas mes įdiegėme pedagogiškai 451 00:18:15,490 --> 00:18:18,090 per aštuonerius metus kartu Šios linijos CS50. 452 00:18:18,090 --> 00:18:21,010 >> 19 studentai išėjo į priekį Pagal šią išlygą pernai. 453 00:18:21,010 --> 00:18:23,389 Mes nesiėmė jokių veiksmų septyni tiems studentams, 454 00:18:23,389 --> 00:18:25,430 nustatant, kad jie buvo be reikalo nerimauja. 455 00:18:25,430 --> 00:18:27,304 Jie turėjo ne, iš tiesų, kerta liniją, tačiau ji 456 00:18:27,304 --> 00:18:28,960 buvo geras pokalbis turėti vis. 457 00:18:28,960 --> 00:18:31,190 Mes nulis 11 balų kad buvo pateikta. 458 00:18:31,190 --> 00:18:33,840 Ir vienu atveju mes paprašėme studentas padaryti problemą, rinkinį. 459 00:18:33,840 --> 00:18:36,370 Bet patrauklesnės, sąžiningai, šių 19 pokalbiuose, 460 00:18:36,370 --> 00:18:39,020 kuris buvo būdas daugiau nei aš Tikimasi, kad, kiekvienas iš jų 461 00:18:39,020 --> 00:18:41,370 10 minučių o gal valandos trukmės, taip pat atnešė 462 00:18:41,370 --> 00:18:44,920 šviesos keletą klausimų apie šeiminės problemos, draugas klausimai, 463 00:18:44,920 --> 00:18:46,940 psichikos sveikatos problemos kad mes tada užsiima, 464 00:18:46,940 --> 00:18:50,200 su studento palaiminimą, gyvenančio dekanas, arba draugai, arba bet kuris kitas numeris 465 00:18:50,200 --> 00:18:51,450 paramos lėšų. 466 00:18:51,450 --> 00:18:54,454 Taigi, kad tai buvo iki šiol viena iš geriausių reikmėms mūsų laikų 467 00:18:54,454 --> 00:18:55,870 ir vienas iš geriausių intervencijų. 468 00:18:55,870 --> 00:18:58,870 >> Turint tai sakė, ji neturėjo įvesties aptikimo norma 469 00:18:58,870 --> 00:19:00,909 akademinio nesąžiningumo apskritai. 470 00:19:00,909 --> 00:19:02,950 Ir drįstu sakyti, kad tai pogrupį Studentų pernai 471 00:19:02,950 --> 00:19:06,350 buvo demografinius, kad mes anksčiau niekada identifikuotas iki 472 00:19:06,350 --> 00:19:08,140 ir niekada susijusi su anksčiau. 473 00:19:08,140 --> 00:19:10,020 Ir taip, tai buvo nuostabūs Sėkmės istorijos 474 00:19:10,020 --> 00:19:13,390 nors jie buvo atvežti į šviesą mažiau nei optimaliomis aplinkybėmis. 475 00:19:13,390 --> 00:19:15,640 Taigi, turėkite tai omenyje kaip jūs darote, ko gero, 476 00:19:15,640 --> 00:19:17,390 kai prastas sprendimas Būk vėlai naktį, 477 00:19:17,390 --> 00:19:20,151 kad yra naudojamasi taip ilgai kaip tokioje situacijoje studentas 478 00:19:20,151 --> 00:19:23,400 savo aukštyn ir pateikti taip, kad mes galime turi tą čate natūra ir kovoti su ja 479 00:19:23,400 --> 00:19:27,310 tokiu būdu, kad yra mokymo, ir tada mes galime įdėti jį už mus kitą dieną. 480 00:19:27,310 --> 00:19:30,335 >> Taigi be tolesnio ceremonija, imtis Naostrzyć šio pokalbio, 481 00:19:30,335 --> 00:19:35,080 priežastis, šuniukai yra UP tiesiog pertrauka akimirką ledo. 482 00:19:35,080 --> 00:19:39,560 Ir, deja, jie visi miega, bet kas turėjo atsitikti čia 483 00:19:39,560 --> 00:19:41,760 buvo visi turėjo kad baiminantis ir rūšis atsipalaiduoti 484 00:19:41,760 --> 00:19:43,910 po to labai sunkus pokalbis. 485 00:19:43,910 --> 00:19:46,930 Bet, matyt aš įdėti šuniukai miegoti. 486 00:19:46,930 --> 00:19:50,070 Bet jei jūs einate į CS50 s svetainė pasvirasis brūkšnys šuniukai, 487 00:19:50,070 --> 00:19:51,610 Jūs galite žiūrėti juos visą dieną. 488 00:19:51,610 --> 00:19:55,280 Ypač gal 02:00, arba 03:00, arba 04:00 naktį 489 00:19:55,280 --> 00:19:57,480 pamatyti šiek tiek įtempių ten. 490 00:19:57,480 --> 00:19:58,805 Taigi tai yra velniop šuniukus. 491 00:19:58,805 --> 00:20:01,700 492 00:20:01,700 --> 00:20:02,200 Gerai. 493 00:20:02,200 --> 00:20:03,020 Nebuvo, kad įdomus? 494 00:20:03,020 --> 00:20:04,200 GERAI. 495 00:20:04,200 --> 00:20:07,140 Taigi, nugaros tam tikru kompiuteriu mokslas, jei aš gali. 496 00:20:07,140 --> 00:20:10,600 >> Taigi, priminti, kad paskutinį kartą, mes pradėjome ieško ne tik pagrindinis, kuris 497 00:20:10,600 --> 00:20:13,930 buvo numatytasis funkcijos, kai Žaliosios vėliavos paspausti atitikmuo, 498 00:20:13,930 --> 00:20:16,999 bet mes taip pat pradėjo trumpai rašyti kai mūsų pačių funkcijų. 499 00:20:16,999 --> 00:20:20,040 Ir iki šiol nė viena iš šių funkcijų buvo ypač didelis ar mėsiškas. 500 00:20:20,040 --> 00:20:24,570 Jūs gausite į tuos didesnis funkcijos tikriausiai P komplektas 2, p nustatytas 3, 501 00:20:24,570 --> 00:20:26,410 tikrai P nustatyti 4 ir pirmyn. 502 00:20:26,410 --> 00:20:29,340 Šiuo metu didžiąją dalį savo programų, jeigu ne visi iš jų, žinoma, skirtas P 503 00:20:29,340 --> 00:20:31,550 Set 1 galima padaryti visiškai Main. 504 00:20:31,550 --> 00:20:33,810 Jei jūsų programa tik penkios eilutės, 10 eilučių, 505 00:20:33,810 --> 00:20:37,070 net 20 eilučių ilgio, puikiai protinga parašyti 506 00:20:37,070 --> 00:20:40,930 visi pagrindinės ir ne per komplikuoti Jūsų kodas, bet tai, ką mes darome šiandien 507 00:20:40,930 --> 00:20:44,360 ir toliau bando pat pristatyti gerų projektavimo metodus 508 00:20:44,360 --> 00:20:48,660 kad kaip jūsų kodas gauna daugiau sudėtinga ir, kaip problemų 509 00:20:48,660 --> 00:20:51,690 norite išspręsti gauti sunkiau ir įdomiau turite, rūšiuoti, 510 00:20:51,690 --> 00:20:55,850 į savo priemonių rinkinį įrankiai, su kuria projektuoti gerus sprendimus tiems. 511 00:20:55,850 --> 00:21:01,210 >> Taigi, galime priimti greitai pažvelgti atgal Ši programa iš mano praeitą savaitę, kuri 512 00:21:01,210 --> 00:21:06,550 buvo funkcijas nulio taškas C. Ir pastebėti, kad, paprasčiausiai, 513 00:21:06,550 --> 00:21:10,310 atrodo, kad tai su dviem funkcijos, pagrindinės ir spausdinimo pavadinimą. 514 00:21:10,310 --> 00:21:13,160 Ir galvoju grįžti arba galbūt iškomplektuoti šiandien 515 00:21:13,160 --> 00:21:16,880 kas buvo motyvacija įvedant atitinka 28 vadinama funkcija, 516 00:21:16,880 --> 00:21:18,180 Spausdinti vardas? 517 00:21:18,180 --> 00:21:21,745 Arba tai, kas buvo tai AN pavyzdys sąlygos principo ar takeaway, 518 00:21:21,745 --> 00:21:22,605 Jei norite. 519 00:21:22,605 --> 00:21:26,560 520 00:21:26,560 --> 00:21:27,300 Kai ūžesiai. 521 00:21:27,300 --> 00:21:28,830 Ką? 522 00:21:28,830 --> 00:21:32,210 >> Taip taip, funkcinė dekompozicija rūšies išgalvotas būdas pasakyti, 523 00:21:32,210 --> 00:21:34,690 suyra savo programą į jos sudedamųjų dalių 524 00:21:34,690 --> 00:21:37,530 ir tada naudoti tas dalis, surinkti visumą. 525 00:21:37,530 --> 00:21:39,620 Taigi, tai taip pat yra tik rūšies iš gurkšnis jau 526 00:21:39,620 --> 00:21:42,050 tačiau tai yra galbūt net geriau pavyzdys kažką 527 00:21:42,050 --> 00:21:43,081 tiesiog vadinamas abstrakcija. 528 00:21:43,081 --> 00:21:43,580 Teisė? 529 00:21:43,580 --> 00:21:46,950 Abstrakcija bus vienas iš pasikartojančių temų CS50 530 00:21:46,950 --> 00:21:49,085 ir kompiuterių mokslas plačiau, nes tai 531 00:21:49,085 --> 00:21:53,060 technika, su kuria jūs galite išspręsti problemos efektyviau, nes jus 532 00:21:53,060 --> 00:21:56,807 sprendimai gali rašyti daugiau intuityviai ir tokiu būdu, kad svarstyklės 533 00:21:56,807 --> 00:21:58,390 ir yra suprantami kitiems žmonėms. 534 00:21:58,390 --> 00:21:59,860 Ką man pasakyti? 535 00:21:59,860 --> 00:22:04,340 >> Taigi, be abejo, tai yra daug lengviau skaityti pažvelgti, kaip ši programa, 536 00:22:04,340 --> 00:22:05,990 Super trumpas, nors ji yra. 537 00:22:05,990 --> 00:22:10,050 Kai pamatysite on-line 22, kad ten funkcija vadinama, spausdinti pavadinimą. 538 00:22:10,050 --> 00:22:12,620 Tai vardas vieni sako, ką ji daro. 539 00:22:12,620 --> 00:22:15,780 Ši funkcija matyt trunka įvesties tarp jos skliausteliuose, 540 00:22:15,780 --> 00:22:18,600 ir, matyt, daro kažką, matyt spausdina vardą. 541 00:22:18,600 --> 00:22:20,880 Ir taip, nors mes visiškai galėtų turėti 542 00:22:20,880 --> 00:22:25,280 padaryti ką mes padarėme prieš savaitę, kuri buvo tiesiog šis faktinis eilutę kodo, 543 00:22:25,280 --> 00:22:28,710 atsikratyti šio, ir gauti atsikratyti visa tai kartu, 544 00:22:28,710 --> 00:22:31,436 mes tarsi išgaunamo toli spausdinimo pavadinimą sąvoka. 545 00:22:31,436 --> 00:22:33,060 Man nerūpi, jei jūs naudojate spausdinimo def. 546 00:22:33,060 --> 00:22:35,601 Man nerūpi, jei turite proc S ir Backslash N. Tai 547 00:22:35,601 --> 00:22:37,270 yra neįtikėtinai ARCANE detales. 548 00:22:37,270 --> 00:22:40,090 Kas man rūpi, kaip programuotojas spausdinant vardą. 549 00:22:40,090 --> 00:22:43,414 Ir taip, kas geresnis būdas tai padaryti nei paskambinę funkciją, spausdinimo vardą? 550 00:22:43,414 --> 00:22:46,330 Ir taip, tai buvo vienas iš motyvų daro kažką panašaus į tai. 551 00:22:46,330 --> 00:22:50,370 Padaryti kodas suprantamesnės daugiau daugkartinio naudojimo, o taip pat savarankiškai aprašomojo pobūdžio. 552 00:22:50,370 --> 00:22:52,120 Dabar galime pažvelgti kitoje, pavyzdžiui, 553 00:22:52,120 --> 00:22:56,220 kuris buvo funkcijos vienas, kurį mes turėjome čia. 554 00:22:56,220 --> 00:23:00,367 >> Taigi, tai vienas gal net daugiau svari, nes, šiuo atveju, 555 00:23:00,367 --> 00:23:01,700 Aš nenoriu, kad tik gauti int. 556 00:23:01,700 --> 00:23:03,320 Noriu gauti teigiamą int. 557 00:23:03,320 --> 00:23:06,470 Ir paaiškėja, kad gauti teigiami int turite daryti legwork krūva. 558 00:23:06,470 --> 00:23:06,969 Teisė? 559 00:23:06,969 --> 00:23:09,600 Tai nėra paprasta linija skambinti kaip Spausdinti vardas, 560 00:23:09,600 --> 00:23:11,480 kuris yra pripažinti mažiau įtikinamos. 561 00:23:11,480 --> 00:23:16,000 >> Norėdami gauti teigiamą int, logically-- leiskite man pereiti atgal paslėpti tai. 562 00:23:16,000 --> 00:23:18,887 Ką daryti? 563 00:23:18,887 --> 00:23:20,720 Kaip ir visi įrankiai, mes turėti tuo momentu yra 564 00:23:20,720 --> 00:23:24,440 dalykų, pavyzdžiui, spausdinimo def nuo standarto Biblioteka taip pat iš CS50 bibliotekoje 565 00:23:24,440 --> 00:23:26,990 turime Gauk Int, ir gauti plūdės, Gauk long long, gauti eilutę, 566 00:23:26,990 --> 00:23:29,260 bet tik vienas, Germane, dabar yra Gauk Int. 567 00:23:29,260 --> 00:23:32,970 Taigi, jei tik įrankis turite Jūsų įrankių dėžė yra Gauk Int, 568 00:23:32,970 --> 00:23:35,505 kaip mes eiti apie įgyvendinant jį gauti teigiamą int? 569 00:23:35,505 --> 00:23:35,929 >> Auditorija: Sukurti žurnalą ir patikrinkite nuo to, ar įvestis, kad jie davė 570 00:23:35,929 --> 00:23:36,762 buvo teigiamas, ar ne. 571 00:23:36,762 --> 00:23:39,390 572 00:23:39,390 --> 00:23:40,640 >> GARSIAKALBIS 1: tobulas. 573 00:23:40,640 --> 00:23:41,200 Būtent. 574 00:23:41,200 --> 00:23:43,950 Kita priemonė, mes turime mūsų rinkinys nuo savaitės ar du atgal 575 00:23:43,950 --> 00:23:45,419 yra tik apsisukimo konstruktas. 576 00:23:45,419 --> 00:23:48,210 Ir taip, taip, jei mes naudojame šiek tiek laiko kilpa, arba, o kilpa Do arba prog 577 00:23:48,210 --> 00:23:50,850 kilpa mes tikriausiai galėtų išeiti su bet kuriomis tam tikra forma. 578 00:23:50,850 --> 00:23:55,140 Mes galime įgyvendinti GET sąvoką teigiamas int tik naudojant Gauk Int, 579 00:23:55,140 --> 00:23:57,830 ir tada tiesiog laikyti vadindami jį vėl ir išlaikyti paerzinti vartotoją 580 00:23:57,830 --> 00:24:00,320 kol jis ar ji iš tikrųjų suteikia mums tai, ką norime. 581 00:24:00,320 --> 00:24:03,260 >> Ir todėl dabar, tai abstrakcija proceso 582 00:24:03,260 --> 00:24:05,680 gauti teigiamą int į funkciją, vadinamą 583 00:24:05,680 --> 00:24:08,930 Gauk Teigiamas Žiniasklaida yra šiek tiek daugiau įtikinama, nes pažvelgti į tai. 584 00:24:08,930 --> 00:24:10,990 Tai yra, kaip 10 plius eilučių kodo kad 585 00:24:10,990 --> 00:24:15,090 dalyvauja gauti teigiamą int, ir aš nerūpi, kaip jūs tai darote. 586 00:24:15,090 --> 00:24:17,850 Viskas, ką aš rūpintis, kad jūs galite tai padaryti, ir todėl aš 587 00:24:17,850 --> 00:24:21,660 paslėpti visi šie duomenys už funkcija vadinama Gauk Teigiamas INT, kad 588 00:24:21,660 --> 00:24:23,430 Iš tiesų, turi tai padaryti, o kilpa. 589 00:24:23,430 --> 00:24:27,660 >> Ir pamatyti, praėjusią savaitę sintaksę ten, bet tai tik patvirtina, N, 590 00:24:27,660 --> 00:24:29,800 ir jis spausdina out nurodymas vartotojui. 591 00:24:29,800 --> 00:24:33,330 Ji ragina Gauk Int ir tada ji patikrina ši sąlyga vėl, ir vėl, 592 00:24:33,330 --> 00:24:35,230 ir vėl, kol vartotojas bendradarbiauja. 593 00:24:35,230 --> 00:24:38,000 >> Taigi dabar, kelias normalumas patikrinimai. 594 00:24:38,000 --> 00:24:40,370 Tiems, galbūt susipažinę su tam tikru programavimo, 595 00:24:40,370 --> 00:24:46,410 kodėl yra N pareiškė, kodėl aš sukurti N išorėje, o kilpa daryti? 596 00:24:46,410 --> 00:24:50,370 Kodėl jį on-line 29, o ne ant panašaus 33, pavyzdžiui. 597 00:24:50,370 --> 00:24:53,529 >> Auditorija: nes kai paskelbti ją lauke, ją natūra 598 00:24:53,529 --> 00:24:56,688 nuo daugiau, tuo didesnis scope-- 599 00:24:56,688 --> 00:24:58,146 >> GARSIAKALBIS 1: Geras. 600 00:24:58,146 --> 00:24:59,604 >> Auditorija: --and jei deklaruoti jis viduje linijos, [nesigirdi] 601 00:24:59,604 --> 00:25:00,979 nes ji neturi žinoti apie tai. 602 00:25:00,979 --> 00:25:02,819 603 00:25:02,819 --> 00:25:03,610 GARSIAKALBIS 1: Būtent. 604 00:25:03,610 --> 00:25:06,330 Jei aš galiu simplify-- tai yra apimties klausimas. 605 00:25:06,330 --> 00:25:11,530 Ir taikymo sritis nurodo į kontekstą kuris kintamasis egzistuoja arba yra naudojami. 606 00:25:11,530 --> 00:25:15,050 Ir gražus nykščio taisykle, kad čia yra Paprastai, kai jūs deklaruoti ar sukurti 607 00:25:15,050 --> 00:25:21,642 kintamasis galite naudoti tik jį viduje iš arčiausiai apimantis vingiuotus skliaustus. 608 00:25:21,642 --> 00:25:22,600 Taigi, ką tai reiškia? 609 00:25:22,600 --> 00:25:26,551 Jei aš, vietoj to, tai anuliuoti ir eiti su kažkas, kad jaučiasi šiek tiek paprastesnis. 610 00:25:26,551 --> 00:25:27,050 Teisė? 611 00:25:27,050 --> 00:25:29,360 >> 32 eilutė tik atrodo švaresnis man dabar. 612 00:25:29,360 --> 00:25:31,500 Darau abu dalykus vieną kartą ir paskui skiriant 613 00:25:31,500 --> 00:25:33,070 dešinė su kaire ranka. 614 00:25:33,070 --> 00:25:35,180 Problema dabar remiasi kad taikymo srities apibrėžimas 615 00:25:35,180 --> 00:25:41,130 yra, kad N gali būti naudojamas linijų 31 ir 32 viduje šio kilpa, 616 00:25:41,130 --> 00:25:45,100 Bet kur tos apibrėžties jis gali būti naudojamas? 617 00:25:45,100 --> 00:25:45,660 Pagal ką? 618 00:25:45,660 --> 00:25:46,160 Taip. 619 00:25:46,160 --> 00:25:47,490 >> Auditorija: 35. 620 00:25:47,490 --> 00:25:49,180 >> GARSIAKALBIS 1: 35. 621 00:25:49,180 --> 00:25:50,480 Tikrai ne 35. 622 00:25:50,480 --> 00:25:52,349 Ir taip pat kur kitur? 623 00:25:52,349 --> 00:25:52,890 Auditorija: 34. 624 00:25:52,890 --> 00:25:55,040 GARSIAKALBIS 1: Net 34 yra problemiškas, nes tai 625 00:25:55,040 --> 00:25:56,450 už garbanotieji petnešų. 626 00:25:56,450 --> 00:25:58,200 Ir taip iš tiesų, pažiūrėkime, kas vyksta. 627 00:25:58,200 --> 00:25:58,700 Teisė? 628 00:25:58,700 --> 00:26:00,722 Tai gali atrodyti šiek tiek intuityvus arba gali nebūti, 629 00:26:00,722 --> 00:26:02,680 bet pažiūrėkime, ką kompiliatorius turi pasakyti, kada 630 00:26:02,680 --> 00:26:04,730 mes einame į šiandienos šaltinio katalogą. 631 00:26:04,730 --> 00:26:08,950 Padaryti funkciją vieną. 632 00:26:08,950 --> 00:26:11,231 O Dieve. 633 00:26:11,231 --> 00:26:12,980 Na, aš pagaliau baigtas , kad kelyje. 634 00:26:12,980 --> 00:26:14,030 Gerai. 635 00:26:14,030 --> 00:26:15,510 Ir kas yra problema čia? 636 00:26:15,510 --> 00:26:17,430 Labai paslaptingą pažvelgti. 637 00:26:17,430 --> 00:26:19,570 Bet štai ką aš typed-- kad funkcija vieną. 638 00:26:19,570 --> 00:26:21,640 Štai ką padaryti sukeltas, kuris yra faktiškai 639 00:26:21,640 --> 00:26:23,705 naudojant kompiliatorių klingsėti su kai kuriais iš šių vėliavų 640 00:26:23,705 --> 00:26:25,080 kad mes pamatysime vėl prieš ilgas. 641 00:26:25,080 --> 00:26:26,829 Ir vėl, visada atrodo pirmo klaidą, 642 00:26:26,829 --> 00:26:30,540 nes jis gali tiesiog kaskadinį beprasmė poveikis kitų linijų. 643 00:26:30,540 --> 00:26:34,410 >> Taigi, ką tai reiškia, kad problema yra funkcija 1.c. 644 00:26:34,410 --> 00:26:36,890 Jis yra 32 eilutėje. 645 00:26:36,890 --> 00:26:39,712 Ir tai ne skiltyje, arba charakterio, 13. 646 00:26:39,712 --> 00:26:42,670 Taigi, kai jūsų teksto redaktoriumi, kad gali padėti jums nustatyti, kur problema. 647 00:26:42,670 --> 00:26:47,079 Taigi, jei aš slinkti aukštyn, kas yra linija, 32? 648 00:26:47,079 --> 00:26:49,120 Štai iš tiesų tai vienas kad manimi jau buvo pabrėžta 649 00:26:49,120 --> 00:26:50,607 teisė here-- nepanaudotą kintamasis n. 650 00:26:50,607 --> 00:26:51,440 Bet tai ne nenaudojama. 651 00:26:51,440 --> 00:26:52,320 Aš naudoju jį. 652 00:26:52,320 --> 00:26:56,110 Tačiau kompiliatorius s painioti, nes jis egzistuoja tik viduje šioje srityje. 653 00:26:56,110 --> 00:26:57,727 Ir todėl aš negaliu naudoti jį čia. 654 00:26:57,727 --> 00:26:58,560 Aš negaliu naudoti jį čia. 655 00:26:58,560 --> 00:27:01,320 Ir sudarytojas, todėl nėra net rūpintis, kad aš bandau. 656 00:27:01,320 --> 00:27:03,940 Atrodo, kad nepanaudota jos faktinio taikymo sritį. 657 00:27:03,940 --> 00:27:08,854 >> Taigi, mes galime išplėsti taikymo sritį, daro ką mes pradėjome with-- int n. 658 00:27:08,854 --> 00:27:11,020 Ir nors tai nėra atrodo kaip elegantiškas, ko gero, 659 00:27:11,020 --> 00:27:15,110 ir mes atsižvelgiant papildomą eilutę čia dabar tai apimtis visur. 660 00:27:15,110 --> 00:27:15,970 Taigi pabandykime dar kartą. 661 00:27:15,970 --> 00:27:19,040 Taigi, kad funkcijos vieną. 662 00:27:19,040 --> 00:27:19,610 Gražus. 663 00:27:19,610 --> 00:27:23,370 Ir dabar, jei aš, jei aš paleisti funkciją viena, tegul mano, kad tai neigiamas 10, 664 00:27:23,370 --> 00:27:27,170 neigiamas 1, 0, 1, ir iš tikrųjų veikia. 665 00:27:27,170 --> 00:27:28,610 >> Taigi yra dar vienas sprendimas čia. 666 00:27:28,610 --> 00:27:29,280 Zinai ka? 667 00:27:29,280 --> 00:27:31,230 Ką daryti, jei aš tikrai esu imtynių su tai? 668 00:27:31,230 --> 00:27:33,140 Aš nežinau, kur N manimi turėjo eiti. 669 00:27:33,140 --> 00:27:33,723 Zinai ka? 670 00:27:33,723 --> 00:27:39,220 Aš tik ketina įdėti jį visi būdas ne mano failo viršuje čia. 671 00:27:39,220 --> 00:27:42,835 Ką tai padaryti, jūs manote? 672 00:27:42,835 --> 00:27:43,335 Taip? 673 00:27:43,335 --> 00:27:44,251 >> Auditorija: [nesigirdi]. 674 00:27:44,251 --> 00:27:47,964 675 00:27:47,964 --> 00:27:48,630 GARSIAKALBIS 1: Taip. 676 00:27:48,630 --> 00:27:50,560 Taigi aš tapo globalus, taip sakant. 677 00:27:50,560 --> 00:27:54,430 Jei turite kintamąjį tai ne visus savo funkcijas, yra leidžiama, 678 00:27:54,430 --> 00:27:58,780 ir kodas turi kaupti, ir n dabar bus prieinama ne tik GET 679 00:27:58,780 --> 00:28:02,490 teigiamas int, bet main-- kuris yra šiek tiek neramina, nes ten 680 00:28:02,490 --> 00:28:04,864 jau yra ir pagrindinis N, todėl daugiau apie tai vos moment-- 681 00:28:04,864 --> 00:28:06,530 bet tai būtų laikoma blogo dizaino. 682 00:28:06,530 --> 00:28:06,910 Gerai. 683 00:28:06,910 --> 00:28:08,570 Jei turite kreiptis į kažkas panašaus, oi, aš 684 00:28:08,570 --> 00:28:10,125 tiesiog įdėti jį čia, nes kodas atrodo kaupia 685 00:28:10,125 --> 00:28:12,180 paprastai yra ne geriausia praktika. 686 00:28:12,180 --> 00:28:14,590 Greičiau norite pasirinkti siauriausia galima apimtį 687 00:28:14,590 --> 00:28:18,720 Jūsų kintamųjų, o tai reikštų, vyksta su mūsų pradinio projekto, kuris 688 00:28:18,720 --> 00:28:19,920 yra čia. 689 00:28:19,920 --> 00:28:24,400 >> Dabar, kaip panaikinti, jei tu turi identiškai pavadinimu kintamasis čia 690 00:28:24,400 --> 00:28:27,750 būdas c tvarkytų this-- nors tai neatsitiks per often-- 691 00:28:27,750 --> 00:28:30,150 yra tai, kad tai yra vis dar puikiai baudą čia. 692 00:28:30,150 --> 00:28:35,000 Bet tai n linija apibrėžimas 22 bus šešėlis Global One. 693 00:28:35,000 --> 00:28:38,190 Taigi tai vienas bus dirbti Pagrindinis, ir pasaulinė vienas 694 00:28:38,190 --> 00:28:41,670 tikrai bus taikomos tada, kai esate gauti teigiami int Bet daugiau apie tai 695 00:28:41,670 --> 00:28:43,890 kitą kartą, tačiau tik tiems, smalsu. 696 00:28:43,890 --> 00:28:45,970 >> Taigi trumpai tariant, mes išspręsti šią problemą čia. 697 00:28:45,970 --> 00:28:49,220 Dabar galime erzinti išskyrus kitus du gabalus Prieš mes žiūrime į vieną paskutinę eilutę kodas 698 00:28:49,220 --> 00:28:50,170 šioje programoje. 699 00:28:50,170 --> 00:28:52,170 Gauk teigiamą int. 700 00:28:52,170 --> 00:28:54,450 Kairėje pusėje jo žodis yra žodis int. 701 00:28:54,450 --> 00:28:56,860 Ką tai reiškia jūs manote? 702 00:28:56,860 --> 00:28:58,900 Iki šiol mes dažniausiai laikomos negaliojančiu. 703 00:28:58,900 --> 00:28:59,400 Taip? 704 00:28:59,400 --> 00:29:01,810 >> Auditorija: Tai Tipo kintamasis, kad esate klausia apie. 705 00:29:01,810 --> 00:29:04,550 >> GARSIAKALBIS 1: Taip Tai tipo, leiskite man nesakau kintamasis, bet vertė tipas 706 00:29:04,550 --> 00:29:05,990 kad aš prašau atgal. 707 00:29:05,990 --> 00:29:08,070 Ir iš tiesų, tai intuityvus čia, tikiuosi. 708 00:29:08,070 --> 00:29:08,200 Teisė? 709 00:29:08,200 --> 00:29:10,250 Jei norite gauti teigiamas INT, kas tai yra jums 710 00:29:10,250 --> 00:29:12,920 nori kaip function-- mūsų savanoriai iš praeitą savaitę 711 00:29:12,920 --> 00:29:15,720 perduoti jums atgal gabalas popieriaus su ant jo int? 712 00:29:15,720 --> 00:29:19,190 Ir taip mes nurodyta, kad taip vadinamas sugrįžtantis šios funkcijos 713 00:29:19,190 --> 00:29:20,450 tai gauti teigiamą int. 714 00:29:20,450 --> 00:29:22,990 Jei mes nenorėjome jį grįžti nieko, jūs sakote negaliojančiu. 715 00:29:22,990 --> 00:29:25,270 Jei norite, kad ji sugrįš eilutė, jūs sakote eilutę. 716 00:29:25,270 --> 00:29:27,310 Jei norite, kad ji sugrįš plūduras, jūs sakote plūdę. 717 00:29:27,310 --> 00:29:30,440 Bet tik viena, kad čia galioja logiškai, nes aš naudoju get int, 718 00:29:30,440 --> 00:29:34,130 nors aš apribojant ją teigiamas vertybes, yra grįžti int. 719 00:29:34,130 --> 00:29:38,380 >> Taigi priešingai, ką tai reiškia kad ten skliausteliuose negaliojantis? 720 00:29:38,380 --> 00:29:40,130 Ką skliaustai paprastai apibrėžti? 721 00:29:40,130 --> 00:29:40,588 Taip? 722 00:29:40,588 --> 00:29:42,880 >> Auditorija: Tai reiškia, kad funkcijos faktiškai nėra vartų. 723 00:29:42,880 --> 00:29:44,650 >> GARSIAKALBIS 1: Tai reiškia, kad funkcijos ne iš tikrųjų gaunate tai, ką? 724 00:29:44,650 --> 00:29:45,430 >> Auditorija: įvesties. 725 00:29:45,430 --> 00:29:46,763 >> GARSIAKALBIS 1: įvesties, kokia. 726 00:29:46,763 --> 00:29:49,870 Taigi iš tiesų, jei skliausteliuose Čia galite nurodyti negaliojančiu, 727 00:29:49,870 --> 00:29:51,650 kad tik reiškia, kad aš nenoriu jokios įvestį. 728 00:29:51,650 --> 00:29:53,269 Aš susidoroti su problema save. 729 00:29:53,269 --> 00:29:55,810 Ir iš tiesų, jūs neturite pasakyti, gauti teigiamą int nieko. 730 00:29:55,810 --> 00:29:59,630 Jūs tiesiog pasakyti, gauti teigiamą int, ir kad funkcija užges ir padaryti savo dalykas. 731 00:29:59,630 --> 00:30:02,970 >> Bet ten buvo šiek tiek apgauti aš buvo žaisti čia visą šį kartą 732 00:30:02,970 --> 00:30:04,970 įsitikinkite, kad šis kodas kaupia. 733 00:30:04,970 --> 00:30:09,620 Atkreipkite dėmesį, kad int-- gauti teigiami INT void-- yra on-line 27. 734 00:30:09,620 --> 00:30:14,530 Tačiau dėl tam tikrų iš pažiūros keistą priežasties jis taip pat čia on-line 16. 735 00:30:14,530 --> 00:30:18,530 Ir tik gera priemonė aš kartoti Tai todėl puikiai sutampa. 736 00:30:18,530 --> 00:30:21,640 Ir aš sakė prototipas su šiek tiek vienos eilutės komentaras. 737 00:30:21,640 --> 00:30:28,850 Kas atsitiks, jei aš ištrinti tai, ir dabar pakartotas padaryti funkcija 1, įeiti. 738 00:30:28,850 --> 00:30:29,350 Oi. 739 00:30:29,350 --> 00:30:32,527 740 00:30:32,527 --> 00:30:33,110 Palauk minutėlę. 741 00:30:33,110 --> 00:30:34,764 Kur mano skirtukas? 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 Budėjimo. 745 00:30:39,620 --> 00:30:41,570 Padaryti funkciją 1. 746 00:30:41,570 --> 00:30:42,150 Čia mes eiti. 747 00:30:42,150 --> 00:30:42,310 GERAI. 748 00:30:42,310 --> 00:30:43,400 Neišgelbėjo tinkamai. 749 00:30:43,400 --> 00:30:45,220 Taigi, aš manau, kad yra šiek tiek Re čia, kur aš nesu 750 00:30:45,220 --> 00:30:46,636 matyti skirtuko pavadinimą tuo momentu. 751 00:30:46,636 --> 00:30:47,940 Taigi, kas čia vyksta? 752 00:30:47,940 --> 00:30:52,210 Numanomas deklaracija funkcija gauti teigiamą int negalioja C99. 753 00:30:52,210 --> 00:30:53,940 Taip sunku dar kartą. 754 00:30:53,940 --> 00:30:55,200 Taigi, kas yra šis preliminarus? 755 00:30:55,200 --> 00:30:57,287 Na, it turns out, kad C yra gana kvaila. 756 00:30:57,287 --> 00:30:59,912 Na, tai programavimas kalba, arba, o kompiliatorius yra. 757 00:30:59,912 --> 00:31:02,940 Ji tik žino, ką turite išmokė ją, ir tai tik 758 00:31:02,940 --> 00:31:05,640 ketina kažką žinoti Jei mokė jį prieš. 759 00:31:05,640 --> 00:31:07,960 Kitaip tariant, Pagrindinis šiuo metu, aš 760 00:31:07,960 --> 00:31:10,900 bando skambinti funkcija vadinamas gauti teigiamą int. 761 00:31:10,900 --> 00:31:14,120 Tačiau kompiliatorius nesiruošia pastebėti, kad gauti teigiamą int 762 00:31:14,120 --> 00:31:16,500 egzistuoja tol, kol linija 26. 763 00:31:16,500 --> 00:31:21,360 Ir taip, koks kompiliatorius daro, yra tiesiog klaidų, kai tik ji patenka į eilutę 17, 764 00:31:21,360 --> 00:31:23,700 sakydamas numanomą deklaraciją iš gauti teigiamą int, kuris 765 00:31:23,700 --> 00:31:27,740 yra tik išgalvotas būdas pasakyti, aš neturiu žinoti, ką gaunate teigiamą int dar. 766 00:31:27,740 --> 00:31:31,240 >> Kitos kalbos kaip Java ir Python ir Ruby gali žiūrėti į priekį. 767 00:31:31,240 --> 00:31:32,240 C nėra. 768 00:31:32,240 --> 00:31:35,110 Ir taip, kaip mes nustatyti tai yra vienas iš dviejų būdų. 769 00:31:35,110 --> 00:31:40,160 Arba viena, jei problema yra tai, kad, jeigu reikia teigiamas int nebuvo matęs, 770 00:31:40,160 --> 00:31:42,150 Na, leiskite man tiesiog perkelti jį į viršų. 771 00:31:42,150 --> 00:31:43,650 Tai būtų išspręsti šią problemą. 772 00:31:43,650 --> 00:31:46,790 Bet apskritai, tai laikoma geriau technika 773 00:31:46,790 --> 00:31:50,220 įdėti savo pagrindinę funkciją labai Top kad žmogus skaito savo kodą 774 00:31:50,220 --> 00:31:52,710 žino, ką ši programa daro, nes pagrindinis Netiksli palaidotas visi 775 00:31:52,710 --> 00:31:53,960 apačioje arba viduryje būdas. 776 00:31:53,960 --> 00:31:55,130 Tai pačiame viršuje. 777 00:31:55,130 --> 00:31:56,410 Taigi, kad nesijaučia idealus. 778 00:31:56,410 --> 00:31:58,326 Ir jūs iš tikrųjų galite gauti į situacijas, kuriose 779 00:31:58,326 --> 00:32:00,820 jei viena funkcija skambučiams kitą, kurioje raginama kitą, 780 00:32:00,820 --> 00:32:04,630 galite patekti į klausimą, kur nei gali eiti virš kito, logiškai. 781 00:32:04,630 --> 00:32:05,920 Tai tiesiog neįmanoma. 782 00:32:05,920 --> 00:32:09,290 >> Ir taip, kaip dirbti aplink tai tiesiog imtis 783 00:32:09,290 --> 00:32:13,200 Funkcija parašas, taip speak-- pirmoji eilutė, kur jis declared-- 784 00:32:13,200 --> 00:32:16,850 ir tiesiog kopijuoti, įklijuoti jį ne viršuje, bet ne su garbanotais braces-- 785 00:32:16,850 --> 00:32:17,980 tik su kabliataškiu. 786 00:32:17,980 --> 00:32:20,840 Tai tarsi maža užuomina kas turi ateiti. 787 00:32:20,840 --> 00:32:26,630 Ir iš tikrųjų, visi šiuo metu, kai mes mačiau tokius dalykus kaip standartinis io.h 788 00:32:26,630 --> 00:32:33,040 ir cs50.h panašiai tose taškas h failai yra kitų prototipai. 789 00:32:33,040 --> 00:32:35,250 Ir mes pamatysime, kad iki ilgai. 790 00:32:35,250 --> 00:32:39,340 >> Taigi trumpai tariant, kai jūs turite programą faile su daugybe funkcijų 791 00:32:39,340 --> 00:32:42,300 Be pagrindinės, jūs beveik visada nori juos deklaruoti 792 00:32:42,300 --> 00:32:45,360 tiesiog būdas pirmasis jų linija, po kabliataškius, 793 00:32:45,360 --> 00:32:48,410 pačiame viršuje failo. 794 00:32:48,410 --> 00:32:50,460 Tai buvo daug vienu metu. 795 00:32:50,460 --> 00:32:53,130 Turite klausimų? 796 00:32:53,130 --> 00:32:53,920 Turite klausimų? 797 00:32:53,920 --> 00:32:54,530 Gerai. 798 00:32:54,530 --> 00:32:59,760 >> Taigi pereikime tada į kažką panašaus kosulys. 799 00:32:59,760 --> 00:33:00,260 Oh. 800 00:33:00,260 --> 00:33:00,570 Kaip montuoti. 801 00:33:00,570 --> 00:33:01,220 Gerai. 802 00:33:01,220 --> 00:33:02,260 Kosulys. 803 00:33:02,260 --> 00:33:05,080 Taigi čia yra c įgyvendinimas programos 804 00:33:05,080 --> 00:33:07,560 mes padarėme kitą dieną Įbrėžimams, kad labai paprastai tiesiog 805 00:33:07,560 --> 00:33:08,691 sako kosulys, kosulys, kosulys. 806 00:33:08,691 --> 00:33:09,190 Gerai. 807 00:33:09,190 --> 00:33:11,136 Ir kažkas pasakė keletą prieš, kad ten 808 00:33:11,136 --> 00:33:12,760 iš valymo šį kodą iki jau būdas. 809 00:33:12,760 --> 00:33:12,880 Gerai? 810 00:33:12,880 --> 00:33:15,440 Kaip tik jūs kopijavimo ir įdėjimą tikriausiai blogas dizainas. 811 00:33:15,440 --> 00:33:18,725 Bent kartą mes gauname keturis ar penkis arba 20 kosulys, jis jaučiasi blogą praktiką. 812 00:33:18,725 --> 00:33:19,850 Mes tiesiog laikyti kopijas, įklijuoti. 813 00:33:19,850 --> 00:33:22,213 Kas yra akivaizdus sprendimas valyti Ši programa up? 814 00:33:22,213 --> 00:33:23,120 >> Auditorija: Ciklas. 815 00:33:23,120 --> 00:33:23,350 >> GARSIAKALBIS 1: Taip. 816 00:33:23,350 --> 00:33:24,070 Taigi naudoti kilpą. 817 00:33:24,070 --> 00:33:27,697 Ir mes galime naudoti už kilpos, kurį laiką kilpa, bet požiūrių skaičius. 818 00:33:27,697 --> 00:33:29,780 Ir iš tiesų, tai ką mes darome versiją čia. 819 00:33:29,780 --> 00:33:32,250 Aš vietoj perrašyti ją Į cough.c vienos versijos 820 00:33:32,250 --> 00:33:35,170 būti tik kosulys per For-kilpa. 821 00:33:35,170 --> 00:33:38,240 Viskas gerai, bet ten yra galimybė dabar rūšies pradžios 822 00:33:38,240 --> 00:33:41,630 projektuoti tai šiek tiek daugiau kaip pamoka mes mokomi prieš momentas, 823 00:33:41,630 --> 00:33:46,190 kuris yra this-- tarkime, kad aš norėjau sukurti funkcija vadinama kosulys, 824 00:33:46,190 --> 00:33:49,730 aptarkime tik už akimirką ką jis atrodys. 825 00:33:49,730 --> 00:33:51,900 Taigi, jei aš noriu kažką kosulys, aš tiesiog reikia 826 00:33:51,900 --> 00:33:53,800 naudoti spausdinimo f viduje funkcija. 827 00:33:53,800 --> 00:33:55,030 Ir iš tiesų aš esu. 828 00:33:55,030 --> 00:33:56,990 Ir iš tikrųjų, visa tai laikas, bet kuriuo metu esate 829 00:33:56,990 --> 00:33:59,000 spausdinti kažką ekranas, programuotojas 830 00:33:59,000 --> 00:34:00,610 vadinčiau, kad šalutinis poveikis. 831 00:34:00,610 --> 00:34:02,990 Tai ne man atiduodami Atgal kažkas vertės. 832 00:34:02,990 --> 00:34:06,170 Tai man atsižvelgiant tam tikrų veiksmų kad gali būti vizualiai akivaizdus. 833 00:34:06,170 --> 00:34:10,672 Tačiau ši funkcija kosulys, tai grįžti nieko remiantis jos pirmoje eilutėje? 834 00:34:10,672 --> 00:34:12,880 Ne, nes jos grąžinimo tipą yra negaliojantis, kuris tiesiog reiškia, 835 00:34:12,880 --> 00:34:14,250 tai nėra dalijamos man nieko atgal. 836 00:34:14,250 --> 00:34:16,791 Tai gali būti darai kažką vizualiai, bet tai nėra dalijamos mane 837 00:34:16,791 --> 00:34:18,639 atgal popierėlį, kaip praėjusią savaitę. 838 00:34:18,639 --> 00:34:21,310 >> Ar reikia visas žaliavas? 839 00:34:21,310 --> 00:34:21,810 Ne. 840 00:34:21,810 --> 00:34:23,134 Ir todėl negaliojančiu čia. 841 00:34:23,134 --> 00:34:25,600 Taigi tai taip pat yra natūra per-inžinerijos šią problemą. 842 00:34:25,600 --> 00:34:26,099 Teisė? 843 00:34:26,099 --> 00:34:28,820 Aš atlikau programą daugiau sudėtingesnis, mažiau eilučių kodo, 844 00:34:28,820 --> 00:34:31,889 Aš nenorėjau, kad bet daugiau funkcinis, bet tai 845 00:34:31,889 --> 00:34:34,210 būtų slenksčiu, galbūt, dėl platesnės 846 00:34:34,210 --> 00:34:36,830 kontekstas daugiau sudėtingas kodą. 847 00:34:36,830 --> 00:34:38,150 Bet ką apie tai? 848 00:34:38,150 --> 00:34:42,050 Ką aš done-- tiesiog skaitydamas Tai nežiūrėdami į komentarą 849 00:34:42,050 --> 00:34:46,076 pačiame viršuje file-- Ką Aš iš esmės padaryta čia su mano kosulys 850 00:34:46,076 --> 00:34:47,409 įgyvendinimas, kad skiriasi? 851 00:34:47,409 --> 00:34:48,327 Taip, nugaros? 852 00:34:48,327 --> 00:34:51,384 >> Auditorija: padaryti taip, jūs galite turi personažas išjungti. 853 00:34:51,384 --> 00:34:52,050 GARSIAKALBIS 1: Taip. 854 00:34:52,050 --> 00:34:53,270 Taigi, tai jaučiasi rūšies gražus. 855 00:34:53,270 --> 00:34:53,389 Teisė? 856 00:34:53,389 --> 00:34:56,600 Tai tarsi pridedant funkciją savo programa ar jūsų funkcija, šiuo atveju. 857 00:34:56,600 --> 00:34:57,830 Jis vis dar grįžta nieko. 858 00:34:57,830 --> 00:35:00,538 Tai gali turėti regimąjį šalutinį poveikį, nes jis skambina spausdinimo f. 859 00:35:00,538 --> 00:35:02,800 Bet dabar aš Parametrizuotieji funkcija, kuri 860 00:35:02,800 --> 00:35:06,470 reiškia aš nurodyta imtis įvesties tipo int ir jį vadiname n 861 00:35:06,470 --> 00:35:08,510 bet aš negalėjau ją vadina ką aš noriu. 862 00:35:08,510 --> 00:35:11,550 Tiesą sakant, tai gali būti tik kartų, kad būtų dar aiškesnis. 863 00:35:11,550 --> 00:35:13,310 Ir tada aš galėčiau tik tai pakeisti čia. 864 00:35:13,310 --> 00:35:16,450 Bet esmė yra tai, kad tai yra, kaip aš sukurti funkciją, kuri turėjo indėlį. 865 00:35:16,450 --> 00:35:19,530 Ir jei jūs prisimenate prakeiktas per galbūt internete vieną 866 00:35:19,530 --> 00:35:23,000 iš Walk-throughs, The Ketvirtasis ir paskutinis kosulys pavyzdys, 867 00:35:23,000 --> 00:35:27,150 jūs pastebėsite, čia aš apibendrinti mano kodas further-- rūšies referuojamas 868 00:35:27,150 --> 00:35:27,690 jis toliau. 869 00:35:27,690 --> 00:35:31,390 Kaip kosulys ir čiaudėti, abu yra apie tarsi sakydamas kažką ar priėmimo 870 00:35:31,390 --> 00:35:32,330 kai garso natūra. 871 00:35:32,330 --> 00:35:34,725 Išsaugoti būtų atitinkantis Scratch bloką. 872 00:35:34,725 --> 00:35:37,350 Ir taip, ką aš padariau šioje versijoje, kuriuos mes galime tik žvilgsnis, 873 00:35:37,350 --> 00:35:43,170 yra kosulys yra kaip sakydamas, [Kosulys] kosulys, ir tuo tarpu, čiaudulys yra 874 00:35:43,170 --> 00:35:44,570 tarsi sakydamas, [ACHOO]. 875 00:35:44,570 --> 00:35:46,900 Ir todėl aš apibendrinti tų, įgyvendinimas 876 00:35:46,900 --> 00:35:48,970 dabar įgyvendinti Tai bendrinis funkcija, 877 00:35:48,970 --> 00:35:51,490 pasakyti, kuris yra įdomus šiandienos reikmėms 878 00:35:51,490 --> 00:35:54,300 tik todėl, kad ji vis dar neturi grįžties tipas. 879 00:35:54,300 --> 00:35:56,398 Bet kiek įėjimai ji neturi? 880 00:35:56,398 --> 00:35:56,981 Auditorija: Du. 881 00:35:56,981 --> 00:35:57,430 GARSIAKALBIS 1: Du. 882 00:35:57,430 --> 00:35:59,263 Ir todėl, jei norite imtis dviem argumentais, 883 00:35:59,263 --> 00:36:00,710 tiesiog atskirkite juos kableliais. 884 00:36:00,710 --> 00:36:03,110 Ir jei jūs norite, tada skambinti šią funkciją, 885 00:36:03,110 --> 00:36:05,800 pastebėsite, kad jūs tiesiog skambinti tarkim, citata, citatos, 886 00:36:05,800 --> 00:36:09,090 pirmą argumentą, bendra n, už antrąjį argumentas. 887 00:36:09,090 --> 00:36:12,130 Taigi dar kartą, mes tiesiog turime dabar blokai taip, kad mes galime iš tikrųjų 888 00:36:12,130 --> 00:36:15,686 įgyvendinti kai mūsų pačių funkcijų. 889 00:36:15,686 --> 00:36:16,570 Gerai. 890 00:36:16,570 --> 00:36:19,690 Bet šiais klausimais? 891 00:36:19,690 --> 00:36:22,400 >> Taigi, dabar tegul žievelės atgal sluoksnį jei taip. 892 00:36:22,400 --> 00:36:24,840 Ir tikslas, galų gale, kitą savaitę problema rinkinys 893 00:36:24,840 --> 00:36:27,710 bus ant cryptogrophy-- iš kodavimo informacijos menas. 894 00:36:27,710 --> 00:36:30,640 Ir konkrečiai, informacija bus jums užšifruoti ar iššifruoti 895 00:36:30,640 --> 00:36:31,605 bus tekstą. 896 00:36:31,605 --> 00:36:33,980 Ir taip, kad kviečia natūra klausimas šiandien kaip gerai, 897 00:36:33,980 --> 00:36:38,480 kas vyksta po kapotu su tekstu už ASCII nuo nulio savaitę 898 00:36:38,480 --> 00:36:40,730 Ir kaip mes iš tikrųjų pradėti manipuliuoti? 899 00:36:40,730 --> 00:36:43,070 Taigi čia yra Zamyla pavadinimas. 900 00:36:43,070 --> 00:36:47,380 Ir tekstą, kuris gali būti įvestas į kaip GET styginių funkcija. 901 00:36:47,380 --> 00:36:52,540 Ir dabar pradeda, kai matote styginių kaip this-- Z-A-M-Y-L-A-- 902 00:36:52,540 --> 00:36:56,550 pradėti galvoti apie tai, kaip nors kiekvienas iš šių simbolių yra tokioje langelio jos 903 00:36:56,550 --> 00:36:57,050 pačių. 904 00:36:57,050 --> 00:36:59,460 Ir iš tiesų, per savaitę arba tiek yra laikas, kiekvienas iš šių dėžės 905 00:36:59,460 --> 00:37:04,280 ketina atstovauti labai konkrečiai iš memory-- iš atminties sukandimo blokatoriaus. 906 00:37:04,280 --> 00:37:07,050 Taigi, kiekvienas iš šių laiškų, galiausiai sudarys 8 bitus. 907 00:37:07,050 --> 00:37:10,560 Ir mes iš tikrųjų matyti, kas vyksta ant po mano kompiuteryje gaubtu. 908 00:37:10,560 --> 00:37:13,440 >> Bet ne tai pakanka tiesiog pažvelgti Zamyla 909 00:37:13,440 --> 00:37:17,520 per lęšį, kur kiekvienas iš šie raidės yra savo dėžutę. 910 00:37:17,520 --> 00:37:22,697 Ir pakankamai gražiai C mes galime prieiti prie kiekvieno iš šių dėžių tiesiogiai. 911 00:37:22,697 --> 00:37:25,530 Taigi, jei norite gauti pirmą laiškas savo vardą, super lengva C 912 00:37:25,530 --> 00:37:28,410 Jei norite gauti paskutinis laiškas, super lengva, taip pat 913 00:37:28,410 --> 00:37:30,240 su naujos sintaksės gabalas. 914 00:37:30,240 --> 00:37:36,250 >> Taigi, aš ruošiuosi eiti į priekį į CS50 IDE ir atverti styginių nulinį tašką C. 915 00:37:36,250 --> 00:37:40,270 Ir šiame pavyzdyje čia, yra daug naujų dalykų pora vyksta. 916 00:37:40,270 --> 00:37:44,360 Taigi pirmoji eilutė 19, mes nematė šio before-- get eilutę. 917 00:37:44,360 --> 00:37:49,840 Taigi tik kaip greitai normalumas patikrinti, jei kas nors galėtų pasiūlyti iki žodžiu 918 00:37:49,840 --> 00:37:52,662 profanas paaiškinimas kas vyksta vadovaujantis 19. 919 00:37:52,662 --> 00:37:55,370 Kaip tik išversti į tai Anglų, kad kambarioku ne CS50 920 00:37:55,370 --> 00:37:56,416 gali suprasti. 921 00:37:56,416 --> 00:37:56,916 Taip. 922 00:37:56,916 --> 00:37:59,749 >> AUDITORIJA: Have vartotojo įvestų seka ir laikyti jį kintamu s. 923 00:37:59,749 --> 00:38:01,934 924 00:38:01,934 --> 00:38:02,600 GARSIAKALBIS 1: Geras. 925 00:38:02,600 --> 00:38:05,579 Ar naudotojo įvesties eilutę ir laikyti jį kintamu s. 926 00:38:05,579 --> 00:38:06,120 Tai puiku. 927 00:38:06,120 --> 00:38:08,090 Taigi ant dešinėje pusėje, mes vadiname GET eilutė. 928 00:38:08,090 --> 00:38:10,340 Tai grąžina vertę kad negavau priskirti 929 00:38:10,340 --> 00:38:14,230 iš dešinės pusės į kairę ranką pusėje į kintamojo vadinamas s ŠTAI 930 00:38:14,230 --> 00:38:15,950 skirta saugoti eilutę. 931 00:38:15,950 --> 00:38:16,800 Būtent. 932 00:38:16,800 --> 00:38:20,000 >> Taigi dabar linija 22, už Į eilutę 21 komentaras, 933 00:38:20,000 --> 00:38:22,780 Akivaizdu, spaudinius, eilutę vienas simbolis eilutėje. 934 00:38:22,780 --> 00:38:23,740 Bet kaip? 935 00:38:23,740 --> 00:38:27,040 Taigi, visų pirma, mes inicijuoti I 0. 936 00:38:27,040 --> 00:38:31,061 Ir tada, kaip mes gauti iš Zamyla vardo pabaiga? 937 00:38:31,061 --> 00:38:32,810 Na, pabaigoje Zamyla pavadinimas, galėčiau 938 00:38:32,810 --> 00:38:38,151 rankiniu būdu įveskite paskutinis simbolis jos vardas kažkaip, arba jo numeris. 939 00:38:38,151 --> 00:38:38,650 Teisė? 940 00:38:38,650 --> 00:38:43,500 Jei mes einame atgal here-- Z-A-M-L-- Y-L-A--, kad galėčiau įvesti. 941 00:38:43,500 --> 00:38:47,340 Kokia puslapis Zamyla paskutinis laiškas? 942 00:38:47,340 --> 00:38:52,517 Jei tai 0-- kalbėti tarsi programmer-- 0, 1, 2, 3, 4, 5, 943 00:38:52,517 --> 00:38:56,570 Aš heard-- taip iš tiesų, paskutinį laišką į Zamyla vardas yra šeštas, 944 00:38:56,570 --> 00:38:58,890 bet jei mes tikėtis iš 0, tai bus skaičius 5. 945 00:38:58,890 --> 00:39:01,320 Taigi keep that in mind čia. 946 00:39:01,320 --> 00:39:04,929 >> Pasirodo, ten yra funkcija C vadinamas strlen ir atgal per dieną 947 00:39:04,929 --> 00:39:06,720 ir iki šios dienos vis dar programuotojų daug 948 00:39:06,720 --> 00:39:09,524 pasirinkti sinchronizuoti vardus jų funkcijos, kurios skamba žodžiai 949 00:39:09,524 --> 00:39:10,440 jie bando pasakyti. 950 00:39:10,440 --> 00:39:12,590 Taigi strlen yra eilutės ilgis. 951 00:39:12,590 --> 00:39:18,168 Ir kas taip būtų eilutė ilgis S grįžti, kai Zamyla yra įvesties? 952 00:39:18,168 --> 00:39:19,569 >> Auditorija: Penki. 953 00:39:19,569 --> 00:39:22,090 >> GARSIAKALBIS 1: Z-A-M-Y-L. Šeši. 954 00:39:22,090 --> 00:39:22,590 Teisė? 955 00:39:22,590 --> 00:39:23,940 Kokia Zamyla vardo ilgis? 956 00:39:23,940 --> 00:39:24,440 Teisė? 957 00:39:24,440 --> 00:39:26,240 Ir tik iš tikrųjų, šešių raidžių. 958 00:39:26,240 --> 00:39:26,740 Teisė? 959 00:39:26,740 --> 00:39:28,940 Ir taip, ką tai reiškia mūsų kilpa? 960 00:39:28,940 --> 00:39:32,130 Mes ketiname pereiti nuo 0 iki šešių, kuris 961 00:39:32,130 --> 00:39:33,650 ketina duoti mums penkis iteracijų. 962 00:39:33,650 --> 00:39:34,890 Ką mes darome ant kiekvienos iteracijos? 963 00:39:34,890 --> 00:39:36,870 Na, proc C, kažkas atspėti kitą dieną, 964 00:39:36,870 --> 00:39:38,710 tai, ką vietos rezervavimo ženklą? 965 00:39:38,710 --> 00:39:39,335 >> Auditorija: Char. 966 00:39:39,335 --> 00:39:40,293 GARSIAKALBIS 1: Tiesiog char. 967 00:39:40,293 --> 00:39:42,877 Taigi vienas character-- nėra daug simbolių, pavyzdžiui eilutę. 968 00:39:42,877 --> 00:39:45,251 Ir tada čia yra nauja linija kad mes turime spausdinti. 969 00:39:45,251 --> 00:39:46,580 Ir tada čia nauja sintaksė. 970 00:39:46,580 --> 00:39:51,130 Jei norite spausdinti i-osios personažas styginių S, taip sakant, 971 00:39:51,130 --> 00:39:54,060 galite tiesiog pasakyti Pavadinimas styginių S, 972 00:39:54,060 --> 00:39:58,230 ir tada atidaryti kvadratinių laikiklį ir tada uždaryti kvadratinių laikiklį, su i 973 00:39:58,230 --> 00:39:58,780 vidurinis. 974 00:39:58,780 --> 00:40:01,430 Ir tai tipo gražus tuo, kad Jis rūšies atrodo aikštėje 975 00:40:01,430 --> 00:40:06,210 kaip kvadratų, kurie Zamyla s simbolių egzistuoja tame paveikslėlyje ten. 976 00:40:06,210 --> 00:40:09,970 >> Taigi, jei aš iš tikrųjų paleisti tai Dabar pažiūrėkime, kas atsitinka. 977 00:40:09,970 --> 00:40:15,190 Padaryti string 0 dot velniop styginių 0, tada aš 978 00:40:15,190 --> 00:40:16,720 ketina įvesti Zamyla vardu. 979 00:40:16,720 --> 00:40:19,428 Nėra laiku, nes aš ne naudoti spausdinimo f, bet tai gerai. 980 00:40:19,428 --> 00:40:20,660 Aš tiesiog žinau, ką daryti. 981 00:40:20,660 --> 00:40:23,240 Ir iš tiesų, jis išspausdina Zamyla pavadinimas, po vieną eilutėje. 982 00:40:23,240 --> 00:40:25,760 >> Dabar galime būti šiek tiek neapgalvotas. 983 00:40:25,760 --> 00:40:28,461 Tarkime, kad aš nežinojau apie strlen ir aš suprato, 984 00:40:28,461 --> 00:40:31,460 gerai, niekas ketina turėti pavadinimas didesnis nei kaip 50 simbolių. 985 00:40:31,460 --> 00:40:36,360 Vykime į priekį ir perkompiliuoti tai ir pakartotas, o tada įveskite Zamyla 986 00:40:36,360 --> 00:40:37,160 dar kartą. 987 00:40:37,160 --> 00:40:40,850 Logiškai mąstant, kas yra Programa ketiname bandyti spausdinti? 988 00:40:40,850 --> 00:40:49,545 Z-A-M-Y-L-A, tada, kaip 45 Nežinoma baitų atminties. 989 00:40:49,545 --> 00:40:51,670 Ir iš tiesų, mes grįžti į šį atminties idėja. 990 00:40:51,670 --> 00:40:54,180 Bet tik logiškai, jei Zamyla pavadinimas tai ilgas, 991 00:40:54,180 --> 00:40:56,450 kaip už paveikslėlyje čia tai, ką mes sakydamas 992 00:40:56,450 --> 00:40:59,810 yra išlaikyti spausdinimą, išlaikyti spausdinimą, nuolat spausdinimas, išlaikyti spausdinimą, išlaikyti spausdinimą, 993 00:40:59,810 --> 00:41:03,781 visi į 50 charakterio būdas, kuri, kas žino, kas nutiks. 994 00:41:03,781 --> 00:41:05,030 Tad tikrai pažvelgti. 995 00:41:05,030 --> 00:41:06,720 Leiskite įveskite Zamyla. 996 00:41:06,720 --> 00:41:07,250 Įdomu. 997 00:41:07,250 --> 00:41:08,190 Mes pasisekė. 998 00:41:08,190 --> 00:41:09,700 Tiesiog visa krūva tarpais. 999 00:41:09,700 --> 00:41:09,930 Oh. 1000 00:41:09,930 --> 00:41:11,120 Yra vienas funky simbolių. 1001 00:41:11,120 --> 00:41:14,577 Jis atrodo lyg keistą klausimą pažymėti ten, bet yra Zamyla pavadinimas. 1002 00:41:14,577 --> 00:41:15,660 Leiskite gauti tikrai neapgalvotas. 1003 00:41:15,660 --> 00:41:20,000 Kaip apie mūsų atsispausdinti 500 blokai į nežinią? 1004 00:41:20,000 --> 00:41:24,380 Vykime į priekį ir padaryti tai , taip pat ir tada iš naujo paleisti. 1005 00:41:24,380 --> 00:41:27,980 Ir tegul visą ekraną tai, nes turime daugiau erdvės. 1006 00:41:27,980 --> 00:41:30,460 Zamyla. 1007 00:41:30,460 --> 00:41:31,830 Vėl pasisekė. 1008 00:41:31,830 --> 00:41:33,070 >> Dare mes gauname daugiau beatodairiškai? 1009 00:41:33,070 --> 00:41:36,070 Leiskite gauti daugiau beatodairiškai. 1010 00:41:36,070 --> 00:41:39,350 50000 simbolių. 1011 00:41:39,350 --> 00:41:41,390 Labiausiai tai tikrai nėra gera idėja. 1012 00:41:41,390 --> 00:41:41,890 Gerai. 1013 00:41:41,890 --> 00:41:42,990 Padaryti eilutę 0. 1014 00:41:42,990 --> 00:41:44,720 Tai bus paskutinis mūsų 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 GERAI. 1019 00:41:50,680 --> 00:41:54,407 Taigi, mano atmintis tikrai tuščia dabar, kuris yra iš tikrųjų rūšies patogu. 1020 00:41:54,407 --> 00:41:55,990 Ką aš bandau gauti to-- visą teisę. 1021 00:41:55,990 --> 00:41:57,614 Ir dabar aš tik ketina gauti beatodairiškai. 1022 00:41:57,614 --> 00:41:58,570 500.000. 1023 00:41:58,570 --> 00:42:03,860 Make-- tegul visą ekraną ją. 1024 00:42:03,860 --> 00:42:04,990 Įveskite. 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 Čia mes eiti. 1028 00:42:13,390 --> 00:42:15,610 Neįsivaizduoju, kas tai yra, bet tai skamba neblogai. 1029 00:42:15,610 --> 00:42:16,110 Gerai. 1030 00:42:16,110 --> 00:42:20,322 Ir iš tiesų, netrukus, jei esate vienas pasisekė mažai darbo valandų 1031 00:42:20,322 --> 00:42:22,780 ir problema nustatyti vieną, jums gali labai gerai susidurti tai. 1032 00:42:22,780 --> 00:42:25,490 Segmentavimas kaltė tiesų turi gerai apibrėžtą prasmę. 1033 00:42:25,490 --> 00:42:28,450 Tai reiškia tam tikrą rūšies klaidų susijusi su atminties segmentą. 1034 00:42:28,450 --> 00:42:30,490 Ir profanas sąlygomis, tai reiškia, kad mes palietė 1035 00:42:30,490 --> 00:42:34,780 memory-- mes naudojome RAM mano kompiuteryje kad aš ne taip turėtų turėjo prieigą prie. 1036 00:42:34,780 --> 00:42:37,050 Ir tai, kas tiek galingas ir pavojingas 1037 00:42:37,050 --> 00:42:39,910 apie C yra, kad jūs iš tikrųjų turi užtikrinti nekliudomą prieigą 1038 00:42:39,910 --> 00:42:45,910 į savo programą atmintyje visas arba baitų arba RAM konkrečiau. 1039 00:42:45,910 --> 00:42:49,510 >> Taigi, nors Zamyla pavadinimas yra tik šeši rašmenys, 1040 00:42:49,510 --> 00:42:51,450 Aš vis dar gali eiti bet kur atmintyje noriu. 1041 00:42:51,450 --> 00:42:53,491 Ir kaip panaikinti, jei jūs kada nors skaityti šiek tiek straipsnį 1042 00:42:53,491 --> 00:42:55,610 per metus apie kai serveris arba kai programa 1043 00:42:55,610 --> 00:42:58,654 gauti krekingo arba nulaužė tai imtasi privalumas kažką 1044 00:42:58,654 --> 00:43:00,820 vadinama buferio išnaudoti, kad mes iš tikrųjų 1045 00:43:00,820 --> 00:43:04,970 kalbėti apie po kelių savaičių, tai paprastai kalbama kažkaip tracking 1046 00:43:04,970 --> 00:43:09,090 kompiuteris į vyksta gerai anapus atminties ribų 1047 00:43:09,090 --> 00:43:11,410 kad ji turėtų turėti ir rasti kažką sultingas 1048 00:43:11,410 --> 00:43:13,530 tuo, kad memory-- slaptažodis, ko gero, yra būdas 1049 00:43:13,530 --> 00:43:16,990 apeiti kai serijinį numerį Tikrinti, ar tiesiog paprastai gali 1050 00:43:16,990 --> 00:43:20,360 apgauti kompiuteris vykdant kodas, kuris nebuvo skirtas. 1051 00:43:20,360 --> 00:43:22,360 Bet tegul grįžti į realybė tik akimirkai 1052 00:43:22,360 --> 00:43:24,550 kur ši programa buvo įgyvendinamos strlen, 1053 00:43:24,550 --> 00:43:26,110 ir pristatyti vieną dalyką čia. 1054 00:43:26,110 --> 00:43:30,030 Kas naujo tarp šių trijų geriausių linijų? 1055 00:43:30,030 --> 00:43:30,910 >> Taigi styginių dot val. 1056 00:43:30,910 --> 00:43:35,490 Pasirodo, ten Ši biblioteka vadinama Styginių Dot O ar styginių biblioteka 1057 00:43:35,490 --> 00:43:38,490 kurio antraštė failą, taip sakant, yra eilutė taškas h, kuri suteikia man 1058 00:43:38,490 --> 00:43:40,860 Prieiga prie šios strlen funkcija. 1059 00:43:40,860 --> 00:43:43,841 Jei aš praleisti, kad kompiliatorius yra ketina klykauti ne man tam tikra forma. 1060 00:43:43,841 --> 00:43:44,590 Bet žinote ką? 1061 00:43:44,590 --> 00:43:46,090 Dabar galime gauti tikrai niuansų. 1062 00:43:46,090 --> 00:43:50,820 Vadovaujantis 22, kažkas natūra iš inefficient-- blogai suprojektuota, 1063 00:43:50,820 --> 00:43:53,990 arguably-- apie šio kodo eilutę. 1064 00:43:53,990 --> 00:43:56,280 Prisiminkite, kaip už-kilpa yra įgyvendinamos 1065 00:43:56,280 --> 00:44:00,140 ir kokių veiksmų pasikartoti ir vėl ir again-- iniciacijos, 1066 00:44:00,140 --> 00:44:04,110 su sąlyga,, kodas, kad paleidžiama vykdyti, tada prieaugį 1067 00:44:04,110 --> 00:44:07,880 arba pokytis, tada sąlyga, tada kodas, tada pokytis, tada 1068 00:44:07,880 --> 00:44:11,280 su sąlyga,, tada kodas, tada kaita, ir taip toliau. 1069 00:44:11,280 --> 00:44:15,320 Taigi, kas gali būti šiek tiek jaudina ar blogai padaryta čia? 1070 00:44:15,320 --> 00:44:16,387 Taip, mėlynai. 1071 00:44:16,387 --> 00:44:18,220 Auditorija: strlen yra vadinama daug, daug kartų. 1072 00:44:18,220 --> 00:44:20,654 1073 00:44:20,654 --> 00:44:21,320 GARSIAKALBIS 1: Taip. 1074 00:44:21,320 --> 00:44:23,700 Taigi strlen vadinamas daug kartų, bet kas 1075 00:44:23,700 --> 00:44:27,113 iš Zamyla vardo į ilgį Pirmą kartą kilpa vykdo? 1076 00:44:27,113 --> 00:44:27,860 >> Auditorija: šeši. 1077 00:44:27,860 --> 00:44:28,110 >> GARSIAKALBIS 1: šeši. 1078 00:44:28,110 --> 00:44:30,976 Na, kas yra jos vardas ilgis antrą kartą vykdo kodas? 1079 00:44:30,976 --> 00:44:31,432 >> Auditorija: šeši. 1080 00:44:31,432 --> 00:44:31,890 >> GARSIAKALBIS 1: Gerai. 1081 00:44:31,890 --> 00:44:32,720 Tai dar šeši. 1082 00:44:32,720 --> 00:44:33,220 Teisė? 1083 00:44:33,220 --> 00:44:35,260 Zarla pavadinimas neturi pasikeitė, net jei aš ieškau 1084 00:44:35,260 --> 00:44:38,240 ne tik daliai jos pavadinimo raides. 1085 00:44:38,240 --> 00:44:41,349 Ir taip faktas, kad aš iš tikrųjų klausia šį klausimą, kas 1086 00:44:41,349 --> 00:44:44,640 iš Zamyla ilgis, koks ilgis iš Zamyla, kas iš Zamyla ilgis, 1087 00:44:44,640 --> 00:44:47,990 šešių atskirų kartų, arba septyni net tik kvailas, 1088 00:44:47,990 --> 00:44:50,390 nes tai nesikeičiantis, kad atsakymas. 1089 00:44:50,390 --> 00:44:53,550 Ir taip, ką aš iš tikrųjų galėtų padaryti, tai this-- Styga vieną 1090 00:44:53,550 --> 00:44:55,680 Turiu šiek tiek geriau versiją čia. 1091 00:44:55,680 --> 00:45:00,110 There-- whoops-- styginių du turiu minimaliai geriau versija, kurioje 1092 00:45:00,110 --> 00:45:05,010 Aš this--, o ne tik Inicijuojama i 0, aš taip pat su kableliu 1093 00:45:05,010 --> 00:45:07,990 paskelbti antrą kintamasis vadinamas n-- Aš neturiu pasakyti int dar kartą. 1094 00:45:07,990 --> 00:45:09,220 Aš ne iš tikrųjų. 1095 00:45:09,220 --> 00:45:10,380 Bet sakau n. 1096 00:45:10,380 --> 00:45:13,610 Ir tada aš inicijuoti N Norėdami iš n strlen, taip, kad dabar 1097 00:45:13,610 --> 00:45:17,110 kiek kartų jis strlen gauti įvykdyta iš viso? 1098 00:45:17,110 --> 00:45:17,610 Tik vieną kartą. 1099 00:45:17,610 --> 00:45:20,257 Ir todėl tai, ką mes vadiname anksčiau apie geresnį dizainą. 1100 00:45:20,257 --> 00:45:23,090 Tiesą sakant, kai jūsų kodas yra teisingas, grįžta ir galvoju pro 1101 00:45:23,090 --> 00:45:26,820 aš naudoju tiek mažai, atminties arba kelias sekundes 1102 00:45:26,820 --> 00:45:30,409 ar milisekundžių kompiuterio laiką kaip galima įgyvendinti kai kurių problemų? 1103 00:45:30,409 --> 00:45:32,200 Ir aš ruošiuosi pereikite aukštyn ir tik paminėti 1104 00:45:32,200 --> 00:45:34,283 kad ten tai paminėjimas iš nulio šioje versijoje, 1105 00:45:34,283 --> 00:45:36,390 bet mes grįžti į, kad iki ilgai. 1106 00:45:36,390 --> 00:45:41,010 Nes dabar, tegul pažvelgti ne, kur tai vyksta veda mus. 1107 00:45:41,010 --> 00:45:44,110 Taigi vienas, ji Pasirodo, kad dabar, kad mes turime galimybę 1108 00:45:44,110 --> 00:45:46,860 pažvelgti į atskirus simbolius, mes galime išnaudoti kažką 1109 00:45:46,860 --> 00:45:50,807 nuo savaitės 0, kad buvo labai paslaptinga ir rūšiuoti neįdomu tuo metu. 1110 00:45:50,807 --> 00:45:53,390 Bet dabar, ypač kai mes gauti kriptografija per savaitę, 1111 00:45:53,390 --> 00:45:54,820 tai bus gana galingas. 1112 00:45:54,820 --> 00:45:57,450 Pasirodo, kad su kai DUOMENŲ types-- ints ir plūdės 1113 00:45:57,450 --> 00:46:00,300 ir simbolių ir įsipareigojimų ir kita Quake kai kurie iš jų 1114 00:46:00,300 --> 00:46:02,800 gali būti labai lengvai konvertuojami į kitą. 1115 00:46:02,800 --> 00:46:05,840 >> Pavyzdžiui, kai mes kalbėjome apie ASCII šiek tiek laiko ago-- čia 1116 00:46:05,840 --> 00:46:07,796 Kapitalo raidės nuo A per M taškas, taškas, 1117 00:46:07,796 --> 00:46:12,530 dot-- sakėme, kad yra kartografavimo tarp šių raidžių ir skaičių. 1118 00:46:12,530 --> 00:46:14,970 Ir iš tiesų, tai pasakytina už mažosiomis raidėmis, taip pat. 1119 00:46:14,970 --> 00:46:17,470 Mažosios raidės a yra 97, kapitalas a yra 65. 1120 00:46:17,470 --> 00:46:20,860 Ir ten ASCII numeris kuri yra tik tai kartografavimo 1121 00:46:20,860 --> 00:46:23,240 sistema, skirta visų šių kitų raides. 1122 00:46:23,240 --> 00:46:25,030 Taigi, ką tai reiškia? 1123 00:46:25,030 --> 00:46:28,390 Na, aš ruošiuosi eiti į priekį ir atvira iki nekilnojamojo greitai kažką vadinama 1124 00:46:28,390 --> 00:46:31,240 ASCII 0, dauguma, kuri yra komentarai. 1125 00:46:31,240 --> 00:46:33,860 Ir vėl internete galite visada žvilgsnis per komentarus. 1126 00:46:33,860 --> 00:46:36,180 >> Ir pažvelgti, kas tai ketina daryti. 1127 00:46:36,180 --> 00:46:38,410 Taigi atšoko pagrindinę funkciją. 1128 00:46:38,410 --> 00:46:41,490 Aš sunkiai koduojamų skaičius tik dabar, nes aš žinau, ką darau. 1129 00:46:41,490 --> 00:46:42,950 Aš žinau, ką aš noriu pamatyti čia. 1130 00:46:42,950 --> 00:46:45,220 Ir aš inicializuoti I 65. 1131 00:46:45,220 --> 00:46:48,490 Ir aš skaičiuoti iki per 26 raides iš viso. 1132 00:46:48,490 --> 00:46:52,990 Ir ką aš ketinu spausdinti vieną liniją tuo metu, 1133 00:46:52,990 --> 00:46:54,930 jei galite interpretuoti Tai pabrėžė liniją? 1134 00:46:54,930 --> 00:46:55,970 Ką gauna atspausdintas? 1135 00:46:55,970 --> 00:46:56,797 Taip. 1136 00:46:56,797 --> 00:46:57,264 >> Auditorija: Ar jūs ketinate spausdinti raidę, 1137 00:46:57,264 --> 00:46:59,805 atitinka žemėlapyje laiškas vertė ir sveikas vertė? 1138 00:46:59,805 --> 00:47:01,199 1139 00:47:01,199 --> 00:47:01,990 GARSIAKALBIS 1: Būtent. 1140 00:47:01,990 --> 00:47:04,740 Aš ruošiuosi spausdinti laišką atitinkantis sveikasis verte, 1141 00:47:04,740 --> 00:47:06,131 ir atvirkščiai, taip. 1142 00:47:06,131 --> 00:47:08,880 Na tai, kas minėta, yra tik už char vietos rezervavimo. 1143 00:47:08,880 --> 00:47:09,490 Jis vis dar yra. 1144 00:47:09,490 --> 00:47:12,280 Tai, žinoma, yra vietos rezervavimo Tam, kad int-- nėra nauja linija. 1145 00:47:12,280 --> 00:47:18,140 Ir dabar pastebėsite, mano pirmasis vertę, Aš įjungdami į tos vietos rezervavimo ženklą 1146 00:47:18,140 --> 00:47:22,320 yra ne tik I. aš sakau, skliausteliuose, char Aš, 1147 00:47:22,320 --> 00:47:26,700 kuri suskliaustos char yra sakau kompiliatorius, gydyti I 1148 00:47:26,700 --> 00:47:28,490 ne kaip, kur yra, kuris yra skaičius. 1149 00:47:28,490 --> 00:47:30,490 Gydyti kaip faktinė pobūdžio. 1150 00:47:30,490 --> 00:47:34,490 Kadangi antrajame vertės Aš įjungdami in-- I-- turėtų būti tik skaičius. 1151 00:47:34,490 --> 00:47:38,140 >> Taigi, jei aš kaupia šią program-- todėl tai padaryti ASCII 0, 1152 00:47:38,140 --> 00:47:41,720 dot velniop ASCII 0-- aš tiesiog gauti Šis patogus mažai diagrama, kad 1153 00:47:41,720 --> 00:47:44,950 rodo man visas galimas rodymo be galvoti, kad 1154 00:47:44,950 --> 00:47:46,450 per arba figure it out on my own. 1155 00:47:46,450 --> 00:47:48,783 Ir aš taip pat spausdinti, pastebėti mažąsias raides, 1156 00:47:48,783 --> 00:47:51,410 nes keletą eilučių vėliau, aš Taip pat atsispausdinti šią kartografavimo 1157 00:47:51,410 --> 00:47:53,737 taip pat, kurie yra tiesiog pasakyti, kad, kai jūs suprantate 1158 00:47:53,737 --> 00:47:55,570 Kas vyksta po dangtis, jūs galite 1159 00:47:55,570 --> 00:47:57,111 automatiškai konvertuoti pirmyn ir atgal. 1160 00:47:57,111 --> 00:48:00,160 Ir iš tiesų, jei kas nors iš jūsų kada tai padarė pradinėje mokykloje 1161 00:48:00,160 --> 00:48:03,490 ar girdėjote apie ką nors mythically atsižvelgiant pastabą 1162 00:48:03,490 --> 00:48:05,620 ir pakeleivingi jį savo ar jos draugas klasėje, 1163 00:48:05,620 --> 00:48:08,300 bet jūs plakta laiškus kaip tampa B 1164 00:48:08,300 --> 00:48:11,240 ir B tampa C arba kažką sudėtingesnis nei, kad gerai, 1165 00:48:11,240 --> 00:48:13,410 kaip jums eiti apie įgyvendinti, kad kaip vaikas? 1166 00:48:13,410 --> 00:48:16,340 Na, jūs tiesiog rūšies žinoti A tampa B, B, C, tampa, 1167 00:48:16,340 --> 00:48:19,700 bet matematiškai, kas buvo, kad vaikas daro? 1168 00:48:19,700 --> 00:48:22,050 Kas jums buvo pridėti prie kiekvieno laiško? 1169 00:48:22,050 --> 00:48:23,340 Efektyviai, 1. 1170 00:48:23,340 --> 00:48:27,740 >> Taigi, kai jūs pakeičiate A į tašką B, tai lyg keičiasi 65 iki 66, 1171 00:48:27,740 --> 00:48:29,590 kuris matematiškai reiškia tiesiog pridėkite 1 d. 1172 00:48:29,590 --> 00:48:33,300 Ir taip, jei buvo įgyvendinti kad mažai apgaulinga technika 1173 00:48:33,300 --> 00:48:36,380 Jūsų mokytojas kodas, galite gali daryti būtent, kad tik 1174 00:48:36,380 --> 00:48:38,552 pridedant vieną raidę kartu. 1175 00:48:38,552 --> 00:48:40,260 Taigi, prieš ilgas, mes ketiname pamatyti, kaip mes 1176 00:48:40,260 --> 00:48:43,300 gali pasinaudoti, kad iš tikrųjų tikrai peštynės ir Rozszyfrować 1177 00:48:43,300 --> 00:48:43,991 informacija. 1178 00:48:43,991 --> 00:48:47,240 Tuo tarpu, žinau, kad mes pradėjome pristatyti pora kitų bibliotekų 1179 00:48:47,240 --> 00:48:48,990 here-- styginių vieną šiandien. 1180 00:48:48,990 --> 00:48:51,180 Ir labai naudinga svetainė Tikimės, kad jūs rasite 1181 00:48:51,180 --> 00:48:55,010 vadinamas reference.cs50.net, kuris mokymo personalo kartu sudėjus, 1182 00:48:55,010 --> 00:48:57,510 taip, kad jei norite, kad ieškoti kaip strlen darbus, 1183 00:48:57,510 --> 00:48:59,300 galite pradėti rašyti Funkcija vardas, 1184 00:48:59,300 --> 00:49:02,890 spustelėkite strlen ten, ir tada mažiau patogi paaiškinimas 1185 00:49:02,890 --> 00:49:03,700 ketina pasirodyti. 1186 00:49:03,700 --> 00:49:06,880 Arba, jei norite, kad pareigūną "Linux" pagrindu paaiškinimas 1187 00:49:06,880 --> 00:49:08,945 jūs galite spustelėti daugiau Nežiūriu viršuje dešinėje, ir ji 1188 00:49:08,945 --> 00:49:12,070 pristatys tą pačią informaciją, bet daugiau sudėtingų sąlygų. 1189 00:49:12,070 --> 00:49:15,070 Štai naudingas šaltinis, kad iš tikrųjų žino, kas viskas veikia. 1190 00:49:15,070 --> 00:49:17,320 >> Kitą kartą mes ketiname pažvelgti Ovaltine išvaizdą 1191 00:49:17,320 --> 00:49:20,070 ir daugiau, ir pristatyti save į kriptografiją pasaulyje. 1192 00:49:20,070 --> 00:49:21,930 Iki to laiko, matysime vėliau šią savaitę. 1193 00:49:21,930 --> 00:49:23,390 Ir dabar, Colton Ogden. 1194 00:49:23,390 --> 00:49:26,730 See you trečiadienį. 1195 00:49:26,730 --> 00:49:30,216 >> [Muzikos grojimo] 1196 00:49:30,216 --> 00:49:33,702 >> [Muzikos grojimo] 1197 00:49:33,702 --> 00:49:38,682 1198 00:49:38,682 --> 00:49:42,200 >> GARSIAKALBIS 1: Kas [Bleep] tu darai? 1199 00:49:42,200 --> 00:49:45,720 >> GARSIAKALBIS 1: aš valgyti mano desertas? 1200 00:49:45,720 --> 00:49:47,160 Kaip jį valgyti? 1201 00:49:47,160 --> 00:49:47,860 Su savo rankas? 1202 00:49:47,860 --> 00:49:54,050 1203 00:49:54,050 --> 00:49:57,940 >> [Muzikos grojimo] 1204 00:49:57,940 --> 00:50:03,453