Programski jeziki - domače naloge

Namen domačih nalog je, da zagotovim, da boste lahko spremljali predavanja. Zato se morajo reševati sproti. Na nekaterih predavanjih boste dobili nekaj nalog, ki jih bomo načeloma reševali na vajah. Objavljene bodo tudi v spletu. Za vsak zamujeni teden dobivate dodatne naloge.

Pregled opravljenih

1. DN: [Rok oddaje: 15. 1. do 12 ure] Sestavi programček (applet), ki nariše čim lepšega snežaka ali snežake. Nalepši trije snežaki bodo nagrajeni. Svoj program pošljite po e-pošti na naslov Matija.Lokar@fmf.uni-lj.si, kjer pošljete JAVA datoteko kot priponko in v polje Zadeva (Subject) vpišete DIRI2003 - 1DN! Programček naj opbvezno izpiše tudi vaše ime. Da bo lažje - kliknite na sliko!

2. DN: [Rok oddaje: 22. 1. do 12 ure] Sestavi programček (applet), ki "meče" kocko. Programček torej generira naključno število med 1 in 6 in potem stran kocke, kjer je prikazano, koliko pik je "padlo".  Svoj program pošljite po e-pošti na naslov Matija.Lokar@fmf.uni-lj.si, kjer pošljete JAVA datoteko kot priponko in v polje Zadeva (Subject) vpišete DIRI2003 - 2DN!

3. DN: [Rok oddaje: 5. 2. do 12 ure]

Sestavi tri programe:

1- Sestavi tabelo velikost 25 z naključnimi števili med 0 in 200. Nariši histogram teh števil (25 navpičnih pravokotnikov širine 10 in višine, kolikor je ustrezni podatek v tabeli.). Z eno barvo nariši tiste pravokotnike, ki so za več kot 10% manjši od povprečja in z drugo tiste, ki so za več kot 10% večji od povprečja. Če je kak podatek enak povprečju, ali se od njega razlikuje za manj kot 10%, naj bo rumen. Če je torej povprečje 60, bodo rumeni vsi podatki med 54 in 66. Če želiš, sliko "obrni", tako da bo "podlaga" pravokotnikov na višini 250!

2 - Oglej si program in ga spremeni tako, da bo narisal urno številčnico (kazalci lahko mirujejo, lahko pa zadevo narediš tako, da kaže pravi čas) Označene naj bodo tudi ure!

3 - Nariši morje (valove)! Pomagaj si z zankami in ukazom za risanje krožnih lokov.

 

Tudi tokrat bomo najboljše rešitve nagradili!

4. DN: [Rok oddaje: 4. 3. do 12 ure]

Svoje programe pošljite po e-pošti na naslov Matija.Lokar@fmf.uni-lj.si, kjer pošljete ZIP datoteko in v njej JAVA in CLASS datoteke in v polje Zadeva (Subject) vpišete DIRI2003 - 4DN!

Pri oddaji naloge je OBVEZNO potrebno napisati besedilo naloge kot komentar v programu.

Če piše, da je potrebno napisati program, je potrebno narediti program, ki se poganja iz ukazne vrstice. Izjema je, če program zahteva risanje – v tem primeru izdelajte programček (applet). Če piše programček, je potrebno izdelati applet. Če naloga zahteva izdelavo metode, pripravite tudi testni program s katerim prikažete delovanje te metode.

Rešiti morate VSAJ 5 nalog, lahko pa jih seveda tudi več.

Tisti, ki imate “stare dolgove” – torej, ki do sedaj niste uspešno rešili vseh nalog, morate rešiti ustrezno več nalog. Če torej niste opravili še nobene DN, morate rešiti 5 + 3 = 8 nalog (poleg rešitev prvih treh seveda) , če vam manjka ena DN, morate rešiti to nalogo in še 6 nalog iz 4DN, …

 

 

•  Napišite program, ki sešteje tista števila med 1 in n, ki dajo pri deljenju s 7 ostanek 3. N je podatek, ki ga preberete.

•  Napišite program DodajPike.java , ki deluje takole: prebere niz znakov s, nato pa izpiše na zaslon niz s z vrinjenimi pikami. Primer uporabe:

 

Vnesi niz: Domace naloge je odlocno prevec.

.D.o.m.a.c.e. .n.a.l.o.g.e. .j.e. .o.d.l.o.c.n.o. .p.r.e.v.e.c..

 

•  Sestavite program, ki vrne vrednost izraza, ki ga dobiš, če med števke celega števila vstavljaš izmenično operatorja + in -. Začneš s + med deseticami in enicami in končaš z znakom pred prvo števko. Primer: f(123) = + 1 - 2 + 3 = 2, f(1234) = - 1 + 2 – 3 + 4 = 2, f(24523) = + 2 – 4 + 5 – 2 + 3 = 4

•  V tabelo dolžine d zapišite slučajna števila. Sestavite novo tabelo, v kateri je n-ti element vsota prvih n iz prve tabele. Iz tabele z elementi 1, 5, 6, 2 torej naredimo tabelo 1, 6, 12, 14.

•  Napišite metodo, ki niz spremeni tako, da so vse črke v nizu izmenično male in velike. Znake, ki niso črke, pustimo pri miru. Primer uporabe:

 

Vnesi niz: Domace naloge je odlocno prevec.

DoMaCe NaLoGe Je OdLoCnO pReVeC.

 

•  Napišite metodo znakIN, ki nariše lik stopnje n, kot ga vidimo na sliki. Na sliki so zaporedoma liki stopnje 0, 1, 2 in 3. Uporabite rekurzijo (lik stopnje n je sestavljen iz 5 manjših likov stopnje n-1)


 

•  Sestavite metodo, ki nariše mrežo. Razmik v vodoravni in navpični smeri, levi zgornji kot ter število črt so parametri.

 

•  Generirajte 10000 slučajnih števil med 0 in 25 in narišite histogram, ki pove kolikokrat se vsako število pojavi. Predpostavite lahko, da se nobeno število ne bo pojavilo več kot 500krat. Uporabite lahko rešitev 3DN.

 

•  Generirajte N slučajnih števil med A in B in narišite histogram, ki pove kolikokrat se vsako število pojavi. Histogram naj se prikazuje v oknu velikosti 400 x 300 (standardna velikost, kot jo uporabi Appletviewer). Namig: potrebno bo ustrezno utežiti vrednosti – tako, da bo največji stolpec visok ravno 300 in da bodo stolpci skupaj široki 400 enot!

 

•  Sestavi programček v Javi, ki nariše stavni listek za loto in na njem prekriža 7 naključnih števil!
Namig:

Številke izpišemo npr. v 4 vrstice po 10. Ko generamo naključno število, izračunamo koordinate točk, ki pomenijo ustrezna krajišča črt, s katerimi "prekrižamo" število.

 5. DN: [Rok oddaje: 11. 3. do 12 ure]

 6. DN: [Rok oddaje: --- kadarkoli ]

Na http://acm.uva.es/problemset/ si med 1600 problemi (Volume I - VIII, Volume C - CVI) izberi vsaj 3 poljubne probleme in jih reši v Javi. Oddaj SLOVENSKO besedilo problema in rešitev naloge. Da boš lahko preveril, kako ti gre reševanje od rok, se lahko prijaviš v sistem, ki ti omogoča on-line preverjanje pravilnosti naloge!

Na http://rc.fmf.uni-lj.si/matija/PI/Pi2004.htm si lahko ogledaš (pri http://www.oblacek.com/pi/ ), katere naloge so npr. rešili udeleženci spletnega tekmovanja, ki poteka. Med njimi je veliko dijakov!

Podrobneje

=======================