Programske paradigme
|
|
- Δημήτηρ Καραβίας
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Programske paradigme Osnovna svojstva programskih jezika Milena Vujošević Janičić Matematički fakultet, Univerzitet u Beogradu Sadržaj 1 Uvod 1 2 Leksika, sintaksa, semantika Leksika Sintaksa Neformalna semantika Operaciona semantika Denotaciona semantika Aksiomatska semantika Imena, povezanost, doseg Imena Promenljive Doseg Životni vek Povezivanje Kontrola toka i tipovi Kontrola toka Tipovi Prevodenje i izvršavanje Kompilacija vs Interpretiranje Izvršavanje Pitanja i literatura 17 1 Uvod Svojstva programskih jezika Šta je ono što čini dva programska jezika sličnim? Na osnovu čega neki jezik pripada nekoj paradigmi? Šta je ono što čini dva programska jezika različitim?
2 Na osnovu čega neki jezik ne pripada nekoj paradigmi? Šta je zajedničko za sve programske jezike? Šta je ono što je specifično za svaki programski jezik? Šta je ono što je specifično za neki programski jezik? Svojstva programskih jezika Postoje različita svojstva programskih jezika koja ćemo izučavati: Sintaksa Semantika Imena, doseg, povezanost Kontrola toka, podrutine Tipovi Kompajlirani/Interpretirani jezici Izvršavanje 2 Leksika, sintaksa, semantika 2.1 Leksika Leksika Programski jezici moraju da budu precizni Leksika je podoblast sintakse koja se bavi opisivanjem osnovnih gradivnih elemenata jezika. U okviru leksike, definišu se reči i njihove kategorije U programskom jeziku, reči se nazivaju lekseme, a kategorije tokeni. U prirodnom jeziku, kategorije su imenice, glagoli, pridevi U programskom jeziku, tokeni mogu da budu identifikatori, ključne reči, operatori... Leksika a = 2 * b + 1 lekseme su a, =, 2, *, +, 1 i b, a njima odgovarajući tokeni su identifikator (a i b), operator =, operator *, operator +, celobrojni literali 2 i 1. Neki tokeni sadrže samo jednu reč, a neki mogu sadržati puno različitih reči Programski jezik C sadrži više od 100 različitih tokena: 44 različite ključne reči, identifikatore, celobrojne vrednosti, realne vrednsoti, karakterske konstante, stringovske literale, dve vrste komentara, 54 operatora... Drugi moderni progmraski jezici (npr Ada, Java) imaj sličan nivo kompleksnosti tokena 2
3 Leksika Razlikujemo ključne reči i identifikatore: identifikator ne može biti neka od ključnih reči, npr ne možemo da napravimo promenljivu koja bi se zvala if ili while Postoje ključne reči koje zavise od konteksta, engl. contextual keywords koje su ključne reči na odredenim specifičnim mestima porgrama, ali mogu biti identifikatori na drugim mestima. Na primer, u C# -u reč yield može da se pojavi ispred break ili return, na mestima na kojima identifikator ne može da se pojavi. Na tim mestima, ona se interpretira kao ključna reč, ali može da se koristi na drugim mestima i kao identifikator. Leksika C# 4.0 ima 26 takvih konteksno zavisnih ključnih reči, C++11 ih takode ima dosta. Većina je uvedena revizijom postojećeg jezika sa ciljem da se definiše novi standard: sa velikim brojem korisnika i napisanog koda, vrlo je verovatno da se neka reč već koristi kao identifikator u nekom postojećem programu. Uvodenjem kontekstualne ključne reči, umesto obične ključne reči, smanjuje se rizik da se postojeći program neće kompilirati sa novom verzijom standarda. Leksika Reči su obično definišu regularnim izrazima Na primer, [a-za-z_][a-za-z_0-9]* Regularnim izrazima se definišu reči, dok se konačnim automatima prepoznaju ispravne reči. Generisanje je bitno programerima, a prepoznavanje kompajlerima Leksikom programa obično se bavi deo prevodioca koji se naziva leksički analizator: on dodeljuje ulaznim rečima odgovarajuće kategorije, što je bitno za dalji proces prevodenja. 2.2 Sintaksa Sintaksa Sintaksa programskog jezika definiše strukturu izraza, odnosno načine kombinovanja osnovnih elemenata jezika u ispravne jezičke konstrukcije. Formalno, sintakse se opisuju kontekstno slobodnim gramatikama, a prepoznaju parserima (potisni automat) 3
4 Sintaksa Na primer, sledeća jednostavna gramatika definiše jednostavne aritmetičke izraze <exp> ::= <exp> "+" <exp> <exp> ::= <exp> "*" <exp> <exp> ::= "(" <exp> ")" <exp> ::= "a" <exp> ::= "b" <exp> ::= "c" Program u ovom jeziku je proizvod ili suma od a, b i c, na primer ispravan izraz je a*(b+c) 2.3 Neformalna semantika Semantika Semantika pridružuje značanje ispravnim konstrukcijama na nekom programskom jeziku. Semantika programskog jezika odreduje značenje jezika. Obično je značajno teže definisati nego sintaksu. Semantika Semantika može da se opiše formalno i neformalno, često se zadaje samo neformalno. Uloga neformalne semantike je da programer može da razume kako se program izvršava pre njegovog pokretanja. Na primer, semnatika nardbe if(a<b) a++; neformalno se opisuje sa ukoliko je vrednost promenljive a manja od vrednosti promenljive b, onda uvećaj vrendnost promenljive a za jedan Uloga formalne semantike Formalna semantika omogućava formalno rezonovanje o svojstvima programa Na primer, formalna semantika nekog jezika, zajedno sa modelom programa (tranzicionim sistemom) omogućava ispitivanje različitih uslova ispravnosti/korektnosti tog programa Različitim programskim jezicima prirodno odgovaraju različite semantike 4
5 Semantika Formalan opis značenja jezičkih konstrukcija Operaciona semantika Denotaciona semantika Aksiomska semantika 2.4 Operaciona semantika Operaciona semantika Operaciona semantika opisuje kako se izračunavanje izvršava. Ponašanje se formalno definiše korišćenjem apstraktnih mašina, formalnih automata, tranzicionih sistema... U okviru ove semantike postoje strukturna operaciona semantika (smallstep semantics, opisuje individualne korake izračunavanja) i prirodna operaciona semantika (big-step semantics, opisuje ukupne rezultate izračunavanja). Najčešće se koristi za opis i rezonovanje o imperativnim jezicima jer individualni koraci izračunavanja opisuju na koji način se menja stanje programa. Primer operacione semantike: prirodna semantika S, s s Intuitivno ovo znači da izvršavanje programa S sa ulaznim stanjem s će se završiti i rezultujuće stanje će biti s. Pravilo generalno ima formu S 1,s 1 s 1,..., Sn,sn s n S,s s gde S 1,..., S n nazivamo neposrednim konstituentima (eng. immediate constituents) od S. Pravilo se sastoji iz odredenog broja premisa (nalaze se iznad linije) i jednog zaključka (nalazi se ispod linije). Pravilo takode može imati odredeni broj uslova (nalaze se sa desne strane linije) koji moraju biti ispunjeni kako bi se primenilo pravilo. Pravilo sa praznim skupom premisa se naziva aksioma. Primer prirodne semantike B semantika bulovskog izraza, A semantika aritmetičkog izraza Primer (z := x, x := y); y := z Neka s 0 bude stanje koje mapira sve promenljive osim x i y u 0 i ima x = 5 i y = 7. Tada dobijamo sledeće stablo izvodenja: z:=x,s 0 s 1 x:=y,s 1 s 2 z:=x,x:=y,s 0 s 2 y:=z,s 2 s 3 (z:=x;x:=y);y:=z,s 0 s 3 5
6 [ass ns ] [skip ns ] [comp ns ] [if tt ns] [if ff ns ] [while tt ns] [while ff ns] x := a, s s[x A[[a]]s] skip, s s S 1,s s, S 2,s s S 1;S 2,s s S 1,s s if b then S 1 else S 2, s s if B[[b]]s = tt S 2,s s if b then S 1 else S 2, s s if B[[b]]s = ff S,s s, while b do S, s s while b do S, s s if B[[b]]s = tt while b do S, s s if B[[b]]s = ff Osobine semantike Kada imamo definisanu semantiku, to nam omogucava da rezonujemo o osobinama te semantike. Primer: Može da nas interesuje da li su dve naredbe semantički ekvivalentne, donosno da li važi da za svaka dva stanja s i s važi sledeće S 1, s s akko S 2, s s Možemo da formulišemo sledeću lemu Naredba while b do S je semantički ekvivalentna sa if b then (S; while b do S) else skip Skica dokaza Potrebno je dokazati dva smera, tj ako i samo ako while b do S, s s if b then (S; while b do S) else skip, s s Dokaz se izvodi konstruisanjem stabla izvodenja na osnovu pravila izvodenja koja su data semantikom. Na primer, ako pretpostavimo da važi while b do S, s s onda postoji stablo izvodenja kojima se dolazi do stanja s. Ukoliko pogledamo pravila izvodenja, do takvog stabla možemo da dodemo samo primenim pravila [while tt ns] ili pravila [while ff ns]. Potrebno je razmotriti jedan i drugi slučaj. Skica dokaza 6
7 (prvi slučaj): ukoliko se primeni pravilo [while tt ns] to se onda stablo izvodenja svodi na primenu ovog pravila: S, s s, while b do S, s s while b do S, s s pri čemu važi B[[b]]s = tt odnosno stablo izvodenja izgleda ovako T 1 T 2 while b do S, s s pri čemu je T 1 nekakvo izvodenje za S, s s a T 2 nekakvo izvodenje za while b do S, s s Skica dokaza Koristeći T 1 i T 2, možemo da primenimo i pravilo kompozicije [comp ns ] i da izvedemo sledeći zaključak T 1 T 2 S; while b do S, s s Pošto znamo da je B[[b]]s = tt, možemo da primenimo [if tt ns] i da nam stablo izvodenja sada izgleda ovako, čime smo pokazali da željeno svojstvo važi: T 1 T 2 S; while b do S, s s if b then (S; while b do S) else skip, s s Dalje je potrebno razmotriti [while ff ns] Strukturna operaciona semantika Tranzicionu relaciju zapisujemo ovako S, s = γ ovo treba razmatrati kao prvi korak izvršavanja programa S u stanju s koji vodi do stanja γ. Možemo razlikovati dva slučaja za γ: 1. γ = S, s : izvršavanje programa S sa ulaznim stanjem s nije završeno, i ostatak izračunavanja će biti izraženo srednjom konfiguracijom S, s. 2. γ = s : izvršavanje programa S sa ulaznim stanjem s se završilo sa završnim stanjem s. Strukturna operaciona semantika 7
8 SOS omogućava praćenje sitnijih detalja izračunavanja 2.5 Denotaciona semantika Denotaciona semantika Denotaciona semantika definiše značenje prevodenjem u drugi jezik, za koji se pretpostavlja da je poznata semantika Najčešće je taj drugi jezik nekakav matematički formalizam Povezivanje svakog dela programskog jezika sa nekim matematičkim objektom kao što je broj ili funkcija: svaka sintaksna definicija se tretira kao objekat na koji se može primeniti funkcija koja taj objekat preslikava u matematički objekat koji definiše značenje. Dodeljivanjem značenja delovima programa dodeljuje se značenje celokupnom programu, tj semantika jedne programske celine definisana je preko semantike njenih poddelova. Ova osobina denotacione semantike naziva se kompozitivnost. Denotaciona semantika Sintaksni domeni i pravila: B : Broj B je nenegativan broj C : Cifra C je cifra 0,1...,9 I : Izraz Broj ::== Cif ra BrojCif ra Cif ra ::== Izraz ::== Broj Izraz + Izraz Denotaciona semantika Sledeći korak jeste definisanje matematičkih objekata koji će predstavljati semantičke vrednosti. Ti matematički objekti nazivaju se semantički domeni. 8
9 Njihova kompleksnost zavisi od toga koliko je kompleksan programski jezik kojem dajemo značenje, u ovom jednostavnom primeru, semantička vrednost može biti i samo prirodan broj. Semantički domeni N = 0, 1, 2, 3,... skup prirodnih brojeva Denotaciona semantika Funkcije značenja daju značenje uvedenim sintaksnim definicijama. Funkcije značenja povezibn : B N unarna funkcija - povezuje broj sa N povezicn : C N unarna funkcija - povezuje cifru sa N semantika : I N unarna funkcija - povezuje izraz sa N plus : N N N binarna funkcija plus - isto što i + pom : N N N binarna funkcija pom - isto što i * povezicn[[0]] = 0,..., povezicn[[9]] = 9 povezibn[[c]] = povezicn[[c]] povezibn[[bc]] = plus(pom(10, povezibn[[b]]), povezibn[[c]]) semantika[[b]] = povezibn[[b]] semantika[[i1 + I2]] = plus(semantika[[i1]], semantika[[i2]]) Zagrade [[, ]] imaju ulogu da razdvoje semantički deo od sintaksnog dela. U okviru zagrada nalazi se sintaksni deo definicija. Denotaciona semantika Pronaći značenje izraza semantika[[ ]] = plus(semantika[[2+32]],semantika[[61]]) = plus(plus(semantika[[2]],semantika[[32]]),povezibn[[61]]) = plus(plus(2,32),61) = plus(2+32,61) = plus(34+61) = = 95 jer je: semantika[[2]] = povezibn[[2]] = povezicn[[2]] = 2 semantika[[32]] = povezibn[[32]] = plus(pom(10,povezibn[[3]]),povezibn[[2]]) =plus(pom(10,povezicn[[3]]),povezicn[[2]]) = plus(pom(10,3),2) = plus(10*3,2) = plus(30,2) = 30+2 = 32 semantika[[61]] = povezibn[[61]] = plus(pom(10,povezibn[[6]]),povezibn[[1]]) = plus(pom(10,povezicn[[6]]),povezicn[[1]]) = plus(pom(10,6),1) = plus(10*6,1) = plus(60,1) = 60+1 = 61 Denotaciona semantika Denotaciona semantika apstrahuje izvršavanje programa. Koristi se za definisanje semantike funkcionalnih programskih jezika funkcionalno programiranje zasniva se na pojmu matematičkih funkcija i izvršavanje programa svodi se na evaluaciju funkcija. Analiziranje programa se svodi na analiziranje matematičkih objekata, što olakšava formalno dokazivanje semantičkih svojstava programa. 2.6 Aksiomatska semantika Aksiomatska semantika 9
10 Aksiomska semantika zasniva se na matematičkoj logici, na primer na Horovoj logici Horova trojka {P} C {Q}; opisuje kako izvršavanje dela koda menja stanje izračunavanja: ako je ispunjen preduslov {P}, izvršavanje komande C vodi do postuslova {Q} Horova logika obezbeduje aksiome i pravila izvodenja za sve konstrukte jednostavnog imperativnog programskog jezika Aksiomatska semantika primer [ass p ] {P [x [A]} x := a {P } [skip p ] {P } skip {P } [comp p ] [if p ] [while p ] [cons p p] {P } S 1 {Q}, {Q} S 2 {R} {P } S 1; S 2{R} {B [b ] P } S 1 {Q}, { B [b ] P } S 1 {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} if P P and Q Q Semantika Kompajler prevodi kod na mašinski kod u skladu sa zadatom semantikom jezika. Tokom kompilacije, vrši se proveravanje da li postoji neka semantička greška, tj situacija koja je sintaksno ispravna ali za konkretne vrednosti nema pridruženo značenje zadatom semantikom. Neki aspekti semantičke korektnosti programa se mogu proveriti tokom prevodenja programa na primer, da su sve promenljive koje se koriste u izrazima definisane i da su odgovarajućeg tipa), Neki aspekti semantičke korektnosti se mogu proveriti tek u fazi izvršavanja programa na primer, deljenje nulom, pristup elementima niza van granica... Semantika Semantičke provere se mogu podeliti na statičke (provere prilikom kompilacije) i dinamičke (provere prilikom izvršavanja programa). Statički se ne može pouzdano utvrditi ispunjenost semantičkih uslova, tako da je moguće da se neke greške ne utvrde, iako prisutne, kao i da se neke greške pogrešno utvrde iako nisu prisutne i da rezultiraju nepotrebnim proverama prilikom izvršavanja programa. Različitim programskim jezicima odgovaraju izvršni programi koji sadrže različite nivoe dinamičkih provera ispravnosti. 10
11 3 Imena, povezanost, doseg 3.1 Imena Imena Ime string koji se koristi za predstavljanje nečega (promenljive, konstante, operatora, tipova...) Prvi programski jezici imali su imena dužine jednog karaktera (po uzoru na matematičke promenljive). Fortran I je to promenio dozvoljavajući šest karaktera u imenu. Fortran 95 i kasnije verzije Fortrana dozvoljavaju 31 karakter u imenu, C99 nema ograničenja za interna imena, ali samo prvih 63 je značajno. Eksterna imena u C99 (ona koja su definisana van modula i o kojima mora da brine linker) imaju ograničenje od 31 karaktera. Imena u Javi, C# i Adi nemaju ograničenja dužine i svi karakteri su značajni. C++ ne zadaje limit dužine imena, ali implementacije obično zadaju. Imena Imena u većini programskih jezika imaju istu formu - slova, cifre i podvlaka Podvlaka se sve češće zamenjuje kamiljom notacijom U nekim jezicima imena moraju da počnu specijalnim znacima (npr PHP ime mora da počne sa $) Imena su najčešće case sensitive, što može da stvara probleme Imena Specijalne reči se korsite da učine program čitljivijim - imenuju akcije koje treba da se sprovedu ili sintaksno odvajaju delove naredbi i programa. U većini jezika specijalne reči su rezervisane reči koje ne mogu da budu predefinisane od strane programera. Ključne reči su najčešće rezervisane reči, ali ne moraju to da budu, kao na primer kontestno zavisne ključne reči Nije dobro ako jezik ima preveliki broj rezervisanih reči Na primer, COBOL ima oko 300 rezervisanih reči, u koje spadaju i count, length, bottom, destination Promenljive Promenljive Promenljiva: apstrakcija memorijskih jedinica (ćelija), ime promenljive je imenovanje memorijske lokacije Karakteristke promenljivih: ime, adresa, vrednost, tip, životni vek, doseg 11
12 Imena promenljivih su najčešća imena u programu, ali nemaju sve promenljive imena (tj nemaju sve meorijske lokacije imena, na primer, memorijske lokacije eksplicitno definisane na hipu kojima se pristupa preko pokazivača) Adresa Tip Adresa promenljive: adresa fizičke memorije koja je pridružena promenljivoj za skladištenje podataka. Promenljiva može imati različite fizičke lokacije prilikom istog izvršavanja programa (npr različiti pozivi iste funkcije rezultuju različitim adresama na steku). Adresa se često naziva l-vrednost Moguće je da postoje više promenljivih koje imaju istu adresu - aliasi Aliasi pogoršavaju čitljivost programa i čine verifikaciju programa težom. Aliasi: unije u C/C++-u, dva pointera koji pokazuju na istu memorijsku lokaciju, dve reference, pointer i promenljiva... Aliasi se u mnogim jezicim akreiraju kroz parametre poziva potprograma Tip promenljive odreduje opseg vrednosti koje promenljiva može da ima kao i operacije koje se mogu izvršiti za vrednosti tog tipa Osnovni tipovi, niske, korisnički definisani prebrojivi tipovi (enum, subrange), nizovi, asocijativni nizovi, strukture, torke, liste, unije, pokazivači i reference Vrednost Vrednost promenljive je sadržaj odgovarajuće memorijske ćelije, često se naziva r-vrednost Da bi se pristupilo r-vrednosti mora najpre da se odredi l-vrednost, što ne mora da bude jednostavno, jer zavisi od pravila dosega. 3.3 Doseg Doseg Doseg odreduje deo programa u kojem je vidljivo neko ime Pravila dosega mogu da budu veoma jednsotavna (kao u skript jezicima) ili veoma kompleksna Doseg ne odreduje nužno životni vek objekta 12
13 3.4 Životni vek Životni vek Životni vek obično odgovara jednom od tri osnovna mehanizma skladištenja podataka Statički objekti koji imaju životni vek koji se prostire tokom celog rada programa (npr globalne promenljive) Objekti na steku živoni vek koji se alocira i dealocira LIFO principom, obično zajedno sa pozivom i završetkom rada podprograma. Objekti na hipu koji se aociraju i dealociraju proizvoljno od strane programera, implicitno ili eksplicitno, i koji zahtevaju opštiji i skuplji sistem za upravljanje skladištenjem (memorijom) 3.5 Povezivanje Povezivanje Povezivanje uspostavlja odnos izmedu imena sa onim što to ime predstavlja. Vreme povezivanja je vreme kada se ova veza uspostavlja Rano vreme povezivanja veća efikasnost, kasno vreme povezivanja veća fleksibilnost. Povezivanje Vreme povezivanja može biti (vreme - primer) vreme dizajna programskog jezika (osnovni konstrukti, primitivni tipovi podataka...) vreme implementacije (veličina osnovnih tipova podataka...) vreme programiranja (algoritmi, strukture, imena promenljivih) vreme kompiliranja (preslikavanje konstrukata višeg nivoa u mašinski kod) vreme povezivanja (kada se ime iz jednog modula odnosi na objekat definisan u drugom modulu) vreme učitavanja (kod starijih operativnih sistema, povezivanje objekata sa fizičkim adresama u memoriji) vreme izvršavanja (povezivanje promenljivih i njihovih vrednosti) 13
14 4 Kontrola toka i tipovi 4.1 Kontrola toka Kontrola toka Kontrola toka definiše redosled izračunavanja koje računar sprovodi da bi se ostvario neki cilj. Postoje različiti mehanizmi odredivanja kontrole toka: 1. Sekvenca odreden redosled izvršavanja 2. Selekcija u zavisnosti od uslova, pravi se izbor (if, switch) 3. Iteracija fragment koda se izvršava više puta 4. Podrutine su apstrakcija kontrole toka: one dozvoljavaju da programer sakrije proizvoljno komplikovan kod iza jednostavnog interfejsa (procedure, funkcije, rutine, metodi, potprogrami) Kontrola toka Postoje različiti mehanizmi odredivanja kontrole toka: 5. Rekurzija definisanje izraza u terminima samog izraza (direktno ili indirektno) 6. Konkurentnost dva ili više fragmenta programa mogu da se izvršavaju u istom vremenskom intervalu, bilo paralelno na različitim procesorima, bilo isprepletano na istom procesoru 7. Podrška za rad sa izuzecima fragment koda se izvršava očekujući da su neki uslovi ispunjeni, ukoliko se desi suportno, izvršavanje se nastavlja u okviru drugog fragmenta za obradu izuzetka 8. Nedeterminizam redosled izvršavanja se namerno ostavlja nedefinisan, što povlači da izvršavanje proizvoljnim redosledom dovodi do korektnog rezultata 4.2 Tipovi Tipovi Programski jezici moraju da organizuju podatke na neki način Tipovi pomažu u dizajniranju programa, proveri ispravnosti programa i u utvrdivanju potrebne memorije za skladištenje podataka Mehanizmi potrebni za upravljanjem podacima nazivaju se sistem tipova 14
15 Tipovi Sistem tipova obično uključuje Tipovi skup predefinisanih osnovnih tipova (npr int, string...) mehanizam gradenja novih tipova (npr struct, union) mehanizam kontrolisanja tipova pravila za utvrdivanje ekvivalentnosti: kada su dva tipa ista? pravila za utvrdivanje kompatibilnosti: kada se jedan tip može zameniti drugim? pravila izvodenja: kako se dodeljuje tip kompleksnim izrazima? pravila za proveru tipova (statička i dinamička provera) Jezik je tipiziran ako precizira za svaku operaciju nad kojim tipovima podataka može da se izvrši Jezici kao što je asembler i mašinski jezici nisu tipizirani jer se svaka operacija izvršava nad bitovima fiksne širine Postoji slabo i jako tipiziranje Tipovi Kod jako tipiziranih jezika izvodenje operacije nad podacima pogrešnog tipa će izazvati grešku Slabo tipizirani jezici izvršavaju implicitne konverzije ukoliko nema poklapanja tipova Neki jezici dozvoljavaju eksplicitno kastovanje tipova Važan je trenutak kada se radi provera tipova Za vreme prevodenja programa statičko tipiziranje Za vreme izvršavanja programa dinamičko tipiziranje Statičko tipiziranje je manje sklono greškama ali može da bude previše restriktivno, dok je dinamičko tipiziranje sklonije greškama i teško za debagovanje ali fleksibilnije. 5 Prevodenje i izvršavanje 5.1 Kompilacija vs Interpretiranje Kompilacija vs Interpretiranje Kompilirani jezici se prevode u mašinski kod koji se izvršava direktno na procesoru računara - faze prevodenja i izvršavanja programa su razdvojene. 15
16 U toku prevodenja, vrše se razne optimizacije izvršnog koda što ga čini efikasnijim. Jednom preveden kod se može puno puta izvršavati, ali svaka izmena izvornog koda zahteva novo prevodenje. Kompilacija vs Interpretiranje Interpretirani jezici se prevode naredbu po naredbu i neposredno zatim se naredba izvršava faze prevodenja i izvršavanja nisu razdvojene već su medusobno isprepletene. Rezultat prevodenja se ne smešta u izvršnu datoteku, već je za svako naredno pokretanje potrebna ponovna analiza i prevodenje. Sporiji, ali prilikom malih izmena koda nije potrebno vršiti analizu celokupnog koda. Hibridni jezici kombinacija prethodna dva. Kompilacija vs Interpretiranje Teorijski, svi programski jezici mogu da budu i kompilirani i interpretirani. Moderni programski jezici najčešće pružaju obe mogućnosti, ali u praksi je za neke jezike prirodnije koristiti odgovarajući pristup. Nekada se u fazi razvoja i testiranja koristi interpretirani pristup, a potom se generiše izvršni kod kompilacijom. Prema tome, razlika se zasniva pre na praktičnoj upotrebi nego na samim karakteristikama jezika. 5.2 Izvršavanje Izvršavanje Svaka netrivijalna implementacija jezika višeg nivoa intenzivno koristi rantajm biblioteke Rantajm sistem se odnosi na skup biblioteka od kojih implementacija jezika zavisi kako bi program mogao ispravno da se izvršava. Neke bibliotečke funkcije rade jednostavne stvari (npr podrška aritmetičkim funkcijama koje nisu implementirane u okviru hardvera, kopiranje sadržaja memorije...) dok neke rade komplikovanije stvari (npr upravljanje hipom, rad sa baferovanim I/O, rad sa grafičkim I/O...) Izvršavanje Neki jezici imaju veoma male rantajm sisteme (npr C) Neki jezici koriste rantajm sisteme intenzivno Virtuelne mašine u potpunosti skrivaju hardver arhitekture nad kojom se program izvršava C# koristi rantajm sistem CLI, JAVA koristi JVM 16
17 6 Pitanja i literatura Pitanja Koja su osnovna svojstva programskih jezika? Koji formalizam se koristi za opisivanje sintakse programskog jezika? Šta definiše semantkika programskog jezika? Koji su formalni okviri za definisanje semantike programskih jezika? Šta je ime? Šta je povezivanje? Koja su moguća vremena povezivanja? Pitanja Šta je doseg? Šta je kontrola toka? Koji su mehanizmi odredivanja kontrole toka? Šta je sistem tipova i šta on uključuje? Šta je tipiziranje i kakvo tipiziranje postoji? Kada se radi provera tipova? Koja je razlika izmedu kompiliranja i interpretiranja? Šta je rantajm sistem? Literatura Programming Language Pragmatics, Third Edition, 2009 by Michael L. Scott Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers), by Bruce A. Tate Semantics with Applications: A Formal Introduction. Hanne Riis Nielson, Flemming Nielson. John Wiley & Sons, Inc. ~bra8130/wiley_book/wiley.pdf Literatura Programming Language Pragmatics, Third Edition, 2009 by Michael L. Scott Deo materijala je preuzet od prof Dušana Tošića, iz istoimenog kursa. 17
3.1 Granična vrednost funkcije u tački
3 Granična vrednost i neprekidnost funkcija 2 3 Granična vrednost i neprekidnost funkcija 3. Granična vrednost funkcije u tački Neka je funkcija f(x) definisana u tačkama x za koje je 0 < x x 0 < r, ili
Teorijske osnove informatike 1
Teorijske osnove informatike 1 9. oktobar 2014. () Teorijske osnove informatike 1 9. oktobar 2014. 1 / 17 Funkcije Veze me du skupovima uspostavljamo skupovima koje nazivamo funkcijama. Neformalno, funkcija
Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju
RAČUN OSTATAKA 1 1 Prsten celih brojeva Z := N + {} N + = {, 3, 2, 1,, 1, 2, 3,...} Osnovni primer. (Z, +,,,, 1) je komutativan prsten sa jedinicom: sabiranje (S1) asocijativnost x + (y + z) = (x + y)
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET Goran Stančić SIGNALI I SISTEMI Zbirka zadataka NIŠ, 014. Sadržaj 1 Konvolucija Literatura 11 Indeks pojmova 11 3 4 Sadržaj 1 Konvolucija Zadatak 1. Odrediti konvoluciju
DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović
DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović Novi Sad April 17, 2018 1 / 22 Teorija grafova April 17, 2018 2 / 22 Definicija Graf je ure dena trojka G = (V, G, ψ), gde je (i) V konačan skup čvorova,
Iskazna logika 3. Matematička logika u računarstvu. novembar 2012
Iskazna logika 3 Matematička logika u računarstvu Department of Mathematics and Informatics, Faculty of Science,, Serbia novembar 2012 Deduktivni sistemi 1 Definicija Deduktivni sistem (ili formalna teorija)
Elementi spektralne teorije matrica
Elementi spektralne teorije matrica Neka je X konačno dimenzionalan vektorski prostor nad poljem K i neka je A : X X linearni operator. Definicija. Skalar λ K i nenula vektor u X se nazivaju sopstvena
IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo
IZVODI ZADACI ( IV deo) LOGARITAMSKI IZVOD Logariamskim izvodom funkcije f(), gde je >0 i, nazivamo izvod logarima e funkcije, o jes: (ln ) f ( ) f ( ) Primer. Nadji izvod funkcije Najpre ćemo logarimovai
Operacije s matricama
Linearna algebra I Operacije s matricama Korolar 3.1.5. Množenje matrica u vektorskom prostoru M n (F) ima sljedeća svojstva: (1) A(B + C) = AB + AC, A, B, C M n (F); (2) (A + B)C = AC + BC, A, B, C M
Računarska grafika. Rasterizacija linije
Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem
5. Karakteristične funkcije
5. Karakteristične funkcije Profesor Milan Merkle emerkle@etf.rs milanmerkle.etf.rs Verovatnoća i Statistika-proleće 2018 Milan Merkle Karakteristične funkcije ETF Beograd 1 / 10 Definicija Karakteristična
PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).
PRAVA Prava je kao i ravan osnovni geometrijski ojam i ne definiše se. Prava je u rostoru određena jednom svojom tačkom i vektorom aralelnim sa tom ravom ( vektor aralelnosti). M ( x, y, z ) 3 Posmatrajmo
M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost
M086 LA 1 M106 GRP Tema: CSB nejednakost. 19. 10. 2017. predavač: Rudolf Scitovski, Darija Marković asistent: Darija Brajković, Katarina Vincetić P 1 www.fizika.unios.hr/grpua/ 1 Baza vektorskog prostora.
IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f
IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f 2. Nule i znak funkcije; presek sa y-osom IspitivaƬe
18. listopada listopada / 13
18. listopada 2016. 18. listopada 2016. 1 / 13 Neprekidne funkcije Važnu klasu funkcija tvore neprekidne funkcije. To su funkcije f kod kojih mala promjena u nezavisnoj varijabli x uzrokuje malu promjenu
SISTEMI NELINEARNIH JEDNAČINA
SISTEMI NELINEARNIH JEDNAČINA April, 2013 Razni zapisi sistema Skalarni oblik: Vektorski oblik: F = f 1 f n f 1 (x 1,, x n ) = 0 f n (x 1,, x n ) = 0, x = (1) F(x) = 0, (2) x 1 0, 0 = x n 0 Definicije
Ispitivanje toka i skiciranje grafika funkcija
Ispitivanje toka i skiciranje grafika funkcija Za skiciranje grafika funkcije potrebno je ispitati svako od sledećih svojstava: Oblast definisanosti: D f = { R f R}. Parnost, neparnost, periodičnost. 3
numeričkih deskriptivnih mera.
DESKRIPTIVNA STATISTIKA Numeričku seriju podataka opisujemo pomoću Numeričku seriju podataka opisujemo pomoću numeričkih deskriptivnih mera. Pokazatelji centralne tendencije Aritmetička sredina, Medijana,
Osnovne teoreme diferencijalnog računa
Osnovne teoreme diferencijalnog računa Teorema Rolova) Neka je funkcija f definisana na [a, b], pri čemu važi f je neprekidna na [a, b], f je diferencijabilna na a, b) i fa) fb). Tada postoji ξ a, b) tako
III VEŽBA: FURIJEOVI REDOVI
III VEŽBA: URIJEOVI REDOVI 3.1. eorijska osnova Posmatrajmo neki vremenski kontinualan signal x(t) na intervalu definisati: t + t t. ada se može X [ k ] = 1 t + t x ( t ) e j 2 π kf t dt, gde je f = 1/.
Računarska grafika. Rasterizacija linije
Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem
IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)
IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI) Izračunavanje pokazatelja načina rada OTVORENOG RM RASPOLOŽIVO RADNO
IZVODI ZADACI (I deo)
IZVODI ZADACI (I deo) Najpre da se podsetimo tablice i osnovnih pravila:. C`=0. `=. ( )`= 4. ( n )`=n n-. (a )`=a lna 6. (e )`=e 7. (log a )`= 8. (ln)`= ` ln a (>0) 9. = ( 0) 0. `= (>0) (ovde je >0 i a
PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,
PARCIJALNI IZVODI I DIFERENCIJALI Sama definicija parcijalnog ivoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, naravno, naučiti onako kako vaš profesor ahteva. Mi ćemo probati
Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A
Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A Ime i prezime: 1. Prikazane su tačke A, B i C i prave a,b i c. Upiši simbole Î, Ï, Ì ili Ë tako da dobijeni iskazi
Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo
Elektrotehnički fakultet univerziteta u Beogradu 7.maj 009. Odsek za Softversko inžinjerstvo Performanse računarskih sistema Drugi kolokvijum Predmetni nastavnik: dr Jelica Protić (35) a) (0) Posmatra
FORMALNI SISTEMI KAO OSNOVA ZA PROJEKTOVANJE KOMPAJLERA
FORMALNI SISTEMI KAO OSNOVA ZA PROJEKTOVANJE KOMPAJLERA Definicije Sintaksa, Semantika Projektovanje kompajlera kompajlera. 1 Kompajler, Procedura, Algoritam: KOMPAJLER: prevodioc sa višeg programskog
Zavrxni ispit iz Matematiqke analize 1
Građevinski fakultet Univerziteta u Beogradu 3.2.2016. Zavrxni ispit iz Matematiqke analize 1 Prezime i ime: Broj indeksa: 1. Definisati Koxijev niz. Dati primer niza koji nije Koxijev. 2. Dat je red n=1
(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.
1 3 Skupovi brojeva 3.1 Skup prirodnih brojeva - N N = {1, 2, 3,...} Aksiom matematičke indukcije Neka je N skup prirodnih brojeva i M podskup od N. Ako za M vrijede svojstva: 1) 1 M 2) n M (n + 1) M,
5 Ispitivanje funkcija
5 Ispitivanje funkcija 3 5 Ispitivanje funkcija Ispitivanje funkcije pretodi crtanju grafika funkcije. Opšti postupak ispitivanja funkcija koje su definisane eksplicitno y = f() sadrži sledeće elemente:
7 Algebarske jednadžbe
7 Algebarske jednadžbe 7.1 Nultočke polinoma Skup svih polinoma nad skupom kompleksnih brojeva označavamo sa C[x]. Definicija. Nultočka polinoma f C[x] je svaki kompleksni broj α takav da je f(α) = 0.
MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori
MATEMATIKA 2 Prvi pismeni kolokvijum, 14.4.2016 Grupa 1 Rexea zadataka Dragan ori Zadaci i rexea 1. unkcija f : R 2 R definisana je sa xy 2 f(x, y) = x2 + y sin 3 2 x 2, (x, y) (0, 0) + y2 0, (x, y) =
ELEKTROTEHNIČKI ODJEL
MATEMATIKA. Neka je S skup svih živućih državljana Republike Hrvatske..04., a f preslikavanje koje svakom elementu skupa S pridružuje njegov horoskopski znak (bez podznaka). a) Pokažite da je f funkcija,
Kaskadna kompenzacija SAU
Kaskadna kompenzacija SAU U inženjerskoj praksi, naročito u sistemima regulacije elektromotornih pogona i tehnoloških procesa, veoma često se primenjuje metoda kaskadne kompenzacije, u čijoj osnovi su
Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.
Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. a b Verovatno a da sluqajna promenljiva X uzima vrednost iz intervala
XI dvoqas veжbi dr Vladimir Balti. 4. Stabla
XI dvoqas veжbi dr Vladimir Balti 4. Stabla Teorijski uvod Teorijski uvod Definicija 5.7.1. Stablo je povezan graf bez kontura. Definicija 5.7.1. Stablo je povezan graf bez kontura. Primer 5.7.1. Sva stabla
2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x
Zadatak (Darjan, medicinska škola) Izračunaj vrijednosti trigonometrijskih funkcija broja ako je 6 sin =,,. 6 Rješenje Ponovimo trigonometrijske funkcije dvostrukog kuta! Za argument vrijede sljedeće formule:
Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1
Strukture podataka i algoritmi 1. kolokvij Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Predajete samo papire koje ste dobili. Rezultati i uvid u kolokvije: ponedjeljak,
KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.
KVADRATNA FUNKCIJA Kvadratna funkcija je oblika: = a + b + c Gde je R, a 0 i a, b i c su realni brojevi. Kriva u ravni koja predstavlja grafik funkcije = a + b + c je parabola. Najpre ćemo naučiti kako
Program testirati pomoću podataka iz sledeće tabele:
Deo 2: Rešeni zadaci 135 Vrednost integrala je I = 2.40407 42. Napisati program za izračunavanje koeficijenta proste linearne korelacije (Pearsonovog koeficijenta) slučajnih veličina X = (x 1,..., x n
KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.
KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI NEUTRALNI ELEMENT GRUPOIDA 1 Grupoid (G, ) je asocijativa akko važi ( x, y, z G) x (y z) = (x y) z Grupoid (G, ) je komutativa akko važi ( x, y G) x y = y x Asocijativa
Riješeni zadaci: Nizovi realnih brojeva
Riješei zadaci: Nizovi realih brojeva Nizovi, aritmetički iz, geometrijski iz Fukciju a : N R azivamo beskoači) iz realih brojeva i ozačavamo s a 1, a,..., a,... ili a ), pri čemu je a = a). Aritmetički
INTELIGENTNO UPRAVLJANJE
INTELIGENTNO UPRAVLJANJE Fuzzy sistemi zaključivanja Vanr.prof. Dr. Lejla Banjanović-Mehmedović Mehmedović 1 Osnovni elementi fuzzy sistema zaključivanja Fazifikacija Baza znanja Baze podataka Baze pravila
IZVODI ZADACI (I deo)
IZVODI ZADACI (I deo Najpre da se podsetimo tablice i osnovnih pravila:. C0.. (. ( n n n-. (a a lna 6. (e e 7. (log a 8. (ln ln a (>0 9. ( 0 0. (>0 (ovde je >0 i a >0. (cos. (cos - π. (tg kπ cos. (ctg
41. Jednačine koje se svode na kvadratne
. Jednačine koje se svode na kvadrane Simerične recipročne) jednačine Jednačine oblika a n b n c n... c b a nazivamo simerične jednačine, zbog simeričnosi koeficijenaa koeficijeni uz jednaki). k i n k
Algoritmi i strukture podataka - 1.cas
Algoritmi i strukture podataka - 1.cas Aleksandar Veljković October 2016 Materijali su zasnovani na materijalima Mirka Stojadinovića 1 Složenost algoritama Približna procena vremena ili prostora potrebnog
2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =
( > 0, 0)!" # > 0 je najčešći uslov koji postavljamo a još je,, > 0 se zove numerus (aritmand), je osnova (baza). 0.. ( ) +... 7.. 8. Za prelazak na neku novu bazu c: 9. Ako je baza (osnova) 0 takvi se
Univerzitet u Nišu Građevinsko-arhitektonski fakultet. Konstante, promenljive, identifikatori, operatori Biblioteka funkcija Milica Ćirić
Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 Mathematica Konstante, promenljive, identifikatori, operatori Biblioteka funkcija Milica Ćirić Mathematica Programski paket Mathematica
Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića
Verovatnoća i Statistika I deo Teorija verovatnoće zadaci Beleške dr Bobana Marinkovića Iz skupa, 2,, 00} bira se na slučajan način 5 brojeva Odrediti skup elementarnih dogadjaja ako se brojevi biraju
Sortiranje prebrajanjem (Counting sort) i Radix Sort
Sortiranje prebrajanjem (Counting sort) i Radix Sort 15. siječnja 2016. Ante Mijoč Uvod Teorem Ako je f(n) broj usporedbi u algoritmu za sortiranje temeljenom na usporedbama (eng. comparison-based sorting
Sistemi veštačke inteligencije primer 1
Sistemi veštačke inteligencije primer 1 1. Na jeziku predikatskog računa formalizovati rečenice: a) Miloš je slikar. b) Sava nije slikar. c) Svi slikari su umetnici. Uz pomoć metode rezolucije dokazati
APROKSIMACIJA FUNKCIJA
APROKSIMACIJA FUNKCIJA Osnovni koncepti Gradimir V. Milovanović MF, Beograd, 14. mart 2011. APROKSIMACIJA FUNKCIJA p.1/46 Osnovni problem u TA Kako za datu funkciju f iz velikog prostora X naći jednostavnu
for <brojacka_promenljiva> := <pocetna_vrednost> to <krajnja_vrednost> do <naredba>
Naredbe ponavljanja U većini programa se javljaju situacije kada je potrebno neku naredbu ili grupu naredbi izvršiti više puta. Ukoliko je naredbu potrebno izvršiti konačan i mali broj puta, problem je
Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom.
1 Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom. Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. Pravilo 3. Primarni ključ entiteta postaje
Matematička logika. novembar 2012
Predikatska logika 1 Matematička logika Department of Mathematics and Informatics, Faculty of Science, University of Novi Sad, Serbia novembar 2012 1 različiti nazivi: predikatska logika, logika prvog
1. Pojam fazi skupa. 2. Pojam fazi skupa. 3. Funkcija pripadnosti, osobine i oblici. 4. Funkcija pripadnosti, osobine i oblici
Meko računarstvo Student: Indeks:. Poja fazi skupa. Vrednost fazi funkcije pripadnosti je iz skupa/opsega: a) {0, b) R c) N d) N 0 e) [0, ] f) [-, ] 2. Poja fazi skupa 2. Na slici je prikazan grafik: a)
INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.
INTEGRALNI RAČUN Teorije, metodike i povijest infinitezimalnih računa Lucija Mijić lucija@ktf-split.hr 17. veljače 2011. Pogledajmo Predstavimo gornju sumu sa Dodamo još jedan Dobivamo pravokutnik sa Odnosno
NOMENKLATURA ORGANSKIH SPOJEVA. Imenovanje aromatskih ugljikovodika
NOMENKLATURA ORGANSKIH SPOJEVA Imenovanje aromatskih ugljikovodika benzen metilbenzen (toluen) 1,2-dimetilbenzen (o-ksilen) 1,3-dimetilbenzen (m-ksilen) 1,4-dimetilbenzen (p-ksilen) fenilna grupa 2-fenilheptan
SKUPOVI I SKUPOVNE OPERACIJE
SKUPOVI I SKUPOVNE OPERACIJE Ne postoji precizna definicija skupa (postoji ali nama nije zanimljiva u ovom trenutku), ali mi možemo koristiti jednu definiciju koja će nam donekle dočarati šta su zapravo
1 Promjena baze vektora
Promjena baze vektora Neka su dane dvije različite uredene baze u R n, označimo ih s A = (a, a,, a n i B = (b, b,, b n Svaki vektor v R n ima medusobno različite koordinatne zapise u bazama A i B Zapis
4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.
4.7. ZADACI 87 4.7. Zadaci 4.7.. Formalizam diferenciranja teorija na stranama 4-46) 340. Znajući izvod funkcije arcsin, odrediti izvod funkcije arccos. Rešenje. Polazeći od jednakosti arcsin + arccos
a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.
3 Infimum i supremum Definicija. Neka je A R. Kažemo da je M R supremum skupa A ako je (i) M gornja meda skupa A, tj. a M a A. (ii) M najmanja gornja meda skupa A, tj. ( ε > 0)( a A) takav da je a > M
MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15
MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 Matrice - osnovni pojmovi (Matrice i determinante) 2 / 15 (Matrice i determinante) 2 / 15 Matrice - osnovni pojmovi Matrica reda
Linearna algebra 2 prvi kolokvij,
Linearna algebra 2 prvi kolokvij, 27.. 20.. Za koji cijeli broj t je funkcija f : R 4 R 4 R definirana s f(x, y) = x y (t + )x 2 y 2 + x y (t 2 + t)x 4 y 4, x = (x, x 2, x, x 4 ), y = (y, y 2, y, y 4 )
Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto
Trigonometrija Adicijske formule Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Razumijevanje postupka izrade složenijeg matematičkog problema iz osnova trigonometrije
Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.
Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika Monotonost i ekstremi Katica Jurasić Rijeka, 2011. Ishodi učenja - predavanja Na kraju ovog predavanja moći ćete:,
Matematička analiza 1 dodatni zadaci
Matematička analiza 1 dodatni zadaci 1. Ispitajte je li funkcija f() := 4 4 5 injekcija na intervalu I, te ako jest odredite joj sliku i inverz, ako je (a) I = [, 3), (b) I = [1, ], (c) I = ( 1, 0].. Neka
Iskazna logika 1. Matematička logika. Department of Mathematics and Informatics, Faculty of Science, University of Novi Sad, Serbia.
Matematička logika Department of Mathematics and Informatics, Faculty of Science,, Serbia oktobar 2012 Iskazi, istinitost, veznici Intuitivno, iskaz je rečenica koja je ima tačno jednu jednu istinitosnu
Jednodimenzionalne slučajne promenljive
Jednodimenzionalne slučajne promenljive Definicija slučajne promenljive Neka je X f-ja def. na prostoru verovatnoća (Ω, F, P) koja preslikava prostor el. ishoda Ω u skup R realnih brojeva: (1)Skup {ω/
PID: Domen P je glavnoidealski [PID] akko svaki ideal u P je glavni (generisan jednim elementom; oblika ap := {ab b P }, za neko a P ).
0.1 Faktorizacija: ID, ED, PID, ND, FD, UFD Definicija. Najava pojmova: [ID], [ED], [PID], [ND], [FD] i [UFD]. ID: Komutativan prsten P, sa jedinicom 1 0, je integralni domen [ID] oblast celih), ili samo
Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.
Klasifikacija blizu Teorema Neka je M Kelerova mnogostrukost. Operator krivine R ima sledeća svojstva: R(X, Y, Z, W ) = R(Y, X, Z, W ) = R(X, Y, W, Z) R(X, Y, Z, W ) + R(Y, Z, X, W ) + R(Z, X, Y, W ) =
Dijagonalizacija operatora
Dijagonalizacija operatora Problem: Može li se odrediti baza u kojoj zadani operator ima dijagonalnu matricu? Ova problem je povezan sa sljedećim pojmovima: 1 Karakteristični polinom operatora f 2 Vlastite
Deljivost. 1. Ispitati kada izraz (n 2) 3 + n 3 + (n + 2) 3,n N nije deljiv sa 18.
Deljivost 1. Ispitati kada izraz (n 2) 3 + n 3 + (n + 2) 3,n N nije deljiv sa 18. Rešenje: Nazovimo naš izraz sa I.Važi 18 I 2 I 9 I pa možemo da posmatramo deljivost I sa 2 i 9.Iz oblika u kom je dat
Parser primer kalkulatora
Parser primer kalkulatora Primer gramatike za jednostavni kalkulator lines ε lines NEWLINE lines e NEWLINE e e "+" NUMBER e " " NUMBER NUMBER (podrazumeva se da su NUMBER i NEWLINE simboli) Ulaz: Izlaz:
Algebarske strukture sa jednom operacijom (A, ): Ako operacija ima osobine: zatvorenost i asocijativnost, onda je (A, ) polugrupa
Binarne operacije Binarna operacija na skupu A je preslikavanje skupa A A u A, to jest : A A A. Pišemo a b = c. Označavanje operacija:,,,. Poznate operacije: sabiranje (+), oduzimanje ( ), množenje ( ).
Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu
Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu Trigonometrijske jednačine i nejednačine. Zadaci koji se rade bez upotrebe trigonometrijskih formula. 00. FF cos x sin x
SOPSTVENE VREDNOSTI I SOPSTVENI VEKTORI LINEARNOG OPERATORA I KVADRATNE MATRICE
1 SOPSTVENE VREDNOSTI I SOPSTVENI VEKTORI LINEARNOG OPERATORA I KVADRATNE MATRICE Neka je (V, +,, F ) vektorski prostor konačne dimenzije i neka je f : V V linearno preslikavanje. Definicija. (1) Skalar
Univerzitet u Nišu, Prirodno-matematički fakultet Prijemni ispit za upis OAS Matematika
Univerzitet u Nišu, Prirodno-matematički fakultet Prijemni ispit za upis OAS Matematika Rešenja. Matematičkom indukcijom dokazati da za svaki prirodan broj n važi jednakost: + 5 + + (n )(n + ) = n n +.
10 Iskazni račun - deduktivni sistem za iskaznu logiku
10 Iskazni račun - deduktivni sistem za iskaznu logiku Definicija 20 Iskazni račun je deduktivni sistem H = X, F orm, Ax, R, gde je X = S {,, (, )}, gde S = {p 1, p 2,..., p n,... }, F orm je skup iskaznih
RIJEŠENI ZADACI I TEORIJA IZ
RIJEŠENI ZADACI I TEORIJA IZ LOGARITAMSKA FUNKCIJA SVOJSTVA LOGARITAMSKE FUNKCIJE OSNOVE TRIGONOMETRIJE PRAVOKUTNOG TROKUTA - DEFINICIJA TRIGONOMETRIJSKIH FUNKCIJA - VRIJEDNOSTI TRIGONOMETRIJSKIH FUNKCIJA
Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.
Pismeni ispit iz matematike 0 008 GRUPA A Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: λ + z = Ispitati funkciju i nacrtati njen grafik: + ( λ ) + z = e Izračunati
( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4
UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET Riješiti jednačine: a) 5 = b) ( ) 3 = c) + 3+ = 7 log3 č) = 8 + 5 ć) sin cos = d) 5cos 6cos + 3 = dž) = đ) + = 3 e) 6 log + log + log = 7 f) ( ) ( ) g) ( ) log
Mašinsko učenje. Regresija.
Mašinsko učenje. Regresija. Danijela Petrović May 17, 2016 Uvod Problem predviđanja vrednosti neprekidnog atributa neke instance na osnovu vrednosti njenih drugih atributa. Uvod Problem predviđanja vrednosti
Inženjerska grafika geometrijskih oblika (5. predavanje, tema1)
Inženjerska grafika geometrijskih oblika (5. predavanje, tema1) Prva godina studija Mašinskog fakulteta u Nišu Predavač: Dr Predrag Rajković Mart 19, 2013 5. predavanje, tema 1 Simetrija (Symmetry) Simetrija
radni nerecenzirani materijal za predavanja
Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Kažemo da je funkcija f : a, b R u točki x 0 a, b postiže lokalni minimum ako postoji okolina O(x 0 ) broja x 0 takva da je
Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:
Staša Vujičić Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati: pseudo jezikom prirodnim jezikom dijagramom toka. 2
Programiranje I. Smer Informatika Matematički fakultet, Beograd. Jelena Tomašević, Sana Stojanović November 16, 2005
Programiranje I Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Jelena Tomašević, Sana Stojanović November 16, 2005 1 1 Specifikacija sintakse programskih jezika, meta jezici Za opis programskih
Konstruisanje. Dobro došli na... SREDNJA MAŠINSKA ŠKOLA NOVI SAD DEPARTMAN ZA PROJEKTOVANJE I KONSTRUISANJE
Dobro došli na... Konstruisanje GRANIČNI I KRITIČNI NAPON slajd 2 Kritični naponi Izazivaju kritične promene oblika Delovi ne mogu ispravno da vrše funkciju Izazivaju plastične deformacije Može doći i
ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota:
ASIMPTOTE FUNKCIJA Naš savet je da najpre dobro proučite granične vrednosti funkcija Neki profesori vole da asimptote funkcija ispituju kao ponašanje funkcije na krajevima oblasti definisanosti, pa kako
Dvanaesti praktikum iz Analize 1
Dvaaesti praktikum iz Aalize Zlatko Lazovi 20. decembar 206.. Dokazati da fukcija f = 5 l tg + 5 ima bar jedu realu ulu. Ree e. Oblast defiisaosti fukcije je D f = k Z da postoji ula fukcije a 0, π 2.
Riješeni zadaci: Limes funkcije. Neprekidnost
Riješeni zadaci: Limes funkcije. Neprekidnost Limes funkcije Neka je 0 [a, b] i f : D R, gdje je D = [a, b] ili D = [a, b] \ { 0 }. Kažemo da je es funkcije f u točki 0 jednak L i pišemo f ) = L, ako za
Zadaci iz trigonometrije za seminar
Zadaci iz trigonometrije za seminar FON: 1. Vrednost izraza sin 1 cos 6 jednaka je: ; B) 1 ; V) 1 1 + 1 ; G) ; D). 16. Broj rexea jednaqine sin x cos x + cos x = sin x + sin x na intervalu π ), π je: ;
Funkcije dviju varjabli (zadaci za vježbu)
Funkcije dviju varjabli (zadaci za vježbu) Vidosava Šimić 22. prosinca 2009. Domena funkcije dvije varijable Ako je zadano pridruživanje (x, y) z = f(x, y), onda se skup D = {(x, y) ; f(x, y) R} R 2 naziva
4 Izvodi i diferencijali
4 Izvodi i diferencijali 8 4 Izvodi i diferencijali Neka je funkcija f() definisana u intervalu (a, b), i neka je 0 0 + (a, b). Tada se izraz (a, b) i f( 0 + ) f( 0 ) () zove srednja brzina promene funkcije
Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2.
Sume kvadrata Koji se prirodni brojevi mogu prikazati kao zbroj kvadrata dva cijela broja? Propozicija 1. Ako su brojevi m i n sume dva kvadrata, onda je i njihov produkt m n takoder suma dva kvadrata.
RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović
Univerzitet u Nišu Elektronski fakultet RAČUNSKE VEŽBE IZ PREDMETA (IV semestar modul EKM) IV deo Miloš Marjanović MOSFET TRANZISTORI ZADATAK 35. NMOS tranzistor ima napon praga V T =2V i kroz njega protiče
Algoritmi zadaci za kontrolni
Algoritmi zadaci za kontrolni 1. Nacrtati algoritam za sabiranje ulaznih brojeva a i b Strana 1 . Nacrtati algoritam za izračunavanje sledeće funkcije: x y x 1 1 x x ako ako je : je : x x 1 x x 1 Strana
radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}
Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Neka su D i K bilo koja dva neprazna skupa. Postupak f koji svakom elementu x D pridružuje točno jedan element y K zovemo funkcija
Linearna algebra 2 prvi kolokvij,
1 2 3 4 5 Σ jmbag smjer studija Linearna algebra 2 prvi kolokvij, 7. 11. 2012. 1. (10 bodova) Neka je dano preslikavanje s : R 2 R 2 R, s (x, y) = (Ax y), pri čemu je A: R 2 R 2 linearan operator oblika
Eliminacijski zadatak iz Matematike 1 za kemičare
Za mnoge reakcije vrijedi Arrheniusova jednadžba, koja opisuje vezu koeficijenta brzine reakcije i temperature: K = Ae Ea/(RT ). - T termodinamička temperatura (u K), - R = 8, 3145 J K 1 mol 1 opća plinska