Aksiomatska semantika kroz primere Seminarski rad u okviru kursa Verifikacija softvera Matematički fakultet Nikola Katić, 1094/2017

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

Download "Aksiomatska semantika kroz primere Seminarski rad u okviru kursa Verifikacija softvera Matematički fakultet Nikola Katić, 1094/2017"

Транскрипт

1 Aksiomatska semantika kroz primere Seminarski rad u okviru kursa Verifikacija softvera Matematički fakultet Nikola Katić, 1094/2017 mi13093@alas.matf.bg.ac.rs 12. decembar 2018 Sažetak Ovaj rad za cilj ima predstavljanje osnovnih pojmova aksiomatske semantike. Prikazan je jedan sistem zaključivanja svojstava parcijalne korektnosti i objašnjene su aksiome iz datog sistema. Na primerima je pokazana primena aksioma i mogućnost rezonovanja o svojstvima u imperativnom jeziku while opisanom u dodatku. Rad je pisan tako da ukoliko je to moguće, ne ostavi osnovne matematičko-logičke pojmove nerazjašnjene, pa su i oni sadržani u dodatku. Sadržaj 1 Uvod 2 2 Osnovni pojmovi Logičke promenljive Tipovi sistema zaključivanja Sistem zaključivanja Aksiome sistema parcijalne korektnosti Osobine aksiomatskog sistema Primeri rezonovanja 6 5 Zaključak 9 A Notacija 9 A.1 Semantičke funkcije A.2 Supstitucija A.3 Tranzicione relacije B While jezik 12 1

2 1 Uvod Formalan opis značenja jezičkih konstrukcija poput operacione i denotacione semantike specifikuje značenje programa, ali se takode može koristiti i za dokazivanje odredenih svojstava programa. Dokazi u operacionoj i denotacionoj semantici mogu biti previše detaljni da bi bili korisni u praksi. Razlog tome je činjenica da su usko povezani sa semantikom programskog jezika. Zato bi bilo pogodno da se uoče suštinska svojstva različitih jezičkih konstrukata, tako da sprovodenje dokaza bude manje zahtevno. Time biva sužen i tip svojstava koja mogu biti dokazana. Mogu se razlikovati dve klase svojstava - svojstva parcijalne i potpune tačnosti. Prva podrazumevaju da ukoliko se traženi program završava, onda postoji odredena veza izmedu početne i krajnje vrednosti promenljivih. To znači da ova svojstva ne garantuju da će se program završiti. Svojstva potpune tačnosti dodatno garantuju i da će se program završiti. Sem ovih, postoje druge klase svojstava koje razmatraju i resurse koji se koristi tokom izvršavanja programa. U okviru ovog seminarskog rada će radi jednostavnosti biti obradivana gotovo isključivo svojstva parcijalne korektnosti. Prilikom realizacije sistema za dedukovanje totalne korektnosti u [3], suštinska razlika u odnosu na sistem za parcijalnu korektnost se ogleda u samo jednoj aksiomi 1. Ideja je da se navedu svojstva programa kao tvrdnje (eng. assertions). Svaka tvrdnja je Horova 2 trojka oblika { P } S { Q } gde je S program, a P i Q su predikati. Ovde P predstavlja preduslov, a Q postuslov. Intuitivno, značenje trojke { P } S { Q } je ako u početnom stanju važi uslov P, i ako se S zaustavlja kada je pokrenuto u tom stanju, onda će Q važiti u stanju u kojem se S zaustavilo Treba primetiti da trojka { P } S { Q } ne zahteva da se S zaustavlja za sva početna stanja koja zadovoljavaju P, nego da ukoliko se zaustavlja, onda važi i Q u krajnjem stanju[3, 6]. 2 Osnovni pojmovi Da bi pravila aksiomatske semantike bilo moguće primenjivati, najpre je potrebno uvesti osnovne pojmove. U ovom poglavlju biće pojašnjen pojam sistema zaključivanja i pojam logičke promenljive. Takode će biti napravljena razlika izmedu tipova sistema. 2.1 Logičke promenljive Pojam logičke promenljive biće ilustrovan na primeru. Poštujući prethodno opisanu formu, može se navesti naredna trojka { x=n } y := 1; while (x=1) do (y := x y; x := x 1) { y =n! n>0 } Na ovaj način se izražava da ukoliko je vrednost x bila jednaka vrednosti n neposredno pre nego što se program koji treba da računa faktorijel 1 U pitanju je [while t] aksioma sa parametrizovanom familijom predikata koja se koristi kao invarijanta petlje. 2 Toni Hor (eng. Sir Charles Antony Richard Hoare), britanski naučnik, dobitnik Tjuringove nagrade godine. 2

3 pokrenuo, onda će vrednost y biti jednaka faktorijelu broja n nakon što se program završi pod uslovom da se program zaista zaustavlja. Promenljive x i y iz ovog primera se nazivaju programskim, jer se javljaju u naredbama. Sem programskih, postoje i logičke promenljive, koje se ne smeju pojavljati ni u jednoj naredbi. Njihova uloga je da se zapamte početne vrednosti programskih promenljivih, a kako se ne pojavljuju u programu, ni njihova vrednost se ne menja. U prethodnom primeru, specijalna promenljiva n je logička, a može se primetiti da ukoliko se { y = n! n > 0 } zameni sa novim postuslovom { y =x! x>0 }, onda takva trojka predstavlja vezu izmedu krajnje vrednosti y i krajnje vrednosti x, a to nije opis željene veze. Takav problem se prevazilazi korišćenjem logičkih promenljivih, jer one omogućavaju referisanje (u postuslovu) na inicijalne vrednosti programskih promenljivih[3]. 2.2 Tipovi sistema zaključivanja Za navodenje preduslova i postuslova, razlikuju se dva suprotstavljena pristupa. Intenzionalni pristup podrazumeva uvodenje eksplicitnog jezika tvrdenja (eng. assertion language) čije formule služe za predstavljanje stanja programa. Takav jezik mora biti veoma ekspresivan, kako bi sve preduslove i postuslove bilo moguće opisati. Ekstenzionalni pristup se u izvesnom smislu može tumačiti kao lakši od pomenuta dva, pa će u nastavku jedini biti razmatran. Ideja je da se stanja predstave kao predikati, tj. funkcije oblika Stanje T 3. Stoga se značenje { P } S { Q } može preformulisati kao: P važi za stanje s i ako se S može izvršiti s početnim stanjem s tako da rezultuje stanjem s, onda Q važi za stanje s. S obzirom da se bilo koji predikati mogu koristiti, gorepomenuti problem sa ekpresivnošću biva prevaziden. Notacija korišćena u nastavku teksta opisana je u dodatku A. Svakom bulovskom izrazu b se dodeljuje semantika u vidu predikata B[[b]]. U nastavku će se podrazumevati da izraz b može sadržati i logičke i programske promenljive, tako da prethodno prikazan preduslov x = n predstavlja primer bulovskog izraza. Može se pokazati da važe sledeći stavovi[3]: B[[b[x a]]] = B[x A[[a]]] za svako b i a B[[b 1 b 2]] = B[[b 1]] B[[b 2]] za svako b 1 i b 2 B[[ b]] = B[[b]] za svako b 3 Sistem zaključivanja Skup aksioma i pravila sačinjava sistem zaključivanja koji će biti korišćen kako bi se iskazala parcijalna korektnost tvrdenja. Sve formule u ovom sistemu se zapisuju u već pomenutom obliku Horovih trojki { P } S { Q }, gde je S naredba While 4 jezika, a P i Q su predikati. Aksiome i pravila su navedena u tabeli Aksiome sistema parcijalne korektnosti Aksioma naredbe dodele [ass p] se zapisuje kao {P [x A[[a]]]} x := a {P } 3 Pomenuti skupovi su pojašnjeni u dodatku A. 4 Jednostavan imperativni jezik detaljno opisan u [3]. Radi kompletnosti, u dodatku B se takode nalazi kratak opis u vidu Bakus-Naurove forme. 3

4 i podrazumeva da izvršavanje naredbe x := a započinje u stanju s koje zadovoljava P [x A[[a]]], tj. u stanju s u kojem s[x A[[a]]]s] zadovoljava P. Ono što je izraženo aksiomom je da ukoliko se izvršavanje izraza x := a zaustavlja (što će u ovom slučaju uvek biti tačno) onda će krajnje stanje zadovoljavati P. Aksioma preskakanja [skip p] je oblika { P } skip { P } i kazuje da ukoliko je P zadovoljeno pre nego što je skip izvršeno, tada će takode biti zadovoljeno i u trenutku kad se zaustavi. Nije potrebno posebno naglašavati uslov zaustavljanja s obzirom da skip naredba ne radi ništa. Aksiome [ass p] i [skip p] su zapravo sheme aksioma koje čine različite aksiome, zavisno od odabira predikata P. Preostale aksiome daju način zaključivanja o složenim konstruktima, koristeći tvrdenja o jednostavnijim delovima.n Pravilo slaganja [comp p] je dato sa { P } S 1 { Q }, { Q } S 1 { R } { P } S 1; S 2 { R } Njime se kazuje da ukoliko P važi pre izvršavanja S 1; S 2 i ukoliko se program zaustavlja, onda se može zaključiti da R važi i u krajnjem stanju, ali uzimajući u obzir da postoji predikat Q za koji se može zaključiti da ako je program S 1 pokrenut u stanju u kom je P bilo zadovoljeno, i program se zaustavlja, tada će u krajnjem stanju važiti Q, i ako je program S 2 pokrenut u stanju u kom je Q bilo zadovoljeno, i program se zaustavlja, tada će u krajnjem stanju važiti R. Pravilo grananja [if p] je dato sa { B[[b]] P } S 1 { Q }, { B[[b]] P } S 2 { Q } { P } if b then S 1 else S 2 { Q } Ono kaze da ukoliko je if b then S 1 else S 2 pokrenuto u stanju u kom je važilo P i program se zaustavlja, tada će Q važiti u finalnom stanju, ukoliko su zadovoljene naredne dve stavke ako je program S 1 pokrenut u stanju u kom je P bilo zadovoljeno, i program se zaustavlja, tada će u krajnjem stanju važiti Q, i ako je program S 2 pokrenut u stanju u kom je P i b bilo zadovoljeno, i program se zaustavlja, tada će u krajnjem stanju važiti Q. Pravilo iterativnog tvrdenja [while p] se zapisuje kao { B[[b]] P } S { P } { P } while b do S { B[[b]] P } Predikat P se naziva invarijantom while-petlje. Invarijanta važi i pre i posle izvršavanja tela petlje (tj. programa S). Pravilo kaže da ukoliko dodatno važi da je b tačno pre svakog izvršavanja tela petlje, onda će b biti tačno nakon što se while-petlja zaustavi. Poslednje pravilo zaključivanja u ovom aksiomatskom sistemu je { P } S { Q } { P } S { Q } ako P P i Q Q Ono se naziva pravilom posledice (eng. rule of consequence) i daje mogućnost pojačavanja preduslova P i slabljenje postuslova Q [3]. 4

5 Činjenica da trojka { P } S { Q } može biti dokazana, se zapisuje kao p { P } S { Q }. Dokaz (tj. stablo izvodenja) se naziva prostim ukoliko je korišćena samo jedna aksioma[3]. Jedinstvenost stabla za datu trojku ne važi u opštem slučaju. Višestrukom primenom [cons p] se mogu dobiti dokazi različitih dužina[4]. [ass p ] {P [x A[a]]} x := a {P } [skip p ] { P } skip { P } [comp p ] [if p ] [while p ] [cons p ] { P } S 1 { Q }, { Q } S 1 { R } { P } S 1 ; S 2 { R } { B [b] P } S 1 { Q }, { B [b] P } S 2 { Q } { P } if b then S 1 else S 2 { Q } { B [b] P } S { P } { P } while b do S { B [b] P } { P } S { Q } { P } S { Q } ako P P i Q Q Tabela 1: Aksiomatski sistem parcijalne korektnosti 3.2 Osobine aksiomatskog sistema Sistem je pouzdan 5 (eng. sound) ukoliko je svako parcijalno svojstvo koje se pomoću njega zaključi takode i semantički tačno. Za sistem zaključivanja se kaže da je potpun (eng. complete) ukoliko važi suprotan smer, tj. ukoliko neko svojstvo parcijalne tačnosti važi u odredenoj semantici, onda se takode može pronaći i dokaz u sistemu zaključivanja. Sistem parcijalnog zaključivanja dat u 1 je i pouzdan i potpun[3]. Za tvrdenje parcijalne korektnosti { P } S { Q } se kaže da je valjano ako i samo ako za svako stanje s važi da ukoliko je P s = tt i S, s s za neko s, onda je Qs = tt Valjanost tvrdenja se označava sa = p { P } S { Q } Svojstvo pouzdanosti se onda može izraziti kao a svojstvo potpunosti kao p { P } S { Q } implicira = p { P } S { Q } = p { P } S { Q } implicira p { P } S { Q } U [3] se moze pronaći dokaz 6 naredne teoreme = p { P } S { Q } ako i samo ako p { P } S { Q } 5 Prevod preuzet iz [5]. 6 Sprovodi se indukcijom po dužini stabla izvodenja u datom sistemu. 5

6 4 Primeri rezonovanja Primer 4.1 Razmotrimo naredbu while true do skip. Iz aksiome [skip p] sledi p { true } skip { true } Kako važi (true true) true, može biti primenjeno [cons p] i to daje p { true true } skip { true } Iz pravila [while p] dobija se p { true } while true do skip { true true } Kako je true true true, ponovnom primenom [cons p] dobija se p { true } while true do skip { true } Iz prethodnog primera je lako uočiti da se iz { P } S { Q } ne garantuje da će se S završiti u stanju koje zadovoljava Q. Kada bi to važilo, { true } while true do skip { true } bi značilo da se program uvek završava, a to nije slučaj[3]. Primer 4.2 Dokazati da sledeći program računa količnik i ostatak pri deljenju. { (x 0) (y > 0) } q := 0; r := x; while (r y) do (q := q + 1; r := r y) {(x = q y + r) (0 r) (r < y)} Radi čitljivosti, zapis {(x = q y + r) (0 r) (r < y)} će označavati predikat P za koji važi P s = (s x = (s q) (s y) + (s r) (0 (s r)) ((s r) < (s y))) Najpre se definiše predikat INV koji predstavlja invarijantu while-petlje: INV s = (s x = (s q) (s y) + (s r) (0 (s r))) Dva puta se primenjuje aksioma dodele [ass p] p { INV [q q + 1] } q := q + 1 { INV } p { (INV [q q + 1])[r r y] } r := r y { INV [q q + 1] } Na prethodna dva tvrdenja se može primeniti [comp p] p { (P [q q + 1])[r r y] } r := r y; q := q + y { P } Koristimo tvrdenje ((r y) INV ) (INV [q q + 1])[r r y] Primenom pravila [cons p] se dobija { (r y) INV } r := r y; q := q + 1 { INV } 6

7 Sada se može primeniti pravilo [while p] p { INV } while (r y) do (r := r y; q := q + 1) { (r y) INV } Iz definicije invarijante sledi (r y) INV (x = q y + r) (0 r) (r < y) pa se primenom pravila [cons p] zaključuje p { INV } while (r y) do (r := r y; q := q + 1) {(x = q y + r) (0 r) (r < y)} Dvostrukom primenom aksiome dodele [ass p] se dobija p { INV [q 0] } q := 0 { INV } p { (INV [q 0])[r x] } r := x { INV [q 0] } Naredno tvrdenje trivijalno važi (x 0) (y > 0) (INV [q 0])[r x] Kada se dva puta primeni [cons p], dobija se p { (x 0) (y > 0) } r := x; q := 0 { INV } p { (x 0) (y > 0) } r := x; q := 0; while (r y) do (r := r y; q := q + 1) {(x = q y + r) (0 r) (r < y)} što je bilo i potrebno dokazati[1]. Primer 4.3 Treba dokazati naredni program za izračunavanje faktorijela. { x = n } y := 1; while (x = 1) do (y := y x; x := x 1) { y = n! n > 0 } Radi čitljivosti, zapis y = n! n > 0 će označavati predikat P za koji važi P s = (s y = (s n)! s n > 0) Dokaz će biti sproveden u velikom broju koraka. Najpre se definiše predikat INV koji će predstavljati invarijantu while-petlje: INV s = (s x > 0 implicira ((s y) (s x)! = (s n)! i n s x)) Dalje će se razmatrati telo petlje koristeći [ass p] p { INV [x x 1] } x := x 1 { INV } 7

8 Slično se dobija i p { (INV [x x 1])[y y x] } y := y x { INV [x x 1] } Sada se na prethodna dva tvrdenja može primeniti [comp p] p { (INV [x x 1])[y y x] } y := y x; x := x 1 { INV } Bez dokazivanja, biće iskorišćena naredna tvrdnja ( (x = 1) INV ) (INV [x x 1])[y y x] Pa se korišćenjem [cons p] dobija p { (x = 1) INV } y := y x; x := x 1 { INV } Sada može da se primeni [while p] p { INV } while (x = 1) do (y := y x; x := x 1) Iz definicije invarijante petlje sledi pa se primenom [cons p] dobija { ( (x = 1)) INV } ( (x = 1)) INV y = n! n > 0 p { INV } while (x = 1) do (y := y x; x := x 1) { y = n! n > 0 } Primenom aksiome [ass p] na naredbu y := 1 se dobija p { INV [y 1] } y := 1 { INV } Koristeći se definicijom invarijante i prethodnom trojkom, zaključuje se zajedno sa [cons p] se dobija x = n INV [y 1] p { x = n } y := 1 { INV } Konačno, može se primeniti [comp p] i tada se dobija da p { x = n } y := 1; while (x = 1) do (y := y x; x := x 1) što je bilo i potrebno dokazati[3, 6]. { y = n! n > 0 } Još neki od primera koji se sreću u literaturi [6, 1] su dokazivanje programa koji izvršava Euklidski algoritam i programa koji računaju Fibonačijev niz. Jednostavniji primeri koji se odnose na osnovne pojmove, mogu se naći u [1]. 8

9 5 Zaključak Sistem aksiomatske semantike opisan u ovom seminarskom radu pruža mogućnost dokazivanja svojstava parcijalne korektnosti. Jedna od prednosti takvog formalnog sistema je u mogućnosti preciznog opisivanja postupaka tokom rezonovanja, da postoji nada da će veliki deo posla biti automatizovan u budućnosti. Postoje odredeni aspekti koji iz razloga obimnosti nisu pokriveni ovim radom, a to je verifikovanje procedura, verifikovanje koda koji se izvršava konkurentno, proširivanje sistema koji rezonuju parcijalna svojstva, klasa svojstava koje u obzir uzimaju i resurse tokom izvršavanja programa. Jezik while predstavlja ilustraciju koncepata aksiomatske semantike i njenih potencijala, te otvara vrata onima koji se prvi put susreću sa aksiomatskom semantikom. Literatura [1] Mike Bond. Cse 6341: Foundations of programming languages, November [2] Univerzitet u Beogradu Milena Vujošević Janičić, Matematički fakultet. Materijali i slajdovi sa predavanja. [3] Hanne Riis Nielson and Flemming Nielson. Semantics with Applications: A Formal Introduction. John Wiley & Sons, Inc., New York, NY, USA, [4] Noam Rinetzky. Advanced course: Program analysis and verification, March [5] Rozália Sz. Madarász. Matematička logika. personal/madaraszr/. Online; Novi Sad, novembar [6] Mooly Sagiv. Advanced topics in programming languages, April A Notacija Ovakav vid notacije je u potpunosti preuzet iz [3]. Najpre će biti definisani numerički literali (eng. numerals), a u nastavku se pretpostavlja da su oni predstavljeni u binarnom sistemu. Njihova apstraktna sintaksa se može predstaviti kao n ::= 0 1 n 0 n 1 Za definisanje broja koji je predstavljen numeričkim literalom, uvodi se funkcija N : Num Z Naziva se semantička funkcija, jer definiše semantiku numeričkih literala. Ako je n Num, onda se primena funkcije N na n zapisuje N [[n]]. Generalno, primena semantičke funkcije na sintaksne entitete se zapisuju u okviru sintaksnih zagrada [[ i ] umesto uobičajenih ( i ). Ove zagrade nemaju posebno značenje. Semantičku funkciju N se definiše pomoću sledećih semantičkih iskaza: N [[0] = 0 N [[1] = 1 N [[n 0]] = 2 N [[n]] 9

10 N [[n 1]] = 2 N [[n]] + 1 Ovde su 1 i 2 elementi iz skupa Z. Znakovi * i + su aritmetičke operacije nad brojevima sa uobičajenim značenjem. Prethodna definicija je primer kompozicijske definicije za svaki mogući način konstrukcije numeričkog literala, navodi se kako se odgovarajući broj dobija od značenja potkonstrukata (eng. subconstructs). Primer A.1 Broj N [[101] koji odgovara numeričkom literalu 101 se može izračunati na sledeći način: N [[101] = 2 N [[10] + 1 = 2 (2 N [[1]) + 1 = 2 (2 1) + 1 = 5 Niska 101 je dekomponovana prema sintaksi za numeričke literale. Funkcija N je dobro definisana 7 totalna 8 funkcija. A.1 Semantičke funkcije Potrebno je uvesti pojam stanja vezuje promenljivu sa njenom trenutnom vrednošću. Stanje se predstavlja kao funkcija koja preslikava promenljive u vrednosti, tj. kao element skupa Stanje = Prom Z Svako stanje s odreduje neku vrednost, što se zapisuje kao s x, za svaku promenljivu x iz Prom. Dakle, ako je s x = 3, onda je vrednost x + 1 u stanju s jednako 4. Ovo je, u stvari, jedna od nekoliko reprezentacija stanja. Jedna od mogućnosti je upotreba tabele, u čijoj se jednoj koloni nalaze promenljive, a u drugoj odgovarajuće vrednosti promenljivih. Stanja se mogu predstavljati i kao liste oblika: [ x 5, y 7, z 0 ] U svakom slučaju mora biti obezbedeno da tačno jedna vrednost bude vezana za svaku promenljivu. Time što se zahteva da stanje bude funkcija, ovaj uslov je trivijalno zadovoljen. Za dati artimetički izraz a i stanje s može se odrediti vrednost tog izraza. Zbog toga se značenje aritmetičkih izraza definiše kao totalna funkcija A koja prima dva argumenta sintaksnu konstrukciju i stanje. Funkcija A se opisuje pomoću A : Aexp (Stanje Z) Definicija funkcije koja opisuje aritmetičke izraze je data u tabeli 2. Vrednosti bulovskih izraza su istinitosne vrednosti, pa se njihovo značenje definiše na sličan način pomoću totalne funkcije: B : Bexp (Stanje T) Ovde T sadrži istinitosne vrednosti tt (za tačno) i ff (za netačno). Definicija funkcije koja opisuje bulovske izraze je data u tabeli 3. 7 Funkcija f : A B je dobro definisana ako za svako a A postoji jedinstveno b B za koje važi f(a) = b. 8 Funkcija f : A B je totalna ako za svaki argument a A postoji tačno jedan element b B tako da važi f(a) = b. 10

11 A[n]s = N [n] A[x]s = s x A[a 1 + a 2 ]s = A[a 1 ]s + A[a 2 ]s A[a 1 a 2 ]s = A[a 1 ]s A[a 2 ]s A[a 1 a 2 ]s = A[a 1 ]s A[a 2 ]s Tabela 2: Semantika aritmetičkih izraza B [true]s = tt B [false]s = { ff B [a 1 = a 2 ]s = ff { tt ako A[a 1 ]s = A[a 2 ]s ako A[a 1 ]s A[a 2 ]s B [a 1 a 2 ]s = ff { tt ako A[a 1 ]s A[a 2 ]s ako A[a 1 ]s > A[a 2 ]s B [ b]s = ff { tt ako B [b]s = ff ako B [b]s = tt B [ b]s = tt ako B [b 1 ]s = tt i B [b 2 ]s = tt ff ako B [b 1 ]s = ff ili B [b 2 ]s = ff Tabela 3: Semantika bulovskih izraza Da bi se olakšala čitljivost, uvode se naredna pojednostavljena zapisa P 1 P 2 za P gde je P s = (P 1 s) i (P 2 s) P 1 P 2 za P gde je P s = (P 1 s) ili (P 2 s) P za P gde je P s = (P s) P [x A[a]] za P gde je P s = P (s[x A[a] s]) P 1 P 2 za s Stanja : P 1 s implicira P 2 s A.2 Supstitucija Potrebno je definisati supstituciju, tj. zamenu svakog pojavljivanja neke promenljive y u aritmetičkom izrazu a nekim drugim aritmetičkim izrazom a 0. Koristi se zapis a[y a 0] za označavanje tako dobijenog aritmetičkog izraza. Upotrebljava se i notacija za supstituciju (ili ažuriranje) kod stanja. Definiše se s[y v] kao stanje koje je isto kao s, osim što vrednost koja je vezana za y je v. Supstitucija u kontekstu funkcija definisana je na sledeći način. Neka je f : X Y, x X i y Y, onda je f[x y] : X Y funkcija definisana kao { f[x y] x y, ako je x = x = f x, inače 11

12 A.3 Tranzicione relacije Razmatraju se dva različita pristupa operacionoj semantici: Prirodna semantika (eng. natural semantics), čija svrha je opisivanje kako se došlo do sveukupnog rezultata izvršavanja. Strukturna operaciona semantika (eng. structural operational semantics), koja opisuje kako se odigravaju pojedinačni koraci izračunavanja[2]. Zapis S, s označava da se naredba S izvršava iz stanja s, a kada se zapis s nalazi van i zagrada, onda predstavlja završno stanje. U prirodnoj semantici se posmatra veza izmedu početnog i završnog stanja. Ta tranziciona relacija se zapisuje pomoću S, s s U strukturnoj operacionoj semantici naglasak je na pojedinačnim koracima izvršavanja. Tranziciona relacija se zapisuje S, s γ i tumači kao prvi korak izvršavanja naredbe S u stanju s koje vodi do stanja γ. Stanje γ može biti S, s ili s. U prvom slučaju, izvršavanje S nije završeno i izračunavanje koje je preostalo predstavljeno je konfiguracijom S, s. U drugom slučaju, izvršavanje S se završilo i završno stanje je s. B While jezik While je jednostavan imperativni programski jezik definisan u [3]. Meta-promenljive i kategorije koje se koriste za opis jezika su: n uzima vrednosti iz opsega numeričkih literala, Num x uzima vrednosti iz opsega promenljivih, Var a predstavlja aritmetički izraz iz Aexp b predstavlja bulovski izraz iz Bexp S predstavlja naredbu iz Stm Numerali mogu biti niske cifara, a promenljive niske slova ili cifara koje započinju slovom. Struktura ostalih konstrukcija je sledeća: a ::= n x a 1 + a 2 a 1 a 2 a 1 a 2 b ::= true false a 1 = a 2 a 1 a 2 b b 1 b 2 S ::= x := a skip S 1; S 2 if b then S 1 else S 2 while b do S Uloga naredbe u While jeziku je promena stanja. Na primer, ako je x vezano za 3 u stanju s i izvrši se naredba x := x + 1, onda se dobija novo stanje u kojem je x vezano za 4. 12

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 Ψ,

Више

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005 Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005 2 Sadržaj 1 5 1.1 Specifikacija sintakse programskih

Више

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun Konstrukcija i analiza algoritama Nina Radojičić februar 2018. 1 Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne funkcije od argumenta n iz skupa N prirodnih brojeva.

Више

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)

Више

P2.1 Formalne gramatike

P2.1 Formalne gramatike Превођење Полазни језик? Одредишни језик 1 Превођење Полазни језик? Одредишни језик Како знање неког језика стиче и складишти човек, а како рачунар? 2 Два аспекта језика Синтакса Семантика значење То су

Више

Skripte2013

Skripte2013 Chapter 2 Algebarske strukture Preslikivanje f : A n! A se naziva n-arna operacija na skupu A Ako je n =2, kažemo da je f : A A! A binarna operacija na A Kažemo da je operacija f arnosti n, u oznaci ar

Више

Elementarna matematika 1 - Oblici matematickog mišljenja

Elementarna matematika 1 - Oblici matematickog mišljenja Oblici matematičkog mišljenja 2007/2008 Mišljenje (psihološka definicija) = izdvajanje u čovjekovoj spoznaji odre denih strana i svojstava promatranog objekta i njihovo dovo denje u odgovarajuće veze s

Више

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

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

Више

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

Више

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: -

Више

1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K.

1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K. 1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K. Elementi a k K su koeficijenti polinoma P (x). Ako

Више

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

Више

Teorija skupova - blog.sake.ba

Teorija skupova - blog.sake.ba Uvod Matematika je jedan od najomraženijih predmeta kod većine učenika S pravom, dakako! Zapitajmo se šta je uzrok tome? Da li je matematika zaista toliko teška, komplikovana? Odgovor je jednostavan, naravno

Више

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

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

Више

ФАКУЛТЕТ ОРГАНИЗАЦИОНИХ НАУКА

ФАКУЛТЕТ  ОРГАНИЗАЦИОНИХ  НАУКА Питања за усмени део испита из Математике 3 I. ДИФЕРЕНЦИЈАЛНЕ ЈЕДНАЧИНЕ 1. Појам диференцијалне једначине. Пикарова теорема. - Написати општи и нормални облик диференцијалне једначине првог реда. - Дефинисати:

Више

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

Орт колоквијум II колоквијум из Основа рачунарске технике I - 27/28 (.6.28.) Р е ш е њ е Задатак На улазе x, x 2, x 3, x 4 комбинационе мреже, са излазом z, долази четворобитни BCD број. Ако број са улаза при дељењу

Више

P11.3 Analiza zivotnog veka, Graf smetnji

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

Више

P1.2 Projektovanje asemblera

P1.2 Projektovanje asemblera ПРОЈЕКТОВАЊЕ АСЕМБЛЕРА Асемблер Модули асемблера 1 Дефинисање новог лингвистичког нивоа превођењем Потребан преводилац алат који преводи програм написан на једном језику (на једном лингвистичком нивоу)

Више

Рационални Бројеви Скуп рационалних бројева 1. Из скупа { 3 4, 2, 4, 11, 0, , 1 5, 12 3 } издвој подскуп: а) природних бројева; б) целих броје

Рационални Бројеви Скуп рационалних бројева 1. Из скупа { 3 4, 2, 4, 11, 0, , 1 5, 12 3 } издвој подскуп: а) природних бројева; б) целих броје Рационални Бројеви Скуп рационалних бројева. Из скупа {,,,, 0,,, } издвој подскуп: а) природних бројева; б) целих бројева; в) ненегативних рационалних бројева; г) негативних рационалних бројева.. Запиши

Више

P1.3 Projektovanje makroasemblera

P1.3 Projektovanje makroasemblera ПРОЈЕКТОВАЊЕ МАКРОАСЕМБЛЕРА Макроасемблер Потребна проширења асемблера 1 МАКРОАСЕМБЛЕР Макроасемблер преводи полазни програм написан на макроасемблерском језику у извршиви машински програм. Приликом израде

Више

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

Више

Р273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити ос

Р273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити ос Р273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити основне концепте мрежног модела 3. Објаснити основне

Више

1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan

1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan 1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan jednačinom oblika: a 11 x 2 + 2a 12 xy + a 22 y 2

Више

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

Више

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL 2. kolokvij 29. lipnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. (

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL 2. kolokvij 29. lipnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. ( MJERA I INTEGRAL. kolokvij 9. lipnja 018. (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni! 1. (ukupno 6 bodova Neka je (, F, µ prostor s mjerom, neka je (f n n1 niz F-izmjerivih funkcija

Више

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

Више

Microsoft Word - 1.Operacije i zakoni operacija

Microsoft Word - 1.Operacije i zakoni operacija 1. Operacije i zakoni operacija Neka je S neprazan skup. Operacija dužine n skupa S jeste svako preslikavanje : n n f S S ( S = S S S... S) Ako je n = 1, onda operaciju nazivamo unarna. ( f : S S ) Ako

Више

PowerPoint Presentation

PowerPoint Presentation УВОД Дa би рaчунaри нa мрежи могли међусобно да кoмуницирaју и рaзмeњују пoдaткe, пoтрeбнo je: дa сe увeду ПРOТOКOЛИ (утврђeна прaвилa и процедуре за комуникацију) да постоје АДРEСE кoje су jeдинствeнe

Више

Upitni jezik SQL

Upitni jezik SQL Šta je SQL? SQL (Structured Query Language) je jezik koji je Američki Institut za Nacionalne Standarde (ANSI - American National Standards Institute) prihvatio kao standardni jezik za relacione baze podataka.

Више

ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља www.

ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља www. ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља aleksandar@masstheory.org www.masstheory.org Август 2007 О ауторским правима: Дело

Више

Slide 1

Slide 1 OSNOVNI POJMOVI Naredba je uputa računalu za obavljanje određene radnje. Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Pisanje programa zovemo programiranje. Programski jezik

Више

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 Александар Картељ

Више

Mere slicnosti

Mere slicnosti Nenad Mitić Matematički fakultet nenad@matf.bg.ac.rs Kako odrediti sličnost/različitost, obrazaca, atributa, dogadjaja... Podaci različitog tipa i strukture Zavisnost od tipa, raspodele, dimenzionalnosti

Више

Пројектовање Информационих система

Пројектовање Информационих система 1 РЕЧНИК ПОДАТАКА 2 Речник података Увод Правила креирања речника података Хијерархијска декомпозиција ДТП Пример ДТП 3 Увод Речник података даје опис структуре и садржаја свих токова и складишта података.

Више

Microsoft PowerPoint - 12a PEK EMT VHDL 1 od 4 - Uvod (2011).ppt [Compatibility Mode]

Microsoft PowerPoint - 12a PEK EMT VHDL 1 od 4 - Uvod (2011).ppt [Compatibility Mode] VHDL jezik za opis hardvera VHDL jezik za opis hardvera VHDL jezik za opis hardvera Prof. Dr Predrag Petković Dr Miljana Milić Sadržaj 1. Šta je VHDL? 2. Opis hardvera 3. Signali 4. Osnove VHDL pravopisa

Више

08 RSA1

08 RSA1 Преглед ЗАШТИТА ПОДАТАКА Шифровање јавним кључем и хеш функције RSA алгоритам Биће објашњено: RSA алгоритам алгоритам прорачунски аспекти ефикасност коришћењем јавног кључа генерисање кључа сигурност проблем

Више

Microsoft Word - CAD sistemi

Microsoft Word - CAD sistemi U opštem slučaju, se mogu podeliti na 2D i 3D. 2D Prvo pojavljivanje 2D CAD sistema se dogodilo pre više od 30 godina. Do tada su inženjeri koristili table za crtanje (kulman), a zajednički jezik komuniciranja

Више

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

Више

MAT KOL (Banja Luka) ISSN (p), ISSN (o) Vol. XX (2)(2014), PELLOVA JEDNAČINA I PITAGORIN

MAT KOL (Banja Luka) ISSN (p), ISSN (o) Vol. XX (2)(2014), PELLOVA JEDNAČINA I PITAGORIN MAT KOL (Banja Luka) ISSN 0354 6969 (p), ISSN 986 5228 (o) Vol. XX (2)(204), 59 68 http://www.imvibl.org/dmbl/dmbl.htm PELLOVA JEDNAČINA I PITAGORINE TROJKE Amra Duraković Bernadin Ibrahimpašić 2, Sažetak

Више

PowerPoint Presentation

PowerPoint Presentation Колоквијум # задатак подељен на 4 питања: теоријска практична пишу се програми, коначно решење се записује на папиру, кодови се архивирају преко сајта Инжењерски оптимизациони алгоритми /3 Проблем: NLP:

Више

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc. SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.dr.sc. Zvonko Iljazović Zagreb, rujan, 2015. Ovaj diplomski

Више

Matematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3

Matematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3 Matematka Zadaci za vežbe Oktobar 5 Uvod.. Izračunati vrednost izraza bez upotrebe pomoćnih sredstava): ) [ a) 98.8.6 : b) : 7 5.5 : 8 : ) : :.. Uprostiti izraze: a) b) ) a b a+b + 6b a 9b + y+z c) a +b

Више

УНИВЕРЗИТЕТ У ИСТОЧНОМ САРАЈЕВУ П Р А В И Л А НОРМАТИВНО-ПРАВНЕ ТЕХНИКЕ ЗА ИЗРАДУ OПШТИХ АКАТА УНИВЕРЗИТЕТА У ИСТОЧНОМ САРАЈЕВУ Источно Сарајево, деце

УНИВЕРЗИТЕТ У ИСТОЧНОМ САРАЈЕВУ П Р А В И Л А НОРМАТИВНО-ПРАВНЕ ТЕХНИКЕ ЗА ИЗРАДУ OПШТИХ АКАТА УНИВЕРЗИТЕТА У ИСТОЧНОМ САРАЈЕВУ Источно Сарајево, деце УНИВЕРЗИТЕТ У ИСТОЧНОМ САРАЈЕВУ П Р А В И Л А НОРМАТИВНО-ПРАВНЕ ТЕХНИКЕ ЗА ИЗРАДУ OПШТИХ АКАТА УНИВЕРЗИТЕТА У ИСТОЧНОМ САРАЈЕВУ Источно Сарајево, децембар, 2013. године На основу члана 64. став 2. тачка

Више

Microsoft PowerPoint - Topic04-Serbian.ppt

Microsoft PowerPoint - Topic04-Serbian.ppt Tema 4 Osnovni koncepti za opis razvoja softvera DAAD Project Joint Course on Software Engineering Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University

Више

P1.1 Analiza efikasnosti algoritama 1

P1.1 Analiza efikasnosti algoritama 1 Analiza efikasnosti algoritama I Asimptotske notacije Master metoda (teorema) 1 Asimptotske notacije (1/2) Služe za opis vremena izvršenja algoritma T(n) gde je n N veličina ulaznih podataka npr. br. elemenata

Више

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić projektni zadatak projektovanje programa (algoritmi) pisanje programskog koda, izvorni kod,

Више

Школа Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР Школска 2018 /2019. Назив предмета: Информатика и рачунарство Разред: 5. Недељни број часова

Школа Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР Школска 2018 /2019. Назив предмета: Информатика и рачунарство Разред: 5. Недељни број часова Школа Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР јединице 1. 1. Увод у информатику и рачунарство 1. 2. Oрганизација података на рачунару 1. 3. Рад са текстуалним документима 1. 4. Форматирање

Више

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

Више

ALIP1_udzb_2019.indb

ALIP1_udzb_2019.indb Razmislimo Kako u memoriji računala prikazujemo tekst, brojeve, slike? Gdje se spremaju svi ti podatci? Kako uopće izgleda memorija računala i koji ju elektronički sklopovi čine? Kako biste znali odgovoriti

Више

Title

Title 1. Realni brojevi Prirodno bi bilo konstruisati skup realnih brojeva korak po korak, od prirodnih brojeva preko cijelih, racionalnih i na kraju iracionalnih. Medutim, mi ćemo tom problemu ovdje pristupiti

Више

Popularna matematika

Popularna matematika 6. lipnja 2009. Russellov paradoks Russellov paradoks Bertrand Arthur William Russell (1872. - 1970.), engleski filozof, matematičar i društveni reformator. Russellov paradoks Bertrand Arthur William Russell

Више

NAUČNO-STRUČNA KONFERENCIJA LOGOPEDA SRBIJE INOVATIVNI PRISTUPI U LOGOPEDIJI Nacionalni skup sa međunarodnim učešćem Organizator: Udruženje logopeda S

NAUČNO-STRUČNA KONFERENCIJA LOGOPEDA SRBIJE INOVATIVNI PRISTUPI U LOGOPEDIJI Nacionalni skup sa međunarodnim učešćem Organizator: Udruženje logopeda S NAUČNO-STRUČNA KONFERENCIJA LOGOPEDA SRBIJE INOVATIVNI PRISTUPI U LOGOPEDIJI Nacionalni skup sa međunarodnim učešćem Organizator: Udruženje logopeda Srbije Kralja Milutina 52, Beograd Datum održavanja:

Више

I колоквијум из Основа рачунарске технике I СИ- 2017/2018 ( ) Р е ш е њ е Задатак 1 Тачка А Потребно је прво пронаћи вредности функција f(x

I колоквијум из Основа рачунарске технике I СИ- 2017/2018 ( ) Р е ш е њ е Задатак 1 Тачка А Потребно је прво пронаћи вредности функција f(x I колоквијум из Основа рачунарске технике I СИ- / (...) Р е ш е њ е Задатак Тачка А Потребно је прво пронаћи вредности функција f(x, x, x ) и g(x, x, x ) на свим векторима. f(x, x, x ) = x x + x x + x

Више

Matematika 1 - izborna

Matematika 1 - izborna 3.3. NELINEARNE DIOFANTSKE JEDNADŽBE Navest ćemo sada neke metode rješavanja diofantskih jednadžbi koje su drugog i viših stupnjeva. Sve su te metode zapravo posebni oblici jedne opće metode, koja se naziva

Више

Model podataka

Model podataka Fakultet organizacionih nauka Uvod u informacione sisteme Doc. Dr Ognjen Pantelić Modeliranje podataka definisanje strategije snimanje postojećeg stanja projektovanje aplikativno modeliranje implementacija

Више

PRIRODNO-MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA MATEMATIKU I INFORMATIKU ZADACI SA REŠENJIMA SA PRIJEMNOG ISPITA IZ MATEMATIKE, JUN Odrediti

PRIRODNO-MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA MATEMATIKU I INFORMATIKU ZADACI SA REŠENJIMA SA PRIJEMNOG ISPITA IZ MATEMATIKE, JUN Odrediti PRIRODNO-MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA MATEMATIKU I INFORMATIKU ZADACI SA REŠENJIMA SA PRIJEMNOG ISPITA IZ MATEMATIKE, JUN 0. Odrediti moduo kompleksnog broja Rešenje: Uočimo da važi z = + i00

Више

My_P_Red_Bin_Zbir_Free

My_P_Red_Bin_Zbir_Free БИНОМНА ФОРМУЛА Шт треба знати пре почетка решавања задатака? I Треба знати биному формулу која даје одговор на питање чему је једнак развој једног бинома када га степенујемо са бројем 0 ( ) или ( ) 0!,

Више

LAB PRAKTIKUM OR1 _ETR_

LAB PRAKTIKUM OR1 _ETR_ UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKULTET STUDIJSKI PROGRAM: ELEKTRONIKA, TELEKOMUNIKACIJE I RAČUNARI PREDMET: OSNOVE RAČUNARSTVA 1 FOND ČASOVA: 2+1+1 LABORATORIJSKA VJEŽBA BROJ 1 NAZIV: REALIZACIJA

Више

Slide 1

Slide 1 1 MATEMATIČKI MODELI EFIKASNOSTI 3/21/2019 Gordana Savić, Milan Martić, Milena Popović 2 Informacije o predmetu Nastavnici Pravila polaganja Sadržaj predmeta Literatura Podsećanje Linearno programiranje

Више

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime Test ispravio: () () Ukupan broj bodova:. veljače 04. od 3:00 do 4:00 Ime i prezime Razred Škola Županija Mentor Sadržaj Upute za natjecatelje... Zadaci... Upute za natjecatelje Vrijeme pisanja: 60 minuta

Више

PowerPoint Presentation

PowerPoint Presentation Metode i tehnike utvrđivanja korišćenja proizvodnih kapaciteta Metode i tehnike utvrđivanja korišćenja proizvodnih kapaciteta Sa stanovišta pristupa problemu korišćenja kapaciteta, razlikuju se metode

Више

Kombinatorno testiranje

Kombinatorno testiranje Kombinatorno testiranje Uvod Na ponašanje aplikacije utiče puno faktora, npr. ulazne vrednosti, konfiguracije okruženja. Tehnike kao što je podela na klase ekvivalencije ili analiza graničnih vrednosti

Више

Matrice. Algebarske operacije s matricama. - Predavanje I

Matrice. Algebarske operacije s matricama. - Predavanje I Matrice.. Predavanje I Ines Radošević inesr@math.uniri.hr Odjel za matematiku Sveučilišta u Rijeci Matrice... Matrice... Podsjeti se... skup, element skupa,..., matematička logika skupovi brojeva N,...,

Више

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

Више

Microsoft Word - Lekcija 11.doc

Microsoft Word - Lekcija 11.doc Лекција : Креирање графова Mathcad олакшава креирање x-y графика. Треба само кликнути на нови фајл, откуцати израз који зависи од једне варијабле, например, sin(x), а онда кликнути на дугме X-Y Plot на

Више

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

Више

COMARC/A Format

COMARC/A Format COMARC/A 856 856 ELEKTRONSKA LOKACIJA I PRISTUP Polje možemo da koristimo u normativnim zapisima za obezbeđivanje dodatnih (elektronskih) informacija o entitetu za koji je zapis kreiran. Polje sadrži podatke

Више

KDP

KDP Региони Региони Програмска парадигма за приступ критичној секцији Увођење посебне синтаксе за експлицитно означавање критичних секција Обезбеђивање међусобног искључивања процеса Условни критични регион

Више

PASCAL UVOD 2 II razred gimnazije

PASCAL UVOD 2 II razred gimnazije PASCAL UVOD 2 II razred gimnazije Upis-ispis 1. Upis Read(a,b); --u jednom redu Readln(a,b); -- nakon upisa prelazi se u novi red 2. Ispis Write(a,b); -- u jednom redu Writeln(a,b); --nakon ispisa prelazi

Више

УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке Писмени део испита из предмета Увод у рачунарство 1. [7 пое

УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке Писмени део испита из предмета Увод у рачунарство 1. [7 пое УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке 30.06.2018. Писмени део испита из предмета Увод у рачунарство 1. [7 поена] Методом МакКласкија минимизарити систем прекидачких

Више

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

Више

Pojačavači

Pojačavači Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku dr Dejan S. Aleksić Programiranje u fizici dr Dejan S. Aleksić, vanredni profesor Kabinet 307 (treći sprat), lab. za elektroniku

Више

Microsoft Word - 02 Elementi programskog jezika Pascal

Microsoft Word - 02 Elementi programskog jezika Pascal Elementi programskog jezika Pascal Osnovni elementi jezika Osnovni simboli U programskom jeziku Pascal sve konstrukcije se grade od skupa osnovnih simbola jezika koji čine slova, cifre i specijalni znaci.

Више

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

1 Podsetnik: Statističke relacije Matematičko očekivanje (srednja vrednost): E X x p x p x p - Diskretna sl promenljiva 1 1 k k xf ( x) dx E X - Kontinualna sl promenljiva Varijansa: Var X X E X E X 1 N

Више

12 Stanje

12 Stanje Projektovanje softvera (1) Ime i klasifikacija: (engl. State) objektni uzorak ponašanja Namena: omogućava objektu da pouzdano menja svoje ponašanje kada se menja njegovo unutrašnje stanje izgleda kao da

Више

Алгебарски изрази 1. Запиши пет произвољних бројевних израза. 2. Израчунај вредност израза: а) : ; б) : (

Алгебарски изрази 1. Запиши пет произвољних бројевних израза. 2. Израчунај вредност израза: а) : ; б) : ( Алгебарски изрази 1. Запиши пет произвољних бројевних израза. 2. Израчунај вредност израза: а) 5 3 4 : 2 1 2 + 1 1 6 2 3 4 ; б) 5 3 4 : ( 2 1 2 + 1 1 6 ) 2 3 4 ; в) ( 5 3 4 : 2 1 2 + 1 1 6 ) 2 3 4 ; г)

Више

QFD METODA – PRIMER

QFD METODA – PRIMER QFD METODA - PRIMER PROBLEM: U kompaniji X koja se bavi izradom kompjuterskih softvera uočen je pad prodaje konkretnog softvera - Softver za vođenje knjigovodstva. Kompanija X je raspolagala sa jednom

Више

Osnovni pojmovi teorije verovatnoce

Osnovni pojmovi teorije verovatnoce Osnovni pojmovi teorije verovatnoće Profesor Milan Merkle emerkle@etf.rs milanmerkle.etf.rs Verovatnoća i Statistika-proleće 2019 Milan Merkle Osnovni pojmovi ETF Beograd 1 / 13 Verovatnoća i statistika:

Више

DUBINSKA ANALIZA PODATAKA

DUBINSKA ANALIZA PODATAKA DUBINSKA ANALIZA PODATAKA () ASOCIJACIJSKA PRAVILA (ENGL. ASSOCIATION RULE) Studeni 2018. Mario Somek SADRŽAJ Asocijacijska pravila? Oblici učenja pravila Podaci za analizu Algoritam Primjer Izvođenje

Више

PowerPoint Presentation

PowerPoint Presentation + Fakultet organizacionih nauka Upravljanje razvojem IS MSc Ana Pajić Simović ana.pajic@fon.bg.ac.rs ANALIZA POSLOVNIH PROCESA BUSINESS PROCESS MANAGEMENT (BPM) PROCESS MINING + Business Process Management

Више

Повезивање са интернетом

Повезивање са интернетом Драгана Стопић Сваки рачунар на интернету има своју адресу која је јединствена у свету. Ове адресе се називају IP адресе јер их користи IP протокол (интернет ниво) из фамилије TCP/IP. IP адресе представљају

Више

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

Више

ZADACI ZA VJEŽBU 1. Dokažite da vrijedi: (a) (A \ B) (B \ A) = (A B) (A C B C ), (b) A \ (B \ C) = (A C) (A \ B), (c) (A B) \ C = (A \ C) (B \ C). 2.

ZADACI ZA VJEŽBU 1. Dokažite da vrijedi: (a) (A \ B) (B \ A) = (A B) (A C B C ), (b) A \ (B \ C) = (A C) (A \ B), (c) (A B) \ C = (A \ C) (B \ C). 2. ZADACI ZA VJEŽBU. Dokažite da vrijedi: (a) (A \ B) (B \ A) = (A B) (A C B C ), (b) A \ (B \ C) = (A C) (A \ B), (c) (A B) \ C = (A \ C) (B \ C).. Pomoću matematičke indukcije dokažite da za svaki n N vrijedi:

Више

Microsoft Word - predavanje8

Microsoft Word - predavanje8 DERIVACIJA KOMPOZICIJE FUNKCIJA Ponekad je potrebno derivirati funkcije koje nisu jednostavne (složene su). Na primjer, funkcija sin2 je kompozicija funkcija sin (vanjska funkcija) i 2 (unutarnja funkcija).

Више

Ravno kretanje krutog tela

Ravno kretanje krutog tela Ravno kretanje krutog tela Brzine tačaka tela u reprezentativnom preseku Ubrzanja tačaka u reprezentativnom preseku Primer određivanja brzina i ubrzanja kod ravnog mehanizma Ravno kretanje krutog tela

Више

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

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

Више

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, 5.06.019. godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekstenzija se najčešće koristi za tekstualne datoteke? a)

Више

Uvod u statistiku

Uvod u statistiku Uvod u statistiku Osnovni pojmovi Statistika nauka o podacima Uključuje prikupljanje, klasifikaciju, prikaz, obradu i interpretaciju podataka Staistička jedinica objekat kome se mjeri neko svojstvo. Svi

Више

Konstrukcija linearnih višekoračnih metodi Postoje tri važne familije višekoračnih metoda: Adamsovi metodi Adams-Bashfortovi metodi kod kojih je ρ(w)

Konstrukcija linearnih višekoračnih metodi Postoje tri važne familije višekoračnih metoda: Adamsovi metodi Adams-Bashfortovi metodi kod kojih je ρ(w) Konstrukcija linearnih višekoračnih metodi Postoje tri važne familije višekoračnih metoda: Adamsovi metodi Adams-Bashfortovi metodi kod kojih je ρ(w) = w k w k 1 Adams-Moultonovi metodi kod kojih je ρ(w)

Више

Microsoft Word - vopr.doc

Microsoft Word - vopr.doc Теоретическая грамматика сербского языка. Вопросы к экзамену 1. Систем вокала. Класификације. Особености артикулације. 2. Систем консонаната. Прави сугласници. Сонанти. 3. Алтернације. 4. Српска ћирилица

Више

Maksimalni protok kroz mrežu - Ford-Fulkerson, Edmonds-Karp

Maksimalni protok kroz mrežu - Ford-Fulkerson, Edmonds-Karp Maksimalni protok kroz mrežu - Ford-Fulkerson, Edmonds-Karp PMF-MO Seminar iz kolegija Oblikovanje i analiza algoritama 22.1.2019. mrežu - Ford-Fulkerson, Edmonds-Karp 22.1.2019. 1 / 35 Uvod - definicije

Више

My_P_Trigo_Zbir_Free

My_P_Trigo_Zbir_Free Штa треба знати пре почетка решавања задатака? ТРИГОНОМЕТРИЈА Ниво - Основне формуле које произилазе из дефиниција тригонометријских функција Тригонометријске функције се дефинишу у правоуглом троуглу

Више

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije korake. Uz dobro razrađen algoritam neku radnju ćemo

Више

My_ST_FTNIspiti_Free

My_ST_FTNIspiti_Free ИСПИТНИ ЗАДАЦИ СУ ГРУПИСАНИ ПО ТЕМАМА: ЛИМЕСИ ИЗВОДИ ФУНКЦИЈЕ ЈЕДНЕ ПРОМЕНЉИВЕ ИСПИТИВАЊЕ ТОКА ФУНКЦИЈЕ ЕКСТРЕМИ ФУНКЦИЈЕ СА ВИШЕ ПРОМЕНЉИВИХ 5 ИНТЕГРАЛИ ДОДАТАК ФТН Испити С т р а н а Лимеси Одредити

Више

Natjecanje 2016.

Natjecanje 2016. I RAZRED Zadatak 1 Grafiĉki predstavi funkciju RJEŠENJE 2, { Za, imamo Za, ), imamo, Za imamo I RAZRED Zadatak 2 Neka su realni brojevi koji nisu svi jednaki, takvi da vrijedi Dokaži da je RJEŠENJE Neka

Више

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

Више

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

Више

Analiticka geometrija

Analiticka geometrija Analitička geometrija Predavanje 8 Vektori u prostoru. Skalarni proizvod vektora Novi Sad, 2018. Milica Žigić (PMF, UNS 2018) Analitička geometrija predavanje 8 1 / 11 Vektori u prostoru i pravougli koordinatni

Више