Osnove programiranja 2 Naloge laboratorijskih vaj

Podobné dokumenty
Navodila za uporabo Garmin Nüvi 1200

Vaja 2 Iskanje z razvijanjem v širino

Matija Lokar: PODATKOVNE STRUKTURE VRSTA. List za mlade matematike, fizike, astronome in računalnikarje

Računalniške delavnice FMF: Delavnica MPI

zlatarna E.LECLERC Po ok Od 1O. januarja do 31. decembra 2O18

Zahtevnejši nivo Kazalo:

Državni izpitni center. Osnovna raven MATEMATIKA. Izpitna pola 1. Torek, 26. avgust 2008 / 120 minut

NiceForm uporabniški priročnik

PRILOGA ŠT. 1: Gasilski znak

Analiza naravne svetlobe

Delo z datotekami v C#

Programski jeziki. Od problema do programa. Od problema do programa

Datotečni (zbirčni) sistem - File Management System

Navodila za vnos in kontrolo podatkov iz letnih poročil na poenotenih obrazcih gospodarskih družb v Excelovo preglednico

MIFID_FORMS_LIST_SLV

1 GIF Animator. 1.1 Opis programa Lastnosti zmogljivosti programa. Active GIF Creator 2.18 je program za obdelavo GIF datotek.

Računalništvo in informatika Računalniška omrežja. Računalniška omrežja. Osnovni pojmi. prof. Andrej Krajnc univ. dipl.inž.

evropskega emblema v povezavi s programi EU

Intervalna ocena parametra

POSEBNI POGOJI ZA PROMOCIJE PAKETOV KOMBO FEBRUAR (v nadaljevanju: Posebni pogoji promocije Kombo Februar)

Skripta za Programiranje 2 Rekurzija Delo z datotekami

Spajanje dokumentov v Word-u 2007

IZDELAVA FOTOKNJIGE. ali pa na

Računalništvo in informatika (vaje)

Ocena požarnih nevarnosti, tveganj, ogroženosti in obremenitev. Ciril Tomše VKGČ II. stopnje

Uporabniški priročnik. Kosovni management. Hermes d.o.o. Prušnikova Ljubljana-Šentvid.

INFORMATIKA. Uvod v HTML - 2. del

B-panel. C-panel. S-panel. Osnovni enobarvni paneli. Zasteklitve. strani strani strani

Sigma števec za kolo BC 2209 MHR Targa

POŠTA SLOVENIJE d. o. o MARIBOR NAVODILA ZA DELO Z WEB APLIKACIJO POŠTNO OKENCE PRI VAS

Komunikacije v avtomatiki

Po vrsti z leve proti desni so obrazi Blaž, Erik, Dane, Andrej, Andraž, Bor.

POŠTA SLOVENIJE d. o. o MARIBOR NAVODILA ZA DELO Z APLIKACIJO. espremnica

MS Excel Uporaba IKT pri poslovanju. 1 MS Excel

VODNIK ZA ČLANE-IZDAJATELJE

PRIROČNIK ZA NADALJEVALNI TEČAJ MICROSOFT WORD-A

Inventura v osnovnih sredstvih

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

PRIROČNIK CELOSTNE GRAFIČNE PODOBE

WayteQ x950bt-hd GPS Navigacija

Uporabniški priročnik

Ekonomska šola Kidričeva Kranj. FrontPage 2003 ZA INTERNO UPORABO. Pripravil: Tomo Grahek. Kranj, maj 07

Okolje Okna 2000NT (Windows 2000NT) se pri običajnih nastavitvah računalnika aktivira ob vklopu računalnika.

CS Návod k použití 2 Chladnička s mrazničkou SL Navodila za uporabo 19 Hladilnik z zamrzovalnikom S53620CSW2

RAČUNALNIŠKA PODPORA ROBOTSKI SENZORIKI

PRIROČNIK O IZVAJANJU PROJEKTOV ZA UPRAVIČENCE 6. DEL INFORMIRANJE IN OBVEŠČANJE

13.6 CIR9XX OSTALI IZPISI

Prodaja, servis, svetovanje za KRIO SAVNO in izvajanje KRIO TERAPIJE CRYO SAUNA SPACE CABIN BY CRYOMED

KVIZ Osnove elektrotehnike II magnetostatika

Knjiga prejetih računov

Projekt. Projektna naloga Naprava za sušenje gela za nohte FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO

SEZNAM ŠOLSKIH POTREBŠČIN ZA 1. RAZRED SOLČAVA

FM52 - AD208 - AD278 - AD297

UČNA URA: Spoznavanje prometnih znakov

RPT Vodnik za organizacijo registracije

PREDSTAVITEV PRAVILNIKA O GEODETSKEM NAČRTU. Ljubljana,14. maj 2008

PRAVILA IGRE NA SREČO LOTO (prečiščeno besedilo)

3D SKENIRANJE in 3D TISKANJE

only Service Digitalni tahograf DTCO 1381 Release Navodila za uporabo podjetje & voznik DTCO SmartLink (Opcija)

AccountingBox / spremembe in dodatki

BREZ ELEKTRONSKE POŠTE NE GRE!

110PAX4/R110PAX4 Kratka navodila

Tiskalnik nalepk Brother P-touch 1005FB

VSEBINA Upravljanje Splošni napotki. 1. Splošni napotki. 1.1 Spremljajoči dokumenti Navodila za uporabo WPM. 1.2 Varnostni napotki

Firmar 14. Uporabniški priročnik. ArtSoft Ljubo Brglez s.p. Poslovna programska oprema

Navodilo za uporabo 1. del digitalnega prenosnega telefona

Državni izpitni center *M * SPOMLADANSKI IZPITNI ROK RAČUNALNIŠTVO NAVODILA ZA OCENJEVANJE. Petek, 10. junij 2011 SPLOŠNA MATURA

IBAN plačnika. Referenca plačnika. Janez Novak Maribor. Znesek ***14,71 Datum plačila EUR. Namen plačila SI

COBISS3/Elektronski viri V


Razvoj seminarske naloge

Edge. Touring Priročnik za uporabo. Junij _0B Natisnjeno na Tajvanu

POSVET OB MESECU POŽARNE VARNOSTI

Cone 1 & 2, 21 & 7 Razsvetljava

FM Stereo Sprejemnik FM/AM

Priimek in ime: Vpisna številka: Letnik vaj Obkroži smer študija:

1. SPLOŠNA NAVODILA. 2. Robovi so 3,00 cm levo in desno ter 3,00 cm zgoraj in spodaj.

S53WW. č č Je čas na radikální zásah do 2m řetězce nebo skončit se závoděním?

KP500 Navodila za uporabo

Navodila za uporabo. Za upravljavca. Navodila za uporabo. calormatic 370. Sobni regulator temperature

Avtoradio JVC KD DB65

EGT6343 CS VARNÁ DESKA NÁVOD K POUŽITÍ 2 SL KUHALNA PLOŠČA NAVODILA ZA UPORABO 17

KRONOTERM Navodila za uporabo spletnega vmesnika. Spletni vmesnik. Navodila za uporabo. 1 S tran

Akcija velja do

MATEMATIKA PRIPRAVA NA NACIONALNO PREVERJANJE ZNANJA. Jana Draksler in Marjana Robič

Uvod. Slika 1.1: Električna shema enostavne krmilne naloge (a) in njena rešitev z releji (b) a) b) Univerza v Ljubljani Fakulteta za elektrotehniko

1LA7, 1LG4 asinhronski motorji

Osnovna sredstva in drobni inventar

Sistem interaktivne table SMART Board

GT-I9195. Navodila za uporabo.

INFORMACIJSKO-KOMUNIKACIJSKA PODPORA V PISARNI RAČUNALNIŠTVO IN INFORMATIKA MARKO KOMPARE TOMAŢ DULAR

Cena / mesec Mesečna naročnina za paket Rumeni 92 digitalnih tv programov 18,90

Temno modra barva GZS, barvana. Vrednosti L*a*b* ΔE* so naslednje: L* = 12,13, a* = - 0,11, b* = - 4,95. Odstopanje mora biti v skladu z ΔE* 2.

Analiza informacijsko-komunikacijskih storitev za komunikacijo in trženje z elektronsko pošto in kratkimi sporočili SMS

SM-A300FU. Navodila za uporabo. Slovenian. 12/2014. Rev.1.0.

CENIK OSTALIH STORITEV

POŠTA SLOVENIJE d. o. o MARIBOR SPLOŠNI POGOJI IZVAJANJA DRUGIH POŠTNIH STORITEV

PRENOSNI DIGITALNI TELEVIZOR Z VISOKO LOČLJIVOSTJO TV STAR T7 HD LCD UPORABNIŠKA NAVODILA SLO

SM-G361F. Navodila za uporabo. Slovenian. 08/2015. Rev.1.0.

Spojová implementace lineárních datových struktur

Transkript:

Osnove programiranja 2 Naloge laboratorijskih vaj za študijsko leto 2006/2007 Navodila o opravljanju laboratorijskih vaj so objavljena na spletnih straneh predmeta. Naloge iz C morate zagovoriti v prvi polovici semestra, to je do 20. aprila 2007. Naloge iz Jave morate zagovoriti najkasneje do konca semestra, to je do 31. maja 2007. Naloge iz programskega jezika C (do 20. aprila 2007) 1. V programskem jeziku C napišite program, ki v datoteki prešteje vse rke angleške abecede (a - z in A - Z) in na koncu izpiše, kolikokrat se vsaka rka v datoteki pojavi. Pri tem ne loimo velikih in malih rk. Ime datoteke programu podamo kot parameter ukazne vrstice. 2. V programskem jeziku C napišite program, ki primerja vsebini dveh datotek in izpiše vse tiste vrstice, ki se razlikujejo, skupaj z ustrezno številko vrstice. Imeni obeh datotek sta podani kot parametra ukazne vrstice, dolžina vrstice pa je omejena na 80 znakov. 3. V programskem jeziku C napišite program, ki reši problem Hanoiskih stolpov in izpiše potek reševanja. Pri problemu Hanoiskih stolpov je potrebno prestaviti n ploš razlinih velikosti iz stolpa a na stolp c s pomojo stolpa b, pri tem pa je potrebno paziti, da veja ploša nikoli ne pride na manjšo. Vedno lahko prestavimo le eno plošico naenkrat in vedno le tisto, ki je na vrhu. Primer za n = 3 dobimo naslednji izpis: a -> c a -> b c -> b a -> c b -> a b -> c a -> c Nasvet: Pomagajte si z rekurzijo. 4. V programskem jeziku C napišite program, ki preveri, ali je podana beseda palindrom. Palindrom je niz, ki se enako bere naprej in nazaj (primer: ata, abba, cepec, radar, Lagerregal). Pri tem morate funkcijo za preverjanje palindromov implementirati rekurzivno.

5. V programskem jeziku C napišite program, ki v podanem nizu znakov poiše najdaljši podniz, ki je palindrom. Palindrom je niz, ki se enako bere naprej in nazaj (primer: ata, abba, cepec, radar, Lagerregal). Primer: najdaljši palindrom v nizu "to je niz zz lagerregalia plindromom" je "lagerregal" (oznaen krepko v nizu), kar tudi izpiše program. Sicer podani niz vsebuje ve palindromov. 6. V programskem jeziku C napišite program, ki sortira linearni seznam. Seznam mora biti implementiran kot kazalni seznam in naj hrani nize znakov, soritranje pa je narašajoe po (angleški) abecedi. Preverite pravilnost delovanja programa tako, da zgradite poljuben seznam (ki vsebuje vsaj 10 elementov), ga sortirate in izpišete. Za sortiranje lahko uporabite poljuben algoritem, a ga morate implementirati sami. 7. V programskem jeziku C napišite program, ki z linearnim seznamom ali z dinamino ustvarjeno tabelo implementira krožni medpomnilnik (buffer). Program naj vsebuje funkcijo za inicializacijo medpomnilnika (podamo ji velikost medpomnilnika) ter funkcije za dodajanje, odvzemanje, štetje in izpis elementov v medpomnilniku. 8. Nize, v katerih se neka rka vekrat ponovi, lahko zapišemo krajše tako, da za rko pripišemo število ponovitev: aa zapišemo kot a2 aaaabbbbb zapišemo kot a3ab5 aaabbbbbbbbbbbbc zapišemo kot a3b12c Tako stisnjena beseda ni nikoli daljša od originala, saj število zaporednih nastopanj vsake rke dodamo le v primeru, ko se rka dejansko ponavlja. V programskem jeziku C napišite program, ki omogoa stiskanje besed. Program naj bo omejen na besede, ki so sestavljene samo iz rk angleške abecede (a - z in A - Z). Upoštevajte tudi, da je število ponovitev lahko tudi vemestno število (poljubno veliko, tudi veje od sto). Besedo, ki jo stiskamo, naj program prebere s standardnega vhoda in stisnjeno besedo izpiše na standardni izhod. Program dopolnite s funkcijo za razširjanje besed, ki so stisnjene na zgoraj opisani nain. 9. V programskem jeziku C napišite program, ki bo deloval kot RPN (Reverse Polish Notation) kalkulator. Tak kalkulator sprejme za vsako operacijo najprej operande (v splošnem realna števila) in nato prebere še operator, ki nadomesti operande z rezultatom operacije. Rezultat lahko nastopa kot operand neke naslednje operacije. Vaš kalkulator naj omogoa raunanje z operatorji: + (seštevanje), - (odštevanje), * (množenje), / (deljenje), -- (unarni minus), ** (kvadrat) ter // (kvadratni koren). Primer izrauna izraza (2+3)*(4+5):

2 <ret> 2 3 <ret> 3 + <ret> 5 4 <ret> 4 5 <ret> 5 + <ret> 9 * <ret> 45 Nasvet: Pomagajte si s skladom., e je velikost izraza omejena in (2 toki), e velikost izraza ni omejena. 10. Razpršena matrika je matrika velikosti mxn, ki ima veino elementov nielnih. Ker je hranjenje velikega števila nielnih elementov v dvodimenzionalni tabeli potratno, je primerneje razpršeno matriko zapisati v obliki kazalnega seznama nenielnih elementov. Pri tem vsak element seznama poleg vrednosti vsebuje še oba indeksa tega elementa v matriki in kazalec na naslednji element: struct element { int mind, nind; /*indeksa elementa v matriki*/ int vrednost; /*vrednost elementa*/ struct element *nasl; /*kazalec na naslednji element*/ } V programskem jeziku C napišite program za delo z razpršenimi matrikami. Program naj omogoa branje matrike v tabelarini obliki z vhoda (najprej velikost matrike, potem vsi elementi matrike), hranjenje matrike v obliki kazalnega seznama, izpis s kazalnim seznamom predstavljene matrike na zaslon (standardni izhod) ter funkcijo za raunanje vsote dveh matrik enakih dimenzij, ki sta zapisani v obliki kazalnega seznama. Matrika naj bo deklarirana kot kazalec na zapis, ki vsebuje podatka o obeh dimenzijah matrike ter kazalec na zaetek seznama z elementi matrike. (2 toki) Program dopolnite s funkcijo za raunanje produkta dveh matrik velikosti mxk in kxn (velikost produkta je mxn). 11. V programskem jeziku C napišite program, ki prebere datoteko in poiše ter izpiše 10 najbolj pogosto uporabljenih besed. Besede so lahko poljubno dolge, loilo med besedami pa so prazni prostori (angl. whitespace), kot so presledek, tabulator, znak za novo vrstico... Program naj datoteko, katere ime je podano kot argument ukazne vrstice, prebere samo enkrat (zaporedno branje). Za shranjevanje podatkov o prebranih besedah uporabite linearni

kazalni seznam. (3 toke) 12. Na sliki je prikazan trikotnik med seboj povezanih števil. V programskem jeziku C napišite program, ki bo izraunal najvejo vsoto števil na poti od korena do konnega lista. Na tej poti se lahko pomikamo samo po povezavah in v smeri navzdol. Predpostavimo, da drevo ne bo imelo ve kot 20 konnih listov, vrednosti pa so cela števila od vkljuno 0 do vkljuno 9. 7 <- koren / \ 3 8 / \ / \ 8 1 0 / \ / \ / \ 2 7 4 4 / \ / \ / \ / \ 4 5 2 6 5 <- listi Program naj prebere trikotnik števil preko standardnega vhoda. V prvi vrstici vhoda je število konnih listov, sledijo vrstice z vrednostmi števil v drevesu. Za prikazan zgled bi bila vsebina na vhodu: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 Program naj na standardni izhod izpiše vrednost najveje vsote ter pot od korena do lista za to vsoto. V našem primeru: (3 toke) 30 7 / 3 8 / 8 1 0 \ 2 7 4 4 / 4 5 2 6 5 13. V programskem jeziku C napišite program parse, ki iz ukazne vrstice prebere aritmetini izraz v infiksni obliki in ga izpiše v prefiksni in postfiksni obliki. Pri postopku si lahko pomagate z binarnim drevesom, ki ga predstavite s kazalci. Aritmetini izrazi lahko vsebujejo: operatorje: +, -, * in / z obiajnimi prioritetami, oklepaje: ( in ) ter operande: števila ali konstante (rke od a do z).

Primer: ukazu parse (a+b)*5+a/3 pripada drevo in izpisa: + * + a b 5 / a 3 a b + 5 * a 3 / + Pazite na pravilne prioritete operatorjev! (4 toke) 14. Sami si zamislite problem in ga rešite s programom v programskem jeziku C. Z asistentom se pogovorite o primernosti in težavnosti problema ter pripadajoem številu tok. (do 5 tok) Naloge iz programskega jezika Java (do 31. maja 2007) NAVODILO: Pri reševanju nalog iz programskega jezika Java ne smete uporabljati razreda BranjePodatkov, ki ste ga spoznali pri Osnovah programiranja 1. Pri delu z datotekami in standardnim vhodom/izhodom (branje, pisanje,...) uporabljajte Javine knjižnice. 1. V programskem jeziku Java napišite aplet za spletno menjalnico, ki omogoa pretvorbo iz petih razlinih tujih valut (CHF, JPY, GBP, HRK in USD) v evre (EUR) in obratno. Pretvorba naj se izvaja s pomojo tabele menjalnih teajev, ki jo vzpostavite s pomojo seznama vrednosti, na primer: double[] tecaji = {1.6267, 157.78, 0.67115, 7.3557, 1.3137}; Aplet naj omogoa tudi vpis novih vrednosti menjalnih teajev. Osrednji del okna naj zajema vnosno polje za znesek, ki ga želimo pretvoriti, oznako za izpis izraunane vrednosti v drugi valuti ter deset gumbov, ki omogoajo vse mogoe pretvorbe med EUR in tujimi valutami. Po potrebi lahko aplet vsebuje tudi dodatne oznake, vnosna polja in gumbe (kjer je smiselno, uporabite polje elementov). 2. V programskem jeziku Java napišite program, ki omogoa pretvarjanje med arabskimi in rimskimi števili. Za predstavitev rimskih števil uporabite naslednje znake: I za 1, V za 5, X za 10, L za 50, C za 100, D za 500 in M za 1000. Pri pretvorbi se zaradi enostavnosti omejite na števila do 5000.

Program naj pretvarja iz arabskih v rimska števila. Primer: java pretvori 1990 izpiše MCMXC java pretvori 2007 izpiše MMVII 3. V programskem jeziku Java napišite program, ki omogoa pretvarjanje med arabskimi in rimskimi števili. Za predstavitev rimskih števil uporabite naslednje znake: I za 1, V za 5, X za 10, L za 50, C za 100, D za 500 in M za 1000. Pri pretvorbi se zaradi enostavnosti omejite na števila do 5000. Program naj pretvarja iz rimskih v arabska števila. Primer: java pretvori MCMXC izpiše 1990 java pretvori MMVII izpiše 2007 4. Napišite program v programskem jeziku Java, ki implementira enosmerni seznam (razred List). Elementi seznama hranijo cela števila. Seznam je lahko tipa vrsta, sklad ali urejen seznam. Za dodajanje elementa v seznam uporabite metodo storeit(), za odvzemanje elementa iz seznama pa metodo retrieveit(). Osnovni razred List naj bo abstrakten in naj dokonno ne definira metod teh dveh operacij. Obe metodi naj bosta doloeni v izvedenih razredih Queue, Stack in SortList. V seznamu tipa vrsta naj se elementi dodajajo na koncu in odvzemajo na zaetku, v seznamu tipa sklad naj se elementi dodajajo in odvzemajo na koncu, v seznamu tipa urejen seznam pa naj se elementi dodajajo na ustrezno mesto glede na narašajoi vrstni red shranjenih celih števil in odvzemajo na zaetku seznama. Program naj generira vse tri sezname in ilustrira dinamino izbiranje prekritih metod. Tip seznama, celo število in operacija naj se izbirajo interaktivno. 5. V programskem jeziku Java napišite program, ki iz podane datoteke z Javanskim programom zbriše vse komentarje (vse tri vrste komentarjev, ki jih pozna Java). Tako oišeno kodo zapiše v izhodno datoteko, e je le-ta podana, sicer pa jo zapiše nazaj v isto datoteko. 6. V programskem jeziku Java napišite program, ki bo podano besedo prevedel v Morseovo abecedo, pri tem naj se med rkami Morseove abecede nahaja presledek. Definirajte razred Morse, ki bo vseboval vse rke abecede in pripadajoo šifro. Ta razred potem uporabite v

razredu Kodirnik, kjer bo šifriranje potekalo. Tabelo rk Morseove abecede najdete na koncu tega dokumenta. 7. V programskem jeziku Java sestavite program za izris preprostega grafa. Enaba po kateri se naj izrisuje graf je naslednja: f(x) = a * sin(b * x + c) + d * cos(e * x + f) Vse parametre a, b, c, d, e in f funkcije f(x) naj bo mogoe spreminjati med delovanjem programa. Za urejanje parametrov in izris grafa izdelajte primeren uporabniški vmesnik, za katerega uporabite ustrezen razporejevalnik (layout manager). Poskrbite za osveževanje grafa ob spremembi parametrov. Ne pozabite na izris osi x in y. Poskrbite tudi za primerno obmoje izrisovanja grafa. Namig: upoštevajte amplitudi kotnih funkcij. 8. V programskem jeziku Java napišite grafini program, ki deluje kot kalkulator. Omogoa naj izraun osnovnih štirih operacij (+, -, x, /), kvadrata in kvadratnega korena. Poleg tega naj kalkulator omogoa tudi raunanje štirih funkcij: sin(x), cos(x), e x ter ln(x). Ne pozabite tudi na tipke za izbris vrednosti, izbris zadnje vnešene vrednosti, vnos decimalne vejice ter vnos negativnega števila. Vse elemente ustrezno razporedite v oknu, da bo kalkulator enostaven za uporabo. Pri raunanju morate upoštevati prioriteto operatorjev. Nasvet: Delajte s skladom. Kalkulator naj omogoa tudi izris vseh štirih funkcij, ki jih rauna. 9. V programskem jeziku Java napišite program multigrep, ki deluje podobno kot ukaz grep z ve besedami. Program naj prejme ime datoteke kot prvi argument, ostali argumenti pa so besede, ki jih išemo. Program izpiše vse tiste vrstice iz podane datoteke, ki vsebujejo eno ali ve podanih besed. Primer klica programa: java multigrep dat.txt prvabeseda drugabeseda tretjabeseda Programu dodajte tudi stikalo -i (ignore case), ki omogoa iskanje besed ne glede na velike oz. male rke, stikalo -n (number), ki pred vsako izpisano vrstico izpiše tudi njeno zaporedno številko, ter stikalo -c (count), ki vrstic ne izpisuje, temve jih le prešteje in izpiše skupno število vrstic, ki zadostujejo pogoju. Vsa stikala so opcijska in se lahko uporabljajo tudi hkrati. 10. Napišite program v programskem jeziku Java, ki prebere vsebino HTML datoteke in izpiše URL naslove vseh povezav (linkov), navedenih v tej datoteki. HTML datoteka je podana z URL naslovom. Program naj omogoa vpis spletnega naslova datoteke (URL) v vnosno polje v oknu, izpis povezav pa naj bo v ustreznem elementu v istem oknu. Pri tem si pomagajte z objektoma tipa java.net.url in java.io.bufferedreader.

Program naj v oknu prikaže vse slike, ki so v podani datoteki. Slike so v HTML datoteki navedene z oznako "img". 11. V datoteki imamo shranjene podatke o naših glasbenih datotekah. Podatki naj obsegajo izvajalca, naslov pesmi, naslov albuma in leto izida. V programskem jeziku Java napišite program (v grafinem okolju) za pregledovanje in spreminjanje podatkov, za dodajanje novih pesmi in brisanje obstojeih. Vsaka glasbena datoteka naj bo predstavljena z enim objektom (definirajte ustrezen razred), datoteka pa naj hrani cele objekte (to ni tekstovna datoteka). (2 toki) 12. V programskem jeziku Java napišite program, ki bo omogoal prostorono risanje z miško. Program naj omogoa izbiro razlinih barv pisala. Uporabnik naj riše tako, da pritisne na miškin gumb in miško vlee po risalni površini, na mestu kurzorja pa se sproti izrisujejo toke v izbrani barvi. Ko gumb spusti, se risanje kona. Pri izdelavi bodite pozorni na osveževanje risalne površine oz. zaslona in uporabljajte tehniko dvojnega pomnjenja (double buffering - risanje naj poteka v bitno sliko, ta pa naj se izrisuje na zaslon). (2 toki) Programu dodajte opciji, ki omogoita nalaganje in shranjevanje narisanih slik iz/v datoteko na disku. Pri tem bodite pozorni na možne izjeme (datoteka ne obstaja, je v napanem formatu, je ne morem shraniti,...) in izpišite primerna obvestila o napakah. Programu dodajte opcijo, ki razveljavi zadnjo narisano potezo (undo). Globina razveljavljanja naj bo poljubna: uporabnik lahko torej z veimi zaporednimi izbirami te opcije razveljavi zadnjih nekaj narisanih potez. Programu dodajte novo orodje, ki služi zapolnjevanju (barvanju) delov risalne površine (free fill). Ob izbiri orodja lahko uporabnik z miško klikne na poljuben del risalne površine, ki se pri tem pobarva z izbrano barvo do roba; rob je doloen z barvo, ki je drugana od barve toke, na katero je uporabnik kliknil. (+2 toki) Programu dodajte izpis trenutnega asa (ure:minute:sekunde). Za sprotno izpisovanje trenutnega asa naj poskrbi nova nit. 13. Napišite program v programskem jeziku Java, ki simulira premikanje žogic v oknu. Ob zagonu programa naj bo v oknu ena žogica. Žogica naj ima smer in hitrost premikanja. Ko pride žogica do ovire (rob okna, druga žogica), se od ovire odbije. Program naj omogoa simulacijo poljubnega števila žogic (premikanje vsake žogice simulira svoja nit). Program naj omogoa dodajanje novih žogic v okno. Za vsako novo dodano žogico skrbi nit, ki se ustvari na novo. Pri dodajanju nove žogice se njeni zaetni parametri (zaetni položaj, smer in hitrost) nastavijo nakljuno. (3 toke)

14. Sami si zamislite problem in ga rešite s programom v programskem jeziku Java. Z asistentom se pogovorite o primernosti in težavnosti problema ter pripadajoem številu tok. (do 5 tok) MORSEOVA abeceda A.- B -... C -.-. D -.. E. F..-. G --. H... I.. J.--- K -.- L.-.. M -- N -. O --- P.--. Q --.- R.-. S... T - U..- V...- W.-- X -..- Y -.-- Z --.. 1.---- 2..--- 3...-- 4...- 5... 6 -... 7 --... 8 ---.. 9 ----. 0 ----- Za morebitne pripombe in vprašanja v zvezi z nalogami se obrnite na asistente pri vajah.