1 00:00:00,000 --> 00:00:03,290 >> [Predvaja glasba] 2 00:00:03,290 --> 00:00:04,989 3 00:00:04,989 --> 00:00:06,280 JASON Hirschhorna: OK, vsi. 4 00:00:06,280 --> 00:00:07,460 Dobrodošli na oddelku. 5 00:00:07,460 --> 00:00:10,840 To je CS50, naša zelo Prvi super oddelek. 6 00:00:10,840 --> 00:00:13,700 Kot vsi veste, naslednji teden Redni oddelki bodo začeli, 7 00:00:13,700 --> 00:00:15,580 ampak ta teden smo vsi skupaj. 8 00:00:15,580 --> 00:00:17,730 >> Tam je sam. 9 00:00:17,730 --> 00:00:18,840 Moje ime je Jason. 10 00:00:18,840 --> 00:00:20,630 Sem predavatelj računalništva. 11 00:00:20,630 --> 00:00:23,910 Imamo Andi, kdo je vodja TA od CS50. 12 00:00:23,910 --> 00:00:27,630 In Scaz, profesor Brian Scassellati, on je profesor računalništva. 13 00:00:27,630 --> 00:00:30,970 >> Smo CS50 glave na univerzi Yale. 14 00:00:30,970 --> 00:00:34,992 Vedno lahko po e-pošti nam heads@cs50.yale.edu. 15 00:00:34,992 --> 00:00:35,950 Mi bo na predavanjih. 16 00:00:35,950 --> 00:00:37,547 Bomo ob uradnih urah. 17 00:00:37,547 --> 00:00:40,130 Če je kdaj kaj moremo stori za vas, vse, kar potrebujete, 18 00:00:40,130 --> 00:00:42,610 vas prosimo, da stik z nami. 19 00:00:42,610 --> 00:00:44,140 >> Torej, kaj bomo naredili danes? 20 00:00:44,140 --> 00:00:47,790 Ali pred tem, kaj je prihaja ta teden? 21 00:00:47,790 --> 00:00:52,620 Torej Uradne ure so ponedeljek, torek, Sreda in četrtek 8:00 do 11:00. 22 00:00:52,620 --> 00:00:54,770 Tam je urnik na spletni strani. 23 00:00:54,770 --> 00:00:57,830 >> Oddelki, kot sem že omenil, se začenja naslednji teden. 24 00:00:57,830 --> 00:01:01,390 In boste izvedeli ta teden kaj Čas je tvoj del je, kateri dan je danes, 25 00:01:01,390 --> 00:01:03,350 in kdo je tvoj TA je. 26 00:01:03,350 --> 00:01:08,610 >> Problem Set 1 zapade v četrtek ob opoldne, v petek opoldne z pozni dan. 27 00:01:08,610 --> 00:01:10,817 Ja, imaš devet poznih dni. 28 00:01:10,817 --> 00:01:12,150 In tam so devet problem sklopov. 29 00:01:12,150 --> 00:01:14,320 In lahko uporabite samo eno pozno dan na problem nizu. 30 00:01:14,320 --> 00:01:17,930 Ja, v bistvu vse težave kompleti so posledica petek opoldne. 31 00:01:17,930 --> 00:01:18,550 To je vse. 32 00:01:18,550 --> 00:01:20,400 Vse to so podatki o predmetniku. 33 00:01:20,400 --> 00:01:22,360 >> Vsak petek imamo kosila. 34 00:01:22,360 --> 00:01:25,230 Radi bi, da je to velika Seveda malce manjši. 35 00:01:25,230 --> 00:01:26,580 Torej, ste dobrodošli, da RSVP. 36 00:01:26,580 --> 00:01:30,050 Brezplačno kosilo s kolegi sošolci in osebje. 37 00:01:30,050 --> 00:01:34,120 cs50.yale.edu/rsvp. 38 00:01:34,120 --> 00:01:36,940 >> Vse te stvari, ki jih Imam na zaslonu, 39 00:01:36,940 --> 00:01:43,330 in še več, jo lahko najdete cs50.yale.edu ali cs50.harvard.edu, če greš na Harvard 40 00:01:43,330 --> 00:01:46,800 in so gledal ta spletu. 41 00:01:46,800 --> 00:01:50,240 >> Tudi na teh spletnih straneh, tam tono virov za vas. 42 00:01:50,240 --> 00:01:54,610 Vsako predavanje ni samo video predavanja, temveč tudi ugotavlja. 43 00:01:54,610 --> 00:01:58,184 Nekdo bo gledal predavanje in zapiske za vas. 44 00:01:58,184 --> 00:02:00,100 Torej lahko samo plačati pozornost pri predavanjih, 45 00:02:00,100 --> 00:02:03,970 ali lahko uporabite svoje zapiske / Naše ugotavlja, da dopolni svoje opombe. 46 00:02:03,970 --> 00:02:04,987 >> Obstaja diapozitivi na spletu. 47 00:02:04,987 --> 00:02:07,320 Vir code-- vse David gre več v predavanju, 48 00:02:07,320 --> 00:02:09,979 ali Scaz gre čez predavanju, ki Izvorna koda je na voljo na spletu 49 00:02:09,979 --> 00:02:11,750 pa tudi, saj kot sem omenil videoposnetkov. 50 00:02:11,750 --> 00:02:14,257 >> Oddelki, prav tako bo vse posnel. 51 00:02:14,257 --> 00:02:15,840 Vsi ti diapozitive bo na voljo. 52 00:02:15,840 --> 00:02:18,190 Vse te kode bo biti na voljo za vas. 53 00:02:18,190 --> 00:02:22,440 Obstajajo hlače na spletni strani, kjer je Uslužbenci CS50 porabili pet do 10 54 00:02:22,440 --> 00:02:24,130 minut gredo skozi teme za vas. 55 00:02:24,130 --> 00:02:26,750 Nekateri od tistih, ki ste jih že naletela na problematičnih sklopov. 56 00:02:26,750 --> 00:02:30,430 >> Uradne ure, kot sem omenil, ob ponedeljkih skozi četrtkih, 8:00 do 11:00. 57 00:02:30,430 --> 00:02:32,600 CS50 Študija je fantastičen vir. 58 00:02:32,600 --> 00:02:37,100 Obstajajo problemi prakse, Vzorčna stekelca, znani hrošči 59 00:02:37,100 --> 00:02:40,920 da učenci radi vodijo v, za praktično vsako temo mi 60 00:02:40,920 --> 00:02:42,650 bo zajemal v tem tečaju. 61 00:02:42,650 --> 00:02:46,350 >> In končno, na ta diapozitiv vsaj Reference50 62 00:02:46,350 --> 00:02:49,690 ki vam daje informacije na vse funkcije C 63 00:02:49,690 --> 00:02:53,160 da bi lahko kdaj morda upamo, za uporabo in še veliko, veliko več. 64 00:02:53,160 --> 00:02:55,690 >> Again, da dot dot piko na spodnji del zaslona 65 00:02:55,690 --> 00:02:59,990 je razvidno, da obstaja celo več sredstev na teh dveh spletnih straneh: 66 00:02:59,990 --> 00:03:04,270 cs50.yale.edu, cs50.harvard.edu. 67 00:03:04,270 --> 00:03:05,840 >> Torej, kaj počnemo danes? 68 00:03:05,840 --> 00:03:08,970 No, najprej bom dal pogledaš na vire. 69 00:03:08,970 --> 00:03:10,010 Že storil, da je eden. 70 00:03:10,010 --> 00:03:11,590 Poglej nas. 71 00:03:11,590 --> 00:03:16,430 >> Zdaj smo šli čez podatkovni tipi in operaterji v C. 72 00:03:16,430 --> 00:03:19,990 Potem bo Andi prišli sem gor in iti čez knjižnice v C, printf (), 73 00:03:19,990 --> 00:03:24,570 funkcija, s katero ste že znano, ali bo hitro postala zelo 74 00:03:24,570 --> 00:03:25,530 seznanjeni. 75 00:03:25,530 --> 00:03:27,810 In boste tudi iti čez Pogojniki in zanke. 76 00:03:27,810 --> 00:03:30,900 >> In potem končno, Scaz bo šel čez CS50 ID. 77 00:03:30,900 --> 00:03:34,250 Če še niste potopil v že Problem Set 1, 78 00:03:34,250 --> 00:03:37,060 kot tudi, kako uporabiti Ukazi terminalov in uporabne 79 00:03:37,060 --> 00:03:42,280 in potem vam nekaj demo posnetkov in praksa kodiranje v CS50 ID. 80 00:03:42,280 --> 00:03:45,130 >> Preden sem skočil v to je vsebina na tej strani, 81 00:03:45,130 --> 00:03:46,770 Ima kdo kakšna vprašanja doslej? 82 00:03:46,770 --> 00:03:53,190 83 00:03:53,190 --> 00:03:54,030 Great. 84 00:03:54,030 --> 00:03:54,950 V REDU. 85 00:03:54,950 --> 00:03:55,810 Prestavljanja. 86 00:03:55,810 --> 00:03:58,760 >> [Prestavljanjem] 87 00:03:58,760 --> 00:04:03,070 >> To sem bil jaz premikajo orodja v ročnem avtomobilu. 88 00:04:03,070 --> 00:04:10,920 Torej, podatkovni tipi v C, ne morete imeti samo spremenljivka x in imajo biti na liniji 10, 89 00:04:10,920 --> 00:04:17,170 celo, morda številka 1, na liniji 20, decimalno število 10,5, 90 00:04:17,170 --> 00:04:20,500 in potem par vrstic kasneje niz, ljubim CS50. 91 00:04:20,500 --> 00:04:25,052 >> V C, lahko spremenljivke le ena stvar, in samo ena stvar. 92 00:04:25,052 --> 00:04:26,510 In tako da boste morali, da se jim vrst. 93 00:04:26,510 --> 00:04:28,780 In na tej plošči smo imajo seznam vrst. 94 00:04:28,780 --> 00:04:32,000 Obstajajo znakov, ki stati znakov. 95 00:04:32,000 --> 00:04:36,850 Tako da je eno črko A, B, C, D. To je lahko tudi prostor, 96 00:04:36,850 --> 00:04:40,290 ali ki je lahko tudi nova linija znak. 97 00:04:40,290 --> 00:04:45,030 >> Obstaja cela števila, ki so pravkar številke, cele numbers-- ali cela 98 00:04:45,030 --> 00:04:47,130 rather-- vendar brez decimalk. 99 00:04:47,130 --> 00:04:49,790 >> Za decimalke, imamo plavajočo vejico. 100 00:04:49,790 --> 00:04:53,200 Plavajočo vejico so številke, s decimalk. 101 00:04:53,200 --> 00:04:58,160 >> Potem so podolgovati, ki so bistveno daljše cela števila. 102 00:04:58,160 --> 00:05:01,160 Opazili boste, da že dolgo 8 ker je int 4. 103 00:05:01,160 --> 00:05:02,640 Jaz bom tisti, ki v sekundi. 104 00:05:02,640 --> 00:05:07,390 To je zato, ker lahko hrepeni shranite tudi več celih števil kot notr lahko shranite. 105 00:05:07,390 --> 00:05:10,100 Dvakrat je dolgo float. 106 00:05:10,100 --> 00:05:12,460 >> In končno, imamo niz, ki je vrsta 107 00:05:12,460 --> 00:05:14,430 da ste verjetno uporabili prej. 108 00:05:14,430 --> 00:05:21,100 Če vključite hashtag # includeCS50.h v izvorni datoteki, 109 00:05:21,100 --> 00:05:23,170 potem lahko uporabite vrsto niza. 110 00:05:23,170 --> 00:05:25,560 Ni je dejansko vgrajen v C. 111 00:05:25,560 --> 00:05:27,760 >> Obstaja nekaj drugih vrst, kot dobro. 112 00:05:27,760 --> 00:05:32,900 Toda to so glavni tisti z ki ga boste uporabili in se srečujejo. 113 00:05:32,900 --> 00:05:36,210 C kot, enkrat sem omenil, vsak jo variable-- 114 00:05:36,210 --> 00:05:38,620 je lahko samo eno vrsto in samo eno vrsto. 115 00:05:38,620 --> 00:05:42,890 To je zato, ker C je statično natipkan jezik, v nasprotju 116 00:05:42,890 --> 00:05:45,780 dinamično vnesli jezikov kje če ustvarite spremenljivko 117 00:05:45,780 --> 00:05:50,081 lahko spremenite kaj je shranjeno v je kot greš v vašem programu. 118 00:05:50,081 --> 00:05:52,580 Tukaj na desni strani Lepo, imam različne velikosti 119 00:05:52,580 --> 00:05:57,440 teh vrst podatkov v bajtih. 120 00:05:57,440 --> 00:05:59,710 Torej znak je 1 bajt. 121 00:05:59,710 --> 00:06:01,250 To je 8 bitov. 122 00:06:01,250 --> 00:06:05,530 In to pomeni, da zaradi 8 bitov tam je osem 0s in 1s. 123 00:06:05,530 --> 00:06:08,280 Videli smo te demos v prvi teden s tem, da binarnih žarnice. 124 00:06:08,280 --> 00:06:15,680 >> Z 8 bitov ali 1 bajt, smo lahko predstavljajo številke od 0 do 255. 125 00:06:15,680 --> 00:06:16,180 Prav. 126 00:06:16,180 --> 00:06:18,770 Če so vsi 8 bitov 0, ki pa je 0. 127 00:06:18,770 --> 00:06:23,640 Če je prvi bit je 1, da je število on, in tako naprej, vse tja do 255. 128 00:06:23,640 --> 00:06:28,290 In zato pri znakih, ki jih lahko imajo v bistvu do 255 od njih, 129 00:06:28,290 --> 00:06:31,210 ampak to je dovolj za kritje vseh znake, moramo uporabiti. 130 00:06:31,210 --> 00:06:38,060 >> Za celih števil, lahko imate 0 in potem imate 2 do 32 minus 1. 131 00:06:38,060 --> 00:06:40,340 Tisti, ki so, koliko možnosti imate za cela števila. 132 00:06:40,340 --> 00:06:44,780 >> Za dolgo, imate 0 za 2 do 64 minus 1. 133 00:06:44,780 --> 00:06:48,860 Torej imate veliko, veliko, več možnosti za hrepeni. 134 00:06:48,860 --> 00:06:54,220 >> Strings, da je vprašanje znamka ker je to Cliffhanger za kasneje. 135 00:06:54,220 --> 00:06:55,000 Ja. 136 00:06:55,000 --> 00:06:56,350 Jaz lahko povem, vsakdo je na robu sedeža, 137 00:06:56,350 --> 00:06:57,450 všeč, kaj pa je to vprašanje znamka? 138 00:06:57,450 --> 00:06:58,390 To je Cliffhanger. 139 00:06:58,390 --> 00:07:02,340 Bomo v prihodnosti zajemati velikost godala in govori več o strune. 140 00:07:02,340 --> 00:07:04,692 Ker niz je dejansko enega kolesa usposabljanja 141 00:07:04,692 --> 00:07:06,400 smo se na tem Seveda na začetku 142 00:07:06,400 --> 00:07:09,700 in nato vzlet kasneje no, saj nizov v C 143 00:07:09,700 --> 00:07:13,320 so dejansko kazalci do nizi znakov. 144 00:07:13,320 --> 00:07:15,810 Ampak še enkrat, da je Cliffhanger za kasneje. 145 00:07:15,810 --> 00:07:18,890 Preden sem se premaknete na vsa vprašanja, komentarji, skrbi glede tega diapozitiva? 146 00:07:18,890 --> 00:07:25,800 147 00:07:25,800 --> 00:07:26,630 >> V REDU. 148 00:07:26,630 --> 00:07:30,330 Moram biti fantastično razlagalca. 149 00:07:30,330 --> 00:07:33,210 Tudi takrat, ko ste programiranjem boste za uporabo teh operaterjev. 150 00:07:33,210 --> 00:07:36,730 Res preprosti znaki, da lahko narediš preprost operacije, s katero ste verjetno 151 00:07:36,730 --> 00:07:38,340 že zelo pozna. 152 00:07:38,340 --> 00:07:42,580 >> Na primer, na desni hand side, vidimo dodati. 153 00:07:42,580 --> 00:07:44,640 Če želite dodati, si naredil pozitivni predznak. 154 00:07:44,640 --> 00:07:46,850 In zato boste morda morali dve spremenljivki x in y. 155 00:07:46,850 --> 00:07:48,810 To lahko storite x + y v kodi. 156 00:07:48,810 --> 00:07:52,790 Morda želite to-- vam reči ima številko 7 in 3, 157 00:07:52,790 --> 00:07:55,780 želite shraniti da spremenljivo imenovano vsoto. 158 00:07:55,780 --> 00:08:03,010 To lahko storite int za tipa, prostora Vsota, ime spremenljivke, = 7 + 3; 159 00:08:03,010 --> 00:08:05,780 >> Kaj bi, da je trgovina v znesku? 160 00:08:05,780 --> 00:08:07,190 Kdorkoli? 161 00:08:07,190 --> 00:08:09,270 Če sem imel v znesku = 7 + 3. 162 00:08:09,270 --> 00:08:10,437 Kaj bi bili shranjeni v znesku? 163 00:08:10,437 --> 00:08:11,520 Lahko samo zakričal. 164 00:08:11,520 --> 00:08:12,120 OBČINSTVO: 10. 165 00:08:12,120 --> 00:08:12,995 >> JASON Hirschhorna: 10! 166 00:08:12,995 --> 00:08:14,870 To je ravno prav. 167 00:08:14,870 --> 00:08:19,520 Kaj pa v znesku = 7 - 3. Pravkar sem uporabil ta dash znak. 168 00:08:19,520 --> 00:08:20,871 Kaj se dogaja, da se hranijo? 169 00:08:20,871 --> 00:08:21,370 OBČINSTVO: 4. 170 00:08:21,370 --> 00:08:22,203 JASON Hirschhorna: 4. 171 00:08:22,203 --> 00:08:25,770 Sum je verjetno napačno ime da je spremenljivka, ampak 4 bodo shranjeni. 172 00:08:25,770 --> 00:08:31,890 >> Množiti v C, uporabite malo Star znakov, ki jih ne uporabljate x. 173 00:08:31,890 --> 00:08:35,990 Razdeliti, uporabite Forward Slash ne simbol delitve. 174 00:08:35,990 --> 00:08:39,580 In modulo, uporabite simbol odstotkov. 175 00:08:39,580 --> 00:08:47,900 >> Torej, recimo, da bi rad videl int z = 7% 3, kaj bi se shranijo v zv? 176 00:08:47,900 --> 00:08:51,250 Torej, to je v bistvu sprašuje, kaj modulo storiti? 177 00:08:51,250 --> 00:08:52,750 Ali kdo ve, kaj modulo počne? 178 00:08:52,750 --> 00:08:53,940 Ja. 179 00:08:53,940 --> 00:08:54,870 y 4. 180 00:08:54,870 --> 00:08:56,120 SPEAKER 1: To je ostanek. 181 00:08:56,120 --> 00:08:58,369 JASON Hirschhorna: To je Preostanek, ko razdeliti. 182 00:08:58,369 --> 00:09:02,790 Torej 7 deljeno s 3 je 2 preostanek 1. 183 00:09:02,790 --> 00:09:04,690 Torej bi bila 1 shranijo. 184 00:09:04,690 --> 00:09:06,970 >> Naredila odštevanje, ampak to je, kako to deluje. 185 00:09:06,970 --> 00:09:09,140 To je tisto, kar operater modulo počne. 186 00:09:09,140 --> 00:09:12,360 To traja nekaj jo deli z drugo številko in se vrne na vas 187 00:09:12,360 --> 00:09:14,590 preostanek. 188 00:09:14,590 --> 00:09:19,770 Torej še enkrat, 7% 3 vam daje 1, saj 7 deljeno s 3 je 2 preostanek 1, 189 00:09:19,770 --> 00:09:21,650 in vrne preostanek. 190 00:09:21,650 --> 00:09:24,470 >> Kaj pa pojdimo nazaj gor en korak k navedeni znak za deljenje. 191 00:09:24,470 --> 00:09:29,194 Če sem 7 / deljeno s 3 počne kdo ve, kaj bi bilo, da se vrnete? 192 00:09:29,194 --> 00:09:30,090 >> SPEAKER 2: 2. 193 00:09:30,090 --> 00:09:32,240 >> JASON Hirschhorna: Zakaj 2 in ne 2,333? 194 00:09:32,240 --> 00:09:34,560 >> SPEAKER 2: Mislim, da kosi off po celo število. 195 00:09:34,560 --> 00:09:36,310 JASON Hirschhorna: Torej da je ravno prav. 196 00:09:36,310 --> 00:09:39,880 V C, če vam delitev dve celi števili 7 deljeno s 3, 197 00:09:39,880 --> 00:09:43,430 je dobil odgovor, ki v tem primeru 2.3333 večno 198 00:09:43,430 --> 00:09:47,080 in ugotovi, da decimalno vejico in seka vse off po decimalne 199 00:09:47,080 --> 00:09:49,240 in to samo ti vrne 2. 200 00:09:49,240 --> 00:09:51,120 >> Torej, če sem storil 8, deljeno s 3. 201 00:09:51,120 --> 00:09:54,010 Ki dejansko vemo, da se vrnete 2.666, 202 00:09:54,010 --> 00:09:57,050 vendar seka vse off na decimalna, vse skrajša, 203 00:09:57,050 --> 00:09:58,640 in vrne ravno za vas 2. 204 00:09:58,640 --> 00:10:02,090 Torej 6 deljeno s 3, 7 razdeljen za 3, 8, deljeno s 3, 205 00:10:02,090 --> 00:10:04,840 se vse dogaja, da se vrnete na vas 2. 206 00:10:04,840 --> 00:10:08,770 >> Ali kdo ve, ali imajo ugibati, o tem, kako sem lahko dejansko dobili 207 00:10:08,770 --> 00:10:10,790 celoten odgovor, če želim, da decimalko? 208 00:10:10,790 --> 00:10:13,120 209 00:10:13,120 --> 00:10:13,620 Ja. 210 00:10:13,620 --> 00:10:14,152 Kar daj. 211 00:10:14,152 --> 00:10:15,110 SPEAKER 3: Uporabite plovec? 212 00:10:15,110 --> 00:10:16,942 JASON Hirschhorna: Kaj misliš s tem? 213 00:10:16,942 --> 00:10:19,786 SPEAKER 3: Ker ste rekli, Plovec je za številke [neslišno] 214 00:10:19,786 --> 00:10:22,900 215 00:10:22,900 --> 00:10:23,900 JASON Hirschhorna: Right. 216 00:10:23,900 --> 00:10:26,100 Torej, to je ravno prav. 217 00:10:26,100 --> 00:10:28,440 7 je celo število. 218 00:10:28,440 --> 00:10:31,690 Ampak, če sem hotel obrniti, da v število s plavajočo vejico, 219 00:10:31,690 --> 00:10:34,674 Jaz bi imel za shranjevanje, ki kot 7,0 ker računalnik 220 00:10:34,674 --> 00:10:37,090 je res stupid-- smo videli, da s PB in J example-- 221 00:10:37,090 --> 00:10:38,930 da bo to samo točno kaj ti je povedal. 222 00:10:38,930 --> 00:10:40,846 >> Torej, če ste napisali 7, je mislim, da je celo število. 223 00:10:40,846 --> 00:10:43,640 Če pišete 7.0, čeprav smo veš, te stvari so enakovredni, 224 00:10:43,640 --> 00:10:45,550 ravna da Like plavajočo vejico. 225 00:10:45,550 --> 00:10:50,441 Torej, če si 7.0 razdeljen s 3 ali deljeno s 3,0, 226 00:10:50,441 --> 00:10:52,440 da bi rekel, OK, zdaj imamo opravka s plovci. 227 00:10:52,440 --> 00:10:57,514 Se bom vrnil k tebi 2.333333 večno. 228 00:10:57,514 --> 00:10:59,930 Ampak ni res večno, saj kot smo videli tudi v predavanju 229 00:10:59,930 --> 00:11:03,350 ti plavajočo vejico niso ravno natančni. 230 00:11:03,350 --> 00:11:05,940 >> Torej, če ne želite, da decimalko, ali del tega decimalko, 231 00:11:05,940 --> 00:11:08,090 potem moraš use-- enega od njih mora biti realno število 232 00:11:08,090 --> 00:11:11,048 in računalnik mora razumeti da je to plavajočo vejico ste 233 00:11:11,048 --> 00:11:13,350 ki se ukvarjajo z, ni celo število. 234 00:11:13,350 --> 00:11:16,760 Vsa vprašanja o tej tabeli na desna stran pa, tako daleč? 235 00:11:16,760 --> 00:11:22,650 Ali vaš levi strani, kjer si levo, tvoja leva stran. 236 00:11:22,650 --> 00:11:23,264 Ja. 237 00:11:23,264 --> 00:11:23,972 SPEAKER 4: Right. 238 00:11:23,972 --> 00:11:26,216 Za samo kot redni cela števila, bi si 239 00:11:26,216 --> 00:11:30,230 write-- bi morali napisati plavajo? 240 00:11:30,230 --> 00:11:31,920 >> JASON Hirschhorna: Ja, tako. 241 00:11:31,920 --> 00:11:34,400 No, če želite ustvariti spremenljivka, ki je float, 242 00:11:34,400 --> 00:11:37,020 morate povedati plovec z enako nekaj. 243 00:11:37,020 --> 00:11:37,640 >> SPEAKER 4: OK. 244 00:11:37,640 --> 00:11:41,950 >> JASON Hirschhorna: Ampak, če sem hotel storiti 7, deljeno s 3 in dobil to decimalko, 245 00:11:41,950 --> 00:11:48,540 Jaz bi naredil float Z = 7,0 / 3,0; in da mi ne bi bilo v plavajoči vejici 246 00:11:48,540 --> 00:11:49,273 številka. 247 00:11:49,273 --> 00:11:50,000 >> SPEAKER 4: OK. 248 00:11:50,000 --> 00:11:56,370 >> JASON Hirschhorna: Če sem nekaj podobnega int z = 7 / za 3, 249 00:11:56,370 --> 00:12:00,856 da bi mi celo, ker so to vsi cela števila. 250 00:12:00,856 --> 00:12:01,730 Ali to smiselno? 251 00:12:01,730 --> 00:12:02,320 >> SPEAKER 4: Da. 252 00:12:02,320 --> 00:12:02,950 >> JASON Hirschhorna: OK. 253 00:12:02,950 --> 00:12:03,450 Great. 254 00:12:03,450 --> 00:12:06,030 Vsa druga vprašanja o tej tabeli? 255 00:12:06,030 --> 00:12:07,220 Res? 256 00:12:07,220 --> 00:12:08,380 Tako sem vznemirjen. 257 00:12:08,380 --> 00:12:09,120 V REDU. 258 00:12:09,120 --> 00:12:13,910 >> Torej, nekaj drugih stvari, ki jih boste uporabljali, velikokrat v pogojih ali zank, 259 00:12:13,910 --> 00:12:17,580 so te vrste operators-- te vrste logičnih izrazov. 260 00:12:17,580 --> 00:12:23,140 In kot smo izvedeli, == je tisto, kar uporabiti, da preverite, če sta dve stvari enaki. 261 00:12:23,140 --> 00:12:28,170 >> Torej, tukaj sem preveri, če je x == y, dajmo Ponovno predpostavimo, da je x 7 in je y 3. 262 00:12:28,170 --> 00:12:33,220 Torej, če sem napisal 7 == 3, kar bi, da se vrnete v meni? 263 00:12:33,220 --> 00:12:34,220 Je to res ali ne? 264 00:12:34,220 --> 00:12:35,275 >> OBČINSTVO: False. 265 00:12:35,275 --> 00:12:36,150 JASON Hirschhorna: OK. 266 00:12:36,150 --> 00:12:37,370 Počutim se, kot vsakdo tole. 267 00:12:37,370 --> 00:12:39,054 Torej vsi, kaj bi to vrnil? 268 00:12:39,054 --> 00:12:39,720 OBČINSTVO: False. 269 00:12:39,720 --> 00:12:40,130 JASON Hirschhorna: False. 270 00:12:40,130 --> 00:12:40,850 Great. 271 00:12:40,850 --> 00:12:41,930 7 ni enak 3. 272 00:12:41,930 --> 00:12:44,530 Torej bi 7 == 3 vrne false. 273 00:12:44,530 --> 00:12:50,746 Saj imajo ne enačaj, tako da, če sem checked 7! = 3, kaj bi to vrnil? 274 00:12:50,746 --> 00:12:51,370 OBČINSTVO: True. 275 00:12:51,370 --> 00:12:52,650 JASON Hirschhorna: True. 276 00:12:52,650 --> 00:12:53,200 Odlično. 277 00:12:53,200 --> 00:12:55,990 Nekdo je bil zelo odločen v nazaj in cenim. 278 00:12:55,990 --> 00:12:59,070 Potem imate manj kot operater, manjša ali enaka operaterja 279 00:12:59,070 --> 00:13:01,990 večja od subjekta, večja ali enako operaterja. 280 00:13:01,990 --> 00:13:03,490 >> Torej še en pregled sanity. 281 00:13:03,490 --> 00:13:05,660 Če sem imel 7 je večja ali enak 3. 282 00:13:05,660 --> 00:13:06,966 Kaj bi bilo, da se vrnete? 283 00:13:06,966 --> 00:13:07,692 >> OBČINSTVO: True. 284 00:13:07,692 --> 00:13:08,650 JASON Hirschhorna: True. 285 00:13:08,650 --> 00:13:10,050 Da. 286 00:13:10,050 --> 00:13:13,290 Da zadnji sobi, hrbtna stran sobe, fantastično. 287 00:13:13,290 --> 00:13:16,240 Lahko združite teh izraza, če vam je všeč, kot tudi, 288 00:13:16,240 --> 00:13:21,880 z logično IN, ki je && Ali logični ALI ki je || 289 00:13:21,880 --> 00:13:22,800 ||. 290 00:13:22,800 --> 00:13:25,785 In tako zdaj lahko preizkusite dva Stvari together-- Je to smešno? 291 00:13:25,785 --> 00:13:28,250 Zakaj je to smešno? 292 00:13:28,250 --> 00:13:35,200 >> Torej, če hočem, lahko rečem, je 7 večje od 3 in 2 je manj kot 4? 293 00:13:35,200 --> 00:13:37,090 No, če je 7 več od 3, to je res. 294 00:13:37,090 --> 00:13:38,400 2 je manj kot 4, to je res. 295 00:13:38,400 --> 00:13:41,140 Tako da bi ta stvar vrne true. 296 00:13:41,140 --> 00:13:45,130 >> Če sem testiral 7 je več kot 3 in-- Jaz sem samo nabiranje naključnih številk here-- 297 00:13:45,130 --> 00:13:47,340 4 je manj kot 2, dobro, da je lažna. 298 00:13:47,340 --> 00:13:49,610 Torej true in false make false. 299 00:13:49,610 --> 00:13:54,520 In lahko greš naprej in združite kot veliko pogojev skupaj, kot želite. 300 00:13:54,520 --> 00:14:00,000 >> Ima kdo kakšno vprašanje, Komentarji, pomisleki tako daleč? 301 00:14:00,000 --> 00:14:03,862 In vidim, ste nekateri fotografiranje mene na zaslonu, kar cenim. 302 00:14:03,862 --> 00:14:05,070 Upajmo, da to ni Snapchat. 303 00:14:05,070 --> 00:14:06,417 Upajmo, da je za svoje zapiske. 304 00:14:06,417 --> 00:14:08,500 Ampak vse to se dogaja morajo biti na voljo na spletu. 305 00:14:08,500 --> 00:14:11,210 Tako da vam ne bi bilo treba slikajo to. 306 00:14:11,210 --> 00:14:15,150 Kot sem že omenil, vse bo na voljo na spletu za vas. 307 00:14:15,150 --> 00:14:15,650 V REDU. 308 00:14:15,650 --> 00:14:17,980 Jaz sem na tem, da bi dobili Zakulisno, tako da ne nikogar 309 00:14:17,980 --> 00:14:20,350 želim reči ničesar preden se to zgodi? 310 00:14:20,350 --> 00:14:21,080 Vprašanja? 311 00:14:21,080 --> 00:14:21,680 >> [Interposing GLAS] 312 00:14:21,680 --> 00:14:22,250 >> JASON Hirschhorna: Oh, nehaj. 313 00:14:22,250 --> 00:14:23,290 Vi ste preveč prijazni. 314 00:14:23,290 --> 00:14:23,790 V REDU. 315 00:14:23,790 --> 00:14:26,520 Grem, da označite ven. 316 00:14:26,520 --> 00:14:27,240 Pojdimo. 317 00:14:27,240 --> 00:14:29,570 >> ANDI PENG: Mi bomo storili nerodna mic sprememba zdaj. 318 00:14:29,570 --> 00:14:32,280 >> JASON Hirschhorna: Sem dogaja, da se to izklopi. 319 00:14:32,280 --> 00:14:33,946 ANDI PENG: Cenim podporo, fantje. 320 00:14:33,946 --> 00:14:42,250 321 00:14:42,250 --> 00:14:43,180 Me lahko slišiš? 322 00:14:43,180 --> 00:14:43,930 Je to dobro? 323 00:14:43,930 --> 00:14:44,760 Popolna. 324 00:14:44,760 --> 00:14:45,630 Lepa. 325 00:14:45,630 --> 00:14:47,490 Naj samo malenkost, da je v. 326 00:14:47,490 --> 00:14:49,100 V REDU. 327 00:14:49,100 --> 00:14:54,140 Torej, jaz sem na tem, da kot velikan Podatki smetišče o vama zdaj. 328 00:14:54,140 --> 00:14:57,370 In brez skrbi sploh, če ste ne po vsako malo linijo, kar 329 00:14:57,370 --> 00:14:58,812 Jaz sem na tem, da ti pokažem. 330 00:14:58,812 --> 00:15:00,770 Kot je dejal Jason, vse je popolnoma na spletu. 331 00:15:00,770 --> 00:15:03,780 Samo bomo poskušali uvesti vsi koncepti pokriti 332 00:15:03,780 --> 00:15:05,270 V nekaterih od teh stekelc. 333 00:15:05,270 --> 00:15:06,582 Tako da samo sledite skupaj. 334 00:15:06,582 --> 00:15:09,540 Brez skrbi, če ne razumete vse; Vendar, če na kateri koli točki 335 00:15:09,540 --> 00:15:12,820 počutite izgubljeni, dvignite roko, ga ne bomo, brez skrbi. 336 00:15:12,820 --> 00:15:15,060 Cool. 337 00:15:15,060 --> 00:15:19,270 >> Zato mislim, da nekaj, kar je David že nekako omenjeno v predavanju 338 00:15:19,270 --> 00:15:23,240 in Jason se je nekako namiguje do danes je, kaj je knjižnica. 339 00:15:23,240 --> 00:15:27,510 Torej, v programiranju, imamo te stvari se imenuje knjižnice. 340 00:15:27,510 --> 00:15:29,690 Kadar je v bistvu vse jih je le niz 341 00:15:29,690 --> 00:15:32,610 funkcij, ki je v bistvu le kodo, ki je 342 00:15:32,610 --> 00:15:35,070 že napisala nekdo drug, da smo lahko vsi 343 00:15:35,070 --> 00:15:36,410 uporabite v naših programih. 344 00:15:36,410 --> 00:15:38,790 >> Torej, kako normalno Knjižnica delo, kajne? 345 00:15:38,790 --> 00:15:40,030 Vnesete vrata knjižnice. 346 00:15:40,030 --> 00:15:41,890 Imate vse te knjige lahko izvlečete 347 00:15:41,890 --> 00:15:44,590 in lahko dostopate do informacij v teh knjigah. 348 00:15:44,590 --> 00:15:45,840 Ista stvar pri programiranju. 349 00:15:45,840 --> 00:15:48,820 >> Imate knjižnico, ki ima že so jih napisali drugi ljudje. 350 00:15:48,820 --> 00:15:51,530 In način, da si lahko, kot programer ali študenta, 351 00:15:51,530 --> 00:15:55,780 lahko pridobijo dostop do te knjižnice je skozi hashtag #include. 352 00:15:55,780 --> 00:15:59,720 >> Na primer, v smo c imajo tri C- najbolj 353 00:15:59,720 --> 00:16:03,420 običajno uporabljajo treh standardnih C libraries-- vhodno / izhodno knjižnico, 354 00:16:03,420 --> 00:16:05,540 knjižnica niz, in knjižnica math. 355 00:16:05,540 --> 00:16:07,610 >> Torej v vaš prvi Par problem določa, 356 00:16:07,610 --> 00:16:10,940 tiste bo tri da ste v prvi vrsti uporabo. 357 00:16:10,940 --> 00:16:14,610 Torej, ko je David že razloženo v predavanju, 358 00:16:14,610 --> 00:16:17,460 standard / I knjižnica, ali standardni vhod / izhod knjižnica 359 00:16:17,460 --> 00:16:18,620 počne točno to. 360 00:16:18,620 --> 00:16:23,530 To vam omogoča, v svojo kodo, za vnos karkoli od uporabnika in izhod, ki 361 00:16:23,530 --> 00:16:25,960 na zaslon, v bistvu tiskanjem na zaslon. 362 00:16:25,960 --> 00:16:29,990 >> In tako vsakič, ko uporabljate nobene funkcije, na primer funkcija printf (), ki 363 00:16:29,990 --> 00:16:33,319 bomo šli v naslednji diapozitiv, poskrbite, da se vključi standard I / O 364 00:16:33,319 --> 00:16:36,360 knjižnico ali pa vam ne bo lahko uporabite funkcijo printf (). 365 00:16:36,360 --> 00:16:39,110 Zato, ker si, kot programer nikoli dejansko napisal to funkcijo, 366 00:16:39,110 --> 00:16:41,840 ste samo z uporabo nekoga Koda drug v vaši kodi. 367 00:16:41,840 --> 00:16:43,620 >> Ali to smisel vsi? 368 00:16:43,620 --> 00:16:44,520 Cool. 369 00:16:44,520 --> 00:16:48,530 >> In potem smo v bistvu dobili na knjižnica string.h in math.h 370 00:16:48,530 --> 00:16:52,970 knjižnica, .h samo pomeni knjižnico, druge knjižnice, da boste na koncu 371 00:16:52,970 --> 00:16:55,310 uporabljali v svojo kodo. 372 00:16:55,310 --> 00:16:57,620 >> Vendar pa se za namene te knjižnice, smo tudi 373 00:16:57,620 --> 00:17:01,170 have-- tega class-- imamo tudi kar se imenuje knjižnico CS50, 374 00:17:01,170 --> 00:17:05,270 cs50.h, kjer smo za vaše podatke so ustvarili 375 00:17:05,270 --> 00:17:07,369 veliko pomembnih in uporabnih funkcij. 376 00:17:07,369 --> 00:17:09,550 Tako, da si kot programer lahko oprtni off 377 00:17:09,550 --> 00:17:14,470 kar smo že pisali, da Ta funkcija je na voljo za vas 378 00:17:14,470 --> 00:17:15,599 za vašo uporabo. 379 00:17:15,599 --> 00:17:18,359 >> Bom zajema nekaj funkcije pogosto uporablja, 380 00:17:18,359 --> 00:17:20,839 vendar vem, da so to Vse googleable spletu. 381 00:17:20,839 --> 00:17:24,904 Feel free, dvigni knjižnico CS50 in potem imate vse funkcije tam. 382 00:17:24,904 --> 00:17:25,828 Ja. 383 00:17:25,828 --> 00:17:28,140 >> SPEAKER 5: Torej, če ne bi bilo z uporabo programske opreme, ki 384 00:17:28,140 --> 00:17:29,916 je, ki nam jih razred, ne da 385 00:17:29,916 --> 00:17:32,698 pomeni, da bi morali prenesti in najti ta header datoteko sebe in povej 386 00:17:32,698 --> 00:17:33,840 računalnik, kje je? 387 00:17:33,840 --> 00:17:34,320 >> ANDI PENG: Velika vprašanje. 388 00:17:34,320 --> 00:17:34,820 Točno tako. 389 00:17:34,820 --> 00:17:38,194 Torej, to je kot, če niste fizično prisoten v knjižnici, 390 00:17:38,194 --> 00:17:40,360 ni način za vas, da dejansko šel in dostop do njega. 391 00:17:40,360 --> 00:17:42,589 Torej isto stvar z programiranje v C, vas 392 00:17:42,589 --> 00:17:45,880 se prepričajte, da ste z uporabo naše aparata, saj je knjižnica je že 393 00:17:45,880 --> 00:17:47,270 bili vključeni vanj. 394 00:17:47,270 --> 00:17:50,020 In potem, ko si hashtag #include, knjižnica je tam. 395 00:17:50,020 --> 00:17:50,520 Ja. 396 00:17:50,520 --> 00:17:51,920 Dobro vprašanje. 397 00:17:51,920 --> 00:17:53,461 Vsakdo dobro? 398 00:17:53,461 --> 00:17:53,960 Cool. 399 00:17:53,960 --> 00:17:56,371 400 00:17:56,371 --> 00:17:56,870 V redu. 401 00:17:56,870 --> 00:17:59,330 Torej bomo zadeli, v bistvu, kaj je 402 00:17:59,330 --> 00:18:01,620 prva funkcija Mi kot programerji so 403 00:18:01,620 --> 00:18:03,900 bomo uporabili v naši kodo. 404 00:18:03,900 --> 00:18:05,690 To se imenuje (funkcija printf). 405 00:18:05,690 --> 00:18:08,450 Torej, printf (funkcija), kot sem že že povedal v zadnjem slide, 406 00:18:08,450 --> 00:18:11,830 je vključen v standardno / I, standardni vhod / izhod, knjižnica. 407 00:18:11,830 --> 00:18:16,470 >> Zato poskrbite, da vse, kar ste using-- oh, me zgrabi laser pointer-- 408 00:18:16,470 --> 00:18:18,660 vsakič, ko ga uporabljate The (funkcija printf) 409 00:18:18,660 --> 00:18:21,790 morate vključiti standard I / O knjižnico ali pa, ko se zbere, 410 00:18:21,790 --> 00:18:23,760 boste dobili napako ker računalnik ne bo všeč, 411 00:18:23,760 --> 00:18:26,140 oh ne vem, kje je printf (), nisi mi pove, kje printf () 412 00:18:26,140 --> 00:18:26,830 je. 413 00:18:26,830 --> 00:18:30,150 No printf () je vključen v Standard I / O, tako da, ko boste uporabili printf (), 414 00:18:30,150 --> 00:18:32,960 se prepričajte, da ima to vrstica nad svojo kodo. 415 00:18:32,960 --> 00:18:36,040 >> Tako na primer, printf () Tu je funkcija. 416 00:18:36,040 --> 00:18:40,260 Vse kar naredi je, print ven nekaj notranjosti oklepajih za uporabnika. 417 00:18:40,260 --> 00:18:44,840 Bi kdo rad izkoristil stab na kateri tej vrstici kode pravice 418 00:18:44,840 --> 00:18:46,420 tukaj se bo izpisal? 419 00:18:46,420 --> 00:18:48,730 Zato je odgovor je na zaslonu. 420 00:18:48,730 --> 00:18:50,480 Kdorkoli? 421 00:18:50,480 --> 00:18:51,380 >> VERDI: Dno. 422 00:18:51,380 --> 00:18:53,510 >> ANDI PENG: Verdi, zakaj ne greš naprej in rekli celotno izjavo? 423 00:18:53,510 --> 00:18:55,718 >> VERDI: Pozdravljeni, moje ime je Andi, in sem stara 20 let. 424 00:18:55,718 --> 00:18:57,270 ANDI PENG: Ah, lepo. 425 00:18:57,270 --> 00:19:00,240 Torej, v tej vrstici bomo natisniti, Pozdravljeni, moje ime je Andi, 426 00:19:00,240 --> 00:19:04,280 in sem star 20 let, ki je v bistvu pravi izjava. 427 00:19:04,280 --> 00:19:05,090 >> Skladnja. 428 00:19:05,090 --> 00:19:08,830 Torej nekaj skladenjskih vprašanj, ki vi želite, da boste vedeli. 429 00:19:08,830 --> 00:19:09,360 Citati. 430 00:19:09,360 --> 00:19:13,170 Dvojni narekovaji povej računalnik, da je vse v notranjosti 431 00:19:13,170 --> 00:19:14,850 se bo natisnjena. 432 00:19:14,850 --> 00:19:16,620 >> Vse znotraj pločevinko samo se točno, kako 433 00:19:16,620 --> 00:19:19,920 jo tipkate, razen za običajno na koncu, 434 00:19:19,920 --> 00:19:23,610 bomo želeli vključiti hash-- oh sorry-- pomišljaj n. 435 00:19:23,610 --> 00:19:24,640 Torej pomišljaj n. 436 00:19:24,640 --> 00:19:28,884 >> Ali kdo želel vzeti ugibati kaj, da ne bi našo kodo? 437 00:19:28,884 --> 00:19:29,465 Ja. 438 00:19:29,465 --> 00:19:30,840 SPEAKER 6: ga postavi v novo vrstico. 439 00:19:30,840 --> 00:19:31,650 ANDI PENG: Točno tako. 440 00:19:31,650 --> 00:19:34,660 Torej, vse to pa je omogoči naj se zgodi karkoli 441 00:19:34,660 --> 00:19:37,520 po tem, ko te izjave, je treba natisniti v novo vrstico. 442 00:19:37,520 --> 00:19:40,030 Tako da, ko pišete koda nimate naključno stvari 443 00:19:40,030 --> 00:19:41,738 reševati na koncu da si ne želite. 444 00:19:41,738 --> 00:19:43,700 To je vse, kar dobi lepo natisnjena eno vrstico 445 00:19:43,700 --> 00:19:46,870 in potem bomo začeli na naslednji vrstici. 446 00:19:46,870 --> 00:19:50,970 >> Ali kdo se spomnite, kaj da podpičje počne, ko smo kodiranje? 447 00:19:50,970 --> 00:19:54,580 448 00:19:54,580 --> 00:19:55,330 Ja. 449 00:19:55,330 --> 00:19:55,740 >> SPEAKER 7: Izkaz. 450 00:19:55,740 --> 00:19:56,010 >> ANDI PENG: Oprostite? 451 00:19:56,010 --> 00:19:57,100 >> SPEAKER 7: Ali je na koncu izjavo? 452 00:19:57,100 --> 00:19:57,766 >> ANDI PENG: Ja. 453 00:19:57,766 --> 00:20:02,670 Torej, v C ali programiranja jezik, podpičje 454 00:20:02,670 --> 00:20:04,640 označuje konec programskega linije. 455 00:20:04,640 --> 00:20:09,240 Tako na primer v angleškem uporabljamo obdobje reči, oh to je konec stavek. 456 00:20:09,240 --> 00:20:12,857 Pri načrtovanju, isto stvar, imamo podpičje, ki označuje konec vrstice. 457 00:20:12,857 --> 00:20:14,690 Pogosto, ko ste začenši programirati, 458 00:20:14,690 --> 00:20:17,150 vi boste spoznali pozabite dodati podpičje 459 00:20:17,150 --> 00:20:19,400 in nato poskusite zagnati vaš koda in to ne deluje. 460 00:20:19,400 --> 00:20:21,520 In ti si všeč, Ah, jaz ne vem zakaj, je treba delati. 461 00:20:21,520 --> 00:20:24,394 >> Verjetno ste verjetno pozabil podpičjem ali nosilec ali kaj podobnega 462 00:20:24,394 --> 00:20:25,020 nekje. 463 00:20:25,020 --> 00:20:27,740 Torej, da je pomembno, da se spomnite. 464 00:20:27,740 --> 00:20:29,627 Cool. 465 00:20:29,627 --> 00:20:31,960 V redu, pokaži roke, kako mnogi ljudje tukaj imeli kdaj 466 00:20:31,960 --> 00:20:37,210 sprejeti AP Computer Science ali programirana v Java prej, kdaj? 467 00:20:37,210 --> 00:20:37,710 V REDU. 468 00:20:37,710 --> 00:20:38,210 Lovely. 469 00:20:38,210 --> 00:20:41,340 Da ne bo uporabljala takrat, ampak v Java, ki jih 470 00:20:41,340 --> 00:20:44,960 imajo nekaj, kar ti System.out.println ki ne obstaja v C. 471 00:20:44,960 --> 00:20:49,927 >> Torej, v C, kadarkoli vas želite dodati v spremenljivkah 472 00:20:49,927 --> 00:20:51,760 v karkoli hočeš natisniti, tam je 473 00:20:51,760 --> 00:20:54,620 posebno sintakso bomo uporabili. 474 00:20:54,620 --> 00:20:56,520 To se imenuje placeholding-- bistvu 475 00:20:56,520 --> 00:21:01,180 dodamo ograde v mestu z celo število ali spremenljivke 476 00:21:01,180 --> 00:21:02,580 ki jih želimo natisniti. 477 00:21:02,580 --> 00:21:07,430 >> Tako da lahko vi videli smo vključeni nov header knjižnica datoteko tukaj. 478 00:21:07,430 --> 00:21:09,130 Knjižnica CS50. 479 00:21:09,130 --> 00:21:13,160 In je vsebovan v tem CS50 knjižnici je skupna naloga, da bomo lahko z uporabo 480 00:21:13,160 --> 00:21:15,610 V našem teku imenuje GetInt (). 481 00:21:15,610 --> 00:21:21,830 >> Ali kdo želi vzeti zabodel Kaj GetInt (), morda se delaš. 482 00:21:21,830 --> 00:21:22,830 >> OBČINSTVO: [neslišno] 483 00:21:22,830 --> 00:21:23,550 >> ANDI PENG: Žal mi je. 484 00:21:23,550 --> 00:21:24,370 Vas ne more slišati. 485 00:21:24,370 --> 00:21:25,511 Maddie, kdorkoli. 486 00:21:25,511 --> 00:21:27,260 Maddie: Oh, da pozove ste za celo število. 487 00:21:27,260 --> 00:21:28,051 ANDI PENG: Točno tako. 488 00:21:28,051 --> 00:21:30,670 Torej ta funkcija, drugo funkcija, ki je že 489 00:21:30,670 --> 00:21:33,690 že napisal nekdo drug da bomo lahko pozivamo zdaj. 490 00:21:33,690 --> 00:21:38,000 Vse, kar je, je uren vi, uporabnik, za vnos karkoli hočeš kot koda 491 00:21:38,000 --> 00:21:41,850 teče in ga shrani whatever-- V tem primeru smo GetInt () - ING, 492 00:21:41,850 --> 00:21:44,060 tako to pomeni, da smo pridobitev celo število. 493 00:21:44,060 --> 00:21:46,150 >> In bomo za shranjevanje da v drugi celo 494 00:21:46,150 --> 00:21:48,900 da smo pravkar imenovan starosti. 495 00:21:48,900 --> 00:21:51,500 Da je smiselno, da se vse? 496 00:21:51,500 --> 00:21:52,190 Cool. 497 00:21:52,190 --> 00:21:56,400 >> Torej sedaj, da smo shranjeni to celo, da smo pozvani od uporabnika, 498 00:21:56,400 --> 00:22:00,010 V tej spremenljivki, ki smo jih ustvaril tipa int imenovano starost, 499 00:22:00,010 --> 00:22:03,720 lahko gremo naprej in kraj da je funkcija v našem printf (). 500 00:22:03,720 --> 00:22:08,970 Torej sintaksa običajno printf (), je da kjerkoli v vašem dejansko fizično 501 00:22:08,970 --> 00:22:14,410 linijo želite vključiti to celo, vam ta simbol prav tam, 502 00:22:14,410 --> 00:22:17,800 odstotek simbol, pri čemer je tip spremenljivke, ki jo želite. 503 00:22:17,800 --> 00:22:20,090 >> Torej v tem primeru starosti je celo število. 504 00:22:20,090 --> 00:22:25,030 Torej boš vključujejo % i, ker je celo število. 505 00:22:25,030 --> 00:22:26,860 In potem, ko si Izjava, da boš 506 00:22:26,860 --> 00:22:30,370 storiti vejica in ime spremenljivke. 507 00:22:30,370 --> 00:22:33,420 >> Torej, tukaj, bomo za tiskanje ven, Pozdravljeni, moje ime je Andi, 508 00:22:33,420 --> 00:22:35,730 in sem star prazne let. 509 00:22:35,730 --> 00:22:38,890 Hashta-- ali sorry--, starost s Karkoli vhod. 510 00:22:38,890 --> 00:22:42,790 Torej, če bi bil jaz vhod 20 za mojo GetInt () tu, 511 00:22:42,790 --> 00:22:44,500 da bi izpisal točno isto stvar. 512 00:22:44,500 --> 00:22:47,990 Ampak, če sem hotel vhodni nečim drugje, kot je morda 40 ali 45 let, 513 00:22:47,990 --> 00:22:50,800 potem bi videli, da odraža ustrezno kodo. 514 00:22:50,800 --> 00:22:52,886 >> Torej je to primer nečesa, v kateri 515 00:22:52,886 --> 00:22:55,260 natisne, in izgleda, da ste, kot da je to ista stvar, 516 00:22:55,260 --> 00:22:57,593 vendar pod kapuco računalnik, tam je pravzaprav 517 00:22:57,593 --> 00:22:59,560 zelo različni stvari dogaja. 518 00:22:59,560 --> 00:23:00,060 Cool. 519 00:23:00,060 --> 00:23:02,760 520 00:23:02,760 --> 00:23:03,260 V redu. 521 00:23:03,260 --> 00:23:06,940 Pa kaj, če hočemo več spremenljivk? 522 00:23:06,940 --> 00:23:08,290 Precej enostavno. 523 00:23:08,290 --> 00:23:09,150 Ista stvar. 524 00:23:09,150 --> 00:23:11,930 Imamo tudi novo funkcijo tukaj se imenuje GetString () 525 00:23:11,930 --> 00:23:15,380 tudi v knjižnici CS50, da je vse, kar počne poziv uporabniku 526 00:23:15,380 --> 00:23:18,120 za vrvico, ki je Samo niz znakov, 527 00:23:18,120 --> 00:23:19,810 tako kot kazen ali kot ime. 528 00:23:19,810 --> 00:23:25,470 >> Torej, v tem primeru bi imeli dva ograde% s za godalni in% i 529 00:23:25,470 --> 00:23:26,750 za celo število. 530 00:23:26,750 --> 00:23:29,190 In bomo sledili da z dvema spremenljivkama 531 00:23:29,190 --> 00:23:32,670 Želimo, vključenih v vrstnem redu ki se pojavljajo v stavku. 532 00:23:32,670 --> 00:23:35,471 Tako, na primer, moje ime je prazno, hočem ime tam, 533 00:23:35,471 --> 00:23:36,970 tako da bom, da imajo ime prvi. 534 00:23:36,970 --> 00:23:39,637 In potem kasneje, hočem starost, želijo imeti starostno sekundo. 535 00:23:39,637 --> 00:23:42,720 In zato, če sem hotel vhod, Hello, moje ime je Andi, in sem stara 20 let. 536 00:23:42,720 --> 00:23:46,370 Če sem inputted Andi in 20, Točno isto stvar bi natisniti; 537 00:23:46,370 --> 00:23:51,134 Vendar, zdaj imamo dve skladišči spremenljivke imenom kot tudi int. 538 00:23:51,134 --> 00:23:51,634 Ja. 539 00:23:51,634 --> 00:23:54,124 >> SPEAKER 8: Ali bi bilo sposoben teči, če ste preklopili 540 00:23:54,124 --> 00:23:55,620 ime in starost na koncu to? 541 00:23:55,620 --> 00:23:55,840 >> ANDI PENG: Ja. 542 00:23:55,840 --> 00:23:57,006 To je res dobro vprašanje. 543 00:23:57,006 --> 00:23:59,520 Tako dolgo zgodbo, št. 544 00:23:59,520 --> 00:24:03,070 Ker ime in age-- kaj tip spremenljivke je ime? 545 00:24:03,070 --> 00:24:03,950 >> SPEAKER 8: String. 546 00:24:03,950 --> 00:24:05,440 >> ANDI PENG: In kaj tip spremenljivke je starost? 547 00:24:05,440 --> 00:24:06,231 >> SPEAKER 8: Integer. 548 00:24:06,231 --> 00:24:10,290 ANDI PENG: Torej, tukaj imamo ogrado za niz in celo, kajne? 549 00:24:10,290 --> 00:24:13,350 Torej, če ste bili, da preklopite teh, računalnik ne bo vedel. 550 00:24:13,350 --> 00:24:16,250 To se dogaja, da preverite, ali je niz, in če poskusite, da ga int, 551 00:24:16,250 --> 00:24:18,083 to se dogaja, da je kot počakati sem zmeden, ti 552 00:24:18,083 --> 00:24:21,100 mi je rekel, da bi morala biti dodeljevanja pomnilnika za notr. 553 00:24:21,100 --> 00:24:23,760 In prav tu, ko pričakuje, da bo celo 554 00:24:23,760 --> 00:24:25,640 in si mu dal ime in niz namesto tega 555 00:24:25,640 --> 00:24:28,931 to je tudi dogaja, da je zelo zmedeno, ga ne bo deloval natanko tako, kot si jo potrebujete. 556 00:24:28,931 --> 00:24:35,280 Torej, tukaj, imenovanjem in sintaksa je Zelo pomembno za vodenje kodo. 557 00:24:35,280 --> 00:24:37,991 Vsakdo dobro? 558 00:24:37,991 --> 00:24:38,490 Ja. 559 00:24:38,490 --> 00:24:39,476 Maddie. 560 00:24:39,476 --> 00:24:44,620 >> Maddie: Tukaj sem vedel, da smo pogledal na primere v razredu, kjer prosijo 561 00:24:44,620 --> 00:24:46,950 kakšna je vaša starost, kakšno je vaše ime. 562 00:24:46,950 --> 00:24:50,250 Tukaj bi bilo to doesn't-- če smo teči to kodo, 563 00:24:50,250 --> 00:24:51,750 ne bi prosil za to? 564 00:24:51,750 --> 00:24:54,740 Ampak ti bi samo vhodne dve številki in potem bi bilo teči tako? 565 00:24:54,740 --> 00:24:55,781 >> ANDI PENG: Ja, točno. 566 00:24:55,781 --> 00:24:58,250 Torej, če si hotel za to, da zaslon, vnesite vašo starost, 567 00:24:58,250 --> 00:25:01,100 lahko samo dodate (funkcija printf) ki pravi, Prosimo, vnesite vašo starost, 568 00:25:01,100 --> 00:25:01,600 nad njo. 569 00:25:01,600 --> 00:25:02,711 To je dobro vprašanje. 570 00:25:02,711 --> 00:25:03,210 Ja. 571 00:25:03,210 --> 00:25:07,964 >> SPEAKER 9: Torej, bi že vključeno v GetInt () [neslišno]. 572 00:25:07,964 --> 00:25:09,380 ANDI PENG: Ne, to dejansko ni. 573 00:25:09,380 --> 00:25:11,809 Torej, vse to pa je samo pozove prazen zaslon 574 00:25:11,809 --> 00:25:13,100 uporabniku na vhodni nekaj. 575 00:25:13,100 --> 00:25:17,420 Če hočeš, če želite, da natisnete iz nečesa, kar pove uporabniku, kot so, 576 00:25:17,420 --> 00:25:21,110 prosim dajte mi svojo starost, potem vam bi morali printf (), ki zase. 577 00:25:21,110 --> 00:25:23,789 Ker vsakdo uporablja to Funkcija za različne stvari, 578 00:25:23,789 --> 00:25:26,080 si lahko shranjevanje starost, si lahko shranite naslov, 579 00:25:26,080 --> 00:25:28,060 si lahko shranite telefonske številke. 580 00:25:28,060 --> 00:25:31,190 In tako je res do Posamezne uporabe vaših fantje " 581 00:25:31,190 --> 00:25:34,390 za to, kar hočeš povedati. 582 00:25:34,390 --> 00:25:34,890 Ja. 583 00:25:34,890 --> 00:25:38,236 >> SPEAKER 10: Torej, samo zato, da pojasni, kje Vam narediti vhod ime in starost 584 00:25:38,236 --> 00:25:43,020 tako, da se pojavi na mestu% s? 585 00:25:43,020 --> 00:25:44,320 >> ANDI PENG: Kot na uporabnika? 586 00:25:44,320 --> 00:25:47,165 >> SPEAKER 10: Da, všeč Kako da it-- kje sem dal Andi, 587 00:25:47,165 --> 00:25:48,350 in kje sem dal 20? 588 00:25:48,350 --> 00:25:48,640 >> ANDI PENG: Ja. 589 00:25:48,640 --> 00:25:50,250 Torej, če ste bili, da dejansko vodijo to kodo, 590 00:25:50,250 --> 00:25:52,875 Ne bom dejansko teče kodo, to je samo tukaj, zdaj. 591 00:25:52,875 --> 00:25:56,910 Če bi bil jaz teči kodo, jaz bi prevajanje kode, da datoteke, 592 00:25:56,910 --> 00:26:00,760 teči kodo, nato pa bi samo dva prostora za mene do vhoda it. 593 00:26:00,760 --> 00:26:01,260 Ja. 594 00:26:01,260 --> 00:26:03,843 Vi boste videli, ko boste igrali okrog z oznako sami. 595 00:26:03,843 --> 00:26:05,760 596 00:26:05,760 --> 00:26:09,645 >> Vredu bomo premakniti v naslednjem poglavju o tem, kaj 597 00:26:09,645 --> 00:26:11,610 bomo danes pokriva. 598 00:26:11,610 --> 00:26:13,980 Bomo šli nad tem, kaj pogojni stavki so. 599 00:26:13,980 --> 00:26:16,500 Torej, če vi spomnite in spomnim iz predavanja, 600 00:26:16,500 --> 00:26:19,210 pogojni stavki, vsi so so niz 601 00:26:19,210 --> 00:26:24,010 navodil na računalniku v ki če določen pogoj izpolnjen, 602 00:26:24,010 --> 00:26:27,470 izvedete kodo znotraj tega pogoja. 603 00:26:27,470 --> 00:26:30,101 >> Torej, v bistvu Scratch-- velika tema od danes 604 00:26:30,101 --> 00:26:32,850 je, da vidva že vse Videl logiko vsega 605 00:26:32,850 --> 00:26:34,020 da smo pokrivajo. 606 00:26:34,020 --> 00:26:36,190 In vse, kar počnete, je prevajanje nekaj 607 00:26:36,190 --> 00:26:39,090 da je zelo intuitiven v Scratch, in težko je kodiranje 608 00:26:39,090 --> 00:26:41,950 v skladnji bomo uporabljali v razredu, ki je C. 609 00:26:41,950 --> 00:26:47,550 Torej je logično, je bilo vse to blok je, da je del kode, prav tam. 610 00:26:47,550 --> 00:26:49,995 Ja. 611 00:26:49,995 --> 00:26:50,900 V REDU. 612 00:26:50,900 --> 00:26:55,290 >> Prav tako smo dobili v if ... else Izjava, ki je le dodatna plast 613 00:26:55,290 --> 00:26:59,120 kompleksnosti IF izjavo kjer računalnik ima pogled na to 614 00:26:59,120 --> 00:27:04,260 in vidi, če je ta pogoj izpolnjen, storite kar je znotraj teh dveh razredih, 615 00:27:04,260 --> 00:27:08,470 else-- tako nekako kot privzeto, če ne izpolnjujejo condition-- to storite. 616 00:27:08,470 --> 00:27:10,120 To je kot odcepu. 617 00:27:10,120 --> 00:27:14,400 Če dežuje zunaj, sem dal na dež jakno, ostalo nič 618 00:27:14,400 --> 00:27:16,330 ostalo mi ne dajo na dež jakno. 619 00:27:16,330 --> 00:27:18,400 >> Ali, da je logika smisla za vsakogar? 620 00:27:18,400 --> 00:27:21,031 Cool. 621 00:27:21,031 --> 00:27:21,530 V redu. 622 00:27:21,530 --> 00:27:24,970 Tako kot na računalniški primer to, da bi videli v C 623 00:27:24,970 --> 00:27:28,890 je, če sem hotel ustvariti variabilni imenovane domače ur. 624 00:27:28,890 --> 00:27:32,050 In če je domače ur manj od pet, sem rekel, Življenje je lepo. 625 00:27:32,050 --> 00:27:33,070 Čudovito je. 626 00:27:33,070 --> 00:27:36,450 Vendar pravijo Boj je real-- ki je, kaj smo vse o tem v ponedeljek 627 00:27:36,450 --> 00:27:39,337 popoldne do Znanost Hill so Verjetno delaš prav now-- 628 00:27:39,337 --> 00:27:40,170 OBČINSTVO: [smeh] 629 00:27:40,170 --> 00:27:42,510 ANDI PENG: Prav tako smo bi, hvala za to. 630 00:27:42,510 --> 00:27:46,180 Pot bomo hardcode ta v C je if-- predpostavimo 631 00:27:46,180 --> 00:27:49,920 že imamo spremenljivko tipa int imenovano domačo nalogo ure tukaj. 632 00:27:49,920 --> 00:27:53,870 Če je domače ur manj kot pet printf (), Življenje je lepo. 633 00:27:53,870 --> 00:27:57,330 Ne pozabite, da / n, ker želite novo linijo po. 634 00:27:57,330 --> 00:27:59,660 Else print, Boj je resnično. 635 00:27:59,660 --> 00:28:03,720 >> Ali vsi razumejo, kako Sem prešli iz tega bloka 636 00:28:03,720 --> 00:28:07,610 v tem bloku kode? 637 00:28:07,610 --> 00:28:08,110 Cool. 638 00:28:08,110 --> 00:28:11,030 639 00:28:11,030 --> 00:28:11,840 V redu. 640 00:28:11,840 --> 00:28:15,930 >> Torej, zdaj bomo si oglejte več izkazih, če celoti. 641 00:28:15,930 --> 00:28:18,140 Torej, kaj je prevzame Namen tega programa 642 00:28:18,140 --> 00:28:20,870 Mi je bil poziv uporabniku za razred. 643 00:28:20,870 --> 00:28:24,450 Mi spodbudilo uporabo GetInt () za razred, in so vhodna vrednost, 644 00:28:24,450 --> 00:28:27,700 in želite prikazati kakšen tip razredu so dobili. 645 00:28:27,700 --> 00:28:30,730 >> Torej, če bi bil jaz oblikovati program, sem pomeni običajno v vseh naših očeh, 646 00:28:30,730 --> 00:28:35,490 MAXIMUM 90-100 je A, se 80-90 je B, in tako naprej in tako naprej. 647 00:28:35,490 --> 00:28:39,040 Kaj je narobe s tem del kode, ki to ni 648 00:28:39,040 --> 00:28:41,393 to, kar želim storiti. 649 00:28:41,393 --> 00:28:41,892 Ja. 650 00:28:41,892 --> 00:28:45,100 >> SPEAKER 11: Imajo nižje omejitve, vendar nimajo zgornje meje. 651 00:28:45,100 --> 00:28:46,280 >> ANDI PENG: Točno tako. 652 00:28:46,280 --> 00:28:47,950 Ali so vsi slišali, kaj je rekla? 653 00:28:47,950 --> 00:28:50,200 Tam se dogaja, da se zgornja omejitve, vendar ni nižja meje. 654 00:28:50,200 --> 00:28:52,540 Žal mi je, obratno, spodnje meje, ni zgornje meje. 655 00:28:52,540 --> 00:28:55,090 Torej bi radi vzeti zabodel rek 656 00:28:55,090 --> 00:28:58,945 kaj bi bilo natisnjeno na to zaslon, če bi bil jaz vodim to kodo. 657 00:28:58,945 --> 00:28:59,820 SPEAKER 11: napaka? 658 00:28:59,820 --> 00:29:01,140 ANDI PENG: napaka? 659 00:29:01,140 --> 00:29:02,740 Velika ugibati, ni čisto v redu. 660 00:29:02,740 --> 00:29:05,465 Ima kdo drug stab? 661 00:29:05,465 --> 00:29:06,640 Ja, Aaron. 662 00:29:06,640 --> 00:29:10,099 >> AARON: Če si dal v nekaj več kot 90, 663 00:29:10,099 --> 00:29:11,640 da bi pokazal vse razrede jih imaš. 664 00:29:11,640 --> 00:29:13,640 Pokazalo bi, da imaš A, imaš B, imaš C. 665 00:29:13,640 --> 00:29:13,870 >> ANDI PENG: Ja. 666 00:29:13,870 --> 00:29:14,840 To je ravno prav. 667 00:29:14,840 --> 00:29:17,820 Torej, da bi bilo čudovito. 668 00:29:17,820 --> 00:29:21,781 Vendar pa so medsebojno izključna, mislim. 669 00:29:21,781 --> 00:29:23,280 Če bi bil jaz teči ta del kode. 670 00:29:23,280 --> 00:29:26,200 In potem naj samo povem, sem vnaša v razred 95. 671 00:29:26,200 --> 00:29:30,360 Torej je 95 shranjen v INT imenujemo razred. 672 00:29:30,360 --> 00:29:33,610 >> In tako C je jezik ki vodi do vrha do dna, 673 00:29:33,610 --> 00:29:36,000 tako se dogaja, da je vedno vodijo do dna. 674 00:29:36,000 --> 00:29:39,420 Tako se dogaja, da pridejo sem, prebral če Razred je večja ali enaka 90, 675 00:29:39,420 --> 00:29:42,850 printf () imaš A. Great sem imajo 95, ki je večja od 90. 676 00:29:42,850 --> 00:29:44,866 To se dogaja, tiskanje, Imam A. To se dogaja 677 00:29:44,866 --> 00:29:48,850 da pogled na to, če se dogaja torej tudi 95 je prav tako večji od 80, 678 00:29:48,850 --> 00:29:52,970 to se dogaja, da natisnete imaš tudi Got B klicaj, in tako naprej in tako 679 00:29:52,970 --> 00:29:53,690 podobnega. 680 00:29:53,690 --> 00:29:55,890 >> Torej, kot smo lahko vsi vidimo, to je pogosta napaka 681 00:29:55,890 --> 00:30:00,760 ki se lahko pojavijo, ko smo pisno kodo, da pazi za. 682 00:30:00,760 --> 00:30:05,430 Kdorkoli, kakršna koli vprašanja o Zato, da se je dogajalo? 683 00:30:05,430 --> 00:30:05,930 Great. 684 00:30:05,930 --> 00:30:08,920 685 00:30:08,920 --> 00:30:09,440 V REDU. 686 00:30:09,440 --> 00:30:12,110 >> Torej, kako bomo to popraviti, je očitno logičen naslednji vprašanje. 687 00:30:12,110 --> 00:30:16,290 No, imamo ti lepa Stvari imenovane če drugega, če drug 688 00:30:16,290 --> 00:30:18,010 če drugje izkazov. 689 00:30:18,010 --> 00:30:22,230 Tako da lahko vidite, če boste želeli spremeniti ta problem, 690 00:30:22,230 --> 00:30:25,260 si želel, da bi vsak izmed razmere med seboj izključujejo, 691 00:30:25,260 --> 00:30:26,860 bi dodaj drug ... če izjavo. 692 00:30:26,860 --> 00:30:30,068 >> In to od course-- misliš o njih, kot je lestve, ali kot klini v zvezi ladder-- 693 00:30:30,068 --> 00:30:34,050 lahko dodate kot mnogi od njih, kot ste želijo čim več pogojev, kot želite. 694 00:30:34,050 --> 00:30:36,790 Torej, tukaj, če sem inputted stopnjo, da bo 95. 695 00:30:36,790 --> 00:30:39,479 Če je razred večji od 95, printf (), sem dobil A. super. 696 00:30:39,479 --> 00:30:42,020 To se dogaja, da vidite drugega ... če in to se dogaja, da vedo, Oh ne, 697 00:30:42,020 --> 00:30:43,750 Sem že izvršena prva drugje. 698 00:30:43,750 --> 00:30:47,020 Jaz know-- ali prvi if-- vem, da Nimam pogled na katerega od teh 699 00:30:47,020 --> 00:30:48,920 ker je ena od njih je že res. 700 00:30:48,920 --> 00:30:50,410 Tako se dogaja, da teče od vrha navzdol. 701 00:30:50,410 --> 00:30:53,650 Takoj, ko je prvi res, potem to se dogaja, da preskočite nad vsem ostalim 702 00:30:53,650 --> 00:30:54,675 od drugje ... investicijskih skladov. 703 00:30:54,675 --> 00:30:55,550 Ali to smiselno? 704 00:30:55,550 --> 00:30:57,841 Torej, na ta način imajo različne stopnje preverjanja 705 00:30:57,841 --> 00:31:01,090 in takoj, ko je eden izmed njih je neresnično, ostali so tudi, da ne bo še preveriti. 706 00:31:01,090 --> 00:31:03,577 707 00:31:03,577 --> 00:31:04,076 Cool. 708 00:31:04,076 --> 00:31:07,680 709 00:31:07,680 --> 00:31:08,180 V redu. 710 00:31:08,180 --> 00:31:11,180 >> Torej je to primer drugačen nekako pogojno izjavo 711 00:31:11,180 --> 00:31:15,250 vidimo manj pogosto, vendar jih bomo videli in jih uporabljati. 712 00:31:15,250 --> 00:31:18,120 In oni so pogosto bolj učinkovita za nekatere primere. 713 00:31:18,120 --> 00:31:20,020 Torej imamo, kar se imenuje izjavo stikalo. 714 00:31:20,020 --> 00:31:25,140 Torej, preden smo pokrili Kaj je ostalo Izjava, if ... else izjavo. 715 00:31:25,140 --> 00:31:27,790 Tu imamo tisto, kar so imenuje izjave stikalo. 716 00:31:27,790 --> 00:31:31,100 >> Torej, kdaj bomo uporabili stikalo Izjavi je ključ? 717 00:31:31,100 --> 00:31:34,090 Torej, v switch stavku, si navadno, običajno, dejansko vam 718 00:31:34,090 --> 00:31:38,010 lahko samo vhodni cela števila za vaš spremenljivka, ki ste preverjanje. 719 00:31:38,010 --> 00:31:42,390 Torej, če sem hotel, da preverite če neka number-- npr 720 00:31:42,390 --> 00:31:43,720 plačilnega razreda, če imam 90. 721 00:31:43,720 --> 00:31:48,190 Želim, da vidim, če je to A,, B ali C. jaz bi imel zadevo tukaj. 722 00:31:48,190 --> 00:31:50,840 Vendar pa je primer za drugo konstantna. 723 00:31:50,840 --> 00:31:53,170 >> Torej, v tem smislu, Izjava stikalo lahko samo 724 00:31:53,170 --> 00:31:55,290 preverjanje enakosti dveh številk. 725 00:31:55,290 --> 00:31:57,242 To ne preveri za kaj drugega. 726 00:31:57,242 --> 00:31:59,950 Torej, to je nekaj, kar bi bilo zelo previdni, ko uporabljate to. 727 00:31:59,950 --> 00:32:04,810 Torej, tukaj, če sem hotel, da preverite če je moj razred 90 enako 90 ali 80 728 00:32:04,810 --> 00:32:08,500 ali 70 ali 60, in nato print ustrezen razred, 729 00:32:08,500 --> 00:32:11,420 Jaz bi lahko napisali, da v izjavi stikalo. 730 00:32:11,420 --> 00:32:15,120 >> Tako se dogaja, da pridejo sem, ček to celo število enako tega konstanto? 731 00:32:15,120 --> 00:32:17,030 Če ne, to se dogaja, da preskočite. 732 00:32:17,030 --> 00:32:19,880 Je enaka konstantna dve, in tako naprej in tako naprej, 733 00:32:19,880 --> 00:32:22,390 dokler si udaril privzeto, če sta enaka nobena od njih. 734 00:32:22,390 --> 00:32:24,590 Takoj, ko eden od njiju nastavljena enaka, 735 00:32:24,590 --> 00:32:27,040 to se dogaja, da to storijo vrstica kode in počitek. 736 00:32:27,040 --> 00:32:30,990 Kar pomeni, da bo udaril, da je teči, break, in samo popolnoma preskočite 737 00:32:30,990 --> 00:32:32,240 na dno kode. 738 00:32:32,240 --> 00:32:37,550 Torej, v tem smislu je vrsta nalog kot if else if else if izjavo. 739 00:32:37,550 --> 00:32:40,830 >> Torej, tukaj je konkreten Primer za vas. 740 00:32:40,830 --> 00:32:46,140 Torej, kaj je domnevati, da sem si želel ustvariti spremenljivko z imenom leto ustanovljeno. 741 00:32:46,140 --> 00:32:50,230 In želim, da pozove uporabnika na vhodu leto, ki je bilo ustanovljeno njihova šola. 742 00:32:50,230 --> 00:32:53,300 Tako sem lahko ustvarite switch stavka tukaj. 743 00:32:53,300 --> 00:32:56,650 In kaj je pravkar rekel, jaz vhodni 1636. 744 00:32:56,650 --> 00:33:01,120 >> Ta koda tu videli stikalo Leto ustanovitve, ki je enak 1636. 745 00:33:01,120 --> 00:33:03,940 To se dogaja, da vidim zadevo 1636, oh to so enaki, 746 00:33:03,940 --> 00:33:06,230 printf () ne bi moral biti v tistem šolskem na severu? 747 00:33:06,230 --> 00:33:08,770 Ker predvidevamo, da ne pojdite tukaj, če gredo na Harvard, 748 00:33:08,770 --> 00:33:10,380 odmor in preskočite do konca. 749 00:33:10,380 --> 00:33:14,090 >> Če bi bil jaz na vhod 1701, ki Predvidevam, da vse nas bi vhod, 750 00:33:14,090 --> 00:33:17,500 bi preskočite ta primer, pridi navzdol na primeru dveh, ki je 1701, 751 00:33:17,500 --> 00:33:19,660 in tiskanje Dobrodošli na Yale! 752 00:33:19,660 --> 00:33:21,360 Break, preskočite do konca. 753 00:33:21,360 --> 00:33:25,130 Ostalo, kar verjetno jemljete ta predmet na spletu, v katerem case-- super dobrodošlico 754 00:33:25,130 --> 00:33:29,020 da Yale-- se dogaja, da gredo na privzeto print, Hello Internet! 755 00:33:29,020 --> 00:33:29,870 In break. 756 00:33:29,870 --> 00:33:30,466 Ja. 757 00:33:30,466 --> 00:33:32,090 >> SPEAKER 12: Lahko uporabite drugega namesto privzete tam? 758 00:33:32,090 --> 00:33:34,550 >> ANDI PENG: Ne, ker je način, da ves ta funkcija 759 00:33:34,550 --> 00:33:39,170 Stikalo je vgrajeno, sintakso vam treba uporabiti, je Case privzeto. 760 00:33:39,170 --> 00:33:42,400 To je tako kot, če drugega, če je to ena je Case privzeto. Ja. 761 00:33:42,400 --> 00:33:45,650 SPEAKER 13: Si morda že to rekel, lahko pa imate več kot dveh primerih? 762 00:33:45,650 --> 00:33:48,066 ANDI PENG: Ja, lahko bi imajo toliko primerov, kot si želite. 763 00:33:48,066 --> 00:33:50,050 Misli, da je tako kot neskončno dodajanje naprej. 764 00:33:50,050 --> 00:33:52,396 >> SPEAKER 14: Če vas zamenjan 1701 z 1636, 765 00:33:52,396 --> 00:33:54,187 v resnici ne bi razlika kajne? 766 00:33:54,187 --> 00:33:55,770 To je le, da bo treba preverjanje za njo. 767 00:33:55,770 --> 00:33:56,900 >> ANDI PENG: To je Res dobro vprašanje. 768 00:33:56,900 --> 00:33:58,880 In bomo dotaknili kasneje, ampak samo 769 00:33:58,880 --> 00:34:01,160 vemo, da je stikalo Izjava je infinitely-- je 770 00:34:01,160 --> 00:34:03,536 bolj učinkovit od nje, in če drugje če saj deluje 771 00:34:03,536 --> 00:34:06,660 z drugačno vrsto funkcij, ki vam omogoča, da v bistvu, samo 772 00:34:06,660 --> 00:34:08,790 skočite na primeru morate biti. 773 00:34:08,790 --> 00:34:10,547 Ja. 774 00:34:10,547 --> 00:34:11,255 SPEAKER 14: Cool. 775 00:34:11,255 --> 00:34:11,754 Hvala. 776 00:34:11,754 --> 00:34:12,526 ANDI PENG: Ja 777 00:34:12,526 --> 00:34:16,687 >> SPEAKER 14: In si ne bi mogla storiti primeri kot in višji kot. 778 00:34:16,687 --> 00:34:17,270 ANDI PENG: No. 779 00:34:17,270 --> 00:34:19,860 Torej, to je tisto, kar omejuje približno Stikalo izjava je, da imate 780 00:34:19,860 --> 00:34:21,564 da imajo konstante samo, samo cela števila. 781 00:34:21,564 --> 00:34:22,064 Ja. 782 00:34:22,064 --> 00:34:25,179 783 00:34:25,179 --> 00:34:25,820 V REDU. 784 00:34:25,820 --> 00:34:28,659 >> Torej je to nekaj, kar vas Fantje bodo imeli manj pogosto, 785 00:34:28,659 --> 00:34:32,280 ampak sem samo hotel ga uvedejo v primeru. 786 00:34:32,280 --> 00:34:36,210 Imamo tukaj, kaj je imenuje ternarni operator. 787 00:34:36,210 --> 00:34:39,370 Kadar je v bistvu, to je tako kot če izjava prevedena v eni vrstici. 788 00:34:39,370 --> 00:34:42,630 Tukaj, bom šel na naslednjo vrstico se naslednja stran, ker je lažje videti. 789 00:34:42,630 --> 00:34:44,860 >> Torej smo vsi videli to pravico? 790 00:34:44,860 --> 00:34:46,110 To je zelo enostavno slediti. 791 00:34:46,110 --> 00:34:51,290 Če bi želel, da bi spremenljivko z imenom niz imenovan y, če je določeno število 792 00:34:51,290 --> 00:34:54,770 Dam, da je manj kot 100, I želite dodeliti nizko na vrvico, 793 00:34:54,770 --> 00:34:57,240 še želim dodeliti visoka. 794 00:34:57,240 --> 00:35:01,370 >> To tu počne točno isto stvar ti osem vrstic kode počnejo. 795 00:35:01,370 --> 00:35:03,600 Torej, tukaj želim ustvariti spremenljivi niz. 796 00:35:03,600 --> 00:35:08,520 In to je pogoj, da sem preverjanje, če je manj kot 100, 797 00:35:08,520 --> 00:35:12,750 potem ste dodeliti vrednost nizka, drug dodeliti vrednost visoka. 798 00:35:12,750 --> 00:35:15,802 >> Ti diapozitivi bo na spletu, brez skrbi če vi ne boste dobili to dol. 799 00:35:15,802 --> 00:35:18,510 To je samo enostavnejši način, bolj učinkovit način za pisanje kode. 800 00:35:18,510 --> 00:35:21,290 801 00:35:21,290 --> 00:35:21,810 V REDU. 802 00:35:21,810 --> 00:35:25,190 >> Torej, zdaj bomo vnesti kaj, za večino ljudi 803 00:35:25,190 --> 00:35:28,660 so kot zelo, zelo zmedeno stvar, da razmišljajo o tem na prvi. 804 00:35:28,660 --> 00:35:30,226 Oddelek zanka. 805 00:35:30,226 --> 00:35:32,600 Torej, danes bomo govorili približno tri vrste zank. 806 00:35:32,600 --> 00:35:34,890 Bomo začeli z nekaj časa zanka, potem pa govori o opravkov, medtem ko zanke, 807 00:35:34,890 --> 00:35:36,740 in potem govorijo o za zank. 808 00:35:36,740 --> 00:35:40,010 >> Torej v bistvu za bolj vizualne učenci tam, 809 00:35:40,010 --> 00:35:44,410 imamo v bistvu grafični upodobitev kar nekaj časa zanka počne. 810 00:35:44,410 --> 00:35:48,290 Torej v programiranju, bi začnete in vnesite zanke v določenem trenutku. 811 00:35:48,290 --> 00:35:49,470 Da preverite stanje. 812 00:35:49,470 --> 00:35:52,165 In če je pogoj izpolnjen, izvedete kodo notri. 813 00:35:52,165 --> 00:35:53,790 In prideš nazaj okoli in si oglejte. 814 00:35:53,790 --> 00:35:57,190 Če je še vedno res, da teče to kodo okoli in okoli v zanko. 815 00:35:57,190 --> 00:36:00,970 >> Vendar pa je druga, da pogoj postane false, 816 00:36:00,970 --> 00:36:02,739 boš prekinil in na koncu zanke. 817 00:36:02,739 --> 00:36:05,030 In to je v bistvu skladnje boste uporabili. 818 00:36:05,030 --> 00:36:08,250 Medtem ko je določen pogoj res to, če to ni res, 819 00:36:08,250 --> 00:36:12,920 boš preskočite do konca in napredovati s svojim programom. 820 00:36:12,920 --> 00:36:13,690 V REDU. 821 00:36:13,690 --> 00:36:17,250 >> Ali ima kdo primer o tem, kaj lahko potencialno zgodi 822 00:36:17,250 --> 00:36:19,160 če sem poskusil zagnati ta del kode? 823 00:36:19,160 --> 00:36:22,470 Mimogrede, SAJ-- da je Scaz, Andi, Jason-- bomo podpisali off naše e-pošte, 824 00:36:22,470 --> 00:36:24,830 Ljubezen, SAJ. 825 00:36:24,830 --> 00:36:25,573 To nas je. 826 00:36:25,573 --> 00:36:26,500 V REDU. 827 00:36:26,500 --> 00:36:29,829 >> Vsakdo ima zgled, ali imajo ideja o tem, kaj bi to natisniti? 828 00:36:29,829 --> 00:36:30,870 Nekakšen trik vprašanje. 829 00:36:30,870 --> 00:36:34,550 830 00:36:34,550 --> 00:36:39,380 Torej, tukaj, ne pozabite stanje smo preverjanje čeprav je res. 831 00:36:39,380 --> 00:36:42,840 Torej, medtem ko je to res, je to gre za tiskanje, I love SAJ! 832 00:36:42,840 --> 00:36:48,460 Ali obstaja točka, v kateri sva spremeni to kaj drugače? 833 00:36:48,460 --> 00:36:49,050 Ne, kajne? 834 00:36:49,050 --> 00:36:51,470 >> Torej, tukaj imamo s katerimi se srečujejo, kar je verjetno 835 00:36:51,470 --> 00:36:54,310 dogaja, da se utrujaš veliko vaši programi, neskončno zanko. 836 00:36:54,310 --> 00:36:56,268 Boste ugotovili, da, če vas teči ta del kode, 837 00:36:56,268 --> 00:36:58,160 to je šele tekoč, da bo tiskanje, I love SAJ! 838 00:36:58,160 --> 00:37:00,701 Medtem ko cenimo podporo, nočemo vaših računalnikov 839 00:37:00,701 --> 00:37:02,910 crash, ker vas obdržati tiskanje Ljubim SAJ! 840 00:37:02,910 --> 00:37:05,320 >> Torej, prosim, prosim, izognili neskončno zanko 841 00:37:05,320 --> 00:37:07,320 saj se ne bo nikoli oceniti na false 842 00:37:07,320 --> 00:37:08,780 in si ne bo nikoli zapusti zanko. 843 00:37:08,780 --> 00:37:10,530 In ti boš se zanič v večno. 844 00:37:10,530 --> 00:37:13,000 Cool. 845 00:37:13,000 --> 00:37:13,694 V REDU. 846 00:37:13,694 --> 00:37:15,610 Druga vrsta zanke bomo danes govorili 847 00:37:15,610 --> 00:37:17,580 je storila, medtem ko zanko, naredite medtem ko zanke. 848 00:37:17,580 --> 00:37:20,580 In je to imenuje Do while zanko ker imaš storiti, in kar nekaj časa. 849 00:37:20,580 --> 00:37:24,390 Torej to je precej podobna nekaj časa zanka, ampak malo drugačen. 850 00:37:24,390 --> 00:37:27,620 Tukaj boste storili kar je znotraj tega 851 00:37:27,620 --> 00:37:29,747 medtem ko je določen pogoj true. 852 00:37:29,747 --> 00:37:32,580 Torej, če bi bil jaz C in računalnik Jaz sem teče navzdol ta del kode, 853 00:37:32,580 --> 00:37:33,880 Vzamem si na vrhu. 854 00:37:33,880 --> 00:37:36,890 Grem do C, povem to storil. 855 00:37:36,890 --> 00:37:40,550 In potem sem preveriti, medtem ko je ta je res, moram ponoviti. 856 00:37:40,550 --> 00:37:42,750 Toda medtem ko je ta napačna, Nato sem se premaknete naprej 857 00:37:42,750 --> 00:37:44,700 in nikoli nisem šel nazaj v to zanko znova. 858 00:37:44,700 --> 00:37:48,360 >> Lahko vsakdo vzeti stab v čem je razlika 859 00:37:48,360 --> 00:37:52,130 med to zanko in tista, ki smo Samo pogledal je bilo praktično. 860 00:37:52,130 --> 00:37:52,717 Ja. 861 00:37:52,717 --> 00:37:55,050 SPEAKER 15: Stanje prihaja po tem, ko namesto prej? 862 00:37:55,050 --> 00:37:55,841 ANDI PENG: Točno tako. 863 00:37:55,841 --> 00:37:57,984 Tako je rekla pogoj prihaja po njem, ne prej. 864 00:37:57,984 --> 00:38:00,400 Konec koncev, je razlika med tem in while 865 00:38:00,400 --> 00:38:03,597 je, da ste pravkar storili karkoli je notri to ne glede na to 866 00:38:03,597 --> 00:38:06,430 ali je vaše stanje ali ne res, in nato preverite stanje. 867 00:38:06,430 --> 00:38:08,304 Torej, v tem primeru, da ste always-- na ta način, 868 00:38:08,304 --> 00:38:11,240 ste vedno pazite karkoli je notri teče vsaj 869 00:38:11,240 --> 00:38:14,230 enkrat pred preverjanjem, če želite, da se znova zagnati. 870 00:38:14,230 --> 00:38:18,040 >> In tukaj je primer kdaj bi ga uporabili. 871 00:38:18,040 --> 00:38:22,570 Tako na primer, če sem hotel imeti spremenljivka tipa int imenovan starost, 872 00:38:22,570 --> 00:38:25,640 in želim, da pozove uporabnik za svojo starost, 873 00:38:25,640 --> 00:38:27,910 Bom naredil printf () Koliko si star? 874 00:38:27,910 --> 00:38:30,330 starost = GetInt (), ki je spodbudilo uporabnika. 875 00:38:30,330 --> 00:38:32,140 >> In nekateri ljudje bodo zelo nadležno. 876 00:38:32,140 --> 00:38:34,931 In nočete hroščev v vašem Program nekom vnašanja podobno, 877 00:38:34,931 --> 00:38:36,680 oh sem negativen star 4 leta ali karkoli. 878 00:38:36,680 --> 00:38:39,900 V tem primeru, če so storiti, da se to ovrednoti 879 00:38:39,900 --> 00:38:43,150 na true, kar pomeni, da bom morali obdržati vrača in to. 880 00:38:43,150 --> 00:38:45,310 Torej, to se dogaja, da ponovno poziva uporabniku 881 00:38:45,310 --> 00:38:47,960 da vam je všeč pravi starost številka in to je 882 00:38:47,960 --> 00:38:51,930 dogaja, da gredo nazaj in redoing je, dokler se vam resnično starost 883 00:38:51,930 --> 00:38:56,900 večje od ena, ali nič. 884 00:38:56,900 --> 00:38:58,020 >> Torej namig, namig. 885 00:38:58,020 --> 00:39:02,263 To bo zelo, zelo koristno za enega od vaših težav PSet. 886 00:39:02,263 --> 00:39:04,155 Ja. 887 00:39:04,155 --> 00:39:05,580 >> SPEAKER 16: Ups, žal. 888 00:39:05,580 --> 00:39:06,288 >> ANDI PENG: Yep. 889 00:39:06,288 --> 00:39:09,424 >> SPEAKER 16: Ali obstajajo, ne da je kreten, ampak-- 890 00:39:09,424 --> 00:39:10,340 ANDI PENG: Brez skrbi. 891 00:39:10,340 --> 00:39:11,990 SPEAKER 16: --are tam različna pravila tukaj, 892 00:39:11,990 --> 00:39:13,810 ali si samo pozabil dati ponudbo? 893 00:39:13,810 --> 00:39:14,250 >> ANDI PENG: Oh Yeah. 894 00:39:14,250 --> 00:39:15,530 Žal mi je, da je popolnoma moja slaba. 895 00:39:15,530 --> 00:39:17,100 To je bil zagotovo naj bi bil citat. 896 00:39:17,100 --> 00:39:17,690 Dober ulov. 897 00:39:17,690 --> 00:39:18,800 To bi ne teče. 898 00:39:18,800 --> 00:39:22,070 899 00:39:22,070 --> 00:39:22,830 V REDU. 900 00:39:22,830 --> 00:39:26,160 >> Torej, zadnja vrsta zanke bomo govorili okoli in na koncu nekako najbolj 901 00:39:26,160 --> 00:39:28,854 Kompleks je za zanko. 902 00:39:28,854 --> 00:39:30,770 Ne skrbite, če ne vem, kaj to pomeni. 903 00:39:30,770 --> 00:39:32,061 To je precej zmedeno na prvi. 904 00:39:32,061 --> 00:39:33,640 Mi bomo šli čez primer. 905 00:39:33,640 --> 00:39:37,040 >> Vse, kar se dogaja v za zanke je, da imate tri izjave 906 00:39:37,040 --> 00:39:38,380 da boš vključiti. 907 00:39:38,380 --> 00:39:42,130 Torej za določeno stvar, ste gre za inicializacijo spremenljivke. 908 00:39:42,130 --> 00:39:45,280 Boste dodali pogoj, da ki bo ta zanka teče. 909 00:39:45,280 --> 00:39:47,790 In nato, na koncu zanka, boš ga dopolni. 910 00:39:47,790 --> 00:39:50,248 Lahko posodobite spremenljivko da želite slediti. 911 00:39:50,248 --> 00:39:52,530 Tako smo običajno uporabljajo za zank, ko smo 912 00:39:52,530 --> 00:39:55,390 želite zagnati zanko za A določena količina roki 913 00:39:55,390 --> 00:39:58,900 in smo že vedeli, Oh želim Ta zanka izvršiti kot 10-krat, 914 00:39:58,900 --> 00:40:03,060 potem si do-- bom šel čez primer na naslednji strani. 915 00:40:03,060 --> 00:40:07,830 >> Torej, tukaj, na primer, v nič, če vas hotel nekaj ponoviti 10-krat, 916 00:40:07,830 --> 00:40:10,790 vse, kar je imel za povedati je, ponovite 10-krat, ljubim SAJ! 917 00:40:10,790 --> 00:40:15,260 ki je bolj sprejemljiva oddaja podpore za nas 918 00:40:15,260 --> 00:40:17,120 namesto neskončna zanka. 919 00:40:17,120 --> 00:40:19,920 Tukaj, kako bi Prehod na C in odpisa 920 00:40:19,920 --> 00:40:26,040 da je za int-- bom za ustvarjanje ali razglasi spremenljivko tipa int imenom i. 921 00:40:26,040 --> 00:40:30,089 Jaz grem za inicializacijo je na 0, tako da i = 0; 922 00:40:30,089 --> 00:40:31,630 in to se bo moje stanje. 923 00:40:31,630 --> 00:40:33,860 Torej i je manj kot 10. 924 00:40:33,860 --> 00:40:36,096 In nato na end-- zadnja izjava ste 925 00:40:36,096 --> 00:40:38,710 dogaja, da imajo, je posodobitev Kaj se zgodi s spremenljivo i 926 00:40:38,710 --> 00:40:40,206 konec vaše zanko. 927 00:40:40,206 --> 00:40:42,830 Torej, to je nekako zmedeno, ker različni deli te linije 928 00:40:42,830 --> 00:40:44,871 se dogaja na drugačen Vrste zanke. 929 00:40:44,871 --> 00:40:46,746 Ampak bom šel več kot psevdokoda primer, da 930 00:40:46,746 --> 00:40:50,360 in morda to pojasnite samo malo bolje. 931 00:40:50,360 --> 00:40:51,500 >> Torej, tukaj. 932 00:40:51,500 --> 00:40:52,929 To je zanka smo pravkar videli. 933 00:40:52,929 --> 00:40:55,470 V bistvu psevdokoda, kaj se dogaja v tem programu, 934 00:40:55,470 --> 00:40:57,940 najprej sem ustvarjanju i, inicializacijo 0. 935 00:40:57,940 --> 00:41:00,440 Jaz sem preverjanje, da vidim, če je manj kot 10, v tem primeru 936 00:41:00,440 --> 00:41:02,840 Prvič je ker 0 je manj kot 10. 937 00:41:02,840 --> 00:41:04,727 Tako zanka se bo teči. 938 00:41:04,727 --> 00:41:06,310 In potem bom natisnete to linijo. 939 00:41:06,310 --> 00:41:11,240 In nato na koncu te vrstice, desno tukaj bom naredil prirastek i, i ++, 940 00:41:11,240 --> 00:41:13,370 Vse to pomeni, je povečevanje po enega. 941 00:41:13,370 --> 00:41:15,460 >> Torej, jaz je zdaj 1. 942 00:41:15,460 --> 00:41:17,960 Ker je bil nekoč 0, če sem prirastek je, to je zdaj 1. 943 00:41:17,960 --> 00:41:19,610 In potem bom šel nazaj na začetku zanke 944 00:41:19,610 --> 00:41:20,730 in jaz preverite stanje. 945 00:41:20,730 --> 00:41:22,080 Je stanje še vedno drži? 946 00:41:22,080 --> 00:41:24,030 Da, 1 je vedno manjša od 10. 947 00:41:24,030 --> 00:41:27,370 Tako se dogaja, da se to še enkrat natisniti, pojdi in nato prirastek i in preverite 948 00:41:27,370 --> 00:41:29,180 pogoj neprekinjeno, neprekinjeno, 949 00:41:29,180 --> 00:41:33,290 dokler ne boste na koncu dobili do točke, kjer je i 10. 950 00:41:33,290 --> 00:41:36,300 >> Greš natisnete to 10-krat in potem sem se bo enaka 10. 951 00:41:36,300 --> 00:41:37,800 Ti boš, da preveri stanje. 952 00:41:37,800 --> 00:41:38,760 Je 10 manj kot 10? 953 00:41:38,760 --> 00:41:40,370 Ne, da je lažna. 954 00:41:40,370 --> 00:41:43,020 Tako ta zanka ne bo teči, da se bo zlomil, 955 00:41:43,020 --> 00:41:45,040 in boš nadaljuje s svojo kodo. 956 00:41:45,040 --> 00:41:47,550 >> Tako da lahko vi vidite, to je res odličen primer 957 00:41:47,550 --> 00:41:53,110 zanke lahko programirate, da teče za določeno količino časa. 958 00:41:53,110 --> 00:41:54,457 Vsak jasno? 959 00:41:54,457 --> 00:41:54,956 Ja. 960 00:41:54,956 --> 00:41:59,060 >> SPEAKER 17: Kaj prirastka eksponentno, je drugačno kodiranje? 961 00:41:59,060 --> 00:42:02,060 >> ANDI PENG: You can-- bova šla zaradi tega v naslednji diapozitiv. 962 00:42:02,060 --> 00:42:03,350 Dobro vprašanje. 963 00:42:03,350 --> 00:42:05,910 Je anyone-- preden sem premakniti on-- kdo sploh zmedeni, 964 00:42:05,910 --> 00:42:07,640 ker je to res težko pojem. 965 00:42:07,640 --> 00:42:09,510 Brez skrbi, če you're-- OK. 966 00:42:09,510 --> 00:42:10,010 Cool. 967 00:42:10,010 --> 00:42:12,836 968 00:42:12,836 --> 00:42:13,490 >> V redu. 969 00:42:13,490 --> 00:42:14,610 Samo splošna tobogan. 970 00:42:14,610 --> 00:42:18,020 Ta medtem zanka je početje točno isto stvar, za zanko bilo. 971 00:42:18,020 --> 00:42:19,631 To je samo napisano drugače. 972 00:42:19,631 --> 00:42:22,130 Vidva se lahko seznanijo z vsebino diapozitivov na vaše udobje kasneje. 973 00:42:22,130 --> 00:42:24,880 Ampak samo vem, da je multipla načini pisanja isto stvar 974 00:42:24,880 --> 00:42:28,300 zgodilo z različnimi zankami. 975 00:42:28,300 --> 00:42:28,800 V REDU. 976 00:42:28,800 --> 00:42:32,380 >> Torej, zdaj smo dobili pri vprašanju, kaj če imamo zanko znotraj zanke. 977 00:42:32,380 --> 00:42:35,810 Mi smo dobili v realnem Inception vrsta stvari tukaj. 978 00:42:35,810 --> 00:42:40,640 Ko boste želeli narediti stvari mnogokratnik krat znotraj drugih stvari 979 00:42:40,640 --> 00:42:44,129 da delati stvari večkrat, vas želim, kaj se ti ugnezdene zanke for. 980 00:42:44,129 --> 00:42:47,420 Za tiste, ki ste prvič videli to in dobili zelo zmedeni, vsi delamo tukaj 981 00:42:47,420 --> 00:42:50,580 bo imela za zanke, kjer je imamo spremenljivko zapored. 982 00:42:50,580 --> 00:42:54,500 Vendar znotraj nje, imamo tudi drugo zanko spremenljive imenovano koloni. 983 00:42:54,500 --> 00:42:58,560 In sem zelo predlagam vsem, ki ste ki so zamenjali najprej vodi 984 00:42:58,560 --> 00:43:00,310 to track-- potegnili, pripraviti to. 985 00:43:00,310 --> 00:43:03,000 Ne poskušajte samo razloga skozi njega, ga potegnili. 986 00:43:03,000 --> 00:43:06,630 >> V tvoji glavi, o tem kos papir, ali karkoli, write vrstica, 987 00:43:06,630 --> 00:43:08,614 spremljate, kaj vrstica je enaka. 988 00:43:08,614 --> 00:43:10,780 Napišite stolpec, slediti o tem, kaj je v stolpcu enaka. 989 00:43:10,780 --> 00:43:13,490 In spremljate, kaj je tiskanje z vsako ponovitev. 990 00:43:13,490 --> 00:43:16,320 Vsaka ponovitev te zanke, vsak ponovitev te večje zanke, 991 00:43:16,320 --> 00:43:17,820 samo ne po logiki. 992 00:43:17,820 --> 00:43:20,190 In zagotavljam vam, boste ljubezen tisto, kar vidiš, 993 00:43:20,190 --> 00:43:24,307 ker je prav tako zelo primerno za vaš problem sklopov. 994 00:43:24,307 --> 00:43:24,806 Cool. 995 00:43:24,806 --> 00:43:27,501 996 00:43:27,501 --> 00:43:28,000 V redu. 997 00:43:28,000 --> 00:43:30,723 Torej, najbolj pomembna stvar da sta vidva vse 998 00:43:30,723 --> 00:43:32,400 razmišljal prav zdaj, so vaši Problem Nastavite 1s, 999 00:43:32,400 --> 00:43:33,650 ki so posledica četrtek / petek. 1000 00:43:33,650 --> 00:43:36,890 1001 00:43:36,890 --> 00:43:39,710 >> V vašem water.c programa, namigujejo, da boš imel 1002 00:43:39,710 --> 00:43:41,590 za poziv uporabniku za vhod. 1003 00:43:41,590 --> 00:43:43,640 V vašem mario.c programa boste imeli 1004 00:43:43,640 --> 00:43:46,431 da uporabite ugnezdene zanke, ki je za zanke notranjost za zanke, 1005 00:43:46,431 --> 00:43:50,247 natisniti blok piramide, v bistvu kot tisto, kar je Mario na skozi skok. 1006 00:43:50,247 --> 00:43:53,330 In potem v vašem greedy-- ali morda Izdelava Change, če kdo od vas fantje 1007 00:43:53,330 --> 00:43:55,740 ste že kdaj slišali za that-- boste morali biti zelo 1008 00:43:55,740 --> 00:43:58,160 Pazite prvih vrednot plavajočo vejico. 1009 00:43:58,160 --> 00:44:01,860 Zapomni plavajoče decimalke in cela niso ista stvar. 1010 00:44:01,860 --> 00:44:03,620 Spremljajte od katerih je katera. 1011 00:44:03,620 --> 00:44:05,953 In ti boš za uporabo pogojni stavki, kot tudi. 1012 00:44:05,953 --> 00:44:09,070 1013 00:44:09,070 --> 00:44:10,940 >> V redu, zadnja stvar. 1014 00:44:10,940 --> 00:44:12,770 Imam par minut tekme. 1015 00:44:12,770 --> 00:44:13,460 Style. 1016 00:44:13,460 --> 00:44:19,320 Torej, to je nekaj, kar ne dejansko vpliva na učinkovitost, 1017 00:44:19,320 --> 00:44:21,010 ali dejansko vodenje kodo. 1018 00:44:21,010 --> 00:44:24,380 Vendar pa nas učinke kot Vaši grederji, kot vaše bralce. 1019 00:44:24,380 --> 00:44:27,290 To učinke sami, če ste poskuša najti težavo. 1020 00:44:27,290 --> 00:44:30,700 To učinke berljivost kode. 1021 00:44:30,700 --> 00:44:34,070 >> Torej slog, kot takrat, ko ste poskušali slog esej za angleščino, če 1022 00:44:34,070 --> 00:44:36,070 niso imeli odstavke, imate vse prijazno 1023 00:44:36,070 --> 00:44:39,190 iz premešanih skupaj v eni vrstici, jo zaradi česar je res težko za vsakogar 1024 00:44:39,190 --> 00:44:42,620 brati svoj esej, četudi tvoje točke so logično zvok. 1025 00:44:42,620 --> 00:44:44,390 Ista stvar pri programiranju. 1026 00:44:44,390 --> 00:44:47,910 Lahko imaš strašno nejasna koda, ki bo Scaz kritje, 1027 00:44:47,910 --> 00:44:49,660 in lahko še vedno teče in funkcijo. 1028 00:44:49,660 --> 00:44:53,110 Ampak za nas, kot vaše lepe TAS, ki bodo se branju in vrednotenju svoje PSets, 1029 00:44:53,110 --> 00:44:54,460 to ni zelo lepo. 1030 00:44:54,460 --> 00:44:56,859 >> Zato vas prosimo, zavoljo od nas in sebe, 1031 00:44:56,859 --> 00:44:58,900 ko poskušate popraviti problem v kodi, 1032 00:44:58,900 --> 00:45:00,774 in skušaš preberi svojo kodo, da 1033 00:45:00,774 --> 00:45:03,910 prepričani, da sledite nekaj konvencij da smo šli čez. 1034 00:45:03,910 --> 00:45:04,510 >> Torej, najprej. 1035 00:45:04,510 --> 00:45:07,070 Dajte svojim spremenljivk smiselnih imen. 1036 00:45:07,070 --> 00:45:11,450 Če želite shraniti celo imenovano starost, vas prosimo, da naštejemo starosti. 1037 00:45:11,450 --> 00:45:12,875 To ne naštejemo višino. 1038 00:45:12,875 --> 00:45:14,750 Ko skušaš shranite starost v višino, 1039 00:45:14,750 --> 00:45:16,722 naredi vse, kar je zelo zmedeno za nas. 1040 00:45:16,722 --> 00:45:17,930 Mi ni všeč, da je treba zamenjati. 1041 00:45:17,930 --> 00:45:19,180 Vam ni všeč, da je treba zamenjati. 1042 00:45:19,180 --> 00:45:20,350 Nihče ne mara, da je treba zamenjati. 1043 00:45:20,350 --> 00:45:23,100 Če ste tekoč ustvariti nekaj, Ime je nekaj pomembnega. 1044 00:45:23,100 --> 00:45:26,440 >> Vendar pa v zanko, enojno spremenljivke znakov so ponavadi v redu. 1045 00:45:26,440 --> 00:45:31,350 In v zanko, če hočeš samo i, in j, k, vas prosimo, da le to. 1046 00:45:31,350 --> 00:45:32,670 >> Dosledno inicializacija. 1047 00:45:32,670 --> 00:45:33,770 Torej, kaj to pomeni? 1048 00:45:33,770 --> 00:45:37,600 To pomeni, tehnično, teoretično, lahko sproži in ustvarjanje 1049 00:45:37,600 --> 00:45:40,140 več spremenljivk na isti liniji. 1050 00:45:40,140 --> 00:45:42,820 Tako, na primer, lahko ustvarite celo imenuje scaz_age, 1051 00:45:42,820 --> 00:45:47,110 in celo pozval andi_age = 20, in celo imenuje jason_age 1052 00:45:47,110 --> 00:45:48,090 na isti liniji. 1053 00:45:48,090 --> 00:45:52,060 In sem lahko tudi dodelite samo eno jim in ne druge do vrednot. 1054 00:45:52,060 --> 00:45:54,142 Sprašujemo vas prosim, ne delaj tega. 1055 00:45:54,142 --> 00:45:57,350 Ker sem, da ste v bistvu ustvarili tri spremenljivke, vendar je le ena od njiju 1056 00:45:57,350 --> 00:45:58,295 dejansko ima vrednost. 1057 00:45:58,295 --> 00:46:00,170 In potem, ko smo poskuša prebrati kodo, 1058 00:46:00,170 --> 00:46:01,850 ali če ste poskušali popraviti problem v kodi, 1059 00:46:01,850 --> 00:46:03,340 je zelo zmedeno, da jim sledijo. 1060 00:46:03,340 --> 00:46:09,300 Torej samo za berljivost, za naša berljivost, ne delaj tega. 1061 00:46:09,300 --> 00:46:10,355 >> Dosledni zaviti oklepaji. 1062 00:46:10,355 --> 00:46:12,980 Nekateri ljudje radi, da svoje zaviti oklepaji v različnih krajih. 1063 00:46:12,980 --> 00:46:14,100 To sploh ni pomembno. 1064 00:46:14,100 --> 00:46:17,900 Samo poskrbite, da ste dosledni pri vašem lastna koda na to, kje vam je všeč, da jih. 1065 00:46:17,900 --> 00:46:18,950 >> Dosledno razmik. 1066 00:46:18,950 --> 00:46:22,040 Če si dal prostor po za zanke, vedno narediti. 1067 00:46:22,040 --> 00:46:24,930 Ne samo rad nekako to storite na nekaj krajev, ne stori v drugih. 1068 00:46:24,930 --> 00:46:26,580 Samo bodite dosledni. 1069 00:46:26,580 --> 00:46:29,500 >> Drugič, če bi kdo rad se seznanijo z vsebino na CS50 Style Guide 1070 00:46:29,500 --> 00:46:33,230 smo uradno imajo slogovni priročnik, ki vas vse od teh konvencij pove, 1071 00:46:33,230 --> 00:46:34,890 plus več. 1072 00:46:34,890 --> 00:46:35,530 To je na spletu. 1073 00:46:35,530 --> 00:46:38,670 To je kot cs50.net/style~~pobj ali nekaj takega. 1074 00:46:38,670 --> 00:46:40,180 Lahko ga google. 1075 00:46:40,180 --> 00:46:41,399 >> Usklajenost je ključnega pomena. 1076 00:46:41,399 --> 00:46:43,190 Torej, ne skrbite, kaj drugi ljudje počnejo, 1077 00:46:43,190 --> 00:46:46,180 Samo se prepričajte, da ste dosledno v svojo lastno kodo. 1078 00:46:46,180 --> 00:46:50,570 Kdo kakršna koli vprašanja o tem? 1079 00:46:50,570 --> 00:46:51,070 Ja. 1080 00:46:51,070 --> 00:46:53,370 >> SPEAKER 18: Tako je pravilna stvar storiti z inicializacijo je le 1081 00:46:53,370 --> 00:46:56,130 Vse jih imajo ločen linija, je, da je kaj praviš? 1082 00:46:56,130 --> 00:46:58,850 >> ANDI PENG: Torej, sem redko se to zgodi. 1083 00:46:58,850 --> 00:47:02,230 Ampak, če boste želeli, če si hotel biti kot prihranek prostora v kodi, 1084 00:47:02,230 --> 00:47:04,000 ali karkoli, lahko to storite. 1085 00:47:04,000 --> 00:47:07,800 Prosimo vas, da preprosto ne inicializirati ena stvar, in ne drugi. 1086 00:47:07,800 --> 00:47:12,600 Torej, če želite narediti int scaz_age, int andi_age, int jason_age, da je v redu. 1087 00:47:12,600 --> 00:47:15,600 Samo ne inicializirati eno in ne drugi, je vse. 1088 00:47:15,600 --> 00:47:18,380 1089 00:47:18,380 --> 00:47:19,904 >> Vprašanja? 1090 00:47:19,904 --> 00:47:20,850 V redu. 1091 00:47:20,850 --> 00:47:24,610 Grem mimo off mikrofon in laserski kazalec, 1092 00:47:24,610 --> 00:47:28,862 in baton na Scaz na tej točki. 1093 00:47:28,862 --> 00:47:29,808 To je neprijetno. 1094 00:47:29,808 --> 00:47:32,650 1095 00:47:32,650 --> 00:47:33,200 Tukaj je. 1096 00:47:33,200 --> 00:47:34,408 >> BRIAN SCASSELLATI: Hvala. 1097 00:47:34,408 --> 00:47:42,500 1098 00:47:42,500 --> 00:47:43,380 Kako, da za zvok? 1099 00:47:43,380 --> 00:47:46,420 1100 00:47:46,420 --> 00:47:47,900 Zvok je dober? . 1101 00:47:47,900 --> 00:47:49,220 Odlično. 1102 00:47:49,220 --> 00:47:50,350 V REDU. 1103 00:47:50,350 --> 00:47:52,110 Torej, hi vsi. 1104 00:47:52,110 --> 00:47:56,540 >> Bom poskusil, da delo prek praktičen primer z vami. 1105 00:47:56,540 --> 00:48:00,850 In bomo uporabili CS50 je razvojno okolje, kar se imenuje 1106 00:48:00,850 --> 00:48:03,120 Integrirani razvojno okolje. 1107 00:48:03,120 --> 00:48:05,145 In ste videli to dokazali v predavanju. 1108 00:48:05,145 --> 00:48:07,520 In Problem Set 1, ste dogaja, da imajo priložnost 1109 00:48:07,520 --> 00:48:10,890 da jo uporabljajo, in igral z je, in se navadili na to, 1110 00:48:10,890 --> 00:48:13,640 saj bomo, da ga uporabljate skozi preostanek semestra. 1111 00:48:13,640 --> 00:48:20,350 >> Torej, v tem IDE, imate kaj videti kot zelo tradicionalni datotečni brskalnik 1112 00:48:20,350 --> 00:48:21,890 preko na eni strani. 1113 00:48:21,890 --> 00:48:24,360 Imaš del gor top, kam greste 1114 00:48:24,360 --> 00:48:28,850 da vidim svojo izvorno kodo, vaš Cfile, koda, ki ste napisali. 1115 00:48:28,850 --> 00:48:31,880 In dol dnu, boste ima terminalsko okno 1116 00:48:31,880 --> 00:48:36,330 ki jih boste uporabljali za tako pripravijo svoj program 1117 00:48:36,330 --> 00:48:39,090 in teči ali izvršiti svoj program. 1118 00:48:39,090 --> 00:48:40,100 V REDU. 1119 00:48:40,100 --> 00:48:46,560 >> Torej, samo, da nam malo ustanova, v tem oknu terminala, 1120 00:48:46,560 --> 00:48:48,930 si bo z naborom ukazov 1121 00:48:48,930 --> 00:48:53,040 da so standardni ukazi vsej večina sistemov Unix ali Linux. 1122 00:48:53,040 --> 00:48:55,890 In tako, če ste kdaj uporabili vsako obliko Unix, Ubuntu, 1123 00:48:55,890 --> 00:48:59,140 ali katerokoli drugo okusov, se ti dogaja, da izgleda znano. 1124 00:48:59,140 --> 00:49:00,890 >> Če še niste, ne skrbite. 1125 00:49:00,890 --> 00:49:02,830 Nič ni zapleten o njih. 1126 00:49:02,830 --> 00:49:05,330 Oni samo z drugačno sintaksa, drugačno poimenovanje 1127 00:49:05,330 --> 00:49:07,630 Konvencija od vas že videl prej. 1128 00:49:07,630 --> 00:49:12,190 >> Torej na seznam iz datoteke v določenem imeniku, 1129 00:49:12,190 --> 00:49:15,310 oni bodo uporabite imenuje ukaz ls ali seznama. 1130 00:49:15,310 --> 00:49:18,010 Če želite videti vse z vsemi podrobnostmi, 1131 00:49:18,010 --> 00:49:21,535 boste z ukazom argument linije z ls -l. 1132 00:49:21,535 --> 00:49:23,910 In to vam bom pokazal vse podrobneje, tudi v 1133 00:49:23,910 --> 00:49:26,270 dovolilnice za datoteko. 1134 00:49:26,270 --> 00:49:31,190 >> Če želite spremeniti mapo, boste z ukazom cd. 1135 00:49:31,190 --> 00:49:35,180 In boste mogli spremeniti imenik tako, da gredo na vašem domačem imeniku. 1136 00:49:35,180 --> 00:49:38,500 To je samo cd vse, ki jih sama cd z dvema 1137 00:49:38,500 --> 00:49:42,930 pike vas bo vrnil do enega Raven vaši prejšnji imenik. 1138 00:49:42,930 --> 00:49:46,400 In lahko tudi cd k podimeniku z vpisom v cd 1139 00:49:46,400 --> 00:49:48,500 in ime te podimenik. 1140 00:49:48,500 --> 00:49:50,540 >> Ustvarite lahko tudi nove mape. 1141 00:49:50,540 --> 00:49:52,790 In gremo na sprehod skozi to v samo minuto. 1142 00:49:52,790 --> 00:49:54,498 Ampak samo, da dajo Vse na zaslonu. 1143 00:49:54,498 --> 00:49:56,310 Tako da jih lahko vidimo. 1144 00:49:56,310 --> 00:50:00,420 >> Prav tako boste imeli možnost, neposredno manipulirati datotek 1145 00:50:00,420 --> 00:50:02,100 v ukazni vrstici. 1146 00:50:02,100 --> 00:50:06,059 Boste mogli kopirati, da jih premakniti, ali jih odstraniti, 1147 00:50:06,059 --> 00:50:07,600 da je, dejansko, da jih izbrišete. 1148 00:50:07,600 --> 00:50:10,310 1149 00:50:10,310 --> 00:50:15,350 >> CS50 IDE vam daje polno Moč argumentov ukazne vrstice. 1150 00:50:15,350 --> 00:50:20,280 In to pomeni, da lahko tudi narediti zelo nevarne stvari. 1151 00:50:20,280 --> 00:50:21,560 V REDU. 1152 00:50:21,560 --> 00:50:25,010 Na primer, lahko odstraniti, ali da je brisanje, 1153 00:50:25,010 --> 00:50:28,750 datoteka brez vprašanja za potrditev. 1154 00:50:28,750 --> 00:50:31,820 In lahko tudi odstranite recursively-- da je 1155 00:50:31,820 --> 00:50:38,940 pomišljaj r flag-- celoten podimenik in vse njene vsebine. 1156 00:50:38,940 --> 00:50:39,660 V REDU. 1157 00:50:39,660 --> 00:50:42,940 Oni so našteti v rdeče, saj vas bi morali razmišljati "nevarnosti" vsakič 1158 00:50:42,940 --> 00:50:45,000 vidite te stvari. 1159 00:50:45,000 --> 00:50:45,920 V REDU. 1160 00:50:45,920 --> 00:50:46,420 V redu. 1161 00:50:46,420 --> 00:50:50,090 1162 00:50:50,090 --> 00:50:53,430 >> Zdaj končno, stvari, ki so bo res koristno za vas, 1163 00:50:53,430 --> 00:50:57,270 so obstaja nekaj dobrih trikov vedeti, kot ste navigacijo 1164 00:50:57,270 --> 00:50:59,190 skozi to okno terminala. 1165 00:50:59,190 --> 00:51:03,590 Prvič, lahko počistite zaslon na vsak čas, ki ga vtipkate v jasno. 1166 00:51:03,590 --> 00:51:06,310 In boste videli me to, da pogosto. 1167 00:51:06,310 --> 00:51:09,990 Lahko pa tudi samo prikaz besedilo datoteke 1168 00:51:09,990 --> 00:51:13,992 z vnosom več in nato ime datoteke. 1169 00:51:13,992 --> 00:51:17,200 Nato boste lahko pomikate nazaj in tja s tem samo s preslednico 1170 00:51:17,200 --> 00:51:19,010 in puščice. 1171 00:51:19,010 --> 00:51:25,450 >> Če imate, kot smo to storili danes v predavanju, program, ki se nenehno teče 1172 00:51:25,450 --> 00:51:29,190 v neskončni zanki, ki jih lahko ustavi ta program 1173 00:51:29,190 --> 00:51:35,160 od izvršitve z vpisom v nadzor, da se držite CTRL-C. 1174 00:51:35,160 --> 00:51:38,360 In morda boste morali storiti to večkrat. 1175 00:51:38,360 --> 00:51:40,620 Računalnik dobi daleč pred tabo. 1176 00:51:40,620 --> 00:51:43,380 In včasih je potrebno izročiti to nekaj poskusih 1177 00:51:43,380 --> 00:51:46,280 preden bo dejansko prišel skozi. 1178 00:51:46,280 --> 00:51:48,760 >> Prav tako boste lahko nekako skozi ukazov 1179 00:51:48,760 --> 00:51:54,230 ki ste ga pravkar vnesli uporabo gumbov gor ključ, arrow tipko in nato tipko s puščico navzdol. 1180 00:51:54,230 --> 00:51:57,560 In kaj je najbolj uporabno je namesto tipkanje ven dolga imena datotek, 1181 00:51:57,560 --> 00:52:02,209 boste mogli Tab uporabe na samodejno dokončal nekaj navodil. 1182 00:52:02,209 --> 00:52:04,750 Zdaj bomo dokazati vse tiste, v samo sekundo. 1183 00:52:04,750 --> 00:52:06,780 Torej, če se ne spomnim jim, ne skrbite. 1184 00:52:06,780 --> 00:52:10,780 To so stvari, ki jih boste pick up in uporabite kot gremo skupaj. 1185 00:52:10,780 --> 00:52:11,470 V REDU. 1186 00:52:11,470 --> 00:52:18,830 >> Torej, v C- razliko Scratch-- C je zbrati jezik. 1187 00:52:18,830 --> 00:52:23,210 To pomeni, da bomo vzeli vir file-- da je besedilo, ki ga pišete, 1188 00:52:23,210 --> 00:52:26,500 ukazi, ki jih pišejo se printf () izjave, zank, 1189 00:52:26,500 --> 00:52:32,580 Vse else-- in gremo da sprejme to datoteko in jo izroči off 1190 00:52:32,580 --> 00:52:34,670 na program se imenuje prevajalnik. 1191 00:52:34,670 --> 00:52:39,850 >> Prevajalnik bo nato da besedilo, ki ste napisali 1192 00:52:39,850 --> 00:52:43,270 in ga prevesti v Binarni navodila 1193 00:52:43,270 --> 00:52:46,010 da je vaš računalnik dejansko dogaja uporabo. 1194 00:52:46,010 --> 00:52:49,700 To se imenuje objekt ali izvršljiv pila. 1195 00:52:49,700 --> 00:52:55,320 Če pogledaš na to datoteko, boste da vidim kodo, ki ste napisali. 1196 00:52:55,320 --> 00:52:59,480 Če pogledaš na to datoteko, boste videti naključno zaporedje znakov 1197 00:52:59,480 --> 00:53:01,680 da nobenega smisla sploh. 1198 00:53:01,680 --> 00:53:03,250 To je zato, ker je to binarno. 1199 00:53:03,250 --> 00:53:05,560 To ni pomenilo za vas, da se bere. 1200 00:53:05,560 --> 00:53:08,690 >> Vendar pa kadarkoli želite teči nekaj, kar boste 1201 00:53:08,690 --> 00:53:13,670 da teče je objekt datoteko. 1202 00:53:13,670 --> 00:53:19,110 Torej, ko delamo z njimi datoteke, bomo napisali datoteko v C 1203 00:53:19,110 --> 00:53:23,400 Bomo nato sestaviti, z uporabo Ukaz kot znamka, ki bo uveljavljal 1204 00:53:23,400 --> 00:53:27,070 prevajalnik Jek za jezik C. 1205 00:53:27,070 --> 00:53:31,530 In da bo pripravila predmet datoteko, kot navzven, ali v tem primeru, 1206 00:53:31,530 --> 00:53:36,580 ime, moje datoteke, ki sem jih dal v. 1207 00:53:36,580 --> 00:53:37,780 V redu. 1208 00:53:37,780 --> 00:53:39,790 >> Torej, kaj je dejansko poskusite to. 1209 00:53:39,790 --> 00:53:42,850 Tako sem prišel s primerom kaj sem želel poskusiti. 1210 00:53:42,850 --> 00:53:47,380 In ena od stvari, ki me fascinira je animacija. 1211 00:53:47,380 --> 00:53:51,010 Zato bomo poskušali narediti malo animacijo 1212 00:53:51,010 --> 00:53:53,760 uporabo le ASCII znakov. 1213 00:53:53,760 --> 00:53:56,470 Znaki lahko natisnete enostavno zdaj. 1214 00:53:56,470 --> 00:54:00,890 >> Torej, tukaj je moj najboljši poskus pri ustvarjanju za vas 1215 00:54:00,890 --> 00:54:07,005 animacija za zajčka teče skozi visoko travo. 1216 00:54:07,005 --> 00:54:07,505 Tukaj je. 1217 00:54:07,505 --> 00:54:10,150 1218 00:54:10,150 --> 00:54:10,670 V REDU. 1219 00:54:10,670 --> 00:54:14,050 Torej on ne teče še ni, ampak je tam stoji v visoki travi. 1220 00:54:14,050 --> 00:54:17,810 >> Zdaj, če bi bil jaz animator, v stari šoli 1221 00:54:17,810 --> 00:54:20,860 verzija animacije, kar sem bi storiti je, jaz bi proizvodnjo 1222 00:54:20,860 --> 00:54:23,640 slika tega zajčka v travi. 1223 00:54:23,640 --> 00:54:25,390 In potem bi proizvodnjo drugo picture-- 1224 00:54:25,390 --> 00:54:30,600 drugo, kar so imenovali cell-- da je zajček le nekoliko premakne. 1225 00:54:30,600 --> 00:54:34,870 In nato tretji, da je zajček preselila malo dlje. 1226 00:54:34,870 --> 00:54:40,610 >> In jaz bi proizvodnjo celotne zaporedje teh celic. 1227 00:54:40,610 --> 00:54:44,220 Nekateri kjer zajček je končana na levi strani. 1228 00:54:44,220 --> 00:54:47,050 In potem se premika počasi, ena eden proti sredini. 1229 00:54:47,050 --> 00:54:51,120 In potem od sredine nad desno. 1230 00:54:51,120 --> 00:54:55,760 In če sem bila takrat res srečen, da sem lahko dal skupaj 1231 00:54:55,760 --> 00:54:57,970 in sem jih lahko animirati. 1232 00:54:57,970 --> 00:55:00,370 In tam je moj zajček teče skozi travo. 1233 00:55:00,370 --> 00:55:02,310 >> To je moja velika PowerPoint trik za dan. 1234 00:55:02,310 --> 00:55:02,809 V REDU. 1235 00:55:02,809 --> 00:55:04,760 Torej, to je tako dober, kot je dobil. 1236 00:55:04,760 --> 00:55:05,260 V REDU. 1237 00:55:05,260 --> 00:55:08,455 Torej, tukaj je še enkrat, Tukaj je naša zajček teče skozi travo. 1238 00:55:08,455 --> 00:55:09,217 >> SPEAKER 19: Spet. 1239 00:55:09,217 --> 00:55:11,050 BRIAN SCASSELLATI: One več časa, vse v redu. 1240 00:55:11,050 --> 00:55:11,940 Tam je tvoj zajček. 1241 00:55:11,940 --> 00:55:12,940 V REDU. 1242 00:55:12,940 --> 00:55:15,470 >> Torej, danes, kaj bomo storiti, je, da bomo 1243 00:55:15,470 --> 00:55:21,110 poskusiti, da avtomatizirati postopek proizvajanja te celice. 1244 00:55:21,110 --> 00:55:24,135 Ne bomo povsem priti do točke da bi jih lahko vse skupaj. 1245 00:55:24,135 --> 00:55:28,900 Ampak, bomo poskušali avtomatizirati Postopek generiranja tega zaporedja. 1246 00:55:28,900 --> 00:55:32,900 >> In to je veliko tega, kar animacija je danes podobno. 1247 00:55:32,900 --> 00:55:36,690 To pomeni, da ne počnejo stvari nujno s pripravo vse z roko. 1248 00:55:36,690 --> 00:55:40,610 Mi uporabljamo računalnik za avtomatizacijo deli tega procesa. 1249 00:55:40,610 --> 00:55:41,110 V REDU. 1250 00:55:41,110 --> 00:55:47,720 >> Zato mi dovolite, preklopite zdaj naši CS50 IDE. 1251 00:55:47,720 --> 00:55:54,260 In sem ustvaril za us-- in pustite, me povečate tukaj malo bit-- sem 1252 00:55:54,260 --> 00:55:58,420 ustvarjen za nas izhodišče. 1253 00:55:58,420 --> 00:56:03,830 >> Vsakič, vas prosimo, da bi sedel dol in napisati del kode, 1254 00:56:03,830 --> 00:56:09,250 kaj smo res vas prosim, da naredite se bomo prosi rešiti problem. 1255 00:56:09,250 --> 00:56:11,810 In način, da bi smeli razmišljati o tem, da je 1256 00:56:11,810 --> 00:56:17,900 je začnemo z nekaterimi preprosto del te raztopine. 1257 00:56:17,900 --> 00:56:21,730 In potem graditi ven iz tega dela. 1258 00:56:21,730 --> 00:56:23,400 In to je tisto, kar bomo storili danes. 1259 00:56:23,400 --> 00:56:27,570 >> Torej, namesto da poskuša vse naenkrat, da napišite celotno kup kode, ki je 1260 00:56:27,570 --> 00:56:30,770 bo za izdelavo tistih, 10 animacije celice, 1261 00:56:30,770 --> 00:56:35,506 bomo namesto tega začeti z enega kosa, ki deluje. 1262 00:56:35,506 --> 00:56:37,380 In potem bomo zgradili malo okrog, da 1263 00:56:37,380 --> 00:56:39,740 in malo bolj in malo več. 1264 00:56:39,740 --> 00:56:42,550 >> Zdaj je dobra stvar reševanje problemov na ta način 1265 00:56:42,550 --> 00:56:46,716 je, da bo vam omogočajo, da začnete vedno z nečim, da veste, 1266 00:56:46,716 --> 00:56:51,130 dela in uvesti en postopno spremembo. 1267 00:56:51,130 --> 00:56:54,090 In to je odličen način da se naučijo, kako kodo, 1268 00:56:54,090 --> 00:56:58,590 ker vsakič naredite sprememba, vidiš, kakšen vpliv ima. 1269 00:56:58,590 --> 00:56:59,540 V REDU. 1270 00:56:59,540 --> 00:57:01,450 >> Torej, tukaj je naše izhodišče. 1271 00:57:01,450 --> 00:57:01,950 V REDU. 1272 00:57:01,950 --> 00:57:08,030 Torej na začetku moje datoteke, Sem hash #included stdio.h. 1273 00:57:08,030 --> 00:57:12,560 To je tako, da sem lahko dobil printf () funkcijo za delo. 1274 00:57:12,560 --> 00:57:15,240 >> Potem sem jaz imam svojo glavno funkcijo. 1275 00:57:15,240 --> 00:57:18,760 In to še vedno izgleda malo Skrivnosten ali nejasna, da nekateri od vas. 1276 00:57:18,760 --> 00:57:20,010 To je ok. 1277 00:57:20,010 --> 00:57:23,190 Vse to govori, da Glavna funkcija je 1278 00:57:23,190 --> 00:57:27,830 no arguments-- nična sredstva nič v C in ga 1279 00:57:27,830 --> 00:57:29,940 vrne po dogovoru celo število. 1280 00:57:29,940 --> 00:57:33,290 Glavna vedno vrne celo število, običajno koda rekel stvari 1281 00:57:33,290 --> 00:57:35,071 je šlo dobro, ali ni šlo dobro. 1282 00:57:35,071 --> 00:57:35,570 V REDU. 1283 00:57:35,570 --> 00:57:39,110 Toda glavno je, da ima to tvori za nas prav zdaj. 1284 00:57:39,110 --> 00:57:42,080 >> Sem pa dal v treh vrstic kode. 1285 00:57:42,080 --> 00:57:46,760 In skupaj z vsako vrstico kodo, sem dal komentar. 1286 00:57:46,760 --> 00:57:51,340 Zdaj pa ena od stvari, ki jih Vztrajali bomo, da boste to storili, 1287 00:57:51,340 --> 00:57:55,320 in je tako pomemben programerska praksa, 1288 00:57:55,320 --> 00:57:57,800 je vedno komentirati svojo kodo. 1289 00:57:57,800 --> 00:58:02,550 Vedno si zapišite v Angleščina comment nekaj 1290 00:58:02,550 --> 00:58:06,740 da misliš, da je koda je moral storiti. 1291 00:58:06,740 --> 00:58:11,360 Na ta način, kasneje, ko prideš nazaj to, si lahko ogledate na njej in lahko rečem, 1292 00:58:11,360 --> 00:58:13,800 oh, se spomnim, kaj sem bil poskušamo storiti s tem. 1293 00:58:13,800 --> 00:58:17,590 Ali kadar TA sedi z vami poskusite, da vam pomaga pri uradnih ur, 1294 00:58:17,590 --> 00:58:20,890 jih lahko ogledate na tem in šel sem videli, kaj ste skušali narediti, 1295 00:58:20,890 --> 00:58:25,630 ampak to je kaj se v resnici dogaja. 1296 00:58:25,630 --> 00:58:26,130 V REDU. 1297 00:58:26,130 --> 00:58:30,300 >> Torej imam tri dele za mojo kodo, Bom najprej tiska 1298 00:58:30,300 --> 00:58:33,110 iz nekaterih pikah na začetku. 1299 00:58:33,110 --> 00:58:37,480 Bom potem izpisal my zelo fancy zajček. 1300 00:58:37,480 --> 00:58:40,600 In potem nekateri malo pik na koncu. 1301 00:58:40,600 --> 00:58:45,220 >> In ti trije stavki tisk naj poglej seznanjeni, da vas na tej točki. 1302 00:58:45,220 --> 00:58:47,350 Vse, kar delam v vsak od njih je, da sem 1303 00:58:47,350 --> 00:58:49,780 tiskanje zaporedje znakov. 1304 00:58:49,780 --> 00:58:51,370 Tukaj ni vpletene spremenljivke. 1305 00:58:51,370 --> 00:58:54,320 Vse je samo ravno. 1306 00:58:54,320 --> 00:58:55,270 V REDU. 1307 00:58:55,270 --> 00:59:07,340 >> Torej, če grem sedaj na moj terminal-- Pa poglejmo, če lahko dobim to nazaj out-- 1308 00:59:07,340 --> 00:59:09,370 in bom spet tip jasno. 1309 00:59:09,370 --> 00:59:12,507 >> SPEAKER 20: Ali bomo uporabili dvojna poševnica komentar? 1310 00:59:12,507 --> 00:59:14,340 BRIAN SCASSELLATI: Can uporabite double-- Da. 1311 00:59:14,340 --> 00:59:16,920 Obstaja več načinov za pustite komentar v C. One 1312 00:59:16,920 --> 00:59:19,440 način je, da uporabite dvojne poševnice. 1313 00:59:19,440 --> 00:59:24,910 Druga je, da uporabite poševnica in zvezdo in nato zaprite z zvezdo in poševnico. 1314 00:59:24,910 --> 00:59:26,110 V redu. 1315 00:59:26,110 --> 00:59:28,950 >> Najprej bom Navigacijo začnete tukaj. 1316 00:59:28,950 --> 00:59:35,350 Torej, če grem na moj domači imenik, Sem spremenil imenikov tam, 1317 00:59:35,350 --> 00:59:40,230 Grem pogledati in videti, kaj je v tem imeniku, ls, seznam ven. 1318 00:59:40,230 --> 00:59:43,230 Grem, da vidim, da sem dobil dva podmape. 1319 00:59:43,230 --> 00:59:47,910 Naj bo to malo večji tukaj, tako da bomo lahko vsi videli. 1320 00:59:47,910 --> 00:59:50,610 >> Vidim, da sem dobil dva podmape. 1321 00:59:50,610 --> 00:59:53,510 Bom spremenite imenik da gredo v delovni prostor. 1322 00:59:53,510 --> 00:59:58,380 In jaz bom samo tip ven del njega, in potem samo pritisnemo Tab. 1323 00:59:58,380 --> 01:00:01,520 In bo to dokončati ostalo za mano. 1324 01:00:01,520 --> 01:00:03,370 Fancy. 1325 01:00:03,370 --> 01:00:04,960 >> Bom pogledati in videti v delovnem prostoru. 1326 01:00:04,960 --> 01:00:08,431 In zdaj, sem delati na SuperSection 1327 01:00:08,431 --> 01:00:09,680 da smo poučevanje prav zdaj. 1328 01:00:09,680 --> 01:00:10,971 Tako da bom šel v ta imenik. 1329 01:00:10,971 --> 01:00:14,770 1330 01:00:14,770 --> 01:00:15,970 In končno, poglej in videli. 1331 01:00:15,970 --> 01:00:18,480 In imam te datoteke bunny.c. 1332 01:00:18,480 --> 01:00:20,980 >> Vse je v redu, tako da mi jasno, še enkrat. 1333 01:00:20,980 --> 01:00:24,370 In bom spet sem now-- še vedno prebivajo v tem imeniku 1334 01:00:24,370 --> 01:00:27,540 in to mi je povedal, da sem v da SuperSection imenik. 1335 01:00:27,540 --> 01:00:30,690 Grem, da gredo naprej in narediti svoj programski zajčka. 1336 01:00:30,690 --> 01:00:33,730 1337 01:00:33,730 --> 01:00:38,810 In ta ukaz, da zajček, medtem ko zveni malo čudno, 1338 01:00:38,810 --> 01:00:42,960 Prav tako se sklicuje na Jek prevajalnik. 1339 01:00:42,960 --> 01:00:46,470 >> In to je proizvedena me izhod, ki je 1340 01:00:46,470 --> 01:00:52,130 izvršljiv funny-- izvedljiva datoteka imenuje zajčka. 1341 01:00:52,130 --> 01:00:52,700 V REDU. 1342 01:00:52,700 --> 01:00:56,700 Ne morem pa, in to zveni še huje, izvršiti zajčka. 1343 01:00:56,700 --> 01:00:59,360 1344 01:00:59,360 --> 01:01:00,680 V REDU. 1345 01:01:00,680 --> 01:01:03,150 In poglejmo, kaj počne. 1346 01:01:03,150 --> 01:01:04,527 V REDU. 1347 01:01:04,527 --> 01:01:06,360 To je malo tisto, kar sem pričakoval. 1348 01:01:06,360 --> 01:01:11,290 Imam svoj zajček sliko tam, vendar sem nekako vse to želel sam. 1349 01:01:11,290 --> 01:01:13,186 Kaj sem zamudil? 1350 01:01:13,186 --> 01:01:14,478 >> SPEAKER 21: Slash l ali poševnica n. 1351 01:01:14,478 --> 01:01:15,602 BRIAN SCASSELLATI: Slash n. 1352 01:01:15,602 --> 01:01:16,580 V REDU. 1353 01:01:16,580 --> 01:01:18,800 Torej vrnimo tukaj. 1354 01:01:18,800 --> 01:01:20,330 In bom ven iz tega. 1355 01:01:20,330 --> 01:01:23,320 In jaz bom šel nazaj v to. 1356 01:01:23,320 --> 01:01:27,720 In kaj si zdaj zdaj iz moje glavno funkcijo tukaj. 1357 01:01:27,720 --> 01:01:29,280 >> Torej, kaj naj storim? 1358 01:01:29,280 --> 01:01:30,465 Hočem končati linijo. 1359 01:01:30,465 --> 01:01:34,020 1360 01:01:34,020 --> 01:01:35,800 Tako da bom dal v komentarju. 1361 01:01:35,800 --> 01:01:38,430 Bom dal v printf (). 1362 01:01:38,430 --> 01:01:41,350 In kaj moram dati noter? 1363 01:01:41,350 --> 01:01:41,890 / n. 1364 01:01:41,890 --> 01:01:43,480 V REDU. 1365 01:01:43,480 --> 01:01:46,040 Kaj moram storiti, da se konča z? 1366 01:01:46,040 --> 01:01:47,100 Podpičje. 1367 01:01:47,100 --> 01:01:48,730 V redu. 1368 01:01:48,730 --> 01:01:52,880 >> Vendar naj bi res pomembne stvari je prepričati 1369 01:01:52,880 --> 01:01:56,720 vsakič, ko naredite spremembe v kodi, ki jo shranite. 1370 01:01:56,720 --> 01:02:01,380 Če niste shranili kodo, ste bomo opazili malo zvezda tam. 1371 01:02:01,380 --> 01:02:03,420 In da je zvezda vam pravi niso shranili to kodo. 1372 01:02:03,420 --> 01:02:07,790 >> Če sem ga zberejo prav zdaj, to ni bo odražala koli od teh sprememb, 1373 01:02:07,790 --> 01:02:11,680 ker prevajalnik gleda datoteko da je na disku, ne datoteke, ki je 1374 01:02:11,680 --> 01:02:13,790 odpreti v urejevalniku. 1375 01:02:13,790 --> 01:02:14,290 V redu. 1376 01:02:14,290 --> 01:02:20,830 >> Torej, dajmo jo shranite in potem bova šla prav tukaj dol, pridejo nazaj ven. 1377 01:02:20,830 --> 01:02:24,670 Pridi na moj terminal. 1378 01:02:24,670 --> 01:02:27,193 In kaj je počistiti prostor znova. 1379 01:02:27,193 --> 01:02:30,690 1380 01:02:30,690 --> 01:02:35,760 >> In lahko gremo naprej in še en Čas bo naš zajček program. 1381 01:02:35,760 --> 01:02:40,180 In izvajajo zajčka. 1382 01:02:40,180 --> 01:02:42,500 To ni delo niti. 1383 01:02:42,500 --> 01:02:43,950 Napačna poševnica. 1384 01:02:43,950 --> 01:02:52,280 Torej, če pogledamo, kaj imam, sem dal / n tja, vendar sem imel napačno poševnice. 1385 01:02:52,280 --> 01:02:56,190 >> Vse, kar vaš računalnik Ali je zelo jasna. 1386 01:02:56,190 --> 01:02:57,230 V REDU? 1387 01:02:57,230 --> 01:03:01,250 Ena malo napako ločil, in nenadoma ne boste dobili tisto, kar želite. 1388 01:03:01,250 --> 01:03:01,750 V redu. 1389 01:03:01,750 --> 01:03:03,740 Torej, kaj je pomanjšanje nazaj spet ven. 1390 01:03:03,740 --> 01:03:04,410 Šli bomo nazaj. 1391 01:03:04,410 --> 01:03:07,930 No, da to zelo hitro popravilo. 1392 01:03:07,930 --> 01:03:09,270 Bomo dal pravo poševnica v. 1393 01:03:09,270 --> 01:03:10,570 Bomo ga shranite. 1394 01:03:10,570 --> 01:03:13,410 Bomo povečavo nazaj. 1395 01:03:13,410 --> 01:03:16,730 >> Zaradi neznanega razloga, da je ne biti srečen, toda pojdimo naprej 1396 01:03:16,730 --> 01:03:19,850 in bomo šli nazaj na terminal tukaj. 1397 01:03:19,850 --> 01:03:22,940 Ga pospraviti. 1398 01:03:22,940 --> 01:03:24,880 Bomo povečavo. 1399 01:03:24,880 --> 01:03:28,410 In še enkrat, bomo zajčka. 1400 01:03:28,410 --> 01:03:32,360 In zdaj dovolj prepričani, da deluje. 1401 01:03:32,360 --> 01:03:33,240 Hura. 1402 01:03:33,240 --> 01:03:34,300 V REDU. 1403 01:03:34,300 --> 01:03:39,580 >> Torej, kaj je poskusiti, da bi to malo bolj splošno. 1404 01:03:39,580 --> 01:03:46,750 Poglejmo, če namesto samo tiskanje na poseben okvir, 1405 01:03:46,750 --> 01:03:49,610 Pa poglejmo, če lahko naredimo to tako da bomo lahko dobili vse 10 1406 01:03:49,610 --> 01:03:52,960 od teh animiranih sličic da smo želeli imeti. 1407 01:03:52,960 --> 01:03:56,550 Torej še enkrat, vzemimo Ta korak naenkrat. 1408 01:03:56,550 --> 01:03:59,900 >> Poglejmo najprej posploševati, ne tako da sem naredil vse okvire, 1409 01:03:59,900 --> 01:04:03,990 ampak tako delam na enega okvir, ki bi lahko, kar hočem. 1410 01:04:03,990 --> 01:04:05,920 Torej, kaj je razlika med okvirje? 1411 01:04:05,920 --> 01:04:07,377 Je zajček enaka? 1412 01:04:07,377 --> 01:04:07,960 OBČINSTVO: Ja. 1413 01:04:07,960 --> 01:04:08,390 BRIAN SCASSELLATI: Ja. 1414 01:04:08,390 --> 01:04:09,370 V čem je razlika? 1415 01:04:09,370 --> 01:04:10,246 >> OBČINSTVO: Položaj. 1416 01:04:10,246 --> 01:04:11,870 BRIAN SCASSELLATI: Njegova lega, kajne? 1417 01:04:11,870 --> 01:04:15,590 In kako naj nadzorujejo svoje stališče? 1418 01:04:15,590 --> 01:04:17,340 Koliko pik sem dajanje na začetku 1419 01:04:17,340 --> 01:04:19,048 in koliko pik sem dajanje konec. 1420 01:04:19,048 --> 01:04:21,970 Torej sem imel pet Na se začne in pet konec. 1421 01:04:21,970 --> 01:04:28,320 >> Oglejmo nadomestiti pet z zanko. 1422 01:04:28,320 --> 01:04:29,380 V REDU. 1423 01:04:29,380 --> 01:04:32,330 In bom ustvarili za zanka zdaj, da se dogaja, da pravijo, 1424 01:04:32,330 --> 01:04:37,800 Grem, da natisnete nekaj več pik na začetku. 1425 01:04:37,800 --> 01:04:39,600 Bom uporabiti spremenljivko. 1426 01:04:39,600 --> 01:04:44,150 Recimo, kaj pa i kot števec v moji zanki. 1427 01:04:44,150 --> 01:04:47,200 In bom, da ga razglasi do vrha. 1428 01:04:47,200 --> 01:04:49,360 >> In potem v zanko Moram narediti tri stvari. 1429 01:04:49,360 --> 01:04:52,340 Prva stvar, moram storiti se moram inicializirati i. 1430 01:04:52,340 --> 01:04:56,570 Kaj naj jaz inicializirati je, da začnete biti? 1431 01:04:56,570 --> 01:04:57,160 0. 1432 01:04:57,160 --> 01:04:58,310 V REDU. 1433 01:04:58,310 --> 01:05:00,950 >> Potem moram reči, kaj je pogoj odpoved? 1434 01:05:00,950 --> 01:05:03,020 Kdaj naj neham? 1435 01:05:03,020 --> 01:05:05,983 No, koliko pik kajne želite natisniti na tem? 1436 01:05:05,983 --> 01:05:06,921 >> OBČINSTVO: Five. 1437 01:05:06,921 --> 01:05:08,170 BRIAN SCASSELLATI: Pet spet? 1438 01:05:08,170 --> 01:05:10,650 Kaj pa naredimo nekaj drugačna, smo naredili pet. 1439 01:05:10,650 --> 01:05:12,584 Pokažimo, da je drugačen. 1440 01:05:12,584 --> 01:05:13,250 SPEAKER 22: Two. 1441 01:05:13,250 --> 01:05:13,580 BRIAN SCASSELLATI: Two. 1442 01:05:13,580 --> 01:05:14,080 V REDU. 1443 01:05:14,080 --> 01:05:17,760 Torej, če želim dve piki, kaj bi jaz dal tukaj? 1444 01:05:17,760 --> 01:05:19,140 >> OBČINSTVO: Tri. 1445 01:05:19,140 --> 01:05:20,530 >> BRIAN SCASSELLATI: Tri. 1446 01:05:20,530 --> 01:05:21,400 V REDU. 1447 01:05:21,400 --> 01:05:24,220 Kolikokrat je, da bo šel skozi? 1448 01:05:24,220 --> 01:05:28,469 To se dogaja, da gredo skozi trikrat, 0, 1 in 2, kajne? 1449 01:05:28,469 --> 01:05:30,010 V redu, pojdimo nazaj na dvoje. 1450 01:05:30,010 --> 01:05:31,570 Zdaj bomo dobili dve piki. 1451 01:05:31,570 --> 01:05:35,800 In kaj hočem narediti vsak ko sem šel skozi zanko? 1452 01:05:35,800 --> 01:05:38,657 Kaj se mora spremeniti vsakič, ko sem šel skozi? 1453 01:05:38,657 --> 01:05:39,850 >> SPEAKER 23: Dodajte piko. 1454 01:05:39,850 --> 01:05:41,020 >> BRIAN SCASSELLATI: Imam nadaljuj. 1455 01:05:41,020 --> 01:05:41,978 Bom dodati piko. 1456 01:05:41,978 --> 01:05:45,310 Jaz grem za tiskanje piko, vsakokrat skozi zanko. 1457 01:05:45,310 --> 01:05:49,990 Ampak kako sem sledenja kako veliko krat sem bil skozi zanko? 1458 01:05:49,990 --> 01:05:53,260 Jaz sem z uporabo i, da spremenljivka, da števec. 1459 01:05:53,260 --> 01:05:57,110 >> Torej, vsakič, ko skozi, bom za prirastek števec po enega. 1460 01:05:57,110 --> 01:06:00,670 No, to je enako za me kot pravim, i = i + 1. 1461 01:06:00,670 --> 01:06:01,210 To je ok. 1462 01:06:01,210 --> 01:06:04,653 Jaz bi to naredil that-- mi je všeč okrajšava, tako bom rekel, da sem ++. 1463 01:06:04,653 --> 01:06:07,190 1464 01:06:07,190 --> 01:06:08,370 V REDU. 1465 01:06:08,370 --> 01:06:10,680 >> Naredimo isto stvar dol na dnu. 1466 01:06:10,680 --> 01:06:11,846 Samo jaz nekako naredil, da je eden. 1467 01:06:11,846 --> 01:06:13,990 Bom vama pustil naredite tole popolnoma. 1468 01:06:13,990 --> 01:06:14,260 V redu. 1469 01:06:14,260 --> 01:06:15,426 >> Torej, kaj naj napišem tukaj? 1470 01:06:15,426 --> 01:06:17,170 Tukaj je moj zanko. 1471 01:06:17,170 --> 01:06:23,162 Bom naredil printf () in grem da bi bilo tako, da sem samo natisnete eno piko 1472 01:06:23,162 --> 01:06:25,740 na ta dnu. 1473 01:06:25,740 --> 01:06:27,740 >> Kaj naj napišem znotraj tega za zanke zdaj? 1474 01:06:27,740 --> 01:06:30,897 1475 01:06:30,897 --> 01:06:33,948 No, najprej, kaj spremenljivke naj uporabim? 1476 01:06:33,948 --> 01:06:35,430 >> SPEAKER 24: j. 1477 01:06:35,430 --> 01:06:36,880 >> BRIAN SCASSELLATI: sem lahko uporabite j. 1478 01:06:36,880 --> 01:06:38,040 Lahko uporabim isto eno? 1479 01:06:38,040 --> 01:06:39,961 Lahko uporabim i spet? 1480 01:06:39,961 --> 01:06:40,460 Ja. 1481 01:06:40,460 --> 01:06:45,531 To je v redu, ker je Is da sem z tu gor, 1482 01:06:45,531 --> 01:06:47,780 Jaz jih ne, ko spet potrebujejo Pridem do te točke. 1483 01:06:47,780 --> 01:06:52,240 1484 01:06:52,240 --> 01:06:53,790 >> Torej, kaj naj inicializirati i do? 1485 01:06:53,790 --> 01:06:56,675 1486 01:06:56,675 --> 01:06:57,300 SPEAKER 25: 10. 1487 01:06:57,300 --> 01:06:58,567 BRIAN SCASSELLATI: 0. 1488 01:06:58,567 --> 01:06:59,400 Kaj naj preverim? 1489 01:06:59,400 --> 01:07:02,960 Koliko pik moram sedaj konec če imam dve piki na začetku? 1490 01:07:02,960 --> 01:07:05,820 1491 01:07:05,820 --> 01:07:09,165 Rabim osem na koncu, kaj naj preveri, i manj than-- 1492 01:07:09,165 --> 01:07:12,645 >> OBČINSTVO: Sedem, osem, devet. 1493 01:07:12,645 --> 01:07:14,020 BRIAN SCASSELLATI: Slišal sem sedem. 1494 01:07:14,020 --> 01:07:14,810 Slišal sem osem. 1495 01:07:14,810 --> 01:07:15,970 In slišal sem devet. 1496 01:07:15,970 --> 01:07:16,470 V REDU. 1497 01:07:16,470 --> 01:07:19,540 Torej smo vsi v desno ball-- Jason pravi 10. 1498 01:07:19,540 --> 01:07:21,550 V REDU. 1499 01:07:21,550 --> 01:07:25,920 >> Če sem potreboval dve piki za prvi, koliko naredite 1500 01:07:25,920 --> 01:07:30,170 I-- in rabim osem pik za zadnji one-- sem dal dva tam zgoraj, 1501 01:07:30,170 --> 01:07:31,743 kaj naj dam spodaj dol? 1502 01:07:31,743 --> 01:07:32,570 >> OBČINSTVO: Eight. 1503 01:07:32,570 --> 01:07:33,611 >> BRIAN SCASSELLATI: Eight. 1504 01:07:33,611 --> 01:07:35,695 Ker to se dogaja, da računam nič skozi sedem. 1505 01:07:35,695 --> 01:07:38,490 In to je osemkrat skozi zanko. 1506 01:07:38,490 --> 01:07:38,990 V REDU. 1507 01:07:38,990 --> 01:07:41,774 In kaj moram narediti konec? 1508 01:07:41,774 --> 01:07:42,670 >> OBČINSTVO: i ++. 1509 01:07:42,670 --> 01:07:44,400 >> BRIAN SCASSELLATI: i ++. 1510 01:07:44,400 --> 01:07:45,440 V redu. 1511 01:07:45,440 --> 01:07:48,260 Tako, da je videti precej dobro tam. 1512 01:07:48,260 --> 01:07:50,620 Poskusimo in poglejmo, kaj počne. 1513 01:07:50,620 --> 01:07:51,450 V REDU. 1514 01:07:51,450 --> 01:07:53,770 Torej bomo, da ga shranite. 1515 01:07:53,770 --> 01:07:54,940 Lepo in shranili. 1516 01:07:54,940 --> 01:07:56,910 >> Bomo povečavo nazaj ven. 1517 01:07:56,910 --> 01:07:58,220 Bomo poskušali tukaj v terminalu. 1518 01:07:58,220 --> 01:08:01,440 1519 01:08:01,440 --> 01:08:02,970 Bomo povečavo. 1520 01:08:02,970 --> 01:08:05,416 Ups. 1521 01:08:05,416 --> 01:08:09,990 Bomo, še enkrat, da naš zajček program. 1522 01:08:09,990 --> 01:08:14,460 In gredo naprej in izvršitev zajčka. 1523 01:08:14,460 --> 01:08:15,980 In to je to. 1524 01:08:15,980 --> 01:08:17,710 >> Torej je naš zajček. 1525 01:08:17,710 --> 01:08:25,130 Če ima dve piki na začetku in osem pike na koncu. 1526 01:08:25,130 --> 01:08:27,540 Vsi še vedno z mano? 1527 01:08:27,540 --> 01:08:28,770 V REDU. 1528 01:08:28,770 --> 01:08:29,580 >> Tako smo jo zgradili. 1529 01:08:29,580 --> 01:08:33,000 Zgradili smo eno zajčka, en poseben okvir. 1530 01:08:33,000 --> 01:08:36,229 Zdaj smo bili sposobni posploševati, da je za izgradnjo 1531 01:08:36,229 --> 01:08:38,390 več, različne vrste okvirjev. 1532 01:08:38,390 --> 01:08:42,399 >> Zdaj pa pojdimo naprej, in imajo ustvarila ne le en okvir, 1533 01:08:42,399 --> 01:08:46,290 ampak kaj je ustvarila 10 okvirji, kjer smo se počasi 1534 01:08:46,290 --> 01:08:50,569 da zajček premakniti vse pot čez polje. 1535 01:08:50,569 --> 01:08:51,430 V redu. 1536 01:08:51,430 --> 01:08:53,660 >> Pojdimo nazaj. 1537 01:08:53,660 --> 01:08:54,839 In bomo poskušali zdaj. 1538 01:08:54,839 --> 01:09:00,680 1539 01:09:00,680 --> 01:09:02,830 Torej, kaj sem res potrebujejo, da tu spremeniti? 1540 01:09:02,830 --> 01:09:06,139 1541 01:09:06,139 --> 01:09:07,180 Kaj moram spremeniti? 1542 01:09:07,180 --> 01:09:10,638 >> SPEAKER 26: Morate najprej spremeniti število največ pikami 1543 01:09:10,638 --> 01:09:11,626 na začetku. 1544 01:09:11,626 --> 01:09:16,850 Ker če delamo 10 pik, to se dogaja, da se morajo do merilu. 1545 01:09:16,850 --> 01:09:17,850 BRIAN SCASSELLATI: Ja. 1546 01:09:17,850 --> 01:09:23,760 Torej, zdaj imam pa nekako Hardwired da vedno narediti dve piki na začetku 1547 01:09:23,760 --> 01:09:27,890 in vedno delati osem pike na koncu. 1548 01:09:27,890 --> 01:09:30,660 >> Želim zgraditi še eno zanko, kajne? 1549 01:09:30,660 --> 01:09:33,290 Ker ne želim, da graditi le en zajček sliko, 1550 01:09:33,290 --> 01:09:37,140 Želim zgraditi 10 zajček slike. 1551 01:09:37,140 --> 01:09:41,500 Zato moram zgraditi še eno zanko, in kot sem že šel skozi to zanko, 1552 01:09:41,500 --> 01:09:44,660 Želim spremeniti koliko pike sem natisniti na začetku 1553 01:09:44,660 --> 01:09:50,529 in koliko pik sem natisniti na koncu, na podlagi katerih cikel skozi zanko 1554 01:09:50,529 --> 01:09:52,270 Jaz sem. 1555 01:09:52,270 --> 01:09:52,770 V redu. 1556 01:09:52,770 --> 01:09:54,430 >> Torej, kaj je dobil še en števec. 1557 01:09:54,430 --> 01:09:58,142 Nekdo je prej dejal, j, zato bomo narediti še j. 1558 01:09:58,142 --> 01:10:00,100 In zdaj, gremo na graditi drugo za zanko. 1559 01:10:00,100 --> 01:10:02,650 1560 01:10:02,650 --> 01:10:06,200 >> Kaj se dogaja znotraj te zanke? 1561 01:10:06,200 --> 01:10:09,060 Ta stvar mora iti znotraj zanke, kajne? 1562 01:10:09,060 --> 01:10:11,190 Ali zajček imajo iti v notranjosti zanke? 1563 01:10:11,190 --> 01:10:13,390 Ali moram zajček v vsak od teh 10 sličic? 1564 01:10:13,390 --> 01:10:14,099 >> OBČINSTVO: Uh-huh. 1565 01:10:14,099 --> 01:10:15,098 BRIAN SCASSELLATI: Ja. 1566 01:10:15,098 --> 01:10:17,250 Hočem zajček v vsaki od 10 sličic, kajne? 1567 01:10:17,250 --> 01:10:20,531 Kaj pa pike na konec, moram to? 1568 01:10:20,531 --> 01:10:21,030 V REDU. 1569 01:10:21,030 --> 01:10:22,550 >> Torej bom zamakniti vse od njih. 1570 01:10:22,550 --> 01:10:25,110 Grem, da označite vse to, in bom udaril Tab. 1571 01:10:25,110 --> 01:10:28,590 In to se dogaja, da jih potisnite vsem malo, tako da je enostavno za mene 1572 01:10:28,590 --> 01:10:32,010 da vidim, kaj je v zanko. 1573 01:10:32,010 --> 01:10:33,710 In potem ga bom končala. 1574 01:10:33,710 --> 01:10:35,850 Recimo. 1575 01:10:35,850 --> 01:10:36,430 V REDU? 1576 01:10:36,430 --> 01:10:39,230 >> Zdaj, v to zanko, da Sem building-- Ops, 1577 01:10:39,230 --> 01:10:43,810 da to, da boste lahko see-- Imam svoj števec j. 1578 01:10:43,810 --> 01:10:45,630 Bom začel pri 0. 1579 01:10:45,630 --> 01:10:47,829 Kolikokrat ti želim iti skozi to zanko? 1580 01:10:47,829 --> 01:10:48,620 OBČINSTVO: 10-krat. 1581 01:10:48,620 --> 01:10:49,786 BRIAN SCASSELLATI: 10-krat. 1582 01:10:49,786 --> 01:10:51,402 Torej, kaj več bi bilo sem dal tu? 1583 01:10:51,402 --> 01:10:52,880 >> OBČINSTVO: 9, 10. 1584 01:10:52,880 --> 01:10:55,600 >> BRIAN SCASSELLATI: 9, 10, nekdo je dobil reči 11, kajne? 1585 01:10:55,600 --> 01:10:58,190 1586 01:10:58,190 --> 01:11:01,585 Želela sem dve piki pred in dal sem manj kot 2. 1587 01:11:01,585 --> 01:11:03,810 Želel sem osem pik, Sem dal jaz manj kot 8. 1588 01:11:03,810 --> 01:11:06,950 Sedaj želim iti skozi 10 krat, zato sem dal j manj than-- 1589 01:11:06,950 --> 01:11:07,590 >> OBČINSTVO: 10. 1590 01:11:07,590 --> 01:11:08,610 >> BRIAN SCASSELLATI: 10. 1591 01:11:08,610 --> 01:11:10,150 Tam gremo. 1592 01:11:10,150 --> 01:11:13,360 In kaj naj naredim, na koncu, da j? 1593 01:11:13,360 --> 01:11:15,310 ++, Je prirastek. 1594 01:11:15,310 --> 01:11:16,230 V REDU. 1595 01:11:16,230 --> 01:11:21,500 Zdaj, tukaj je rafiniran del, kar je bo to zgodilo prav zdaj, če bom to naredil? 1596 01:11:21,500 --> 01:11:24,537 Bom natisniti 10 posnetkov? 1597 01:11:24,537 --> 01:11:26,370 SPEAKER 27: Mislim, da jih bomo vsi enaki. 1598 01:11:26,370 --> 01:11:28,453 BRIAN SCASSELLATI: Oni vsi enaki, kajne? 1599 01:11:28,453 --> 01:11:31,750 Ker je vse od njih še vedno potekajo postaviti dve piki na začetku. 1600 01:11:31,750 --> 01:11:34,162 Ampak jih ne bom vse želijo imajo dve piki na začetku. 1601 01:11:34,162 --> 01:11:35,870 Koliko pik storiti I radi na začetku? 1602 01:11:35,870 --> 01:11:39,097 1603 01:11:39,097 --> 01:11:40,020 >> OBČINSTVO: Spreminjanje. 1604 01:11:40,020 --> 01:11:42,840 >> BRIAN SCASSELLATI: I želim, da bi spremenili, kajne? 1605 01:11:42,840 --> 01:11:46,588 Torej, kaj imam tu, ki se spreminja vsakič zanka gre skozi? 1606 01:11:46,588 --> 01:11:48,242 >> OBČINSTVO: Število pik, j. 1607 01:11:48,242 --> 01:11:49,950 BRIAN SCASSELLATI: j, število pik. 1608 01:11:49,950 --> 01:11:54,782 Tako sem se lahko spremeni, da je to j. 1609 01:11:54,782 --> 01:11:59,190 Prvič prek zanka, kaj da bo? 1610 01:11:59,190 --> 01:12:01,700 Kaj moram nastaviti j bi na prvi? 1611 01:12:01,700 --> 01:12:02,420 >> OBČINSTVO: 0. 1612 01:12:02,420 --> 01:12:05,700 >> BRIAN SCASSELLATI: Torej, koliko krat bom to storiti? 1613 01:12:05,700 --> 01:12:06,750 0. 1614 01:12:06,750 --> 01:12:11,750 Drugič skozi zanko, J bo 1, ker sem ga prirastek. 1615 01:12:11,750 --> 01:12:14,180 Koliko pik bom natisniti? 1616 01:12:14,180 --> 01:12:15,100 1. 1617 01:12:15,100 --> 01:12:19,904 Tretji čas skozi zanko, koliko pik bom natisniti? 1618 01:12:19,904 --> 01:12:20,587 >> OBČINSTVO: Tri. 1619 01:12:20,587 --> 01:12:22,170 BRIAN SCASSELLATI: j se bo 3. 1620 01:12:22,170 --> 01:12:24,890 Koliko pik bom natisniti? 1621 01:12:24,890 --> 01:12:26,817 Oh, oprostite, j se dogaja, da je 2. 1622 01:12:26,817 --> 01:12:28,233 Koliko pik bom natisniti? 1623 01:12:28,233 --> 01:12:28,980 >> OBČINSTVO: 2. 1624 01:12:28,980 --> 01:12:29,855 >> BRIAN SCASSELLATI: 2. 1625 01:12:29,855 --> 01:12:32,460 OK, tako da bom obdržati povečevanje da ko gremo skupaj. 1626 01:12:32,460 --> 01:12:33,460 Kako pa doli? 1627 01:12:33,460 --> 01:12:34,310 Kaj se dogaja tukaj? 1628 01:12:34,310 --> 01:12:38,080 Nočem 8 vedno na koncu več? 1629 01:12:38,080 --> 01:12:39,269 >> SPEAKER 28: 10. 1630 01:12:39,269 --> 01:12:40,685 BRIAN SCASSELLATI: Hočem 10 pik? 1631 01:12:40,685 --> 01:12:43,440 1632 01:12:43,440 --> 01:12:44,620 Želim, da spremenijo, preveč. 1633 01:12:44,620 --> 01:12:47,469 Torej, kako si želim, da bi spremenili? 1634 01:12:47,469 --> 01:12:49,167 >> OBČINSTVO: [neslišno]. 1635 01:12:49,167 --> 01:12:51,750 BRIAN SCASSELLATI: No, če sem pet pik na začetku, 1636 01:12:51,750 --> 01:12:53,293 koliko dot je ne dobim na koncu? 1637 01:12:53,293 --> 01:12:54,020 >> OBČINSTVO: Five. 1638 01:12:54,020 --> 01:12:55,630 >> BRIAN SCASSELLATI: Če imam šest pike na začetku, 1639 01:12:55,630 --> 01:12:56,875 koliko dobim na koncu? 1640 01:12:56,875 --> 01:12:57,500 OBČINSTVO: Four. 1641 01:12:57,500 --> 01:12:58,950 BRIAN SCASSELLATI: Če imam sedem pik na začetku, 1642 01:12:58,950 --> 01:13:00,204 koliko dobim na koncu? 1643 01:13:00,204 --> 01:13:00,870 OBČINSTVO: Tri. 1644 01:13:00,870 --> 01:13:03,161 BRIAN SCASSELLATI: če sem dobil j pike na začetku, 1645 01:13:03,161 --> 01:13:04,790 koliko dobim na koncu? 1646 01:13:04,790 --> 01:13:07,520 10-j. 1647 01:13:07,520 --> 01:13:08,650 V REDU. 1648 01:13:08,650 --> 01:13:10,390 Torej, poskusimo to. 1649 01:13:10,390 --> 01:13:13,180 >> Torej bom rešiti naš zajček program. 1650 01:13:13,180 --> 01:13:16,270 Še enkrat bomo pomanjšati. 1651 01:13:16,270 --> 01:13:19,090 Bova šla dol na naš terminal. 1652 01:13:19,090 --> 01:13:20,180 Mi bomo to jasno. 1653 01:13:20,180 --> 01:13:23,410 In povečavo. 1654 01:13:23,410 --> 01:13:26,410 Naredili bomo naš zajček program znova. 1655 01:13:26,410 --> 01:13:27,690 In bomo to izvesti. 1656 01:13:27,690 --> 01:13:30,462 1657 01:13:30,462 --> 01:13:32,090 Uh-oh. 1658 01:13:32,090 --> 01:13:34,580 >> Čakaj, kaj je pomanjšanje. 1659 01:13:34,580 --> 01:13:36,860 Sem dobil 10 posnetkov? 1660 01:13:36,860 --> 01:13:38,970 No, koliko zajčke storiti vidim tam gor? 1661 01:13:38,970 --> 01:13:43,330 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. 1662 01:13:43,330 --> 01:13:44,820 Imam 10 posnetkov. 1663 01:13:44,820 --> 01:13:46,375 Ali so vsi isti? 1664 01:13:46,375 --> 01:13:47,000 OBČINSTVO: Ja. 1665 01:13:47,000 --> 01:13:48,740 No. 1666 01:13:48,740 --> 01:13:50,000 >> BRIAN SCASSELLATI: No. 1667 01:13:50,000 --> 01:13:55,050 Da prva je zajček je daleč na levi strani. 1668 01:13:55,050 --> 01:13:57,541 In tukaj je zajček je daleč na 1669 01:13:57,541 --> 01:13:58,290 SPEAKER 29: Right. 1670 01:13:58,290 --> 01:14:00,502 BRIAN SCASSELLATI: Torej, kaj sem pozabil, da naredim? 1671 01:14:00,502 --> 01:14:01,750 SPEAKER 30: Začni novo linijo. 1672 01:14:01,750 --> 01:14:04,041 BRIAN SCASSELLATI: Pozabil sem začeti novo vrstico, enkrat. 1673 01:14:04,041 --> 01:14:05,270 Enako napako sem naredil prej. 1674 01:14:05,270 --> 01:14:07,120 V redu, pojdimo popraviti. 1675 01:14:07,120 --> 01:14:11,690 Zdaj pa sem še vedno dobil kodo tam, da bi novo linijo. 1676 01:14:11,690 --> 01:14:13,899 Zakaj ni to delo? 1677 01:14:13,899 --> 01:14:15,440 SPEAKER 31: To ni znotraj zanke. 1678 01:14:15,440 --> 01:14:17,710 BRIAN SCASSELLATI: Oh, to ni v notranjosti zanke. 1679 01:14:17,710 --> 01:14:18,520 Tako je. 1680 01:14:18,520 --> 01:14:20,150 To je sedel zunaj tukaj. 1681 01:14:20,150 --> 01:14:23,470 1682 01:14:23,470 --> 01:14:29,050 In za zanke je vse da je znotraj tega besedila. 1683 01:14:29,050 --> 01:14:35,500 >> Tako da bom, da se premaknete to znotraj zanke for. 1684 01:14:35,500 --> 01:14:39,410 In bom Tab pred njim na kažejo, da je na pravem mestu. 1685 01:14:39,410 --> 01:14:42,020 In zdaj, bomo ponovno shraniti. 1686 01:14:42,020 --> 01:14:44,350 Bomo pomanjšati. 1687 01:14:44,350 --> 01:14:45,770 Bomo preklop na naš terminal. 1688 01:14:45,770 --> 01:14:48,330 1689 01:14:48,330 --> 01:14:50,360 Povečaj. 1690 01:14:50,360 --> 01:14:54,050 Bomo remake naš zajček program. 1691 01:14:54,050 --> 01:14:59,070 In zdaj, zdaj imamo naše 10 posnetkov. 1692 01:14:59,070 --> 01:15:00,190 >> [Ploskati] 1693 01:15:00,190 --> 01:15:02,120 >> BRIAN SCASSELLATI: OK. 1694 01:15:02,120 --> 01:15:04,080 So. 1695 01:15:04,080 --> 01:15:08,370 Tukaj je naša ugnezdeni za zank. 1696 01:15:08,370 --> 01:15:13,140 Bili smo sposobni ustvariti v Notranja zanka koliko pik sem si želel 1697 01:15:13,140 --> 01:15:15,320 natisniti na začetku, na koncu. 1698 01:15:15,320 --> 01:15:21,570 In zunanjo zanko nadzorovano koliko slik sem bila stavba. 1699 01:15:21,570 --> 01:15:26,340 Začeli smo z eno majhno jedro problema, 1700 01:15:26,340 --> 01:15:30,320 in smo zgradili ven iz te točke. 1701 01:15:30,320 --> 01:15:30,820 V redu. 1702 01:15:30,820 --> 01:15:33,500 >> Naredimo še en korak. 1703 01:15:33,500 --> 01:15:35,040 Ste pripravljeni? 1704 01:15:35,040 --> 01:15:38,800 Obstaja ena stvar tukaj, kjer smo pravzaprav nekako dobil 1705 01:15:38,800 --> 01:15:42,180 več kompleksnosti, kot moramo. 1706 01:15:42,180 --> 01:15:44,700 Oglejmo pogled. 1707 01:15:44,700 --> 01:15:52,050 Torej v našem zajček programu, če sem pomanjšati tukaj 1708 01:15:52,050 --> 01:15:54,980 Pravzaprav sem naredil nekaj enako stvar znova in znova. 1709 01:15:54,980 --> 01:15:59,032 Kaj naj storim, da je to neke vrste ista stvar dvakrat ponovi? 1710 01:15:59,032 --> 01:16:00,310 >> SPEAKER 32: Natisni pike. 1711 01:16:00,310 --> 01:16:03,526 >> BRIAN SCASSELLATI: Ja Tiskam tiste pike dvakrat. 1712 01:16:03,526 --> 01:16:05,710 Res, bi moral imeti ta komentar tu spodaj. 1713 01:16:05,710 --> 01:16:09,037 Tiskam nekaj Pike na začenja, prav tu. 1714 01:16:09,037 --> 01:16:10,620 In potem sem natisniti nekaj pik na koncu. 1715 01:16:10,620 --> 01:16:14,694 In jaz nekako natanko isto stvar. 1716 01:16:14,694 --> 01:16:17,110 Kaj bomo za začetek delajo na v naslednjih nekaj tednih 1717 01:16:17,110 --> 01:16:23,440 je, da lahko sprejme teh blokov Koda, ki jo uporabljamo znova in znova, 1718 01:16:23,440 --> 01:16:25,800 in skozi proces imenovana abstrakcija, 1719 01:16:25,800 --> 01:16:31,100 bomo jih izvlecite in jih napisati nekoč, tako da bomo lahko potem 1720 01:16:31,100 --> 01:16:35,130 jih ponovno znova in znova. 1721 01:16:35,130 --> 01:16:37,210 Torej, poskusimo to. 1722 01:16:37,210 --> 01:16:38,220 Pripravljen? 1723 01:16:38,220 --> 01:16:42,200 >> Bomo to blok kode. 1724 01:16:42,200 --> 01:16:45,280 In jaz grem, da ga vzamete ven. 1725 01:16:45,280 --> 01:16:50,530 In bom define-- navzdol na dnu, 1726 01:16:50,530 --> 01:16:53,130 Bom napisati novo funkcijo. 1727 01:16:53,130 --> 01:16:54,750 To se ne bo vrnil ničesar. 1728 01:16:54,750 --> 01:16:58,550 In bom, da ga pokličete printDots. 1729 01:16:58,550 --> 01:17:01,530 >> To se dogaja, da imajo eno argument, celo število, ki 1730 01:17:01,530 --> 01:17:04,920 pravi howManyDots moram natisniti. 1731 01:17:04,920 --> 01:17:09,310 1732 01:17:09,310 --> 01:17:17,720 In zdaj namesto tiskanje j pik, bom Natisni Povej howManyDots moram natisniti. 1733 01:17:17,720 --> 01:17:21,581 >> In tam je en majhen problem tukaj. 1734 01:17:21,581 --> 01:17:22,580 Ali kdo ve, kaj je to? 1735 01:17:22,580 --> 01:17:27,270 1736 01:17:27,270 --> 01:17:31,505 Kaj moram, da je na seznamu tu, ki ni opredeljen? 1737 01:17:31,505 --> 01:17:34,165 1738 01:17:34,165 --> 01:17:35,090 >> OBČINSTVO: [neslišno] 1739 01:17:35,090 --> 01:17:37,465 >> BRIAN SCASSELLATI: No, kako mnogi pike je opredeljena pravica do 1740 01:17:37,465 --> 01:17:40,584 tukaj, ampak sem s pomočjo te spremenljivke i. 1741 01:17:40,584 --> 01:17:43,750 Torej bom sprejeti to spremenljivko i in grem, da ga opredeli dol tukaj 1742 01:17:43,750 --> 01:17:44,610 namesto tega. 1743 01:17:44,610 --> 01:17:49,683 >> Torej, zdaj pa se dogaja, da stay-- oops, Dobil caps lock na somehow-- sem 1744 01:17:49,683 --> 01:17:52,060 dogaja, da sem ga tukaj. 1745 01:17:52,060 --> 01:17:57,050 >> Torej, tukaj je moj mali funkcija ali sub-rutinsko, in pravi, 1746 01:17:57,050 --> 01:18:00,640 koliko pik bom natisniti? 1747 01:18:00,640 --> 01:18:05,300 In bomo šli skozi to zanko in jih natisnete znova in znova. 1748 01:18:05,300 --> 01:18:10,940 >> Lahko pa spremenite svoj program tukaj. 1749 01:18:10,940 --> 01:18:12,540 In kaj sem poklical, da je funkcija? 1750 01:18:12,540 --> 01:18:13,960 printDots. 1751 01:18:13,960 --> 01:18:17,060 Torej bom poklical printDots. 1752 01:18:17,060 --> 01:18:21,530 Koliko pik ne želim natisniti prvič pred zajček? 1753 01:18:21,530 --> 01:18:22,030 OBČINSTVO: j. 1754 01:18:22,030 --> 01:18:23,230 BRIAN SCASSELLATI: j. 1755 01:18:23,230 --> 01:18:27,110 Koliko pik ne želim natisniti Na koncu, po zajček? 1756 01:18:27,110 --> 01:18:30,610 1757 01:18:30,610 --> 01:18:31,110 10-j. 1758 01:18:31,110 --> 01:18:35,020 1759 01:18:35,020 --> 01:18:38,010 >> In tam je ena stvar, ki mi manjka. 1760 01:18:38,010 --> 01:18:43,740 Kot ste danes videli v predavanju, bomo razglasi printDots 1761 01:18:43,740 --> 01:18:52,430 do zgoraj, da dobimo prototip. 1762 01:18:52,430 --> 01:18:56,740 1763 01:18:56,740 --> 01:18:58,220 V REDU. 1764 01:18:58,220 --> 01:19:03,530 >> Torej, kaj sem naredil, je sem skušal izolirati, da se ponovno uporabi del kode 1765 01:19:03,530 --> 01:19:06,430 da sem naredil znova in znova. 1766 01:19:06,430 --> 01:19:11,120 In sem poskušal izvleči tako, da vse to je vsebovana v enem mestu. 1767 01:19:11,120 --> 01:19:16,810 Na ta način, če imam kakšno napako nekje, Imam samo to popraviti na enem mestu. 1768 01:19:16,810 --> 01:19:17,310 V redu. 1769 01:19:17,310 --> 01:19:18,470 >> Torej, dajmo ga shranite. 1770 01:19:18,470 --> 01:19:20,950 In dajmo se prepričajte, da deluje. 1771 01:19:20,950 --> 01:19:22,050 Torej, pojdimo ven. 1772 01:19:22,050 --> 01:19:25,200 Šla bova spet na naš terminal. 1773 01:19:25,200 --> 01:19:27,960 Bomo povečavo. 1774 01:19:27,960 --> 01:19:31,010 Naredili bomo ta proces zajček. 1775 01:19:31,010 --> 01:19:32,380 >> Oh. 1776 01:19:32,380 --> 01:19:34,800 In to mi je dal opozorilo. 1777 01:19:34,800 --> 01:19:37,070 Kaj se mi je povedal? 1778 01:19:37,070 --> 01:19:39,870 Tudi v katerem koli od teh krat, si vedno želeli 1779 01:19:39,870 --> 01:19:44,170 da se pomaknete do zelo prvi error-- Zdaj, glede tega, imam samo enega. 1780 01:19:44,170 --> 01:19:52,700 >> To mi pove v bunny.c, on-line 8, stolpec 9, tam je problem. 1781 01:19:52,700 --> 01:19:58,650 Piše, da ste to izjavil spremenljivka i in ga niste uporabili. 1782 01:19:58,650 --> 01:20:02,230 >> Zdaj pa normalno, da je ni najhujše napake. 1783 01:20:02,230 --> 01:20:04,300 To je lahka popraviti. 1784 01:20:04,300 --> 01:20:07,550 In v resnici, lahko gremo nazaj. 1785 01:20:07,550 --> 01:20:09,910 Lahko gremo nazaj v bunny. 1786 01:20:09,910 --> 01:20:13,010 In v tem primeru je vse, kar smo moraš storiti je znebiti i, 1787 01:20:13,010 --> 01:20:16,630 ker smo ne uporabljate i v glavni anymore. 1788 01:20:16,630 --> 01:20:19,860 Mi samo uporabo v naši sub-rutinsko. 1789 01:20:19,860 --> 01:20:22,777 >> Torej, kaj je rešiti da. 1790 01:20:22,777 --> 01:20:23,360 Šli bomo nazaj. 1791 01:20:23,360 --> 01:20:26,760 1792 01:20:26,760 --> 01:20:28,630 In povečavo. 1793 01:20:28,630 --> 01:20:30,700 Bomo še enkrat, da zajčka. 1794 01:20:30,700 --> 01:20:33,810 1795 01:20:33,810 --> 01:20:36,530 In spet tam so naši 10 posnetkov. 1796 01:20:36,530 --> 01:20:39,450 1797 01:20:39,450 --> 01:20:41,360 V REDU. 1798 01:20:41,360 --> 01:20:43,190 >> Vsak čas si dal procedure-- Ja. 1799 01:20:43,190 --> 01:20:44,690 SPEAKER 33: Imam a-- sem zmeden. 1800 01:20:44,690 --> 01:20:45,892 Lahko greš nazaj na kodo? 1801 01:20:45,892 --> 01:20:46,850 BRIAN SCASSELLATI: Yep. 1802 01:20:46,850 --> 01:20:50,730 1803 01:20:50,730 --> 01:20:54,367 >> SPEAKER 33: Torej, ko si napisal tvoj prototip se vam argument 1804 01:20:54,367 --> 01:20:56,550 je imenovan je bil imenovan howMany? 1805 01:20:56,550 --> 01:20:57,540 Ampak, below-- 1806 01:20:57,540 --> 01:20:57,640 >> BRIAN SCASSELLATI: Oh ja. 1807 01:20:57,640 --> 01:20:59,140 >> SPEAKER 33: jim --called nekaj drugačen, ne razumem. 1808 01:20:59,140 --> 01:21:00,240 >> BRIAN SCASSELLATI: Zakaj so različni. 1809 01:21:00,240 --> 01:21:01,780 Torej, to je super vprašanje. 1810 01:21:01,780 --> 01:21:08,250 Torej, vprašanje je, do Tukaj sem napisal howMany, 1811 01:21:08,250 --> 01:21:12,380 in spodaj dol, sem napisal howManyDots. 1812 01:21:12,380 --> 01:21:15,590 >> Razlog za to je, da je v vašem prototip, To je pravzaprav ne posveča pozornosti 1813 01:21:15,590 --> 01:21:17,090 na imena, ki ste dajanje v. 1814 01:21:17,090 --> 01:21:20,530 Vse je res briga je, da je celo število. 1815 01:21:20,530 --> 01:21:23,080 Želi vedeti obliko kaj ste dajanje v. 1816 01:21:23,080 --> 01:21:31,560 >> Zdaj stylistically-- oops-- kar sem morala ne, je rad te tekmo. 1817 01:21:31,560 --> 01:21:33,150 V REDU. 1818 01:21:33,150 --> 01:21:36,430 Ker da bom obdržati lažje mi je, da se spomnimo. 1819 01:21:36,430 --> 01:21:38,390 Ampak to je bila moja napaka Ja. 1820 01:21:38,390 --> 01:21:47,620 >> SPEAKER 34: In tako za prototip za delo, samo 1821 01:21:47,620 --> 01:21:50,510 pisanje to vrstico, pisanje prototip, 1822 01:21:50,510 --> 01:21:53,932 omogoča to funkcijo, ki prihaja tik pod njo, da gredo do konca 1823 01:21:53,932 --> 01:21:55,140 in pridobivanje kaj to pomeni? 1824 01:21:55,140 --> 01:21:58,480 >> BRIAN SCASSELLATI: Kaj to pomeni je, ko prevajalnik gre skozi, 1825 01:21:58,480 --> 01:22:01,930 gre od vrha kodo na dnu. 1826 01:22:01,930 --> 01:22:05,430 In kaj je to prototip, je, da je v bistvu obljuba. 1827 01:22:05,430 --> 01:22:09,570 >> Pravi, da se dogaja, da se funkcija definirana nekje. 1828 01:22:09,570 --> 01:22:11,880 To se dogaja, da se imenuje printDots. 1829 01:22:11,880 --> 01:22:15,110 In to bo trajalo en argument da se dogaja, da celo 1830 01:22:15,110 --> 01:22:18,590 in to se dogaja, da se vrnete nič, praznina tipa. 1831 01:22:18,590 --> 01:22:19,310 V REDU. 1832 01:22:19,310 --> 01:22:22,950 Obljubim vam, da se dogaja, da se opredeljena nekje po cesti. 1833 01:22:22,950 --> 01:22:25,590 Ampak kadarkoli boste videli da, kot si šel dol 1834 01:22:25,590 --> 01:22:28,710 skozi preostanek mojega Glavna funkcija, želim 1835 01:22:28,710 --> 01:22:33,800 si za zdravljenje, da v odvisnosti ki traja en vhod celo število. 1836 01:22:33,800 --> 01:22:37,970 >> In tako, ko prevajalnik gre dol skozi to, da vidi te obljube. 1837 01:22:37,970 --> 01:22:40,220 In ko pride dol, ohranja dogaja, ohranja dogaja, 1838 01:22:40,220 --> 01:22:43,060 ugotovi, prvič printDots se omenja. 1839 01:22:43,060 --> 01:22:46,910 In pravi, Oh, ti daje me to j. j je celo število. 1840 01:22:46,910 --> 01:22:49,570 >> No, mi je obljubil, da bo biti celo število, in tako je prav. 1841 01:22:49,570 --> 01:22:51,370 To je ok. 1842 01:22:51,370 --> 01:22:53,880 In potem končno, navzdol na dnu, 1843 01:22:53,880 --> 01:22:58,340 preden pridem do konca mojega Datoteka, naredim dobro na mojo obljubo 1844 01:22:58,340 --> 01:22:59,896 in sem ga določite. 1845 01:22:59,896 --> 01:23:01,868 V REDU? 1846 01:23:01,868 --> 01:23:06,320 >> SPEAKER 35: Torej, saves-- Program bo prihranilo presledkov 1847 01:23:06,320 --> 01:23:09,570 da gre nazaj in zapolnjuje na koncu? 1848 01:23:09,570 --> 01:23:12,140 >> BRIAN SCASSELLATI: To ni o dodelitvi pomnilnika. 1849 01:23:12,140 --> 01:23:16,800 To je pravzaprav samo o tem, kaj tip ste pričakovali, da vidite. 1850 01:23:16,800 --> 01:23:19,340 Naj bi ta stvar ima eno argument, ali pet argumentov? 1851 01:23:19,340 --> 01:23:23,590 Bi moral imeti, da celi števili biti glede na to, ali strune? 1852 01:23:23,590 --> 01:23:25,780 To je vse, kar je iskal storiti, je, da preverite, 1853 01:23:25,780 --> 01:23:29,303 ste mi daje Pravica vrsta argumenta. 1854 01:23:29,303 --> 01:23:31,560 V REDU? 1855 01:23:31,560 --> 01:23:32,300 V redu. 1856 01:23:32,300 --> 01:23:38,570 >> Dovolite mi, da vas zapusti z ena malo pogledati. 1857 01:23:38,570 --> 01:23:44,850 ASCII umetnost ni velika modela animacije, kot je danes. 1858 01:23:44,850 --> 01:23:50,850 Toda nekateri ljudje seveda vzeli stvari in so ga potisnite na svoje skrajnosti. 1859 01:23:50,850 --> 01:23:56,790 >> To je, kot je razvidno David V predavanju, del kode 1860 01:23:56,790 --> 01:24:02,150 da bi smeli v nobenem primeru ne poskušajte sami dvojnik. 1861 01:24:02,150 --> 01:24:05,260 Ker je grozno slogovno. 1862 01:24:05,260 --> 01:24:11,180 V resnici je bilo zasnovane tako, da težko, kot je mogoče prebrati. 1863 01:24:11,180 --> 01:24:11,680 V REDU. 1864 01:24:11,680 --> 01:24:16,210 >> Torej, še enkrat, kaj je povečate tukaj. 1865 01:24:16,210 --> 01:24:20,120 Jaz bom šel zdaj, sprememba imenika. 1866 01:24:20,120 --> 01:24:24,050 Bom šel eno raven, nazaj na moj delovni prostor. 1867 01:24:24,050 --> 01:24:29,760 Jaz bom potem spremenite imenik v to drug imenik, ki sem jih ustvaril. 1868 01:24:29,760 --> 01:24:36,190 >> In to je International Obfuscated C Programming Contest. 1869 01:24:36,190 --> 01:24:40,650 Obfuscated sredstva kot težko kot je mogoče razumeti. 1870 01:24:40,650 --> 01:24:44,150 Zato prosim, ne boj se, če pogledaš na to in iti, ne morem prebrati to. 1871 01:24:44,150 --> 01:24:46,350 To je poanta tega. 1872 01:24:46,350 --> 01:24:47,700 V REDU? 1873 01:24:47,700 --> 01:24:52,770 >> Ampak, imamo to čudovit program, ki sem 1874 01:24:52,770 --> 01:24:57,180 dogaja, da poglej ga vtipkate več. 1875 01:24:57,180 --> 01:25:01,890 In poglejmo, če lahko jaz pomanjšati samo malo, tako da lahko vidite 1876 01:25:01,890 --> 01:25:03,940 >> In to je program. 1877 01:25:03,940 --> 01:25:08,080 To je imenovan endo.c. 1878 01:25:08,080 --> 01:25:14,850 In izgleda, da to vedro z vrsta črk F-L-U-I-D v njem. 1879 01:25:14,850 --> 01:25:16,440 >> To je dejansko program. 1880 01:25:16,440 --> 01:25:20,260 To je zapisano v najbolj nejasna tako, da so avtorji lahko morebiti 1881 01:25:20,260 --> 01:25:21,760 napisati. 1882 01:25:21,760 --> 01:25:29,210 Ampak to je čudovit košček, ki generira model dinamike tekočin. 1883 01:25:29,210 --> 01:25:34,870 >> In tako bomo dati ta model vhod, ki 1884 01:25:34,870 --> 01:25:42,520 Izgleda to odsvojila staired nastavite zabojnikov 1885 01:25:42,520 --> 01:25:45,820 z nekaj tekočine, nekateri tekočina, na vrhu. 1886 01:25:45,820 --> 01:25:48,790 In bomo imeli simulirati kaj se dogaja z njim. 1887 01:25:48,790 --> 01:25:52,415 >> Torej bom poklical te funkcije, endo. 1888 01:25:52,415 --> 01:25:59,000 In ga bom dal, da vhodna datoteka, ki sem jih imel. 1889 01:25:59,000 --> 01:26:02,830 In tam je naš sinonim ASCII umetnosti. 1890 01:26:02,830 --> 01:26:08,960 Poln tekočine dinamični simulator teče v le nekaj vrstic kode. 1891 01:26:08,960 --> 01:26:13,750 >> Zdaj, kaj je dejansko res neverjetno, o tem malo programu 1892 01:26:13,750 --> 01:26:17,280 je, da želim, da nehaj zdaj, tako da bom uporabiti kakšen ukaz? 1893 01:26:17,280 --> 01:26:18,660 >> OBČINSTVO: Control-C. 1894 01:26:18,660 --> 01:26:20,390 >> BRIAN SCASSELLATI: Control-C. V REDU. 1895 01:26:20,390 --> 01:26:22,960 Torej bom uporabil Control-C. C To bo ustaviti. 1896 01:26:22,960 --> 01:26:25,330 Bom še enkrat jasno. 1897 01:26:25,330 --> 01:26:31,210 In zdaj bom sklicevati na Program, izvedbo programa, 1898 01:26:31,210 --> 01:26:33,740 se uporabi kot vhod. 1899 01:26:33,740 --> 01:26:36,760 1900 01:26:36,760 --> 01:26:42,700 >> In bomo videli dinamiko tekočine simulacija njej topi. 1901 01:26:42,700 --> 01:26:43,830 V REDU. 1902 01:26:43,830 --> 01:26:48,180 Prosim, ne dovolite, da program biti stvar, ki vas zmede. 1903 01:26:48,180 --> 01:26:52,220 To je samo zato, da bomo lahko konča nekaj, kar kul in zanimivo. 1904 01:26:52,220 --> 01:26:53,930 V REDU. 1905 01:26:53,930 --> 01:26:56,330 >> Veliko sreče z vašo težavo nizov. 1906 01:26:56,330 --> 01:26:59,030 Z veseljem vam bomo odgovorili Vprašanja po razredu. 1907 01:26:59,030 --> 01:27:01,180 Hvala veliko, fantje. 1908 01:27:01,180 --> 01:27:02,793