1 00:00:00,000 --> 00:00:07,070 [Powered by Google Translate] [♪ ♪ zujanje] 2 00:00:07,070 --> 00:00:10,380 Dakle predstaviti vam ono što sam ustala na zaslonu; 3 00:00:10,380 --> 00:00:12,710 to je jedan od alata koje smo razvili tijekom ljeta; 4 00:00:12,710 --> 00:00:15,530 to se zove CS50 mjesta, 5 00:00:15,530 --> 00:00:18,860 i to je naš suradnički kodiranje aplikacija 6 00:00:18,860 --> 00:00:20,180 da ćemo koristiti u dijelovima. 7 00:00:20,180 --> 00:00:22,470 To je prilično cool. 8 00:00:22,470 --> 00:00:26,040 Jeste li tko od vas vidio CS50 vožnju još? 9 00:00:26,040 --> 00:00:29,760 Dopustite mi povući da se u drugoj kartici. 10 00:00:29,760 --> 00:00:33,440 Run.cs50.net 11 00:00:33,440 --> 00:00:36,230 Tako 12 00:00:36,230 --> 00:00:39,700 ako idete na run.cs50.net, 13 00:00:39,700 --> 00:00:43,030 možete vidjeti to je u vašem pregledniku putu 14 00:00:43,030 --> 00:00:45,940 zapravo kod - napisati C kod, 15 00:00:45,940 --> 00:00:47,460 a zatim ga pokrenuti, 16 00:00:47,460 --> 00:00:50,960 pa kako ga sastavljaju, to radi, onda vraća izlaz na vas, 17 00:00:50,960 --> 00:00:53,350 pa to je vrsta cool način da se eksperiment 18 00:00:53,350 --> 00:00:56,060 s nekim od koda da David ide preko na predavanjima 19 00:00:56,060 --> 00:00:58,640 i mi dati na vas na problematične setovima 20 00:00:58,640 --> 00:01:01,900 bez da zapravo ložiti aparata. 21 00:01:01,900 --> 00:01:04,489 >> Dakle, ono što Prostori se da je različit od onoga 22 00:01:04,489 --> 00:01:07,450 ako sam prebaciti na ovoj kartici, 23 00:01:07,450 --> 00:01:11,580 Prostori je CS50 mali, kao što vidite ovdje, 24 00:01:11,580 --> 00:01:15,380 ali ako mi pomicanje više i pogledati s druge strane prozora, 25 00:01:15,380 --> 00:01:18,130 vidiš pravo sam jedina osoba na ovom prostoru, 26 00:01:18,130 --> 00:01:21,030 ali ono što ću učiniti je pitati vi da se pridruže ovom prostoru sa mnom 27 00:01:21,030 --> 00:01:24,590 i svi ćemo doći do koda u istom malom prozoru, 28 00:01:24,590 --> 00:01:26,070 dijeliti kôd jedni s drugima, 29 00:01:26,070 --> 00:01:28,900 i razgovarati o razlikama između našeg koda. 30 00:01:28,900 --> 00:01:31,530 Dakle, to je vrsta cool stvar - 31 00:01:31,530 --> 00:01:35,770 tako da se pridruže, ako će posjetiti ovaj link ovdje na vrhu 32 00:01:35,770 --> 00:01:38,980 da sam istaknuo, 33 00:01:38,980 --> 00:01:53,860 možete samo upisati apps.cs50.net/spaces/vqcspSnO. 34 00:01:53,860 --> 00:01:56,610 >> U redu, tako da počnete, 35 00:01:56,610 --> 00:01:59,720 Ja ću vam dati malo obilazak ovo. 36 00:01:59,720 --> 00:02:01,720 Mi ćemo napraviti neke blesave kodiranje s njim na prvi, 37 00:02:01,720 --> 00:02:06,200 samo tako da svatko nekako dobiva osjećaj za ono što je kao, 38 00:02:06,200 --> 00:02:09,000 ali ono što sam učinio - 39 00:02:09,000 --> 00:02:11,830 ili ono što sam o to učiniti ovdje je - 40 00:02:11,830 --> 00:02:13,480 Ja ću uzeti kod koje sam pismeni ovdje, 41 00:02:13,480 --> 00:02:15,800 koji kao što ste vidjeli upravo sada je prazna; 42 00:02:15,800 --> 00:02:17,090 to ne učiniti ništa. 43 00:02:17,090 --> 00:02:21,080 To je samo kotao ploča kod, mi ćemo ga zvati. 44 00:02:21,080 --> 00:02:23,820 Uz malo-učiniti komentar. 45 00:02:23,820 --> 00:02:27,850 Ja ću ga spasiti od udarca ovaj gumb Spremi. 46 00:02:27,850 --> 00:02:30,190 A što da se je to 47 00:02:30,190 --> 00:02:34,400 to istaknuto ovdje ukratko - da revizija spasiti zeleni okvir, 48 00:02:34,400 --> 00:02:37,570 i sada, ako se traži za mene u prostoru, 49 00:02:37,570 --> 00:02:40,340 kliknete moje ime, 50 00:02:40,340 --> 00:02:43,370 možete vidjeti da sam dobio ovu reviziju ovdje, 51 00:02:43,370 --> 00:02:45,490 a ako kliknete na tu izmjenu, 52 00:02:45,490 --> 00:02:48,240 to će učitati taj kod u svoj prostor, previše. 53 00:02:50,510 --> 00:02:54,160 >> Tako je svatko učitava taj kod u njihovom prostoru? 54 00:02:54,160 --> 00:02:57,810 U redu, ako još niste, ići naprijed i učiniti da se, 55 00:02:57,810 --> 00:03:01,120 i onda ono što želim ti dečki učiniti u ovo malo za to poglavlje 56 00:03:01,120 --> 00:03:05,940 je napisati malo koristeći printf o sebi, 57 00:03:05,940 --> 00:03:08,310 tako da za primjer, ja bih pisati 58 00:03:08,310 --> 00:03:12,270 printf ("Moje ime je Nate"); 59 00:03:15,140 --> 00:03:17,700 i onda bih napisati 60 00:03:17,700 --> 00:03:21,660 "Ja sam diplomirao u 2009 61 00:03:21,660 --> 00:03:24,440 Stanford " 62 00:03:26,050 --> 00:03:28,390 i ja bi volio čuti o 63 00:03:28,390 --> 00:03:30,270 godine što ste u školi, 64 00:03:30,270 --> 00:03:33,910 da li ste na faksu ili poslovne škole 65 00:03:33,910 --> 00:03:36,130 ili drugi Harvard škole, 66 00:03:36,130 --> 00:03:39,200 Što ste studiranje ako je poznat još; 67 00:03:39,200 --> 00:03:41,290 ako to ne zna, to je totalno cool. 68 00:03:41,290 --> 00:03:45,170 Nisam odlučiti dok sam bio kasno u mom sophomore godini. 69 00:03:46,910 --> 00:03:49,210 a zatim Također bih volio znati 70 00:03:49,210 --> 00:03:51,610 nešto ludo što želite, recite mi ili 71 00:03:51,610 --> 00:03:54,790 nešto o razredu ili samo bilo što drugo. 72 00:03:56,930 --> 00:04:00,370 Kada završite pisanje da sa svojim malo printf, 73 00:04:00,370 --> 00:04:03,480 ako ćete uštedjeti na reviziju, odnosno 74 00:04:03,480 --> 00:04:06,080 prvi bi bili sigurni da možete ga pokrenuti 75 00:04:06,080 --> 00:04:10,640 i da ispisuje točno ono što želite ispisati, 76 00:04:14,050 --> 00:04:16,399 i onda ako idete naprijed i spasiti tu reviziju 77 00:04:16,399 --> 00:04:21,600 koristite gumb Revision spasiti, ovaj prvi mali čovjek ovdje, 78 00:04:24,080 --> 00:04:27,340 a mi ćemo nekako proći i napraviti malo uvod koji način. 79 00:04:27,340 --> 00:04:30,150 Dakle, samo treba pogoditi gumb Play, 80 00:04:30,150 --> 00:04:32,550 koja je ovdje u gornjem lijevom kutu, 81 00:04:32,550 --> 00:04:35,340 tako da je ovo predstava gumb u gornjem lijevom kutu će 82 00:04:35,340 --> 00:04:39,050 poslati svoj kod off na naš server gdje se dobiva sastavio i onda pokrenuti. 83 00:04:40,600 --> 00:04:43,300 Dakle, ono što je nekako luda o tome je 84 00:04:43,300 --> 00:04:46,550 ovaj broj zapravo ne izvodi na računalu; 85 00:04:46,550 --> 00:04:49,290 to je zapravo šalju preko Interneta. 86 00:04:49,290 --> 00:04:51,240 >> Kako ide, Charlotte? 87 00:04:51,240 --> 00:04:54,810 >> Sam - ok. Ja - Mislim da sam 88 00:04:54,810 --> 00:04:57,330 poteškoća spremanja 89 00:04:57,330 --> 00:05:00,530 na poslužitelju, kao da je to moguće - ja mogu pokrenuti program. 90 00:05:02,090 --> 00:05:05,780 I onda kad sam pokušati pokrenuti ga, on kaže da je pogreška. 91 00:05:05,780 --> 00:05:08,850 Proglašen kao virus, što nije u tamo. 92 00:05:08,850 --> 00:05:11,860 Oh, da vidimo, može li pogoditi Spremi opet? 93 00:05:11,860 --> 00:05:13,770 Ja ga vidjeti na ekranu. 94 00:05:13,770 --> 00:05:15,120 >> Točno, ok, tako da je ono što ja imam. 95 00:05:15,120 --> 00:05:19,430 I ne znam zašto to ne dopustite mi da ga pokrenuti. 96 00:05:22,990 --> 00:05:24,990 Oh, u redu, ispričavam se. 97 00:05:27,930 --> 00:05:31,220 Možete li objasniti zašto - što je bio u krivu - što nije bilo raditi s njim? 98 00:05:31,220 --> 00:05:34,760 >> Da, jer nisam vidjela da je zadnja linija tamo gdje je uvijek promjenjiva 99 00:05:34,760 --> 00:05:37,700 da nisam proglasio, koji sam nije namjeravao za to što postoji. 100 00:05:37,700 --> 00:05:38,730 Da, savršeno! 101 00:05:38,730 --> 00:05:40,390 >> Sada, ako sam ga spasiti, mislim da bi trebalo raditi. 102 00:05:40,390 --> 00:05:42,970 Sada kada ste ga spremili, to radi; strašan. 103 00:05:42,970 --> 00:05:44,570 >> Tako da, kao što smo proći kroz - 104 00:05:44,570 --> 00:05:46,690 tako da ono što se događa, 105 00:05:46,690 --> 00:05:49,130 Samo ću ponoviti ovo za kameru. 106 00:05:49,130 --> 00:05:51,760 Što se događa je da ta varijabla s 107 00:05:51,760 --> 00:05:54,310 je napustio poslije - Pretpostavljam da ste izbrisani neke druge stvari 108 00:05:54,310 --> 00:05:56,670 gdje se izjašnjavali kao, 109 00:05:56,670 --> 00:05:59,560 pa to je bacanje stvari off, a ne ostavljajući ga pokrenuti. 110 00:05:59,560 --> 00:06:02,540 Dakle, to je upravo ono što želimo učiniti u odjeljku 111 00:06:02,540 --> 00:06:05,690 je su ljudi pokušati snimiti različite dijelove koda, 112 00:06:05,690 --> 00:06:08,490 ga sastavljanju, vidjeti što radi, pogledajte što ne, 113 00:06:08,490 --> 00:06:10,730 i onda nekako razgovarati o tim stvarima, jer su to Tripping točke koje 114 00:06:10,730 --> 00:06:12,850 Ja još uvijek susreću, 115 00:06:12,850 --> 00:06:15,470 Ja još uvijek - znam puno blesav stvari cijelo vrijeme, 116 00:06:15,470 --> 00:06:17,820 i ne znam zašto to ne radi, 117 00:06:17,820 --> 00:06:22,960 pa ajmo podići Charlotte reviziju 3, 118 00:06:23,980 --> 00:06:25,380 a mi ćemo ga pokrenuti. 119 00:06:25,380 --> 00:06:28,950 >> Dakle, kada sam pokrenuti, sad da sam dobila kod ovdje, 120 00:06:28,950 --> 00:06:31,450 Ja mogu zumirati, pogodio Run gumb, 121 00:06:31,450 --> 00:06:33,680 dodano ga, gradi, to traje, 122 00:06:33,680 --> 00:06:36,980 kaže da uspješno vodio, a ako sam se pomaknite prema dolje, 123 00:06:36,980 --> 00:06:39,440 vidi Charlotte je juniorska u Adams House, 124 00:06:39,440 --> 00:06:42,720 psihologija, sekundarna u ekonomiji; strašan. 125 00:06:42,720 --> 00:06:44,310 Velika je upoznati vas! 126 00:06:44,310 --> 00:06:46,550 Strašan. 127 00:06:46,550 --> 00:06:49,670 Ok, kreće na, ajmo Danielu, 128 00:06:49,670 --> 00:06:52,710 ići u reviziju 3, 129 00:06:52,710 --> 00:06:54,180 sastaviti, pokrenuti; 130 00:06:54,180 --> 00:06:56,680 zašto ne reći nam nešto o sebi, Daniel? 131 00:06:56,680 --> 00:06:59,380 >> Zovite me Dan. 132 00:06:59,380 --> 00:07:01,920 Idem na poslovnoj školi preko vas, 133 00:07:01,920 --> 00:07:05,020 a ja sam bio u marincima prije ovdje, 134 00:07:05,020 --> 00:07:08,020 i to je sve novo za mene, tako da. 135 00:07:08,020 --> 00:07:11,060 Ne osjećam se loše, ja sam 30 i ne znam bilo koji od ovih stvari. 136 00:07:11,060 --> 00:07:13,800 Strašan, hvala, Dan! 137 00:07:13,800 --> 00:07:17,300 U redu, imamo još jedan Daniela. 138 00:07:17,300 --> 00:07:20,930 Možete ići Daniel - bit ćete predstaviti sebe, Daniela? 139 00:07:20,930 --> 00:07:22,260 >> >> Naravno, ja sam Daniel. 140 00:07:22,260 --> 00:07:24,330 Ja sam student na Mather upravo sada. 141 00:07:24,330 --> 00:07:25,840 Ja sam koncentriraju na vlasti, 142 00:07:25,840 --> 00:07:28,760 ali ja sam htjela da se CS50 jer sam čuo sjajne mišljenja o klasi 143 00:07:28,760 --> 00:07:30,750 i nikada nisam pokušao CS prije. 144 00:07:30,750 --> 00:07:34,680 Dođite ovamo i pokazati - super. 145 00:07:36,330 --> 00:07:39,090 Premještanje na, Jared. 146 00:07:39,090 --> 00:07:41,990 Kako ide? 147 00:07:41,990 --> 00:07:43,430 >> Dobro, kako ste? 148 00:07:43,430 --> 00:07:47,520 Kao što možete vidjeti, ja sam mlađi filozofija Koncentrator u Eliota, 149 00:07:47,520 --> 00:07:50,260 podrijetlom iz južne Kalifornije, 150 00:07:50,260 --> 00:07:53,100 i ja sam zainteresiran za uzimanje CS50 jer volim logiku njega, 151 00:07:53,100 --> 00:07:57,420 i čini se stvarno super raditi stvari na računalu, tako. 152 00:07:57,420 --> 00:07:59,570 Strašan, gdje je u južnoj Kaliforniji ste? 153 00:07:59,570 --> 00:08:02,340 >> Oko sat od [nečujno], mali grad [nečujno]. 154 00:08:02,340 --> 00:08:04,850 Oh, da, moj tata je iz Redlands. 155 00:08:04,850 --> 00:08:07,060 Cool stvari. 156 00:08:07,060 --> 00:08:12,130 >> U redu, Jimmy, kako ide, Jimmy? 157 00:08:12,130 --> 00:08:15,130 >> Dobro, kako ste? 158 00:08:15,130 --> 00:08:16,040 Doing prilično dobro! 159 00:08:16,040 --> 00:08:17,710 Recite nam nešto o sebi. 160 00:08:17,710 --> 00:08:20,840 >> Ja sam brucoš, i nisam posve siguran što sam majoring u 161 00:08:20,840 --> 00:08:22,820 ali ja nekako sam sklona ekonomije. 162 00:08:22,820 --> 00:08:25,680 Poput Daniela prije mene, ja nikad nisam učinio bilo CS, ali to zvuči nekako cool. 163 00:08:25,680 --> 00:08:28,120 Ja sam podrijetlom iz Chicaga. 164 00:08:28,120 --> 00:08:31,640 Strašan. Dakle, check out njegov ispis ovdje. 165 00:08:31,640 --> 00:08:34,630 Htjela sam pitati, je li ovaj ispis kao što ste očekivali? 166 00:08:34,630 --> 00:08:37,650 >> Ne, zaboravio sam ispisati novu liniju. 167 00:08:37,650 --> 00:08:41,270 Ja sam zapravo zaboravio da kada sam pisao moj stvar 168 00:08:41,270 --> 00:08:43,090 po prvi put, previše. 169 00:08:43,090 --> 00:08:46,330 To je vrsta boli se sjetiti staviti one u ručno. 170 00:08:46,330 --> 00:08:50,560 Bilo bi lijepo kad bi to samo znaju da je ono što ste htjeli. 171 00:08:50,560 --> 00:08:53,630 >> Ok, Kelly. 172 00:08:53,630 --> 00:08:56,050 Opa, imamo dva Kellys; 2 Daniels, dva Kellys. 173 00:08:56,050 --> 00:09:00,490 Dakle, Kelly - ne idete Kelly Ren? 174 00:09:00,490 --> 00:09:03,870 Ok, strašan. 175 00:09:03,870 --> 00:09:07,270 Ili Kelly, mislim. 176 00:09:07,270 --> 00:09:10,260 >> Tako da, tako sam Kelly. 177 00:09:10,260 --> 00:09:12,930 Ja sam student u Pfoho. 178 00:09:12,930 --> 00:09:17,000 Dobio sam e-mail danas da još uvijek imam 7 tjedna objaviti svoju koncentraciju, 179 00:09:17,000 --> 00:09:20,940 pa ja pokušavam ne misliti o tome, 180 00:09:20,940 --> 00:09:24,090 i ja bih za pecivo, trčanje, i Craisins. 181 00:09:24,090 --> 00:09:29,110 Nemam iskustva s najviše CS; 182 00:09:29,110 --> 00:09:32,700 Ja sam učio da izgradite web stranice kad sam bio jako mlad, 183 00:09:32,700 --> 00:09:35,750 ali mislim da je vjerojatno učio sam u krivu puno puta. 184 00:09:35,750 --> 00:09:39,260 Nadam se da ću naučiti nešto više 185 00:09:39,260 --> 00:09:41,450 i - da. 186 00:09:41,450 --> 00:09:44,100 >> Strašan, dobro, hvala na pitanju. 187 00:09:44,100 --> 00:09:47,190 Idemo na drugu Kelly; 188 00:09:47,190 --> 00:09:48,880 Nemam ništa - jeste li nešto reći ovdje? 189 00:09:48,880 --> 00:09:51,880 >> [Nečujan] 190 00:09:51,880 --> 00:09:56,180 Tamo je! 191 00:09:56,180 --> 00:09:58,120 Sweet! 192 00:09:58,120 --> 00:10:01,400 >> U redu, tako da sam Kelly. 193 00:10:01,400 --> 00:10:03,980 Ja sam prve godine apsolvent. 194 00:10:03,980 --> 00:10:05,560 Ja sam majoring na umu, mozgu i obrazovanja. 195 00:10:05,560 --> 00:10:07,940 Diplomirao sam u Franklin & Marshall College u 2008 196 00:10:07,940 --> 00:10:10,840 s većim psihologije i sociologije 197 00:10:10,840 --> 00:10:13,120 i maloljetnika u francuskom. 198 00:10:13,120 --> 00:10:15,330 Vodim CS50 199 00:10:15,330 --> 00:10:18,080 jer sam zainteresiran za dobivanje doktora neuroznanost 200 00:10:18,080 --> 00:10:21,220 i ja se osjećam kao da će mi pomoći da razumiju tehnologije se koriste. 201 00:10:21,220 --> 00:10:23,150 Strašan. 202 00:10:26,980 --> 00:10:29,390 Premještanje na, Mikaela. 203 00:10:29,390 --> 00:10:31,640 Je li to točno izgovor? 204 00:10:31,640 --> 00:10:32,990 Ok, strašan. 205 00:10:32,990 --> 00:10:34,640 >> >> Sam Mikhaila. 206 00:10:34,640 --> 00:10:36,870 Ja sam student u Kirkland House, 207 00:10:36,870 --> 00:10:39,950 i ja sam koncentriraju u strojarstvu. 208 00:10:39,950 --> 00:10:43,180 Stvarno mi se sviđa biciklizam, izgrađena bicikla ovog ljeta. 209 00:10:43,180 --> 00:10:46,140 Vodim CS, zapravo, 210 00:10:46,140 --> 00:10:48,350 kao koncentracijskom zahtjeva, 211 00:10:48,350 --> 00:10:52,550 ali znate, ja mislim da je još uvijek svjež vrsta inženjering klase. 212 00:10:52,550 --> 00:10:55,150 Strašan - ste izgradili bicikl ovog ljeta? 213 00:10:55,150 --> 00:10:56,730 >> Da. 214 00:10:56,730 --> 00:10:58,900 Wow, poput okvira i sve to? 215 00:10:58,900 --> 00:11:00,120 >> Uh-hunh (potvrdno). 216 00:11:00,120 --> 00:11:01,530 Wow, to je stvarno cool. 217 00:11:01,530 --> 00:11:06,370 >> [Nečujno off-kamera chat] 218 00:11:06,370 --> 00:11:10,000 [Smijeh] 219 00:11:12,640 --> 00:11:14,200 Da, to je bilo tako davno. 220 00:11:14,200 --> 00:11:16,730 Nikada ne znate, zar ne? 221 00:11:16,730 --> 00:11:19,420 Pa, cool, i hvala, Mikhaila. 222 00:11:19,420 --> 00:11:21,390 >> U redu, gospođica. 223 00:11:21,390 --> 00:11:23,280 >> Zovem se gospođica, ja sam brucoš, 224 00:11:23,280 --> 00:11:25,500 pa to znači da ja ne znam ništa! 225 00:11:25,500 --> 00:11:29,180 Želim se koncentrirati na astrofizike. 226 00:11:29,180 --> 00:11:31,220 U CS50, 227 00:11:31,220 --> 00:11:33,350 Osjećam se kao da će definitivno pomoći u tome. 228 00:11:33,350 --> 00:11:37,750 Čudno činjenica o meni je da sam nacionalno certificirani vatrogasac. 229 00:11:37,750 --> 00:11:39,960 Wow! 230 00:11:39,960 --> 00:11:42,440 Kako se to dogodilo? 231 00:11:42,440 --> 00:11:45,570 >> Sam pohađao akademiju 232 00:11:45,570 --> 00:11:49,000 i prošao kroz pakao za puno tjedana 233 00:11:49,000 --> 00:11:51,200 i dobio sam certifikat. 234 00:11:51,200 --> 00:11:54,090 Wow, Cestitam! 235 00:11:54,090 --> 00:11:57,280 To nije mali podvig, to je sigurno. 236 00:11:57,280 --> 00:11:59,070 Ok, tako da sada ćemo mi učiniti. 237 00:11:59,070 --> 00:12:01,290 Ja sam sljedeći u nizu. 238 00:12:01,290 --> 00:12:04,510 Ja - to pokrenuti. 239 00:12:04,510 --> 00:12:07,580 >> Dakle, moje ime je Nate. 240 00:12:07,580 --> 00:12:11,160 Bio sam razred 2009 na Stanfordu. 241 00:12:11,160 --> 00:12:13,840 Bio sam na simboličan sustavi većih, 242 00:12:13,840 --> 00:12:17,370 koji je sličan umu, Brain, ponašanje koncentracije ovdje, 243 00:12:17,370 --> 00:12:19,300 ali to je neka vrsta mješavine 244 00:12:19,300 --> 00:12:22,350 informatika, lingvistika, psihologija i filozofija. 245 00:12:22,350 --> 00:12:26,600 Vrsta - Da, puno čudnih stvari, ali to je bio velik, 246 00:12:26,600 --> 00:12:29,880 i onda sam moj magisterij iz računalnih znanosti postoji, kao dobro. 247 00:12:29,880 --> 00:12:33,250 Dakle, ja sam novi na Harvard ove godine. 248 00:12:33,250 --> 00:12:35,750 Stvarno sam želio da se u nastavi. 249 00:12:35,750 --> 00:12:39,860 Proveo sam zadnjih 4 godine na Stanford TA-ing Computer Science klasa 250 00:12:39,860 --> 00:12:43,370 i tako David pusti me hajde, 251 00:12:43,370 --> 00:12:45,550 i ja ću se pomaže sa CS50, 252 00:12:45,550 --> 00:12:47,890 pa sam to učiniti puno radno vrijeme, a ja nisam u grad školu. 253 00:12:47,890 --> 00:12:50,330 Bilo je zabavno. 254 00:12:50,330 --> 00:12:53,130 Nadam se da ću i dalje biti zabavno, siguran sam da hoće. 255 00:12:53,130 --> 00:12:56,040 >> U redu, Sam. 256 00:13:01,910 --> 00:13:05,470 >> Moje ime je Sam, ja sam student na koledžu, u zakonu posebno. 257 00:13:05,470 --> 00:13:10,110 Moj glavni će biti povijest znanosti, vjerojatno, i VES sekundarne, 258 00:13:10,110 --> 00:13:13,240 i moja omiljena boja je žuta. 259 00:13:18,790 --> 00:13:21,100 Nema potrebe da sudiš ili ništa, ali to je dobra boja! 260 00:13:21,100 --> 00:13:24,780 I Stella. 261 00:13:24,780 --> 00:13:26,980 >> Bok, ja sam Stella, ja sam brucoš u Grays. 262 00:13:26,980 --> 00:13:30,070 Ja nemam pojma što sam koncentriran na još, 263 00:13:30,070 --> 00:13:32,500 tako CS50 bio samo vrsta slučajna, 264 00:13:32,500 --> 00:13:34,220 što je zanimljivo. 265 00:13:34,220 --> 00:13:36,080 Zabava činjenica, Jimmy je bio prvi Harvarda prijatelj, 266 00:13:36,080 --> 00:13:38,360 jer smo oboje iz Chicaga. 267 00:13:38,360 --> 00:13:42,450 Cool, i Grace - koji je trebao biti jako lijepo jedan, zar ne? 268 00:13:42,450 --> 00:13:45,220 >> Mislio sam [nečujno]. 269 00:13:45,220 --> 00:13:46,690 Oh, da. 270 00:13:46,690 --> 00:13:51,210 [Nečujna / off-kamera chat] 271 00:13:51,210 --> 00:13:54,420 Ok, ja još uvijek učim, još uče. 272 00:13:54,420 --> 00:13:57,800 >> Dakle, imamo nešto drugo to je vrsta zanimljiv ovdje. 273 00:13:59,600 --> 00:14:02,870 Da, ja sam samo pitate, imate li ideju da se ovdje događa? 274 00:14:02,870 --> 00:14:05,890 Znate kako protumačiti ovo? 275 00:14:05,890 --> 00:14:13,340 >> Trebao sam biti staviti zarez nakon svakog retka. 276 00:14:13,340 --> 00:14:16,370 To je vrsta boli. 277 00:14:16,370 --> 00:14:19,100 Ponekad ti zarezom mogu biti pravi bol u trag. 278 00:14:19,100 --> 00:14:21,420 Tako ispada da je 279 00:14:21,420 --> 00:14:22,820 Poseban program smo pomoću ove godine 280 00:14:22,820 --> 00:14:26,670 sastaviti našu C koda se zove zveka, 281 00:14:26,670 --> 00:14:29,460 i razlog zbog kojeg smo počeli koristiti zveka ove godine - 282 00:14:29,460 --> 00:14:32,030 jer nismo koristili taj program u prošlosti; 283 00:14:32,030 --> 00:14:35,710 upotrijebili smo još jednom pozvao GCC koji je jako popularan - 284 00:14:35,710 --> 00:14:38,420 Jeka zapravo vam daje poruke o pogreškama koje imaju smisla. 285 00:14:38,420 --> 00:14:41,420 Ovaj jedan kaže: "Očekuje se ';' nakon izražavanja", 286 00:14:41,420 --> 00:14:45,260 i to čak vam govori izraz nakon što vam je potrebno zarez. 287 00:14:45,260 --> 00:14:47,830 Tako su ga popravljajući? 288 00:14:47,830 --> 00:14:48,930 >> Da, upravo sada. 289 00:14:48,930 --> 00:14:52,040 Strašan; javite mi, a mi ćemo ga podići, i mi ćemo ga pokrenuti. 290 00:14:52,040 --> 00:14:55,830 Ali da, stavljanjem tih zarezom u je vrsta boli. 291 00:14:55,830 --> 00:14:59,580 >> Sam ga fiksni, tako da mislim da bi trebalo raditi. 292 00:14:59,580 --> 00:15:02,760 Strašan - revizija tri. 293 00:15:02,760 --> 00:15:05,250 To izgleda kao da je. 294 00:15:05,250 --> 00:15:08,580 U redu, tako da sada ako mi ga pokrenuti, 295 00:15:08,580 --> 00:15:11,020 tamo to ide. 296 00:15:11,020 --> 00:15:13,830 Cool stvari. 297 00:15:13,830 --> 00:15:15,340 >> U redu. 298 00:15:15,340 --> 00:15:18,230 Dakle, hvala za to. 299 00:15:18,230 --> 00:15:20,210 To je velika da zadovolji vas. 300 00:15:20,210 --> 00:15:22,880 Što ćemo učiniti sada je provesti sljedeći malo 301 00:15:22,880 --> 00:15:24,740 nekako ronjenja u poglavlju problema 302 00:15:24,740 --> 00:15:27,550 koji dolaze iz problema postavljen od ovog tjedna 303 00:15:27,550 --> 00:15:29,920 a mi ćemo to učiniti za većinu dijelova 304 00:15:29,920 --> 00:15:32,110 za ostatak izraza, 305 00:15:32,110 --> 00:15:35,580 i onda ćemo spasiti posljednju 15, 20 minuta ili tako 306 00:15:35,580 --> 00:15:38,490 razgovarati o problemu se postaviti 307 00:15:38,490 --> 00:15:41,420 a zatim samo sva ostala pitanja imate općenito o klasi. 308 00:15:43,380 --> 00:15:45,670 To je rekao, ono što mi stvarno želiš 309 00:15:45,670 --> 00:15:49,390 je su svi sudjeluju 310 00:15:49,390 --> 00:15:51,500 pomoću Spaces stvari, 311 00:15:51,500 --> 00:15:53,500 bacanje u kodu, bacanje u prijedlozima, 312 00:15:53,500 --> 00:15:56,500 i pričaju kad stvari kao što je ovaj pauzu 313 00:15:56,500 --> 00:15:58,360 ili ne rade, samo zato što su to stvari koje se 314 00:15:58,360 --> 00:16:00,870 Znam da sam došao preko 315 00:16:00,870 --> 00:16:03,180 kada sam počeo kodiranja, 316 00:16:03,180 --> 00:16:05,490 i bili su stvarno nekako frustrirajuće na vrijeme 317 00:16:05,490 --> 00:16:08,690 jer ako je to kao 02:00 prije tvoj problem skup je zbog, 318 00:16:08,690 --> 00:16:11,330 tako da - samo za otkrivanje, 319 00:16:11,330 --> 00:16:14,590 Nisam početi programiranje dok sam bio student na faksu. 320 00:16:14,590 --> 00:16:17,360 To je vrsta ovog čudnog, nepoznatog stvar 321 00:16:17,360 --> 00:16:20,360 da sam čuo bio kinda cool 322 00:16:20,360 --> 00:16:23,590 i ja također čuo da bi mogao biti pravi bol u stražnjicu 323 00:16:23,590 --> 00:16:27,610 ako propustite zarez, te da je samo pogreška imajući svoj program iz radnog 324 00:16:27,610 --> 00:16:30,890 i održavali od odlaska na spavanje, 325 00:16:30,890 --> 00:16:32,650 tako da definitivno, 326 00:16:32,650 --> 00:16:34,020 ako imate pitanja kao što je to, 327 00:16:34,020 --> 00:16:37,060 ako imate pitanja kao što je to, javite mi, 328 00:16:37,060 --> 00:16:40,050 jer želim da to dobro iskustvo za vas. 329 00:16:40,050 --> 00:16:44,620 >> Tako su ti dečki sve skinuti Problem postaviti još? 330 00:16:44,620 --> 00:16:47,160 Nekako znam gdje je to? Ok. 331 00:16:47,160 --> 00:16:51,490 Dakle, mi ćemo ići na cs50.net, jer ja ga nemam na tom računu, 332 00:16:51,490 --> 00:16:54,110 podići seta problema, 333 00:16:54,110 --> 00:16:57,940 podići problema set 2, a mi ćemo gledati na standardnom izdanju danas. 334 00:16:57,940 --> 00:17:01,190 Mi ćemo podići specifikaciju ovdje. 335 00:17:02,640 --> 00:17:04,420 Pomaknite se prema dolje. 336 00:17:06,790 --> 00:17:11,109 Tako ćemo početi gleda na ovom dijelu pitanja. 337 00:17:14,069 --> 00:17:16,710 Jeste vi gledali ove gaćice još? 338 00:17:16,710 --> 00:17:18,329 Ok. 339 00:17:18,329 --> 00:17:21,329 Dakle, tu su gaćice na petlji, 340 00:17:21,329 --> 00:17:24,700 koji je to učinio Tommy, jedan od momaka glavu nastavnih. 341 00:17:24,700 --> 00:17:27,230 Ima jedan na opseg, 342 00:17:27,230 --> 00:17:30,530 Vjerujem da neke druge nastave momka zvanog David 343 00:17:30,530 --> 00:17:33,400 i onda jednog dana Cezarova šifra također učinio Davidu. 344 00:17:33,400 --> 00:17:35,550 Oni su prilično cool. 345 00:17:35,550 --> 00:17:37,770 Jeste li dečki su gledajući svoje gaćice do sada? 346 00:17:37,770 --> 00:17:39,270 How've oni bili? 347 00:17:39,270 --> 00:17:41,490 Koristan? Ok, dobro je znati. 348 00:17:41,490 --> 00:17:44,210 Ako oni ne, možete reći tako. 349 00:17:46,290 --> 00:17:49,870 No, prije nego što učiniti, 350 00:17:49,870 --> 00:17:52,600 Jeste li dečki pogledao ovih pitanja 351 00:17:52,600 --> 00:17:55,430 uopće? 352 00:17:55,430 --> 00:17:57,480 >> Ajmo pričati o tome malo. 353 00:17:57,480 --> 00:18:00,600 Dakle, uveli smo tijekom posljednjih nekoliko tjedana 354 00:18:00,600 --> 00:18:02,480 u predavanju 355 00:18:02,480 --> 00:18:04,910 broj različitih petlji. 356 00:18:04,910 --> 00:18:06,140 Tu je za petlju, 357 00:18:06,140 --> 00:18:09,570 dok petlja, a zatim do-while petlja, 358 00:18:09,570 --> 00:18:13,100 i predavanja, mi smo bili govori puno o 359 00:18:13,100 --> 00:18:16,010 kako te petlje su svi 360 00:18:16,010 --> 00:18:18,320 prilično slični u puno načina, 361 00:18:18,320 --> 00:18:21,210 i vi možete učiniti mnogo istih stvari s while petlje 362 00:18:21,210 --> 00:18:23,260 da možete sa za petlju. 363 00:18:23,260 --> 00:18:26,300 Vi samo morati nekako koristiti pravo kombinacije varijabli i takvih. 364 00:18:26,300 --> 00:18:28,680 i tako stvarno 365 00:18:28,680 --> 00:18:31,200 pravi razlika između svih petlje je da 366 00:18:31,200 --> 00:18:33,620 ponekad oni više koristan 367 00:18:33,620 --> 00:18:36,930 ih koristiti u jednom trenutku nego u drugo vrijeme. 368 00:18:36,930 --> 00:18:39,340 >> Tako, na primjer, 369 00:18:39,340 --> 00:18:42,260 dok petlja se razlikuje od A do-while petlje. 370 00:18:42,260 --> 00:18:45,680 Da li svi osjećaju kao da imaju dobru ručku kada 371 00:18:45,680 --> 00:18:48,650 do-while petlja je više 372 00:18:48,650 --> 00:18:50,990 korisno ili što je razlika? 373 00:18:50,990 --> 00:18:53,410 >> Mislim razlika je ne-while petlja 374 00:18:53,410 --> 00:18:56,960 radi - ne znam baš ono terminologija, 375 00:18:56,960 --> 00:18:59,750 ali niz funkcija unutar petlje. 376 00:18:59,750 --> 00:19:02,020 Oni automatski - to ne svoje vožnje barem 377 00:19:02,020 --> 00:19:05,390 prije nego što provjerava stanje, odnosno dok se petlja samo da će ga pokrenuti kad 378 00:19:05,390 --> 00:19:08,290 kontinuirano radi - da li ili ne stanje se zadovoljan. 379 00:19:08,290 --> 00:19:11,010 Da, to ima smisla? 380 00:19:11,010 --> 00:19:14,200 >> Ajmo pogledati malo koda. 381 00:19:14,200 --> 00:19:16,930 Dakle, samo da ponovi pitanje, 382 00:19:16,930 --> 00:19:19,230 ili odgovor, a; 383 00:19:19,230 --> 00:19:22,050 Odgovor je bio da 384 00:19:22,050 --> 00:19:25,850 petlja dok će provjeriti da li je uvjet 385 00:19:25,850 --> 00:19:27,440 koje ste naveli se sastao 386 00:19:27,440 --> 00:19:31,320 prije nego što ga pokreće tijelo petlje za prvi put, 387 00:19:31,320 --> 00:19:35,000 dok do-while petlja će automatski pokrenuti tijelo petlje, 388 00:19:35,000 --> 00:19:38,450 je ono što mi zovemo ga - to je čudno terminologija, 389 00:19:38,450 --> 00:19:41,460 ali ako sam ikada išta reći da nema smisla, javite mi - 390 00:19:41,460 --> 00:19:45,360 petlja tijelo je da stvari koje ste stavili u između vitičastih zagrada. 391 00:19:45,360 --> 00:19:47,840 A u ne-while petlje, 392 00:19:47,840 --> 00:19:50,220 to tijelo se izvoditi barem jednom, 393 00:19:50,220 --> 00:19:54,460 i onda uvjet dobiva provjeriti prije to radi svaki sljedeći put. 394 00:19:54,460 --> 00:19:56,580 >> Tako zapravo, Sam, 395 00:19:56,580 --> 00:20:00,820 ti smeta pisanje jednostavnih while petlja 396 00:20:00,820 --> 00:20:02,840 u prostorima? 397 00:20:02,840 --> 00:20:05,600 >> Kako ste nešto poput 398 00:20:05,600 --> 00:20:07,060 napraviti novi ...? 399 00:20:07,060 --> 00:20:09,220 Upravo sam izbrisati sve što imate tamo. 400 00:20:09,220 --> 00:20:11,300 Da, samo ga rasprodati. 401 00:20:11,300 --> 00:20:14,510 >> Pa, ja vjerujem da imam ovo - 402 00:20:14,510 --> 00:20:16,640 koje ne želite, dok, ili želite ...? 403 00:20:16,640 --> 00:20:19,350 Da, samo ne dok istina, ispisati nešto. 404 00:20:21,050 --> 00:20:23,140 I neka se vidi. 405 00:20:23,140 --> 00:20:25,850 Aleksandar, shvatio sam da nikada vas upoznao. 406 00:20:25,850 --> 00:20:27,510 >> Oh, to je u redu. 407 00:20:27,510 --> 00:20:30,760 Dali - možete kodirati do učiniti-while petlja za nas? 408 00:20:30,760 --> 00:20:32,520 >> Da, pokušat ću. 409 00:20:32,520 --> 00:20:34,370 U redu, samo ćemo povući ovih gore na zaslonu, 410 00:20:34,370 --> 00:20:38,240 tako da vrsta ima ručku na što su razlike. 411 00:20:38,240 --> 00:20:41,280 >> Dakle, ovdje je ono što Sam je učinio. 412 00:20:41,280 --> 00:20:44,460 On je dobio cijeli zove ja 413 00:20:44,460 --> 00:20:47,480 da je on inicijaliziraju 17. 414 00:20:47,480 --> 00:20:51,570 Tada je, kaže, dok (int i = 17) 415 00:20:51,570 --> 00:20:54,230 printf ("Moje ime je Sam."); 416 00:20:54,230 --> 00:20:57,300 Dakle, ono što se događa kada smo pokrenuti ovaj kod? 417 00:20:57,300 --> 00:21:00,340 Tu je pogreška, što znači pogreška reći? 418 00:21:00,340 --> 00:21:02,890 Idemo ga podići i razgovarati o tome. 419 00:21:02,890 --> 00:21:05,040 Došlo je do pogreške, ona kaže. 420 00:21:05,040 --> 00:21:07,400 Ajmo se pomaknite prema dolje. 421 00:21:07,400 --> 00:21:09,460 Tako nam je dao ovu pogrešku, a to je rekao, 422 00:21:09,460 --> 00:21:12,690 "Hej, očekivao sam izraz." 423 00:21:12,690 --> 00:21:16,180 To je nekako zagonetan. 424 00:21:19,160 --> 00:21:23,140 Da, tako je točno - i opet, 425 00:21:23,140 --> 00:21:27,140 tu će biti još malo bug da ćemo uhvatiti u samo sekundi. 426 00:21:27,140 --> 00:21:31,800 No, to je još jedan od onih kakve čudne stvari terminologiju, 427 00:21:31,800 --> 00:21:36,150 tako da ovaj int i = 17 428 00:21:36,150 --> 00:21:39,290 nije izraz. 429 00:21:39,290 --> 00:21:41,220 Što to izgleda kao da radi je to 430 00:21:41,220 --> 00:21:43,410 proglašavanje integer zove ja 431 00:21:43,410 --> 00:21:45,540 i to postavljanjem jednaka do 17. 432 00:21:45,540 --> 00:21:48,780 ili, bolje rečeno, stavljajući 17 u tom int i zove. 433 00:21:50,560 --> 00:21:53,350 I to nema smisla 434 00:21:53,350 --> 00:21:55,790 u kontekstu ovog while petlje. 435 00:21:55,790 --> 00:21:58,190 To nema smisla, kao što ćemo vidjeti, 436 00:21:58,190 --> 00:22:01,250 u kontekstu za petlju, jer za to petlja deklaracije krenuti 437 00:22:01,250 --> 00:22:05,800 s tim za int i iznosi nešto 438 00:22:05,800 --> 00:22:07,830 i ide dalje. 439 00:22:07,830 --> 00:22:09,500 >> Dakle, vi - 440 00:22:09,500 --> 00:22:12,630 popraviti nešto, svi pravo. 441 00:22:12,630 --> 00:22:15,270 Ovdje to ide; strašan. 442 00:22:15,270 --> 00:22:17,920 Tako sada stvari izgledaju malo drugačije. 443 00:22:17,920 --> 00:22:19,030 Par stvari su se promijenile. 444 00:22:19,030 --> 00:22:21,300 Možete li nam reći što su se stvari promijenile? 445 00:22:21,300 --> 00:22:24,950 >> Sam izvadio int, tako da nema deklaracija [nečujno] umjesto zadatku. 446 00:22:24,950 --> 00:22:28,770 Onaj znak jednakosti, stavio sam dvije jednake znakove, što znači jednak. 447 00:22:28,770 --> 00:22:30,560 Strašan. 448 00:22:30,560 --> 00:22:33,320 Da, pa što Sam nije bio on izvadio int 449 00:22:33,320 --> 00:22:35,770 koji je bio ovdje ranije, 450 00:22:35,770 --> 00:22:39,340 pa ako sam samo gledati na to - to je ono što je bilo ranije, da je rekao int 451 00:22:39,340 --> 00:22:41,970 koji je to proglašavanje - tako da smo izvadio tip. 452 00:22:41,970 --> 00:22:44,710 Tu je int, char, string, kratko, 453 00:22:44,710 --> 00:22:47,380 oni su pozvani vrste. 454 00:22:47,380 --> 00:22:49,510 Dakle, izvadio tip 455 00:22:49,510 --> 00:22:51,580 a zatim prethodno, 456 00:22:51,580 --> 00:22:54,190 on je imao samo jednog znaka jednakosti 457 00:22:54,190 --> 00:22:57,300 i ono što je rekao bilo je problematično o tome je 458 00:22:57,300 --> 00:22:59,580 kada imate jedan znak jednako, 459 00:22:59,580 --> 00:23:01,780 da je operator pridruživanja. 460 00:23:01,780 --> 00:23:04,930 To nije testiranje da li ili ne 2 stvari su jednake. 461 00:23:04,930 --> 00:23:07,920 To je zapravo postavljanje nešto jednako nešto. 462 00:23:07,920 --> 00:23:11,110 Mi smo stavljanjem broj 17 u varijablu ja. 463 00:23:11,110 --> 00:23:13,850 Dakle, učiniti takvu usporedbu, 464 00:23:13,850 --> 00:23:16,430 morate koristiti duplu jednak, 465 00:23:16,430 --> 00:23:19,640 koja je vrsta čudan stvar 466 00:23:19,640 --> 00:23:22,760 ali je prilično uobičajena pogreška. 467 00:23:23,980 --> 00:23:27,830 Dakle, jedna druga stvar Istaknut ću, ako ti ne smeta, 468 00:23:27,830 --> 00:23:30,610 da je u 469 00:23:30,610 --> 00:23:33,210 naša funkcija ovdje u int main, 470 00:23:33,210 --> 00:23:36,740 vidiš da je tijelo naše funkcije 471 00:23:36,740 --> 00:23:39,810 je pomak od lijeve strane 472 00:23:39,810 --> 00:23:42,400 po četiri razmacima ili karticu. 473 00:23:42,400 --> 00:23:44,730 Razlog što to učinite 474 00:23:44,730 --> 00:23:47,000 je samo za čitljivost. 475 00:23:47,000 --> 00:23:51,620 Kao što možete vidjeti u Samov while petlje ovdje, 476 00:23:51,620 --> 00:23:53,120 nije alineje uopće, 477 00:23:53,120 --> 00:23:55,390 i da ne utječe na funkcionalnost koda. 478 00:23:55,390 --> 00:23:57,860 To će se izvoditi isti. 479 00:23:57,860 --> 00:24:00,950 >> Tako na primjer, ako dođemo do vrha ovdje 480 00:24:00,950 --> 00:24:02,680 i pritisnite tipku Play naše, to će ga graditi, 481 00:24:02,680 --> 00:24:04,470 to će ga pokrenuti, 482 00:24:04,470 --> 00:24:06,700 i što će se dogoditi? 483 00:24:06,700 --> 00:24:08,360 Zašto je to još uvijek reći radi? 484 00:24:08,360 --> 00:24:10,560 >> Budući da ću držati ponavlja hi. 485 00:24:10,560 --> 00:24:12,900 Točno, i zašto je to držati ponavlja hi? 486 00:24:12,900 --> 00:24:15,850 >> Budući da je cjelobrojni nikada ne mijenja, tako da je uvijek 17. 487 00:24:15,850 --> 00:24:18,030 Da, točno, tako 488 00:24:18,030 --> 00:24:20,970 neka se vidi, nakon - podsjećaju me zoveš? 489 00:24:20,970 --> 00:24:24,020 Jimmy. Dakle, Jimmy je rekao da 490 00:24:24,020 --> 00:24:27,340 razlog to drži ponavlja hi iznova i iznova 491 00:24:27,340 --> 00:24:30,510 jer ovo stanje je uvijek istina. 492 00:24:30,510 --> 00:24:33,270 Mi nikada promijeniti vrijednost i. 493 00:24:33,270 --> 00:24:36,170 Mi nikada ne mijenjaju sadržaj onoga što je pohranjen u tom varijablom. 494 00:24:36,170 --> 00:24:39,180 Dakle, u ovom trenutku imamo tu pogrešku da 495 00:24:39,180 --> 00:24:42,170 vaš program generira previše izlaz, 496 00:24:42,170 --> 00:24:45,100 i ako mi se pomaknite prema dolje i vrsta pogled na ono što se ovdje događa, 497 00:24:45,100 --> 00:24:49,160 možete vidjeti da je to hi, hi, hi, hi, hi, hi, hi sve na putu kroz. 498 00:24:49,160 --> 00:24:51,200 Strašan. 499 00:24:51,200 --> 00:24:53,750 >> Dakle, vrsta leđa to izvorni točke 500 00:24:53,750 --> 00:24:57,020 da imaju uvlačenje ovdje 501 00:24:57,020 --> 00:25:00,110 u tijelu while petlje nije utjecalo na ništa. 502 00:25:00,110 --> 00:25:03,050 Program je još vodio sasvim u redu. 503 00:25:03,050 --> 00:25:06,790 Tipično za dobar stil - 504 00:25:06,790 --> 00:25:10,210 i to je nešto što ćemo gledati u svojim problematičnim setovima - 505 00:25:10,210 --> 00:25:13,930 pozivamo Vas da alineji to četiri mjesta, što možete učiniti 506 00:25:13,930 --> 00:25:16,440 po samo pritiskom na tipku Tab 507 00:25:16,440 --> 00:25:18,860 ili ručno stavljajući u četiri prostorima sebe. 508 00:25:21,880 --> 00:25:25,050 Cool, ok pa ajmo se vratiti i pogledati 509 00:25:25,050 --> 00:25:30,460 Alexander je to-a. 510 00:25:30,460 --> 00:25:32,980 >> Samo nekako ima malo problema. 511 00:25:32,980 --> 00:25:34,390 Ok, dobro ajmo raditi kroz njega. 512 00:25:34,390 --> 00:25:36,400 Je li to super? 513 00:25:36,400 --> 00:25:37,430 >> Da. 514 00:25:37,430 --> 00:25:39,200 >> Ok, pa ovdje mi ići. 515 00:25:39,200 --> 00:25:41,010 To je kod koji je napisao Alexander. 516 00:25:41,010 --> 00:25:43,410 Da li ići Alex - ok. 517 00:25:43,410 --> 00:25:46,380 Dakle, ovdje je kod koji Alex je napisao. 518 00:25:46,380 --> 00:25:50,500 Dakle, imamo našu deklaraciju glavni ovdje, 519 00:25:50,500 --> 00:25:54,410 i onda imamo ovo cjelobrojna varijabla zove ja 520 00:25:54,410 --> 00:25:57,320 se proglasio upravo ovdje. 521 00:25:57,320 --> 00:26:01,060 Imamo napraviti izjavu 522 00:26:01,060 --> 00:26:04,600 , a zatim tijelo opet s tim zagradama, 523 00:26:04,600 --> 00:26:06,520 tako da je ovo tijelo do-a - 524 00:26:06,520 --> 00:26:09,210 neka mi zumirati na to tako da je više čitati - 525 00:26:09,210 --> 00:26:12,730 iu tijelu, mi pokušavamo ispisati "ovo je tijelo", 526 00:26:12,730 --> 00:26:14,300 i + +, 527 00:26:14,300 --> 00:26:17,710 pa povećajte sadržaj 'i to 528 00:26:17,710 --> 00:26:19,470 dok ja dobiva se 3, 529 00:26:19,470 --> 00:26:22,440 i onda naš program završava. 530 00:26:22,440 --> 00:26:24,680 >> Dakle, ono što se događa kada smo pokrenuti ovaj program? 531 00:26:24,680 --> 00:26:27,580 >> Sam očekivao identifikator. 532 00:26:27,580 --> 00:26:32,070 Ok, tako graditi, pokrenuti, pojavljuje se pogreška. 533 00:26:32,070 --> 00:26:34,820 Što se događa? 534 00:26:34,820 --> 00:26:37,060 Mi dođite ovamo, 535 00:26:37,060 --> 00:26:40,260 smo dobili ovu pomalo grobni izgleda stvar, 536 00:26:40,260 --> 00:26:43,930 Očekuje se zarez nakon najvišoj razini deklaracije. 537 00:26:43,930 --> 00:26:46,620 To je nekako čudno. 538 00:26:46,620 --> 00:26:50,990 Ima li netko ideju što bi moglo biti događa? 539 00:26:53,080 --> 00:26:54,640 Nekako čudno, da. 540 00:26:54,640 --> 00:26:57,640 >> [Nečujno] biti proglašen izvan zagrade? 541 00:26:57,640 --> 00:27:03,480 Dakle, ne da ne primjenjuje onda kada koristite zagrade? 542 00:27:03,480 --> 00:27:07,390 Dakle, on je izjavio tog tipa izvan kojih zagrade? 543 00:27:09,670 --> 00:27:12,240 Oh, ti dečki - The vitičastih zagrada? 544 00:27:12,240 --> 00:27:13,850 >> Da. 545 00:27:13,850 --> 00:27:15,310 Da, točno. 546 00:27:15,310 --> 00:27:17,120 Tako ispada da je 547 00:27:17,120 --> 00:27:21,550 zapravo ne može proglasiti varijablu ovdje ovako. 548 00:27:23,750 --> 00:27:26,690 Ono što je možda pokušava učiniti je - 549 00:27:26,690 --> 00:27:30,110 izrezati ga od tamo - 550 00:27:30,110 --> 00:27:34,330 možete ga staviti unutar vitičastih zagrada ovdje 551 00:27:34,330 --> 00:27:37,400 ili druga alternativa 552 00:27:37,400 --> 00:27:40,350 je staviti ga u potpunosti izvan. 553 00:27:42,480 --> 00:27:46,610 I tako to - ovisno o tome gdje se zapravo staviti deklaraciju 554 00:27:46,610 --> 00:27:48,550 te integer varijable, 555 00:27:48,550 --> 00:27:53,540 možete dobiti dvije vrlo različite vrste varijabli; 556 00:27:53,540 --> 00:27:55,100 kada je izvan glavne, 557 00:27:55,100 --> 00:27:58,240 to je ono što mi zovemo globalna varijabla. 558 00:27:58,240 --> 00:28:00,070 To je izvan dosega bilo koje od funkcija - 559 00:28:00,070 --> 00:28:03,420 to nije u funkciji - 560 00:28:03,420 --> 00:28:07,050 a ako ćemo ga staviti unutar glavna, 561 00:28:07,050 --> 00:28:10,000 sviđa ovdje, onda se to zove lokalna varijabla, 562 00:28:10,000 --> 00:28:13,830 jer to je lokalna na opseg glavni. 563 00:28:13,830 --> 00:28:16,720 A mi ćemo govoriti malo više o tome što su razlike 564 00:28:16,720 --> 00:28:20,970 između dvije vrste i zašto koristiti različite vrste varijabli, 565 00:28:20,970 --> 00:28:23,040 ali za sada, 566 00:28:23,040 --> 00:28:25,070 možete samo zadržati sve varijable lokalne, 567 00:28:25,070 --> 00:28:28,320 jer mi nemamo nikakvu potrebu za globalnim varijablama. 568 00:28:28,320 --> 00:28:31,390 >> Ok, tako da je jedna stvar tamo. 569 00:28:31,390 --> 00:28:34,680 Pokušajmo trčanje opet, vidjeti što se događa. 570 00:28:37,420 --> 00:28:40,270 Trčanje, dobiti još jednu pogrešku. 571 00:28:40,270 --> 00:28:43,320 Zoom malo, što smo dobili? 572 00:28:45,110 --> 00:28:50,000 Mi smo dobili ovu očekuje zagrade nakon učiniti / dok. 573 00:28:53,660 --> 00:28:55,260 Bilo koji ideja što se događa? Dan? 574 00:28:55,260 --> 00:28:58,880 >> Je, a zatim zagrada i onda - 575 00:28:58,880 --> 00:29:01,990 Ne znam je li potrebno redeclare int, 576 00:29:01,990 --> 00:29:04,980 ali ne dok (i <3). 577 00:29:04,980 --> 00:29:06,930 Točno, da. 578 00:29:06,930 --> 00:29:08,830 Dakle, ispada da je Dan je to točno. 579 00:29:08,830 --> 00:29:11,230 Mi ne trebamo staviti ovaj tip opet ovdje. 580 00:29:11,230 --> 00:29:14,440 Mi umjesto toga može ubiti tip 581 00:29:14,440 --> 00:29:17,220 i samo to. 582 00:29:19,270 --> 00:29:21,640 U redu. 583 00:29:21,640 --> 00:29:24,950 Ja ću uvećanje natrag, pokušajte ga još jednom. 584 00:29:26,360 --> 00:29:29,580 Pogledajte kako, to traje uspješna. 585 00:29:29,580 --> 00:29:33,260 Ako smo pomicali prema dolje ", ovo je tijelo" ispisati tri puta. 586 00:29:33,260 --> 00:29:35,820 To je prilično slatko. 587 00:29:35,820 --> 00:29:38,670 Bravo, dobro učinio, dečki. 588 00:29:38,670 --> 00:29:41,080 Bravo. 589 00:29:41,080 --> 00:29:43,250 Kako to ide tako daleko? 590 00:29:43,250 --> 00:29:46,200 Pristojan ritam? 591 00:29:46,200 --> 00:29:49,200 Ok, cool. 592 00:29:49,200 --> 00:29:52,590 >> Dakle, kao što smo vrsta leđa to izvorni pitanje, 593 00:29:52,590 --> 00:29:55,430 mi - a sada, ako vidimo razliku, 594 00:29:55,430 --> 00:29:58,240 vidiš kako ovom do-while petlji 595 00:29:58,240 --> 00:30:00,030 uvjet dolazi posljednji. 596 00:30:00,030 --> 00:30:02,530 Dakle, kao što je računalo čita program 597 00:30:02,530 --> 00:30:06,050 budući da su C programi izvode vrsta u ovom redoslijedom, 598 00:30:06,050 --> 00:30:09,450 gdje su doslovno početi s prve crte glavnih, 599 00:30:09,450 --> 00:30:13,450 i tada izvršiti liniju 6, 7, liniju linije 8, 9, linija 600 00:30:13,450 --> 00:30:16,150 linija 10, linija 11, 601 00:30:16,150 --> 00:30:18,440 sve ove stvari na vrhu ovdje 602 00:30:18,440 --> 00:30:20,020 će se izvršiti nakon 603 00:30:20,020 --> 00:30:23,350 prije nego što smo ikada testirali ovaj uvjet vidjeti 604 00:30:23,350 --> 00:30:26,240 hoće li ili ne ja - ili sadržaju ja, a - 605 00:30:26,240 --> 00:30:29,750 su manje od broja 3. 606 00:30:29,750 --> 00:30:33,300 I samo ako nakon što smo dobili na liniji 12, 607 00:30:33,300 --> 00:30:36,260 sadržaj ja smo manje od tri 608 00:30:36,260 --> 00:30:39,150 mi zapravo skočiti natrag do linije 7 609 00:30:39,150 --> 00:30:41,140 , a zatim ponovite postupak, 610 00:30:41,140 --> 00:30:44,620 i onda smo testirati stanje opet i opet i opet. 611 00:30:44,620 --> 00:30:47,440 >> Tako možemo usporediti ovaj 612 00:30:47,440 --> 00:30:50,240 s - zumiranje natrag, 613 00:30:50,240 --> 00:30:56,500 pomaknite se dolje da Sam verziji, 614 00:30:56,500 --> 00:31:00,760 ćemo gledati na to, malo promijenila, tako da to više nije beskonačna petlja - 615 00:31:00,760 --> 00:31:03,570 gdje ako smo povećali, 616 00:31:03,570 --> 00:31:06,300 vidimo da je kao ovaj program izvršava, 617 00:31:06,300 --> 00:31:09,120 to će prvi proglasiti int i, 618 00:31:09,120 --> 00:31:12,030 postavite sadržaj ću biti na 0, 619 00:31:12,030 --> 00:31:15,820 i onda ga pogodi stanje while petlje prvi, 620 00:31:15,820 --> 00:31:19,210 tako da u ovom slučaju, ovo tijelo, ova printf ("hi") i ja + + 621 00:31:19,210 --> 00:31:21,630 neće ni izvršiti 622 00:31:21,630 --> 00:31:24,310 osim ako sam je zapravo manje od ili jednaka 2. 623 00:31:24,310 --> 00:31:26,750 Dakle, ako sam je 3, na primjer, 624 00:31:26,750 --> 00:31:28,840 ako smo postavili ovo pravo ovdje 625 00:31:28,840 --> 00:31:32,160 jednaka 4 - ili ću napraviti tri, jer sam rekao 3 - 626 00:31:32,160 --> 00:31:34,890 a zatim ga pokrenuti, 627 00:31:34,890 --> 00:31:38,320 to će graditi, to će pokrenuti potpuno u redu, 628 00:31:38,320 --> 00:31:40,530 ali to se neće ispisati ništa, 629 00:31:40,530 --> 00:31:43,030 jer to nije taj test za prvom slučaju. 630 00:31:44,780 --> 00:31:47,530 Tako je u klasi, mi vrsta razgovarali o tome zašto ti učiniti-dok petlje 631 00:31:47,530 --> 00:31:49,800 korisni su ponekad 632 00:31:49,800 --> 00:31:53,140 i zašto bismo ga koristiti za razliku od while petlje. 633 00:31:53,140 --> 00:31:56,450 >> Jesu li - da li vi momci imate bilo kakve prijedloge 634 00:31:56,450 --> 00:31:59,090 zašto ne-while petlja može biti više koristan? 635 00:31:59,090 --> 00:32:02,560 >> Pa, mislim da uradi dok petlje je ako želite korisničkog unosa, 636 00:32:02,560 --> 00:32:05,020 jer na taj način možete ih pustiti 637 00:32:05,020 --> 00:32:07,780 staviti nešto u jednom, a ako je to točno, 638 00:32:07,780 --> 00:32:09,300 možemo prijeći na ostatak programa, 639 00:32:09,300 --> 00:32:11,250 ali ako to nije točno, onda držati na pitajući korisnika 640 00:32:11,250 --> 00:32:13,250 dok ste stavili pravi ulaz. 641 00:32:13,250 --> 00:32:14,260 Da, točno - točno, 642 00:32:14,260 --> 00:32:16,840 tako učiniti-while petlja je korisno 643 00:32:16,840 --> 00:32:18,930 jer kad pitajući za unos korisnika 644 00:32:18,930 --> 00:32:23,000 jer vam je potrebno da biste dobili korisnikov unos prije nego što zapravo može provjeriti. 645 00:32:23,000 --> 00:32:27,330 Tako je u pset 1, u pset 2, 646 00:32:27,330 --> 00:32:29,650 gdje ste pitajući za unos korisnika puno, 647 00:32:29,650 --> 00:32:31,200 da je zgodan stvar za koristiti 648 00:32:31,200 --> 00:32:33,740 za razliku od samo jednostavan while petlje. 649 00:32:33,740 --> 00:32:36,780 Ako koristite while petlja, možete učiniti istu stvar - 650 00:32:36,780 --> 00:32:38,750 možete učiniti istu stvar s while petlje 651 00:32:38,750 --> 00:32:40,580 kao što učiniti s ne-while petlje. 652 00:32:40,580 --> 00:32:43,380 Vi samo morati vrsta imaju ovaj dvostruki proces 653 00:32:43,380 --> 00:32:47,010 gdje ste dobili ulaz prvi, a zatim pokrenuti while petlja. 654 00:32:47,010 --> 00:32:49,800 Dok učiniti-while petlja, samo morate ga pisati jednom 655 00:32:49,800 --> 00:32:52,430 i to je puno čišći. 656 00:32:52,430 --> 00:32:54,650 >> U redu. 657 00:32:55,970 --> 00:32:57,330 Ima li pitanja? 658 00:32:59,350 --> 00:33:01,380 Smisla? 659 00:33:01,380 --> 00:33:06,200 >> Povratak 0 - to je samo vrsta pašu ili je to -? 660 00:33:06,200 --> 00:33:08,960 Da, tako možemo - 661 00:33:08,960 --> 00:33:11,960 dobro, mi ćemo pokriti to malo više kasnije 662 00:33:11,960 --> 00:33:13,290 ali ispada da je 663 00:33:13,290 --> 00:33:15,720 ovo povratak 0 da smo stavili 664 00:33:15,720 --> 00:33:19,090 na kraju glavnog sve vrijeme - 665 00:33:19,090 --> 00:33:21,980 ti nekako mogu samo uzeti kao nešto što radimo 666 00:33:21,980 --> 00:33:24,930 zasad. 667 00:33:24,930 --> 00:33:28,860 Ono što smo počeli razgovarati o tome s funkcijama 668 00:33:28,860 --> 00:33:31,600 vrsta krajem prošlog tjedna, a onda opet ovaj tjedan 669 00:33:31,600 --> 00:33:33,550 je da funkcija 670 00:33:33,550 --> 00:33:37,680 uzima inpute koji su ove stvari unutar zagrade; 671 00:33:37,680 --> 00:33:41,690 to su dva ulaza, naši argumenti ili parametri, 672 00:33:41,690 --> 00:33:44,540 ono što oni su također pozvani na našoj glavnoj funkciji, 673 00:33:44,540 --> 00:33:48,510 a zatim funkcija stvara output 674 00:33:48,510 --> 00:33:51,290 koje zovemo povratnu vrijednost. 675 00:33:51,290 --> 00:33:56,260 I povratna vrijednost u slučaju Glavni je ovo int 676 00:33:56,260 --> 00:33:58,320 ovaj broj, 677 00:33:58,320 --> 00:34:01,160 i način reći funkciju, "Hej, to je ono što vaš izlaz 678 00:34:01,160 --> 00:34:05,840 će biti ", je sa ovom riječi" povratka ", 679 00:34:05,840 --> 00:34:07,960 ta ključna riječ, a, 680 00:34:07,960 --> 00:34:11,000 i tako glavni povratka 0 681 00:34:11,000 --> 00:34:13,389 ili glavna izlaza 0 682 00:34:13,389 --> 00:34:15,139 je standard u C programima 683 00:34:15,139 --> 00:34:18,110 jer se vraćaju 0 od glavnih znači da 684 00:34:18,110 --> 00:34:21,600 "Hej, sve izvode s mog programa samo fino." 685 00:34:21,600 --> 00:34:24,639 Ako smo bili staviti nešto drugo osim 0, 686 00:34:24,639 --> 00:34:27,440 poput 1, na primjer, 687 00:34:27,440 --> 00:34:31,080 koja se koristi za reći tko je vodio ovaj program 688 00:34:31,080 --> 00:34:33,540 da je nešto pošlo po zlu. 689 00:34:35,739 --> 00:34:39,989 Dakle, kao što smo dobili više uključeni u stvari preko semestra, 690 00:34:39,989 --> 00:34:42,670 ako ikada se trebaju reći, 691 00:34:42,670 --> 00:34:46,650 "Ups, znate, nešto je pošlo krivo s ovim programom," 692 00:34:46,650 --> 00:34:49,409 umjesto da moje padove programa, želim obavijestiti 693 00:34:49,409 --> 00:34:52,310 trkač mog programa da je nešto pošlo po zlu, 694 00:34:52,310 --> 00:34:54,530 možete koristiti povratnu vrijednost, 695 00:34:54,530 --> 00:34:57,230 kao što smo ga zovu, to nije 0. 696 00:35:00,180 --> 00:35:02,240 >> Tako ćemo pokriti da malo više 697 00:35:02,240 --> 00:35:05,480 nakon što smo dobili u funkcijama. 698 00:35:05,480 --> 00:35:09,030 Takvo smisla? 699 00:35:09,030 --> 00:35:11,240 Ok. 700 00:35:11,240 --> 00:35:13,530 Funkcije su vrsta bizarno - 701 00:35:13,530 --> 00:35:17,270 Mislim da je za ljude koji imaju puno matematike pozadini, 702 00:35:17,270 --> 00:35:20,100 to dolazi malo lakše, 703 00:35:20,100 --> 00:35:22,540 pogotovo ako imate malo više apstraktne matematike pozadinu 704 00:35:22,540 --> 00:35:24,240 i na koje ste navikli govoriti o funkcijama 705 00:35:24,240 --> 00:35:27,370 i sve takve stvari. 706 00:35:28,590 --> 00:35:30,610 No, pokušat ćemo i pokriti ih 707 00:35:30,610 --> 00:35:33,280 i ići lijepo i sporo kao oni dolaze gore. 708 00:35:34,730 --> 00:35:37,870 Isto tako, cijela ova int argc, 709 00:35:37,870 --> 00:35:41,090 char * argv [], 710 00:35:41,090 --> 00:35:44,960 za sada, također možete uzeti kao tanjur kotla. 711 00:35:46,650 --> 00:35:49,050 Mi smo počeli da pokriju one malo u predavanju 712 00:35:49,050 --> 00:35:53,060 kada govorimo o argumentima koji se prenose u programe iz komandne linije, 713 00:35:53,060 --> 00:35:55,700 ali tvoj problem setovima i svojim programima, 714 00:35:55,700 --> 00:35:58,760 to je potpuno u redu samo napisati prazninu i držati ga jednostavno. 715 00:35:58,760 --> 00:36:01,490 A što ta praznina znači da je 716 00:36:01,490 --> 00:36:04,630 "Hej, glavna neće prihvatiti nikakve ulaza; 717 00:36:04,630 --> 00:36:07,440 ovo je samo program ćemo samo pokrenuti. 718 00:36:07,440 --> 00:36:09,320 Nećemo će mu dati bilo kakve dodatne informacije 719 00:36:09,320 --> 00:36:12,420 svaki put kad smo ga pokrenuti trčanje. " 720 00:36:14,730 --> 00:36:16,600 Dakle, za sada, možete to učiniti; 721 00:36:16,600 --> 00:36:19,710 možete čak i izostaviti 0 povratnu 722 00:36:19,710 --> 00:36:22,650 na kraju svoje programe i oni će pokrenuti sasvim u redu, 723 00:36:22,650 --> 00:36:26,150 ali ja preporučujem samo čuvanje da u. 724 00:36:26,150 --> 00:36:28,320 U nekoliko tjedana, počet ćemo s vrstom 725 00:36:28,320 --> 00:36:31,340 povući poklopac malo i razumjeti više o 726 00:36:31,340 --> 00:36:34,380 svi oni različiti mali pomični dijelovi. 727 00:36:34,380 --> 00:36:38,160 >> U redu, sada idemo razgovarati o našem drugo pitanje ovdje. 728 00:36:38,160 --> 00:36:43,190 Dakle, ono što ne "neprijavljenog identifikator" obično ukazuju 729 00:36:43,190 --> 00:36:46,040 ako outputted po jeka? 730 00:36:46,040 --> 00:36:49,290 Mislim da smo mogli vidjeti da je već danas. 731 00:36:51,170 --> 00:36:54,370 Može li netko dati rekapitulacija što to znači? 732 00:36:54,370 --> 00:36:57,680 Hajdemo vidjeti, Kelly - jedan od Kellys. 733 00:37:02,580 --> 00:37:05,300 >> Dakle - 734 00:37:05,300 --> 00:37:07,080 Da, ono što čini - 735 00:37:07,080 --> 00:37:10,140 >> Mislim kada, kao, ne proglasiti varijable i pokušati ga koristiti. 736 00:37:10,140 --> 00:37:13,310 Da, točno, točno. 737 00:37:13,310 --> 00:37:15,250 Dakle, ako ste ikada vidjeli ovaj izlaz 738 00:37:15,250 --> 00:37:17,690 kada pokušate sastaviti svoj program, 739 00:37:17,690 --> 00:37:19,470 baš kao i Kelly rekao je, 740 00:37:19,470 --> 00:37:24,210 to znači da ste koristili varijablu da ne proglasi, 741 00:37:24,210 --> 00:37:28,460 pa ako se vratim na naš prostor, 742 00:37:28,460 --> 00:37:31,150 i ja nešto slično 743 00:37:31,150 --> 00:37:34,800 printf ( 744 00:37:34,800 --> 00:37:38,260 "Pozdrav% s") 745 00:37:40,070 --> 00:37:42,440 i pokušati ispuniti da% s 746 00:37:42,440 --> 00:37:45,640 s promjenjivom je da nisam nigdje proglasio 747 00:37:45,640 --> 00:37:48,330 i ja pokušati ga pokrenuti, 748 00:37:48,330 --> 00:37:51,330 ćete vidjeti što mogu dobiti dolje na dnu ovog ovdje: 749 00:37:51,330 --> 00:37:54,010 "Korištenje neprijavljenog identifikator 'S'"; 750 00:37:54,010 --> 00:37:57,710 to samo znači da nije proglasiti svoju varijablu. 751 00:37:57,710 --> 00:38:00,750 Ista stvar će se dogoditi ako 752 00:38:00,750 --> 00:38:05,240 imate x, a vi pokušajte i pohraniti sedam u njemu 753 00:38:05,240 --> 00:38:08,720 i nisam proglasiti X. 754 00:38:08,720 --> 00:38:10,200 Ja dobiti tu istu pogrešku: 755 00:38:10,200 --> 00:38:13,480 "Korištenje neprijavljenog identifikator 'X'". 756 00:38:16,390 --> 00:38:18,250 >> U redu, 757 00:38:18,250 --> 00:38:21,720 pa Cezarova šifra, a ne što je vrlo siguran, 758 00:38:21,720 --> 00:38:24,590 Pustit ću ti dečki gledaju ovu kratku, kakve razumjeti zašto, 759 00:38:24,590 --> 00:38:27,590 i nadamo se nakon toga ovotjedno problema postaviti 760 00:38:27,590 --> 00:38:29,270 gdje se zapravo napisati Cezarova šifra, shvatit ćete malo više 761 00:38:29,270 --> 00:38:32,600 o tome što to znači biti siguran i nesiguran - 762 00:38:36,180 --> 00:38:38,960 ili nije sigurna, pretpostavljam - nesigurno je malo drugačija. 763 00:38:40,560 --> 00:38:43,140 Druga stvar je da su ove Ostala pitanja ovdje 764 00:38:43,140 --> 00:38:45,470 o funkcijama 765 00:38:45,470 --> 00:38:47,330 a što je funkcija, 766 00:38:47,330 --> 00:38:52,820 i mi vrsta razgovarali o toj nakratko kada smo razgovarali o povratnih vrijednosti; 767 00:38:52,820 --> 00:38:54,560 za nekoga tko je bio na predavanju, 768 00:38:54,560 --> 00:38:57,790 možete proučiti tko je bio na predavanju danas? 769 00:38:57,790 --> 00:38:59,670 U redu. 770 00:39:01,210 --> 00:39:04,320 Hajdemo vidjeti; popijmo - možete nam netko reći što je funkcija? 771 00:39:04,320 --> 00:39:06,060 Kelly? 772 00:39:07,800 --> 00:39:11,260 >> >> Uglavnom nešto što osloniti na nešto što je zapisano u knjižnici koja je 773 00:39:11,260 --> 00:39:14,460 složeniji tamo, a onda ti samo napisati kratku formu njega, 774 00:39:14,460 --> 00:39:17,360 tako kao da ste se odnosi natrag na toj knjižnici, pomoću 775 00:39:17,360 --> 00:39:19,650 sve to dugo kod i [nečujno]. 776 00:39:19,650 --> 00:39:22,680 Da, točno, a onda želiš nešto dodati na to? 777 00:39:22,680 --> 00:39:27,050 >> Da, mislim o tome kao sličan koncept formule u matematici 778 00:39:27,050 --> 00:39:30,130 gdje ste samo napisati formulu i onda možete priključiti varijable u 779 00:39:30,130 --> 00:39:32,660 i to je ono što je funkcija [nečujno]. 780 00:39:32,660 --> 00:39:35,390 >> Da, tako mi imamo nekoliko odgovora ovdje 781 00:39:35,390 --> 00:39:38,080 da su oboje jako dobro i pravo. 782 00:39:38,080 --> 00:39:43,040 Tu je pozivajući se koda koji je bio napisan u knjižnici negdje 783 00:39:43,040 --> 00:39:45,390 to je više komplicirano 784 00:39:45,390 --> 00:39:47,130 a onda možete osloniti na tom kodu 785 00:39:47,130 --> 00:39:50,480 i zapravo ga koristiti samo pisanje kratki oblik njega - 786 00:39:50,480 --> 00:39:54,060 ili, bolje rečeno, njegovo ime - 787 00:39:54,060 --> 00:39:57,590 i onda tu je i ova usporedba na formuli u matematici 788 00:39:57,590 --> 00:40:00,400 ili fizika, sve takve stvari 789 00:40:00,400 --> 00:40:02,980 gdje imate formulu 790 00:40:02,980 --> 00:40:05,690 i onda možete priključiti 791 00:40:05,690 --> 00:40:08,100 varijable u toj formuli 792 00:40:08,100 --> 00:40:11,130 do tada dobili rezultat formule, 793 00:40:11,130 --> 00:40:14,580 tako da mislite o tome što kao kvadratnu jednadžbu. 794 00:40:14,580 --> 00:40:17,690 Zamislite da umjesto da uče o 795 00:40:17,690 --> 00:40:21,310 što kvadratni formula je u math class, 796 00:40:21,310 --> 00:40:24,610 samo je imao malo kalkulator program koji to učinio za vas. 797 00:40:24,610 --> 00:40:28,930 Je li itko koristiti kalkulator programe u matematici nastave u srednjoj školi? 798 00:40:28,930 --> 00:40:31,020 Da, fizika klase? 799 00:40:31,020 --> 00:40:34,670 Gdje možete samo reći: "Hej, kvadratnu formulu. 800 00:40:34,670 --> 00:40:37,740 To su varijable koje želim ulaz. 801 00:40:37,740 --> 00:40:40,250 Sada mi dati odgovor. " 802 00:40:40,250 --> 00:40:42,170 To je vrsta ono što je funkcija. 803 00:40:42,170 --> 00:40:44,850 To je način za nas da 804 00:40:44,850 --> 00:40:47,720 vrsta pisati kao malom malo sub programa 805 00:40:47,720 --> 00:40:51,700 unutar našeg većeg programa 806 00:40:51,700 --> 00:40:55,090 i koristiti ga iznova i iznova 807 00:40:55,090 --> 00:40:58,380 tako da mi ne morate kopirati i zalijepiti kôd, 808 00:40:58,380 --> 00:41:04,220 možemo dati različite ulaze i izlaze dobiti različite, 809 00:41:04,220 --> 00:41:07,090 to je super zgodan 810 00:41:07,090 --> 00:41:11,420 kada pokušavate pisati različite programe u različitim vremenima. 811 00:41:11,420 --> 00:41:14,580 >> Tako na primjer, funkcija koja smo koristili iznova i iznova i iznova 812 00:41:14,580 --> 00:41:17,310 tijekom tečaja je printf. 813 00:41:17,310 --> 00:41:19,680 Printf je sama funkcija 814 00:41:19,680 --> 00:41:23,360 i ispada da je zapravo prilično dugo i komplicirano, 815 00:41:23,360 --> 00:41:26,420 gadno izgleda, funkcionira pisati. 816 00:41:26,420 --> 00:41:29,590 Dakle, kao jednostavan kao što se čini da nas 817 00:41:29,590 --> 00:41:31,810 ispisati stvari van na zaslonu, 818 00:41:31,810 --> 00:41:34,820 jer smo svi samo to učinio na početku dionice danas, 819 00:41:34,820 --> 00:41:36,870 Ispada da je to zapravo, znate, 820 00:41:36,870 --> 00:41:39,900 dobar par stotina linija koda. 821 00:41:42,030 --> 00:41:45,620 To nije nešto što sam ikada htio napisati, sigurno, 822 00:41:45,620 --> 00:41:47,480 ali smo dobili ga koristiti svaki dan, to je vrsta cool, 823 00:41:47,480 --> 00:41:49,020 tako da smo dobili da ga dijele jedni s drugima, 824 00:41:49,020 --> 00:41:51,790 s različitim programima, 825 00:41:51,790 --> 00:41:54,520 pa ćemo biti više u ronjenju funkcija; 826 00:41:54,520 --> 00:41:56,090 zasad, nismo - 827 00:41:56,090 --> 00:41:59,150 jedina funkcija da ćemo biti pismeno je glavni. 828 00:41:59,150 --> 00:42:01,570 Glavni sama je također funkcija, 829 00:42:01,570 --> 00:42:04,270 i možete vidjeti da je dobila izlaz, 830 00:42:04,270 --> 00:42:06,610 njegovi inputi kao što smo razgovarali o tome, 831 00:42:06,610 --> 00:42:08,930 a zatim njegovo ime, što je glavni. 832 00:42:08,930 --> 00:42:11,800 Glavna je vrsta - je posebna funkcija postoji. 833 00:42:11,800 --> 00:42:14,800 U vašem C programu, mora postojati glavna funkcija, 834 00:42:14,800 --> 00:42:17,900 i tako za sada, mi smo vrsta izostavljen pisanja 835 00:42:17,900 --> 00:42:21,400 prototip, ili izjava, glavni. 836 00:42:21,400 --> 00:42:23,050 Mi smo s obzirom da je za vas, 837 00:42:23,050 --> 00:42:25,650 i upravo smo je li ispuniti vrste praznine. 838 00:42:25,650 --> 00:42:29,120 >> >> Tako je za drugi set problema, ne trebamo se 839 00:42:29,120 --> 00:42:31,350 napisati u drugoj funkciji? 840 00:42:31,350 --> 00:42:34,200 Ja ne vjerujem da je tako. 841 00:42:34,200 --> 00:42:37,600 Vjerujem da je sve ovdje. 842 00:42:37,600 --> 00:42:41,710 Da, tako je Cezar Cipher, 843 00:42:41,710 --> 00:42:45,000 ne morate, ne izgledaju, 844 00:42:48,740 --> 00:42:53,150 i Vigenere, ne znaš ni 845 00:42:53,150 --> 00:42:56,400 tako - a to ispada da nikada ne zapravo imaju pisati 846 00:42:56,400 --> 00:42:58,250 funkcija, zar ne? 847 00:42:58,250 --> 00:43:01,950 Možete nazvati uvijek staviti sve svoje koda unutar Main, 848 00:43:01,950 --> 00:43:04,500 i mnogi programeri učiniti. 849 00:43:04,500 --> 00:43:07,130 Kao što smo premjestiti na, 850 00:43:07,130 --> 00:43:09,480 počnemo uvođenjem funkcije kao način 851 00:43:09,480 --> 00:43:11,530 očistiti svoj kôd, 852 00:43:11,530 --> 00:43:13,380 da bi ga više elegantan, 853 00:43:13,380 --> 00:43:16,890 u slučaju da imate zadatke - vrsta kao kada smo razgovarali o petlji, 854 00:43:16,890 --> 00:43:20,400 kako ponekad postoje stvari koje želite učiniti opet i opet i opet, 855 00:43:20,400 --> 00:43:23,510 i imate kakav naivan način - 856 00:43:23,510 --> 00:43:26,360 ili što mi često nazivamo "slamnati čovjek" rješenje, 857 00:43:26,360 --> 00:43:29,390 je samo kopirati i zalijepiti iznova i iznova - 858 00:43:29,390 --> 00:43:31,000 možete učiniti istu stvar s funkcijama gdje se samo kopirati i zalijepiti 859 00:43:31,000 --> 00:43:33,360 Isti broj iznova i iznova, 860 00:43:33,360 --> 00:43:35,750 ali da bloats kôd - 861 00:43:35,750 --> 00:43:38,550 to završi što je kod jako dugo - 862 00:43:38,550 --> 00:43:41,550 i ona također dobiva malo zbunjujuće, 863 00:43:41,550 --> 00:43:43,470 i onda to znači da niste u mogućnosti da se sviđa - 864 00:43:43,470 --> 00:43:45,250 ako ikada želite koristiti taj kod ponovno u drugom programu, 865 00:43:45,250 --> 00:43:48,610 također zapeli kopirati i zalijepiti opet, 866 00:43:48,610 --> 00:43:51,170 tako da jedna od stvari koje ćemo razgovarati o tome 867 00:43:51,170 --> 00:43:54,960 vrsta dizajna i stila vaših programa, 868 00:43:54,960 --> 00:43:57,010 pa kad ima smisla vrsta 869 00:43:57,010 --> 00:43:59,800 Paket nešto gore i staviti ga kao zasebnu funkciju, 870 00:43:59,800 --> 00:44:02,080 savjetujemo vam da to učinite, 871 00:44:02,080 --> 00:44:04,700 i to je nešto što, opet, 872 00:44:04,700 --> 00:44:07,790 nema tvrdih i brzo pravila. 873 00:44:07,790 --> 00:44:11,540 Rijetko smo reći da morate napisati funkciju zove to, 874 00:44:12,870 --> 00:44:16,320 ali to je više od jednog od tih stvari koje ste upravo razviti s vremenom 875 00:44:16,320 --> 00:44:19,470 kao što napisati više i više programa. 876 00:44:21,940 --> 00:44:24,790 >> Svaki više pitanja? 877 00:44:26,340 --> 00:44:30,610 Ok, pa ajmo sad 878 00:44:30,610 --> 00:44:34,750 Vratite se do ovog momka ovdje, 879 00:44:34,750 --> 00:44:37,800 pa ja sam još uvijek u ovom dijelu pitanja. 880 00:44:37,800 --> 00:44:39,900 Razgovarali smo o svim tim različitim one, 881 00:44:39,900 --> 00:44:42,050 što je funkcija, zašto pisati funkcije, 882 00:44:42,050 --> 00:44:44,700 kada možete samo kopirati i zalijepiti? 883 00:44:44,700 --> 00:44:47,700 Nadam se da smo vas uvjerili da je pisanje funkcija je dobra stvar. 884 00:44:47,700 --> 00:44:50,870 Dakle, sada idemo na ovom MySpace programa, 885 00:44:50,870 --> 00:44:53,080 a mi ćemo provesti malo vremena radi toga. 886 00:44:54,600 --> 00:44:56,480 >> Dakle, neka je vidjeti, 887 00:44:56,480 --> 00:45:00,230 može sam netko pročitati ovo za mene? 888 00:45:02,640 --> 00:45:04,660 Popijmo Mikhaila - bit ćete pročitati ovo za nas? 889 00:45:07,660 --> 00:45:08,890 >> Misliš vratiti kada MySpace - 890 00:45:08,890 --> 00:45:10,920 Natrag kad myspace je super. 891 00:45:10,920 --> 00:45:12,070 >> "Povratak kada MySpace je cool, 892 00:45:12,070 --> 00:45:14,900 to je sve bijes na tipu kao što je ovaj. 893 00:45:14,900 --> 00:45:17,320 Možda je to još uvijek? Nisam baš siguran. 894 00:45:17,320 --> 00:45:19,990 U svakom slučaju, pomoću CS50 aparati, 895 00:45:19,990 --> 00:45:22,600 CS50 Run, ili CS50 mjesta, 896 00:45:22,600 --> 00:45:25,370 napisati program koji traži od korisnika za poruke 897 00:45:25,370 --> 00:45:29,350 a zatim ispisuje poruku sa svojim prvo slovo veliko, 898 00:45:29,350 --> 00:45:31,800 sa svim ostalim slovima u izmjenične slučaju, 899 00:45:31,800 --> 00:45:34,010 po uzorku izlaz ispod, 900 00:45:34,010 --> 00:45:37,060 gdje boldfaced tekst predstavlja neki korisnik je ulaz. 901 00:45:37,060 --> 00:45:39,800 Radi jednostavnosti, možete pretpostaviti da je korisnik 902 00:45:39,800 --> 00:45:42,810 će samo ulazni mala slova i razmake. 903 00:45:42,810 --> 00:45:45,900 Razmotrite ovaj problem priliku da praksu; 904 00:45:45,900 --> 00:45:48,640 nećete biti zamoljeni da pošaljete ovaj program. " 905 00:45:48,640 --> 00:45:51,640 >> Fenomenalno, hvala. 906 00:45:51,640 --> 00:45:54,750 Dakle, kao Mikhaila rekao, 907 00:45:54,750 --> 00:45:58,850 ćemo napisati program koji MySpaces svoj kôd. 908 00:45:58,850 --> 00:46:02,230 Dakle, nije netko od vas koristiti MySpace? 909 00:46:02,230 --> 00:46:04,100 Svaki od vas ima myspace račune? 910 00:46:04,100 --> 00:46:05,920 Oh, da, da! 911 00:46:05,920 --> 00:46:08,300 To je prilično cool. 912 00:46:08,300 --> 00:46:09,950 [Smijeh] 913 00:46:09,950 --> 00:46:12,060 Znam. 914 00:46:12,060 --> 00:46:14,500 Ja Dating. 915 00:46:15,490 --> 00:46:18,300 Dakle, ono što mi pokušavamo učiniti je napisati program 916 00:46:18,300 --> 00:46:21,110 koja prolazi kroz 917 00:46:21,110 --> 00:46:24,490 i iskorištava prvo slovo 918 00:46:24,490 --> 00:46:27,140 a zatim svaki pismo toga - 919 00:46:27,140 --> 00:46:29,350 ili svaki drugi pismo nakon toga, žao mi je. 920 00:46:29,350 --> 00:46:32,910 >> Dakle - i što možete vidjeti u ovom primjeru, 921 00:46:32,910 --> 00:46:35,260 ovo je, kako smo pokrenuti program, 922 00:46:35,260 --> 00:46:38,780 pa to je samo rekao: "Mi smo trčanje program koji se zove a.out. 923 00:46:41,490 --> 00:46:44,630 Ulazni da ćemo ga dati 924 00:46:44,630 --> 00:46:47,090 će biti zatraženo. 925 00:46:47,090 --> 00:46:51,150 Mi ne ćeš dostaviti ulaz na naredbenog retka. " 926 00:46:51,150 --> 00:46:54,100 Ako ste nakon svih predavanja 927 00:46:54,100 --> 00:46:56,710 i rasprava o naredbenog retka argumente, 928 00:46:57,810 --> 00:47:00,080 to je vrsta gdje su oni - koji funky sintaksa 929 00:47:00,080 --> 00:47:04,530 na glavnom dolazi u sa int argc, sve te stvari, 930 00:47:04,530 --> 00:47:07,630 pa ovdje nećemo koristiti da, nismo se bave bilo to. 931 00:47:09,400 --> 00:47:12,650 Mi smo samo gonna get to upisali u od strane korisnika, 932 00:47:12,650 --> 00:47:15,700 i onda je to druga linija s funky kapitalizacije 933 00:47:15,700 --> 00:47:18,550 je ono što želimo naš program za izlaz. 934 00:47:19,790 --> 00:47:22,860 >> Dakle, umjesto da koristite aparati ili pokrenuti, koristit ćemo prostore, 935 00:47:22,860 --> 00:47:25,360 jer imamo prostore, 936 00:47:25,360 --> 00:47:28,640 pa ako ti dečki bi 937 00:47:28,640 --> 00:47:32,380 dobili kôd izgledati nešto poput ovoga, 938 00:47:32,380 --> 00:47:35,930 pa ću spasiti ovu reviziju 939 00:47:35,930 --> 00:47:38,390 samo tako imaš kotao ploča ovdje 940 00:47:38,390 --> 00:47:42,840 da izgleda ovako, int main (void), ništa u njemu. 941 00:47:44,480 --> 00:47:48,460 Zapravo, ono što ćemo učiniti je samo ćemo izbrisati sve zajedno. 942 00:47:48,460 --> 00:47:50,330 Želimo praznu listu, 943 00:47:50,330 --> 00:47:52,470 jer nećemo početi pisanje koda; 944 00:47:52,470 --> 00:47:55,380 a, mi ćemo pokušati snimiti neki pseudocode 945 00:47:55,380 --> 00:47:58,580 koji zapravo samo znači da ćemo napisati nešto što nije broj 946 00:47:58,580 --> 00:48:01,010 takav opisuje ono što želimo učiniti, 947 00:48:01,010 --> 00:48:05,180 nekako poput Davida učinio na prvi dan predavanja, 948 00:48:05,180 --> 00:48:08,310 ili mislim da je bio drugi dan predavanju kad je to učinio cijelu čarape demo. 949 00:48:08,310 --> 00:48:10,990 Vi se sjetiti da je - gledajući čarape? 950 00:48:10,990 --> 00:48:13,300 Josip je bio tamo vrsta tipkati na engleskom jeziku? 951 00:48:13,300 --> 00:48:16,300 Tako ćemo napraviti istu stvar. 952 00:48:16,300 --> 00:48:18,380 >> Dakle, kada sam početi pisati pseudocode, 953 00:48:18,380 --> 00:48:22,640 Ja bih početi gleda na ono što je ulaz će biti. 954 00:48:22,640 --> 00:48:24,950 I ja sam osobno dati slučaj uzorak, 955 00:48:24,950 --> 00:48:28,780 pa kao "hvala za dod!" 956 00:48:35,030 --> 00:48:38,010 A onda sam pisati ono što želim izlaz da se, 957 00:48:38,010 --> 00:48:42,210 koja je u ovom slučaju je nešto poput ovoga. 958 00:48:53,790 --> 00:48:56,050 I takav mi daje dobar, kao, startno mjesto za razmišljanje o tome, 959 00:48:56,050 --> 00:48:59,730 "Dobro, želim da se linija 1 960 00:48:59,730 --> 00:49:03,560 i želim ga pretvoriti u liniji 2, " 961 00:49:03,560 --> 00:49:06,570 i takav pomaže voditi moje razmišljanje. 962 00:49:06,570 --> 00:49:09,990 Ovo je dobro mjesto za početak. 963 00:49:09,990 --> 00:49:12,190 Drugi način da mislite o tome, previše, kao što smo nekako premjestiti na 964 00:49:12,190 --> 00:49:15,020 i kao što ste to učinili u svojim programima, je 965 00:49:15,020 --> 00:49:18,530 razmišljati o vrsti kao što su rubni slučajevi na to? 966 00:49:18,530 --> 00:49:20,740 Koje su vrste od čudnih scenarija? 967 00:49:20,740 --> 00:49:23,660 Koje su čudni ulazi da bismo mogli dobiti? 968 00:49:23,660 --> 00:49:26,550 A što bi ti izlazi izgledati? 969 00:49:26,550 --> 00:49:29,670 Na primjer, jedan čudan ulaz 970 00:49:29,670 --> 00:49:33,200 će biti ovaj jedan, 971 00:49:33,200 --> 00:49:35,630 stvaranje apsolutno ništa, 972 00:49:35,630 --> 00:49:37,840 kao što bismo trebali čuti u tom slučaju? 973 00:49:37,840 --> 00:49:40,530 Nešto želimo razmišljati, previše. 974 00:49:40,530 --> 00:49:44,450 >> Dakle, baš kao i pitanje, 975 00:49:44,450 --> 00:49:46,870 što bi moglo želimo izlaz? 976 00:49:46,870 --> 00:49:50,740 Ako mi ne bi bilo ulaz na sve, što bi naš program biti izlaza? 977 00:49:53,740 --> 00:49:54,860 >> Ništa. 978 00:49:54,860 --> 00:49:57,340 Ništa? Zvuči sjajno. 979 00:49:57,340 --> 00:49:59,280 Dakle, želimo biti sigurni da ne pišete ništa 980 00:49:59,280 --> 00:50:01,500 ako ne dobijemo ništa u. 981 00:50:01,500 --> 00:50:04,320 Cool. Ok. 982 00:50:04,320 --> 00:50:07,370 Tako 983 00:50:07,370 --> 00:50:09,380 Ja ću pozvati na nekoliko ljudi, kao što smo proći kroz 984 00:50:09,380 --> 00:50:12,790 i samo shvatiti vrsta kao što opći algoritam 985 00:50:12,790 --> 00:50:15,250 a mi ćemo vrsta početi raditi kroz to zajedno. 986 00:50:16,240 --> 00:50:19,710 >> Dakle, neka je vidjeti. Missy. 987 00:50:19,710 --> 00:50:21,220 Kako mislite da ćemo početi? 988 00:50:21,220 --> 00:50:24,830 Što bi bilo dobro mjesto za početak ovdje 989 00:50:24,830 --> 00:50:27,900 ako želimo transformirati, recimo, linija 1 990 00:50:27,900 --> 00:50:29,440 u skladu dvije? 991 00:50:29,440 --> 00:50:32,650 Može li vrsta samo mi objasniti, na engleskom jeziku, što misliš? 992 00:50:32,650 --> 00:50:34,770 Nemojte ni brinuti o kodu. 993 00:50:34,770 --> 00:50:38,250 >> Prvo bih učiniti da bi se 994 00:50:38,250 --> 00:50:41,170 vrsta izravnih korisnika da im kažem ono što želite. 995 00:50:41,170 --> 00:50:44,730 Ok, tako da, recimo, 996 00:50:44,730 --> 00:50:47,450 "Hej, korisnik. Želim 997 00:50:47,450 --> 00:50:50,560 string "- strašan. 998 00:50:50,560 --> 00:50:52,990 Tako ćemo napisati ovo dolje. 999 00:50:52,990 --> 00:50:56,140 Traži od korisnika za niz. 1000 00:50:56,140 --> 00:50:59,270 To zvuči kao dobar početak. 1001 00:51:03,920 --> 00:51:06,460 U redu. 1002 00:51:06,460 --> 00:51:09,750 Pitajmo Kelly Ren ovaj put. 1003 00:51:09,750 --> 00:51:11,580 Što bi mi onda želite učiniti sljedeće? 1004 00:51:11,580 --> 00:51:14,220 Što je vrsta naš sljedeći -? 1005 00:51:14,220 --> 00:51:18,080 >> Prikupiti njihov doprinos i pohraniti ga kao varijablu. 1006 00:51:18,080 --> 00:51:20,470 Izvrsno. 1007 00:51:20,470 --> 00:51:24,280 Dakle, prikupiti niz, 1008 00:51:25,450 --> 00:51:27,880 ga spremiti u varijablu. 1009 00:51:34,840 --> 00:51:36,460 Tako je bilo nešto posebno želimo učiniti ovdje? 1010 00:51:36,460 --> 00:51:39,700 Ne želimo da provjerite njihov doprinos 1011 00:51:39,700 --> 00:51:42,260 prije -? 1012 00:51:42,260 --> 00:51:43,790 >> Da. 1013 00:51:43,790 --> 00:51:46,330 Što bi moglo želimo provjeriti? 1014 00:51:46,330 --> 00:51:48,980 >> Pa, rekli ste mi nemamo provjeriti da li je to broj, zar ne? 1015 00:51:48,980 --> 00:51:52,400 Budući da ćemo pretpostaviti da je mala? 1016 00:51:52,400 --> 00:51:55,650 Da. 1017 00:51:56,380 --> 00:51:58,920 >> Tako ispada da - da. 1018 00:51:58,920 --> 00:52:01,850 Dakle getString je zajamčeno da se vrate nam niz. 1019 00:52:01,850 --> 00:52:05,050 To se neće vratiti broj za nas ili nešto slično. 1020 00:52:05,050 --> 00:52:09,140 Tu bi moglo biti znamenka znakova unutar tog niza, ipak. 1021 00:52:09,140 --> 00:52:13,460 A oni, možemo ignorirati kao što smo učinili kapitalizaciju. 1022 00:52:13,460 --> 00:52:16,620 Ali prazan string je potpuno u redu, 1023 00:52:16,620 --> 00:52:19,900 pa slučaju ovdje na liniji 4 i 5, 1024 00:52:19,900 --> 00:52:22,020 Dobro, gdje nema unosa, 1025 00:52:22,020 --> 00:52:25,190 i mi smo stavili ništa kao naše proizvodnje. 1026 00:52:25,190 --> 00:52:28,730 Mi ne morate brinuti o tome da li da postoji nešto u nizu 1027 00:52:28,730 --> 00:52:31,840 ili da je string najmanje 4 znaka; 1028 00:52:31,840 --> 00:52:34,190 sve je u redu. 1029 00:52:34,190 --> 00:52:38,270 Dakle, to je u suprotnosti, na primjer, s poput novčića programa koji su pisali 1030 00:52:38,270 --> 00:52:42,340 gdje ste imali biste bili sigurni da su uzimajući non-negativne brojeve; 1031 00:52:42,340 --> 00:52:46,430 imali ste kako bi bili sigurni da ste dobivanje točnog broja dana u mjesecu. 1032 00:52:46,430 --> 00:52:49,630 A kako vi radite to? 1033 00:52:49,630 --> 00:52:51,470 Kako bi ti taj test? 1034 00:52:51,470 --> 00:52:54,090 Što da zahtijevaju da koristite? 1035 00:52:54,090 --> 00:52:55,650 >> Do-a petlje. 1036 00:52:55,650 --> 00:53:00,840 Do-a petlji; druge vrste petlji, također, da. 1037 00:53:02,190 --> 00:53:04,520 Tako ispada da ne morate koristiti petlju u ovom slučaju, 1038 00:53:04,520 --> 00:53:07,360 kad smo pitajući za niz, što je vrsta lijepo. 1039 00:53:08,280 --> 00:53:10,620 >> U redu, idemo dalje. 1040 00:53:12,410 --> 00:53:14,270 Dakle, Stella. 1041 00:53:14,270 --> 00:53:17,530 Možete li nam reći nešto o tome što bismo trebali učiniti sljedeće? 1042 00:53:17,530 --> 00:53:20,270 Dakle, sada smo dobili niz, imamo ga pohraniti u varijablu; 1043 00:53:20,270 --> 00:53:23,360 ono što trebamo učiniti s nizom? 1044 00:53:26,790 --> 00:53:33,530 >> Moramo - 1045 00:53:33,530 --> 00:53:36,550 identificirati 2 - 1046 00:53:36,550 --> 00:53:39,290 Da, baš to reći na engleskom jeziku, to je strašan. 1047 00:53:39,290 --> 00:53:42,670 >> Prepoznajte [nečujne] prijestolnice - ili, veliko. 1048 00:53:44,420 --> 00:53:48,130 Da, tako da bih identificirati one koji su velika i mala slova. 1049 00:53:50,020 --> 00:53:54,180 Mi ne možemo velika slova ili mala slova dok ih smo identificirali one koji. 1050 00:54:03,790 --> 00:54:06,350 Tako ćemo staviti to ovdje. 1051 00:54:06,350 --> 00:54:10,210 >> Dakle, samo razmišljam o tom procesu, 1052 00:54:10,210 --> 00:54:13,200 kako ćemo to učiniti ovu identifikaciju? 1053 00:54:13,200 --> 00:54:15,050 Znate li, Dan? 1054 00:54:15,050 --> 00:54:18,120 Vrsta ono što smo - što alat morali bismo koristiti izvan naše alatni? 1055 00:54:18,120 --> 00:54:22,500 >> Ja bih ga stavio u nekako u kao niz ili svaku liniju 1056 00:54:22,500 --> 00:54:24,240 je njegov vlastiti mali okvir, 1057 00:54:24,240 --> 00:54:27,240 , a zatim ga velika slova od tamo ili ne. 1058 00:54:27,240 --> 00:54:30,440 Ok, tako da jedan alat možemo koristiti je niz. 1059 00:54:30,440 --> 00:54:33,760 Što moramo pogledati u nizu, 1060 00:54:33,760 --> 00:54:36,680 iako, shvatiti - morali smo pogledati znakova. 1061 00:54:36,680 --> 00:54:40,890 >> Dakle, moraš gledati na duljinu niza? 1062 00:54:40,890 --> 00:54:43,880 Da, tako je dio koji je uzimajući duljinu niza. 1063 00:54:50,450 --> 00:54:54,150 Samo iz znatiželje, što ćemo koristiti da biste dobili duljinu niza? 1064 00:54:54,150 --> 00:54:58,080 >> Strlen? 1065 00:54:58,080 --> 00:55:02,870 Da, strlen, a mi to nazivamo "strlen" 1066 00:55:04,180 --> 00:55:08,620 Sve ove niza funkcija, pa je strlen funkcija, 1067 00:55:08,620 --> 00:55:10,670 i to je super zgodan, jer ga možemo koristiti na samo reći, 1068 00:55:10,670 --> 00:55:13,430 Hej, strlen: Evo string, recite mi koliko je to. 1069 00:55:13,430 --> 00:55:17,350 U predavanju danas, David je govorio puno o tome kako strlen se provodi, 1070 00:55:17,350 --> 00:55:20,370 što se zapravo događa iza kulisa. 1071 00:55:20,370 --> 00:55:25,450 No, to je jedna od vrlo praktičnih super one. 1072 00:55:25,450 --> 00:55:29,170 Postoje one druge koji su također u string knjižnici, 1073 00:55:29,170 --> 00:55:34,690 kao strcmp, koja je u obliku "strcmp", 1074 00:55:34,690 --> 00:55:38,010 koji se koristi za usporedbu žice međusobno. 1075 00:55:41,220 --> 00:55:45,020 Ostale one koje će se koristiti kao strstr, 1076 00:55:45,020 --> 00:55:48,770 što je dobro za pronalaženje pod žice i tako dalje. 1077 00:55:48,770 --> 00:55:53,380 Za veći dio, svi oni početi sa str i onda ići na nešto drugo. 1078 00:55:53,380 --> 00:55:57,080 Razlog oni ne ih zapravo čarolija kao string i tako dalje 1079 00:55:57,080 --> 00:56:00,260 je zato natrag u kao u ranim danima C, 1080 00:56:00,260 --> 00:56:04,100 kada su ljudi bili prvi pisanje i sve to, 1081 00:56:04,100 --> 00:56:07,580 su imali ograničenja o broju znakova da ste mogli koristiti 1082 00:56:07,580 --> 00:56:09,950 za funkciju imena i imena varijabli, 1083 00:56:09,950 --> 00:56:12,620 tako da je sve kao super kondenzirani. 1084 00:56:12,620 --> 00:56:15,750 No, kad god vidim nešto što počinje sa str, 1085 00:56:15,750 --> 00:56:18,600 koji obično znači da to ima veze s nizom. 1086 00:56:20,990 --> 00:56:23,350 >> Ok, tako da moraš dobiti duljinu niza, 1087 00:56:23,350 --> 00:56:27,110 i onda, što ćemo učiniti s likovima? 1088 00:56:27,110 --> 00:56:29,020 Znate li, Sam? 1089 00:56:29,020 --> 00:56:32,410 >> Ja nemam pojma, ja sam bio težak to shvatiti. 1090 00:56:32,410 --> 00:56:35,410 Ja stvarno ne znam - Volio bih da su na neki način da - 1091 00:56:35,410 --> 00:56:38,990 Mislim, ja bih misliti možda bismo mogli učiniti nešto s omjerima i izjednačava, 1092 00:56:38,990 --> 00:56:40,860 ali ja ne znam ni za funkciju kao što je to. 1093 00:56:40,860 --> 00:56:42,240 Da. 1094 00:56:43,160 --> 00:56:45,200 >> No, to - to ne bi nužno raditi, 1095 00:56:45,200 --> 00:56:48,690 jer tada bi dobili prostora da se - 1096 00:56:48,690 --> 00:56:51,130 ti bi trebala imati prostora da biste dobili savjete o tome - 1097 00:56:51,130 --> 00:56:54,310 Ok. 1098 00:56:54,310 --> 00:56:56,490 >> Ne znam - Ja sam takav izgubljen u ovom trenutku. 1099 00:56:56,490 --> 00:56:58,120 Da - Ne, ne, ne, to su dobri bodova. 1100 00:56:58,120 --> 00:57:00,420 Dakle, ono što trebate učiniti je, kao što je Sam je rekao, 1101 00:57:00,420 --> 00:57:02,970 trebamo pratiti što slova su ak slova, 1102 00:57:02,970 --> 00:57:05,540 i one koji su čak i slova. 1103 00:57:06,650 --> 00:57:09,090 No, mi želimo biti sigurni da nismo samo gleda 1104 00:57:09,090 --> 00:57:12,110 na neparan, pa čak i 1105 00:57:12,110 --> 00:57:14,030 indeksi u nizu, 1106 00:57:14,030 --> 00:57:17,660 nego gleda ak, pa čak i slova u nizu, 1107 00:57:17,660 --> 00:57:20,190 tako da ćemo morati nekako imati tu razliku između 1108 00:57:20,190 --> 00:57:25,190 slova - kao što je zapravo A, B, C, D, ili tako dalje, 1109 00:57:25,190 --> 00:57:29,090 i što stvari nisu slova, ali još uvijek u našem nizu. 1110 00:57:29,090 --> 00:57:32,390 Na primjer ovdje, kao što je ovaj uskličnika nije pismo, 1111 00:57:32,390 --> 00:57:36,060 ali to je još uvijek dio našeg niza, to je još uvijek char. 1112 00:57:36,060 --> 00:57:38,820 Isto tako, sve ove prostore - 1113 00:57:38,820 --> 00:57:41,710 to nema smisla da iskoriste prostor, zar ne? 1114 00:57:41,710 --> 00:57:46,160 Dakle, želimo biti sigurni da smo nekako preskočite one 1115 00:57:46,160 --> 00:57:49,410 dok je još uvijek prate koeficijente i izjednačava. 1116 00:57:50,900 --> 00:57:54,990 >> Tako nekako u našem programskom alatni 1117 00:57:54,990 --> 00:57:57,270 do sada, ako hoćete, 1118 00:57:57,270 --> 00:58:01,310 imamo niz različitih alata da smo razgovarali o tome. 1119 00:58:01,310 --> 00:58:04,640 Dakle, jedan, na primjer, varijable, 1120 00:58:04,640 --> 00:58:07,120 kao što smo razgovarali o ovdje. 1121 00:58:07,120 --> 00:58:10,730 Drugi alat smo razgovarali o su funkcije. 1122 00:58:10,730 --> 00:58:15,800 Tako smo razgovarali o varijabli u našem pseudocode ovdje 1123 00:58:15,800 --> 00:58:19,760 kao što ćemo koristiti za pohranjivanje naš niz. 1124 00:58:19,760 --> 00:58:24,630 Razgovarali smo o funkcijama da biste dobili duljinu niza, kao strlen. 1125 00:58:28,510 --> 00:58:31,170 Razgovarali smo o nečem drugom, a mi smo razgovarali o tome 1126 00:58:31,170 --> 00:58:34,850 za puno ranije u poglavlju danas: petlje. 1127 00:58:39,390 --> 00:58:42,030 >> Što vi mislite o korištenju petlju u ovom programu? 1128 00:58:42,030 --> 00:58:44,110 Jared, što mislite? 1129 00:58:47,150 --> 00:58:50,030 Bismo li koristiti petlju u ovom programu? 1130 00:58:50,030 --> 00:58:52,500 >> Vjerojatno ne, ne, jer ne moraju proći kroz to više nego jednom. 1131 00:58:52,500 --> 00:58:55,260 Ok, ne morate proći kroz ono što više od jednom? 1132 00:58:55,260 --> 00:58:57,190 >> Cijeli niz. 1133 00:58:57,190 --> 00:59:00,660 Točno, tako da ne morate proći kroz niz cijelom jednom. 1134 00:59:00,660 --> 00:59:03,330 Žao nam je da je apsolutno nema smisla! 1135 00:59:03,330 --> 00:59:06,360 Vi ne morate proći kroz cijeli niz više nego jednom. 1136 00:59:06,360 --> 00:59:08,660 Ok. 1137 00:59:09,790 --> 00:59:11,920 Što vi mislite? 1138 00:59:11,920 --> 00:59:14,110 >> Mislim da je bolje da ih koriste 1139 00:59:14,110 --> 00:59:16,640 tako da možemo učiniti kao kapitalizirati dok 1140 00:59:16,640 --> 00:59:19,750 mjesto nje je [nečujno] broj. 1141 00:59:19,750 --> 00:59:22,940 Odlično, i tako kapitalizirati što? 1142 00:59:22,940 --> 00:59:25,200 Ok, tako da smo reći da 1143 00:59:25,200 --> 00:59:28,130 trebamo koristiti petlju jer želimo 1144 00:59:28,130 --> 00:59:32,550 veliko slovo, a to nije broj. 1145 00:59:35,130 --> 00:59:37,140 Dakle - Oprosti, jesi li želite dodati? 1146 00:59:37,140 --> 00:59:39,340 >> Htio sam reći da je način na koji postupa niz 1147 00:59:39,340 --> 00:59:42,290 i to [nečujno] zasebna [nečujno] na likovima? 1148 00:59:42,290 --> 00:59:43,710 Da. 1149 00:59:43,710 --> 00:59:45,850 >> A onda možemo dodijeliti brojeve - 1150 00:59:45,850 --> 00:59:47,780 ili na temelju lokacije slova u nizu? 1151 00:59:47,780 --> 00:59:49,720 Da. 1152 00:59:49,720 --> 00:59:53,640 >> i utvrditi da li je to čudno ili čak i kapitalizirati pismo sama 1153 00:59:53,640 --> 00:59:57,750 dok je lokacija pisma [nečujno] - žao. 1154 00:59:57,750 --> 01:00:00,150 Izvrsno. 1155 01:00:00,150 --> 01:00:03,430 >> Dakle, samo rekapitulacija. 1156 01:00:03,430 --> 01:00:05,840 Možete li me podsjetiti svoje ime ponovno - Žao mi je. 1157 01:00:05,840 --> 01:00:06,900 >> Charlotte. 1158 01:00:06,900 --> 01:00:08,490 Charlotte, ok. 1159 01:00:08,490 --> 01:00:11,130 Pa što Charlotte govori, 1160 01:00:11,130 --> 01:00:14,950 koja je potpuno u pravu - Bože, ovo sviđa da auto alineji na mene - 1161 01:00:14,950 --> 01:00:17,770 je da, ako gledamo niz 1162 01:00:17,770 --> 01:00:19,160 kao što je ovaj na vrhu - 1163 01:00:19,160 --> 01:00:21,590 "Hvala za add" - 1164 01:00:21,590 --> 01:00:24,790 kao slijed znakova 1165 01:00:24,790 --> 01:00:29,010 gdje je na položaju 0, 1166 01:00:29,010 --> 01:00:32,260 h je na poziciji 1. 1167 01:00:32,260 --> 01:00:36,880 Je na dva, onda imamo 3, 4, 5; 1168 01:00:36,880 --> 01:00:40,830 prostor je na položaju 6. 1169 01:00:42,380 --> 01:00:45,300 Dok - što je položaj f? 1170 01:00:45,300 --> 01:00:47,610 7! 1171 01:00:47,610 --> 01:00:49,300 O? 8. 1172 01:00:49,300 --> 01:00:52,070 R? 9. 1173 01:00:52,070 --> 01:00:54,340 A onda smo dobili 10, a onda ja stvarno ne mogu ga napisati bez njega 1174 01:00:54,340 --> 01:00:57,430 nekako uzimajući nered na ekranu. 1175 01:00:57,430 --> 01:01:02,340 No, to je zapravo kako možemo govoriti o gudače u sjećanju. 1176 01:01:02,340 --> 01:01:04,660 Je li to niz 1177 01:01:04,660 --> 01:01:07,920 je niz znakova, 1178 01:01:07,920 --> 01:01:12,430 i kada govorimo o pojedinom liku u nizu, 1179 01:01:12,430 --> 01:01:15,280 često smo učiniti pozivajući se na taj lik poziciju 1180 01:01:15,280 --> 01:01:17,620 u nizu, 1181 01:01:17,620 --> 01:01:19,910 Vjerojatno isti način na koji smo razgovarati o rujna 1182 01:01:19,910 --> 01:01:22,870 što je deveti mjesec u godini 1183 01:01:22,870 --> 01:01:27,730 ili ponedjeljak kao prvi dan u tjednu. 1184 01:01:29,280 --> 01:01:33,070 Dakle, to daje nam način da se 1185 01:01:33,070 --> 01:01:37,030 shvatiti one koji su čudno u odnosu na čak 1186 01:01:37,030 --> 01:01:39,540 jer možete vidjeti ovdje, 1187 01:01:39,540 --> 01:01:43,640 ako ga se slagala s ovom T, 1188 01:01:46,310 --> 01:01:49,360 možete vidjeti da sve one kapitalizirane 1189 01:01:49,360 --> 01:01:53,040 su na čak pozicijama, 1190 01:01:53,040 --> 01:01:55,880 barem za prve riječi, 1191 01:01:55,880 --> 01:01:59,080 i onda se stvari izbačen nakon što smo pogodak u taj prostor, 1192 01:01:59,080 --> 01:02:02,460 jer mi se ne računaju ovaj prostor kao pismo, 1193 01:02:02,460 --> 01:02:05,150 pa to je kao da smo počeli 1194 01:02:05,150 --> 01:02:08,930 i ode 0, 1, 2, 3, 4, 5, 1195 01:02:08,930 --> 01:02:12,600 prostor, 6, 7, 8, prostor, 1196 01:02:12,600 --> 01:02:16,440 9, a zatim 10, 11, 12, i tako dalje. 1197 01:02:19,300 --> 01:02:22,910 >> Cool, pa ćemo definitivno želite koristiti neku vrstu petlje 1198 01:02:22,910 --> 01:02:27,760 ići preko svakog od likova u red. 1199 01:02:31,330 --> 01:02:34,580 Dakle, u ovom trenutku, 1200 01:02:36,490 --> 01:02:38,360 vratit ćemo se na našu staru pseudocode ovdje. 1201 01:02:40,970 --> 01:02:42,650 Kao dio ovog identifikaciju one koji 1202 01:02:42,650 --> 01:02:45,350 su velika i one koji su mala slova, 1203 01:02:45,350 --> 01:02:48,340 mi ćemo to želite učiniti u nekakvoj petlji. 1204 01:02:51,080 --> 01:02:53,390 Petlja, debelog crijeva. 1205 01:02:55,070 --> 01:03:01,220 Kakav petlje, od vrste petlji koje imamo, 1206 01:03:01,220 --> 01:03:03,670 Čini se da je dobar za korištenje u ovom slučaju? 1207 01:03:03,670 --> 01:03:05,610 >> Razmišljao sam for petlja. 1208 01:03:05,610 --> 01:03:07,500 A zašto ste mislili za petlje? 1209 01:03:07,500 --> 01:03:10,000 >> Budući da počinje od nule, a zatim 1210 01:03:10,000 --> 01:03:13,000 kad smo doći duljinu niza, 1211 01:03:13,000 --> 01:03:16,170 i onda svaki iteracija možete [nečujno], previše? 1212 01:03:16,170 --> 01:03:18,260 Da, točno. 1213 01:03:18,260 --> 01:03:21,490 Dakle, iz različitih izbora petlje, 1214 01:03:21,490 --> 01:03:25,350 imamo za petlje, dok petlje, i učiniti-a petlje. 1215 01:03:25,350 --> 01:03:28,550 Gdje za petlje je posebno korisno 1216 01:03:28,550 --> 01:03:32,120 kada želite znati 1217 01:03:32,120 --> 01:03:34,940 vrsta gdje ste na u petlji, 1218 01:03:34,940 --> 01:03:38,520 koliko puta se petlja izvršen tako daleko. 1219 01:03:38,520 --> 01:03:42,490 Koji je točno ono što želimo znati u ovoj situaciji, 1220 01:03:42,490 --> 01:03:44,640 kao što je Kelly rekao je, 1221 01:03:44,640 --> 01:03:47,400 temelji off od Charlotte ranije komentar da želimo znati poziciju 1222 01:03:47,400 --> 01:03:49,900 lika u nizu, 1223 01:03:49,900 --> 01:03:51,750 i za petlje će nam dati upravo to, 1224 01:03:51,750 --> 01:03:54,680 jer ako počnemo vrsta osvrtanja na našem nizu, 1225 01:03:54,680 --> 01:03:57,140 ako krećemo za petlju na 0, 1226 01:03:57,140 --> 01:04:00,350 i idemo gore kroz duljinu cijelog niza, 1227 01:04:00,350 --> 01:04:04,740 onda možemo povezati T slovo 1228 01:04:04,740 --> 01:04:08,110 s 0 u našem za petlju, 1229 01:04:09,950 --> 01:04:13,080 slovo H s jednom u naš for petlje, i tako dalje, 1230 01:04:13,080 --> 01:04:16,600 ide sve na putu do kraja niza. 1231 01:04:18,810 --> 01:04:21,890 >> Pa krenimo kodiranja ovo samo malo 1232 01:04:21,890 --> 01:04:24,930 samo tako dečki dobili osjećaj za ono što izgleda. 1233 01:04:24,930 --> 01:04:27,980 Idem spremiti ovo, 1234 01:04:27,980 --> 01:04:31,230 pa mi imamo našu pseudo kod ovdje, 1235 01:04:33,490 --> 01:04:38,120 i ja ću izbrisati sve. 1236 01:04:38,120 --> 01:04:42,210 Dakle, imam praznu listu. 1237 01:04:42,210 --> 01:04:45,910 Ja ću početi pisati int main (void) 1238 01:04:45,910 --> 01:04:48,440 { 1239 01:04:48,440 --> 01:04:51,380 Ja ću staviti povratnu 0 u 1240 01:04:51,380 --> 01:04:53,320 a zatim}. 1241 01:04:53,320 --> 01:04:56,130 Dakle, obično kad sam početi program, to je ono što sam početi sa. 1242 01:04:56,130 --> 01:04:59,370 Ja ću ga spasiti tako da vi to imate. 1243 01:05:06,290 --> 01:05:08,440 Dakle, jedna od prvih stvari koje smo razgovarali o bilo 1244 01:05:08,440 --> 01:05:10,920 dobivanje informacije od korisnika 1245 01:05:10,920 --> 01:05:13,740 i pohranjivanja u nizu. 1246 01:05:13,740 --> 01:05:16,420 Kako smo dobili informacije od korisnika? 1247 01:05:16,420 --> 01:05:19,640 >> GetString. 1248 01:05:19,640 --> 01:05:21,870 GetString, sve u redu. 1249 01:05:23,150 --> 01:05:26,820 Dakle, ako sam upisati GetString () 1250 01:05:26,820 --> 01:05:32,150 i zarez. 1251 01:05:32,150 --> 01:05:36,630 Pokušajmo radi toga; će ovaj mali, prije svega? 1252 01:05:36,630 --> 01:05:38,430 A zašto ne će to pokrenuti? 1253 01:05:38,430 --> 01:05:40,090 >> Morate proglasiti varijablu. 1254 01:05:40,090 --> 01:05:43,040 Imam proglasiti varijablu. Ok. 1255 01:05:43,040 --> 01:05:45,700 >> Pa kako ću to učiniti? 1256 01:05:45,700 --> 01:05:48,400 Dali smeta pisanje nešto, to dijeljenje? 1257 01:05:48,400 --> 01:05:51,270 A onda možemo ga podići. 1258 01:05:51,270 --> 01:05:54,630 Hajdemo vidjeti, Dan, pravo, ok. 1259 01:05:54,630 --> 01:05:59,100 Ili Daniel. Kopirajte da, gudački ulaz = GetString (). 1260 01:05:59,100 --> 01:06:01,340 Strašan. 1261 01:06:01,340 --> 01:06:02,890 Hoće li to pokrenuti? 1262 01:06:02,890 --> 01:06:05,210 Pokušajmo. 1263 01:06:05,210 --> 01:06:08,890 Hit vožnji, učitavanje koda, zgrada, došlo je do pogreške. 1264 01:06:08,890 --> 01:06:11,040 Ok. 1265 01:06:11,040 --> 01:06:14,950 Dakle, što se događa ovdje? 1266 01:06:14,950 --> 01:06:18,700 Koristite neprijavljenog identifikator "string". 1267 01:06:18,700 --> 01:06:22,840 >> Moramo uključiti knjižnice? 1268 01:06:22,840 --> 01:06:25,130 Da, tako je Dan rekavši moramo uključiti knjižnice. 1269 01:06:25,130 --> 01:06:28,270 Je li to ono što si htio reći, Stella? Strašan. 1270 01:06:29,450 --> 01:06:31,430 To je strašan, tako Stella, može li 1271 01:06:31,430 --> 01:06:34,800 kopirajte ovaj kod od Daniela prostoru? 1272 01:06:34,800 --> 01:06:37,580 Ako kliknete na Daniela Roland Ki, kopirajte ga, 1273 01:06:37,580 --> 01:06:41,360 i onda ćete staviti uključi liniju, a zatim ga spremiti van? 1274 01:06:46,580 --> 01:06:49,360 Javite mi kad ste spremni. 1275 01:06:57,160 --> 01:06:59,490 Dakle, to uključuje sintaksa je također vrsta funky; 1276 01:06:59,490 --> 01:07:02,210 tu je kao onaj hash tag, 1277 01:07:02,210 --> 01:07:05,760 i tu je uključiti, a zatim tu su ti kutnika. 1278 01:07:12,490 --> 01:07:15,360 Sjećate li se kako to radi, ili bih trebao staviti ga na ovom kodeksu ovdje? 1279 01:07:15,360 --> 01:07:17,850 >> Ja sam dobro. 1280 01:07:17,850 --> 01:07:19,810 Ok. 1281 01:07:19,810 --> 01:07:23,260 >> Sam ga ispisati - Nisam bio siguran što knjižnica, iako. 1282 01:07:23,260 --> 01:07:25,570 Oh, u redu - da, tako je to CS50 knjižnica. 1283 01:07:25,570 --> 01:07:27,660 >> Oh, ja sam stavio stdio knjižnicu. 1284 01:07:27,660 --> 01:07:30,950 >> Oh, to je dobio - da, ne, that's - 1285 01:07:30,950 --> 01:07:34,380 pa ispada da je niz je zapravo nešto što je posebno CS50. 1286 01:07:36,590 --> 01:07:41,240 Tu zapravo nije pravi tip niza 1287 01:07:41,240 --> 01:07:45,000 jer ovdje, niz je u tipa položaju, - 1288 01:07:45,000 --> 01:07:49,140 mi smo deklariranje varijable zove ulaz tipa string - 1289 01:07:49,140 --> 01:07:53,320 i mi smo stavljajući unutar ulaza 1290 01:07:53,320 --> 01:07:58,440 vrijednost koja dobiva vratio nas: izlaz ovog GetString funkcije poziva. 1291 01:07:58,440 --> 01:08:02,910 Možete reći ovo je funkcija poziv, jer to je dobio zagrade, baš kao i printf radi, 1292 01:08:02,910 --> 01:08:05,920 baš kao i strlen ne. 1293 01:08:05,920 --> 01:08:09,860 No, niz je zapravo nije pravi putovanja 1294 01:08:09,860 --> 01:08:11,760 u C jeziku. 1295 01:08:11,760 --> 01:08:15,710 Mi smo to napravili u vrsti, a mi ćemo se o više što to zapravo jest 1296 01:08:15,710 --> 01:08:19,000 u C, jer postoji način da se rad sa nizovima; 1297 01:08:19,000 --> 01:08:22,479 upravo smo učinili nešto da izgleda malo ljepše. 1298 01:08:22,479 --> 01:08:25,240 >> Dakle, ovdje mi ići. 1299 01:08:25,240 --> 01:08:28,439 Evo Stella koda. 1300 01:08:28,439 --> 01:08:32,470 To je dobio # include . 1301 01:08:32,470 --> 01:08:36,390 Ostali će ljudi to zovu kao mljeveno meso su ponekad ili oštar uključiti. 1302 01:08:36,390 --> 01:08:39,580 Sada možemo početi, pokrenuti ga, 1303 01:08:39,580 --> 01:08:43,649 i još uvijek se pogreška. 1304 01:08:43,649 --> 01:08:46,290 Idemo vidjeti što se događa. 1305 01:08:48,069 --> 01:08:50,569 "Nekorištene varijabla 'ulaz'." 1306 01:08:50,569 --> 01:08:53,350 Ok, tako da je cool, to je cool. 1307 01:08:53,350 --> 01:08:55,859 Mislim, to nije stvarno cool, 1308 01:08:55,859 --> 01:08:57,930 jer smo uzimajući greška i to ne radi, 1309 01:08:57,930 --> 01:09:00,410 ali što to govori da je 1310 01:09:00,410 --> 01:09:03,130 nismo koristili našu varijablu, što ima smisla. 1311 01:09:03,130 --> 01:09:06,090 Nismo pokušali učiniti ništa s njim. 1312 01:09:07,819 --> 01:09:10,490 To je način na koji 1313 01:09:10,490 --> 01:09:14,170 Jeka pokušava nam pomoći bi bili sigurni da nećemo samo pomoću varijabli 1314 01:09:14,170 --> 01:09:18,819 i onda nehotice nazivajući ih nešto drugo kasnije u našem kodu, 1315 01:09:18,819 --> 01:09:21,649 pomaže nam izbjeći pogreške na taj način. 1316 01:09:23,130 --> 01:09:28,810 >> U redu, tako da smo dobili informacije od korisnika, 1317 01:09:28,810 --> 01:09:31,910 smo ga pohraniti u varijablu. 1318 01:09:31,910 --> 01:09:34,569 Sljedeći korak je do tada 1319 01:09:34,569 --> 01:09:37,609 početi gleda na sve znakove u nizu 1320 01:09:37,609 --> 01:09:41,830 i identificiranje one koji su se velikim slovima 1321 01:09:41,830 --> 01:09:44,600 i one koji su se mala. 1322 01:09:44,600 --> 01:09:49,439 I kao što je Kelly i Charlotte odrastao, 1323 01:09:49,439 --> 01:09:52,340 mi to pomoću for petlje. 1324 01:09:52,340 --> 01:09:55,520 Dakle, ne netko sjetiti sintaksu za petlje 1325 01:09:55,520 --> 01:09:58,670 a željeli uzeti nož na samo pisanje 1326 01:09:58,670 --> 01:10:03,170 prva linija za petlje, samo za malo? 1327 01:10:05,740 --> 01:10:07,330 Kelly, želiš dati ga probati? 1328 01:10:07,330 --> 01:10:10,300 >> Da, tako da ćete morati inicijalizirati prvi, 1329 01:10:10,300 --> 01:10:13,170 pa sam stavio i = 0, 1330 01:10:13,170 --> 01:10:15,390 i onda sam ja 01:10:18,570 Je li to u vašem svemiru - to mogu podići? 1332 01:10:18,570 --> 01:10:21,330 >> Da, ja sam zeznuo malo, ali da. 1333 01:10:21,330 --> 01:10:24,180 >> Ok, ajmo ga povucite prema gore. 1334 01:10:24,180 --> 01:10:26,490 Strašan. 1335 01:10:26,490 --> 01:10:29,510 >> Ali onda ja ne znam ako je to - 1336 01:10:29,510 --> 01:10:32,180 Da, u redu. 1337 01:10:33,020 --> 01:10:36,030 Dakle, evo što Kelly je dobio: pogledajmo to brzo. 1338 01:10:36,030 --> 01:10:40,290 Dakle, ona je uključena cs50 knjižnicu na vrhu. 1339 01:10:40,290 --> 01:10:44,790 Ona je uključeno standardni IO knjižnicu na vrhu, 1340 01:10:45,550 --> 01:10:48,990 i standard IO ima funkcije kao što su printf, 1341 01:10:48,990 --> 01:10:51,690 pa ako ste ikada želite koristiti printf, morate tu liniju. 1342 01:10:53,060 --> 01:10:56,140 I onda je ona uključena string knjižnicu, 1343 01:10:56,140 --> 01:10:58,200 koje će trebati, 1344 01:10:58,200 --> 01:11:01,010 jer je niz knjižnica ima funkciju strlen, 1345 01:11:01,010 --> 01:11:04,320 koji ćemo dobiti u samo malo. 1346 01:11:04,320 --> 01:11:07,560 Dakle, ako ćemo gledati na ono što je Kelly je učinio ovdje, 1347 01:11:07,560 --> 01:11:10,260 Možete li nam kroz ono što si učinio? 1348 01:11:10,260 --> 01:11:13,600 >> Da, tako - mislim, dobio sam pogreške, pa - 1349 01:11:13,600 --> 01:11:15,380 Da, ne, it's - 1350 01:11:15,380 --> 01:11:18,580 >> Tako sam htio nazvati niz koji sam dobio samo "niz". 1351 01:11:18,580 --> 01:11:22,230 Htjela sam isprintati niz 1352 01:11:22,230 --> 01:11:25,640 i onda - 1353 01:11:27,450 --> 01:11:30,930 Htjela sam da bih postaviti niz kao kao niz svaki znak 1354 01:11:30,930 --> 01:11:33,170 biti drugačiji [nečujno], zar ne? 1355 01:11:33,170 --> 01:11:38,080 A onda sam htjela početi na poziciji 0 1356 01:11:38,080 --> 01:11:40,630 i onda svakih dva mjesta, 1357 01:11:40,630 --> 01:11:42,580 Htio sam kapitalizirati, 1358 01:11:42,580 --> 01:11:45,680 tako da sam samo opisao ga je kao 23, jer sam bio u potrazi na ASCII tablice. 1359 01:11:45,680 --> 01:11:48,730 Dakle, to je ono što sam mislio - Znam da to nije točno. 1360 01:11:48,730 --> 01:11:50,920 >> Uspio sam, tako da je ovo odličan početak. 1361 01:11:50,920 --> 01:11:54,120 Mislim puno okviru je mjesto ovdje. 1362 01:11:54,120 --> 01:11:57,500 Idemo kroz vrste redak po redak i vidjeti što se događa. 1363 01:11:57,500 --> 01:12:01,040 Dakle, način na koji mi se sviđa da to učinite je samo početak prikupljanjem kod 1364 01:12:01,040 --> 01:12:04,300 i ostavljajući prevodilac mi reći kao što je krivo s mojim kodom, 1365 01:12:04,300 --> 01:12:07,450 jer prevodilac je stvarno dobar u vam reći što nije u redu s kodom. 1366 01:12:09,790 --> 01:12:12,780 Dakle, ako smo ga igrati, izgradnju, i to ne graditi. 1367 01:12:12,780 --> 01:12:14,860 Ona kaže došlo je do pogreške, 1368 01:12:14,860 --> 01:12:17,320 pa ako mi se pomaknite prema dolje i pogledati prve pogreške, 1369 01:12:17,320 --> 01:12:20,960 to je rekao - 1370 01:12:20,960 --> 01:12:22,040 smo pomicanje natrag do vrha, 1371 01:12:22,040 --> 01:12:26,070 možemo vidjeti postoji pet pogrešaka koje generira ovdje dolje na dnu. 1372 01:12:26,070 --> 01:12:30,180 Ups, to je stvarno odsječen. 1373 01:12:31,810 --> 01:12:35,790 Mislim da se jednostavno neće dobiti ništa bolje. 1374 01:12:36,970 --> 01:12:38,500 >> Ovdje ćemo ići. 1375 01:12:39,790 --> 01:12:42,530 Dakle, postoje 5 ukupno pogreške nastale. 1376 01:12:42,530 --> 01:12:45,140 Evo ja mogu samo vidjeti prvi 2, 1377 01:12:45,140 --> 01:12:49,100 tako da mogu premjestiti ovaj se malo i onda vrsta pomaknite se prema gore. 1378 01:12:49,100 --> 01:12:53,220 Ovo je naredba koja je pokrenuti sastaviti kôd, 1379 01:12:53,220 --> 01:12:59,030 i onda je prvi pogreška bila u file.c ovdje: 1380 01:12:59,030 --> 01:13:03,300 "Očekuje se identificiraju ili '('", i to je bio na toj liniji 1381 01:13:03,300 --> 01:13:06,680 gdje smo rekli string = GetString (). 1382 01:13:07,660 --> 01:13:12,920 Možete vidjeti ovdje da je bio na liniji 8 od file.c, 1383 01:13:12,920 --> 01:13:17,230 i onda vjerujem da je to lik 12 - to je pogreška. 1384 01:13:17,230 --> 01:13:20,390 Dakle, ono što je pošlo krivo na liniji 8 - Kelly? 1385 01:13:20,390 --> 01:13:22,810 >> Vi samo trebate ga nazvati, poput, pismo ili tako nešto, 1386 01:13:22,810 --> 01:13:24,400 kao niz s ili nešto? 1387 01:13:24,400 --> 01:13:28,250 Da, pa ispada da su ti posebna vrsta imena, 1388 01:13:28,250 --> 01:13:31,770 tako niz, int, char, short, 1389 01:13:31,770 --> 01:13:35,740 oni su svi posebni ključne riječi, 1390 01:13:35,740 --> 01:13:38,940 a vi zapravo ne može ih koristiti kao imena svojih varijabli, 1391 01:13:38,940 --> 01:13:41,430 jer prevodilac gleda da i kaže, 1392 01:13:41,430 --> 01:13:43,680 "Oh, znam da je to vrsta" 1393 01:13:43,680 --> 01:13:46,530 tako da zapravo ne može imati string varijabla zove string, 1394 01:13:46,530 --> 01:13:50,800 kao što sam pokušava učiniti ovdje, to neće raditi. 1395 01:13:52,610 --> 01:13:58,250 No, umjesto toga, možemo to nazvati nešto kao s ili st ili STR. 1396 01:13:58,250 --> 01:14:01,540 Mi također ne bi se moglo nazvati int. 1397 01:14:01,540 --> 01:14:03,740 Mi ne možemo imati niz zove int. 1398 01:14:03,740 --> 01:14:06,740 Mi ne možemo imati niz zvan char; nitko od onih koji će raditi. 1399 01:14:06,740 --> 01:14:09,420 >> Dakle, samo ćemo ga nazvati i zasad. 1400 01:14:10,630 --> 01:14:13,170 Strašan. 1401 01:14:13,170 --> 01:14:17,500 Dakle, što je sljedeće što se događa u ovoj liniji? 1402 01:14:21,390 --> 01:14:24,350 String - ova linija izgleda prilično dobro? 1403 01:14:24,350 --> 01:14:27,830 Dajmo mu još probati, ajmo ga pokrenuti. 1404 01:14:27,830 --> 01:14:30,360 Ok, tako da smo još uvijek dobiti pogreške. 1405 01:14:30,360 --> 01:14:32,080 Ovaj put, mi smo do četiri pogreške. 1406 01:14:32,080 --> 01:14:34,350 Tako smo dobili jednu od njih. 1407 01:14:34,350 --> 01:14:36,130 Idemo gore. 1408 01:14:36,130 --> 01:14:38,890 "Neočekivana vrsta naziv 'string': očekivani izraz," da? 1409 01:14:38,890 --> 01:14:41,780 >> Da, to je zato što sam pokušao navesti niz. 1410 01:14:41,780 --> 01:14:44,270 Da, tako da izgleda kao da smo sada također morati ići popraviti 1411 01:14:44,270 --> 01:14:46,560 svih tih referenci na žici. 1412 01:14:46,560 --> 01:14:50,070 Možete vidjeti postoji referenca na string ovdje, jedan ovdje, jedan ovdje, 1413 01:14:50,070 --> 01:14:53,440 tako da možemo premjestiti sve to s. 1414 01:14:56,040 --> 01:15:00,930 Izvrsno. Ok, to ponovno pokrenuti. 1415 01:15:00,930 --> 01:15:03,260 Građevinsko - druga pogreška dogodila. 1416 01:15:03,260 --> 01:15:06,900 >> Dobro, sad smo dolje na jednom pogreškom, 1417 01:15:06,900 --> 01:15:11,090 tako int i = e, a zatim su uglate zagrade. 1418 01:15:11,090 --> 01:15:14,880 Dakle, možete li nam reći malo o onome što su radili ovdje, Kelly? 1419 01:15:14,880 --> 01:15:17,120 >> Da. 1420 01:15:17,120 --> 01:15:19,410 To je bio na liniji 10. 1421 01:15:19,410 --> 01:15:22,760 >> Ja ne znam da li mi je potrebno sve to, 1422 01:15:22,760 --> 01:15:25,560 ali mislim da sam bio težak to - 1423 01:15:25,560 --> 01:15:27,580 Ja ću ga spasiti tako da možete slijediti zajedno. 1424 01:15:27,580 --> 01:15:30,470 >> Mislim da sam bio 1425 01:15:30,470 --> 01:15:33,150 pokušava reći početi na poziciji 0 1426 01:15:33,150 --> 01:15:35,030 na početku moje za petlje, 1427 01:15:35,030 --> 01:15:38,370 pa mislim možda da je rekao bilo nepotrebno. 1428 01:15:39,690 --> 01:15:41,350 Dakle, samo na recap, 1429 01:15:41,350 --> 01:15:44,850 ste rekli da je to - da su pokušavate pokrenuti to na poziciji 0 1430 01:15:44,850 --> 01:15:47,030 i dobiti ovaj - da, 1431 01:15:47,030 --> 01:15:50,460 tako da mislim da je ranije, također, kada su hodali kroz koda, 1432 01:15:50,460 --> 01:15:54,070 ste pričali o tome kako ste htjeli liječiti niz kao polje 1433 01:15:54,070 --> 01:15:57,440 tako da možemo pristupiti svaki lik pojedinačno. 1434 01:15:57,440 --> 01:16:00,660 Mislim Dan spomenutih polja, također, pokušava pretvoriti konce u nizovima. 1435 01:16:01,400 --> 01:16:03,300 >> Ispada takvu ispod haube, 1436 01:16:03,300 --> 01:16:06,060 Niz zapravo je pohranjena kao polje, već 1437 01:16:06,060 --> 01:16:08,060 a možete mu pristupiti kao niz; 1438 01:16:08,060 --> 01:16:12,390 nema pretvorbe koje morate učiniti. 1439 01:16:12,390 --> 01:16:15,770 Niz nije li - tako - 1440 01:16:15,770 --> 01:16:18,200 Niz nije stvarno polje, 1441 01:16:18,200 --> 01:16:21,940 , ali možete mu pristupiti kao takav, jer su svi likovi pohranjeni 1442 01:16:21,940 --> 01:16:25,160 jedan tik do drugoga u memoriji, 1443 01:16:25,160 --> 01:16:28,310 pa ako želite da biste dobili prvi znak niza, 1444 01:16:28,310 --> 01:16:31,910 to je isto kao i dobivanje prvi cijeli broj u integer niz. 1445 01:16:31,910 --> 01:16:35,010 Tako smo često - hrapavi 1446 01:16:35,010 --> 01:16:36,360 odnose se na točku 2 kao 1447 01:16:36,360 --> 01:16:38,590 oh, kao niz, kao niz, 1448 01:16:38,590 --> 01:16:40,830 iako je zapravo - they're vrlo različite stvari, 1449 01:16:40,830 --> 01:16:43,410 ali možete ih liječiti vrlo velik dio isti. 1450 01:16:44,700 --> 01:16:47,400 Tako ispada da je ova linija zapravo - 1451 01:16:47,400 --> 01:16:51,270 ne trebamo učiniti sve pretvorbe, 1452 01:16:51,270 --> 01:16:53,500 i zapravo, 1453 01:16:53,500 --> 01:16:56,790 to zapravo nije valjan izraz, 1454 01:16:56,790 --> 01:16:59,040 što je ono što naša prevodilac nam govori. 1455 01:16:59,040 --> 01:17:01,290 To je rekao: "Hej, to očekivalo izraz, 1456 01:17:01,290 --> 01:17:04,610 i ono što sam dobio ovdje je nešto što nije izraz. " 1457 01:17:04,610 --> 01:17:07,310 Da proglasiti niz, 1458 01:17:07,310 --> 01:17:11,780 sve što trebate učiniti je nešto ovako sa zarezom, 1459 01:17:11,780 --> 01:17:15,080 i onda reći lepezu koliko dugo želite da bude, 1460 01:17:15,080 --> 01:17:18,370 kao 5, tako da ovaj linija 10 1461 01:17:18,370 --> 01:17:23,880 će proglasiti niz zove ja s pet brojeva u njemu. 1462 01:17:23,880 --> 01:17:26,540 >> Ovo je stranu, a to nije potrebno za kodu, 1463 01:17:26,540 --> 01:17:30,970 ali to je - to je vrsta ono što je izjava izgleda. 1464 01:17:30,970 --> 01:17:35,310 >> Kako ne bi li koristiti char ja [strlen (s)]? 1465 01:17:35,310 --> 01:17:38,500 Char ja [strlen (e)]? 1466 01:17:38,500 --> 01:17:41,500 >> Char sam, a zatim unutar zagrada, strlen (s). 1467 01:17:43,900 --> 01:17:47,710 Da, tako da smo mogli - 1468 01:17:47,710 --> 01:17:49,460 bismo mogli to učiniti, 1469 01:17:49,460 --> 01:17:52,160 i to će proglasiti - što bi to učiniti? 1470 01:17:52,160 --> 01:17:55,900 >> Mislim da će proglasiti niz 1471 01:17:55,900 --> 01:18:01,780 od, kao što su - od - 1472 01:18:01,780 --> 01:18:04,540 oh, ne morate i - oh, 1473 01:18:04,540 --> 01:18:06,420 Da, svakako ne treba ja. 1474 01:18:06,420 --> 01:18:10,250 Možete objaviti niz znakova 1475 01:18:10,250 --> 01:18:13,150 duljine s. 1476 01:18:14,680 --> 01:18:16,770 I tako ono što Sam kaže da je 1477 01:18:16,770 --> 01:18:20,660 ova linija 10 - neka me stavi neki prostor između njega i ostatka tako da ga možemo izolirati - 1478 01:18:20,660 --> 01:18:23,440 ova linija 10 će proglasiti niz 1479 01:18:23,440 --> 01:18:28,520 od znakovi, strlen (e) u vrijednosti od njih, 1480 01:18:28,520 --> 01:18:32,270 ali mi zapravo ne treba ja, 1481 01:18:32,270 --> 01:18:35,710 a razlog trebamo Ja je zato moramo dati niza ime; 1482 01:18:35,710 --> 01:18:38,900 inače, ne bismo imali način da se odnosi na niz kasnije u kodu. 1483 01:18:38,900 --> 01:18:41,180 >> Dakle, ovo ovdje je niz ime 1484 01:18:41,180 --> 01:18:43,420 i unutar je duljina. 1485 01:18:43,420 --> 01:18:45,010 To će nam dati niz, 1486 01:18:45,010 --> 01:18:47,430 ali to je - opet, ovo je izjava. 1487 01:18:47,430 --> 01:18:50,380 To nije zadatak, to nije inicijalizacije. 1488 01:18:50,380 --> 01:18:52,330 Ako ćemo proglasiti ovaj niz ovako, 1489 01:18:52,330 --> 01:18:54,490 tu je zapravo ništa u sadržaju polja. 1490 01:18:54,490 --> 01:18:57,490 To je samo smeće - što god je tamo. 1491 01:18:57,490 --> 01:18:59,780 I kao što smo rekli, 1492 01:18:59,780 --> 01:19:01,340 mi zapravo ni ne treba to učiniti pretvorbe, 1493 01:19:01,340 --> 01:19:04,810 jer smo već može liječiti niz s kao polje. 1494 01:19:06,750 --> 01:19:09,170 Znam da smo trčanje malo dugo na vrijeme, 1495 01:19:09,170 --> 01:19:12,330 ali ja želim samo jako brzo doći do ove for petlje 1496 01:19:12,330 --> 01:19:14,850 i pokazati vam kako biste pristupili pojedinačne znakove u nizu, 1497 01:19:14,850 --> 01:19:17,170 jer to je ključ za naš zadatak. 1498 01:19:17,170 --> 01:19:20,790 A onda ćemo vas pustiti odande. 1499 01:19:20,790 --> 01:19:24,610 >> Dakle, ovdje, imamo za petlje 1500 01:19:24,610 --> 01:19:28,310 da izgleda gotovo dobro. 1501 01:19:28,310 --> 01:19:30,960 Ono što nije sasvim gotovo tamo? 1502 01:19:30,960 --> 01:19:33,240 What's - što nije baš točno o tome za petlje? 1503 01:19:33,240 --> 01:19:36,010 >> Nema vitičastih zagrada? 1504 01:19:36,010 --> 01:19:38,420 Nema vitičastih zagrada, za jedan. 1505 01:19:38,420 --> 01:19:42,580 Želite li biti sigurni da imamo tijelo petlje s vitičastim zagradama. 1506 01:19:42,580 --> 01:19:45,240 Ups, nije trg braće! 1507 01:19:45,240 --> 01:19:48,660 I ono što je sljedeća stvar koju trebamo učiniti s tom petlje? 1508 01:19:48,660 --> 01:19:52,640 Ako sam probati i pokrenuti ga, 1509 01:19:52,640 --> 01:19:56,740 Produljenje ovu pogrešku da ću dobiti? 1510 01:19:56,740 --> 01:20:00,990 Ja se sve ove greške - Moram ja inicijalizirati. 1511 01:20:00,990 --> 01:20:03,610 Izvrsno. 1512 01:20:03,610 --> 01:20:05,770 Dakle, ovo će biti petlja - to nije baš tamo, 1513 01:20:05,770 --> 01:20:08,680 ali to je sve jako blizu. 1514 01:20:08,680 --> 01:20:11,260 Ovaj kod sada možemo pokrenuti, 1515 01:20:11,260 --> 01:20:14,620 graditi, pogreška i dalje javlja. 1516 01:20:17,960 --> 01:20:19,800 Zašto je to još uvijek žali, 1517 01:20:19,800 --> 01:20:22,030 govoreći izraz je neiskorišten, 1518 01:20:22,030 --> 01:20:24,600 i da je zbog toga ova linija ne učiniti ništa. 1519 01:20:24,600 --> 01:20:27,620 Nismo ga spremiti bilo gdje, a mi se nije štedjelo na rezultat. 1520 01:20:27,620 --> 01:20:30,210 Gdje bismo trebali biti štedljivi ovaj rezultat? 1521 01:20:30,210 --> 01:20:32,920 >> E ili ja? 1522 01:20:32,920 --> 01:20:35,990 Točno, a to funky sintakse, 1523 01:20:35,990 --> 01:20:38,550 ovo je s uglatim zagradama 1524 01:20:38,550 --> 01:20:41,500 znači pristupiti i-ti karakter s.. 1525 01:20:41,500 --> 01:20:45,650 To će biti nešto što je jako važno za dodjelu. 1526 01:20:45,650 --> 01:20:48,070 Nažalost, mi ćemo morati zaustaviti ovdje, 1527 01:20:48,070 --> 01:20:50,550 tako da Sebastian poglavlje može doći u, 1528 01:20:50,550 --> 01:20:53,980 ali ja sam sretan da ostane nakon izvana i da će poduzeti sva pitanja. 1529 01:20:53,980 --> 01:20:56,680 Dakle, hvala vam dečki za dolazak. 1530 01:20:56,680 --> 01:20:59,730 To sada treba uploadati, izgraditi, pokrenuti. 1531 01:21:01,570 --> 01:21:04,320 Možemo unijeti string poput "Hello" 1532 01:21:06,570 --> 01:21:08,730 i ispisuje "QOX". 1533 01:21:08,730 --> 01:21:11,030 [Smijeh] 1534 01:21:11,030 --> 01:21:14,640 >> Dakle, nije baš tamo, ali se kreće, uzimajući prema tim krugovima! 1535 01:21:14,640 --> 01:21:18,640 Hvala što ste došli, a ja ću biti vani.