Tallinna Pedagoogikaülikool
Informaatika osakond
Jaagup Kippar
Veebiprogrammeerimise
ülesannete kogu
Mai 2002
Õppimise juures on tarvilik teadmiste kinnitamiseks teoreetiliselt poolelt saadud tarkused praktikasse rakendada. Koostatud ülesanded on mõeldud abiks nii õpetajale kui iseõppijale, pakkudes mitmesuguseid lahendust nõudvaid probleeme ning andes mitme taseme tõttu ühe võimaliku tee lahenduse poole liikumiseks. Osa ülesannetest võib sobida otse üle võtta, kuid soovitav on arvata siinsest kirjutisest leitud idee aluseks ning vastavalt õpitud taustale lahendusteed lihtsustada või sellele nüansse juurde mõelda. Ideed on enamasti küllalt universaalsed ning sobivalt kohandades peaksid lahendamiseks sobima mitmesuguse ettevalmistuse korral. Mitmelgi puhul on pakutud enam võimalusi kui lihtsamaks oskuste harjutamiseks tarvilik. Kui ülesanne liialt keerulisena tundub, siis ei pea seda mitte kõrvale jätma, vaid tuleb vaadata, kas õnnestub mõne punkti eemaldamise või lahtiseletamise abil probleem õppijatele suupäraseks teha. Enamik siin toodud ülesandeid pole seotud konkreetse keelega, vaid samu lahendusi on võimalik saavutada keelest sõltumata.
Märgatav osa ülesandeid on jaotatud kolmeks alapunktiks, kus iga järgmine peaks eelmisest paar-kolm korda keerulisem olema. Tegevused on püütud jagada nõnda, et nii esimene punkt eraldi kui kaks alguspunkti koos annaksid terviku ning sinna pidama jäädes ei tekiks poolelijäämise tunnet. Koostamise ajal on püütud nii arvestada, et ülikooli 90-minutilise praktikumipaari ajal jõuaksid kõige tugevamad lahendada kogu kolmest punktist koosneva ploki. Enamik saaksid selle ajaga hakkama kahe astmega ja mõned neist jõuaksid raskeima taseme läbi mõelda. Ning ka kõige nõrgemad või lihtsalt õpilased, kel sel korral pea lahti pole, peaksid vähemasti esimese tasemega hakkama saama. Ülesanded, kus on rohkem alapunkte, on mõeldud kas algõppeks või siis väga erisuguse tasemega õppijate rühma tarbeks. Esimesel juhul on teemad võimalikult väikesteks osadeks jaotatud, et igaühel õnnestuks tunni jooksul vähemalt üks või kaks eduelamust saada. Teisel juhul on arvestatud, et tugevamad võivad mõne alumise taseme läbi katsetamata jätta (eeldusel, et nad mõtetes sellest üle on) ning siis raskemate etappide kallale asuda.
·
Loo ekraanile raam
·
Liiguta raami ekraanil vasakult paremale
·
Liiguta raami ülalt alla ja tagasi.
·
Pane raam vasakule-paremale pendeldama.
·
Suurenda ning vähenda raami laiust.
·
Alusta väikesest raamist ekraani üleval vasakul nurgas. Pane raam
kasvama üle ekraani. Jäta parem alumine nurk paigale ning vähenda raam
paremasse alla nurka pisikeseks tagasi.
·
Paiguta ekraani allserva sinise taustaga aken.
·
Lisaks eelmisele kirjutatakse akna päisesse juhuslikult valitud inimese
nimi.
·
Lisaks eelmisele nimed, mille vahel vailida, loetakse sisse failist.
·
Aken liigub ekraanil ülevalt alla.
·
Aken liigub pidevalt alla-üles.
·
Akna kiirus langemisel suureneb ning ülestõusmisel väheneb.
·
Ava korraga kaks akent.
·
Määra ühe akna taust roheliseks, teise oma punaseks.
·
Pane üks aken liikuma paremalt vasakule ning teine vasakult paremale.
·
Näita akna pealkirjaribal koordinaate.
·
Aken liigub üle ekraani vasakult paremale. Kuni keskkohani akna kõrgus
suureneb, edasi hakkab vähenema.
·
Aken liigub üle ekraani vasakult paremale. Kuni keskkohani akna
liikumise kiirus suureneb, edasi hakkab
vähenema.
·
Aken liigub üle ekraani paraboolikujulist trajektoori pidi.
·
Käsurealt saadud sõna paigutatakse akna pealkirjaks.
·
Lisaks eelmisele koosneb pealkiri kahest sõnast
·
Pealkirjaribale paigutatakse kahe käsureale kirjutatud arvu summa.
·
Akna kaugus vasakust servast määratakse käsurealt
·
Käsurealt teatatakse akna asukoht ning suurus.
·
Luuakse käsurealt määratud arv aknaid.
·
Väljasta akna pealkirjaribale juhuslik arv.
·
Määra akna kõrguseks juhuslik arv.
·
Loo juhusliku asukoha ja suurusega aken.
·
Loo viis juhusliku asukoha ja suurusega akent.
·
Loo juhuslik arv aknaid.
·
Määra akna taustaks juhuslik värv.
·
Määra akna taustaks juhuslik halltoon.
·
Määra akna taustaks juhusliku heledusega sinine.
·
Määra akna pealkirjaks juhuslikult üks käsurea parameeter.
·
Paiguta BorderLayout-i abiga nupp ülaserva ning tekstiala keskele.
·
Jaga ülaserv võrdselt kolme nupu vahel.
·
Paiguta allserva ühte ritta valik (choice) ja kerimisriba nii, et valik
võtab tema jaoks hädavajaliku ruumi, riba aga ülejäänu.
·
Allserva teise ritta lisa märkeruut ning kolm üheskoos töötavat
raadionuppu.
·
Koosta sama kujundus, kasutades Swingi komponente.
·
Joonista kaheteistkümne kodaraga ratas.
·
Pane see ratas keerlema.
·
Nii kodarate arvu kui keerlemise kiirust saab kerimisriba abil muuta.
·
Joonista ekraanile tool nurga alt vaadatuna.
·
Tooli seljatoe kõrgust ning jalgade kaldenurka saab määrata
kerimisribaga.
·
Lisaks eelmisele pannakse tool kasutaja silme ees keerlema.
·
Joonista kõvera sangaga kastekann. Nupuvajutuse peale kukub kastekannu
tilast välja piisk.
·
Lisaks eelmisele lendab piisk tilast välja hooga, kukkudes vastavalt
füüsikaseadustele.
·
Lisaks eelmisele on hiire topeltklõpsu puhul lendamise kiirus
suurem. Arvestatakse ka kasutaja
määratud kiirusega puhuvat tuult.
·
Joonista laualamp. Ühe nupuvajutuse peale värvub pirn/kuppel kollaseks,
teise peale valgeks tagasi.
·
Kerimisribaga saab määrata põlemise heledust.
·
Failis on kirjas põlemise "muster": kui kaua põleb, kaua on
pime. Kui ring täis alustatakse taas
algusest.
·
Joonista pastapliiats. Pastapliiatsi suurust saab sujuvalt muuta.
·
Lisaks eelmisele tuleb kord nupule vajutades süsi välja, teisel korral
läheb tagasi.
·
Lisaks eelmisele saab hiirega teravikust kinni võttes pastapliiatsit
laual pöörata.
·
Programm joonistab ekraanile maja.
·
Programm küsib kasutajalt korruste ja trepikodade arvu ning joonistab
vastavalt sellele katusega maja.
·
Lisaks eelmisele paneb programm maja ekraanil pöörlema. Joonistamisel
arvestatakse perspektiivi.
·
Ekraanile joonistatakse televiisor.
·
Nupuvajutusega saab teleris näidatavat pilti vahetada.
·
Näidatakse järjestikku kõiki jooksvas kataloogis leiduvaid .gif ja .jpg
faile.
·
Lift sõidab üheksakorruselises majas ülevalt alla.
·
Liftil on numbrid ühest üheksani ning igal korrusel on kutsenupp. Lift
sõidab vajutatud korrusele.
·
Lisaks eelmisele on trepikojas lifte kaks. Kutse peale sõidab kohale
lähim vaba lift.
Ekraanil paistab
plats pealtvaates. Kasutaja saab mänguasja platsil liigutada
klahvidega.Mängukulgur väljakul olevast plangust läbi ei pääse, plangust saab
vaid ringi ümber minna.
· Kulgur on
neljakandiline. Plank on keset platsi, veerand platsi pikkune ning paralleelne platsi ühe servaga.
· Planke on platsil
mitu ning mõni ei asetse täisnurga all.
· Kulgur on
ümmargune ning plankude otspunktide andmed on failis.
·
Ekraanile joonistatakse margapuu, kus saab raskuse asukohta määrata.
·
Saab määrata jõu õlga ning raskuse asukohta. Sõltuvalt tasakaalust
kaalutava esemega on margapuu kas otse
või kummalegi poole viltu.
·
Lisaks eelmisele peab programm ka ilus välja nägema ning liikumised
toimuma sujuvalt.
·
Joonistatakse kolme tulega valgusfoor. Nupuvajutuse peale läheb foor
järgmisesse asendisse.
·
Foor paistab nurga alt, nii et näha on kahe külje tuled. Töötab
iseeneseslikult.
·
Ristmikul töötavad sünkroonis neli foori. Autod sõidavad teel, kus see
on lubatud, teisel teel ootavad foori ees.
·
Programm joonistab ekraanile kella
·
Vastavalt kasutaja poolt määratud
ajale paigutatakse kellale tunni- ja minutiosuti.
·
Ekraanil töötav kell näitab õiget aega. Saab määrata äratusaja ning
selle saabumisel annab arvuti äratusest märku.
·
Ekraanile joonistatakse kaal. Hiirevajutusega saab kaaluvihte lisada ja
eemaldada.
·
Kummalegi poole saab panna kuni 3 100g. vihti. Raskem pool vajub alla.
·
Kaalule saab hiirega mõlemale poole vedada ja eemaldada vihte ning
pealtnäha tundmatu massiga esemeid. Programm õpetab, kuidas eseme massi
kindlaks teha.
·
Joonistatakse kolmnurkade abil kuusepuu.
·
Kasutaja saab määrata "lülide" ning kuuskede arvu.
·
Pane kuused niimoodi liikuma, et vaatajale jääks mulje, nagu ta liiguks
pikal metsateel.
·
Joonista kasutaja määratud arv pudeleid.
·
Pudelis on näha kasutaja määratud kogus jooki. Pudeli maht on 1 liiter.
·
Lisaks eelmisele määrab kasutaja ka pudeli mahu. Pudeli kuju ei muutu,
nähtav suurus aga vastavalt füüsika seadustele. Vedeliku kõrguse näitamisel
arvestatakse ka pudeli kitsenemist ülalt.
·
Ring liigub ekraani vasakus servas alla ja üles. Kukkumisel kiirus
kasvab, tõusul kahaneb.
·
Iga põrkega amplituud väheneb, korraga põrkab mitu palli.
·
Lisaks eelmisele saab hiirevajutuse peale panna uusi palle põrkama.
Pallideks on pildid.
·
Ekraanile joonistatakse liivakell.
·
Liivakella liiv kukub minuti jooksul ühtlaselt alla.
·
Lisaks eelmisele saab liivakella hiire abil sujuvalt ümber keerata.
·
Joonista jalgratas.
·
Näha on ratta küljes olevate helkurite pöörlemine.
·
Hiirega saab väntasid ringi ajada. Rattad (koos kodaratega) liiguvad
koos väntadega, arvestades, et suurel hammasrattal on 46 ning väikesel 23
hammast.
·
Joonista ekraanile mandoliin.
·
Kasutaja saab määrata joonistatavate krihvide arvu ning kaela laiust.
·
Vajutades keele ja krihvi ristumiskohale, kõlab sellele vastav heli.
·
Joonista ekraanile keelpilli kael.
·
Luba kasutajal määrata krihvide ning keelte arv. Igal keelel on
häälestusnupp.
·
Iga keele puhul saab määrata, millisel kõrgusel vastav keel lahtisena
kõlab. Vajutades keele ja krihvi ristumiskohale, kõlab sobiva kõrgusega heli.
·
Joonista klaviatuuri ja 36 bassiga akordion.
·
Basside ridade ja veergude arvu saab kasutaja määrata. Samuti hiire
abil lõõtsa lahti ja kokku vedada.
·
Lisaks eelmisele kõlab bassinuppudele vajutades neile vastav heli.
·
Joonista vilepill. Pillil on avatud tekstiväljas määratud hulk auke.
·
Lisaks eelmisele teeb pillile vajutamisel viimane häält.
·
Augule vajutamisel on augud lõpust kuni sinnani avatud. Kõlab sellisele
sõrmede paigutusele vastav hääl.
·
Kasutaja sisestab basseini pikkuse, laiuse ja sügavuse ning basseinis
oleva vee hulga. Programm näitab ristlõikes veetaset basseinis
·
Lisaks eelnenule saab kasutaja basseini vett lisada või sealt võtta.
Programm näitab, kuidas veetase tõuseb või alaneb. Tuleks arvestada ka
võimalusega, et vesi on otsas või et ajab üle ääre
·
Kasutaja sisestab kahe ühendatud anuma mõõtmed. Ta saab kummassegi
anumasse vett lisada või sealt võtta. Programm näitab, kuidas vesi anumates
ühtlustub ning kuidas vesi (nt õhumullid) anumaid ühendavas torus voolab.
·
Joonista suurte, majaehituseks tarvilike vaiade maasse löömiseks
tarvilik raske haamriga masin koos kõrval asuva vaiaga.
·
Nupuvajutuse peale kukub haamer vaiale peale ning vai vajub veidi
sügavamale.
·
Kasutaja annab ette vaia läbimõõdu, pikkuse ja vajaliku löömissügavuse.
Jämedamad ja sügavamal asuvad vaiad liiguvad aeglasemalt. Algkäskluse peale
töötab haamer kuni vai on õigele sügavusele löödud.
·
Joonista kasutaja määratud pikkusega lill.
·
Saab määrata ka õielehtede arvu ning on näha, kuidas lilleõis avaneb.
·
Siledal maal tuleb hiirevajutuse kohal välja kaks idulehte, sealt vars,
lehed, pung, lõpuks avanev õis. Saab lisaks määrata lehtede arvu ja kasvamise
kiirust.
·
Liiguta kriipsu ekraanil nooleklahvidega.
·
Kriipsu saab liigutada piki oma sihti edasi ja tagasi. Teise
klahvipaari abil saab kriipsu sihti muuta.
·
Ühe klahvipaariga saab esirattaid pöörata, teise abil kiirust muuta.
Auto sõidab nii nagu juhitakse.
·
Kilpkonna elupaigaks on 10x10 ruudustik. Lähteasend vasakul ülemises
ruudus suunaga paremale. Talle saab anda sõnalisi käske "edasi" ja
"tagasi". Esimesel juhul
liigutakse üks samm edasi, teisel juhul samm tagasi.
·
Lisatakse käsud
"vasakule" ja "paremale". Nende puhul pööratakse kilpkonna
vastavas suunas täisnurga jagu. Käsklused saab kirjutada tekstialasse
käsujadaks, mis ühe hooga tööle pannakse.
·
Keelde lisatakse vahendid valikuks,
edasiliikumisvõimaluse kontrolliks, kordamiseks (tööjärje suunamiseks) ning
programmi töö katkestamiseks. Pane kilpkonn liikuma mööda seinaääri, s ning
8-kujuliselt.
·
Joonistatakse kolme tulega (punane, roheline ja sinine) värvimuusika. Tuli, millele vajutatakse, jääb põlema,
teised kustuvad.
·
Hiirega vasakule poole vajutades kõlavad madalad, paremal kõrged ning
keskel vahepealsed helid. Madalatega põleb koos punane, kõrgetega sinine ning
vahepealsetega roheline tuli.
·
Kõlanud helide mängimise ajad salvestatakse faili ning nupule vajutades
mängitakse koos värvimuusikaga maha.
· Ekraanil paistab
liikuv raudtee pealtvaates
· Programm
demonstreerib pöörangu tööd. Kasutaja saab määrata, kumma teeharu peale rong suundub. Ekraanil on
näha, kuidas liigub rongi rattapaar.
· Ekraanil on
raudteede rägastik (näiteks neli kõrvuti olevat ovaali). Kasutaja saab muuta
pöörangute asendit ning trammi kiirust.
·
Joonistatakse kasutaja määratud hammaste arvuga hammasratas.
·
Selliseid hammasrattaid joonistatakse kaks ning pannakse üksteisesse
hambunult pöörlema.
·
Kasutaja annab ette mõlema hambunult pöörleva ratta hammaste arvu.
·
Pendel liigub ühest servast teise.
·
Pendel võngub vastavalt füüsikaseadustele
·
Lisaks eelmisele saab pendli pikkust ning algnurka hiirega näidata.
Pikem pendel võngub aeglasemalt. Lisaks on näha, kuidas võnkumine tasapisi
sumbub.
·
Ekraanil on kaldpind ja sellele järgnev tasapind. Klots libiseb mööda
pindu.
·
Lisaks eelmisele arvestatakse liikumisel raskuskiirendust ja
takistusjõudu.
·
Klotsi asemel on pöörlev ratas. Kasutaja saab ratta algse asukoha määrata hiirega.
·
Kujuta ekraanil
liikuvate jalgadega külgvaates inimene
·
Kujuta ekraanil programmi kasutaja poolt
määratud kiirusega jalutav inimene, kel jalad maas ei libise.
·
Sama mis eelmine, kuid kasutaja võib
lisaks ka oma vaatekohta ja -suunda valida.
(Lihtustuseks võib reaalse inimese asendada kriipsujukuga.)
·
Auto sõidab üle ekraani
·
Auto sõidab kasutaja poolt määratud kiirusega üle ekraani ning ta
rattad pöörlevad vastavalt liikumiskiirusele
·
Autot saab klahvidega juhtida (pöörata ning kiirust muuta). Vaataja on
paigal. Arvesta auto kujutamisel ka perspektiivi.
·
Koos hiire vedamisega liigub ekraanil kriipsujuku.
·
Kriipsujuku jalutab ekraanil nii, et käed ja jalad liiguvad nagu
inimesel kõndides.
·
Lisaks eelmisele jalutab kriipsujuku ekraanil edasi-tagasi, pöörates
end ise ümber. Suurust ning kõndimise kiirust saab kerimisribade abil muuta.
·
Kohta, kus hiirega ekraanile vajutada, tekib väike rist.
·
Lisaks: teineteisest kõige
kaugemal asuvate punktide vahele tõmbab arvuti joone. Iga uue punkti lisamisel
leitakse pikim vahe uuesti.
·
Kõigepealt ühendatakse kaks kõige lähemal asuvat punkti. Järgnevalt
ühendatakse tekkinud võrku punkt, millel on selleni lühim ühendustee. Nii
edasi, kuni kõik punktid on võrku ühendatud. Iga ühendusjoone keskele
kirjutatakse tema järjekorranumber.
·
Joonista raamile ring.
·
Joonista tsükli abil mitu ringi.
·
Joonista kasutaja poolt määratud arv ringe.
·
Joonista ritta kasutaja määratud arv puid (lihtne puu võib
koosneda joonest ja ringist).
·
Joonista hiirega vajutamise kohale puu.
·
Joonista lihtne maja.
·
Hiirega vajutamise kohale joonistatakse ristkülik
·
Hiirega vajutamise kohale joonistatakse tekstivälja sisestatud sõna
·
Joonistatava sõna värvi saab määrata valikmenüüst
·
Hiirega lohistades jääb järele joon
Programm
joonistab ekraanile
·
suvalisse kohta suvalise värviga punkte.
·
suvalisse suunda minevaid ligikaudu kümne punkti pikkusi jooni. Joone
algus ühtib eelmise lõpuga
·
keerleva värviliste külgedega kuubi
·
Joonista ekraanile ring.
·
Pane ekraanile tekkima suvalisse kohta väikseid ringe.
·
Ka ringi värv valitakse juhuslikult.
·
Suvalisse kohta tekib täpp ning suureneb ringiks.
·
Selliseid suurenevaid ringe tuleb üksteise järel palju.
·
Valmissaanud ring liigub ekraani allserva ja kaob.
·
Kadumisel muutub ring taas väikseks täpiks.
·
Vastavalt sisestatud arvule joonistatakse ekraanile tulp.
·
Etteantud kolme arvu järgi (vahemikus 1-10) joonistatakse tulbad
ning skaala tulpade kõrvale.
·
Sama, kuid arvude vahemik pole ette teada.
·
Tekstifailis on inimeste sünniaastad. Tulpade abil näidatakse,
millisest aastakümnest kui mitu inimest
on.
·
Programm joonistab ekraanile spiraali
·
Kasutaja saab (näiteks kerimisriba abil) muuta spiraali keerdude vahet.
·
Lisaks eelmisele saab muuta ka spiraali pöörlemiskiirust
·
Loo tervitav veebileht.
·
Paiguta sinna rakend, millele on joonistatud ring.
·
Pane programm töötama nii rakenduse kui rakendina.
·
Hiirevajutusega määratakse ringi asukoht.
·
Valikust määratakse, kas joonistatakse ring, ruut või kolmnurk.
·
Paremas servas asuva kerimisribaga määratakse kujundi suurus.
·
Veendu, et programm töötab endiselt edukalt nii käsureal kui
veebilehel.
Tekstifaili igal
real on ühe punkti koordinaadid
·
Programm joonistab iga punkti kohale ringikese.
·
Ring liigub ekraanil, läbides järjestikku kõik punktid.
·
Lisaks eelmisele arvestatakse
joonistamisel mõõtkava nii, et kõik punktid ekraanile parajasti mahuvad.
Taustaks on koordinaatteljestik.
·
Joonista ring joone laiusega 25 punkti.
·
Määra joonistusvärviks üleminek punaselt kollasele
·
Määra taustamustriks väikesed kriipsujukud.
·
Muuda joon punktiiriks.
·
Määra joonistusala nii, et sinna jääb vaid osa ringjoont
·
Jäta taust ringi alt veidi läbi paistma.
·
Ekraanil on #-kujuline mängu põhi. Hiirega vajutatud ruudu keskele
joonistatakse rist.
·
Lisaks eelnevale joonistatakse
kordamööda riste ja ringe. Ühte ruutu mitut kujundit ei lubata panna.
·
Lisaks eelmisele teatatakse, kes võitis või jäi mäng viiki.
·
Ekraanile joonistatakse kabelaud ning tekstiväljas määratud ruutu
paigutatakse kabenupp.
·
Nuppude seis loetakse failist, nupud on piltidena.
·
Lisaks eelmisele näidatakse täppide abil, kuhu valge käia/võtta võib.
·
Võrguga tenniseväljakul liigub pall (ring) vasakult paremale.
·
Samaaegselt ringi liikumisega saab ekraanil liigutada reketit.
·
Kummalgi serval on liigutatav reket, mille tabamisel pall tagasi
põrkab. Loetakse punkte.
·
Ekraanil on kolm tekstivälja. Nupuvajutuse peale pannakse igasse välja
juhuslik arv vahemikus 1-5. Kui kõik kolm numbrit on ühesugused, siis
joonistatakse ekraanile "Võit".
·
Eelmisega võrreldes on arvude asemel oma kohale liikuvad pildid.
·
Lisaks eelmisele saab üheks korraks kaks pilti muutumatuks määrata.
Loetakse punkte. Mängijate seisud on krüpteerituna failis.
·
10*10 ruudustikul asub vasakul ülaservas neljalüliline uss, keda
saab nooleklahviga paremale liigutada.
·
Uss liigub pidevalt, nooleklahvidega saab tema liikumise suunda
määrata. Seinani jõudmisel uss seiskub.
·
Ussiga püütakse juhuslikus kohas asuvat kuldmuna. Muna kättesaamisel
uss pikeneb kahe lüli võrra ning muna tekib uude kohta. Seina või enese
hammustamisel uss lüheneb nelja lüli võrra.
·
Ekraanile joonistatakse trilma mängulaud, kuhu saab hiirega nuppe
paigutada.
·
Mängulauale saab ka võrgu kaudu teate saata, kuhu nupp panna.
·
Võrgu kaudu saab kahe- või kolmekesi trilmat mängida.
·
All servas saab liigutada kaussi
·
Ekraanil kukub tilk. Selle kaussi püüdmisel saab punkti.
·
Tilku võib korraga kukkuda mitu. Mäng on meeldivalt kujundatud ning
töötab märgatavate vigadeta.
·
Osaliselt üksteise peale joonistatakse kolm juhuslikku mängukaarti.
·
Kaarte saab üksteise peale hiirega vedada.
·
Kaardid on segatuna laiali laua peal. Sealt saab välja lohistada kaks
kaarti ning need ringi pöörata. Kui numbrid on ühesugused, võetakse see paar
välja ning leidjale lisatakse punkt.
·
Ekraanil on 10x10 ruudustik. Kasutaja saab ruudu servi jämedamaks
kriipsuks märkida.
·
Lisaks eelmisele, kui ruudu neli külge on märgitud, joonistatakse ruut
teise värviga.
·
Kaks kasutajat saavad võrgu kaudu kordamööda serva kriipse märgistada.
Kelle kriipsust ruut ümbritsetud saab, sellele lisatakse punkt.
·
Noolte abil saab muuta ekraanil liikuva ringi kiirust.
·
Külgmiste nooltega saab muuta liikumise suunda, teiste nooltega
kiirust.
·
Korraga võib üle võrgu sõita kaks kasutajat. Aetakse taga juhuslikus
kohas paiknevat aaret, mis selleni jõudmisel hüppab uude kohta.
·
Arvuti väljastab failis olevatest sõnadest juhusliku.
·
Lisaks eelmisele näidatakse sõna tähed kriipsudena. Iga kord, kui
kasutaja sisestab tähe, näidatakse sinnamaani kirjutatud tähed sõnas välja,
ülejäänud on endiselt kriipsudena.
·
Lisaks eelmisele on mäng ilusti kujundatud, olematu tähe pakkumise eest
lisandub pildike poomisahelas.
Töö aluseks näide, kus ruut
liigub hiirevajutuse kohale.
·
Lisa ekraanile tekstiväli ning kirjuta sinna hiirevajutuse
koordinaadid.
·
Programmi käivitamisel paigutatakse ruut juhuslikku kohta,
hiirevajutuse peale koht ei muutu.
·
Tekstiväljas teatatakse, kas hiirega saadi ruudule pihta.
·
Tabamuse korral leitakse ruudule uus juhuslik asukoht.
·
Mõõdetakse aega, palju kulus kümnel järjestikusel korral ruudu
tabamiseks.
·
Programm mõõdab, kui palju kulub aega kümne hiirevajutuse tegemiseks.
·
Mängu algul tekib ekraanile ring. Kui sellele vajutada, siis ring sealt
kaob ning tekib uude juhuslikku kohta. Teatatakse, kui palju kulus aega 10
ringi tabamiseks.
·
Lisaks eelmisele salvestatakse ringide asukohad, mängu alguse ning
ringide tabamise ajad faili. Eraldi programmi abil leitakse, kui palju
keskmiselt iga ringi tabamiseks aega kulus, s.t. kui palju mängu esimese ringi,
palju teise jne. tabamiseks.
Alustuseks on kasutada mängu
põhi
·
Tutvu mänguga
·
Lae lähtekood, pildid ja helilõigud oma arvutisse, kompileeri ja
käivita.
·
Otsi Internetist pilte ning kujunda nende abil mäng oma silma järgi.
·
Lisa punktidearvutus.
·
Loo mängule lõpp.
·
Luba samaaegselt liikuda kahel mängijal
·
Joonistatakse 20*20 ruudustik. Vajutatava ruudu keskele joonistatakse
kordamööda ruut või ring.
·
Lisaks eelmisele ei saa samasse ruutu korduvalt käia.
·
Lisaks eelmisele kontrollitakse ja teatatakse, kui kellelgi õnnestus saada
viis märki ritta (olgu siis püsti, pikali või kaldu). Võimalus alustada uut
mängu.
·
Nooleklahvidega saab liigutada ekraanil olevat ringi.
·
Ekraanil juhuslikus kohas paikneb rist. Jõudes ringiga selleni, hüppab
rist uude juhuslikku kohta.
·
Liigutatavaid ringe on kaks, kummalgi oma klahvid.
·
Risti asemel on pisike pilt. All servas on kirjas, mitu korda
kumbki mängija on ristini jõudnud.
·
Graafikakomponent näitab enesel määratud teksti. Katseta loodud komponenti.
·
Komponendil on 24 rida ja 80 tähte reas. Käsuga määratakse, millisest
ruudust alates ning milline sõna kirjutatakse. Iga tähe jaoks on üks koht.
·
Lisa komponendile kursor, võimalus kohtade arvu muuta ning Pascali
tekstiekraanist tuttavad käsud: setColor, setBackground, gotoXY, write,
writeln, clrscr.
·
Paiguta ekraanille nupp ja tekstiala.
·
Nupule vajutamisel kirjutatakse alas olev tekst faili nimega
"teated.txt".
·
Lisa teine nupp, millele vajutamisel loetakse failis olev tekst tekstialasse.
·
Paiguta nupud kõrvuti raami ülaserva ning venita tekstiala üle
ülejäänud raami.
·
Lisa alla serva tekstiväli, kus saab määrata faili nime.
·
Nupule vajutamisel salvestatakse tekstiallasse kirjutatud tekst faili.
·
Lisa teine nupp, millele vajutamisel loetakse failis olev tekst
tekstialasse.
·
Lisa alla serva tekstiväli, kus saab määrata faili nime.
·
Lisa paremasse serva tekstiala, kus jooksvalt näidatakse, palju on
tekstis tähti, sõnu,
ridu ja lauseid.
·
Klahvi alla vajutamisel tekib ekraanile ring, üles laskmisel see kaob.
·
Ekraanil liigub allavajutatud klahvi täht.
·
Ostsillogrammil on näha, millal milline kolmest klahvist viimase 20
sek. ajal all, millal üleval oli.
· Teatatakse, kas tekstivälja ilmunud sõnale kirjutati teise välja täpne vaste.
·
Võetakse aega, palju kulub kümne sõna õigesti järele kirjutamiseks.
·
Sõna tekib ning kui teda pole 7 sekundi pärast järele trükitud, siis
kaob. Iga õigeaegselt kirjutatud sõna annab plusspunkti, kadunu miinuse.
·
Koosta programm, mille abil saaks liita, lahutada, korrutada ja jagada.
·
Numbrid ja tehted saab sisestada hiirevajutuste abil.
· Lisaks peab kalkulaator mõistma arvutada geomeetrilist keskmist ning täisnurkse kolmnurga hüpotenuusi pikkust. Vähemalt ühe käsu saab tagasi võtta.
Mõningikord tuleb nimesid
leida pikast loetelust, kus õige otsitava ette
kerimine võib hulga aega
võtta.
·
Loo valik (Choice), kust kasutaja võib sobiva nime valida.
·
Loo tekstiväli ja lisa sellele kuular. Kui tekstivälja
kirjutatakse nimistus leiduv sõna, siis
nimistust märgitakse vastav sõna.
·
Nimistus on sõnad tähestiku järjekorras. Keritakse ette sõna, mis sissetipitule lähim on.
·
Kui sissetipitud tähtedega algab nimistust vaid üks sõna ning
kasutaja vajutab "Enter"it,
siis täidetakse tekstiväli sobiva sõnaga.
·
Tippimisel võib olla eespool nii perekonna- kui eesnimi. Kirjutamise
ajal on nimistus näha kõik võimalikud
kombinatsioonid, mis algavad sissetipitud
tähtedega.
·
Loo andmebaasi geograafiliste objektide hoidmiseks andmetabel väljadega
id, nimi, x ning y. Hiirega ekraanile vajutades märgitakse vastavad kohad
tabelis.
·
Lisaks eelmisele joonistatakse tabelis olevate andmete järgi ekraanile
ringid. Vajutades ringile, saab näha ning muuta koha juurde kuuluvat nime.
·
Lisaks eelmisele loo kahe väljaga seosetabel sõlmede ühendamiseks.
Kahele sõlmele järjestikku hiirega vajutades loetakse need seotuks. Seos
joonistatakse välja joonena. Hiirega saab olemasolevaid sõlmi pinnal nihutada.
Seosed jäävad püsima.
·
Ekraanile tekkinud täht kaob vastava klahvi vajutamisel.
·
Sama, kuid tähti võib korraga olla mitu.
·
Juhuslikud tähed kukuvad ülevalt alla. Pihtasaadud tähe eest saab
plusspunkti, möödaläinu eest miinuse.
·
Loo nulle ja x-e sisaldav 3x3 JTable.
·
Luba kasutajal andmeid muuta ning loe kokku, mitu risti on märgitud.
·
Lase kasutajal andmed valida valikmenüüst.
·
Loo puu, mille juure nimeks on "1" ning lehtedeks
"2" ja "3".
·
Loo puu, mille lehtedeks on arvud ühest tuhandeni. Oksteks algarvud
nii, et mööda okstest koosnevat teed pidi korrutades jõutaks lehe väärtuseni.
Mitme teguri korral panna väiksem juure poole.
·
Lisaks eelmisele peab saama määrata sisestatavate arvude vahemikku.
Arvu küsimise peale avatakse puu tee soovitud leheni.
·
Liiguta progressiriba väärtust algusest lõpuni.
·
Ring liigub ühest servast teise. Ühes sellega kasvab progressiriba
väärtus.
·
Ring liigub ekraanil kümme korda ühest servast teise ja tagasi. Ühe
progressiriba väärtus kasvab kogu ulatuses paremale liikumise ajal, teise
väärtus vasakule liikumise ajal ning kolmas kasvab tasapisi, jõudes maksimumi
liikumise lõpuks.
·
Loo ekraanile Swingi slaider.
·
Lisa slaiderile suured kriipsud 5 ning väikesed 3 ühiku järel. Lisa
tekstiväli. Slaideri väärtust näidatakse tekstiväljas. Slaideri all on skaala.
·
Lisaks eelmisele muudetakse tekstiväljas oleva numbri muutmisel
slaideri väärtust. Skaala väärtuse osa on tumedam (ClientProperty
JSlider.isFilled), skaalaks on sõnad "külm", "leige",
"soe", "tuline".
·
Loo valikupaneel Eesti suuremate linnade nimedega.
·
Lisa igale linnale ikoon ning vihjeks (ToolTip) ligikaudne rahvaarv.
Iga paneeli sisuks kirjuta suure kirjaga seda linna läbiva jõe nimi. Pane linnad automaatselt iga viie sekundi
tagant vahetuma.
·
Iga linna puhul saab kasutaja anda viiepallisüsteemis hinnangu
vaatamisväärsuste, toitlustuse ning teedevõrgu kohta. Kasutaja saab soovi
korral linnu lisada. Valikute vastused salvestatakse faili.
·
Loo kahe valikuga valikupaneel, kus kummalgi paneelil paikneb
tekstiala.
·
Lisa kummalegi paneelile nupud failist lugemise ning sinna salvestamise
kohta. Esimene paneel on seotud failiga katse1.txt ning teine failiga
katse2.txt.
·
Kasutaja saab avada ja salvestada soovitud tekstifaile. Kõik avatud
failid on näha valikupaneeli paneelidena.
·
Loo raam menüüga "Tervitused" elementidega
"Sünnipäev" ning "Kooli
lõpp"
·
Lisa alammenüü, valitav menüüelement ((J)CheckboxMenuItem) ning toimiv
menüükäsk programmi töö lõpetamiseks.
·
Lisa menüü "numbrid" alammenüüdega
"0".."9", igaühes asuvad vastava kümne numbrid. Numbrile
vajutamisel kirjutatakse vastav arv tekstivälja. Loo hüpikmenüü (PopupMenu) kolmega
jaguvate menüüelementide lubamiseks/keelamiseks ning algarvuliste
menüüelementide peitmiseks/näitamiseks.
·
Loo aken kolme sisemise raamiga.
·
Kasuta sisemisi raame pildifailide näitamiseks. Kasutaja valitud
pildifail avatakse uues raamis. Raami suuruse muutudes muutub ka pilt.
Sulgemisnupule vajutades raam kaob.
·
Lisaks eelmisele saab avatud pilti redigeerida ning jpeg-failina
salvestada.
·
Loo JFrame.
·
Paiguta selle ülaserva pildiga nupp.
·
Nupule vajutades valitakse JColorChooseri abil nupu värv.
·
Raami vasakusse serva paigutatakse puu (JTree). Puu elementideks on
arvud ühest kümneni
·
Igal esimese taseme elemendil on samuti alamelemendid ühest kümneni.
·
Valitud elemendi väärtus kirjutatakse lehe allservas olevasse tekstivälja.
·
Paremal servas olevale nupule vajutades avatakse JFileChooser,
kust valitud pildifail joonistatakse raami keskele paigutatud paneelile.
·
Kopeeritud ekraanipildi parem alumine nurgatükk näidatakse suurendatuna
üle ekraani.
·
Kopeeritud ekraanipildi nurgatükk liigub alaservas edasi-tagasi.
·
Kopeeritud ekraanipildi serv jagatakse mõnekümne punkti pikkuse küljega
ruutudeks. Need ruudud liiguvad ekraani servas ringiratast ümber ekraani.
·
Programmi käivitamisel kopeeritakse parasjagu nähtav ekraanipilt mällu
ning näidatakse kasutajale.
·
Pilt kopeeritakse mällu kogu ekraani ulatuses ning näidatakse ekraanile
klassi Window abil, seega ilma välimise raamita ning peaks näima tõetruu.
·
Loodud ekraanipildile hakkavad juhuslikesse kohtadesse tekkima
täpikesed, kuni lõpuks on kogu pilt kirju.
·
Ekraanipilt salvestatakse vähendatuna jpeg-faili.
·
Väljastatakse, kas ja kus leidub ekraanil musta värvi täpp
·
Ekraanipildilt otsitakse üles ja tehakse topeltklõps akende ülanurgas
olevatele sulgemisristikestele.
·
Loo MemoryImageSource abil rohekas pilt.
·
Pilt on ülalt servast tumedam ning alt heledam.
·
Kopeeri ekraanipilt ning keera see tagurpidi.
·
Saada loodud pilt võrgu kaudu teise arvutisse vaatamiseks.
·
Loo MemoryImageSource abil pilt, kus mustal taustal oleks valge joon.
·
Loo joon keskelt valge, servad lähevad aga sujuvalt taustaks üle.
·
Pane eelmises punktis loodud joon horisontaalsuunas liikuma.
·
Ekraanil põrkavad kaks punkti ning nende vahele on tõmmatud joon.
·
Ekraanil põrkavad neli punkti ning nende abil moodustatud CubicCurve2D.
·
Liikumisel on näha ka kõverjoone eelmised asukohad, kuni need lõpuks
taustaga ühte sulavad.
·
Loo MemoryImageSource abil värviüleminek punaselt sinisele.
·
Kasutaja märgib pildil kolm punkti. Ühes neist on maksimumis punane,
teises roheline ning kolmandas sinine värv. Värviüleminekud pildil on sujuvad.
·
Märgitud haripunktide asukohti saab kasutaja hiirega hiljem liigutada.
·
Kasutaja võib ekraanile joonistada ringe ning neist moodustunud pildi
kettale salvestada.
·
Saab parandada varem koostatud pilte, lisatud on vahendid joonte ning
ristkülikute loomiseks.
·
Pilti võib suurendada ning parandada ühe pikseli kaupa. Ühe käsu saab
tagasi võtta.
·
Joonista iga hiirevajutuse peale ekraanile ring.
·
Joonista ring mälus olevale pildile, nii et see ka raami suuruse
muutumisel näha jääb
·
Ühest rippmenüüst valitakse joonistamise värv.
·
Teisest rippmenüüst valitakse joonistatav kujund (täidetud või tühi
ring või ruut).
·
Lisatakse joone tõmbamise võimalus.
·
Nupuvajutuse peale salvestatud loodud pilt .jpeg faili.
·
Teise nupu vajutuse peale loetakse pilt valitud failist.
·
Hiirega vajutamise kohast kukub alla pall.
·
Hiirega vedades saab pallile anda algkiiruse. Edasine liikumine toimub
vastavalt raskuskiirenduse ning õhutakistuse mõjule.
·
Pallile saab hoogu anda vaid vasakult alt. Palle võib korraga lennata
mitu. Programm arvestab aega, palju kulub esimese palli välja viskamisest viie
palli sattumiseni paremal all asuvasse urni.
Programm palub
sisestada nelja punkti koordinaadid tasandil ning väljastab
· kas läbi punktide
1-2 ja 3-4 tõmmatud jooned on paralleelsed
· kas punktist 1
punkti 2 tõmmatud lõik ning punktist 3 punkti 4 tõmmatud lõik puutuvad kokku
· Lisaks eelmisele
kujutatakse olukorda graafiliselt koos koordinaattelgedega ning lõikude kokkupuutumise korral joonistatakse
kokkupuutekohale värviline ring.
·
Hiirega vajutatud kolme punkti abil joonistatakse kolmnurk.
·
Lisaks eelmisele kirjutatakse kolmnurga külgede juurde külgede pikkused
ning nurkade juurde nurga suurus
kraadides.
·
Lisaks eelmisele saab juba valminud kolmnurga nurkade asukohti hiirega
liigutada.
·
Joonistatakse võrrandi y=ax graafik, koordinaatteljed ja skaala, kus
kasutaja määrab kordaja.
·
Võrrandiks on y=ax+b. Skaala valib rakendus nii, et ekraanil jäävad
näha nii nullpunkt kui joone lõikumine y-teljega. Kasutaja määrab a ja b.
·
Lisaks eelmisele võib kasutaja suurendada ja vähendada graafiku
mõõtmeid.
Pane ekraanil
·
ring liikuma mööda kolmnurgakujulist orbiiti.
·
kolmnurk veerema (parajasti maas olev nurk on paigal)
·
kaks ringi juhusliku suuna ja kiirusega servade vahel põrgates liikuma,
kusjuures ringid on ühendatud sinusoidi kujulise joonega.
·
Programm joonistab ekraanile siinusfunktsiooni graafiku.
·
Ekraanil liigub siinuse laine.
·
Lisaks eelmisele näidatakse siinusfunktsiooni tekkimist tiirleva punkti
projektsioonina. Tiirlemise kiirust ning ringi raadiust saab kasutaja muuta.
·
Loo programm, kus saab hiire abil ekraanile jooni tõmmata .
·
Lisaks eelmisele peavad jooned püsima ekraanil ka siis, kui
joonteekraan vahepeal tahaplaanile satub. Joonte alg- ning lõpppunktide
koordinaadid salvestatakse faili.
·
Lisaks eelmisele joonistatakse lühemad jooned tumedamalt ning pikemad
heledamalt. Ümber joonte on võimalikult
väike ristkülik, mis pärast iga joone joonistamist uuesti luuakse.
·
Üks veerev kuulike annab oma
liikumisenergia edasi teisele samasugusele.
·
Üks kuulike on kindla massiga ning algul
paigal, teise massi ning algkiiruse saab määrata.
·
Joonel asub hulk kehasid, mille massi
saab määrata. Vedades hiirega neist esimesele hoo sisse, jätkub edasine
liikumine vastavalt põrkamisseadustele.
·
Ring liigub ruudukujulisel pinnal,
põrgates vastu servi.
·
Lisaks eelmisele kui liikuv ring satub
vastu pinna sees seisvat ringi, siis liikumine peatub.
·
Kaks ringi liiguvad ristkülikukujulisel
pinnal, põrgates nii vastu servi kui üksteist arvestades füüsikaseadusi.
·
Pall veereb nelinurksel väljakul ning põrkab servani jõudmisel sealt
tagasi.
·
Sama, kuid väljak on rohkem kui nelja (näiteks viie) servaga, st. tuleb
arvestada olukorraga, kus servad pole täisnurga all.
·
Väljakul veereb kaks palli. Nad põrkavad nii väljaku servast kui ka
teineteise vastu minemisel
·
Pane pall ekraanil liikuma nii, et ta servadest tagasi põrkaks.
·
Lisaks eelmisele on platsil ühest seinast keskkohani ulatuv vahesein,
pall põrkab ka sealt.
·
Lisaks eelmisele võib vaheseinu võib ise hiirega tõmmata. (Lihtsuse
huvides võib lasta tõmmata vaid püst- ja pikalijooni)
·
Pall lendab vastavalt etteantud
viskenurgale.
·
Lisaks arvestatakse viske ning tuule
suunda ja tugevust ning näidatakse, kas saadi sihtmärgile pihta.
·
Tulemuseks võrgu kaudu toimiv mäng, kus
kasutajad saavad üksteist lumepallidega loopida.
Pallivise II
·
Ring liigub üle ekraani.
·
Ring liigub nupuvajutuse peale üle ekraani.
·
Tekstiväljas etteantud algnurgaga liigub
ring üle ekraani.
·
Etteantud viskenurgaga pall kukub
raskusjõudu arvestades lõpuks kaarega maha.
·
Lisa teine tekstiväli teise heitja jaoks.
Üksteisele pihta saamisest antakse teada.
·
Loo ekraanile mitmesse kohta
mitmesuguseid kuupe
·
Koosta õu laternapostide, istepinkide,
põrkava palli ning liigutatava palliga.
Luba kasutajal oma asukohta muuta. Katseta värve, mustreid ja
interpolaatoreid.
·
Anna palli koordinaadid ette
tekstiväljast.
·
Liiguta klahvide abil ringi ekraanil.
·
Ekraanil on sein, millest ei saa läbi
liikuda.
·
Seinu on ekraanil palju, nad moodustavad
nurgelise koridori.
·
Liigutatavaid ringe on kaks. Kummagi
tarbeks on oma klahvipaarid.
·
Lisaks ringidele paikneb ekraanil aare
(punane täpp). Esimesena aardeni jõudnu
saab punkti.
·
Klahvivajutused saadetakse
serverprogrammile. Iga muutuse peale
teatatakse ringi uus asukoht.
·
Ringi liikumist on võimalik vaadata üle
võrgu.
·
Kliente võib olla mitu, igaüks saab
liigutada vaid oma ringi.
·
Mängijate asukohad määratakse serverist
tulevate andmete järgi. Samaaegselt on
seis näha nii kahe- kui kolmemõõtmelisel kujul.
·
Platsil on sein. Serveris olevate
arvutuste järgi hoolitsetakse, et seda
ei saaks läbida.
·
Kujunda eelnenu põhjal võimalikult
tõelisena näiv võrgumäng.
·
Joonista naeratav nägu, kelle kummaski silmas oleks samuti naerunägu.
·
Joonise suurendamisel ilmub igast silmast jälle uus naerunägu välja.
·
Lisaks eelmisele saab kasutaja panna joonise pidevalt suurenema ning
määrata näo kallet.
·
Joonista üksteise sisse viis ringi
·
Muuda joonistatavate ringide arvu kerimisribaga
·
Suurenda koos kerimisriba liigutamisega ringide läbimõõte. Keskelt
tuleb välimiste suurenedes pisikesi ringe üha juurde.
·
Kuni on ruumi, joonista iga ringi sisse neli omaette väiksemat ringi.
Neisse igaühte samuti neli väiksemat jne.
·
Pane sellised ringid ühtlaselt kasvama, nii et seest üha pisemaid ringe nähtavale ilmub.
·
Joonista kahe punkti vahele sakiline joon.
·
Joonise suurendamisel ilmuvad nähtavale üha uued ja uued jõnksud.
·
Suurendamisel tekkivad jõnksud jäetakse meelde. Lisaks saab kasutaja hiirega
märkida piiril leiduvaid nurki. Uuesti sama piirkonna suurendamisel peavad
jõnksud ning märgid samas kohas asuma.
·
Ekraanile joonistatakse viisnurk.
·
Üha väiksemad erivärvilised seest täidetud viisnurgad on üksteise sees,
kusjuures sisemise viisnurga tipp läheb välimise viisnurga serva keskkohta.
·
Üksteise sees on kuni 100 viisnurka. Kerimisribaga saab määrata,
millise koha peal sisemise viisnurga nurk välimise serva puutub.
·
Koosta kasutajat tervitav serverprogramm.
·
Server küsib kasutajalt nime ning väljastab selle pikkuse
·
Lisaks eelmisele salvestatakse faili masinate aadressid, kust on
ühendust võetud
·
Iga kasutaja tarvis luuakse omaette lõim.
·
Loo programm kahe kasutaja vaheliseks võrgukabemänguks. Nad saavad kordamööda
üksteisele käike saata. Loetakse, mitmenda käiguga on tegemist ning kui palju
on kummalgi mõtlemisaega kulunud.
Töö aluseks serveris töötav
jututoa mootor, mis kõikidelt ühendusevõtjatelt saabunud teated teistele edasi saadab.
·
Loo tekstiväljaga aken sinna teadete saatmiseks.
·
Loo tekstialaga aken jututoast tulevate teadete lugemiseks
·
Ühenda need programmid kokku, pannes teadete lugemise omaette lõime.
·
Jututoas on näha kasutaja nimi.
·
Hiirevajutuse koordinaadid saadetakse jututoa serverisse.
·
Programmis paigutatakse ekraanile ring vastavalt saabunud
koordinaatidele.
·
Klient saadab jututuppa hiirevajutuse andmed kujul kasutajanimi : x y
·
Iga kasutaja viimase hiirevajutuse asukohal on klientprogrammis näha
tema nimi.
·
Lisaks oma asukohale saab üle kanda ka tavalist teksti. Võrguliikluses
on sellise rea ees hüüumärk.
·
Igalt kliendilt küsitakse jututuppa sisenemisel tema nime.
Edaspidi näidatakse seda tema saadetud teksti ees.
·
Jututoas liikuvad teated logitakse tekstifaili koos ajatempliga.
Lisa analüüsivahend ühe kasutaja teadete eraldamiseks.
·
Lisa vahend privaatteadete saatmiseks.
·
Üks kasutaja ei või kirjutada sagedamini kui viie sekundi tagant.
Sama teksti pole võimalik kaks korda järjest saata.
·
Väratit kuulav programm teatab ühendusevõtjale tema järjekorranumbri
·
Programm küsib ühendusevõtjalt nime. Juhul, kui sellist nime veel
kirjas ei ole, siis lisatakse see nimi nimede faili.
·
Programm küsib ühendusevõtjalt kasutajanime ning parooli. Kui sellise
kasutajanime ning parooliga kasutaja leidub, siis väljastatakse serverarvuti kellaaeg. Olemasoleva kasutajanime
kuid vale parooli puhul antakse veateade. Puuduva kasutajanime puhul lisatakse
kasutaja soovi korral koos sisestatava parooliga andmebaasi. Järgmisel korral
selle nime ja parooliga sisse meldides väljastatakse talle kellaaeg.
·
Serverprogramm trükib ekraanile ühendust võtva masina aadressi.
·
Iga ühendusevõtja jaoks avatakse eraldi raam, mille pealkirjaks on masina
nimi, kust ühendus võeti. Raamis on tekstiväli ühendusevõtjale kirjutamiseks
ning tekstiala ühendusevõtja poolt saabuva teksti näitamiseks.
·
Lisaks eelmisele tehakse ka kliendile graafiline kasutajaliides.
Serveriprogramm kirjutab loodud ühedused logifaili.
·
Serverprogrammiga ühendust võttes väljastatakse kasutajale serveris
paikneva infofaili sisu.
·
Serverprogramm küsib kasutaja käest faili nime ning väljastab vastava
faili sisu.
Faili puudumisel teatab sellest.
·
Kasutaja saab graafilise liidese abil valida, millist serveris
paiknevat faili ta vaadata soovib.
·
Serverprogramm salvestab kasutaja poolt saadetavad andmed faili.
·
Serverprogramm küsib kasutaja poolt salvestatava faili nime ning siis
laseb tal oma andmed sinna kirjutada. Kui vastav fail serveris juba olemas on,
siis lisatakse saabuvad andmed faili lõppu juurde.
·
Graafilise kasutajaliidese abil saab serveris paiknevat faili muuta
(s.t. kohale tekstiaknasse laadida ning pärast uuesti serverisse salvestada).
·
Kasutaja kirjutatud rida väljastatakse järgmisel ühendumisel.
·
Salvestatav teade võib olla mitmerealine. Küsitakse salvestaja nime
ning järgmisel korral väljastatakse nimele vastav teade.
·
Igal kasutajal on nimi ja parool. Igal teatel on pealkiri ja sisu.
Kasutaja saab omi teateid vaadata, lisada ja kustutada.
·
Serverprogramm jagab ühendusevõtjad kahte võistkonda, väljastades
võistkondade nimesid kordamööda.
·
Võistkondade nimed on failis. Serverprogramm annab ühendusevõtjatele
failist kirjutatud nimesid järjest, igaühele ühe. Kui ollakse jõutud faili
lõppu, hakatakse jälle algusest peale.
·
Lisaks eelmisele on ühendusevõtjatel graafiline kasutajaliides.
Serverprogramm küsib ühenduse võtmisel kasutajalt nime ning määrab tema
võistkonna. Kasutaja saab oma ekraanilt jooksvalt näha, kes millisesse
võistkonda kuulub.
Seintega eraldatud
labürindis on mängijad ning aare. Kasutajad saavad enese asukohta nooleklahvide
abil muuta. Kes jõuab aardeni esimesena, see saab punkti.
Et mängu kirjutajate
osalistel oleks võimalik eraldi oma lõike kirjutada, selleks peab olema
eelnevalt paika pandud, kuidas osapooled (klient ning server) omavahel
suhtlevad. Tuleb kokku leppida, kumb pool alustab, millised teated on vaja
edasi anda ning kuidas need käsud kirjapildis välja näevad. Teated peaksid
olema selged, et ei tekiks segadust, kuidas mingit käsklust parajasti mõista
ning oleks võimalik kontrollida, kas kogu suhtlus käib protokolli järgi või on
mõnes osapooles viga tekkinud ning ta on oma ajaarvamisega üldisest süsteemist
välja läinud. Samas siiski piisavalt lühidad, et neid jõuaks lugeda,
kontrollimisel sisse tippida ning ka võrguliiklus parajalt väike püsiks.
Protokoll esitada sellisel kujul, et programmeerijad võiksid selle alusel
kirjutama hakata. Side
alustamise järel teatab server klientprogrammidele osalejate andmed järgmisel
kujul:
osalejate arv: 3
osaleja1: Juku
osaleja2: Kati
osaleja3: Mari
otsimine algab
Ülesanne1: Side alustamine
Etapi käigus peavad selguma mängus osalejad.
Algtase: ette on teada,
et mängijaid on 2. Protokolli abil peavad saama mängijad oma nimed sisestada.
Seejärel saadetakse klientidele osalejate andmed eelmainitud kujul.
Kesktase: mängijaid on korraga
endiselt 2, kuid nad peavad olema registreeritud parooli ja kasutajanimega.
Protokoll peab olema nii kasutajate registreerimiseks kui mängu sisenemiseks.
Protokolli hulka kuuluvad ka veateated.
Kõrgtase: kasutajaid
võib olla piiramatu arv, registreerimine nagu eelmisel puhul. Tuleb leida
moodus, mille järgi otsustada kunas kasutajate lisamine lõpetada.
Ülesanne 2: mäng ise
Mängu alguse tunnuseks
on serverilt saabuvad andmed mängijate kohta eelpooltoodud kujul.
Algtase: mängijaid on 2,
kumbki peab saatma serverisse omi koordinaate ning saama sealt vastu andmeid
mõlema kasutaja asukoha kohta.
Kesktase: lisaks
eelmisele hoolitsetakse serveris, et kasutaja ei saaks läbi seina minna. Aarde
leidmise puhul teatatakse sellest kõigile.
Kõrgtase: lisaks
eelmisele võib mängijaid olla piiramatu arv. Serverist saab andmeid kogutud
punktide kohta. Aarde leidmisel võib mängu jätkata. Kasutajad võivad saata
tekstilisi teateid nii kellelegi otse kui kui kõikidele kasutajatele.
Seintega eraldatud
labürindis on mängijad ning aare. Kasutajad saavad enese asukohta nooleklahvide
abil muuta.
Ülesanne 1
Joonista seinte paigutus
ning võimalik algne kasutaja ning aarde asukoht, arvestades, et aardeni
jõudmiseks võiks keskmiselt kuluda umbes 1 minut. Kasutaja näeb kogu väljakut
seal paiknevaga pealtvaates
Ülesanne 2
Joonista seinte paigutus
ning võimalik algne kasutaja ning aarde asukoht, arvestades, et aardeni jõudmiseks
võiks keskmiselt kuluda umbes 1 minut. Kasutaja näeb ruumi kolmemõõtmelisena
ning vaid seda, mis tema vaatekohalt paistab
Ülesanne 3
Mõtle, mitmest
labürindist võiks mäng koosneda. Mille eest ja kui palju oleks mõistlik punkte
anda, et mängijal oleks põhjust piisavalt paljudele asjadele tähelepanu
pöörata. Loetle oskusi ja tööriistu, mis võiksid mängijal lisaks tavalisele
liikumisele olla.
Ülesanne 4
Koosta algoritm, kuidas
hoolitseda, et kasutaja ei saaks läbi seina minna. Kuidas sama probleem
lahendada seintega, mis ei asetse täisnurga all?
·
Serverprogramm mõtleb numbri ühest kümneni. Kasutaja võtab ühendust
ning pakub numbri. Programm teatab, kas number pakuti õigesti või valesti.
·
Serveriga saavad ühendust võtta kaks kasutajat. Nad võivad hakata
teineteisele kordamööda andmeid saatma (nagu käike males või kuule laevade
pommitamisel)
·
Kaks kasutajat saavad graafilise liidese abil laevade pommitamist mängida. Kumbki kasutaja saab
algul hiire abil oma laevade asukohad märkida. Siis saavad kasutajad näidata,
kuhu hiirega lasta, ülejäänud töö teeb arvuti mängijate eest ära.
·
Kaks kasutajat saavad võrgu kaudu saata teineteisele oma koordinaate.
·
Kummagi kasutaja asukoht on näha ekraanil. Kumbki saab klahvide abil
oma asukohta muuta.
·
Mängu alustamisel on mõlemad kasutajad vasakul alumises nurgas. Võidab
see, kes jõuab rutem ümber akna keskel paiknevate tõkete paremasse ülemisse
nurka.
·
Iga kasutaja saab oma sõiduvahendit liigutada.
·
Lisaks eelmisele peavad sõidukid liikuma
mööda teid ning ei tohi sattuda üksteise peale.
·
Teedel on eesõigusmärgid ning
valgusfoorid eesõigusi seadmas, eeskirju rikkuda ei saa.
Programmile antakse
HTML-faili URL.
·
Väljastatakse, mitu rida on failis.
·
Programm leiab, mitu pilti on sellel HTML-lehel.
·
Programm salvestab faili koos selles sisalduvate piltidega kohalikku
masinasse.
Programmile
antakse HTML-faili aadress.
·
Programm väljastab, kas selles failis on viide
·
Programm väljastab, mitu viidet on failis
·
Viidete aadressid väljastatakse eraldi faili absoluutsete URLidena.
·
Trüki etteantud aadressiga veebilehe sisu
ekraanile.
·
Trüki sisu üheaegselt nii ekraanile kui
faili.
·
Trüki välja veebilehel leiduvate
"<" märkide arv.
·
Teata, kas võrgusõnastikus leidub
kasutaja sisestatud sõna.
Nupukamatele:
·
Tekstifailis on sõnade loetelu. Selle
põhjal luuakse teine tekstifail, kuhu iga sõna kõrvale otsitakse vaste
võrgusõnastikust või teatatakse vaste puudumisest.
·
Loo tervitav servlet.
·
Lühenda sisestatud nimi: Juku Kaalikas -> J. Kaalikas
·
Teata masina aadress, kust ühendust võeti.
·
Lehele esmaavamisel küsitakse kasutajalt nime. Igal järgneval avamisel
väljastatakse leht kasutaja nime ning juhusliku taustaga.
·
Kasutaja saab pakkuda arvuti valitud sõnast kas ühte tähte või tervet
sõna. Loetakse kokku, mitu korda arvamiseks kulus.
·
Sõnaks valitakse juhuslik sõna veebis olevast eestikeelsest ajalehest.
·
Loo veebileht väljastamaks lihtsa liitmistehte tulemust.
·
Loenda arvud tsükli abil ühest kümneni.
·
Lase kasutajal määrata, mitmeni numbreid loendatakse.
·
Loenda lambaid. Iga paarisarvulise loetelurea taust on muudetud
värviga.
·
Uuri muutujate abil välja kasutaja IP, serveri versioon jm.
·
Loo andmebaasi tabel väljaga kingapaaride arvu hoidmiseks.
·
Tee programm viie paari lisamiseks
·
Väljasta, mitu kingapaari on tabelis.
·
Eemalda iga käivitamisega üks paar, kuni kingi jagub.
·
Loo Servleti abil veebiliides samale baasile.
·
Täienda tabelit: üheks veeru elemendiks on jalanumber ning teiseks
·
vastavale jalanumbrile vastavate kingapaaride hulk.
·
Loo andmetabel inimeste nimede ning isikukoodidega.
·
Väljasta nimed sorteerituna isikukoodide järgi.
·
Baasis on 3 tabelit: |nimi, isikukood|, |Ametinimetus, ametikood| ning
|isikukood, ametikood|. Väljasta inimeste nimed koos nende ametinimetustega.
·
Loo lihtne külalisraamat. Teateid saab ühekaupa sisestada ning üheskoos
vaadata.
·
Lisa teatele nimi ning sisestusaeg. Luba mõlemi järgi sortida.
·
Näita korraga vaid 10 teadet ning vajadusel nooli neis edasi või tagasi
liikumiseks.
·
Andmebaasis olevad inimeste ees-ja perekonnanimed näidatakse
veebilehele.
·
Hiirevajutuse peale saab sortida mõlemaid andmeid tähestiku järjekorras
nii kasvavalt kui kahanevalt, samuti nimesid lisada ja muuta.
·
Lisaks eelmisele on baasis eraldi tabelis kirjas koolis õpetatavad
erialad. Iga inimese juures saab määrata, millist eriala ta õpib. Samuti annab
lisada ja muuta eriala kirjeldust ning küsida iga eriala õppivate inimeste
loetelu.
·
Kursusele registreerimiseks tuleb veebi kaudu sisestada nimi ja
isikukood. Andmed talletatakse baasi.
·
Lisaks eelmisele kontrollitakse isikukoodi korrektsust ning vigase
isikukoodi korral palutakse see uuesti sisestada, kusjuures nimi on lehel näha,
kuid seda uuesti kirjutada ei tule.
·
Kursuste nimi, id ja kirjeldus on kirjas eraldi tabelis. Kasutaja
kirjutab sisenemiseks isikukoodi, koodi korrektsust kontrollitakse. Kui koodile
vastavat nime ei leita, palutakse sisestada nimi. Kasutaja näeb, millistele
kursustele ta end registreerinud on. Rippmenüüst saab omale kursusi juurde valida. Ühele kursusele samal inimesel
end mitu korda registreerida ei õnnestu.
Isikukoodi kontroll:
Isikukoodis peavad kõik sugu
ning kuupäeva tähistavad väärtused olema
võimalikud ning viimane
kontrollnumber arvutatakse järgneva algoritmi järgi:
liidetakse kokku esimese kümne numbri korrutised igale arvule
vastava
järjekorranumbriga ning
leitakse saadud summa jääk jagamisel 11-ga. Kui jääk
on võrdne kümnega, siis
tehakse arvutus uuesti ning võetakse teguriteks
vastavalt 3, 4, 5, 6, 7, 8,
9, 1, 2, 3.
Näide: isikukoodi
37605030299 kontroll. Summa =
1*3 + 2*7 + 3*6 + 4*0 + 5*5
+ 6*0 + 7*3 + 8*0 + 9*2 + 1*9 = 108
108 jääk jagamisel 11-ga on
9 => isikukoodi viimane number peab olema
üheksa.
·
Õpilane sisestab veebilehele isikukoodi ning saab vastu õpetaja poolt
välja pandud ülesande või teate, et ülesanded on otsas.
·
Lisaks eelmisele on loodud õpetajale veebiliides ülesannete
sisestamiseks ja muutmiseks. Jäetakse meelde, millise koodiga õpilasele milline
ülesanne anti. Samale õpilasele mitut ülesannet ei anta.
·
Ülesanded on grupeeritud ainete kaupa. Õpetaja saab määrata, millised
õpilased milliseid aineid kuulavad, samuti, kas vastavas aines saab õpilane enesele
ise ülesande olemasolevate hulgast valida või antakse ülesanne juhuslikult.
·
Õpetaja sisestab tabelisse nimed ja nendele vastavad hinded. Tippides
veebilehele sisse oma nime saab teada hinde.
·
Esmakordsel oma nime tippimisel antakse inimesele juhuslikult loodud
parool. Edaspidi saab selle nime ja parooli abil teada oma hinde.
·
Hinded ühes aines võib olla palju. Loo õpetajale parooliga kaitstud
keskkond hinnete sisestamiseks ning õpilasele vaatamiseks. Iga hinde juures on
näha ka selle panemise aega.
Loo tabel väljadega id, nimi
ja linn.
·
Veebilehe vormil saab sisestada oma nime ning linna nime, kuhu
soovitakse ekskursioonile minna. Andmed
talletatakse tabelisse.
·
Linnade nimed valitakse rippmenüüst.
·
Rippmenüüsse võetakse linna nimed eraldi tabelist.
·
Loo leht näitamaks, millised inimesed kuhu linna sõidavad.
·
Loo leht, kus on näha, millisesse linna mitu inimest sõidab ning kas selleks on vaja autot (kuni 4 reisijat),
mikrobussi (10 reisijat) või suurt
bussi (rohkem inimesi).
Loo 3 tabelit:
·
inimese andmed: inimese_id, isikukood, eesnimi, perekonnanimi.
·
linnade loetelu: linna nimi, linna_id.
·
külastused: inimese_id, linna_id, kylastusaeg
Lisa tabelitesse mõned andmed.
·
Meldimise aknasse sisestab inimene oma isikukoodi. Väljastatakse, kas
selline kasutaja on olemas.
·
Olemasolu korral näidatakse, millistesse linnadesse ning millal on
tal kavas sõita.
·
Võimalda külastusi lisada.
·
Tabelist puuduva isikukoodi korral küsitakse, kas kasutaja soovib
ennast lisada. Sel juhul küsitakse inimese andmeid.
·
Kontrolli isikukoodi korrektsust
·
Loo tabel "teated", väljadega ID, vanem, pealkiri, sisu. Lisa
kolm teadet, välja "vanem" väärtus jäta nulliks. Loo veebileht teadete
näitamiseks.
·
Väli "vanem" näitab selle teate ID-le, millele vastati või on
0, kui alustati uut keskustelu. Loo veebileht teadete näitamiseks, kusjuures
lihtsustusena võib vastus olla vaid esimese taseme teatel.
·
Lisa leht teadete/vastuste lisamiseks ning näitamiseks, andmepuu
sügavust ei piirata.
·
Loo kolm tabelit: teated |id,
teade|, omadused|id, omadus| ning seosed |id, teate_id, omaduse_id|. Lisa
tabelisse mõned andmed ning näita veebilehel esimene teade ning selle omadused.
·
Loo leht teadete lisamiseks, omaduste lisamiseks, teate juurde
kuuluvate omaduste määramiseks ning soovitud teate näitamiseks veebilehele koos
omadustega.
·
Lisaks eelmisele võib teateid ja omadusi näha ja muuta tabelina
veebilehel, kus märkeruudu abil näidatakse ja määratakse, millised omadused
milliste teadete juurde käivad.
·
Hoolitse, et lehele pääseks vaid kasutaja "juku" parooliga
"kala";
·
Kasutajanime ja parooli kontrollitakse andmebaasist:
·
Parool hoitakse andmebaasis krüptitult.
·
Lisa kasutajale leht parooli vahetamiseks.
Kontrolli, et kasutaja oleks
sisestanud
·
kaks sõna
·
kuupäeva kujul pp.kk.aaaa
·
Elektronposti aadressi
·
Küsimus: kas tänane ilm on ...
Variandid: palav, paras, jahe.
·
Loo statistikaleht, kus tulpadega näidatakse, palju iga varianti
on valitud.
·
Pane staatusereale põrkama sõna "Küsitlus".
·
Loo administreerimisleht uue küsitluse loomiseks.
·
Luba statistikalehel valida, millise küsitluse diagramme vaadata.
·
Näita statistikalehel küsitluse külastatavust ajas.
·
Uuenda lehte iga minuti järel.
Salvesta veebist kümmekond
pilti.
·
Luba kasutajal valida enesele soovitud pilt. Väljastatakse kood, mille
abil on seda pilti võimalik taas vaadata.
·
Pildi juurde saab kirjutada tervituse. Loodud kaardist antakse teada
saaja postkasti.
·
Pildivalik luuakse vastavalt kataloogi paigutatud piltidele
automaatselt. Pilte on võimalik näha ka
alamkataloogidest.
·
Väljasta, mitmendat korda leht avati.
·
Väljasta number lehel oleva kujundatud pildina, Lisaks teata, mitmendat
korda avati leht praeguse kasutaja masinast.
·
Lisaks eelmisele luba samast masinast lehte minuti jooksul avada mitte
rohkem kui kolm korda, loo eraldi lehele graafik, kus näidatakse, millisest
masinast mitu korda on vastavat lehte vaadatud.
·
Moderaator saab vaatajatele üles panna ürituste teateid. Teate juurde
kuulub toimumise aeg ning ülespanija nimi. Tähtsamad teated tõstetakse lehel
esile.
·
Kasutajal on näha jooksva ning järgmise kuu kalender. Teadetega päevad
on kalendris viidetena vastava teksti juurde.
·
Moderaatori töö käib rakendi abil, mis omakorda suhtleb
andmebaasiga servleti kaudu. Paroole
hoitakse andmebaasis SHA sõnumilühenditena.
·
Loo JSP lehekülg juhusliku liitmisülesandega.
·
Väljasta kasutaja poolt määratud arv juhuslikke liitmisülesandeid.
·
Väljasta kõik sõnad, mis kasutaja sessiooni jooksul lehele sisenemiseks
sisestanud on.
·
Loo JSP leht kahe sisestatud arvu liitmiseks Kasuta liitmiseks oa
teenuseid
·
Hoia sessioonioas meeles küsitud liitmistehted. Tehte kordumisel võta
andmed mälust ning teata kordumisest.
·
Salvesta küsitud tehted andmebaasi, iga tehte juures on näha, mitu
korda on sellele vastust küsitud.
·
Installeeri MySQL. Loo andmebaas, tabel, lisa kirje, muuda, päri ja kustuta.
·
Eemalda nimetu kasutaja andmebaasist mysql tabelist user.
·
Loo kasutaja, kes tohib kõikidest andmebaasidest vaid pärida.
·
Loo kasutaja, kes tohib vaid ühe andmebaasiga töötada.
·
Loo juhuslikke paarisarve väljastav RMI
objekt. Katseta selle tööd kliendiabil.
·
Luba kliendil küsida ja muuta
väljajagatud objektis paiknevat arvu.
·
Muuda kliendi kasutajaliides
graafiliseks, kohanda see oksjonil osalemiseks.
·
Panust saab ainult suurendada, iga
kliendi ekraanil on jooksvalt näha väärtuse kasvamine.
·
Loo teenus tervituse väljastamiseks.
·
Loo teenus kasutaja määratud arvule faktoriaali leidmiseks ning
kliendipoolne kasutajaliides.
·
Lisa serveri poolele graafiline liides teenuse seiskamiseks ning
käivitamiseks.
·
Loo kuupäevateenus.
·
Väljasta ettantud arvu numbrid
tagurpidises järjekorras.
·
Vaheta inimese andmetes päris- ja
hüüdnimi.
·
Saada telneti kaudu kiri SMTP abil ning loe POP3 abil. Saada kiri
JavaMaili abil.
·
Loe kiri JavaMaili abil.
·
Lisa kirjale kasutaja valitud fail.
·
Loo graafiline liides kirjade saatmiseks ja lugemiseks.
·
Programm küsib kasutaja käest HTML-lehe pealkirja ning loob selle
pealkirjaga tühja HTML lehe.
·
Programm koostab kasutaja poolt määratud ridade ja veerugde arvuga
korrutustabelt sisaldava HTML faili .
·
Programm loob HTML-failide kompleksi kuni 100*100 korrutise leidmiseks.
Juhtlehe tabelist saab määrata, millises kümnes kumbki tegur asub. Hiirevajutusega
satutakse vastavale korrutustabelile, kust leitakse soovitud korrutis .
·
Väljasta tervitus tekstifaili.
·
Väljasta tekstifaili arvud ühest sajani.
·
Väljasta tekstifaili arvude ruudud ühest sajani.
·
Väljasta tekstifaili viis juhuslike liidetavatega liitmisülesannet.
·
Väljasta tekstifaili kasutaja pool määratud arv juhuslike liidetavatega
liitmisülesannet, mille vastus ei ületaks kümmet.
·
Väljasta tekstifaili esimesele reale tabulaatoritega eraldatult arvud
ühest viieni ning teisele reale nende
arvude ruudud.
·
Loe andmed Exceli tabelisse.
·
Väljasta sarnaselt 10x10 korrutustabel.
·
Programm loob kasutaja poolt määratud värvi taustaga tühja tekstifaili.
·
Tekstifailis on õpilaste nimed ning nende hinded. Programm loob nende
põhjal HTML-faili, kus nimed ning nendele vastavad hinded on tabelis.
·
Tekstifailis on igal real õpilase nimi ning hinded ainete kaupa. Ainete
nimed on faili esimesel real. Igale õpilasele luuakse HTML leht, kus
pealkirjaks on õpilase nimi ning tabelis ained ning nendes ainetes olevad
hinded. Lisaks juhtleht viitega iga õpilase lehele.
Programm
väljastab tekstifaili
·
pikima sõna pikkuse
·
pikima sõna
·
sõnad pikkuse järgi sorteeritult
Sisendiks
tekstifail ning täht.
·
Programm väljastab kõik seda tähte sisaldavad sõnad teise faili.
·
Programm väljastab teise faili sõnad, kus tähte leidub enam kui üks
kord.
·
Programm väljastab tekstifaili sõnad vastava tähe esinemise kordade
arvu järjekorras.
Sisendiks
tekstifail ning täht.
·
Väljastatakse sõnad, kus vastavat tähte pole.
·
Programm leiab sõna, kus tähe osakaal (tähe esinemise arv sõnas jagatud
sõna pikkusega) on suurim.
·
Sõnad väljastatakse vastava tähe osakaalu järgi sorteeritult teise
faili.
Tekstifailis on hulk
sünniaastaid.
·
Leia, mitu korda esineb nende seas aasta 1959
·
Loe tekstifaili aastaarvud LinkedList-i
·
Väljasta need aastaarvud sorteerituna teise tekstifaili
·
Otsi, kas loetelus leidub kasutajalt küsitud aastaarv
·
Väljasta teise tekstifaili vaid erinevad aastaarvud
·
Sega aastaarvude järjekord
·
Kasutaja sisestab nädalapäeva numbri, millal on esimene kuupäev.
Trükitakse vastava kuu kalender.
·
Kasutaja annab aasta ja kuu, trükitakse selle kalender.
·
Kasutaja annab aastaarvu.
Luuakse sellele aastale vastav HTML-leheküljestik, kus iga kuu kalender
on omaette failis, pühapäevad punastega trükitult. Pealehelt on viide iga kuu
failini ning sealt tagasi pealehele.
Programmile
antakse tekst failina.
·
Programm loendab tekstis olevate sõnade arvu.
·
Programm väljastab, millise tähega kui mitu sõna algas
·
Programm väljastab tekstist sõnad nende esinemise arvu järjekorras.
·
Väljastatakse sisestatud lause sõnade arv.
·
Väljastatakse enim sulghäälikuid sisaldav sõna.
·
Sõnad sorteeritakse sulghäälikute arvu järgi.
·
Teata, kas faili esimene rida algab K-tähega.
·
Teata tekstifaili K-ga algavate ridade arv.
·
Kirjuta sulghäälikuga algavad read ümber teise tekstifaili.
·
Väljasta tähtede arv tekstifaili esimesel real.
·
Väljasta tekstifaili ridade arv.
·
Väljasta 10-st sümbolist pikemate ridade arv.
·
Väljasta suurim sõnade arv real.
·
Väljasta neljatäheliste sõnade arv tekstifailis.
·
Väljasta, kas tekstifailis leidus paarisarve.
·
Väljasta DOS-i aknasse tervitus.
·
Väljasta esimene käsurea parameeter.
·
Väljasta esimese käsurea parameetri tähtede arv.
·
Väljasta käsurea parameetrite arv.
·
Väljasta iga käsurea parameeter eraldi reale.
·
Väljasta viimase käsurea parameetri tähtede arv.
·
Väljasta pikima käsurea parameetri tähtede arv.
·
Väljasta pikim käsurea parameeter.
·
Ekraanile trükitakse viis korda "Tere".
·
Trükitav sõna ja kordade arv määratakse käsurealt.
·
Etteantud arv kordi trükitakse pikim käsureale kirjutatud sõna.
Programm
küsib kasutaja käest kahel korral sõna
ning teatab
·
kas need sõnad on ühesugused
·
erinevuse korral, kas erinevad vaid ühe valesti löödud tähe poolest
·
lisaks eelnenule, kas on kusagilt täht puudu või on kaks kõrvuti olevat
tähte vahetusse läinud
Kasutaja sisestab aja kujul päev.kuu.aasta,
nt 24.12.02 ning programm väljastab
·
aasta numbri neljakohalisena (2002)
·
aja kujul aasta/kuu/päev (2002/12/24)
·
vastuse sõnaliselt (kahekümne neljas detsember aastal kaks tuhat kaks)
·
Arvuti teatab, kas kasutaja sisestas arvu 7.
·
Arvuti mõtleb arvu ning teatab, kas kasutaja sisestas sama.
·
Lisaks eelmisele lastakse arvata kuni õige vastuseni, teatades, kas
pakuti vähem või rohkem.
·
Arvuti teatab, "osta elevant". Kasutaja vastuse peale
öeldakse, et "kõik ütlevad nii".
·
Küsimust korratakse seni kuni kasutaja sisestab "elevant".
·
Rumalate sisestatud sõnade puhul manitsetakse kasutajat. Kasutaja
vastused salvestatakse faili. Lõpetatakse pärast 20. korda või sõna
"elevant" sisestust.
·
Nupuvajutuse peale liigub tekstiväljas olev täht ühe koha võrra paremale.
·
Tekstiväljas olev sõna põrkab edasi-tagasi.
·
Etteantud sõna paarisarvulised tähed liiguvad kastis ringi vasakult
paremale ning paarituarvulised paremalt
vasakule, minnes üksteisest vaheldumisi läbi. Kui sõna on parajasti kokku
saadud, siis selle koha peal oodatakse veidi kauem.
·
Nupuvajutuse peale kopeeritakse ühes kastis olev tekst teise.
·
Nupuvajutuse peale kopeeritakse tekst kastist teise ühe tähe kaupa,
vahepeal pause pidades.
·
Kopeerimist alustatakse teksti lõpust. Kõigepealt hüppab viimane täht
teise kasti algusse ning liigub tasapisi lõppu. Siis hüppab tagant teine täht
kasti algusse ning liigub eelmise tähe ette jne, kuni kõik tähed on üle kantud.
·
Tekstiväljas keritakse ühte tähte
·
Tekstivälja kirjutatud kolm sõna pannakse iga natukese aja tagant uude
juhuslikku järjekorda.
·
Tekstiväljas oleva sõna tähti keritakse nii: Kõigepealt liigum esimene
täht teiste vahelt taha, olles vahepeal igas vahes. Teise tähega samuti. Kui
kogu sõna on keritud, peetakse väike paus, siis jätkub kerimine uuesti.
·
Väljastatakse, kas sisestatud sõnas on paarisarv tähti
·
Väljastatakse, kas sõnas on korduvaid paarisarvulisi tähti
·
Täishäälikute omavahel ning sulghäälikute omavahel vahetamise teel
väljastatakse kõik sõnad, mis algsest saada võib.
Ekraanil on kaks
tekstivälja. Kasutaja tipib lause ühte neist ning arvutuse
tulemus väljastatakse teise.
Teatatakse :
·
Sisestatud sõna tähtede arv
·
Täishäälikute arv sisestatud sõnas
·
Sisestatud lause sõnade esimesed tähed
·
Lauses esinenud numbrite summa
·
Lause pikim sõna
·
Loo alamprogramm arvu korrutamiseks kahega.
·
Loo alamprogramm kahe arvu vahe leidmiseks.
·
Loo alamprogramm etteantud arvu faktoriaali leidmiseks.
·
Loo alamprogramm massiivi suurima elemendi leidmiseks.
·
Loo alamprogramm teksti sõrendatud väljatrükiks.
·
Loo alamprogramm teksti tagurpidi väljatrükiks.
·
Loo klass Punkt väljadega x ja y.
·
Loo sellest klassist kaks isendit ja anna nende väljadele väärtused.
·
Trüki mõlema punkti väljade väärtused ekraanile.
·
Kopeeri ühe punkti andmed teise punkti andmeteks.
·
Paiguta loodud kaks punkti massiivi.
·
Loo massiiv saja punkti ning juhuslike andmetega.
·
Määra viiekümnenda punkti x-koordinaadi väärtuseks 243.
·
Kirjuta välja punkti andmed, mille x-koordinaadi väärtus on vähim.
·
Loo klass Loom väljaga "nimi" ning meetodid
"tutvusta" ning "nimepikkus".
·
Tee loomale alamklassid "Koer" ja "Lehm", kus tuleb
katta üle meetod "tutvusta" nii, et selles väljastataks ka looma liik
ning looma nime pikkus. Koosta kestprogramm loodud klasside
katsetamiseks.
·
Lisa klassile Loom staatiline väli loomadeArv, mille väärtus suureneb
iga looma (ka koera ja lehma) lisamisel
(st klassi Loom konstruktori
käivitamisel). Muuda klassi Loom meetodit "tutvusta" nii, et
see väljastaks loomade arvu. Kutsu
klassi "Koer" meetodist "tutvusta" välja klassi "Loom" meetod
"tutvusta".
·
Muuda konstruktoreid nii, et isendi loomisel saaks talle koheselt ka
nime omistada. Loo staatiline meetod
loomade arvu väljastamiseks ning käivita
see ilma isendit kasutamata.
·
Loo klass Auto väljadega pikkus, mass ning mark. Koosta selle klassi
objektidest massiiv.
·
Loo klassile alamklass LiikuvAuto, mis realiseeriks liidest Liikuja.
Liideses on kaks meetodit "edasi" ning "tagasi". Üks neist
suurendab välja "asukoht" väärtust, teine vähendab seda. Katseta
loodud klassi isendit.
·
Loo viimati loodud klassile alamklassid Veoauto ning Soiduauto, mis
sobivad kasutada graafikakomponendina. Väljade muutmine kajastub auto
väljanägemises.
·
Loo klass meetoditega komponendi näitamiseks raamis. Saab määrata raami
suurust, akna sulguvust, pealkirja ning komponendi olemasolu, kuid kasutatavad
parameetrid on valikulised. Püüa võimaikult vähe koodi korrata.
·
Paiguta klass arhiivi. Proovi sealtkaudu meetodeid välja kutsuda olles
nii kohalikus kui ka jre/lib/ext kataloogis.
·
Loo oma asutuse all omanimeline pakett. Paiguta loodud klass koos
meetodeid katsetava käivitatava klassiga sinna paketti. Muuda arhiiv
käivitatavaks. Proovi luua rakend, mis võimalikult palju klasse loeks
arhiivist.
·
Väljasta jooksvas kataloogis leiduvate failide arv
·
Teata a-tähega algavate failide nimed
·
Väljasta 100-st baidist lühemate failide nimed
·
Väljasta jooksva kataloogi tekstifailide nimed sorteerituna
·
Teata juurkataloogi alamkataloogide nimed
·
Teata masinas leiduva pikima ja lühima faili nimi.
·
Väljasta tekstifaili masinas paiknevate failide nimed, pannes
alamkataloogide sisud taandesse
·
Lisaks eelmisele paiguta masinas paiknevate failide nimed SWINGi
puusse. Puu elemendile vajutades näidatakse vastava faili pikkus.
·
Lisaks eelmisele paiguta masinas paiknevate failide nimed XML-puusse
ning seejärel väljasta puu tekstifaili.
·
Pane üheaegselt tööle kaks lõime, mis loevad arve ühest miljonini ning
iga saja tuhande juures teatavad, kui kaugele nad jõudnud on.
·
Ühes lõimes mõeldakse juhuarve ning saadetakse toruvoogu. Teises lõimes
loetakse ühekaupa arve listi juurde. Iga tuhande arvu järel teatab kumbki lõim,
kui kaugele ta jõudnud on.
·
Kolmas lõim väljastab iga viie sekundi järel nimistu keskel asuva
elemendi väärtuse ning järjekorranumbri. Nimistuga seotud operatsioonid on
sünkroniseeritud.
·
Väljasta kasutaja sisestatud arv täpsusega kolm kohta peale koma.
·
Loo graafiline liides, kus kasutaja saab teada, mitu sekundit on
möödunud tema sünnist. Numbrid grupeeritakse kolme kaupa.
·
Lisaks eelmisele teatatakse tulevikus paikneva sünniaja korral, palju
sinnani sekundeid on. Kasutaja saab määrata, mitme kaupa numbreid
grupeeritakse.
·
Loo alamprogramm massiivi elementide väljatrükiks.
·
Trüki selle abil käsurea parameetrid.
·
Trüki käsurea parameetrid sorteerituna.
·
Trüki käsurea parameetrid segatud järjekorras.
·
Paiguta käsurea parameetrid loetellu (LinkedList)
·
Lisa teise sõna järele "kala" ning trüki loetelu.
·
Trüki vaid erineva väärtusega käsurea parameetrid.
·
Trüki käsurea parameetrid pikkuse järjekorras.
·
Loo klassile LinkedList alamklass, kus jäetakse meelde jooksva elemendi
järjenumber. Lisatakse meetodid edasi (lõpust hüpatakse algusse) ning tagasi
(algusest hüpatakse lõppu) liikumiseks ja jooksva väärtuse küsimiseks. Testi
loodud objekti.
·
Koosta filtreeritud väljundvoog, kus sümboleid koodidega 32-255
nihutatakse etteantud arvu koodide võrra. Loo sisendvoog nõnda muudetud andmete
taas paika nihutamiseks.
·
Loo filtreeriv voog, mis paarikaupa vahetab tähtede järjekorra. kalake -> akalek
·
Paki jooksva kataloogi failid zip-arhiivi.
·
Koosta enesele keytool'i abil sertifikaat
·
Loo lihtne programm, paki see jar-faili.
Signeeri loodud arhiiv.
·
Anna oma avalikku võtit sisaldav sertifikaat
pinginaabrile ja võta tema oma vastu.
·
Saada signeeritud arhiivifail naabrile
ning kontrolli ise naabrilt saabunud arhiivifaili õigsust.
·
Kontrolli, et signeerimata või tundmata
võtmega signeeritud arhiivi puhul antaks veateade.
·
Tutvu näidetega.
·
Loo enesele võtmepaar.
·
Signeeri tekst salajase võtmega
·
Kontrolli allkirja sobivust.
·
Loo graafiline liides, kus saab luua
võtmepaari, signeerimisel ning kontrollimisel valida võtmefaili , allkirjafaili
ja andmefaili.
·
Lisa vahend sõnumilühendi loomiseks ning
etteantud faili baitide
·
esitamiseks kuueteistkümnendsüsteemis.
·
Installeeri JCE
·
Tutvu näidetega
·
Sifreeri arvude 0-15 ruute tähistavad
baidid (0, 1, 4, 9, 16 ... 225) tähistavad baidid DES-i abil võtmega, mille 8
baiti on väärtused alates kahest (2, 4, 6 ...).
·
Kontrolli tulemust desifreerimise abil.
·
Sama võtmega krüpti kasutaja poolt
määratud failis asuvad andmed.
·
Loo failide krüptimiseks/dekrüptimiseks
graafiline liides. Parool ning failinimi küsi kasutaja käest.
·
Määra oma programmile uus turvahaldur.
·
Luba programmil kirjutada faili nimega "katse.txt".
·
Luba nimetatud faili kirjutada vaid kindlas kataloogis asuval rakendil.
Tekstifailis on 100
kahetähelist rida.
·
Väljastatakse, kas esimene kombinatsioon ka kusagil mujal kordub.
·
Väljastatakse, mitu korda iga kombinatsioon esineb.
·
Kasutajal lastakse järjest tippida teksti, kõrval on jooksvalt
tähestiku järjekorras näha, millist kombinatsiooni mitu korda esines.
·
100 kb pikkusest tekstifailist väljastatakse, millist tähte mitu korda
a-le järgneb.
·
Arvutil lastakse luua 100 kb pikkune juhuslik tekst, milles tühikud on
2-8 tähe tagant. Väljastatakse need a-ga algavad tähekombinatsioonid, mille
sagedus arvuti loodud ning kopeeritud tekstis enam erinevad.
·
Kasutaja sisestatud juhuslikust tekstist näidatakse iga
tähekombinatsiooni osakaal (%), kõrvale võrdluseks sama kombinatsiooni osakaal
kopeeritud tekstis ning arvuti abil loodud failis.
·
Tekst kirjutatakse ümber teise faili jättes tühikud välja.
·
Vähemalt kolmekordsed tähed asendatakse tähe ja numbri
kombinatsiooniga. Näiteks eeeuuuuu tulemuseks oleks 3e5u.
·
Tekstis olevad sõnad nummerdatakse. Pakitud faili algul on sõnadest
tabel. Seejärel tulevad vaid sõnade numbrid ja kirjavahemärgid.
Tekstifailis on 10*10
ruudustik, kus läbitavat ruutu tähistab . , läbimatut
ruutu X, teekonna algust A
ning lõppu O. Liikuda saab vaid kõrvale, üles või
alla. Uuri, kas õnnestub liikuda algusest lõppu,
programmi vastuseks on kas "jah" või "ei".
·
Iga sammuga märgi läbitavaks ruudud, mis asuvad vahetult ligipääsetava
ruudu kõrval.
·
Lisaks eelmisele lahenda ülesanne ka sellise algritmi järgi:
Esimese sammuga paigutatakse loetellu punktid, kuhu saab liikuda algkohast ühe
sammuga. Edasi hakatakse ühekaupa loetelust punkte võtma ning loetelu lõppu
lisatakse läbimata punktid, kuhu on võimalik uuritavast punktist liikuda.
·
Lisaks eelmisele: Vaata rekursiivselt läbi punkti neli külge alustades
algpunktist.
Sisendi näide:
.....X....
.....X....
.....XXXXX
..........
...XX.....
....X.....
....X.....
....X.....
.A..X..O..
....X.....
Vastus: jah
·
Programm küsib kasutajalt vastused kümnele programmi poolt mõeldud liitmisülesandele
ning teatab, mitu protsenti vastustest olid õiged
·
Lisaks eelnenule teatab, mitu sekundit kulus lahendamiseks aega.
·
Kõikidele ülesannetele õigesti vastanu käest küsib nime ning hoiab
kümmet paremat failis kiiruse järgi pingereas.
·
Buss sõidab Tallinnast Tartusse kaks tundi ja 30 minutit. Programm
küsib Tallinnast väljumise aja ning väljastab Tartusse jõudmise aja.
·
Tekstifailis on kahe peatuse vahelise vahemaa läbimise ajad minutites.
Programm küsib bussi väljumise kellaaja ning väljastab peatustes olemise
kellaajad.
·
Tekstifailis on peatuste nimed ning kahe peatuse vahelise vahemaa
läbimise ajad minutites. Teises tekstifailis on bussi algpeatusest väljumise
ajad. Programm trükib tekstifaili iga peatuse kohta ajad, mil buss seal peatub.
·
Programm küsib inimeste vanused ning väljastab nende jaotumise
histogrammi.
·
Programm joonistab 10000st väiksemate algarvude jaotumise histogrammi.
·
2x1 meetrise kasti põhjas veereb 5 cm läbimõõduga juhusliku algkoha,
-suuna ning -kiirusega pall. Vastu serva sattudes põrkab ta sealt tagasi.
Kasti ühes nurgas on 15 cm läbimõõduga
auk. Koosta histogramm, mis näitaks auku sattumiseni kulunud põrgete arvu
jaotust. Hõõrdumist ei arvestata.
· Programm lahendab
kahe muutujaga lineaarvõrrandisüsteemi
· Programm arvutab
kahe maatriksi korrutise
· Programm leiab
proovimise teel kuupvõrrandi nullkoha(d)
· Kirjuta faili järjest baidid väärtustega 0 kuni 255.
·
Leia failis olevate bittide arv, mille väärtus on 1.
·
Koosta vahend faili muutuste kontrolliks: lisa faili iga 8 baidi järel
bait, mille iga bitt vastab ühele baidile eelnevast kaheksast ning näitab, kas
seal oli bittidena paarisarv ühtesid. Programm peab kontrollimisel suutma
näidata, millist baiti failist on muudetud.
·
Arvuti mõtleb kolmega jaguva arvu vahemikust 20-50 ning kontrollib, kas
kasutaja sisestas sama.
·
Arvuti loeb kokku, mitme korraga kasutaja selle arvu arvab, andes
leidmiseks vihjeid.
·
Sama mäng võrgus mängimiseks, kusjuures öeldakse ette vahemik ning
millega arv jagub. Iga kord esimesena õigesti arvanu saab punkti, server peab
edetabelit.
·
Etteantud arv vahemikus 1-10
väljastatakse rooma numbrina.
·
Sama, kuid vahemikus 1-2000.
·
Väljastatakse kahe sisestatud rooma
numbri summa.
·
Sõnadena väljastatakse arvud ühest
sajani.
·
Sõnadena väljastatakse algarvud ühest
kümne tuhandeni.
·
Väljastatakse kahe sõnadena sisestatud
numbri (1-100000) summa.
Telemängus
on kasutaja ees kolm suletud kappi, ühes neist paikneb auhind.
Kasutaja valib ühe kapi. Järgnevalt teeb
mängujuht lahti kapi ukse, mille
taga ei ole auhinda. Kasutajal on õigus
valitud kappi vahetada.
·
Koosta programm, kus mõttes paigutatakse
aare juhuslikku kappi ning kasutaja avab
juhusliku ukse. Teatatakse, kus oli auhind,
millise ukse kasutaja avas, ning
kas kasutaja leidis auhinna.
·
Lisaks eelmisele koosta programm, kus
kasutaja valib kapi, mängujuht avab
tühja kapi ning kasutaja vahetab valitud kapi. Teatatatakse, kus oli
auhind, millise ukse valis kasutaja
algul, millise avas mängujuht, millise kapi avas kasutaja lõpuks ning kas sealt leiti auhind.
·
Käivita kumbagi programmi sada korda ning
leia, mitmel korral kummalgi juhul
leiti auhind.
·
Sisestatud arv väärtusega 0-15
väljastatakse kahendsüsteemis.
·
Etteantud vahemikus korrutustabel
väljastatakse kaheksandsüsteemis.
·
Etteantud arvusüsteemis loetakse numbreid
etteantud vahemiku algusest lõpuni mõõduka kiirusega. Numbriteks olevad
sümbolid saab kasutaja ise joonistada.
·
Koosta programm, mis kirjutaks faili sada
esimest algarvu
·
Koosta programm, mis küsiks kasutajalt
arvupiirkonna (vähima ning suurima arvu) ning väljastaks, kui suur on selles
lõigus suurim vahe kahe algarvu vahel.
·
Kujuta graafiliselt, millises tuhandes
esimese kümne tuhande arvu puhul kui palju algarve asub.
·
Kasutaja sisestab kahe punkti asukoha
tasandil ning programm väljastab nende vahekauguse.
·
Failis on punktide koordinaadid. Programm
väljastab punktide paarid, mille vahekaugus on vähem kui 10.
·
Failis on punktide koordinaadid. Programm
joonistab need punktid ekraanile ning ühendab omavahel need punktid, mille
kaugus on väiksem kui 10. Üksinda asetsevad punktid värvitakse siniseks.
·
Programm küsib kasutajalt liikumiskiiruse
km/h ning väljastab, kui palju aega kulub sellise kiirusega ühe kilomeetri
läbimiseks.
·
Programm küsib kasutajalt kümne auto
kiiruse, väljastab keskmise kiiruse ning suurima ja vähima kiiruse vahe.
·
Programm loeb failist päeva jooksul
teelõiku läbinud autode kiirused ning küsib kasutajalt lõigul parajasti kehtiva
piirkiiruse. Teise faili väljastatakse kiirust ületanud autode kiirused ning
nende kiiruste geomeetriline keskmine.
·
Programm küsib kümne toidu hinna ning
väljastab kõige odavama ja kõige kallima hinna.
·
Programm küsib kümne toidu nimetuse ning
hinna ja väljastab kõige odavama ning kõige kallima toidu nimetuse.
·
Programm küsib iga toidu nimetuse, hinna
ning selle, kas tegemist on külma või kuuma roaga. Programm väljastab eraldi külmade
roogade faili ning eraldi kuumade roogade faili, kummagi sorteerituna hindade
kasvavas järjekorras.
Kasutaja sisestab dokumendi asukohta
Internetis määrava URL-i (näiteks http://www.tpu.ee/~esindus/ ning
·
teatatakse, kas selles leidus tähekombinatsioon
www
·
väljastatakse masina aadress
·
Programm leiab URL-ide failist erinevad
eesti masinate nimed ning need kirjutatakse eraldi faili.
·
Joonista ekraanili liikuv pall, mis vastu
serva põrkamisel muudab oma liikumissuunda.
·
Kera hakkab veerema 10*10 meetri suurusel
väljakul ühtlase kiirusega 1 m/s juhuslikust kohast ning juhuslikus suunas.
Leia, kui aplju kulub aega, et kera satuks taas algkohast vähem kui meetri
kaugusele.
·
Kaks kera raadiustega kumbki 10 cm
hakkavad veerema 20*20 meetri suurusel väljakul kumbki juhuslikust kohast ja
juhuslikus suunas kiirusega 1 m/s. Kui kaua kulub keskmiselt aega esimese
põrkeni. Kui suur oleks ligikaudne katsete arv, et keskmine aeg ei kõiguks
oluliselt üle 15%?
·
Väljasta sisestatud sõna iga täht tähestikus ühe koha võrra paremale
nihutatuna.
(kala->lbmb)
·
Loo vahend tekstifaili tähtede soovitud arvu koodide võrra edasi või
tagasi nihutamiseks arvestades ka täpitähti.
·
Programmi sisendiks on kaks tekstifaili: avatekst ning võti. Luuakse
krüpteeritud fail, kus iga avateksti faili tähe koodi suurendatakse
võtmefailist võetud vastava tähe koodi jagu. Lisa vahend ka deúifreerimiseks
· Püüa üheaegselt kõlama saada kolm nooti.
· Luba arvuti klahvidel klaverit mängida.
· Pane arvuti heliredelit mängima.
·
Järjestikku mängitakse kaks nooti.
·
Joonistatakse ksülofon ning temale vajutamisel mängitakse noot.
·
Igale pulgale lüües kostub sellele vastav heli. Mängimise ajaks muudab
pulk värvi.
·
Loo sekvents kümne piiksuga ning mängi
see.
·
Loo sekvents kromaatilise heliredeliga.
·
Loo sekvents C-duuri heliredeliga ning
mängi see kaks korda.
·
Loo sekvents valitud duuri heliredeliga.
·
Salvesta loodud sekvents MIDI-faili
·
Mängi MIDI fail
·
Väljasta radade arv
·
Kopeeri faili muusika iseendale sappa
·
Lisa rada, kus viisi mängitakse nihkega
(kaanon)
·
Mängi duurkolmkõla.
·
Mängi valitud helistiku duurkolmkõla.
·
Ekraanil on noodijoonestik. Vajutades hiirega, mängitakse selle
helistiku duurkolmkõla ning näidatakse ekraanil vastavaid noote.
·
Mängi signaali sagedusega 440 Hz.
·
Pane signaali kõrgus sõltuma hiire
asukohast ekraanil.
·
Hoolitse, et kõrguse muutumine oleks
sujuv.
·
Korraga kõlab kaks heli. Ühe kõrgus
sõltub hiire x- ning teine y-koordinaadist.
·
Salvesta AU-fail WAV-failiks
·
Salvesta piiks helifaili
·
Mängi loodud fail
·
Loo server- ja klientprogramm, et
·
loodud faili oleks võimalik üle võrgu
kuulata.
·
Peida helifaili sisse oma nimetähed.
·
Salvesta faili sisu ümber poole
vaiksemalt.
·
Sega kokku kahe helifaili sisu.
·
Lindista oma hääl faili.
·
Mängi helifail.
·
Salvesta kahe helifailisisu kokku üheks, nii et nad koos kõlaksid.
·
Loo graafiline liides, kus saab valida, millised failid kokku
salvestada ning milline kui valjult loodavas failis kõlab.
·
Loo Wordi abil lihtne lehekülg.
·
Salvesta see HTML-formaadis.
·
Vaata tulemust brauseriga.
·
Muuda lehte, vaata muutust brauseris.
·
Loo lehele viide ajalehele "Postimees"
http://www.postimees.ee/
·
Loo samasse kataloogi teine veebileht.
·
Loo kummaltki lehelt teisele viited.
·
Lisa teisele lehele pilt. Muuda kirja ning tausta.
·
Pane lehed üles veebiserverisse.
·
Tutvu lehtede lähtekoodidega.
·
Proovi leht koostada Netscape Composeriga
·
Loo lühike tervitus.
·
Lisa lehele pealkiri.
·
Katseta rasvast ning kaldkirja.
·
Lisa viide ajalehele.
·
Pane viide avanema eraldi aknasse.
·
Loo kaks lehte, kummalgi on luuletusest üks salm. Kümne sekundi pärast avaneb esimese salmi
järel teine.
·
Salme on kolm, igaüks eraldi lehel. Pealehelt on viide esimesele salmile. Sealt liigutakse iseenesest edasi
teisele, sealt kolmandale ning
kolmandalt taas pealehele tagasi.
·
Loo loetelu viidetega ajalehtedele.
·
Jaga leht kahte raami, pannes loetelu vasakule ning avanevad lehed paremale.
·
Kirjuta skripti abil lihtne tervitus.
·
Kirjuta juhuslik arv.
·
Loo kümme juhuslike liidetavatega liitmisülesannet.
·
Loo ülesanded nii, et vastus ei ületaks 100.
·
Koosta protsentülesanne, kus valitakse juhuslikult nii ained kui
hulgad.
·
Lisa ülesandele vastus.
·
Ümarda vastus kaks kohta pärast koma.
·
Koosta ülesande loomiseks alamprogramm.
·
Kirjuta kümme ülesannet.
·
Kirjuta kasutaja määratud arv ülesandeid.
·
Loo viide uude avanevasse aknasse.
·
Ava aken programmi abil.
·
Määra akna suuruseks 300*200.
·
Kirjuta programmi abil tervitus avanevasse aknasse.
·
Paiguta loodavad ülesanded ühte aknasse ning vastused teise.
·
Jaga leht kaheks raamiks.
·
Pane sisukorras olevad viited avanema teise raami.
·
Loo nupuga vorm.
·
Nupule vajutamisel avatakse teateaken.
·
Lisa tekstiväli. Nupuvajutusel näidatakse väljas olevat teksti.
·
Lisa teine tekstiväli. Nupuvajutusel näidatakse teises väljas esimeses väljas asuva teksti pikkust.
·
Lehel on kaks tekstivälja andmete jaoks, nende vahel tehtevalik, siis nupp võrdusmärgiga ning väli vastuse
tarbeks. (Pane tööle)
·
Katseta märkeruutu, raadionuppe ja tekstiala.
·
Luuakse 10 muutuvate lähteandmetega
tekstülesannet.
·
Luuakse etteantud arv muutuvate
lähteandmetega tekstülesandeid, eraldi väljastatakse ülesannete vastused.
·
Õpetaja saab ruudukeste abil märkida,
milliseid ülesandetüüpe ta kontrolltöösse soovib, samuti sisestab variantide
arvu. Väljastatakse igale õpilasele nii ülesannete- kui vastusteleht.
·
Pane tekstivälja iga viie sekundi tagant tekkima juhuslik arv.
·
Liiguta tekstiväljas olevat teksti.
·
Pane väljas olev tekst põrkama.
·
Lehel on kaks tekstivälja. Seal olevad tekstid põrkavad peegelipildis.
·
Lisaks liigub tekst all staatusreal.
·
Etteantud sõna moodustub ükshaaval paika liikuvatest tähtedest.
· Teata lehele tänane kuupäev.
· Joonista tabelina jooksva kuu kalender.
· Võimalda valida näitamiseks aasta ja kuu. Kuu valimata jätmisel näidatakse terve aasta kalender
·
Lehel on võimalik kahte arvu korrutada.
·
Sisestatakse algne summa, panga aastaprotsent ning
hoitud aastate arv. Väljastatakse lõppsumma.
·
Eelmisele lisatakse graafiline esitus.
·
Loo veebilehestik, kus vasakus raamis oleks
sisukord ning paremas väidataks valitud lehekülgi.
·
Lisa ülaserva kolmas raam, milles oleksid nupud
sisukorra näitamiseks ning kaotamiseks.
·
Lisaks eelmisele asuvad iga lisatava lehe päise
skriptis märksõnad. Lehestiku avamisel luuakse sisukorras viidatud lehtede
märksõnadest tähestikulises järjekorras loetelu, kust kaudu võib kasutaja jõuda
sobivale lehele.
·
Koosta objekt inimese andmetega (eesnimi, perekonnanimi, synniaasta)
ning katseta seda.
·
Koosta alamprogramm inimese objekti loomiseks, katseta.
·
Loo massiiv viie inimese andmetega.
·
Väljasta tekstialasse kasutaja antud aastal sündinud inimeste
perekonnanimedega.
·
Lisa inimesele meetod enese andmete väljastamiseks teatekastis,
katseta.
·
Lisa inimesele meetod andmete väljatamiseks kujul perekonnanimi,
eesnimi.
·
Väljasta etteantud aastal sündinute andmed tekstialasse, kasutades
koostatud meetodit.
Loo veebileht tekstiala,
nupu ning tekstiväljaga.
Peida lehe sisse massiiv
inimeste eesnimedega.
Nupule vajutades
·
Väljasta, kas leidub sissetipitud eesnimi.
·
Väljasta sissetipitud tähega eesnimed.
·
Väljasta sissetipitud pikkusega eesnimed.
·
Ette saab anda eesnime nii esimese kui viimase tähe.
·
Lisa märkeruut, mille seesolekul väljastatakse tulemused tagurpidises
järjejorras
·
Ekraanil on nelja raamatu pealkirjad, igaühe ees märkeruut. Nupuvajutuse peale teatatakse, mitu raamatut
on valitud.
·
Raamatute hinnad on hoiul massiivis. Teatatakse valitud raamatute hindade summa.
·
Massiivis on nii raamatute nimed kui hinnad. Kõigepealt
koostatakse nende põhjal leht ning
edasi toimib see nagu eelmises ülesandes.
·
Eelmisega võrreldes on iga raamatu ees valik, millest saab valida ostetavate raamatute arvu.
·
Küsi kasutajalt nimi. Uuesti samale lehele sisenemisel tervita teda nimeliselt.
·
Lehel oleva tekstivälja ning märkeruudu väärtus talletatakse küpsises kuni järgmise avamiseni.
·
Isikuandmete määramiseks kasutatakse võimalikult paljusid graafikakomponente (Nimi-tekstiväli,
sugu-raadionupud, rahvus-valik,
huvialad-tekstiala, juhilubade
olemasolu-märkeruut, õnnenumber-parool). Sisestatud andmete põhjal luuakse uude aknasse nende andmetega
kujundatud leht.
·
Graafikakomponentide väärtused talletatakse küpsises ning
järgmisel avamisel viimatine olukord
taastatakse.
·
Loo leht kaupade loeteluga. Lehe alla kuvatakse
valitud kaupade hindade summa.
·
Lisaks eelmisele saab kasutaja valida, mitut igast
kaubast ta soovib osta. Valitute nimekiri saadetakse koos kasutaja andmetega
teele poepidaja välkpostiaadressile.
·
Lisaks eelmisele hoitakse valitud andmeid järgmise
korra tarvis meeles küpsistena ning kaupade nimekiri koosneb sisukorrast ja
mitmest lehest.
·
Kontrolli, et kasutaja sisestaks viie tähe pikkuse sõna.
·
Kontrolli, et ei sisestataks täpitähti
·
Kontrolli, et tegemist oleks kuupäevaga, kus aasta on neljakohaline.
·
Asenda punktiga lõppevad arvud nelja x-iga.
·
Väljasta lause esimene viietäheline sõna.
·
Lehe alguses massiivi kirjutatud nimed ja
telefoninumbrid väljastatakse tabelina.
·
Kasutaja saab hiirevajutusega valida, kas andmed
väljastatakse sorteeritult nimede või numbrite järgi.
·
Lisaks eelmisele tippides sisse osa nimest või osa
numbrist, väljastatakse vaid need andmed, mis sissetipitule vastavad.
·
Ekraanile joonistatakse etteantud arvu kõrgune
tulp
·
Kasutaja sisestab kolm arvu ning igale neist
joonistatakse vastavusse tulp. Pikim tulp on punane, keskmine kollane ning
lühim roheline.
·
Kasutajal lastakse lahendada kümme
liitmisülesannet saja piires. Tulpadega näidatakse, kui palju kulus keskmiselt
aega õige, õigest suurema ning väiksema
vastuse leidmiseks.
·
Sisestatakse arv ning väljastatakse, millist ainet 7B klass selles
tunnis esmaspäeval õpib.
·
Valitakse päev ning eraldi aknasse väljastatakse 7B selle päeva tunnid.
·
Valitakse päev ning klass ning eraldi aknasse väljastatakse selle
klassi selle päeva tunnid.
·
Saab väljastada nii ühe tunni, ühe klassi tunnid, ühe päeva tunnid kui
kogu kooli tunniplaani.
·
Paiguta ekraanile suureks venitatud roheline pilt.
·
Nupule vajutades muudetakse pilt punaseks.
·
Lisa teine nupp pildi taas roheliseks muutmiseks.
·
Punane ja roheline pannakse kordamööda vilkuma.
·
Pilte on 10 tükki reas. Kasutajale näib, nagu liiguks punane silm rohelisel taustal vasakult paremale.
·
Lisaks eelmisele jääb silm põrkama.
·
Koosta kollastest punktpiltidest 10*10 ruudustik.
·
Pane punane ruut liikuma mööda ülemist serva vasakult paremale.
·
Pane punane ruut liikuma mööda vasakut serva ülevalt alla.
·
Pane punane ruut liikuma ringlevalt mööda ruudustiku serva.
·
Pane punane ruut kaldu liikuma ja servadest põrkama.
·
Pane juhuslikesse kohtadesse tekkima ja kaduma värvilisi punkte.
·
Pane samaaegselt ringi liikuma punane ja roheline ruut, kusjuures üks
on teisest pool ringi maas.
· Lehel on meeles inimeste pikkused. Teatatakse nimele vastav pikkus.
· Inimeste pikkused joonistatakse tulpadena lehele, nimi kirjutatakse iga tulba alla.
· Lisaks eelmisele on võimalik kasutajal andmeid lisada või parandada, samuti järgmise vaatamiskorra jaoks talletada.
·
Ekraanil on kollane ruut. Hiirega sellele vajutades muutub nupp
punaseks.
·
Võrreldes eelmisega on ruute rohkem
·
Võrreldes eelmisega on ruudud 10*10 ruudustikus.
·
Üks ruut on ruudustikus punane. Vajutades sellele, muutub see
kollaseks.
·
Lisaks eelmisele muutub selle peale uus ruut punaseks ja tundlikuks.
·
Loetakse kokku, mitmele ruudule on pihta saadud.
·
Loo ekraanile kiht
·
Lisa nupp kihi peitmiseks
·
Lisa nupp kihi näitamiseks
·
Lisa nupp kihi liigutamiseks paremale
·
Lisa nupp kihil abiinfo näitamiseks.
·
Loo lehe vasakusse serva viidete loetelu. Igale viitele vajutades
hüppab kihina välja alammenüü.
·
Kihist moodustatud klots liigub lehel
edasi-tagasi.
·
Klots põrkab lehel vastavalt füüsikaseadustele.
·
Mõttelise kummipaelaga on ühendatud kolm klotsi.
Kasutaja saab hiirega nihutada esimest, ülejäänud liiguvad, arvestades
ligikaudu elastsust ning inertsi.
·
Loo lehele kiht ning kaks nuppu. Ühele nupule vajutades kiht
peidetakse, teisele vajutades näidatakse taas.
·
Loo peamenüü ning kihtide abil kolm alammenüüd. Hoolitse, et
alammenüüsid saaks sulgeda.
·
Kolm sekundit pärast hiirevajutust ilmub peamenüü hiire alla.
Alammenüüd avanevad peamenüü kõrvalt.
· Ristkülikute abil on moodustatud mitmekorrruselise trepi ristlõige
· Roheline kujund liigub mööda trepiastmeid üles.
· Kasutaja saab hiirega määrata, milliselt astmelt millisele liigutakse.
· Koosta ruutudest parkla, kus autod paiknevad mitmes reas.
· Näidatatakse, kuidas liikuda sissepääsust parkla tagumisse nurka.
· Iga nupuvajutuse peale liigub järjekordne auto sissepääsust esimese sel hetkel vaba kohani.
·
Ekraanil on ruutudest koosnev väljak. All olevate
nuppudega saab teisevärvilist ruutu nihutada üles, alla, vasakule ja paremale.
·
Liigutatava pildi peal on nool. Ühe nupupaariga
saab noolt keerata, teisega edasi-tagasi liigutada.
·
Lisaks eelmisele on platsil märgitud kaks ruutu
(postid). Võetakse aega, palju kulub aega ümber postide 8 sõitmiseks.
· Pane ruut kukkuma ülalt alla
· Ruutu saab kukkumise ajal vasakule ja paremale liigutada.
· Lisaks eelmisele jäävad ruudud püsima üksteise otsa, täissaanud rida kaob.
· Joonista ruutudest kabelaud.
· Paiguta lauale nupud ning võimalda kasutajatel kordamööda käia.
· Kontrolli käikude korrektsust ning teata mängu lõpust.
·
Ruutudest koosneval platsil saab hiirega ruutude
värve muuta.
·
Kõrvalt ribalt saab valida, millise värvi abil
hiirega joonistatakse.
·
Lisaks eelmisele on vahendid ka soovitud suurusega
ringi ja ruudu joonistamiseks.
·
Pall liigub ekraanil edasi-tagasi.
·
Ühe seina asemel on kasutaja liigutatav reket.
Selle vastu põrgates jätkab pall liikumist, muul juhul läheb alast välja ja
seiskub.
·
Lisaks eelmisele on mäng korralikult kujundatud.
Arvestatakse aega, punkte. Tasemete tõustes lisandub kiirus ning esemed, mille
pihta on pall võimeline ala sees põrkama.
·
Liiguta klahvide abil reketit.
·
Kummalgi kasutajal on oma reket. Platsil liigub
pall, põrgates nii seintest kui reketitest.
·
Mängida saab 1-4 osalejat (igaühel oma sein).
Loetakse punkte.
·
Pilt muudab sinna hiirega vajutamisel värvi.
·
Lehe vasakul servas on piltidega menüü, ülejäänud
osa katab menüüst valitud sisu. Valitud ja valimata menüüelementide pildid
erinevad.
·
Lisaks eelmisele hoitakse külastatud lehtede
aadresse küpsiste abil meeles, nii et ka uuest lehele naasmisel on näha,
millised kohad on külastatud.
·
Loo kasutaja määratud elementide arvuga nummerdamata loetelu, mille
elementideks on arvud.
·
Linnade nimed, mida loetellu panna, võetakse ühest failist, tulemus
väljastatakse teise.
·
Lisaks eelmisele tehakse sisseloetava HTML-kujul näitamiseks sobivad
asendused.
·
Proovi mitmeid VRML Tutoriali ning muid võrgu pealt leitud näiteid.
·
Koosta silindrist ja kerast puu.
·
Muuda silinder rohekaks ning puu pruunikaks.
·
Lisa taevasse päike ja pane valgustama.
·
Päiksele vajutades kukub see veidi allapoole.
·
Loo inimeste loetelu. Isikuandmeteks eesnimi, perekonnanimi ja
sünniaasta.
·
Loo sugupuu alates (oma) vanaisast.
·
Koosta eespool loodud dokumente kirjeldavad DTD-d ning kontrolli
esituse vastavust sellele.
·
Väljasta andmed IE lehele, muutes CSS-i abil sünniaasta rasvaseks.
·
Koosta puu nii, et seal oleks näha ka väljastpoolt tulnud lapsevanem.
XML-failis on sugupuu alates
vanaisast. Väljasta:
·
Mitu last oli vanaisal.
·
Mitu last oli vanaisa teisel lapsel.
·
Kas sugupuus leidub Kalle nimelist isikut
·
Kalle isa/ema nimi
·
Lisa Kallele Martini-nimeline poeg, eemalda Kalle ema sünniaasta ning
trüki uus puu XML-ina välja.
(Simple Api for XML parsing)
·
Lappa SAX-i abil sugupuu ning väljasta, kas alati järgneb eesnimele
perekonnanimi
·
Väljasta kõik eesnimed eraldi real.
·
Leia pikim eesnimi.
Aluseks on sugupuuna paigutatud andmed.
·
Teata vanaisa eesnimi
·
Teata vanaisa laste arv
·
Teata sugupuus olevate inimeste arv.
·
Teata vanaisa teise lapse laste arv.
·
Leia ühe inimese eesnime järgi tema perekonnanimi
·
Leia selle inimese laste arv
·
Leia selle inimese sugupuud pidi tuleva esivanema eesnimi.
·
Küsi otsitava inimese nimi veebilehelt.
·
Leia selle nimega inimeste arv sugupuus
·
Teata, kui otsitavat inimest ei leitud.
·
Trüki välja kõikide inimeste eesnimed
·
Trüki välja kõik nimed nummerdamata loetelus.
·
Loo XSL leht, mis sõltumata sisendandmetest väljastab "Tere".
Loetelus on vähemalt viie inimese andmed: eesnimi, perekonnanimi ning
sünniaasta.
·
Väljastatakse teise inimese sünniaasta
·
Andmed väljastatakse tabelina nii mallide (template) kui for-each
tsükli abil.
·
Luuakse SQL-laused inimeste andmete lisamiseks baasi.
·
Väljastatakse semikoolonitega eraldatud loetelu vanuste järjekorras.
·
Parameetrina antakse ette käesoleva aasta number. Iga inimese kohta
väljastatakse nimi ja vanus.
Sugupuu
Sugupuus on vähemalt kolme põlve andmed, iga inimese kohta vähemalt
ees- ja perekonnanimi ning sünniaasta.
·
Trükitakse välja inimeste nimed ning nende laste arv.
·
Väljastatakse nimed, kel on vähemalt kaks last.
·
Väljastatakse nimed, kellel on sugupuus vanavanem.
·
Andmepuus muudetakse sünniaasta atribuudiks.
·
Koosta linnanimede loetelu ja väljasta xml-ina
·
Loe sugupuust eesnimed uude loetellu