Ohjelmoinnin perusteet, kurssikoe 14.11.2002, kysymys 3 ---------------------------------------------------------------------------- From: Olli Jokinen Date: Fri, 5 Dec 2003 02:23:44 +0200 (EET) ---------------------------------------------------------------------------- 3. "Mitä ihmettä nuo metodit oikein ovat?", parahtaa ystäväsi kuunnellessaan tarinoitasi Ohjelmoinnin perusteet -kurssilta. Ystäväsi on ohjelmoinut sen verran, että hän tuntee yksinkertaiset muuttujat, lausekkeet ja lauseet. "Mitä peijakkaan 'parametreja', kuka 'kutsuu' ja ketä, miksi?, hän jatkaa toivottomana. Auta ystävääsi ymmärtämään, mistä oikein on kysymys. Laadi siis asiasta kirjallinen selitys (enimmäispituus 1 konseptiarkki). Muista että esimerkit auttavat oppimisessa. Vastauksen arvioinnissa otetaan huomioon selostuksen ajateltu lukija. Älä siis kirjoita tarkastajalle, joka jo tuntee asian, kirjoita tuolle ystävälle! (12 pistettä) --------------------------------------------------------------------------- Tehtävässä oli tarkoitus selittää ystävälle metodien toimintaa. Tehtävän arvostelussa otettiin huomioon siis tämä oletettu ystävä ja hänen esitiedot ohjelmoinnista, joten vastauksessa haettiin kattavaa ja havainnollistavaa selitystä metodeista. Yksityiskohtiin ei tarvinnut mennä, mutta ei niistä myöskään pisteitä vähennetty. Ratkaisussa painotettiin kolmea pääkohtaa, metodeita, niiden parametrejä ja kutsumiseen liittyviä asioita. Arvostelussa annettiin painoarvoa myös selitystä tukeville esimerkeille. Myös vastauksen jäsentelyyn ja selkeyteen tuli kiinnittää huomiota, eli ei ranskalaisia viivoja. Pisteitä tuli suunnilleen seuraavien sääntöjen mukaan: parametrit (ei mitään parametreistä -1p): -voimassa vain metodin suorituksen ajan, muodolliset/todelliset parametrit +1p -kuormittaminen +1p kutsu: -pääohjelma/muut metodit kutsuu +1p -kutsutaan, kun halutaan suorittaa haluttu koodi metodista +1p -miten kutsutaan? (nimi+sulkeet+parametrit) +1p metodit: -void/arvonpalauttavat +1.5p -helpottavat ohjelmakoodin jäsentämistä/muokkausta ("aliohjelmia") +2p -private/public + static (aksessorit vs "pikku apulaiset") +1.5p esimerkit +2p vastauksen yleinen sekavuus/jäsentelemättömyys max -2p Yleisesti vastauksissa suurin puute oli se, että aksessori- ja konstruktorimetodit oli unohdettu kokonaan ja keskitytty vain "pääohjelman pikkuapulaisiin" (private static). Toinen usein unohtunut asia oli metodeiden kuormitus, eli samannimisten metodien määritteleminen eri parametrein. Myöskin esimerkit olivat usein jääneet heikoiksi.