< Return to Video

Uvod u tipove podataka i promenljive u programiranju

  • 0:01 - 0:03
    Ono što želim da uradim u ovom klipu
    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 paralelno
  • 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
    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.
  • 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 ovde
  • 0:53 - 0:55
    je to što program možemo pisati odmah tu.
  • 0:55 - 0:58
    A u suštini sa 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 sa nekim osnovnim konceptima
  • 1:22 - 1:25
    koji se javljaju u okviru kompjuterkog programa.
  • 1:25 - 1:30
    Dopustite mi da vam napišem veoma jednostavan program.
  • 1:30 - 1:32
    Dakle, jedan veoma jednostavan 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 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 [deset],
  • 3:06 - 3:08
    zatim je prikazao rezultat, jprikazao 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 da
  • 3:21 - 3:22
    vidi, tamo ima nešto što 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 kvantiteta.
  • 3:34 - 3:39
    Dok ovo ispod predstavlja parče teksta.
  • 3:39 - 3:40
    I vaša intuicija bi bila u pravu.
  • 3:40 - 3:43
    Postoje različite vrste podataka. 3, 7, 1 su
  • 3:46 - 3:49
    brojevne (numeričke) vrednosti. Oni su celi brojevi.
  • 3:49 - 3:52
    A ovo ispod, dole, je zapravo String, koji ste često
  • 3:55 - 3:59
    čuli u kompijuterskoj nauci, a odnose se na niz slovnih karaktera.
  • 3:59 - 4:02
    U Python-u možemo da pitamo koji se tip
  • 4:04 - 4:05
    podataka prosleđuje nekoj funkciji. Na primer, ako ih prosledite funkciji "type"
  • 4:05 - 4:11
    onda će se prikazati i tip podataka od 3+7, ne samo 10.
  • 4:11 - 4:15
    Hajde da probamo. Samo ću prikazati 2-1 da vam pokažem razliku.
  • 4:15 - 4:19
    Zatim ću prikazati tip od ovog parčeta teksta.
  • 4:22 - 4:25
    Sačuvajmo dokument. Pritisnuci CTRL+S na tastaturi, što je prečica za čuvanje.
  • 4:27 - 4:30
    Zatim ću pokušati da izvršim ovaj program. Evo ga.
  • 4:31 - 4:33
    Kompjuter je analizirao ovaj izraz. Počinje sa unutrašnjim zagradama.
  • 4:35 - 4:39
    3+7 je 10. Zatim pokušava da dobije tip (vrstu podataka) od 10, koji je int,
  • 4:39 - 4:43
    tip int, zatim prikazuje da je tip int.
  • 4:43 - 4:45
    Vidite baš ovde. Kaže: tip int.
  • 4:45 - 4:47
    int je skraćenica od Integer (celi brojevi).
  • 4:47 - 4:48
    Zatim kaže print(2-1). Kaže to na ovoj liniji ovde,
  • 4:50 - 4:51
    prikazuje 1, a zatim prikazuje tip od ovog čitavog dela
  • 4:55 - 4:56
    baš ovde. Dakle, umesto prikazivanja teksta,
  • 4:56 - 5:00
    prikazuje njegov tip (vrstu). I njegova vrsta je String.
  • 5:00 - 5:02
    Sledeća stvar sa kojom želim da vas upoznam
  • 5:05 - 5:07
    dok eksperimentišemo sa ovim programom je
  • 5:07 - 5:10
    ideja o promenljivama. Zbog toga što ćemo želeti
  • 5:10 - 5:13
    da čuvamo ove vrednosti na različitim mestima.
  • 5:13 - 5:14
    U sledećim klipovima naučićemo da u Python-u,
  • 5:14 - 5:17
    imamo nešto nalik na etikete za ove vrednosti,
  • 5:17 - 5:19
    i etikete se mogu menjati.
  • 5:21 - 5:26
    Hajde da napišemo totalno drugačiji program
  • 5:26 - 5:28
    korišćenjem promenljivih. Ono što je dobro kod Python-a, iako se
  • 5:28 - 5:30
    nekim ljudima ne dopada, je da se bilo koji tip podataka može
  • 5:30 - 5:35
    staviti u bilo koji tip promenljive.
  • 5:35 - 5:41
    Može se reći *a = 3 + 5*, zatim možemo reći
  • 5:41 - 5:51
    *b = a * a - a - 1*
  • 5:51 - 5:53
    [zabeleška: * znaci "puta", koristi se da označi operaciju množenja.]
  • 5:53 - 6:03
    zatim može se reći *c = a * b* (c je jednako a puta b).
  • 6:06 - 6:12
    Staviću malo prostora ovde da program napravim malo "čistijim".
  • 6:14 - 6:20
    Konačno, prikažimo c. 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 izvršimo program i onda
  • 6:27 - 6:28
    da se vratimo nazad i vidimo da li je program odradio ispravnu stvar.
  • 6:30 - 6:32
    Sačuvaću program i potom ga izvršiti.
  • 6:35 - 6:39
    Dobili smo 440 za c. Pogledajmo ukoliko ovaj rezultat ima smisla.
  • 6:39 - 6:44
    3 + 5 je 8. Dakle, etiketa "a" će se odnositi na 8.
  • 6:44 - 6:47
    Svako mesto u programu, sve dok ne predefinišemo "a",
  • 6:47 - 6:51
    svaki put kada koristimo "a" program će znati da to znači 8.
  • 6:51 - 6:53
    Tako da kada krenemo dalje, ovde dole, i definišemo "b" program kaže
  • 6:53 - 6:57
    *a * a*. Program koristi redosled operacija, tako da prvo izvršava
  • 6:57 - 7:00
    množenje. *a * a = 64*.
  • 7:06 - 7:15
    *64 - a je 64 - 8*, što je jednako 56. 56 minus 1 je 55.
  • 7:15 - 7:21
    Dakle "b" je 55. I "c" je *a * b*,
  • 7:21 - 7:26
    I 8 puta 55 je upravo 440. Tako je sve razrađeno.
  • 7:28 - 7:33
    Možda želite da vidite šta se dobije kada
  • 7:33 - 7:34
    dobijete različite vrednosti "a". Možete pokušati to da odradite.
  • 7:41 - 7:45
    Možete pokušati da napravite da je "a" jednako -6
  • 7:45 - 7:49
    i 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 se odnose
  • 7:54 - 7:57
    i kako su definisane promenljive,
  • 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 prolazi pravolinijski,
  • 8:05 - 8:08
    ne biste bili u mogućnost da radite zaista zanimljive stvari.
  • 8:08 - 8:10
    Da biste radili zaista interesantne stvari, počećete
  • 8:10 - 8:13
    da viđate stvari kao što su uslovi i petlje.
  • 8:16 - 8:20
    hajde da pogledamo uslov. Ostaviću prve linije koda nepromenjene.
  • 8:20 - 8:35
    I kucaću "*if (a < 0):*". U ovom slučaju, zadaćemo *print( c )* naredbu
  • 8:35 - 8:50
    zatim otkucati "else", i u ovom slučaju zadaćemo *print (c - a)*.
  • 8:50 - 8:52
    ovo je interesantno. Možda već imate ideju
  • 8:52 - 8:54
    šta će se dogoditi ovde. Ali sačuvajmo dokument.
  • 8:54 - 8:57
    Neverovatno je koliko možete da uradite samo
  • 8:57 - 8:58
    sa ovim uslovima. Dakle, ovo nam govori da
  • 8:58 - 9:00
    ako je "a" manje od nule, uradi ovo, u suprotnom
  • 9:00 - 9:04
    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 "a", da li je veće ili manje od 0,
  • 9:10 - 9:12
    program će da izvrši ili ovu liniju ovde,
  • 9:12 - 9:14
    ili će da izrvrši ovu liniju ovde.
  • 9:14 - 9:18
    Nacin na koji Python zna da izvrši samo
  • 9:18 - 9:21
    "print(c)" ako je "a" manje od 0 je zato što je
  • 9:21 - 9:23
    print(c) uvučeno. Uvučen je ovaj deo uslova.
  • 9:23 - 9:26
    Način na koji Python zna da postoje novi uslove za njega
  • 9:26 - 9:28
    je zbog ove dvotačke ovde.
  • 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 tako što ćete se osloboditi
  • 9:44 - 9:46
    uvlačenja. Dakle, sada možemo samo da prikažemo niz.
  • 9:50 - 9:53
    Zapravo, hajde da dodamo nešto više 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 niza, tako da će program samo
  • 10:02 - 10:04
    to prikazati. na ovom mestu, rećićemo
  • 10:04 - 10:14
    *print("a nije manje od 0").*
  • 10:14 - 10:18
    Ovo je interesantan program. Hajde da ga pokrenemo sad.
  • 10:18 - 10:23
    Nadajmo se da će se pokrenuti. Sačuvao sam ga. Sada, hajde da izvršimo program.
  • 10:23 - 10:26
    I prikazano je "a<0", tako da pokazuje da smo unutar ovog uslova.
  • 10:36 - 10:42
    Zatim je prikazao "c", koji iznosi -246.
  • 10:42 - 10:43
    program ne izvršva ovo, zato što bi to bilo izvršeno samo
  • 10:43 - 10:47
    ako "a" nije bilo manje od 0.
  • 10:47 - 10:48
    Ali kada izbegne ovaj uslov, tada prikazuje
  • 10:50 - 10:51
    "*gotovi smo sa ovim programom*" bez obzira na sve.
  • 10:51 - 10:53
    Hajde sada da promenimo "a" i vidimo šta ćemo dobiti kada
  • 10:53 - 10:55
    pokrenemo ovaj drugi uslov. Hajde da napravimo da je "a" veće od 0.
  • 10:57 - 11:04
    Hajde da stavimo da je "a" jednako 9 i pokrenemo program.
  • 11:04 - 11:08
    Dakle, "a" je 9. Program proverava "da li je a manje od 0?",
  • 11:08 - 11:10
    pa, "a" nije manje od 0, pa neće
  • 11:11 - 11:13
    izvršiti ovo, već će preći na else uslov.
  • 11:13 - 11:15
    Dakle, prikazaće "a nije manje od 0",
  • 11:15 - 11:19
    koje sam ja uradio ovde, zatim će odštampati *c - a*
  • 11:19 - 11:22
    što je 630. Preskače ovaj uslov,
  • 11:22 - 11:25
    i bez obzira da li je "a" manje od 0 ili ne,
  • 11:25 - 11:28
    prikazuje "gotovi smo sa ovim programom".
Title:
Uvod u tipove podataka i promenljive u programiranju
Description:

Writing a basic program. Basics of data types, variables and conditional statements

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

Serbian subtitles

Revisions Compare revisions