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.
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.
Linnad ja teed
Tekstifailis on kirjas piirkonnas leiduvad linnad, edasi ridadena teed linnade vahel koos pikkustega
* Väljasta, kas ja kustkaudu saab ühest sisestatud linnast sõita teise
* Leia nende linnade vahel lühim tee
* Leia ühest etteantud linnast teise minekuks suurima kilomeetrite arvuga tee, mis siiski ei ületaks sisestatud maksimumteepikkust ning ei läbiks mõnda lõiku samas suunas mitmel korral.