Liides ja ruutvõrrand * Loo liides käsuga ruutvõrrandi lahendamiseks. Parameetritena sisse a, b ja c, väljundiks x1 ja x2, lahendi puudumisel tühiväärtus null. * Koosta liidest realiseeriv klass, kus vastavad arvutused tehakse. Loo peaprogramm klassist loodud objekti töö katsetamiseks, kusjuures klassi eksemplari poole pöördu liidesetüüpi muutuja kaudu. Katseta läbi kõik erijuhud (tavaline x1 ja x2, x1=x2 ning "lahendid puuduvad"). * Koosta automaattestid võrrandite x*x-8x+15=0, x*x-4x+4=0 ning x*x-4x+5=0 lahendite kontrollimiseks. 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 eraldi loetellu. Rakenduse väljundis näidatakse, millised sõnad on sisendlausest uued ning millised juba varem olemas olnud. 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. Kuva 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. * Loo funktsioon, mille sisendiks antakse x-i vähim ja suurim väärtus ning a ja b. Näiteks -5, 5, 2, 1 (iks miinus viiest viieni, a on 2 ning b on 1). Tulemuste arvutamiseks kasutatakse eelnevalt loodud ja testitud klasside funktsioone, realiseeriv klass valitakse vastavalt b väärtusele - nulli puhul esimene lihtsam variant. Loo moodus y-i ligikaudse nullkoha leidmiseks. Ü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. Loogikaskeem * Loo klass loogikalülituse OR tarbeks. Käskluseks void signaal(int kanal, bool seisund). Kanalite numbrid 1 ja 2. Kui vähemalt ühte kanalisse on tulnud seisund true - siis trükitakse välja "true". Kui mõlemasse kanalisse on tulnud false, siis trükitakse välja "false". * Võimalda igale OR-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 AND ja NOT-lülitused. Kasuta tükkide omavaheliseks ühendamiseks liidest. Katseta vähemalt viiest lülitusest koosneva skeemi juures. Ioonid ja ained * Loo liides iooni andmete tarbeks - nimetus, aatommasside summa, laeng. Loo realiseeriv klass, kus nimetus on stringina. Koosta paar näidet - Na+, 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 loetellu saab lisada ioone. Kui loetelus olevatest ioonidest saab moodustada aine, siis kuvatakse see vastava klassi abiga ning näidatakse ka aine molekulmass. Tuba ja taburetid * Koosta klass toa tarbeks (pikkus ja laius) ning klass tabureti tarbeks (ruudukujulise istumisala küljepikkus, asukoht toas). Loo tuba ja paiguta sinna sisse paar taburetti, kuva paigutus veebilehel. * Koosta veebilehele kasutajaliides, kus saab tuppa lisada määratud suuruse ja asukohaga taburette. Kontrolli lisamisel, et taburet ei läheks juba olemasoleva tabureti peale. * Loo tabureti klassile alamklass pink, millel võivad pikkus ja laius olla erinevad. Võimalda veebi kaudu lisada tuppa mõlemaid kontrollides, et lisatav iste eelmiseid ei puuduta. Võimalda eemaldada etteantud alas olevad istmed.