Veeboiler * 100-liitrilise veeboileri vee algtemperatuur on 20 kraadi celsiust. Boilerit kütab 2 kilovatine tenn. Vee soojusmahtuvus on 4,19 džauli grammi ja kelvini kohta. Pane programm näitama bolileri vee keskmist temperatuuri iga sekundi tagant. * Boiler on silindrikujuline ning selle sisemine läbimõõt on 50 cm. Seina soojusjuhtivustegur on 0,4 vatti ruutmeetri ja kelvini kohta. Leia simuleerimise teel, kui kaua kulub aega temperatuuri tõusuks 20 kraadi pealt 90 kraadini ning kui mitu džauli soojusenergiat on jõudnud selle ajaga tuppa minna, kui toatemperatuur on 20 kraadi. * Võrreldes eelmisega on võimalik avada ja sulgeda boilerist väljuvat kraani. Kraanist väljub sekundis 100 ml vett. Boilerisse siseneva vee temperatuur on +4 kraadi. Kasutaja saab määrata tenni sisse- ja väljalülitumistemperatuuri, samuti kraani olekut. Reaalajas näidatakse boileri temperatuuri, tenni tööolekut, väljunud vee hulka ning kulunud energiakogust. Pranglimine * Kasutajale genereeritakse 5 peastarvutamisülesannet. Väljastatakse, mitmele neist ta andis õige vastuse * Eraldi voorud on liitmise, lahutamise, korrutamise ja jagamise jaoks. Iga vooru kohta näidatakse kokkuvõtet. * Rakendusel on mitu kasutajat. Iga kasutaja andmed talletatakse eraldi. Näidatakse edetabelit voorude kaupa ja üldarvestuses. Maanteeliiklus Autod liiguvad maanteel. Failis on kirjas kõigi teel liikuvate sõidukite asukoht ja liikumiskiirus. Kiirus ei muutu. • Väljasta kõigi autode asukoht etteantud aja pärast. • Lisaks eelmisele leia kõik möödumis- ja vastutuleva autoga kohtumiskohad. • Võrreldes eelmisega on kitsenduseks, et maanteel on kummaski suunas üks sõidurada. Kui parajasti ei ole möödasõit võimalik, sõidetakse eelmise sõiduki sabas 10 meetri kaugusel. Väljasta iga auto kohta tema sõiduskeem: o Millal sõidab oma määratud kiirusega? o Millal ja millise kiirusega ootab teise sõiduki taga? o Millal jõuab maantee algusesse/otsa (koordinaadid 0 ja 200 km)? Lainetus Signaali nivood mõõdetakse korrapäraselt ning selle väärtus talletatakse faili. Laine harjaks loetakse kohta, mille puhul on sellest väiksemad nii eelnev kui järgnev väärtus. • Väljasta laineharjade järjekorranumbrid • Leia harjade suurim ja vähim vahekaugus • Teata, millise pikkusega vahekaugusi kui palju oli ning joonista vastav tulpdiagramm. Pakkija • 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. Programmikoodi haldus * Koosta koodirepositoorium, lisa kirjeldus ja metaandmed ning paari esialgu tühja meetodiga klass loodava Trips-Traps-Trulli mängu kohta. * Kirjuta kordamööda automaatteste ning testile vastavat koodi mängu tarbeks (laua seisu küsimine, pakkumine). Iga töötava lõigu valmimisel saada saada kood repositooriumisse. * Lisa loodud klassile eraldi failis kasutajaliides, kasuta kasutajaliidese arendamiseks eraldi kohta/kataloogi. Tekita koodi muutmisel meelega konflikt (samade andmete üheaegne muutmine) ning lahenda see. Ökosüsteem * Koosta etteantud suurusega muruplats (nt 50x50 meetrit). Iga ruutmeetri kohta on kirjas, mitme sentimeetri kõrgune on rohi. Iga päevaga kasvab muru sentimeetri jagu pikemaks kuni 9 cm-ni. Ruutmeetrite kaupa saab rohtu lühemaks niita/süüa, iga ruutmeetri rohi kasvab seejärel iseseisvalt edasi. * Jänes liigub iga tunni aja tagant juhuslikule kõrvalruudule ning sööb sealse rohu sentimeetri jagu lühemaks. Näita tundide kaupa, kus on jänes ning kus ruudul on kui kõrge muru. * Koosta jänese jaoks klass, loo temast mitu eksemplari, igaüks rohuplatsil eri kohal. Trüki tundide kaupa muruplatsi seisukord ning jäneste asukoht. Katseta platsi suuruse ja jäneste arvuga, et millal tekib olukord, kus jänese jaoks pole ei tema ruutmeetril ega ühelgi kõrval asuval ruutmeetril sentimeetritki muru. Kommentaaride eemaldamine Programmi sisendiks on programmikoodifail. • Trüki teise faili ümber vaid read, mis ei alga kahe kaldkriipsuga. • Kommentaari alguseks olevad kaks kaldkriipsu võivad olla ka rea keskel. Sel juhul trükitakse teise faili reast vaid väljakommenteerimata osa. • Kommentaaride eemaldamisel arvestatakse keele süntaksit, st. sõne sees olevad kaldkriipsud ei alusta kommentaari. Samuti töötavad /* ja */ kommentaarid. Kellamehhanism * Koosta klass pendli jaoks. Võnkeperiood = 2 x Pi * sqrt(pikkus/9.8). Määra peaprogrammist pendli pikkus ning pane tiksumise taktis välja trükkima. * Koosta klass hammasratta jaoks. Ette antakse hammaste arv. Pendlil on viide hammasrattale, millega ta seotud. Anna peaprogrammis andmed pendli ja hammasratta kohta, pane süsteem tööle, kus on näha/lugeda pendli tiksumine ning ratta tehtud ringid. * Hammasrattal on kõrvuti kaks erisuguse hammaste arvuga ringi. Hammasrattaid saab omavahel kokku ühendada ning hammaste arvu erinevust ülekandena kasutada. Ehita nende abil kokku kellamehhanism, kus tiksuks pendel, liiguks tunni- ja minutiosuti. Logimisel kuvatakse andmed detailide seisu kohta. Arvesta, et igas ringis oleks vähemasti 10 hammast, hamba suurus poleks alla millimeetri ning kogu kellamehhanism mahuks 10x10x10 cm suurusesse karpi (+ pendel eraldi) Jõed * Loo klass jõe andmete hoidmiseks (nimetus, pikkus(km), vooluhulk (l/s) suudmes). Loo jõele muutujad jõe kohta kuhu ta suubub ning mitmendal kilomeetril. Otse merre suubuva jõe puhul on sihtjõe väärtuseks null. Ehita paarist jõest ahel ning trüki välja läbitavate jõgede nimetused, et etteantud kohast merre jõuda. * Lisa jõe külge kogum tema lisajõgedest. Jõgedele lisajõgede lisamisel kontrolli, et jõest väljuv vooluhulk ei oleks väiksem, kui temasse suubuvate jõgede vooluhulkade summa. Vastasel juhul heida erind. Anna käsuna välja jõe lisajõed peajõe suudmest mõõdetud kauguse järgi. * Võimalda jõe vooluhulka mõõta ja küsida kilomeetrite kaupa. Lisajõest ülesvoolu on jõe vooluhulk lisajõe andmete jagu väiksem kuni järgmise lisajõe või jõe lähteni. Ükskõik millise lisajõe vooluhulga kasvatamine või kahandamine mõjutab vastavat vooluhulka kuni mereni välja. Poomismäng * Loo klass, mille eksemplarile saab ette anda sõna ning kus käskudena küsida sõna kujul, kus tähed on asendatud allkriipsudena. Kontrolli klassi eksemplari tööd automaattestiga. * Objektile saab käsu kaudu pakkuda tähe. Funktsioon tagastab tõeväärtuse, kas sellist tähte leiti või mitte. Käsu abil saab välja küsida, mitu korda on sobimatut tähte pakutud. Sõna väljatrükki küsides on pakutud sobivad tähed paigutatud õigetesse kohtadesse alljoonte asemele. Kontrolli senist tööd automaattestidega. * Koosta klassi tööd kasutades sellele tegelik kasutajaliides. Kasutaja saab pakkuda tähti, talle näidatakse, kus need asuvad. Kuni 11 vale pakkumisega lõpetatud mäng loetakse võitnuks, muidu kaotanuks. Uute mänguobjektide loomiseks koosta eraldi vabrikuklass, mis teeb eksemplari koos uue sõnaga. Hulknurgad * Loo klass hulknurga andmete hoidmiseks (tipu kaugus keskkohast, tippude arv, keskkoha koordinaadid). Loo käsklus tippude koordinaatide küsimiseks massiivina. * Loo Hulknurgale alamklassid Kolmnurk ning Ruut. Nende konstruktoris antakse ette keskkoht ning külje pikkus, selle järgi arvutatakse sisemiseks hoidmiseks raadius automaatselt. Kontrolli klasside tööd automaattestide abil. * Lisa Hulknurgale käsklus keskkoha andmete küsimiseks ning muutmiseks. Loo kogum, kuhu saab hulknurki lisada, nende andmeid tervikuna välja trükkida ning kõiki kogumis leiduvaid hulknurki soovitud sammu jagu liigutada. Kirjade loetelu * Loo klass Kiri väljadega pealkiri ja sisu. Koosta kogum, kuhu saab kirju lisada. Katseta loodut. * Loo kirjale alamklass Veebiuudis, millel on lisaks väli URL. Mõlema klassi puhul on sisu välja trükkimiseks meetod "kirjuta". Lisa kogumisse mõlemat tüüpi objekte. Katseta toimimist automaattestide abil. * Loo liides Kirjutatav, mida realiseerival klassil peab leiduma käsklus kirjuta(). Pane Kiri seda liidest realiseerima. Muuda Kirjade kogum Kirjutatavate kogumiks. Muuda kogum ka ise Kirjutatavaks, mis kirjutab välja ka kõik sisemised elemendid. Katseta.