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