Jõed joonisel * Loo klass jõe andmete hoidmiseks (nimetus, lähtme ja suudme koordinaadid joonisel). Kuva jõgi joonisel koos nimetusega. Koosta funktsioon lähtme ja suudme vahelise kauguse leidmiseks pikslites ning automaattest selle töö kontrolliks. * Jõgesid võib olla mitu. Lisa jõele muutuja sihtjõgi koos suhtega, millisesse sihtjõe kohta ta suubub (0 - lähe, 0.5 - keskkoht, 1-suue). Jõgede ühenduskoht tähistatakse suurema täpiga. Jõgi võib olla ka sihtjõeta. Kuva jõed taas joonisel. Automaattestiga kontrolli, et sihtjõkke suubumiskoht arvutatakse õigesti. * Jõe kohast (nt. 0.75) alates märgitakse, et tekkis reostus. Joonista kaardil reostuse reostatud ala mööda sihtjõgesid kuni mereni välja. Kontrolli automaattestidega, et (haru)jõgede suudmetes arvutatakse reostuse esinemine õigesti. 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). Kontrolli toiduaine loomist automaattestiga. * 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. Kontrolli tulemust automaattestiga. * 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. 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. Kuva parameetritele vastav joon ekraanile koos koordinaattelgedega. Kasutaja saab parameetreid muuta ning vastavalt muutub ka joonis. 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. Kasutaja saab otsida geeni nimetuse järgi. Kasutaja saab valida, millised kuvatud geeniga inimesed omavahel järglase saavad. Tekkinud järglaste geenid jäävad näha loetellu, neid saab loetelust ka kustutada. 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. Autode objektid Loo klass Auto väljadega pikkus, mass ning mark. Koosta selle klassi objektidest massiiv. Loo klassile alamklass LiikuvAuto, mis realiseeriks liidest Liikuja ning millel on x-koordinaat. Liideses on kaks meetodit "edasi" ning "tagasi". Üks neist suurendab välja "asukoht" väärtust, teine vähendab seda. Katseta loodud klassi isendit. Kuva ka joonisena ekraanil. Loo viimati loodud klassile alamklassid Veoauto ning Soiduauto. Sõiduauto puhul kontrollitakse, et mass ei ületaks kolme ja poolt tonni. Veoauto puhul peetakse logina sõidupäevikut - jäetakse meelde ajad, millal ning kui palju on liigutud. Saab küsida sõidud ja teepikkuse etteantud ajavahemiku kohta. Kuva hetkeolukord ka joonisena ekraanil. 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 näitrakenduse ning automaattestide abil Igal kirjal on unikaalne kood ning viidete loetelu teistele temaga seotud kirjadele. Tuuakse välja kirjad, millele viidatakse kõige rohkem. Rakenduse töö ajal saab kirju lisada. Joonisel on näha kirjad ning seosed nende vahel. Hokilitter * Koosta litri jaoks klass. x ja y koordinaat, liikumiskiirus x ja y suunal (m/s). Koosta käsklus, mis annab litri koordinaatideks asukoha etteantud arvu sekundite pärast. Koosta automaattest vastuse kontrolliks. * Litrile mõjub hõõrdejõud, mis aeglustab litri liikumise kiirust igas sekundis ühe m/s jagu (sõltumata liikumise suunast). Koosta käsklus kontrollimaks, kas etteantud arvu sekundite pärast on litter seisma jäänud. Kuva litri asukohad ekraanil graafiliselt. * Litri väljaks on ajasamm, mille järgi uut asukohta ja kiirust arvutatakse. Nt. kui ajasammuks on 0,1 sekundit, siis iga selle aja jooksul väheneb litri kiirus 0,1 m/s jagu. Platsi serv on koordinaadiga y=20. Vastu serva põrgates muutub y-suunaline kiirus vastupidiseks. Väljasta litri peatumiskohad erinevate ajasammude järgi arvutades. Kontrolli tulemusi automaattestiga ning kuva asukohti ekraanil graafiliselt. Tekstide sarnasus * Koosta klass teksti jaoks. Lisa käsklus, mille abil saab küsida, mitu protsenti teksti sümbolitest moodustab käsule parameetrina antud sümbol. Näiteks kui tekstis on 100 sümbolit ning a-tähti on 8, siis vastuseks on 0,08. * Tekstile saab parameetrina ette anda teise Teksti ning tähed, mille järgi sagedusi võrreldakse. Väljastatakse erinevuste osakaalude summa. Näiteks kui võrreldakse a ja e-tähti ning a-tähte osakaalud tekstides on 0,08 ja 0,10 ning e-tähtede osakaalud tekstides 0,09 ja 0,06 siis erinevuste summa kokku on 0,02+0,03=0,05. * Tekste on rohkem (vähemalt 8). Tekstide haldamiseks on omaette klass. Leitakse valitud tekstiga võrreldes kõikide tekstidega erinevuste osakaalude summa ning väljastatakse teised tekstid vastavas järjekorras (sarnasemad eespool). Võimalda tekste sisestada ja sarnasuse järgi järjestada veebilehel.