1 00:00:00,000 --> 00:00:05,830 2 00:00:05,830 --> 00:00:08,650 >> JASON Hirschhorna: Dobrodošli CS50 poglavlje, svatko. 3 00:00:08,650 --> 00:00:11,430 Moje ime je Jason Hirschhorn. 4 00:00:11,430 --> 00:00:15,850 Ja sam puno tvoje TFS, ali puno ljudi nadamo se da će nam se pridružiti 5 00:00:15,850 --> 00:00:20,420 online, proširenje studenti ili učenici pokušava gledati kroz odjeljak ako su 6 00:00:20,420 --> 00:00:22,830 propustili svoj dio koji tjedan ili Samo nadoknaditi ako su htjeli 7 00:00:22,830 --> 00:00:24,510 pregledati neke materijale. 8 00:00:24,510 --> 00:00:30,060 >> Dakle, kao i po nastavnom planu, što sve mjesta ste pročitali, ispraviti? 9 00:00:30,060 --> 00:00:31,390 Vidim puno glavu nominacija. 10 00:00:31,390 --> 00:00:34,220 Sekcije Vam pružiti mogućnosti istražiti kolegij-a 11 00:00:34,220 --> 00:00:37,420 Materijal u intimnijem okruženju, kao i zaroniti u 12 00:00:37,420 --> 00:00:38,810 hands-on aktivnosti. 13 00:00:38,810 --> 00:00:41,230 >> Dakle, to je zapravo ono što smo će se raditi svaki tjedan. 14 00:00:41,230 --> 00:00:45,090 Mi ćemo proći kroz ono što imamo određuje da se najvažnije 15 00:00:45,090 --> 00:00:49,170 Teme u predavanju, a oni vjerojatno najkorisniji i 16 00:00:49,170 --> 00:00:52,780 najvjerojatnije da se na problematična setovima te u testovima, te u vaš kodiranje 17 00:00:52,780 --> 00:00:53,970 Život izvan CS50. 18 00:00:53,970 --> 00:00:57,260 Tako ćemo ići na te teme, njima raspravljati, ići preko njih, 19 00:00:57,260 --> 00:01:00,660 odgovoriti na sva pitanja što vi imate, i onda ćemo napraviti puno 20 00:01:00,660 --> 00:01:02,250 problemi u praksi kodiranja. 21 00:01:02,250 --> 00:01:04,239 >> Jesi li donio laptop, što je fantastično. 22 00:01:04,239 --> 00:01:05,710 To je klasa računalnih znanosti. 23 00:01:05,710 --> 00:01:10,070 Međutim, puno vježbe radimo, nećete morati svoj laptop za. 24 00:01:10,070 --> 00:01:11,720 Možete ih napraviti na listu papira. 25 00:01:11,720 --> 00:01:13,580 Tako ćeš ih na kvizovima. 26 00:01:13,580 --> 00:01:16,450 I doista, to je odličan način da se znam da kako to učiniti 27 00:01:16,450 --> 00:01:19,720 nešto ako nemate Provjerite od 50 do oslanjaju na ili napraviti da se oslanjaju na, govoreći 28 00:01:19,720 --> 00:01:20,620 ste napravili pogreške. 29 00:01:20,620 --> 00:01:25,670 >> Tako ste dobrodošli kod na naprave ili run.cs50.net, što je 30 00:01:25,670 --> 00:01:29,770 još jedan alat koji vam omogućuje da kod on-line, ali ja bih preporučio, ako 31 00:01:29,770 --> 00:01:32,280 niste probali, koristite list papira i težak ove prakse 32 00:01:32,280 --> 00:01:33,640 Problemi na listu papira. 33 00:01:33,640 --> 00:01:35,330 Jer opet, to je u konačnici ono što će biti 34 00:01:35,330 --> 00:01:37,430 upitao učiniti na kvizovima. 35 00:01:37,430 --> 00:01:44,080 >> Dakle, krenimo s našim Dnevni red za danas. 36 00:01:44,080 --> 00:01:47,710 Mi ćemo ići preko neke norme za naš dio, onda ćemo roniti 37 00:01:47,710 --> 00:01:51,180 u matrice, funkcije, i komandne linije argumenata, što je ono što vi 38 00:01:51,180 --> 00:01:56,200 pokrili prošlog tjedna u predavanju a onda ponedjeljak, a ono što ćemo pokriti 39 00:01:56,200 --> 00:01:57,330 više sutra. 40 00:01:57,330 --> 00:01:59,060 I onda napokon, idemo govoriti o pset2. 41 00:01:59,060 --> 00:02:03,640 Ako sam mogao dobiti dizanjem ruku ako nisu gledali na problem seta dva 42 00:02:03,640 --> 00:02:04,890 Specifikacija. 43 00:02:04,890 --> 00:02:07,060 44 00:02:07,060 --> 00:02:08,120 Mi ćemo reći svima. 45 00:02:08,120 --> 00:02:09,419 Fantastično. 46 00:02:09,419 --> 00:02:12,070 >> Mi ćemo razgovarati o problemima u setovima malo, ali ako ste pročitali problema set 47 00:02:12,070 --> 00:02:14,340 Specifikacija, to je sve što trebate učiniti. 48 00:02:14,340 --> 00:02:18,370 Ako ste pročitali da je prije nego što dođe do klasa i poglavlje u utorak, hoćete 49 00:02:18,370 --> 00:02:19,220 biti odličan položaj. 50 00:02:19,220 --> 00:02:21,680 Možemo proći kroz set problema, što je ono što ćemo 51 00:02:21,680 --> 00:02:22,090 učiniti na kraju. 52 00:02:22,090 --> 00:02:23,500 Mi ćemo proći kroz Logika, uvjerite 53 00:02:23,500 --> 00:02:24,710 svi su na istoj stranici. 54 00:02:24,710 --> 00:02:28,650 >> Želim biti u mogućnosti da napuste utorak osjećam se vrlo ugodno s onim što 55 00:02:28,650 --> 00:02:31,560 trebate učiniti za ovotjednom skupu problema, a ako ne, ja ću rado 56 00:02:31,560 --> 00:02:33,050 ostati nakon što se i raditi s vama. 57 00:02:33,050 --> 00:02:36,850 Ali to je jedna stvar koju morate napraviti, ali mislim da će biti jako pametni, 58 00:02:36,850 --> 00:02:40,500 samo čitati set problema Specifikacija po klasama u utorak, 59 00:02:40,500 --> 00:02:42,640 koji zvuči kao Puno vas dečki učinio. 60 00:02:42,640 --> 00:02:45,810 >> Ja ću početi s dnevnog reda svaki razred tako da znamo gdje idemo. 61 00:02:45,810 --> 00:02:49,520 Ovo je također korisno za promatranje ljudi online, jer svaki dio 62 00:02:49,520 --> 00:02:53,540 se boji, pa ako želite doći natrag i samo gledati 10 minuta prije 63 00:02:53,540 --> 00:02:56,950 od cijelog 90-minutnog odjeljku može samo ići u boji kodirani sekciji 64 00:02:56,950 --> 00:02:57,890 i pogled na taj dio. 65 00:02:57,890 --> 00:03:01,510 Tako sam pokušao ih razbiti u lijepo modula koji će vam omogućiti da - 66 00:03:01,510 --> 00:03:03,960 Ako želite vratiti i pregledati, ili drugim studentima koji su tek 67 00:03:03,960 --> 00:03:05,350 gledate odjeljak za pregled - 68 00:03:05,350 --> 00:03:08,130 pronaći određenu stvar koju želim da obratite pozornost na 69 00:03:08,130 --> 00:03:10,480 i saznati više o tome. 70 00:03:10,480 --> 00:03:11,390 Sweet. 71 00:03:11,390 --> 00:03:12,180 >> Norme. 72 00:03:12,180 --> 00:03:13,680 Ja sam FOP lider na kampusu. 73 00:03:13,680 --> 00:03:14,900 Ja ne znam je li itko učinio FOP. 74 00:03:14,900 --> 00:03:16,280 Je li netko to FOP? 75 00:03:16,280 --> 00:03:17,100 Jedna osoba je FOP. 76 00:03:17,100 --> 00:03:18,430 Dvoje ljudi je FOP. 77 00:03:18,430 --> 00:03:19,250 Strašan. 78 00:03:19,250 --> 00:03:22,360 Tako je FOP Prva godina vanjski Orijentacija program. 79 00:03:22,360 --> 00:03:27,240 Uzimamo freshmen u šumu i napraviti najmagicnije iskustva 80 00:03:27,240 --> 00:03:28,830 njihov život, točno? 81 00:03:28,830 --> 00:03:29,220 Da. 82 00:03:29,220 --> 00:03:30,080 Zvuči uvjerljivo. 83 00:03:30,080 --> 00:03:36,360 >> Pa sam samo htio da započnemo naš prvi poglavlje raspravljajući neke norme 84 00:03:36,360 --> 00:03:38,860 za klasu i naš odnos jer mislim 85 00:03:38,860 --> 00:03:40,010 oni su vrlo važni. 86 00:03:40,010 --> 00:03:43,630 Prvo i najvažnije, kao i one od vas koji su moje poglavlje primili i 87 00:03:43,630 --> 00:03:47,150 je objašnjeno da je u e, volim ovu. 88 00:03:47,150 --> 00:03:48,130 Ovo je moj najdraži dio godine. 89 00:03:48,130 --> 00:03:49,100 Bila sam jako uzbuđena. 90 00:03:49,100 --> 00:03:50,040 Ja sam ovdje već satima danas. 91 00:03:50,040 --> 00:03:54,560 Nisam napustio ovu zgradu, osim u ići jesti jer volim CS50 odjeljak, sam 92 00:03:54,560 --> 00:03:58,620 volim učenje, volim raditi s vama. 93 00:03:58,620 --> 00:04:02,000 >> Jedan od najviših prioriteta, ako ne i moj prioritet broj jedan, ne samo za 94 00:04:02,000 --> 00:04:05,130 ova klasa, ali uključujući i moje druge Nastava i extracurriculars, jest 95 00:04:05,130 --> 00:04:09,350 podržava ti dečki, i pomoći vam dečki, a obaviti moj najbolji kako bi bili sigurni da vas 96 00:04:09,350 --> 00:04:13,780 dečki imaju divno, zabavno, produktivniji, privlačan, uzbudljiv 97 00:04:13,780 --> 00:04:15,250 doživjeti u ovoj klasi. 98 00:04:15,250 --> 00:04:16,190 To je ono što sam počinio. 99 00:04:16,190 --> 00:04:17,959 Zato volim to učiniti. 100 00:04:17,959 --> 00:04:20,190 To je moj broj jedan stvar, podržava ti dečki. 101 00:04:20,190 --> 00:04:25,110 Ako imate bilo kakvih pitanja u vezi predavanja, Problem set, dio, 102 00:04:25,110 --> 00:04:28,830 život, čak i ako želite razgovarati o život, slobodno doprijeti. 103 00:04:28,830 --> 00:04:31,210 >> Imate moj broj mobitela, imate moj e-mail 104 00:04:31,210 --> 00:04:32,910 adresa, imate moj GChat. 105 00:04:32,910 --> 00:04:37,540 Možete me kontaktirati na bilo koji ili sve od kad oni, ali vjerojatno neće doći 106 00:04:37,540 --> 00:04:38,720 Odgovor god. 107 00:04:38,720 --> 00:04:41,020 Ja pokušavam vratiti u roku od 24 sata. 108 00:04:41,020 --> 00:04:44,760 Često će to biti u roku 20 minuta ili 24 minuta. 109 00:04:44,760 --> 00:04:46,110 Trebao sam rekao da je kako bi se paralelno. 110 00:04:46,110 --> 00:04:48,840 Ali vi ćete dobiti odgovor prilično brzo. 111 00:04:48,840 --> 00:04:54,220 >> Ako pošaljem SMS mi sat vremena prije Problem je skup zbog, sam će vas smiriti 112 00:04:54,220 --> 00:04:57,660 prema dolje i učiniti duboke vježbe disanja s vama, ali ako niste započeli, 113 00:04:57,660 --> 00:05:00,270 ste vjerojatno ne ide do kraja, i Ja stvarno ne mogu vam pomoći vani 114 00:05:00,270 --> 00:05:01,710 iako ću probati moj najbolji. 115 00:05:01,710 --> 00:05:03,920 Dakle, ja ću učiniti sve što je Mogu vam podršku. 116 00:05:03,920 --> 00:05:07,980 Slobodno doprijeti li to je u odjeljku opet, po uredovnog vremena 117 00:05:07,980 --> 00:05:09,150 ako me vide, ili čak i izvan. 118 00:05:09,150 --> 00:05:11,800 Sretan sam postaviti vrijeme za susret i rad kroz probleme 119 00:05:11,800 --> 00:05:14,410 sa ili ići preko materijala. 120 00:05:14,410 --> 00:05:15,990 Dakle, to je broj jedan, podrška. 121 00:05:15,990 --> 00:05:17,940 Učinit ću sve što sam može vam podršku. 122 00:05:17,940 --> 00:05:21,520 >> Broj dva, sastanak u sredini. 123 00:05:21,520 --> 00:05:24,760 Koliko god mi željeli da bude, ja sam nije svemoguć ili svemoćan ili 124 00:05:24,760 --> 00:05:28,410 sveznajući, tako da ja ne znam sve put, ako što radim je dobivanje 125 00:05:28,410 --> 00:05:33,410 preko, ako je način na koji ja predajem Tema vam pomaže naučiti, ili ako 126 00:05:33,410 --> 00:05:36,120 su zbunjeni na temu, ali ne neka digne ruku ili me pitajte 127 00:05:36,120 --> 00:05:37,390 ili pošaljite mi e-mail. 128 00:05:37,390 --> 00:05:42,150 Ili čak i ako, opet, su zbunjeni o nečemu na problem seta. 129 00:05:42,150 --> 00:05:44,240 Ako ne dopru do mene, Ja ne mogu znati da je sigurno. 130 00:05:44,240 --> 00:05:46,950 Ja ću obaviti moj najbolji to provjerimo vi, da je sve 131 00:05:46,950 --> 00:05:51,170 dobro ide, pokušati naučiti stvari na način koji će biti pogodan za većinu 132 00:05:51,170 --> 00:05:54,910 vaši stilovi učenja, ali ako postoji Mogu li nešto učiniti, javite mi. 133 00:05:54,910 --> 00:05:58,520 >> U tom smislu, ako želite neku pomoć s problemom skup, ja sam više 134 00:05:58,520 --> 00:05:59,700 nego sretni da vam pomoći s problemom setu. 135 00:05:59,700 --> 00:06:02,300 Mi ćemo učiniti puno da su pred drugi 136 00:06:02,300 --> 00:06:03,460 polovica tog dijela. 137 00:06:03,460 --> 00:06:06,040 No, ako niste pročitali problem postavlja natrag i nisu gledali hoda 138 00:06:06,040 --> 00:06:09,310 putem, a nisu gledali gaćice i očekujući da ću vas naučiti 139 00:06:09,310 --> 00:06:13,260 sve što je snimao online ili koji možete naći na CS50 140 00:06:13,260 --> 00:06:16,720 Studija, koja zapravo nije pošteno ja ili na drugim vršnjacima. 141 00:06:16,720 --> 00:06:20,440 142 00:06:20,440 --> 00:06:25,730 >> Dakle, molim vas, ja sam više nego sretni da vam pomoći da, ali ti dečki dobio da se nađemo u 143 00:06:25,730 --> 00:06:27,230 srednje. 144 00:06:27,230 --> 00:06:30,100 Imamo tona sredstava za što dostupan na CS50. 145 00:06:30,100 --> 00:06:31,230 Spomenuo sam neke od njih. 146 00:06:31,230 --> 00:06:32,960 Molimo iskoristiti ih. 147 00:06:32,960 --> 00:06:35,140 Ako ste zbunjeni, ja sam više nego sretni će vam pomoći da ih objasniti u 148 00:06:35,140 --> 00:06:39,290 drugi način, ali to nije fer, ako studentima se prikazati na radno vrijeme, 149 00:06:39,290 --> 00:06:42,530 nisu započeli ništa, a to je U četvrtak navečer, a oni očekuju 150 00:06:42,530 --> 00:06:45,880 TF da ih kroz svaki stvar za postavljanje problema zbog 151 00:06:45,880 --> 00:06:47,140 u podne sljedeći dan. 152 00:06:47,140 --> 00:06:48,300 Smisla? 153 00:06:48,300 --> 00:06:50,890 Opet, molimo Vas da nas susret u sredini. 154 00:06:50,890 --> 00:06:53,230 >> I na kraju, visoka očekivanja. 155 00:06:53,230 --> 00:06:58,010 Ja ću biti ocjenjivanja svatko tko je u mom dijelu, odnosno postigao svoj 156 00:06:58,010 --> 00:06:59,020 Problem seta. 157 00:06:59,020 --> 00:07:01,240 Niste vratio problema postavite nula ili jedan još. 158 00:07:01,240 --> 00:07:02,250 Ispričavamo se zbog toga. 159 00:07:02,250 --> 00:07:04,970 Trebalo nam je neko vrijeme da se konačno podmirenje dijela, a sada 160 00:07:04,970 --> 00:07:05,560 možemo početi ocjenjivanja. 161 00:07:05,560 --> 00:07:09,560 >> Ja ću ih dobiti natrag na vas što je prije moguće. 162 00:07:09,560 --> 00:07:11,890 To su neke od mojih advisees vani. 163 00:07:11,890 --> 00:07:14,150 Ja ću ih dobiti natrag na vas što je prije moguće. 164 00:07:14,150 --> 00:07:18,046 A za dva seta problema, mi ćemo biti na raspored i počet ćemo ih dobiti 165 00:07:18,046 --> 00:07:20,440 na vas vrlo brzo nakon što ih pretvoriti u. 166 00:07:20,440 --> 00:07:24,130 >> Kada se vaš problem postaviti natrag, što će dobiti rezultate, kao što znamo iz 167 00:07:24,130 --> 00:07:28,150 čitanje plan i program - točnost, Dizajn, opseg, i stil bodova. 168 00:07:28,150 --> 00:07:29,760 Također ćete dobiti komentare. 169 00:07:29,760 --> 00:07:32,160 Komentari su važnije od rezultata. 170 00:07:32,160 --> 00:07:33,780 Mislim da je sigurno reći da. 171 00:07:33,780 --> 00:07:37,930 >> Rezultati su samo broj od jedan do pet. 172 00:07:37,930 --> 00:07:38,930 Teško je čitati na one. 173 00:07:38,930 --> 00:07:40,720 Teško je poboljšanje od onih. 174 00:07:40,720 --> 00:07:44,460 Ali komentari će istaknuti određene ono što je dobro ili područja 175 00:07:44,460 --> 00:07:48,360 možete poboljšati i dati vam neke ideje za budućnost ili alternative 176 00:07:48,360 --> 00:07:49,160 načina obavljanja stvari. 177 00:07:49,160 --> 00:07:52,270 >> Dakle molim vas, molim vas, pročitajte kroz komentare. 178 00:07:52,270 --> 00:07:54,190 Stavio sam dosta vremena u ti komentari. 179 00:07:54,190 --> 00:07:57,190 Molimo Vas da pročitate kroz njih i to ne samo pomicanje prema dolje do dna 180 00:07:57,190 --> 00:08:01,890 PDF, tražiti svoj rezultat, ili otići online i pronaći svoj rezultat, a zatim ignorirati 181 00:08:01,890 --> 00:08:02,800 komentari. 182 00:08:02,800 --> 00:08:03,910 To nije kako si ide na bolje. 183 00:08:03,910 --> 00:08:06,550 To nije kako ćete povećati Vaši rezultati u konačnici, samo 184 00:08:06,550 --> 00:08:07,340 gledanjem na rezultate. 185 00:08:07,340 --> 00:08:08,760 Molimo pogledajte tih primjedbi. 186 00:08:08,760 --> 00:08:13,240 >> I uz liniju visoka očekivanja, opet, kao što sam rekao, da 187 00:08:13,240 --> 00:08:14,260 može biti postignuto od jedan do pet. 188 00:08:14,260 --> 00:08:17,120 Po dvoje, troje, i četveronoške se Velika većina rezultata 189 00:08:17,120 --> 00:08:17,940 ti si idući u biti uzimajući. 190 00:08:17,940 --> 00:08:20,180 Ones i petero su oboje jako rijetko. 191 00:08:20,180 --> 00:08:21,720 Uvijek ima stvari možemo učiniti bolje. 192 00:08:21,720 --> 00:08:23,490 Kad god sam kodirati program, postoji Ja uvijek nešto 193 00:08:23,490 --> 00:08:24,800 mogao učiniti bolje. 194 00:08:24,800 --> 00:08:28,740 >> Dakle, umjesto da kažete da se pet cijelo vrijeme o svemu i učinio 195 00:08:28,740 --> 00:08:31,960 sve savršeno, ja ne mislim da bilo od nas stvarno vjeruju da smo - ili 196 00:08:31,960 --> 00:08:34,830 nadamo se, ne učinimo sve što je usavršiti sve vrijeme. 197 00:08:34,830 --> 00:08:37,010 Dakle, nemojte se zabrinuti ako nisu dobili pet. 198 00:08:37,010 --> 00:08:40,470 Pet ne karte na, četiri ne preslikati na B, ne tri 199 00:08:40,470 --> 00:08:42,950 Ne karta na jedan C. To nije kako su rezultati rada. 200 00:08:42,950 --> 00:08:48,140 >> Kao i David je rekao mnogo puta, na Semestar je na kraju sve svoje rezultate i 201 00:08:48,140 --> 00:08:53,390 Ulaz od mene, tvoja TF, dolaze zajedno i utvrditi konačnu ocjenu za vas. 202 00:08:53,390 --> 00:08:56,760 Ali opet, to ne pet, , Četiri, B, i tako dalje. 203 00:08:56,760 --> 00:09:01,150 Tako ću imati visoka očekivanja za vas dvoje. 204 00:09:01,150 --> 00:09:03,670 Idem se očekuje velika problema seta, a ja ću dati 205 00:09:03,670 --> 00:09:05,010 li povratne informacije kao takva. 206 00:09:05,010 --> 00:09:07,430 I to neće značiti da ste će dobiti lošiju ocjenu. 207 00:09:07,430 --> 00:09:09,760 Vi se ocjenjuju u smislu vaš napredak iz tjedna 208 00:09:09,760 --> 00:09:11,260 nula do tečaja do kraja. 209 00:09:11,260 --> 00:09:17,190 >> I na kraju, u smislu high Očekivanja u klasi, volim kad 210 00:09:17,190 --> 00:09:18,460 ljudi sudjeluju. 211 00:09:18,460 --> 00:09:23,180 Ja razumijem neki ljudi osjećaju više ili manje ugodno sudjeluju. 212 00:09:23,180 --> 00:09:26,050 Drugi ljudi su sudjelovanjem Ne podizanjem ruku i 213 00:09:26,050 --> 00:09:27,320 govorimo cijelo vrijeme. 214 00:09:27,320 --> 00:09:30,570 No, mi u ovoj klasi će biti radiš puno malih problema, puno 215 00:09:30,570 --> 00:09:33,770 mini pitanja, a zatim neke Veći kodiranja probleme. 216 00:09:33,770 --> 00:09:36,760 Dakle, definitivno rade ove vježbe iz kad smo ih na vašem računalu ili na 217 00:09:36,760 --> 00:09:37,900 list papira. 218 00:09:37,900 --> 00:09:40,933 >> Ali ja ću vam dati malo vremena prije nego što se itko ikada mora odgovoriti na neka 219 00:09:40,933 --> 00:09:42,220 od pitanja koja sam pitati. 220 00:09:42,220 --> 00:09:44,930 Pa zato što će vam dati malo vremena da se razmišljati o tome, jer ćemo 221 00:09:44,930 --> 00:09:49,380 raditi stvari partnerima ponekad, Ja očekujem svima 222 00:09:49,380 --> 00:09:52,150 se bavi ponešto. 223 00:09:52,150 --> 00:09:56,030 A u nedostatku boljeg izraza, postoji vjerojatno će biti hladno zovete, koji 224 00:09:56,030 --> 00:09:59,045 je mjesto gdje će svi imati priliku razmišljati o odgovoru, a zatim 225 00:09:59,045 --> 00:10:01,150 Zvat ću na vas, a zatim reći ćete odgovor. 226 00:10:01,150 --> 00:10:05,200 >> Ne brinite ili se prepala o tome. 227 00:10:05,200 --> 00:10:08,610 Ja sam to učinio u prošlosti, a mi smo pronašli da je puno uspješniji, 228 00:10:08,610 --> 00:10:11,810 Također pročitajte obrazovni istraživanje o tome kako bi utvrdilo da li ili ne to je 229 00:10:11,810 --> 00:10:12,640 dobra taktika. 230 00:10:12,640 --> 00:10:15,790 To je vrlo korisna, pogotovo ako studentima dati vremena za razmišljanje o 231 00:10:15,790 --> 00:10:20,070 odgovore i ne bi ih samo doći ga i reći pravo isključiti šišmiš. 232 00:10:20,070 --> 00:10:22,620 Ali ako se ne osjećate ugodno odgovorim, ja sam također prilično dobar u 233 00:10:22,620 --> 00:10:25,370 osjećajući da je out, a mi se ne ide na ti mu se na licu, osobito na 234 00:10:25,370 --> 00:10:28,240 kamere, iako nitko od vi ste na kameru upravo sada. 235 00:10:28,240 --> 00:10:32,250 >> Dakle, to su norme imam. 236 00:10:32,250 --> 00:10:34,670 Još jedna stvar na tragu susreta u sredini. 237 00:10:34,670 --> 00:10:36,490 Ja ću vam dati dečki Puno poruci. 238 00:10:36,490 --> 00:10:38,310 Molim Vas, dajte mi povratne informacije, kao dobro. 239 00:10:38,310 --> 00:10:46,190 Postoji web stranica, sayat.me/cs50. 240 00:10:46,190 --> 00:10:48,380 Tako da je iskren povratne informacije. 241 00:10:48,380 --> 00:10:50,730 Ako želite ga dati u odjeljku, Ja dobiti e-mail svaki put kad se to dogodi. 242 00:10:50,730 --> 00:10:53,820 Mi ćemo uzeti pauzu u malo, pa ću gledati kroz poruci tada. 243 00:10:53,820 --> 00:10:55,970 Ako ste ikada imati bilo kakve povratne informacije, molim daj mi ga tamo. 244 00:10:55,970 --> 00:11:01,380 >> Ako mi dati povratnu informaciju o Q, koja je divno, ali to je vodič 245 00:11:01,380 --> 00:11:02,570 da ti na kraju. 246 00:11:02,570 --> 00:11:05,690 No, to će biti na kraju semestra je tako Neću biti u mogućnosti da se bilo što od toga 247 00:11:05,690 --> 00:11:08,620 povratne informacije i pretvoriti ga u poučavanju ti dečki bolje. 248 00:11:08,620 --> 00:11:11,020 Zato vas molim, ako imate bilo povratne informacije, daj mi ga. 249 00:11:11,020 --> 00:11:12,010 Volim povratne informacije. 250 00:11:12,010 --> 00:11:14,490 Povratak na FOP, dobivamo povratnu informaciju cijelo vrijeme. 251 00:11:14,490 --> 00:11:18,610 >> Možete mi dati pluses, dobre stvari, deltas, stvari koje mogu poboljšati nakon. 252 00:11:18,610 --> 00:11:20,600 Možete komentirati moje odjeće. 253 00:11:20,600 --> 00:11:24,170 To neće biti od pomoći, ali ti si Dobrodošli komentirati bilo i 254 00:11:24,170 --> 00:11:24,570 sve. 255 00:11:24,570 --> 00:11:26,280 Molimo, molim vas dajte mi povratne informacije. 256 00:11:26,280 --> 00:11:28,740 Cijenim ga puno i to puno znači za mene. 257 00:11:28,740 --> 00:11:31,760 258 00:11:31,760 --> 00:11:33,280 >> Još jedna norma, zabavno. 259 00:11:33,280 --> 00:11:34,530 Mi ćemo imati puno zabave. 260 00:11:34,530 --> 00:11:36,930 Nadam se u ovom Naravno, vi ćete imati puno zabave. 261 00:11:36,930 --> 00:11:38,780 Morat ćemo slatkiše na sekciji. 262 00:11:38,780 --> 00:11:40,040 Mi ćemo imati glazbu. 263 00:11:40,040 --> 00:11:45,510 Mi ćemo nadamo se upoznavanju jedan još nešto dobro, pa želim 264 00:11:45,510 --> 00:11:47,690 da je to zabavno, angažiranja iskustva. 265 00:11:47,690 --> 00:11:50,890 >> Znam da neki od vas su zaspali u predavanja koje ste imali ranije danas, 266 00:11:50,890 --> 00:11:53,750 pa nadam se da neće biti slučaj sada. 267 00:11:53,750 --> 00:11:55,960 A ako je to slučaj sada, samo ne hrče, jer to bi moglo 268 00:11:55,960 --> 00:11:57,580 biti uhvaćen na kameri. 269 00:11:57,580 --> 00:11:58,770 Sweet. 270 00:11:58,770 --> 00:12:04,020 Sva pitanja, komentare, ili nedoumica prije nego što sam premjestiti na oko svega što smo 271 00:12:04,020 --> 00:12:05,270 govorio o? 272 00:12:05,270 --> 00:12:08,620 273 00:12:08,620 --> 00:12:11,350 Sjajno. 274 00:12:11,350 --> 00:12:14,830 >> Tako ćemo ići u prvih polja. 275 00:12:14,830 --> 00:12:17,140 Ovaj je kako možete napraviti niz. 276 00:12:17,140 --> 00:12:18,410 Vidjeli smo to i prije. 277 00:12:18,410 --> 00:12:21,830 Imate vrstu podataka, imate Naziv, a zatim imate veličinu. 278 00:12:21,830 --> 00:12:24,430 Upravo ovdje, sam napraviti dva polja. 279 00:12:24,430 --> 00:12:30,360 Prvi je niz znakova, i to ima 26 mjesta. 280 00:12:30,360 --> 00:12:33,790 Drugi je niz rezultati, a ona ima tri 281 00:12:33,790 --> 00:12:35,390 mjesta za tri cijela broja. 282 00:12:35,390 --> 00:12:35,827 Da? 283 00:12:35,827 --> 00:12:38,200 >> STUDENT: Jesu li sve te slajdove Dostupno negdje za nas? 284 00:12:38,200 --> 00:12:38,850 >> JASON Hirschhorna: Velika pitanje. 285 00:12:38,850 --> 00:12:40,650 Pitanje je bilo, sve su to klizi dostupni? 286 00:12:40,650 --> 00:12:40,920 Da. 287 00:12:40,920 --> 00:12:43,420 Sve ove slajdove će biti dostupan, iu budućnosti, ja ću ih poslati 288 00:12:43,420 --> 00:12:44,640 što prije sekciji. 289 00:12:44,640 --> 00:12:47,340 Ali danas, jer je to prva tjedno, imali smo kasno početi. 290 00:12:47,340 --> 00:12:49,675 Tako obično, da ćete dobiti ove slajdove, ali oni će biti dostupni online i 291 00:12:49,675 --> 00:12:52,420 Ja ću ih e-poštom na vas odmah nakon klasi. 292 00:12:52,420 --> 00:12:54,140 Bilo koja druga pitanja? 293 00:12:54,140 --> 00:13:01,330 >> Pa opet, nizovi su kutije, zbog nedostatka bolja riječ, da imaju više 294 00:13:01,330 --> 00:13:06,420 elementi jedne vrste podataka, a oni su jedna pored druge u memoriju. 295 00:13:06,420 --> 00:13:11,370 I tako opet, to je način kako možete napraviti dvije vrste polja. 296 00:13:11,370 --> 00:13:15,090 >> Dakle, nakon što ste napravili svoj niz s da je prva linija - int rezultati, nosač 297 00:13:15,090 --> 00:13:17,430 tri, u neposrednoj blizini zagrada - što želim ga započeti. 298 00:13:17,430 --> 00:13:19,050 Želite staviti neke vrijednosti u njemu. 299 00:13:19,050 --> 00:13:24,660 A to je, kako se staviti neke vrijednosti u postoji, samo odabirom indeksom i 300 00:13:24,660 --> 00:13:25,670 piše broj. 301 00:13:25,670 --> 00:13:27,130 Idemo crtati ovaj na brodu. 302 00:13:27,130 --> 00:13:28,270 Može li svatko vidjeti? 303 00:13:28,270 --> 00:13:29,030 Svatko može vidjeti. 304 00:13:29,030 --> 00:13:30,790 Sweet. 305 00:13:30,790 --> 00:13:36,550 >> Tako da će to biti moj Niz zove ocjenu. 306 00:13:36,550 --> 00:13:37,730 Kao što možete vidjeti, to je veličine tri. 307 00:13:37,730 --> 00:13:39,210 Postoje tri kutije u postoji. 308 00:13:39,210 --> 00:13:43,120 Svatko može stati ono što vrsta podataka tipa? 309 00:13:43,120 --> 00:13:43,790 >> STUDENT: Integer. 310 00:13:43,790 --> 00:13:45,250 >> JASON Hirschhorna: cijeli broj u ovom jednom. 311 00:13:45,250 --> 00:13:48,790 Napisali smo int rezultate, i prva riječ je tip podataka koji će 312 00:13:48,790 --> 00:13:50,910 idu u kutije u tom polju. 313 00:13:50,910 --> 00:13:52,160 Dakle, ja mogu stati tri. 314 00:13:52,160 --> 00:13:54,880 315 00:13:54,880 --> 00:13:57,000 Zašto imam nula do tamo na brodu? 316 00:13:57,000 --> 00:13:59,240 Zašto to kažem ocjena nula jednak 1? 317 00:13:59,240 --> 00:14:02,090 318 00:14:02,090 --> 00:14:03,180 Podsjeti me na svoje ime. 319 00:14:03,180 --> 00:14:03,470 >> STUDENT: Kurt. 320 00:14:03,470 --> 00:14:04,070 >> JASON Hirschhorna: Kurt. 321 00:14:04,070 --> 00:14:04,480 >> STUDENT: Da. 322 00:14:04,480 --> 00:14:04,920 >> JASON Hirschhorna: Zašto? 323 00:14:04,920 --> 00:14:07,230 >> STUDENT: Zbog prvi indeks je nuli, počinjemo brojati od nule. 324 00:14:07,230 --> 00:14:08,480 >> JASON Hirschhorna: Dakle, počinjemo računajući na nuli. 325 00:14:08,480 --> 00:14:09,580 To je točno. 326 00:14:09,580 --> 00:14:12,340 To je zbunjujuće i dio volja putovanje da se, pogotovo kad si 327 00:14:12,340 --> 00:14:14,900 pokušavajući ponoviti kroz polja, što ćemo napraviti u malo. 328 00:14:14,900 --> 00:14:15,980 Mi početi računajući na nuli. 329 00:14:15,980 --> 00:14:19,170 Dakle, ako želim da se odnosi na prvi box, to nije jedna kutija. 330 00:14:19,170 --> 00:14:22,290 Nažalost, to je kutija nuli. 331 00:14:22,290 --> 00:14:26,460 Drugi je jedan okvir, a to slučaju, treća je okvir dva. 332 00:14:26,460 --> 00:14:28,700 >> Što je s tri kutije? 333 00:14:28,700 --> 00:14:30,670 Gdje je kutija tri? 334 00:14:30,670 --> 00:14:34,750 Ili ako želim napraviti rezultate, nosač tri, u neposrednoj blizini zagrada, što je to? 335 00:14:34,750 --> 00:14:37,650 336 00:14:37,650 --> 00:14:39,760 Dakle, kazao je znak za prazno. 337 00:14:39,760 --> 00:14:41,600 Bilo koji drugi misli? 338 00:14:41,600 --> 00:14:44,590 Što je ocjena nosač tri nosač? 339 00:14:44,590 --> 00:14:48,045 >> UČENIK: On zapravo ne postoji, jer samo definirati kao ocjenama, 340 00:14:48,045 --> 00:14:49,370 Nosač tri. 341 00:14:49,370 --> 00:14:51,400 >> JASON Hirschhorna: Dakle, vi kažete što zapravo ne postoji. 342 00:14:51,400 --> 00:14:54,230 U nekim slučajevima, kada imamo posla žice, uglavnom ćemo staviti null 343 00:14:54,230 --> 00:14:54,790 znak na kraju. 344 00:14:54,790 --> 00:14:56,100 Mi ćemo doći do toga drugo. 345 00:14:56,100 --> 00:15:01,020 No, u ovom slučaju, postoji Nema trećeg box ovdje. 346 00:15:01,020 --> 00:15:06,390 Tako posljednja kutija u svakom polju Veličina je minus 1. 347 00:15:06,390 --> 00:15:11,310 Dakle, ako imamo niz veličine n, prva kutija je na nuli, posljednja je 348 00:15:11,310 --> 00:15:12,700 na n minus jedan. 349 00:15:12,700 --> 00:15:14,970 I u ovom slučaju, to ne postoji. 350 00:15:14,970 --> 00:15:17,970 Ima nešto ovdje u memorije, ali to nije naša. 351 00:15:17,970 --> 00:15:18,460 Mi ne posjedujemo. 352 00:15:18,460 --> 00:15:19,570 Nismo pitati za to. 353 00:15:19,570 --> 00:15:22,606 Dakle, ako ćemo pokušati pristupiti, što ćemo učiniti malo, vjerojatno ćeš 354 00:15:22,606 --> 00:15:24,970 uvaliti u nevolje. 355 00:15:24,970 --> 00:15:29,180 >> U tom slučaju, ja sam inicijalizacije My polje s tri varijable. 356 00:15:29,180 --> 00:15:36,195 Mi smo stavljanjem jedan u okvir nula, dva u polju jedan, i tri u okviru dva. 357 00:15:36,195 --> 00:15:39,280 Da li itko ima bilo kakvih pitanja O inicijalizacije niz? 358 00:15:39,280 --> 00:15:44,540 359 00:15:44,540 --> 00:15:46,970 >> Tako smo o to upravo sada. 360 00:15:46,970 --> 00:15:52,725 Rezultati, tri nosača, u neposrednoj blizini zagrada, da ne postoji. 361 00:15:52,725 --> 00:15:58,130 Mi smo nula indeksirani u računalnoj znanosti, tako da počnemo brojati od nule. 362 00:15:58,130 --> 00:16:01,860 Posljednji box dostupni nama, to je Treća kutija, ali to se zove box 363 00:16:01,860 --> 00:16:03,110 broj dva. 364 00:16:03,110 --> 00:16:05,790 365 00:16:05,790 --> 00:16:09,710 >> Tamo dolje, ovo je alternativa način inicijalizacije polja. 366 00:16:09,710 --> 00:16:13,410 Dakle, umjesto da stvara niz na jednom linija, punjenje prvu kutiju, a zatim 367 00:16:13,410 --> 00:16:17,070 Drugi okvir, zatim treći okvir možete učiniti sve u jednom retku. 368 00:16:17,070 --> 00:16:19,040 Dakle, u toj liniji, oba polja. 369 00:16:19,040 --> 00:16:23,460 To stvara isti kao točan niz ono što smo stvorili ovdje, ali to 370 00:16:23,460 --> 00:16:24,710 Upravo se to u jednoj liniji. 371 00:16:24,710 --> 00:16:29,740 372 00:16:29,740 --> 00:16:31,360 >> Sada smo stvorili našu lepezu. 373 00:16:31,360 --> 00:16:34,100 Obično kada stvorite niz, što Želite učiniti nešto s njim, je li 374 00:16:34,100 --> 00:16:38,430 koji je to ispuniti ili dobiti stvari iz nje te ih ispisati na zaslonu. 375 00:16:38,430 --> 00:16:42,270 U ovom slučaju, idemo kroz naše rezultati polje, koje inicijaliziraju se na 376 00:16:42,270 --> 00:16:44,740 prvi red do ovdje u sivoj boji. 377 00:16:44,740 --> 00:16:49,600 A onda u drugom redu, počinjemo Ponavljanje kroz niz. 378 00:16:49,600 --> 00:16:52,640 Da li itko ima bilo kakvih pitanja u vezi struktura za petlju? 379 00:16:52,640 --> 00:16:55,250 380 00:16:55,250 --> 00:16:56,400 >> Dakle, ovo je za petlju. 381 00:16:56,400 --> 00:16:59,530 Mi imamo početni uvjet, a zatim naš konačni uvjet, a zatim smo 382 00:16:59,530 --> 00:17:01,160 iteraciju, I, svake petlje. 383 00:17:01,160 --> 00:17:05,579 I u vitičastim zagradama u to za petlje, što će se dogoditi ako su za pokretanje 384 00:17:05,579 --> 00:17:06,290 ovaj program? 385 00:17:06,290 --> 00:17:10,410 Može li mi netko reći što bi dobili? 386 00:17:10,410 --> 00:17:11,589 [? Matu? ?] 387 00:17:11,589 --> 00:17:13,819 >> Matu: Ispišite sve bodove na svakoj liniji. 388 00:17:13,819 --> 00:17:14,900 To će ispisati svaku ocjenu na zasebnoj liniji. 389 00:17:14,900 --> 00:17:16,300 >> JASON Hirschhorna: Što je točno će se ispisivati? 390 00:17:16,300 --> 00:17:19,790 >> STUDENT: To će ispisati jedan, zatim dva, zatim tri. 391 00:17:19,790 --> 00:17:20,235 >> JASON Hirschhorna: Točno. 392 00:17:20,235 --> 00:17:23,490 To će ispisati jedan, zatim dva, zatim tri, svaki na odvojenim linijama, jer 393 00:17:23,490 --> 00:17:27,810 idemo kroz polje, a vi ćete vidim da drugi, printf 394 00:17:27,810 --> 00:17:29,275 Izjava, rezultati i. 395 00:17:29,275 --> 00:17:32,880 Dakle, na prvom kolu kroz naše za petlje, i jednaka nuli, što znači da smo 396 00:17:32,880 --> 00:17:34,640 dobivanje vrijednosti na nula bodova - 397 00:17:34,640 --> 00:17:36,900 koja, ako se vratimo u Dijagram naš, jedan je - 398 00:17:36,900 --> 00:17:38,630 i popunjavanje - 399 00:17:38,630 --> 00:17:39,700 Oh, ona kaže c. 400 00:17:39,700 --> 00:17:41,680 To bi trebao biti% d. 401 00:17:41,680 --> 00:17:43,970 Ja ću to popraviti u malo kada I ruka koja se s vama. 402 00:17:43,970 --> 00:17:48,670 No, mi smo predstavljajući cijeli broj tako da trebao biti% d ovdje, ne% c. 403 00:17:48,670 --> 00:17:50,340 Što je% c za? 404 00:17:50,340 --> 00:17:50,790 >> STUDENT: Karakter. 405 00:17:50,790 --> 00:17:52,680 >> JASON Hirschhorna: Karakter, točno. 406 00:17:52,680 --> 00:17:53,690 Što je drugi? 407 00:17:53,690 --> 00:17:56,260 Ako ne želite raditi za% d cijeli broj, što još možete učiniti? 408 00:17:56,260 --> 00:17:57,000 >> STUDENT: ja. 409 00:17:57,000 --> 00:17:59,180 >> JASON Hirschhorna: ja%, točno. 410 00:17:59,180 --> 00:18:01,660 Dakle, bilo kakva pitanja o iterating kroz niz? 411 00:18:01,660 --> 00:18:05,500 412 00:18:05,500 --> 00:18:07,800 Dakle, što se događa ako smo to učinili? 413 00:18:07,800 --> 00:18:10,290 Umjesto da radi i manji od tri, što trebam je manje 414 00:18:10,290 --> 00:18:11,390 od ili jednak tri. 415 00:18:11,390 --> 00:18:13,420 Što se događa kada smo pokrenuti ovaj kod? 416 00:18:13,420 --> 00:18:17,510 417 00:18:17,510 --> 00:18:18,940 Da, Annie? 418 00:18:18,940 --> 00:18:22,030 >> STUDENT: Oni će ispisati čudna stvar na četvrtoj liniji. 419 00:18:22,030 --> 00:18:23,850 >> JASON Hirschhorna: Pa što si rekao, to je će se ispisati čudnih stvari na 420 00:18:23,850 --> 00:18:24,390 Četvrta linija? 421 00:18:24,390 --> 00:18:25,750 Ima li netko odgovor na njezino pitanje? 422 00:18:25,750 --> 00:18:28,940 423 00:18:28,940 --> 00:18:33,160 Dakle, izgledi su da kada možemo doći do - 424 00:18:33,160 --> 00:18:36,700 tako da se na četvrtom kolu kroz naše za petlje, baš kao što ste mislili, Annie, 425 00:18:36,700 --> 00:18:39,430 to će biti rezultati nosač tri, koja su smo već shvatili ne 426 00:18:39,430 --> 00:18:41,990 postoje, a mi ćemo pokušati i pristup da ga ispisati 427 00:18:41,990 --> 00:18:43,350 out, koristite ga na neki način. 428 00:18:43,350 --> 00:18:46,060 Dakle, računalo će vjerojatno ljutiti na nas. 429 00:18:46,060 --> 00:18:46,760 Ti si upravo pravo. 430 00:18:46,760 --> 00:18:48,830 >> To bi moglo zatvoriti program uopce. 431 00:18:48,830 --> 00:18:52,222 To bi moglo ispisati nešto stvarno čudno. 432 00:18:52,222 --> 00:18:53,420 Ne mogu sa sigurnošću reći. 433 00:18:53,420 --> 00:18:56,210 Tečajevi su to ćete vjerojatno dobiti ljut na ti i samo prestati odmah. 434 00:18:56,210 --> 00:19:00,100 >> Ali to je česta pogreška da ćete imati gdje si samo off po jedan u 435 00:19:00,100 --> 00:19:05,110 na kraju, a to je bug koji će ti boljka tijekom svoje kodiranje. 436 00:19:05,110 --> 00:19:09,350 437 00:19:09,350 --> 00:19:14,150 Jedan od načina volim raditi samo na ploču, proći kroz svaku iteraciju 438 00:19:14,150 --> 00:19:18,190 od petlje na ruci ili na papiru vidjeti što se događa, a onda 439 00:19:18,190 --> 00:19:20,440 općenito shvaćaju, oh čekati, nisam trebao otići na manje od ili 440 00:19:20,440 --> 00:19:20,870 jednak tri. 441 00:19:20,870 --> 00:19:24,730 Trebao sam se zaustavio na dva, što je što će se dogoditi ako vaše stanje je manje 442 00:19:24,730 --> 00:19:26,206 od tri. 443 00:19:26,206 --> 00:19:29,120 Sva pitanja dosad? 444 00:19:29,120 --> 00:19:31,010 Sweet. 445 00:19:31,010 --> 00:19:33,360 >> Dakle, svi vi imate svoje računalo otvoreno. 446 00:19:33,360 --> 00:19:36,760 Mi ćemo vam dati dva i pedeset osam minuta za napisati program koji 447 00:19:36,760 --> 00:19:40,460 stvara niz brojeva s jednim kroz pet, a zatim ispisuje svaki 448 00:19:40,460 --> 00:19:41,720 broj u novom retku. 449 00:19:41,720 --> 00:19:44,330 450 00:19:44,330 --> 00:19:46,000 A ako imate bilo kakvih pitanja, neka digne ruku. 451 00:19:46,000 --> 00:19:48,140 Sretan sam doći. 452 00:19:48,140 --> 00:19:50,630 Kao što sam rekao, uzmimo tri minute pisati ovo. 453 00:19:50,630 --> 00:20:41,300 454 00:20:41,300 --> 00:20:45,110 Jesu li svi u redu ako idem na novi prozor i zatvoriti ovo? 455 00:20:45,110 --> 00:22:13,420 456 00:22:13,420 --> 00:22:15,520 >> Žao mi je ako niste imali priliku do kraja, ali mi ćemo to učiniti 457 00:22:15,520 --> 00:22:17,310 zajedno upravo sada. 458 00:22:17,310 --> 00:22:23,640 Tako se na ekranu, ja sam # uključiti cs50.h, # include stdio.h. 459 00:22:23,640 --> 00:22:26,090 Može netko reći mene što one dvije linije učiniti? 460 00:22:26,090 --> 00:22:32,250 461 00:22:32,250 --> 00:22:33,155 Michael? 462 00:22:33,155 --> 00:22:40,030 >> STUDENT: Oni uključuju knjižnice da CS50 je i da Steve ima 463 00:22:40,030 --> 00:22:44,210 spremiti za korištenje u učiniti vaš život lakšim. 464 00:22:44,210 --> 00:22:46,820 >> JASON Hirschhorna: Pa rekao si da uključuju knjižnice, jednu koja CS50 465 00:22:46,820 --> 00:22:51,230 je, cs50.h, i onaj koji je samo standardni, dolazi s 466 00:22:51,230 --> 00:22:53,510 C paket, stdio.h. 467 00:22:53,510 --> 00:22:54,890 Što misliš uključuju knjižnice, iako? 468 00:22:54,890 --> 00:22:55,770 Možete li biti malo precizniji? 469 00:22:55,770 --> 00:23:01,180 >> STUDENT: To čini tako da možete koristiti određene riječi koda imati 470 00:23:01,180 --> 00:23:05,710 funkcionirati dogoditi bez da moraju ići i napraviti funkcije c sebe. 471 00:23:05,710 --> 00:23:08,730 >> JASON Hirschhorna: Može li daj mi jedan primjer? 472 00:23:08,730 --> 00:23:11,160 >> STUDENT: Kao printf jedan je možete koristiti. 473 00:23:11,160 --> 00:23:11,860 >> JASON Hirschhorna: printf. 474 00:23:11,860 --> 00:23:14,680 Dakle, kazao je printf je jedan od onih Funkcije u kojoj umjesto da 475 00:23:14,680 --> 00:23:19,840 printf napisati sami, printf je uključeno zapravo u stdio.h, tako da 476 00:23:19,840 --> 00:23:22,010 Možete jednostavno ga koristiti i pretpostaviti da će raditi. 477 00:23:22,010 --> 00:23:28,270 U stdio.h, ako otvorila tu datoteku, bi se uključuju kako printf 478 00:23:28,270 --> 00:23:31,620 radovi, sve kod za printf? 479 00:23:31,620 --> 00:23:33,105 Zašto se trese glavu? 480 00:23:33,105 --> 00:23:35,710 >> STUDENT: Zbog header file jednostavno uključuje funkcije deklaraciju. 481 00:23:35,710 --> 00:23:36,400 >> JASON Hirschhorna: Savršeno točno. 482 00:23:36,400 --> 00:23:39,680 Header file jednostavno uključuje Funkcija deklaraciju. 483 00:23:39,680 --> 00:23:42,950 Tako je u osnovi, kada se prikupi te, Provjerite pogodio Count, koji ćemo učiniti u 484 00:23:42,950 --> 00:23:48,070 Drugi, prevodilac zna da ako koristite printf, printf postoji. 485 00:23:48,070 --> 00:23:49,370 To će se definirati negdje. 486 00:23:49,370 --> 00:23:51,200 To nije problem za što ga koristite. 487 00:23:51,200 --> 00:23:55,490 A onda kasnije, to će uključivati nule i jedinice koje zapravo sadrže 488 00:23:55,490 --> 00:23:58,360 printf-a provedba i spojite ih s kodom. 489 00:23:58,360 --> 00:24:01,935 Kako bi bili sigurni da uključuje nule i jedinice za, recimo, dobili niz? 490 00:24:01,935 --> 00:24:05,670 491 00:24:05,670 --> 00:24:07,210 >> STUDENT: Dobiti niz u cs50.h. 492 00:24:07,210 --> 00:24:07,830 >> JASON Hirschhorna: Točno. 493 00:24:07,830 --> 00:24:11,110 Tako da se kaže da postoji niz, Funkcija deklaraciju. 494 00:24:11,110 --> 00:24:15,410 Ali onda su nule i jedinice, binarni datoteka koja zapravo uključuje 495 00:24:15,410 --> 00:24:17,370 Provedba dobili string? 496 00:24:17,370 --> 00:24:19,310 Kako bi bili sigurni da ide sa svojim programom? 497 00:24:19,310 --> 00:24:23,220 >> STUDENT: Pass spojnici u argument naredbenog retka. 498 00:24:23,220 --> 00:24:25,430 >> JASON Hirschhorna: Pass spojnici u argument naredbenog retka. 499 00:24:25,430 --> 00:24:26,700 Kako ćete to učiniti? 500 00:24:26,700 --> 00:24:29,730 >> STUDENT: To je l-linije u Dong 501 00:24:29,730 --> 00:24:30,480 >> JASON Hirschhorna: Savršeno točno. 502 00:24:30,480 --> 00:24:32,900 Kažete-l CS50, zar ne? 503 00:24:32,900 --> 00:24:34,940 To uključuje i one i nula. 504 00:24:34,940 --> 00:24:36,460 >> STUDENT: Ali ne bi da je za tebe, zar ne? 505 00:24:36,460 --> 00:24:37,010 >> JASON Hirschhorna: Točno. 506 00:24:37,010 --> 00:24:40,390 Provjerite da li to za vas, ali na kraju, nećete imati napraviti, ili 507 00:24:40,390 --> 00:24:43,220 ćete morati napraviti Napravi na svoju ruku, tako da je 508 00:24:43,220 --> 00:24:43,940 dobra stvar za zapamtiti. 509 00:24:43,940 --> 00:24:47,350 Ako ste bili će se koristiti jedan od njih ostale knjižnice, ne samo da imate 510 00:24:47,350 --> 00:24:49,490 pisati # uključiti i zatim knjižnice. 511 00:24:49,490 --> 00:24:51,420 Također morate ga povezati u. 512 00:24:51,420 --> 00:24:54,480 A te dvije stvari su drugačije. L-CS50 je drugačiji 513 00:24:54,480 --> 00:24:59,260 od # uključiti cs50.h. 514 00:24:59,260 --> 00:25:02,870 >> Onda imamo int main void vitičastim zagradama, a sad idemo u kodu 515 00:25:02,870 --> 00:25:03,590 Glavni unutra. 516 00:25:03,590 --> 00:25:07,090 U prvom redu moram ovdje je komentar kako kaže, stvoriti niz 517 00:25:07,090 --> 00:25:08,820 s Ints od jedan do pet. 518 00:25:08,820 --> 00:25:12,600 Što je dobra riječ za opisati ono što sam upravo sada na ekranu, jednostavno 519 00:25:12,600 --> 00:25:14,170 komentari unutar glavna? 520 00:25:14,170 --> 00:25:15,722 Što smo to nazvali? 521 00:25:15,722 --> 00:25:16,820 >> STUDENT: pseudocode. 522 00:25:16,820 --> 00:25:17,840 >> JASON Hirschhorna: pseudocode. 523 00:25:17,840 --> 00:25:18,420 Hvala vam, Jeffrey. 524 00:25:18,420 --> 00:25:19,540 To je točno. 525 00:25:19,540 --> 00:25:20,005 Pseudocode. 526 00:25:20,005 --> 00:25:22,854 Jeste vi vidjeli pseudocode prije? 527 00:25:22,854 --> 00:25:28,340 Podignite ruku ako ste već koristili pseudocode prije problema postaviti jednu. 528 00:25:28,340 --> 00:25:29,400 Oko polovice vas. 529 00:25:29,400 --> 00:25:32,700 >> Ja bih visoko preporučiti koristeći pseudocode razbiti probleme u 530 00:25:32,700 --> 00:25:35,210 manje, lako odgristi komada. 531 00:25:35,210 --> 00:25:38,630 Isto tako, ako to učinite na pseudocode, što imaju svoje komentare već uvelike 532 00:25:38,630 --> 00:25:40,760 izgrađen, tako da ne morate vratiti i pokušati shvatiti 533 00:25:40,760 --> 00:25:42,450 ono što ste radili. 534 00:25:42,450 --> 00:25:44,730 Dakle, može netko mi dati ovu prvu liniju stvoriti niz s jednim Ints 535 00:25:44,730 --> 00:25:45,980 kroz pet? 536 00:25:45,980 --> 00:25:48,700 537 00:25:48,700 --> 00:25:49,130 Vi? 538 00:25:49,130 --> 00:25:53,350 >> STUDENT: Interesi i tada možete nazvati bez obzira na broj, a zatim trg 539 00:25:53,350 --> 00:25:54,830 Nosač pet. 540 00:25:54,830 --> 00:25:57,820 >> JASON Hirschhorna: Dakle int brojeva, uglata zagrada pet. 541 00:25:57,820 --> 00:25:59,160 >> STUDENT: Jednako, i zatim vitičastim zagradama. 542 00:25:59,160 --> 00:26:00,830 >> JASON Hirschhorna: Jednako, vitičastim zagradama. 543 00:26:00,830 --> 00:26:01,830 >> Student: jedan, dva, tri, četiri. 544 00:26:01,830 --> 00:26:05,566 >> JASON Hirschhorna: Jedan, dva, tri, četiri, pet. 545 00:26:05,566 --> 00:26:07,390 >> STUDENT: I ​​onda vitičastim zagradama , a zatim zarez. 546 00:26:07,390 --> 00:26:09,240 >> JASON Hirschhorna: A kovrčava aparatić i zarezom. 547 00:26:09,240 --> 00:26:10,330 Izvrsno. 548 00:26:10,330 --> 00:26:12,210 Ispiši svaki int na novoj liniji. 549 00:26:12,210 --> 00:26:17,140 Može li netko dati ja da je broj, molim vas? 550 00:26:17,140 --> 00:26:17,530 [? Matu? ?] 551 00:26:17,530 --> 00:26:18,560 Samo naprijed. 552 00:26:18,560 --> 00:26:20,440 >> STUDENT: Za ( 553 00:26:20,440 --> 00:26:21,750 >> JASON Hirschhorna: Za ( 554 00:26:21,750 --> 00:26:23,740 >> STUDENT: int i = 0 555 00:26:23,740 --> 00:26:26,070 >> JASON Hirschhorna: int i = 0 556 00:26:26,070 --> 00:26:28,190 >> STUDENT: Točka-zarez i manji od pet. 557 00:26:28,190 --> 00:26:31,680 >> JASON Hirschhorna: Točka-zarez, i manje od 5. 558 00:26:31,680 --> 00:26:33,600 >> STUDENT: Točka-zarez, ja + +. 559 00:26:33,600 --> 00:26:35,140 >> JASON Hirschhorna: Točka-zarez, ja + +. 560 00:26:35,140 --> 00:26:37,720 >> STUDENT: Zatvorene zagrade, onda otvoren braće. 561 00:26:37,720 --> 00:26:39,410 >> JASON Hirschhorna: Zatvorena zagrada i dvije aparatić. 562 00:26:39,410 --> 00:26:40,510 Unutar aparatić? 563 00:26:40,510 --> 00:26:47,640 >> STUDENT: I ​​onda printf "% d / n" 564 00:26:47,640 --> 00:26:48,695 >> JASON Hirschhorna: Žao nam je, drži se. 565 00:26:48,695 --> 00:26:52,330 Printf "% d / n, zatvorena citat. 566 00:26:52,330 --> 00:26:55,980 >> STUDENT: I ​​onda zatvorena citat, zarez, računati, nosač ja. 567 00:26:55,980 --> 00:26:58,350 >> JASON Hirschhorna: Zarez, računati, nosač ja. 568 00:26:58,350 --> 00:26:59,970 >> STUDENT: Žao nam je, brojevi nosač ja. 569 00:26:59,970 --> 00:27:01,416 >> JASON Hirschhorna: Brojevi, nosač ja. 570 00:27:01,416 --> 00:27:03,200 >> STUDENT: Žao nam je. 571 00:27:03,200 --> 00:27:04,750 A onda zatvorena zagrada, zarez. 572 00:27:04,750 --> 00:27:07,156 >> JASON Hirschhorna: Zatvorena zagrade, točka i zarez. 573 00:27:07,156 --> 00:27:08,680 Ja ću spasiti da. 574 00:27:08,680 --> 00:27:12,670 Idemo napraviti računati. 575 00:27:12,670 --> 00:27:14,742 A kako ću pokrenuti računati? 576 00:27:14,742 --> 00:27:16,470 >> STUDENT: Kosa crtica prema natrag. 577 00:27:16,470 --> 00:27:17,180 >> STUDENT: Dot kosu crtu - 578 00:27:17,180 --> 00:27:18,050 >> JASON Hirschhorna:. / Brojati, točno. 579 00:27:18,050 --> 00:27:19,380 Hvala Vam. . / Brojati. 580 00:27:19,380 --> 00:27:21,060 Jedan, dva, tri, četiri, pet na novim linijama. 581 00:27:21,060 --> 00:27:22,110 Izgleda kao da je radio. 582 00:27:22,110 --> 00:27:23,200 Da, Noah? 583 00:27:23,200 --> 00:27:26,660 >> STUDENT: Također se može učiniti manje ili jednaka četiri, kao što su i manji od 584 00:27:26,660 --> 00:27:27,630 ili jednako četiri? 585 00:27:27,630 --> 00:27:31,190 Ima li prednost radi manje od pet, ili samo drugačiji način 586 00:27:31,190 --> 00:27:31,610 to piše? 587 00:27:31,610 --> 00:27:35,280 >> JASON Hirschhorna: Dakle, pitanje je što mogao učiniti i manja ili 588 00:27:35,280 --> 00:27:37,450 jednaka četiri umjesto i je manje od pet. 589 00:27:37,450 --> 00:27:38,935 Kamo sreće da su radili isto? 590 00:27:38,935 --> 00:27:39,760 >> STUDENT: To bi trebao. 591 00:27:39,760 --> 00:27:39,860 >> JASON Hirschhorna: Da. 592 00:27:39,860 --> 00:27:41,660 To potpuno bi raditi isto. 593 00:27:41,660 --> 00:27:44,780 Stilski, to je općenito manje od, a vi ćete vidjeti u drugom kada je 594 00:27:44,780 --> 00:27:48,160 radimo žice, možete koristiti nešto zove strlen, koji ste vidjeli 595 00:27:48,160 --> 00:27:50,380 prije, kako bi dobili duljinu od niza. 596 00:27:50,380 --> 00:27:54,090 I ne možete učiniti manje nego ili jednaka strlen. 597 00:27:54,090 --> 00:27:56,500 Ti bi mogao napraviti manje ili jednaka strlen minus jedan. 598 00:27:56,500 --> 00:27:59,260 Dakle, to je samo ljepše to manje od strlen. 599 00:27:59,260 --> 00:28:00,240 Da? 600 00:28:00,240 --> 00:28:03,270 >> STUDENT: I ​​u stvarni kvizove, učinite moramo dati komentare na našim 601 00:28:03,270 --> 00:28:04,620 Kod te? 602 00:28:04,620 --> 00:28:06,130 >> JASON Hirschhorna: Pitanje je u kvizovima, to vam 603 00:28:06,130 --> 00:28:07,760 morati dati komentare? 604 00:28:07,760 --> 00:28:12,050 Dakle, mi ćemo govoriti više o kvizova kada oni dolaze, ali općenito, dobar 605 00:28:12,050 --> 00:28:14,530 Pravilo je kad si pisanja koda, daju komentare. 606 00:28:14,530 --> 00:28:18,130 Ako ste dobili krivu, ali se kod komentirati prava, možda ćete dobiti neke 607 00:28:18,130 --> 00:28:22,280 Kreditna i od mene ako sam bio klasiranje li na problem seta ili na kvizu. 608 00:28:22,280 --> 00:28:24,660 Dakle, komentari su uvijek Dobar pružiti. 609 00:28:24,660 --> 00:28:25,040 Sweet. 610 00:28:25,040 --> 00:28:25,460 Točka. 611 00:28:25,460 --> 00:28:26,720 Odličan posao. 612 00:28:26,720 --> 00:28:28,570 Idemo dalje. 613 00:28:28,570 --> 00:28:29,920 >> Strings. 614 00:28:29,920 --> 00:28:30,630 Strings. 615 00:28:30,630 --> 00:28:31,730 Vidjeli smo to prije u predavanju. 616 00:28:31,730 --> 00:28:33,390 Ovo raznio moj um kad sam Prvi pronašao ovo. 617 00:28:33,390 --> 00:28:37,240 To vjerojatno nije raznijeti itko pamet ovdje, ali to je u redu. 618 00:28:37,240 --> 00:28:41,260 >> Nizovi su nizovi znakova, a završili su sa, kao što je rekao ranije, 619 00:28:41,260 --> 00:28:45,710 null terminator, koji je li to / 0 znakova. 620 00:28:45,710 --> 00:28:47,740 Ako ćemo povući niz na pansion, mi ćemo ga privući više ovdje. 621 00:28:47,740 --> 00:28:53,080 622 00:28:53,080 --> 00:28:56,420 Pa koliko je ovaj niz? 623 00:28:56,420 --> 00:28:56,680 Žao nam je. 624 00:28:56,680 --> 00:28:57,660 Koliko je ovaj niz? 625 00:28:57,660 --> 00:28:57,910 >> STUDENT: [nečujno]. 626 00:28:57,910 --> 00:28:59,010 >> JASON Hirschhorna: Četiri? 627 00:28:59,010 --> 00:28:59,880 Zašto je četiri? 628 00:28:59,880 --> 00:29:02,240 >> STUDENT: Zbog Peto je mjesto je za null karakter. 629 00:29:02,240 --> 00:29:04,070 >> JASON Hirschhorna: Dakle Peto je mjesto je za null karakter. 630 00:29:04,070 --> 00:29:07,130 Dakle, ako mi je to trčanje na strlen toga, to će mi dati četiri. 631 00:29:07,130 --> 00:29:07,850 Ispravite. 632 00:29:07,850 --> 00:29:11,640 A niz, iako, ako su za započeti ovaj niz, koliko mjesta 633 00:29:11,640 --> 00:29:13,444 bih ja moram tražiti? 634 00:29:13,444 --> 00:29:13,821 >> STUDENT: Pet. 635 00:29:13,821 --> 00:29:14,200 >> JASON Hirschhorna: Pet. 636 00:29:14,200 --> 00:29:17,650 Ja bi pitati za pet, a ja mogu Samo stavite četiri znaka ovdje 637 00:29:17,650 --> 00:29:19,750 jer trebam staviti taj null terminator na kraju. 638 00:29:19,750 --> 00:29:25,260 Tako ćemo pisati u "ohai" i mu je nula terminatora u na kraju. 639 00:29:25,260 --> 00:29:31,820 640 00:29:31,820 --> 00:29:34,940 Mi ćemo reći da je ovo string a jednako je ovo. 641 00:29:34,940 --> 00:29:36,610 Što je s nosača nula? 642 00:29:36,610 --> 00:29:40,210 643 00:29:40,210 --> 00:29:41,550 Nosač je nula, Annie? 644 00:29:41,550 --> 00:29:41,950 >> STUDENT: O. 645 00:29:41,950 --> 00:29:45,400 >> JASON Hirschhorna: O, točno. Nosač je jedan? 646 00:29:45,400 --> 00:29:48,200 S pet nosač? 647 00:29:48,200 --> 00:29:52,670 648 00:29:52,670 --> 00:29:53,955 S pet nosač? 649 00:29:53,955 --> 00:29:54,740 >> UČENIK: Ne postoji. 650 00:29:54,740 --> 00:29:55,040 >> JASON Hirschhorna: ne postoji. 651 00:29:55,040 --> 00:29:57,050 Točno u pravu. 652 00:29:57,050 --> 00:29:57,940 Cool. 653 00:29:57,940 --> 00:30:03,120 Sva pitanja o razumijevanju žice su nizovi znakova? 654 00:30:03,120 --> 00:30:03,870 OK, onda. 655 00:30:03,870 --> 00:30:05,440 Još jedan program za vas dečki. 656 00:30:05,440 --> 00:30:09,190 Napišite program koji traži od korisnika za niz zatim ispisuje iz svakog 657 00:30:09,190 --> 00:30:11,880 Lik na novoj liniji. 658 00:30:11,880 --> 00:30:14,160 Dakle, uzmimo tri minute pisati ovaj program, a onda ćemo ga kod 659 00:30:14,160 --> 00:30:15,410 kao skupina. 660 00:30:15,410 --> 00:31:04,730 661 00:31:04,730 --> 00:31:04,830 >> Žao nam je. 662 00:31:04,830 --> 00:31:06,470 Je li vam je potrebno da biste vidjeli ovo? 663 00:31:06,470 --> 00:31:07,410 >> UČENIK: Ne 664 00:31:07,410 --> 00:31:08,660 >> JASON Hirschhorna: OK. 665 00:31:08,660 --> 00:31:36,390 666 00:31:36,390 --> 00:31:40,605 Uzmimo jednu minutu da kod toga, ili barem početak rada na njemu. 667 00:31:40,605 --> 00:32:13,900 668 00:32:13,900 --> 00:32:17,020 >> Dakle, možete nastaviti raditi, ali idem za početak prolazi kroz njega. 669 00:32:17,020 --> 00:32:22,560 Dakle, kao i prije, moram na zaslonu # Uključiti cs50.h, # include stdio.h. 670 00:32:22,560 --> 00:32:24,020 int main prazninu. 671 00:32:24,020 --> 00:32:28,880 U glavnoj je vitičastim zagradama, moram dva komentara, pseudocode. 672 00:32:28,880 --> 00:32:30,980 Jedan je pitati za niz od korisnika. 673 00:32:30,980 --> 00:32:33,900 Drugi je isprintati svaki Lik na novoj liniji. 674 00:32:33,900 --> 00:32:39,780 Dakle, Anna, možete li dati te pitam za niz od korisnika? 675 00:32:39,780 --> 00:32:41,970 >> STUDENT: printf. 676 00:32:41,970 --> 00:32:42,720 >> JASON Hirschhorna: printf? 677 00:32:42,720 --> 00:32:45,050 >> STUDENT: Da. 678 00:32:45,050 --> 00:32:46,165 ( 679 00:32:46,165 --> 00:32:47,610 >> JASON Hirschhorna: ( 680 00:32:47,610 --> 00:32:49,300 >> UČENIK: "Daj mi string. 681 00:32:49,300 --> 00:32:52,380 >> JASON Hirschhorna: "Daj ja str - pardon - 682 00:32:52,380 --> 00:32:53,710 string. 683 00:32:53,710 --> 00:32:59,980 >> STUDENT: / n ") zarez. 684 00:32:59,980 --> 00:33:02,300 >> JASON Hirschhorna: Prekinite string, zatvorene zagrade, točka i zarez. 685 00:33:02,300 --> 00:33:03,550 >> STUDENT: Da. 686 00:33:03,550 --> 00:33:09,080 A onda sljedeći redak, niz s = dobili niz. 687 00:33:09,080 --> 00:33:11,240 >> JASON Hirschhorna: String s = dobili niz. 688 00:33:11,240 --> 00:33:11,665 >> STUDENT: Da. 689 00:33:11,665 --> 00:33:13,080 A onda () 690 00:33:13,080 --> 00:33:14,365 >> JASON Hirschhorna: () 691 00:33:14,365 --> 00:33:14,720 >> STUDENT: Točka-zarez. 692 00:33:14,720 --> 00:33:15,540 >> JASON Hirschhorna: Točka-zarez. 693 00:33:15,540 --> 00:33:16,890 Fantastično. 694 00:33:16,890 --> 00:33:19,000 Tako ću dobiti niz i Ja ću ga spremiti u što? 695 00:33:19,000 --> 00:33:21,830 Što je varijabla zove koju ste stvorili? 696 00:33:21,830 --> 00:33:23,290 >> STUDENT: String s. 697 00:33:23,290 --> 00:33:24,580 >> JASON Hirschhorna: promjenjiva se zove e. 698 00:33:24,580 --> 00:33:25,700 To je tipa string. 699 00:33:25,700 --> 00:33:27,200 Točno. 700 00:33:27,200 --> 00:33:30,080 Sljedeća stvar koju želimo je ispisati svaki lik na novoj liniji. 701 00:33:30,080 --> 00:33:31,710 Tko mi može dati taj kod? 702 00:33:31,710 --> 00:33:32,110 [Nečujno]? 703 00:33:32,110 --> 00:33:33,000 Možete li mi ga dati? 704 00:33:33,000 --> 00:33:33,580 >> STUDENT: Svakako. 705 00:33:33,580 --> 00:33:35,420 >> JASON Hirschhorna: Ajmo. 706 00:33:35,420 --> 00:33:36,080 I žao. 707 00:33:36,080 --> 00:33:38,896 Ja ne bih ponoviti ono što ti kažeš zato što ste uzimajući to pravo, ali ja 708 00:33:38,896 --> 00:33:42,100 moramo to ponoviti, tako da kad se prepisati to, oni mogu dobiti sve 709 00:33:42,100 --> 00:33:44,870 Tekst se na prijepisa. 710 00:33:44,870 --> 00:33:47,180 Tako možete jednostavno držati govori. 711 00:33:47,180 --> 00:33:48,590 Nažalost, moram to reći nad vama. 712 00:33:48,590 --> 00:33:49,510 Žao mi je, ali - 713 00:33:49,510 --> 00:33:50,610 >> STUDENT: To je u redu. 714 00:33:50,610 --> 00:33:53,010 Za int i = 0 715 00:33:53,010 --> 00:33:54,170 >> JASON Hirschhorna: Za int i = 0 716 00:33:54,170 --> 00:33:56,740 >> STUDENT: I ​​manje nego - 717 00:33:56,740 --> 00:33:58,206 >> JASON Hirschhorna: Točka-zarez. 718 00:33:58,206 --> 00:34:00,650 >> STUDENT: Prije toga, možemo staviti mijenjati, pa ste dobili ime int duljinu? 719 00:34:00,650 --> 00:34:01,870 >> JASON Hirschhorna: Oh, vi ne želite staviti zarez? 720 00:34:01,870 --> 00:34:02,310 OK. 721 00:34:02,310 --> 00:34:05,120 Dakle, ono što želite učiniti nakon nule? 722 00:34:05,120 --> 00:34:09,340 >> STUDENT: Želim doći string duljine s, a 723 00:34:09,340 --> 00:34:10,410 postavite kako u varijablu? 724 00:34:10,410 --> 00:34:11,760 >> JASON Hirschhorna: OK, pa kako ću to učiniti? 725 00:34:11,760 --> 00:34:17,636 >> UČENIK: Pa što učiniti int duljina = 726 00:34:17,636 --> 00:34:20,010 >> JASON Hirschhorna: Interesi duljina = 727 00:34:20,010 --> 00:34:22,230 >> Student: S-T-R-L-E-N. 728 00:34:22,230 --> 00:34:24,260 >> JASON Hirschhorna: S-T-R-L-E-N - 729 00:34:24,260 --> 00:34:25,380 >> STUDENT: s. 730 00:34:25,380 --> 00:34:25,790 Zagrade. 731 00:34:25,790 --> 00:34:27,920 >> Jason Hirschhorna: (i). 732 00:34:27,920 --> 00:34:33,040 >> STUDENT: I ​​onda mislim da morate stavio zarez između dviju Ints. 733 00:34:33,040 --> 00:34:34,590 >> JASON Hirschhorna: zarez nakon nule? 734 00:34:34,590 --> 00:34:35,260 >> STUDENT: Da. 735 00:34:35,260 --> 00:34:40,670 Zatim stavite zarez nakon toga, i kažeš, ja manje od duljine. 736 00:34:40,670 --> 00:34:43,250 i manje od duljine, koji je promjenjiva. 737 00:34:43,250 --> 00:34:44,590 >> STUDENT: I ​​onda zarez. 738 00:34:44,590 --> 00:34:45,790 >> JASON Hirschhorna: Točka-zarez. 739 00:34:45,790 --> 00:34:46,290 >> STUDENT: ja + +. 740 00:34:46,290 --> 00:34:46,909 >> JASON Hirschhorna: ja + +. 741 00:34:46,909 --> 00:34:47,530 Tu je naša za petlje. 742 00:34:47,530 --> 00:34:48,860 OK, unutar for petlje. 743 00:34:48,860 --> 00:34:51,670 >> STUDENT: I ​​onda printf. 744 00:34:51,670 --> 00:34:53,340 >> JASON Hirschhorna: printf. 745 00:34:53,340 --> 00:34:53,889 >> STUDENT: zagrade. 746 00:34:53,889 --> 00:34:55,130 >> JASON Hirschhorna: zagrade, navodnike. 747 00:34:55,130 --> 00:34:59,930 >> STUDENT: zagrade, citati,% c / n. 748 00:34:59,930 --> 00:35:00,760 >> JASON Hirschhorna:% c, u redu. 749 00:35:00,760 --> 00:35:01,670 >> STUDENT: / n. 750 00:35:01,670 --> 00:35:03,470 >> JASON Hirschhorna: / n. 751 00:35:03,470 --> 00:35:04,410 >> STUDENT: Zatvoreno citati. 752 00:35:04,410 --> 00:35:05,270 >> JASON Hirschhorna: Zatvoreno citati. 753 00:35:05,270 --> 00:35:05,810 >> STUDENT: Zarez. 754 00:35:05,810 --> 00:35:06,860 >> JASON Hirschhorna: Zarez. 755 00:35:06,860 --> 00:35:07,800 >> STUDENT: S. 756 00:35:07,800 --> 00:35:08,070 >> JASON Hirschhorna: S. 757 00:35:08,070 --> 00:35:08,690 >> STUDENT: Nosač ja. 758 00:35:08,690 --> 00:35:10,230 >> JASON Hirschhorna: Nosač ja. 759 00:35:10,230 --> 00:35:11,520 >> STUDENT: I ​​onda zatvorene zagrade. 760 00:35:11,520 --> 00:35:12,540 >> JASON Hirschhorna: Zatvorena zagrada. 761 00:35:12,540 --> 00:35:13,660 >> STUDENT: I ​​onda zarez. 762 00:35:13,660 --> 00:35:13,770 >> JASON Hirschhorna: Točka-zarez. 763 00:35:13,770 --> 00:35:14,380 Fantastično. 764 00:35:14,380 --> 00:35:16,890 Tako ćemo uštedjeti ovo. 765 00:35:16,890 --> 00:35:19,770 Provjerite pravopis. 766 00:35:19,770 --> 00:35:20,040 Oh boy. 767 00:35:20,040 --> 00:35:22,275 Imam nekoliko pogrešaka. 768 00:35:22,275 --> 00:35:33,120 Prva pogreška na liniji 11, kaže, Očekuje izraz, a to je davanje 769 00:35:33,120 --> 00:35:36,910 me pogreška koja druga int, tu je pogreška. 770 00:35:36,910 --> 00:35:38,430 Postoje neke pogreške oko tamo. 771 00:35:38,430 --> 00:35:41,060 Zna li itko što je pogreška koja je? 772 00:35:41,060 --> 00:35:41,640 Kurt? 773 00:35:41,640 --> 00:35:44,108 >> STUDENT: Mislim da bi to trebalo se zarez, a ne zarez. 774 00:35:44,108 --> 00:35:46,010 >> JASON Hirschhorna: OK, zarez umjesto zarezom. 775 00:35:46,010 --> 00:35:47,340 Tako da je sve što trebamo popraviti? 776 00:35:47,340 --> 00:35:47,655 >> UČENIK: Ne 777 00:35:47,655 --> 00:35:48,930 >> JASON Hirschhorna: Što drugo trebamo popraviti? 778 00:35:48,930 --> 00:35:50,920 >> STUDENT: Moramo uključiti string.h. 779 00:35:50,920 --> 00:35:51,680 >> JASON Hirschhorna: Uključi string.h. 780 00:35:51,680 --> 00:35:53,730 Gdje trebam uključiti da? 781 00:35:53,730 --> 00:35:57,085 >> STUDENT: Sve mjesto ste uključujući druga stvar, zar ne 782 00:35:57,085 --> 00:35:59,560 nakon što su stdio.h. 783 00:35:59,560 --> 00:36:01,610 >> JASON Hirschhorna: Idemo vidjeti ako to radi Prvi jer je općenito, volim 784 00:36:01,610 --> 00:36:06,360 popraviti jednu stvar prvi, a zatim pokrenuti je, a onda vidjeti pogreške smo dobili. 785 00:36:06,360 --> 00:36:11,620 Tako ćemo izbiti terminal s kontrolnom n, neka je ne bi čarolija. 786 00:36:11,620 --> 00:36:15,190 787 00:36:15,190 --> 00:36:18,770 Dakle, još jedna pogreška na liniji 11. 788 00:36:18,770 --> 00:36:20,540 Očekivani zarez. 789 00:36:20,540 --> 00:36:22,640 I ja sam još uvijek uzimajući pogreške na ovoj liniji. 790 00:36:22,640 --> 00:36:25,270 Dakle, to nije dao mene greška ga rekavši ne razumijem što je strlen, 791 00:36:25,270 --> 00:36:28,980 ali to je davanje mene pogreške na to linije, tako da ono drugo nije u redu? 792 00:36:28,980 --> 00:36:29,690 Označite? 793 00:36:29,690 --> 00:36:30,940 Marcus. 794 00:36:30,940 --> 00:36:32,570 >> STUDENT: Imate li ukloniti Drugi int izjava? 795 00:36:32,570 --> 00:36:34,990 >> JASON Hirschhorna: Uklonite Drugi Int. 796 00:36:34,990 --> 00:36:35,710 Pokušajmo ovo. 797 00:36:35,710 --> 00:36:37,600 Sada čišćenje terminala. 798 00:36:37,600 --> 00:36:40,130 Provjerite pravopis. 799 00:36:40,130 --> 00:36:40,490 Pogreška. 800 00:36:40,490 --> 00:36:42,890 Implicitno proglašenja knjižnicu funkciju strlen. 801 00:36:42,890 --> 00:36:44,270 Dakle, sada smo vidim tu pogrešku. 802 00:36:44,270 --> 00:36:45,760 Što mi je potrebno uključiti? 803 00:36:45,760 --> 00:36:46,660 >> STUDENT: String.h. 804 00:36:46,660 --> 00:36:51,880 >> JASON Hirschhorna: Uključi string.h, ćemo # uključena string.h na vrhu 805 00:36:51,880 --> 00:36:52,920 na zaslonu. 806 00:36:52,920 --> 00:36:55,450 Idemo spasiti, bi čarolija. 807 00:36:55,450 --> 00:36:56,970 Sada sastavio. 808 00:36:56,970 --> 00:37:01,970 Pa opet, ono što je potrebno kako bi sjećam liniju 12 u našem za petlje kad 809 00:37:01,970 --> 00:37:08,010 mi smo to postavljanje, int i = 0, duljina = strlen (s). 810 00:37:08,010 --> 00:37:09,350 >> Ovo je fantastičan strategija. 811 00:37:09,350 --> 00:37:12,590 Stil ovo je super, Dizajn je super. 812 00:37:12,590 --> 00:37:15,620 Možemo ići u tih razloga kasnije, ali ovaj put samo trebate zvati 813 00:37:15,620 --> 00:37:19,040 strlen jednom umjesto da svaki put kada pokrenete kroz petlju. 814 00:37:19,040 --> 00:37:22,255 Međutim, morate koristiti zarez postoji a vi ne morate ponovno int. 815 00:37:22,255 --> 00:37:24,180 Ako ste oboje proglasio onima varijable zajedno, što 816 00:37:24,180 --> 00:37:26,850 ne treba ponovo INT. 817 00:37:26,850 --> 00:37:29,820 I onda, ako ste išli koristiti strlen, što je još jedna knjižnica 818 00:37:29,820 --> 00:37:33,560 funkcioniraju nisu uključeni u stdio.h ili cs50.h, provjerite 819 00:37:33,560 --> 00:37:35,310 da li su string.h. 820 00:37:35,310 --> 00:37:35,900 Kurt? 821 00:37:35,900 --> 00:37:39,085 >> UČENIK: Pa onda, ako vam ne trebaju reći što tip duljina je, ne da 822 00:37:39,085 --> 00:37:40,290 znači da mora biti int? 823 00:37:40,290 --> 00:37:41,930 Vi ne može imati dva različita Kategorije tamo? 824 00:37:41,930 --> 00:37:43,290 >> JASON Hirschhorna: tako da bi mogao imaju dvije različite vrste. 825 00:37:43,290 --> 00:37:45,730 Duljina je int ovdje, ipak. 826 00:37:45,730 --> 00:37:48,590 Duljina je int jer je zarezom a onda ista stvar. 827 00:37:48,590 --> 00:37:50,460 >> UČENIK: Pa on pretpostavlja da će da je isti kao i prvi? 828 00:37:50,460 --> 00:37:52,423 >> JASON Hirschhorna: Točno. 829 00:37:52,423 --> 00:37:54,970 Nećemo to učiniti sada, ali može uključivati ​​dvije varijable na 830 00:37:54,970 --> 00:37:57,080 Isto linije koristeći jedan tip podataka. 831 00:37:57,080 --> 00:38:01,415 Dakle int x, y bi stvorili dvije varijable. 832 00:38:01,415 --> 00:38:05,830 833 00:38:05,830 --> 00:38:10,770 Dakle int x, y, ako ćemo napraviti da to daje ja neiskorišteni varijabla xiy, jer 834 00:38:10,770 --> 00:38:12,020 mi ih ne koristite. 835 00:38:12,020 --> 00:38:17,950 836 00:38:17,950 --> 00:38:21,650 Dakle, prije nego što stavite prazninu je samo Trik zavoljeti ako ne koristite 837 00:38:21,650 --> 00:38:22,810 nešto, kako bi ga koristiti. 838 00:38:22,810 --> 00:38:26,300 Ali, kao što vidite, ja stvaram xiy na istoj liniji sa zarezom. 839 00:38:26,300 --> 00:38:28,450 On stvara dva prirodna broja tamo. 840 00:38:28,450 --> 00:38:31,560 Tako da, sasvim moguće stvoriti dvije stvari na istoj liniji 841 00:38:31,560 --> 00:38:33,720 odvojena zarezom. 842 00:38:33,720 --> 00:38:35,470 Da biste dobili osloboditi od onih koji, iako. 843 00:38:35,470 --> 00:38:36,370 >> Tako da je čarolija. 844 00:38:36,370 --> 00:38:39,200 Hvala vam dečki za to kodiranje za nas. 845 00:38:39,200 --> 00:38:43,040 Neka to bude jedan više vremena, pokrenite ga. 846 00:38:43,040 --> 00:38:44,580 Daj mi niz. 847 00:38:44,580 --> 00:38:45,580 [Nečujno], što je najviše od njega. 848 00:38:45,580 --> 00:38:47,910 Što je niz? 849 00:38:47,910 --> 00:38:48,250 >> STUDENT: Pozdrav. 850 00:38:48,250 --> 00:38:50,110 >> JASON Hirschhorna: Pozdrav. 851 00:38:50,110 --> 00:38:52,810 H-E-L-L-O, svaki znak na jednoj liniji. 852 00:38:52,810 --> 00:38:53,700 Izgleda super. 853 00:38:53,700 --> 00:38:54,750 Idemo ga ponovno pokrenuti. 854 00:38:54,750 --> 00:38:56,050 Uvijek ide na check Za kutne slučajevima. 855 00:38:56,050 --> 00:38:57,750 Što je dobra kutak slučaj provjeriti? 856 00:38:57,750 --> 00:39:00,250 857 00:39:00,250 --> 00:39:00,890 >> STUDENT: broj? 858 00:39:00,890 --> 00:39:02,240 >> JASON Hirschhorna: broj. 859 00:39:02,240 --> 00:39:06,580 Dakle, ja ću staviti u jedan, i to ispisuje jedan. 860 00:39:06,580 --> 00:39:08,970 To ne traži slova, tako da čini se kao brojevi rad. 861 00:39:08,970 --> 00:39:09,890 Dobro kutak slučaj provjeriti. 862 00:39:09,890 --> 00:39:11,740 Ono što je još jedan dobar udarac Slučaj provjeriti? 863 00:39:11,740 --> 00:39:12,420 >> STUDENT: prazan string. 864 00:39:12,420 --> 00:39:12,910 >> JASON Hirschhorna: Hm? 865 00:39:12,910 --> 00:39:13,880 >> STUDENT: Kao prazan niz. 866 00:39:13,880 --> 00:39:14,400 >> JASON Hirschhorna: Prazan string. 867 00:39:14,400 --> 00:39:16,730 Dakle nemojmo staviti u bilo što. 868 00:39:16,730 --> 00:39:18,660 A što će se ispisati? 869 00:39:18,660 --> 00:39:19,090 >> STUDENT: Ništa. 870 00:39:19,090 --> 00:39:19,870 >> JASON Hirschhorna: Ništa. 871 00:39:19,870 --> 00:39:20,555 Čini se kao da to radi. 872 00:39:20,555 --> 00:39:23,790 Možete pokušati još više slučajeva kutak, ali općenito brojeva, drugačije podaci 873 00:39:23,790 --> 00:39:26,160 lijepo probati, kao i ništa. 874 00:39:26,160 --> 00:39:29,180 Ništa, nula, negativi su uvijek velike stvari za isprobavanje i stvari koje vas 875 00:39:29,180 --> 00:39:33,140 Ukoliko test, stvari sigurno ćemo testirati Prijava za i 50 će testirati. 876 00:39:33,140 --> 00:39:34,720 Sva pitanja oko spell.c? 877 00:39:34,720 --> 00:39:37,752 878 00:39:37,752 --> 00:39:39,310 >> OK, neka je glavu natrag. 879 00:39:39,310 --> 00:39:42,420 Imam jedan program za vi pisati. 880 00:39:42,420 --> 00:39:44,700 To se zove students.c. 881 00:39:44,700 --> 00:39:49,020 To je program koji traži od korisnika za pet imena, a zatim nasumično odabire 882 00:39:49,020 --> 00:39:51,600 i ispisuje jedno od imena. 883 00:39:51,600 --> 00:39:54,840 Ovaj program je malo više pozornosti nego zadnje dvije smo pisali, 884 00:39:54,840 --> 00:39:58,080 pa zašto ne uzmemo pet minuta ga kod pojedinačno, a zatim ćemo 885 00:39:58,080 --> 00:40:00,130 ga kod kao skupina. 886 00:40:00,130 --> 00:40:03,795 >> Ovaj program također uključuje neke stvari možda niste vidjeli prije, pa ako 887 00:40:03,795 --> 00:40:06,390 imate pitanje o tome, kako je to Ja to učiniti, neka digne ruku. 888 00:40:06,390 --> 00:40:08,530 Ja ću doći, a vas uputiti u pravom smjeru. 889 00:40:08,530 --> 00:40:10,820 No, i mi smo to radili jer to će biti dobar način da se uvedu neke 890 00:40:10,820 --> 00:40:12,070 Teme koje su lukav. 891 00:40:12,070 --> 00:44:14,600 892 00:44:14,600 --> 00:44:15,560 >> Tako se to radi, zar ne? 893 00:44:15,560 --> 00:44:17,580 >> STUDENT: Da. 894 00:44:17,580 --> 00:44:19,180 >> JASON Hirschhorna: Kad god okrenete u Problem set, ima i mnogo načina kako to učiniti 895 00:44:19,180 --> 00:44:20,790 da, ali neki su više elegantna od drugih. 896 00:44:20,790 --> 00:44:29,000 897 00:44:29,000 --> 00:44:31,110 Neka nam zaroniti u. 898 00:44:31,110 --> 00:44:32,880 # Uključiti cs50.h. 899 00:44:32,880 --> 00:44:34,250 # Uključiti stdio.h. 900 00:44:34,250 --> 00:44:37,240 int main void, vitičastim zagradama. 901 00:44:37,240 --> 00:44:39,430 Unutar vitičastih zagrada, Imam dvije primjedbe. 902 00:44:39,430 --> 00:44:41,500 Prvi je, pitajte Korisnik pet imena. 903 00:44:41,500 --> 00:44:46,580 Drugi je, slučajno odabrati i ispisati jedno od imena. 904 00:44:46,580 --> 00:44:50,250 Tako ćemo napraviti prvi jedan, pitajte Korisnik pet imena. 905 00:44:50,250 --> 00:44:53,730 Tko je pitao korisnički za pet imena i može mi reći kako to učiniti? 906 00:44:53,730 --> 00:44:56,760 907 00:44:56,760 --> 00:44:58,570 Samo dvije osobe je prvi dio. 908 00:44:58,570 --> 00:45:00,150 Troje ljudi je prvi dio. 909 00:45:00,150 --> 00:45:00,670 Četiri, pet. 910 00:45:00,670 --> 00:45:03,140 Tom, kako vi to učiniti? 911 00:45:03,140 --> 00:45:09,940 >> STUDENT: Ti bi proglasiti string a zatim ime, nosač pet. 912 00:45:09,940 --> 00:45:12,070 >> JASON Hirschhorna: String ime nosač pet. 913 00:45:12,070 --> 00:45:15,350 Pa što je ovo linija radi, string ime nosač pet? 914 00:45:15,350 --> 00:45:17,800 >> STUDENT: Vi će proglasiti niz žice. 915 00:45:17,800 --> 00:45:19,000 >> JASON Hirschhorna: Ovo je niz žice. 916 00:45:19,000 --> 00:45:21,590 Koliko žice idu se uklopiti ovdje? 917 00:45:21,590 --> 00:45:22,010 >> STUDENT: Pet. 918 00:45:22,010 --> 00:45:22,320 >> JASON Hirschhorna: Pet. 919 00:45:22,320 --> 00:45:22,660 Izvrsno. 920 00:45:22,660 --> 00:45:26,360 Mi ćemo ga zovu imena, jer ćemo dobiti više one. 921 00:45:26,360 --> 00:45:27,790 OK, sljedeće? 922 00:45:27,790 --> 00:45:29,270 >> STUDENT: I ​​onda imaju za petlju - 923 00:45:29,270 --> 00:45:30,060 >> JASON Hirschhorna: Za petlje. 924 00:45:30,060 --> 00:45:33,035 >> STUDENT: - za i = 0. 925 00:45:33,035 --> 00:45:37,040 >> JASON Hirschhorna: for (int i = 0. 926 00:45:37,040 --> 00:45:38,270 >> STUDENT: Točka-zarez. 927 00:45:38,270 --> 00:45:38,880 >> JASON Hirschhorna: Točka-zarez. 928 00:45:38,880 --> 00:45:39,790 >> STUDENT: I ​​manje od pet. 929 00:45:39,790 --> 00:45:41,310 >> JASON Hirschhorna: Ja manji od pet. 930 00:45:41,310 --> 00:45:42,230 >> STUDENT: Točka-zarez. 931 00:45:42,230 --> 00:45:42,560 >> JASON Hirschhorna: Točka-zarez. 932 00:45:42,560 --> 00:45:43,380 >> STUDENT: ja + +. 933 00:45:43,380 --> 00:45:46,050 >> JASON Hirschhorna: ja + +. 934 00:45:46,050 --> 00:45:47,100 >> STUDENT: I ​​onda zatvorene zagrade. 935 00:45:47,100 --> 00:45:48,600 >> JASON Hirschhorna: Zatvorena zagrada, i onda neki vitičastim zagradama. 936 00:45:48,600 --> 00:45:50,050 Unutar vitičastih zagrada? 937 00:45:50,050 --> 00:45:51,423 >> STUDENT: I ​​onda printf. 938 00:45:51,423 --> 00:45:52,535 >> JASON Hirschhorna: printf. 939 00:45:52,535 --> 00:45:56,200 >> STUDENT: Otvorena zagrade, naziv% d. 940 00:45:56,200 --> 00:45:57,090 >> JASON Hirschhorna: Žao mi? 941 00:45:57,090 --> 00:45:57,660 >> STUDENT: Ime. 942 00:45:57,660 --> 00:45:58,200 >> JASON Hirschhorna: Ime. 943 00:45:58,200 --> 00:46:01,700 >> STUDENT: I ​​onda prostor, a potom% d. 944 00:46:01,700 --> 00:46:02,950 >> JASON Hirschhorna: Ime, prostor,% d. 945 00:46:02,950 --> 00:46:05,630 946 00:46:05,630 --> 00:46:10,820 >> Student: A onda / n, a zatim zatvorena. 947 00:46:10,820 --> 00:46:15,070 >> JASON Hirschhorna: Dakle, ime, prostor, % D / n, zatvorene zagrade. 948 00:46:15,070 --> 00:46:17,730 >> STUDENT: Zarez, ja + 1. 949 00:46:17,730 --> 00:46:19,390 Žao mi je. 950 00:46:19,390 --> 00:46:21,040 Zatvorena citat, a zatim zarez, i +1. 951 00:46:21,040 --> 00:46:24,400 >> JASON Hirschhorna: Zatvorena citat, zarez, i +1. 952 00:46:24,400 --> 00:46:25,850 >> STUDENT: Da. 953 00:46:25,850 --> 00:46:27,650 A onda sljedeći redak - 954 00:46:27,650 --> 00:46:29,400 >> JASON Hirschhorna: ja + 1. 955 00:46:29,400 --> 00:46:31,600 >> STUDENT: Da. 956 00:46:31,600 --> 00:46:36,440 A onda sljedeći slajd je imena nosač ja. 957 00:46:36,440 --> 00:46:39,000 >> JASON Hirschhorna: Sljedeća linija je imena nosač ja. 958 00:46:39,000 --> 00:46:41,360 >> STUDENT: = dobili niz. 959 00:46:41,360 --> 00:46:43,460 >> JASON Hirschhorna: = Get - 960 00:46:43,460 --> 00:46:44,510 kapitala G-E-T - 961 00:46:44,510 --> 00:46:45,530 string. 962 00:46:45,530 --> 00:46:47,800 Ups, ispričavam se. 963 00:46:47,800 --> 00:46:49,050 >> STUDENT: Otvorene, zatvorene zagrade a zatim - 964 00:46:49,050 --> 00:46:50,940 >> JASON Hirschhorna: Otvoreno, zatvorena zagrada. 965 00:46:50,940 --> 00:46:51,030 >> STUDENT: Točka-zarez. 966 00:46:51,030 --> 00:46:52,500 >> JASON Hirschhorna: Točka-zarez. 967 00:46:52,500 --> 00:46:57,545 U redu, tako da inicijalizirati niz žice, imena, a potom proći kroz 968 00:46:57,545 --> 00:47:02,720 za petlje, te pet puta ispisati neke zatražiti na korisnika, te pohranjivanje 969 00:47:02,720 --> 00:47:03,360 pet žice. 970 00:47:03,360 --> 00:47:08,090 Da li itko ima bilo prilagodbe na ovo? 971 00:47:08,090 --> 00:47:10,030 Tom, mislim da svatko slaže s vama. 972 00:47:10,030 --> 00:47:10,880 Izgleda prilično dobro. 973 00:47:10,880 --> 00:47:11,660 OK. 974 00:47:11,660 --> 00:47:14,830 Zašto si to učinio i +1, iako? 975 00:47:14,830 --> 00:47:18,000 >> STUDENT: Mislim, nema da se, ali i +1, tako da je 976 00:47:18,000 --> 00:47:19,700 Naziv jedan u ime pet. 977 00:47:19,700 --> 00:47:21,930 Inače, to će biti ime nuli u ime četiri. 978 00:47:21,930 --> 00:47:24,400 >> JASON Hirschhorna: Tako da sam ja jedan jer inače bi 979 00:47:24,400 --> 00:47:27,060 ispisati nule do četiri, jer to je kako su računala mislim, ali ljudi 980 00:47:27,060 --> 00:47:28,530 stvarno ne čitati kao da je. 981 00:47:28,530 --> 00:47:30,190 To je još jedna stvar ćete naići. 982 00:47:30,190 --> 00:47:33,210 Ponekad kada ispisati nešto do korisnika, da ćete želite učiniti 983 00:47:33,210 --> 00:47:35,733 malo ljepše, a radi ja jednom u ovom slučaju je 984 00:47:35,733 --> 00:47:37,430 način kako bi ga ljepše. 985 00:47:37,430 --> 00:47:41,380 >> Vidim i pet dvaput, ime string je pet, i manje od pet. 986 00:47:41,380 --> 00:47:42,430 Znam gdje je dobio pet. 987 00:47:42,430 --> 00:47:44,890 Imaš je meni rekao da pet imena. 988 00:47:44,890 --> 00:47:49,000 Ali, ako smo htjeli napraviti kod malo više robustan, jedna stvar mi 989 00:47:49,000 --> 00:47:53,110 može li se ovdje, izvan int, smo mogli učiniti nešto poput ovoga, 990 00:47:53,110 --> 00:47:57,070 # Define, a mi mogli učiniti imenima pet. 991 00:47:57,070 --> 00:48:01,580 992 00:48:01,580 --> 00:48:05,390 >> Tako je u osnovi, gdje god pišem kapitala N, kapital, kapital M, grad E, 993 00:48:05,390 --> 00:48:08,890 S kapital, koji string, ona će zamijeniti da je s 5 u kodu. 994 00:48:08,890 --> 00:48:11,530 995 00:48:11,530 --> 00:48:13,445 Ili hajdemo ga nazvati - ćemo Samo ga zovu BROJ. 996 00:48:13,445 --> 00:48:17,190 Tako da sam definiranje svih kape BROJ biti 5. 997 00:48:17,190 --> 00:48:22,830 >> Tako sada gdje god imam broj 5, I možete ga zamijeniti sa svim poklopcima broj. 998 00:48:22,830 --> 00:48:26,880 A sada, ako želim promijeniti broj imena, sve što trebate učiniti je 999 00:48:26,880 --> 00:48:31,350 ovaj jedan redak, line četiri, gdje sam # Define broj 5, promijeniti do 10, 1000 00:48:31,350 --> 00:48:34,340 ili promijeniti da bi četiri. 1001 00:48:34,340 --> 00:48:37,400 Kada se vaš broj dobiva više, niste će se sjetiti svih mjesta koje 1002 00:48:37,400 --> 00:48:41,630 stavi koliko imena ste htjeli, a Kako bi za vas da ne propustite jedan, ovo je 1003 00:48:41,630 --> 00:48:45,490 dobar način da to učinite, pronaći nešto do vrha, a onda samo koristiti taj izraz 1004 00:48:45,490 --> 00:48:46,400 svugdje po kodu. 1005 00:48:46,400 --> 00:48:46,780 Marcus? 1006 00:48:46,780 --> 00:48:49,780 >> STUDENT: Je li to stilski željena nego na globalnoj razini definiranja 1007 00:48:49,780 --> 00:48:51,270 konstanta n? 1008 00:48:51,270 --> 00:48:53,760 >> JASON Hirschhorna: Tako je to stilski radije nego na globalnoj razini 1009 00:48:53,760 --> 00:48:54,980 definiranje konstanta n? 1010 00:48:54,980 --> 00:48:59,036 Dakle, želite reći da bi učinite, int broj = 5? 1011 00:48:59,036 --> 00:49:01,300 >> UČENIK: Zar oni imaju suglasnike u C ili ne? 1012 00:49:01,300 --> 00:49:02,720 >> JASON Hirschhorna: Ili const - u jednakim. 1013 00:49:02,720 --> 00:49:04,275 Dakle, govoriš samo Globalna varijabla? 1014 00:49:04,275 --> 00:49:04,990 >> STUDENT: Da. 1015 00:49:04,990 --> 00:49:08,670 >> JASON Hirschhorna: Dakle, stilski, nema nužno jedno pravo 1016 00:49:08,670 --> 00:49:12,050 odgovoriti, ali i onih koji su bolje nego samo bacanje tih slučajno 1017 00:49:12,050 --> 00:49:12,960 Brojevi diljem kodu. 1018 00:49:12,960 --> 00:49:14,650 Mi ih zovemo Brojevi. 1019 00:49:14,650 --> 00:49:16,450 Kad sam pogled na kodu ili kada tko čita kroz njega, oni 1020 00:49:16,450 --> 00:49:18,790 ne želim samo ove slučajnih brojeva koje nemaju smisla. 1021 00:49:18,790 --> 00:49:22,420 I broj 26, koji se obično broj slova abecede, 1022 00:49:22,420 --> 00:49:28,870 to je bolje definirati abecede do vrha i spremiti broj 26 u tom nizu, 1023 00:49:28,870 --> 00:49:29,550 ako to ima smisla. 1024 00:49:29,550 --> 00:49:33,210 >> Ili o problemu postaviti jednu, nego - opet, nismo razgovarali o tome, na 1025 00:49:33,210 --> 00:49:37,020 vrijeme, ali umjesto samo bacanje u 25 ili 10 svugdje, možete 1026 00:49:37,020 --> 00:49:41,860 spremiti broj 25 kao četvrtina ili 10 kao Dime, a to olakšava 1027 00:49:41,860 --> 00:49:44,140 tko čita kroz koda razumijem zašto ste izabrali taj broj. 1028 00:49:44,140 --> 00:49:46,540 A i za vas, ako ste ikada željeli ažurirati svoj kôd, što ga čini malo 1029 00:49:46,540 --> 00:49:47,290 robusniji. 1030 00:49:47,290 --> 00:49:48,070 Da? 1031 00:49:48,070 --> 00:49:50,830 >> STUDENT: Je li to kod također ide biti na raspolaganju za nas poslije? 1032 00:49:50,830 --> 00:49:52,453 >> JASON Hirschhorna: Sve od tih kodova da smo pismeni, zajedno su 1033 00:49:52,453 --> 00:49:54,620 će biti poslana na vas Dečki i dostupni. 1034 00:49:54,620 --> 00:49:55,740 Da. 1035 00:49:55,740 --> 00:49:58,040 Dakle, pitati korisnika za pet imena. 1036 00:49:58,040 --> 00:50:00,280 Slučajni odabir i ispis jedno od imena. 1037 00:50:00,280 --> 00:50:00,940 Tko je tu liniju? 1038 00:50:00,940 --> 00:50:02,230 Ovo je najzahtjevnijim crta. 1039 00:50:02,230 --> 00:50:02,450 Žao nam je, Tom. 1040 00:50:02,450 --> 00:50:05,510 Ti si jako dobar posao, ali ovo je nešto složenije. 1041 00:50:05,510 --> 00:50:06,600 Marcus, ići naprijed. 1042 00:50:06,600 --> 00:50:10,180 >> UČENIK: Pa prvo, ti si idući u potrebno uključiti i stdlib.h time.h. 1043 00:50:10,180 --> 00:50:13,200 >> JASON Hirschhorna: Želite reći, na vrhu, uključuje još dvije knjižnice. 1044 00:50:13,200 --> 00:50:18,830 Želiš da su S-T-D-l-I-B dot H, Standard knjižnica, a što 1045 00:50:18,830 --> 00:50:19,760 bio drugi? 1046 00:50:19,760 --> 00:50:21,010 >> STUDENT: Time.h. 1047 00:50:21,010 --> 00:50:25,130 1048 00:50:25,130 --> 00:50:27,840 >> JASON Hirschhorna: # include time.h. 1049 00:50:27,840 --> 00:50:29,470 Dakle, to su još dvije knjižnice. 1050 00:50:29,470 --> 00:50:31,790 Pretpostavljam da sad idemo se pomoću Funkcije koje su sadržane u tim 1051 00:50:31,790 --> 00:50:34,240 dva, što je razlog zašto vam je potreban ih uključiti? 1052 00:50:34,240 --> 00:50:36,980 >> STUDENT: Dakle, prvo si će htjeti pisati srand. 1053 00:50:36,980 --> 00:50:38,770 >> JASON Hirschhorna: Srand. 1054 00:50:38,770 --> 00:50:42,070 >> UČENIK: (time (0) 1055 00:50:42,070 --> 00:50:42,700 >> JASON Hirschhorna: Žao nam je. 1056 00:50:42,700 --> 00:50:45,580 Srand (vrijeme ( 1057 00:50:45,580 --> 00:50:46,890 >> STUDENT: 0. 1058 00:50:46,890 --> 00:50:47,230 >> JASON Hirschhorna: 0. 1059 00:50:47,230 --> 00:50:49,990 >> STUDENT:)), zarez. 1060 00:50:49,990 --> 00:50:51,320 >> JASON Hirschhorna: Još jedna zatvorena zagrada? 1061 00:50:51,320 --> 00:50:51,650 Točka-zarez. 1062 00:50:51,650 --> 00:50:53,610 Ja ću samo zamijenite Vaš nula sa NULL. 1063 00:50:53,610 --> 00:50:55,980 To ćete učiniti istu stvar, ali uglavnom, vidjet ćete NULL, koji 1064 00:50:55,980 --> 00:50:57,720 ćemo razgovarati o tome linija u sekundi. 1065 00:50:57,720 --> 00:50:58,580 >> STUDENT: Stilski bolje? 1066 00:50:58,580 --> 00:51:02,240 >> JASON Hirschhorna: Općenito, ljudi pravo NULL, ali ista stvar. 1067 00:51:02,240 --> 00:51:05,010 >> STUDENT: I ​​onda int ime. 1068 00:51:05,010 --> 00:51:06,490 >> JASON Hirschhorna: Interesi ime. 1069 00:51:06,490 --> 00:51:07,280 >> STUDENT: = 1070 00:51:07,280 --> 00:51:07,780 >> JASON Hirschhorna: = 1071 00:51:07,780 --> 00:51:08,580 >> STUDENT: Rand. 1072 00:51:08,580 --> 00:51:09,340 >> JASON Hirschhorna: Rand. 1073 00:51:09,340 --> 00:51:10,420 >> UČENIK: () 1074 00:51:10,420 --> 00:51:11,500 >> JASON Hirschhorna: () 1075 00:51:11,500 --> 00:51:12,850 >> STUDENT: modulo broj. 1076 00:51:12,850 --> 00:51:14,310 >> JASON Hirschhorna: Što je po modulu? 1077 00:51:14,310 --> 00:51:14,970 Lik? 1078 00:51:14,970 --> 00:51:16,000 Posto lik? 1079 00:51:16,000 --> 00:51:17,790 >> STUDENT: Postotak znakova. 1080 00:51:17,790 --> 00:51:19,521 Modulo broj koji definira do vrha. 1081 00:51:19,521 --> 00:51:22,030 >> JASON Hirschhorna: modulo BROJ. 1082 00:51:22,030 --> 00:51:24,052 >> STUDENT: I ​​onda zarez. 1083 00:51:24,052 --> 00:51:24,660 >> JASON Hirschhorna: Točka-zarez. 1084 00:51:24,660 --> 00:51:27,820 >> STUDENT: I ​​onda nova linija, printf. 1085 00:51:27,820 --> 00:51:28,460 >> JASON Hirschhorna: printf. 1086 00:51:28,460 --> 00:51:29,730 >> UČENIK: ( 1087 00:51:29,730 --> 00:51:30,620 >> JASON Hirschhorna: ( 1088 00:51:30,620 --> 00:51:31,650 >> UČENIK: " 1089 00:51:31,650 --> 00:51:32,630 >> JASON Hirschhorna: " 1090 00:51:32,630 --> 00:51:35,320 >> STUDENT:% s / n 1091 00:51:35,320 --> 00:51:37,220 >> JASON Hirschhorna:% s / n 1092 00:51:37,220 --> 00:51:38,420 >> UČENIK: " 1093 00:51:38,420 --> 00:51:40,640 >> JASON Hirschhorna:% s / n " 1094 00:51:40,640 --> 00:51:43,540 >> STUDENT: Zarez, prostor imena. 1095 00:51:43,540 --> 00:51:44,350 >> JASON Hirschhorna: Space - 1096 00:51:44,350 --> 00:51:46,300 >> UČENIK: Ah, valjda, što nije mi to zovemo ovdje? 1097 00:51:46,300 --> 00:51:48,640 >> JASON Hirschhorna: Nazvali smo ga imena. 1098 00:51:48,640 --> 00:51:52,360 >> STUDENT: Otvorena nosač, ime. 1099 00:51:52,360 --> 00:51:55,090 >> JASON Hirschhorna: Otvorena nosač, ime. 1100 00:51:55,090 --> 00:51:55,850 >> STUDENT: Zatvorena zagrada. 1101 00:51:55,850 --> 00:51:56,490 >> JASON Hirschhorna: Zatvorena zagrada. 1102 00:51:56,490 --> 00:51:57,460 >> STUDENT:) 1103 00:51:57,460 --> 00:51:58,800 >> JASON Hirschhorna:) 1104 00:51:58,800 --> 00:51:59,440 >> STUDENT: Točka-zarez. 1105 00:51:59,440 --> 00:52:00,410 >> JASON Hirschhorna: Točka-zarez. 1106 00:52:00,410 --> 00:52:01,500 OK, neka je spasi. 1107 00:52:01,500 --> 00:52:04,410 Učinimo ovaj kod. 1108 00:52:04,410 --> 00:52:06,365 Učenici. 1109 00:52:06,365 --> 00:52:07,100 Ajmo pokrenuti ovaj kod. 1110 00:52:07,100 --> 00:52:08,480 Učenici. 1111 00:52:08,480 --> 00:52:11,630 Ne. / Studentica. . / Studenata. 1112 00:52:11,630 --> 00:52:12,870 Ime jednog. 1113 00:52:12,870 --> 00:52:15,490 Mi ćemo reći Davidu. 1114 00:52:15,490 --> 00:52:18,070 Ime dvije, RJ. 1115 00:52:18,070 --> 00:52:20,561 Ime tri, Rob. 1116 00:52:20,561 --> 00:52:22,490 Ime četiri, Lucas. 1117 00:52:22,490 --> 00:52:26,060 Ime pet, Josip. 1118 00:52:26,060 --> 00:52:28,850 I tada ga ispisuje Josip opet. 1119 00:52:28,850 --> 00:52:31,730 >> Pa neka mi to opet pokrenuti. 1120 00:52:31,730 --> 00:52:32,460 Pusti me da ista imena. 1121 00:52:32,460 --> 00:52:39,760 David, RJ, Rob, Lucas, Josip. 1122 00:52:39,760 --> 00:52:41,070 I to mi je dao Davidu ovaj put. 1123 00:52:41,070 --> 00:52:43,030 Tako sam učinio istu stvar, ali to je dao ja druga stvar, a to je 1124 00:52:43,030 --> 00:52:45,410 jer je, naravno, tražimo za slučajnih imena. 1125 00:52:45,410 --> 00:52:50,950 Pa mislim, temelji off od mene lutanja po sobi, da većina ljudi 1126 00:52:50,950 --> 00:52:55,960 Vjerojatno je dobio prvi dio pravo, postavljanje na taj niz, a zatim uzimajući 1127 00:52:55,960 --> 00:52:56,430 sva imena. 1128 00:52:56,430 --> 00:52:59,320 Govorim o linijama od 10 do 16 godina. 1129 00:52:59,320 --> 00:53:02,150 No linije 18 do 21 su vjerojatno neke stvari koje nismo vidjeli prije, 1130 00:53:02,150 --> 00:53:03,750 pa neka je proći kroz njih. 1131 00:53:03,750 --> 00:53:10,390 >> Ova linija, srand vrijeme NULL je u suštini - 1132 00:53:10,390 --> 00:53:14,300 Nažalost, neka je preskočite linije, rand (). 1133 00:53:14,300 --> 00:53:17,320 To vam daje slučajan broj, slučajni cijeli broj. 1134 00:53:17,320 --> 00:53:19,630 A ako ubojice randa, što puno vas je - 1135 00:53:19,630 --> 00:53:21,530 M-A-N prostor R-A-N-D - 1136 00:53:21,530 --> 00:53:25,910 u terminalu kao što je to, M-A-N prostor R-A-N-D, pritisnite. 1137 00:53:25,910 --> 00:53:30,490 Vi bi došli do priručnika i će moći pročitati da je randa 1138 00:53:30,490 --> 00:53:34,260 naredba izlaza num pseudo slučajnih bajtova nakon prvog sijanja slučajni broj 1139 00:53:34,260 --> 00:53:35,510 generator jednom. 1140 00:53:35,510 --> 00:53:38,450 1141 00:53:38,450 --> 00:53:39,700 >> Dakle, to je opis. 1142 00:53:39,700 --> 00:53:43,860 1143 00:53:43,860 --> 00:53:46,800 To je ono što radi rand, daje da slučajni broj, kada 1144 00:53:46,800 --> 00:53:48,610 zoveš tu funkciju. 1145 00:53:48,610 --> 00:53:53,140 Nažalost, to nije stvarno slučajna jer ako ste samo nazvati slučajna 1146 00:53:53,140 --> 00:53:55,970 bez uzimajući je poneko zrno, neki Polazna točka, to će uvijek odabrati 1147 00:53:55,970 --> 00:53:59,100 ista i to koristi formulu kako bi se utvrdilo sljedeći. 1148 00:53:59,100 --> 00:54:01,730 Dakle, ako nazovete randa, što ću samo dati istu stvar. 1149 00:54:01,730 --> 00:54:02,610 To će biti vrlo predvidljiv. 1150 00:54:02,610 --> 00:54:03,790 To je zapravo neće biti slučajan. 1151 00:54:03,790 --> 00:54:09,610 >> Dakle, ono što trebamo napraviti, po Marcus Upute za mene, bili su sjeme rand 1152 00:54:09,610 --> 00:54:13,810 s nešto drugo, što je ono srand funkcija radi. 1153 00:54:13,810 --> 00:54:18,055 To sjeme Rand s nešto malo više slučajni nego istu stvar, a 1154 00:54:18,055 --> 00:54:23,360 on je to s vremenom sjetva NULL, koji je, samo po konvenciji, struje 1155 00:54:23,360 --> 00:54:24,650 vrijeme u sekundama. 1156 00:54:24,650 --> 00:54:29,790 >> Tako ste pod pretpostavkom da svatko nije ide za pokretanje koda na točno 1157 00:54:29,790 --> 00:54:33,620 iste sekunde, tako da je sigurno kladiti da Vrijeme NULL će biti drugačija 1158 00:54:33,620 --> 00:54:35,250 svaki put kad to kod pokrenuti. 1159 00:54:35,250 --> 00:54:39,020 Siguran kladiti da je tako, srand volja sjeme rand s nešto drugačiji svakog 1160 00:54:39,020 --> 00:54:39,990 pojedinog vrijeme. 1161 00:54:39,990 --> 00:54:44,110 Dakle, po konvenciji, kad mi želimo slučajni broj, pišemo ovu liniju, 1162 00:54:44,110 --> 00:54:50,540 srand vrijeme NULL, kako bi nam mnogo više slučajni sjeme, a zatim smo pokrenuti 1163 00:54:50,540 --> 00:54:52,080 rand, što nam daje slučajni broj. 1164 00:54:52,080 --> 00:54:52,840 Da? 1165 00:54:52,840 --> 00:54:54,140 >> STUDENT: Možete li reći što misliš sjemenom? 1166 00:54:54,140 --> 00:54:55,630 >> JASON Hirschhorna: Sjeme kao u - 1167 00:54:55,630 --> 00:54:58,730 tako rand će pokupiti neki broj a to će koristiti neki 1168 00:54:58,730 --> 00:55:00,060 Formula doći. 1169 00:55:00,060 --> 00:55:03,250 Tako da će početi s nečim a zatim ga pretvoriti u nešto na temelju 1170 00:55:03,250 --> 00:55:03,890 off toj formuli. 1171 00:55:03,890 --> 00:55:06,090 Ako ste uvijek daju istu stvar, uvijek će se to pretvorilo u 1172 00:55:06,090 --> 00:55:06,790 ista stvar. 1173 00:55:06,790 --> 00:55:08,450 Tako da prva stvar koju dati ga je sjeme. 1174 00:55:08,450 --> 00:55:10,880 Dakle, želite dati nešto drugačije započeti s, i tako to 1175 00:55:10,880 --> 00:55:12,610 će ga pretvoriti u nešto drugo. 1176 00:55:12,610 --> 00:55:15,840 >> I onda napokon, linije 20, to se zove% 1177 00:55:15,840 --> 00:55:17,470 modulu, a to je zbunjujuće. 1178 00:55:17,470 --> 00:55:19,850 To je nešto što je malo drugačiji ovdje da to nije stvarno 1179 00:55:19,850 --> 00:55:22,240 imati u stvarnom životu matematici. 1180 00:55:22,240 --> 00:55:27,430 Ali u biti, kada se uzme diva Broj i podijelite u C, što 1181 00:55:27,430 --> 00:55:29,482 se događa s ostatkom? 1182 00:55:29,482 --> 00:55:30,510 >> STUDENT: To dobiva odrezan. 1183 00:55:30,510 --> 00:55:31,220 >> JASON Hirschhorna: Ona dobiva odrezan. 1184 00:55:31,220 --> 00:55:35,200 Dakle, 20 podijeljeno s tri je ono? 1185 00:55:35,200 --> 00:55:37,950 Što znači da je povratak da, 20 podijeljeno s tri. 1186 00:55:37,950 --> 00:55:39,260 Nažalost, 10 podijeljeno s tri. 1187 00:55:39,260 --> 00:55:41,062 Što znači da se vrate u vama? 1188 00:55:41,062 --> 00:55:41,540 >> STUDENT: [nečujno]. 1189 00:55:41,540 --> 00:55:45,170 >> JASON Hirschhorna: 10 podijeljeno s 3 samo vrati 3, ne 3 ostatak 1. 1190 00:55:45,170 --> 00:55:51,490 Pa što 10 modulo 3 vraća je samo ostatak, 1. 1191 00:55:51,490 --> 00:55:54,020 Dakle, ako ste htjeli znati što podijeljeno 10 po 3 zapravo je, što bi 1192 00:55:54,020 --> 00:55:58,950 napraviti 10 podijeljenu 3, što bi dobili svoj 3, i onda bih to 10 modulo 3, a 1193 00:55:58,950 --> 00:55:59,860 da bi dobili jedan. 1194 00:55:59,860 --> 00:56:04,630 Tako da ćeš shvatiti da 10 podijeliti za 3 je 3, ostatak 1. 1195 00:56:04,630 --> 00:56:07,990 >> I u toj liniji, rand mogao biti bilo koji cijeli broj, u biti. 1196 00:56:07,990 --> 00:56:12,660 Dakle modulu je rekao, razdijelite po broj, koji je u ovom slučaju 5. 1197 00:56:12,660 --> 00:56:16,420 A ako ste ikad podijeli po broju, cijeli uvijek mora biti manja od 1198 00:56:16,420 --> 00:56:17,590 taj broj. 1199 00:56:17,590 --> 00:56:22,200 Dakle, ako ste podijeli s brojem 5, Ostatak je uvijek će biti 1200 00:56:22,200 --> 00:56:23,396 nula do četiri. 1201 00:56:23,396 --> 00:56:25,520 To je samo kako math radi out. 1202 00:56:25,520 --> 00:56:29,700 >> Tako velik broj moduloed by manja Broj uvijek će se vratiti 1203 00:56:29,700 --> 00:56:33,530 Ostatak i uvijek će se vratiti neke broj koji je manji od broja vas 1204 00:56:33,530 --> 00:56:34,693 podijeljen. 1205 00:56:34,693 --> 00:56:37,920 Da li itko ima bilo kakvih pitanja u vezi modulu, jer će doći u vrlo, 1206 00:56:37,920 --> 00:56:41,450 vrlo zgodan, pa želim da biste bili sigurni svatko ga razumije? 1207 00:56:41,450 --> 00:56:43,710 Cool. 1208 00:56:43,710 --> 00:56:46,000 A vidjeli smo da je ovaj program radio. 1209 00:56:46,000 --> 00:56:50,280 OK, idemo dalje. 1210 00:56:50,280 --> 00:56:52,970 >> Zato sljedeći, idemo ići u funkcije, a mi ćemo ići 1211 00:56:52,970 --> 00:56:55,580 kroz ostatak ove stvari prilično brzo, jer želim doći do 1212 00:56:55,580 --> 00:56:57,150 argumenata naredbenog retka. 1213 00:56:57,150 --> 00:57:00,330 Dakle funkcije su u biti, Kao što ste vidjeli, crne kutije. 1214 00:57:00,330 --> 00:57:04,290 Oni se zovu stvari u parametrima, oni učiniti nešto za njih, bilo 1215 00:57:04,290 --> 00:57:06,990 ih promijeniti ili stvoriti neke nuspojave, i konačno, pljuje 1216 00:57:06,990 --> 00:57:09,530 Nešto je, što je povratna vrijednost. 1217 00:57:09,530 --> 00:57:12,495 Može li netko dati mi jedan razlog Zato ćemo se poslužiti funkcije? 1218 00:57:12,495 --> 00:57:15,870 1219 00:57:15,870 --> 00:57:16,360 Bilo tko? 1220 00:57:16,360 --> 00:57:19,360 Jedan od razloga zašto bismo iskoristili funkcije? 1221 00:57:19,360 --> 00:57:21,280 Svatko? 1222 00:57:21,280 --> 00:57:22,700 Vidio sam dvije ruke. 1223 00:57:22,700 --> 00:57:23,590 Što je dobar razlog? 1224 00:57:23,590 --> 00:57:24,930 Marcus? 1225 00:57:24,930 --> 00:57:27,730 >> STUDENT: Ako imate nazvati isto komad koda više puta. 1226 00:57:27,730 --> 00:57:29,150 >> JASON Hirschhorna: OK, ako je potrebno nazvati isti komad 1227 00:57:29,150 --> 00:57:30,040 kodirati više puta. 1228 00:57:30,040 --> 00:57:32,470 Jeff, jesi li imati drugačiji razlog? 1229 00:57:32,470 --> 00:57:34,230 >> STUDENT: Samo da možete kodirati manje. 1230 00:57:34,230 --> 00:57:35,070 >> JASON Hirschhorna: Možete kodirati manje. 1231 00:57:35,070 --> 00:57:35,320 Točno. 1232 00:57:35,320 --> 00:57:38,720 Ako želite učiniti nešto puno - 1233 00:57:38,720 --> 00:57:41,720 u prethodnom kodu, mogao sam napisano doći string pet puta, ali 1234 00:57:41,720 --> 00:57:44,620 za petlje čini izgledaju ljepše i morate napisati manje kod. 1235 00:57:44,620 --> 00:57:45,760 Funkcije su slična ideja. 1236 00:57:45,760 --> 00:57:48,720 Ako želim napraviti istu stvar puno, ga premjestiti u funkciji, a tako zvati 1237 00:57:48,720 --> 00:57:49,610 funkcionirati svaki put. 1238 00:57:49,610 --> 00:57:51,190 To će učiniti da se stvar za vas. 1239 00:57:51,190 --> 00:57:53,740 To je veliki razlog koristiti funkcije. 1240 00:57:53,740 --> 00:57:54,870 >> Dakle, anatomija funkciji. 1241 00:57:54,870 --> 00:57:56,670 Funkcija će uglavnom izgledati ovako. 1242 00:57:56,670 --> 00:57:59,280 To ću početi s povratnom tipu, tada ćete dobiti ime. 1243 00:57:59,280 --> 00:58:02,935 To će potrajati argumente, inače poznat kao parametara, a unutar 1244 00:58:02,935 --> 00:58:05,290 ti vitičastim zagradama, vi ćete napisati svoj kod. 1245 00:58:05,290 --> 00:58:07,150 >> Vidjeli smo jednu funkciju puno. 1246 00:58:07,150 --> 00:58:09,160 To je glavna. 1247 00:58:09,160 --> 00:58:13,820 Ovdje je glavna superponirana da anatomija sam imala ranije. 1248 00:58:13,820 --> 00:58:15,525 Što int ovdje znači? 1249 00:58:15,525 --> 00:58:18,534 1250 00:58:18,534 --> 00:58:19,450 Što int znači? 1251 00:58:19,450 --> 00:58:21,026 Kad pišem int main (void). 1252 00:58:21,026 --> 00:58:21,740 >> STUDENT: Povratak putovanja? 1253 00:58:21,740 --> 00:58:22,350 >> JASON Hirschhorna: Žao mi? 1254 00:58:22,350 --> 00:58:23,170 >> STUDENT: povratak putovanja. 1255 00:58:23,170 --> 00:58:24,820 >> JASON Hirschhorna: Interesi je vrate tip, upravo pravo. 1256 00:58:24,820 --> 00:58:25,870 Glavni vraća int. 1257 00:58:25,870 --> 00:58:28,678 Što je glavni? 1258 00:58:28,678 --> 00:58:29,510 >> STUDENT: Funkcija ime. 1259 00:58:29,510 --> 00:58:30,800 >> JASON Hirschhorna: Glavni je naziv funkcije. 1260 00:58:30,800 --> 00:58:31,510 Točno u pravu. 1261 00:58:31,510 --> 00:58:31,840 I void? 1262 00:58:31,840 --> 00:58:33,190 Što je void unutar zagrada? 1263 00:58:33,190 --> 00:58:36,650 1264 00:58:36,650 --> 00:58:42,030 >> STUDENT: To ne potrajati bilo vanjsko vrijednost. 1265 00:58:42,030 --> 00:58:42,930 >> JASON Hirschhorna: Dakle void - 1266 00:58:42,930 --> 00:58:43,240 pravo. 1267 00:58:43,240 --> 00:58:45,940 Unutar zagrada, stavimo Parametri i argumenti 1268 00:58:45,940 --> 00:58:48,480 Funkcija se, što ide unutar crne kutije. 1269 00:58:48,480 --> 00:58:50,760 Kada pišete prazninu, što govoriš to traje ništa u. 1270 00:58:50,760 --> 00:58:53,802 Dakle int main void znači Glavne Ne uzimajući ništa u. 1271 00:58:53,802 --> 00:58:56,950 >> Unutar vitičastih zagrada, imamo neke broj, a onda ćemo vidjeti na kraju 1272 00:58:56,950 --> 00:58:57,640 vrati nulu. 1273 00:58:57,640 --> 00:59:01,220 Što znači povratak nulu? 1274 00:59:01,220 --> 00:59:02,470 Pa, razgovarali smo o povratku tipa. 1275 00:59:02,470 --> 00:59:03,780 Glavni treba vratiti int. 1276 00:59:03,780 --> 00:59:04,960 To je ono što ova linija radi. 1277 00:59:04,960 --> 00:59:07,330 To vraća int, nula. 1278 00:59:07,330 --> 00:59:13,600 >> Naravno, nismo vidjeli da je puno jer u programiranju radimo s 1279 00:59:13,600 --> 00:59:16,070 strojevi radimo i prevodiocima mi danas koristimo, te 1280 00:59:16,070 --> 00:59:16,990 ne treba tu liniju. 1281 00:59:16,990 --> 00:59:20,070 Glavni je posebna dovoljno da zna kad dođete do kraja glavna, samo 1282 00:59:20,070 --> 00:59:22,060 vrati nulu, ako sve ide dobro. 1283 00:59:22,060 --> 00:59:25,560 U stvari, ako se nešto ne ide dobro, Glavni često će se vratiti drugačije 1284 00:59:25,560 --> 00:59:28,500 Broj označava da je nešto je pošlo po zlu sa svojim programom. 1285 00:59:28,500 --> 00:59:32,470 >> Dakle, općenito kad vidite kod, nemojte pisati povratak nula, ali to je dobro 1286 00:59:32,470 --> 00:59:34,770 znati da se to događa iza scene, jer kad pišete 1287 00:59:34,770 --> 00:59:36,370 druga vrsta funkcije, ćete morati 1288 00:59:36,370 --> 00:59:37,400 uključuju povratni vod. 1289 00:59:37,400 --> 00:59:39,710 Ako ste rekavši da ću vratiti int, morate 1290 00:59:39,710 --> 00:59:41,250 napisati nešto vratiti. 1291 00:59:41,250 --> 00:59:45,160 Ako kažeš void se ovdje početak, void main void, za 1292 00:59:45,160 --> 00:59:48,670 Primjer, onda ne vraćaju ništa - void znači ništa - 1293 00:59:48,670 --> 00:59:50,320 tako da ne treba taj povratni vod. 1294 00:59:50,320 --> 00:59:53,610 Ali ste ikad napisati nešto što nije poništiti za povratnu tipa, trebate 1295 00:59:53,610 --> 00:59:55,950 linija koja kaže da povratak i vi morate staviti nešto postoji 1296 00:59:55,950 --> 00:59:57,650 koji odgovara vrsti. 1297 00:59:57,650 --> 00:59:58,900 Sva pitanja o tome? 1298 00:59:58,900 --> 01:00:03,110 1299 01:00:03,110 --> 01:00:04,680 Sweet. 1300 01:00:04,680 --> 01:00:05,930 >> Opseg. 1301 01:00:05,930 --> 01:00:07,360 To je nešto što smo dotaknuo, kao dobro. 1302 01:00:07,360 --> 01:00:10,720 Svaka varijabla, kao što znamo, ima Opseg sigurno, a to je u osnovi 1303 01:00:10,720 --> 01:00:14,160 govorimo o tome gdje je varijabla može i ne mora biti naveden. 1304 01:00:14,160 --> 01:00:16,310 I ja volim reći što će se dogoditi u vitičastim zagradama ostaje 1305 01:00:16,310 --> 01:00:18,000 unutar vitičastih zagrada. 1306 01:00:18,000 --> 01:00:21,490 Tako na primjer, ako ćemo gledati na ovom kodu, mi smo definiranje globalne varijable 1307 01:00:21,490 --> 01:00:24,510 izvan velikih, int, Ovdje se, na vrhu. 1308 01:00:24,510 --> 01:00:27,380 Nazvat ćemo još jedan int unutar glavna. 1309 01:00:27,380 --> 01:00:29,760 Mi imamo neke više vitičastim zagradama, a Nazvat ćemo još int. 1310 01:00:29,760 --> 01:00:31,690 >> Imamo tri-ih u kodu. 1311 01:00:31,690 --> 01:00:32,550 To nisu ista stvar. 1312 01:00:32,550 --> 01:00:34,880 Ja sam stvorio tri različite varijable. 1313 01:00:34,880 --> 01:00:39,370 Zatim unutar tih unutarnje kovrčavom aparatić, kažem = 4. 1314 01:00:39,370 --> 01:00:44,130 Koji je to govoriš, Prva, druga, 1315 01:00:44,130 --> 01:00:47,045 ili treći? 1316 01:00:47,045 --> 01:00:47,920 >> STUDENT: treći. 1317 01:00:47,920 --> 01:00:49,320 >> JASON Hirschhorna: To govori o trećem. 1318 01:00:49,320 --> 01:00:52,850 Svi koji to zapravo može biti govorio o ovaj 1319 01:00:52,850 --> 01:00:58,660 instanca, jer je njihov opseg sve ide u tim intimnim vitičastim zagradama. 1320 01:00:58,660 --> 01:01:02,360 Međutim, kada poziv stvari ista Naziv, postoji nešto što se zove skriva. 1321 01:01:02,360 --> 01:01:09,670 Dakle, samo se bave ili popraviti ili koristiti Najnovija varijabla ili jedan 1322 01:01:09,670 --> 01:01:11,090 najbliže vama. 1323 01:01:11,090 --> 01:01:14,760 Dakle, ovdje unutra, taj treći je najbliži te granice, a = 4, tako da 1324 01:01:14,760 --> 01:01:16,550 utječe na treću. 1325 01:01:16,550 --> 01:01:19,890 I zadnja linija, a = 2, koji je koji govori o tome, prvo, drugo, 1326 01:01:19,890 --> 01:01:20,805 ili treći? 1327 01:01:20,805 --> 01:01:22,530 >> STUDENT: Drugo. 1328 01:01:22,530 --> 01:01:24,430 >> JASON Hirschhorna: To govori o drugom A. 1329 01:01:24,430 --> 01:01:27,970 Naravno, treći je najbliži je u kodu, a treći 1330 01:01:27,970 --> 01:01:30,200 ne postoji izvan ti vitičastim zagradama. 1331 01:01:30,200 --> 01:01:32,650 Nakon što se u tom zatvorenom kovrčavom braće, to je kao da je otišao, 1332 01:01:32,650 --> 01:01:33,570 osnovi. 1333 01:01:33,570 --> 01:01:36,150 Dakle, samo dva ste ostavili su one Prva dva, i naravno, sada 1334 01:01:36,150 --> 01:01:37,960 to je najbliži drugi. 1335 01:01:37,960 --> 01:01:39,410 >> Dakle, to je dobra stvar za sjetiti o opsegu. 1336 01:01:39,410 --> 01:01:42,900 Na primjer, siguran sam da ste naišli to učiniti dok petlje. 1337 01:01:42,900 --> 01:01:46,680 Ako inicijalizirati varijablu unutar while petljom, a onda pokušati 1338 01:01:46,680 --> 01:01:50,360 pristupiti izvana, vjerojatno dobio neke upozorenje kako ovo 1339 01:01:50,360 --> 01:01:51,680 varijabla ne postoji. 1340 01:01:51,680 --> 01:01:54,370 To je zbog opsega ideje, da stvari postoje samo 1341 01:01:54,370 --> 01:01:55,320 unutar tih vitičastim zagradama. 1342 01:01:55,320 --> 01:01:59,320 Vitičastim zagradama su kao divovski zagrljaj da dajete svoj kôd, još je jedan 1343 01:01:59,320 --> 01:02:01,380 način da misle o tome. 1344 01:02:01,380 --> 01:02:05,280 >> Dakle, ovo je još jedna funkcija, nešto za vi u kodu, hellofunction.c. 1345 01:02:05,280 --> 01:02:08,240 Idemo preskočiti da je za sada, ali to je nešto što sam vas potaknuti da 1346 01:02:08,240 --> 01:02:09,740 vježbati sami. 1347 01:02:09,740 --> 01:02:12,510 Napišite program u kojem glavne poziva još jedna funkcija koja ispisuje 1348 01:02:12,510 --> 01:02:13,750 pozdrav za korisnika. 1349 01:02:13,750 --> 01:02:17,750 To u biti je uzimanje Pozdrav svijetu i apstrahira da u printf 1350 01:02:17,750 --> 01:02:18,680 još jedna funkcija. 1351 01:02:18,680 --> 01:02:22,360 Ali nećemo učiniti da upravo sada jer mi nemamo toliko vremena 1352 01:02:22,360 --> 01:02:23,350 napustio kao što sam želio. 1353 01:02:23,350 --> 01:02:26,250 >> Dakle funkciju deklaracija. 1354 01:02:26,250 --> 01:02:28,080 Vidjeli smo to prije, kao dobro. 1355 01:02:28,080 --> 01:02:31,180 Ako želite pisati još jedan funkciju, vam je potrebno da računalo zna i 1356 01:02:31,180 --> 01:02:32,600 Glavni znati da ona postoji. 1357 01:02:32,600 --> 01:02:37,140 Dakle, ono što mi radimo je iznad glavna, pišemo povratni tip, ime i 1358 01:02:37,140 --> 01:02:42,970 Parametri, a zatim dolje glavna, ovdje, mi zapravo kopirati tu liniju 1359 01:02:42,970 --> 01:02:45,080 , a zatim napisati stvarni broj. 1360 01:02:45,080 --> 01:02:50,990 Dakle, na ovaj način, ako pozvati funkciju u glavnom, na vrhu, glavna zna da 1361 01:02:50,990 --> 01:02:54,650 Pozdrav postoji, na primjer, ako mi je zvati hello, a onda to izgleda 1362 01:02:54,650 --> 01:02:56,710 Provedba dolje. 1363 01:02:56,710 --> 01:02:59,680 Što se događa ako ne uključuju ove redati vrhu, poništiti Pozdrav (void)? 1364 01:02:59,680 --> 01:03:03,820 1365 01:03:03,820 --> 01:03:06,560 >> Ako ne dodam ovu liniju , a glavni pozivi Pozdrav, ja sam 1366 01:03:06,560 --> 01:03:07,640 Dobit će pogrešku. 1367 01:03:07,640 --> 01:03:10,090 Ja ću dobiti greška jer prevodilac ne zna 1368 01:03:10,090 --> 01:03:13,070 da je to stvar postoji. 1369 01:03:13,070 --> 01:03:16,680 To je razlog zašto smo slični # ne uključuju cs50.h. 1370 01:03:16,680 --> 01:03:21,390 Što u biti cs50.h radi stavlja se niz gore. 1371 01:03:21,390 --> 01:03:23,120 To je stavljajući dobili int tamo gore. 1372 01:03:23,120 --> 01:03:26,570 To je stavljajući sve one funkcije Prototipovi do prije Glavna tako da kada 1373 01:03:26,570 --> 01:03:29,900 li ih pozvati na glavni, glavna zna da ove stvari postoje. 1374 01:03:29,900 --> 01:03:31,630 To je ono što ti h. Slika učiniti. 1375 01:03:31,630 --> 01:03:33,850 I tako, ako ste idući u izraditi sami funkcija, moraš osigurati 1376 01:03:33,850 --> 01:03:36,690 spojiš taj prototip tamo gore. 1377 01:03:36,690 --> 01:03:38,380 Sva pitanja o tome do sada? 1378 01:03:38,380 --> 01:03:41,630 1379 01:03:41,630 --> 01:03:42,490 >> Argumenata naredbenog retka. 1380 01:03:42,490 --> 01:03:44,780 To je ono što ćemo do kraja na, a onda se nadam da ćemo 1381 01:03:44,780 --> 01:03:46,180 ugurati u neki pset. 1382 01:03:46,180 --> 01:03:48,700 Ja ne znam da li ćemo moći ugurati da zbog vremena, ali 1383 01:03:48,700 --> 01:03:51,560 s vama koji ste ovdje, a ako Dečki žele reći nakon za malo, mi 1384 01:03:51,560 --> 01:03:54,290 može ići preko njega izvana. 1385 01:03:54,290 --> 01:03:56,020 No, idemo do kraja s argumenata naredbenog retka 1386 01:03:56,020 --> 01:03:58,510 za posljednjih 15 minuta. 1387 01:03:58,510 --> 01:03:59,930 Mi smo budni, Michael? 1388 01:03:59,930 --> 01:04:01,180 Ti si budan? 1389 01:04:01,180 --> 01:04:01,660 Dobro. 1390 01:04:01,660 --> 01:04:03,760 Ne znam ako spavate s oči zatvorene. 1391 01:04:03,760 --> 01:04:05,800 To će biti lukav. 1392 01:04:05,800 --> 01:04:07,180 >> Argumenata naredbenog retka. 1393 01:04:07,180 --> 01:04:10,430 Oni su jedan od načina da prođe informacije u program. 1394 01:04:10,430 --> 01:04:12,780 Na kraju, mi ćemo se susresti drugima. 1395 01:04:12,780 --> 01:04:15,600 Ali u biti, idemo zaustaviti piše int main (void), ako želimo 1396 01:04:15,600 --> 01:04:16,720 poduzeti neke argumente naredbenog retka. 1397 01:04:16,720 --> 01:04:19,850 Idemo pisati ovu stvar zove int main (int argc, 1398 01:04:19,850 --> 01:04:22,430 string argv, nosači. 1399 01:04:22,430 --> 01:04:23,710 To je zbunjujuće. 1400 01:04:23,710 --> 01:04:26,070 To je puno slova koja nisu u Engleski čovjeka, tako da ćemo 1401 01:04:26,070 --> 01:04:27,680 ih raspakirati upravo sada. 1402 01:04:27,680 --> 01:04:30,450 >> Argc zalaže za argument count - 1403 01:04:30,450 --> 01:04:32,600 i opet, sve to će se biti dostupan online - 1404 01:04:32,600 --> 01:04:34,280 te da je broj argumenata. 1405 01:04:34,280 --> 01:04:37,940 Argv stoji za argument vektor, a To su argumenti sami. 1406 01:04:37,940 --> 01:04:38,830 To je niz žice. 1407 01:04:38,830 --> 01:04:40,880 Zapravo smo vidjeli niz nizova prije danas. 1408 01:04:40,880 --> 01:04:44,390 Stvorili smo jednu u posljednja Program smo kodirane. 1409 01:04:44,390 --> 01:04:45,720 >> Dakle, ovdje je primjer. 1410 01:04:45,720 --> 01:04:50,230 Pišem. / Ohai CS50 poglavlje na mom naredbenog retka. 1411 01:04:50,230 --> 01:04:54,090 Argc u ovom slučaju iznosi tri. 1412 01:04:54,090 --> 01:05:01,170 Argv nosač 0 je ohai, argv nosač 1 je CS50, argv nosač 2 je poglavlje. 1413 01:05:01,170 --> 01:05:05,160 Opet, argc je broj argumenata, i da vas putovanje do malo 1414 01:05:05,160 --> 01:05:08,710 malo smo se računaju ime djeluju kao prvi argument. 1415 01:05:08,710 --> 01:05:12,350 Dakle, u ovom slučaju, postoje tri Argumenti, naziv mjesta u funkciji 1416 01:05:12,350 --> 01:05:14,590 a zatim one dvije koje sam unese 1417 01:05:14,590 --> 01:05:18,900 >> Dalje, idemo spasiti one Sebe argumenti u argv. 1418 01:05:18,900 --> 01:05:22,690 A opet, baš kao što smo vidjeli prije, što smo učinili to u posljednjem programu smo kodirane. 1419 01:05:22,690 --> 01:05:27,110 Možete se kretati kroz niz argv i dobiti one konce. 1420 01:05:27,110 --> 01:05:28,830 To je u biti ono što jesmo, na Kraj našeg zadnjeg programa. 1421 01:05:28,830 --> 01:05:33,190 Mi smo odabrali slučajni ime, a zatim je otišao u imena nosač god i tiskani 1422 01:05:33,190 --> 01:05:34,580 iz niza nalazi tamo. 1423 01:05:34,580 --> 01:05:39,870 1424 01:05:39,870 --> 01:05:43,670 >> Na vrhu samo jedan niz, jer žice su sami nizovi, kao 1425 01:05:43,670 --> 01:05:46,320 govorio o, možete imati polja matrica, koja je 1426 01:05:46,320 --> 01:05:48,530 u biti ono što je argv. 1427 01:05:48,530 --> 01:05:51,370 Jedan od načina možete razmišljati o ovo redaka i stupaca. 1428 01:05:51,370 --> 01:05:54,750 Ja mogu privući da upravo sada. 1429 01:05:54,750 --> 01:05:57,370 Dakle argv - 1430 01:05:57,370 --> 01:05:58,630 to nije brisanja. 1431 01:05:58,630 --> 01:05:59,880 Idemo privući pod ohai. 1432 01:05:59,880 --> 01:06:09,320 1433 01:06:09,320 --> 01:06:12,490 >> Dakle, ako sam napisao u, ohai CS50 odjeljku, Ja ću je skratiti 1434 01:06:12,490 --> 01:06:14,520 Odsjek za ovaj primjer. 1435 01:06:14,520 --> 01:06:29,026 Ali u biti, moj višedimenzionalni Niz, ohai CS50, 1436 01:06:29,026 --> 01:06:32,200 idemo napraviti sektu. 1437 01:06:32,200 --> 01:06:34,610 Pa evo, ja mogu pristupiti - 1438 01:06:34,610 --> 01:06:40,930 1439 01:06:40,930 --> 01:06:45,710 ako sam samo dati argv jedan broj - 1440 01:06:45,710 --> 01:06:46,390 to je krivo. 1441 01:06:46,390 --> 01:06:49,020 Što je pogrešno u ovom dijagramu? 1442 01:06:49,020 --> 01:06:49,690 >> STUDENT: Start na nulu. 1443 01:06:49,690 --> 01:06:50,350 >> JASON Hirschhorna: Treba početi s nulom. 1444 01:06:50,350 --> 01:06:52,940 Vjerojatno sam trebao Također ga rotirati, ali jer već sam ga izvući, ja sam 1445 01:06:52,940 --> 01:06:54,120 će ga ostaviti tamo za sada. 1446 01:06:54,120 --> 01:06:55,160 No, ona počinje od nule. 1447 01:06:55,160 --> 01:06:56,410 To je točno. 1448 01:06:56,410 --> 01:06:58,980 1449 01:06:58,980 --> 01:07:00,120 Žao mi je ako je to mala. 1450 01:07:00,120 --> 01:07:01,370 Možete li kakve vidjeti? 1451 01:07:01,370 --> 01:07:03,620 1452 01:07:03,620 --> 01:07:06,670 Dakle, ako mi je činiti argv 0, ja ću dobiti sve ohai. 1453 01:07:06,670 --> 01:07:08,555 Ako ja to argv 1, ja ću dobiti sve CS50. 1454 01:07:08,555 --> 01:07:10,720 Ako ja to argv 2, ja ću dobiti sve sekte. 1455 01:07:10,720 --> 01:07:13,370 >> Ali sada, kao što smo rekli, žice su nizovi sami. 1456 01:07:13,370 --> 01:07:19,740 Dakle, ono što ja mogu učiniti je da može liječiti ovu kao multi-dimenzionalni niz, i ja 1457 01:07:19,740 --> 01:07:24,190 može učiniti nešto uzduž linije od argv 0, 0, što mi daje samo 1458 01:07:24,190 --> 01:07:25,400 0 znakova. 1459 01:07:25,400 --> 01:07:28,760 Argv 0, 1, što daje mi samo h. 1460 01:07:28,760 --> 01:07:33,960 Argv 1, 3, što mi daje samo ovo 0 ovdje u CS50. 1461 01:07:33,960 --> 01:07:37,690 >> Dakle, jer žice sami su polja, mi smo stavljajući 1462 01:07:37,690 --> 01:07:38,540 da u nekom drugom polju. 1463 01:07:38,540 --> 01:07:42,850 Sada imamo niz polja, a mi može indeksirati u naš prvi niz i 1464 01:07:42,850 --> 01:07:44,840 zatim indeks u našem drugom polju. 1465 01:07:44,840 --> 01:07:48,650 I kao što se i očekuje, možemo to učiniti po samo stavljanjem te dvije - 1466 01:07:48,650 --> 01:07:51,760 Mi radimo samo uglate zagrade tik jedni drugima. 1467 01:07:51,760 --> 01:07:58,930 Dakle, u ovom primjeru, argv 1 je CS50 i argv 1, 2, kao što smo rekli, je samo 5. 1468 01:07:58,930 --> 01:08:02,120 Da li itko ima bilo kakvih pitanja u vezi višedimenzionalne polja? 1469 01:08:02,120 --> 01:08:05,090 1470 01:08:05,090 --> 01:08:06,380 Dečki rade odlično. 1471 01:08:06,380 --> 01:08:07,750 Sweet. 1472 01:08:07,750 --> 01:08:11,980 >> Dakle, imamo još jedan program ovdje, i to je konačna stvar da smo 1473 01:08:11,980 --> 01:08:13,690 će učiniti upravo sada. 1474 01:08:13,690 --> 01:08:18,160 Dakle, želim vam napisati program koji traje korisnikovo ime i prezime, a samo dvije 1475 01:08:18,160 --> 01:08:21,649 Dva argumenata naredbenog retka, i na kraju, ispisati pozdrav 1476 01:08:21,649 --> 01:08:24,180 Korisnik koji uključuje svoje ime. 1477 01:08:24,180 --> 01:08:27,800 Pa zašto ne uzmeš tri ili četiri minute za to, a onda ćemo ići 1478 01:08:27,800 --> 01:08:29,870 preko njega kao skupina, a onda ćemo završiti? 1479 01:08:29,870 --> 01:09:44,189 1480 01:09:44,189 --> 01:09:48,084 >> I opet, ovdje, kada kažemo potrajati korisnikovo ime i prezime i po opisu 1481 01:09:48,084 --> 01:09:54,473 ovog problema, to bi trebao biti naredba retka argumente, ne koristi se niz. 1482 01:09:54,473 --> 01:09:55,450 Da, Marcus? 1483 01:09:55,450 --> 01:09:58,260 >> UČENIK: Pa kad kažu dvije naredbe retka argumente, je da osim 1484 01:09:58,260 --> 01:10:00,000 . / pokrenuti, ili - 1485 01:10:00,000 --> 01:10:02,980 >> JASON Hirschhorna: Dobro pitanje. 1486 01:10:02,980 --> 01:10:05,995 Da, uključujući. / Vožnji, tri argumenata naredbenog retka. 1487 01:10:05,995 --> 01:10:08,550 1488 01:10:08,550 --> 01:10:11,320 Ili uključujući. / Personalizirane, u ovaj slučaj, jer to je 1489 01:10:11,320 --> 01:10:12,360 Naziv ove datoteke. 1490 01:10:12,360 --> 01:10:13,300 Dakle argc bi biti tri. 1491 01:10:13,300 --> 01:10:19,480 No, želim samo dvije riječi s obzirom na program. 1492 01:10:19,480 --> 01:10:20,400 Ja bi to promijenili. 1493 01:10:20,400 --> 01:10:23,380 Ja ću napraviti tu promjenu prije sam post njih i poslati ih na vama. 1494 01:10:23,380 --> 01:10:32,747 1495 01:10:32,747 --> 01:10:34,740 >> STUDENT: Što ako imaju srednje ime? 1496 01:10:34,740 --> 01:10:36,800 >> JASON Hirschhorna: Ako imate sredini Naziv, ti si od sreće. 1497 01:10:36,800 --> 01:10:38,050 Žao mi je. 1498 01:10:38,050 --> 01:10:40,320 1499 01:10:40,320 --> 01:10:43,744 Ili ako idu samo po Shakira, ti si također od sreće. 1500 01:10:43,744 --> 01:10:55,672 1501 01:10:55,672 --> 01:10:56,425 Da? 1502 01:10:56,425 --> 01:11:00,760 >> UČENIK: Pa kad ljudi nemaju cs50.h, oni definiraju argv 1503 01:11:00,760 --> 01:11:03,450 kao char zvijezda argv? 1504 01:11:03,450 --> 01:11:05,160 Ili je to još uvijek zove gudački argv? 1505 01:11:05,160 --> 01:11:07,430 >> JASON Hirschhorna: Da. 1506 01:11:07,430 --> 01:11:10,480 Dakle string, opet, mi obljepe što točno tamo događa. 1507 01:11:10,480 --> 01:11:14,040 To će biti nespreman možda u srijedu, ali je ubrzo. 1508 01:11:14,040 --> 01:11:16,380 To je kao trening kotača. 1509 01:11:16,380 --> 01:11:18,370 Jer u biti, to je ista stvar. 1510 01:11:18,370 --> 01:11:37,040 1511 01:11:37,040 --> 01:11:42,560 >> Tako ćemo još minutu na programu to, a onda ćemo ići preko 1512 01:11:42,560 --> 01:11:45,130 je kao grupa, a zatim kao što sam rekao, završiti. 1513 01:11:45,130 --> 01:11:47,770 I mislim da su još dodatno bombona, pa vi nadamo treba uzeti 1514 01:11:47,770 --> 01:11:49,790 da, i molimo se da. 1515 01:11:49,790 --> 01:12:20,380 1516 01:12:20,380 --> 01:12:22,560 >> Žao nam je ako ste još uvijek piše, ali želim roniti i mi 1517 01:12:22,560 --> 01:12:24,010 Možete ga završiti zajedno. 1518 01:12:24,010 --> 01:12:30,470 Pa ja sam napisao u, # include cs50.h, # include stdio.h. 1519 01:12:30,470 --> 01:12:33,970 int main (void), kovrčava brace, kovrčava Brace, unutar tri linije 1520 01:12:33,970 --> 01:12:38,760 pseudocode, uzeti korisnikovo ime i prezime, dva i samo dva naredbenog retka 1521 01:12:38,760 --> 01:12:42,670 Argumenti, ispisati pozdrav Korisnik koji uključuje svoje ime. 1522 01:12:42,670 --> 01:12:45,810 >> Dakle, prvo jedan, u korisnikovo ime i prezime. 1523 01:12:45,810 --> 01:12:47,290 Tko mi može pomoći da se u korisnikovo ime i prezime? 1524 01:12:47,290 --> 01:12:50,882 1525 01:12:50,882 --> 01:12:52,780 Kako mogu napraviti taj dio? 1526 01:12:52,780 --> 01:12:57,685 1527 01:12:57,685 --> 01:12:59,500 Jeste li vi to učiniti taj prvi dio? 1528 01:12:59,500 --> 01:13:02,587 1529 01:13:02,587 --> 01:13:03,894 Uzmi korisnikovo ime i prezime. 1530 01:13:03,894 --> 01:13:05,860 Pa, za to je jedan naredbenog retka argument, ono što bih trebao napisati? 1531 01:13:05,860 --> 01:13:09,624 Što trebam promijeniti o moja funkcija izjava? 1532 01:13:09,624 --> 01:13:11,140 >> STUDENT: Vi ne želite da su nevažeće više. 1533 01:13:11,140 --> 01:13:11,410 >> JASON Hirschhorna: Točno. 1534 01:13:11,410 --> 01:13:12,385 Ne želim da bude nevažeće. 1535 01:13:12,385 --> 01:13:13,630 Što ja želim da bude? 1536 01:13:13,630 --> 01:13:14,650 >> STUDENT: Int argc. 1537 01:13:14,650 --> 01:13:15,720 >> JASON Hirschhorna: Interesi argc. 1538 01:13:15,720 --> 01:13:17,430 >> STUDENT: String argv. 1539 01:13:17,430 --> 01:13:19,055 >> JASON Hirschhorna: String argv. 1540 01:13:19,055 --> 01:13:19,705 >> STUDENT: nosač, nosač. 1541 01:13:19,705 --> 01:13:20,070 >> JASON Hirschhorna: nosač, nosač. 1542 01:13:20,070 --> 01:13:21,780 To je točno, i to je zapravo sam kako ću dobiti 1543 01:13:21,780 --> 01:13:22,820 u korisnikovo ime i prezime. 1544 01:13:22,820 --> 01:13:24,070 Oni će ga tamo staviti. 1545 01:13:24,070 --> 01:13:27,720 1546 01:13:27,720 --> 01:13:28,780 Tako da je jedan je učinio. 1547 01:13:28,780 --> 01:13:30,780 Dakle, sada želim dvije i samo dvije argumenata naredbenog retka. 1548 01:13:30,780 --> 01:13:35,065 Tako Noa, što je jedan od načina da mogu provjeriti broj zapovijedanja 1549 01:13:35,065 --> 01:13:36,315 retka argumente imam? 1550 01:13:36,315 --> 01:13:39,676 1551 01:13:39,676 --> 01:13:40,725 >> UČENIK: Doista, ako priopćenju. 1552 01:13:40,725 --> 01:13:42,270 >> JASON Hirschhorna: Ako Izjava, točno. 1553 01:13:42,270 --> 01:13:44,830 Što želim kao uvjet? 1554 01:13:44,830 --> 01:13:48,370 >> STUDENT: Ako argc veći od tri. 1555 01:13:48,370 --> 01:13:52,485 >> JASON Hirschhorna: Ako argc veći od 3. 1556 01:13:52,485 --> 01:13:58,430 Ako argc veći od 3, što da radim? 1557 01:13:58,430 --> 01:13:59,400 >> STUDENT: Povratak 1. 1558 01:13:59,400 --> 01:14:01,856 >> JASON Hirschhorna: Povratak jednog. 1559 01:14:01,856 --> 01:14:04,050 Hoće kako bi se osiguralo Imam dvije i samo dvije? 1560 01:14:04,050 --> 01:14:07,280 1561 01:14:07,280 --> 01:14:07,820 >> UČENIK: Ne 1562 01:14:07,820 --> 01:14:13,110 Ako argc je veća od 3 i manje od 2. 1563 01:14:13,110 --> 01:14:17,770 >> JASON Hirschhorna: Ako argc veća od 3 i argc je manje od 2. 1564 01:14:17,770 --> 01:14:21,540 Što je jedan od načina Mogu napisati to na samo jedan redak, odnosno da je bez korištenja 1565 01:14:21,540 --> 01:14:23,890 i Boolean operator? 1566 01:14:23,890 --> 01:14:25,942 >> STUDENT: To nije jednaka 2. 1567 01:14:25,942 --> 01:14:28,790 >> JASON Hirschhorna: Ako argc nije jednako 2. 1568 01:14:28,790 --> 01:14:29,260 Točno. 1569 01:14:29,260 --> 01:14:34,890 Tako da ako argc nije jednako 2, da dat će mi ovaj program, 1570 01:14:34,890 --> 01:14:37,250 personalizirane, kad sam ga pokrenuti, a da će mi dati koliko 1571 01:14:37,250 --> 01:14:38,740 argumenata naredbenog retka? 1572 01:14:38,740 --> 01:14:42,110 Koliko će sam provjeriti? 1573 01:14:42,110 --> 01:14:42,370 >> Žao nam je. 1574 01:14:42,370 --> 01:14:43,400 Dopustite mi ponoviti to. 1575 01:14:43,400 --> 01:14:46,620 Ako argc = 2, koliko stvari učinio Korisnik pisati u skladu? 1576 01:14:46,620 --> 01:14:47,500 >> STUDENT: Jedan. 1577 01:14:47,500 --> 01:14:49,120 >> JASON Hirschhorna: Samo jednu. 1578 01:14:49,120 --> 01:14:50,430 Dakle, prije nego što, bila si u pravu, Noah. 1579 01:14:50,430 --> 01:14:52,192 Što mi zapravo treba staviti tamo? 1580 01:14:52,192 --> 01:14:53,640 >> STUDENT: To je jednako tri. 1581 01:14:53,640 --> 01:14:55,970 >> JASON Hirschhorna: argc nije jednako 3. 1582 01:14:55,970 --> 01:15:00,250 Želim biti jednak tri, jer želim personalizirane plus druga dva. 1583 01:15:00,250 --> 01:15:02,560 Dakle, ako argc nije jednaka 3, vratite jedan. 1584 01:15:02,560 --> 01:15:04,475 Zašto ste rekli da se vrate 1? 1585 01:15:04,475 --> 01:15:06,180 >> STUDENT: Zato što Znači da je u krivu. 1586 01:15:06,180 --> 01:15:08,420 >> JASON Hirschhorna: To znači da je u krivu, i što to ide raditi? 1587 01:15:08,420 --> 01:15:10,360 >> STUDENT: Re-brz korisnik. 1588 01:15:10,360 --> 01:15:11,940 >> JASON Hirschhorna: To će prestati Program, tako da će morati pokrenuti 1589 01:15:11,940 --> 01:15:14,520 opet, ali mi nemamo ništa u ovdje pitati za njih opet. 1590 01:15:14,520 --> 01:15:14,840 Nisam pitao za to. 1591 01:15:14,840 --> 01:15:15,990 Dakle, to je točno. 1592 01:15:15,990 --> 01:15:17,680 Povratak jedna samo zatvara program. 1593 01:15:17,680 --> 01:15:18,520 Sjajno. 1594 01:15:18,520 --> 01:15:21,600 >> I ispisati pozdrav korisnika to uključuje i svoje ime. 1595 01:15:21,600 --> 01:15:24,010 Kako mogu to učiniti? 1596 01:15:24,010 --> 01:15:25,990 Anna? 1597 01:15:25,990 --> 01:15:26,580 >> STUDENT: printf. 1598 01:15:26,580 --> 01:15:27,785 >> JASON Hirschhorna: printf. 1599 01:15:27,785 --> 01:15:28,640 >> UČENIK: (" 1600 01:15:28,640 --> 01:15:30,460 >> JASON Hirschhorna: ( 1601 01:15:30,460 --> 01:15:31,600 >> UČENIK: "Pozdrav 1602 01:15:31,600 --> 01:15:33,210 >> JASON Hirschhorna: "Pozdrav 1603 01:15:33,210 --> 01:15:34,800 >> STUDENT:% s 1604 01:15:34,800 --> 01:15:37,230 >> JASON Hirschhorna:% s 1605 01:15:37,230 --> 01:15:38,840 >> STUDENT: / n 1606 01:15:38,840 --> 01:15:41,030 >> JASON Hirschhorna: / n 1607 01:15:41,030 --> 01:15:43,120 >> UČENIK: ", 1608 01:15:43,120 --> 01:15:45,130 >> JASON Hirschhorna: ", 1609 01:15:45,130 --> 01:15:46,620 >> STUDENT: argv 1610 01:15:46,620 --> 01:15:47,080 >> JASON Hirschhorna: Žao mi? 1611 01:15:47,080 --> 01:15:47,750 >> STUDENT: argv 1612 01:15:47,750 --> 01:15:48,840 >> JASON Hirschhorna: argv 1613 01:15:48,840 --> 01:15:50,190 >> STUDENT: Trg nosači 1. 1614 01:15:50,190 --> 01:15:51,230 >> JASON Hirschhorna: Trg nosači? 1615 01:15:51,230 --> 01:15:51,870 >> STUDENT: 1. 1616 01:15:51,870 --> 01:15:54,050 >> JASON Hirschhorna: 1. 1617 01:15:54,050 --> 01:15:55,850 >> STUDENT: I) zarez. 1618 01:15:55,850 --> 01:15:58,290 >> JASON Hirschhorna:) zarez. 1619 01:15:58,290 --> 01:16:00,250 Neka nam to pokrenuti. 1620 01:16:00,250 --> 01:16:03,730 Provjerite personalizirane. 1621 01:16:03,730 --> 01:16:06,392 . / Osobnije. 1622 01:16:06,392 --> 01:16:07,420 To samo prestati. 1623 01:16:07,420 --> 01:16:10,390 Zašto se to prestati? 1624 01:16:10,390 --> 01:16:11,310 >> STUDENT: Nisi stavio nikakve argumente. 1625 01:16:11,310 --> 01:16:12,560 >> JASON Hirschhorna: Nisam stavi argumente u. 1626 01:16:12,560 --> 01:16:16,360 1627 01:16:16,360 --> 01:16:16,920 Izgleda super. 1628 01:16:16,920 --> 01:16:18,130 Vi ga razapet. 1629 01:16:18,130 --> 01:16:22,420 Pa opet, da je otišao u argv i tebe provjeren na početku argc. 1630 01:16:22,420 --> 01:16:24,390 To su dva važna stvari koje treba zapamtiti. 1631 01:16:24,390 --> 01:16:29,250 Dakle, u našim posljednje dvije minute prije nego što smo otići, nećemo doći do pset dva, ali 1632 01:16:29,250 --> 01:16:33,585 kao što sam rekao, ako želite ostati nakon za 10 minuta, ja bih bio sretan da ide 1633 01:16:33,585 --> 01:16:35,710 s više dečki logici za tih problema setovima. 1634 01:16:35,710 --> 01:16:37,930 Imali smo dosta da pokrije danas pa nisam doći do njih. 1635 01:16:37,930 --> 01:16:39,820 Općenito, volim se uključiti da je na kraju. 1636 01:16:39,820 --> 01:16:42,150 Dakle, ako želite ostati, stick za oko 10 minuta. 1637 01:16:42,150 --> 01:16:42,990 Mi ćemo to učiniti. 1638 01:16:42,990 --> 01:16:46,250 >> Zatim, kao što sam spomenuo na početku, pset nula i jedan, dobit ćemo da je 1639 01:16:46,250 --> 01:16:48,040 povratne informacije natrag na vas, kao prije moguće. 1640 01:16:48,040 --> 01:16:51,260 Cilj je da se pset jednu povratnu informaciju, komentara dio, 1641 01:16:51,260 --> 01:16:52,850 prije pset dva je zbog. 1642 01:16:52,850 --> 01:16:56,730 Dakle, ako ste napravili neke pogreške ili stilski, stvari bi mogle biti bolje, 1643 01:16:56,730 --> 01:17:01,330 ćete imati tu informaciju, tako da neće raditi iste stvari u dvije pset. 1644 01:17:01,330 --> 01:17:06,140 A onda u budućnosti, vi ćete dobiti sve vašeg pset povratne informacije i komentare 1645 01:17:06,140 --> 01:17:08,190 natrag prije nego što sljedeći je zbog. 1646 01:17:08,190 --> 01:17:12,695 >> Na kraju, ako sam mogao staviti u drugi plug za povratne informacije. 1647 01:17:12,695 --> 01:17:13,935 Ovo je tvoj prvi dio. 1648 01:17:13,935 --> 01:17:15,920 To je bio moj prvi dio učeći ove godine. 1649 01:17:15,920 --> 01:17:16,930 Idite tamo. 1650 01:17:16,930 --> 01:17:19,800 Napišite stvari, dobre i loše, i ja ću ga koristiti za napraviti 1651 01:17:19,800 --> 01:17:21,320 Odjeljak bolje sljedeći put. 1652 01:17:21,320 --> 01:17:24,870 I na kraju, opet, ako je potrebno ništa, javite mi. 1653 01:17:24,870 --> 01:17:26,410 Ja sam više nego sretni da vam pomoći da dečki. 1654 01:17:26,410 --> 01:17:28,420 Ako želite samo slatkiše, sam će imati dodatni slatkiše. 1655 01:17:28,420 --> 01:17:29,800 Ja sam sretan da ga dovede u vama. 1656 01:17:29,800 --> 01:17:31,190 >> To će biti nevjerojatna golf. 1657 01:17:31,190 --> 01:17:34,900 To je jedan od, ako ne i moj omiljeni Naravno, ja sam uzeti u mom cijelom životu, 1658 01:17:34,900 --> 01:17:37,220 i ja se nadam da će biti tako prekrasna za vas. 1659 01:17:37,220 --> 01:17:40,090 Dakle, želim učiniti sve što je u mojoj moći da bi ga da je strašan za vas. 1660 01:17:40,090 --> 01:17:46,590 Ja ću poslati e-mail, ako ste u mom odjelu ili Noa, i 1661 01:17:46,590 --> 01:17:50,310 će pokušati i raspored sa svakom od vi je vrijeme da provjerite u više 1662 01:17:50,310 --> 01:17:53,820 Narednih nekoliko tjedana tako da mogu dobiti Osjećaj što vaš CS pozadina, 1663 01:17:53,820 --> 01:17:58,170 a također će mi pomoći krojač tih dijelovi za bolje odgovarati vašim potrebama. 1664 01:17:58,170 --> 01:17:59,740 Dakle, to je ono što sam dobio postrojilo se. 1665 01:17:59,740 --> 01:18:02,260 Opet, ja ću vas vidjeti izvana Ako želite biti tamo. 1666 01:18:02,260 --> 01:18:03,700 Ovaj je tjedan dva odjeljku. 1667 01:18:03,700 --> 01:18:04,950 Hvala vam dečki puno. 1668 01:18:04,950 --> 01:18:09,067