T-106.1210 Ohjelmoinnin peruskurssi, osa 1

Kierros 5, tehtävä 3

Taso ja pistearvo: B 90
Lyhyesti: Korjataan virheitä annettujen futispelejä kuvaavien luokkien ohjelmakoodista ja muokataan luokkia hieman.
Mitä opitaan: Lukemaan luokkien määrittelyjä (ilmentymämuuttujat, metodien toteutus), muokkaamaan luokkien määrittelyjä, korjaamaan syntaksivirheitä.
Toteuttamisen vapaus: Kohtalainen. Toimintatapaa ei ole määritelty pilkuntarkasti, joskin ratkaistavaksi annettu ongelma on laajuudeltaan sen verran pieni ettei keskenään täysin erilaisia ratkaisutapoja juuri ole.
Realistisuus: Työskentelytavan osalta korkea. Virheiden korjaus ja luokkien kirjoittaminen ovat äärimmäisen keskeisiä ohjelmointitaitoja. Annettu "urheilutilastointi" on aihepiirinä ihan realistinen tietokoneohjelman sovellusalue, joskaan tämä alkeiskurssiprojekti ei nyt ihan vielä vastaa "oikeaa urheilutilasto-ohjelmaa".
Haastavuus: Keskitasoa. Luokan anatomian sekä ilmentymämuuttujien metodien määrittelyjen ymmärtäminen vaativat monien olio-ohjelmoinnin käsitteiden kunnollista ymmärtämistä. Virheilmoitusten tulkinta on myös aloittelijalle haastavaa.
Työläys: Melko kevyt tehtävä. Useimmat selvinnevät tästä noin parissa tunnissa, mutta voi kannattaa vähän enemmänkin aikaa varata varmuuden vuoksi.

Tehtävänanto

Projekti: Football1

Tutustukaa annettuihin luokkiin Match ja Club, joiden avulla voidaan pitää kirjaa jalkapallopelien tuloksista, sekä niitä käyttävään pääohjelmaan moduulissa match_test. Tällä kertaa tarkoitus on tutustua sekä luokkien dokumentaatioon, että niiden Python-kieliseen toteutukseen. Python-koodia tutkimalla osoittautuu, että luokkien koodissa on syntaksivirheitä. Syntaksivirhe on sellainen ohjelmatekstissä oleva virhe, joka rikkoo ohjelmointikielen rakenteellisia sääntöjä ("kielioppia"). Annetussa koodissa olevat virheet estävät näiden luokkien käytön kokonaan. Lisäksi pari dokumentaation kuvaamaa metodia puuttuu kokonaan luokasta Match. Eikä siinäkään vielä kaikki: koodissa on myös yksi pieni "bugi": eräs Match-luokan metodeista on kieliopillisesti oikein mutta ei toimi niin kuin dokumentaatio kuvaa.

Tässä tehtävässä teidän pitää:

Alla on useita hyviä vinkkejä. Kannattaa lukea.

Palauttaminen

Palauttakaa muokatut tiedostot arvosteltaviksi Goblin-järjestelmään. Jos tarvitsette apua palautuksen tekemisessä, katsokaa lisätietoja kurssisivujen Goblin-ohjeesta.

Ohjeita ja vinkkejä