Dovoljeni pripomočki: pisalo, brisalo, USB ključ in poljubno pisno gradivo.

Podobni dokumenti
Microsoft Word - M docx

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Microsoft Word - M docx

Diapozitiv 1

Strojna oprema

Microsoft Word - M _mod..docx

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

1. izbirni test za MMO 2018 Ljubljana, 16. december Naj bo n naravno število. Na mizi imamo n 2 okraskov n različnih barv in ni nujno, da imam

Microsoft Word - M docx

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

Navodila za študente

Microsoft Word - Seštevamo stotice.doc

ARS1

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig

Microsoft Word - Vloga za vpis doc

N

2. izbirni test za MMO 2017 Ljubljana, 17. februar Naj bosta k 1 in k 2 dve krožnici s središčema O 1 in O 2, ki se sekata v dveh točkah, ter

Microsoft PowerPoint - petek A-sambolicbeganovic [Read-Only] [Compatibility Mode]

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite

Diapozitiv 1

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2

N

'Kombinatoricna optimizacija / Lokalna optimizacija'

Microsoft Word - NAJBOLJ POGOSTA VPRAŠANJA IN ODGOVORI.docx

KOMISIJA ZA LOGIKO 32. TEKMOVANJE IZ ZNANJA LOGIKE DRŽAVNO TEKMOVANJE, in 2. letnik Šifra: NALOGA MOŽNE TOČKE DOSEŽENE TOČKE

Microsoft Word - SI_vaja5.doc

DNEVNIK

LABORATORIJSKE VAJE IZ FIZIKE

M

M

Diapozitiv 1

AKCIJSKO RAZISKOVANJE INOVACIJSKI PROJEKT ZA ZNANJE IN SPOŠTOVANJE Udeleženci: Učenci 2. c Razredničarka: Irena Železnik, prof. Učni predmet: MAT Učna

SPLETNA PRIJAVA NA IZPITE ZA DIJAKE Dijaki se na izpite prijavite na novem portalu novi.lopolis.si z istim uporabniškim imenom in geslom, kot ga upora

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-avgust-17.dvi

Komisija za študijske zadeve UL Medicinske fakultete Vrazov trg 2 SI-1000 Ljubljana E: T: Režim študija Predmet: Uvod

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6. julij 2018 Navodila Pazljivo preberite be

POTEK POUKA TUJIH JEZIKOV - dolžnost učencev je, da redno in točno obiskujejo pouk, - pri pouku sodelujejo, pišejo zapiske - k pouku redno prinašajo u

rm.dvi

predstavitev fakultete za matematiko 2017 A

Microsoft Word - N Moderirana navodila.docx

Delavnica Načrtovanje digitalnih vezij

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

mat soda liha stevila fotke eval_tretji

Na podlagi Zakona o visokem šolstvu (Uradni list RS, št. 32/12 UPB, 109/12 in 85/14) in Statuta Visoke poslovne šole Erudio (1010 in 2015) je senat Vi

1. letnik MAGISTRSKI ŠTUDIJSKI PROGRAM LESARSTVO, 2. stopnja 2018/19 Število študentov: 12+1 Mentor letnika: prof. dr. Manja Kitek Kuzman III. BLOK 18

resitve.dvi

Na podlagi 65. člena Akta o ustanovitvi zasebnega vzgojno izobraževalnega zavoda»waldorfska šola Ljubljana«z dne je po predhodni obravnavi

N

4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenov

Osnove verjetnosti in statistika

DZS, d. d. Spoštovani, pred vami je vzorčno poglavje dnevnih priprav. Priprave so uporabnikom na voljo v celoti in v obliki, ki omogoča urejanje in pr

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

Pravilnost podatkov, navedenih v vlogi, bo

Slide 1

M

Microsoft Word - UP_Lekcija04_2014.docx

Microsoft Word - navodila_k_ceniku_2005_06_cistopis-1.doc

Microsoft PowerPoint - Java-rekurzija.ppt

PowerPointova predstavitev

Microsoft Word - N M-mod.docx

Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavč

Pravilnost podatkov, navedenih v vlogi, bo

Microsoft Word - M doc

Diapozitiv 1

COBISS3/Medknjižnična izposoja

Microsoft Word - A Pravilnik o izobraževanju-preizkušeni Rac+NR+D+RIS 2011 _lektorirano_.doc

Strokovni izobraževalni center Ljubljana, Srednja poklicna in strokovna šola Bežigrad PRIPRAVE NA PISNI DEL IZPITA IZ MATEMATIKE 2. letnik nižjega pok

Ime in priimek

TEHNIČNA DOKUMENTACIJA

Microsoft Word - vprasalnik_AZU2007.doc

Microsoft PowerPoint - Mocnik.pptx

Na podlagi 74. člena Statuta Univerze v Ljubljani, 1. člena Študijskega reda Univerze v Ljubljani in 79. člena Pravil o organiziranosti in delovanju F

Navodila in pravila za sodelovanje v nagradni igri "NOVI CHIO ČIPS" 1. člen (splošne določbe) Ta pravila določajo način izvedbe nagradne igre»novi Chi

Microsoft PowerPoint - Java_spremenljivke

Microsoft Word CENIK STORITEV VSZ V STUDIJSKEM LETU 2007.doc

7. VAJA A. ENAČBA ZBIRALNE LEČE

Na podlagi 8. točke prvega odstavka 197. člena Statuta UL (Ur. l. RS, št. 4/2017) je Senat Univerze v Ljubljani na 39. seji dne sprejel Št

Microsoft Word - M docx

Osnove matematicne analize 2018/19

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite

NAJRAJE SE DRUŽIM S SVIČNIKOM, SAJ LAHKO VADIM ČRTE IN KRIVULJE, PA VELIKE TISKANE ČRKE IN ŠTEVILKE DO 20. Preizkusite znanje vaših otrok in natisnite

KGZ Slovenije

PROJECT OVERVIEW page 1

Microsoft Word - 501_GEO_.doc

resitve.dvi

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn

Microsoft Word - P101-A doc

Na podlagi 1

Diapozitiv 1

Microsoft Word - ELEKTROTEHNIKA2_11. junij 2104

NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta

Navodila:

Univerza v Mariboru

BiokemInfo - Pregled funkcij

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

resitve.dvi

Microsoft PowerPoint - IPPU-V2.ppt

Transkripcija:

Principi programskih jezikov, 2. izpit 5. julij 2018 Σ Ime in priimek Vpisna številka NAVODILA Ne odpirajte te pole, dokler ne dobite dovoljenja. Preden začnete reševati test: Vpišite svoje podatke na testno polo z velikimi tiskanimi črkami. Na vidno mesto položite osebni dokument s sliko in študentsko izkaznico. Preverite, da imate mobitel izklopljen in spravljen v torbi. Prjavite se na spletno učilnico, kamor boste oddajali odgovore. Dovoljeni pripomočki: pisalo, brisalo, USB ključ in poljubno pisno gradivo. Rešitve vpisujte v kviz na spletni učilnici, 2. nalogo pa rešujete v to polo. Če kaj potrebujete, prosite asistenta, ne sosedov. Med izpitom ne zapuščajte svojega mesta brez dovoljenja. Testna pola vam bo odvzeta brez nadaljnjih opozoril, če: komunicirate s komerkoli, razen z asistentom, komu podate kak predmet ali list papirja, odrinete svoje gradivo, da ga lahko vidi kdo drug, na kak drug način prepisujete ali pomagate komu prepisovati, imate na vidnem mestu mobitel ali druge elektronske naprave. Ob koncu izpita: Ko asistent razglasi konec izpita, takoj nehajte in zaprite testno polo. Ne vstajajte, ampak počakajte, da asistent pobere vse testne pole. Testno polo morate nujno oddati. Čas pisanja je 120 minut. Na tabli je zapisano, do kdaj imate čas. Doseženih 100 točk šteje za maksimalno oceno. Veliko uspeha!

1. naloga (30 točk) a) (6 točk) Elbonijci so zelo napredna družba, zato aritmetične izraze predstavijo kar z drevesi, a uporabljajo drugačne simbole kot mi. Na obisku Elbonije je slovenski predsednik obiskal vrtec, kjer je bila na tabli napisana enakost: 4 2 6 1 1 = 2 8 5 Vzgojiteljica je pojasnila, da vadijo seštevanje in množenje. K predsedniku je pristopila deklica, ga pocukala za rokav, in nekaj vprašala. Prevajalka je prevedla: Gospod v lepi obleki, kakšna je vrednost izrazov na tabli? Vse oči so bile uprte v predsednika, ki je prebledel, a šef varnostne službe, ki je pred leti opravil predmet Principi programskih jezikov, mu je priskočil na pomoč. Katero število je prišepnil šef varnostne službe predsedniku? b) (6 točk) V λ-računu definiramo izraza O : = λ x y. x, I : = λ x y. y. Predstavljamo si, da je O bit nič in I bit ena. Definirajte λ-izraz X, ki izračuna bitni XOR, se pravi, da zadošča enačbam X O O = O, X O I = I, X I O = I, X I I = O. c) (6 točk) Kaj počne naslednja funkcija v SML? fun f xs = let fun e [] [] = true e (u :: us) (v :: vs) = (u = v) andalso e us vs in fun s ys [] = e ys xs s ys (z :: zs) = s (z :: ys) zs s [] xs (a) ugotovi, ali sta prvi in zadnji element seznama xs enaka, (b) preveri, ali so vsi elementi seznama xs med seboj enaki, (c) vedno vrne true, (d) ugotovi, ali je xs palindrom (se ne spremeni, če ga obrnemo).

d) (6 točk) Andrej je definiral signaturo v SML: signature S = sig type t val pi : real val f : t -> t -> t val g : a -> a list Timotej je implementiral štiri strukture: ure Foo = type t = int -> int val pi = 3.141592653589793 fun g x = [x] fun r x = [x] fun f h k x = k (h x) ure Bar = type t = bool type s = int * int fun f b c = b fun g k = k :: g (k + 1) val pi = if 17 * 18 < 20 * 15 then 42.0 else 23.0 ure Baz = type t = bool fun f (h, k) = (fn x => h (k x)) fun g _ = [] val pi = 42 ure Qux = type t = bool fun f (h, k) = (fn x => h (k x)) fun r x = [x] val pi = 3.141592653589793 Označite tiste strukture, ki zadoščajo signaturi S.

e) (6 točk) V prologu je dan predikat appears(f,s), ki pomeni, da se superjunak S pojavi v filmu F. Dana je baza dejstev: appears(iron_man, iron_man). appears(the_incredible_hulk, hulk). appears(iron_man_2, iron_man). appears(iron_man_2, black_widow). appears(avengers, iron_man). appears(avengers, captain_america). appears(avengers, hulk). appears(avengers, thor). appears(avengers, black_widow). appears(avengers, hawkeye). appears(captain_america_civil_war, captain_america). appears(captain_america_civil_war, iron_man). appears(captain_america_civil_war, black_widow). appears(captain_america_civil_war, spider_man). appears(captain_america_civil_war, black_widow). appears(captain_america_civil_war, hawkeye). appears(captain_america_civil_war, ant_man). appears(captain_america_civil_war, vision). appears(spiderman_homecoming, iron_man). appears(spiderman_homecoming, spider_man). Zapišite poizvedbo prologu, ki v spremenljivko S prireja superjunake, ki se pojavijo v vsaj dveh filmih. Poizvedba sme istega superjunaka našteti večkrat.

2. naloga (40 točk) To nalogo rešujte neposredno na izpitno polo, ki jo boste ob koncu izpita oddali. a) (30 točk) Dokažite delno pravilnost programa: { n > 0 } s := 0 ; k := 0 ; a := 1 ; while k <= n do s := s + a ; a := a * n ; k := k + 1 done { (n 1) s = a 1 } b) (10 točk) Dokažite še popolno pravilnost, se pravi, utemeljite, da se zanka while pri danih predpostavkah vedno zaključi.

3. naloga (40 točk) To nalogo lahko rešujete v SML ali v Haskellu. Če jo rešujete v SML, za tok podatkov uporabite podatkovni tip datatype a stream = Cons of a * (unit -> a stream) in če jo rešujete v Haskellu, podatkovni tip data Stream a = Cons (a, Stream a) Neskončno zaporedje podatkov včasih vsebuje ponavljajoče se znake, na primer: a, a, a, a, a, a, a, b, c, d, e, e, e, e, e, b, b, b, b,... Peter se je domislil kodiranja, pri katerem n-kratno ponovitev znaka x predstavi s parom (x, n). Na primer, zgornji tok bi predstavil s kodiranim tokom (a, 7), (b, 1), (c, 1), (d, 1), (e, 5), (b, 4),..., (Petru se še ni posvetilo, da se ne splača kodirati blokov brez ponavljajočih se znakov.) a) (20 točk) Definirajte funkcijo v SML val decode : ( a * int) stream -> a stream oziroma funkcijo v Haskellu decode :: Stream (a, Int) -> Stream a ki kodiran tok podatkov spremeni nazaj v prvotni tok. b) (20 točk) Definirajte funkcijo v SML val encode : a stream -> ( a * int) stream oziroma funkcijo v Haskellu encode :: Eq a => Stream a -> Stream (a, Int) ki tok podatkov pretvori v kodiran tok podatkov. Timotej je opazil, da lahko nastopi težava pri kodiranju toka, v katerem se ena vrednost ponavlja v nedogled. Kako vaša rešitev deluje na takem toku? Odgovor zapišite v komentar.