1 00:00:08,119 --> 00:00:11,630 [Powered by Google Translate] David J. Malan: Gerai, tai yra CS50, ir tai yra 2 00:00:11,630 --> 00:00:14,790 pradžia savaitę du. 3 00:00:14,790 --> 00:00:16,300 Ačiū. 4 00:00:16,300 --> 00:00:19,000 Pradėkime čia su telefonu. 5 00:00:19,000 --> 00:00:30,005 Aš apie surinkite 617-bug-CS50. 6 00:00:30,005 --> 00:00:31,230 CS50: Tai CS50. 7 00:00:31,230 --> 00:00:33,930 Shuttle Boy, paspauskite 1. 8 00:00:33,930 --> 00:00:36,660 Pradėti iš naujo, paspauskite 9. 9 00:00:36,660 --> 00:00:38,180 David J. Malan: Taigi jis kreipėsi Shuttle Boy, paspauskite 1. 10 00:00:38,180 --> 00:00:41,560 Taigi, mes ketiname paspauskite 1. 11 00:00:41,560 --> 00:00:43,230 CS50: Kas yra jūsų kilmė? 12 00:00:43,230 --> 00:00:45,340 Quad, paspauskite 1. 13 00:00:45,340 --> 00:00:47,080 Mather, paspauskite 2. 14 00:00:47,080 --> 00:00:49,240 Boylston, paspauskite 3. 15 00:00:49,240 --> 00:00:51,280 Lamont, paspauskite 4. 16 00:00:51,280 --> 00:00:53,210 Atm salė, paspauskite 5. 17 00:00:53,210 --> 00:00:55,660 Pradėti iš naujo, paspauskite 0. 18 00:00:55,660 --> 00:00:59,590 David J. Malan: Mes paspauskite 1 quad. 19 00:00:59,590 --> 00:01:03,610 CS50: Kitas uostą palieka tai labai minučių at 1:10 PM, ir 20 00:01:03,610 --> 00:01:09,820 01:20, 1:30 PM 1:40. 21 00:01:09,820 --> 00:01:12,030 Tai CS50. 22 00:01:12,030 --> 00:01:15,570 >> David J. Malan: Taigi tai yra CS50 balsas. 23 00:01:15,570 --> 00:01:18,030 Ir tai iš galutinių projektų rūšių, pavyzdžiui, 24 00:01:18,030 --> 00:01:19,500 Pavyzdžiui, galite atsikąsti link 25 00:01:19,500 --> 00:01:20,600 Semestro pabaigoje. 26 00:01:20,600 --> 00:01:23,840 Kad, pavyzdžiui, shuttleboy.cs50.net egzistuoja - 27 00:01:23,840 --> 00:01:28,200 iš tikrųjų projektas, kad aš pirmą kartą rašė pavartojus CS51 28 00:01:28,200 --> 00:01:29,740 atgal, kai man buvo bakalauro. 29 00:01:29,740 --> 00:01:32,250 Ir įkvėpimo čia buvo anuomet, visi jie turėjo 30 00:01:32,250 --> 00:01:34,320 išspausdinti maršrutiniai autobusai tvarkaraščiai, ir ten nebuvo 31 00:01:34,320 --> 00:01:35,970 sąvoka ieškote dalykų internete. 32 00:01:35,970 --> 00:01:38,730 Ir todėl aš tarsi balandį, išpilamas per vieną savaitgalį 33 00:01:38,730 --> 00:01:41,460 spausdinami tvarkaraštį, ir perkeltas jį į kompiuterio programą. 34 00:01:41,460 --> 00:01:43,790 Tuo metu atsitiko turi būti parašyta kompiuterinė programa 35 00:01:43,790 --> 00:01:47,110 C. Ir jūs iš tikrųjų bėgo įvesdami Shuttle Boy 36 00:01:47,110 --> 00:01:48,600 mirksėti greitai, kaip mes jau daro iki šiol. 37 00:01:48,600 --> 00:01:50,450 Bet per tuos metus, tai išsivystė į trumpąją 38 00:01:50,450 --> 00:01:51,390 pranešimų bot. 39 00:01:51,390 --> 00:01:53,970 Jis išsivystė visai neseniai į šią svetainę, į 40 00:01:53,970 --> 00:01:57,720 SMS įrankis, taip pat į šio balso pagrįsta priemonė. 41 00:01:57,720 --> 00:02:00,170 Ir tai yra užuomina į dalykų rūšių, kad jūs galite 42 00:02:00,170 --> 00:02:02,380 padaryti sau semestro pabaigoje. 43 00:02:02,380 --> 00:02:05,490 >> Pavyzdžiui, ten, SMS versija Shuttle Boy vyksta 44 00:02:05,490 --> 00:02:06,510 veikti taip. 45 00:02:06,510 --> 00:02:10,880 Jei į savo mobilųjį telefoną, galite nusiųsti tekstinį pranešimą 41.411 46 00:02:10,880 --> 00:02:14,300 tada siųsti specialų simbolį sboy, Shuttle Boy, 47 00:02:14,300 --> 00:02:18,350 po a ir b, kur a kilmė ir B yra 48 00:02:18,350 --> 00:02:19,070 žemynas - 49 00:02:19,070 --> 00:02:21,030 pavyzdžiui, Boylston Space Quad - 50 00:02:21,030 --> 00:02:23,330 ką jums reikia grįžti per kelias sekundes tekstas 51 00:02:23,330 --> 00:02:25,820 žinutė iš Shuttle Boy sakau jums, kada tiksliai 52 00:02:25,820 --> 00:02:28,990 Artimiausius keletą šaudyklės, nuo tos vietos, kad 53 00:02:28,990 --> 00:02:29,640 B tašką 54 00:02:29,640 --> 00:02:32,510 Ir tai yra bendras pavyzdys, kas vadinama 55 00:02:32,510 --> 00:02:33,920 naudojant API. 56 00:02:33,920 --> 00:02:36,930 >> Taigi, pavyzdžiui, tai čia yra tik shuttleboy.cs50.net, 57 00:02:36,930 --> 00:02:39,300 faktinis žiniatinklio įsikūnijimas. 58 00:02:39,300 --> 00:02:42,480 Tačiau duomenys, kurie pabrėžia šią ir kitas programas, kad CS50 59 00:02:42,480 --> 00:02:45,560 sukūrė veikiami visi čia forma 60 00:02:45,560 --> 00:02:49,340 API, taikomųjų programų sąsajos. 61 00:02:49,340 --> 00:02:52,220 Ir tai tik išgalvotas būdas pasakyti, kad žmonės, kaip mes 62 00:02:52,220 --> 00:02:56,010 interneto ir kiti praleido šiek tiek laiko sukurti 63 00:02:56,010 --> 00:02:59,970 programinė įranga, kad jūs galite naudoti, siekiant patraukti duomenis iš mūsų ir 64 00:02:59,970 --> 00:03:02,510 tada kurti savo programas viršuje 65 00:03:02,510 --> 00:03:03,840 tame duomenų rinkinyje. 66 00:03:03,840 --> 00:03:06,610 Taigi, pavyzdžiui, tai į jį berniukas API puslapį, kuris 67 00:03:06,610 --> 00:03:09,390 atsitinka būti CS50 vadove, iš esmės dokumentų 68 00:03:09,390 --> 00:03:13,080 , kaip galite eiti apie klausia CS50 serverių duomenų. 69 00:03:13,080 --> 00:03:16,240 Pavyzdžiui, jei esate susipažinę su CSV failus, kableliu 70 00:03:16,240 --> 00:03:18,940 atskirtos reikšmės, tai yra tiesiog tarsi greitas ir purvinas 71 00:03:18,940 --> 00:03:20,310 Excel panašūs failus. 72 00:03:20,310 --> 00:03:23,110 Taigi, jūs galite paklausti, visus duomenis apie visus Shuttle Boy 73 00:03:23,110 --> 00:03:25,090 namai ir jų GPS koordinačių, ir gausite 74 00:03:25,090 --> 00:03:27,300 atgal, iš esmės, pavyzdžiui, kad skaičiuoklę, kuri 75 00:03:27,300 --> 00:03:30,820 Tada galite skaityti į savo programą, ir tada 76 00:03:30,820 --> 00:03:33,250 gauti rezultatai, kaip ir pačios Shuttle Boy 77 00:03:33,250 --> 00:03:34,160 atsitinka daryti. 78 00:03:34,160 --> 00:03:37,030 Tiems labiau susipažinę, modernių duomenų atstovybių 79 00:03:37,030 --> 00:03:39,420 JSON, JavaScript Object Notation. 80 00:03:39,420 --> 00:03:40,620 Kažkas ateis su Jumis link 81 00:03:40,620 --> 00:03:41,720 Semestro pabaigoje. 82 00:03:41,720 --> 00:03:45,440 >> Bet vėl, tai tik vienas iš keletą CS50 savo API. 83 00:03:45,440 --> 00:03:48,320 Ir įdomus dalykas, dabar šių dienų, "Facebook" ir 84 00:03:48,320 --> 00:03:51,110 "Twitter" ir "Google" ir beveik kiekvieną populiarus svetainę iš 85 00:03:51,110 --> 00:03:54,130 ten yra kažkoks API, o tai reiškia, kad jei jūs skaitote 86 00:03:54,130 --> 00:03:56,620 dokumentus savo interneto svetainėje, jūs užsiregistruosite 87 00:03:56,620 --> 00:03:59,980 sąskaita, tada galite pradėti rašyti programinę įrangą ant 88 00:03:59,980 --> 00:04:03,680 nepriklausomai nuo įrankių ar duomenų, kad įmonė suteikia. 89 00:04:03,680 --> 00:04:06,210 Ir taip vienas iš mūsų pačių mokymo bičiulių porą metų atgal 90 00:04:06,210 --> 00:04:07,620 rašė Mac versija. 91 00:04:07,620 --> 00:04:10,990 Taigi nuorodą pavadinimu "Mac" čia viršuje kairėje, jūs iš tikrųjų 92 00:04:10,990 --> 00:04:13,940 atsisiųsti Mac OS valdikliui, kad eina į savo "Mac" daryti 93 00:04:13,940 --> 00:04:15,040 tokių pat dalykų. 94 00:04:15,040 --> 00:04:17,970 Todėl visa informacija apie statybos ant duomenų rinkinius, kaip šie. 95 00:04:17,970 --> 00:04:21,839 Tačiau daugiau apie tai link semestro pabaigos. 96 00:04:21,839 --> 00:04:25,780 >> Taigi, galime pasinerti nekilnojamojo greitai Klaidos, tiesiog natūra gauti 97 00:04:25,780 --> 00:04:27,990 dalykų pašildytas šiandien, ir manau, grįžti į kai kurių 98 00:04:27,990 --> 00:04:29,660 dalykų, mes pažvelgė į praeitą savaitę. 99 00:04:29,660 --> 00:04:32,840 Visų pirma, leiskite man eiti į priekį ir atsigriebti, tarkim, 100 00:04:32,840 --> 00:04:34,080 šis pavyzdys čia. 101 00:04:34,080 --> 00:04:37,500 Buggy1.c, tai kurso tinklalapyje, jei norite 102 00:04:37,500 --> 00:04:40,250 norėtų jį atsisiųsti ir kišti aplink save. 103 00:04:40,250 --> 00:04:43,520 Bet tegul padidinti čia šį gana trumpą programą, ir tik 104 00:04:43,520 --> 00:04:46,550 super greitas Priminti kai iš pagrindinių pastato blokus, kad 105 00:04:46,550 --> 00:04:48,880 mes tikrai ketiname tiesiog pradėkite vartoti savaime suprantamu dalyku. 106 00:04:48,880 --> 00:04:51,860 >> Taigi mėlyna stuff, per 9 1 linijas, yra tik 107 00:04:51,860 --> 00:04:53,670 futbolo klausimus. 108 00:04:53,670 --> 00:04:54,590 Taigi tai yra tik komentarai. 109 00:04:54,590 --> 00:04:56,230 Jie neturi funkcinė reikšmė. 110 00:04:56,230 --> 00:04:58,460 Bet jie komentarų ta prasme, kad jie pažymi, kad 111 00:04:58,460 --> 00:05:02,010 Aš, žmogaus, sau taip, kad paskaitos ir po 112 00:05:02,010 --> 00:05:04,340 paskaita, aš iš tikrųjų galite prisiminti, ką ši programa 113 00:05:04,340 --> 00:05:07,120 veikia be perskaityti jį linija ir 114 00:05:07,120 --> 00:05:08,990 atkurti istoriją mano galvoje. 115 00:05:08,990 --> 00:05:11,000 Be to, jei aš perduoti kam nors kitam, kaip šią programą 116 00:05:11,000 --> 00:05:14,420 jums, tai daug aiškiau, nes, pavyzdžiui, tai pastabų, 117 00:05:14,420 --> 00:05:16,680 ką ši programa iš tikrųjų daro, ar bent jau tai, ką 118 00:05:16,680 --> 00:05:18,210 programa turėtų daryti. 119 00:05:18,210 --> 00:05:20,760 Ar ji teisinga, yra visiškai kitas klausimas. 120 00:05:20,760 --> 00:05:25,040 Dabar, C, su kelių eilučių komentarus, priminti, kad on-line 121 00:05:25,040 --> 00:05:27,880 vienas čia yra magiškas simbolis, / *. 122 00:05:27,880 --> 00:05:30,380 Tai reiškia, kad čia ateina komentarą pradžia. 123 00:05:30,380 --> 00:05:34,560 Ir nieko daugiau medžiagos, kol pasieksite pabaigos terminatorius, 124 00:05:34,560 --> 00:05:36,700 kuris yra * /, priešingai. 125 00:05:36,700 --> 00:05:39,120 Taigi tai, kad aš čia iš 80-kai nelyginis žvaigždes 126 00:05:39,120 --> 00:05:41,550 iš kairės į dešinę, tai tikrai tik estetinė detalė. 127 00:05:41,550 --> 00:05:43,370 Jis neturi funkcinė reikšmė. 128 00:05:43,370 --> 00:05:44,490 >> Dabar, kaip apie 11 linija? 129 00:05:44,490 --> 00:05:46,940 Ką tai profanas sąlygomis? 130 00:05:51,560 --> 00:05:52,540 Kas tai? 131 00:05:52,540 --> 00:05:54,280 Auditorija: Apima standartas. 132 00:05:54,280 --> 00:05:54,740 David J. Malan: Gerai, gerai. 133 00:05:54,740 --> 00:05:57,500 Taigi ji apima stdio.h biblioteką. 134 00:05:57,500 --> 00:05:58,230 Taigi, ką tai reiškia? 135 00:05:58,230 --> 00:06:01,570 Na, šio failo viduje, stdio.h, yra visa krūva 136 00:06:01,570 --> 00:06:03,320 funkcija deklaracijos - 137 00:06:03,320 --> 00:06:05,290 tai yra kodas, kad kažkas ją parašė. 138 00:06:05,290 --> 00:06:08,160 Ir puikus pavyzdys, funkcijos, gavėjo 139 00:06:08,160 --> 00:06:10,250 stdio.h - 140 00:06:10,250 --> 00:06:11,980 kurios mėgstamiausia dabar? 141 00:06:11,980 --> 00:06:14,300 Taigi printf, vienas iš labiausiai paplitusių naudoti, tikrai 142 00:06:14,300 --> 00:06:15,840 anksti, kad biblioteka yra ten. 143 00:06:15,840 --> 00:06:19,290 Jei aš pašalinti tą kodo eilutę, Apsukite metalinis garsas ketina klykauti 144 00:06:19,290 --> 00:06:22,550 į mane kažkas apie nedeklaruojamą simbolį naudojant. 145 00:06:22,550 --> 00:06:24,930 Kažkas pasiskelbusios tikriausiai yra raktinis žodis, nes 146 00:06:24,930 --> 00:06:27,770 mes nepranešė kompiliatorių, ką printf atrodo 147 00:06:27,770 --> 00:06:29,230 patinka, nebent ta linija. 148 00:06:29,230 --> 00:06:31,830 Ir daugiau į Žemę, tikrai, kas sako, kad linija yra 149 00:06:31,830 --> 00:06:34,890 atidaryti tą failą, stdio.h, kur ji yra serverio 150 00:06:34,890 --> 00:06:38,200 kietąjį diską arba Prietaisai kietajame diske, ir copy-paste 151 00:06:38,200 --> 00:06:40,240 teisę ten į mano bylą, be savo 152 00:06:40,240 --> 00:06:41,730 tai padaryti rankiniu būdu. 153 00:06:41,730 --> 00:06:44,420 >> Dabar, kai mes gauname žemyn čia pagrindinis, iki kol mes pradėsime 154 00:06:44,420 --> 00:06:46,900 dantį išskyrus ką int ir tuštumos. 155 00:06:46,900 --> 00:06:48,430 Bet dabar pažvelkime trijų eilučių 156 00:06:48,430 --> 00:06:50,350 per 15 per 17. 157 00:06:50,350 --> 00:06:52,250 Tai čia galiu reikalauti kaip vežimėlyje. 158 00:06:52,250 --> 00:06:54,900 Mano komentarus 7 eilutė sako: "Jei spausdinti 10 159 00:06:54,900 --> 00:06:59,410 žvaigždutes, bet nėra ". Kodėl tai ne spausdinti, iš tiesų, 160 00:06:59,410 --> 00:07:01,097 10 tokios žvaigždės? 161 00:07:01,097 --> 00:07:02,347 Auditorija: [nesigirdi]. 162 00:07:05,210 --> 00:07:05,800 David J. Malan: Būtent. 163 00:07:05,800 --> 00:07:08,720 Taigi pastebėti, kad mes pradedame skaičiuoti nuo 0. 164 00:07:08,720 --> 00:07:10,780 Ir iš tikrųjų tai yra programavimo konvencija ir 165 00:07:10,780 --> 00:07:13,230 kompiuterių mokslas, apskritai, pradedant skaičiuoti 166 00:07:13,230 --> 00:07:14,610 nuo 0, o ne 1. 167 00:07:14,610 --> 00:07:16,690 Ir tai tikrai tik kyla iš to, kad 168 00:07:16,690 --> 00:07:18,940 Pavyzdžiui, kai mes turėjome aštuonis žmones ant scenos, kai 169 00:07:18,940 --> 00:07:20,680 niekas kelti savo rankas, jie buvo 170 00:07:20,680 --> 00:07:22,340 veiksmingai nuliai. 171 00:07:22,340 --> 00:07:24,260 Ir todėl tiesiog rūšies kompiuterių konvencijos, 172 00:07:24,260 --> 00:07:26,030 todėl pradėti skaičiuoti nuo 0. 173 00:07:26,030 --> 00:07:29,130 Jei tai mažiausias skaičius gali atstovauti dvejetainiu. 174 00:07:29,130 --> 00:07:32,270 >> Taigi čia mes pradėjo Inicijuojama I 0. 175 00:07:32,270 --> 00:07:34,230 Mes i lygi 0. 176 00:07:34,230 --> 00:07:37,780 Bet tada aš padariau šią klaidą, sakydamas, i yra mažiau nei 177 00:07:37,780 --> 00:07:38,820 lygi 10. 178 00:07:38,820 --> 00:07:41,700 Bet jei manote, kad, jei aš pradėti nuo 0 ir tada aš einu 179 00:07:41,700 --> 00:07:46,410 iki 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, aš iš tikrųjų ketiname 180 00:07:46,410 --> 00:07:49,980 spausdinti iš 11 žvaigždžių į ekraną, nes aš pakilo 181 00:07:49,980 --> 00:07:52,410 į ir lygus 10. 182 00:07:52,410 --> 00:07:55,090 Todėl lengva nustatyti čia tada kas? 183 00:07:55,090 --> 00:07:56,070 Auditorija: [nesigirdi]. 184 00:07:56,070 --> 00:07:57,350 David J. Malan: Tiesiog pakeisti ji mažiau nei. 185 00:07:57,350 --> 00:07:59,700 Jei tikrai norite, galite tai padaryti. 186 00:07:59,700 --> 00:08:01,370 Bet apskritai, tai frowned. 187 00:08:01,370 --> 00:08:04,020 Ir taip pradedant skaičiuoti nuo 0 yra tik tai, ką jums reikia 188 00:08:04,020 --> 00:08:05,510 paprastai priprasti. 189 00:08:05,510 --> 00:08:07,810 Dabar, ką apie visą šią konstrukciją ir pati? 190 00:08:07,810 --> 00:08:10,640 Ši eilutė 15 demarks už linijos. 191 00:08:10,640 --> 00:08:12,510 Taigi, tai ne funkcija. 192 00:08:12,510 --> 00:08:13,640 Tai tiesiog pareiškimą. 193 00:08:13,640 --> 00:08:16,180 Tai apsisukimo konstruktas, kaip matėme nulio. 194 00:08:16,180 --> 00:08:17,600 Ir ji sudaro trys dalys. 195 00:08:17,600 --> 00:08:19,740 Atkreipkite dėmesį, kad ten yra pirmoji dalis 196 00:08:19,740 --> 00:08:21,350 kabliataškiu kairėje. 197 00:08:21,350 --> 00:08:24,200 Yra vidurinė dalis tarp dviejų kabliataškiais. 198 00:08:24,200 --> 00:08:26,250 Dešinioji dalis, ir tada ten į dešinę 199 00:08:26,250 --> 00:08:27,640 antrosios kabliataškiu. 200 00:08:27,640 --> 00:08:31,822 Dabar, Pirmasis iš jų ką daro? 201 00:08:31,822 --> 00:08:33,679 Auditorija: [nesigirdi]. 202 00:08:33,679 --> 00:08:34,270 David J. Malan: Atgal? 203 00:08:34,270 --> 00:08:34,816 Taip? 204 00:08:34,816 --> 00:08:35,980 Auditorija: iniciacijos. 205 00:08:35,980 --> 00:08:36,850 >> David J. Malan: Inicijavimo. 206 00:08:36,850 --> 00:08:37,840 Taigi, ką tai reiškia? 207 00:08:37,840 --> 00:08:40,690 Mes paskelbė kintamasis vadinamas i. 208 00:08:40,690 --> 00:08:43,840 Ji yra tipo int, nes aš nurodėte int i. 209 00:08:43,840 --> 00:08:46,470 Ir aš Inicijuojama i reikšmė "0". 210 00:08:46,470 --> 00:08:47,730 Taigi, kas tai iš tikrųjų sako? 211 00:08:47,730 --> 00:08:50,680 Tai būtų pasakyti, prie kompiuterio ei, duok man pakankamai 212 00:08:50,680 --> 00:08:53,660 atmintis, pakankamai RAM, kad tilptų skaičių, ir tada įdėti 213 00:08:53,660 --> 00:08:56,130 toje RAM riekė 0 skaičių. 214 00:08:56,130 --> 00:08:59,100 Ir kaip panaikinti, kaip didelis yra int paprastai, bent jau viduje 215 00:08:59,100 --> 00:09:00,280 prietaiso? 216 00:09:00,280 --> 00:09:01,000 Auditorija: 32 bitų. 217 00:09:01,000 --> 00:09:01,670 David J. Malan: 32 bitai. 218 00:09:01,670 --> 00:09:04,890 Taigi, tai reiškia suteikti man 32 bitai, kitaip žinomas kaip 4 baitų, 219 00:09:04,890 --> 00:09:07,250 ir įdėti vertė Vertė 0 į tai, kuris yra gana lengva, nes 220 00:09:07,250 --> 00:09:09,110 Tai tiesiog reiškia, nustatyti visus bitus iki 0. 221 00:09:09,110 --> 00:09:11,690 >> Taigi, dabar, čia yra antroji dalis, sąlyga. 222 00:09:11,690 --> 00:09:14,590 Ir su sąlyga, kaip ir pavadinimas rodo, kad yra tai, kas tikrinama 223 00:09:14,590 --> 00:09:18,100 vėl ir vėl ir vėl, ar tai teisinga, ar klaidinga. 224 00:09:18,100 --> 00:09:21,410 Todėl tai sakydamas atlikti šias kodo eilutes - 225 00:09:21,410 --> 00:09:23,950 būtent 16, nes tai tik vienas įspaudžiami linija 226 00:09:23,950 --> 00:09:24,820 apačioje - 227 00:09:24,820 --> 00:09:26,980 taip ilgai, kaip aš yra mažesnis nei 10. 228 00:09:26,980 --> 00:09:30,520 Ir po kiekvieno per šio ciklo iteracijos, atlikite 229 00:09:30,520 --> 00:09:33,840 incrementation, kuris šiuo atveju yra i + +. 230 00:09:33,840 --> 00:09:35,580 Dabar ji neturi būti i + +. 231 00:09:35,580 --> 00:09:37,610 Tai gali būti i. 232 00:09:37,610 --> 00:09:39,860 Bet jei aš padariau tai, kas elgesys 233 00:09:39,860 --> 00:09:41,370 iš šios programos? 234 00:09:41,370 --> 00:09:42,290 Auditorija: Tai bus begalinis ciklas. 235 00:09:42,290 --> 00:09:44,060 David J. Malan: Tai bus kažkoks begalinis ciklas, 236 00:09:44,060 --> 00:09:47,720 nebent mes pasisekė po Neigiamas 2 milijardo ar pan. 237 00:09:47,720 --> 00:09:51,320 Gal viskas bus vyniojami aplink, tiesiog iš prigimties yra ribinis, 238 00:09:51,320 --> 00:09:53,930 numeris bitų,, kad mes skirtų int. 239 00:09:53,930 --> 00:09:56,270 Bet tai tikrai ketina pakartoti kur kas daugiau nei 10 ir 240 00:09:56,270 --> 00:09:58,630 tikrai daugiau nei 11 kartų. 241 00:09:58,630 --> 00:10:02,240 >> Ir dabar, kaip ir žemę, suprasti, kad i + + ir i - 242 00:10:02,240 --> 00:10:04,420 yra tikrai tik sintaksės cukraus. 243 00:10:04,420 --> 00:10:07,210 Tai tiesiog sutrumpinimas notacijos už tai, kas šiek tiek daugiau 244 00:10:07,210 --> 00:10:08,720 aiškiai užrašyti taip: 245 00:10:08,720 --> 00:10:11,200 i = i + 1. 246 00:10:11,200 --> 00:10:13,460 Tas pats kas ir i + +. 247 00:10:13,460 --> 00:10:15,860 Jis tiesiog rūšies atrodo gražiau pasakyti i + +. 248 00:10:15,860 --> 00:10:17,490 Tai labiau glaustas, suprantamesnės. 249 00:10:17,490 --> 00:10:19,030 Ir taip dauguma žmonių, kad vietoj. 250 00:10:19,030 --> 00:10:21,840 Bet tai yra identiškas funkciškai 251 00:10:21,840 --> 00:10:22,900 ką mes ką tik matė. 252 00:10:22,900 --> 00:10:27,770 Taigi trumpai tariant, čia yra greitai nustatyti tiesiog pasakyti, kad pakartoti i 253 00:10:27,770 --> 00:10:30,690 nuo 0 visą kelią iki mažiau nei 10. 254 00:10:30,690 --> 00:10:32,700 Ir tada mes iš tikrųjų gautų 10 žvaigždžių. 255 00:10:32,700 --> 00:10:33,430 >> Taigi, pabandykime tai. 256 00:10:33,430 --> 00:10:35,310 Leiskite man atverti terminalą apačioje. 257 00:10:35,310 --> 00:10:37,420 Leiskite man eiti į katalogą, kad tai yra. 258 00:10:37,420 --> 00:10:40,030 Ir aš ruošiuosi Apsukite metalinis garsas nes dabar kaupia jį rankiniu būdu. 259 00:10:40,030 --> 00:10:44,880 Ir aš ruošiuosi sudaryti šį kaip buggy1.c, Įveskite. 260 00:10:44,880 --> 00:10:50,280 Ir dabar buggy1, kodėl ten nėra tokio failo ar katalogo 261 00:10:50,280 --> 00:10:52,026 vadinamas buggy1? 262 00:10:52,026 --> 00:10:53,850 Auditorija: [nesigirdi]. 263 00:10:53,850 --> 00:10:54,240 David J. Malan: Taip. 264 00:10:54,240 --> 00:10:55,420 Taigi tai iš tikrųjų vadinamas a.out. 265 00:10:55,420 --> 00:10:57,480 Taigi priminti, jei jūs tiesiog paleisti Apsukite metalinis garsas, kur Apsukite metalinis garsas 266 00:10:57,480 --> 00:11:00,420 kompiliatorius, ir jums nereikia nurodyti vardą, kurį norite 267 00:11:00,420 --> 00:11:03,550 duoti savo programą, ji vyksta pagal nutylėjimą a.out. 268 00:11:03,550 --> 00:11:05,030 Taigi, iš tiesų, jei aš ls - 269 00:11:05,030 --> 00:11:05,510 Oi. 270 00:11:05,510 --> 00:11:07,680 Ir I didn't - juodai-balta problemą, kai kurie iš 271 00:11:07,680 --> 00:11:08,840 susidūrėte, buvo nustatytas. 272 00:11:08,840 --> 00:11:10,670 Bet leiskite man tai padaryti. 273 00:11:10,670 --> 00:11:14,570 Ten mes turime a.out kairėje pusėje. 274 00:11:14,570 --> 00:11:17,360 Taigi, mes turime paleisti a.out vietoj buggy1. 275 00:11:17,360 --> 00:11:19,140 >> Taigi leiskite man eiti į priekį ir tai padaryti. 276 00:11:19,140 --> 00:11:22,840 / A.out, "Enter". 277 00:11:22,840 --> 00:11:26,160 Ir aš, matyt, ne ką daryti? 278 00:11:26,160 --> 00:11:26,620 Auditorija: "Išsaugoti". 279 00:11:26,620 --> 00:11:27,390 David J. Malan: Išsaugoti mano bylą. 280 00:11:27,390 --> 00:11:31,520 Taip, kad lengvai išsprendžiama pataikyti valdymo įtaiso s ar vyksta 281 00:11:31,520 --> 00:11:33,450 Failas, Įrašyti, kaip daugelyje programų. 282 00:11:33,450 --> 00:11:36,360 Leiskite man eiti čia, išvalyti ekraną, paleiskite ją dar kartą. 283 00:11:36,360 --> 00:11:37,960 Ir dar yra klaida. 284 00:11:37,960 --> 00:11:41,618 Taigi, tai, kas vyksta - 285 00:11:41,618 --> 00:11:42,980 Auditorija: Jūs nenurodėte surinkti. 286 00:11:42,980 --> 00:11:44,040 David J. Malan: "O, geras. 287 00:11:44,040 --> 00:11:45,010 Aš ne kaupia jį. 288 00:11:45,010 --> 00:11:47,250 Kaip idiotas, aš žiūri į kodą, kad pamatyti, kas yra negerai. 289 00:11:47,250 --> 00:11:51,275 Taigi Apsukite metalinis garsas buggy1.c, dabar a.out. 290 00:11:51,275 --> 00:11:52,640 Ir Phew, išsaugotas. 291 00:11:52,640 --> 00:11:55,090 >> Taigi atrodo šiek tiek negraži, nes ten yra ne nauja linija 292 00:11:55,090 --> 00:11:55,970 bet kurioje programoje. 293 00:11:55,970 --> 00:11:57,390 Bet vėl, tai tik estetinė detalė. 294 00:11:57,390 --> 00:11:59,430 Ir bent jau jei mes laikome tuos, turėtume 295 00:11:59,430 --> 00:12:01,160 dabar matome 10 tokios žvaigždės. 296 00:12:01,160 --> 00:12:03,260 Na, ką apie šį apšilimo pavyzdžiui? 297 00:12:03,260 --> 00:12:07,750 Taigi buggy2, aš patvirtinu, kad ši versija taip pat bus atspausdinti 298 00:12:07,750 --> 00:12:10,110 10 žvaigždės, po vieną eilutėje. 299 00:12:10,110 --> 00:12:12,340 Todėl šį kartą, aš turiu naujos eilutės simboliai, tik, kad 300 00:12:12,340 --> 00:12:13,520 dalykų šiek tiek gražiau. 301 00:12:13,520 --> 00:12:15,410 Bet vietoj to, ką man yra. 302 00:12:15,410 --> 00:12:19,590 Taigi, leiskite man padaryti Apsukite metalinis garsas buggy2.c Enter. 303 00:12:19,590 --> 00:12:21,790 Dabar ji vėl vadinama a.out. 304 00:12:21,790 --> 00:12:23,130 Įveskite. 305 00:12:23,130 --> 00:12:26,900 Matau tik vieną naują eilutę, tik pats paskutinis naują eilutę, kad 306 00:12:26,900 --> 00:12:29,370 juda mano eilutę į kitą eilutę. 307 00:12:29,370 --> 00:12:32,660 Ir dar aiškiai aš buvo Spausdinimas *, tada naują eilutę, 308 00:12:32,660 --> 00:12:33,990 *, Tada naują eilutę. 309 00:12:33,990 --> 00:12:35,490 Bet kas čia klaida? 310 00:12:35,490 --> 00:12:35,974 Taip? 311 00:12:35,974 --> 00:12:37,224 Auditorija: [nesigirdi]. 312 00:12:39,850 --> 00:12:40,470 >> David J. Malan: Būtent. 313 00:12:40,470 --> 00:12:44,110 Taigi, skirtingai nuo kai kurių kalbų, pavyzdžiui, Python, kur įtraukos 314 00:12:44,110 --> 00:12:46,030 iš tikrųjų turi funkcinę prasmę, 315 00:12:46,030 --> 00:12:47,150 kalbos kaip C - 316 00:12:47,150 --> 00:12:49,140 kaip matysime, PHP, JavaScript - 317 00:12:49,140 --> 00:12:51,940 įdubimas yra tikrai tik žmonėms naudai. 318 00:12:51,940 --> 00:12:55,690 Taigi faktas, kad aš įspaudžiami linija 16 ir 17 atrodo puikiai, 319 00:12:55,690 --> 00:12:57,530 tačiau ji neturi funkcinė reikšmė. 320 00:12:57,530 --> 00:13:00,700 Jei aš noriu, kad abi linijos vykdyti kaip dalį 321 00:13:00,700 --> 00:13:05,140 kilpa, tada aš turi pateikti juos klamrami tai daryti. 322 00:13:05,140 --> 00:13:08,540 Jūs galite tik sumažinti, kad kampe ir praleisti garbanotieji petnešų, jei 323 00:13:08,540 --> 00:13:10,036 kas šiuo atveju? 324 00:13:10,036 --> 00:13:10,410 Auditorija: tik vienos linijos. 325 00:13:10,410 --> 00:13:11,130 David J. Malan Tik viena linija. 326 00:13:11,130 --> 00:13:15,280 Taip, kad tiesiog tarsi gražus rūšies sintaksė išsamiai, kad 327 00:13:15,280 --> 00:13:17,900 jums nereikia gaišti laiko raštu tris eilutes, iš kurių du yra 328 00:13:17,900 --> 00:13:20,040 garbanotas petnešos, tiesiog parašyti vieną eilutę kodo. 329 00:13:20,040 --> 00:13:21,650 Bet jei jūs turite dvi ar daugiau eilučių, mes 330 00:13:21,650 --> 00:13:22,860 iš tikrųjų reikia tai padaryti. 331 00:13:22,860 --> 00:13:24,210 >> Taigi dabar leiskite man išsaugoti tai. 332 00:13:24,210 --> 00:13:27,140 Leiskite man eiti į priekį ir iš naujo paleiskite Apsukite metalinis garsas. 333 00:13:27,140 --> 00:13:31,375 Tada leiskite man iš naujo paleisti a.out, ir dabar man juos vienoje eilutėje. 334 00:13:31,375 --> 00:13:33,670 Dabar a.out vėl yra rūšies kvailas programos pavadinimą. 335 00:13:33,670 --> 00:13:37,500 Kaip aš galiu pasakyti Apsukite metalinis garsas, kad iš tikrųjų man duoti failo vardą 336 00:13:37,500 --> 00:13:39,820 kad daugiau patogi, kaip buggy2 pati? 337 00:13:43,200 --> 00:13:44,466 Šiek tiek aiškiau? 338 00:13:44,466 --> 00:13:45,220 Auditorija: [nesigirdi]. 339 00:13:45,220 --> 00:13:47,810 David J. Malan: Gerai, kad aš iš tikrųjų galite imtis labai 340 00:13:47,810 --> 00:13:51,000 patogus spartusis ir tiesiog parašyti, kad buggy2. 341 00:13:51,000 --> 00:13:53,840 Aš nenurodo c šiuo atveju, ir paspauskite Enter. 342 00:13:53,840 --> 00:13:58,530 Ir kas, kad daro ji rengia buggy2.c mane 343 00:13:58,530 --> 00:14:00,260 klausia Apsukite metalinis garsas tai padaryti. 344 00:14:00,260 --> 00:14:05,100 Tiksliau, ji ragina Apsukite metalinis garsas, jis veikia Apsukite metalinis garsas naudojant būdas daugiau 345 00:14:05,100 --> 00:14:08,540 komandinės eilutės argumentai arba jungikliai, nei aš iš tikrųjų reikia. 346 00:14:08,540 --> 00:14:11,270 Laiku, mes grįžti į tai, ką visus šiuos įvairius 347 00:14:11,270 --> 00:14:13,810 paslaptingas brūkšneliais išraiškos priemonėmis. 348 00:14:13,810 --> 00:14:16,910 Bet dabar, kad tiesiog taupyti man sunku 349 00:14:16,910 --> 00:14:19,600 prisiminti ir įvesti visi tie 350 00:14:19,600 --> 00:14:21,150 įvairių brūkšneliais raiška. 351 00:14:21,150 --> 00:14:23,240 Ir galiausiai jį aukštyn kojom 352 00:14:23,240 --> 00:14:25,900 , kad dabar aš turiu buggy2. 353 00:14:25,900 --> 00:14:27,480 Jei aš noriu tai padaryti rankiniu būdu, nors aš 354 00:14:27,480 --> 00:14:28,775 vietoj jų galima tai padaryti - 355 00:14:28,775 --> 00:14:34,110 Apsukite metalinis garsas-o buggy2 ir tada buggy2.c. 356 00:14:34,110 --> 00:14:37,980 Ir kad bus panašiai man failą, pavadintą buggy2. 357 00:14:37,980 --> 00:14:39,710 >> Apsukite metalinis garsas Taigi trumpai tariant, sudarytojas. 358 00:14:39,710 --> 00:14:43,080 Padaryti, yra tiesiog patogus įrankis, kad mes naudosite daugiau 359 00:14:43,080 --> 00:14:44,420 ir daugiau, nes jis tiesiog pradeda 360 00:14:44,420 --> 00:14:47,330 supaprastinti dalykų už mus. 361 00:14:47,330 --> 00:14:49,430 Ir mes return 0 galiausiai. 362 00:14:49,430 --> 00:14:51,890 Nes dabar, tik todėl, kad, bet mes pradėsime dantį, kad dalis 363 00:14:51,890 --> 00:14:52,930 šiandien ir trečiadienį. 364 00:14:52,930 --> 00:14:55,560 Klausimų dėl bet tai? 365 00:14:55,560 --> 00:14:56,450 Taip? 366 00:14:56,450 --> 00:14:58,234 Auditorija: [nesigirdi] 367 00:14:58,234 --> 00:15:00,020 Ls kabučių ten? 368 00:15:00,020 --> 00:15:01,710 David J. Malan: Gerai. 369 00:15:01,710 --> 00:15:05,880 Kai aš įvedėte LS į kabutes, tai buvo man daryti kai magija 370 00:15:05,880 --> 00:15:07,160 užkulisiuose ištaisyti klaidą. 371 00:15:07,160 --> 00:15:09,370 Aš pamiršau, kaip mes jau pasakoja daugelis iš jūsų 372 00:15:09,370 --> 00:15:11,600 diskusijų lentos, daryti - 373 00:15:11,600 --> 00:15:17,220 mes tai padaryti dabar - sudo yum-y atnaujinimą appliance50. 374 00:15:17,220 --> 00:15:19,790 Oi, kad teisingai parašytas. 375 00:15:19,790 --> 00:15:23,240 Todėl įrenginys yra kaip operacinės sistemos. 376 00:15:23,240 --> 00:15:25,650 Ji veikia šią operacinę sistemą, pavadintą "Fedora. 377 00:15:25,650 --> 00:15:27,450 Ir dabar, nes mano lėtas interneto ryšys, aš 378 00:15:27,450 --> 00:15:28,260 tikrai modes. 379 00:15:28,260 --> 00:15:31,620 Todėl veikianti sudo yum update, kaip mes tau daryti 380 00:15:31,620 --> 00:15:34,080 problemų rinkinys, iš esmės, kaip veikia automatinius atnaujinimus 381 00:15:34,080 --> 00:15:35,420 Mac OS arba Windows. 382 00:15:35,420 --> 00:15:37,280 Ir veikia tai pačioje pradžioje priežastis 383 00:15:37,280 --> 00:15:39,640 problemą, yra todėl, kad kai mes sukūrėme prietaisą, 384 00:15:39,640 --> 00:15:42,480 messed up, ir aš netyčia visas savo programas, ieškoti 385 00:15:42,480 --> 00:15:45,210 juoda ant juodo ekrano, kuris yra, kodėl jūs nematote jų 386 00:15:45,210 --> 00:15:45,860 pagal nutylėjimą. 387 00:15:45,860 --> 00:15:48,020 Bet naujausia versija prietaiso nustato. 388 00:15:48,020 --> 00:15:50,500 Ir aš jums nustatyti, kad pertraukos, kai turiu internetą 389 00:15:50,500 --> 00:15:51,280 Ry ¹ iai su i ¹ oriniais prietaisais. 390 00:15:51,280 --> 00:15:54,630 >> Taigi kabučių tik slepia mano klaida, labai diskretiškai, 391 00:15:54,630 --> 00:15:55,730 matyt. 392 00:15:55,730 --> 00:15:56,980 Kiti klausimai? 393 00:15:59,750 --> 00:16:00,668 Taip? 394 00:16:00,668 --> 00:16:02,012 Auditorija: Kur daro ateina iš? 395 00:16:02,012 --> 00:16:03,810 [Nesigirdi] 396 00:16:03,810 --> 00:16:04,280 David J. Malan: Geras klausimas. 397 00:16:04,280 --> 00:16:05,460 Kur daro? 398 00:16:05,460 --> 00:16:09,390 Tai yra Linux programa, kuri gyvuoja jau daugelį metų, ilgai 399 00:16:09,390 --> 00:16:10,570 prieš CS50. 400 00:16:10,570 --> 00:16:12,930 Ir ji ateina su operacinės sistemos, pavyzdžiui, Fedora. 401 00:16:12,930 --> 00:16:14,830 Jis nėra kilęs iš CS50 bibliotekoje. 402 00:16:14,830 --> 00:16:17,560 Tiesą sakant, tik tai, kas ateina iš CS50 bibliotekoje 403 00:16:17,560 --> 00:16:20,470 iki šiol, kad mes matėme, yra GetString, GetInt, visi 404 00:16:20,470 --> 00:16:25,550 tiems Gauk funkcijas, ir žodis eilutę, ir tam tikrų 405 00:16:25,550 --> 00:16:26,575 mastas, žodis bool. 406 00:16:26,575 --> 00:16:29,180 Bet mes erzinti, kad, išskyrus kai mes pasinerti į CS50 407 00:16:29,180 --> 00:16:30,580 pats prietaisas. 408 00:16:30,580 --> 00:16:32,820 >> Taip taip, dar vienas klausimas. 409 00:16:32,820 --> 00:16:36,636 Auditorija: Kai jūs sakėte, ir tada Buggy, kaip veikia 410 00:16:36,636 --> 00:16:39,980 kompiuteris žinoti [nesigirdi]? 411 00:16:39,980 --> 00:16:40,520 David J. Malan: Geras klausimas. 412 00:16:40,520 --> 00:16:43,830 Taigi, kai jūs tiesiog paleisti, kad buggy1 arba padaryti buggy2, kaip 413 00:16:43,830 --> 00:16:45,220 daro žinoti? 414 00:16:45,220 --> 00:16:49,900 Taigi pagal numatytuosius nustatymus, jei įvesite padaryti buggy1, kad atrodo už 415 00:16:49,900 --> 00:16:52,330 failą pavadinimu buggy1.c. 416 00:16:52,330 --> 00:16:55,570 Ir tada jis atlieka atitinkamus Apsukite metalinis garsas komandas, 417 00:16:55,570 --> 00:17:00,380 taip svarbesnio numatytoji išvesties failą pavadinimu a.out. 418 00:17:00,380 --> 00:17:03,670 Iš tiesų, jei pažvelgsime į tai, ką daryti, ką - 419 00:17:03,670 --> 00:17:04,839 tegul mesti šį. 420 00:17:04,839 --> 00:17:09,530 Jei pažvelgsime į tai, kas buvo iš tikrųjų daro, kad buggy2 421 00:17:09,530 --> 00:17:10,470 tai jau iki šiol. 422 00:17:10,470 --> 00:17:13,020 Taigi leiskite man pašalinti RM komandą 423 00:17:13,020 --> 00:17:14,319 programa, aš parašiau anksčiau. 424 00:17:14,319 --> 00:17:17,319 Rašyti Y-E-S, norėdami patvirtinti, kad aš noriu jį pašalinti. 425 00:17:17,319 --> 00:17:20,480 Jeigu aš dabar padarysiu, pastebėsite, kad šį labai ilgą eilutę, 426 00:17:20,480 --> 00:17:22,980 ten tai paskutinis dalykas,-o buggy2. 427 00:17:22,980 --> 00:17:26,959 Daro visi, kad eina pro šį argumentą, taip sakant, 428 00:17:26,959 --> 00:17:29,665 Apsukite metalinis garsas, kad aš neturiu rašyti pačiam. 429 00:17:29,665 --> 00:17:32,660 >> Viskas gerai, taip greitai pora administracines 430 00:17:32,660 --> 00:17:33,470 pranešimai. 431 00:17:33,470 --> 00:17:36,940 Taigi, skyrių, kuris oficialiai pradėjo šių metų 432 00:17:36,940 --> 00:17:38,970 Sekmadienis, jūs visada nori, kad, jei 433 00:17:38,970 --> 00:17:40,120 turite vieną, nešiojamas. 434 00:17:40,120 --> 00:17:42,570 Jei jūs neturite turėti nešiojamąjį kompiuterį, tai pasiekti man 435 00:17:42,570 --> 00:17:43,580 nuleisti man el. 436 00:17:43,580 --> 00:17:44,810 Ir mes išsiaiškinti, darbo eigą. 437 00:17:44,810 --> 00:17:47,100 Ką paprastai jūs rasite skyriuje yra tai, kad jie 438 00:17:47,100 --> 00:17:48,770 konceptualus, hands-on. 439 00:17:48,770 --> 00:17:52,190 Mes specialiai klausimų skyrių, dalis 440 00:17:52,190 --> 00:17:54,110 Savaitės problema rinkinys, eiti per kai kurias iš 441 00:17:54,110 --> 00:17:55,820 konceptualus medžiaga, iš paskaitos. 442 00:17:55,820 --> 00:17:57,480 Ir tai viskas, dabartinė problema rinkinys. 443 00:17:57,480 --> 00:18:00,010 Ir mes taip pat pasinerti į kai praktinę veiklą, kartais 444 00:18:00,010 --> 00:18:02,190 iš kurių bus reikalaujama pateikti, kartais 445 00:18:02,190 --> 00:18:02,830 nebus. 446 00:18:02,830 --> 00:18:04,630 Pavyzdžiui, tai pirmą savaitę, jie reiškia tik kaip 447 00:18:04,630 --> 00:18:05,780 apšilimo pratimas. 448 00:18:05,780 --> 00:18:07,800 Ir jūs pamatysite, kad šios problemos yra tikrai tik, kad. 449 00:18:07,800 --> 00:18:10,220 Jie turėtų būti gana nedidelis, bet nebūtinai 450 00:18:10,220 --> 00:18:13,100 trivialus programos rašyti, kad nebūtinai yra 451 00:18:13,100 --> 00:18:16,230 įdomių ir patys, bet yra gerų galimybių 452 00:18:16,230 --> 00:18:19,620 praktika su sintakse, su naujų funkcijų, komfortą 453 00:18:19,620 --> 00:18:21,900 skyriuje, kur jūs turite iš jūsų klasiokų pateikti kaip 454 00:18:21,900 --> 00:18:22,870 pat jūsų TF. 455 00:18:22,870 --> 00:18:26,210 >> Ir tai, ką mes padaryti per tam tikrą laiką naudoti įrankį, vadinamą CS50 Tarpai 456 00:18:26,210 --> 00:18:28,940 , o ne tik naudojant CS50 Appliance, jums 457 00:18:28,940 --> 00:18:32,450 vietoj to eiti į tinklalapį naršyklėje, kur galėsite 458 00:18:32,450 --> 00:18:35,610 rašyti kodą į naršyklės lange skyriuje metu. 459 00:18:35,610 --> 00:18:38,240 Ir tada, jei pasirenkate, savo mokymo kolegos gali tada parodyti 460 00:18:38,240 --> 00:18:40,980 kokia ji yra, jūs rašyti ant ekrano, tai atlikti turite savo naršyklėje 461 00:18:40,980 --> 00:18:43,930 langas klasės priekyje, ar anonimiškai arba 462 00:18:43,930 --> 00:18:47,250 viešai, kad jis arba ji gali tada pėsčiomis per su 463 00:18:47,250 --> 00:18:50,080 Jūsų klasiokais, ką jūs gerai, ką tu negali padaryti taip pat. 464 00:18:50,080 --> 00:18:52,750 Ir vėl, būkite tikri, visa tai gali būti gražiai anonimiški. 465 00:18:52,750 --> 00:18:54,410 Bet tai bus puiki galimybė daug daugiau 466 00:18:54,410 --> 00:18:56,810 interaktyvumo nei kažką panašaus į paskaitą leidžia. 467 00:18:56,810 --> 00:18:58,910 >> Tuo tarpu, mes turime šiuos dalykus, pavadintą "Super 468 00:18:58,910 --> 00:19:01,610 skyriai, kurie yra neprivaloma, tačiau yra atviri visiems, 469 00:19:01,610 --> 00:19:04,030 klasę, kad galite tai padaryti kartu 470 00:19:04,030 --> 00:19:05,190 problema nustatyti vieną. 471 00:19:05,190 --> 00:19:06,010 Štai tvarkaraštis. 472 00:19:06,010 --> 00:19:08,870 Tai taip pat paskelbtas interneto svetainėje adresu: cs50.net. 473 00:19:08,870 --> 00:19:10,850 Atkreipkite dėmesį, kad ten bus hakeris specifinis 474 00:19:10,850 --> 00:19:12,430 vienas rytoj po pietų. 475 00:19:12,430 --> 00:19:15,460 Ir mes nufilmuoti vieną šiandien ir rytoj ir po tie, 476 00:19:15,460 --> 00:19:16,720 internete per 24 valandas. 477 00:19:16,720 --> 00:19:19,370 Taigi, jei jūs negalite padaryti, bet šiais laikais, ne nerimauti. 478 00:19:19,370 --> 00:19:22,720 Ir vėl, grafikas yra online dabar adresu cs50.net. 479 00:19:22,720 --> 00:19:25,350 >> Ruožais save, jūs turite Dotarłeś 480 00:19:25,350 --> 00:19:28,520 elektroniniu paštu nurodantis jums eiti kurso puslapyje rasti 481 00:19:28,520 --> 00:19:29,610 iš savo skyriaus. 482 00:19:29,610 --> 00:19:32,890 Jei gyvenimas pasikeitė ir jums reikia pakeisti savo skyrių, 483 00:19:32,890 --> 00:19:33,560 ne problema. 484 00:19:33,560 --> 00:19:37,900 Grįžti atgal tas pats URL, cs50.net/section, vienaskaitos, 485 00:19:37,900 --> 00:19:40,090 ir jums užpildyti panašią formą, kad būtų galima 486 00:19:40,090 --> 00:19:41,260 tada mums savo pageidavimus. 487 00:19:41,260 --> 00:19:43,360 Ir mes iki savaitės pabaigos, ką mes galime 488 00:19:43,360 --> 00:19:44,240 prisitaikyti. 489 00:19:44,240 --> 00:19:49,530 Praėjusią savaitę, prisiminti kad mes pasiūlėme naudojant CS50 aptarti, 490 00:19:49,530 --> 00:19:51,370 Žinoma, diskusijos įrankis, paskaitos. 491 00:19:51,370 --> 00:19:53,680 Taigi mes turėjome 40 klausimų, kurie buvo užduodami ir 492 00:19:53,680 --> 00:19:54,720 atsakė paskaitos metu. 493 00:19:54,720 --> 00:19:56,280 Taip atrodė, kad gerai dirba, todėl mes ir toliau 494 00:19:56,280 --> 00:19:57,180 bando tai padaryti. 495 00:19:57,180 --> 00:19:59,600 , Jei per paskaitą, jūs ne tik jaustis patogiai pritraukti 496 00:19:59,600 --> 00:20:00,780 tavo ranka, o ne problema. 497 00:20:00,780 --> 00:20:04,640 Eiti į cs50.net/discuss, rašyti ten, ir vienas iš mūsų mokymo 498 00:20:04,640 --> 00:20:07,270 bičiuliai arba bus atsakyti elektroniniu arba padidinti jų 499 00:20:07,270 --> 00:20:10,620 ranką ant jūsų vardu anonimiškai paklausti, priklausomai 500 00:20:10,620 --> 00:20:12,470 į klausimo pobūdį. 501 00:20:12,470 --> 00:20:15,000 Ir grįžtamojo ryšio, paprastai psets bus 502 00:20:15,000 --> 00:20:16,760 grįžo per savaitę. 503 00:20:16,760 --> 00:20:19,080 , Nes tai užima šiek tiek laiko pasiekti skyriai 504 00:20:19,080 --> 00:20:22,430 pusiausvyra, pirmasis pset, 0 ir 1, bus šiek tiek 505 00:20:22,430 --> 00:20:24,130 užsitęsė, nes viskas įsikurti. 506 00:20:24,130 --> 00:20:27,130 Bet stay tuned, kad ateinančias savaites. 507 00:20:27,130 --> 00:20:29,750 >> Viskas gerai, todėl leiskite man įdėti mano rimtas 508 00:20:29,750 --> 00:20:31,040 balsas vos akimirką. 509 00:20:31,040 --> 00:20:32,690 Taigi tai yra iš tikrųjų įdomi klimatas 510 00:20:32,690 --> 00:20:35,210 šią diskusiją, kas su visų kitų dalykų, 511 00:20:35,210 --> 00:20:37,310 vyksta miesteliu su jomis susijusių. 512 00:20:37,310 --> 00:20:40,220 Bet CS50, be abejo, turėjo savo istoriją, tai ypač 513 00:20:40,220 --> 00:20:43,360 tema, kiek kiekvienais metais, šis kursas, nes daugelis 514 00:20:43,360 --> 00:20:46,910 metų, skelbimų lentos maždaug 3% klasės. 515 00:20:46,910 --> 00:20:51,620 Tai paskutinių metų, 2011, CS50 Skelbimas sulaikytam 35 studentų. 516 00:20:51,620 --> 00:20:54,120 Tai ne, manau, dėl to, kad trūksta aiškumo. 517 00:20:54,120 --> 00:20:56,760 Suprantu, kad kurso mokymo programą, yra puslapis 518 00:20:56,760 --> 00:20:59,020 pranešimą, paaiškinantį, kur yra linijos. 519 00:20:59,020 --> 00:21:01,350 Kad tas pats teiginys kartojamas vieną kartą per 520 00:21:01,350 --> 00:21:03,070 problema nustato puslapis vienas. 521 00:21:03,070 --> 00:21:05,760 >> Taigi, aš sakiau, tai šiandien tikrai tik, kad 522 00:21:05,760 --> 00:21:07,030 žmonės Suvokdama šio. 523 00:21:07,030 --> 00:21:08,080 Ir mes bandėme skirtingus dalykus. 524 00:21:08,080 --> 00:21:10,630 Ir ką aš maniau, kad mes darome šiandien, tai tiesiog šiek tiek laiko ir 525 00:21:10,630 --> 00:21:13,830 iš tikrųjų atrodo kai praeities atvejų, kurie sugalvoti. 526 00:21:13,830 --> 00:21:16,160 O ne laikyti šiuos kaip purvinas šiek tiek paslaptis, faktiškai 527 00:21:16,160 --> 00:21:19,170 atkreipti dėmesį, ką studentai padaryti ir kaip mes nustatėme, 528 00:21:19,170 --> 00:21:21,630 ji ir tikrai, kas svarbiausias motyvas yra 529 00:21:21,630 --> 00:21:23,950 net, kad šį pokalbį. 530 00:21:23,950 --> 00:21:27,060 Taigi, su ta sako, linija iš esmės tai - 531 00:21:27,060 --> 00:21:29,200 už mokymo programą, jūs laukiami, jums yra skatinamos, 532 00:21:29,200 --> 00:21:30,210 kalbėti su klasės draugais. 533 00:21:30,210 --> 00:21:31,910 Štai visai tikslu Šiais bendradarbiavimo 534 00:21:31,910 --> 00:21:34,470 biuro darbo valandomis Annenberg ir skatinant žmones 535 00:21:34,470 --> 00:21:35,755 galutinė projekto dirbti kartu. 536 00:21:35,755 --> 00:21:38,590 Tačiau linijąar, kai ji ateina laikas iš tikrųjų rašyti 537 00:21:38,590 --> 00:21:39,790 jūsų galutinis sprendimas. 538 00:21:39,790 --> 00:21:42,590 Kalbėdamas anglų kalba, visiškai gerai, kalbant pseudo kodas, 539 00:21:42,590 --> 00:21:43,400 visiškai gerai. 540 00:21:43,400 --> 00:21:46,340 Elektroniniu paštu savo klasės draugus, savo pset, leisdami jiems atrodo per 541 00:21:46,340 --> 00:21:48,610 ekranas, rankų ir toliau rašyti, 542 00:21:48,610 --> 00:21:50,110 virš linijos taip pat. 543 00:21:50,110 --> 00:21:52,250 Tai atrodo į konkrečias mokymo programą. 544 00:21:52,250 --> 00:21:55,850 >> Bet tik dažų paveikslėlį, kaip tai, deja, 545 00:21:55,850 --> 00:21:58,370 tikrove, suprasti, kad yra svetainių, ten, kad 546 00:21:58,370 --> 00:22:01,490 sprendimus šios klasės ir daugelio kitų grupių. 547 00:22:01,490 --> 00:22:04,940 Tas faktas, kad jūs arba apie 3% iš jūsų žino, kad tai yra 548 00:22:04,940 --> 00:22:07,240 reiškia, kad mes žinome, kad toks egzistuoja. 549 00:22:07,240 --> 00:22:09,340 Faktas, kad yra svetainių, kaip šis, kur jūs 550 00:22:09,340 --> 00:22:11,540 gali mokėti nors realiai tai jūsų problema rinkiniai - tai buvo 551 00:22:11,540 --> 00:22:13,450 faktinis, kad atėjo pernai. 552 00:22:13,450 --> 00:22:15,790 Tai svetainė vadinamas odesk.com. 553 00:22:15,790 --> 00:22:20,090 Timas buvo to asmens pavadinimas, kuris buvo komandiruotės 554 00:22:20,090 --> 00:22:24,580 ši svetainė ir paprašė ką nors padaryti savo pset 7 555 00:22:24,580 --> 00:22:25,570 šiuo konkrečiu atveju. 556 00:22:25,570 --> 00:22:28,350 Na, odesk.com yra labai "Google" gali ir mes taip pat yra 557 00:22:28,350 --> 00:22:30,310 labai gerai "Google" paiešką. 558 00:22:30,310 --> 00:22:32,360 Čia taip pat yra svetainės - ir tai vienas, o 559 00:22:32,360 --> 00:22:34,234 žiaurią, atvirai. 560 00:22:34,234 --> 00:22:38,050 [Juokas] 561 00:22:38,050 --> 00:22:39,610 David J. Malan: juokingas dalykas apie šią svetainę, jei 562 00:22:39,610 --> 00:22:41,970 jūs perskaitėte Apie puslapį, jie kalbėti apie savo verslo 563 00:22:41,970 --> 00:22:44,390 kultūra ir kaip klientų aptarnavimo, yra numeris vienas 564 00:22:44,390 --> 00:22:46,190 prioritetas, įsitikinkite, kad jūsų užduotis gauti 565 00:22:46,190 --> 00:22:47,890 pasuko laiku. 566 00:22:47,890 --> 00:22:50,580 >> Tačiau visais sunkumo, vėl, tai, kad šios svetainės 567 00:22:50,580 --> 00:22:52,910 egzistuoja, reikia suprasti, mes taip pat žino, 568 00:22:52,910 --> 00:22:53,730 šių svetainių rūšių. 569 00:22:53,730 --> 00:22:55,890 Ir duoti jums tai, ką jausmą sudaro tai paprastai 570 00:22:55,890 --> 00:22:58,570 užtrunka, mes paprastai neturi turi daug skandalų, kur žmonės 571 00:22:58,570 --> 00:23:01,080 bendradarbiauja, bet masiškai, o 572 00:23:01,080 --> 00:23:04,540 tai šie vėlai naktį silpnumo akimirkos, kur jūs turite tiek 573 00:23:04,540 --> 00:23:07,550 daug padaryti, 04:00, jūs išnaudotos, ir jūs 574 00:23:07,550 --> 00:23:09,770 galvoti, gerai, tegul man tik ne mano išvaizdą 575 00:23:09,770 --> 00:23:11,770 kambarioku arba mano draugo kodas ar panašiai. 576 00:23:11,770 --> 00:23:14,800 Ir tai apraiškos, deja, įtraukti studentus 577 00:23:14,800 --> 00:23:17,640 Pateikdama kažkas panašaus tai ir Studentų B pateikiantį dokumentus 578 00:23:17,640 --> 00:23:20,370 kažką panašaus į tai, kurios, be abejo, į kompiuterį 579 00:23:20,370 --> 00:23:23,830 mokslas klasė, yra nepaprastai lengva kompiuterinių mokslų 580 00:23:23,830 --> 00:23:25,690 nustatyti su programine įranga. 581 00:23:25,690 --> 00:23:28,410 Tai yra dar vienas bendras paradigma, kur jūs tarsi 582 00:23:28,410 --> 00:23:31,010 dirbti kartu, kad kažkas, galbūt kalbėti 583 00:23:31,010 --> 00:23:32,360 Anglų, tik baudą, Pseudocode. 584 00:23:32,360 --> 00:23:35,080 Bet tada ji ateina laikas faktiškai pateikti, ir psets 585 00:23:35,080 --> 00:23:37,910 tiesiog gauti keičiamasi elektroniniu paštu ar "Dropbox" ar pan. 586 00:23:37,910 --> 00:23:41,120 Bet bando padaryti jį mažiau akivaizdu, kad tai yra 587 00:23:41,120 --> 00:23:44,830 kas nutiko, tai yra tai, kas pateikta. 588 00:23:44,830 --> 00:23:47,880 Tai taip pat nėra kelionė gerai parašyta vienetų 589 00:23:47,880 --> 00:23:50,360 programinės įrangos, pavyzdžiui, kad iš tikrųjų mes turime nustatyti 590 00:23:50,360 --> 00:23:51,280 šių dalykų rūšių. 591 00:23:51,280 --> 00:23:53,760 Ir iš tiesų tai, ką mes darome, yra paleisti programinę įrangą, kuri palygina visų 592 00:23:53,760 --> 00:23:55,540 šiais metais kaltinimai dėl praeities metų 593 00:23:55,540 --> 00:23:57,380 pareiškimai, prieš viską, ką mes rasti 594 00:23:57,380 --> 00:24:00,060 Internetas, ten prieš kiekvieną darbo svetainėje. 595 00:24:00,060 --> 00:24:01,710 Viskas labai automatizuota. 596 00:24:01,710 --> 00:24:05,665 Ir todėl mes tai padaryti tikrai labai sąžiningumo 97%, kurie 597 00:24:05,665 --> 00:24:07,760 tikrai dirba savo asilų ir kitose 598 00:24:07,760 --> 00:24:11,530 klasės ir išleisti visų šių pastangų, kad darbas 599 00:24:11,530 --> 00:24:13,030 jie galiausiai pateikti, yra jų pačių. 600 00:24:13,030 --> 00:24:14,220 Ir aš galiu eiti per amžius. 601 00:24:14,220 --> 00:24:16,030 >> Tai yra tik praėjusių metų bylas sauja. 602 00:24:16,030 --> 00:24:19,350 Keletas studentai pateikė šiuos failus analogišku pset 2 603 00:24:19,350 --> 00:24:22,460 3, pset 4 pset, pset 5, 6, pset pset 9. 604 00:24:22,460 --> 00:24:26,360 Šiuo atveju, tai buvo viktorina 0 ir pernai, kai du 605 00:24:26,360 --> 00:24:29,570 studentai pateikė vienodai šį sakinį iš daugelio 606 00:24:29,570 --> 00:24:32,210 kiti, "tipo užklausa -" taškas, taškas, taškas. 607 00:24:32,210 --> 00:24:34,530 Taigi net 600 klasės mes tai nustatyti 608 00:24:34,530 --> 00:24:36,310 į pateiktus viktorinos. 609 00:24:36,310 --> 00:24:39,080 Taigi trumpai tariant, tai - atvirai, aš nekenčiu šios rūšies 610 00:24:39,080 --> 00:24:41,300 pokalbis - bet tai tikrai sąmoningas pastangas 611 00:24:41,300 --> 00:24:43,540 šiemet pabandyti sumažinti šį skaičių. 612 00:24:43,540 --> 00:24:45,650 Nes, nors mes sakome, šių rūšių dalykų, kas 613 00:24:45,650 --> 00:24:48,100 metais, manau, apsigyveno ant jo realybę kelias 614 00:24:48,100 --> 00:24:50,800 daugiau sekundžių, nei įprasta, o iš tikrųjų tik nurodydama, 615 00:24:50,800 --> 00:24:53,600 kad tai, kas gali atrodyti kaip, ane, ne tokia baisi, bent jau 616 00:24:53,600 --> 00:24:56,390 prisiminkite šiuo konkrečiu momentu, tiek teisingumą 617 00:24:56,390 --> 00:25:00,100 save ir savo klasiokų čia. 618 00:25:00,100 --> 00:25:02,480 Taigi, jei turite kokių nors klausimų dėl to, kur linija 619 00:25:02,480 --> 00:25:04,290 yra, prašome tiesiog pasiekti man asmeniškai. 620 00:25:04,290 --> 00:25:07,190 Bet atsakymas yra visada, visiškai pabrėžta 621 00:25:07,190 --> 00:25:09,090 paskutinė minutė, pinigų vėlai dieną. 622 00:25:09,090 --> 00:25:11,080 Arba, jei tai ne pavėluotai dienų klausimas, 623 00:25:11,080 --> 00:25:12,900 sąžiningai, rašykite man asmeniškai. 624 00:25:12,900 --> 00:25:14,110 Mes suprasti kažką. 625 00:25:14,110 --> 00:25:17,480 Neskelbkite savo gyvenimą čia Harvardo gresia pavojus. 626 00:25:17,480 --> 00:25:18,570 >> Dabar, aš maniau, turėtume palengvinti nuotaiką, todėl aš 627 00:25:18,570 --> 00:25:20,264 įtraukti į kitą skaidrę. 628 00:25:20,264 --> 00:25:22,770 [Juokas] 629 00:25:22,770 --> 00:25:23,630 David J. Malan: Ši svetainė buvo puiki. 630 00:25:23,630 --> 00:25:24,820 Aš tikrai turiu šiek tiek išsiblaškęs. 631 00:25:24,820 --> 00:25:26,330 Yra tai vienas. 632 00:25:26,330 --> 00:25:29,590 Ir tada tai buvo nuostabu. 633 00:25:29,590 --> 00:25:35,190 Gerai, kad galvoti apie tą kačiuką vėlai vakare darant 634 00:25:35,190 --> 00:25:36,040 tie sprendimai. 635 00:25:36,040 --> 00:25:40,110 Viskas gerai, todėl daugiau malonumo ir mažiau rimtų dalykų, pavyzdžiui, 636 00:25:40,110 --> 00:25:40,780 sąlygos. 637 00:25:40,780 --> 00:25:43,900 >> Viskas bus gerai, kad mes kalbėjome trumpai apie tai. 638 00:25:43,900 --> 00:25:46,080 Tai yra kažkas, kad tikriausiai gana gerai susipažinę nuo 639 00:25:46,080 --> 00:25:47,260 Scratch pasaulis. 640 00:25:47,260 --> 00:25:49,860 Ir nulio pasaulyje, mes turime šį poreikį kartais 641 00:25:49,860 --> 00:25:51,110 eiti padaryti šakutės kelyje. 642 00:25:51,110 --> 00:25:54,840 Arba padaryti tą ar aną ar kitas dalykas, čia. 643 00:25:54,840 --> 00:25:58,990 Ir jei mes norime tai padaryti, mes galime naudoti, C, tuo atveju, jei 644 00:25:58,990 --> 00:26:00,860 kitur statyti. 645 00:26:00,860 --> 00:26:06,420 Ir tada čia mes turime Būlio išraiškos. 646 00:26:06,420 --> 00:26:09,260 Pavyzdžiui, Būlio išraiškos Čia mes galime AR 647 00:26:09,260 --> 00:26:12,260 juos kartu, ta prasme, kad mes turime šią sąlygą AR 648 00:26:12,260 --> 00:26:13,200 ši sąlyga. 649 00:26:13,200 --> 00:26:15,100 Mes galime ir juos kartu, ta prasme, kad mes norime 650 00:26:15,100 --> 00:26:17,710 patikrinti šią sąlygą, o ši sąlyga. 651 00:26:17,710 --> 00:26:22,440 Ir čia mes turime jungiklis pareiškimą dabar, kas yra ne taip 652 00:26:22,440 --> 00:26:26,040 panašus sintaksiškai tiems įvairiomis sąlygomis, tačiau jis 653 00:26:26,040 --> 00:26:30,160 leidžia mums padaryti IF ekvivalento else if, else if, else 654 00:26:30,160 --> 00:26:34,990 , jei ir paprasčiausiai išvardijant jiems kiekvienu konkrečiu atveju, kaip 655 00:26:34,990 --> 00:26:36,670 kiekvienu konkrečiu atveju. 656 00:26:36,670 --> 00:26:38,370 Taigi mes matėme tuos paskutinį kartą. 657 00:26:38,370 --> 00:26:40,430 Ir tada mes pradėjome Kreipdamiesi dalykų, pavyzdžiui, kilpų. 658 00:26:40,430 --> 00:26:42,070 Mes matėme vieną iš jų vos prieš akimirką. 659 00:26:42,070 --> 00:26:44,180 Bet yra tie kiti ciklų sakiniai. 660 00:26:44,180 --> 00:26:46,370 >> Pavyzdžiui, tai vienas čia. 661 00:26:46,370 --> 00:26:50,140 Taigi, while (sąlyga), daryti tai, ką vėl ir vėl. 662 00:26:50,140 --> 00:26:53,070 Taigi, iš esmės, kas atrodo, kad skiriasi 663 00:26:53,070 --> 00:26:55,760 linijos ir šio while cikle čia? 664 00:27:00,810 --> 00:27:05,045 Šis linijos ir šio while cikle. 665 00:27:05,045 --> 00:27:07,840 Taip? 666 00:27:07,840 --> 00:27:08,800 Kas tai? 667 00:27:08,800 --> 00:27:10,050 Auditorija: [nesigirdi]. 668 00:27:14,632 --> 00:27:15,120 David J. Malan: Geras. 669 00:27:15,120 --> 00:27:17,130 Taigi, o loop "sąlygos, yra aiškiai 670 00:27:17,130 --> 00:27:17,940 daugiau sintaksė. 671 00:27:17,940 --> 00:27:20,560 Ten tai iniciacijos, ten šį naujinimą. 672 00:27:20,560 --> 00:27:23,820 While cikle, yra tik ši sąlyga. 673 00:27:23,820 --> 00:27:26,630 Taigi atrodo, kad tai šiek tiek palyginti palyginti su 674 00:27:26,630 --> 00:27:28,770 linijos, tai reiškia, jei mes norime turėti kintamuosius, ir mes norime 675 00:27:28,770 --> 00:27:30,800 turėti incrementation, mes iš tikrųjų turime 676 00:27:30,800 --> 00:27:32,500 daryti tai, ką patys. 677 00:27:32,500 --> 00:27:34,420 >> Taigi leiskite man eiti į priekį ir atverti gedit. 678 00:27:34,420 --> 00:27:36,320 Leiskite man pereiti prie prietaiso. 679 00:27:36,320 --> 00:27:38,110 Ir tegul tiesiog padaryti greitai mažai, kad, pavyzdžiui, 680 00:27:38,110 --> 00:27:40,550 išskiria vienas iš jų nuo kitų. 681 00:27:40,550 --> 00:27:42,490 Ir mano protas atgal čia, reikia pasakyti vieną dalyką. 682 00:27:42,490 --> 00:27:44,120 Aš konkrečiai paminėjo vardas Timas. 683 00:27:44,120 --> 00:27:47,740 Timas buvo kažkas, kad studentas bandė rasti 684 00:27:47,740 --> 00:27:48,680 namų darbus už juos. 685 00:27:48,680 --> 00:27:51,280 Mes neturėjome Timas būtent tame skyriuje. 686 00:27:51,280 --> 00:27:53,690 Taigi suvokti, kad aš atskleisti studentą, tai buvo ne studentas. 687 00:27:53,690 --> 00:27:55,720 Tai buvo atsitiktinis asmuo internete daryti dalykus 688 00:27:55,720 --> 00:27:57,180 pagal įgaliojimą praėjusiais metais. 689 00:27:57,180 --> 00:27:58,670 Taigi matome, kad, taip pat. 690 00:27:58,670 --> 00:28:00,630 Taigi, šiuo atveju čia, leiskite man eiti į priekį ir 691 00:28:00,630 --> 00:28:02,810 atverti naują failą. 692 00:28:02,810 --> 00:28:04,800 Failas, Naujas. 693 00:28:04,800 --> 00:28:06,050 Tai suteikia man skirtuką čia. 694 00:28:06,050 --> 00:28:09,940 Leiskite man eiti į priekį ir išsaugoti ją kaip loop.c. 695 00:28:09,940 --> 00:28:11,810 Leisk man eiti ir spustelėkite Įrašyti. 696 00:28:11,810 --> 00:28:15,340 Ir tada žemyn čia, eikime į priekį ir pradėti rašyti 697 00:28:15,340 --> 00:28:16,605 # Include . 698 00:28:19,116 --> 00:28:20,520 Leiskite man padidinti. 699 00:28:20,520 --> 00:28:23,410 Dabar mes padaryti int main (void). 700 00:28:23,410 --> 00:28:30,020 Dabar leiskite man eiti į priekį ir padaryti už (int i = 0; i < 701 00:28:30,020 --> 00:28:33,480 oh, 10, i + +). 702 00:28:33,480 --> 00:28:36,620 Ir dabar aš ruošiuosi eiti į priekį ir spausdinti žvaigždė, kad aš 703 00:28:36,620 --> 00:28:37,890 padarė anksčiau. 704 00:28:37,890 --> 00:28:39,390 Ir tada šios programos pabaigoje, mes tiesiog ketina 705 00:28:39,390 --> 00:28:41,130 spausdinti naują eilutę, tik todėl, kad mano greitai 706 00:28:41,130 --> 00:28:42,470 neatrodo visą nepatogus. 707 00:28:42,470 --> 00:28:45,170 return 0. 708 00:28:45,170 --> 00:28:47,610 Atrodo sintaksiškai teisingas? 709 00:28:47,610 --> 00:28:48,040 Iki šiol. 710 00:28:48,040 --> 00:28:48,560 Taigi pažiūrėkime. 711 00:28:48,560 --> 00:28:51,290 >> Taigi leiskite man nutolinti, eiti į mano terminalo lange. 712 00:28:51,290 --> 00:28:54,570 Ir leiskite man eiti į priekį ir paleisti kilpą, nes aš tai pavadino 713 00:28:54,570 --> 00:28:55,690 dalykas loop.c. 714 00:28:55,690 --> 00:28:56,780 Kilpą. 715 00:28:56,780 --> 00:28:57,840 Atrodo sudaryti Gerai. 716 00:28:57,840 --> 00:29:00,210 Aš bėgsiu kilpa, ir dabar Įveskite. 717 00:29:00,210 --> 00:29:01,820 Ir atrodo, kad atspausdinti 10 žvaigždės. 718 00:29:01,820 --> 00:29:03,780 Todėl galime tik tai pakeisime į while cikle, ir pamatyti, kas 719 00:29:03,780 --> 00:29:05,220 rūšių klausimų, mes užkliūti. 720 00:29:05,220 --> 00:29:11,290 Taigi, vietoj to, leisk man eiti čia ir pasakyti, o aš 721 00:29:11,290 --> 00:29:12,760 mažiau kaip 10 - 722 00:29:12,760 --> 00:29:14,910 leiskite man atsikratyti už linijos. 723 00:29:14,910 --> 00:29:17,170 Gerai, kad jau turime keletą problemų. 724 00:29:17,170 --> 00:29:21,110 Taigi ši sąlyga yra tas pats, bet aš akivaizdžiai trūksta 725 00:29:21,110 --> 00:29:21,680 inicijavimas. 726 00:29:21,680 --> 00:29:23,840 Man trūksta incrementation. 727 00:29:23,840 --> 00:29:28,020 Taigi, kas turėtų sudarytojas greičiausiai pasakys man, kai bandau 728 00:29:28,020 --> 00:29:29,170 sudaryti šią programą? 729 00:29:29,170 --> 00:29:29,666 Taip? 730 00:29:29,666 --> 00:29:31,154 Auditorija: [nesigirdi]. 731 00:29:31,154 --> 00:29:31,650 >> David J. Malan: Geras. 732 00:29:31,650 --> 00:29:34,180 Taigi jis ketina pasakyti kažką panašaus nedeklaruota 733 00:29:34,180 --> 00:29:35,280 , kintamasis i. 734 00:29:35,280 --> 00:29:37,980 Ir iš tiesų, nedeklaruojamo identifikatorių i. 735 00:29:37,980 --> 00:29:40,960 Ir todėl tai yra priešingai kalbomis, pavyzdžiui, PHP ir 736 00:29:40,960 --> 00:29:43,120 Python ir Ruby, su kuria kai kurie iš jūsų gali būti susipažinę, 737 00:29:43,120 --> 00:29:44,820 , kur Jūs galite tiesiog rūšies pradėti naudojant kintamuosius 738 00:29:44,820 --> 00:29:47,420 norom nenorom ir neturi nerimauti pripažįstama, kad jų 739 00:29:47,420 --> 00:29:48,560 aiškiai visada. 740 00:29:48,560 --> 00:29:51,770 C ir kalbų, pavyzdžiui, Java ir C + +, jūs turite būti 741 00:29:51,770 --> 00:29:53,020 super aiškus. 742 00:29:53,020 --> 00:29:55,760 Ir, jei norite, kad kintamasis vadinamas i, turite pasakyti man, 743 00:29:55,760 --> 00:29:57,360 kokios kintamojo ji yra. 744 00:29:57,360 --> 00:29:59,360 Taigi, mes ketiname išspręsti šią problemą taip. 745 00:29:59,360 --> 00:30:05,510 Aš ruošiuosi eiti čia ir įveskite int i, todėl 746 00:30:05,510 --> 00:30:07,860 Aš paskelbiau kintamasis vadinamas i. 747 00:30:07,860 --> 00:30:09,180 Dabar aš praleidau vieną žingsnį. 748 00:30:09,180 --> 00:30:11,340 Aš žinoma, nėra inicijuojami jį, bet pažiūrėkime, jei ta 749 00:30:11,340 --> 00:30:13,650 bent markių Apsukite metalinis garsas nustoti skųstis. 750 00:30:13,650 --> 00:30:15,770 Taigi leiskite man perdaryti šią programą. 751 00:30:15,770 --> 00:30:16,770 >> Viskas gerai, dabar jis tiesiog skundžiasi 752 00:30:16,770 --> 00:30:17,870 dėl kitos priežasties. 753 00:30:17,870 --> 00:30:21,130 "Variable" i "yra niezainicjowanymi kai naudojamas čia." Viskas gerai, todėl 754 00:30:21,130 --> 00:30:22,340 tai gana aiškus. 755 00:30:22,340 --> 00:30:25,510 Inicijuoti tiesiog reiškia, kad ją nustatyti lygi, kurių vertė. 756 00:30:25,510 --> 00:30:30,820 Ir mes ne padaryti, kad, todėl leiskite man pabandyti lygus 0. 757 00:30:30,820 --> 00:30:35,030 Dabar pabandykime šį kartą ir iš naujo paleiskite Apsukite metalinis garsas. 758 00:30:35,030 --> 00:30:36,140 Parengė šį kartą. 759 00:30:36,140 --> 00:30:37,210 Ir aš apie ją paleisti. 760 00:30:37,210 --> 00:30:43,120 Bet didelis senas begalinis ciklas, nes aš jau padarė 761 00:30:43,120 --> 00:30:45,530 iniciacijos, aš padaryti su sąlyga, bet aš niekada padaryti 762 00:30:45,530 --> 00:30:47,030 bet incrementation natūra. 763 00:30:47,030 --> 00:30:48,780 Taigi, kaip aš galiu padaryti incrementation? 764 00:30:48,780 --> 00:30:51,170 Na, while cikle, atrodo, kad aš ruošiuosi 765 00:30:51,170 --> 00:30:54,180 tai padaryti kilpos viduje, nes daug kaip ir pirmasis 766 00:30:54,180 --> 00:30:56,570 savaitės pavyzdžiai daro sakinius, pavyzdžiui, su 767 00:30:56,570 --> 00:30:59,040 kojinės ir savęs skaičiavimo, mes turėjome padaryti 768 00:30:59,040 --> 00:31:01,550 kažkas pačioje pabaigoje, kaip grįžti į kitą eilutę. 769 00:31:01,550 --> 00:31:05,040 Ką daryti, jei aš einu į priekį ir daryti tai i + +? 770 00:31:05,040 --> 00:31:06,030 Tegul ne netgi kompilować. 771 00:31:06,030 --> 00:31:06,890 Sugauti mane jau. 772 00:31:06,890 --> 00:31:09,704 Kas yra negerai čia? 773 00:31:09,704 --> 00:31:10,690 Auditorija: [nesigirdi]. 774 00:31:10,690 --> 00:31:11,770 >> David J. Malan: Taigi tai tikrai ne int. 775 00:31:11,770 --> 00:31:13,080 Tai aš. 776 00:31:13,080 --> 00:31:15,110 Ir garbanotieji petnešų, kaip ir anksčiau, 777 00:31:15,110 --> 00:31:16,800 įdubimas nepakanka. 778 00:31:16,800 --> 00:31:18,410 Taigi dabar aš statyti. 779 00:31:18,410 --> 00:31:21,780 Taigi, o aš yra mažesnis nei 10, spausdinti žvaigždę 780 00:31:21,780 --> 00:31:23,220 tada i prieaugio. 781 00:31:23,220 --> 00:31:25,680 Ir būdas, o kilpos darbai yra ta, kad kuo greičiau paspauskite 782 00:31:25,680 --> 00:31:29,630 apačioje kilpa, kuri šiuo atveju atrodo, kad 10 eilutėje, 783 00:31:29,630 --> 00:31:32,880 jis ketina grįžti į LINE 6, kurį pasiekus 784 00:31:32,880 --> 00:31:34,400 būklė bus tikrinama dar kartą. 785 00:31:34,400 --> 00:31:37,500 Ir jei aš vis dar mažiau nei 10, mes darysime linijos 8 ir 786 00:31:37,500 --> 00:31:41,250 tada 9, tada mes nukentėjo 10 ir grįžti iki 6, ir vėl 787 00:31:41,250 --> 00:31:45,580 vėl ir vėl ir vėl, kol, kaip aš yra mažesnis nei 10. 788 00:31:45,580 --> 00:31:47,860 Todėl galime iš naujo paleisti čia. 789 00:31:47,860 --> 00:31:48,940 >> Gerai, mes surinkome gerai. 790 00:31:48,940 --> 00:31:50,300 Leiskite man iš naujo paleisti kilpa. 791 00:31:50,300 --> 00:31:52,620 Ir dabar ji iš tikrųjų atrodo, kad darbas. 792 00:31:52,620 --> 00:31:55,100 Taigi pliusų ir minusų? 793 00:31:55,100 --> 00:31:58,910 Na, kiek ten iš tikrųjų nėra PIO visa 794 00:31:58,910 --> 00:31:59,420 toks mielas. 795 00:31:59,420 --> 00:32:01,870 Viskas gerai, tai buvo - Ak, tai buvo nelaimingas atsitikimas. 796 00:32:01,870 --> 00:32:05,200 Viskas gerai, todėl grįžkime už linijos. 797 00:32:05,200 --> 00:32:07,530 Taigi kilpos yra gražus, nes jie super aiškus. 798 00:32:07,530 --> 00:32:09,720 Ir nors jie šiek tiek clunky rašyti, tai 799 00:32:09,720 --> 00:32:11,500 labai galingas, ir tai leidžia daryti 800 00:32:11,500 --> 00:32:12,980 daug dalykų vienu metu. 801 00:32:12,980 --> 00:32:16,240 , O kilpos, neatrodo, kad didžiulis vertės tik 802 00:32:16,240 --> 00:32:18,500 dar, nes jis jaučiasi, mes tiesiog turime daugiau dirbti. 803 00:32:18,500 --> 00:32:20,670 Mes turime pradėti iniciacijos čia, 804 00:32:20,670 --> 00:32:23,480 atnaujinti žemai čia, ir mes turime prisiminti, padaryti viską, kad. 805 00:32:23,480 --> 00:32:26,260 Taigi, mes pamatysime, kad laiku, o kilpos, iš tikrųjų skolinti 806 00:32:26,260 --> 00:32:29,380 patys tik skirtinguose kontekstuose, įvairūs duomenys 807 00:32:29,380 --> 00:32:33,900 struktūras, pavyzdžiui, sąrašus ir maišos lenteles, ką mes susisieksime su 808 00:32:33,900 --> 00:32:34,970 vidurio semestrą. 809 00:32:34,970 --> 00:32:37,900 Bet dabar, žinau, kad šis trečiasis tipas, žinomas kaip do- 810 00:32:37,900 --> 00:32:38,480 while cikle. 811 00:32:38,480 --> 00:32:39,540 Ir mes matėme tai trumpai. 812 00:32:39,540 --> 00:32:41,830 Ir tai gali būti itin naudingi pset 1. 813 00:32:41,830 --> 00:32:45,570 Bet kada norite kažką daryti, ir tada patikrinkite, ar 814 00:32:45,570 --> 00:32:48,940 naudotojas bendradarbiavo, ir jei jos nesutiktų, tai padaryti dar kartą, do- 815 00:32:48,940 --> 00:32:51,460 while cikle skolina pati tokios logikos. 816 00:32:51,460 --> 00:32:55,640 , Nes, kaip užsisakyti iš viršaus į apačią čia rodo, 817 00:32:55,640 --> 00:32:57,750 nereikia pažodžiui reiškia, kaip tai padaryti. 818 00:32:57,750 --> 00:32:59,830 Ir tai padaryti vėl ir vėl, kas gali būti? 819 00:32:59,830 --> 00:33:03,000 Gal tai reiškia, raginančią GetInt arba GetString ir tada 820 00:33:03,000 --> 00:33:05,830 tikrinti GetInt ar GetString vertę ir tada šaukiantį 821 00:33:05,830 --> 00:33:08,260 vartotojo, jei jie nėra bendradarbiavo prašydama jų 822 00:33:08,260 --> 00:33:10,100 vėl ir vėl ir vėl. 823 00:33:10,100 --> 00:33:11,730 Ten, kur norite kartą kažką daryti, 824 00:33:11,730 --> 00:33:13,210 tada patikrinkite, ar tam tikrą sąlygą. 825 00:33:13,210 --> 00:33:14,110 >> Taigi, pabandykime tai. 826 00:33:14,110 --> 00:33:17,130 Leiskite man iš tikrųjų pakeisti dabar do-while cikle. 827 00:33:17,130 --> 00:33:18,830 Ir aš ruošiuosi eiti į priekį ir atlikite šiuos veiksmus. 828 00:33:18,830 --> 00:33:21,830 Taigi, atlikite šiuos veiksmus. 829 00:33:21,830 --> 00:33:26,870 Darykime int i = GetInt (), bet tegul pirmas pranešti vartotojui 830 00:33:26,870 --> 00:33:27,410 ką daryti. 831 00:33:27,410 --> 00:33:29,050 Taigi šiek tiek skiriasi, šį kartą. 832 00:33:29,050 --> 00:33:31,270 "Duok man int". 833 00:33:31,270 --> 00:33:32,910 Todėl aš naudoti printf už tai. 834 00:33:32,910 --> 00:33:35,740 Ir dabar aš ruošiuosi eiti čia, ir aš ruošiuosi tai padaryti 835 00:33:35,740 --> 00:33:41,520 o aš, tarkim, didesnė negu: - 836 00:33:41,520 --> 00:33:47,540 pažiūrėkime, i, tarkim, mažiau kaip 0, ar i 837 00:33:47,540 --> 00:33:48,730 didesnis nei 10. 838 00:33:48,730 --> 00:33:51,810 Kitaip tariant, aš noriu numerį 1-9, tiesiog 839 00:33:51,810 --> 00:33:52,720 savavališkai. 840 00:33:52,720 --> 00:33:55,290 Taigi, aš naudoju bendrą loginę išraišką čia 841 00:33:55,290 --> 00:33:59,930 įsitikinkite, kad i yra mažesnis už 0 arba didesnis nei 10, 842 00:33:59,930 --> 00:34:02,530 atveju aš tai darys kilpą čia dar kartą. 843 00:34:02,530 --> 00:34:04,400 Taigi dar kartą, tai padaryti - 844 00:34:04,400 --> 00:34:08,480 o aš yra mažesnis už 0 arba i yra didesnis nei 10. 845 00:34:08,480 --> 00:34:11,440 >> Taigi dabar eikime į priekį ir tai padaryti, kai mes padarėme, kad. 846 00:34:11,440 --> 00:34:13,270 Tegul tiesiog padaryti greitai normalumas patikrinti. 847 00:34:13,270 --> 00:34:18,929 printf ("Ačiū, i% d", i). 848 00:34:18,929 --> 00:34:21,350 Taigi tai paprasta programa, prašo vartotoją int 849 00:34:21,350 --> 00:34:24,000 todėl, kad jis yra per tam diapazoną nuo 1 iki 9 imtinai, 850 00:34:24,000 --> 00:34:26,280 ir tada dėkoja vartotojui, primindami jiems, ką jie tiesiog 851 00:34:26,280 --> 00:34:27,940 įvestas, kaip šiek tiek normalumas patikrinimo. 852 00:34:27,940 --> 00:34:30,659 Bet galime pamatyti, jei tai veikia, kaip numatyta. 853 00:34:30,659 --> 00:34:34,533 Leiskite man eiti galva čia ir iš naujo paleisti, kad kilpa. 854 00:34:34,533 --> 00:34:35,350 Hmm. 855 00:34:35,350 --> 00:34:38,600 "Naudoti nedeklaruojamo identifikatoriumi" i ". Tai keista. 856 00:34:38,600 --> 00:34:41,509 Maniau, kad mes nutarė, kad. 857 00:34:45,489 --> 00:34:47,560 Tas pats simptomas, tačiau skiriasi kodas. 858 00:34:47,560 --> 00:34:47,899 Taip? 859 00:34:47,899 --> 00:34:50,191 Auditorija: [nesigirdi] viduje dviejų, mes turime 860 00:34:50,191 --> 00:34:52,639 [Nesigirdi]. 861 00:34:52,639 --> 00:34:53,260 >> David J. Malan: Būtent. 862 00:34:53,260 --> 00:34:55,989 Taigi tai mus veda į temą, žinomas kaip taikymo sritį. 863 00:34:55,989 --> 00:34:59,350 It turns out, kad C, dar kartą, tai tikrai pateksite pažodžiui. 864 00:34:59,350 --> 00:35:02,970 Ir jei jūs darote kažką panašaus į tai, kur Jūs pareiškiate int 865 00:35:02,970 --> 00:35:06,120 ir tada priskirti tam tikrą vertę, bet jūs padaryti, kad viduje 866 00:35:06,120 --> 00:35:09,840 Garbanotasis petnešos pora, ką č Ar tai reiškia, kad jūs 867 00:35:09,840 --> 00:35:14,800 tik nori tuos 32 bitus, žinomas kaip "i egzistuoti 868 00:35:14,800 --> 00:35:18,200 aplinkybės tų Garbanotasis petnešos, per linijų 869 00:35:18,200 --> 00:35:22,420 6 iki 9. Taigi, aš deklaruojama, ir jis priskiriamas 870 00:35:22,420 --> 00:35:26,530 vertė atitinka 8, bet kuo greičiau gauti už 871 00:35:26,530 --> 00:35:30,270 žemiau garbanotas petnešomis 9 linija, i nebėra 872 00:35:30,270 --> 00:35:31,910 taikymo sritį, taip sakant. 873 00:35:31,910 --> 00:35:35,030 S-C-O-P-E. Tai nebėra teisinga kontekste. 874 00:35:35,030 --> 00:35:37,940 Taigi, dabar yra ne i, kad tai kaip nors mes dar net nebuvo 875 00:35:37,940 --> 00:35:38,770 paskelbė jį ne visi. 876 00:35:38,770 --> 00:35:41,520 >> Taigi, kas yra nustatyti tada kažką panašaus į tai, jei 877 00:35:41,520 --> 00:35:44,300 priežastis yra ta, kad aš buvo deklaruota per klamrami 878 00:35:44,300 --> 00:35:45,120 yra, matyt, blogai? 879 00:35:45,120 --> 00:35:45,410 Čia? 880 00:35:45,410 --> 00:35:46,820 Auditorija: [nesigirdi]. 881 00:35:46,820 --> 00:35:47,150 David J. Malan: Taip. 882 00:35:47,150 --> 00:35:48,710 Taigi, mes galime inicijuoti jį ne. 883 00:35:48,710 --> 00:35:53,530 Taigi leiskite man eiti į priekį ir ištrinti deklaracijos dalis, pagal kurią 884 00:35:53,530 --> 00:35:55,820 Nurodoma reikiamos rūšies ir leiskite man tai padaryti čia. 885 00:35:55,820 --> 00:36:00,220 Taigi, linijos 5, tai dabar sako: "Duok man int. Call It i. 886 00:36:00,220 --> 00:36:03,400 Pranešimas 9 eilutėje, aš nenoriu tai padaryti, nes aš 887 00:36:03,400 --> 00:36:04,830 jau turi 32 bitus. 888 00:36:04,830 --> 00:36:06,140 Aš nenoriu prašyti kompiuterį 889 00:36:06,140 --> 00:36:07,630 skirtingų 32 bitų. 890 00:36:07,630 --> 00:36:09,850 Noriu naudoti tuos pačius 32 bitus. 891 00:36:09,850 --> 00:36:13,190 Ir dabar, nes aš deklaruota linijos 5, jis vis dar teisėtu 892 00:36:13,190 --> 00:36:16,550 jį naudoti, atitinka 11 ir 12 linijos. 893 00:36:16,550 --> 00:36:19,310 >> Taigi, leiskite man pabandyti perkompiliuoti ir pamatyti 894 00:36:19,310 --> 00:36:20,490 jei Apsukite metalinis garsas sustoja šaukti. 895 00:36:20,490 --> 00:36:22,380 padaryti kilpą. 896 00:36:22,380 --> 00:36:25,470 Tad dabar ji yra "numanomo deklaracija funkcijos 897 00:36:25,470 --> 00:36:29,880 'GetInt negalioja C99 ". Kas tai? 898 00:36:29,880 --> 00:36:30,400 Taip? 899 00:36:30,400 --> 00:36:32,330 Auditorija: [nesigirdi]. 900 00:36:32,330 --> 00:36:32,690 David J. Malan: Taip. 901 00:36:32,690 --> 00:36:35,520 Taigi dabar, kad aš iš tikrųjų, naudojant GetInt, tai nėra kažkas, 902 00:36:35,520 --> 00:36:38,190 kad tiesiog ateina su C. Tai ateina iš CS50. 903 00:36:38,190 --> 00:36:39,890 Taigi, mes turime čia. 904 00:36:39,890 --> 00:36:41,450 Ir leiskite man grįžti prie greitai žemyn 905 00:36:41,450 --> 00:36:43,500 čia ir iš naujo paleiskite padaryti. 906 00:36:43,500 --> 00:36:44,160 Gerai, pagaliau. 907 00:36:44,160 --> 00:36:46,270 Dabar mes nutarė, kad ir kitų klaidų. 908 00:36:46,270 --> 00:36:48,930 Leiskite man dabar paleisti linijos ir pamatyti, kas atsitiks. 909 00:36:48,930 --> 00:36:51,740 "Duok man int." Aš duosiu jai 11. 910 00:36:51,740 --> 00:36:53,100 Aš duosiu jai -1. 911 00:36:53,100 --> 00:36:54,470 Aš duosiu FOO. 912 00:36:54,470 --> 00:36:56,080 Aš duosiu jai 5. 913 00:36:56,080 --> 00:36:57,450 Ir dabar ji iš tiesų veikia. 914 00:36:57,450 --> 00:36:59,410 Tačiau greitai pasikeitė dėl priežasčių čia. 915 00:36:59,410 --> 00:37:02,800 Kodėl ji sako, bandykite dar kartą vieną iš šių laikų, bet duok man 916 00:37:02,800 --> 00:37:03,920 int kitus tris kartus? 917 00:37:03,920 --> 00:37:05,500 Kodėl tai, kad elgesys skiriasi? 918 00:37:05,500 --> 00:37:06,980 Auditorija: atidavė jį eilutę. 919 00:37:06,980 --> 00:37:07,830 David J. Malan: Atsiprašome? 920 00:37:07,830 --> 00:37:08,570 Auditorija: Jūs davė eilutę. 921 00:37:08,570 --> 00:37:08,990 David J. Malan: Taip. 922 00:37:08,990 --> 00:37:11,450 Taigi, mes davė jam šiuo trečiuoju bandymu eilutę, 923 00:37:11,450 --> 00:37:12,490 Įvedžiau FOO. 924 00:37:12,490 --> 00:37:13,200 Foo yra eilutė. 925 00:37:13,200 --> 00:37:14,340 Tai akivaizdžiai ne int. 926 00:37:14,340 --> 00:37:17,500 Ir CS50 įgyvendino GetInt, kad mes 927 00:37:17,500 --> 00:37:20,330 ne patikrinti, jei kažkas yra mažesnis už 0 arba didesnis nei 10 928 00:37:20,330 --> 00:37:22,260 jums, nes, kaip mes žinome iš anksto, kokios 929 00:37:22,260 --> 00:37:23,130 int tu nori? 930 00:37:23,130 --> 00:37:25,880 Bet minimaliai mes galime patikrinti už jus, ar vartotojui bent 931 00:37:25,880 --> 00:37:26,730 įveskite sveikasis skaičius? 932 00:37:26,730 --> 00:37:30,500 Ir jei jos nesutiktų, mes klykauti vartotojo įvesdami "retry" 933 00:37:30,500 --> 00:37:31,440 ekrane. 934 00:37:31,440 --> 00:37:34,210 >> Taigi dabar mes turime programą, kuri ciklais. Gerai. 935 00:37:34,210 --> 00:37:37,070 Dabar, kuris iš jų yra tarsi geriau konstrukto? 936 00:37:37,070 --> 00:37:39,060 Taigi, tai yra, kai viskas pradeda gauti šiek tiek nepatogus, 937 00:37:39,060 --> 00:37:42,360 tai, kad jūs turite prisiminti, kad paskelbti kintamąjį čia 938 00:37:42,360 --> 00:37:44,630 , jei norite naudoti viduje kai 939 00:37:44,630 --> 00:37:46,460 garbanotieji petnešų ir už jos ribų. 940 00:37:46,460 --> 00:37:48,490 Bet net jei tai atrodo šiek tiek paslaptingas ne pirmas 941 00:37:48,490 --> 00:37:50,750 žvilgsnio, tiesiog dar kartą, prisiminti paprastą logiką. 942 00:37:50,750 --> 00:37:54,630 , Kad galėtumėte naudotis nieko C, ar tai funkcija arba 943 00:37:54,630 --> 00:37:57,680 tai kintamasis, jūs turite jį įtraukti, jei tai funkcija 944 00:37:57,680 --> 00:37:59,770 kažkurioje bibliotekoje, ar jums reikia jį deklaruoti. 945 00:37:59,770 --> 00:38:02,405 Bet dabar jūs turite būti ypač atkreipia dėmesį į tai, kad 946 00:38:02,405 --> 00:38:04,940 jūs nedeklaravę teisinga taikymo sritį. 947 00:38:04,940 --> 00:38:08,150 Jūs nesate išleisti jį labai stipriai viduje skliausteliuose. 948 00:38:08,150 --> 00:38:09,410 >> Taigi, leiskite man iš tikrųjų įvirsta. 949 00:38:09,410 --> 00:38:12,660 Jei mes einame atgal į mūsų pavyzdžiui, iš anksčiau, ir aš einu 950 00:38:12,660 --> 00:38:19,245 atgal į už int, int i = 0; i <10; i + +, ir aš 951 00:38:19,245 --> 00:38:26,370 padaryti printf žvaigždes, kaip šis, ir tada uždarykite skliaustelius, ir dabar 952 00:38:26,370 --> 00:38:30,410 printf i dabar - 953 00:38:30,410 --> 00:38:33,500 remiantis ta pačia logika, kas nutiks, kai aš stengiuosi 954 00:38:33,500 --> 00:38:35,500 sudaryti šią programą? 955 00:38:35,500 --> 00:38:36,790 Auditorija: Neteisingas identifikatorius. 956 00:38:36,790 --> 00:38:38,560 David J. Malan: Taigi tai dar vienas neteisingas identifikatorius, 957 00:38:38,560 --> 00:38:39,470 nedeklaruota identifikatorius. 958 00:38:39,470 --> 00:38:41,810 Dabar, priežastis yra šiek tiek kitoks. 959 00:38:41,810 --> 00:38:44,370 Akivaizdžiai nėra garbanotieji petnešų, bet ta pati 960 00:38:44,370 --> 00:38:46,790 idėja, taikymo sritį, taikoma ta pati istorija. 961 00:38:46,790 --> 00:38:50,340 Jei turite paskelbta kintamąjį kaip aš viduje 962 00:38:50,340 --> 00:38:53,960 linijos, net jei jūs ne konkrečiai parašyti garbanotas 963 00:38:53,960 --> 00:38:56,980 petnešos, protiškai, vis dar galvoja apie juos, 964 00:38:56,980 --> 00:39:00,310 atveju i galioja tik viduje už linijos. 965 00:39:00,310 --> 00:39:03,080 Jis negalioja, kai jūs gaunate į kitą eilutę, kuris 966 00:39:03,080 --> 00:39:05,090 šis atvejis yra dabar 10. 967 00:39:05,090 --> 00:39:09,060 Taigi, vos keli klausimai, taikymo srities ir pan. 968 00:39:09,060 --> 00:39:12,620 Viskas gerai, bet kokių klausimų? 969 00:39:12,620 --> 00:39:15,310 >> Viskas gerai, todėl tai yra trivialus mažai programos rūšies, 970 00:39:15,310 --> 00:39:17,450 spausdinti tik mažos žvaigždutės. 971 00:39:17,450 --> 00:39:20,400 Bet pažiūrėkime, jei pamenate šią dainą čia. 972 00:39:20,400 --> 00:39:22,530 Tai nepaprastai erzina daina vaikams dainuoti 973 00:39:22,530 --> 00:39:23,550 mokyklinis autobusas ir panašiai. 974 00:39:23,550 --> 00:39:25,990 Bet kas malonu apie tai, kad ji turi šį cikliškumą, 975 00:39:25,990 --> 00:39:27,910 pagal kurią ji yra "99 alaus buteliai ant sienos, 976 00:39:27,910 --> 00:39:28,520 99 buteliai alaus. 977 00:39:28,520 --> 00:39:31,030 Gerkite po vieną, perduoti jį aplink, 98 butelių alaus 978 00:39:31,030 --> 00:39:34,330 sienos. "Ir tada daina pakartoja 97, tada 96, tada 979 00:39:34,330 --> 00:39:38,040 95, 94, visą kelią žemyn iki 0, jei jūs iš tikrųjų gavo, kad 980 00:39:38,040 --> 00:39:38,920 kiek autobuse. 981 00:39:38,920 --> 00:39:41,960 Todėl tai yra puiki programa rūšiuoti padargo, nes mano 982 00:39:41,960 --> 00:39:43,650 Dieve, jei jums gali tiesiog įgyvendinti tai su keliais 983 00:39:43,650 --> 00:39:46,660 eilučių kodo, jums gali išspjauti visą lyrics 984 00:39:46,660 --> 00:39:48,240 daina gana greitai. 985 00:39:48,240 --> 00:39:50,420 Bet pakeliui, dabar mes galime pradėti erzinti išskyrus kai 986 00:39:50,420 --> 00:39:52,460 šių pagrindinių ciklais ir dabar taip pat 987 00:39:52,460 --> 00:39:55,830 pristatyti funkcijas kad mes rašome save, grąžinti reikšmes 988 00:39:55,830 --> 00:39:57,020 kad mes aplenkti. 989 00:39:57,020 --> 00:39:58,910 Bet pirmiausia, kodėl ne mes einame į priekį ir imtis mūsų penkių minučių 990 00:39:58,910 --> 00:39:59,320 pertrauka? 991 00:39:59,320 --> 00:40:01,480 Ir kai mes grįžti, mes dainuoti šią dainą. 992 00:40:05,680 --> 00:40:08,760 >> Viskas gerai, todėl mes atgal. 993 00:40:08,760 --> 00:40:11,850 Ir kai aš sakau mes dabar dainuoti šią dainą, aš turiu galvoje 994 00:40:11,850 --> 00:40:13,250 programiškai, o ne žodžiu. 995 00:40:13,250 --> 00:40:19,370 Taigi čia mes turime beer1.c, kuris yra vienas įgyvendinimas 996 00:40:19,370 --> 00:40:20,580 pirma daina. 997 00:40:20,580 --> 00:40:23,110 Ir tik būtų aišku, tiems, kurie susipažinę su ką 998 00:40:23,110 --> 00:40:24,460 šis dalykas atrodo, leiskite man eiti į priekį 999 00:40:24,460 --> 00:40:27,070 ir padaryti beer1 Enter. 1000 00:40:27,070 --> 00:40:30,400 Dabar leiskite man paleisti beer1, ir tai, ką mes pamatysime - kiek butelių 1001 00:40:30,400 --> 00:40:31,140 alaus dar bus? 1002 00:40:31,140 --> 00:40:33,240 Aš įveskite 99, kaip daina sako. 1003 00:40:33,240 --> 00:40:34,040 Įveskite. 1004 00:40:34,040 --> 00:40:35,650 Ir dabar, jei mes slinkti 1005 00:40:35,650 --> 00:40:38,280 Oi jei mes slinkti visa tai, mes matome, kad 1006 00:40:38,280 --> 00:40:41,350 tai iš tikrųjų dainuoti visą dainą. 1007 00:40:44,050 --> 00:40:44,540 Palauk. 1008 00:40:44,540 --> 00:40:46,240 Mano slinkties juosta mažai messed up. 1009 00:40:46,240 --> 00:40:47,940 Leiskite naudoti didesnį lange. 1010 00:40:47,940 --> 00:40:53,500 Taigi beer1, 99, čia mes einame. 1011 00:40:53,500 --> 00:40:56,420 Taigi čia mes turime visą dainą, dainuojama daug greičiau, 1012 00:40:56,420 --> 00:40:58,450 kompiuteriu, nei jis galėjo būti mūsų. 1013 00:40:58,450 --> 00:41:00,340 Taigi, nors pastebėjote, cikliškumą. 1014 00:41:00,340 --> 00:41:03,380 Ji sako, kad 99, tada 99, tada "vienas žemyn, perduoti jį 1015 00:41:03,380 --> 00:41:04,740 aplink ", tada 98. 1016 00:41:04,740 --> 00:41:06,640 Ir dabar jis kartojasi vėl ir vėl. 1017 00:41:06,640 --> 00:41:08,840 >> Taigi, iš tikrųjų tai yra puiki proga tam tikros rūšies 1018 00:41:08,840 --> 00:41:10,400 kilpų statyti. 1019 00:41:10,400 --> 00:41:12,950 Atkreipkite dėmesį, kad aš tipo pjovimo kampo čia. 1020 00:41:12,950 --> 00:41:15,960 Atkreipkite dėmesį, kad aš sakau "98 alaus butelių ant sienos, 1021 00:41:15,960 --> 00:41:19,010 97 buteliai alaus ant sienos ", ir kad buvo tiesiog 1022 00:41:19,010 --> 00:41:21,640 , kad, kai mes gauname, kad viena alaus butelius, aš neturiu 1023 00:41:21,640 --> 00:41:23,300 nerimauti, anglų kalbos gramatikos. 1024 00:41:23,300 --> 00:41:25,790 Bet mes taip pat galime išspręsti šią problemą su trupučiu jei 1025 00:41:25,790 --> 00:41:26,910 sąlyga, galbūt. 1026 00:41:26,910 --> 00:41:30,110 Jei šis numeris yra vienaskaitos, eiti į priekį ir pasakyti "butelį", 1027 00:41:30,110 --> 00:41:31,840 kitaip, jei tai [pasakyti "buteliai". 1028 00:41:31,840 --> 00:41:34,150 Bet dabar, aš visiškai sumažinti tą kampą. 1029 00:41:34,150 --> 00:41:35,520 Taigi pažiūrėkime, ką mes turime čia. 1030 00:41:35,520 --> 00:41:37,150 Taigi, mes turime keletą viršuje komentarus. 1031 00:41:37,150 --> 00:41:39,450 Aš Šios dvi bibliotekos, kaip 1032 00:41:39,450 --> 00:41:41,140 mes dažniausiai buvo. 1033 00:41:41,140 --> 00:41:43,610 O dabar leiskite man slinkti žemyn į pirmą 1034 00:41:43,610 --> 00:41:44,990 faktinės eilučių kodo. 1035 00:41:44,990 --> 00:41:47,020 Eilutė 17 prasideda pagrindinis. 1036 00:41:47,020 --> 00:41:50,610 Linija 21 ir 20 turi, kiek butelių alaus dar bus? 1037 00:41:50,610 --> 00:41:52,060 Ir tada aš vadinu GetInt. 1038 00:41:52,060 --> 00:41:53,800 Ir dabar turiu šiek tiek yra normalumas patikrinti. 1039 00:41:53,800 --> 00:41:57,030 >> Taigi tai yra susitarimas, kurį mes dabar pradėti tvirtinti 1040 00:41:57,030 --> 00:41:59,620 griežčiau tikrinti vartotojo įvestį. 1041 00:41:59,620 --> 00:42:01,710 Kartais jūs tiesiog nenorite, kad greitai juos vėl 1042 00:42:01,710 --> 00:42:02,630 ir vėl ir vėl. 1043 00:42:02,630 --> 00:42:05,620 Jei vartotojas varžtai ir nebendradarbiauja, gerai. 1044 00:42:05,620 --> 00:42:07,430 Mesti ir tiesiog negali su jais susidoroti. 1045 00:42:07,430 --> 00:42:08,990 Ir kad čia, ką aš darau. 1046 00:42:08,990 --> 00:42:12,520 Jei n yra mažesnis už 1, aš tik ketina klykauti ne vartotojo, 1047 00:42:12,520 --> 00:42:14,330 "Atsiprašau, kad neturi prasmės." Ir tada aš ruošiuosi 1048 00:42:14,330 --> 00:42:16,650 savavališkai grąžinti 1. 1049 00:42:16,650 --> 00:42:18,550 Taigi dar kartą, tai tik konvencija, priprasti prie. 1050 00:42:18,550 --> 00:42:19,850 Dabar, nuneškite jį tikėjimu. 1051 00:42:19,850 --> 00:42:22,700 Tačiau iki šiol, mes visada grįžti 0, nes 1052 00:42:22,700 --> 00:42:25,204 mes jau sakiau, grįžti 0 žymi, ką? 1053 00:42:25,204 --> 00:42:26,000 Auditorija: Sėkmės. 1054 00:42:26,000 --> 00:42:27,320 David J. Malan: Sėkmė, štai ir viskas. 1055 00:42:27,320 --> 00:42:29,740 Taigi dabar, kad mes pagaliau pradeda galvoti apie 1056 00:42:29,740 --> 00:42:31,330 Ne sėkmė - 1057 00:42:31,330 --> 00:42:33,760 Kitaip tariant, kampiniai atvejais, klaidų sąlygas 1058 00:42:33,760 --> 00:42:37,520 dabar turiu begalinį tiekimą, arba ne mažiau kaip keturi milijardai 1059 00:42:37,520 --> 00:42:39,790 galimų dalykų, kurie gali suklysti mano programos. 1060 00:42:39,790 --> 00:42:42,300 Ir aš galiu pradėti priskirdami jiems atskirus numerius. 1061 00:42:42,300 --> 00:42:44,340 Dabar, paprastai pakanka tiesiog grįžti 1062 00:42:44,340 --> 00:42:45,730 kažkas kita, nei 0. 1063 00:42:45,730 --> 00:42:48,040 Taigi, mes ketiname tiesiog grįžti 1 dabar. 1064 00:42:48,040 --> 00:42:51,440 Bet 1 grąžinimo priežastis yra ta, kad kuo greičiau grįžti 1065 00:42:51,440 --> 00:42:55,110 1, atspėti, kas atsitinka su likusiu programos? 1066 00:42:55,110 --> 00:42:55,720 Jis sustos. 1067 00:42:55,720 --> 00:42:56,560 Štai ir viskas. 1068 00:42:56,560 --> 00:42:59,150 Taigi faktas, kad aš 1 grąžinimą būtų veiksmingai 1069 00:42:59,150 --> 00:43:02,950 trumpojo jungimo šios programos vykdymą, kad 1070 00:43:02,950 --> 00:43:06,780 nieko žemiau 27 eilutėje bus toliau vykdomas. 1071 00:43:06,780 --> 00:43:09,210 Kuo greičiau pagrindinių grįžta, ty jis. 1072 00:43:09,210 --> 00:43:13,160 >> Viskas gerai, todėl, jei vartotojas nėra bendradarbiauti ir mes pasiekti 30 eilutėje 1073 00:43:13,160 --> 00:43:15,680 nes jie įvedėte teisėtas numerį, čia yra mano 1074 00:43:15,680 --> 00:43:16,990 įgyvendinti šią dainą. 1075 00:43:16,990 --> 00:43:19,050 Taigi, aš pirmą kartą išspausdinti naujos eilutės simboliai, tik 1076 00:43:19,050 --> 00:43:19,880 estetika. 1077 00:43:19,880 --> 00:43:21,500 Dabar aš turiu už linijos. 1078 00:43:21,500 --> 00:43:22,930 Ir pastebėsite, darau dalykus šiek tiek 1079 00:43:22,930 --> 00:43:23,880 kita kryptimi. 1080 00:43:23,880 --> 00:43:26,210 Aš neturiu daryti mažiau nei aš neturiu daryti + +. 1081 00:43:26,210 --> 00:43:30,660 Galiu vietoj pasakyti, inicijuoti i kintamąjį, nustatyti, kad jis lygus 1082 00:43:30,660 --> 00:43:35,080 n numeris, vartotojas turi įvesti, tada atlikite šiuos veiksmus, kad 1083 00:43:35,080 --> 00:43:39,590 tol, kol i yra didesnis už 0, tada aš - 1084 00:43:39,590 --> 00:43:42,070 Kai baigsite, vienas iš pasikartojančių šio ciklo. 1085 00:43:42,070 --> 00:43:44,310 Taigi, mes galime tikėtis, naudojant už kilpos, taip pat. 1086 00:43:44,310 --> 00:43:47,520 Dabar, tai yra beveik savaitę vienas stuff dabar su printf. 1087 00:43:47,520 --> 00:43:51,770 Taigi print "% d buteliai alaus ant sienos." Print "% d 1088 00:43:51,770 --> 00:43:54,990 butelių alaus. "Paimkite vieną, perduoti jį aplink." Spausdinti 1089 00:43:54,990 --> 00:43:58,880 "% D butelius alaus ant sienos." Todėl vis dar% d, bet 1090 00:43:58,880 --> 00:44:02,770 pastebėti, kad argumentas printf keičiasi. 1091 00:44:02,770 --> 00:44:05,840 Po kablelio, turiu i, nes noriu pasakyti 99. 1092 00:44:05,840 --> 00:44:08,590 Po šio kableliu, turiu aš, nes aš noriu pasakyti 99. 1093 00:44:08,590 --> 00:44:14,030 Po šio kablelio, aš i - 1, nes noriu pasakyti 98 1094 00:44:14,030 --> 00:44:16,260 ši pirmoji iteracija, ir kt. 1095 00:44:16,260 --> 00:44:18,520 Ir dabar žemyn čia, aš tiesiog turi šiek tiek kvailas mažai pastabą. 1096 00:44:18,520 --> 00:44:22,270 Ir tada ligne 42, aš grįšiu 0 konvencijos, reiškiantis, kad 1097 00:44:22,270 --> 00:44:23,650 viskas gerai. 1098 00:44:23,650 --> 00:44:24,490 >> Taigi ką daryti, jei aš goofed? 1099 00:44:24,490 --> 00:44:26,350 , Ką dažnai pasitaikanti klaida čia gali būti? 1100 00:44:26,350 --> 00:44:29,200 Na, ką daryti, jei aš netyčia sakė, gerai, aš noriu skaičiuoti 1101 00:44:29,200 --> 00:44:31,640 iki 0, noriu 0 butelius alaus ant sienos? 1102 00:44:31,640 --> 00:44:34,620 Taigi aš sakau, aš yra didesnis nei arba lygus 0. 1103 00:44:34,620 --> 00:44:38,920 , Kas turi būti simptomas, kad aš dabar pamatyti, jei aš perkompiliuoti 1104 00:44:38,920 --> 00:44:41,173 beer1 ir jį paleisti? 1105 00:44:41,173 --> 00:44:42,120 Auditorija: neigiamas. 1106 00:44:42,120 --> 00:44:43,590 David J. Malan: Taip, tai gonna go neigiamas. 1107 00:44:43,590 --> 00:44:45,950 Tai ne po viena klaida, neįtikėtinai 1108 00:44:45,950 --> 00:44:47,270 dažnai pasitaikanti klaida padaryti. 1109 00:44:47,270 --> 00:44:48,960 Leiskite tikrųjų grįžti į terminalo langą ir padaryti jį 1110 00:44:48,960 --> 00:44:50,620 čia, todėl mes galime pamatyti daugiau metu. 1111 00:44:50,620 --> 00:44:53,280 Įveskite, 99 butelius alaus. 1112 00:44:53,280 --> 00:44:56,580 Arti, bet mes nuėjome vis tiek šiek tiek per toli. 1113 00:44:56,580 --> 00:45:00,500 Mes dainavome dainą per toli, pavyzdžiui, kad mes dabar nukentėjo 1114 00:45:00,500 --> 00:45:01,510 neigiamas skaičius. 1115 00:45:01,510 --> 00:45:03,680 Todėl ji ne visada veikia. 1116 00:45:03,680 --> 00:45:06,450 >> Viskas gerai, todėl mes galime lengvai nustatyti, kad grįžta į 1117 00:45:06,450 --> 00:45:07,650 kaip ji kažkada buvo. 1118 00:45:07,650 --> 00:45:10,360 Bet kas yra kai kurios galimybės dabar 1119 00:45:10,360 --> 00:45:11,190 tobulinti? 1120 00:45:11,190 --> 00:45:17,200 Na, leiskite man atidaryti beer2.c ir slinkite žemyn, čia ir imtis 1121 00:45:17,200 --> 00:45:19,310 pažvelgti į šią versiją. 1122 00:45:19,310 --> 00:45:21,370 Koks yra pirmas dalykas, kad šokinėja į jus kaip skiriasi 1123 00:45:21,370 --> 00:45:23,715 šioje versijoje čia? 1124 00:45:23,715 --> 00:45:24,190 Auditorija: [nesigirdi]. 1125 00:45:24,190 --> 00:45:26,510 David J. Malan: Taip, taip, ne aš, nes tai įvyko 1126 00:45:26,510 --> 00:45:29,350 me žinote ką, aš klausia vartotojui, jei tai n, ir tada aš 1127 00:45:29,350 --> 00:45:33,580 nustatyti i lygus n, ir tada aš pakeisti i, bet aš niekada 1128 00:45:33,580 --> 00:45:34,590 neliesti n vėl. 1129 00:45:34,590 --> 00:45:37,390 Taigi, kas gi iš jūsų taškas, skiriant kitą 32 1130 00:45:37,390 --> 00:45:45,210 bitai i vadinamas tik todėl, kad aš galiu turėti kitą kintamąjį? 1131 00:45:45,210 --> 00:45:47,960 Taigi šiuo atveju, aš tarsi pripažino, kad nereikalingas 1132 00:45:47,960 --> 00:45:49,190 dizaino bruožas. 1133 00:45:49,190 --> 00:45:52,730 Ir aš ketina pasakyti, o n yra didesnis už 0, eikite 1134 00:45:52,730 --> 00:45:56,180 į priekį ir spausdinti tą pačią dainą, išlaikius n printf kaip 1135 00:45:56,180 --> 00:46:00,210 Antrasis argumentas, n - 1, antrojo argumento žemyn čia. 1136 00:46:00,210 --> 00:46:02,930 Ir tada kiekvieną šio ciklo iteracijos, eiti į priekį ir tik 1137 00:46:02,930 --> 00:46:05,080 Mažėja n. 1138 00:46:05,080 --> 00:46:06,960 Funkciškai, dabar ši programa 1139 00:46:06,960 --> 00:46:08,010 bus identiškas. 1140 00:46:08,010 --> 00:46:10,730 Jei aš tipo 99, n prasideda 99. 1141 00:46:10,730 --> 00:46:12,890 Silpnėjimas, silpnėjimas, silpnėjimas, silpnėjimas. 1142 00:46:12,890 --> 00:46:15,875 Aš ruošiuosi gauti visą kelią žemyn iki "vienas butelis alaus 1143 00:46:15,875 --> 00:46:16,740 siena, vienas butelis alaus. 1144 00:46:16,740 --> 00:46:18,020 Gerkite po vieną, perduoti jį aplink. 1145 00:46:18,020 --> 00:46:21,480 0 buteliai alaus ant sienos. "Galų gale, nes aš 1146 00:46:21,480 --> 00:46:23,200 gauti su sąlyga teisinga. 1147 00:46:23,200 --> 00:46:24,280 Jis yra didesnis už 0. 1148 00:46:24,280 --> 00:46:26,220 Aš ne padaryti šią klaidą. 1149 00:46:26,220 --> 00:46:28,470 >> Tai kas geriau, versija ar 2 versija? 1150 00:46:31,380 --> 00:46:33,480 Taigi, aš girdėjau krūva szemraliście už du. 1151 00:46:33,480 --> 00:46:34,730 Kodėl du? 1152 00:46:37,210 --> 00:46:38,225 Kas tai? 1153 00:46:38,225 --> 00:46:39,215 Auditorija: [nesigirdi]. 1154 00:46:39,215 --> 00:46:40,070 David J. Malan: O, gerai. 1155 00:46:40,070 --> 00:46:42,870 , Kad jis bus ne žemiau 0, tačiau atminkite, kad versijoje vienas, 1156 00:46:42,870 --> 00:46:45,870 originalus korektišku nėjo žemiau 0 arba. 1157 00:46:45,870 --> 00:46:48,340 Taigi nepamirškite, kad tai yra teisinga versija. 1158 00:46:48,340 --> 00:46:51,630 Taigi leiskite bent palyginti du teisingus versijas. 1159 00:46:51,630 --> 00:46:53,300 Kas yra argumentas už versijos 1160 00:46:53,300 --> 00:46:55,146 du, mmm, geriau? 1161 00:46:55,146 --> 00:46:55,642 Taip? 1162 00:46:55,642 --> 00:46:57,630 Auditorija: Jis naudoja mažiau vietos. 1163 00:46:57,630 --> 00:46:59,530 David J. Malan: Gerai, kad jis naudoja mažiau vietos, tiesa? 1164 00:46:59,530 --> 00:47:02,900 Kadangi versija vienas naudojamas 32 bitų n, tada kitą 1165 00:47:02,900 --> 00:47:07,680 32 bitų, nes aš. 1166 00:47:07,680 --> 00:47:10,060 Versija tik du naudoja 32 bitų n, kad 1167 00:47:10,060 --> 00:47:11,700 Atrodo, kad pliusas. 1168 00:47:11,700 --> 00:47:12,950 Kitos mintys? 1169 00:47:18,070 --> 00:47:21,520 Ar kas nors nori ginčytis už vieną? 1170 00:47:21,520 --> 00:47:22,070 Taip? 1171 00:47:22,070 --> 00:47:25,240 Auditorija: Jūs turite naudoti papildomą eilutę kodo n -. 1172 00:47:25,240 --> 00:47:26,090 >> David J. Malan: Gerai, tikrai. 1173 00:47:26,090 --> 00:47:26,960 , Kad tai teisinga. 1174 00:47:26,960 --> 00:47:29,040 Taigi, tai tik, bent jau man - 1175 00:47:29,040 --> 00:47:31,940 Aš turiu galvoje, tai iš tiesų jaučiasi šiek tiek Mesje, į tai, kad 1176 00:47:31,940 --> 00:47:35,120 Aš negaliu sutvarkyti vienoje iš hermetyzacji visi mano logika 1177 00:47:35,120 --> 00:47:38,030 gražus linija, linijos, už linijos. 1178 00:47:38,030 --> 00:47:40,240 Čia, aš tipo turi smeigtuko apie šią n - 1179 00:47:40,240 --> 00:47:41,120 kilpa pabaigoje, nes 1180 00:47:41,120 --> 00:47:42,550 tai logiškai būtina. 1181 00:47:42,550 --> 00:47:45,190 Bet tai tipo trina man neteisingą kelią, tik todėl, kad 1182 00:47:45,190 --> 00:47:48,260 atrodo, atskirai nuo čia logika, nors, 1183 00:47:48,260 --> 00:47:49,430 vėl, tai būtina. 1184 00:47:49,430 --> 00:47:50,990 Kitos mintys? 1185 00:47:50,990 --> 00:47:51,490 Taip? 1186 00:47:51,490 --> 00:47:52,740 Auditorija: [nesigirdi]. 1187 00:47:57,990 --> 00:47:58,350 >> David J. Malan: Taip. 1188 00:47:58,350 --> 00:48:00,730 Taigi, ką daryti, jei jums, o ne dainos pabaigos, norėjo 1189 00:48:00,730 --> 00:48:02,950 spausdinti iš naujo dainos pavadinimą? 1190 00:48:02,950 --> 00:48:05,660 Pavyzdžiui, "Ačiū, kad žaisti 99 butelius alaus", ar kažkas 1191 00:48:05,660 --> 00:48:06,690 kvailas kaip tai? 1192 00:48:06,690 --> 00:48:09,750 Bet esmė yra, jūs norėjote prieigą prie pradinės vertės. 1193 00:48:09,750 --> 00:48:13,180 Tai, kad jūs mutavo arba pasikeitė n įjungtas kas 1194 00:48:13,180 --> 00:48:16,330 iteracija ir todėl turi sunaikinti savo pradinę vertę 1195 00:48:16,330 --> 00:48:18,650 reiškia, kad jūs tiesiog negali padaryti, kad pabaigoje. 1196 00:48:18,650 --> 00:48:20,660 Dabar, be abejo, mes aiškiai neturi norite daryti 1197 00:48:20,660 --> 00:48:21,450 kad šioje programoje. 1198 00:48:21,450 --> 00:48:22,350 Taigi, who cares? 1199 00:48:22,350 --> 00:48:23,630 Bet tai labai svarbių taškas. 1200 00:48:23,630 --> 00:48:25,520 Ir būti sąžiningas, ten tikrai niekas 1201 00:48:25,520 --> 00:48:26,630 teisingas atsakymas čia. 1202 00:48:26,630 --> 00:48:28,740 Jie abu vienodai teisingi. 1203 00:48:28,740 --> 00:48:30,210 Galėčiau būti įsitikinęs, bet kuria kryptimi. 1204 00:48:30,210 --> 00:48:33,310 Aš pasakysiu, kad, apskritai, tai yra geras principas, jei 1205 00:48:33,310 --> 00:48:36,030 paprašė vartotojas tikrą vertę ir saugomi kintamasis 1206 00:48:36,030 --> 00:48:38,730 kaip n, tiesiog tarsi iš principo, tai tikriausiai gera 1207 00:48:38,730 --> 00:48:40,160 laikyti, kad aplink. 1208 00:48:40,160 --> 00:48:43,400 Ir bet kokius duomenis norite mutuoti vėl ir vėl, tik 1209 00:48:43,400 --> 00:48:46,030 suteikti sau tos kintamojo kopiją, tik todėl, kad jūs 1210 00:48:46,030 --> 00:48:47,830 turi prieigą prie originalaus. 1211 00:48:47,830 --> 00:48:51,040 Jūs išleidžiate 32 daugiau bitų, tačiau tikrovė yra tokia 1212 00:48:51,040 --> 00:48:53,490 kompiuteris, pavyzdžiui, dviejų gigabaitų RAM šių dienų, 1213 00:48:53,490 --> 00:48:55,310 ir mes quibbling daugiau nei 32 bitų? 1214 00:48:55,310 --> 00:48:56,320 Tikrai ne tokia baisi. 1215 00:48:56,320 --> 00:48:58,550 Ir net čia, šio prietaiso pusę koncertą ar 1216 00:48:58,550 --> 00:49:01,700 gigabaito RAM, 32 bitų, palyginti su 64 bitų, 1217 00:49:01,700 --> 00:49:02,920 ne tokia baisi. 1218 00:49:02,920 --> 00:49:05,890 Žinoma, šiandien, tai bus būdas priblokšti dydžio 1219 00:49:05,890 --> 00:49:08,400 pačios programos, kuri bus kelis šimtus 1220 00:49:08,400 --> 00:49:10,890 kilobaitų, jei ne keletas megabaitų, šių dienų. 1221 00:49:10,890 --> 00:49:13,550 >> Toks protingas problemų, nė vienas teisingas atsakymas. 1222 00:49:13,550 --> 00:49:15,490 Bet bent jau jie yra mintis, kad turėtų būti pradėti 1223 00:49:15,490 --> 00:49:16,790 eiti per savo proto? 1224 00:49:16,790 --> 00:49:19,600 , Nes pset 0, nors mes tikrai tik tikėtis, 1225 00:49:19,600 --> 00:49:22,340 teisingumą, arba bent jau nepripažindama savo įvairių klaidų, kad 1226 00:49:22,340 --> 00:49:25,440 galbūt susidūrė su, kaip mes judėti į priekį, dizainas 1227 00:49:25,440 --> 00:49:27,910 bus dar vienas svarbus aspektas, rašyti kodą 1228 00:49:27,910 --> 00:49:29,770 , o taip pat įvertinti mūsų kodą. 1229 00:49:29,770 --> 00:49:32,310 Ir taip bent manoma, kad dalykų kaip šis. 1230 00:49:32,310 --> 00:49:35,590 Ir tik todėl, kad kažkas veikia, nereiškia, kad jis yra geras, 1231 00:49:35,590 --> 00:49:37,130 nereiškia, kad jis yra gerai suprojektuoti. 1232 00:49:37,130 --> 00:49:38,820 Ir kad vienas iš dalykų mokymo FELLOWS ir 1233 00:49:38,820 --> 00:49:41,990 problema rinkiniai padės mums erzinti dalis laikui bėgant. 1234 00:49:41,990 --> 00:49:45,020 >> Na, ką apie, leiskite pasakyti, šią versiją? 1235 00:49:45,020 --> 00:49:49,090 Leiskite man padaryti kažką šiek tiek seksualus čia per akimirką. 1236 00:49:49,090 --> 00:49:50,740 Pirmiausia leiskite man atsikratyti šio. 1237 00:49:50,740 --> 00:49:54,120 Ir dabar galime išspręsti šią gramatinę klausimą. 1238 00:49:54,120 --> 00:49:58,780 Taigi, šioje versijoje, aš noriu nustatyti, kad gramatika 1239 00:49:58,780 --> 00:50:02,460 , o ne tik pasakyti, turintis daug įterptinių sakinių s, pavyzdžiui, "butelį" 1240 00:50:02,460 --> 00:50:03,360 ar "buteliai" - 1241 00:50:03,360 --> 00:50:04,900 Aš nenoriu sumažinti tą kampą - 1242 00:50:04,900 --> 00:50:08,350 Aš taip pat noriu, kad dinamiškai atspausdinti žodį "butelių" 1243 00:50:08,350 --> 00:50:12,820 arba "butelis", taip naudojant šių% s vietos rezervavimo ženklus šiandien. 1244 00:50:12,820 --> 00:50:16,550 Taigi aš tam tikromis sąlygomis reikia patikrinti, kas yra i vertė. 1245 00:50:16,550 --> 00:50:19,590 Ir jei ji yra 1, Noriu pasakyti "butelį", ir, jei tai nieko 1246 00:50:19,590 --> 00:50:23,115 dar, aš noriu pasakyti "butelių". Taigi, pabandykime tai padaryti. 1247 00:50:23,115 --> 00:50:31,340 Taigi, jei i == 1, tada leiskite man eiti į priekį ir paskelbti 1248 00:50:31,340 --> 00:50:34,080 Man reikia eilutę, todėl leiskite man padaryti string s1, nes tai 1249 00:50:34,080 --> 00:50:36,070 pirmą eilutę, man rūpi dabar. 1250 00:50:36,070 --> 00:50:40,980 Aš ruošiuosi pasakyti "butelį". Ir tada, pažiūrėkime, styginių 1251 00:50:40,980 --> 00:50:43,110 S2 - ir aš paaiškinti, kur aš einu per akimirką - 1252 00:50:43,110 --> 00:50:47,650 "Butelius." Taigi primena, kad šią dainą, mums reikia, kad būtų galima 1253 00:50:47,650 --> 00:50:50,580 spausdinti potencialiai dalykus, dviem skirtingais žodžiais. 1254 00:50:50,580 --> 00:50:53,590 Taigi, jei mes žiūrime atgal, atkreipkite dėmesį, kad kai mes gauti 1255 00:50:53,590 --> 00:50:56,440 šis pavyzdys čia ", du buteliai alaus ant sienos, 1256 00:50:56,440 --> 00:50:59,490 du buteliai alaus, vienas žemyn, perduoti jį aplink ", aš noriu 1257 00:50:59,490 --> 00:51:02,380 ši ketvirta eilutė sako: "vieną butelį alaus 1258 00:51:02,380 --> 00:51:04,900 Siena ". Taigi man reikia nuspręsti, aš noriu pasakyti" buteliai "arba 1259 00:51:04,900 --> 00:51:07,780 "Butelis"? Todėl aš savavališkai pasakyti, viskas gerai, 1260 00:51:07,780 --> 00:51:10,530 Aš ruošiuosi dabar deklaruoti kintamasis vadinamas S1, eilutę 1261 00:51:10,530 --> 00:51:13,830 , kad ketina gauti prijungtas čia ir čia, 1262 00:51:13,830 --> 00:51:16,070 , nes šie žodžiai yra visada vienodi, o tik todėl, kad 1263 00:51:16,070 --> 00:51:17,290 pobūdis daina. 1264 00:51:17,290 --> 00:51:20,100 Ir aš ruošiuosi skambinti s2, bet žodis Noriu 1265 00:51:20,100 --> 00:51:21,560 galiausiai pasirodys čia. 1266 00:51:21,560 --> 00:51:25,530 Dabar, tiesiog, 99 kartus iš 100, tai bus 1267 00:51:25,530 --> 00:51:28,820 tas pats abiem iš šių atvejų, nes 3 yra dauginis, 2 1268 00:51:28,820 --> 00:51:30,200 [4 yra daugiskaita. 1269 00:51:30,200 --> 00:51:34,640 Bet šiame kampo atveju, kai mes gauname 2 ir tada 1 arba 1270 00:51:34,640 --> 00:51:37,250 net 1 ir tada 0, man reikia šią logiką. 1271 00:51:37,250 --> 00:51:41,020 Taigi, aš turiu praleisti šiek tiek laiko gauti šią teisę, mano kodas. 1272 00:51:41,020 --> 00:51:47,530 Taigi, jei aš tai padaryti, jei i == 1, tada nustatyti s1 lygios "butelio" 1273 00:51:47,530 --> 00:51:52,010 ir s2 lygus "butelių", nes tai bus už 1 1274 00:51:52,010 --> 00:51:56,340 butelis, ir tai bus 0 butelių. 1275 00:51:56,340 --> 00:51:58,250 Ir tai čia, ką tai? 1276 00:51:58,250 --> 00:51:59,780 Tiesiog turi būti aišku. 1277 00:51:59,780 --> 00:52:00,620 Tai tik komentaras. 1278 00:52:00,620 --> 00:52:03,730 Taigi faktas, kad jūs galite turėti vienos eilutės komentarus reiškia, kad jūs 1279 00:52:03,730 --> 00:52:06,110 galite komentuoti savo kodą, kaip šis, bet vienas bendras 1280 00:52:06,110 --> 00:52:09,050 paradigma, taip pat tai, kad jei turite super trumpą frazę, kad 1281 00:52:09,050 --> 00:52:11,410 norite įdėti save, ir tai tik lengviau skaityti įdėti 1282 00:52:11,410 --> 00:52:13,270 į dešinę kodo eilutę pabaigoje, galite 1283 00:52:13,270 --> 00:52:15,230 visiškai padaryti kažką panašaus į tai. 1284 00:52:15,230 --> 00:52:20,150 >> Taigi, dabar ką daryti, jei galiu tai padaryti? Else if i nėra lygus 1. 1285 00:52:20,150 --> 00:52:21,620 Taigi sprogimo lygus - 1286 00:52:21,620 --> 00:52:23,150 šauktukas žinomas kaip "sprogimo". 1287 00:52:23,150 --> 00:52:25,080 Taigi sprogimo = 1. 1288 00:52:25,080 --> 00:52:28,530 Taigi, jei aš ne lygus 1, tai, ką aš vietoj norite daryti? 1289 00:52:28,530 --> 00:52:31,700 Na, pirmas žodis, aš noriu būti, ką? 1290 00:52:34,620 --> 00:52:40,030 Taigi Ieškomi žodžiai 1 turėtų būti "buteliai" daugiskaitinėse butelius, 1291 00:52:40,030 --> 00:52:42,440 ir tada tai bus Val "buteliai", taip pat, dabar. 1292 00:52:42,440 --> 00:52:43,800 Ir mes pamatyti, jei tai mums faktiškai gauna į 1293 00:52:43,800 --> 00:52:44,870 kur mes norime eiti. 1294 00:52:44,870 --> 00:52:47,680 Taigi dabar, jei aš slinkti žemyn, atkreipkite dėmesį, kad aš prijungti per 1295 00:52:47,680 --> 00:52:50,170 ne tik aš, bet s1. 1296 00:52:50,170 --> 00:52:51,860 Aš prijungti I ir S1. 1297 00:52:51,860 --> 00:52:54,440 Ir tada žemyn čia, aš tikiu, minus 1, kuris yra toks pat kaip 1298 00:52:54,440 --> 00:52:55,920 anksčiau, bet S2. 1299 00:52:55,920 --> 00:52:58,730 Kitaip tariant, aš noriu pakeisti anglišką žodį pagrįstas 1300 00:52:58,730 --> 00:52:59,930 šia logika. 1301 00:52:59,930 --> 00:53:03,310 Dabar ten jau kai kurie šio kodekso problemos. 1302 00:53:03,310 --> 00:53:08,460 Kas neveikia jau iš vartų? 1303 00:53:08,460 --> 00:53:10,796 Taip? 1304 00:53:10,796 --> 00:53:13,210 Auditorija: [nesigirdi]. 1305 00:53:13,210 --> 00:53:13,800 >> David J. Malan: Būtent. 1306 00:53:13,800 --> 00:53:16,030 Taigi, aš jau pažeidė taikymo sritį pamoką. 1307 00:53:16,030 --> 00:53:19,610 Taigi, aš pareiškė, S1 ir S2, bet aš padariau jį viduje 1308 00:53:19,610 --> 00:53:22,980 garbanotieji petnešų, o tai reiškia taip, šis kodas bus dirbti iki 1309 00:53:22,980 --> 00:53:27,430 iki 42 eilutėje, bet kaip tik aš hit linija 43, atspėti, ką ne 1310 00:53:27,430 --> 00:53:28,900 nebeegzistuoja? 1311 00:53:28,900 --> 00:53:32,600 Na, atspėti, kas yra ne ilgiau taikymo sritį - nei s1 arba s2. 1312 00:53:32,600 --> 00:53:33,780 Taigi, mes turime išspręsti šią problemą. 1313 00:53:33,780 --> 00:53:36,180 Taigi leiskite man ištrinti deklaracijas. 1314 00:53:36,180 --> 00:53:39,320 Ir aš palikti kintamųjų vardai ir ištrinti čia 1315 00:53:39,320 --> 00:53:40,120 ir ištrinti. 1316 00:53:40,120 --> 00:53:43,557 Ir ką linijos aš tikrai turėtų paskelbti šiuos dalykus? 1317 00:53:43,557 --> 00:53:44,960 Auditorija: [nesigirdi]. 1318 00:53:44,960 --> 00:53:45,410 David J. Malan: Taip, taip tikriausiai 1319 00:53:45,410 --> 00:53:46,850 teisė čia, 33-ish ". 1320 00:53:46,850 --> 00:53:50,670 Taigi styginių s1 ir styginių s2. 1321 00:53:50,670 --> 00:53:51,950 Ir it turns out, kad galiu tai padaryti. 1322 00:53:51,950 --> 00:53:54,260 Jei esate skelbiantis dvi to paties tipo kintamųjų, 1323 00:53:54,260 --> 00:53:57,420 jūs iš tikrųjų galite tiesiog naudokite kablelį ir padaryti, kad C. Visi 1324 00:53:57,420 --> 00:53:58,970 teisus, todėl dabar turiu du kintamieji - 1325 00:53:58,970 --> 00:53:59,860 S1 ir S2. 1326 00:53:59,860 --> 00:54:02,000 Aš priskirdami jiems jų vertybes 1327 00:54:02,000 --> 00:54:04,210 sąlygos čia arba čia. 1328 00:54:04,210 --> 00:54:06,690 Ir tada aš juos naudojant žemiau. 1329 00:54:06,690 --> 00:54:10,960 Kaip gerai tai dabar vyksta į darbą? 1330 00:54:10,960 --> 00:54:12,740 >> Na, tai dar šiek tiek Buggy, bet tegul bent jau matyti 1331 00:54:12,740 --> 00:54:13,730 kaip toli mes Dotarłeś. 1332 00:54:13,730 --> 00:54:16,500 Taigi, leiskite man eiti į priekį ir padaryti beer3. 1333 00:54:16,500 --> 00:54:17,695 Ar tai beer3? 1334 00:54:17,695 --> 00:54:19,410 Taip, tai yra beer3. 1335 00:54:19,410 --> 00:54:21,510 O dabar leisk man eiti į priekį ir paleisti beer3. 1336 00:54:21,510 --> 00:54:23,820 399 99. 1337 00:54:23,820 --> 00:54:25,840 Mes greičiausiai gali praleisti dauguma iš jų. 1338 00:54:25,840 --> 00:54:29,100 Ir žemyn, pažiūrėk, kad. 1339 00:54:29,100 --> 00:54:31,110 "Vienas butelis alaus ant sienos, vienas butelis alaus, 1340 00:54:31,110 --> 00:54:34,306 vienas žemyn, perduoti jį aplink, 0 butelius alaus ant sienos ". 1341 00:54:34,306 --> 00:54:37,570 Bet aš atkreipti Jūsų dėmesį tik pusę tirpalo. 1342 00:54:37,570 --> 00:54:39,620 Rūšies įsukus čia. 1343 00:54:39,620 --> 00:54:43,030 Taigi atrodo, kad tarpas tarp kampinių atvejai kyla, kai i lygus ką 1344 00:54:43,030 --> 00:54:44,030 dvi vertės? 1345 00:54:44,030 --> 00:54:45,020 Auditorija: 2, 1. 1346 00:54:45,020 --> 00:54:46,190 David J. Malan: 2 ir 1. 1347 00:54:46,190 --> 00:54:48,180 Tai ne 1 ir ne 1. 1348 00:54:48,180 --> 00:54:51,890 Tai tikrai tik pastarosios dvi fragmentai šios dainos. 1349 00:54:51,890 --> 00:54:53,890 Taigi, ką aš vietoj norite daryti? 1350 00:54:53,890 --> 00:54:58,890 Taigi man atrodo, kad pagavęs tą atvejį, kai jei i == iki 1, 1351 00:54:58,890 --> 00:55:02,240 tada pirmasis žodis yra "butelio", o antrasis žodis 1352 00:55:02,240 --> 00:55:07,230 yra "Buteliai". Bet čia, noriu pakeisti, kad tai būtų == 2. 1353 00:55:07,230 --> 00:55:08,570 Ir jei tai yra tuo atveju, ką aš noriu 1354 00:55:08,570 --> 00:55:09,620 pirmas žodis turi būti? 1355 00:55:09,620 --> 00:55:10,430 Auditorija: "Buteliai". 1356 00:55:10,430 --> 00:55:12,890 David J. Malan: "Buteliai", kad dėl dviejų butelių. 1357 00:55:12,890 --> 00:55:14,690 Ir tada šis žodis čia turėtų būti - 1358 00:55:14,690 --> 00:55:15,340 Auditorija: "Butelis". 1359 00:55:15,340 --> 00:55:17,316 David J. Malan: "Butelis", vienaskaitos. 1360 00:55:20,430 --> 00:55:25,160 >> Viskas gerai, galime nutolinti, grįžti čia, iš naujo paleiskite padaryti, 1361 00:55:25,160 --> 00:55:28,590 iš naujo paleisti beer3, tipas 99 vėl. 1362 00:55:28,590 --> 00:55:30,710 Gerai ", segmentavimas gedimas (Core dempingo kaina)". 1363 00:55:30,710 --> 00:55:32,780 Ką aš padariau ne taip? 1364 00:55:36,050 --> 00:55:38,722 Auditorija: Jūs neturite vertę [nesigirdi]. 1365 00:55:38,722 --> 00:55:40,480 David J. Malan: "O, puikus taškas. 1366 00:55:40,480 --> 00:55:43,310 Viskas gerai, tai kas negerai čia? 1367 00:55:43,310 --> 00:55:45,450 Taigi segmentavimo kaltės, ir mes iš tikrųjų ketiname pamatyti 1368 00:55:45,450 --> 00:55:49,020 Tai gana kelis kartus į ateitį, sąmoningai. 1369 00:55:49,020 --> 00:55:51,030 Bet dabar, ką tai iš tikrųjų reiškia? 1370 00:55:51,030 --> 00:55:53,620 Segmentavimo kaltės beveik visada reiškia, kad turite 1371 00:55:53,620 --> 00:55:56,760 kažkaip bandė operatyvioji atmintis, RAM savo kompiuteryje, 1372 00:55:56,760 --> 00:56:00,600 kad jūs nevaldote, kad jūs ne iš tikrųjų paprašė 1373 00:56:00,600 --> 00:56:02,050 operacinės sistemos. 1374 00:56:02,050 --> 00:56:04,440 Taigi šiuo atveju, atkreipkite dėmesį, ką aš padariau, kuris yra 1375 00:56:04,440 --> 00:56:05,870 trūkumų, mano logika. 1376 00:56:05,870 --> 00:56:09,500 Aš priskiriamas S1 ir S2 vertę, jei i yra lygus 1. 1377 00:56:09,500 --> 00:56:11,590 Aš taip pat padaryta, kad jei i yra lygus 2. 1378 00:56:11,590 --> 00:56:13,710 Bet aš ne padaryti jį į begalinį skaičių kitų 1379 00:56:13,710 --> 00:56:14,690 galimybės - 1380 00:56:14,690 --> 00:56:17,940 visų pirma, 3 arba 4 arba taškas, taškas, taškų, 99. 1381 00:56:17,940 --> 00:56:20,100 Taigi vienas fix gali būti tiesiog tegul 1382 00:56:20,100 --> 00:56:22,190 turi kita būklę. 1383 00:56:22,190 --> 00:56:26,780 Ir leiskite man eiti čia ir pasakyti, s1 lygus - 1384 00:56:26,780 --> 00:56:28,180 koks jis turėtų būti? 1385 00:56:28,180 --> 00:56:28,750 Auditorija: [nesigirdi]. 1386 00:56:28,750 --> 00:56:30,460 >> David J. Malan: "Buteliai", nes bendruoju atveju, 1387 00:56:30,460 --> 00:56:32,020 tai tiesiog tas pats. 1388 00:56:32,020 --> 00:56:35,580 Taigi lygus citata, citatos pabaiga, "buteliai". Taigi, daugiskaitos 1389 00:56:35,580 --> 00:56:41,010 buteliai, ir tada čia, daugiskaitinėse butelių. 1390 00:56:41,010 --> 00:56:44,580 Gerai, kad dabar leiskite man eiti atgal į mano terminalo lange, 1391 00:56:44,580 --> 00:56:47,200 perkompiliuoti, iš naujo paleiskite jį. 1392 00:56:47,200 --> 00:56:48,440 99. 1393 00:56:48,440 --> 00:56:49,150 FIU. 1394 00:56:49,150 --> 00:56:50,610 Ir tegul padaryti greitai normalumas patikrinti. 1395 00:56:50,610 --> 00:56:52,400 Techniškai, mes norime norite perskaityti visus šiuos įsitikinkite, kad 1396 00:56:52,400 --> 00:56:53,370 jie teisingi, tačiau pažvelkime 1397 00:56:53,370 --> 00:56:54,640 jau žinomi nusikaltėliai. 1398 00:56:54,640 --> 00:56:57,370 3 buteliukai, 2 buteliai, 2 buteliai, 1 1399 00:56:57,370 --> 00:57:00,380 butelis, 1 butelis, 0 buteliai. 1400 00:57:00,380 --> 00:57:03,080 Mes, atrodo, nustatyta bent jį dabar. 1401 00:57:03,080 --> 00:57:06,010 Bet čia yra laimikis, kad tai, ką dievas baisu netvarka tai 1402 00:57:06,010 --> 00:57:07,470 tik išspręsti kvailas 1403 00:57:07,470 --> 00:57:09,540 vienas personažas gramatinė detalė. 1404 00:57:09,540 --> 00:57:11,150 Todėl nėra priežasties, kad aš sumažinti šį kampą rūšies 1405 00:57:11,150 --> 00:57:14,090 anksčiau, nes jis tiesiog visiškai erzina, kad turi 1406 00:57:14,090 --> 00:57:15,020 parašyti tai daug kodą. 1407 00:57:15,020 --> 00:57:17,530 Tačiau paaiškėja, kad yra šiek tiek daugiau elegantiškų būdai 1408 00:57:17,530 --> 00:57:20,110 išreikšti tą patį dalyką. 1409 00:57:20,110 --> 00:57:22,040 Ir mes galime tai padaryti tokiu būdu. 1410 00:57:22,040 --> 00:57:23,890 >> Leiskite man palikti for a moment ekrane ir 1411 00:57:23,890 --> 00:57:27,320 pristatyti kažką, žinomą kaip trijų komponentų operatorius. 1412 00:57:27,320 --> 00:57:29,600 Tai vienos rūšies-LINER, kad tik reiškė, kad mūsų 1413 00:57:29,600 --> 00:57:31,880 gyvena šiek tiek seksualesnis, kaip buvo žadėta. 1414 00:57:31,880 --> 00:57:33,130 Ir aš ruošiuosi tai padaryti tokiu būdu. 1415 00:57:33,130 --> 00:57:35,810 Duok man eilutę, pavadintą s1, ir leiskite man 1416 00:57:35,810 --> 00:57:37,200 priskirti tai taip. 1417 00:57:37,200 --> 00:57:39,900 (I == 1)? 1418 00:57:39,900 --> 00:57:47,820 "Butelio", kitaip "buteliai". Styginių s2 gauna (i == 2)? 1419 00:57:47,820 --> 00:57:52,670 "Butelio", kitaip "buteliai". 1420 00:57:52,670 --> 00:57:57,050 Taigi, kas tada yra skirtumas? 1421 00:57:57,050 --> 00:57:59,370 Šios dvi eilutės kodo, esu įsitikinęs, gali 1422 00:57:59,370 --> 00:58:02,200 pakeisti visa ši netvarka. 1423 00:58:02,200 --> 00:58:04,280 Taigi, aš vadinu tai netvarka, tik todėl, kad tipo trina man 1424 00:58:04,280 --> 00:58:05,940 neteisingas būdas, kad ji tiek daug eilučių kodo. 1425 00:58:05,940 --> 00:58:06,650 Nėra blogai. 1426 00:58:06,650 --> 00:58:07,700 Tai nėra blogai dizainas. 1427 00:58:07,700 --> 00:58:10,140 Patinka, tai yra visiškai teisingas ir puikiai baudą. 1428 00:58:10,140 --> 00:58:12,970 Bet kodavimas pasireiškia varginantis, jei jūs turite išreikšti save taip, 1429 00:58:12,970 --> 00:58:15,530 damn vėl ir vėl, ir vėl su paprasta 1430 00:58:15,530 --> 00:58:16,620 scenarijus, kaip šis. 1431 00:58:16,620 --> 00:58:19,470 Taigi C kai kurias nuorodas, kaip šis. 1432 00:58:19,470 --> 00:58:24,270 Taigi iš esmės tai sako paskelbti eilutę, pavadintą s1 ir 1433 00:58:24,270 --> 00:58:32,610 priskirti ją arba ši vertė, ar ši vertė, jei i == - 1434 00:58:32,610 --> 00:58:35,290 atsiprašau, reikia pasakyti aiškiai. 1435 00:58:35,290 --> 00:58:41,680 Pripažinti kintamasis s1, priskirti šią vertę, jei tai tiesa. 1436 00:58:41,680 --> 00:58:44,280 Kitaip, priskirti jam šią vertę. 1437 00:58:44,280 --> 00:58:47,220 Taigi, kitaip tariant, tai yra tarsi iš vienos eilutės būdas 1438 00:58:47,220 --> 00:58:51,490 suprantama, jei kitur, bet daro pakeliui užduotį. 1439 00:58:51,490 --> 00:58:55,540 Taigi, jei aš yra 1, tada eiti į priekį ir tai vadina "butelio". Ir 1440 00:58:55,540 --> 00:58:59,830 tada tai kitas, vadina jį "Buteliai". Tuo tarpu, s2, 1441 00:58:59,830 --> 00:59:04,060 antrą žodį, kad mes turime apibrėžti, jei i yra 2, mes 1442 00:59:04,060 --> 00:59:08,350 nustatyti s2 "butelį". Priešingu atveju, nustatykite jį į "buteliai". Ir ką 1443 00:59:08,350 --> 00:59:11,460 tai reiškia, kad dabar aš galiu eiti per šį, ir pašalinti visus 1444 00:59:11,460 --> 00:59:12,860 tuos, kurių kodas linijos. 1445 00:59:12,860 --> 00:59:17,220 Ir kai aš sakau, šiek tiek juokingai, kad tai yra dabar 1446 00:59:17,220 --> 00:59:20,060 seksualesnis, tai seksualesnis stilistinio prasme rūšiuoti. 1447 00:59:20,060 --> 00:59:22,660 Faktas, kad funkciškai, šis kodas yra iš tikrųjų ketina 1448 00:59:22,660 --> 00:59:24,610 padaryti tą patį dalyką. 1449 00:59:24,610 --> 00:59:26,890 Ir nors iš pradžių tai gali atrodyti šiek tiek paslaptingas 1450 00:59:26,890 --> 00:59:29,250 žvilgsnio, nes nemačiau šį konstruktą prieš, aš 1451 00:59:29,250 --> 00:59:31,850 teigia, kad jis galiausiai bus tiek daug daugiau 1452 00:59:31,850 --> 00:59:34,820 įskaitomas ir daug lengviau mes, žmonės, rūšiuoti 1453 00:59:34,820 --> 00:59:36,830 suprasti, nes dabar jūs galite tik skaityti 1454 00:59:36,830 --> 00:59:38,830 kodas viskas vienoje eilutėje. 1455 00:59:38,830 --> 00:59:41,550 Jis vis dar panaši dvasia, jeigu, kai tai yra 1456 00:59:41,550 --> 00:59:44,920 būklę ir tai yra tai, kas viduje, jei ir tai 1457 00:59:44,920 --> 00:59:46,480 , kas viduje else. 1458 00:59:46,480 --> 00:59:49,450 Tačiau mes galime padaryti, tai tiesiog daug daugiau elegantiškai. 1459 00:59:49,450 --> 00:59:52,650 >> Ir jei aš dabar eiti atgal į mano terminalo, ištrinti visus 1460 00:59:52,650 --> 00:59:55,530 Šių eilučių ir juos pakeitė tik šių dviejų, 1461 00:59:55,530 --> 01:00:00,150 perkompiliuoti, iš naujo paleiskite butelių alaus, 99, pranešimas, kad mano 1462 01:00:00,150 --> 01:00:03,350 gramatika yra, iš tiesų, vis dar teisinga. 1463 01:00:03,350 --> 01:00:06,160 Taigi dar kartą, ką nors pradėti. 1464 01:00:06,160 --> 01:00:08,840 2 butelius alaus, 1 butelis alaus. 1465 01:00:08,840 --> 01:00:09,370 Atrodo teisė. 1466 01:00:09,370 --> 01:00:10,100 Taip. 1467 01:00:10,100 --> 01:00:13,900 Taigi mes turime daug daugiau glaustą sprendimą. 1468 01:00:13,900 --> 01:00:16,020 Taigi tai taip pat, kaip jums patogiau su C, 1469 01:00:16,020 --> 01:00:18,630 nebūtinai su pirmuoju pset ar net antros, bet 1470 01:00:18,630 --> 01:00:21,170 suprasti, kad šie konstruktai gali leisti mums daryti tai, ko niekada 1471 01:00:21,170 --> 01:00:22,810 elegantiškai. 1472 01:00:22,810 --> 01:00:25,200 Dabar darykime Vienas kitas dalykas, čia. 1473 01:00:25,200 --> 01:00:31,460 Leiskite man eiti į priekį ir atverti return1.c. 1474 01:00:31,460 --> 01:00:34,340 Dabar galime pradėti spręsti kitą problemą taip, kad 1475 01:00:34,340 --> 01:00:37,140 leidžia mums parašyti sudėtingesnius kodą. 1476 01:00:37,140 --> 01:00:39,960 >> Taigi čia paprastas maža programa, kurios gyvenimo tikslas 1477 01:00:39,960 --> 01:00:41,870 prieaugio vertes. 1478 01:00:41,870 --> 01:00:43,100 Ir iš tiesų, galime žengti žingsnį atgal. 1479 01:00:43,100 --> 01:00:44,400 Leiskite man tai padaryti rankiniu būdu. 1480 01:00:44,400 --> 01:00:52,200 Leiskite man padaryti apimti ir int main (void). 1481 01:00:52,200 --> 01:00:53,450 Ir tegul man paskambinti šiuo increment.c. 1482 01:00:57,150 --> 01:00:58,570 Ir ką aš noriu daryti? 1483 01:00:58,570 --> 01:01:02,240 Aš ruošiuosi eiti į priekį ir pasakyti kažką panašaus - 1484 01:01:02,240 --> 01:01:04,280 mes vadiname numeriai ta pati - 1485 01:01:04,280 --> 01:01:04,980 int x. 1486 01:01:04,980 --> 01:01:13,670 Taigi, int x gauna 2; printf x yra% d, nauja linija, x. 1487 01:01:13,670 --> 01:01:16,780 Taigi, aš rašyti greitai, tačiau tarsi pažįstama stuff dabar. 1488 01:01:16,780 --> 01:01:18,830 Tada aš ruošiuosi daryti x + +. 1489 01:01:18,830 --> 01:01:21,710 Tada aš ruošiuosi spausdinti tą patį sakinį dar kartą. 1490 01:01:21,710 --> 01:01:24,550 Ir tada aš ruošiuosi grįžti 0 tiesiog uždaryti programą. 1491 01:01:24,550 --> 01:01:25,960 Viskas gerai, todėl tai yra programa, kuri 1492 01:01:25,960 --> 01:01:26,960 žingsniu skaičius. 1493 01:01:26,960 --> 01:01:29,830 Tai pirmiausia ketina inicijuoti kažką 2 ir tada ji 1494 01:01:29,830 --> 01:01:33,470 prieaugio ir vėl jį spausdinti. 1495 01:01:33,470 --> 01:01:36,930 >> Todėl galime paleisti prieaugį, neįtikėtinai paprasta programa. 1496 01:01:36,930 --> 01:01:40,940 Tačiau tarkime, dabar, kad aš noriu kubas vertę, todėl tai 1497 01:01:40,940 --> 01:01:42,490 kažkas šiek tiek savavališkas. 1498 01:01:42,490 --> 01:01:45,140 Ir aš iš tikrųjų norite daryti x gauna jį kubą. 1499 01:01:45,140 --> 01:01:47,570 , Kad galėčiau naudoti tai, kas vadinama POW funkciją, bet aš ne 1500 01:01:47,570 --> 01:01:48,650 tikrai žinote, kur dar. 1501 01:01:48,650 --> 01:01:50,580 Taigi, aš ruošiuosi tai padaryti senamadiškas būdas. 1502 01:01:50,580 --> 01:01:54,550 x kartų tai lygus x kartų x kartų x. 1503 01:01:54,550 --> 01:01:56,880 Taigi, aš cubing vertę, padauginus ją vėl savaime 1504 01:01:56,880 --> 01:02:00,440 ir vėl ir vėl, kad mes gauname 1505 01:02:00,440 --> 01:02:02,050 iš 3 šiuo atveju. 1506 01:02:02,050 --> 01:02:06,000 Todėl dabar numeriai turėčiau spausdinti turėtų būti, kaip matysime 1507 01:02:06,000 --> 01:02:08,450 čia padaryti prieaugis, todėl tikrai ne tikrai prieaugio 1508 01:02:08,450 --> 01:02:10,260 nebėra, bet mes palikti tik pavadinimas - 1509 01:02:10,260 --> 01:02:11,590 2 ir 8. 1510 01:02:11,590 --> 01:02:17,670 Dabar, mes turime galimybę tobulinimas pradžią 1511 01:02:17,670 --> 01:02:21,570 byloje, pagal kurią šis Kubas skaičių dauginant dalykas 1512 01:02:21,570 --> 01:02:24,680 pati pati pati jaučiasi tai gali būti tiesiog 1513 01:02:24,680 --> 01:02:27,920 naudinga turėti funkciją, panašiai kaip kažkas nusprendė 1514 01:02:27,920 --> 01:02:30,430 prieš keletą metų - žinote, rūšies naudinga, jei vienas iš mūsų sėdi 1515 01:02:30,430 --> 01:02:33,120 ir rašo printf kad likęs pasaulis gali jį naudoti, 1516 01:02:33,120 --> 01:02:36,160 kodėl ne mes susėsti ir parašyti funkciją, vadinamą kubas 1517 01:02:36,160 --> 01:02:39,250 kad šį Kubas už mus, mes neturime rankiniu būdu 1518 01:02:39,250 --> 01:02:41,500 įgyvendinti vertybes čia cubing sąvoką? 1519 01:02:41,500 --> 01:02:44,040 >> Taigi paprastas pavyzdys, bet eikime į priekį ir naudoti tai kaip 1520 01:02:44,040 --> 01:02:46,280 galimybę rašyti savo funkciją. 1521 01:02:46,280 --> 01:02:49,110 Taigi iki šiol, mes naudojamas tik pagrindinis, ir mes naudojame kitas 1522 01:02:49,110 --> 01:02:51,780 nėra parašyta žmonių funkcijas, bet mes turime mūsų pačių. 1523 01:02:51,780 --> 01:02:52,650 Taigi čia mes einame. 1524 01:02:52,650 --> 01:02:56,330 Aš ruošiuosi eiti į priekį ir parašyti funkciją, vadinamą kubas. 1525 01:02:56,330 --> 01:02:58,490 Ir aš norėčiau, kad jis būtų įvestį. 1526 01:02:58,490 --> 01:03:02,070 Taigi jo indėlis bus sveikasis skaičius. 1527 01:03:02,070 --> 01:03:03,570 Ir ką jis ketina daryti? 1528 01:03:03,570 --> 01:03:08,500 Ji ketina paskelbti, kad int išėjimo = įvesties datos įvestis 1529 01:03:08,500 --> 01:03:09,880 datos įvestis. 1530 01:03:09,880 --> 01:03:12,190 Ir tada jis ketina grįžti, kad išėjimo. 1531 01:03:12,190 --> 01:03:14,500 Ir tada aš turiu būti konkretus. 1532 01:03:14,500 --> 01:03:16,820 Ši funkcija grąžina int. 1533 01:03:16,820 --> 01:03:19,130 Taigi čia, kaip norite rašyti savo funkcijas. 1534 01:03:19,130 --> 01:03:20,850 Jūs pirmiausia nuspręsti, kas Jūsų vardas 1535 01:03:20,850 --> 01:03:21,720 funkcija bus. 1536 01:03:21,720 --> 01:03:23,964 Ir apskritai, aiškinamasis kažkas yra gerai, todėl aš 1537 01:03:23,964 --> 01:03:25,060 jį vadiname kubas. 1538 01:03:25,060 --> 01:03:27,180 Tada turite nurodyti, ką ji ketina grįžti, kas 1539 01:03:27,180 --> 01:03:28,240 jos produkcija bus. 1540 01:03:28,240 --> 01:03:29,595 Ir mes neturime, kad daug galimybių. 1541 01:03:29,595 --> 01:03:32,260 Int, char, plūdės, bool, styginių. 1542 01:03:32,260 --> 01:03:34,260 Nes dabar, aš ruošiuosi klijuoti su int, nes aš noriu jį 1543 01:03:34,260 --> 01:03:35,880 grįžti sveikasis skaičius. 1544 01:03:35,880 --> 01:03:38,770 Tada jūs turite nurodyti, ką sąnaudas, jei tokių yra, yra. 1545 01:03:38,770 --> 01:03:41,570 Ir jei kubas mano argumentas, mano kažkas tarp 1546 01:03:41,570 --> 01:03:44,970 skliausteliuose, argumentas, kad jūs turite duoti vardą, kad 1547 01:03:44,970 --> 01:03:47,860 galite skambinti ji ką nors, kaip jūs įgyvendinimo ar raštu 1548 01:03:47,860 --> 01:03:50,550 ši funkcija, ir jūs turite suteikti jai tipo, kuris šiuo 1549 01:03:50,550 --> 01:03:51,810 byla bus int. 1550 01:03:51,810 --> 01:03:54,690 Taigi trumpai tariant, kubas yra funkcija, kuri užima sveikasis skaičius 1551 01:03:54,690 --> 01:03:57,560 kaip įvestį ir grįžta kaip produkcija sveikasis skaičius. 1552 01:03:57,560 --> 01:03:59,240 >> Taigi, ką daryti su tuo pirkimo? 1553 01:03:59,240 --> 01:04:03,710 Na, o 14 eilutėje, aš pareiškiu, kintamasis vadinamas išėjimo, ir aš 1554 01:04:03,710 --> 01:04:07,410 ją priskirti vertę, įvesties kartų įvesties kartų įvesties. 1555 01:04:07,410 --> 01:04:11,490 Ir tada aš grįžti produkciją. 1556 01:04:11,490 --> 01:04:14,890 Taigi, kaip aš galiu naudoti, tai tada? 1557 01:04:14,890 --> 01:04:19,210 Ką aš pakeisti šiuos simbolius on-line 1558 01:04:19,210 --> 01:04:21,006 7 iki, jūs manote? 1559 01:04:21,006 --> 01:04:21,800 Auditorija: [nesigirdi]. 1560 01:04:21,800 --> 01:04:25,570 David J. Malan: Taip, kad kubo x. 1561 01:04:25,570 --> 01:04:28,290 Taigi x yra kintamasis, tai reiškia, kad turi tam tikrą vertę. 1562 01:04:28,290 --> 01:04:30,190 Laimei, tai tipo sveikasis skaičius. 1563 01:04:30,190 --> 01:04:34,280 Ir todėl, kad x yra int, tai reiškia, kad galiu perduoti jį į kubą. 1564 01:04:34,280 --> 01:04:39,500 Ir nors aš svarbesnio x vertę su verte 1565 01:04:39,500 --> 01:04:42,780 kubo x, kaip buvo šiuo atveju iki šiol, bet kuriuo metu galite 1566 01:04:42,780 --> 01:04:46,150 lygybės ženklą ir eilutės kodo dešinėje stuff 1567 01:04:46,150 --> 01:04:49,090 bus įvykdytas ir tada bus priskirtas 1568 01:04:49,090 --> 01:04:50,150 vertė kairėje. 1569 01:04:50,150 --> 01:04:52,950 Operacijų, kad yra taip, kaip mes tikimės. 1570 01:04:52,950 --> 01:04:56,620 Taigi tai veikia? 1571 01:04:56,620 --> 01:04:58,410 Na, leiskite man eiti. 1572 01:04:58,410 --> 01:04:59,970 Leiskite man atverti savo terminalo langą. 1573 01:04:59,970 --> 01:05:03,610 Leiskite man padaryti prieaugį, Įveskite. 1574 01:05:03,610 --> 01:05:07,140 "Numanomas deklaracija funkciją" kubo "yra negaliojantis 1575 01:05:07,140 --> 01:05:13,700 C99 "Kaip žemę, C99 susijęs su kalbos C, nes jis buvo 1576 01:05:13,700 --> 01:05:16,790 1999 metais, kuri buvo apibrėžta per versijos atnaujinimas 1577 01:05:16,790 --> 01:05:19,360 1989, kuris yra atnaujinti, palyginti su pradine. 1578 01:05:19,360 --> 01:05:21,740 Taigi, kad Visa tai reiškia. 1579 01:05:21,740 --> 01:05:24,250 >> Taigi, ką tai reiškia, kad "numanomo deklaracija 1580 01:05:24,250 --> 01:05:26,790 funkciją "kubas" yra neteisingas? "Tai čia. 1581 01:05:26,790 --> 01:05:28,430 Jis turi teisę ten 12 eilutėje. 1582 01:05:28,430 --> 01:05:30,460 Auditorija: [nesigirdi]. 1583 01:05:30,460 --> 01:05:30,730 David J. Malan: Kas tai? 1584 01:05:30,730 --> 01:05:32,470 Auditorija: Tai ne anksčiau. 1585 01:05:32,470 --> 01:05:33,540 David J. Malan: Tai ne anksčiau. 1586 01:05:33,540 --> 01:05:34,740 Taigi tai yra dalykas. 1587 01:05:34,740 --> 01:05:38,190 C yra kind of stupid, arba C kompiliatorius yra kind of stupid. 1588 01:05:38,190 --> 01:05:41,060 Jie tikrai tik tai, ką galite pasakyti jiems tai padaryti. 1589 01:05:41,060 --> 01:05:44,770 Ir jie, visų pirma, tik skaityti savo kodą viršų į apačią, 1590 01:05:44,770 --> 01:05:45,620 kairės į dešinę. 1591 01:05:45,620 --> 01:05:49,140 Taigi, jei kompiliatorius, Apsukite metalinis garsas, skaito savo kodą, 1 eilutė, 1592 01:05:49,140 --> 01:05:50,120 skaičiai, kaip tai padaryti. 1593 01:05:50,120 --> 01:05:50,940 O, čia yra pagrindinis. 1594 01:05:50,940 --> 01:05:53,000 Gerai, leiskite man eiti į priekį ir deklaruoti kintamojo x. 1595 01:05:53,000 --> 01:05:54,160 Leiskite man ką nors atspausdinti. 1596 01:05:54,160 --> 01:05:55,890 Linija 7, kas gi yra kubas? 1597 01:05:55,890 --> 01:05:58,230 Tai nedeklaruojamos stdio.h. 1598 01:05:58,230 --> 01:06:00,950 Jis nėra ateis su C. Aš neįsivaizduoju, ką daryti. 1599 01:06:00,950 --> 01:06:03,960 Ir taip Apsukite metalinis garsas tiesiog laidavimus ir išsikrausto su tos klaidos pranešimą. 1600 01:06:03,960 --> 01:06:05,850 Taigi, mes galime išspręsti šią problemą įvairiais būdais pora. 1601 01:06:05,850 --> 01:06:10,530 Mes galime mokyti Apsukite metalinis garsas, ką kubas tiesiog perkelti, kur 1602 01:06:10,530 --> 01:06:11,820 deklaracija. 1603 01:06:11,820 --> 01:06:14,640 Taigi, aš iškirpti ir įklijuoti jį ant pagrindinis. 1604 01:06:14,640 --> 01:06:17,770 Dabar suprantame, kad tik todėl, kad pagrindinis nebėra pirma, tai 1605 01:06:17,770 --> 01:06:19,150 vis dar vykdomi pagal nutylėjimą. 1606 01:06:19,150 --> 01:06:20,060 Pagrindinis yra pagrindinis. 1607 01:06:20,060 --> 01:06:21,022 Nutylėjimą funkcijos pavadinimas. 1608 01:06:21,022 --> 01:06:22,930 Nesvarbu, kur ji yra faile. 1609 01:06:22,930 --> 01:06:26,910 Bet bent jau dabar Apsukite metalinis garsas matė kubą, kol aš jį naudoti. 1610 01:06:26,910 --> 01:06:28,500 Taigi pažiūrėkime, jei Apsukite metalinis garsas yra laimingesni dabar. 1611 01:06:28,500 --> 01:06:31,410 Padaryti prieaugį, jis parengia šį kartą. 1612 01:06:31,410 --> 01:06:33,060 >> Leiskite man paleisti prieaugį. 1613 01:06:33,060 --> 01:06:34,810 Ir iš tiesų, atrodo, kad reikia dirbti. 1614 01:06:34,810 --> 01:06:36,810 Dabar galite sugalvoti su scenarijų galiausiai kur 1615 01:06:36,810 --> 01:06:38,650 tai neįmanoma įdėti visas funkcijas 1616 01:06:38,650 --> 01:06:39,740 aukščiau visų kitos funkcijos. 1617 01:06:39,740 --> 01:06:42,140 Jums įstrigti šiame begalinis ciklas iš tikrųjų, 1618 01:06:42,140 --> 01:06:43,480 kur šis vaikinas nori būti čia, bet tai 1619 01:06:43,480 --> 01:06:44,390 vaikinas turi būti ten. 1620 01:06:44,390 --> 01:06:45,830 Taigi, kad ne visada veikia. 1621 01:06:45,830 --> 01:06:49,020 Taigi, laimei, C turi elegantišką sprendimą. 1622 01:06:49,020 --> 01:06:50,790 Aš ruošiuosi įdėti atgal, kur jis buvo, tik todėl, kad aš 1623 01:06:50,790 --> 01:06:53,390 norite, kaip iš esmės, kad pagrindinis visada turi būti 1624 01:06:53,390 --> 01:06:55,550 viršuje, nes jis tiesiog malonu matyti, ką ši programa 1625 01:06:55,550 --> 01:06:56,920 Ar pagal nutylėjimą. 1626 01:06:56,920 --> 01:06:58,950 Ir tai, ką aš ruošiuosi daryti čia paskelbti, kas vadinama 1627 01:06:58,950 --> 01:07:00,250 prototipas. 1628 01:07:00,250 --> 01:07:05,730 Aš einu iš naujo paskelbti savo kubo funkciją, tiesiog 1629 01:07:05,730 --> 01:07:07,180 kopijuoti ir įklijuoti. 1630 01:07:07,180 --> 01:07:08,290 Tiesą sakant, tai ne pažodžiui. 1631 01:07:08,290 --> 01:07:13,060 Taigi, pažodžiui kopijuoti ir įklijuoti eilutę 15 1632 01:07:13,060 --> 01:07:15,160 iki aukščiau LINE 6. 1633 01:07:15,160 --> 01:07:17,010 Nesvarbu, ką linija baigiasi. 1634 01:07:17,010 --> 01:07:18,380 Taip atsitinka, kad linija 4. 1635 01:07:18,380 --> 01:07:19,950 Tačiau ji turi būti prieš pagrindinius valgymus. 1636 01:07:19,950 --> 01:07:21,150 Bet pastebėsite skirtumą. 1637 01:07:21,150 --> 01:07:24,100 4 eilutė baigiasi kabliataškiu, o tai reiškia, hey, 1638 01:07:24,100 --> 01:07:27,510 Apsukite metalinis garsas, imtis savo žodį, kad egzistuoja funkcija 1639 01:07:27,510 --> 01:07:31,350 vadinamas kubą, kad mano int ir grąžina int. 1640 01:07:31,350 --> 01:07:33,020 Bet aš nesu gonna pasakyti, ką jis dar. 1641 01:07:33,020 --> 01:07:35,180 Tiesiog žinau, kad aš pažadu pasakyti, galiausiai. 1642 01:07:35,180 --> 01:07:38,490 Ir iš tiesų, dabar ji gerai, kad tai yra žemiau. 1643 01:07:38,490 --> 01:07:41,275 >> Taigi, šis paprastai yra geriau, nes tada viršuje 1644 01:07:41,275 --> 01:07:44,240 failą, galite tiesiog Wyklepać, greitą ugnies, viena eilutė 1645 01:07:44,240 --> 01:07:46,470 kiekvienas, kas savo funkcijų pavadinimai yra, kas jų 1646 01:07:46,470 --> 01:07:49,120 įėjimai, kokie jų rezultatai yra. 1647 01:07:49,120 --> 01:07:52,210 Ir būtų aiškiau, įvesties paprastai reiškia argumentus arba 1648 01:07:52,210 --> 01:07:54,110 parametras, sinonimu. 1649 01:07:54,110 --> 01:07:56,890 Produkcija - tai sugrįžimo vertę, ką reikia 1650 01:07:56,890 --> 01:07:58,700 ranka į mane. 1651 01:07:58,700 --> 01:08:03,420 Taigi, šiuo atveju čia, kubas buvo deklaruotos viršuje, bet 1652 01:08:03,420 --> 01:08:06,940 apibrėžta, kitaip žinoma kaip įgyvendinama, apačioje. 1653 01:08:06,940 --> 01:08:09,620 Taigi dabar grįžkime čia ir iš naujo paleisti šią. 1654 01:08:09,620 --> 01:08:13,430 Taigi dabar leiskite man eiti į priekį ir iš naujo paleisti, kad, iš naujo paleiskite prieaugis. 1655 01:08:13,430 --> 01:08:16,500 Ir dabar atrodo, kad reikia dirbti tik baudą. 1656 01:08:16,500 --> 01:08:19,450 Taigi dabar mes galime eiti į priekį ir veiksnys iš kažką panašaus 1657 01:08:19,450 --> 01:08:23,720 alaus pavyzdį į šią ketvirtosios versijos. 1658 01:08:23,720 --> 01:08:25,590 Taigi leiskite man slinkti žemyn čia. 1659 01:08:25,590 --> 01:08:28,149 Ir pastebėjo, kad I rūšies paėmė šią pamoką į širdį tiesiog dabar. 1660 01:08:28,149 --> 01:08:31,140 Tai, kad aš dainavo tą patį strofa vėl ir 1661 01:08:31,140 --> 01:08:34,130 vėl ir vėl, tas pats choras daina linija, veltinio 1662 01:08:34,130 --> 01:08:36,439 patinka, kodėl ne aš veiksnys, kad iš į funkciją? 1663 01:08:36,439 --> 01:08:38,470 Ir iš tiesų, tai turėtų būti vienas iš motyvus. 1664 01:08:38,470 --> 01:08:40,960 Be to, tai, kad kažkas pasaulyje galbūt norėsite 1665 01:08:40,960 --> 01:08:42,390 naudoti kubo funkciją - 1666 01:08:42,390 --> 01:08:44,560 tai gera priežastis faktorius ką nors ir parašyti savo 1667 01:08:44,560 --> 01:08:45,720 savo individualizuotos funkcija - 1668 01:08:45,720 --> 01:08:48,720 jei ten kodo riekė savo programa, kuri tiesiog daro 1669 01:08:48,720 --> 01:08:51,370 konceptualus jausmas, kad jūs tipo norite suteikti jai 1670 01:08:51,370 --> 01:08:53,740 pavadinimas -, kaip šiuo atveju, choras - 1671 01:08:53,740 --> 01:08:57,380 tada jūs galite taip pat rašo, kad kaip atskira funkcija. 1672 01:08:57,380 --> 01:08:59,560 Jūs neturite rašyti viską, kas yra pagrindinis, jei jis tiesiog 1673 01:08:59,560 --> 01:09:02,609 jaučiasi švaresnis atskirti jį ir suteikti jai pavadinimą. 1674 01:09:02,609 --> 01:09:05,529 >> Taigi, šiuo atveju čia, pastebėsite, kad turiu komentarą viršuje 1675 01:09:05,529 --> 01:09:06,859 tai funkcija, kuri tik dainuoja apie 1676 01:09:06,859 --> 01:09:08,630 nurodyti numeriai butelių. 1677 01:09:08,630 --> 01:09:10,609 Pastebėsite čia, kad man nereikia skambinti šių 1678 01:09:10,609 --> 01:09:12,520 dalykų, įvesties ir išvesties. 1679 01:09:12,520 --> 01:09:16,090 Tiesą sakant, šį kartą aš tiesiog vadinamas mano įėjimas B buteliukui. 1680 01:09:16,090 --> 01:09:19,960 Ir pastebėsite čia, tuščia rodo tai, ką? 1681 01:09:19,960 --> 01:09:21,309 Kad choras - 1682 01:09:21,309 --> 01:09:22,660 Auditorija: Ar negrąžina. 1683 01:09:22,660 --> 01:09:23,870 David J. Malan: Ar grąžina reikšmę. 1684 01:09:23,870 --> 01:09:26,800 Ir iš tiesų, funkcijos neturi grąžinti reikšmes. 1685 01:09:26,800 --> 01:09:28,060 Jie gali tiesiog kažką daryti. 1686 01:09:28,060 --> 01:09:30,270 Jie gali turėti, kas yra vadinama šalutinį poveikį, kuris šiame 1687 01:09:30,270 --> 01:09:33,109 atvejis yra tiesiog visa krūva spausdinti ekrane. 1688 01:09:33,109 --> 01:09:36,580 Taigi pastebėti, kad šį kodą čia, aš tiesiog tik pavogė iš 1689 01:09:36,580 --> 01:09:37,680 ankstesniame pavyzdyje. 1690 01:09:37,680 --> 01:09:39,930 Vienintelis skirtumas yra, o ne i "My 1691 01:09:39,930 --> 01:09:42,890 kintamasis, aš dabar naudoja mano kintamojo b. 1692 01:09:42,890 --> 01:09:45,880 Taigi, aš turiu b žemyn čia, turiu b žemyn čia, turiu b 1693 01:09:45,880 --> 01:09:47,109 minus 1 žemyn čia. 1694 01:09:47,109 --> 01:09:49,279 Bet kodas yra lygiai toks pats. 1695 01:09:49,279 --> 01:09:52,529 Bet tiesiog parodyti jums, dabar, kaip mes galime naudoti, leisk man eiti 1696 01:09:52,529 --> 01:09:56,780 į priekį ir iš tikrųjų pakeisti, kad tai yra už linijos. 1697 01:09:56,780 --> 01:10:03,850 (int i = n i> n, i -). 1698 01:10:03,850 --> 01:10:06,230 >> Taigi aš pavogta, kad iš mūsų ankstesniame pavyzdyje. 1699 01:10:06,230 --> 01:10:08,970 Anksčiau, tai atitinka 37, kad man būtų pradėtas 1700 01:10:08,970 --> 01:10:10,640 dainuoti šią erzina dainą. 1701 01:10:10,640 --> 01:10:15,810 Bet vietoj to, aš tik ketina dabar vadiname choras i. 1702 01:10:15,810 --> 01:10:16,870 Atlikta. 1703 01:10:16,870 --> 01:10:20,260 Taigi dabar kiekvieną šio ciklo iteracijos, aš vadinu tai kitas 1704 01:10:20,260 --> 01:10:22,220 funkcija, choras,, kad man teko rašyti. 1705 01:10:22,220 --> 01:10:24,110 Ji buvo parašyta ne kažkam kitam metų. 1706 01:10:24,110 --> 01:10:27,930 Bet choras, tuo tarpu, naudoja printf spausdinti 1707 01:10:27,930 --> 01:10:29,840 iš šių keturių eilučių. 1708 01:10:29,840 --> 01:10:32,720 Bet faktas, kad aš vėl ir vėl paskambinus choras 1709 01:10:32,720 --> 01:10:35,900 kilpa reiškia, kad aš ruošiuosi gauti, pačioje pabaigoje, 1710 01:10:35,900 --> 01:10:39,310 tiksli pačios dainos, kaip aš iki šiol. 1711 01:10:39,310 --> 01:10:42,130 Taigi trumpai tariant, dabar, jei aš pažvelgti atgal į mano kodas, nors 1712 01:10:42,130 --> 01:10:44,240 funkciniu požiūriu yra lygiavertis, pastebėsite, kad ji 1713 01:10:44,240 --> 01:10:46,020 pradeda gauti dar lengviau skaityti. 1714 01:10:46,020 --> 01:10:48,410 Nelabai tiksliai žinoti, kaip GetInt 1715 01:10:48,410 --> 01:10:49,250 įgyvendinimą. 1716 01:10:49,250 --> 01:10:52,050 Atvirai kalbant, aš nežinau, kaip yra įgyvendinamas choras. 1717 01:10:52,050 --> 01:10:52,970 Bet tai nesvarbu man. 1718 01:10:52,970 --> 01:10:55,620 Man tai nerūpi, nes dabar galiu rūšiuoti, kaip žmogaus, skaityti 1719 01:10:55,620 --> 01:10:57,050 tai iš viršaus į apačią. 1720 01:10:57,050 --> 01:10:59,950 Ir todėl, kad funkcijos yra vadinami pagal tai, ką jie 1721 01:10:59,950 --> 01:11:02,910 daryti, mano kodas yra vis įskaitomas. 1722 01:11:02,910 --> 01:11:05,190 Ir mūsų programos gauti daug sudėtingesnė - 1723 01:11:05,190 --> 01:11:07,220 semestro pabaigoje, jums bus raštu šimtus eilučių 1724 01:11:07,220 --> 01:11:10,970 kodo kalbomis, pavyzdžiui, PHP, JavaScript ir pan. 1725 01:11:10,970 --> 01:11:13,550 jūs pamatysite, kad tai taip daug paprasčiau, nei sekti 1726 01:11:13,550 --> 01:11:14,080 tai, ką padarei. 1727 01:11:14,080 --> 01:11:15,810 Ir kai pradėsite bendradarbiauja su draugais ar 1728 01:11:15,810 --> 01:11:19,010 partneriai ar kolegos, galėsite rašyti daug daugiau 1729 01:11:19,010 --> 01:11:22,910 Dideli pradedant vykdyti šiuos pagrindinius programos 1730 01:11:22,910 --> 01:11:23,990 statybiniai blokai. 1731 01:11:23,990 --> 01:11:25,550 >> Taigi, su ta sako, kodėl ne mes jį vadiname dieną? 1732 01:11:25,550 --> 01:11:27,190 Ir mes matome, trečiadienį. 1733 01:11:27,190 --> 01:11:33,611 [Plojimai]