Inimesed * Loo klass Inimene protected 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. 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 esemete andmete (mass, temperatuur, viit ainele) hoidmiseks. Loo käsklus esemes leiduva kogu soojusenergia hulga küsimiseks (mass*erisoojus*absoluutne_temperatuur). * Lisa klass esemete kogumi koostamiseks ja muutmiseks. Lisa klassile meetod küsimaks, milline on kogumi temperatuur pärast esemete temperatuuride ühtlustumist ilma soojuskadudeta. Maamõõdupunktid * Loo tasandil asukohta määrav klass Punkt, millel juures loendur koos suurendava käsklusega teatamaks, mitme muutuja kaudu on võimalik tema poole pöörduda. * Klass Maatükk hoiab maatüki juurde kuuluvate punktide andmeid ning määrab, millised punktid on selle maatüki juures omavahel ühendatud. Maatüki andmete sisestamisel kontrollitakse, kas vastav piiriposti paik on juba Punktina kirjas. Kui jah, siis pannakse maatüki juurde osuti samale punktile, kui mitte, siis luuakse uus Punkt. Maatükilt saab küsida teda moodustavate punktide andmed. * Koosta nende klasside põhjal graafiline rakendus maatükkide piiride maha märkimiseks. Üldjuhul iga hiireklõps märgib maatüki juures uue punkti. Kui aga klõps satub mõne olemasoleva punkti lähedusse, siis kasutatakse seda punkti mõlema maatüki ühise piiripunktina ning loendur punkti juures näitab, mitme maatüki juurde ta kuulub. Maatükilt saab küsida tema piiri pikkuse. Iga maatüki juurde kuulub omanik. Maatükilt saab küsida kõikide naabermaatükkide omanike nimed. Mutrid ja võtmed * Loo klass mutri (mass, suurus) ning klass mutrivõtme (hind, suurus) jaoks. Katseta obektide loomist ning väärtuste hoidist/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. Liides ja ruutvõrrand * Loo abstraktne klass käsuga ruutvõrrandi lahendamiseks. Parameetritena sisse a, b ja c, väljundiks x1 ja x2, eraldi käsklusena kontrollitakse, kas võrrand on lahenduv. * Koosta liidest realiseeriv klass, kus vastavad arvutused tehakse. Loo peaprogramm klassist loodud objekti töö testimiseks, 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 teine klass, mis saab hakkama mitmesuguste funktsioonide nullkohtade leidmisega. Arvutades leiab ta funktsiooni väärtused väikeste vahemaade tagant. Kui kaks järjestikust väärtust on teine teisel pool x-telge, siis nende keskkoht loetakse nullkohaks. Pane see uus klass ka ruutvõrrandi lahendamise liidest realiseerima ning katseta selle tööd peaprogrammis. Katseta uut klassi samade testidega. Liides ja HTML * Loo liides 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 faili. * Loo HTMLinaEsitatava liidesele 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. * Loo HTMLinaEsitatava reeglitele vastav klass GraafilineTekst, mille sees on tekstiväli. Tekstivälja sisu väljastatakse kysiHTML-käsu kaudu
ja
vahele. Trüki JoontegaEraldaja abil lehel olevate tekstiväljade sisu faili. 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. Testi klassi. * Loo klassile alamklassid CKolmkõla (põhitoon 60), FKolmkõla(65), GKolmkõla(67). Katseta automaattestidega * 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 Mängi 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.