Jõed * Loo klass jõe andmete hoidmiseks (nimetus, lähtme, vahepunktide ja suudme koordinaadid(x, y) meetrites). Koosta funktsioon lähtme ja suudme vahelise kauguse leidmiseks ning automaattest selle töö kontrolliks. * Lisa jõele jõe tüüpi muutuja sihtjõgi. Merre suubumisel on sihtjõe väärtuseks null. Jõe suudmepunkti koordinaadid peavad ühtima sihtjõe ühe vahepunkti koordinaatidega. Lisa käsklus leidmaks teekonna pikkus etteantud (vahe)punktist mereni, kasutades vajadusel sihtjõgede abi. Lisa automaattest teekonna pikkuse kontrolliks. * Loo rakendus, kus antakse ette koordinaat alal. Sealt leitakse lühim tee lähima vahepunktini ning sealt sihtjõgesid kaudu merre. Kuva etteantud punktist teekond mereni ning selle pikkus. Sisestatakse teine punkt kaardil. Väljastatakse, kas teisele punktile lähim vahepunkt on reostatud, kui esimesest punktist hakkas esimest teekonda pidi voolama reostus. Salat * Koosta klass toiduaine tarbeks (nimetus, valkude, rasvade ja süsivesikute protsent). Protsent kokku ei saa ületada 100 - muidu antakse veateade. Loo mõni toiduaine (nt. kartul, hapukoor, vorst). Andmed saab nt (https://tka.nutridata.ee/et/). Sealt kartul (https://tka.nutridata.ee/et/toidud/280). Koosta klass toidukomponendi tarbeks (kogus, viit toiduainele). Loo mõned toidukomponendid (nt. 100 g kartuleid, 30 g hapukoort, 50 g vorsti). Lisa toidukomponendile käsklus selle sees leiduva rasvakoguse arvutamiseks. * Koosta klass toidu jaoks (nimetus, toidukomponendid). Toidule käsklused küsimaks sisalduvate valkude, rasvade ja süsivesikute kogust. Loo retsepti järgi toit (nt. kartulisalat), küsi salatis leiduvate toitainete kogused. Koosta rakendus, kus näidatakse valitud toidu etteantud koguse (nt. 5 kg kartulisalati) jaoks vajalikud toiduained. * Võimalda toidu andmeid kirjutada tekstifaili(desse) ja lugeda tagasi. Võib eeldada, et toiduaine, toidukomponendi ning toidu nimetus on unikaalne. Kontrolli töö õigsust automaattestidega. Akordide arvutaja * Loo klass Kolmkõla mazoorkolmkõla nootide arvutamiseks. Konstruktoris antakse sisse täisarvuline põhitoon, eraldi käsuga väljastatakse põhitoon, suur terts (+4) ja kvint (+7). Ehk siis kui põhitooniks on 60 (C), siis väljastatakse arvud 60 64 67. Loo toimimise kontrolliks automaattest. * Loo klassile alamklassid CKolmkõla (põhitoon 60), FKolmkõla(65), GKolmkõla(67). Koosta rakendus, kuhu sisendina antakse ette taktide akorditähed, kolmkõlaklasside abil väljastatakse mängitavad noodid. Lisa toimimise kontrolliks automaattest. * Kolmkõla klassil on lisaks käsklus arvuliste MIDI-noodinumbrite tähtnimetusteks muutmiseks ning vastupidi. Alates 60st: C C# D Eb E F F# G G# A B H C Lisa Kolmkõlale ka konstruktor, kus antakse ette akordi tähtnimetus ning selle järgi leitakse akordi põhitoon arvuna. Samuti on võimalik akordi noodid trükkida tähtnimedega. Koosta klass Lugu, kuhu iga takti jaoks saab lisada kolmkõla eksemplari. Veebilehele parameetrina antud kolmkõlatähtede põhjal väljastatakse Loo klassi eksemplari kaudu vastavalt kasutaja valikule kas mängitavad noodinumbrid või -nimed. Kontrolli automaattestidega. Joone võrrand * Koosta liides joone y-i väärtuse leidmiseks vastavalt x-i väärtusele. Koosta automaattestid kontrollimaks mitut punkti sirgel y=3x. Koosta realiseeriv klass, millele antakse konstruktoris ette x-i kordaja. Kontrolli klassi eksemplari oskuste vastavust testidele. * Loo teine realiseeriv klass, millele saab ette anda kordaja ja vabaliikme. Kontrolli selle klassi tööd liidese kaudu testidega joontele y=3x ning y=3x+2. Koosta funktsioon, mis saab parameetriks x-ide massiivi ning liidesele vastava y-koordinaate arvutava klassi ning tagastab vastavate y-ite massiivi. Kontrolli klasside ja funktsiooni tööd automaattestidega. * Sisend loetakse failist, kuhu sisestatakse a, b ja x-i vähim ja suurim väärtus. Tulemuste arvutamiseks kasutatakse eelnevalt loodud ja testitud funktsiooni, realiseeriv klass valitakse vastavalt b väärtusele - nulli puhul esimene lihtsam variant. Loo moodus y-i ligikaudse nullkoha leidmiseks. Koosta faili lugeva rakenduse väljundi kontrolliks automaattest. Ioonid ja ained * Loo liides iooni andmete tarbeks - nimetus, aatommasside summa, laeng. Loo realiseeriv klass, kus nimetus on stringina. Koosta paar näidet - H+, NO3-. Koosta automaattest iooni loomise ning andmete küsimise kohta. * Loo liides aine jaoks. Aine kohta saab küsida nimetuse ja molekulmassi. Koosta realiseeriv klass kahe iooni kokkupanekul tekkiva aine jaoks. Konstruktoris kontrollitakse, et ioonide laengud oleksid võrdsed ja vastasmärgilised. Nimetuses kuvatakse positiivse iooni nimetus eespool. Koosta automaattestid ainete loomise ja molekulmassi arvutamise kohta. Lubatud on näiteks NaCl ja CaO, aga mitte CaCl (sest kaltsium on 2+ ning kloor 1-) * Loo aine liidest realiseeriv uus klass, kuhu eraldi antakse sisse ioonide massiiv. Aine luuakse vaid juhul, kui laengute summa on 0. Nimetuses kuvatakse iooni kordumine vastava numbriga. Nt [Ca2+, Cl-, Cl-] loetakse sobivaks ning kuvatakse CaCl2. Koosta rakendus, kus failis olevasse loetellu saab lisada ioone. Kui loetelus olevatest ioonidest saab moodustada aine, siis kuvatakse see vastava klassi abiga ning näidatakse ka aine molekulmass. Geenid * Loo klass alleeli tarbeks. Nimetus (nt reesus) ning tõeväärtus, kas vastav alleel on positiivne. Loo klass geeni tarbeks, mis koosneb kahest sama nimetusega alleelist. Geeni puhul väljastatakse positiivne väärtus juhul, kui vähemalt ühe seal oleva samanimelise alleeli väärtus on positiivne. Koosta kontrollimiseks automaattestid. * Lisa geenile käsklus juhusliku alleeli väljastamiseks. Koosta funktsioon kahe geeni ühinemisel tekkivast uuest geenist, kus kummastki algsest geenist võeti juhuslik alleel. Koosta rakendus, kuhu sisestatakse alleeli nimetus ning kummagi vanema alleelide +/- väärtused. Väljastatakse lapsel tekkinud geen ning salvestatakse see faili. * Kasutaja saab otsida geeni nimetuse järgi. Kasutaja saab valida, millised kuvatud geeniga inimesed omavahel järglase saavad ning järglasel tekkinud vastav geen talletatakse samuti faili. Tähed * Loo liides, mille ainus meetod saab sisendiks tähe ning väljastab selle tähe esinemise arvu. Loo realiseeriv klass sõna tarbeks. Koosta automaattestid töö kontrolliks näitamaks a, p ja e-tähtede arvu sõnas pere. * Loo liidest realiseeriv klass Lause. Lauselt saab lisaks küsida sõnade arvu ning Sõna-klassi eksemplaride massiivi. Koosta rakendus, kus saab ette anda lause ning väljastatakse a-tähtede arv terves lauses ning igas sõnas eraldi. Koosta automaattest lause a-tähtede arvu kontrolli õigsuse kohta. * Kõik lausetes leidunud eri sõnad lisatakse faili. Rakenduse väljundis näidatakse, millised sõnad on sisendlausest uued ning millised juba varem olemas olnud. 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 hammasrataste loomisel mõõtmetega, et igas ringis oleks vähemasti 10 hammast, hamba suurus poleks alla millimeetri ning kogu kellamehhanism mahuks 10x10x10 cm suurusesse karpi (+ pendel eraldi)