You are on page 1of 70

Programiranje 1

Akademska godina 2012/13


dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split 1

Pisanje raunalnih programa daje vam mo upravljanja vaim raunalom Skoro svi znaju koristiti raunalo, ali samo rijetki naprave sljedei logian korak nauiti kako upravljati njime Ako koristite pragramski podrku koju je netko drugi napravio, uvijek ete biti ogranieni onim to drugi ljudi misle da vi elite napraviti p Stvarajte svoje programe i jedino ogranienje e biti vaa mata Programiranje e vas uiniti kreativnijima, natjerat e vas da razmiljate precizno, te e vas nauiti kako analizirati i rijeiti probleme na logian nain

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

Ciljevi kolegija Programiranje 1


Urediti znanja steena o ovom podruju u prethodnom obrazovanju. Razumjeti, usvojiti i nauiti proceduru i aktivnosti za rjeavanje problema i razvoj programske podrke na raunalu. Razumjeti, usvojiti i nauiti osnovni koncept programiranja sa stajalita programskih instrukcija za i j t j lit kih i t k ij prihvat podataka, obrade podataka, spremanje i raspodjele rezultata obrade podataka podataka. Razumjeti, usvojiti i nauiti osnovni koncept za p j ponovno koritenje p j podataka. spremanje i p

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

Dakle, morate nauiti kako oblikovati, pisati i analizirati osnovne algoritme, a najvanije, morate usvojiti algoritamski nain miljenja i izraavanja.
Do kraja ovog semestra trebali biste:
razumjeti temeljne koncepte programiranja biti sposobni pisati programe u programskom jeziku Python biti spremni za uenje drugih programskih jezika i koncepata

Kolegiji u neposrednoj vezi sa kolegijem Programiranje 1:


Programiranje II, Strukture podataka i algoritmi, Objektno orijentirano programiranje.

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

Pregled nastavnih cjelina


Programiranje temeljni pojmovi
Programiranje, programska podrka (sistemska i aplikacijska) Programski jezici (strojni, asembleri, programski jezici visoke razine) Programi prevoditelji: kompilatori, interpretatori Program, instrukcija

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

Osnove razvoja programske podrke


Analiza i specifikacija problema Razvoj algoritma: dijagrama toka, pseudokod Kodiranje programa Pisanje i unoenje programskih instrukcija u raunalo Testiranje programa i otklanjanje pogreaka Implementacija programa i obuka korisnika Odravanje i nadogradnja programa, izrada dokumentacije

Algoritamske strukture s primjerima


Linijska struktura Razgranata struktura Ciklika struktura

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

Vodi kroz Python


Ulazno-izlazne instrukcije Instrukcije odluke Programske petlje Funkcije Datoteke Postupci s pogrekama u programu (bug, debug, debugger)

Pristup p g p programiranju j
Monolitno programiranje Strukturirano programiranje Objektno orijentirano programiranje

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

Zato Python
a ne neki drugi programski jezik? Postoje brojni programski jezici kojima moete rijeiti dani problem. S Svaki od njih ima svoje prednosti i nedostatke. Sposobnost loginog razmiljanja i strunost programera je vanija od odabira programskog jezika Stoga, izbor programskog jezika je - nebitan

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

Cilj ovog kolegija je prvenstveno razviti programersku logiku, odnosno natjerati studente da zadane probleme promatraju kao skup manjih problema Veina ljudi misli da je programerska logika znaajno drugaija od logike koju ljudi p j j j svakodnevno u razliitim g j j primjenjuju aspektima svog ivota
Na primjer, roditelj ui dijete pravilima igre:
1. 2. 3. 4. 5. 6. 7. 7 Postavi plou za igru i neka svi postave svoje figurice na polje Start. Prvi igra baca kocku i pomie svoju figuricu onoliko polja koliko mu pie na kocki. Igra moe kupiti bilo koji objekt na koji doe, osim ako taj objekt ve neko posjeduje, te ako ima dovoljno novca. Ako igra doe na tui objekt, mora p g j , platiti najam. j Svaki put kada igra uspjeno zavri krug, dobiva 200 kuna. Igrai ispadaju iz igre kada ostanu bez novca. Igra koji t I k ji ostane posljednji j pobjednik. lj d ji je bj d ik
dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split 10

Ono to pisanje raunalnog programa ini teim je injenica da raunala ne razumiju ovjekov jezik. Umjesto prirodnog jezika, morate nauiti kako opisati logiku koja se trai da bi se ostvario dani zadatak uporabom programskog jezika.

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

11

Kao to ima mnogo razliitih jezika kojima govore ljudi, tako ima i mnogo programskih jezika. Svi raunalni programi, bez obzira u kojem su programskom jeziku napisani, imaju odreene slinosti:
Svi se sastoje od instrukcija Obino svi zahtijevaju odreene ulazne podatke, obrauju te podatke i daju izlazne podatke

Ulazni podaci mogu biti sadrani u samom programu ili ih korisnik d j k i ik zadaje, mogu se iit ti iz datoteka pohranjenih u iitati i d t t k h j ih raunalu

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

12

Wallace Wang: Beginning Programming For Dummies , 3rd Edition


If youre interested in learning to program, you may wonder, Why not jump right in and start learning C++ or Java? ( (Then again, if y want to learn how to swim, why not jump g , you , y j p right into the ocean and start swimming with the sharks?) C++ ili Java zahtijevaju poznavanje kompliciranih pojmova kao to su pointeri objektno orijentirano alokacija memorije pointeri, objektno-orijentirano, memorije, itd.

Programski jezik koji e se raditi u okviru ovog kolegija je Python zbog sljedeih razloga:
besplatan l lagan omoguava strukturirano programiranje

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

13

1989. Nizozemac Guido van Rossum Ime po grupi Monty Python (popularna po TV emisiji Monty Pythons Flying Circus)

Python je potpuno besplatan (http://www.python.org/download/) Python ima vrlo jednostavnu sintaksu Python omoguuje brzo pripremanje i ispitivanje programa Koristi se i za profesionalne svrhe
Google Raunalne igre (Battlefield 2 Star Trek Bridge Commander ) 2, Yahoo Maps Industrial Light & Magic YouTube
dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split 14

Literatura:
Budin, L., Broanac, P., Markui, Z., Peri, S. (2012) Rjeavanje problema programiranjem u Pythonu Element Pythonu, Element, Zagreb, ISBN: 978-953-197-395-3

Griffiths D Barry P (2009) Head First Griffiths, D., Barry, P. Programming: A Learner's Guide to Programming Using the Python Language, ISBN: 978-0596802370 ISBN 978 0596802370

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

15

Okruenje
Integrirano razvojno okruenje (eng. Integrated Development Environment IDE)
skupina programskih pomagala za pisanje i ispitivanje programa u bilo kojem programskom jeziku

razvojno okruenje za Python IDLE (Integrated DeveLopment Environment) - prezime komiara iz grupe Monthy Python Eric Idle

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

16

kada se pokrene IDLE, pojavit e se, prozor koji ini interaktivno suelje s Pythonom - Python Shell

Opis verzije Pythona koji se koristi Utipkavanjem rijei "copyright, "credits" or "license() copyright credits license() dobivaju dodatne informacije o Pythonu

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

17

Python Shell omoguuje interaktivni rad


Na poetku novog reda pojavljuju tri strelice >>> Odzivni znak (eng. prompt ) - poruka kojom se od korisnika trai neka akcija ili odgovor Korisnik odgovara utipkavanjem nekog niza znakova koji treba biti zakljuen tipkom Enter Python obavlja akciju i u novom redu ispie odzivni znak
Zbog lakeg prepoznavanja, Python pie svoj ispis plavom bojom

Kopiranje cijelog retka


kliknite na kraj retka koji elite kopirati Pritisnite Enter

Treba naglasiti da Python razlikuje je li upotrijebljeno veliko ili malo slovo (eng. case sensitive osjetljiv na veliinu slova)
dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split 18

Varijable
Svi raunalni programi na neki nain obrauju podatke. Podaci se sakupljaju, pohranjuju, obrauju i mijenjaju tijekom izvoenja programa. Pojedinani podatak nazivat emo vrijednou (eng. value) S Svaka vrijednost je odreenog tipa
Jednostavni tipovi podataka
tip d tk koji ti podatka k ji moe poprimiti d ij vrijednosti, i ti i iti dvije ij d ti istina (True ili 1) ili la (False ili 0) (eng. Boolean or logical data type) STRING "hello niz znakova (slova, brojeva i simbola) omeenih s navodnicima INTEGER 5 32,768 do 32,767 LONG 92883 2,147,483,648 do 2,147,483,647 SINGLE 39 2932 39.2932 1.401298E-45 1 401298E 45 do 3 4028235E+E38 3.4028235E+E38 DOUBLE 983288.18 5.010-324 pa do 1.710308 FLOAT DOUBLE s pominom tokom (eng. floating point number) BOOL

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

19

Svi podaci koje program koristi moraju biti pohranjeni u memoriji. Problem pamenja vrijednosti rijeen je uvoenjem varijabli. Varijable su imena koja e biti pridruena pojedinim vrijednostima. Memorijska lokacija u kojoj je pohranjen podatak je jedinstveno odreena svojom adresom. Da biste mogli koristiti pohranjene podatke, morate znati adresu memorijske lokacije na kojoj su pohranjeni. Da bi se olakao pristup podacima, koriste se varijable koje slue kao spona izmeu programa i memorijskih lokacija s p p g j j podacima, jer se varijabla pridruuje adresi memorijske lokacije.

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

20

Vrijednost varijable je podatak koji se uva u raunalnoj memoriji (RAM). Lokacija varijable u RAM-u se zove adresa. d

Varijabli X je dodijeljena slobodna adresa l b d d 1000000, a tu se nalazi 0

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

21

Postavljamo vrijednost varijable X na 15:

Varijabli X je dodijeljena vrijednost 15 j

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

22

Moete koristiti vie varijabli u programu:

Memorijske adrese varijabli ne moraju biti ba ove

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

23

Nain smjetanja podataka u memoriji

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

24

Svaka varijabla ima ime, tip i vrijednost Kada se nova vrijednost zapisuje u varijablu, ona zamijenjuje (brie) prethodnu vrijednost itanje varijabli iz memorije ih ne mijenja Varijabli se pristupa zvanjem njena imena

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

25

Vano je znati da se prema razliitim tipovima podataka treba razliito odnositi.


Na primjer, razliiti tipovi brojeva zahtijevaju razliitu koliinu memorije za pohranu.

Takoer, nekim s tipovima podataka moemo raditi ono to s nekim drugima ne moemo. g
Na primjer, brojeve moemo zbrajati, oduzimati, mnoiti i dijeliti, dok stringove ne moemo. S druge strane stringo e moemo ulanavati. dr ge strane, stringove lana ati

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

26

Imenovanje varijabli
Imena varijabli mogu imati kombinaciju slova i brojeva. Imena varijabli ne mogu sadravati razmake Ime varijable mora zapoeti sa slovom Sljedea lista predstavlja nazive valjanih varijabli:
Y num VALUE xYz abc123

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

27

Programski jezik sadri kljune rijei rezervirana imena


kljune rijei ne mogu biti imena varijabli
int float bool str False class fi nally is return None continue for lambda try True def from nonlocal while and d l global not with d del l b l t ith as elif if or yield assert else import pass break except in raise

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

28

Neispravna imena varijabli:


x.1, Y(2), kamata_u_$ u imenu upotrebljavaju ostali znakovi 1_x, 3_kat, 0_vrijednost prvi znak u imenu znamenka del, or, is kljune rijei

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

29

Kako odabrati imena:


Kraa imena su jednostavnija i bre ih zapisujemo, ali nakon nekog vremena teko emo se sjetiti to nam ona predstavljaju. Dulja imena zahtijevaju vie tipkanja, ali e nas i nakon dueg vremena podsjeati to nam ona predstavljaju. Preporuljivo je izabirati imena koja e nam olakati uporabu programa i kroz neko dulje vrijeme vrijeme.

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

30

Inicijalizacija varijabli
Brojane varijable se inicijaliziraju na vrijednost 0 String varijable se inicijaliziraju na vrijednost (prazan string)

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

31

Konstante
Konstanta je varijabla kojoj se vrijednost ne mijenja tijekom izvoenja programa.
Na primjer, matematika konstanta pi=3.14

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

32

Izrazi
Izraz je neto to se izraunava i ima vrijednost Sastoji se od vrijednosti, varijabli i/ili operatora Moe biti aritmetiki (vrijednost je brojani tip podataka) ili logiki (vrijednost je logiki tip podataka) Na primjer:
1 + 1 100 - 47 3 * 34 80 / 4 (100 * 3) + 56 (daje (d j 2) (daje 53) (daje 102) (daje 20) (daje 356)

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

33

aritmetiki izrazi se sastoje od operanada i operatora koji odreuju operaciju koju s tim vrijednostima operanada treba t b provesti, k k bi se d bil neka nova vrijednost ti kako dobila k ij d t aritmetiki operatori se koriste u aritmetikim (i logikim) izrazima:
Operator Primjer Znaenje Zbroji A i B Odbij B od A d Pomnoi A i B Podijeli A sa B Potenciraj A sa B

+ * / ^

A+B AB A*B A/B A^B

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

34

Relacijski operatori se koriste u logikim izrazima:


Operator = < > <= >= <> Primjer A=B A<B A>B A <= B A >= B A <> B Znaenje A jednako B A je manje od B j j d A je vee od B A je manje ili jednako B A je vee ili jednako B A je razliito od B

Logiki operatori: NOT AND OR NOT, AND,


Moete imati vie od jednog izraza koritenjem OR operatora ili AND operatora.
dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split 35

Primjeri logikih izraza:


Neka su zadane vrijednosti x = 3; y = 4 Vrijede sljedee tvrdnje:
x-4 < y Tvrdnja je tona tj. istinita (eng. True) x ! = y-1 Tvrdnja je netona tj neistinita (eng False) tj. (eng. "Domagoj"<"Dominik Tvrdnja je tona (leksikografski uredaj)

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

36

Pridruivanje vrijednosti
varijabla = izraz

Znak = nazivamo znakom pridruivanja


ne smije se poistovjetiti sa znakom jednakosti u matematici gdje on oznaava da je ono to stoji lijevo od znaka j j j j jednakosti j jednako onome desno od znaka jednakosti. jednakost x = x + 1 u matematici nema nikakvog smisla dok je p g programskim j jezicima p p potpuno smislena konstrukcija j

Pridruivanje se obavlja tako da se najprije izrauna vrijednost izraza s d i desne strane znaka pridruivanja i nakon t t k id i j k toga se t ta vrijednost pridrui varijabli koja se nalazi s lijeve strane znaka pridruivanja.

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

37

Kada varijabli pridruimo vrijednost izraunatog izraza ona e postati istog tipa kao i desna strana izraza.

Tijekom uporabe varijabla moe sadravati vrijednosti razliitih tipova dakle ona moe mijenjati svoj tip dakle,

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

38

Nakon to naredbu utipkamo u interaktivnom suelju i nakon toga pritisnemo tipku Enter, Python nee vratiti nikakvu vrijednost ve e i i ti odzivni znak j j t b ik k ij d t ispisati d i i k jer je trebao pridruiti vrijednost varijabli, a ne ispisati njenu vrijednost
>>> x = 10 >>>

Ako elimo ispisati vrijednost varijable x, tada treba utipkati x i Python e ju ispisati
>>> x = 10 >>> x 10 >>>

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

39

Primjer: kako se i kada mijenjaju sadraji na koje pokazuju varijable

>>> >>> >>> 20 >>> >>> 20

baza = 10 dvostruko = 2 * baza dvostruko baza = 100 dvostruko

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

40

Viestruko pridruivanje
varijabla_1, varijabla_2, ... = izraz_1, izraz_2, ...

S desne strane znaka pridruivanja mora se nalaziti onoliko izraza odvojenih zarezima koliko je s lijeve strane imena varijabli

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

41

Zamjena vrijednosti varijabli


Pretpostavimo da imamo 2 akvarija.
U prvom akvariju (nazovimo ga A) nalaze se ribice roda skalari, dok se u drugom akvariju (B) nalaze pirane. Mi elimo skalare premjestiti u akvarij B dok pirane elimo premjestiti u akvarij A. Ukoliko prvo stavimo pirane u akvarij A pirane e pojesti skalare. Ukoliko prvo skalare stavimo u akvarij B ponovo e pirane pojesti skalare.
>>> >>> >>> >>> a b a b = = = = skalari pirane b a

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

42

Rjeenje je uvoenje treeg akvarija (nazovimo ga C)


1. 2. 2 3. premjestimo skalare u akvarij C premjestimo pirane u akvarij A j ti i k ij premjestimo skalare u akvarij B

>>> >>> >>> >>> >>>

a b c a b

= = = = =

skalari pirane a b c

>>> x = 100 >>> y = 10 >>>

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

43

>>> >>> >>> >>>

x = 1 y = 2 z = 3 x, y, z = z, x, y , , ,

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

44

Jednostavni tipovi podataka u Pythonu


Osnovni tipovi podataka u Pythonu su:
int (cijeli broj) float (broj s pominom tokom) bool (logiki ili Booleov tip) str (znakovni niz string) t niz,

Postoji jedna posebna vrijednost koja se zove None i oznaava nita

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

45

Cijeli brojevi
Broj znamenaka cijelog broja u Pythonu nije ogranien cijeli broj moe bit proizvoljne veliine cijeli broj u binarnom obliku
i ispred bi d binarnog prikaza napie 0b ik i

cijeli broj u heksadekadskom obliku


ispred binarnog prikaza napie 0x

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

46

Realni brojevi
Prilikom utipkavanja racionalnog broja mora se upotrijebiti decimalna toka
po toj toki Python prepoznaje da se radi o tipu float

B j i s pominom t k Brojevi i tokom dvostruke preciznosti: d t k i ti


mogu poprimiti vrijednosti o granicama od 5.010-324 pa do 1.710308

Broj koji bio imao eksponent vei od +308 je za Python beskonano veliki broj i Python ga zapisuje kao inf (od eng. infinite beskonano)

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

47

Logiki ili Booleov tip


Tip bool ima dvije vrijednosti True i False.
Vrijednosti logikog tipa mogu se zapisati i kao brojevi 1 i 0 Python e svaki broj razliit od 0 smatrati da je True, dok se samo broj 0 smatra False true i True nije jednako case sensitive

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

48

Stringovi
Stringovi se mogu ograditi ili jednostrukim ili dvostrukim navodnicima (dvostruki navodnik se ne smije pisati kao dva uzastopno napisana jednostruka navodnika)
preporuljivo je upotrebljavati jednostruke navodnike, osim ako se unutar teksta koristi jednostruki navodni znak, upotrebljava se dvostruki navodnik d ik

Pri pisanju programa mogu se upotrebljavati nai dijakritiki znakovi


"0123456789" "Ovojestring" "abc123" "1 + 1 = 2" "!@#$%^&*()"
dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split 49

U Pythonu ne postoji tip znak char


Znak je naprosto vrijednost tipa str duljine jedan

Posebni znaci za oblikovanje teksta

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

50

Aritmetiki izrazi u Pythonu


operandi mogu biti cijeli brojevi (tip int) i brojevi s pominim tokom (tip float) operatori:

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

51

Operator dijeljenja / djeluje tako da uvijek daje rezultat float pri cjelobrojnom dijeljenju trai se koliko puta se djelitelj moe oduzeti od djeljenika s tim da ostatak bude pozitivan ili jednak nuli
Npr., rezultat cjelobrojnog dijeljenje broja 13 s brojem 4 daje p , j j g j j j j j j rezultat 3 i ostatak 1

operator cjelobrojnog dijeljenja // ipak e dati rezultat tipa float ako je i samo jedan od operatora tipa float

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

52

>>> 17 // 3 5 >>> 17 % 3 2 >>> 18 // 3 6 >>> 18 % 3 0 >>> 19 // 3 6

>>> 19 % 3 1 >>> 20 // 3 6 >>> 20 % 3 2 >>> 21 // 3 7 >>> 21 % 3 0

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

53

sve zagrade u sloenim izrazima su okrugle potrebno je paziti da broj otvorenih i zatvorenih zagrada bude jednak red prvenstva aritmetikih operatora je:
1. 2. 2 3. 4. ** potenciranje - negacija * /, //, % mnoenje, dijeljenje, ostatak +, - zbrajanje, oduzimanje j j j

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

54

>>> 3 + 12 / 3 * (60 - 20) 163.0 >>> 3 + 12 / 3 * 60 - 20 223.0 >>> 3 + 12 / (3 * 60) - 20 -16.933333333333334 >>> 3 + 12 // 3 * 60 - 20 223 >>> 2 + 12 //(3 * 60) - 20 -18

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

55

Python u svom interaktivnom nainu rada uvijek pamti zadnju izraunatu vrijednost.
ta se vrijednost moe iskoristiti u koristiti u sljedeem koraku izraunavanja tako da se napie znak _ (podvlaka, eng. underscore) ) >>> 3 3 >>> _ + 4 7

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

56

Naredba PRINT
PRINT naredba kae da se ispie neto na ekranu

print (512)

Snimite program Pritisnite F5 da pokrenete program

Program se izvrava u drugom prozoru tzv. ljusci (eng. shell)

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

57

Naredba print() stringove ispisuje bez rubnih navodnika

print (Pozdrav svima)

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

58

Varijable i izrazi
Ako pridijelite izraz varijabli, izraz se izrauna i vrijednost varijable postaje izraunata vrijednost.
x = 500 + (10 * 7) print (x)

570

Takoer se varijable mogu koristiti kao izrazi.


br,vr br vr = 50 2 50,2 udaljenost = br * vr print (udaljenost)

100

Isto tako se mogu kombinirati varijable s brojevima u izrazima. X = 100 700


Y = X * 7 print (Y)

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

59

PRINT ispisuje izraunatu vrijednost izraza.


print (512 + 478) 990

Ako zatvorite izraz s navodnicima, onda on postaje string i nee , p j g se izraunati. Na primjer:
print ("512 + 478) 512 + 478

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

60

Varijable i stringovi
String varijabla X = "Pozdrav svima" print (X) Pozdrav svima

String se moe dodati na kraj postojee string varijable. Pozdravsvima X = "Pozdrav" X = X + "svima" print (X) Moete takoer dodavati string varijable jedna drugoj. a,b,c =S1,S2,S3" d = a + b + c print (d) Str1Str2Str3

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

61

print print (4) print (7) print (sunce) sunce%=10 print (sunce%) sunce%=49 print (sunce%) print (123+456) print (123+456) ( 123+456 ) print (Rezultat od 5*5-10 =, 5*5-10)

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

62

Naredba INPUT
INPUT naredba dozvoljava korisniku unos stringa ili broja, koji se zatim sprema u varijablu
Uneseni podatak se tretira kao string

x=input()

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

63

print ("Unesi neki tekst:) tekst=input() print ("Sada unesi broj:) broj=int(input()) print (tekst) print (broj)

Uneseni podatak se tretira kao broj

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

64

rijec=input(Upiite rije:) print (Upisana rije je , rijec) print (Upiite dva broja) print (a+b,a+b) ( a+b a+b)

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

65

Python umee razmak izmeu sadraja koje ispisuje Treba odrediti razdjelnik (separator izmeu ispisa)
Znak kojim treba odvajati sadraje prilikom ispisa sep = odreuje da izmeu ispisanih sadraja nee biti razmaka (izmeu dva znaka navodnika nema razmaka separator je prazan string)

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

66

Formatirani ispis
print('st_1{br_1}st_2{br_2}... st_n{br_n}'.format(v_1, v_2,..., v_n))

st_1, st_2,... st_n proizvoljan tekst v_1, v_2,... v_n popis varijabli koje elimo ispisati br_1, br_2,... br_n predstavljaju redne brojeve

varijabli unutar popisa

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

67

oznaavanje tipa podataka ispisujemo


unutar vitiastih zagrada iza rednog broja varijable napisati dvotoku i nakon toga oznaku tipa
d ukoliko ispisujemo cijeli broj f ukoliko ispisujemo realni broj s ukoliko ispisujemo string
>>> print('{2:s} brojeva {0:d} i {1:d} je {3:f}'.format(3, 4, 'Kolinik', 3 / 4)) Kolinik brojeva 3 i 4 je 0.750000

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

68

Ispis cijelih brojeva mogue je formatirati naredbom {nd}


n prirodan broj ili 0 oznaava broj mjesta na koliko e se ispisati odreeni prirodan broj n

Ispis realnih brojeva ima formatiranje s dva parametra te sljedei oblik {n.mf} j { }
n je ukupni broj mjesta na koji e se realni broj ispisati (ukljuujui i decimalnu toku) m j b j znamenaka i d i l t k k j biti je broj k iza decimalne toke koje e ispisane

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

69

Zadaci
Obavezno proitati do sljedeih vjebi i predavanja:
Rjeavanje problema programiranjem u Pythonu
stranice: 15 55, 167-169

Rijeiti test T tT TestTeorija1 u sustavu Moodle ij 1


aktivan od 15.10.2012. u 12:00 sati do 16.10.2012. u 12:00 sati

dr.sc. Ani Grubii Prirodoslovno-matematiki fakultet, Split

70

You might also like