25
OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 2 - OBJEKTI, TIPOVI I OPERACIJE Miloš Kovačević Đorđe Nedeljković Marija Petronijević Dušan Isailović

OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 2-OBJEKTI, TIPOVI I OPERACIJE Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović

  • Upload
    others

  • View
    27

  • Download
    0

Embed Size (px)

Citation preview

OSNOVE PROGRAMIRANJA U PAJTONU

PREDAVANJE 2 - OBJEKTI, TIPOVI I OPERACIJE

Miloš Kovačević

Đorđe Nedeljković

Marija Petronijević

Dušan Isailović

SADRŽAJ PREDAVANJA

Interaktivni rad u razvojnom okruženju IDLE

Prvi program u Pajtonu

Predstavljanje podataka i osnovne operacije

- Objekti

- Izrazi i promenljive, dodela vrednosti

- Aritmetičko-logičke operacije i poređenja

- Konstruktori osnovnih tipova

INSTALACIJA PAJTONA

Sva potrebna uputstva za instalaciju na http://python.org

Instalacija obuhvata sve potrebne komponente za rad u jeziku Pajton (na ovom kursu).

U okviru instalacije - razvojno okruženje IDLE(u kome ćemo pisati programe na ovom kursu).

RAZVOJNO OKRUŽENJE IDLE

Razvojno okruženje: skup programa za kreiranje i održavanja softvera

editor: za pisanje programa

grafički editor: za kreiranje grafičkog korisničkog interfejsa

sistem za pomoć: interaktivna dokumentacija

debager: za pronalaženje grešaka u radu

Okruženja za Pajton: IDLE, PyCharm, PyDev + Eclipse, …

IDLE: INTERAKTIVNI RAD

Označava tekuću liniju za unos

<Enter> aktivira izvršavanje komande od strane interpretera

PRVI PROGRAM – TEŽINA TELA

Domen problema (Fizika)poznavanje domena

F = m[kg] * 9.81[m/s2]

Algoritam u pseudokodu

F = m[kg] * 9.81[m/s2] najteži deo

kodiranje - lako

PRVI PROGRAM – TEŽINA TELA

Editor – elementi jezika obojeni različitim bojama

PRVI PROGRAM – TEŽINA TELA

Posle # - jednoredni komentar (ne interpretira se)

pojašnjava ono što nije očigledno iz koda

Promenljiva

Funkcija

Tekstualni podatak

Brojni podatak

FUNKCIJE INPUT, PRINT I FLOAT

Funkcija – imenovani niz komandi, obično transformiše ulazne podatke

input() – unos podataka sa tastature, argument se ispisuje na ekranu

print() – ispisuje argumente na ekran

float() – konvertuje argument u realan broj

Aritmetički izraz (izračunava se na broj)

TEŽINA TELA – TESTIRANJE PROGRAMA

Program se u okruženju pokreće sa <F5>

Semantička: prekida rad programa ili program ne radi ono za šta je namenjen

Greške u programu

semantičkesintaksne

Sintaksna: nepravilno korišćenje elemenata jezika,

program ne može da se interpretira – lako se otkriva!

Vaša rešenja ispitnih zadataka

PREDSTAVLJANJE PODATAKA– OBJEKTIObjekat – apstrakcija podatka u (Pajton) programu

3 pojednostavljena predstava o nečemu

Objekat ima identitet, tip i vrednost.

Identitet: memorijska adresa objekta, ne može se promeniti

Tip (klasa) se odnosi na skup vrednosti i skup operacija

OSNOVNI PREDEFINISANI TIPOVI (KLASE)

OSNOVNI PREDEFINISANI TIPOVI

Opseg celih brojeva u Pajtonu je ograničen samo raspoloživom memorijom

Skup realnih brojeva u računaru se može prikazati samo približno!

U memoriji od n bita može se reprezentovati najviše 2n različitih podataka

Svi brojevi oblika različitog od ±∑ 2�� prikazuju se približno

Logički podaci interno su reprezentovani kao 0 (False) i 1 (True)

Tekstualni podaci sadrže 0 ili više simbola iz proizvoljnog jezika (Unicode standard)

None predstavlja specijalni objekat kojim se predstavlja “ništa”

Torke, liste, skupovi i rečnici predstavljaju složene objekte;to su objekti koji sadrže druge objekte

TEKSTUALNI PODACI

Funkcija len() vraća dužinu tekstualnog argumenta

Tekstualni podaci stavljaju se između apostrofa ili navodnika

IZRAZIIzraz: kombinovanje objekata upotrebom različitih operacija

Po izračunavanju, vrednost predstavljena kao objekat

Najčešće se koriste aritmetički i logički izrazi

Izrazi sa različitim tipovima: interpreter vrši implicitnu konverziju u stariji tip

int → float → complex

Prioriteti operacija kao u matematici, mogu se promeniti upotrebom zagrada

PROMENLJIVE, DODELA VREDNOSTI

Promenljiva omogućava pamćenje međurezultata u nizu izračunavanja

Promenljiva se vezuje za objekat naredbom dodele vrednosti ( = )

Promenljiva u Pajtonu je objektna referenca(ne sadrži objekat, već njegovu adresu u memoriji)

Ime promenljive može da sadrži slova, cifre i simbol _ , a ne sme početi cifrom

Ime razlikuje velika od malih slova (Obim ≠ obim)

Ime promenljive može se posmatrati kao ime objekta

X = 10 10X

memorija

adresa za 10

PROMENLJIVE, DODELA VREDNOSTI

Tokom postojanja, promenljiva može pokazivati na objekte različitih tipova (O)

Na jedan objekat može ukazivati više promenljivih istovremeno (broj 25.12)

Objekat može imati više imena – promenljivih koje na njega ukazuju

PROMENLJIVE, DODELA VREDNOSTI

RAZMENA VREDNOSTI

VIŠESTRUKA DODELA VREDNOSTI

Opšti oblik višestruke dodele:

a1, a2, …, an = izraz_1, izraz_2, …, izraz_n

obim, površina = 2 * r * 3.14, r * r * 3.14

Promenljivim treba davati smislena imena (kao obim i površina)

ARITMETIČKO-LOGIČKE OPERACIJE

POREĐENJA

Umesto id(x) == id(y) koristi se x is y

KREIRANJE OBJEKATA

U programu se objekti kreiraju implicitno ili eksplicitno

Implicitno kreiranje obavlja se prilikom izračunavanja izraza (1) ili prilikom korisničkog unosa (2)

y = 2 * x

10X

20Y

novokreiraniobjekat

(1)

ime = input('ime?')

'Aca'ime

novokreiraniobjekat

(2)

EKSPLICITNO KREIRANJE - KONSTRUKTORI

Konstruktor: funkcija koja vraća objekat iz navedenog tipa sa vrednošću koja odgovara argumentu

PROMENLJIVOST OBJEKATA

U zavisnosti od toga da li im se može menjati vrednost, objekti se dele na promenljive i nepromenljive

Tekstualni i objekti svih brojnih tipova su nepromenljivi!

vrednost nije promenjena, kreiran je novi objekat