< Return to Video

Uvod u tipove podataka i promenljive u programiranju

  • 0:01 - 0:03
    Ono što želim da uradim u ovom snimku
    jeste da vas izložim ideji
  • 0:03 - 0:07
    i da vam predstavim
  • 0:07 - 0:09
    šta je to kompjuterski program.
  • 0:09 - 0:10
    A u slučaju da želite da isprobavate usput,
  • 0:10 - 0:11
    a jako vam preporučujem da to radite,
  • 0:11 - 0:13
    jer pravi način za učenje računarskih nauka
  • 0:13 - 0:15
    i jeste da se malo sami poigrate sa stvarima...
  • 0:15 - 0:18
    Dakle, ako želite da isprobavate,
    ovo je Python (čita se: pajton) okruženje
  • 0:18 - 0:21
    tako da ću dosta programirati
    u jeziku zvanom Python.
  • 0:21 - 0:24
    A ovo ovde, ovo okruženje
    se naziva PyScripter.
  • 0:24 - 0:27
    P-Y-S-C-R-I-P-T-E-R.
    (izgovor: P-A-J-S-K-R-I-P-T-E-R)
  • 0:27 - 0:30
    Besplatano je, To je "open-source" softver
    (prevod: softver otvorenog koda).
  • 0:30 - 0:33
    I ja ću koristiti Python... Python...
  • 0:33 - 0:35
    Mislim da koristim Python 2.6 ili 2.7.
  • 0:35 - 0:36
    Dokle god koristite Python 2
  • 0:36 - 0:39
    vaši primeri će biti isti kao i moji,
  • 0:39 - 0:40
    radiće na isti način.
  • 0:40 - 0:41
    Ali ako koristite Python 3
  • 0:41 - 0:43
    moraćete da koristite
    malo drugačiji pristup
  • 0:43 - 0:45
    s vremena na vreme
    kako bi sve radilo korektno.
  • 0:45 - 0:49
    Pokušaću da ukažem na te izuzetke
    kada se budu dešavali.
  • 0:49 - 0:52
    Dakle, hajde da počnemo sa pisanjem
    jednog kompjuterskog programa.
  • 0:52 - 0:53
    Ono što je super u tome
  • 0:53 - 0:55
    jeste to što program
    možemo pisati odmah tu.
  • 0:55 - 0:58
    A u suštini samo menjamo
    tekstualni dokument.
  • 0:58 - 0:59
    To je sve što radimo.
  • 0:59 - 1:01
    To je grupa instrukcija (naredbi)
  • 1:01 - 1:03
    i u većini slučajeva će kompjuter početi
  • 1:03 - 1:05
    sa vrha ovog dokumenta
    i jednostavno nastaviti naniže
  • 1:05 - 1:07
    čitajući ove naredbe.
  • 1:07 - 1:08
    Iako ćete kasnije videti
  • 1:08 - 1:09
    da postoje načini da se kompjuteru kaže
  • 1:09 - 1:13
    da preskoči neke naredbe,
    ali i da kruži kroz instrukcije
  • 1:13 - 1:16
    tako da nešto može da radi iznova i iznova
    ili da neke druge stvari preskoči.
  • 1:16 - 1:19
    Imajući u vidu rečeno, hajde da
    napišemo jednostavan program.
  • 1:19 - 1:20
    I dok ovo radimo,
  • 1:20 - 1:22
    upoznaćemo se sa nekim od
    osnovnih koncepata
  • 1:22 - 1:25
    koji se javljaju u okviru
    kompjuterkog programa.
  • 1:25 - 1:30
    Dopustite mi da vam napišem
    veoma jednostavan računarski program.
  • 1:30 - 1:32
    Dakle, jedan veoma jednostavan
    računarski program
  • 1:32 - 1:35
    bi bio bukvalno samo jedan izraz.
  • 1:35 - 1:41
    Stoga, napisaću samo print 3 + 7,
  • 1:41 - 1:45
    Ovaj program će bukvalno da uzme 3 + 7
    i da to prikaže na ekranu.
  • 1:45 - 1:47
    Program će to proslediti print funkciji
  • 1:47 - 1:48
    koja dolazi u okviru Python jezika.
  • 1:48 - 1:52
    Možda da to napišem ovako:
    print( 3 + 7 ).
  • 1:52 - 1:54
    Sačuvaću dokument.
    Dakle postoji samo jedna...
  • 1:54 - 1:56
    ako razmislite o tome,
    samo jedna komanda
  • 1:56 - 1:58
    ovde na prvoj liniji.
    Ona kaže print 3 + 7
  • 1:58 - 1:59
    Zapravo, hajde da dodamo
    još jednu naredbu,
  • 1:59 - 2:02
    da biste videli da će program
    da se izvrši od vrha pa na dole.
  • 2:02 - 2:07
    Dodaću još jednu liniju:
    print( 2 - 1 )
  • 2:07 - 2:16
    i onda da uradimo ovo:
    print( "this is a chunk of text" ).
  • 2:16 - 2:18
    Hajde da vidimo šta će
    ovaj kompjuterski program
  • 2:18 - 2:20
    da uradi.
  • 2:20 - 2:22
    Sačuvaću ga.
  • 2:22 - 2:23
    Sačuvaću ga.
  • 2:23 - 2:28
    Sačuvao sam ga kao dokument "testarea.py".
    Kaže da... da... da je to...
  • 2:28 - 2:32
    Ekstenzija .py označava Python dokument.
  • 2:32 - 2:34
    Sada, hajde da izvršimo program.
  • 2:34 - 2:36
    Ono što je lepo kod ovog
    okruženja za razvoj,
  • 2:36 - 2:39
    kod ovog IDE-a odnosno
    "Integrisanog okruženja za razvoj"
  • 2:39 - 2:42
    jeste to što možete da pišete
    i izvršavate program na istom mestu.
  • 2:42 - 2:44
    Takođe, ono boji vaš tekst,
  • 2:44 - 2:46
    tako da možete jasno videti
    šta je funkcija, šta nije funkcija,
  • 2:46 - 2:47
    različite tipove podataka...
  • 2:47 - 2:49
    pričaćemo kasnije još o tipovima podataka.
  • 2:49 - 2:52
    Hajde da samo pokrenimo program
    da vidimo šta će se desiti.
  • 2:52 - 2:54
    Evo nas, izvršili smo program!
  • 2:54 - 2:56
    Program je prikazao 10 [deset], zatim 1 [jedan],
  • 2:56 - 2:59
    i na kraju je prikazao "this is a chunk of text"
    (prevod: ovo je parče teksta).
  • 2:59 - 3:00
    Dakle program je uradio
    tačno ono sto šmo mu rekli da uradi.
  • 3:00 - 3:01
    I uradio je to u odgovarajućem redosledu.
  • 3:01 - 3:06
    Počeo je ovde gore,
    izvršio 3 + 7 i dobio 10,
  • 3:06 - 3:08
    zatim je prikazao rezultat,
    prikazao je 10 [deset] ovde.
  • 3:08 - 3:12
    Zatim je prikazao 2-1,
  • 3:12 - 3:13
    i na kraju je prikazao
    "this is a chunk of text".
  • 3:13 - 3:16
    A sada jedna stvar sa kojom sam želeo
    da vas upoznam, još odmah na početku,
  • 3:16 - 3:17
    to je ideja o tipovima podataka.
  • 3:17 - 3:19
    Možda kada ste videli ovaj primer,
  • 3:19 - 3:21
    možda ste imali neki osećaj koji kaže:
  • 3:21 - 3:22
    "Vidi, tamo ima nešto što je malo drugačije
  • 3:22 - 3:27
    između 3 [tri] ili 2 [dva] ili 1 [jedan] ili 7 [sedam]
    i "this is a chunk of text".
  • 3:27 - 3:32
    Ovo je broj... osećam da... da ja jednostavno
    mogu da sabiram brojeve.
  • 3:32 - 3:34
    Oni predstavljaju nešto u smislu količine.
  • 3:34 - 3:39
    Dok ovo ispod predstavlja parče teksta."
  • 3:39 - 3:40
    I vaša intuicija bi bila na mestu.
  • 3:40 - 3:43
    Postoje različiti tipovi podataka.
  • 3:43 - 3:46
    Na primer 3 [tri], 7 [sedam] i 1 [jedan]...
    to su numeričke vrednosti.
  • 3:46 - 3:49
    U ovom konkretnom slučaju,
    oni su celi brojevi.
  • 3:49 - 3:52
    A možete i...
    u ovom ovde,
  • 3:52 - 3:53
    to je zapravo String,
  • 3:53 - 3:55
    što je reč koju možete
    često čuti u računarskoj nauci.
  • 3:55 - 3:59
    To je u suštini, pokazivač
    na niz slovnih karaktera.
  • 3:59 - 4:02
    A u Python-u možemo da pitamo
  • 4:02 - 4:04
    koji su tipovi ovih stvari.
  • 4:04 - 4:05
    Možete ih proslediti funkciji
    "type" (prevod: tip)
  • 4:05 - 4:11
    tako da će se prikazati i tip podataka
    od 3 + 7, a ne samo 10.
  • 4:11 - 4:15
    Hajde da to probamo. Samo ću prikazati
    2 - 1 da vam pokažem razliku.
  • 4:15 - 4:19
    Zatim ću prikazati tip
    od "this chunk of text".
  • 4:19 - 4:22
    Tip od "this chunk of text".
  • 4:22 - 4:25
    Dakle, hade da ga sačuvamo.
    Samo ću pritisnuti CTRL+S na tastaturi,
  • 4:25 - 4:27
    To je prečica za čuvanje.
  • 4:27 - 4:30
    I zatim ću pokušati
    da izvršim ovaj program.
  • 4:30 - 4:31
    Evo ga.
  • 4:31 - 4:33
    Izvršio je ovaj izraz.
  • 4:33 - 4:35
    Da bi izvršio ovo,
    počinje kod unutrašnjih zagrada.
  • 4:35 - 4:39
    3 + 7 je 10. Zatim pokušava
    da dobije tip podataka od 10,
  • 4:39 - 4:43
    koji je int, a zatim ispisuje taj tip int.
  • 4:43 - 4:45
    I upravo to vidite ovde. Kaže tip int.
  • 4:45 - 4:47
    int je skraćeno od Integer
    (prevod: ceo broj).
  • 4:47 - 4:48
    Zatim kaže print( 2 - 1 ).
  • 4:48 - 4:50
    To radi na ovoj liniji ovde,
  • 4:50 - 4:51
    prikazuje 1,
  • 4:51 - 4:55
    a zatim prikazuje tip
    od cele ove stvari ovde.
  • 4:55 - 4:56
    Dakle, umesto prikazivanja teksta,
  • 4:56 - 5:00
    prikazuje njegov tip.
    I njegova vrsta je String.
  • 5:00 - 5:02
    Sledeća stvar sa kojom
    želim da vas upoznam,
  • 5:02 - 5:05
    dok eksperimentišemo
    sa programima,
  • 5:05 - 5:07
    jeste ideja promenljive.
  • 5:07 - 5:10
    Zbog toga što je jedna
    od stvari koje će nam trebati
  • 5:10 - 5:13
    ta da čuvamo ove vrednosti
    na različitim mestima.
  • 5:13 - 5:14
    U narednim snimcima ćemo
    naučiti da u Python-u
  • 5:14 - 5:17
    imamo nešto nalik na
    etikete za ove vrednosti,
  • 5:17 - 5:19
    i da te etikete
    mogu da se menjaju.
  • 5:19 - 5:21
    Ili na primer, možemo im dodeliti
    drugačije tipove etiketa.
  • 5:21 - 5:26
    Hajde da napišemo totalno drugačiji
    program koristeći promenljive.
  • 5:26 - 5:28
    Dakle, hade da...
    Ono što je super kod Python-a,
  • 5:28 - 5:30
    iako se nekim ljudima to ne dopada,
  • 5:30 - 5:35
    jeste to što se bilo koji tip podataka
    može staviti u bilo koji tip promenljive.
  • 5:35 - 5:41
    Tako možete reći
    a = 3 + 5,
  • 5:41 - 5:51
    zatim možemo reći
    b = a * a - a - 1
  • 5:51 - 5:53
    [napomena: * znaci "puta",
    koristi se za množenje]
  • 5:53 - 6:03
    zatim možete reći
    c = a * b.
  • 6:03 - 6:06
    A onda možete imati nešto nalik na...
  • 6:06 - 6:12
    Staviću malo prostora ovde
    da program učinim nešto preglednijim.
  • 6:12 - 6:14
    c = a * b
  • 6:14 - 6:20
    Onda možemo reći,
    hajde da prikažemo c.
  • 6:20 - 6:23
    Ukoliko želitie,
    možete da pokušate
  • 6:23 - 6:24
    da razumete kako će c da izgleda
  • 6:24 - 6:26
    ili možemo samo da
    izvršimo ovaj program.
  • 6:26 - 6:27
    Hajde da prvo izvršimo program
  • 6:27 - 6:28
    i onda da se vratimo nazad i vidimo
  • 6:28 - 6:30
    da li je program udradio ispravnu stvar.
  • 6:30 - 6:32
    Sačuvaću program,
  • 6:32 - 6:35
    i sada ću ga izvršiti.
  • 6:35 - 6:39
    Dobili smo 440 za c. Hajde da vidimo
    da li ovaj rezultat ima smisla.
  • 6:39 - 6:44
    Dakle, 3 + 5 je 8. Dakle,
    etiketa a će se odnositi na 8.
  • 6:44 - 6:47
    Svako mesto u programu,
    sve dok ne redefinišemo a,
  • 6:47 - 6:51
    svaki put kada koristimo a, program će reći:
    a je 8. Znaće da se a odnosi na 8.
  • 6:51 - 6:53
    Tako da kada krenemo dalje,
    ovde dole, gde definišemo b
  • 6:53 - 6:57
    program će reći OK... a * a.
    Koristi redosled operacija.
  • 6:57 - 7:00
    Dakle, kod redosleda operacija,
    prvo ćete raditi množenje.
  • 7:00 - 7:03
    a * a će biti...
    Pogotovo kada poredite sa oduzimanjem.
  • 7:03 - 7:06
    Dakle, a * a će biti 64.
  • 7:06 - 7:15
    Tada imamo 64 - a je 64 - 8, što daje 56.
    Kada oduzmemo 1 dobijamo 55.
  • 7:15 - 7:21
    Dakle b je 55. I c će biti a...
    koje je 8... pomnoženo sa 55...
  • 7:21 - 7:26
    I 8 puta 55 je upravo 440.
  • 7:26 - 7:28
    Tako da je sve ispalo kako treba.
  • 7:28 - 7:33
    Možda želite da vidite šta se dobije
  • 7:33 - 7:34
    kada probate drugačiju vrednosti za a.
  • 7:34 - 7:35
    Možete pokušati to da odradite.
  • 7:35 - 7:38
    Možete prosto promeniti šta se dešava
    ovde za drugačije vrednosti a.
  • 7:38 - 7:41
    Možda da probamo da nam
    a bude jednako...
  • 7:41 - 7:45
    Hajde da bude jednako -6.
  • 7:45 - 7:49
    I sada izvršite program
    da vidite šta će se desiti.
  • 7:49 - 7:51
    Dobili smo -246.
    I sada možete to da potvrdite i sami.
  • 7:51 - 7:54
    Idite liniju po liniju, i pogledajte
    na šta promenljive pokazuju
  • 7:54 - 7:57
    na šta su definisane da pokazuju,
  • 7:57 - 8:00
    i vidite da li možete da dobijete
    ovaj odgovor ovde.
  • 8:00 - 8:03
    Sada, ako su programi samo grupa naredbi
  • 8:03 - 8:05
    kroz koje se uvek prolazi pravolinijski,
  • 8:05 - 8:08
    ne biste bili u mogućnost da
    radite zaista zanimljive stvari.
  • 8:08 - 8:10
    dakle, da biste radili
    zaista interesantne stvari, počećete da
  • 8:10 - 8:13
    viđate stvari kao što su uslovi i petlje.
  • 8:13 - 8:16
    A uslovi i petlje su nešto kao...
  • 8:16 - 8:16
    Hajde da to uradimo ovako
  • 8:16 - 8:20
    Dakle... ako.. ostaviću
    prve linije koda nepromenjene.
  • 8:20 - 8:35
    I reći ćemo if (a < 0):.
    Možda ćemo izvršiti print( c )
  • 8:35 - 8:50
    Zatim otkucati else:,
    i u ovom slučaju zadaćemo print (c - a).
  • 8:50 - 8:52
    Dakle ovo je interesantno.
    Možda već imate osećaj
  • 8:52 - 8:54
    šta će se dogoditi ovde.
    Sačuvajmo ga.
  • 8:54 - 8:57
    Neverovatno je koliko možete da uradite
  • 8:57 - 8:58
    samo sa ovim uslovima.
    Dakle, ovo nam govori da
  • 8:58 - 9:00
    ako je a manje od nule, uradi ovo,
  • 9:00 - 9:04
    u suprotnom, ako a nije manje od 0,
    uradi ovo ovde.
  • 9:04 - 9:06
    Primetite da ne idemo direktno nadole.
  • 9:06 - 9:10
    U zavisnosti od toga
    da li je a veće ili manje od 0,
  • 9:10 - 9:12
    program će ili da izvrši ovu liniju ovde,
  • 9:12 - 9:14
    ili će da izrvrši ovu liniju ovde.
  • 9:14 - 9:18
    A način na koji Python zna
    da izvrši samo ovu liniju,
  • 9:18 - 9:21
    ako je a bilo manje od 0,
    jeste zato što je uvučeno ovde.
  • 9:21 - 9:23
    Uvučen je ovaj deo uslova.
  • 9:23 - 9:26
    Način na koji Python zna
    da postoje novi uslove upravo ovde
  • 9:26 - 9:28
    jeste zbog ove dvotačke ovde.
  • 9:28 - 9:30
    A onda, način na koji zna
    šta da izvrši
  • 9:30 - 9:32
    ako se ništa od toga ne desi
  • 9:32 - 9:35
    ukoliko a nije manje od 0,
    onda program izvršava ovaj else uslov.
  • 9:35 - 9:38
    Ukoliko želite da uradite
    nešto drugo nakon ovoga,
  • 9:38 - 9:40
    bez obzira da li je
    a veće od 0 ili ne,
  • 9:40 - 9:42
    možete da se oslobodite ovog uslova
  • 9:42 - 9:44
    tako što ćete ukloniti uvlačenje.
  • 9:44 - 9:46
    Dakle, sada možemo da prikažemo
  • 9:46 - 9:50
    "we are done with the program"
    (prevod: gotovi smo sa programom).
  • 9:50 - 9:53
    Zapravo, hajde da dodamo
    još nešto ovom uslovu.
  • 9:53 - 9:58
    Hajde da prikažemo ovde a < 0
  • 9:58 - 10:00
    Obratite pažnju:
    ovo neće biti izvršeno.
  • 10:00 - 10:02
    Imamo ovo u okviru stringa,
  • 10:02 - 10:04
    tako da će program samo to prikazati.
  • 10:04 - 10:14
    A na ovom mestu, rećićemo
    print( "a is not less than 0" )
    (prevod: a nije manje od 0)
  • 10:14 - 10:18
    Ovo je interesantan program.
    Hajde da ga pokrenemo sad. Dobro.
  • 10:18 - 10:23
    Nadajmo se da će se pokrenuti.
    Sačuvao sam ga. Sada, hajde da ga izvršimo.
  • 10:23 - 10:26
    I kaže, ispisao je a < 0.
  • 10:26 - 10:30
    Ako bi malo otkotrljali na gore...
  • 10:30 - 10:34
    Ispisao je... dakle to je...
    pokrenemo program... prikazao je a < 0,
  • 10:34 - 10:36
    dakle pokazuje da smo
    unutar ovog uslova.
  • 10:36 - 10:42
    Zatim je prikazao ovo.
    Prikazao je c, koje ima vrednost -246.
  • 10:42 - 10:43
    Program ne izvršva ovo,
  • 10:43 - 10:47
    zato što bi to bilo izvršeno
    samo ako a ne bi bilo manje od 0.
  • 10:47 - 10:48
    Ali tada iskoči iz ovog uslova,
  • 10:48 - 10:50
    i prikazuje sledeće bez obzira na sve:
  • 10:50 - 10:51
    "we are done with the program"
    (prevod: završili smo sa programom).
  • 10:51 - 10:53
    Hajde sada da promenimo a
    i vidimo šta ćemo dobiti kada
  • 10:53 - 10:55
    pokrenemo ovaj drugi uslov.
  • 10:55 - 10:57
    Hajde da napravimo da je a veće od 0.
  • 10:57 - 11:04
    Hajde da stavimo da je a jednako 9
    i sada pokrenemo program.
  • 11:04 - 11:08
    Dakle, a je 9.
    Proverava "da li je a manje od 0?".
  • 11:08 - 11:10
    Pa, 9 nije manje od 0.
  • 11:10 - 11:11
    Dakle neće izvršiti ovo.
  • 11:11 - 11:13
    Otići će na else uslov.
  • 11:13 - 11:15
    Dakle, prikazaće "a is not less than 0",
    (prevod: a nije manje od 0)
  • 11:15 - 11:19
    što je izvršio ovde.
    Zatim će odštampati c - a
  • 11:19 - 11:22
    što je 630.
    Iskače iz tog uslova,
  • 11:22 - 11:25
    I bez obzira da li je
    a manje od 0 ili ne,
  • 11:25 - 11:28
    prikazuje "we are done with the program"
    (prevod: gotovi smo sa programom).
Title:
Uvod u tipove podataka i promenljive u programiranju
Description:

Ovaj snimak prolazi kroz korake za pisanje osnovnog programa u Python-u. Prikazuju se osnove tipova podataka, promenljivih, raznih naredbi i uslovnih izraza.

more » « less
Video Language:
English
Duration:
11:28

Serbian subtitles

Revisions Compare revisions