Microsoft PowerPoint - 07-DinamickeStrukturePodataka

Величина: px
Почињати приказ од странице:

Download "Microsoft PowerPoint - 07-DinamickeStrukturePodataka"

Транскрипт

1 Динамичке структуре података листа, стек, ред Програмирање 2: глава 6

2 Динамичке структуре података Динамичка алокација и динамичке структуре података Најзначајније динамичке структуре података листе и стабла 2

3 Динамичке / статичке структуре података Карактеристике низа (статичког и динамичког) уношење, брисање, претрага На почетак, крај, средину низа Временска сложеност 3

4 Листе Једноструко повезане листе Кружне листе Двоструко повезане листе Креирање (уношење), обрада, брисање 4

5 Једноструко повезана листа Чворови: вредности произвољних типова и показивачи Први чвор је глава листе и на њега показује показивач glava (то је адреса главе листе) Остатак листе је опет листа тзв. реп листе Листа без чворова је празна листа У последњем чвору листе показивач је NULL. 5

6 Једноструко повезана листа: предности и недостаци Уношење, брисање, претрага На почетак, крај, средину листе Временска сложеност Фрагментација меморије 6

7 Избор Коју структуру података бисте користили ако треба да......често приступате подацима и мењате њихове вредности?... често додајете нове податке на крај?... често додајете нове податке на почетак?... често додајете нове податке на одговарајуће место?... често додајете и бришете податке? Зашто? 7

8 Структура чвора листе typedef struct cvor { <type> podatak; struct cvor *sledeci; Cvor; <type> означава тип податка чвора листе (произвољан, може и структура) Чвор може да садржи и више података: typedef struct cvor { <type1> podatak1;... <typen> podatakn; struct cvor *sledeci; Cvor; 8

9 Креирање листе Приступ преко показивача на почетак / крај листе На почетку је листа празна Нови чвор (елемент) се додаје на почетак, крај или у средину листе Нови елемент се креира пре додавања у листу 9

10 Креирање елемента листе Динамичка алокација Иницијализовање вредности typedef struct cvor { int vrednost; /* podatak koji cvor sadrzi */ struct cvor *sledeci; /* pokazivac na sledeci cvor */ Cvor; Cvor *napravi_cvor(int broj) { Cvor *novi = (Cvor *) malloc(sizeof(cvor)); if(novi == NULL) return NULL; /*alokacija nije uspela*/ novi->vrednost = broj; novi->sledeci = NULL; return novi; 10

11 Додавање елемента на почетак листе Најједноставније Креира се елемент (чвор) са подацима Новокреирани чвор се повезује са почетком листе а показивач glava показује на новокреирани чвор Мења се глава листе тј. вредност показивача glava 11

12 Додавање елемента на почетак листе Функција додавања чвора на почетак листе int dodaj_na_pocetak_liste(cvor **adresa_glave, int broj) { Cvor *novi = napravi_cvor(broj); if(novi == NULL) return 1; /* uvezujemo novi cvor na pocetak */ novi->sledeci = *adresa_glave; /*Postavljamo novu glavu liste*/ *adresa_glave = novi; return 0; 12

13 Додавање елемената на почетак листе - Int main() { Cvor *glava = NULL; int broj; scanf("%d", &broj); while(broj>=0) { пример if(dodaj_na_pocetak_liste(&glava, broj) == 1) { fprintf(stderr, "Greska: Neuspesna alokacija memorije za cvor.\n"); oslobodi_listu(&glava); exit(exit_failure); scanf("%d", &broj); /* obrada liste */ oslobodi_listu(&glava); exit(exit_success); 13

14 Обрада елемената листе Обрада свих елемената листе састоји се у следећем: 1. Постављање показивача tekuci на почетак листе 2. Провера да ли показивач tekuci показује на празну листу и у том случају завршетак обраде 3. Обрада податка у чвору на који показује показивач tekuci 4. Померање показивача tekuci тако да показује на следећи чвор листе и повратак на корак 2 14

15 Обрада свих елемената листе - пример void uvecaj_za_tri(cvor *glava) { Cvor *tekuci; for (tekuci = glava; tekuci!= NULL; tekuci = tekuci->sledeci) tekuci->vrednost += 3; 15

16 Рекурзивни пролазак кроз листу Листа је дефинисана рекурзивно (глава, реп) па је погодно рекурзивно имплементирати алгоритме обраде листе: Ако је листа празна, завршити; Ако листа није празна, обрадити главу листе а затим позвати рекурзивно исту функцију обраде која као аргумент прима реп листе (који је опет листа) 16

17 Рекурзивна обрада листе -пример void uvecaj_za_tri(cvor *glava) { if(glava == NULL) return; glava->vrednost+=3; uvecaj_za_tri(glava->sledeci); 17

18 Пролазак кроз листу проналажење елемента Cvor *pretrazi_listu(cvor *glava, int broj) { Cvor *tekuci; for (tekuci = glava; tekuci!= NULL; tekuci = tekuci->sledeci) if (tekuci->vrednost == broj) return tekuci; return NULL; (Рекрзивна функција?) 18

19 Додавање на крај листе Прво треба одредити крај листе Проласком кроз листу док показивач на следећи елемент не буде NULL Чувањем показивача на крај листе (ако је потребно) 19

20 Проналажење последњег елемента у листи Cvor *pronadji_poslednji(cvor *glava) { if(glava == NULL) return NULL; while (glava->sledeci!= NULL) glava = glava->sledeci; return glava; (рекурзивна функција?) 20

21 Додавање на крај листе Пронашли смо показивач на последњи елемент у листи Ако је листа празна, глава листе постаје новокреирани елемент Ако листа није празна, показивач у последњем чвору мења се тако да показује на новокреирани елемент Може да се промени глава листе тј. вредност показивача који садржи адресу главе листе 21

22 Додавање на крај листе int dodaj_na_kraj_liste(cvor **adresa_glave, int broj) { Cvor *novi = napravi_cvor(broj); if(novi == NULL) return 1; if(*adresa_glave == NULL) { *adresa_glave = novi; else { Cvor *poslednji = pronadji_poslednji(*adresa_glave); poslednji->sledeci = novi; return 0; 22

23 Додавање елемента у средину 23

24 Додавање елемента у сортирану листу Креирати нови чвор Ако је листа празна, нова листа садржи само новокреирани чвор Ако листа није празна, проверити да ли чвор треба да се уметне на почетак листе (функција dodaj_na_pocetak_liste) Ако не умећемо на почетак, пронаћи чвор А иза којег треба да уметнемо новокреирани чвор Прво повезати новокреирани чвор са следбеником од А а затим Повезати чвор А са новокреираним чвором Уметањем у средину (случај уметања на почетак) може да се измени глава листе 24

25 Додавање елемента у сортирану листу int dodaj_sortirano(cvor **adresa_glave, int broj) { if(*adresa_glave == NULL){ Cvor *novi = napravi_cvor(broj); if(novi == NULL) return 1; *adresa_glave = novi; return 0; if((*adresa_glave)->vrednost >= broj) { return dodaj_na_pocetak_liste(adresa_glave, broj); Cvor *pomocni = pronadji_mesto_umetanja(*adresa_glave, broj); return dodaj_iza(pomocni, broj); 25

26 Додавање елемента у сортирану листу Cvor *pronadji_mesto_umetanja(cvor *glava, int broj) { if(glava == NULL) return NULL; while(glava->sledeci!= NULL && glava->sledeci->vrednost < broj) glava = glava->sledeci; return glava; int dodaj_iza(cvor *tekuci, int broj) { Cvor *novi = napravi_cvor(broj); if(novi == NULL) return 1; novi->sledeci = tekuci->sledeci; tekuci->sledeci = novi; return 0; 26

27 Брисање првог елемента листе Ако листа није празна, сачувати показивач на следећи елемент Обрисати чвор - главу листе Сачувани показивач показује на главу листе Брисањем првог елемента листе мења се глава листе тј. вредност показивача на главу листе 27

28 Брисање првог елемента листе void obrisi_prvi(cvor **adresa_glave) { Cvor *pomocni = NULL; if(*adresa_glave == NULL) return; pomocni = (*adresa_glave)->sledeci; free(*adresa_glave); *adresa_glave = pomocni; 28

29 Брисање целе листе Ослобађање меморије коју заузима цела листа састоји се у узастопном брисању првог елемента у листи 29

30 Брисање целе листе void oslobodi_listu(cvor **adresa_glave) { Cvor *pomocni = NULL; while (*adresa_glave!= NULL) { pomocni = (*adresa_glave)->sledeci; free(*adresa_glave); *adresa_glave = pomocni; 30

31 Брисање елемента са задатом вредношћу из листе 31

32 Брисање елемента са задатом вредношћу из листе Брисање елемента са задатом вредношћу из листе састоји се у следећем: Ако је листа празна, завршити Проверити да ли се тражени елемент налази на почетку листе (једном или више пута) Ако је претходни услов тачан, применити брисање елемента са почетка листе Иначе, пронаћи показивач на елемент А у листи који показује на елемент који треба да се обрише Сачувати вредност показивача на елемент који треба да се обрише Повезати елемент А са елементом који следи за елементом који треба да се обрише Ослободити меморију коју заузима елемент који треба да се обрише 32

33 Брисање елемента са задатом вредношћу из листе void obrisi_cvor(cvor **adresa_glave, int broj) { Cvor *tekuci = NULL; Cvor *pomocni = NULL; /* Sa pocetka liste se brisu svi cvorovi koji su jednaki datom broju i azurira se pokazivac na glavu liste */ while (*adresa_glave!= NULL && (*adresa_glave)->vrednost == broj){ pomocni = (*adresa_glave)->sledeci; free(*adresa_glave); *adresa_glave = pomocni; /* Ako je nakon ovog brisanja lista prazna, to je kraj */ if (*adresa_glave == NULL) return; 33

34 Брисање елемента са задатом вредношћу из листе /* Poredi se vrednost sledeceg cvora (ako postoji) sa trazenim brojem. Cvor se brise ako je jednak, a ako je razlicit, prelazi se na sledeci. Ovaj postupak se ponavlja dok se ne dodje do poslednjeg cvora. */ tekuci = *adresa_glave; while (tekuci->sledeci!= NULL) if (tekuci->sledeci->vrednost == broj) { else { return; pomocni = tekuci->sledeci; tekuci->sledeci = pomocni->sledeci; free(pomocni); tekuci = tekuci->sledeci; 34

35 Кружна листа У кружној листи последњи елемент показује на почетак листе Од било ког елемента у листи може да се стигне до сваког другог елемента у листи Избор првог и последњег елемента је релативан Могу да се користе за решавање разних врста проблема 35

36 Кружна листа Пролазак кроз кружну листу: void uvecaj_za_tri(cvor *glava) { Cvor *tekuci = glava; if (tekuci == NULL) return; do { tekuci->vrednost += 3; tekuci = tekuci->sledeci; while(tekuci!= glava); 36

37 Двоструко повезане листе Једноструко повезана листа једноставан обилазак у једном смеру, временски захтеван у супротном Двоструко повезана листа сваки чвор показује и на претходника и на следбеника Омогућује једноставан обилазак у оба смера (унапред и уназад) Додавање и брисање елемената захтева одржавање оба показивача Могу бити и кружне 37

38 Двоструко повезане листе 38

39 Структура чвора двоструко повезане листе typedef struct cvor{ int vrednost; struct cvor *sledeci; struct cvor *prethodni; Cvor; 39

40 Двоструко повезана листа Cvor* napravi_cvor(int broj) { Cvor *novi = (Cvor*)malloc(sizeof(Cvor)); if(novi == NULL) return NULL; /* Inicijalizacija polja strukture */ novi->vrednost = broj; novi->sledeci = NULL; novi->prethodni = NULL; return novi; 40

41 Двоструко повезана листа додавање на почетак int dodaj_na_pocetak_liste(cvor **adresa_glave, Cvor **adresa_kraja, int broj) { Cvor *novi = napravi_cvor(broj); if (novi == NULL) return 1; /* Glava stare liste postaje sledbenik novog cvora*/ novi->sledeci = *adresa_glave; /* Ako stara lista nije bila prazna, onda prethodni cvor glave treba da bude novi cvor. Inace, novi cvor je u isto vreme i pocetni i krajnji. */ if (*adresa_glave!= NULL) (*adresa_glave)->prethodni = novi; else *adresa_kraja = novi; /* Novi cvor je nova glava liste */ *adresa_glave = novi; return 0; 41

42 Двоструко повезана листа додавање на крај int dodaj_na_kraj_liste(cvor **adresa_glave, Cvor **adresa_kraja, int broj) { Cvor *novi = napravi_cvor(broj); if (novi == NULL) return 1; /* U slucaju prazne liste, аzuriraju se vrednosti na koje pokazuju adresa_glave i adresa_kraja. Ako lista nije prazna, azurira se samo pokazivac na kraj liste */ if (*adresa_glave == NULL) { *adresa_glave = novi; *adresa_kraja = novi; else { (*adresa_kraja)->sledeci = novi; novi->prethodni = (*adresa_kraja); *adresa_kraja = novi; return 0; 42

43 Двоструко повезана листа додавање у сортирану листу int dodaj_sortirano(cvor **adresa_glave, Cvor **adresa_kraja, int broj) { if (*adresa_glave == NULL) { Cvor *novi = napravi_cvor(broj); if (novi == NULL) return 1; *adresa_glave = novi; *adresa_kraja = novi; return 0; if ((*adresa_glave)->vrednost >= broj) { return dodaj_na_pocetak_liste(adresa_glave, adresa_kraja, broj); Cvor *pomocni = pronadji_mesto_umetanja(*adresa_glave, broj); if (dodaj_iza(pomocni, broj) == 1) return 1; if(pomocni == *adresa_kraja) return 0; *adresa_kraja = pomocni->sledeci; 43

44 Двоструко повезана листа додавање у сортирану листу Cvor *pronadji_mesto_umetanja(cvor *glava, int broj) { if(glava == NULL) return NULL; while(glava->sledeci!= NULL && glava->sledeci->vrednost < broj) glava = glava->sledeci; return glava; int dodaj_iza(cvor *tekuci, int broj) { Cvor *novi = napravi_cvor(broj); if (novi == NULL) return 1; novi->sledeci = tekuci->sledeci; novi->prethodni = tekuci; if (tekuci->sledeci!= NULL) tekuci->sledeci->prethodni = novi; tekuci->sledeci = novi; return 0; 44

45 Двоструко повезана листа брисање void obrisi_tekuci(cvor **adresa_glave, Cvor **adresa_kraja, Cvor *tekuci) { /* Ako je tekuci NULL pokazivac, nema potrebe za brisanjem */ if(tekuci == NULL) return; if(tekuci->prethodni!= NULL) tekuci->prethodni->sledeci = tekuci->sledeci; if(tekuci->sledeci!= NULL) tekuci->sledeci->prethodni = tekuci->prethodni; if(tekuci == *adresa_glave) *adresa_glave = tekuci->sledeci; /* Ako je cvor koji se brise poslednji u listi, azurira se i pokazivac na kraj liste */ if(tekuci == *adresa_kraja) *adresa_kraja = tekuci->prethodni; free(tekuci); 45

46 Двоструко повезана кружна листа 46

47 Стек Стек (engl. stack) је структура која функционише по принципу LIFO (last in, first out) Основне операције (О(1)) : Додавање елемента на врх стека потискивање (engl. push); Скидање елемента са врха стека (engl. pop) Примери Различите имплементације 47

48 Стек-имплементација коришћењем низова Тренутно последњи елемент у низу се третира као врх стека Додавање на врх стека -> додавање на крај низа Скидање елемента са врха стека -> узимање последњег елемента низа 48

49 Стек-имплементација коришћењем листе Функција potisni_na_stek -> функција dodaj_na_pocetak_liste Функција skini_sa_steka -> модификована функција obrisi_sa_pocetka_liste Функција skini_sa_steka треба да Обрише елемент Врати вредност која се налази у чвору који је у врху листе Врати информацију да ли је скидање са стека успело (нпр. да ли је стек празан) 49

50 Стек-имплементација коришћењем листе int potisni_na_stek(cvor **adresa_vrha, int broj) { Cvor *novi = napravi_cvor(broj); if (novi == NULL) return 1; novi->sledeci = *adresa_vrha; *adresa_vrha = novi; return 0; int skini_sa_steka(cvor **adresa_vrha, int *adresa_broja) { Cvor *pomocni = NULL; if (*adresa_vrha == NULL) return 1; pomocni = *adresa_vrha; if (adresa_broja!= NULL) *adresa_broja = pomocni->vrednost; *adresa_vrha = pomocni->sledeci; free(pomocni); /* Vraca se indikator uspesno izvrsene radnje */ return 0; 50

51 Ред Ред (engl. queue) је структура која функционише на принципу FIFO (first in, first out) Основне операције (О(1)): Додавање елемента на крај реда (engl. add) Скидање елемента са почетка реда (engl. get) Примери Различите имплементације 51

52 Ред имплементација коришћењем низова Додавање на крај реда -> додавање на крај низа Скидање са почетка реда -> узимање са почетка низа Ради ефикасности праве се циклични низови Следећи индекс се рачуна по модулу n (величина резервисане меморије) Наредни елемент (било да се додаје на крај или скида са почетка) рачуна се са i = (i + 1) mod n За индексе почетка p и краја реда k не мора да важи да је p < k Важно је да се води рачуна да крај низа не прегази почетак низа 52

53 Ред имплементација коришћењем листе Ради ефикасности користи се показивач на почетак реда и показивач на крај реда Функције добијају оба показивача, на пример: int dodaj_u_red(cvor **adresa_pocetka, Cvor **adresa_kraja, int broj); int skini_sa_reda(cvor **adresa_pocetka, Cvor **adresa_kraja, int *adresa_broja); 53

54 Ред имплементација коришћењем листе int dodaj_u_red(cvor **adresa_pocetka, Cvor **adresa_kraja, int broj); Додавањем елемента у ред могу да се измене и почетак и крај реда Ако је ред празан, мењају се оба показивача, ако није, мења се само крај Повратна вредност говори да ли је додавање у ред успешно Пролазак кроз ред као и кроз листу 54

55 Ред имплементација коришћењем листе int skini_sa_reda(cvor **adresa_pocetka, Cvor **adresa_kraja, int *adresa_broja); Брисањем елемента из реда могу да се промене и почетак и крај реда Ако ред садржи само један елемент, мењају се оба, ако садржи више елемената, мења се само почетак Функција скидања елемента са реда Брише елемент из реда Враћа вредност која је скинута са реда (као свој аргумент) Враћа информацију о томе да ли је скидање елемента са реда успело (као повратну вредност) нпр. да ли је ред празан 55

56 Ред имплементација коришћењем листе int dodaj_u_red(cvor **adresa_pocetka, Cvor **adresa_kraja, int broj) { Cvor *novi = napravi_cvor(broj); if(novi == NULL) return 1; if(*adresa_kraja!= NULL) { else { return 0; (*adresa_kraja)->sledeci = novi; *adresa_kraja = novi; *adresa_pocetka = novi; *adresa_kraja = novi; 56

57 Ред имплементација коришћењем листе int skini_sa_reda(cvor **adresa_pocetka, Cvor **adresa_kraja, int *adresa_broja) { Cvor *pomocni = NULL; if (*adresa_pocetka == NULL) return 1; if (adresa_broja!= NULL) *adresa_broja = (*adresa_pocetka)->vrednost; pomocni = *adresa_pocetka; *adresa_pocetka = (*adresa_pocetka)->sledeci; free(pomocni); if (*adresa_pocetka == NULL) return 0; *adresa_kraja = NULL; 57

58 Ред имплементација коришћењем кружне листе Ред може да се имплементира коришћењем кружне листе Памти се само показивач на последњи елемент у листи Иза последњег елемента у кружној листи налази се први елемент реда dodaj u red: додавање се врши иза последњег елемента и ажурира се вредност показивача на последњи елемент skini sa reda: врши се узимањем првог елемента иза последњег 58

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode] Организација извршног програма (Марић, Јаничић: Програмирање 1, 9.3.3) Извршавање програма После успешног превођења (претпроцесирања, компилације, повезивања) програм може да се изврши Извршавање се захтева

Више

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Brkić SI 29/15 Zrenjanin 2018. Softversko inženjerstvo

Више

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijski program: Informacioni inženjering Informacioni inženjering 1 Rekurzivne funkcije Binarna stabla Informacioni

Више

Računarski praktikum I - Vježbe 09 - this, static

Računarski praktikum I - Vježbe 09 - this, static Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 09 - this, static v2018/2019. Sastavio: Zvonimir Bujanović Pokazivač this Kako funkcija članica

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Programiranje 2 doc.dr.sc. Goranka Nogo PMF Matematički odsjek, Zagreb Kontakt ured: 228, drugi kat e-mail: nogo@math.hr konzultacije: četvrtak, 12:00-14:00 petak, 11:00-12:00 neki drugi termin, uz prethodni

Више

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić Funkcije predavač: Nadežda Jakšić funkcije delovi programa koji izvršavaju neki zadatak, celinu; dele na ugrađene, korisničke i main funkciju ugrađene funkcije printf,scanf... da bi se one izvršile potrebno

Више

P9.1 Dodela resursa, Bojenje grafa

P9.1 Dodela resursa, Bojenje grafa Фаза доделе ресурса Ова фаза се у литератури назива и фазом доделе регистара, при чему се под регистрима подразумева скуп ресурса истог типа. Додела регистара променљивама из графа сметњи се обавља тзв.

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Niz (array) Nizovi Niz je lista elemenata istog tipa sa zajedničkim imenom. Redosled elemenata u nizovnoj strukturi je bitan. Konkretnom elementu niza pristupa se preko zajedničkog imena niza i konkretne

Више

Microsoft Word - 11 Pokazivaci

Microsoft Word - 11 Pokazivaci Pokazivači U dosadašnjem radu smo imali prilike da koristimo promenljive koje smo deklarisali na početku nekog bloka. Prilikom deklaracije promenljiva dobija jedinstveni naziv i odgovarajući prostor u

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Pokazivači Pointeri Definicija pokazivača Pokazivač na tip je varijabla koja sadrži adresu varijable tipa tip. Definicija pokazivača: mem_klasa tip * p_var; Primjer: static int * pi; double *px; char*

Више

Logicko projektovanje racunarskih sistema I

Logicko projektovanje racunarskih sistema I PRIMERI SA PREDAVANJA 17 Beta asembler Zadatak 1. Posmatrajmo sledeću funkciju napisanu u programskom jeziku C, za računanje najvećeg zajedničkog delioca dva pozitivna cela broja: int gcd(int a, int b)

Више

P11.3 Analiza zivotnog veka, Graf smetnji

P11.3 Analiza zivotnog veka, Graf smetnji Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи

Више

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

Računarski praktikum I - Vježbe 03 - Implementacija strukture string Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 03 - Implementacija strukture string v2018/2019. Sastavio: Zvonimir Bujanović Stringovi u C-u String

Више

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 07 - Podstrukture, const, reference v2018/2019. Sastavio: Zvonimir Bujanović Podstrukture Član

Више

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odrediti njene krajeve. b) Odrediti sledeće skupove: -

Више

Programski jezik C

Programski jezik C Pojam funkcije Deklaracija i definicija funcije Poziv funkcije Memorijske klase promjenljivih Primjeri. Za kompajliranje koda koristen DEV-C++ 4.9.9.2 Compiler!!!! Moze is koristiti I bilo koji drugi standardni

Више

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode] Programski jezik C organizacija izvornog programa Prevođenje Pisanje programa izvorni program Prevođenje programa izvršni program Izvršavanje programa rezultat Faze prevođenja Pretprocesiranje Kompilacija

Више

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4 Programiranje 2 0. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/48 Sadržaj predavanja Ponavljanje onog dijela C-a koji

Више

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode] OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 5 OBJEKTI U INTERAKCIJI Miloš Kovačević Đorđe Nedeljković 1 /25 OSNOVNI KONCEPTI - Abstrakcija - Modularizacija - Objektne reference - Klasni dijagram - Objektni

Више

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc Konstrukcija i analiza algoritama 2 (prvi kolokvijum, smer R) 1. a) Konstruisati AVL stablo od brojeva 100, 132, 134, 170, 180, 112, 188, 184, 181, 165 (2 poena) b) Konkatenacija je operacija nad dva skupa

Више

1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p

1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p 1 Rezultati i uvidi u kolokvije: Rezultati u petak 3.5. navečer na webu a uvidi u ponedjeljak 6.5. u 16 sati. Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje te službeni podsjetnik.

Више

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode] Osnove programiranja Funkcije - Metode Prenos parametara Po vrednosti Po referenci Po izlazu Sadržaj Opseg važenja promenljive u drugim strukturama Rekurzije Prenos parametara Metoda može vratiti isključivo

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Ulaz i izlaz podataka Ulaz i izlaz podataka Nakon odslušanog bit ćete u stanju: navesti sintaksu naredbi za unos/ispis znakova znakovnih nizova cijelih brojeva realnih brojeva jednostruke i dvostruke preciznosti

Више

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar 2016 1 Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova strategija rekurzivno razbija problem na 2 ili više potproblema

Више

Рачунарска интелигенција

Рачунарска интелигенција Рачунарска интелигенција Генетско програмирање Александар Картељ kartelj@matf.bg.ac.rs Ови слајдови представљају прилагођење слајдова: A.E. Eiben, J.E. Smith, Introduction to Evolutionary computing: Genetic

Више

Računarski praktikum I - Vježbe 01 - Uvod

Računarski praktikum I - Vježbe 01 - Uvod Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 01 - Uvod v2018/2019. Sastavio: Zvonimir Bujanović Gradivo i način polaganja Gradivo: osnove jezika

Више

Programiranje za UNIX Okruženje unix procesa

Programiranje za UNIX Okruženje unix procesa Programiranje za UNIX Okruženje unix procesa Sadržaj Memorijska slika UNIX procesa Argumenti naredbenog retka i varijable okruženja Životni ciklus procesa Izlazni status procesa 2 Memorijska slika UNIX

Више

Microsoft PowerPoint - C-4-1

Microsoft PowerPoint - C-4-1 Pregled iskaza u C-u Izraz; Iskaz dodele, serijski komponovani iskaz; blok Uslovni iskazi i izrazi; složeno grananje Iterativni iskazi Iskaz dodele Promena vrednosti a = Ψ; Izračunava vrednost izraza Ψ,

Више

Računarski praktikum I - Vježbe 06 - Standard Template Library (2)

Računarski praktikum I - Vježbe 06 - Standard Template Library (2) Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 06 - Standard Template Library (2) v2018/2019. Sastavio: Zvonimir Bujanović pair pair je generička

Више

Microsoft PowerPoint - 10-Jednodimenzionalni nizovi.ppt [Compatibility Mode]

Microsoft PowerPoint - 10-Jednodimenzionalni nizovi.ppt [Compatibility Mode] Osnove programiranja Nizovi Sadržaj Definicija niza Vrste i elementi nizova Deklarisanje nizova Dodele (početne) vrednosti nizovima Jednodimenzionalni nizovi Primeri dodele vrednosti Petlja foreach Nizovi

Више

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić Funkcije predavač: Nadežda Jakšić do sada su korišćene "gotove" funkcije iz standardnih biblioteka (cin, cout...) one su pozivane iz main funkcije koja je glavna funkcija u programu jer izvršavanje programa

Више

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstrirana upotreba konstruktora, svojstava, metoda klase,

Више

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode] Сложеност алгоритама (Програмирање 2, глава 3, глава 4-4.3) Проблем: класа задатака истог типа Велики број различитих (коректних) алгоритама Величина (димензија) проблема нпр. количина података које треба

Више

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan realan broj od 0 i 1. Na standardni izlaz ispisati

Више

Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1

Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1 Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1 Sadržaj 1 Pokazivači - ponavljanje 3 2 Pokazivači - veza sa nizovima 5 2 1 Pokazivači - ponavljanje 1.

Више

Datoteke predavač: Nadežda Jakšić

Datoteke predavač: Nadežda Jakšić Datoteke predavač: Nadežda Jakšić svi podaci sa kojima smo do sada radili u programima su smeštani u operativnu memoriju računara i trajali su najduže koliko i sam program; kada program završi sa radom,

Више

Inženjering informacionih sistema

Inženjering informacionih sistema Fakultet tehničkih nauka, Novi Sad Inženjering informacionih sistema Dr Ivan Luković Dr Slavica Kordić Nikola Obrenović Milanka Bjelica Dr Jelena Borocki Dr Milan Delić UML UML (Unified Modeling Language)

Више

07_PJISP_II_Predavanja

07_PJISP_II_Predavanja Rekurzija i rekurzivne funkcije Informacioni inženjering 1 Rekurzija Rekurzija nastaje kada se pojam definiše pomoću sebe samog Javlja se u različitim oblastima, od lingvistike i logike, preko matematike

Више

Microsoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode]

Microsoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode] Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 03 Zvonimir Bujanović Slaven Kožić Vinko Petričević Mrežno programiranje: SocketAPI Programiramo u aplikacijskom sloju, za ostale se brinu

Више

Увод у организацију и архитектуру рачунара 1

Увод у организацију и архитектуру рачунара 1 Увод у организацију и архитектуру рачунара 2 Александар Картељ kartelj@matf.bg.ac.rs Напомена: садржај ових слајдова је преузет од проф. Саше Малкова Увод у организацију и архитектуру рачунара 2 1 Секвенцијалне

Више

Programski jezik C

Programski jezik C SPR, 2016 Rad sa datotekama Komunikacija sa OS Rad sa datotekama Vrste datoteka Otvaranje / zatvaranje datoteka Pristup datotekama za upis / čitanje Funkcije za rad sa datotekama Ulazno / izlazni tokovi

Више

Microsoft PowerPoint - Datoteke [Compatibility Mode]

Microsoft PowerPoint - Datoteke [Compatibility Mode] Датотеке стандардни улаз / излаз Датотека је именовани низ знакова (бајтова) У програмском језику C датотека је везана за улаз и излаз података функције стандардне библиотеке Најједностaвније

Више

Programiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje,

Programiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, te službeni podsjetnik. Kalkulatori, mobiteli, razne neslužbene tablice, papiri i sl., nisu dozvoljeni! Sva rješenja napišite

Више

3.Kontrlne (upravlja~ke) strukture u Javi

3.Kontrlne (upravlja~ke) strukture u Javi Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Низови у програмском језику Јава Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ

Више

Електротехнички факултет Универзитета у Београду Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквију

Електротехнички факултет Универзитета у Београду Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквију Електротехнички факултет Универзитета у Београду 19.11.017. Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквијум траје h. Напуштање сале дозвољено је након 1h. Употреба

Више

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, te službeni šalabahter. Kalkulatori, mobiteli, razne neslužbene tablice, papiri i sl., nisu dozvoljeni! Sva rješenja napišite

Више

Računarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1

Računarske mreže Čas 2 Ivana Tanasijević   Matematički fakultet, Beograd 1 Računarske mreže Čas 2 Ivana Tanasijević e-mail: ivana@matf.bg.ac.rs Matematički fakultet, Beograd 1 Utvrđivanje gradiva sa prethodnog časa: popunjavanje adresne strukture, kreiranje soketa, privezivanje

Више

Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch

Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch A1 Slanje svima preko fiksiranog razapinjućeg stabla

Више

Programiranje 1 9. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/6

Programiranje 1 9. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/6 Programiranje 1 9. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/60 Sadržaj predavanja Osnovni algoritmi na cijelim brojevima:

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Obeležene petlje Obeležene petlje Obeležavanje petlje nekim identifikatorom omogućava da se programski tok usmeri na mesto u programu specificirano tim identifikatorom. Ako se iza naredbi break ili continue

Више

MergedFile

MergedFile ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU BEOGRAD, 18.09.2018. Ispit iz Programiranja 2 Ispit traje 135 minuta Napomene: a) Pažljivo proučite Uputstvo pre popunjavanja Obrasca za odgovore. b) Vrednost

Више

1. Apsolutni pobednik na glasanju vreme memorija ulaz izlaz 0,1 s 64 Mb standardni ulaz standardni izla Apsolutni pobednik izbora je onaj ko osvoji ba

1. Apsolutni pobednik na glasanju vreme memorija ulaz izlaz 0,1 s 64 Mb standardni ulaz standardni izla Apsolutni pobednik izbora je onaj ko osvoji ba 1. Apsolutni pobednik na glasanju vreme memorija ulaz izlaz 0,1 s 64 Mb standardni ulaz standardni izla Apsolutni pobednik izbora je onaj ko osvoji bar jedan glas više od polovine izašlih birača. Ako su

Више

Microsoft Word - MySQL_3.doc

Microsoft Word - MySQL_3.doc 7. Data Manipulation Language (DML) Jezik za rad sa podacima (Data Manipulation Language (DML)) služi za umetanje, brisanje i ažuriranje podataka u bazi. 7.1. Umetanje novih redova u tabelu INSERT sintaksa

Више

Algoritmi

Algoritmi Projektovanje algoritama L09.1. Topološko sortiranje Današnje teme Topološko sortiranje Povezanost grafa jako povezane komponente Minimum Spanning Trees (razapinjuće stablo) Lektira: 22. Elementary Graph

Више

Računarski praktikum I - Vježbe 11 - Funktori

Računarski praktikum I - Vježbe 11 - Funktori Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 11 - Funktori v2018/2019. Sastavio: Zvonimir Bujanović Funkcijski objekti (funktori) Objekt klase

Више

MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU

MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU http://www.mi.sanu.ac.rs/ tanjad (tanjad@mi.sanu.ac.rs) 21. januar 2013. Tatjana

Више

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe 6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe, očekuje se da su koordinate celobrojne. U slučaju

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Datoteke nastavak Funkcija fgets Funkcija koja učitava podatke iz datoteke, liniju po liniju, je char *fgets(char *str, int n, FILE *fp); gdje su str pokazivač na dio memorije (string) u koji će ulazna

Више

Zadatak T=5: Jedinica WBSD propušta vred Potiče iz polja Rwb.LMD Signal Rwb.WRLMD izaziva propuštanje ove vrednosti 2. Vrednost 0000

Zadatak T=5: Jedinica WBSD propušta vred Potiče iz polja Rwb.LMD Signal Rwb.WRLMD izaziva propuštanje ove vrednosti 2. Vrednost 0000 Zadatak 2.1 1. T=5: Jedinica WBSD propušta vred 0000 0003 Potiče iz polja Rwb.LMD Signal Rwb.WRLMD izaziva propuštanje ove vrednosti 2. Vrednost 0000 0003 koja je pročitana u taktu 5 (prethodno pitanje)

Више

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica dimenzije m n, b Z m, c Z n. Takođe, očekuje se da

Више

13E114PAR, 13S113PAR DOMAĆI ZADATAK 2018/2019. Cilj domaćeg zadatka je formiranje petlje softverske protočnosti za minimalni broj ciklusa.

13E114PAR, 13S113PAR DOMAĆI ZADATAK 2018/2019. Cilj domaćeg zadatka je formiranje petlje softverske protočnosti za minimalni broj ciklusa. 13E114PAR, 13S113PAR 29.04.2019. DOMAĆI ZADATAK 2018/2019. Cilj domaćeg zadatka je formiranje petlje softverske protočnosti za minimalni broj ciklusa. U okviru svake grupe data je doall ili doacross petlja

Више

ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU BEOGRAD, Ispit iz Programiranja 2 Ispit traje 135 minuta Napomene: a) Pažljivo proučite U

ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU BEOGRAD, Ispit iz Programiranja 2 Ispit traje 135 minuta Napomene: a) Pažljivo proučite U ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU BEOGRAD, 02.07.2019. Ispit iz Programiranja 2 Ispit traje 135 minuta Napomene: a) Pažljivo proučite Uputstvo pre popunjavanja Obrasca za odgovore. b) Vrednost

Више

NIZOVI

NIZOVI NIZOVI II gimnazije NIZOVI su složeni tip podatka u koji se može smjestiti više varijabli(podataka) JEDNODIMENZIONALNI DVODIMENZIONALNI VIŠEDIMENZIONALNI Milenko Soldat 2 JEDNODIMENZIONALNI NIZOVI Sintaksa:

Више

P11.2 Izbor instrukcija, IBURG

P11.2 Izbor instrukcija, IBURG Избор инструкција (1/2) Машинска инструкција се може приказати као део стабла међукода, који се назива шаблон стабла (енгл. tree pattern). Избор инструкција је проблем поплочавања стабла међукода минималним

Више

P3.2 Paralelno programiranje 2

P3.2 Paralelno programiranje 2 Paralelno programiranje II Analiza zavisnosti Struktura algoritma Pomoćne strukture Komunikacioni šabloni 1 4 Koraka paralelizacije programa 2 Evo algoritma. Gde je paralelizam? Dekompozicija zadataka

Више

Програмирај!

Програмирај! Листе Поред појединачних вредности исказаних бројем или ниском карактера, често је потребно забележити већи скуп вредности које су на неки начин повезане, као, на пример, имена у списку путника у неком

Више

Писање и превођење модула

Писање и превођење модула Писање и превођење модула ЦИЉ Научити како се пишу и преводе модули. ИСХОД Након ове вежбе ћете моћи да: Напишете кернел модул са неколико могућности, укључујући параметре Приступите кернелу из вашег модула

Више

Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата

Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности података и операције над њима Дефиниција класе садржи само

Више

PROMENLJIVE, TIPOVI PROMENLJIVIH

PROMENLJIVE, TIPOVI PROMENLJIVIH PROMENLJIVE, TIPOVI PROMENLJIVIH Šta je promenljiva? To je objekat jezika koji ima ime i kome se mogu dodeljivati vrednosti. Svakoj promenljivoj se dodeljuje registar (memorijska lokacija) operativne memorije

Више

1. Vremensko ograničenje Memorijsko ograničenje ulaz izlaz 0,1 s 64 MB standardni ulaz standardni izlaz Banka želi da upozori kupce na sumnjive aktivn

1. Vremensko ograničenje Memorijsko ograničenje ulaz izlaz 0,1 s 64 MB standardni ulaz standardni izlaz Banka želi da upozori kupce na sumnjive aktivn 1. Vremensko ograničenje Memorijsko ograničenje ulaz izlaz 0,1 s 64 MB standardni ulaz standardni izlaz Banka želi da upozori kupce na sumnjive aktivnosti na njihovom računu. Prilikom svake transakcije

Више

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode] Osnove programiranja Funkcije - Metode http://www.introprogramming.info/english-intro-csharp-book/read-online/ Sadržaj Funkcije Metode Definisanje Pozivanje Povratne vrednosti Parametri Metode (1) Metoda

Више

P2.1 Projektovanje paralelnih algoritama 1

P2.1 Projektovanje paralelnih algoritama 1 Projektovanje paralelnih algoritama I Uvod Osnove dinamičke paralelizacije 1 Primer: Fibonačijev niz Primer rekurz. računanja Fibonačijevih brojeva: F 0 = 0; F 1 = 1; F i = F i -1 + F i -2 za i 2 Algoritam

Више

Primenjeno programiranje - vezbe GUI i baze podataka

Primenjeno programiranje - vezbe GUI i baze podataka Primenjeno programiranje - Vežbe Java i NetBeans IDE 6.5 Kreiranje korisničkog interfejsa Primer jednostavne aplikacije: 1. Odabrati opciju File > New Project 2. Meñu kategorijama odabrati Java i podkategoriju

Више

Programiranje 1 IEEE prikaz brojeva sažetak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, IEEE p

Programiranje 1 IEEE prikaz brojeva sažetak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, IEEE p Programiranje IEEE prikaz brojeva sažetak Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog 208, IEEE prikaz brojeva sažetak p. /4 Sadržaj predavanja IEEE standard

Више

PowerPoint Presentation

PowerPoint Presentation Java konkurentno programiranje Životni ciklus niti i problemi sinhronizacije resursa Multitasking Multithreading Životni ciklus niti http://www.roseindia.net/java/thread/lifecycle-of-threads.shtml Životni

Више

Орт колоквијум

Орт колоквијум Испит из Основа рачунарске технике - / (6.6.. Р е ш е њ е Задатак Комбинациона мрежа има пет улаза, по два за број освојених сетова тенисера и један сигнал који одлучује ко је бољи уколико је резултат

Више

ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera

ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera CILJ VEŽBE Cilj ove vežbe je da se studenti kreiranjem

Више

Introduction to Programming

Introduction to  Programming SQL Indeksi Uloga Indeksa o Kako baza postaje sve veća dizajn baze postaje sve važniji o Indeksi igraju značajnu ulogu u brzini rada same baze jer pomažu DBMS da brže pronađe ono što tražimo o Slični su

Више

KORISNIČKO UPUTSTVO

KORISNIČKO UPUTSTVO KORISNIČKO UPUTSTVO Srpski 1. Isključite glavno napajanje Pre postavljanja proizvoda isključite glavno napajanje. 2. Spajanje + i žica Spajanje + i žice na odgovarajuće izlaze ACM-LV24. U većini slučajeva

Више

Microsoft Word - Zadaci za samostalno vjezbanje 4.doc

Microsoft Word - Zadaci za samostalno vjezbanje 4.doc Zadaci za samostalno vježbanje 4. Svi zadaci dati ovdje su takvi da se mogu uraditi korištenjem isključivo gradiva prva četiri predavanja i ranije stečenog predznanja na predmetu Osnove računarstva. Zvjezdicom

Више

070-ALIP2-udzbenik.indb

070-ALIP2-udzbenik.indb 0. U uvodnom ćemo poglavlju ponoviti osnove programskog jezika C s kojima smo se susreli u. razredu. U kratkom pregledu navedeni su operatori (aritmetički, relacijski i logički), neke od funkcija iz biblioteka

Више

Algoritmi SŠ P1

Algoritmi SŠ P1 Županijsko natjecanje iz informatike Srednja škola 9. veljače 2018. RJEŠENJA ZADATAKA Napomena: kodovi za većinu opisanih algoritama dani su u Pythonu radi jednostavnosti i lakše čitljivosti. Zbog prirode

Више

RACUNARSKA ELEKTRONIKA – VEŽBE 3

RACUNARSKA ELEKTRONIKA – VEŽBE 3 RAČUNARSKA ELEKTRONIKA VEŽBE 3 Aleksandra Lekić lekic.aleksandra@etf.bg.ac.rs Elektrotehnički fakultet, Univerzitet u Beogradu 2015/2016 ETF Beograd RE VEŽBE 3 2015/2016 1 / 30 Procedure Procedure Organizacijom

Више

Microsoft Word - Uputstvo za koristenje aplikacije GIPKO

Microsoft Word - Uputstvo za koristenje aplikacije GIPKO Aplikacija za elektronsko popunjavanje obrasca GIP-1022 i spašavanje podataka u datoteku u XML formatu GIPKO Verzija 1.2 Sadržaj Uvod... 3 Instalacija aplikacije... 4 Pokretanje aplikacije... 7 Meni aplikacije...

Више

Oblikovanje i analiza algoritama 5. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 5. pr

Oblikovanje i analiza algoritama 5. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 5. pr Oblikovanje i analiza algoritama 5. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 5. predavanje p. 1/68 Sadržaj predavanja Nehomogene rekurzije

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra

Више

Programski jezici i strukture podataka

Programski jezici i strukture podataka Programski jezici i strukture podataka 7 ULAZ, IZLAZ I DATOTEKE Ulazno izlazne operacije Programi moraju imati mogućnost da upisuju podatke u datoteke ili da ih ispisuju na izlazni uređaj poput ekrana

Више

CARNET Helpdesk - Podrška obrazovnom sustavu e-dnevnik upute za nadzor razrednih knjiga tel: fax: mail:

CARNET Helpdesk - Podrška obrazovnom sustavu e-dnevnik upute za nadzor razrednih knjiga tel: fax: mail: Sadržaj... 1 1. Predgovor... 2 2. Prijava u sustav... 2 3. Postavke... 3 4. Kreiranje zahtjeva za nadzorom razrednih knjiga... 4 5. Pregled razredne knjige... 6 5.1 Dnevnik rada... 7 5.2 Imenik... 11 5.3

Више

Алгоритми засновани на рођенданском парадоксу и примене

Алгоритми засновани на рођенданском парадоксу и примене Математички факултет Универзитет у Београду Мастер рад Тема: Алгоритми засновани на рођенданском парадоксу и примене СТУДЕНТ Мина Бадовинац МЕНТОР проф. др Миодраг Живковић ЧЛАНОВИ КОМИСИЈЕ проф. др Филип

Више

Postavka 12: Uzročnost 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch

Postavka 12: Uzročnost 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch Postavka 12: Uzročnost 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch Motivacija za logičke satove 2 U asinhronim sistemima, često ne

Више

Projekti šabloni

Projekti šabloni Projekti obrasci Kreiranje objekata Uvod Enkapsuliraju znanje o tome koje konkretno klase koristi sistem Sakrivaju instanciranje objekata i načine na koji se oni povezuju i reprezentuju Ostatak sistema

Више

Programiranje 2 7. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 7. predavanje p. 1/7

Programiranje 2 7. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 7. predavanje p. 1/7 Programiranje 2 7. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 7. predavanje p. 1/75 Sadržaj predavanja Tipovi i složene deklaracije:

Више

P1.2 Analiza efikasnosti algoritama 2

P1.2 Analiza efikasnosti algoritama 2 Analiza efikasnosti algoritama II Alg. uređivanja (sortiranja) sa umetanjem elemenata Alg. uređivanja (sortiranja)sa spajanjem podnizova 1 Algoritam uređivanja sa umetanjem elemenata (1/4) Uređivanje ulaznog

Више

Zadatak 011 Razmotrite sljedeći primjer. package hr.fer.oopj.primjeri.p011; public class Main { } public static void main(string[] args) { obrada(2.71

Zadatak 011 Razmotrite sljedeći primjer. package hr.fer.oopj.primjeri.p011; public class Main { } public static void main(string[] args) { obrada(2.71 Zadatak 011 Razmotrite sljedeći primjer. package hr.fer.oopj.primjeri.p011; public class Main { public static void main(string[] args) { obrada(2.7182818284590452354); private static void obrada(double

Више

Microsoft PowerPoint - Timer0 16F887.ppt [Compatibility Mode]

Microsoft PowerPoint - Timer0 16F887.ppt [Compatibility Mode] TAJMERI I BROJAČI: PIC16F887 PIC 16F887 mikrokontroler ima tri tajmera/brojača: 8 - bitni tajmer/brojač (registar TMR0) 16 - bitni tajmer/brojač (registar TMR1H TMR1L) 8 - bitni tajmer/brojač (registar

Више

Dijagrami sekvenci

Dijagrami sekvenci Dijagrami sekvenci Izrada dijagrama sekvenci Dijagram sekvenci koristi se za specifikaciju vremenskih zahteva u opisu složenih scenarija opis toka poruka između objekata kojima se realizuje odgovarajuća

Више

PowerPoint Presentation

PowerPoint Presentation Tehnička škola 9. maj Bačka Palanka Programiranje III razred Tok izvršavanja programa Tok izvršavanja programa Dosadašnji kod se izvršavao praktično linearno. Nije postojala nikakva uslovna ili brojačka

Више

Classroom Expectations

Classroom Expectations АТ-8: Терминирање производно-технолошких ентитета Проф. др Зоран Миљковић Садржај Пројектовање флексибилних ; Математички модел за оптимизацију флексибилних ; Генетички алгоритми у оптимизацији флексибилних

Више

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1. I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz 3 2 1 4 5 14 Analiza: 1. Odredimo zbir svih 5 unesenih brojeva (i sačuvamo u

Више

2015_k2_z12.dvi

2015_k2_z12.dvi OBLIKOVANJE I ANALIZA ALGORITAMA 2. kolokvij 27. 1. 2016. Skice rješenja prva dva zadatka 1. (20) Zadano je n poslova. Svaki posao je zadan kao vremenski interval realnih brojeva, P i = [p i,k i ],zai

Више