[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:05.93,Default,,0000,0000,0000,,Bog, moje ime je Nick Parlante, a ovo je nastava o Dialogue: 0,0:00:05.93,0:00:11.26,Default,,0000,0000,0000,,svojstvima računala. Kako ona funkcioniraju, što mogu, a što ne mogu raditi. Dialogue: 0,0:00:11.26,0:00:17.10,Default,,0000,0000,0000,,Ne traži se nikakvo predznanje o računalima. Namijenjena je svima. Dakle prije Dialogue: 0,0:00:17.10,0:00:21.95,Default,,0000,0000,0000,,nego što započnem, želio bih se, kratko, zahvaliti Google-u na podršci mojim ranim Dialogue: 0,0:00:21.95,0:00:26.28,Default,,0000,0000,0000,,istraživanjima na ovu temu, koja su u konačnici pomogla u kreiranju ove nastave. Također Dialogue: 0,0:00:26.28,0:00:31.02,Default,,0000,0000,0000,,kratka napomena o obliku. Nastava se ne sastoji samo od videa. Uz svako poglavlje videa Dialogue: 0,0:00:31.02,0:00:35.53,Default,,0000,0000,0000,,postoji i neka vrsta pisanog dokumenta, kojeg ću listati, pomicati, na ekranu, koji Dialogue: 0,0:00:35.70,0:00:40.04,Default,,0000,0000,0000,,prati izlaganje i sadrži dijagrame, primjere koda i slične stvari. Dialogue: 0,0:00:40.04,0:00:44.72,Default,,0000,0000,0000,,Dakle, vi možete u bilo kojem trenutku prelaziti s videa na dokument Dialogue: 0,0:00:44.72,0:00:49.90,Default,,0000,0000,0000,,ako želite ponovo pročitati obrazloženje ili isprobati neki primjer ili slično. Dialogue: 0,0:00:49.90,0:00:55.76,Default,,0000,0000,0000,,Postoji velika razlika između gledanja kako ja nešto radim i pokušaja da to sami napravite. Dialogue: 0,0:00:55.76,0:00:59.65,Default,,0000,0000,0000,,Moj savjet bi bio: Puno puta, na kraju poglavlja imati ćemo vježbe. Dialogue: 0,0:00:59.65,0:01:02.95,Default,,0000,0000,0000,,Tada, prije nego što probate odraditi vježbe, odlučiti da li ste spremni Dialogue: 0,0:01:02.95,0:01:06.56,Default,,0000,0000,0000,,odmah prijeći na vježbe ili se želite vratiti na Dialogue: 0,0:01:06.56,0:01:10.08,Default,,0000,0000,0000,,dokument i malo sami eksperimentirati s primjerima da učvrstite Dialogue: 0,0:01:10.08,0:01:13.68,Default,,0000,0000,0000,,svoje znanje. Tek toliko da znate da vam ta mogućnost stoji na raspolaganju za svako poglavlje. Dialogue: 0,0:01:13.68,0:01:20.66,Default,,0000,0000,0000,,Rekao bih da je temeljna jednadžba računala: Dialogue: 0,0:01:20.66,0:01:27.16,Default,,0000,0000,0000,,računalo je "moćno" plus "glupo". Moćno u smislu da računala mogu Dialogue: 0,0:01:27.16,0:01:32.20,Default,,0000,0000,0000,,obaviti na milijarde operacija. Ona rade nezamislivo brzo. Ali, Dialogue: 0,0:01:32.20,0:01:37.71,Default,,0000,0000,0000,,operacije su "glupe" u smislu da su operacije koje računalo izvodi Dialogue: 0,0:01:37.71,0:01:43.10,Default,,0000,0000,0000,,u suštini vrlo jednostavne, one su potpuno mehaničke. One nemaju ništa što bi mi Dialogue: 0,0:01:43.10,0:01:48.44,Default,,0000,0000,0000,,opisali kao inteligentni (čovjekov) uvid u to na čemu rade. Dakle ta čudna Dialogue: 0,0:01:48.44,0:01:52.42,Default,,0000,0000,0000,,kombinacija, na neki način, velike moći kombinirane s nekom vrstom mehaničke Dialogue: 0,0:01:52.42,0:01:57.19,Default,,0000,0000,0000,,ograničenosti (gluposti). Taj obrazac postati će kristalno jasan dok budemo obrađivali Dialogue: 0,0:01:57.36,0:02:01.96,Default,,0000,0000,0000,,ove male primjere koda, kako bi se na neki način poigrali u računalnom svijetu. Dialogue: 0,0:02:01.96,0:02:06.61,Default,,0000,0000,0000,,Sad sam malo provokativan, na neki način ismijavam računala. "O da, ona su glupa", Dialogue: 0,0:02:06.79,0:02:11.50,Default,,0000,0000,0000,,ali u drugu ruku vidimo da su računala ...\Nona su vrlo korisna. Dialogue: 0,0:02:11.50,0:02:16.21,Default,,0000,0000,0000,,Na neki način to je ono o čemu ova predavanja govore. S jedne strane ulaženje Dialogue: 0,0:02:16.21,0:02:21.22,Default,,0000,0000,0000,,u, na neki način zabavan svijet računala koji je pomalo mehanički onda ga povezivati Dialogue: 0,0:02:21.22,0:02:26.06,Default,,0000,0000,0000,,sa stvarima poput email-a i MP3 zvučnih zapisa. Stvarima koje su u realnom svijetu Dialogue: 0,0:02:26.06,0:02:30.72,Default,,0000,0000,0000,,vrlo uobičajene. Pokušavati povezati ta dva svijeta i pokazati kako računala funkcioniraju Dialogue: 0,0:02:30.72,0:02:35.42,Default,,0000,0000,0000,,i kako se to uklapa u svijet.\NMoj cilj je da kad odradite nastavu Dialogue: 0,0:02:35.42,0:02:39.95,Default,,0000,0000,0000,,kako računala rade i kako se uklapaju u svijet. Dialogue: 0,0:02:39.95,0:02:44.37,Default,,0000,0000,0000,,I da ne budete zastrašeni računalima. Da ne mislite o njima kao nekakvoj magiji, Dialogue: 0,0:02:44.37,0:02:49.84,Default,,0000,0000,0000,,neshvatljivoj kutiji. Imam također i skriveni plan.\NPremalo ima u svijetu onih koji se bave Dialogue: 0,0:02:49.84,0:02:54.90,Default,,0000,0000,0000,,računalnom znanošću. Postoji velik broj problema za koje bi željeli da budu riješeni Dialogue: 0,0:02:54.90,0:02:59.89,Default,,0000,0000,0000,,ali jednostavno nema dovoljno ljudi koji bi napisali programe za sve njih. Dakle, Dialogue: 0,0:02:59.89,0:03:05.08,Default,,0000,0000,0000,,moj skriveni plan je da, otvarajući vam pogled u računalni svijet i način kako Dialogue: 0,0:03:05.08,0:03:10.13,Default,,0000,0000,0000,,on funkcionira, vi otkrijete da ste zainteresirani nastaviti se baviti Dialogue: 0,0:03:10.13,0:03:14.86,Default,,0000,0000,0000,,računalnom znanošću i dalje. Dakle prva približan uvid u koji želim ući: Dialogue: 0,0:03:14.86,0:03:19.48,Default,,0000,0000,0000,,Kako računala funkcioniraju?\NIznutra je računalo pogonjeno kodom. Dialogue: 0,0:03:19.48,0:03:24.00,Default,,0000,0000,0000,,Mi ćemo detaljnije o tome kasnije. Ovo bi trebao biti samo prvi uvid. Dialogue: 0,0:03:24.00,0:03:28.50,Default,,0000,0000,0000,,Napravio sam ovdje malu sliku računala. Kod unutar računala sastavljen je Dialogue: 0,0:03:28.50,0:03:33.82,Default,,0000,0000,0000,,od ovih jednostavnih naredbi. Jedna naredba mogla bi biti da se zbroje dva broja, Dialogue: 0,0:03:33.82,0:03:39.27,Default,,0000,0000,0000,,izračuna se koliko je 1 više 1 ili da se provjeri da li je 2 manje od 10. Dialogue: 0,0:03:39.27,0:03:44.08,Default,,0000,0000,0000,,To je ono što računalo radi, na prvi pogled ono samo izvodi ovu listu naredbi. Dialogue: 0,0:03:44.08,0:03:49.01,Default,,0000,0000,0000,,Svaka je instrukcija vrlo jednostavna i računalo jednostavno izvodi jednu po jednu Dialogue: 0,0:03:49.01,0:03:53.64,Default,,0000,0000,0000,,s liste, ali ih izvodi izuzetno velikom brzinom. Dialogue: 0,0:03:53.64,0:03:58.98,Default,,0000,0000,0000,,Svaka instrukcija ima neku vrstu određenog mehaničkog dojma. Rekao bih, Dialogue: 0,0:03:58.98,0:04:04.19,Default,,0000,0000,0000,,da nas ovo vodi prema prirodnom pitanju koje glasi: Ako ... ako računalo Dialogue: 0,0:04:04.19,0:04:09.34,Default,,0000,0000,0000,,samo mehanički izvodi niz instrukcija, kako je moguće da ono obavlja Dialogue: 0,0:04:09.34,0:04:14.23,Default,,0000,0000,0000,,tako mnogo korisnih stvari u svijetu. Imam ovaj dijagram za taj slučaj. Dialogue: 0,0:04:14.23,0:04:18.99,Default,,0000,0000,0000,,Na desnoj strani zamisliti ću neke korisne mogućnosti poput Dialogue: 0,0:04:18.99,0:04:23.95,Default,,0000,0000,0000,,uklanjanja "crvenih očiju" ili instant messaging-a. Reći ću radi pojašnjenja da morate znati Dialogue: 0,0:04:23.95,0:04:28.94,Default,,0000,0000,0000,,da su vaš mobitel, vaš digitalni fotoaparat, sve su to računala.\NDakle na desnoj strani Dialogue: 0,0:04:28.94,0:04:33.45,Default,,0000,0000,0000,,imam korisnu mogućnost: "uklanjanje crvenih očiju", \Na na lijevoj strani Dialogue: 0,0:04:33.45,0:04:37.84,Default,,0000,0000,0000,,imam računalo, koje upravo izvodi svoje, kao što znate, jednostavne mehaničke instrukcije. Dialogue: 0,0:04:37.84,0:04:42.47,Default,,0000,0000,0000,,Što je ono što povezuje ova dva pogleda? \NA odgovor je Dialogue: 0,0:04:42.47,0:04:46.54,Default,,0000,0000,0000,,to je u suštini računalno programiranje.\NPostoji osoba Dialogue: 0,0:04:46.54,0:04:51.01,Default,,0000,0000,0000,,računalni programer, koji u početku ima ideju. O, trebam ukloniti efekt "crvenih očiju", Dialogue: 0,0:04:51.01,0:04:55.71,Default,,0000,0000,0000,,to bi bilo vrlo korisno. Oni koriste svoju kreativnost i svoju imaginaciju Dialogue: 0,0:04:55.71,0:05:00.12,Default,,0000,0000,0000,,da smisle što bi računalo moglo korisno obaviti. Dialogue: 0,0:05:00.12,0:05:04.59,Default,,0000,0000,0000,,I tada, ono što programer radi je da strukturira i Dialogue: 0,0:05:04.59,0:05:09.23,Default,,0000,0000,0000,,razdijeli taj problem, tako da ga računalo može obaviti. Oni instruiraju računalo, Dialogue: 0,0:05:09.23,0:05:13.76,Default,,0000,0000,0000,,i strukturiraju stvari tako da to računalo može obaviti tu korisnu stvar. Dialogue: 0,0:05:13.76,0:05:19.29,Default,,0000,0000,0000,,To je ono što programiranje jest. I u stvari za bilo koju korisnu stvar Dialogue: 0,0:05:19.29,0:05:24.26,Default,,0000,0000,0000,,koju izvodite svojom digitalnom kamerom ili svojim mobitelom Dialogue: 0,0:05:24.26,0:05:29.70,Default,,0000,0000,0000,,ili svojim računalom, u pozadini stoji osoba koja je omogućila da se to dogodi. Dialogue: 0,0:05:29.70,0:05:34.87,Default,,0000,0000,0000,,Sviđa mi se ta kombinacija. Na neki način programer, osoba, Dialogue: 0,0:05:34.87,0:05:40.58,Default,,0000,0000,0000,,unosi svoju kreativnost i svoj pogled na svijet i razmišljanje o stvarima Dialogue: 0,0:05:40.58,0:05:45.57,Default,,0000,0000,0000,,koje bi bilo korisno napraviti i to je njihova polovica problema. A računalo Dialogue: 0,0:05:45.57,0:05:50.22,Default,,0000,0000,0000,,donosi ono u čemu je računalo dobro. Rekao bih da je računalo dobro u tome što je Dialogue: 0,0:05:50.22,0:05:54.79,Default,,0000,0000,0000,,u konačnici prilično jeftino. Računalo je u stanju izvoditi ove instrukcije Dialogue: 0,0:05:54.79,0:05:58.73,Default,,0000,0000,0000,,vrlo, vrlo brzo i tako u konačnici dobivamo ovu lijepu kombinaciju. Dialogue: 0,0:05:58.73,0:06:03.01,Default,,0000,0000,0000,,To je na neki način razlog što tako veliki broj računala Dialogue: 0,0:06:03.01,0:06:07.67,Default,,0000,0000,0000,,u svijetu izvodi tako mnogo korisnih stvari. To pokazuje da je ovo dobro partnerstvo Dialogue: 0,0:06:10.02,0:06:12.21,Default,,0000,0000,0000,,između ljudi i računala. Na svoj način ovaj dijagram je pomalo sažetak ovih predavanja. Dialogue: 0,0:06:12.21,0:06:16.76,Default,,0000,0000,0000,,Posjetiti ćemo na lijevoj strani da vidimo, pomalo, da vidimo Dialogue: 0,0:06:16.76,0:06:21.27,Default,,0000,0000,0000,,kako izgleda računalni svijet. I pogledati na vezu između tih Dialogue: 0,0:06:21.27,0:06:25.85,Default,,0000,0000,0000,,i aktualnih mogućnosti koje ste koristili i donekle razumjeli kako se računalo uklapa Dialogue: 0,0:06:25.85,0:06:32.51,Default,,0000,0000,0000,,u svijet i omogućava da se stvari obave. U drugom dijelu ovog poglavlja Dialogue: 0,0:06:32.51,0:06:37.41,Default,,0000,0000,0000,,započeti ću izvoditi male primjere koda. I moram kazati da će to zahtijevati Dialogue: 0,0:06:37.41,0:06:42.45,Default,,0000,0000,0000,,nešto strpljenja. Početi ću pisati kod ... i naš prvi Dialogue: 0,0:06:42.45,0:06:47.48,Default,,0000,0000,0000,,primjer biti će vrlo jednostavan. On neće obavljati ništa blistavo. Dialogue: 0,0:06:47.48,0:06:51.71,Default,,0000,0000,0000,,Rekao bih da je to pomalo kao LEGO kockice. Svaki komad koda koji naučimo Dialogue: 0,0:06:51.71,0:06:56.12,Default,,0000,0000,0000,,predstavlja dodatnu kockicu, i s vremenom ćemo biti u mogućnosti sastaviti ih Dialogue: 0,0:06:56.12,0:07:00.27,Default,,0000,0000,0000,,zajedno i napraviti prilično zgodne stvari. Međutim u ovih prvih nekoliko poglavlja Dialogue: 0,0:07:00.43,0:07:04.85,Default,,0000,0000,0000,,stvari ..., negdje moramo započeti, i ovi prvi primjeri su vrlo jednostavne. Dialogue: 0,0:07:04.85,0:07:09.16,Default,,0000,0000,0000,,Molim vas stoga za strpljenje i obećavam da ćemo postići nešto zgodno s ovim materijalom Dialogue: 0,0:07:09.16,0:07:13.31,Default,,0000,0000,0000,,U stvari, ovdje stavljam malo nagovještaja, kroz nekoliko sati predavanja Dialogue: 0,0:07:13.31,0:07:18.29,Default,,0000,0000,0000,,započeti ćemo raditi specijalne vizualne efekte. Dialogue: 0,0:07:18.29,0:07:23.43,Default,,0000,0000,0000,,Poigrati ćemo se poznatim, tu prikazanim, majmun-mjesec-banana problemom. Dialogue: 0,0:07:23.43,0:07:28.44,Default,,0000,0000,0000,,Samo malo naznake gdje ćemo dospjeti.\NAli ono što ćemo raditi danas su vrlo Dialogue: 0,0:07:28.44,0:07:32.78,Default,,0000,0000,0000,,jednostavni komadići koda. Za ove vježbe kodiranja koristiti ćemo programski jezik zvan Dialogue: 0,0:07:32.78,0:07:36.73,Default,,0000,0000,0000,,JavaScript. JavaScript je vrlo popularan jezik. Izvodi se u web pregledniku (browser-u) Dialogue: 0,0:07:36.73,0:07:40.88,Default,,0000,0000,0000,,što ga čini iznimno popularnim. To je i razlog koji ga Dialogue: 0,0:07:40.88,0:07:44.60,Default,,0000,0000,0000,,čini pogodnim za ovu nastavu. Jer radi, jer mi radimo u web browser-u, Dialogue: 0,0:07:44.60,0:07:48.54,Default,,0000,0000,0000,,moguće je da naš kod funkcionira vrlo jednostavno.\NKoristiti ćemo JavaScript plus još neke Dialogue: 0,0:07:48.54,0:07:52.82,Default,,0000,0000,0000,,dodatke koje sam dodao samo za ova predavanja. Tako ovo neće izgledati baš kao Dialogue: 0,0:07:52.82,0:07:57.23,Default,,0000,0000,0000,,profesionalni JavaScript kod. Raditi ćemo na dijelovima koda Dialogue: 0,0:07:57.23,0:08:01.64,Default,,0000,0000,0000,,koji je u konačnici vrlo kratak, tek toliko da ukažemo na poantu Dialogue: 0,0:08:01.64,0:08:05.94,Default,,0000,0000,0000,,onog što pokazujemo i pomalo istražimo računala, ali bez dovlačenja puno "prtljage" Dialogue: 0,0:08:05.94,0:08:10.15,Default,,0000,0000,0000,,koja bi bila nužna za pisanje kompletnih profesionalnih programa. Dialogue: 0,0:08:10.15,0:08:14.50,Default,,0000,0000,0000,,Evo dakle mog prvog primjera. Ono što će kod napraviti za nas je ... Dialogue: 0,0:08:14.50,0:08:18.55,Default,,0000,0000,0000,,imamo ovo pravokutno područje i ovaj tekst u okviru njega Dialogue: 0,0:08:18.55,0:08:22.96,Default,,0000,0000,0000,,to je kod. Imati ćemo svaki put "RUN" gumb ovdje dolje. \NKad napravim klik mišem Dialogue: 0,0:08:22.96,0:08:27.60,Default,,0000,0000,0000,,na RUN gumb. Ono što će se dogoditi je da će računalo otići ovdje gore i Dialogue: 0,0:08:27.60,0:08:31.83,Default,,0000,0000,0000,,jednostavno proći ovim linijama. On će jednostavno, kao što kažemo, izvesti svaku liniju. Dialogue: 0,0:08:31.83,0:08:36.80,Default,,0000,0000,0000,,Obaviti će ono što ona kaže. U ovom slučaju, dakle, ono što gledamo je Dialogue: 0,0:08:36.80,0:08:41.15,Default,,0000,0000,0000,,print funkcija. Dakle imamo riječ "print". Način na koji je print funkcija uvedena u kod Dialogue: 0,0:08:41.15,0:08:45.57,Default,,0000,0000,0000,,je da imamo riječ "print" i onda imamo lijevu (otvorenu) zagradu i nakon nje niz stvari Dialogue: 0,0:08:45.57,0:08:49.65,Default,,0000,0000,0000,,U ovom primjeru to je samo brojka 6 nakon čega Dialogue: 0,0:08:49.65,0:08:53.99,Default,,0000,0000,0000,,redak završava s desnom (zatvorenom) zagradom i znakom točkom-zarez. Ono što print funkcija radi je Dialogue: 0,0:08:53.99,0:08:58.60,Default,,0000,0000,0000,,da uzme one stvari koje pišu u zagradama i ispisuje ih. Dialogue: 0,0:08:58.60,0:09:04.13,Default,,0000,0000,0000,,Ako pogledate preko na desnu stranu ovo je ispis Dialogue: 0,0:09:04.34,0:09:09.86,Default,,0000,0000,0000,,koji se dobije kad kliknemo na RUN. Ako ovo promijenim na recimo print(42) i sad Dialogue: 0,0:09:09.86,0:09:15.34,Default,,0000,0000,0000,,kliknem RUN tada vidimo 42. To je ono što dobijemo od prve linije, a kad Dialogue: 0,0:09:15.34,0:09:21.15,Default,,0000,0000,0000,,kažem print(1,2) tada vidim 1 i 2 s druge strane.\NDakle to tako radi. Dialogue: 0,0:09:21.15,0:09:26.43,Default,,0000,0000,0000,,Rekao sam već da su naši prvi primjeri vrlo banalni, nisu nešto blistavo. Dialogue: 0,0:09:26.43,0:09:32.04,Default,,0000,0000,0000,,To je u ovom slučaju doista i istina. Dakle mogao bih sada ovdje pokušati još par stvari. Dialogue: 0,0:09:32.04,0:09:37.46,Default,,0000,0000,0000,,Mogao bih napisati zarez 47 tako da kad to izvedem ... OK, sada vidimo Dialogue: 0,0:09:37.46,0:09:43.27,Default,,0000,0000,0000,,da dobijemo 1 i 2 i 47. Također da pokažem da se ove linije uzimaju samo jedna po jedna Dialogue: 0,0:09:43.27,0:09:49.24,Default,,0000,0000,0000,,Kopirati ću to i onda to mogu zalijepiti nekoliko puta ... Dialogue: 0,0:09:49.24,0:09:54.47,Default,,0000,0000,0000,,Imam viš linija, tako da kad to izvedem, ... sad možemo reći da je to u redu Dialogue: 0,0:09:54.47,0:09:59.69,Default,,0000,0000,0000,,dobijemo, dakle dobijemo ponavljanje onoga što god nam je ispis bio. Dialogue: 0,0:09:59.69,0:10:06.59,Default,,0000,0000,0000,,Dakle ono što treba naglasiti je da sintaksa naredbe nije slobodna forma. Dialogue: 0,0:10:06.59,0:10:11.30,Default,,0000,0000,0000,,Naprotiv, ona je vrlo čvrsto strukturirana. Ona mora biti upravo takva Dialogue: 0,0:10:11.30,0:10:16.30,Default,,0000,0000,0000,,da bi je računalo moglo razumjeti. To je, u stvari, posljedica Dialogue: 0,0:10:16.30,0:10:20.46,Default,,0000,0000,0000,,unutarnje prirode računala. Ono ima tu mehaničku čvrstinu, ograničenost, Dialogue: 0,0:10:20.46,0:10:25.23,Default,,0000,0000,0000,,pa će i jezik, kojeg ono razumije isto biti mehanički, čvrst. Dialogue: 0,0:10:25.23,0:10:30.30,Default,,0000,0000,0000,,Ovo je malo čudno. U početku krećemo slobodno pisati Dialogue: 0,0:10:30.30,0:10:35.30,Default,,0000,0000,0000,,engleski ovdje i postići da to računalo slijedi. Razmišljajte i tome Dialogue: 0,0:10:35.30,0:10:39.12,Default,,0000,0000,0000,,kao svojoj prvoj lekciji o prirodi računala. Ili po principu Dialogue: 0,0:10:39.12,0:10:42.51,Default,,0000,0000,0000,,"kad si u Rimu ponašaj se kao Rimljanin". Dakle tražim od vas da zavirite Dialogue: 0,0:10:42.51,0:10:46.07,Default,,0000,0000,0000,,u svijet računala. Raditi ćemo stoga malo u jeziku računala. Dialogue: 0,0:10:46.07,0:10:49.41,Default,,0000,0000,0000,,U početku će izgledati malo čudno, ali stvarnost je slijedeća, \Nto nije komplicirano, Dialogue: 0,0:10:49.41,0:10:54.41,Default,,0000,0000,0000,,Sintaksa postoji. To jest čvrsta struktura, ali to zapravo i nije tako teško Dialogue: 0,0:10:54.41,0:10:59.60,Default,,0000,0000,0000,,Htio bih vas ohrabriti da ne odustajete zbog pomalo Dialogue: 0,0:10:59.79,0:11:04.79,Default,,0000,0000,0000,,čvrsto strukturirane mehaničke kvalitete jezika. Ona će nam omogućiti da radimo Dialogue: 0,0:11:04.79,0:11:10.19,Default,,0000,0000,0000,,neke zgodne stvari. U redu, to je bio moj prvi primjer, probajmo ovaj drugi Dialogue: 0,0:11:10.40,0:11:16.43,Default,,0000,0000,0000,,U prvom primjeru radio sam samo s brojevima. U računalnom kodu postoje Dialogue: 0,0:11:16.43,0:11:21.56,Default,,0000,0000,0000,,i nešto što zovemo strig-om (nizom znakova). Ovo je prvi primjer sa string-om: "hi" unutar navodnika Dialogue: 0,0:11:21.56,0:11:26.54,Default,,0000,0000,0000,,Dakle niz je samo slijed znakova i u kodu ga zapisujemo između dvostrukih navodnika. Dialogue: 0,0:11:26.54,0:11:31.70,Default,,0000,0000,0000,,Zbog toga imam "hi". Dakle print može prihvatiti brojke i ispisati ih, a Dialogue: 0,0:11:31.70,0:11:36.54,Default,,0000,0000,0000,,pokazuje se da može ispisati i stringove. On jednostavno interpretira string kao Dialogue: 0,0:11:36.54,0:11:41.39,Default,,0000,0000,0000,,slijed slova i kojih god znakova što ga čine i ispisuje ih redom ovdje. Dialogue: 0,0:11:41.39,0:11:46.44,Default,,0000,0000,0000,,Mogao bih, znate, ovo izmijeniti da umjesto "hi" to promjenim u "good day" Dialogue: 0,0:11:46.44,0:11:51.28,Default,,0000,0000,0000,,Dakle string može uključivati i razmake. Ako to izvedem mi ćemo samo Dialogue: 0,0:11:51.28,0:11:57.72,Default,,0000,0000,0000,,dobiti ovdje 'good day'. Dakle u računalnom programu i stringovi i brojevi su, i jedni i drugi, Dialogue: 0,0:11:57.72,0:12:02.22,Default,,0000,0000,0000,,vrlo česti. Stringovi u programu se koriste da se u njima čuva Dialogue: 0,0:12:02.22,0:12:06.83,Default,,0000,0000,0000,,npr. URL kojeg ste utipkali ili, u programu za uređivanje teksta, cijeli stavak Dialogue: 0,0:12:06.83,0:12:11.22,Default,,0000,0000,0000,,teksta na kojem radimo može biti pohranjen u string.\NDakle string je u suštini Dialogue: 0,0:12:11.22,0:12:15.60,Default,,0000,0000,0000,,sekvenca znakova. To je vrlo uobičajena vrsta podatka u računalu. Dialogue: 0,0:12:15.60,0:12:20.21,Default,,0000,0000,0000,,Druga stvar koju smo pokazali u ovom primjeru koda je ovaj prvi redak. To nazivamo Dialogue: 0,0:12:20.21,0:12:24.94,Default,,0000,0000,0000,,komentarom i u JavaScript jeziku komentari započinju s dvije kose crte a komentari funkcioniraju tako Dialogue: 0,0:12:24.94,0:12:29.63,Default,,0000,0000,0000,,da se sve, počevši s dvije kose crte pa sve desno do kraja retka Dialogue: 0,0:12:29.63,0:12:34.88,Default,,0000,0000,0000,,ignorira od strane računala. Mogu to onda koristiti da tu napišem bilo kakvu opasku poput Dialogue: 0,0:12:34.88,0:12:39.75,Default,,0000,0000,0000,,tu imam dva stringa i sl. Neku malu opasku ili primjedbu sebi ili slično o kodu. Dialogue: 0,0:12:39.75,0:12:44.81,Default,,0000,0000,0000,,Dakle kad ovo izvedem računalo, recimo, ignorira ovaj dio. Dialogue: 0,0:12:44.81,0:12:49.86,Default,,0000,0000,0000,,U nekom od mojih primjera koji slijede vidjeti ćete Dialogue: 0,0:12:49.86,0:12:55.18,Default,,0000,0000,0000,,komentare razasute okolo u kojima ja stavljam napomene o tome što se događa. Dialogue: 0,0:12:55.36,0:13:01.74,Default,,0000,0000,0000,,Dakle, jedan primjer kojeg bi ovdje mogao pokazati, a koji je malo zbunjujući. Staviti ću riječ print Dialogue: 0,0:13:01.74,0:13:09.41,Default,,0000,0000,0000,,unutar stringa i pogledati što se ispisuje. Sad dakle ovdje Dialogue: 0,0:13:09.41,0:13:14.81,Default,,0000,0000,0000,,na drugom retku dobivam 'hello to print'. Ono što se dogodilo da se riječ print unutar Dialogue: 0,0:13:14.81,0:13:20.62,Default,,0000,0000,0000,,stringa ne tretira kao kod, kojeg treba izvesti poput riječi print izvan stringa, Dialogue: 0,0:13:20.62,0:13:26.16,Default,,0000,0000,0000,,t.j. kao funkcija koju kod programa poziva. Dakle kad se nalazi unutar dvostrukih navodnika Dialogue: 0,0:13:26.16,0:13:31.89,Default,,0000,0000,0000,,ista riječ tretira se kao običan podatak. To predstavlja distinkciju unutar koda. Dialogue: 0,0:13:31.89,0:13:37.72,Default,,0000,0000,0000,,To bi bilo u redu. Na kraju poglavlja imati ćemo nekoliko vježbi Dialogue: 0,0:13:37.72,0:13:43.91,Default,,0000,0000,0000,,u kojima ćete moći pisati kod kao što sam ja radio ovdje. Kao što sam prije spomenuo Dialogue: 0,0:13:43.91,0:13:50.10,Default,,0000,0000,0000,,kod funkcionira unutar sustava koji ima čvrsto strukturiranu ograničenu sintaksu. Dialogue: 0,0:13:50.10,0:13:54.60,Default,,0000,0000,0000,,U stvari, vrlo često se potkrade pogreška i profesionalnim programerima koji pišu Dialogue: 0,0:13:54.60,0:13:59.46,Default,,0000,0000,0000,,programe po cijeli dan. Kad se utipkava neki kod postoji tendencija da se naprave Dialogue: 0,0:13:59.46,0:14:04.25,Default,,0000,0000,0000,,sitne sintaktičke pogreške na raznim mjestima u kodu.\NMoguće da se ispusti desna zagrada Dialogue: 0,0:14:04.25,0:14:09.22,Default,,0000,0000,0000,,ili se krivo otipka neka riječ ... I te sintaktičke pogreške su vrlo lake za Dialogue: 0,0:14:09.22,0:14:13.72,Default,,0000,0000,0000,,ispravljanje. Dakle kad pritisnete RUN gumb Dialogue: 0,0:14:13.72,0:14:18.51,Default,,0000,0000,0000,,vrlo često će se ukazati nekakva sitna pogreška koju je potrebno ispraviti. Dialogue: 0,0:14:18.51,0:14:22.77,Default,,0000,0000,0000,,Htio bi da to razumijete. Te sitne pogreške ne odražavaju vaše Dialogue: 0,0:14:22.77,0:14:27.48,Default,,0000,0000,0000,,duboko nerazumijevanje ili ozbiljan nedostatak, radi se samo o površnim previdima Dialogue: 0,0:14:27.48,0:14:32.08,Default,,0000,0000,0000,,koja se događaju tijekom kodiranja, a rade ih i profesionalni programeri cijelo vrijeme . Dialogue: 0,0:14:32.08,0:14:36.62,Default,,0000,0000,0000,,Mi niti ne mislimo o njima dok ih uklanjamo, uopće ne razmišljamo o njima. Dialogue: 0,0:14:38.89,0:14:41.16,Default,,0000,0000,0000,,Mislim stoga da, kad se ljudi uvode u kodiranje, ovo ih Dialogue: 0,0:14:41.16,0:14:45.65,Default,,0000,0000,0000,,pomalo izbacuje iz takta. To da postoje ove male sintaktičke greške Dialogue: 0,0:14:45.65,0:14:50.13,Default,,0000,0000,0000,,odvraća im pažnju i oni misle da rade nešto potpuno krivo, dok zapravo svi Dialogue: 0,0:14:50.13,0:14:54.71,Default,,0000,0000,0000,,rade takve greške. To uopće nije značajno. Da bi pomogao da vam malo Dialogue: 0,0:14:54.71,0:14:58.13,Default,,0000,0000,0000,,odvratim pažnju s toga, ja ću vam jednostavno prikazati gomilu primjera u kojima sam ... Dialogue: 0,0:14:58.13,0:15:01.69,Default,,0000,0000,0000,,Zadao sam par primjera u kojima imam neke tipične male sintaktičke greške. Dialogue: 0,0:15:01.69,0:15:05.21,Default,,0000,0000,0000,,Pokazati ću kako se greška manifestira kad kliknete na RUN gumb. Dobro? Dialogue: 0,0:15:05.21,0:15:08.95,Default,,0000,0000,0000,,Dakle što će se dogoditi je da kad kliknem RUN gumb stvari neće raditi. Dobiti ću Dialogue: 0,0:15:08.95,0:15:12.46,Default,,0000,0000,0000,,neku vrstu poruke o grešci. Dakle želim Vam pokazati proces od Dialogue: 0,0:15:12.46,0:15:15.80,Default,,0000,0000,0000,,pojave greške do razrješenja ovog sintaktičkog problema, samo kako bi se privikli. Dialogue: 0,0:15:15.80,0:15:19.22,Default,,0000,0000,0000,,O, da, kad prvi put kliknete RUN gumb, to je vrlo česta pojava, Dialogue: 0,0:15:19.22,0:15:22.55,Default,,0000,0000,0000,,dogoditi će se ovo. Samo da prođemo kroz ovo. U redu dakle kliknimo RUN gumb. Dialogue: 0,0:15:22.55,0:15:26.38,Default,,0000,0000,0000,,I umjesto izvođenja koda i realizacije ispisa, dobio sam Dialogue: 0,0:15:26.38,0:15:30.03,Default,,0000,0000,0000,,neku grešku ovdje. Malu poruku o grešci. Ponekad su poruke o grešci Dialogue: 0,0:15:30.03,0:15:33.73,Default,,0000,0000,0000,,prilično dobre i jasno opisuju što se događa. Dakle pogledajmo prvu, ona glasi: Dialogue: 0,0:15:33.73,0:15:38.72,Default,,0000,0000,0000,,Error: prlnt is not defined. Što se dogodilo je da "print" je funkcija .... Dialogue: 0,0:15:38.72,0:15:44.14,Default,,0000,0000,0000,,ali ovaj drugi navod, u drugom retku, ... sad u ovom slučaju, Dialogue: 0,0:15:44.14,0:15:49.92,Default,,0000,0000,0000,,dobro, to ne radi uvijek, ali u velikom broju slučajeva bit' će označen redak u kom je problem. Dialogue: 0,0:15:49.92,0:15:56.34,Default,,0000,0000,0000,,Problem je u tipkanju. Ne piše P R I N T, \Nveć piše P R L N T Dialogue: 0,0:15:56.34,0:16:01.05,Default,,0000,0000,0000,,Dakle ako "l" promijenim u "i". Ha! Sada radi.\NDakle ovaj mali program Dialogue: 0,0:16:01.05,0:16:05.10,Default,,0000,0000,0000,,ispisuje 'a', pa '1' i 'b', pa 'c' i '3' , dakle jedan potpuno besmislen primjer Dialogue: 0,0:16:05.10,0:16:09.30,Default,,0000,0000,0000,,kojeg sam izmislio. Naravno stavio sam l jer sam razmišljao kako je to slovo Dialogue: 0,0:16:09.30,0:16:13.25,Default,,0000,0000,0000,,koje vrlo sliči i. Pa je nužno da pažljivo zagledate, dakle bio sam Dialogue: 0,0:16:13.25,0:16:17.18,Default,,0000,0000,0000,,pomalo zločesti profesor. U redu, pokušajmo s jednim od ovih Dialogue: 0,0:16:17.18,0:16:21.67,Default,,0000,0000,0000,,Kliknuti ću na RUN gumb na ovom. Javlja grešku, nezaključen doslovni string Dialogue: 0,0:16:21.67,0:16:26.32,Default,,0000,0000,0000,,i označio je drugi redak. Moram, dakle pregledati drugi redak s lijeva Dialogue: 0,0:16:26.32,0:16:31.08,Default,,0000,0000,0000,,na desno. Vidite ovaj (redak) i postoji 'b' . Ovdje je vidite problem što imamo doslovno naveden string Dialogue: 0,0:16:31.08,0:16:35.62,Default,,0000,0000,0000,,Htjeli smo string "b", ali nedostaje nam zatvaranje (desni) navodnika. Dialogue: 0,0:16:35.62,0:16:40.71,Default,,0000,0000,0000,,Trebamo oba navodnika. \NProbati ću s trećim primjerom. Dialogue: 0,0:16:40.71,0:16:45.14,Default,,0000,0000,0000,,Pogledajmo, greška, nedostaje desna zagrada. \NJoš jednom je linija osvijetljena. Dialogue: 0,0:16:45.14,0:16:49.45,Default,,0000,0000,0000,,Ja ću ... u stvari ... u ovom slučaju ..\Nporuka o grešci je prilično dobra. Dialogue: 0,0:16:49.45,0:16:54.28,Default,,0000,0000,0000,,Ona govori, gledaj ..., kao i kod navodnika,\Nlijeva (otvorena) zagrada Dialogue: 0,0:16:54.28,0:16:58.48,Default,,0000,0000,0000,,i desna (zatvorena) zagrada, moraju se spariti.\NMora biti desna zagrada, Dialogue: 0,0:16:58.48,0:17:02.95,Default,,0000,0000,0000,,točno ovdje, da bi se dala naredbu ispisa. Sada, dakle, radi. Dialogue: 0,0:17:02.95,0:17:12.22,Default,,0000,0000,0000,,Evo zadnjeg. Nešto ne štima, javlja grešku da nema desne zagrade, ali kad pogledam ona je tu. Dialogue: 0,0:17:12.22,0:17:16.16,Default,,0000,0000,0000,,Ono što se dogodilo je da je poruka o grešci netočna. Ponekad, kad postoji sintaktička greška, Dialogue: 0,0:17:16.16,0:17:20.79,Default,,0000,0000,0000,,računalo se zbuni i ne može dobro dijagnosticirati grešku za vas u svojoj poruci Dialogue: 0,0:17:20.79,0:17:25.24,Default,,0000,0000,0000,,Ono u osnovici može govoriti\Nnešto ne valja u drugom retku. Dialogue: 0,0:17:25.24,0:17:29.97,Default,,0000,0000,0000,,Moja preporuka je da dobro pregledate s lijeva na desno ... i pogledajte ovdje, izgleda Dialogue: 0,0:17:29.97,0:17:34.40,Default,,0000,0000,0000,,prilično razumno. Izgleda da u ovom slučaju ono što nedostaje je zarez Dialogue: 0,0:17:34.40,0:17:38.62,Default,,0000,0000,0000,,Mislim da taj primjer dobro ukazuje na razliku između čovjeka i računala. Dialogue: 0,0:17:38.62,0:17:42.80,Default,,0000,0000,0000,,Čovjek bi mogao pogledati naredbu i otkriti vašu namjeru. Poput: vidim što je on Dialogue: 0,0:17:42.80,0:17:46.96,Default,,0000,0000,0000,,namjeravao je da ispiše '1' i 'b'.\NAli računalo ima tu mehaničku (nesvjesnu) crtu. Dialogue: 0,0:17:46.96,0:17:51.77,Default,,0000,0000,0000,,Stvari moraju biti upravo onakve kakve se očekuje da budu, pa i zarez Dialogue: 0,0:17:51.77,0:17:57.12,Default,,0000,0000,0000,,nije opcija već mora biti tamo, tako da smo blokirani tok to ne riješimo. Dialogue: 0,0:17:57.12,0:18:02.100,Default,,0000,0000,0000,,U redu, sad to radi. Dakle ti je prvo poglavlje samo s osnovnim ispisom Dialogue: 0,0:18:02.100,0:18:09.12,Default,,0000,0000,0000,,s brojkama i stringovima.\NImam jedan problemski primjer kojeg ću probati. Dialogue: 0,0:18:09.12,0:18:13.69,Default,,0000,0000,0000,,Ovako će najčešće izgledati vježbe.\NIako će kasnije vježbe biti zabavnije. Dialogue: 0,0:18:13.69,0:18:18.04,Default,,0000,0000,0000,,To vam obećavam. Ovdje piše:\Nizmijeni donji kod tako da kad se izvede Dialogue: 0,0:18:18.04,0:18:22.55,Default,,0000,0000,0000,,on generira upravo ovakav izlaz. Tu stoji\N'1 2 buckle' .... dakle zasniva se na brojalici Dialogue: 0,0:18:22.55,0:18:26.44,Default,,0000,0000,0000,,'one, two, buckle my shoe'. Dakle, ovaj kod ovdje koji nešto radi Dialogue: 0,0:18:26.44,0:18:29.91,Default,,0000,0000,0000,,ali to nije, to uopće nije ono što trebamo, pa da moramo prepraviti Dialogue: 0,0:18:29.91,0:18:33.38,Default,,0000,0000,0000,,Pogledajmo! Najprije, ono što ću napraviti je ja ću dodati 2 i onda ću se Dialogue: 0,0:18:33.38,0:18:36.99,Default,,0000,0000,0000,,sjetiti dodati zarez ... i onda ću promijeniti ovaj strig Dialogue: 0,0:18:36.99,0:18:40.69,Default,,0000,0000,0000,,da glasi 'buckle'. Sad to mogu izvesti tek da vidim što radi. Dialogue: 0,0:18:40.69,0:18:44.35,Default,,0000,0000,0000,,Htio bi vas ohrabriti, da ako imate ideju za neki kod, ili samo želite nešto isprobati, ... Dialogue: 0,0:18:44.35,0:18:48.14,Default,,0000,0000,0000,,ne možete ništa razbiti ako ovdje bilo što ukucate i kliknete pogrešan gumb. Dialogue: 0,0:18:48.14,0:18:51.89,Default,,0000,0000,0000,,Dobro je imati osjećaj da malo eksperimentirate. Dialogue: 0,0:18:51.89,0:18:58.72,Default,,0000,0000,0000,,To je bio prvi redak. Isprobati ću i drugi.\N'3' zarez '4' zarez 'knock' Dialogue: 0,0:18:58.72,0:19:07.46,Default,,0000,0000,0000,,Dobro je, sada to radi.\NVrlo često kad radim male pokuse Dialogue: 0,0:19:07.46,0:19:12.95,Default,,0000,0000,0000,,u dokumentu poput ovog, ... to može biti ovaj u videu, \Nraditi ću gomilu primjera Dialogue: 0,0:19:12.95,0:19:16.59,Default,,0000,0000,0000,,i onda vi možda zaželite isprobati ... moda ćete znate biti radoznali vezano za drugi primjer Dialogue: 0,0:19:16.59,0:19:20.51,Default,,0000,0000,0000,,I vi ćete naići na jedan i htjeti isprobati neku varijantu i stisnuti ćete krivu tipku Dialogue: 0,0:19:20.51,0:19:24.15,Default,,0000,0000,0000,,To je nešto što vi slobodno možete napraviti. Dialogue: 0,0:19:24.15,0:19:27.47,Default,,0000,0000,0000,,Često ću u dokumentu imati mali \N'show solution' (pokaži rješenje) gumb Dialogue: 0,0:19:27.47,0:19:31.06,Default,,0000,0000,0000,,To znači da vi možete doći na njega, ... on je prazan, dakle možete eksperimentirati Dialogue: 0,0:19:31.20,0:19:34.75,Default,,0000,0000,0000,,Ali onda ako ste radoznali koji kod sam ja koristio, tada je i to dostupno Dialogue: 0,0:19:34.75,0:19:38.20,Default,,0000,0000,0000,,u dokumentu tako da možete usporediti to s vašim rješenjem. Dialogue: 0,0:19:38.20,0:19:41.75,Default,,0000,0000,0000,,Ili ako želite iz njega kopirati ili što god bilo to je u redu. Dialogue: 0,0:19:41.75,0:19:44.94,Default,,0000,0000,0000,,Time završavamo prvo poglavlje, isprobajte vježbe s kodom.