PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI...
Transcript of PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI...
![Page 1: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/1.jpg)
OSNOVE PROGRAMIRANJA U PAJTONU
PREDAVANJE 7 – KOLEKCIJE: TEKST I LISTA
Miloš Kovačević
Đorđe Nedeljković
Marija Petronijević
Dušan Isailović
![Page 2: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/2.jpg)
SADRŽAJ PREDAVANJA
- Kolekcije objekata
- Sekvence
- Tekst
- Lista
![Page 3: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/3.jpg)
KOLEKCIJA OBJEKATA
Objekti osnovnih brojnih tipova imaju nedeljivu prirodu.
(ne mogu se podeliti na delove koji sami po sebi imaju smisla)
Često treba sačuvati informacije koje se odnose na istu osobinu različitih entiteta.
ocene iz matematike za sve studente
... ili informacije koje se odnose na pojavu koja se posmatra u vremenu.
prosečna ocena studenta, posle svake godine studiranja
Kolekcija objekata - grupiše srodne podatke unutar jedinstvene celine.
Ona mogućava njihovu obradu na pojedinačnom i zbirnom nivou.
Kolekcija objekata realizovana je kao objekat (odgovarajućeg tipa)
![Page 4: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/4.jpg)
KOLEKCIJA OBJEKATA
Kolekcija zapravo ne sadrži objekte, već objektne reference!
objektna referenca (adresa objekta u memoriji)
Imaćemo u vidu objektne reference, ali ćemo govoriti da su „objekti u kolekciji“.
Objekti u kolekciji nazivaju se elementi kolekcije.
![Page 5: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/5.jpg)
SEKVENCE
Sekvenca je uređena kolekcija – podrazumeva postojanje redosleda objekata.
Sekvencama se pristupa preko indeksa pozicije.
Broj elemenata ili dužina sekvence određuje se preko funkcije len().
![Page 6: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/6.jpg)
TEKSTUALNE SEKVENCE – TIP str
Konstruktor klase String (funkcija koja pravi objekte iz klase)
![Page 7: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/7.jpg)
TEKST – PRISTUPANJE KARAKTERIMA
Indeks van opsega – greška (izostavljeno)
Jednoelementni tekst – karakter memorisan prema Unicode standardu.Svakom karakteru, po Unicode-u, odgovara jednistveni broj (UCP):
![Page 8: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/8.jpg)
PRISTUPANJE KARAKTERIMA
foreach petlja(za svaki element u sekvenci, radi …)
Očigledno, range je sekvenca!
![Page 9: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/9.jpg)
POREĐENJE TEKSTA. LEKSIKOGRAFSKI POREDAK
poređenje se vrši karakter po karakter( porede se ord(x) i ord(y) )
poređenje po leksikografskom poretku(kao u rečniku)
![Page 10: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/10.jpg)
PODTEKST, SPAJANJE, MULTIPLIKACIJA
Operator in proverava pripadnost elementa (tekstualnoj) sekvenci.
Operatori + (spajanje) i * (multiplikacija) ponašaju se drugačije nego sa brojevima.(preopterećenje operatora)
![Page 11: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/11.jpg)
NEPROMENLJIVOST TEKSTA
Slično brojnim tipovima i tekstualni objekti su nepromenljivi!
![Page 12: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/12.jpg)
IZDVAJANJE PODTEKSTA
![Page 13: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/13.jpg)
Ideja za iterativni postupak:
![Page 14: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/14.jpg)
PALINDROM – REKURZIVNO REŠENJE
Tekst t je palindrom ako važi:
t[0] == t[-1] i t[1: -1] je palindrom (rekurzija)
Šta fali da bi rekurzija mogla da se primeni?
Bazni slučaj: prazan tekst je palindrom!
![Page 15: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/15.jpg)
PALINDROM
![Page 16: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/16.jpg)
PALINDROM – TEST PROGRAM
Kako se generišu svi podtekstovi nekog teksta?
Prvo se izabere dužina podteksta, a se onda generišu svi podtekstovi date dužine.
![Page 17: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/17.jpg)
OBJEKTI I METODE
Funkcija – imenovani niz naredbi za obavljanje odgovarajuće funkcionalnosti.
nije vezana ni za jedan konkretni objekat.
Ulazni parametri utiču na rezultat rada, ali funkcija postoji nezavisno od njih!
U objektno orijentisanim jezicima, tip (klasa) objekta određuješta se sve može raditi nad objektom – klasa definiše ponašanje.
Metode – funkcije definisane unutar klase i koje se vezuju za konkretan objekat.
Pozivaju se nad objektom u notaciji sa tačkom: ime_objekta.ime_metode(...)
Posmatra se klasa Auto – definiše automobile kao objekte. Šta je prirodnije:
start(perin_golf), start(tatin_krš)
ili
perin_golf.start(), tatin_krš.start()
![Page 18: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/18.jpg)
TEKSTMETODE
![Page 19: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/19.jpg)
LISTE – TIP list
Lista – sekvenca objekata proizvoljnih tipova.
Promenljiv objektni tip: mogu se brisati stari, ili dodavati novi elementi.
Prave se uz pomoć uglastih zagrada – [ ], ili uz pomoć list() konstruktora:
može u više redova!
![Page 20: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/20.jpg)
UNUTRAŠNJE LISTE. INDEKSIRANJE.
Liste sadrže reference na objekte!
unutrašnjalista
Pristup preko indeksa. Prvi element ima indeks 0 (kao i kod teksta)!
![Page 21: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/21.jpg)
IZDVAJANJE
PODLISTI
Prilikom izdvajanja (kopiranja)
kreira se nova lista!
Prilikom (izdvajanja) kopiranja, kopiraju se objektne reference, a ne objekti!
![Page 22: PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTAOSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 7–KOLEKCIJE:TEKSTI LISTA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović](https://reader035.fdocuments.net/reader035/viewer/2022062610/6105fe24f4090f11604532c4/html5/thumbnails/22.jpg)
AŽURIRANJE LISTE
Liste su promenljivi objekti
Metod iz klase list
del – ni metod, ni funkcija već operator