0:00:00.000,0:00:05.928 Bog, moje ime je Nick Parlante, a ovo je nastava o 0:00:05.928,0:00:11.264 svojstvima računala. Kako ona funkcioniraju, što mogu, a što ne mogu raditi. 0:00:11.264,0:00:17.096 Ne traži se nikakvo predznanje o računalima. Namijenjena je svima. Dakle prije 0:00:17.096,0:00:21.950 nego što započnem, želio bih se, kratko, zahvaliti Google-u na podršci mojim ranim 0:00:21.950,0:00:26.284 istraživanjima na ovu temu, koja su u konačnici pomogla u kreiranju ove nastave. Također 0:00:26.284,0:00:31.023 kratka napomena o obliku. Nastava se ne sastoji samo od videa. Uz svako poglavlje videa 0:00:31.023,0:00:35.530 postoji i neka vrsta pisanog dokumenta, kojeg ću listati, pomicati, na ekranu, koji 0:00:35.703,0:00:40.037 prati izlaganje i sadrži dijagrame, primjere koda i slične stvari. 0:00:40.037,0:00:44.718 Dakle, vi možete u bilo kojem trenutku prelaziti s videa na dokument 0:00:44.718,0:00:49.904 ako želite ponovo pročitati obrazloženje ili isprobati neki primjer ili slično. 0:00:49.904,0:00:55.757 Postoji velika razlika između gledanja kako ja nešto radim i pokušaja da to sami napravite. 0:00:55.757,0:00:59.650 Moj savjet bi bio: Puno puta, na kraju poglavlja imati ćemo vježbe. 0:00:59.650,0:01:02.952 Tada, prije nego što probate odraditi vježbe, odlučiti da li ste spremni 0:01:02.952,0:01:06.558 odmah prijeći na vježbe ili se želite vratiti na 0:01:06.558,0:01:10.077 dokument i malo sami eksperimentirati s primjerima da učvrstite 0:01:10.077,0:01:13.684 svoje znanje. Tek toliko da znate da vam ta mogućnost stoji na raspolaganju za svako poglavlje. 0:01:13.684,0:01:20.658 Rekao bih da je temeljna jednadžba računala: 0:01:20.658,0:01:27.158 računalo je "moćno" plus "glupo". Moćno u smislu da računala mogu 0:01:27.158,0:01:32.195 obaviti na milijarde operacija. Ona rade nezamislivo brzo. Ali, 0:01:32.195,0:01:37.714 operacije su "glupe" u smislu da su operacije koje računalo izvodi 0:01:37.714,0:01:43.096 u suštini vrlo jednostavne, one su potpuno mehaničke. One nemaju ništa što bi mi 0:01:43.096,0:01:48.445 opisali kao inteligentni (čovjekov) uvid u to na čemu rade. Dakle ta čudna 0:01:48.445,0:01:52.420 kombinacija, na neki način, velike moći kombinirane s nekom vrstom mehaničke 0:01:52.420,0:01:57.191 ograničenosti (gluposti). Taj obrazac postati će kristalno jasan dok budemo obrađivali 0:01:57.361,0:02:01.955 ove male primjere koda, kako bi se na neki način poigrali u računalnom svijetu. 0:02:01.955,0:02:06.606 Sad sam malo provokativan, na neki način ismijavam računala. "O da, ona su glupa", 0:02:06.787,0:02:11.499 ali u drugu ruku vidimo da su računala ...[br]ona su vrlo korisna. 0:02:11.499,0:02:16.210 Na neki način to je ono o čemu ova predavanja govore. S jedne strane ulaženje 0:02:16.210,0:02:21.224 u, na neki način zabavan svijet računala koji je pomalo mehanički onda ga povezivati 0:02:21.224,0:02:26.056 sa stvarima poput email-a i MP3 zvučnih zapisa. Stvarima koje su u realnom svijetu 0:02:26.056,0:02:30.716 vrlo uobičajene. Pokušavati povezati ta dva svijeta i pokazati kako računala funkcioniraju 0:02:30.716,0:02:35.418 i kako se to uklapa u svijet.[br]Moj cilj je da kad odradite nastavu 0:02:35.418,0:02:39.951 kako računala rade i kako se uklapaju u svijet. 0:02:39.951,0:02:44.370 I da ne budete zastrašeni računalima. Da ne mislite o njima kao nekakvoj magiji, 0:02:44.370,0:02:49.844 neshvatljivoj kutiji. Imam također i skriveni plan.[br]Premalo ima u svijetu onih koji se bave 0:02:49.844,0:02:54.899 računalnom znanošću. Postoji velik broj problema za koje bi željeli da budu riješeni 0:02:54.899,0:02:59.889 ali jednostavno nema dovoljno ljudi koji bi napisali programe za sve njih. Dakle, 0:02:59.889,0:03:05.076 moj skriveni plan je da, otvarajući vam pogled u računalni svijet i način kako 0:03:05.076,0:03:10.132 on funkcionira, vi otkrijete da ste zainteresirani nastaviti se baviti 0:03:10.132,0:03:14.859 računalnom znanošću i dalje. Dakle prva približan uvid u koji želim ući: 0:03:14.859,0:03:19.476 Kako računala funkcioniraju?[br]Iznutra je računalo pogonjeno kodom. 0:03:19.476,0:03:24.001 Mi ćemo detaljnije o tome kasnije. Ovo bi trebao biti samo prvi uvid. 0:03:24.001,0:03:28.505 Napravio sam ovdje malu sliku računala. Kod unutar računala sastavljen je 0:03:28.505,0:03:33.822 od ovih jednostavnih naredbi. Jedna naredba mogla bi biti da se zbroje dva broja, 0:03:33.822,0:03:39.266 izračuna se koliko je 1 više 1 ili da se provjeri da li je 2 manje od 10. 0:03:39.266,0:03:44.077 To je ono što računalo radi, na prvi pogled ono samo izvodi ovu listu naredbi. 0:03:44.077,0:03:49.014 Svaka je instrukcija vrlo jednostavna i računalo jednostavno izvodi jednu po jednu 0:03:49.014,0:03:53.635 s liste, ali ih izvodi izuzetno velikom brzinom. 0:03:53.635,0:03:58.978 Svaka instrukcija ima neku vrstu određenog mehaničkog dojma. Rekao bih, 0:03:58.978,0:04:04.190 da nas ovo vodi prema prirodnom pitanju koje glasi: Ako ... ako računalo 0:04:04.190,0:04:09.338 samo mehanički izvodi niz instrukcija, kako je moguće da ono obavlja 0:04:09.338,0:04:14.229 tako mnogo korisnih stvari u svijetu. Imam ovaj dijagram za taj slučaj. 0:04:14.229,0:04:18.991 Na desnoj strani zamisliti ću neke korisne mogućnosti poput 0:04:18.991,0:04:23.946 uklanjanja "crvenih očiju" ili instant messaging-a. Reći ću radi pojašnjenja da morate znati 0:04:23.946,0:04:28.937 da su vaš mobitel, vaš digitalni fotoaparat, sve su to računala.[br]Dakle na desnoj strani 0:04:28.937,0:04:33.448 imam korisnu mogućnost: "uklanjanje crvenih očiju", [br]a na lijevoj strani 0:04:33.448,0:04:37.842 imam računalo, koje upravo izvodi svoje, kao što znate, jednostavne mehaničke instrukcije. 0:04:37.842,0:04:42.471 Što je ono što povezuje ova dva pogleda? [br]A odgovor je 0:04:42.471,0:04:46.541 to je u suštini računalno programiranje.[br]Postoji osoba 0:04:46.541,0:04:51.009 računalni programer, koji u početku ima ideju. O, trebam ukloniti efekt "crvenih očiju", 0:04:51.009,0:04:55.709 to bi bilo vrlo korisno. Oni koriste svoju kreativnost i svoju imaginaciju 0:04:55.709,0:05:00.119 da smisle što bi računalo moglo korisno obaviti. 0:05:00.119,0:05:04.587 I tada, ono što programer radi je da strukturira i 0:05:04.587,0:05:09.229 razdijeli taj problem, tako da ga računalo može obaviti. Oni instruiraju računalo, 0:05:09.229,0:05:13.755 i strukturiraju stvari tako da to računalo može obaviti tu korisnu stvar. 0:05:13.755,0:05:19.294 To je ono što programiranje jest. I u stvari za bilo koju korisnu stvar 0:05:19.294,0:05:24.263 koju izvodite svojom digitalnom kamerom ili svojim mobitelom 0:05:24.263,0:05:29.702 ili svojim računalom, u pozadini stoji osoba koja je omogućila da se to dogodi. 0:05:29.702,0:05:34.872 Sviđa mi se ta kombinacija. Na neki način programer, osoba, 0:05:34.872,0:05:40.579 unosi svoju kreativnost i svoj pogled na svijet i razmišljanje o stvarima 0:05:40.579,0:05:45.569 koje bi bilo korisno napraviti i to je njihova polovica problema. A računalo 0:05:45.569,0:05:50.218 donosi ono u čemu je računalo dobro. Rekao bih da je računalo dobro u tome što je 0:05:50.218,0:05:54.789 u konačnici prilično jeftino. Računalo je u stanju izvoditi ove instrukcije 0:05:54.789,0:05:58.734 vrlo, vrlo brzo i tako u konačnici dobivamo ovu lijepu kombinaciju. 0:05:58.734,0:06:03.008 To je na neki način razlog što tako veliki broj računala 0:06:03.008,0:06:07.666 u svijetu izvodi tako mnogo korisnih stvari. To pokazuje da je ovo dobro partnerstvo 0:06:10.022,0:06:12.214 između ljudi i računala. Na svoj način ovaj dijagram je pomalo sažetak ovih predavanja. 0:06:12.214,0:06:16.762 Posjetiti ćemo na lijevoj strani da vidimo, pomalo, da vidimo 0:06:16.762,0:06:21.270 kako izgleda računalni svijet. I pogledati na vezu između tih 0:06:21.270,0:06:25.846 i aktualnih mogućnosti koje ste koristili i donekle razumjeli kako se računalo uklapa 0:06:25.846,0:06:32.507 u svijet i omogućava da se stvari obave. U drugom dijelu ovog poglavlja 0:06:32.507,0:06:37.414 započeti ću izvoditi male primjere koda. I moram kazati da će to zahtijevati 0:06:37.414,0:06:42.449 nešto strpljenja. Početi ću pisati kod ... i naš prvi 0:06:42.449,0:06:47.483 primjer biti će vrlo jednostavan. On neće obavljati ništa blistavo. 0:06:47.483,0:06:51.707 Rekao bih da je to pomalo kao LEGO kockice. Svaki komad koda koji naučimo 0:06:51.707,0:06:56.123 predstavlja dodatnu kockicu, i s vremenom ćemo biti u mogućnosti sastaviti ih 0:06:56.123,0:07:00.272 zajedno i napraviti prilično zgodne stvari. Međutim u ovih prvih nekoliko poglavlja 0:07:00.432,0:07:04.848 stvari ..., negdje moramo započeti, i ovi prvi primjeri su vrlo jednostavne. 0:07:04.848,0:07:09.157 Molim vas stoga za strpljenje i obećavam da ćemo postići nešto zgodno s ovim materijalom 0:07:09.157,0:07:13.307 U stvari, ovdje stavljam malo nagovještaja, kroz nekoliko sati predavanja 0:07:13.307,0:07:18.293 započeti ćemo raditi specijalne vizualne efekte. 0:07:18.293,0:07:23.427 Poigrati ćemo se poznatim, tu prikazanim, majmun-mjesec-banana problemom. 0:07:23.427,0:07:28.441 Samo malo naznake gdje ćemo dospjeti.[br]Ali ono što ćemo raditi danas su vrlo 0:07:28.441,0:07:32.775 jednostavni komadići koda. Za ove vježbe kodiranja koristiti ćemo programski jezik zvan 0:07:32.775,0:07:36.734 JavaScript. JavaScript je vrlo popularan jezik. Izvodi se u web pregledniku (browser-u) 0:07:36.734,0:07:40.884 što ga čini iznimno popularnim. To je i razlog koji ga 0:07:40.884,0:07:44.605 čini pogodnim za ovu nastavu. Jer radi, jer mi radimo u web browser-u, 0:07:44.605,0:07:48.541 moguće je da naš kod funkcionira vrlo jednostavno.[br]Koristiti ćemo JavaScript plus još neke 0:07:48.541,0:07:52.815 dodatke koje sam dodao samo za ova predavanja. Tako ovo neće izgledati baš kao 0:07:52.815,0:07:57.229 profesionalni JavaScript kod. Raditi ćemo na dijelovima koda 0:07:57.229,0:08:01.638 koji je u konačnici vrlo kratak, tek toliko da ukažemo na poantu 0:08:01.638,0:08:05.944 onog što pokazujemo i pomalo istražimo računala, ali bez dovlačenja puno "prtljage" 0:08:05.944,0:08:10.146 koja bi bila nužna za pisanje kompletnih profesionalnih programa. 0:08:10.146,0:08:14.503 Evo dakle mog prvog primjera. Ono što će kod napraviti za nas je ... 0:08:14.503,0:08:18.550 imamo ovo pravokutno područje i ovaj tekst u okviru njega 0:08:18.550,0:08:22.959 to je kod. Imati ćemo svaki put "RUN" gumb ovdje dolje. [br]Kad napravim klik mišem 0:08:22.959,0:08:27.596 na RUN gumb. Ono što će se dogoditi je da će računalo otići ovdje gore i 0:08:27.596,0:08:31.832 jednostavno proći ovim linijama. On će jednostavno, kao što kažemo, izvesti svaku liniju. 0:08:31.832,0:08:36.802 Obaviti će ono što ona kaže. U ovom slučaju, dakle, ono što gledamo je 0:08:36.802,0:08:41.151 print funkcija. Dakle imamo riječ "print". Način na koji je print funkcija uvedena u kod 0:08:41.151,0:08:45.568 je da imamo riječ "print" i onda imamo lijevu (otvorenu) zagradu i nakon nje niz stvari 0:08:45.568,0:08:49.647 U ovom primjeru to je samo brojka 6 nakon čega 0:08:49.647,0:08:53.988 redak završava s desnom (zatvorenom) zagradom i znakom točkom-zarez. Ono što print funkcija radi je 0:08:53.988,0:08:58.601 da uzme one stvari koje pišu u zagradama i ispisuje ih. 0:08:58.601,0:09:04.130 Ako pogledate preko na desnu stranu ovo je ispis 0:09:04.337,0:09:09.857 koji se dobije kad kliknemo na RUN. Ako ovo promijenim na recimo print(42) i sad 0:09:09.857,0:09:15.337 kliknem RUN tada vidimo 42. To je ono što dobijemo od prve linije, a kad 0:09:15.337,0:09:21.151 kažem print(1,2) tada vidim 1 i 2 s druge strane.[br]Dakle to tako radi. 0:09:21.151,0:09:26.430 Rekao sam već da su naši prvi primjeri vrlo banalni, nisu nešto blistavo. 0:09:26.430,0:09:32.044 To je u ovom slučaju doista i istina. Dakle mogao bih sada ovdje pokušati još par stvari. 0:09:32.044,0:09:37.457 Mogao bih napisati zarez 47 tako da kad to izvedem ... OK, sada vidimo 0:09:37.457,0:09:43.271 da dobijemo 1 i 2 i 47. Također da pokažem da se ove linije uzimaju samo jedna po jedna 0:09:43.271,0:09:49.242 Kopirati ću to i onda to mogu zalijepiti nekoliko puta ... 0:09:49.242,0:09:54.467 Imam viš linija, tako da kad to izvedem, ... sad možemo reći da je to u redu 0:09:54.467,0:09:59.692 dobijemo, dakle dobijemo ponavljanje onoga što god nam je ispis bio. 0:09:59.692,0:10:06.593 Dakle ono što treba naglasiti je da sintaksa naredbe nije slobodna forma. 0:10:06.593,0:10:11.297 Naprotiv, ona je vrlo čvrsto strukturirana. Ona mora biti upravo takva 0:10:11.297,0:10:16.303 da bi je računalo moglo razumjeti. To je, u stvari, posljedica 0:10:16.303,0:10:20.465 unutarnje prirode računala. Ono ima tu mehaničku čvrstinu, ograničenost, 0:10:20.465,0:10:25.230 pa će i jezik, kojeg ono razumije isto biti mehanički, čvrst. 0:10:25.230,0:10:30.296 Ovo je malo čudno. U početku krećemo slobodno pisati 0:10:30.296,0:10:35.302 engleski ovdje i postići da to računalo slijedi. Razmišljajte i tome 0:10:35.302,0:10:39.121 kao svojoj prvoj lekciji o prirodi računala. Ili po principu 0:10:39.121,0:10:42.507 "kad si u Rimu ponašaj se kao Rimljanin". Dakle tražim od vas da zavirite 0:10:42.507,0:10:46.067 u svijet računala. Raditi ćemo stoga malo u jeziku računala. 0:10:46.067,0:10:49.409 U početku će izgledati malo čudno, ali stvarnost je slijedeća, [br]to nije komplicirano, 0:10:49.409,0:10:54.411 Sintaksa postoji. To jest čvrsta struktura, ali to zapravo i nije tako teško 0:10:54.411,0:10:59.599 Htio bih vas ohrabriti da ne odustajete zbog pomalo 0:10:59.789,0:11:04.787 čvrsto strukturirane mehaničke kvalitete jezika. Ona će nam omogućiti da radimo 0:11:04.787,0:11:10.190 neke zgodne stvari. U redu, to je bio moj prvi primjer, probajmo ovaj drugi 0:11:10.400,0:11:16.428 U prvom primjeru radio sam samo s brojevima. U računalnom kodu postoje 0:11:16.428,0:11:21.565 i nešto što zovemo strig-om (nizom znakova). Ovo je prvi primjer sa string-om: "hi" unutar navodnika 0:11:21.565,0:11:26.537 Dakle niz je samo slijed znakova i u kodu ga zapisujemo između dvostrukih navodnika. 0:11:26.537,0:11:31.701 Zbog toga imam "hi". Dakle print može prihvatiti brojke i ispisati ih, a 0:11:31.701,0:11:36.545 pokazuje se da može ispisati i stringove. On jednostavno interpretira string kao 0:11:36.545,0:11:41.390 slijed slova i kojih god znakova što ga čine i ispisuje ih redom ovdje. 0:11:41.390,0:11:46.445 Mogao bih, znate, ovo izmijeniti da umjesto "hi" to promjenim u "good day" 0:11:46.445,0:11:51.284 Dakle string može uključivati i razmake. Ako to izvedem mi ćemo samo 0:11:51.284,0:11:57.723 dobiti ovdje 'good day'. Dakle u računalnom programu i stringovi i brojevi su, i jedni i drugi, 0:11:57.723,0:12:02.221 vrlo česti. Stringovi u programu se koriste da se u njima čuva 0:12:02.221,0:12:06.834 npr. URL kojeg ste utipkali ili, u programu za uređivanje teksta, cijeli stavak 0:12:06.834,0:12:11.216 teksta na kojem radimo može biti pohranjen u string.[br]Dakle string je u suštini 0:12:11.216,0:12:15.598 sekvenca znakova. To je vrlo uobičajena vrsta podatka u računalu. 0:12:15.598,0:12:20.211 Druga stvar koju smo pokazali u ovom primjeru koda je ovaj prvi redak. To nazivamo 0:12:20.211,0:12:24.940 komentarom i u JavaScript jeziku komentari započinju s dvije kose crte a komentari funkcioniraju tako 0:12:24.940,0:12:29.632 da se sve, počevši s dvije kose crte pa sve desno do kraja retka 0:12:29.632,0:12:34.880 ignorira od strane računala. Mogu to onda koristiti da tu napišem bilo kakvu opasku poput 0:12:34.880,0:12:39.749 tu imam dva stringa i sl. Neku malu opasku ili primjedbu sebi ili slično o kodu. 0:12:39.749,0:12:44.807 Dakle kad ovo izvedem računalo, recimo, ignorira ovaj dio. 0:12:44.807,0:12:49.865 U nekom od mojih primjera koji slijede vidjeti ćete 0:12:49.865,0:12:55.176 komentare razasute okolo u kojima ja stavljam napomene o tome što se događa. 0:12:55.365,0:13:01.738 Dakle, jedan primjer kojeg bi ovdje mogao pokazati, a koji je malo zbunjujući. Staviti ću riječ print 0:13:01.738,0:13:09.411 unutar stringa i pogledati što se ispisuje. Sad dakle ovdje 0:13:09.411,0:13:14.807 na drugom retku dobivam 'hello to print'. Ono što se dogodilo da se riječ print unutar 0:13:14.807,0:13:20.622 stringa ne tretira kao kod, kojeg treba izvesti poput riječi print izvan stringa, 0:13:20.622,0:13:26.158 t.j. kao funkcija koju kod programa poziva. Dakle kad se nalazi unutar dvostrukih navodnika 0:13:26.158,0:13:31.889 ista riječ tretira se kao običan podatak. To predstavlja distinkciju unutar koda. 0:13:31.889,0:13:37.719 To bi bilo u redu. Na kraju poglavlja imati ćemo nekoliko vježbi 0:13:37.719,0:13:43.908 u kojima ćete moći pisati kod kao što sam ja radio ovdje. Kao što sam prije spomenuo 0:13:43.908,0:13:50.102 kod funkcionira unutar sustava koji ima čvrsto strukturiranu ograničenu sintaksu. 0:13:50.102,0:13:54.603 U stvari, vrlo često se potkrade pogreška i profesionalnim programerima koji pišu 0:13:54.603,0:13:59.455 programe po cijeli dan. Kad se utipkava neki kod postoji tendencija da se naprave 0:13:59.455,0:14:04.249 sitne sintaktičke pogreške na raznim mjestima u kodu.[br]Moguće da se ispusti desna zagrada 0:14:04.249,0:14:09.218 ili se krivo otipka neka riječ ... I te sintaktičke pogreške su vrlo lake za 0:14:09.218,0:14:13.719 ispravljanje. Dakle kad pritisnete RUN gumb 0:14:13.719,0:14:18.513 vrlo često će se ukazati nekakva sitna pogreška koju je potrebno ispraviti. 0:14:18.513,0:14:22.769 Htio bi da to razumijete. Te sitne pogreške ne odražavaju vaše 0:14:22.769,0:14:27.484 duboko nerazumijevanje ili ozbiljan nedostatak, radi se samo o površnim previdima 0:14:27.484,0:14:32.083 koja se događaju tijekom kodiranja, a rade ih i profesionalni programeri cijelo vrijeme . 0:14:32.083,0:14:36.624 Mi niti ne mislimo o njima dok ih uklanjamo, uopće ne razmišljamo o njima. 0:14:38.894,0:14:41.164 Mislim stoga da, kad se ljudi uvode u kodiranje, ovo ih 0:14:41.164,0:14:45.647 pomalo izbacuje iz takta. To da postoje ove male sintaktičke greške 0:14:45.647,0:14:50.129 odvraća im pažnju i oni misle da rade nešto potpuno krivo, dok zapravo svi 0:14:50.129,0:14:54.707 rade takve greške. To uopće nije značajno. Da bi pomogao da vam malo 0:14:54.707,0:14:58.131 odvratim pažnju s toga, ja ću vam jednostavno prikazati gomilu primjera u kojima sam ... 0:14:58.131,0:15:01.691 Zadao sam par primjera u kojima imam neke tipične male sintaktičke greške. 0:15:01.691,0:15:05.206 Pokazati ću kako se greška manifestira kad kliknete na RUN gumb. Dobro? 0:15:05.206,0:15:08.946 Dakle što će se dogoditi je da kad kliknem RUN gumb stvari neće raditi. Dobiti ću 0:15:08.946,0:15:12.461 neku vrstu poruke o grešci. Dakle želim Vam pokazati proces od 0:15:12.461,0:15:15.795 pojave greške do razrješenja ovog sintaktičkog problema, samo kako bi se privikli. 0:15:15.795,0:15:19.220 O, da, kad prvi put kliknete RUN gumb, to je vrlo česta pojava, 0:15:19.220,0:15:22.554 dogoditi će se ovo. Samo da prođemo kroz ovo. U redu dakle kliknimo RUN gumb. 0:15:22.554,0:15:26.380 I umjesto izvođenja koda i realizacije ispisa, dobio sam 0:15:26.380,0:15:30.031 neku grešku ovdje. Malu poruku o grešci. Ponekad su poruke o grešci 0:15:30.031,0:15:33.729 prilično dobre i jasno opisuju što se događa. Dakle pogledajmo prvu, ona glasi: 0:15:33.729,0:15:38.719 Error: prlnt is not defined. Što se dogodilo je da "print" je funkcija .... 0:15:38.719,0:15:44.141 ali ovaj drugi navod, u drugom retku, ... sad u ovom slučaju, 0:15:44.141,0:15:49.920 dobro, to ne radi uvijek, ali u velikom broju slučajeva bit' će označen redak u kom je problem. 0:15:49.920,0:15:56.342 Problem je u tipkanju. Ne piše P R I N T, [br]već piše P R L N T 0:15:56.342,0:16:01.054 Dakle ako "l" promijenim u "i". Ha! Sada radi.[br]Dakle ovaj mali program 0:16:01.054,0:16:05.101 ispisuje 'a', pa '1' i 'b', pa 'c' i '3' , dakle jedan potpuno besmislen primjer 0:16:05.101,0:16:09.302 kojeg sam izmislio. Naravno stavio sam l jer sam razmišljao kako je to slovo 0:16:09.302,0:16:13.246 koje vrlo sliči i. Pa je nužno da pažljivo zagledate, dakle bio sam 0:16:13.246,0:16:17.183 pomalo zločesti profesor. U redu, pokušajmo s jednim od ovih 0:16:17.183,0:16:21.666 Kliknuti ću na RUN gumb na ovom. Javlja grešku, nezaključen doslovni string 0:16:21.666,0:16:26.319 i označio je drugi redak. Moram, dakle pregledati drugi redak s lijeva 0:16:26.319,0:16:31.085 na desno. Vidite ovaj (redak) i postoji 'b' . Ovdje je vidite problem što imamo doslovno naveden string 0:16:31.085,0:16:35.624 Htjeli smo string "b", ali nedostaje nam zatvaranje (desni) navodnika. 0:16:35.624,0:16:40.709 Trebamo oba navodnika. [br]Probati ću s trećim primjerom. 0:16:40.709,0:16:45.136 Pogledajmo, greška, nedostaje desna zagrada. [br]Još jednom je linija osvijetljena. 0:16:45.136,0:16:49.446 Ja ću ... u stvari ... u ovom slučaju ..[br]poruka o grešci je prilično dobra. 0:16:49.446,0:16:54.275 Ona govori, gledaj ..., kao i kod navodnika,[br]lijeva (otvorena) zagrada 0:16:54.275,0:16:58.478 i desna (zatvorena) zagrada, moraju se spariti.[br]Mora biti desna zagrada, 0:16:58.478,0:17:02.951 točno ovdje, da bi se dala naredbu ispisa. Sada, dakle, radi. 0:17:02.951,0:17:12.220 Evo zadnjeg. Nešto ne štima, javlja grešku da nema desne zagrade, ali kad pogledam ona je tu. 0:17:12.220,0:17:16.165 Ono što se dogodilo je da je poruka o grešci netočna. Ponekad, kad postoji sintaktička greška, 0:17:16.165,0:17:20.787 računalo se zbuni i ne može dobro dijagnosticirati grešku za vas u svojoj poruci 0:17:20.787,0:17:25.240 Ono u osnovici može govoriti[br]nešto ne valja u drugom retku. 0:17:25.240,0:17:29.974 Moja preporuka je da dobro pregledate s lijeva na desno ... i pogledajte ovdje, izgleda 0:17:29.974,0:17:34.401 prilično razumno. Izgleda da u ovom slučaju ono što nedostaje je zarez 0:17:34.401,0:17:38.624 Mislim da taj primjer dobro ukazuje na razliku između čovjeka i računala. 0:17:38.624,0:17:42.795 Čovjek bi mogao pogledati naredbu i otkriti vašu namjeru. Poput: vidim što je on 0:17:42.795,0:17:46.965 namjeravao je da ispiše '1' i 'b'.[br]Ali računalo ima tu mehaničku (nesvjesnu) crtu. 0:17:46.965,0:17:51.771 Stvari moraju biti upravo onakve kakve se očekuje da budu, pa i zarez 0:17:51.771,0:17:57.121 nije opcija već mora biti tamo, tako da smo blokirani tok to ne riješimo. 0:17:57.121,0:18:02.999 U redu, sad to radi. Dakle ti je prvo poglavlje samo s osnovnim ispisom 0:18:02.999,0:18:09.120 s brojkama i stringovima.[br]Imam jedan problemski primjer kojeg ću probati. 0:18:09.120,0:18:13.688 Ovako će najčešće izgledati vježbe.[br]Iako će kasnije vježbe biti zabavnije. 0:18:13.688,0:18:18.036 To vam obećavam. Ovdje piše:[br]izmijeni donji kod tako da kad se izvede 0:18:18.036,0:18:22.548 on generira upravo ovakav izlaz. Tu stoji[br]'1 2 buckle' .... dakle zasniva se na brojalici 0:18:22.548,0:18:26.438 'one, two, buckle my shoe'. Dakle, ovaj kod ovdje koji nešto radi 0:18:26.438,0:18:29.911 ali to nije, to uopće nije ono što trebamo, pa da moramo prepraviti 0:18:29.911,0:18:33.384 Pogledajmo! Najprije, ono što ću napraviti je ja ću dodati 2 i onda ću se 0:18:33.384,0:18:36.993 sjetiti dodati zarez ... i onda ću promijeniti ovaj strig 0:18:36.993,0:18:40.694 da glasi 'buckle'. Sad to mogu izvesti tek da vidim što radi. 0:18:40.694,0:18:44.349 Htio bi vas ohrabriti, da ako imate ideju za neki kod, ili samo želite nešto isprobati, ... 0:18:44.349,0:18:48.142 ne možete ništa razbiti ako ovdje bilo što ukucate i kliknete pogrešan gumb. 0:18:48.142,0:18:51.889 Dobro je imati osjećaj da malo eksperimentirate. 0:18:51.889,0:18:58.721 To je bio prvi redak. Isprobati ću i drugi.[br]'3' zarez '4' zarez 'knock' 0:18:58.721,0:19:07.456 Dobro je, sada to radi.[br]Vrlo često kad radim male pokuse 0:19:07.456,0:19:12.952 u dokumentu poput ovog, ... to može biti ovaj u videu, [br]raditi ću gomilu primjera 0:19:12.952,0:19:16.592 i onda vi možda zaželite isprobati ... moda ćete znate biti radoznali vezano za drugi primjer 0:19:16.592,0:19:20.509 I vi ćete naići na jedan i htjeti isprobati neku varijantu i stisnuti ćete krivu tipku 0:19:20.509,0:19:24.150 To je nešto što vi slobodno možete napraviti. 0:19:24.150,0:19:27.467 Često ću u dokumentu imati mali [br]'show solution' (pokaži rješenje) gumb 0:19:27.467,0:19:31.061 To znači da vi možete doći na njega, ... on je prazan, dakle možete eksperimentirati 0:19:31.200,0:19:34.748 Ali onda ako ste radoznali koji kod sam ja koristio, tada je i to dostupno 0:19:34.748,0:19:38.204 u dokumentu tako da možete usporediti to s vašim rješenjem. 0:19:38.204,0:19:41.752 Ili ako želite iz njega kopirati ili što god bilo to je u redu. 0:19:41.752,0:19:44.940 Time završavamo prvo poglavlje, isprobajte vježbe s kodom.