Programiranje I. Smer Informatika Matematički fakultet, Beograd. Jelena Tomašević, Sana Stojanović November 16, 2005

Σχετικά έγγραφα
DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

3.1 Granična vrednost funkcije u tački

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

Računarska grafika. Rasterizacija linije

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

Teorijske osnove informatike 1

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

IZVODI ZADACI (I deo)

Ispitivanje toka i skiciranje grafika funkcija

41. Jednačine koje se svode na kvadratne

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

7 Algebarske jednadžbe

Zavrxni ispit iz Matematiqke analize 1

ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota:

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

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,

numeričkih deskriptivnih mera.

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

Programiranje 1. Smer Informatika Matematički fakultet, Beograd

ELEKTROTEHNIČKI ODJEL

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

Računarska grafika. Rasterizacija linije

Riješeni zadaci: Nizovi realnih brojeva

FORMALNI SISTEMI KAO OSNOVA ZA PROJEKTOVANJE KOMPAJLERA

- pravac n je zadan s točkom T(2,0) i koeficijentom smjera k=2. (30 bodova)

OM2 V3 Ime i prezime: Index br: I SAVIJANJE SILAMA TANKOZIDNIH ŠTAPOVA

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

5. Karakteristične funkcije

Azbuka, niska: formalizam

Matematička logika. novembar 2012

Elementi spektralne teorije matrica

Osnovne teoreme diferencijalnog računa

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

Parser primer kalkulatora

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

IZVODI ZADACI (I deo)

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

Operacije s matricama

GRANIČNE VREDNOSTI FUNKCIJA zadaci II deo

TRIGONOMETRIJA TROKUTA

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

Kaskadna kompenzacija SAU

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

SISTEMI NELINEARNIH JEDNAČINA

III VEŽBA: FURIJEOVI REDOVI

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

NOMENKLATURA ORGANSKIH SPOJEVA. Imenovanje aromatskih ugljikovodika

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:

Matematika 1 - vježbe. 11. prosinca 2015.

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom.

OSNOVI ELEKTRONIKE. Vežbe (2 časa nedeljno): mr Goran Savić

Funkcije dviju varjabli (zadaci za vježbu)

1.4 Tangenta i normala

Eliminacijski zadatak iz Matematike 1 za kemičare

Elektrotehnički fakultet univerziteta u Beogradu 16.maj Odsek za Softversko inžinjerstvo

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Zadaci iz trigonometrije za seminar

POVRŠINA TANGENCIJALNO-TETIVNOG ČETVEROKUTA

Numerička matematika 2. kolokvij (1. srpnja 2009.)

Iskazna logika 1. Matematička logika. Department of Mathematics and Informatics, Faculty of Science, University of Novi Sad, Serbia.

Sistemi veštačke inteligencije primer 1

Riješeni zadaci: Limes funkcije. Neprekidnost

Obrada signala

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1)

18. listopada listopada / 13

Ĉetverokut - DOMAĆA ZADAĆA. Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke.

radni nerecenzirani materijal za predavanja

DIMENZIONISANJE PRAVOUGAONIH POPREČNIH PRESEKA NAPREGNUTIH NA PRAVO SLOŽENO SAVIJANJE

Program testirati pomoću podataka iz sledeće tabele:

S t r a n a 1. 1.Povezati jonsku jačinu rastvora: a) MgCl 2 b) Al 2 (SO 4 ) 3 sa njihovim molalitetima, m. za so tipa: M p X q. pa je jonska jačina:

Trigonometrijske nejednačine

Moguća i virtuelna pomjeranja

Otpornost R u kolu naizmjenične struje

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

RIJEŠENI ZADACI I TEORIJA IZ

TRIGONOMETRIJSKE FUNKCIJE I I.1.

( , 2. kolokvij)

( x) ( ) dy df dg. =, ( x) e = e, ( ) ' x. Zadatak 001 (Marinela, gimnazija) Nađite derivaciju funkcije f(x) = a + b x. ( ) ( )

Novi Sad god Broj 1 / 06 Veljko Milković Bulevar cara Lazara 56 Novi Sad. Izveštaj o merenju

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

Matematka 1 Zadaci za drugi kolokvijum

Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a =

Univerzitet u Nišu, Prirodno-matematički fakultet Prijemni ispit za upis OAS Matematika

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Transcript:

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 jezika često se koriste kontekstno-slobodne gramatike. Bekus- Naurova forma (BNF) je konvencija za zapisivanje pravila kontekstno-slobodnih jezika. Proširena Bekus-Naurova forma (EBNF) dodaje odrežene sintaksičke izraze BNF notaciji i omogućava jednostavniji zapis pravila gramatike. 1.1 BNF (Backus-Naur form) Meta jezik je jezik koji služi da se pomoću njega opiše neki drugi jezik ili isti taj jezik. Tako se na primer služimo srpskim jezikom da bismo opisali gramatiku srpskog jezika. Bitno je razlikovati term meta jezika od terma jezika koji se opisuje. BNF(Bekus-Naurova forma) je formalni meta jezik za predstavljanje kontekstnoslobodnih gramatika odnosno gramatika programskih jezika. U BNF se koriste sledeće konvencije za zapisivanje pravila gramatike: Umesto simbola koristi se simbol ::= Pomoćni simboli se navode mežu zagradama i Vertikalna crta (izbor) razdvaja desne strane pravila koja odgovaraju istom simbolu sa leve strane pravila Prazna niska ε se zapisuje kao empty. Sledi nekoliko primera BNF-a : BNF za cifru: BNF za neoznačen ceo broj: <neoznacenceobroj> ::= <cifra> <cifra> <neoznacenceobroj> Drugo pravilo može da se napiše i kao: <neoznacenceobroj> ::= <cifra> <neoznacenceobroj> <cifra> BNF za ceo broj: <ceobroj> ::= <neoznacenceobroj> + <neoznacenceobroj> - <neoznacenceobroj> <neoznacenceobroj> ::= <cifra> <cifra> <neoznacenceobroj> 2

BNF za realne brojeve: <realanbroj> ::= - <neoznacenrealanbroj> + <neoznacenrealanbroj> <neoznacenrealanbroj> <neoznacenrealanbroj> ::= <neoznacenceobroj> <neoznacenceobroj>. <neoznacenceobroj> <neoznacenceobroj> ::= <cifra> <cifra> <neoznacenceobroj> BNF za identifikator (niska cifara ili slova koja ne sme počinjati cifrom): <identifikator> ::= <slovo> <identifikator> <slovo> <identifikator> <cifra> Primetimo da ovde ne smemo da zamenimo mesta pomoćnim simbolima (proverite!). 1.2 EBNF (Extended Backus-Naur form) Proširena Bekus-Naurova forma ima istu izražajnu moć kao BNF s tim što su u njoj izvršene izmene koje doprinose čitljivosti zapisu pravila. Zapravo, BNF koristi rekurziju (definisanje pomoćnig simbola preko njega samog) da bi se izrazile relacije a EBNF koristi iteraciju. Konvencije za EBNF su 1 : Pomoćni simboli se zapisuju velikim početnim slovom Završni simboli se zapisuju pod jednostrukim navodnicima ako se sastoje od jednog karaktera, a crnim slogom (engl. bold) ako su višeslovni. Npr. + ali div ili integer Oble zagrade ( i ) se koriste za grupisanje Vitičaste zagrade { i } ogražuju deo koji se ponavlja 0 ili više puta Uglaste zagrade [ i ] opisuju opcionu konstrukciju Značenje ostalih oznaka je isto kao kod BNF. Sve ove konstrukcije mogu biti izražene i u BNF-u što je pokazatelj toga da BNF i EBNF imaju istu izražajnu moć. Sledi nekoliko primera EBNF-a : 1 Po nekim konvencijama se koriste sledeći sufiksi:? umesto [], * umesto {}, + sa značenjem jedno ili više pojavljivanja simbola. 3

EBNF za neoznačen ceo broj. NeoznacenCeoBroj ::= Cifra{Cifra} EBNF za ceo broj. CeoBroj ::= [ + - ] NeoznacenCeoBroj NeoznacenCeoBroj ::= Cifra{Cifra} Pri čemu se umesto prva dva pravila može pojaviti pravilo: CeoBroj ::= [ + - ] Cifra{Cifra} EBNF za realne brojeve. RealanBroj ::= [ + - ] Cifra{Cifra} [. Cifra{Cifra}] EBNF za identifikator. Identifikator ::= Slovo{Slovo Cifra} Zadatak 1 (DOMAĆI) Napisati BNF/EBNF za aritmeticki izraz. Rešenje: BNF: <izraz> ::= <izraz> + <term> <izraz> - <term> <term> <term> ::= <term> * <faktor> <term> / <faktor> <faktor> <factor> ::= (<izraz>) <neoznacenceobroj> EBNF: Izraz ::= Term{( + - )Term} Term ::= Faktor{( * / )Faktor} Faktor ::= ( Izraz ) NeoznacenCeoBroj Zadatak 2 (DOMAĆI) Napisati BNF/EBNF za klauzu (nad nekim fiksnim skupom iskaznih slova) Zadatak 3 Napisati BNF/EBNF za klauzu duzine npr. 5 (nad nekim fiksnim skupom iskaznih slova). Rešenje: <klauza> ::== <literal> <literal> <literal> <literal> <literal> Zadatak 4 (DOMAĆI) Napisati BNF/EBNF za iskaznu formulu (nad nekim fiksnim skupom iskaznih slova) 4

1.3 Sintaksni dijagrami Sintaksni dijagrami predstavljaju pravila gramatike posredstvom grafova. Imaju istu izražajnu moć kao BNF i EBNF. Konstruišu se na sledeći način: Svakom pravilu gramatike dodeljuje se po jedan graf koji nosi ime pomoćnog simbola sa leve strane pravila Čvorovi grafa su obeleženi simbolima desne strane pravila i to pravougaonikom ako odgovaraju pomoćnom simbolu gramatike, a elipsom ako su pridruženi završnom simbolu gramatike. Lukovi u grafu povezuju čvorove na način opisan samim gramatičkim pravilom. Jezik predstavljen grafom se dobija obilaskom puteva u grafu. Pogledajmo kako izgledaju sintaksni dijagrami nekoliko već pomenutih gramatika: Sintaksni dijagram za Cifra: Cifra 1 2 3 4 5 6 7 8 9 0 Sintaksni dijagram za NeoznacenCeoBroj: NeoznacenCeoBroj ::= Cifra{Cifra} 5

NeoznacenCeoBroj cifra Sintaksni dijagram za CeoBroj: CeoBroj ::= [ + - ] Cifra{Cifra} CeoBroj cifra + - Sintaksni dijagram za RealanBroj: (DOMAĆI) RealanBroj ::= [ + - ] Cifra{Cifra} [. Cifra{Cifra}] RealanBroj cifra +. cifra - Sintaksni dijagram za Identifikator: Identifikator ::= Slovo { Slovo Cifra } Identifikator slovo cifra slovo 6