Vektorid * Loo klass kahemõõtmelise vektori andmete hoidmiseks, lisa käsklus selle pikkuse arvutamiseks, katseta * Defineeri operaatorid vektorite liitmiseks ja lahutamiseks. Koosta automaattestid töö kontrolliks. * Loo käsklused vektorite skalaar- ja vektorkorrutise leidmiseks. Kontrolli automaattestidega. Sugupuu * Loo klass Inimene väljadega eesnimi ja pikkus 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. Iga inimese juures on näha tema enese pikkus ning suurim kirjapandud pikkus tema järeltulijate hulgas * Väljatrükil on iga inimese juures lisaks tema pikkusele näha tema pikima andmepuus teadaoleva esivanema pikkus. Koosta inimestest uus kahendandmepuu, kus juurest alustades on igas haru pool temast pikemad ja ühepikkused ning teises harus temast lühemad inimesed. Kabe * Koosta klass kabenupu tarbeks: värvus (must/valge), seisund (kivi/tamm), asukoht(x, y). Katseta andmete loomist ja küsimist. * Koosta klass kabelaua tarbeks: mõõtmed (8x8 / 10x10), algseis (2 rida/3 rida nuppe). Andmete väljatrükk. Loo käsklus nupuga käimiseks: käigu võimalikkuse kontroll, asukoha andmete paika sättimine laua ja nupu poolelt. * Koosta klass laualt käikude automaatsoovitaja tarbeks: reeglitega võimalikud käigud ja hüpped, nende loodetav kasulikkus, parematest käikudest ühe juhusliku valimine. 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. Pinna täitmine Tekstifaili kaks arvu esimesel real tähistavad järgneva pildi punktide ridade ja veergude arvu (max 500*500). Edasi tuleb pilt ise, kus iga täht tähistab ühte punkti: p-punane, s-sinine, k-kollane, r-roheline, m-must, v-valge. Lõpuks viimasel real on taas kaks koordinaati ja värv. Alates sellest punktist asutakse pilti värvima. Värvitud pilt (tähtedena) väljastatakse teise faili. • Muudetakse vaid üks, all määratud piksel vastavalt soovitud värvile. • Muudetakse lisaks esimesele ka kõik temaga piki- või ristipidi kokku puutuvad algsega sama värvi pikslid soovitud värvi. • Võrreldes eelmisega värvitakse ka diagonaalis piksleid. Antakse teada, kas tekkis olukord, kui värvitud pinna sisse jäi teist värvi „saar“.? Doominokivid Failis on kirjas kasutada olevad doominokivid - igal real kirjas vastava kivi otste silmade arv. • Väljasta kõik kivid, kus vähemalt ühes otsas on kolm silma. • Väljasta eraldi need kivid, mis on täiskomplektis olemas lisaks faili kirjutatutele. • Püüa failis olevatest kividest kokku panna võimalikult pikk reeglitele vastav jada. Lainetus Signaali nivood mõõdetakse korrapäraselt ning selle väärtus talletatakse faili. Laine harjaks loetakse kohta, mille puhul on sellest väiksemad nii eelnev kui järgnev väärtus. • Väljasta laineharjade järjekorranumbrid • Leia harjade suurim ja vähim vahekaugus • Teata, millise pikkusega vahekaugusi kui palju oli ning joonista tärnidena vastav tulpdiagramm. Kommentaaride eemaldamine Programmi sisendiks on programmikoodifail. • Trüki teise faili ümber vaid read, mis ei alga kahe kaldkriipsuga. • Kommentaari alguseks olevad kaks kaldkriipsu võivad olla ka rea keskel. Sel juhul trükitakse teise faili reast vaid väljakommenteerimata osa. • Kommentaaride eemaldamisel arvestatakse keele süntaksit, st. sõne sees olevad kaldkriipsud ei alusta kommentaari. Samuti töötavad /* ja */ kommentaarid. Pakkija • Tekst kirjutatakse ümber teise faili jättes tühikud välja. • Vähemalt kolmekordsed tähed asendatakse tähe ja numbri kombinatsiooniga. Näiteks eeeuuuuu tulemuseks oleks 3e5u. • Tekstis olevad sõnad nummerdatakse. Pakitud faili algul on sõnadest tabel. Seejärel tulevad vaid sõnade numbrid ja kirjavahemärgid. Tööaja arvestusgraafik • Tööle sisenedes ning töölt lahkudes sisestab kasutaja oma koodi. Kood, liikumissuund ning kellaaeg talletatakse faili. • Lisaks eelmisele on võimalik kontrollida, et failis poleks järjest kaht sisenemist või väljumist. Kui andmed korras, väljastatakse inimese tööl viibitud aeg. • Inimese tööl oldud aeg väljastatakse kuude lõikes. Eraldi näidatakse puhkepäevadel tööl viibitud aeg. Iga kuu kohta leitakse aeg, kus korraga on olnud kõige rohkem inimesi kohal. Võrrandite lahendamine • Leia funktsiooni ax+b=0 nullkoht • Leia kahe muutujaga lineaarvõrrandisüsteemi lahend • Leia proovimise teel nullkohad mistahes funktsioonile etteantud vahemikus (selle funktsiooni võib koodi sisse kirjutada). Ökosüsteem * Koosta etteantud suurusega muruplats (nt 50x50 meetrit). Iga ruutmeetri kohta on kirjas, mitme sentimeetri kõrgune on rohi. Iga päevaga kasvab muru sentimeetri jagu pikemaks kuni 9 cm-ni. Ruutmeetrite kaupa saab rohtu lühemaks niita/süüa, iga ruutmeetri rohi kasvab seejärel iseseisvalt edasi. * Jänes liigub iga tunni aja tagant juhuslikule kõrvalruudule ning sööb sealse rohu sentimeetri jagu lühemaks. Näita tundide kaupa, kus on jänes ning kus ruudul on kui kõrge muru. * Koosta jänese jaoks klass, loo temast mitu eksemplari, igaüks rohuplatsil eri kohal. Trüki tundide kaupa muruplatsi seisukord ning jäneste asukoht. Katseta platsi suuruse ja jäneste arvuga, et millal tekib olukord, kus jänese jaoks pole ei tema ruutmeetril ega ühelgi kõrval asuval ruutmeetril sentimeetritki muru.