Kodutöö I

Kodutöö I ülesanne

Kodutöö I raames tuleb koostada algoritm ja sellele vastav programm 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

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

  • C (standardid C90 ja C99 on lubatud. Kui kasutate C99 standardit, lisage Makefile!)
  • Peab kasutama standardteeke
  • Peab olema operatsioonisüsteemist sõltumatu (minimaalselt peab töötama Windowsis ja Linuxis)
  • Koodis ei tohi olla kasutatud GOTO-sid
  • Koodis ei tohi olla kasutatud globaalmuutujaid

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 3/4 A4 lehest, kuid mitte rohkem kui kaks lehte..

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 kolm neljandikku A4 lehest.
  • 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)
  • 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 14.10.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 10.10.2018 20:00 esitatud töö: 2p
  • Enne 05.10.2018 20:00 esitatud töö: 1p

Boonuspunktide saamiseks peavad olema kõik esitatud nõuded täidetud. Poolikute või vigaste lahenduste eest boonuspunkte pole võimalik saada. Juhul kui esitatud töö ei täida kõiki nõudeid kaob õigus selle töö eest boonuspunkte saada.

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. detsember 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

Kodutöö tuleb esitada moodle kaudu: https://moodle.hitsa.ee/course/view.php?id=3347

Kui moodle'isse esitamine ebaõnnestub ...

Kui miskil põhjusel pole moodle’isse võimalik kodutööd esitada, siis varuvariandina võib saata selle e-kirjana

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