Aksiomatska semantika kroz primere Seminarski rad u okviru kursa Verifikacija softvera Matematički fakultet Nikola Katić, 1094/2017
|
|
- Adnan Bitenc
- пре 5 година
- Прикази:
Транскрипт
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
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 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 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
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
Превођење Полазни језик? Одредишни језик 1 Превођење Полазни језик? Одредишни језик Како знање неког језика стиче и складишти човек, а како рачунар? 2 Два аспекта језика Синтакса Семантика значење То су
Више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
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]
Сложеност алгоритама (Програмирање 2, глава 3, глава 4-4.3) Проблем: класа задатака истог типа Велики број различитих (коректних) алгоритама Величина (димензија) проблема нпр. количина података које треба
Више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 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. Elementi a k K su koeficijenti polinoma P (x). Ako
Више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
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
Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи
ВишеP1.2 Projektovanje asemblera
ПРОЈЕКТОВАЊЕ АСЕМБЛЕРА Асемблер Модули асемблера 1 Дефинисање новог лингвистичког нивоа превођењем Потребан преводилац алат који преводи програм написан на једном језику (на једном лингвистичком нивоу)
ВишеРационални Бројеви Скуп рационалних бројева 1. Из скупа { 3 4, 2, 4, 11, 0, , 1 5, 12 3 } издвој подскуп: а) природних бројева; б) целих броје
Рационални Бројеви Скуп рационалних бројева. Из скупа {,,,, 0,,, } издвој подскуп: а) природних бројева; б) целих бројева; в) ненегативних рационалних бројева; г) негативних рационалних бројева.. Запиши
ВишеP1.3 Projektovanje makroasemblera
ПРОЈЕКТОВАЊЕ МАКРОАСЕМБЛЕРА Макроасемблер Потребна проширења асемблера 1 МАКРОАСЕМБЛЕР Макроасемблер преводи полазни програм написан на макроасемблерском језику у извршиви машински програм. Приликом израде
Више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. Објаснити основне концепте мрежног модела 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 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]
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. (
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 Š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
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
УВОД Д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
Š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.
ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља aleksandar@masstheory.org www.masstheory.org Август 2007 О ауторским правима: Дело
Више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
Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Низови у програмском језику Јава Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ
Више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]
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
Преглед ЗАШТИТА ПОДАТАКА Шифровање јавним кључем и хеш функције RSA алгоритам Биће објашњено: RSA алгоритам алгоритам прорачунски аспекти ефикасност коришћењем јавног кључа генерисање кључа сигурност проблем
Више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 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 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
Колоквијум # задатак подељен на 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.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 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ПШТИХ АКАТА УНИВЕРЗИТЕТА У ИСТОЧНОМ САРАЈЕВУ Источно Сарајево, децембар, 2013. године На основу члана 64. став 2. тачка
Више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
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ć projektni zadatak projektovanje programa (algoritmi) pisanje programskog koda, izvorni kod,
ВишеШкола Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР Школска 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 http://www.mi.sanu.ac.rs/ tanjad (tanjad@mi.sanu.ac.rs) 21. januar 2013. Tatjana
Више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
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
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 Srbije Kralja Milutina 52, Beograd Datum održavanja:
Више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
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
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 0. Odrediti moduo kompleksnog broja Rešenje: Uočimo da važi z = + i00
ВишеMy_P_Red_Bin_Zbir_Free
БИНОМНА ФОРМУЛА Шт треба знати пре почетка решавања задатака? I Треба знати биному формулу која даје одговор на питање чему је једнак развој једног бинома када га степенујемо са бројем 0 ( ) или ( ) 0!,
Више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
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: () () 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
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 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.. 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
Ž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
Лекција : Креирање графова 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, očekuje se da su koordinate celobrojne. U slučaju
Више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
Региони Региони Програмска парадигма за приступ критичној секцији Увођење посебне синтаксе за експлицитно означавање критичних секција Обезбеђивање међусобног искључивања процеса Условни критични регион
Више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 пое
УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке 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 Brkić SI 29/15 Zrenjanin 2018. Softversko inženjerstvo
Више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
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
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
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
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. Израчунај вредност израза: а) 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 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 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 () 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
+ 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 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. 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
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 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олоквијум из Интелигентних система Колоквију
Електротехнички факултет Универзитета у Београду 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, 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 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) = w k w k 1 Adams-Moultonovi metodi kod kojih je ρ(w)
Више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 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
Шт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 korake. Uz dobro razrađen algoritam neku radnju ćemo
ВишеMy_ST_FTNIspiti_Free
ИСПИТНИ ЗАДАЦИ СУ ГРУПИСАНИ ПО ТЕМАМА: ЛИМЕСИ ИЗВОДИ ФУНКЦИЈЕ ЈЕДНЕ ПРОМЕНЉИВЕ ИСПИТИВАЊЕ ТОКА ФУНКЦИЈЕ ЕКСТРЕМИ ФУНКЦИЈЕ СА ВИШЕ ПРОМЕНЉИВИХ 5 ИНТЕГРАЛИ ДОДАТАК ФТН Испити С т р а н а Лимеси Одредити
Више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
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 Motivacija za logičke satove 2 U asinhronim sistemima, često ne
Више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
Више