1 00:00:00,000 --> 00:00:03,290 >> [Glazbom] 2 00:00:03,290 --> 00:00:04,989 3 00:00:04,989 --> 00:00:06,280 Jason Hirschhorn: OK, svatko. 4 00:00:06,280 --> 00:00:07,460 Dobrodošli na odsjeku. 5 00:00:07,460 --> 00:00:10,840 Ovo je CS50, naš vrlo prvi super poglavlje. 6 00:00:10,840 --> 00:00:13,700 Kao što svi znate, sljedeći tjedan redovite sekcije će početi, 7 00:00:13,700 --> 00:00:15,580 ali ovaj tjedan smo svi zajedno. 8 00:00:15,580 --> 00:00:17,730 >> Tu je osobno. 9 00:00:17,730 --> 00:00:18,840 Moje ime je Jason. 10 00:00:18,840 --> 00:00:20,630 Ja sam predavač u Computer Science. 11 00:00:20,630 --> 00:00:23,910 Imamo Andi, tko je šef PU od CS50. 12 00:00:23,910 --> 00:00:27,630 I Scaz, profesor Brian Scassellati, On je profesor u Computer Science. 13 00:00:27,630 --> 00:00:30,970 >> Mi smo CS50 glave na Yaleu. 14 00:00:30,970 --> 00:00:34,992 Uvijek možete putem e-pošte nas heads@cs50.yale.edu. 15 00:00:34,992 --> 00:00:35,950 Mi ćemo biti na predavanjima. 16 00:00:35,950 --> 00:00:37,547 Mi ćemo biti na radnog vremena. 17 00:00:37,547 --> 00:00:40,130 Ako postoji ikada išta možemo učiniti za vas, sve što trebate, 18 00:00:40,130 --> 00:00:42,610 slobodno nas kontaktirajte. 19 00:00:42,610 --> 00:00:44,140 >> Dakle, što ćemo raditi danas? 20 00:00:44,140 --> 00:00:47,790 Ili prije toga, ono što je dolazi ovaj tjedan? 21 00:00:47,790 --> 00:00:52,620 Tako radno vrijeme ponedjeljak, utorak, Srijeda i četvrtak, 08:00 do 11:00 sati. 22 00:00:52,620 --> 00:00:54,770 Postoji raspored na web stranici. 23 00:00:54,770 --> 00:00:57,830 >> Sekcije, kao što sam spomenuo, počinju sljedeći tjedan. 24 00:00:57,830 --> 00:01:01,390 A vi ćete saznati ovaj tjedan što Vrijeme tvoj dio je, koji je dan, 25 00:01:01,390 --> 00:01:03,350 i tko je vaš TA. 26 00:01:03,350 --> 00:01:08,610 >> Problem Set 1 je zbog na četvrtak podne, u petak u podne s krajem dana. 27 00:01:08,610 --> 00:01:10,817 Da, imate devet dana kasni. 28 00:01:10,817 --> 00:01:12,150 A tu su i devet problema seta. 29 00:01:12,150 --> 00:01:14,320 I može koristiti samo jedan kasno dan po setu problema. 30 00:01:14,320 --> 00:01:17,930 Da, u stvari, sve je problem setovi su zbog petka u podne. 31 00:01:17,930 --> 00:01:18,550 To je sve. 32 00:01:18,550 --> 00:01:20,400 Sve što su detalji o nastavnom planu. 33 00:01:20,400 --> 00:01:22,360 >> Svakog petka, imamo ručak. 34 00:01:22,360 --> 00:01:25,230 Mi smo željeli da ovaj veliki Naravno osjećati malo manji. 35 00:01:25,230 --> 00:01:26,580 Tako ste dobrodošli da RSVP. 36 00:01:26,580 --> 00:01:30,050 Besplatan ručak s kolegama kolege i osoblje. 37 00:01:30,050 --> 00:01:34,120 cs50.yale.edu/rsvp. 38 00:01:34,120 --> 00:01:36,940 >> Sve ove stvari koje Imam na zaslonu, 39 00:01:36,940 --> 00:01:43,330 i još mnogo toga, možete naći cs50.yale.edu ili cs50.harvard.edu, ako idete na Harvardu 40 00:01:43,330 --> 00:01:46,800 i gledaju online. 41 00:01:46,800 --> 00:01:50,240 >> Također, na tim web stranicama, ima tona sredstava za vas. 42 00:01:50,240 --> 00:01:54,610 Svako predavanje ne samo da ima video predavanja, ali i napominje. 43 00:01:54,610 --> 00:01:58,184 Netko će gledati predavanje i uzeti bilješke za vas. 44 00:01:58,184 --> 00:02:00,100 Tako možete samo platiti pozornost tijekom predavanja, 45 00:02:00,100 --> 00:02:03,970 ili možete koristiti svoje bilješke / našeg primjećuje da dopuni svoje bilješke. 46 00:02:03,970 --> 00:02:04,987 >> Postoji slajdova online. 47 00:02:04,987 --> 00:02:07,320 Izvor code-- sve David ide više u predavanju, 48 00:02:07,320 --> 00:02:09,979 ili Scaz ide preko predavanja, koja Izvorni kod je dostupan na internetu 49 00:02:09,979 --> 00:02:11,750 kao i, što je kao i ja, spomenuo videa. 50 00:02:11,750 --> 00:02:14,257 >> Sekcije, isto tako, svi će biti sniman. 51 00:02:14,257 --> 00:02:15,840 Sve od tih slajdova će biti dostupna. 52 00:02:15,840 --> 00:02:18,190 Sve to kod će biti dostupne za vas. 53 00:02:18,190 --> 00:02:22,440 Postoje gaćice na web stranici gdje Članovi CS50 osoblja provesti pet do 10 54 00:02:22,440 --> 00:02:24,130 minute prolaze kroz teme za vas. 55 00:02:24,130 --> 00:02:26,750 Neki od onih koji ste već susresti u problemskim setovima. 56 00:02:26,750 --> 00:02:30,430 >> Radno vrijeme, kao što sam spomenuo, ponedjeljkom kroz Četvrtkom, 8:00 do 11:00 sati. 57 00:02:30,430 --> 00:02:32,600 CS50 Studija je fantastičan izvor. 58 00:02:32,600 --> 00:02:37,100 Postoji praksa problemi, uzorak klizi, poznati bugovi 59 00:02:37,100 --> 00:02:40,920 da učenici vole izvoditi u, za doslovno svaki topic mi 60 00:02:40,920 --> 00:02:42,650 će pokriti u ovom tečaju. 61 00:02:42,650 --> 00:02:46,350 >> I na kraju, na ovom slajdu barem Reference50 62 00:02:46,350 --> 00:02:49,690 koji vam daje informacije na svim C funkcija 63 00:02:49,690 --> 00:02:53,160 ste ikada mogli eventualno nadati za korištenje i mnogo, mnogo više. 64 00:02:53,160 --> 00:02:55,690 >> Opet, da je dot dot dot na dno zaslona 65 00:02:55,690 --> 00:02:59,990 je ukazati da postoji i više resursa na one dvije web stranice: 66 00:02:59,990 --> 00:03:04,270 cs50.yale.edu, cs50.harvard.edu. 67 00:03:04,270 --> 00:03:05,840 >> Dakle, ono što mi radimo danas? 68 00:03:05,840 --> 00:03:08,970 Pa, prvo ću dati pogledate resursa. 69 00:03:08,970 --> 00:03:10,010 Već je učinio da je jedan. 70 00:03:10,010 --> 00:03:11,590 Pogledajte nas. 71 00:03:11,590 --> 00:03:16,430 >> Sada ćemo ići preko vrste podataka i operateri u C 72 00:03:16,430 --> 00:03:19,990 Zatim Andi će doći ovamo i ići preko knjižnica u C, printf (), 73 00:03:19,990 --> 00:03:24,570 funkcija s kojom ste već upoznati ili će vrlo brzo postati vrlo 74 00:03:24,570 --> 00:03:25,530 upoznati. 75 00:03:25,530 --> 00:03:27,810 A vi ćete prijeći uvjetne i petlje. 76 00:03:27,810 --> 00:03:30,900 >> I onda na kraju, Scaz će ići preko CS50 ID. 77 00:03:30,900 --> 00:03:34,250 Ako niste zaronili u već Problem Set 1, 78 00:03:34,250 --> 00:03:37,060 kao i kako se koristiti naredbe terminal i korisnih 79 00:03:37,060 --> 00:03:42,280 a zatim vam dati neke demo i praksa kodiranje u CS50 ID. 80 00:03:42,280 --> 00:03:45,130 >> Prije nego što sam skočiti na ovo Sadržaj na ovoj strani, 81 00:03:45,130 --> 00:03:46,770 Se bilo tko imati bilo kakvih pitanja do sada? 82 00:03:46,770 --> 00:03:53,190 83 00:03:53,190 --> 00:03:54,030 Veliki. 84 00:03:54,030 --> 00:03:54,950 U REDU. 85 00:03:54,950 --> 00:03:55,810 Promjena stupnjeva prijenosa. 86 00:03:55,810 --> 00:03:58,760 >> [PROMJENA Gears] 87 00:03:58,760 --> 00:04:03,070 >> To je meni prebacuje zupčanici u ručnom automobilu. 88 00:04:03,070 --> 00:04:10,920 Dakle, vrste podataka u C, ne možete samo varijabla x i ima li to biti na liniji 10, 89 00:04:10,920 --> 00:04:17,170 cijeli broj, možda je broj 1, na liniji 20, decimalni broj 10,5, 90 00:04:17,170 --> 00:04:20,500 i onda par redaka kasnije niz, volim CS50. 91 00:04:20,500 --> 00:04:25,052 >> U C, varijable mogu biti samo jedna stvar, a samo jedna stvar. 92 00:04:25,052 --> 00:04:26,510 I tako da ćete morati dati im vrste. 93 00:04:26,510 --> 00:04:28,780 A na tom brodu, mi imate popis vrsta. 94 00:04:28,780 --> 00:04:32,000 Postoji znakova, koji stajati znakova. 95 00:04:32,000 --> 00:04:36,850 Dakle, to je jedno slovo A, B, C, D. To također može biti prostor, 96 00:04:36,850 --> 00:04:40,290 ili koji može biti nova linija lik. 97 00:04:40,290 --> 00:04:45,030 >> Postoji cijeli brojevi, koji su samo brojevi, cijeli numbers-- ili cijeli brojevi 98 00:04:45,030 --> 00:04:47,130 rather-- ali bez decimala. 99 00:04:47,130 --> 00:04:49,790 >> Za decimala, imamo brojeve s pomičnim zarezom. 100 00:04:49,790 --> 00:04:53,200 Brojeve s pomičnim zarezom su brojevi s decimala. 101 00:04:53,200 --> 00:04:58,160 >> Zatim tu su žudi, koji su u biti dulji cijeli brojevi. 102 00:04:58,160 --> 00:05:01,160 Primijetit ćete da dugo je 8 dok je int je 4. 103 00:05:01,160 --> 00:05:02,640 Ja ću doći na to u sekundi. 104 00:05:02,640 --> 00:05:07,390 To je zato žudi može pohraniti čak više integers nego int može pohraniti. 105 00:05:07,390 --> 00:05:10,100 Dvaput je dugo plutaju. 106 00:05:10,100 --> 00:05:12,460 >> I na kraju, imamo niz, što je vrsta 107 00:05:12,460 --> 00:05:14,430 da ste vjerojatno koristili prije. 108 00:05:14,430 --> 00:05:21,100 Ako su hashtag # includeCS50.h u vašem izvorišnoj datoteci, 109 00:05:21,100 --> 00:05:23,170 onda možete koristiti string tipa. 110 00:05:23,170 --> 00:05:25,560 To nije zapravo izgrađen u C 111 00:05:25,560 --> 00:05:27,760 >> Postoji nekoliko drugih vrsta, kao dobro. 112 00:05:27,760 --> 00:05:32,900 No, to su glavne one s koji ćete koristiti i susresti. 113 00:05:32,900 --> 00:05:36,210 C što je, opet sam spomenuo, svaki ga variable-- 114 00:05:36,210 --> 00:05:38,620 može biti samo jedan tip i jedna vrsta samo. 115 00:05:38,620 --> 00:05:42,890 To je zato C je statički upisali jezik, za razliku od 116 00:05:42,890 --> 00:05:45,780 dinamički tip jezika gdje ako stvorite varijablu 117 00:05:45,780 --> 00:05:50,081 možete promijeniti ono što je pohranjena u to kao da se u vašem programu. 118 00:05:50,081 --> 00:05:52,580 Ovamo zdesna strana, imam različite veličine 119 00:05:52,580 --> 00:05:57,440 ove vrste podataka u bajtovima. 120 00:05:57,440 --> 00:05:59,710 Dakle lik je 1 bajt. 121 00:05:59,710 --> 00:06:01,250 To je 8 bitova. 122 00:06:01,250 --> 00:06:05,530 A to znači, jer 8 bitova postoji osam 0s i 1s. 123 00:06:05,530 --> 00:06:08,280 Vidjeli smo one demo u prvom tjedan s tom binarnih žarulje. 124 00:06:08,280 --> 00:06:15,680 >> Sa 8 bita ili 1 bajt, možemo predstavlja brojeve od 0 do 255. 125 00:06:15,680 --> 00:06:16,180 Tako je. 126 00:06:16,180 --> 00:06:18,770 Ako su svi 8 bita su 0 to 0. 127 00:06:18,770 --> 00:06:23,640 Ako je prvi bit je 1, da je broj jedan, i tako dalje, sve do 255. 128 00:06:23,640 --> 00:06:28,290 I zato za znakove možete imaju u biti do 255 od njih, 129 00:06:28,290 --> 00:06:31,210 ali to je dosta da pokrije sve likovi moramo koristiti. 130 00:06:31,210 --> 00:06:38,060 >> Za brojeva, možete imati 0 i onda imate 2 do 32 minus 1. 131 00:06:38,060 --> 00:06:40,340 Oni su koliko opcija imate za cijelih brojeva. 132 00:06:40,340 --> 00:06:44,780 >> Za dugo, imate 0 na 2 do 64 minus 1. 133 00:06:44,780 --> 00:06:48,860 Dakle, imate mnogo, mnogo, više mogućnosti za žudi. 134 00:06:48,860 --> 00:06:54,220 >> Strings, to je upitnik jer to je alpinista za kasnije. 135 00:06:54,220 --> 00:06:55,000 Da. 136 00:06:55,000 --> 00:06:56,350 Mogao bih reći svatko je na rubu svog sjedala, 137 00:06:56,350 --> 00:06:57,450 kao što je to upitnik? 138 00:06:57,450 --> 00:06:58,390 To je roman u nastavcima. 139 00:06:58,390 --> 00:07:02,340 Mi na kraju će pokriti veličinu žice i razgovarati više o žice. 140 00:07:02,340 --> 00:07:04,692 Zbog niza je zapravo jedan od treninga kotača 141 00:07:04,692 --> 00:07:06,400 stavimo u ovom Naravno na početku 142 00:07:06,400 --> 00:07:09,700 a zatim skinuti kasnije na, jer žice u C 143 00:07:09,700 --> 00:07:13,320 zapravo pokazivače na karakter polja. 144 00:07:13,320 --> 00:07:15,810 Ali opet, to je Cliffhanger za kasnije. 145 00:07:15,810 --> 00:07:18,890 Prije nego što sam premjestiti na sva pitanja, komentari, zabrinutost o ovom slajdu? 146 00:07:18,890 --> 00:07:25,800 147 00:07:25,800 --> 00:07:26,630 >> U REDU. 148 00:07:26,630 --> 00:07:30,330 Moram biti fantastičan explainer. 149 00:07:30,330 --> 00:07:33,210 Također, kada ste programiranje, idete koristiti ove operatore. 150 00:07:33,210 --> 00:07:36,730 Stvarno jednostavne znakove koje možete učiniti jednostavno operacije, s kojima ste vjerojatno 151 00:07:36,730 --> 00:07:38,340 već vrlo poznato. 152 00:07:38,340 --> 00:07:42,580 >> Na primjer, na desnoj ruka strana, vidjet ćemo dodati. 153 00:07:42,580 --> 00:07:44,640 Da biste dodali, samo napraviti znak plus. 154 00:07:44,640 --> 00:07:46,850 I tako možda imate dvije varijable x i y. 155 00:07:46,850 --> 00:07:48,810 Možete napraviti x + y u kodu. 156 00:07:48,810 --> 00:07:52,790 Možda želite to-- ti reći imaju broj 7 i 3, 157 00:07:52,790 --> 00:07:55,780 Želite li spremiti da u varijablu zove suma. 158 00:07:55,780 --> 00:08:03,010 Možete napraviti int za tipa, prostor iznos, naziv varijable, = 7 + 3; 159 00:08:03,010 --> 00:08:05,780 >> Što bi to pohraniti u sumi? 160 00:08:05,780 --> 00:08:07,190 Bilo tko? 161 00:08:07,190 --> 00:08:09,270 Ako sam imao u zbroju = 7 + 3. 162 00:08:09,270 --> 00:08:10,437 Što bi se pohraniti u sumi? 163 00:08:10,437 --> 00:08:11,520 Vi samo možete ga vikati. 164 00:08:11,520 --> 00:08:12,120 PUBLIKA: 10. 165 00:08:12,120 --> 00:08:12,995 >> Jason Hirschhorn: 10! 166 00:08:12,995 --> 00:08:14,870 To je točno. 167 00:08:14,870 --> 00:08:19,520 Što je u svemu = 7 do 3, Ja samo koristiti tu crtica znak. 168 00:08:19,520 --> 00:08:20,871 Što će biti pohranjena? 169 00:08:20,871 --> 00:08:21,370 PUBLIKA: 4. 170 00:08:21,370 --> 00:08:22,203 Jason Hirschhorn: 4. 171 00:08:22,203 --> 00:08:25,770 Sum je vjerojatno pogrešno ime koji variraju, ali će biti pohranjeni 4. 172 00:08:25,770 --> 00:08:31,890 >> Umnožiti u C, koristite malo Star karakter, ne koristite x. 173 00:08:31,890 --> 00:08:35,990 Podijeliti, koristite naprijed Ne Slash razdjelnu simbol. 174 00:08:35,990 --> 00:08:39,580 I da modulom, koristite posto simbol. 175 00:08:39,580 --> 00:08:47,900 >> Tako recimo želim vidjeti int z = 7% 3, što bi se pohraniti u z? 176 00:08:47,900 --> 00:08:51,250 Dakle, to je bitno traži što se modulo učiniti? 177 00:08:51,250 --> 00:08:52,750 Zna li itko što modulo radi? 178 00:08:52,750 --> 00:08:53,940 Da. 179 00:08:53,940 --> 00:08:54,870 y 4. 180 00:08:54,870 --> 00:08:56,120 SPEAKER 1: To je ostatak. 181 00:08:56,120 --> 00:08:58,369 Jason Hirschhorn: To je Ostatak kada podijeliti. 182 00:08:58,369 --> 00:09:02,790 Dakle 7 podijeljena 3 2 ostatak 1. 183 00:09:02,790 --> 00:09:04,690 Dakle, 1 će biti pohranjeni. 184 00:09:04,690 --> 00:09:06,970 >> Učinio si oduzimanje, ali to je kako se to radi. 185 00:09:06,970 --> 00:09:09,140 To je ono što operator modulo radi. 186 00:09:09,140 --> 00:09:12,360 Potrebno je nekoliko ga dijeli od drugi broj i vraća na vas 187 00:09:12,360 --> 00:09:14,590 ostatak. 188 00:09:14,590 --> 00:09:19,770 Pa opet, 7% 3 daje 1, jer je 7 podijeljen 3 2 ostatak 1, 189 00:09:19,770 --> 00:09:21,650 i vraća ostatak. 190 00:09:21,650 --> 00:09:24,470 >> Što je Vratimo se jedan korak na tom odjelu znak. 191 00:09:24,470 --> 00:09:29,194 Ako sam 7 / podijeljen 3 ne tko zna što bi to vratiti? 192 00:09:29,194 --> 00:09:30,090 >> ZVUČNIK 2: 2. 193 00:09:30,090 --> 00:09:32,240 >> Jason Hirschhorn: Zašto 2, a ne 2,333? 194 00:09:32,240 --> 00:09:34,560 >> ZVUČNIK 2: Mislim da smanjuje off nakon cijelog broja. 195 00:09:34,560 --> 00:09:36,310 Jason Hirschhorn: Pa to je točno. 196 00:09:36,310 --> 00:09:39,880 U C, ako ne podjele dva cijela broja 7 podijeljena 3, 197 00:09:39,880 --> 00:09:43,430 dobiva odgovor koji u ovom slučaju 2.3333 zauvijek 198 00:09:43,430 --> 00:09:47,080 i utvrđuje da decimalnu točku i kotleta sve off nakon decimalnog 199 00:09:47,080 --> 00:09:49,240 i to samo vraća vam 2. 200 00:09:49,240 --> 00:09:51,120 >> Dakle, ako sam 8 podijeljena 3. 201 00:09:51,120 --> 00:09:54,010 To je zapravo, znamo da se vrate 2.666, 202 00:09:54,010 --> 00:09:57,050 ali kotleta sve off na decimalni, truncatus sve, 203 00:09:57,050 --> 00:09:58,640 i samo se vraća na vas 2. 204 00:09:58,640 --> 00:10:02,090 Tako 6 podijeljena 3, 7 podijeljeni za 3, 8 podijeljen 3, 205 00:10:02,090 --> 00:10:04,840 svi će se vratiti k vama 2. 206 00:10:04,840 --> 00:10:08,770 >> Da li itko zna ili ima pogodak, kako sam zapravo mogao dobiti 207 00:10:08,770 --> 00:10:10,790 puni odgovor ako želim da decimale? 208 00:10:10,790 --> 00:10:13,120 209 00:10:13,120 --> 00:10:13,620 Da. 210 00:10:13,620 --> 00:10:14,152 Samo naprijed. 211 00:10:14,152 --> 00:10:15,110 SPEAKER 3: Koristite plovak? 212 00:10:15,110 --> 00:10:16,942 Jason Hirschhorn: Što mislite? 213 00:10:16,942 --> 00:10:19,786 SPEAKER 3: Zato što je rekao plovak za brojeve [nečujan] 214 00:10:19,786 --> 00:10:22,900 215 00:10:22,900 --> 00:10:23,900 Jason Hirschhorn: Tako je. 216 00:10:23,900 --> 00:10:26,100 Dakle, to je točno. 217 00:10:26,100 --> 00:10:28,440 7 je cijeli broj. 218 00:10:28,440 --> 00:10:31,690 Ali, ako sam htjela da se uključite u plutajući broj točke, 219 00:10:31,690 --> 00:10:34,674 Ja bi za pohranu koji kao 7,0 jer računalo 220 00:10:34,674 --> 00:10:37,090 stvarno stupid-- smo vidjeli da s PB i J example-- 221 00:10:37,090 --> 00:10:38,930 to će samo učiniti upravo što reći. 222 00:10:38,930 --> 00:10:40,846 >> Dakle, ako ste napisali 7, to mislim da je cijeli broj. 223 00:10:40,846 --> 00:10:43,640 Ako pišete 7.0, iako smo znam te stvari su ekvivalentni, 224 00:10:43,640 --> 00:10:45,550 to tretira da poput pomičnim zarezom broj. 225 00:10:45,550 --> 00:10:50,441 Dakle, ako ste učinili 7.0 podijeljeni za 3 ili podijeljena 3.0, 226 00:10:50,441 --> 00:10:52,440 što će reći, u redu, sada imamo posla s plovcima. 227 00:10:52,440 --> 00:10:57,514 Ja ću se vratiti k vama 2.333333 zauvijek. 228 00:10:57,514 --> 00:10:59,930 Ali stvarno ne zauvijek, jer kao što smo vidjeli iu predavanju, 229 00:10:59,930 --> 00:11:03,350 ove brojeve s pomičnim zarezom nisu baš precizni. 230 00:11:03,350 --> 00:11:05,940 >> Dakle, ako ne želite da decimale, ili dio te decimale, 231 00:11:05,940 --> 00:11:08,090 onda morate use-- jedan od njih mora biti plutajući niz točka 232 00:11:08,090 --> 00:11:11,048 i računalo mora razumjeti da je ovo s pomičnim zarezom si 233 00:11:11,048 --> 00:11:13,350 bave, nije cijeli broj. 234 00:11:13,350 --> 00:11:16,760 Bilo kakva pitanja na tom stolu na Na desnoj strani, sada? 235 00:11:16,760 --> 00:11:22,650 Ili tvoja lijeva strana, svoj lijevo, tvoja lijeva strana. 236 00:11:22,650 --> 00:11:23,264 Da. 237 00:11:23,264 --> 00:11:23,972 SPEAKER 4: Tako je. 238 00:11:23,972 --> 00:11:26,216 Za samo kao redoviti cijeli brojevi, što bi 239 00:11:26,216 --> 00:11:30,230 write-- bi ste napisati plutaju? 240 00:11:30,230 --> 00:11:31,920 >> Jason Hirschhorn: Da tako. 241 00:11:31,920 --> 00:11:34,400 Pa, ako želite stvoriti varijabla koja je plovak, 242 00:11:34,400 --> 00:11:37,020 morate reći float z jednak nešto. 243 00:11:37,020 --> 00:11:37,640 >> SPEAKER 4: OK. 244 00:11:37,640 --> 00:11:41,950 >> Jason Hirschhorn: Ali ako sam htjela učinite 7 podijeljen po 3 i dobiti taj decimale, 245 00:11:41,950 --> 00:11:48,540 Ja bih to float z = 7,0 / 3,0; i da bi mi se s pomičnim zarezom 246 00:11:48,540 --> 00:11:49,273 broj. 247 00:11:49,273 --> 00:11:50,000 >> SPEAKER 4: OK. 248 00:11:50,000 --> 00:11:56,370 >> Jason Hirschhorn: Ako jesam nešto poput int z = 7 / za 3, 249 00:11:56,370 --> 00:12:00,856 kako bi mi cijeli broj, jer oni su svi prirodni brojevi. 250 00:12:00,856 --> 00:12:01,730 Ima li to smisla? 251 00:12:01,730 --> 00:12:02,320 >> SPEAKER 4: Da. 252 00:12:02,320 --> 00:12:02,950 >> Jason Hirschhorn: U redu. 253 00:12:02,950 --> 00:12:03,450 Veliki. 254 00:12:03,450 --> 00:12:06,030 Ima li još pitanja o tom stolu? 255 00:12:06,030 --> 00:12:07,220 Stvarno? 256 00:12:07,220 --> 00:12:08,380 Tako sam uzbuđen. 257 00:12:08,380 --> 00:12:09,120 U REDU. 258 00:12:09,120 --> 00:12:13,910 >> Dakle, neke druge stvari koje će koristiti, često u uvjetima ili petlje, 259 00:12:13,910 --> 00:12:17,580 su ove vrste operators-- ove vrste Boolean izraza. 260 00:12:17,580 --> 00:12:23,140 I kao što smo naučili, == je ono što koristiti da biste provjerili dvije stvari jednake. 261 00:12:23,140 --> 00:12:28,170 >> Dakle, ovdje sam ček ako je x == y, neka je opet pretpostaviti da je x 7 i y je 3. 262 00:12:28,170 --> 00:12:33,220 Dakle, ako sam napisao 7 == 3, što bi da se vrate k meni? 263 00:12:33,220 --> 00:12:34,220 Je li to istina ili laž? 264 00:12:34,220 --> 00:12:35,275 >> PUBLIKA: Netočno. 265 00:12:35,275 --> 00:12:36,150 Jason Hirschhorn: U redu. 266 00:12:36,150 --> 00:12:37,370 Osjećam se kao da svatko može dobiti ovaj jedan. 267 00:12:37,370 --> 00:12:39,054 Dakle, svatko, što bi to vratiti? 268 00:12:39,054 --> 00:12:39,720 PUBLIKA: Netočno. 269 00:12:39,720 --> 00:12:40,130 Jason Hirschhorn: Netočno. 270 00:12:40,130 --> 00:12:40,850 Veliki. 271 00:12:40,850 --> 00:12:41,930 7 nije jednak 3. 272 00:12:41,930 --> 00:12:44,530 Dakle 7 == 3 će se vratiti false. 273 00:12:44,530 --> 00:12:50,746 Vi nemate ni znak jednakosti, pa ako sam checked 7! = 3, što bi to vratiti? 274 00:12:50,746 --> 00:12:51,370 PUBLIKA: Istina. 275 00:12:51,370 --> 00:12:52,650 Jason Hirschhorn: Istina. 276 00:12:52,650 --> 00:12:53,200 Izvrsno. 277 00:12:53,200 --> 00:12:55,990 Netko je bio vrlo naglašen u leđa i cijeniti to. 278 00:12:55,990 --> 00:12:59,070 Tada imate manje od operatora, manji ili jednak operatera, 279 00:12:59,070 --> 00:13:01,990 veći od operatera, veća od ili jednaka operatera. 280 00:13:01,990 --> 00:13:03,490 >> Dakle, još jedan duševne ček. 281 00:13:03,490 --> 00:13:05,660 Ako sam imao 7 veće od ili jednak 3. 282 00:13:05,660 --> 00:13:06,966 Što bi to vratiti? 283 00:13:06,966 --> 00:13:07,692 >> PUBLIKA: Istina. 284 00:13:07,692 --> 00:13:08,650 Jason Hirschhorn: Istina. 285 00:13:08,650 --> 00:13:10,050 Da. 286 00:13:10,050 --> 00:13:13,290 To ponovno soba, stražnja strana sobe, fantastično. 287 00:13:13,290 --> 00:13:16,240 Možete kombinirati ove izrazi, ako vam se sviđa, kao i, 288 00:13:16,240 --> 00:13:21,880 s logična I što je && Ili logična ili koji || 289 00:13:21,880 --> 00:13:22,800 ||. 290 00:13:22,800 --> 00:13:25,785 I tako sada možete testirati dva stvari together-- Je li to smiješno? 291 00:13:25,785 --> 00:13:28,250 Zašto je to smiješno? 292 00:13:28,250 --> 00:13:35,200 >> Dakle, ako sam htjela, ja mogu reći je 7 veći od 3, a 2 je manji od 4? 293 00:13:35,200 --> 00:13:37,090 Pa, ako je 7 veći od 3, to je istina. 294 00:13:37,090 --> 00:13:38,400 2 je manje od 4, to je istina. 295 00:13:38,400 --> 00:13:41,140 Dakle, cijela ova stvar će se vratiti istinito. 296 00:13:41,140 --> 00:13:45,130 >> Ako sam testirao 7 veći od 3 and-- Ja sam samo branje slučajnih brojeva here-- 297 00:13:45,130 --> 00:13:47,340 4 je manji od 2, dobro, to je laž. 298 00:13:47,340 --> 00:13:49,610 Dakle, istinito i lažno lažne. 299 00:13:49,610 --> 00:13:54,520 A možete ići na i kombinirati kao mnogi uvjeti zajedno kao što želite. 300 00:13:54,520 --> 00:14:00,000 >> Se bilo tko imati bilo kakvih pitanja, komentari, zabrinutost do sada? 301 00:14:00,000 --> 00:14:03,862 I ne vidim neke od vas fotografiranje mene na zaslonu, što cijenim. 302 00:14:03,862 --> 00:14:05,070 Na sreću, to nije Snapchat. 303 00:14:05,070 --> 00:14:06,417 Nadam se, da je za svoje bilješke. 304 00:14:06,417 --> 00:14:08,500 No, sve to ide biti dostupan online. 305 00:14:08,500 --> 00:14:11,210 Tako da ne morate fotografirati ovo. 306 00:14:11,210 --> 00:14:15,150 Kao što sam spomenuo, sve će biti dostupna online za vas. 307 00:14:15,150 --> 00:14:15,650 U REDU. 308 00:14:15,650 --> 00:14:17,980 Ja sam o tome da se izvan pozornice, tako da se bilo koga 309 00:14:17,980 --> 00:14:20,350 želim reći ništa prije se to dogodi? 310 00:14:20,350 --> 00:14:21,080 Pitanja? 311 00:14:21,080 --> 00:14:21,680 >> [Ubacivanjem GLAS] 312 00:14:21,680 --> 00:14:22,250 >> Jason Hirschhorn: Oh, prestani. 313 00:14:22,250 --> 00:14:23,290 Vi ste previše lijepo. 314 00:14:23,290 --> 00:14:23,790 U REDU. 315 00:14:23,790 --> 00:14:26,520 Idem označiti van. 316 00:14:26,520 --> 00:14:27,240 Idemo. 317 00:14:27,240 --> 00:14:29,570 >> ANDI PENG: Idemo raditi neugodan mic promjene sada. 318 00:14:29,570 --> 00:14:32,280 >> Jason Hirschhorn: Ja sam uzeti ovaj off. 319 00:14:32,280 --> 00:14:33,946 ANDI PENG: Cijenimo podršku, dečki. 320 00:14:33,946 --> 00:14:42,250 321 00:14:42,250 --> 00:14:43,180 Možeš li me čuti? 322 00:14:43,180 --> 00:14:43,930 Je li to dobro? 323 00:14:43,930 --> 00:14:44,760 Savršeno. 324 00:14:44,760 --> 00:14:45,630 Lijepa. 325 00:14:45,630 --> 00:14:47,490 Dopustite mi samo ugurati da. 326 00:14:47,490 --> 00:14:49,100 U REDU. 327 00:14:49,100 --> 00:14:54,140 Dakle, ja sam o to učiniti poput diva Informacije deponij na vama upravo sada. 328 00:14:54,140 --> 00:14:57,370 I ne brinite, ako ste uopće ne slijedi svaku liniju ono malo 329 00:14:57,370 --> 00:14:58,812 Ja sam o to pokazivanje. 330 00:14:58,812 --> 00:15:00,770 Kao što je Jason rekao, sve potpuno je online. 331 00:15:00,770 --> 00:15:03,780 Samo ćemo pokušati uvesti svi konceptima pokriveni 332 00:15:03,780 --> 00:15:05,270 u nekim od ovih slajdova. 333 00:15:05,270 --> 00:15:06,582 Tako je samo slijediti zajedno. 334 00:15:06,582 --> 00:15:09,540 Bez brige, ako se ne razumiju sve; Međutim, ako se u bilo kojem trenutku 335 00:15:09,540 --> 00:15:12,820 osjećate izgubljeno, dignite ruku, zaustavit ćemo, bez brige. 336 00:15:12,820 --> 00:15:15,060 Cool. 337 00:15:15,060 --> 00:15:19,270 >> Dakle, mislim da nešto što je David Već vrsta spominje u predavanju 338 00:15:19,270 --> 00:15:23,240 Jason je vrsta aludira do danas je ono što je knjižnica. 339 00:15:23,240 --> 00:15:27,510 Tako je u programiranju, imamo ove stvari zove knjižnice. 340 00:15:27,510 --> 00:15:29,690 Gdje, u suštini, sve oni su je samo skup 341 00:15:29,690 --> 00:15:32,610 funkcija, odnosno u biti samo kod koji je 342 00:15:32,610 --> 00:15:35,070 već napisao netko drugi da svi možemo 343 00:15:35,070 --> 00:15:36,410 koristite u našim programima. 344 00:15:36,410 --> 00:15:38,790 >> Pa kako se normalno Knjižnica posao, zar ne? 345 00:15:38,790 --> 00:15:40,030 Ulazite vrata knjižnice. 346 00:15:40,030 --> 00:15:41,890 Imate sve ove knjige možete izvući 347 00:15:41,890 --> 00:15:44,590 i možete pristupiti informacijama u tim knjigama. 348 00:15:44,590 --> 00:15:45,840 Ista stvar u programiranju. 349 00:15:45,840 --> 00:15:48,820 >> Imate knjižnica koja ima već napisao drugih ljudi. 350 00:15:48,820 --> 00:15:51,530 A način na koji možete, kao programer ili student, 351 00:15:51,530 --> 00:15:55,780 može pristupiti toj knjižnici kroz hashtag # Include. 352 00:15:55,780 --> 00:15:59,720 >> Na primjer, u C mi ima tri C-- najviše 353 00:15:59,720 --> 00:16:03,420 najčešće koriste tri C standarda libraries-- ulazne / izlazne knjižnica, 354 00:16:03,420 --> 00:16:05,540 string knjižnica, i matematike knjižnica. 355 00:16:05,540 --> 00:16:07,610 >> Dakle, u svoj prvi Nekoliko problema postavlja, 356 00:16:07,610 --> 00:16:10,940 oni će biti tri da prije svega koristimo. 357 00:16:10,940 --> 00:16:14,610 Dakle, kao David je već objašnjeno u predavanju, 358 00:16:14,610 --> 00:16:17,460 standardni I / O biblioteka, ili standardni ulaz / izlaz knjižnice 359 00:16:17,460 --> 00:16:18,620 čini upravo to. 360 00:16:18,620 --> 00:16:23,530 To vam omogućuje, u kodu, za unos ništa od korisnika i izlaz da 361 00:16:23,530 --> 00:16:25,960 na zaslonu, bitno ispisa na zaslonu. 362 00:16:25,960 --> 00:16:29,990 >> I tako svaki put kada koristite bilo koje funkcije, primjerice funkcija printf () koja 363 00:16:29,990 --> 00:16:33,319 ćemo ići u sljedećem slajdu, pobrinite se da su standard I / O 364 00:16:33,319 --> 00:16:36,360 Knjižnica inače ne ide na moći koristiti printf () funkciju. 365 00:16:36,360 --> 00:16:39,110 Zato što, kao programer Nikad zapravo napisao tu funkciju, 366 00:16:39,110 --> 00:16:41,840 ti si samo pomoću nekog kod tuđe unutar svog koda. 367 00:16:41,840 --> 00:16:43,620 >> Da li to smisla svi? 368 00:16:43,620 --> 00:16:44,520 Cool. 369 00:16:44,520 --> 00:16:48,530 >> A onda smo dobili na osnovi string.h knjižnica i math.h 370 00:16:48,530 --> 00:16:52,970 knjižnica, .h jednostavno označava knjižnicu, druge knjižnice koje na kraju ćete 371 00:16:52,970 --> 00:16:55,310 se koristi u kodu. 372 00:16:55,310 --> 00:16:57,620 >> Međutim, u svrhu ove knjižnice, mi također 373 00:16:57,620 --> 00:17:01,170 have-- ovog class-- mi također imaju ono što se naziva CS50 knjižnici, 374 00:17:01,170 --> 00:17:05,270 cs50.h, gdje smo, za Vaša lektira stvorili 375 00:17:05,270 --> 00:17:07,369 mnoge važne i korisne funkcije. 376 00:17:07,369 --> 00:17:09,550 Tako da vi kao programer možete piggyback isključeno 377 00:17:09,550 --> 00:17:14,470 ono što sam napisao već da Ova funkcija je dostupna za vas 378 00:17:14,470 --> 00:17:15,599 za upotrebu. 379 00:17:15,599 --> 00:17:18,359 >> Ja ću biti pokrivanje par funkcije obično koriste, 380 00:17:18,359 --> 00:17:20,839 ali znam da su to Sve googleable online. 381 00:17:20,839 --> 00:17:24,904 Slobodno, izvucite CS50 knjižnicu i onda imate sve funkcije tamo. 382 00:17:24,904 --> 00:17:25,828 Da. 383 00:17:25,828 --> 00:17:28,140 >> SPEAKER 5: Dakle, ako niste bili pomoću softvera koji 384 00:17:28,140 --> 00:17:29,916 pruža nam klasa, ne da 385 00:17:29,916 --> 00:17:32,698 znači da ćemo morati skinuti i pronaći ovo zaglavlje se podnijeti i reći 386 00:17:32,698 --> 00:17:33,840 računalo gdje je to? 387 00:17:33,840 --> 00:17:34,320 >> ANDI PENG: Veliki pitanje. 388 00:17:34,320 --> 00:17:34,820 Točno. 389 00:17:34,820 --> 00:17:38,194 Dakle, to je kao, ako niste fizički prisutni u knjižnici, 390 00:17:38,194 --> 00:17:40,360 ne postoji način za vas zapravo ići i pristup. 391 00:17:40,360 --> 00:17:42,589 Dakle, ista stvar s Programiranje u C, vi 392 00:17:42,589 --> 00:17:45,880 kako biste bili sigurni da koristite naše Aparat jer knjižnica je već 393 00:17:45,880 --> 00:17:47,270 bili uključeni u to. 394 00:17:47,270 --> 00:17:50,020 I onda kad hashtag #include, knjižnica je tamo. 395 00:17:50,020 --> 00:17:50,520 Da. 396 00:17:50,520 --> 00:17:51,920 Dobro pitanje. 397 00:17:51,920 --> 00:17:53,461 Svatko 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 U redu. 401 00:17:56,870 --> 00:17:59,330 Tako ćemo pogoditi, u biti, ono što je 402 00:17:59,330 --> 00:18:01,620 prva funkcija koja Mi kao programeri su 403 00:18:01,620 --> 00:18:03,900 će se koristiti u našoj koda. 404 00:18:03,900 --> 00:18:05,690 To se zove printf () funkcija. 405 00:18:05,690 --> 00:18:08,450 Dakle, printf () funkcija, kao što sam već rekao u zadnjem slajdu, 406 00:18:08,450 --> 00:18:11,830 uključena u standardnom I / O, standardni ulaz / izlaz, knjižnica. 407 00:18:11,830 --> 00:18:16,470 >> Zato pazite što god using-- Oh, neka mi zgrabite laser pointer-- 408 00:18:16,470 --> 00:18:18,660 kada koristite printf () funkcija, 409 00:18:18,660 --> 00:18:21,790 morate uključiti standard I / O Knjižnica inače, kad sastaviti, 410 00:18:21,790 --> 00:18:23,760 ti si idući u dobiti greška jer računalo će biti kao što je, 411 00:18:23,760 --> 00:18:26,140 oh ne znam gdje printf () je, što mi ne govoriš gdje printf () 412 00:18:26,140 --> 00:18:26,830 je. 413 00:18:26,830 --> 00:18:30,150 Pa printf () je uključena u standardni I / O, pa kada koristite printf (), 414 00:18:30,150 --> 00:18:32,960 pobrinite se da se taj crta iznad koda. 415 00:18:32,960 --> 00:18:36,040 >> Tako, na primjer, printf () Ovdje je funkcija. 416 00:18:36,040 --> 00:18:40,260 Sve je to ipak ispisati nešto unutar zagrada za korisnika. 417 00:18:40,260 --> 00:18:44,840 Želite li itko želio da se ubosti na ono što ovaj redak koda prava 418 00:18:44,840 --> 00:18:46,420 Ovdje će se ispisati? 419 00:18:46,420 --> 00:18:48,730 Dakle, odgovor je na zaslonu. 420 00:18:48,730 --> 00:18:50,480 Bilo tko? 421 00:18:50,480 --> 00:18:51,380 >> Verdi: Dno. 422 00:18:51,380 --> 00:18:53,510 >> ANDI PENG: Verdi, zašto ne odeš naprijed i reći cijelu izjavu? 423 00:18:53,510 --> 00:18:55,718 >> Verdi: Pozdrav, moje ime je Andi, i ja sam 20 godina. 424 00:18:55,718 --> 00:18:57,270 ANDI PENG: Ah, lijepo. 425 00:18:57,270 --> 00:19:00,240 Tako je u ovom retku ćemo ispis, Pozdrav, moje ime je Andi, 426 00:19:00,240 --> 00:19:04,280 i ja sam 20 godina, koji je zapravo istinita izjava. 427 00:19:04,280 --> 00:19:05,090 >> Sintaksa. 428 00:19:05,090 --> 00:19:08,830 Dakle, par sintaktičkih pitanja koja vi želite biti sigurni da znate. 429 00:19:08,830 --> 00:19:09,360 Citati. 430 00:19:09,360 --> 00:19:13,170 Dupli citati reći Računalo koje je sve unutar 431 00:19:13,170 --> 00:19:14,850 će se ispisati. 432 00:19:14,850 --> 00:19:16,620 >> Sve u limenci samo biti točno kako 433 00:19:16,620 --> 00:19:19,920 možete ga upisati, osim za obično na kraju 434 00:19:19,920 --> 00:19:23,610 ćemo želite uključiti hash-- oh sorry-- crtica n. 435 00:19:23,610 --> 00:19:24,640 Dakle crtica n. 436 00:19:24,640 --> 00:19:28,884 >> Se bilo tko želi uzeti pogodak na što to čini našu šifru? 437 00:19:28,884 --> 00:19:29,465 Da. 438 00:19:29,465 --> 00:19:30,840 SPEAKER 6: stavlja ga na novoj liniji. 439 00:19:30,840 --> 00:19:31,650 ANDI PENG: Točno. 440 00:19:31,650 --> 00:19:34,660 Dakle, sve to čini se dopustiti ono što se događa 441 00:19:34,660 --> 00:19:37,520 nakon toga, nakon ove izjave, za ispis na novu liniju. 442 00:19:37,520 --> 00:19:40,030 Tako da kada ste pisanja broj ne slučajno ima stvari 443 00:19:40,030 --> 00:19:41,738 priljepuša na kraju da ne želite. 444 00:19:41,738 --> 00:19:43,700 To je sve dobiva uredno ispisan jedan redak 445 00:19:43,700 --> 00:19:46,870 a onda ćemo početi na sljedećoj liniji. 446 00:19:46,870 --> 00:19:50,970 >> Se bilo tko sjetiti što da točka-zarez se kada smo kodiranja? 447 00:19:50,970 --> 00:19:54,580 448 00:19:54,580 --> 00:19:55,330 Da. 449 00:19:55,330 --> 00:19:55,740 >> SPEAKER 7: Izjava. 450 00:19:55,740 --> 00:19:56,010 >> ANDI PENG: Žao nam je? 451 00:19:56,010 --> 00:19:57,100 >> SPEAKER 7: Je li to kraj izjavu? 452 00:19:57,100 --> 00:19:57,766 >> ANDI PENG: Da. 453 00:19:57,766 --> 00:20:02,670 Tako je u C, ili bilo programiranje jezika, zarez 454 00:20:02,670 --> 00:20:04,640 označava kraj programskog linije. 455 00:20:04,640 --> 00:20:09,240 Tako, na primjer, na engleskom mi koristimo razdoblje reći, oh ovo je kraj rečenica. 456 00:20:09,240 --> 00:20:12,857 U programiranju, ista stvar, imamo točka-zarez za označavanje kraja linije. 457 00:20:12,857 --> 00:20:14,690 Često, kad ste s početkom u program, 458 00:20:14,690 --> 00:20:17,150 ćete vas shvatiti zaboraviti dodati zarez 459 00:20:17,150 --> 00:20:19,400 a potom pokušate pokrenuti svoj broj i to ne radi. 460 00:20:19,400 --> 00:20:21,520 A ti si kao, Ah, ja ne znam zašto, to bi trebalo raditi. 461 00:20:21,520 --> 00:20:24,394 >> Šanse su vjerojatno zaboravili točka-zarez ili nosač ili nešto 462 00:20:24,394 --> 00:20:25,020 negdje. 463 00:20:25,020 --> 00:20:27,740 Dakle, to je važno zapamtiti. 464 00:20:27,740 --> 00:20:29,627 Cool. 465 00:20:29,627 --> 00:20:31,960 U redu, dizanjem ruku, kako mnogi ljudi ovdje imaju sve 466 00:20:31,960 --> 00:20:37,210 uzeti AP Computer Science, ili programirati u Javi prije, ikad? 467 00:20:37,210 --> 00:20:37,710 U REDU. 468 00:20:37,710 --> 00:20:38,210 Lijep. 469 00:20:38,210 --> 00:20:41,340 To neće biti primjenjiv tada, ali u Javi, što 470 00:20:41,340 --> 00:20:44,960 ima nešto što se zove Sustava koja ne postoji u C 471 00:20:44,960 --> 00:20:49,927 >> Tako je u C, kad god vas želite dodati u varijablama 472 00:20:49,927 --> 00:20:51,760 u sve što želite za ispis, postoji 473 00:20:51,760 --> 00:20:54,620 specifična sintaksa ćemo koristiti. 474 00:20:54,620 --> 00:20:56,520 To se zove placeholding-- bitno 475 00:20:56,520 --> 00:21:01,180 Dodamo rezervirana mjesta na mjesto od cijelog broja ili varijable 476 00:21:01,180 --> 00:21:02,580 da želimo ispisati. 477 00:21:02,580 --> 00:21:07,430 >> Dakle, kao što vi vidite što smo uključeni nova knjižnica zaglavlje datoteke ovdje. 478 00:21:07,430 --> 00:21:09,130 CS50 knjižnici. 479 00:21:09,130 --> 00:21:13,160 A sadržan u toj CS50 knjižnici je uobičajena funkcija ćemo se pomoću 480 00:21:13,160 --> 00:21:15,610 u našem naravno zove GetInt (). 481 00:21:15,610 --> 00:21:21,830 >> Da li itko želite uzeti ubosti na što GetInt () svibanj biti događaj. 482 00:21:21,830 --> 00:21:22,830 >> PUBLIKA: [nečujan] 483 00:21:22,830 --> 00:21:23,550 >> ANDI PENG: Žao mi je. 484 00:21:23,550 --> 00:21:24,370 Nije mogao čuti. 485 00:21:24,370 --> 00:21:25,511 Maddie, svatko. 486 00:21:25,511 --> 00:21:27,260 Maddie: Oh, traži što za cijeli broj. 487 00:21:27,260 --> 00:21:28,051 ANDI PENG: Točno. 488 00:21:28,051 --> 00:21:30,670 Dakle ova funkcija, još jedan funkcija koja je već 489 00:21:30,670 --> 00:21:33,690 je napisao netko drugi da možemo pozvati sada. 490 00:21:33,690 --> 00:21:38,000 Sve to je brz vas, korisnika, za unos god želite kao kod 491 00:21:38,000 --> 00:21:41,850 radi i sprema whatever-- u ovom slučaju smo GetInt () - ING, 492 00:21:41,850 --> 00:21:44,060 pa to znači da smo dobivanje cijeli broj. 493 00:21:44,060 --> 00:21:46,150 >> A mi ćemo pohraniti da je u drugom cijeli broj 494 00:21:46,150 --> 00:21:48,900 da smo upravo napravili zove dobi. 495 00:21:48,900 --> 00:21:51,500 To smisla svima? 496 00:21:51,500 --> 00:21:52,190 Cool. 497 00:21:52,190 --> 00:21:56,400 >> Dakle, sada kada smo pohranjeni ovaj cijeli broj, da smo zatraži od korisnika, 498 00:21:56,400 --> 00:22:00,010 u ovoj varijabli, mi smo stvorio tipa int zove dob, 499 00:22:00,010 --> 00:22:03,720 možemo ići naprijed i mjesto da u našem printf () funkcija. 500 00:22:03,720 --> 00:22:08,970 Dakle, sintaksa obično printf () je da tamo gdje se u vašem stvarni fizički 501 00:22:08,970 --> 00:22:14,410 crta želite uključiti taj cijeli broj, što učiniti da simbol pravo postoji, 502 00:22:14,410 --> 00:22:17,800 postotak simbol, s Vrsta varijable koje želite. 503 00:22:17,800 --> 00:22:20,090 >> Dakle, u ovom slučaju doba cijeli broj. 504 00:22:20,090 --> 00:22:25,030 Dakle, ti ćeš uključiti % i jer je cijeli broj. 505 00:22:25,030 --> 00:22:26,860 I onda nakon vašeg izjava, idete 506 00:22:26,860 --> 00:22:30,370 učiniti zarez i naziv varijable. 507 00:22:30,370 --> 00:22:33,420 >> Dakle ovdje, idemo ispisati van, Pozdrav, moje ime je Andi, 508 00:22:33,420 --> 00:22:35,730 i ja sam prazna godina. 509 00:22:35,730 --> 00:22:38,890 Hashta-- ili sorry--, dobi s bilo I ulaz. 510 00:22:38,890 --> 00:22:42,790 Dakle, ako su za unos 20 za moj GetInt () ovdje, 511 00:22:42,790 --> 00:22:44,500 to bi ispisati točno istu stvar. 512 00:22:44,500 --> 00:22:47,990 Ali, ako sam htjela nešto ulazni drugo, kao što je možda 40 ili 45, 513 00:22:47,990 --> 00:22:50,800 onda bi vidjeti da odražava u skladu s tim u kodu. 514 00:22:50,800 --> 00:22:52,886 >> Dakle, ovo je primjer nešto u kojima 515 00:22:52,886 --> 00:22:55,260 ispisuje se i izgleda da vi kao da je to ista stvar, 516 00:22:55,260 --> 00:22:57,593 ali ispod haube računalo tu je zapravo 517 00:22:57,593 --> 00:22:59,560 vrlo različite stvari događa. 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 U redu. 521 00:23:03,260 --> 00:23:06,940 Pa što ako želimo više varijabli? 522 00:23:06,940 --> 00:23:08,290 Prilično jednostavno. 523 00:23:08,290 --> 00:23:09,150 Ista stvar. 524 00:23:09,150 --> 00:23:11,930 Također imamo novu funkciju Ovdje zove GetString (), 525 00:23:11,930 --> 00:23:15,380 Također su u knjižnici CS50, da je sve to ipak je brz korisnik 526 00:23:15,380 --> 00:23:18,120 za niz, koji je samo skup znakova, 527 00:23:18,120 --> 00:23:19,810 pa kao kaznu ili kao ime. 528 00:23:19,810 --> 00:23:25,470 >> Dakle, u ovom slučaju, mi bi dva rezerviranih% s za gudački i% i 529 00:23:25,470 --> 00:23:26,750 za cijeli broj. 530 00:23:26,750 --> 00:23:29,190 A mi ćemo slijediti da se dvije varijable 531 00:23:29,190 --> 00:23:32,670 Želimo uključeni, u cilju koji se pojavljuju u rečenici. 532 00:23:32,670 --> 00:23:35,471 Tako, na primjer, moje ime je prazno, želim ime tamo, 533 00:23:35,471 --> 00:23:36,970 pa ću imati ime prvi. 534 00:23:36,970 --> 00:23:39,637 I onda nakon toga, želim dob, žele imati dobnu sekundu. 535 00:23:39,637 --> 00:23:42,720 I tako, ako sam htjela ulaz, Pozdrav, moje ime je Andi i ja sam 20 godina. 536 00:23:42,720 --> 00:23:46,370 Ako sam unesene Andi i 20., točno istu stvar će ispisati; 537 00:23:46,370 --> 00:23:51,134 Međutim, sada imamo dva pohranjeni varijable ime kao int. 538 00:23:51,134 --> 00:23:51,634 Da. 539 00:23:51,634 --> 00:23:54,124 >> SPEAKER 8: Biste li se mogućnosti pokrenuti ako uključen 540 00:23:54,124 --> 00:23:55,620 ime i dob na kraju to? 541 00:23:55,620 --> 00:23:55,840 >> ANDI PENG: Da. 542 00:23:55,840 --> 00:23:57,006 To je stvarno dobro pitanje. 543 00:23:57,006 --> 00:23:59,520 Dakle duljimo, br. 544 00:23:59,520 --> 00:24:03,070 Zbog ime i age-- ono Vrsta varijable ime? 545 00:24:03,070 --> 00:24:03,950 >> SPEAKER 8: String. 546 00:24:03,950 --> 00:24:05,440 >> ANDI PENG: A što Vrsta varijable dob? 547 00:24:05,440 --> 00:24:06,231 >> SPEAKER 8: Integer. 548 00:24:06,231 --> 00:24:10,290 ANDI PENG: Dakle, ovdje imamo rezervirano mjesto za string i cijeli broj, zar ne? 549 00:24:10,290 --> 00:24:13,350 Dakle, ako ste bili da se prebaci njih, računalo neće znati. 550 00:24:13,350 --> 00:24:16,250 To će provjeriti niz, a ako pokušate dati int, 551 00:24:16,250 --> 00:24:18,083 to će biti kao pričekajte sam zbunjen, te 552 00:24:18,083 --> 00:24:21,100 mi je rekao da bih trebao biti dodjeljujući memorije za int. 553 00:24:21,100 --> 00:24:23,760 I upravo ovdje, kad očekuje cijeli broj 554 00:24:23,760 --> 00:24:25,640 a ti ga dati ime i ogrlicu, umjesto, 555 00:24:25,640 --> 00:24:28,931 također će biti vrlo zbunjujuće, to neće raditi točno onako kako vam je potrebna. 556 00:24:28,931 --> 00:24:35,280 Dakle ovdje, imenovanja i sintaksa je vrlo važno za pokretanje koda. 557 00:24:35,280 --> 00:24:37,991 Svatko dobro? 558 00:24:37,991 --> 00:24:38,490 Da. 559 00:24:38,490 --> 00:24:39,476 Maddie. 560 00:24:39,476 --> 00:24:44,620 >> Maddie: Evo, ja znam da sam gledao na primjer u razredu, gdje se pitaju 561 00:24:44,620 --> 00:24:46,950 ono što je vaše dobi, što je vaše ime. 562 00:24:46,950 --> 00:24:50,250 Ovdje bi to trebalo biti to doesn't-- ako smo pokrenuti ovaj kod, 563 00:24:50,250 --> 00:24:51,750 ne bi pitati za to? 564 00:24:51,750 --> 00:24:54,740 Ali ti bi samo ulazne dva broja a onda bi se izvoditi kao što je to? 565 00:24:54,740 --> 00:24:55,781 >> ANDI PENG: Da, točno. 566 00:24:55,781 --> 00:24:58,250 Dakle, ako ste htjeli za to Prikaz unesite svoju dob, 567 00:24:58,250 --> 00:25:01,100 možete samo dodati printf () funkcija kako kaže, unesite svoju dob, 568 00:25:01,100 --> 00:25:01,600 iznad. 569 00:25:01,600 --> 00:25:02,711 To je dobro pitanje. 570 00:25:02,711 --> 00:25:03,210 Da. 571 00:25:03,210 --> 00:25:07,964 >> SPEAKER 9: Dakle, već će biti uključeni u GetInt () [nečujan]. 572 00:25:07,964 --> 00:25:09,380 ANDI PENG: Ne, zapravo nije. 573 00:25:09,380 --> 00:25:11,809 Dakle, sve to ne samo traži prazan ekran 574 00:25:11,809 --> 00:25:13,100 korisniku na ulaznom nešto. 575 00:25:13,100 --> 00:25:17,420 Ako ga želite, ako želite da se ispisati kako nešto što govori korisniku kao što su, 576 00:25:17,420 --> 00:25:21,110 molim vas dajte mi svoje dobi, a zatim vam će morati printf () da sebi. 577 00:25:21,110 --> 00:25:23,789 Budući da svatko koristi ovaj Funkcija za različite stvari, 578 00:25:23,789 --> 00:25:26,080 možete biti spremanje dob, možete biti spremanje adresu, 579 00:25:26,080 --> 00:25:28,060 možete biti spremanje telefonskih brojeva. 580 00:25:28,060 --> 00:25:31,190 I tako to je stvarno do Vaše dečki 'pojedine namjene 581 00:25:31,190 --> 00:25:34,390 za ono što želite reći. 582 00:25:34,390 --> 00:25:34,890 Da. 583 00:25:34,890 --> 00:25:38,236 >> SPEAKER 10: Dakle, samo da pojasnimo, gdje to vam ulaz ime i dob 584 00:25:38,236 --> 00:25:43,020 tako da se pojavi na mjestu% s? 585 00:25:43,020 --> 00:25:44,320 >> ANDI PENG: Kao korisnik? 586 00:25:44,320 --> 00:25:47,165 >> SPEAKER 10: Da, kao i kako mi je činiti bi it-- odakle stavio sam Andi, 587 00:25:47,165 --> 00:25:48,350 i gdje da stavim 20? 588 00:25:48,350 --> 00:25:48,640 >> ANDI PENG: Da. 589 00:25:48,640 --> 00:25:50,250 Dakle, ako ste bili na zapravo pokrenuti ovaj kod, 590 00:25:50,250 --> 00:25:52,875 Nisam zapravo trčanje kod, to je samo sada ovdje. 591 00:25:52,875 --> 00:25:56,910 Da sam pokrenuti kod, ja bih sastaviti kod, napravite datoteku, 592 00:25:56,910 --> 00:26:00,760 izvoditi kod, a onda bi Samo se dva mjesta za mene da ga unijeti. 593 00:26:00,760 --> 00:26:01,260 Da. 594 00:26:01,260 --> 00:26:03,843 Vi ćete vidjeti kada igrate oko s kodom sami. 595 00:26:03,843 --> 00:26:05,760 596 00:26:05,760 --> 00:26:09,645 >> Dobro ćemo se kretati u sljedećem poglavlju ono 597 00:26:09,645 --> 00:26:11,610 ćemo se pokriva i danas. 598 00:26:11,610 --> 00:26:13,980 Ćemo ići preko onoga što uvjetne izjave. 599 00:26:13,980 --> 00:26:16,500 Dakle, ako vi ne zaboravite i opoziva od predavanja, 600 00:26:16,500 --> 00:26:19,210 uvjetne izjave, svi su oni su skup 601 00:26:19,210 --> 00:26:24,010 uputa na računalu u što ako je neki uvjet istinit, 602 00:26:24,010 --> 00:26:27,470 te izvršiti kod unutar tog stanja. 603 00:26:27,470 --> 00:26:30,101 >> Tako je u suštini Scratch-- velika tema od danas 604 00:26:30,101 --> 00:26:32,850 je da vi već sve vidi logiku iza svega 605 00:26:32,850 --> 00:26:34,020 da smo pokriva. 606 00:26:34,020 --> 00:26:36,190 I sve što radimo je prevođenje nešto 607 00:26:36,190 --> 00:26:39,090 to je vrlo intuitivno u Scratch, i teško ga kodiranja 608 00:26:39,090 --> 00:26:41,950 u sintaksi ćemo se pomoću za klasu koja je C 609 00:26:41,950 --> 00:26:47,550 Pa logično, sve je to bio blok je da je dio koda upravo tamo. 610 00:26:47,550 --> 00:26:49,995 Da. 611 00:26:49,995 --> 00:26:50,900 U REDU. 612 00:26:50,900 --> 00:26:55,290 >> Također smo dobili u if ... else izjava koja je samo dodatni sloj 613 00:26:55,290 --> 00:26:59,120 složenosti na ako izjavi gdje računalo ima pogled na ovo 614 00:26:59,120 --> 00:27:04,260 i vidi, ako je to uvjet je istina, ne sve što je unutar te dvije zagrade, 615 00:27:04,260 --> 00:27:08,470 else-- tako nešto kao zadane ako ne ispunjavaju condition-- to učiniti. 616 00:27:08,470 --> 00:27:10,120 To je kao raskrižju. 617 00:27:10,120 --> 00:27:14,400 Ako pada kiša vani, sam stavio na kiše jaknu, inače ništa 618 00:27:14,400 --> 00:27:16,330 drugo ja ne stavi na kišu jaknu. 619 00:27:16,330 --> 00:27:18,400 >> Znači li to da je logika smisla svima? 620 00:27:18,400 --> 00:27:21,031 Cool. 621 00:27:21,031 --> 00:27:21,530 U redu. 622 00:27:21,530 --> 00:27:24,970 Dakle, kao što tvrdi primjer to da ćemo vidjeti u C 623 00:27:24,970 --> 00:27:28,890 je ako sam htjela stvoriti promjenjive nazivaju domaći sati. 624 00:27:28,890 --> 00:27:32,050 A ako domaći sati manje od pet, kažem Život je super. 625 00:27:32,050 --> 00:27:33,070 Predivno je. 626 00:27:33,070 --> 00:27:36,450 Međutim, kažu Borba je real-- što je ono što smo svi na ovoj ponedjeljak 627 00:27:36,450 --> 00:27:39,337 Poslijepodne se znanost Hill se Vjerojatno radi upravo now-- 628 00:27:39,337 --> 00:27:40,170 PUBLIKA: [smijeha] 629 00:27:40,170 --> 00:27:42,510 ANDI PENG: Oni način bi, hvala ti za to. 630 00:27:42,510 --> 00:27:46,180 Način na koji bi hardcode ovo u C je if-- pretpostavimo 631 00:27:46,180 --> 00:27:49,920 već imamo varijablu tipa int pozvao domaće sati ovdje. 632 00:27:49,920 --> 00:27:53,870 Ako domaći sati manje od pet printf (), život je super. 633 00:27:53,870 --> 00:27:57,330 Sjeti se držati / n, jer Želite novu liniju nakon. 634 00:27:57,330 --> 00:27:59,660 Drugo ispis Borba je stvaran. 635 00:27:59,660 --> 00:28:03,720 >> Da li su svi shvate kako Sam prebačen iz ovog bloka 636 00:28:03,720 --> 00:28:07,610 u ovaj blok koda? 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 U redu. 640 00:28:11,840 --> 00:28:15,930 >> Dakle, sada ćemo pogledati više ako izjave uopce. 641 00:28:15,930 --> 00:28:18,140 Tako ćemo pretpostaviti Svrha ovog programa 642 00:28:18,140 --> 00:28:20,870 Bio mi brz korisnik za ocjenom. 643 00:28:20,870 --> 00:28:24,450 Mi redak pomoću GetInt () za razreda, a ulazna vrijednost, 644 00:28:24,450 --> 00:28:27,700 i želite prikazati što tip od razreda su dobili. 645 00:28:27,700 --> 00:28:30,730 >> Dakle, ako sam bila dizajnirati program, ja znači u pravilu u svim našim očima, 646 00:28:30,730 --> 00:28:35,490 90-100 je A, 80-90 je B, i tako dalje i tako dalje. 647 00:28:35,490 --> 00:28:39,040 Što nije u redu s ovim dio koda koji to nije 648 00:28:39,040 --> 00:28:41,393 radiš ono što želim to učiniti. 649 00:28:41,393 --> 00:28:41,892 Da. 650 00:28:41,892 --> 00:28:45,100 >> SPEAKER 11: Oni imaju niže granice, ali oni nemaju gornje granice. 651 00:28:45,100 --> 00:28:46,280 >> ANDI PENG: Točno. 652 00:28:46,280 --> 00:28:47,950 Jeste svi čuli što je rekla? 653 00:28:47,950 --> 00:28:50,200 Tu će biti gornja ograničenja, ali ne i donje granice. 654 00:28:50,200 --> 00:28:52,540 Žao nam je, obrnuto, donja granica, nema ograničenja. gornji 655 00:28:52,540 --> 00:28:55,090 Dakle, želite uzeti ubosti na rekavši 656 00:28:55,090 --> 00:28:58,945 što će se ispisati na ovaj Zaslon da sam pokrenuti ovaj kod. 657 00:28:58,945 --> 00:28:59,820 SPEAKER 11: pogreške? 658 00:28:59,820 --> 00:29:01,140 ANDI PENG: pogreške? 659 00:29:01,140 --> 00:29:02,740 Izvrstan pogodak, nije u redu. 660 00:29:02,740 --> 00:29:05,465 Ima li netko drugi ubod? 661 00:29:05,465 --> 00:29:06,640 Da, Aron. 662 00:29:06,640 --> 00:29:10,099 >> AARON: Ako ste stavili u nešto veći od 90, 663 00:29:10,099 --> 00:29:11,640 to bi pokazati sve ocjene koje ste dobili. 664 00:29:11,640 --> 00:29:13,640 To će pokazati što je dobio peticu, imaš B, imaš C 665 00:29:13,640 --> 00:29:13,870 >> ANDI PENG: Da. 666 00:29:13,870 --> 00:29:14,840 To je točno. 667 00:29:14,840 --> 00:29:17,820 Dakle, to bi bilo divno. 668 00:29:17,820 --> 00:29:21,781 Međutim, oni su međusobno ekskluzivni, mislim. 669 00:29:21,781 --> 00:29:23,280 Da sam pokrenuti ovaj dio koda. 670 00:29:23,280 --> 00:29:26,200 A onda neka je samo reći, ja unesene razred 95. 671 00:29:26,200 --> 00:29:30,360 Dakle, 95 sada je pohranjena INT naziva ocjena. 672 00:29:30,360 --> 00:29:33,610 >> I tako je C jezik koji traje do vrha do dna, 673 00:29:33,610 --> 00:29:36,000 tako da će uvijek pokrenuti do dna. 674 00:29:36,000 --> 00:29:39,420 Tako da će doći ovdje, pročitati ako stupanj je veći od ili jednak 90, 675 00:29:39,420 --> 00:29:42,850 printf () imaš A. Veliki sam imaju 95, to je veći od 90. 676 00:29:42,850 --> 00:29:44,866 To će ispisati, Imam A. To se događa 677 00:29:44,866 --> 00:29:48,850 da pogledamo to ako, to se događa kažu, i 95 je veći od 80, 678 00:29:48,850 --> 00:29:52,970 to će ispisati također dobio Got oznaka B usklik, i tako dalje i tako 679 00:29:52,970 --> 00:29:53,690 naprijed. 680 00:29:53,690 --> 00:29:55,890 >> Dakle, kao što svi mogu vidjeti, to je čest bug 681 00:29:55,890 --> 00:30:00,760 koji se mogu pojaviti kada smo pisanje koda za gledati. 682 00:30:00,760 --> 00:30:05,430 Svatko, bilo kakva pitanja o Zato što se događalo? 683 00:30:05,430 --> 00:30:05,930 Veliki. 684 00:30:05,930 --> 00:30:08,920 685 00:30:08,920 --> 00:30:09,440 U REDU. 686 00:30:09,440 --> 00:30:12,110 >> Pa kako ćemo riješiti to, očito logično slijedi pitanje. 687 00:30:12,110 --> 00:30:16,290 Pa, imamo ove prekrasne stvari nazivaju, ako drukčije ako drugi 688 00:30:16,290 --> 00:30:18,010 ako drugdje izjavama. 689 00:30:18,010 --> 00:30:22,230 Tako možete vidjeti, ako ste htjeli mijenjati taj problem, 690 00:30:22,230 --> 00:30:25,260 ste htjeli da je svaki od Uvjeti međusobno isključivi, 691 00:30:25,260 --> 00:30:26,860 što bi dodaj drugo ... ako priopćenju. 692 00:30:26,860 --> 00:30:30,068 >> A ovo za course-- mislite o njima kao ljestve, ili poput prečki na ladder-- 693 00:30:30,068 --> 00:30:34,050 možete dodati što mnogi od njih kao ti Želite što više uvjeta kao što želite. 694 00:30:34,050 --> 00:30:36,790 Dakle ovdje, ako sam unesene stupnja da se 95. 695 00:30:36,790 --> 00:30:39,479 Ako ocjena je veći od 95, printf (), dobio sam A. Velika. 696 00:30:39,479 --> 00:30:42,020 To će za prikaz drugo ... ako i to će znati, Oh ne, 697 00:30:42,020 --> 00:30:43,750 Ja već izvršen prvi drugo. 698 00:30:43,750 --> 00:30:47,020 Ja know-- ili prvi if-- znam da Ja ne moram gledati na bilo koji od ovih 699 00:30:47,020 --> 00:30:48,920 jer je jedan od njih već je istina. 700 00:30:48,920 --> 00:30:50,410 Dakle, to će trajati od vrha prema dolje. 701 00:30:50,410 --> 00:30:53,650 Čim prvi je istina, onda to će preskočiti sve ostalo 702 00:30:53,650 --> 00:30:54,675 od drugo ... MS. 703 00:30:54,675 --> 00:30:55,550 Ima li to smisla? 704 00:30:55,550 --> 00:30:57,841 Dakle, na ovaj način imate različite razine provjere 705 00:30:57,841 --> 00:31:01,090 i čim jedan od njih je netočno, Ostali su i oni neće ni provjeriti. 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 U redu. 710 00:31:08,180 --> 00:31:11,180 >> Dakle, ovo je primjer drugačiji vrsta uvjet 711 00:31:11,180 --> 00:31:15,250 vidimo rjeđe, ali ćemo ih vidjeti i koristiti ih. 712 00:31:15,250 --> 00:31:18,120 I oni su često više učinkovit za pojedine slučajeve. 713 00:31:18,120 --> 00:31:20,020 Dakle, imamo ono što se zove izjava prekidač. 714 00:31:20,020 --> 00:31:25,140 Dakle, prije nego što smo pokriveno Što je ostalo izjava, if ... else. 715 00:31:25,140 --> 00:31:27,790 Evo, mi smo ono što smo zove prekidač izjave. 716 00:31:27,790 --> 00:31:31,100 >> Dakle, kada ćemo koristiti prekidač izjava je ključ? 717 00:31:31,100 --> 00:31:34,090 Tako je u priopćenju prekidač, što Obično, uobičajeno, zapravo vam 718 00:31:34,090 --> 00:31:38,010 mogu samo ulazni cijeli brojevi za svoje varijabla koja ste provjere. 719 00:31:38,010 --> 00:31:42,390 Dakle, ako sam htio provjeriti da se vidi ako se neka number-- primjerice 720 00:31:42,390 --> 00:31:43,720 za stupanj, ako sam dobio 90. 721 00:31:43,720 --> 00:31:48,190 Želim vidjeti ako je to A, B, ili C. bih mogao imati slučaj ovdje. 722 00:31:48,190 --> 00:31:50,840 Međutim, slučaj je biti još jedna konstanta. 723 00:31:50,840 --> 00:31:53,170 >> Dakle, u tom smislu, Prekidač izjava može samo 724 00:31:53,170 --> 00:31:55,290 provjeriti jednakost dvaju brojeva. 725 00:31:55,290 --> 00:31:57,242 To ne provjerite za bilo što drugo. 726 00:31:57,242 --> 00:31:59,950 Dakle, to je nešto što se vrlo oprezni kada koristite ovaj. 727 00:31:59,950 --> 00:32:04,810 Dakle ovdje, ako sam htjela provjeriti da se vidi ako je moj razred od 90 jednaka 90 ili 80 728 00:32:04,810 --> 00:32:08,500 ili 70 ili 60, a zatim ispisati odgovarajući razred, 729 00:32:08,500 --> 00:32:11,420 Ja bih biti u stanju napisati da u priopćenju prekidača. 730 00:32:11,420 --> 00:32:15,120 >> Tako da će doći ovdje, provjera ovaj broj jednak ove konstante? 731 00:32:15,120 --> 00:32:17,030 Ako ne, to će preskočiti. 732 00:32:17,030 --> 00:32:19,880 Je li jednaka konstanta dva, i tako dalje i tako dalje, 733 00:32:19,880 --> 00:32:22,390 dok ne pogoditi zadane, ako nitko od njih su jednaki. 734 00:32:22,390 --> 00:32:24,590 Čim jedan od njih postavljen da bude jednaka, 735 00:32:24,590 --> 00:32:27,040 to će učiniti linija koda i odmor. 736 00:32:27,040 --> 00:32:30,990 Što znači da će pogoditi da trčanje, razbiti, i samo potpuno preskočiti 737 00:32:30,990 --> 00:32:32,240 na dnu kod. 738 00:32:32,240 --> 00:32:37,550 Dakle, u tom smislu vrsta funkcija kao if else if else if izjava. 739 00:32:37,550 --> 00:32:40,830 >> Dakle, ovdje je konkretan Primjer za vas momci. 740 00:32:40,830 --> 00:32:46,140 Dakle, pretpostavimo da sam htjela stvoriti varijablu nazvanu godine osnovana. 741 00:32:46,140 --> 00:32:50,230 I želim brz korisnik za unos godine da je njihova škola je osnovana. 742 00:32:50,230 --> 00:32:53,300 Dakle, ja mogu stvoriti izjavu prekidač ovdje. 743 00:32:53,300 --> 00:32:56,650 I neka je samo reći, sam ulaz 1636. 744 00:32:56,650 --> 00:33:01,120 >> Ovaj kod ovdje će se vidjeti prekidač godine osnovao što iznosi 1636. 745 00:33:01,120 --> 00:33:03,940 To će vidjeti slučaj 1636, oh oni su jednaki, 746 00:33:03,940 --> 00:33:06,230 printf () ne bi li se na toj školi do sjevera? 747 00:33:06,230 --> 00:33:08,770 Zato pretpostavimo da ne ići ovdje ako idu na Harvard, 748 00:33:08,770 --> 00:33:10,380 razbiti i preskočiti do kraja. 749 00:33:10,380 --> 00:33:14,090 >> Da mi je ulaz 1701, koji Pretpostavljam sve nas bi ulaz, 750 00:33:14,090 --> 00:33:17,500 to bi preskočiti ovaj slučaj, dolaze do slučaja dva što je 1701, 751 00:33:17,500 --> 00:33:19,660 i ispis Dobrodošli na Yaleu! 752 00:33:19,660 --> 00:33:21,360 Break, preskočite do kraja. 753 00:33:21,360 --> 00:33:25,130 Inače vjerojatno uzimate ovaj tečaj line u kojoj case-- strašan dobrodošlicu 754 00:33:25,130 --> 00:33:29,020 na Yale-- to će ići na zadani ispisa, Pozdrav internetu! 755 00:33:29,020 --> 00:33:29,870 I slomiti. 756 00:33:29,870 --> 00:33:30,466 Da. 757 00:33:30,466 --> 00:33:32,090 >> SPEAKER 12: Može li se drugi umjesto defaultu tamo? 758 00:33:32,090 --> 00:33:34,550 >> ANDI PENG: Ne, jer Način na koji je cijela ova funkcija 759 00:33:34,550 --> 00:33:39,170 Prekidač je izgrađen je ti sintaksa morate koristiti je slučaj slučaj zadana. 760 00:33:39,170 --> 00:33:42,400 To je kao da je, ako drukčije, ako to jedan je slučaj slučaj zadana. Da. 761 00:33:42,400 --> 00:33:45,650 SPEAKER 13: Vi možda već rekao, ali možeš imati više od dva slučaja? 762 00:33:45,650 --> 00:33:48,066 ANDI PENG: Da, mogao imati što više slučajeva kao što želite. 763 00:33:48,066 --> 00:33:50,050 Misli o tome kao baš kao i beskrajno dodavanje na. 764 00:33:50,050 --> 00:33:52,396 >> SPEAKER 14: Ako vas prebacio 1701 u 1636., 765 00:33:52,396 --> 00:33:54,187 to zapravo ne bi razlika zar ne? 766 00:33:54,187 --> 00:33:55,770 To samo će se provjere za to. 767 00:33:55,770 --> 00:33:56,900 >> ANDI PENG: To je jako dobro pitanje. 768 00:33:56,900 --> 00:33:58,880 A mi ćemo dotaknuti to kasnije, ali samo 769 00:33:58,880 --> 00:34:01,160 znam da je prekidač izjava infinitely-- je 770 00:34:01,160 --> 00:34:03,536 učinkovitiji od njega, a ako drugo, ako jer djeluje 771 00:34:03,536 --> 00:34:06,660 koristeći različite vrste funkcije koje omogućuje vam da u biti, samo 772 00:34:06,660 --> 00:34:08,790 skočiti ravno na Slučaj morate biti. 773 00:34:08,790 --> 00:34:10,547 Da. 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: Da 777 00:34:12,526 --> 00:34:16,687 >> SPEAKER 14: A ti ne mogu ne slučajeve kao što su i veći od. 778 00:34:16,687 --> 00:34:17,270 ANDI PENG: Ne 779 00:34:17,270 --> 00:34:19,860 Dakle, to je ono što ograničava o Prekidač izjava je da imate 780 00:34:19,860 --> 00:34:21,564 imati konstante samo, samo cijeli brojevi. 781 00:34:21,564 --> 00:34:22,064 Da. 782 00:34:22,064 --> 00:34:25,179 783 00:34:25,179 --> 00:34:25,820 U REDU. 784 00:34:25,820 --> 00:34:28,659 >> Dakle, to je nešto što vam Dečki će se susresti rjeđe od, 785 00:34:28,659 --> 00:34:32,280 ali samo sam htio uvesti ga u slučaju. 786 00:34:32,280 --> 00:34:36,210 Imamo ovdje što je zove trodjelna operatora. 787 00:34:36,210 --> 00:34:39,370 Gdje u biti, to je samo kao Ako izjavu sastavio u jednu liniju. 788 00:34:39,370 --> 00:34:42,630 Evo, ja ću ići na sljedeću liniji, sljedeća stranica, jer to je lakše vidjeti. 789 00:34:42,630 --> 00:34:44,860 >> Tako smo svi vidjeli to pravo? 790 00:34:44,860 --> 00:34:46,110 To je prilično lako slijediti. 791 00:34:46,110 --> 00:34:51,290 Da sam htio napraviti varijablu nazvanu string zove a ako se određeni broj 792 00:34:51,290 --> 00:34:54,770 Dajem je manje od 100, ja želite dodijeliti niska u nizu, 793 00:34:54,770 --> 00:34:57,240 drugo Želim dodijeliti visoka. 794 00:34:57,240 --> 00:35:01,370 >> Ovo ovdje radi točno istu stvar te osam linija koda rade. 795 00:35:01,370 --> 00:35:03,600 Dakle ovdje želim stvoriti varijabla niz. 796 00:35:03,600 --> 00:35:08,520 A to je uvjet da sam provjeru, ako je broj manji od 100, 797 00:35:08,520 --> 00:35:12,750 onda vam dodijeliti vrijednost niska, drugo dodijeliti vrijednost visoka. 798 00:35:12,750 --> 00:35:15,802 >> Ovi slajdovi će biti online, bez brige Ako vi ne dobijete ovo. 799 00:35:15,802 --> 00:35:18,510 To je samo jednostavniji način, više učinkovit način pisanja koda. 800 00:35:18,510 --> 00:35:21,290 801 00:35:21,290 --> 00:35:21,810 U REDU. 802 00:35:21,810 --> 00:35:25,190 >> Dakle, sada ćemo upišite što, za većinu ljudi 803 00:35:25,190 --> 00:35:28,660 su kao vrlo, vrlo zbunjujuće stvar razmišljati o na prvom mjestu. 804 00:35:28,660 --> 00:35:30,226 Dionica petlje. 805 00:35:30,226 --> 00:35:32,600 Tako je danas, idemo razgovarati oko tri vrste petlje. 806 00:35:32,600 --> 00:35:34,890 Idemo početi s vremena petlje, a zatim razgovarati o do while petlja, 807 00:35:34,890 --> 00:35:36,740 a zatim razgovarati o za petlje. 808 00:35:36,740 --> 00:35:40,010 >> Pa u biti, za više Vizualni učenici vani, 809 00:35:40,010 --> 00:35:44,410 imamo, u suštini, grafički prikaz što while petlja radi. 810 00:35:44,410 --> 00:35:48,290 Tako u programiranju, te će se početi i unesite petlju u određenom trenutku. 811 00:35:48,290 --> 00:35:49,470 Možete provjeriti stanje. 812 00:35:49,470 --> 00:35:52,165 A ako je uvjet istinit, te izvršiti kod iznutra. 813 00:35:52,165 --> 00:35:53,790 A ti se vratiti oko i provjerite. 814 00:35:53,790 --> 00:35:57,190 Ako je to još uvijek vrijedi li nastaviti prikazivati ovaj kod okolo i okolo u petlji. 815 00:35:57,190 --> 00:36:00,970 >> Međutim, drugi to stanje postaje lažna, 816 00:36:00,970 --> 00:36:02,739 ideš razbiti i na kraju petlje. 817 00:36:02,739 --> 00:36:05,030 A to je u biti Sintaksa ideš koristiti. 818 00:36:05,030 --> 00:36:08,250 Dok neki uvjet istina to učiniti, ako to nije istina, 819 00:36:08,250 --> 00:36:12,920 idete preskočiti do kraja i krenuti naprijed sa svojim programom. 820 00:36:12,920 --> 00:36:13,690 U REDU. 821 00:36:13,690 --> 00:36:17,250 >> Se bilo tko imati jedan primjer na ono što potencijalno može dogoditi 822 00:36:17,250 --> 00:36:19,160 ako pokušam pokrenuti ovaj dio koda? 823 00:36:19,160 --> 00:36:22,470 Usput, SAJ-- to Scaz, Andi, Jason-- ćemo potpisati naše e-mailove, 824 00:36:22,470 --> 00:36:24,830 Ljubav, SAJ. 825 00:36:24,830 --> 00:36:25,573 To nas. 826 00:36:25,573 --> 00:36:26,500 U REDU. 827 00:36:26,500 --> 00:36:29,829 >> Svatko ima primjer, ili su ideja o tome što bi to ispisati? 828 00:36:29,829 --> 00:36:30,870 Vrsta trik pitanje. 829 00:36:30,870 --> 00:36:34,550 830 00:36:34,550 --> 00:36:39,380 Dakle ovdje, sjećaš stanje mi provjere je dok je istina. 831 00:36:39,380 --> 00:36:42,840 Dakle, dok je to istina, to je tiskanja, volim Saj! 832 00:36:42,840 --> 00:36:48,460 Ima li smisla u kojem bih promijeniti u bilo koji drugi način? 833 00:36:48,460 --> 00:36:49,050 Ne, zar ne? 834 00:36:49,050 --> 00:36:51,470 >> Dakle ovdje imamo naišao što je vjerojatno 835 00:36:51,470 --> 00:36:54,310 će biti prislušni puno svoje programe, beskonačna petlja. 836 00:36:54,310 --> 00:36:56,268 Naći ćete da ako pokrenuti ovaj dio koda, 837 00:36:56,268 --> 00:36:58,160 to je samo ide da bi tisak, volim Saj! 838 00:36:58,160 --> 00:37:00,701 Dok cijenimo potporu, ne želimo svoje računalo 839 00:37:00,701 --> 00:37:02,910 pad zbog tebe zadržati tiskanje Volim Saj! 840 00:37:02,910 --> 00:37:05,320 >> Dakle molim vas, molim vas, izbjeći beskonačnu petlju 841 00:37:05,320 --> 00:37:07,320 jer nikad ne događa ocijeniti false 842 00:37:07,320 --> 00:37:08,780 i nikad ne ide napustiti petlju. 843 00:37:08,780 --> 00:37:10,530 I ti ćeš biti usisan u zauvijek. 844 00:37:10,530 --> 00:37:13,000 Cool. 845 00:37:13,000 --> 00:37:13,694 U REDU. 846 00:37:13,694 --> 00:37:15,610 Drugi tip petlje ćemo govoriti o danas 847 00:37:15,610 --> 00:37:17,580 je do while petlja, ne dok petlje. 848 00:37:17,580 --> 00:37:20,580 I to se zove do while petlja jer imate učiniti i neko vrijeme. 849 00:37:20,580 --> 00:37:24,390 Dakle, to je prilično slično vrijeme petlje, ali malo drugačije. 850 00:37:24,390 --> 00:37:27,620 Evo, ti si idući u obaviti sve što je unutar toga 851 00:37:27,620 --> 00:37:29,747 dok je određeni uvjet true. 852 00:37:29,747 --> 00:37:32,580 Dakle, ako su C i računala sam sam trčanje dolje ovaj dio koda, 853 00:37:32,580 --> 00:37:33,880 Ja pogledati na vrhu. 854 00:37:33,880 --> 00:37:36,890 Idem C, kažem učiniti nešto takvo. 855 00:37:36,890 --> 00:37:40,550 A onda sam provjeriti, a to Istina je, moram to ponoviti. 856 00:37:40,550 --> 00:37:42,750 No, dok je to lažno, onda krenuti naprijed 857 00:37:42,750 --> 00:37:44,700 i nikad se vratiti na tom petljom. 858 00:37:44,700 --> 00:37:48,360 >> Može li netko uzeti ubod na što je razlika 859 00:37:48,360 --> 00:37:52,130 između petlje i jedna mi samo pogledala je gotovo. 860 00:37:52,130 --> 00:37:52,717 Da. 861 00:37:52,717 --> 00:37:55,050 SPEAKER 15: Uvjet dolazi nakon umjesto prije? 862 00:37:55,050 --> 00:37:55,841 ANDI PENG: Točno. 863 00:37:55,841 --> 00:37:57,984 Dakle, rekla je stanje dolazi nakon, a ne prije. 864 00:37:57,984 --> 00:38:00,400 U konačnici, razlika između ovog i while petlje 865 00:38:00,400 --> 00:38:03,597 da ste samo će učiniti sve što je unutra to bez obzira 866 00:38:03,597 --> 00:38:06,430 da li ili ne vaše stanje Istina, a zatim provjerite stanje. 867 00:38:06,430 --> 00:38:08,304 Dakle, u ovom slučaju, ti si always-- na ovaj način, 868 00:38:08,304 --> 00:38:11,240 ste uvijek sigurni sve što je unutra radi najmanje 869 00:38:11,240 --> 00:38:14,230 jednom prije checking vidjeti Ako ga želite ponovno pokrenuti. 870 00:38:14,230 --> 00:38:18,040 >> I ovdje je primjer kada bismo ga koristiti. 871 00:38:18,040 --> 00:38:22,570 Tako na primjer, ako želim imati varijabla tipa int imenom dob, 872 00:38:22,570 --> 00:38:25,640 i želim potaknuti korisnik za njihovu dob, 873 00:38:25,640 --> 00:38:27,910 Ja ću učiniti printf () Koliko imaš godina? 874 00:38:27,910 --> 00:38:30,330 dob = GetInt (), koji se je navelo korisniku. 875 00:38:30,330 --> 00:38:32,140 >> A neki ljudi će biti jako neugodno. 876 00:38:32,140 --> 00:38:34,931 A vi ne želite greške u svoj Program nekoga unosom slično, 877 00:38:34,931 --> 00:38:36,680 oh Ja sam negativna 4 godina ili bilo što drugo. 878 00:38:36,680 --> 00:38:39,900 U tom slučaju, ako oni to, to procjenjuje 879 00:38:39,900 --> 00:38:43,150 da istina, što znači da ću moraju zadržati ide natrag i to. 880 00:38:43,150 --> 00:38:45,310 Dakle, to će zadržati ponovno navelo korisniku 881 00:38:45,310 --> 00:38:47,960 da vam se kao pravi dob broj i to 882 00:38:47,960 --> 00:38:51,930 će zadržati ide natrag i redoing to sve oni vam dati pravi dob 883 00:38:51,930 --> 00:38:56,900 veće od jedan, ili nula. 884 00:38:56,900 --> 00:38:58,020 >> Dakle naslutiti, savjet. 885 00:38:58,020 --> 00:39:02,263 To će biti vrlo, vrlo korisno za jednu od svojih PSet problema. 886 00:39:02,263 --> 00:39:04,155 Da. 887 00:39:04,155 --> 00:39:05,580 >> SPEAKER 16: Ups, ispričavam se. 888 00:39:05,580 --> 00:39:06,288 >> ANDI PENG: Aha. 889 00:39:06,288 --> 00:39:09,424 >> SPEAKER 16: Postoje li, ne biti šupak, but-- 890 00:39:09,424 --> 00:39:10,340 ANDI PENG: Bez brige. 891 00:39:10,340 --> 00:39:11,990 SPEAKER 16: --are postoji različita pravila ovdje, 892 00:39:11,990 --> 00:39:13,810 ili si jednostavno zaboravio staviti citat? 893 00:39:13,810 --> 00:39:14,250 >> ANDI PENG: Oh Yeah. 894 00:39:14,250 --> 00:39:15,530 Nažalost, to je potpuno moja loša. 895 00:39:15,530 --> 00:39:17,100 To je svakako trebao biti citat. 896 00:39:17,100 --> 00:39:17,690 Dobar ulov. 897 00:39:17,690 --> 00:39:18,800 To ne bi pokrenuti. 898 00:39:18,800 --> 00:39:22,070 899 00:39:22,070 --> 00:39:22,830 U REDU. 900 00:39:22,830 --> 00:39:26,160 >> Tako posljednji tip petlje ćemo razgovarati o i, u konačnici, vrsta najviše 901 00:39:26,160 --> 00:39:28,854 Kompleks je za petlju. 902 00:39:28,854 --> 00:39:30,770 Ne brinite ako ne znam što to znači. 903 00:39:30,770 --> 00:39:32,061 To je prilično zbunjujuće na prvi. 904 00:39:32,061 --> 00:39:33,640 Mi ćemo ići preko primjer. 905 00:39:33,640 --> 00:39:37,040 >> Sve što se događa u for petlji je da imate tri izjave 906 00:39:37,040 --> 00:39:38,380 da ćeš uključiti. 907 00:39:38,380 --> 00:39:42,130 Tako je za određenu stvar, ti si će inicijalizirati varijablu. 908 00:39:42,130 --> 00:39:45,280 Vi ćete dodati uvjet da koja ove petlje će se nastaviti prikazivati. 909 00:39:45,280 --> 00:39:47,790 I onda, na kraju od petlje, ti si idući u ga ažurirati. 910 00:39:47,790 --> 00:39:50,248 Možete ažurirati varijablu koje želite pratiti. 911 00:39:50,248 --> 00:39:52,530 Tako smo obično koristite za petlje kada smo 912 00:39:52,530 --> 00:39:55,390 želite pokrenuti petlju za određena količina vremena 913 00:39:55,390 --> 00:39:58,900 a mi već znamo, Oh želim Ova petlja izvršavati kao 10 puta, 914 00:39:58,900 --> 00:40:03,060 onda ste do-- ću ići preko primjer na sljedećoj stranici. 915 00:40:03,060 --> 00:40:07,830 >> Dakle ovdje na primjer, u nule, ako vas htjela nešto ponoviti 10 puta, 916 00:40:07,830 --> 00:40:10,790 sve što je imao za reći je, ponovite 10 puta volim Saj! 917 00:40:10,790 --> 00:40:15,260 što je prihvatljivija znak potpore nas 918 00:40:15,260 --> 00:40:17,120 nego beskonačnu petlju. 919 00:40:17,120 --> 00:40:19,920 Evo, kako što bi prijelaz na C i pisati 920 00:40:19,920 --> 00:40:26,040 to je za int-- ću stvoriti ili proglasiti varijabla tipa int imenu i. 921 00:40:26,040 --> 00:40:30,089 Idem inicijalizirati je na 0, pa sam = 0; 922 00:40:30,089 --> 00:40:31,630 i to će biti moje stanje. 923 00:40:31,630 --> 00:40:33,860 Tako je i manje od 10. 924 00:40:33,860 --> 00:40:36,096 A zatim na end-- posljednja izjava ste 925 00:40:36,096 --> 00:40:38,710 će imati je ažuriranje što se događa s varijable i 926 00:40:38,710 --> 00:40:40,206 na kraju svoga for petlje. 927 00:40:40,206 --> 00:40:42,830 Dakle, to je vrsta zbunjujuće, jer različiti dijelovi ove linije 928 00:40:42,830 --> 00:40:44,871 se događa na različite vrste petlje. 929 00:40:44,871 --> 00:40:46,746 Ali ja ću ići preko pseudokod primjer da 930 00:40:46,746 --> 00:40:50,360 a možda objasniti samo malo bolje. 931 00:40:50,360 --> 00:40:51,500 >> Dakle ovdje. 932 00:40:51,500 --> 00:40:52,929 To je petlje smo upravo vidjeli. 933 00:40:52,929 --> 00:40:55,470 U biti u pseudokod, što što se događa u ovom programu, 934 00:40:55,470 --> 00:40:57,940 prvo Izrađujem ja, inicijalizacije ga na 0. 935 00:40:57,940 --> 00:41:00,440 Ja sam ček vidjeti ako i je manje od 10, u tom slučaju 936 00:41:00,440 --> 00:41:02,840 prvi put je 0 jer je manje od 10. 937 00:41:02,840 --> 00:41:04,727 Tako se petlja će se pokrenuti. 938 00:41:04,727 --> 00:41:06,310 A onda ću ispisati ovu liniju. 939 00:41:06,310 --> 00:41:11,240 I onda na kraju ove linije, pravo ovdje, ja ću učiniti prirast ja, ja ++, 940 00:41:11,240 --> 00:41:13,370 Sve to znači ga povećavati po jedan. 941 00:41:13,370 --> 00:41:15,460 >> Dakle, ja je sada 1. 942 00:41:15,460 --> 00:41:17,960 Zato što je nekad 0, ako sam povećajte je, to je sada 1. 943 00:41:17,960 --> 00:41:19,610 A onda ću se vratiti na početku petlje 944 00:41:19,610 --> 00:41:20,730 i ja provjeriti stanje. 945 00:41:20,730 --> 00:41:22,080 Je li stanje još uvijek vrijedi? 946 00:41:22,080 --> 00:41:24,030 Da, 1 je još uvijek manje od 10. 947 00:41:24,030 --> 00:41:27,370 Dakle, to će ispisati to opet, go i onda sam povećajte i provjerite 948 00:41:27,370 --> 00:41:29,180 uvjet kontinuirano, kontinuirano, 949 00:41:29,180 --> 00:41:33,290 dok na kraju dobiti do točke gdje sam je 10. 950 00:41:33,290 --> 00:41:36,300 >> Ideš ispisati ovaj 10 puta a onda sam će jednaka 10. 951 00:41:36,300 --> 00:41:37,800 Vi ćete provjeriti stanje. 952 00:41:37,800 --> 00:41:38,760 Je 10 manje od 10? 953 00:41:38,760 --> 00:41:40,370 Ne, to je netočno. 954 00:41:40,370 --> 00:41:43,020 Dakle, ova petlja ne ide pokrenuti, to će razbiti, 955 00:41:43,020 --> 00:41:45,040 i ti ćeš nastaviti sa svojim kodom. 956 00:41:45,040 --> 00:41:47,550 >> Dakle, kao što vi vidite, ovaj je stvarno izvrstan primjer 957 00:41:47,550 --> 00:41:53,110 od petlje možete programirati u tome traje određeno vrijeme. 958 00:41:53,110 --> 00:41:54,457 Svatko jasno? 959 00:41:54,457 --> 00:41:54,956 Da. 960 00:41:54,956 --> 00:41:59,060 >> SPEAKER 17: Kako o prirastu eksponencijalno, to je drugačije kodiranje? 961 00:41:59,060 --> 00:42:02,060 >> ANDI PENG: Vi can-- ići ćemo više u sljedećem slajdu. 962 00:42:02,060 --> 00:42:03,350 Dobro pitanje. 963 00:42:03,350 --> 00:42:05,910 Je anyone-- prije nego što sam se presele on-- itko uopće zbunjeni, 964 00:42:05,910 --> 00:42:07,640 jer ovo je stvarno teško koncept. 965 00:42:07,640 --> 00:42:09,510 Bez brige, ako 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 >> U redu. 969 00:42:13,490 --> 00:42:14,610 Samo opći tobogan. 970 00:42:14,610 --> 00:42:18,020 Ovaj while petlja se rade točno istu stvar za petlju bio. 971 00:42:18,020 --> 00:42:19,631 To je samo napisao drugačije. 972 00:42:19,631 --> 00:42:22,130 Vi možete pregledati slajdove na praktičnost kasnije. 973 00:42:22,130 --> 00:42:24,880 Ali samo znam da ima višestruki načini pisanja istu stvar 974 00:42:24,880 --> 00:42:28,300 dogoditi s različitim petljama. 975 00:42:28,300 --> 00:42:28,800 U REDU. 976 00:42:28,800 --> 00:42:32,380 >> Dakle, sada smo dobili u pitanje što ako imamo petlju unutar petlje. 977 00:42:32,380 --> 00:42:35,810 Mi smo uzimajući u stvarnom Inception vrsta stvari ovdje. 978 00:42:35,810 --> 00:42:40,640 Kada želite raditi stvari višekratnik puta unutar drugih stvari 979 00:42:40,640 --> 00:42:44,129 kako raditi stvari više puta, te žele ono što se naziva ugniježđena za petlje. 980 00:42:44,129 --> 00:42:47,420 Za one od vas koji su prvi vidjeti i dobiti vrlo zbunjeni, svi mi radimo ovdje 981 00:42:47,420 --> 00:42:50,580 ima for petlje gdje imamo varijablu redu. 982 00:42:50,580 --> 00:42:54,500 No, unutar njega, imamo i još jedan za petlju promjenjivom naziva stupca. 983 00:42:54,500 --> 00:42:58,560 A ja visoko predlažemo svima vama koji su zbunjeni najprije bi 984 00:42:58,560 --> 00:43:00,310 track-- izvući ovo, crtati ovo. 985 00:43:00,310 --> 00:43:03,000 Ne pokušavajte samo razloga kroz njega, izvući ga van. 986 00:43:03,000 --> 00:43:06,630 >> U tvojoj glavi, na ovom komadu papir, ili što god, pisati red, 987 00:43:06,630 --> 00:43:08,614 pratiti što red jednaka. 988 00:43:08,614 --> 00:43:10,780 Napišite stupac, pratiti onoga stupac jednak. 989 00:43:10,780 --> 00:43:13,490 I pratiti što je ispis sa svakim iteracije. 990 00:43:13,490 --> 00:43:16,320 Svaka iteracija te petlje, svaki iteracija tog većeg petlje, 991 00:43:16,320 --> 00:43:17,820 samo držati po logici. 992 00:43:17,820 --> 00:43:20,190 A ja vam jamčim, svidjet će vam ono što vidite, 993 00:43:20,190 --> 00:43:24,307 jer to je također vrlo primjenjivi za vaš problem setovima. 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 U redu. 997 00:43:28,000 --> 00:43:30,723 Dakle, najvažnija stvar da ti dečki su vjerojatno svi 998 00:43:30,723 --> 00:43:32,400 razmišljam o upravo sada, su tvoj problem Postavi 1s, 999 00:43:32,400 --> 00:43:33,650 koji su zbog četvrtak / petak. 1000 00:43:33,650 --> 00:43:36,890 1001 00:43:36,890 --> 00:43:39,710 >> U Vašem water.c programu, naslutiti da ćeš imati 1002 00:43:39,710 --> 00:43:41,590 za brz korisnik za ulaz. 1003 00:43:41,590 --> 00:43:43,640 Unutar mario.c programu ti si idući u morati 1004 00:43:43,640 --> 00:43:46,431 se na ugniježđena za petlje, što je for petlja unutar for petlje, 1005 00:43:46,431 --> 00:43:50,247 ispisati blok piramide, u biti kao što je Mario mora skočiti kroz. 1006 00:43:50,247 --> 00:43:53,330 A onda unutar vašeg greedy-- ili možda Izrada promjena, ako neko od vas dečki 1007 00:43:53,330 --> 00:43:55,740 su ikada čuli za that-- ti si idući u morati biti vrlo 1008 00:43:55,740 --> 00:43:58,160 oprezni prvih pomičnim zarezom vrijednosti. 1009 00:43:58,160 --> 00:44:01,860 Zapamti plutajući decimale i cijeli brojevi nisu ista stvar. 1010 00:44:01,860 --> 00:44:03,620 Pratite od kojih je jedan koji je. 1011 00:44:03,620 --> 00:44:05,953 I ti si idući u iskoristiti uvjetne izjave, kao dobro. 1012 00:44:05,953 --> 00:44:09,070 1013 00:44:09,070 --> 00:44:10,940 >> U redu, zadnja stvar. 1014 00:44:10,940 --> 00:44:12,770 Imam par minuta preostalo. 1015 00:44:12,770 --> 00:44:13,460 Stil. 1016 00:44:13,460 --> 00:44:19,320 Dakle, to je nešto što ne zapravo utjecaj na efikasnost, 1017 00:44:19,320 --> 00:44:21,010 ili stvarna vođenje kodu. 1018 00:44:21,010 --> 00:44:24,380 Međutim, to nam djeluje kao your razreda osnovne škole, kao i svoje čitatelje. 1019 00:44:24,380 --> 00:44:27,290 To se utječe, ako ste pokušavajući pronaći problem. 1020 00:44:27,290 --> 00:44:30,700 To utječe na čitljivost kodu. 1021 00:44:30,700 --> 00:44:34,070 >> Dakle stil, kao kad pokušavate stil esej za engleski, ako 1022 00:44:34,070 --> 00:44:36,070 nisu imali stavke, imate sve vrste 1023 00:44:36,070 --> 00:44:39,190 od ispremiješan zajedno na jednoj liniji, to čini stvarno teško za bilo koga 1024 00:44:39,190 --> 00:44:42,620 čitati vaš esej, čak i ako Vaši bodovi su logično zvuk. 1025 00:44:42,620 --> 00:44:44,390 Ista stvar u programiranju. 1026 00:44:44,390 --> 00:44:47,910 Možete imati strahovito nejasan kod koje će Scaz pokriti, 1027 00:44:47,910 --> 00:44:49,660 i to još uvijek može raditi i funkcionirati. 1028 00:44:49,660 --> 00:44:53,110 Ali za nas, kao i vaš lijep TAS, koji će biti čitanje i vrednovanje svoje PSets, 1029 00:44:53,110 --> 00:44:54,460 to nije lijepo. 1030 00:44:54,460 --> 00:44:56,859 >> Dakle molim vas, radi od nas i sebe, 1031 00:44:56,859 --> 00:44:58,900 kada pokušavate popraviti problem u kodu, 1032 00:44:58,900 --> 00:45:00,774 i pokušavaš pročitajte svoj kôd, provjerite 1033 00:45:00,774 --> 00:45:03,910 jeste li slijediti neke konvencije da ćemo ići preko. 1034 00:45:03,910 --> 00:45:04,510 >> Dakle, na prvom mjestu. 1035 00:45:04,510 --> 00:45:07,070 Dajte varijabli smislene nazive. 1036 00:45:07,070 --> 00:45:11,450 Ako želite spremiti cijeli broj zove dob, molimo navesti ga dobi. 1037 00:45:11,450 --> 00:45:12,875 Nemojte ime mu visinu. 1038 00:45:12,875 --> 00:45:14,750 Kada pokušavaš pohraniti dobi u visinu, 1039 00:45:14,750 --> 00:45:16,722 čini sve vrlo zbunjujuće za nas. 1040 00:45:16,722 --> 00:45:17,930 Mi ne vole biti zbunjen. 1041 00:45:17,930 --> 00:45:19,180 Ne vole biti zbunjen. 1042 00:45:19,180 --> 00:45:20,350 Nitko ne voli biti zbunjen. 1043 00:45:20,350 --> 00:45:23,100 Ako ćete stvoriti nešto, Ime je nešto smisleno. 1044 00:45:23,100 --> 00:45:26,440 >> Međutim, u for petlji, singl varijable lik obično u redu. 1045 00:45:26,440 --> 00:45:31,350 A u for petlji, ako želite samo ja, i j, k, slobodno samo to. 1046 00:45:31,350 --> 00:45:32,670 >> Dosljedan pokrenuo. 1047 00:45:32,670 --> 00:45:33,770 Dakle, što to znači? 1048 00:45:33,770 --> 00:45:37,600 To znači da je tehnički, teoretski, možete pokrenuti i stvoriti 1049 00:45:37,600 --> 00:45:40,140 više varijabli na istoj liniji. 1050 00:45:40,140 --> 00:45:42,820 Tako na primjer, ja mogu stvoriti cijeli zove scaz_age, 1051 00:45:42,820 --> 00:45:47,110 i broj pod nazivom andi_age = 20, i cijeli zove jason_age 1052 00:45:47,110 --> 00:45:48,090 na istoj liniji. 1053 00:45:48,090 --> 00:45:52,060 I ja sam također možete dodijeliti samo jedan od njih, a ne ostali na vrijednosti. 1054 00:45:52,060 --> 00:45:54,142 Tražimo li, molim vas nemojte to raditi. 1055 00:45:54,142 --> 00:45:57,350 Jer ovdje se u biti ste stvorili tri varijable, ali samo jedan od njih 1056 00:45:57,350 --> 00:45:58,295 zapravo ima vrijednost. 1057 00:45:58,295 --> 00:46:00,170 I onda kad smo pokušavajući pročitati svoj kod, 1058 00:46:00,170 --> 00:46:01,850 ili ako pokušavate popraviti problem u kodu, 1059 00:46:01,850 --> 00:46:03,340 to je vrlo zbunjujuće slijediti. 1060 00:46:03,340 --> 00:46:09,300 Dakle, samo za svoju čitljivost, za naš čitljivost, nemojte to raditi. 1061 00:46:09,300 --> 00:46:10,355 >> Dosljedan vitičastih zagrada. 1062 00:46:10,355 --> 00:46:12,980 Neki ljudi vole staviti svoje vitičastih zagrada na različitim mjestima. 1063 00:46:12,980 --> 00:46:14,100 To zapravo ne smeta. 1064 00:46:14,100 --> 00:46:17,900 Samo pazite da ste dosljedni u svom vlastiti kod na kojoj želite da ih stavite. 1065 00:46:17,900 --> 00:46:18,950 >> Dosljedan razmaka. 1066 00:46:18,950 --> 00:46:22,040 Ako stavite razmak nakon for petlja, uvijek to učiniti. 1067 00:46:22,040 --> 00:46:24,930 Ne baš kao vrsta to učiniti na nekim mjestima, nemojte to učiniti u drugima. 1068 00:46:24,930 --> 00:46:26,580 Samo budite dosljedni. 1069 00:46:26,580 --> 00:46:29,500 >> Drugo, ako netko želi za iščitavanje CS50 Style Guide, 1070 00:46:29,500 --> 00:46:33,230 službeno imaju stil vodič koji govori vam sve od tih konvencija, 1071 00:46:33,230 --> 00:46:34,890 plus više. 1072 00:46:34,890 --> 00:46:35,530 To je on-line. 1073 00:46:35,530 --> 00:46:38,670 To je kao cs50.net/style~~pobj ili nešto slično. 1074 00:46:38,670 --> 00:46:40,180 Možete ga google. 1075 00:46:40,180 --> 00:46:41,399 >> Dosljednost je ključ. 1076 00:46:41,399 --> 00:46:43,190 Dakle, ne brinite što drugi ljudi rade, 1077 00:46:43,190 --> 00:46:46,180 samo bi bili sigurni da ste dosljedni u svoj kod. 1078 00:46:46,180 --> 00:46:50,570 Bilo tko imati bilo kakvih pitanja o tome? 1079 00:46:50,570 --> 00:46:51,070 Da. 1080 00:46:51,070 --> 00:46:53,370 >> SPEAKER 18: Pa pravi stvar učiniti s inicijalizacije je samo 1081 00:46:53,370 --> 00:46:56,130 ih sve imati u zaseban crta, je li to ono što si rekao? 1082 00:46:56,130 --> 00:46:58,850 >> ANDI PENG: Tako rijetko sam to dogoditi. 1083 00:46:58,850 --> 00:47:02,230 Ali, ako ste htjeli, ako ste htjeli biti poput štedi prostor u kodu, 1084 00:47:02,230 --> 00:47:04,000 ili što god, možete to učiniti. 1085 00:47:04,000 --> 00:47:07,800 Tražimo da se jednostavno ne inicijalizirati jedna stvar, a ne drugi. 1086 00:47:07,800 --> 00:47:12,600 Dakle, ako želite učiniti int scaz_age, int andi_age, int jason_age, to je u redu. 1087 00:47:12,600 --> 00:47:15,600 Samo ne inicijalizirati jedan a ne drugi je sve. 1088 00:47:15,600 --> 00:47:18,380 1089 00:47:18,380 --> 00:47:19,904 >> Pitanja? 1090 00:47:19,904 --> 00:47:20,850 U redu. 1091 00:47:20,850 --> 00:47:24,610 Idem proći off mikrofon, a laserski pokazivač, 1092 00:47:24,610 --> 00:47:28,862 i pendrekom Scaz u ovom trenutku. 1093 00:47:28,862 --> 00:47:29,808 To je nezgodno. 1094 00:47:29,808 --> 00:47:32,650 1095 00:47:32,650 --> 00:47:33,200 Evo ga. 1096 00:47:33,200 --> 00:47:34,408 >> BRIAN SCASSELLATI: Hvala vam. 1097 00:47:34,408 --> 00:47:42,500 1098 00:47:42,500 --> 00:47:43,380 Kako je to za zvuk? 1099 00:47:43,380 --> 00:47:46,420 1100 00:47:46,420 --> 00:47:47,900 Zvuk je dobar? , 1101 00:47:47,900 --> 00:47:49,220 Izvrsno. 1102 00:47:49,220 --> 00:47:50,350 U REDU. 1103 00:47:50,350 --> 00:47:52,110 Dakle, Pozdrav svima. 1104 00:47:52,110 --> 00:47:56,540 >> Idem pokušati raditi kroz praktičan primjer s vama. 1105 00:47:56,540 --> 00:48:00,850 A mi ćemo koristiti CS50-a razvojno okruženje, što se naziva 1106 00:48:00,850 --> 00:48:03,120 Integrirana razvojna okolina. 1107 00:48:03,120 --> 00:48:05,145 A vi ste vidjeli ovo pokazao u predavanju. 1108 00:48:05,145 --> 00:48:07,520 A Problem Set 1, ti si će imati priliku 1109 00:48:07,520 --> 00:48:10,890 ga koristiti, i poigrati s da, i dobiti naviknuti na njega, 1110 00:48:10,890 --> 00:48:13,640 zato što ćemo ga koristiti kroz ostatak semestra. 1111 00:48:13,640 --> 00:48:20,350 >> Dakle, u ovom IDE, imate ono što izgleda kao vrlo tradicionalni preglednika datoteka 1112 00:48:20,350 --> 00:48:21,890 preko jedne strane. 1113 00:48:21,890 --> 00:48:24,360 Imaš dio gore Top kamo idete 1114 00:48:24,360 --> 00:48:28,850 vidjeti svoj izvorni kod, svoj Cfile, kod koje pišete. 1115 00:48:28,850 --> 00:48:31,880 A dolje dolje, vi ćete ima prozor terminala 1116 00:48:31,880 --> 00:48:36,330 koji ćete koristiti za kako sastaviti svoj program 1117 00:48:36,330 --> 00:48:39,090 i pokrenuti ili izvršiti svoj program. 1118 00:48:39,090 --> 00:48:40,100 U REDU. 1119 00:48:40,100 --> 00:48:46,560 >> Dakle, samo da nam malo temelj, u tom prozoru terminala, 1120 00:48:46,560 --> 00:48:48,930 ti si idući u biti koristeći skup naredbi 1121 00:48:48,930 --> 00:48:53,040 da su standardne naredbe tijekom većina Unix ili Linux sustava. 1122 00:48:53,040 --> 00:48:55,890 I tako, ako ste ikada koristili bilo koji oblik Unix, Ubuntu, 1123 00:48:55,890 --> 00:48:59,140 ili bilo koji od drugih okusa, to će izgledati poznato. 1124 00:48:59,140 --> 00:49:00,890 >> Ako niste, ne brinite. 1125 00:49:00,890 --> 00:49:02,830 Nema ništa komplicirano o njima. 1126 00:49:02,830 --> 00:49:05,330 Oni samo pomoću drugačiji sintaksa, različita imenovanja 1127 00:49:05,330 --> 00:49:07,630 Konvencija od vas prije nisam vidio. 1128 00:49:07,630 --> 00:49:12,190 >> Tako da se popis datoteka unutar određenog imenik, 1129 00:49:12,190 --> 00:49:15,310 oni će se na Naredba ls naziva ili Popis. 1130 00:49:15,310 --> 00:49:18,010 Ako želite vidjeti sve sa svim detaljima, 1131 00:49:18,010 --> 00:49:21,535 ćete koristiti naredbu crta argument s ls -l. 1132 00:49:21,535 --> 00:49:23,910 A to će vam pokazati sve detaljnije, uključujući 1133 00:49:23,910 --> 00:49:26,270 dozvole za datoteku. 1134 00:49:26,270 --> 00:49:31,190 >> Za promjenu imenik, ćete koristiti cd naredbu. 1135 00:49:31,190 --> 00:49:35,180 A vi ćete biti u mogućnosti promijeniti imenik i ići na kućnu imenik. 1136 00:49:35,180 --> 00:49:38,500 To je samo cd sve strane sama, cd s dva 1137 00:49:38,500 --> 00:49:42,930 točkice će vas vratiti jednu Razina na prethodni katalog. 1138 00:49:42,930 --> 00:49:46,400 A također možete cd do poddirektorij upišete u cd 1139 00:49:46,400 --> 00:49:48,500 a ime te poddirektorij. 1140 00:49:48,500 --> 00:49:50,540 >> Također možete stvoriti nove mape. 1141 00:49:50,540 --> 00:49:52,790 A mi ćemo hodati kroz to u samo minutu. 1142 00:49:52,790 --> 00:49:54,498 Ali samo staviti sve na ekranu. 1143 00:49:54,498 --> 00:49:56,310 Tako da ih možete vidjeti. 1144 00:49:56,310 --> 00:50:00,420 >> Također ćete imati mogućnost manipulirati datotekama izravno 1145 00:50:00,420 --> 00:50:02,100 iz naredbenog retka. 1146 00:50:02,100 --> 00:50:06,059 Vi ćete biti u mogućnosti da ih kopirati, na premjestiti ih, ili ih ukloniti, 1147 00:50:06,059 --> 00:50:07,600 to jest, učinkovito, da biste ih izbrisali. 1148 00:50:07,600 --> 00:50:10,310 1149 00:50:10,310 --> 00:50:15,350 >> CS50 IDE vam daje puni Moć argumente naredbenog retka. 1150 00:50:15,350 --> 00:50:20,280 A to znači da možete učiniti vrlo opasne stvari. 1151 00:50:20,280 --> 00:50:21,560 U REDU. 1152 00:50:21,560 --> 00:50:25,010 Na primjer, možete ukloniti, ili je izbrisati, 1153 00:50:25,010 --> 00:50:28,750 file bez pitanja za potvrdu. 1154 00:50:28,750 --> 00:50:31,820 A ti čak može ukloniti recursively-- to 1155 00:50:31,820 --> 00:50:38,940 crtica r flag-- cijeli poddirektorij i sve svoje sadržaje. 1156 00:50:38,940 --> 00:50:39,660 U REDU. 1157 00:50:39,660 --> 00:50:42,940 Oni navedeni u crveno zbog tebe trebali misliti "opasna" svaki put 1158 00:50:42,940 --> 00:50:45,000 vidiš te stvari. 1159 00:50:45,000 --> 00:50:45,920 U REDU. 1160 00:50:45,920 --> 00:50:46,420 U redu. 1161 00:50:46,420 --> 00:50:50,090 1162 00:50:50,090 --> 00:50:53,430 >> Sada napokon, stvari koje su će biti jako vrijedno za vas, 1163 00:50:53,430 --> 00:50:57,270 postoje nekoliko dobrih znakova znati što ste navigacija 1164 00:50:57,270 --> 00:50:59,190 kroz ovaj prozor terminala. 1165 00:50:59,190 --> 00:51:03,590 Prvo, možete brisanje zaslona na u bilo koje vrijeme tako da upišete u jasan. 1166 00:51:03,590 --> 00:51:06,310 I ti ćeš vidjeti ja to vrlo često. 1167 00:51:06,310 --> 00:51:09,990 Također možete prikazati samo tekst datoteke 1168 00:51:09,990 --> 00:51:13,992 upisivanjem više i onda naziv datoteke. 1169 00:51:13,992 --> 00:51:17,200 Tada ćete biti u mogućnosti za pomicanje natrag i naprijed s tim samo s razmaknicu 1170 00:51:17,200 --> 00:51:19,010 i strijela tipke. 1171 00:51:19,010 --> 00:51:25,450 >> Ako imate, kao što smo učinili danas u predavanju, program koji se izvodi kontinuirano 1172 00:51:25,450 --> 00:51:29,190 u beskonačnu petlju, vi može zaustaviti taj program 1173 00:51:29,190 --> 00:51:35,160 od izvršenja upišete u kontroli, da se držite Control-C. 1174 00:51:35,160 --> 00:51:38,360 A možda ćete morati učiniti to više puta. 1175 00:51:38,360 --> 00:51:40,620 Računalo dobiva daleko ispred tebe. 1176 00:51:40,620 --> 00:51:43,380 A ponekad je potrebno Daju nekoliko pokušaja 1177 00:51:43,380 --> 00:51:46,280 prije nego što će zapravo doći. 1178 00:51:46,280 --> 00:51:48,760 >> Također ćete biti u mogućnosti da sortirati kroz naredbe 1179 00:51:48,760 --> 00:51:54,230 da ste upravo upisali pomoću gore tipku, strelica, a zatim prema dolje strelica. 1180 00:51:54,230 --> 00:51:57,560 A što je najkorisnije je umjesto tipkanja iz duge nazive datoteka, 1181 00:51:57,560 --> 00:52:02,209 ćete biti u mogućnosti da uporabne tab kako biste dovršiti nekoliko uputa. 1182 00:52:02,209 --> 00:52:04,750 Sada ćemo pokazati svi oni u samo sekundi. 1183 00:52:04,750 --> 00:52:06,780 Dakle, ako se ne sjećate ih, ne brini. 1184 00:52:06,780 --> 00:52:10,780 To su stvari koje ćete pokupiti i koristiti kao idemo zajedno. 1185 00:52:10,780 --> 00:52:11,470 U REDU. 1186 00:52:11,470 --> 00:52:18,830 >> Tako je u C-- razliku Scratch-- C je sastavio jezik. 1187 00:52:18,830 --> 00:52:23,210 To znači da ćemo se izvor file-- to je tekst koji ste napisali, 1188 00:52:23,210 --> 00:52:26,500 naredbe koje pišu je printf () izjavama, petlje, 1189 00:52:26,500 --> 00:52:32,580 sve else-- i idemo da se tu datoteku i predati ga isključite 1190 00:52:32,580 --> 00:52:34,670 u programu pod nazivom prevodilac. 1191 00:52:34,670 --> 00:52:39,850 >> Prevodilac će onda uzmi da tekst koji ste napisali 1192 00:52:39,850 --> 00:52:43,270 i to prevesti u binarni upute 1193 00:52:43,270 --> 00:52:46,010 da je vaše računalo zapravo ide uporabu. 1194 00:52:46,010 --> 00:52:49,700 To se zove objekt ili izvršna datoteka. 1195 00:52:49,700 --> 00:52:55,320 Ako pogledate ovu sliku, vi ćete vidjeti kod koji ste napisali. 1196 00:52:55,320 --> 00:52:59,480 Ako pogledate ovu sliku, vi ćete vidjeti slučajni niz znakova 1197 00:52:59,480 --> 00:53:01,680 da nema smisla uopće. 1198 00:53:01,680 --> 00:53:03,250 To je zato što je to binarni. 1199 00:53:03,250 --> 00:53:05,560 To nije značilo za vas da se čita. 1200 00:53:05,560 --> 00:53:08,690 >> Međutim, svaki put kada želite pokrenuti nešto, što ćeš 1201 00:53:08,690 --> 00:53:13,670 biti pokrenut je ovaj objekt datoteka. 1202 00:53:13,670 --> 00:53:19,110 Dakle, kada radimo s njima Datoteke ćemo napisati datoteku u C 1203 00:53:19,110 --> 00:53:23,400 Zatim ćemo ga sastaviti, pomoću naredbenim napraviti koji će pozivati 1204 00:53:23,400 --> 00:53:27,070 prevodilac zveket za C jezik. 1205 00:53:27,070 --> 00:53:31,530 I to će proizvesti objekt podnijeti, kao out, ili u ovom slučaju, 1206 00:53:31,530 --> 00:53:36,580 ime, moje datoteke, koje sam stavio u. 1207 00:53:36,580 --> 00:53:37,780 U redu. 1208 00:53:37,780 --> 00:53:39,790 >> Tako ćemo zapravo probati ovaj. 1209 00:53:39,790 --> 00:53:42,850 Tako sam došao s primjerom ono što sam htjela probati. 1210 00:53:42,850 --> 00:53:47,380 I jedna od stvari koje mene fascinira je animacija. 1211 00:53:47,380 --> 00:53:51,010 Tako ćemo pokušati učiniti malo animacije 1212 00:53:51,010 --> 00:53:53,760 koristeći samo ASCII znakova. 1213 00:53:53,760 --> 00:53:56,470 Likovi možemo ispisati lako sada. 1214 00:53:56,470 --> 00:54:00,890 >> Dakle, ovdje je moj najbolji pokušaj stvaranja za vas 1215 00:54:00,890 --> 00:54:07,005 animacija za zeko trčanje kroz visoku travu. 1216 00:54:07,005 --> 00:54:07,505 Tamo je. 1217 00:54:07,505 --> 00:54:10,150 1218 00:54:10,150 --> 00:54:10,670 U REDU. 1219 00:54:10,670 --> 00:54:14,050 Dakle, on ne radi, ali on je stajao u visokoj travi. 1220 00:54:14,050 --> 00:54:17,810 >> Sada, ako sam ja animator, u staroj školi 1221 00:54:17,810 --> 00:54:20,860 verzija animacije, što sam će učiniti je da će proizvesti 1222 00:54:20,860 --> 00:54:23,640 slika ovog zeca u travi. 1223 00:54:23,640 --> 00:54:25,390 I onda bih proizvesti još picture-- 1224 00:54:25,390 --> 00:54:30,600 druga ono što se zove cell-- da je zeko samo malo pomaknuo. 1225 00:54:30,600 --> 00:54:34,870 A onda treći onaj koji je imala zec preselio malo dalje. 1226 00:54:34,870 --> 00:54:40,610 >> I ja bih se ispiše cijeli slijed ovih stanica. 1227 00:54:40,610 --> 00:54:44,220 Neki gdje je zeko je više na lijevoj strani. 1228 00:54:44,220 --> 00:54:47,050 A onda kreće polako, jedan jedan prema sredini. 1229 00:54:47,050 --> 00:54:51,120 A onda od sredine na to pravo. 1230 00:54:51,120 --> 00:54:55,760 A ako mi je tada, zapravo sretan, mogao sam ga staviti zajedno 1231 00:54:55,760 --> 00:54:57,970 ih ja mogao animirati. 1232 00:54:57,970 --> 00:55:00,370 I tu je moj kunić trčanje kroz travu. 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 U REDU. 1235 00:55:02,809 --> 00:55:04,760 Dakle, to je kao dobar kao Internet dobiva. 1236 00:55:04,760 --> 00:55:05,260 U REDU. 1237 00:55:05,260 --> 00:55:08,455 Dakle, ovdje još jednom, ovdje je naš zeka trčanje kroz travu. 1238 00:55:08,455 --> 00:55:09,217 >> SPEAKER 19: Opet. 1239 00:55:09,217 --> 00:55:11,050 BRIAN SCASSELLATI: Jedan više vremena, u redu. 1240 00:55:11,050 --> 00:55:11,940 Tu je tvoj zeko. 1241 00:55:11,940 --> 00:55:12,940 U REDU. 1242 00:55:12,940 --> 00:55:15,470 >> Tako je danas ono što ćemo učiniti je da ćemo 1243 00:55:15,470 --> 00:55:21,110 pokušati automatizirati proces proizvoditi ove stanice. 1244 00:55:21,110 --> 00:55:24,135 Nećemo sasvim doći do točke biti u mogućnosti da ih sve zajedno. 1245 00:55:24,135 --> 00:55:28,900 No, idemo pokušati automatizirati Proces generiranja ovaj slijed. 1246 00:55:28,900 --> 00:55:32,900 >> A to je mnogo toga što Animacija je danas slično. 1247 00:55:32,900 --> 00:55:36,690 To jest, ne činiti stvari nužno crtajući sve po ruci. 1248 00:55:36,690 --> 00:55:40,610 Mi koristimo računala za automatizaciju dijelovi tog procesa. 1249 00:55:40,610 --> 00:55:41,110 U REDU. 1250 00:55:41,110 --> 00:55:47,720 >> Zato mi dopustite da prelaze Sada našem CS50 IDE. 1251 00:55:47,720 --> 00:55:54,260 I ja sam stvoren za us-- i neka ja uvećanje ovdje malo bit-- sam 1252 00:55:54,260 --> 00:55:58,420 stvoren za nas polazna točka. 1253 00:55:58,420 --> 00:56:03,830 >> Svaki put kad smo vas da sjedite dolje i napisati komad koda, 1254 00:56:03,830 --> 00:56:09,250 ono što mi stvarno tražimo od vas da učinite se tražimo da se riješi problem. 1255 00:56:09,250 --> 00:56:11,810 A način na koji ste trebali mislim da radi o 1256 00:56:11,810 --> 00:56:17,900 je počevši s nekim Jednostavan dio tog rješenja. 1257 00:56:17,900 --> 00:56:21,730 A onda graditi iz tog dijela. 1258 00:56:21,730 --> 00:56:23,400 I to je ono što ćemo učiniti danas. 1259 00:56:23,400 --> 00:56:27,570 >> Dakle, umjesto da pokušavate sve odjednom napisati cijelu hrpu koda koji je 1260 00:56:27,570 --> 00:56:30,770 će proizvoditi one 10 animacija stanice, 1261 00:56:30,770 --> 00:56:35,506 ćemo početi umjesto s jednom komadu koji radi. 1262 00:56:35,506 --> 00:56:37,380 A onda ćemo izgraditi malo oko toga 1263 00:56:37,380 --> 00:56:39,740 i malo više i malo više. 1264 00:56:39,740 --> 00:56:42,550 >> Sada je dobra stvar o Rješavanje problema na ovaj način 1265 00:56:42,550 --> 00:56:46,716 je da će vam omogućiti da počnete uvijek s nečim što znate 1266 00:56:46,716 --> 00:56:51,130 radi i uvesti jednu postupne promjene. 1267 00:56:51,130 --> 00:56:54,090 I to je sjajan način naučiti kako to kod, 1268 00:56:54,090 --> 00:56:58,590 jer svaki put kada napraviti promjena, vidite kakav učinak ima. 1269 00:56:58,590 --> 00:56:59,540 U REDU. 1270 00:56:59,540 --> 00:57:01,450 >> Dakle, ovdje je naša polazna točka. 1271 00:57:01,450 --> 00:57:01,950 U REDU. 1272 00:57:01,950 --> 00:57:08,030 Dakle, na početku moje datoteke, Imam hash #included stdio.h. 1273 00:57:08,030 --> 00:57:12,560 To je tako da ja mogu dobiti printf () funkcija za rad. 1274 00:57:12,560 --> 00:57:15,240 >> I onda imam glavnu ulogu. 1275 00:57:15,240 --> 00:57:18,760 I to još uvijek izgleda malo arcane ili opskuran da neke od vas. 1276 00:57:18,760 --> 00:57:20,010 To je u redu. 1277 00:57:20,010 --> 00:57:23,190 Sve to govori da je glavna funkcija traje 1278 00:57:23,190 --> 00:57:27,830 nema arguments-- ništavnima sredstva ništa u C. i to 1279 00:57:27,830 --> 00:57:29,940 vraća po konvenciji cijeli broj. 1280 00:57:29,940 --> 00:57:33,290 Glavna uvijek vraća cijeli broj, obično kod govoreći stvari 1281 00:57:33,290 --> 00:57:35,071 dobro prošao ili ne ide dobro. 1282 00:57:35,071 --> 00:57:35,570 U REDU. 1283 00:57:35,570 --> 00:57:39,110 Ali glavno je da se taj čine za nas upravo sada. 1284 00:57:39,110 --> 00:57:42,080 >> I onda sam stavio u tri linije koda. 1285 00:57:42,080 --> 00:57:46,760 A uz svaku liniju broj sam stavio komentar. 1286 00:57:46,760 --> 00:57:51,340 Sada jedna od stvari koje ćemo inzistirati na tome da to učinite, 1287 00:57:51,340 --> 00:57:55,320 i to je tako važan programiranja prakse, 1288 00:57:55,320 --> 00:57:57,800 je da se uvijek komentirati svoj kod. 1289 00:57:57,800 --> 00:58:02,550 Uvijek zapisati u Engleski komentar nešto 1290 00:58:02,550 --> 00:58:06,740 da li da kod je trebalo učiniti. 1291 00:58:06,740 --> 00:58:11,360 Na taj način, kasnije kada se vratite na to, možete gledati na to i možete reći, 1292 00:58:11,360 --> 00:58:13,800 Oh, sjećam se što sam bio pokušava učiniti s tim. 1293 00:58:13,800 --> 00:58:17,590 Ili kad TA sjedi s vama pokušati vam pomoći u radno vrijeme, 1294 00:58:17,590 --> 00:58:20,890 oni mogu gledati na to i ići, ja vidjeti što se pokušava učiniti, 1295 00:58:20,890 --> 00:58:25,630 već je to što se stvarno događa. 1296 00:58:25,630 --> 00:58:26,130 U REDU. 1297 00:58:26,130 --> 00:58:30,300 >> Tako sam dobio tri dijela na moj broj, Idem prije svega ispis 1298 00:58:30,300 --> 00:58:33,110 neke točkice na početku. 1299 00:58:33,110 --> 00:58:37,480 I onda ću isprintati moj izuzetno sviđa zeko. 1300 00:58:37,480 --> 00:58:40,600 I onda neki malo točkica na kraju. 1301 00:58:40,600 --> 00:58:45,220 >> A ove tri ispisa izvještaja trebali bi izgleda poznato na vas u ovom trenutku. 1302 00:58:45,220 --> 00:58:47,350 Sve što radim u svaki od njih je sam 1303 00:58:47,350 --> 00:58:49,780 ispis niza znakova. 1304 00:58:49,780 --> 00:58:51,370 Nema varijabli uključenih. 1305 00:58:51,370 --> 00:58:54,320 Sve je samo stan. 1306 00:58:54,320 --> 00:58:55,270 U REDU. 1307 00:58:55,270 --> 00:59:07,340 >> Dakle, ako sam sići sada moj terminal-- neka je vidjeti ako ja mogu dobiti natrag u ovu out-- 1308 00:59:07,340 --> 00:59:09,370 a ja ću opet upisati jasna. 1309 00:59:09,370 --> 00:59:12,507 >> SPEAKER 20: Da li koristiti bračni Slash za komentar? 1310 00:59:12,507 --> 00:59:14,340 BRIAN SCASSELLATI: Može koristiti double-- Da. 1311 00:59:14,340 --> 00:59:16,920 Postoji više načina na ostavite komentare u C. One 1312 00:59:16,920 --> 00:59:19,440 način je da koristite dvostruki udarac. 1313 00:59:19,440 --> 00:59:24,910 Drugi je da koristite Slash i zvijezdu a zatim zatvorite sa zvijezdom i kosom crtom. 1314 00:59:24,910 --> 00:59:26,110 U redu. 1315 00:59:26,110 --> 00:59:28,950 >> Prije svega, idem početi s navigacijom ovdje. 1316 00:59:28,950 --> 00:59:35,350 Dakle, ako idem na moj home direktorij, Ja sam promijenio direktorije tamo, 1317 00:59:35,350 --> 00:59:40,230 Idem pogledati i vidjeti što je u tom direktoriju, ls, popis se. 1318 00:59:40,230 --> 00:59:43,230 Idem vidjeti da imam dobio dvije podmape. 1319 00:59:43,230 --> 00:59:47,910 Učinimo to malo veći ovdje, tako da svi možemo vidjeti. 1320 00:59:47,910 --> 00:59:50,610 >> Vidim da imam dobio dvije podmape. 1321 00:59:50,610 --> 00:59:53,510 Ja ću promijeniti imenik ići u radni prostor. 1322 00:59:53,510 --> 00:59:58,380 A ja ću samo upisati se dio njega, a onda samo pritisnite Tab. 1323 00:59:58,380 --> 01:00:01,520 I to ću završiti ostatak za mene. 1324 01:00:01,520 --> 01:00:03,370 Fancy. 1325 01:00:03,370 --> 01:00:04,960 >> Ja ću gledati i vidjeti u radnom prostoru. 1326 01:00:04,960 --> 01:00:08,431 I upravo sada, radim na SuperSection 1327 01:00:08,431 --> 01:00:09,680 da smo učeći upravo sada. 1328 01:00:09,680 --> 01:00:10,971 Dakle, ja ću ići u tom direktoriju. 1329 01:00:10,971 --> 01:00:14,770 1330 01:00:14,770 --> 01:00:15,970 I na kraju, gledati i vidjeti. 1331 01:00:15,970 --> 01:00:18,480 I ja imam tu sliku bunny.c. 1332 01:00:18,480 --> 01:00:20,980 >> Dobro pa neka mi jasan još jednom. 1333 01:00:20,980 --> 01:00:24,370 A ja ću opet sam now-- još uvijek borave u tom direktoriju 1334 01:00:24,370 --> 01:00:27,540 i to mi govori da sam u da SuperSection katalog. 1335 01:00:27,540 --> 01:00:30,690 Ja ću ići naprijed i čine moj program zeko. 1336 01:00:30,690 --> 01:00:33,730 1337 01:00:33,730 --> 01:00:38,810 I to naredba, napraviti zeca, dok sondiranje malo čudno, 1338 01:00:38,810 --> 01:00:42,960 Također se poziva na zveket prevodilac. 1339 01:00:42,960 --> 01:00:46,470 >> A to je proizvedena za mi izlaz koji je 1340 01:00:46,470 --> 01:00:52,130 izvršna funny-- izvršna datoteka naziva zeko. 1341 01:00:52,130 --> 01:00:52,700 U REDU. 1342 01:00:52,700 --> 01:00:56,700 I onda, i to zvuči još gore, izvršiti zeko. 1343 01:00:56,700 --> 01:00:59,360 1344 01:00:59,360 --> 01:01:00,680 U REDU. 1345 01:01:00,680 --> 01:01:03,150 I da vidimo što to radi. 1346 01:01:03,150 --> 01:01:04,527 U REDU. 1347 01:01:04,527 --> 01:01:06,360 To je malo ono što sam očekivao. 1348 01:01:06,360 --> 01:01:11,290 Imam moj zeko sliku tamo, ali ja vrsta sve to htjela sama po sebi. 1349 01:01:11,290 --> 01:01:13,186 Što sam propustio? 1350 01:01:13,186 --> 01:01:14,478 >> SPEAKER 21: Slash L ili slash n. 1351 01:01:14,478 --> 01:01:15,602 BRIAN SCASSELLATI: Slash nje. 1352 01:01:15,602 --> 01:01:16,580 U REDU. 1353 01:01:16,580 --> 01:01:18,800 Tako ćemo se vratiti ovdje. 1354 01:01:18,800 --> 01:01:20,330 A ja ću izaći iz toga. 1355 01:01:20,330 --> 01:01:23,320 A ja ću se vratiti u ovaj jedan. 1356 01:01:23,320 --> 01:01:27,720 I neka je pogledati sada iz moje glavne funkcije ovdje. 1357 01:01:27,720 --> 01:01:29,280 >> Dakle, što da radim? 1358 01:01:29,280 --> 01:01:30,465 Želim završiti liniju. 1359 01:01:30,465 --> 01:01:34,020 1360 01:01:34,020 --> 01:01:35,800 Dakle, ja ću staviti u komentaru. 1361 01:01:35,800 --> 01:01:38,430 Ja ću staviti u printf (). 1362 01:01:38,430 --> 01:01:41,350 I što moram staviti u? 1363 01:01:41,350 --> 01:01:41,890 / n. 1364 01:01:41,890 --> 01:01:43,480 U REDU. 1365 01:01:43,480 --> 01:01:46,040 Što moram to završiti? 1366 01:01:46,040 --> 01:01:47,100 Točka i zarez. 1367 01:01:47,100 --> 01:01:48,730 U redu. 1368 01:01:48,730 --> 01:01:52,880 >> Sada, jedan od stvarno važne stvari je da provjerite 1369 01:01:52,880 --> 01:01:56,720 svaki put kad napravite promjenu u kodu, da ga spasi. 1370 01:01:56,720 --> 01:02:01,380 Ako niste spremili svoj kod, ti si će primijetiti malo zvijezda gore. 1371 01:02:01,380 --> 01:02:03,420 I to vam kaže zvijezda nisu spremljene ovaj kod. 1372 01:02:03,420 --> 01:02:07,790 >> Ako sam ga sastaviti upravo sada, to nije će odražavati bilo koje od tih promjena, 1373 01:02:07,790 --> 01:02:11,680 jer prevodilac gleda datoteke to je na disku, a ne datoteke to 1374 01:02:11,680 --> 01:02:13,790 otvoriti u vašem urednika. 1375 01:02:13,790 --> 01:02:14,290 U redu. 1376 01:02:14,290 --> 01:02:20,830 >> Tako ćemo ga spasiti, a onda ćemo ići pravo na ovdje dolje, vratite se. 1377 01:02:20,830 --> 01:02:24,670 Siđi u moj terminal. 1378 01:02:24,670 --> 01:02:27,193 I neka je opet jasno prostora. 1379 01:02:27,193 --> 01:02:30,690 1380 01:02:30,690 --> 01:02:35,760 >> I možemo ići naprijed i još jedan Vrijeme bi naš zeko program. 1381 01:02:35,760 --> 01:02:40,180 I izvršiti zeko. 1382 01:02:40,180 --> 01:02:42,500 To nije uspjelo. 1383 01:02:42,500 --> 01:02:43,950 Pogrešno Slash. 1384 01:02:43,950 --> 01:02:52,280 Dakle, ako pogledate što imam, sam stavio / n tamo, ali sam imao pogrešan udarac. 1385 01:02:52,280 --> 01:02:56,190 >> Sve što vaše računalo čini se vrlo eksplicitno. 1386 01:02:56,190 --> 01:02:57,230 U REDU? 1387 01:02:57,230 --> 01:03:01,250 Jedna mala pogreška interpunkcije i iznenada da ne dobijete ono što želite. 1388 01:03:01,250 --> 01:03:01,750 U redu. 1389 01:03:01,750 --> 01:03:03,740 Tako ćemo povećati vratiti opet. 1390 01:03:03,740 --> 01:03:04,410 Mi ćemo se vratiti. 1391 01:03:04,410 --> 01:03:07,930 Pa bi to vrlo brzo popraviti. 1392 01:03:07,930 --> 01:03:09,270 Stavit ćemo pravi udarac u. 1393 01:03:09,270 --> 01:03:10,570 Mi ćemo ga spasiti. 1394 01:03:10,570 --> 01:03:13,410 Mi ćemo povećati natrag. 1395 01:03:13,410 --> 01:03:16,730 >> Iz nekog razloga, to nije biti sretni, ali idemo naprijed 1396 01:03:16,730 --> 01:03:19,850 a mi ćemo se vratiti u terminal ovdje. 1397 01:03:19,850 --> 01:03:22,940 Očistite ga. 1398 01:03:22,940 --> 01:03:24,880 Mi ćemo uvećanje. 1399 01:03:24,880 --> 01:03:28,410 I još jednom, mi ćemo napraviti zeca. 1400 01:03:28,410 --> 01:03:32,360 A sada dosta sigurni, to radi. 1401 01:03:32,360 --> 01:03:33,240 Hura. 1402 01:03:33,240 --> 01:03:34,300 U REDU. 1403 01:03:34,300 --> 01:03:39,580 >> Tako ćemo pokušati učiniti to malo više općenito. 1404 01:03:39,580 --> 01:03:46,750 Idemo vidjeti ako umjesto samo ispis jedan određeni okvir, 1405 01:03:46,750 --> 01:03:49,610 neka je vidjeti ako mi može napraviti ovo tako da možemo dobiti sve 10 1406 01:03:49,610 --> 01:03:52,960 od onih animiranih okvira da smo htjeli imati. 1407 01:03:52,960 --> 01:03:56,550 Pa opet, uzmimo ovo korak u isto vrijeme. 1408 01:03:56,550 --> 01:03:59,900 >> Neka prvi je generalizirati, ne tako da ja sve okvire, 1409 01:03:59,900 --> 01:04:03,990 ali tako da ja niti jedan Okvir da možda želite. 1410 01:04:03,990 --> 01:04:05,920 Pa što je razlika između okvira? 1411 01:04:05,920 --> 01:04:07,377 Je li zeko isto? 1412 01:04:07,377 --> 01:04:07,960 PUBLIKA: Da. 1413 01:04:07,960 --> 01:04:08,390 BRIAN SCASSELLATI: Da. 1414 01:04:08,390 --> 01:04:09,370 Koja je razlika? 1415 01:04:09,370 --> 01:04:10,246 >> PUBLIKA: Pozicija. 1416 01:04:10,246 --> 01:04:11,870 BRIAN SCASSELLATI: Njegov stav, zar ne? 1417 01:04:11,870 --> 01:04:15,590 I kako mogu kontrolirati svoju poziciju? 1418 01:04:15,590 --> 01:04:17,340 Koliko točkice sam stavljajući na početku 1419 01:04:17,340 --> 01:04:19,048 i koliko točkice sam stavljajući na kraju. 1420 01:04:19,048 --> 01:04:21,970 Tako sam imao pet Na početak i pet na kraju. 1421 01:04:21,970 --> 01:04:28,320 >> Idemo zamijeniti taj pet s for petlje. 1422 01:04:28,320 --> 01:04:29,380 U REDU. 1423 01:04:29,380 --> 01:04:32,330 I ja ću stvoriti za petlje sada da će reći, 1424 01:04:32,330 --> 01:04:37,800 Idem ispisati neki broj točkica na početku. 1425 01:04:37,800 --> 01:04:39,600 Idem koristiti varijablu. 1426 01:04:39,600 --> 01:04:44,150 Recimo, o tome ja kao brojač u mom petlji. 1427 01:04:44,150 --> 01:04:47,200 I ja ću ga objaviti do vrha. 1428 01:04:47,200 --> 01:04:49,360 >> A onda se u for petlji Moram učiniti tri stvari. 1429 01:04:49,360 --> 01:04:52,340 Prva stvar koju trebate učiniti je moram ja inicijalizirati. 1430 01:04:52,340 --> 01:04:56,570 Što trebam inicijalizirati to za početak biti? 1431 01:04:56,570 --> 01:04:57,160 0. 1432 01:04:57,160 --> 01:04:58,310 U REDU. 1433 01:04:58,310 --> 01:05:00,950 >> Onda moram reći, ono što je prestanka stanje? 1434 01:05:00,950 --> 01:05:03,020 Kada bih trebao prestati? 1435 01:05:03,020 --> 01:05:05,983 Pa koliko točkice vas učiniti želite ispisati na ovom jednom? 1436 01:05:05,983 --> 01:05:06,921 >> PUBLIKA: Pet. 1437 01:05:06,921 --> 01:05:08,170 BRIAN SCASSELLATI: Pet opet? 1438 01:05:08,170 --> 01:05:10,650 Kako o neka je učiniti nešto drugačije, nismo pet. 1439 01:05:10,650 --> 01:05:12,584 Pokažimo da je drugačije. 1440 01:05:12,584 --> 01:05:13,250 SPEAKER 22: Dva. 1441 01:05:13,250 --> 01:05:13,580 BRIAN SCASSELLATI: Dva. 1442 01:05:13,580 --> 01:05:14,080 U REDU. 1443 01:05:14,080 --> 01:05:17,760 Dakle, ako želim dvije točkice, ono što sam trebao staviti ovdje? 1444 01:05:17,760 --> 01:05:19,140 >> PUBLIKA: Tri. 1445 01:05:19,140 --> 01:05:20,530 >> BRIAN SCASSELLATI: Tri. 1446 01:05:20,530 --> 01:05:21,400 U REDU. 1447 01:05:21,400 --> 01:05:24,220 Koliko puta je u tome što ići kroz? 1448 01:05:24,220 --> 01:05:28,469 To će proći tri puta, 0, 1 i 2, zar ne? 1449 01:05:28,469 --> 01:05:30,010 U redu, idemo natrag do dva. 1450 01:05:30,010 --> 01:05:31,570 Sada ćemo dobiti dvije točkice. 1451 01:05:31,570 --> 01:05:35,800 I što želim učiniti svaki Vrijeme idem kroz petlju? 1452 01:05:35,800 --> 01:05:38,657 Ono što se mora promijeniti svaki put kad idem preko? 1453 01:05:38,657 --> 01:05:39,850 >> SPEAKER 23: Dodaj točku. 1454 01:05:39,850 --> 01:05:41,020 >> BRIAN SCASSELLATI: Moram zadržati ide. 1455 01:05:41,020 --> 01:05:41,978 Idem dodati točku. 1456 01:05:41,978 --> 01:05:45,310 Idem za ispis točku, svaki put kroz petlju. 1457 01:05:45,310 --> 01:05:49,990 Ali kako ću praćenje kako mnogo puta sam kroz petlju? 1458 01:05:49,990 --> 01:05:53,260 Ja sam koristeći ja, da promjenjiva, da brojač. 1459 01:05:53,260 --> 01:05:57,110 >> Dakle, svaki put kroz, idem povećajte brojač za jedan. 1460 01:05:57,110 --> 01:06:00,670 Sada, to je isti za mi je rekao i = i + 1. 1461 01:06:00,670 --> 01:06:01,210 To je u redu. 1462 01:06:01,210 --> 01:06:04,653 Ja mogu to učiniti that-- Sviđa mi se stenogram, pa ću reći i ++. 1463 01:06:04,653 --> 01:06:07,190 1464 01:06:07,190 --> 01:06:08,370 U REDU. 1465 01:06:08,370 --> 01:06:10,680 >> Idemo napraviti istu stvar ovdje na dnu. 1466 01:06:10,680 --> 01:06:11,846 Samo sam vrsta učinio da je jedan. 1467 01:06:11,846 --> 01:06:13,990 Ja ću vas dečki neka učinite ovo u potpunosti. 1468 01:06:13,990 --> 01:06:14,260 U redu. 1469 01:06:14,260 --> 01:06:15,426 >> Pa što bih trebao napisati ovdje? 1470 01:06:15,426 --> 01:06:17,170 Evo moj za petlju. 1471 01:06:17,170 --> 01:06:23,162 Idem napraviti printf () i idem to učiniti, tako da sam samo ispisati jednu točku 1472 01:06:23,162 --> 01:06:25,740 na tom dnu. 1473 01:06:25,740 --> 01:06:27,740 >> Što bih trebao pisati u ovo petlje sada? 1474 01:06:27,740 --> 01:06:30,897 1475 01:06:30,897 --> 01:06:33,948 Pa, prije svega ono što varijable trebam koristiti? 1476 01:06:33,948 --> 01:06:35,430 >> SPEAKER 24: j. 1477 01:06:35,430 --> 01:06:36,880 >> BRIAN SCASSELLATI: Mogao bih iskoristiti j. 1478 01:06:36,880 --> 01:06:38,040 Mogu li koristiti isti onaj? 1479 01:06:38,040 --> 01:06:39,961 Mogu li koristiti opet? 1480 01:06:39,961 --> 01:06:40,460 Da. 1481 01:06:40,460 --> 01:06:45,531 To je u redu, jer je IS da ja sam koristeći se ovdje 1482 01:06:45,531 --> 01:06:47,780 Ja ih ne opet kad je potrebno Ja bi se na tom pitanju. 1483 01:06:47,780 --> 01:06:52,240 1484 01:06:52,240 --> 01:06:53,790 >> Pa što bih trebao ja inicijalizirati se? 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 Što bih trebao provjeriti? 1489 01:06:59,400 --> 01:07:02,960 Koliko točkice moram sad na kraju ako imam dvije točkice na početku? 1490 01:07:02,960 --> 01:07:05,820 1491 01:07:05,820 --> 01:07:09,165 Trebam osam na kraju, pa što trebao sam provjeriti, ja manje than-- 1492 01:07:09,165 --> 01:07:12,645 >> PUBLIKA: Sedam, osam, devet. 1493 01:07:12,645 --> 01:07:14,020 BRIAN SCASSELLATI: Čuo sam sedam. 1494 01:07:14,020 --> 01:07:14,810 Čuo sam osam. 1495 01:07:14,810 --> 01:07:15,970 I ja sam čuo devet. 1496 01:07:15,970 --> 01:07:16,470 U REDU. 1497 01:07:16,470 --> 01:07:19,540 Dakle, svi smo u pravu ball-- Jason kaže 10. 1498 01:07:19,540 --> 01:07:21,550 U REDU. 1499 01:07:21,550 --> 01:07:25,920 >> Ako mi je trebalo dvije točke za prvi, koliko je to 1500 01:07:25,920 --> 01:07:30,170 I-- i moram osam točaka za Posljednji one-- sam stavio dva iznad, 1501 01:07:30,170 --> 01:07:31,743 ono što sam trebao staviti dolje? 1502 01:07:31,743 --> 01:07:32,570 >> PUBLIKA: Osam. 1503 01:07:32,570 --> 01:07:33,611 >> BRIAN SCASSELLATI: Osam. 1504 01:07:33,611 --> 01:07:35,695 Budući da će računati nula do sedam. 1505 01:07:35,695 --> 01:07:38,490 I to je osam puta kroz petlju. 1506 01:07:38,490 --> 01:07:38,990 U REDU. 1507 01:07:38,990 --> 01:07:41,774 A što moram raditi na kraju? 1508 01:07:41,774 --> 01:07:42,670 >> PUBLIKA: i ++. 1509 01:07:42,670 --> 01:07:44,400 >> BRIAN SCASSELLATI: i ++. 1510 01:07:44,400 --> 01:07:45,440 U redu. 1511 01:07:45,440 --> 01:07:48,260 Tako da izgleda prilično dobro tamo. 1512 01:07:48,260 --> 01:07:50,620 Idemo probati i neka je vidjeti što to radi. 1513 01:07:50,620 --> 01:07:51,450 U REDU. 1514 01:07:51,450 --> 01:07:53,770 Tako ćemo ga spasiti. 1515 01:07:53,770 --> 01:07:54,940 Lijepo i spasio. 1516 01:07:54,940 --> 01:07:56,910 >> Mi ćemo uvećanje natrag. 1517 01:07:56,910 --> 01:07:58,220 Pokušat ćemo ovdje u terminalu. 1518 01:07:58,220 --> 01:08:01,440 1519 01:08:01,440 --> 01:08:02,970 Mi ćemo uvećanje. 1520 01:08:02,970 --> 01:08:05,416 Ups. 1521 01:08:05,416 --> 01:08:09,990 Mi ćemo, još jednom, bi naš zeko program. 1522 01:08:09,990 --> 01:08:14,460 I ići naprijed i izvršiti zeko. 1523 01:08:14,460 --> 01:08:15,980 A tu je. 1524 01:08:15,980 --> 01:08:17,710 >> Dakle, tu je naš zeko. 1525 01:08:17,710 --> 01:08:25,130 Gdje ima dvije točkice na početku i osam točaka pri kraju. 1526 01:08:25,130 --> 01:08:27,540 Svatko uvijek sa mnom? 1527 01:08:27,540 --> 01:08:28,770 U REDU. 1528 01:08:28,770 --> 01:08:29,580 >> Tako smo ga izgradili. 1529 01:08:29,580 --> 01:08:33,000 Mi smo izgradili jedan zeko, jedan određeni okvir. 1530 01:08:33,000 --> 01:08:36,229 Sada smo bili u mogućnosti generalizirati da su za izgradnju 1531 01:08:36,229 --> 01:08:38,390 više, različite vrste okvira. 1532 01:08:38,390 --> 01:08:42,399 >> Sada ćemo ići naprijed, i imaju ona stvaraju ne samo jedan okvir, 1533 01:08:42,399 --> 01:08:46,290 ali neka je generirati 10 okviri, gdje smo se polako 1534 01:08:46,290 --> 01:08:50,569 bi zeko premjestiti sve put preko polja. 1535 01:08:50,569 --> 01:08:51,430 U redu. 1536 01:08:51,430 --> 01:08:53,660 >> Vratimo. 1537 01:08:53,660 --> 01:08:54,839 I pokušat ćemo sada. 1538 01:08:54,839 --> 01:09:00,680 1539 01:09:00,680 --> 01:09:02,830 Dakle, ono što mi je stvarno potrebno promijeniti ovdje? 1540 01:09:02,830 --> 01:09:06,139 1541 01:09:06,139 --> 01:09:07,180 Što trebam promijeniti? 1542 01:09:07,180 --> 01:09:10,638 >> SPEAKER 26: Najprije trebate promijeniti broj točaka maksimum 1543 01:09:10,638 --> 01:09:11,626 na početku. 1544 01:09:11,626 --> 01:09:16,850 Jer ako smo radili 10 točaka, to će morati do razmjera. 1545 01:09:16,850 --> 01:09:17,850 BRIAN SCASSELLATI: Da. 1546 01:09:17,850 --> 01:09:23,760 Dakle, sada sam se nekako ožičenoj uvijek učiniti dvije točkice na početku 1547 01:09:23,760 --> 01:09:27,890 i uvijek činiti osam točkice na kraju. 1548 01:09:27,890 --> 01:09:30,660 >> Želim izgraditi još jednu petlju, zar ne? 1549 01:09:30,660 --> 01:09:33,290 Jer ja ne želim graditi samo jedan zeko sliku, 1550 01:09:33,290 --> 01:09:37,140 Želim izgraditi 10 zeka slike. 1551 01:09:37,140 --> 01:09:41,500 Dakle, trebam izgraditi još jednu petlju, i kao što sam proći kroz tu petlju, 1552 01:09:41,500 --> 01:09:44,660 Želim promijeniti koliko točkice ispisati na početku 1553 01:09:44,660 --> 01:09:50,529 i koliko točkice ispisati na kraju, na temelju kojih ciklus kroz petlju 1554 01:09:50,529 --> 01:09:52,270 Ja sam za. 1555 01:09:52,270 --> 01:09:52,770 U redu. 1556 01:09:52,770 --> 01:09:54,430 >> Tako ćemo dobiti još jedan šalter. 1557 01:09:54,430 --> 01:09:58,142 Netko prije je rekao j, pa ćemo napraviti još j. 1558 01:09:58,142 --> 01:10:00,100 A sada, idemo graditi drugi za petlje. 1559 01:10:00,100 --> 01:10:02,650 1560 01:10:02,650 --> 01:10:06,200 >> Ono što ide u tu petlju? 1561 01:10:06,200 --> 01:10:09,060 Ova stvar mora ići unutar petlje, zar ne? 1562 01:10:09,060 --> 01:10:11,190 Je li zeko ima ići unutar petlje? 1563 01:10:11,190 --> 01:10:13,390 Trebam li zeko u svaki od tih 10 sličica? 1564 01:10:13,390 --> 01:10:14,099 >> PUBLIKA: Aha. 1565 01:10:14,099 --> 01:10:15,098 BRIAN SCASSELLATI: Da. 1566 01:10:15,098 --> 01:10:17,250 Želim zeko u svakoj od 10 sličica, zar ne? 1567 01:10:17,250 --> 01:10:20,531 Kako o točkice na kraj, moram to? 1568 01:10:20,531 --> 01:10:21,030 U REDU. 1569 01:10:21,030 --> 01:10:22,550 >> Tako ću uvukli sve njih. 1570 01:10:22,550 --> 01:10:25,110 Idem istaknuti sve to, a ja ću pogoditi Tab. 1571 01:10:25,110 --> 01:10:28,590 I to će ih gurnuti u cijelom malo, tako da je lako za mene 1572 01:10:28,590 --> 01:10:32,010 vidjeti što je u petlji. 1573 01:10:32,010 --> 01:10:33,710 A onda ću ga završiti. 1574 01:10:33,710 --> 01:10:35,850 Recimo. 1575 01:10:35,850 --> 01:10:36,430 U REDU? 1576 01:10:36,430 --> 01:10:39,230 >> Sada, u ovom petlje da Ja sam building-- Ups, 1577 01:10:39,230 --> 01:10:43,810 čine to tako da možete see-- Imam moj brojač j. 1578 01:10:43,810 --> 01:10:45,630 Ja ću ga počeli na 0. 1579 01:10:45,630 --> 01:10:47,829 Koliko puta želim proći kroz ovu petlju? 1580 01:10:47,829 --> 01:10:48,620 PUBLIKA: 10 puta. 1581 01:10:48,620 --> 01:10:49,786 BRIAN SCASSELLATI: 10 puta. 1582 01:10:49,786 --> 01:10:51,402 Dakle, što je broj trebam staviti ovdje? 1583 01:10:51,402 --> 01:10:52,880 >> PUBLIKA: 9, 10. 1584 01:10:52,880 --> 01:10:55,600 >> BRAJEN SCASSELLATI: 9, 10, Netko mora reći 11, zar ne? 1585 01:10:55,600 --> 01:10:58,190 1586 01:10:58,190 --> 01:11:01,585 Htjela sam dvije točkice prije i ja staviti manje od 2. 1587 01:11:01,585 --> 01:11:03,810 Htjela sam osam točaka, Ja sam stavio manje od 8. 1588 01:11:03,810 --> 01:11:06,950 Sada želim proći kroz 10 puta, pa sam stavio j manje than-- 1589 01:11:06,950 --> 01:11:07,590 >> PUBLIKA: 10. 1590 01:11:07,590 --> 01:11:08,610 >> BRIAN SCASSELLATI: 10. 1591 01:11:08,610 --> 01:11:10,150 Idemo tamo. 1592 01:11:10,150 --> 01:11:13,360 A što da ja radim na kraju do j? 1593 01:11:13,360 --> 01:11:15,310 ++, Povećajte ga. 1594 01:11:15,310 --> 01:11:16,230 U REDU. 1595 01:11:16,230 --> 01:11:21,500 Sada, ovdje je lukav dio, što je će se dogoditi sada, ako sam to učiniti? 1596 01:11:21,500 --> 01:11:24,537 Ću ispisati 10 slika? 1597 01:11:24,537 --> 01:11:26,370 SPEAKER 27: Mislim da je svi oni će biti isti. 1598 01:11:26,370 --> 01:11:28,453 BRIAN SCASSELLATI: oni će svi biti isti, zar ne? 1599 01:11:28,453 --> 01:11:31,750 Jer svi oni i dalje idu staviti dvije točkice na početku. 1600 01:11:31,750 --> 01:11:34,162 Ali ja ne želim ih sve imaju dvije točkice početku. 1601 01:11:34,162 --> 01:11:35,870 Koliko točkice mi je činiti Želite na početku? 1602 01:11:35,870 --> 01:11:39,097 1603 01:11:39,097 --> 01:11:40,020 >> PUBLIKA: Promjena. 1604 01:11:40,020 --> 01:11:42,840 >> BRIAN SCASSELLATI: ja želite promijeniti, zar ne? 1605 01:11:42,840 --> 01:11:46,588 Pa što ja imam ovdje da mijenja svaki put se petlja prolazi? 1606 01:11:46,588 --> 01:11:48,242 >> PUBLIKA: Broj točaka, j. 1607 01:11:48,242 --> 01:11:49,950 BRIAN SCASSELLATI: j, broj točkica. 1608 01:11:49,950 --> 01:11:54,782 Dakle, ja mogu promijeniti da je to j. 1609 01:11:54,782 --> 01:11:59,190 Prvi put kroz petlje, što će to biti? 1610 01:11:59,190 --> 01:12:01,700 Što mi je postavljena j se na prvi? 1611 01:12:01,700 --> 01:12:02,420 >> PUBLIKA: 0. 1612 01:12:02,420 --> 01:12:05,700 >> BRIAN SCASSELLATI: Pa koliko puta ću to učiniti? 1613 01:12:05,700 --> 01:12:06,750 0. 1614 01:12:06,750 --> 01:12:11,750 Drugi put kroz petlju, j a će biti 1 jer sam ga povećavati. 1615 01:12:11,750 --> 01:12:14,180 Koliko točkice ću ispisati? 1616 01:12:14,180 --> 01:12:15,100 1. 1617 01:12:15,100 --> 01:12:19,904 Treći put kroz petlju, koliko točkice ću ispisati? 1618 01:12:19,904 --> 01:12:20,587 >> PUBLIKA: Tri. 1619 01:12:20,587 --> 01:12:22,170 BRIAN SCASSELLATI: j će biti 3. 1620 01:12:22,170 --> 01:12:24,890 Koliko točkice ću ispisati? 1621 01:12:24,890 --> 01:12:26,817 Oh, ispričavam se, j će biti 2. 1622 01:12:26,817 --> 01:12:28,233 Koliko točkice ću ispisati? 1623 01:12:28,233 --> 01:12:28,980 >> PUBLIKA: 2. 1624 01:12:28,980 --> 01:12:29,855 >> BRIAN SCASSELLATI: 2. 1625 01:12:29,855 --> 01:12:32,460 U redu, pa ću zadržati povećavati da kao idemo zajedno. 1626 01:12:32,460 --> 01:12:33,460 Kako o dolje? 1627 01:12:33,460 --> 01:12:34,310 Što se ovdje dolje? 1628 01:12:34,310 --> 01:12:38,080 Ne želim 8 uvijek na kraju više? 1629 01:12:38,080 --> 01:12:39,269 >> SPEAKER 28: 10. 1630 01:12:39,269 --> 01:12:40,685 BRIAN SCASSELLATI: Želim 10 točaka? 1631 01:12:40,685 --> 01:12:43,440 1632 01:12:43,440 --> 01:12:44,620 Želim da promijeniti, previše. 1633 01:12:44,620 --> 01:12:47,469 Pa kako ja želim to promijeniti? 1634 01:12:47,469 --> 01:12:49,167 >> PUBLIKA: [nečujan]. 1635 01:12:49,167 --> 01:12:51,750 BRIAN SCASSELLATI: Pa, ako sam imate pet točkice na početku, 1636 01:12:51,750 --> 01:12:53,293 koliko dot-a mogu dobiti na kraju? 1637 01:12:53,293 --> 01:12:54,020 >> PUBLIKA: Pet. 1638 01:12:54,020 --> 01:12:55,630 >> BRIAN SCASSELLATI: Ako imam šest točaka na početku, 1639 01:12:55,630 --> 01:12:56,875 koliko mogu dobiti na kraju? 1640 01:12:56,875 --> 01:12:57,500 PUBLIKA: Četiri. 1641 01:12:57,500 --> 01:12:58,950 BRIAN SCASSELLATI: Ako sam dobio sedam točaka na početku, 1642 01:12:58,950 --> 01:13:00,204 koliko mogu dobiti na kraju? 1643 01:13:00,204 --> 01:13:00,870 PUBLIKA: Tri. 1644 01:13:00,870 --> 01:13:03,161 BRIAN SCASSELLATI: Ako sam dobio j točkice na početku, 1645 01:13:03,161 --> 01:13:04,790 koliko mogu dobiti na kraju? 1646 01:13:04,790 --> 01:13:07,520 10-j. 1647 01:13:07,520 --> 01:13:08,650 U REDU. 1648 01:13:08,650 --> 01:13:10,390 Dakle, pokušajmo to van. 1649 01:13:10,390 --> 01:13:13,180 >> Tako ću spasiti naš zeko program. 1650 01:13:13,180 --> 01:13:16,270 Još jednom ćemo smanjenje. 1651 01:13:16,270 --> 01:13:19,090 Ići ćemo do našeg terminala. 1652 01:13:19,090 --> 01:13:20,180 Mi ćemo to jasno. 1653 01:13:20,180 --> 01:13:23,410 I uvećali. 1654 01:13:23,410 --> 01:13:26,410 Mi ćemo napraviti naš zeko program, opet. 1655 01:13:26,410 --> 01:13:27,690 A mi ćemo ga izvršiti. 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 >> Čekaj, idemo udaljili. 1659 01:13:34,580 --> 01:13:36,860 Jesam li dobiti 10 okvira? 1660 01:13:36,860 --> 01:13:38,970 Pa, koliko zeko vidim tamo gore? 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 okvira. 1663 01:13:44,820 --> 01:13:46,375 Jesu li svi isti? 1664 01:13:46,375 --> 01:13:47,000 PUBLIKA: Da. 1665 01:13:47,000 --> 01:13:48,740 Ne. 1666 01:13:48,740 --> 01:13:50,000 >> BRIAN SCASSELLATI: Ne 1667 01:13:50,000 --> 01:13:55,050 To prvi je zeko je daleko na lijevoj strani. 1668 01:13:55,050 --> 01:13:57,541 I ovdje, zeko je daleko na 1669 01:13:57,541 --> 01:13:58,290 SPEAKER 29: Točno. 1670 01:13:58,290 --> 01:14:00,502 BRIAN SCASSELLATI: Dakle, ono što sam zaboravio učiniti? 1671 01:14:00,502 --> 01:14:01,750 SPEAKER 30: Započnite novu liniju. 1672 01:14:01,750 --> 01:14:04,041 BRIAN SCASSELLATI: Zaboravio sam započeti novu liniju, opet. 1673 01:14:04,041 --> 01:14:05,270 Istu grešku sam napravio prije. 1674 01:14:05,270 --> 01:14:07,120 U redu, idemo to popraviti. 1675 01:14:07,120 --> 01:14:11,690 Sada, ja još uvijek imam kod tamo napraviti novu liniju. 1676 01:14:11,690 --> 01:14:13,899 Zašto ne radi? 1677 01:14:13,899 --> 01:14:15,440 SPEAKER 31: To nije unutar petlje. 1678 01:14:15,440 --> 01:14:17,710 BRIAN SCASSELLATI: Oh, to nije unutar petlje. 1679 01:14:17,710 --> 01:14:18,520 Tako je. 1680 01:14:18,520 --> 01:14:20,150 To je sjedio vani ovdje. 1681 01:14:20,150 --> 01:14:23,470 1682 01:14:23,470 --> 01:14:29,050 A za petlju je sve to je u tom tekstu. 1683 01:14:29,050 --> 01:14:35,500 >> Tako ću premjestiti to unutar for petlje. 1684 01:14:35,500 --> 01:14:39,410 A ja ću Tab ispred njega na pokazuju da je na pravom mjestu. 1685 01:14:39,410 --> 01:14:42,020 I sada, mi ćemo ga spasiti ponovno. 1686 01:14:42,020 --> 01:14:44,350 Mi ćemo smanjivanje. 1687 01:14:44,350 --> 01:14:45,770 Mi ćemo prijeći na našem terminalu. 1688 01:14:45,770 --> 01:14:48,330 1689 01:14:48,330 --> 01:14:50,360 Zumirajte. 1690 01:14:50,360 --> 01:14:54,050 Mi ćemo preurediti naš zeko program. 1691 01:14:54,050 --> 01:14:59,070 A sada, sada imamo naše 10 okvira. 1692 01:14:59,070 --> 01:15:00,190 >> [Klicati] 1693 01:15:00,190 --> 01:15:02,120 >> BRIAN SCASSELLATI: U redu. 1694 01:15:02,120 --> 01:15:04,080 So. 1695 01:15:04,080 --> 01:15:08,370 Ovdje je naš ugniježđena za petlje. 1696 01:15:08,370 --> 01:15:13,140 Mi smo bili u mogućnosti generirati u Unutarnja petlja koliko točkice sam htjela 1697 01:15:13,140 --> 01:15:15,320 ispisati na početku, na kraju. 1698 01:15:15,320 --> 01:15:21,570 I kontrolira vanjski petlje koliko okviri sam gradi. 1699 01:15:21,570 --> 01:15:26,340 Počeli smo s jedan mali srž problema, 1700 01:15:26,340 --> 01:15:30,320 a mi smo izgradili iz te točke. 1701 01:15:30,320 --> 01:15:30,820 U redu. 1702 01:15:30,820 --> 01:15:33,500 >> Učinimo još jedan korak. 1703 01:15:33,500 --> 01:15:35,040 Spreman? 1704 01:15:35,040 --> 01:15:38,800 Postoji jedna stvar u kojoj se ovdje smo zapravo vrsta dobio 1705 01:15:38,800 --> 01:15:42,180 više složenosti nego što je potrebno. 1706 01:15:42,180 --> 01:15:44,700 Idemo pogledati. 1707 01:15:44,700 --> 01:15:52,050 Dakle, u našem zeko programu, ako ja smanjivanje ovdje 1708 01:15:52,050 --> 01:15:54,980 Ja sam zapravo napraviti neke od iste stvar iznova i iznova. 1709 01:15:54,980 --> 01:15:59,032 Što da radim to je vrsta ista stvar ponavlja dva puta? 1710 01:15:59,032 --> 01:16:00,310 >> SPEAKER 32: Ispišite točkice. 1711 01:16:00,310 --> 01:16:03,526 >> BRIAN SCASSELLATI: Da Dva puta sam ispisati one točkice. 1712 01:16:03,526 --> 01:16:05,710 Stvarno, ja bi trebao imati ovaj komentar ovdje. 1713 01:16:05,710 --> 01:16:09,037 Ja ispisati neke točkice Na početak, zar se ovdje. 1714 01:16:09,037 --> 01:16:10,620 A onda sam ispisati neke točkice na kraju. 1715 01:16:10,620 --> 01:16:14,694 I ja vrsta istu stvar. 1716 01:16:14,694 --> 01:16:17,110 Što ćemo početi radi na u sljedećih nekoliko tjedana 1717 01:16:17,110 --> 01:16:23,440 je u mogućnosti da se one blokove kod koje smo koristili iznova i iznova, 1718 01:16:23,440 --> 01:16:25,800 i kroz proces zove apstrakcija, 1719 01:16:25,800 --> 01:16:31,100 ćemo ih izvaditi i napišite ih jednom, tako da možemo onda 1720 01:16:31,100 --> 01:16:35,130 ponovno ih iznova i iznova. 1721 01:16:35,130 --> 01:16:37,210 Dakle, pokušajmo to. 1722 01:16:37,210 --> 01:16:38,220 Jeste li spremni? 1723 01:16:38,220 --> 01:16:42,200 >> Idemo uzeti ovaj blok koda. 1724 01:16:42,200 --> 01:16:45,280 I ja ću ga uzeti od tamo. 1725 01:16:45,280 --> 01:16:50,530 I ja ću define-- dolje na dnu, 1726 01:16:50,530 --> 01:16:53,130 Idem napisati novu funkciju. 1727 01:16:53,130 --> 01:16:54,750 To se neće vratiti ništa. 1728 01:16:54,750 --> 01:16:58,550 I ja ću ga nazvati printDots. 1729 01:16:58,550 --> 01:17:01,530 >> To se događa da se jedan Argument, cijeli broj koji 1730 01:17:01,530 --> 01:17:04,920 kaže howManyDots trebam ispisati. 1731 01:17:04,920 --> 01:17:09,310 1732 01:17:09,310 --> 01:17:17,720 I sada, umjesto ispisa j točkice, ja ću ispisati reci howManyDots trebam ispisati. 1733 01:17:17,720 --> 01:17:21,581 >> I tu je jedan mali problem ovdje. 1734 01:17:21,581 --> 01:17:22,580 Tko zna što je to? 1735 01:17:22,580 --> 01:17:27,270 1736 01:17:27,270 --> 01:17:31,505 Što moram da se na popisu Ovdje to nije definirano? 1737 01:17:31,505 --> 01:17:34,165 1738 01:17:34,165 --> 01:17:35,090 >> PUBLIKA: [nečujan] 1739 01:17:35,090 --> 01:17:37,465 >> BRIAN SCASSELLATI: Pa kako mnoge točke definiran desno gore 1740 01:17:37,465 --> 01:17:40,584 ovdje, ali ja sam koristeći da sam varijablu. 1741 01:17:40,584 --> 01:17:43,750 Zato ću uzeti tu varijablu ja i ja ću ga definirati dolje ovdje 1742 01:17:43,750 --> 01:17:44,610 umjesto toga. 1743 01:17:44,610 --> 01:17:49,683 >> Dakle, sada će to stay-- Ups, dobio je caps lock na somehow-- sam 1744 01:17:49,683 --> 01:17:52,060 će zadržati sam se ovdje. 1745 01:17:52,060 --> 01:17:57,050 >> Tako je sada ovdje je moja mala funkcija ili pod-rutinu, a ona kaže, 1746 01:17:57,050 --> 01:18:00,640 koliko točkice ću ispisati? 1747 01:18:00,640 --> 01:18:05,300 I to će proći kroz ove petlje i ispisati ih iznova i iznova. 1748 01:18:05,300 --> 01:18:10,940 >> I onda mogu mijenjati moj program ovdje. 1749 01:18:10,940 --> 01:18:12,540 A što ja nazivam kako funkcioniraju? 1750 01:18:12,540 --> 01:18:13,960 printDots. 1751 01:18:13,960 --> 01:18:17,060 Tako ću nazvati printDots. 1752 01:18:17,060 --> 01:18:21,530 Koliko točkice želim ispisati prvi put prije zeko? 1753 01:18:21,530 --> 01:18:22,030 PUBLIKA: j. 1754 01:18:22,030 --> 01:18:23,230 BRIAN SCASSELLATI: j. 1755 01:18:23,230 --> 01:18:27,110 Koliko točkice želim ispisati na kraju, nakon zeca? 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 >> I tu je jedna stvar mi nedostaje. 1760 01:18:38,010 --> 01:18:43,740 Kao što ste danas vidjeli u predavanju, ćemo objaviti printDots 1761 01:18:43,740 --> 01:18:52,430 iznad da se dobije prototip. 1762 01:18:52,430 --> 01:18:56,740 1763 01:18:56,740 --> 01:18:58,220 U REDU. 1764 01:18:58,220 --> 01:19:03,530 >> Dakle, ono što sam učinio je da sam pokušao izolirati da ponovno koristiti dio koda 1765 01:19:03,530 --> 01:19:06,430 da sam učinio iznova i iznova. 1766 01:19:06,430 --> 01:19:11,120 I ja sam pokušao ga izvući, tako da sve što je sadržano na jednom mjestu. 1767 01:19:11,120 --> 01:19:16,810 Na taj način, ako imam pogrešku negdje, Imam samo to popraviti na jednom mjestu. 1768 01:19:16,810 --> 01:19:17,310 U redu. 1769 01:19:17,310 --> 01:19:18,470 >> Tako ćemo ga spasiti. 1770 01:19:18,470 --> 01:19:20,950 I neka bi bili sigurni da radi. 1771 01:19:20,950 --> 01:19:22,050 Dakle, idemo van. 1772 01:19:22,050 --> 01:19:25,200 Ići ćemo opet na naš terminal. 1773 01:19:25,200 --> 01:19:27,960 Mi ćemo uvećanje. 1774 01:19:27,960 --> 01:19:31,010 Mi ćemo učiniti da proces zeko. 1775 01:19:31,010 --> 01:19:32,380 >> Oh. 1776 01:19:32,380 --> 01:19:34,800 I to mi je dao upozorenje. 1777 01:19:34,800 --> 01:19:37,070 Što je to mi govori? 1778 01:19:37,070 --> 01:19:39,870 Pa u bilo koji od ovih puta, uvijek želite 1779 01:19:39,870 --> 01:19:44,170 za pomicanje do prvog error-- Sada na ovom jednom, imam samo jednu. 1780 01:19:44,170 --> 01:19:52,700 >> To mi govori u bunny.c, na liniji 8, 9 kolona, ​​postoji problem. 1781 01:19:52,700 --> 01:19:58,650 Ona kaže da ste proglasili ovu promjenjiva i i niste koristili. 1782 01:19:58,650 --> 01:20:02,230 >> Sada normalno, to je nije najgore pogreške. 1783 01:20:02,230 --> 01:20:04,300 To je jednostavno jedan popraviti. 1784 01:20:04,300 --> 01:20:07,550 A u stvari, možemo se vratiti u. 1785 01:20:07,550 --> 01:20:09,910 Možemo se vratiti na zeca. 1786 01:20:09,910 --> 01:20:13,010 I u ovom slučaju, svi smo morate učiniti je riješiti i, 1787 01:20:13,010 --> 01:20:16,630 jer mi ne koristite ja u glavnom više. 1788 01:20:16,630 --> 01:20:19,860 Mi samo ga koristi unutar naše pod-rutinu. 1789 01:20:19,860 --> 01:20:22,777 >> Tako ćemo spasiti. 1790 01:20:22,777 --> 01:20:23,360 Mi ćemo se vratiti. 1791 01:20:23,360 --> 01:20:26,760 1792 01:20:26,760 --> 01:20:28,630 I uvećali. 1793 01:20:28,630 --> 01:20:30,700 Mi ćemo još jednom napraviti zeca. 1794 01:20:30,700 --> 01:20:33,810 1795 01:20:33,810 --> 01:20:36,530 I opet su naši 10 okviri. 1796 01:20:36,530 --> 01:20:39,450 1797 01:20:39,450 --> 01:20:41,360 U REDU. 1798 01:20:41,360 --> 01:20:43,190 >> Svaki put kad si dao procedure-- Da. 1799 01:20:43,190 --> 01:20:44,690 SPEAKER 33: Imam A- sam zbunjen. 1800 01:20:44,690 --> 01:20:45,892 Možete li se vratiti na šifru? 1801 01:20:45,892 --> 01:20:46,850 BRIAN SCASSELLATI: Aha. 1802 01:20:46,850 --> 01:20:50,730 1803 01:20:50,730 --> 01:20:54,367 >> SPEAKER 33: Pa, kad si napisao Vaš Prototip je ti argument 1804 01:20:54,367 --> 01:20:56,550 je to zove zvao howMany? 1805 01:20:56,550 --> 01:20:57,540 No, below-- 1806 01:20:57,540 --> 01:20:57,640 >> BRIAN SCASSELLATI: O da. 1807 01:20:57,640 --> 01:20:59,140 >> SPEAKER 33: im --called nešto drugačije, ne razumijem. 1808 01:20:59,140 --> 01:21:00,240 >> BRIAN SCASSELLATI: Zašto su različiti. 1809 01:21:00,240 --> 01:21:01,780 Dakle, to je veliko pitanje. 1810 01:21:01,780 --> 01:21:08,250 Dakle, pitanje je, do Ovdje, napisao sam howMany, 1811 01:21:08,250 --> 01:21:12,380 a dolje, napisao sam howManyDots. 1812 01:21:12,380 --> 01:21:15,590 >> Razlog tome je što se u svoj prototip, to je zapravo ne obraća pažnju 1813 01:21:15,590 --> 01:21:17,090 na imena koja ste stavljanjem u. 1814 01:21:17,090 --> 01:21:20,530 Sve što je stvarno stalo je da je cijeli broj. 1815 01:21:20,530 --> 01:21:23,080 Ona želi znati obrazac onoga što ste stavljanjem u. 1816 01:21:23,080 --> 01:21:31,560 >> Sada stylistically-- oops-- ono što sam trebao ne, je volim da ove danima. 1817 01:21:31,560 --> 01:21:33,150 U REDU. 1818 01:21:33,150 --> 01:21:36,430 Budući da će se zadržati Lakše mi je zapamtiti. 1819 01:21:36,430 --> 01:21:38,390 Ali to je bila moja pogreška Da. 1820 01:21:38,390 --> 01:21:47,620 >> SPEAKER 34: I tako za Prototip raditi, samo 1821 01:21:47,620 --> 01:21:50,510 pisanje tu liniju, pisanje prototip, 1822 01:21:50,510 --> 01:21:53,932 dopušta tu funkciju koja dolazi odmah ispod njega da ide do kraja 1823 01:21:53,932 --> 01:21:55,140 i dohvatiti što to znači? 1824 01:21:55,140 --> 01:21:58,480 >> BRIAN SCASSELLATI: Što to znači kada prevodilac prolazi kroz, 1825 01:21:58,480 --> 01:22:01,930 to ide od vrha Vaš broj na dnu. 1826 01:22:01,930 --> 01:22:05,430 A što je ovo prototip, je to je u osnovi obećanje. 1827 01:22:05,430 --> 01:22:09,570 >> Ona kaže, tu će biti funkcija negdje definirano. 1828 01:22:09,570 --> 01:22:11,880 To će se zvati printDots. 1829 01:22:11,880 --> 01:22:15,110 I to se događa da se jedan argument to će biti cijeli broj 1830 01:22:15,110 --> 01:22:18,590 i da će se vratiti ništa, praznina tipa. 1831 01:22:18,590 --> 01:22:19,310 U REDU. 1832 01:22:19,310 --> 01:22:22,950 Obećavam vam da će biti definira negdje niz cestu. 1833 01:22:22,950 --> 01:22:25,590 Ali svaki put kad vidim da, kao što ide prema dolje 1834 01:22:25,590 --> 01:22:28,710 kroz ostatak mog Glavna funkcija, želim 1835 01:22:28,710 --> 01:22:33,800 da postupa da kao funkcija koji traje jedan cijeli broj unosa. 1836 01:22:33,800 --> 01:22:37,970 >> I tako, kada prevodilac spušta kroz to, što vidi to obećanje. 1837 01:22:37,970 --> 01:22:40,220 A kad se dobiva dolje, čuva ide, ide dalje, 1838 01:22:40,220 --> 01:22:43,060 pronađe prvi put printDots spominje. 1839 01:22:43,060 --> 01:22:46,910 A ona kaže, Oh, koju daje ja to j. j je cijeli broj. 1840 01:22:46,910 --> 01:22:49,570 >> Pa što mi je obećao da će biti cijeli broj i to je u redu. 1841 01:22:49,570 --> 01:22:51,370 To je u redu. 1842 01:22:51,370 --> 01:22:53,880 I onda na kraju, prema dolje na samom dnu, 1843 01:22:53,880 --> 01:22:58,340 prije nego što sam doći do kraja mog file, ja bi dobro na moje obećanje 1844 01:22:58,340 --> 01:22:59,896 i ja sam ga definirati. 1845 01:22:59,896 --> 01:23:01,868 U REDU? 1846 01:23:01,868 --> 01:23:06,320 >> SPEAKER 35: Pa, to saves-- Program će uštedjeti praznine 1847 01:23:06,320 --> 01:23:09,570 kako to ide natrag i ispunjava na kraju? 1848 01:23:09,570 --> 01:23:12,140 >> BRIAN SCASSELLATI: Nije o raspodjeli memorije. 1849 01:23:12,140 --> 01:23:16,800 To je zapravo samo o tome što Vrsta ste očekivali da će vidjeti. 1850 01:23:16,800 --> 01:23:19,340 Ukoliko ova stvar ima jedan argument, ili pet argumenata? 1851 01:23:19,340 --> 01:23:23,590 Ukoliko ga cijeli broj se s obzirom na to, ili žice? 1852 01:23:23,590 --> 01:23:25,780 To je sve što gleda učiniti je da provjerite, 1853 01:23:25,780 --> 01:23:29,303 ti mi daje Pravo vrsta argumenta. 1854 01:23:29,303 --> 01:23:31,560 U REDU? 1855 01:23:31,560 --> 01:23:32,300 U redu. 1856 01:23:32,300 --> 01:23:38,570 >> Dopustite mi da vas ostaviti s jedna malo pogledati. 1857 01:23:38,570 --> 01:23:44,850 ASCII umjetnost nije veliki uzor animacije kao što je danas. 1858 01:23:44,850 --> 01:23:50,850 Ali neki ljudi naravno uzeti stvari i oni ga gurnuti na svoje krajnosti. 1859 01:23:50,850 --> 01:23:56,790 >> To je, kao što je David pokazao u predavanju, komad koda 1860 01:23:56,790 --> 01:24:02,150 da bi se trebali ni pod kojim uvjetima pokušati sebe udvostručiti. 1861 01:24:02,150 --> 01:24:05,260 Jer to je strašno stilski. 1862 01:24:05,260 --> 01:24:11,180 U stvari, to je osmišljen kako bi biti kao teško je moguće čitati. 1863 01:24:11,180 --> 01:24:11,680 U REDU. 1864 01:24:11,680 --> 01:24:16,210 >> Dakle, to učiniti opet, neka je povećavanje ovdje. 1865 01:24:16,210 --> 01:24:20,120 Idem ići sada, promjena imenik. 1866 01:24:20,120 --> 01:24:24,050 Ja ću ići jednu razini, natrag u moj radni prostor. 1867 01:24:24,050 --> 01:24:29,760 I onda ću promijeniti imenik u ovo Drugi katalog koji sam stvorio. 1868 01:24:29,760 --> 01:24:36,190 >> I ovo je Međunarodni Prikrivena C Programiranje natjecanje. 1869 01:24:36,190 --> 01:24:40,650 Obfuscated sredstva kao što je teško što je moguće razumjeti. 1870 01:24:40,650 --> 01:24:44,150 Dakle molim vas, nemojte se bojati ako pogledate ovo i otići, ne mogu pročitati da. 1871 01:24:44,150 --> 01:24:46,350 To je točka to. 1872 01:24:46,350 --> 01:24:47,700 U REDU? 1873 01:24:47,700 --> 01:24:52,770 >> No, mi smo to prekrasan program koji sam 1874 01:24:52,770 --> 01:24:57,180 ide pogledati tako da upišete više. 1875 01:24:57,180 --> 01:25:01,890 I neka je vidjeti ako ja mogu smanjivanje samo malo, tako da možete vidjeti 1876 01:25:01,890 --> 01:25:03,940 >> I ovo je program. 1877 01:25:03,940 --> 01:25:08,080 To je nazvana endo.c. 1878 01:25:08,080 --> 01:25:14,850 I to izgleda ovako kantu s vrsta slova F-L-U-I-D u njemu. 1879 01:25:14,850 --> 01:25:16,440 >> To je zapravo program. 1880 01:25:16,440 --> 01:25:20,260 To je zapisano u najviše zatamnjivati Način na koji su autori mogli eventualno 1881 01:25:20,260 --> 01:25:21,760 pisati. 1882 01:25:21,760 --> 01:25:29,210 Ali to je prekrasan mali komad koji stvara model dinamike fluida. 1883 01:25:29,210 --> 01:25:34,870 >> I tako ćemo dati taj model ulazni koji 1884 01:25:34,870 --> 01:25:42,520 izgleda ovako, od a stepeničasto set kontejnera 1885 01:25:42,520 --> 01:25:45,820 s nekim tekućine, neki tekućina, se na vrhu. 1886 01:25:45,820 --> 01:25:48,790 A mi ćemo ga simulirati što se događa s njim. 1887 01:25:48,790 --> 01:25:52,415 >> Tako ću nazvati tu funkciju, endo. 1888 01:25:52,415 --> 01:25:59,000 I ja ću ga dati da ulazne datoteke koje sam imao. 1889 01:25:59,000 --> 01:26:02,830 A tu je naš simbol ASCII art. 1890 01:26:02,830 --> 01:26:08,960 Pun dinamike fluida simulator trčanje u samo nekoliko linija koda. 1891 01:26:08,960 --> 01:26:13,750 >> Sada ono što je zapravo jako Nevjerojatna o ovom malom programu 1892 01:26:13,750 --> 01:26:17,280 je da želim ga zaustaviti, pa ću koristiti ono naredbu? 1893 01:26:17,280 --> 01:26:18,660 >> PUBLIKA: Kontrola C. 1894 01:26:18,660 --> 01:26:20,390 >> BRIAN SCASSELLATI: Control-C. U REDU. 1895 01:26:20,390 --> 01:26:22,960 Dakle, ja ću koristiti Control-C. C To će ga zaustaviti. 1896 01:26:22,960 --> 01:26:25,330 Ja ću opet jasno. 1897 01:26:25,330 --> 01:26:31,210 A sada ću pozvati se na Program, izvršavanje programa, 1898 01:26:31,210 --> 01:26:33,740 se koristi kao ulaz. 1899 01:26:33,740 --> 01:26:36,760 1900 01:26:36,760 --> 01:26:42,700 >> I vidjet ćemo dinamiku fluida Simulacija njega topi. 1901 01:26:42,700 --> 01:26:43,830 U REDU. 1902 01:26:43,830 --> 01:26:48,180 Molimo vas da ne dopustite taj program biti stvar koja vas zbunjuje. 1903 01:26:48,180 --> 01:26:52,220 To je samo tako da možemo završiti nešto cool i zanimljivo. 1904 01:26:52,220 --> 01:26:53,930 U REDU. 1905 01:26:53,930 --> 01:26:56,330 >> Najbolji od sreće sa svojim problemom setovima. 1906 01:26:56,330 --> 01:26:59,030 Rado ćemo odgovoriti Pitanja nakon klasa. 1907 01:26:59,030 --> 01:27:01,180 Hvala puno, dečki. 1908 01:27:01,180 --> 01:27:02,793