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. Loogikaskeem * Loo klass loogikalülituse AND tarbeks. Käskluseks void signaal(int kanal, bool seisund). Kanalite numbrid 1 ja 2. Kui ühte kanalisse on tulnud seisund false- siis trükitakse välja "false". Kui mõlemasse kanalisse on tulnud true, siis trükitakse välja "true". * Võimalda igale AND-loogikalülitusele anda nimi ning lülitusi omavahel skeemiks ühendada. Muutuste korral kuvab iga lülitus välja oma nime, sisendite väärtused (teadmata, true, false) ning uue väljundseisundi. * Lisa ka OR ja NOT-lülitused. Kasuta tükkide omavaheliseks ühendamiseks liidest. Katseta vähemalt viiest lülitusest koosneva skeemi juures. Ülalt-alla loogikaskeem * Koosta liides Sisend meetodiga boolean kysi(); Koosta realiseeriv klass, mil sees määratav väärtus true või false. Koosta klass AND-loogika tarbeks, millel sees kaks sisendit. Loo ka sellele meetod kysi(); Kui mõlemad sisendid on true-väärtusega, siis tagasta true, muidu false. * Võimalda sarnaseid AND-lülitusi puukujulisse skeemi kokku ühendada. Anna igale lülitusele nimi. Tipuelementilt väärtuse küsimisel trükitakse järgemööda välja, milliselt lülituselt väärtus küsiti ning milline vastus saadi. * Lisa ka OR ja NOT-lülitused. Katseta vähemalt viiest lülitusest koosneva skeemi juures. Arvude seosed * Koosta klass täisarvupaaride hoidmiseks. Lisa käsklus, kas ja kuhu on võimalik sisestatud arvu kohalt minna (nii et algkoht on paari esimene ning sihtkoht paari teine arv * Kasuta klassi kahte eksemplari liitseoste leidmiseks. Esimese eksemplari paarid viivad algkohtadest vahekohtadesse, teise eksemplari paarid vahekohtadest sihtkohtadesse. Näidatakse, kuhu sihtkohtadesse on algkohast sisestatud arvu juurest võimalik jõuda. * Võrreldes eelmisega võivad teekonnad olla pikemad, hargneda ja ühineda. Joonista vähemalt viit arvupaaride hulka kasutav hargnev ja ühinev teekond, arvuta sihtarvud paari sisendi korral. Veendu samades tulemustes programmi kaudu. Kontrolli tulemust automaattestidega.