Inimesed * Loo klass Inimene väljadega eesnimi, perekonnanimi, synniaasta ning meetodid väärtuste väljastamiseks ja konstruktor andmete sisestamiseks. Koosta käsklus andmete küsimiseks, samuti allkirja küsimiseks kujul E. Perekonnanimi. * Kontrolli isendi loomisel, et parameetrid oleksid mõistlike väärtustega, muul juhul heida erind/katkesta töö. Koosta loendurid hoidmaks meeles, mitu inimest on loodud ning iga inimese puhul, mitu korda on ta eesnime küsitud. * Loo klass kool väljadega aadress ja nimetus. Koosta inimese alamklass Opilane, kus lisaks muudele inimese andmetele juures viit koolile. Iga kooli juures peetakse meeles selle ID-numbrit, mis igal järgmisel koolil on ühe võrra suurem. Loo rakendus isikute ja koolide lisamiseks, andmete küsimiseks, igas koolis leiduvate õpilaste arvu küsimiseks, andmete talletamiseks tekstifaili ning sealt lugemiseks. Sugupuu * Loo klass Inimene väljadega eesnimi, perekonnanimi, sünniaasta ning viitadega Inimestele isa ja ema. Koosta väike puu, kus oled kirjas ise, oma vanemad ning vanavanemad. * Koosta alamprogramm puu rekursiivseks trepitud väljatrükiks ekraanile. * Võrreldes eelmisega saab käskudega mööda puud liikuda kaugemale ja lähemale, üles- ja allapoole. Samuti märgitud inimese andmeid muuta ning tema mõnd vanemat kustutada või puuduvat vanemat lisada. Soojushulgad * Loo klass hoidmaks aine omadusi: erisoojust (J/(kg*K)), erikaalu (kg/kuupmeeter), nimetust. Klassile konstruktor andmete sisestuseks ning meetodid küsimiseks. * Loo klass Ainetyki andmete hoidmiseks (kogus, viit ainele). Loo käsklus Ainetykis leiduva kogu soojusenergia hulga küsimiseks (mass*erisoojus*absoluutne_temperatuur). * Lisa klass Ese Ainetykkide kogumi koostamiseks ja muutmiseks. Lisa klassile meetod küsimaks, milline on kogumi temperatuur pärast esemete temperatuuride ühtlustumist ilma soojuskadudeta. Mutrid ja võtmed * Loo klass mutri (mass, suurus) ning klass mutrivõtme (hind, suurus) jaoks. Katseta obektide loomist ning väärtuste hoidmist/küsimist. * Igal mutril on viit mutrivõtmele. Mutri lisamisel suurendatakse vastava võtme juures olevat loendurit, eemaldamisel vähendatakse. Saab lisada vaid mutreid, millele vastav võti on olemas. Kui võtmele ei vasta enam ühtegi mutrit, antakse sellest teada. * Loo klass Kinnitusvahend, mille alamklassiks on mutter ja polt. Mõlemal neist on viit sobiva suurusega mutrivõtmele. Mutrivõtme juures on viitade kogum näitamaks kinnitusvahenditele, mida vastava võtmega keerata saab. Mutrivõtme käest saab küsida selle võtmega keeratavate mutrite ja poltide masside loetelu. Kui mutrivõtmele ei vasta enam ühtegi polti, siis vabastatakse ka vastava võtme juurde kuuluvate mutrite mälu. 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. * Igal kirjal saab olla viidete loetelu teistele temaga seotud kirjadele. Näidatakse, kuidas kirjad gruppidesse koonduvad ning kui palju leidub teineteisega sidumata gruppe/kirju. Abstraktne klass ja HTML * Loo abstraktne klass HTMLinaEsitatav käsklusega kysiHTML. Koosta klass Tekst, mis sisaldab konstruktoris etteantud teksti ning mis kysiHTML-käskluse käivitamisel väljastab teksti
ja
vahel. Koosta prooviprogramm, mis loob Tekst-tüüpi objekti koos sisuga, omistab selle HTMLinaEsitatav-tüüpi muutujasse ning trükib muutuja kaudu küsitud teksti. * Loo HTMLinaEsitatava reeglitele vastav klass Korrutustabel, mis suudab välja anda etteantud ridade ja veergude arvuga korrutustabeli. * Loo klass JoontegaEraldaja, mis saab kogub kokku enesele lisatud HTMLinaEsitatavad ning annab välja tema sees olevate objektide HTML-esitlused joonega (
) eraldatult. Akordide arvutaja * Loo klass Kolmkola 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. Testi klassi. * Loo klassile alamklassid CKolmkõla (põhitoon 60), FKolmkõla(65), GKolmkõla(67). Koosta kolmkõladest ahel ning trüki nende nootide väärtused järjestikku välja * Kolmkõla klassil on lisaks käsklus arvuliste MIDI-noodinumbrite tähtnimetusteks muutmiseks. 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. Käskluse peale hakatakse akordide andmeid trükkima, igas sekundis üks takt. Seisundid Loo klass Pood mil kirjas avamise ja sulgemise aeg. * Loo käsklus, millele parameetrina antakse ette uuritav kellaaeg ning tagastatakse, kas pood on sel ajal lahti või kinni. * Poel on iga päeva nädalapäeva kohta kirjas, mis kellast kellani ta avatud on. Käsu parameetritena sisestatakse nädalapäev ja kellaaeg, väljastatakse, kas pood on sel ajal avatud. * Poe enese sees on lisaks eelnenule kirjas ka parasjagu poe kellal olev aeg ja nädalapäev. Väliste käskude abil saab sisemist aega edasi nihutada kas tunni või päeva võrra. Väljastatakse, kas pood "endiselt kinni", "endiselt lahti", "suletakse" või "avatakse". Poe valija Loo klass Pood mil kirjas avamise ja sulgemise aeg. * Loo käsklus, millele parameetrina antakse ette uuritav kellaaeg ning tagastatakse, kas pood on sel ajal lahti või kinni. Lisa poele käsklus "kylasta", mis suurendab külastuste arvu ühe võrra. * Loo ühe kaubandusketi poodide hoidla, millesse on salvestatud erisuguste lahtiolekuaegadega poed. Kasutaja saab hoidlalt küsida etteantud ajal lahti oleva poe ning seda külastada. Hoidlast on võimalik välja trükkida, millist poodi kui mitu korda on külastatud. * Poodide ketid saab omakorda koondada gruppidesse. Kellaajapäringuga saab küsida massiivina kõik poed, mis sel ajal lahti on ning nende külastusi kasvatada. Hiljem saab välja trükkida külastuste arvud poodide ja poekettide kaupa. Operaatoritega kuupäev * Loo klass päeva, kuu ja aasta hoidmiseks. Loo operaator klassi eksemplari ja arvu liitmiseks. Väljastatakse lisatud arvu p?evadega eksemplar, kus üleläinud päevad ja kuud on paika arvutatud. * Lisa operaatorid kahe objekti omavaheliseks liitmiseks/lahutamiseks, arvuga korrutamiseks, jagamiseks. Leia kuude pikkuste ja liigaastate tarbeks iga tehte puhul sarnaselt töötav lahendus. * Koosta mallfunktsioon leidmaks kahe väärtuse keskmist. Testi toimimist nii arvude, Kuupaeva kui Kellaaja korral.