Kodutöö I

Kodutöö I ülesanne

Kodutöö I raames tuleb koostada algoritm ja sellele vastav programm Python või C keeles. Lahendus peab võimaldama ettemääratud kitsenduste põhjal arvutada funktsiooni y = f(x) väärtusi ning kuvada tulemused leitud punktides. Tulemused peavad olema tabeli kujul, mille veergudeks on argumendi x ja funktsiooni y = f(x) väärtused, st:

Argument (xi) Funktsiooni väärtus kohal xi
x1 y1
x2 y2
xn yn

Kõik leitavad tulemused tuleb salvestada ja kuvada selleks sobiliku massiivi või massiivide kaudu (Python puhul vastavalt list või dictionary)

Funktsiooni väärtus kuvatakse ainult siis, kui see eksisteerib. Kui funktsiooni väärtus pole antud argumendi x korral määratud või on kompleksarvuline, siis tuleb y veergu väljastada ‘puudub’ või ‘kompleksarvuline’. Kompleksarvulise väärtuse võib soovi korral esitada kujul: reaalosa + i imaginaarosa.

Tehtud töö juurde kuulub ka põhjalik aruanne!

Nõuded keeltele ja keskkonnale

  • Python alates versioonist 3.6
  • C (standardid C90 ja C99 on lubatud. Kui kasutate C99 standardit, lisage Makefile!)

Kõigil juhtudel kompileeritakse (vajadusel) ja käivitatakse Teie programm Linux keskkonnas!

Kodutöö variant

Aruande sisu [näidisaruanne]

  • Tiitelleht
  • Autorideklaratsioon
  • Sisukord
  • Algoritm UMLis [vt kuidas ArgoUMList eksportida siit]
  • Ekraanitõmmis töötavast programmist
  • Visualiseeritud funktsiooni graafik
    Selleks võid kasutada näiteks [google’it], [wolfram alphat], excelit või mõnda teist meelepärast tööriista.
  • Programmi selgitus vabas vormis
    Selgituseks on lühikirjeldus programmi töövoost ja ülesehitusest. St mida mis järjekorras tehakse, millised on eriolukorrad ja kuidas neid lahendatakse, mis formaadis andmeid oodatakse jne. Selgituse pikkus peaks olema vähemalt pool A4.

Enne esitamist

Kontrolli aruannet
  • Tiitelleht on vormistatud korrektselt. (Tiitellehele ülaossa on märgitud kellele aruannet esitatakse, mitte kus õpitakse)
  • Programmi selgituse maht peaks olema vähemalt pool A4.
  • Algoritm on esitatud korralikult eksporditud graafikana, mitte ekraanitõmmisena.
  • Aruanne on PDF formaadis (mitte odt, doc, docx vms)
Kontrolli koodi
  • Iga faili päises on autori andmed, kuupäev, lühikirjeldus (vt koodimisstiil)
  • Kood on kommenteeritud (vt koodimisstiil)
  • (C ainult) Muutujad on deklareeritud koodi alguses  (vt koodimisstiil)
  • Muutujate nimed on arusaadavad (vt koodimisstiil)
  • Kasutatud on vaid vajalike teeke
  • Kood on trepitud, koodiread on lubatud maksimaalse pikkusega ja tühikud vajalikes kohtades (vt koodimisstiil)
  • Koodis puuduvad maagilised numbrid  (vt koodimisstiil)
Kontrolli algoritmi
  • kõigil sõlmedel on juures tingimus (mille alusel valitakse sõlmest väljuv tee)
  • Kõigil sõlmedest väljuvatel kaartel on märgitud mis olukorras programmivoog antud kaare valib (true/false, switch case väärtused)
  • Kõikidesse kaartesse on võimalik saada – st tingimused peavad olema reaalsed.
  • Puuduvad tupikud – st kõikjalt on võimalik saada lõppu.
  • Kõigist tsüklitest on võimalik väljuda

Soovi korral tule küsi praktikumis üle, kas kõik tundub okei

Tähtajad, punktid ja boonused

Esimese kodutöö väärtuseks on 15p.

Maksimaalse tulemuse saamiseks peab lisaks korrektsele tööle olema järgitud ka koodimisstiilis esitatud nõudeid.

Terviklik kodutöö tuleb esitada hiljemalt 11.03.2018

Tähtaja ületamisel iga hilinetud nädal võtab 1p maksimumist alla kuni 10p piirini.

Esitades korrektselt lahendatud ja vormistatud töö ennetähtaegselt on võimalik saada kuni 2 boonuspunkti.

  • Enne 6.03.2018 20:00 esitatud töö: 2p
  • Enne 8.03.2018 20:00 esitatud töö: 1p

Juhul kui boonuspunktidele kandideerivas töös esineb puudusi on võimalik saada töö kohta soovitusi parandusteks ning jätkuvalt teenida maksimaalsed 15p, kuid boonust sellisel juhul ei lisandu. Lõpptähtajaks esitatud tööd lähevad koheselt hindamisele.

Kui kodutöö kohta tekib täiendavaid küsimusi või esineb kahtlusi autorluses, hinnatakse kodutöö tulemusega 0p. Sellisel juhul tuleb punktide saamiseks kodutöö kaitsta.

Vajadusel rakendatakse [Vääritu käitumise menetlemise korda].

Viimane päev kodutöö esitamiseks on 14. mai 2018. Pärast antud kuupäeva kodutöid esitada ei ole võimalik!

Esitamine

Esitada tuleb dokumentatsioon *.pdf (Adobe PDF formaadis) ja kõik vajalikud koodifailid. Kompileeritud kujul programmi mitte lisada!

Esitamine käib ainult elektroonselt. Kindlasti järgi järgmisi nõudeid, et su töö ikka kenasti kohale jõuaks ja hinne õigele inimesele saaks.

Failide nimed on kujul Kodutoo_I_Eesnimi_Perenimi_123456ABCD

Kirja teemaks märgi Kodutoo_I_Eesnimi_Perenimi_123456ABCD

Kiri saada aadressile: risto.heinsar [ät] ttu.ee;