Helsingin yliopisto > Tietojenkäsittelytieteen laitos > Ohjelmoinnin perusteet -opintojakso > syksyn 2004 kurssi

Koetehtävän 3a arvosteluperusteet

Tehtävä

Selitä lyhyesti, täsmällisesti ja esimerkkejä antaen taulukkomuuttuja, taulukko-olio ja indeksointi. (9 pistettä).

Esimerkkivastaus

Taulukkomuuttuja on muuttuja, joka voi sisältää viitteen taulukko-olioon. Taulukkomuuttujan esittelyn yhteydessä määritellään, minkä tyyppiseen taulukko-olioon muuttuja voi sisältää viitteen. Esimerkki: int[] a esittelee taulukkomuuttujan, jonka nimi on a ja jonka arvona voi olla viite int[]-tyyppiseen taulukko-olioon.

Taulukko-olio on olio, joka sisältää muuttujia. Muuttujien lukumäärä on tallennettu olion int-tyyppiseen julkiseen kenttään length. Muuttujilla on sama tyyppi. Jos taulukko-olion muuttujien tyyppi on esimerkiksi int, taulukko-olion itsensä tyyppi kirjoitetaan int[]. Muuttujien haluttu määrä ilmoitetaan taulukko-olion luontilausekkeessa. Esimerkki: new int[10] luo uuden taulukko-olion, jonka tyyppi on int[] ja joka sisältää 10 int-tyyppistä muuttujaa.

Indeksointi on tapa, jolla viitataan taulukko-olion muuttujiin. Jokaista taulukko-olion muuttujaa vastaa int-tyyppinen arvo, jota kutsutaan indeksiksi. Pienin indeksi nolla. Suurin indeksi on taulukon muuttujien määrä vähennettynä yhdellä. Esimerkki: jos a on taulukkomuuttuja, joka sisältää viitteen vähintään yksialkioiseen taulukko-olioon, niin a[0] viittaa kyseisen taulukko-olion ensimmäiseen muuttujaan.

Yleiset arvosteluperusteet

Tehtävä on pohjimmiltaan käsitteiden määrittelytehtävä. Kuten aina, käsitteet määritellään tukeutuen yksinkertaisempiin käsitteisiin, jotka oletetaan lukijalle tutuiksi.

Vastausta arvosteltaessa oletettiin, että lukija

Käsitettä indeksi ei oletettu tunnetuksi.

Jos vastauksessa otettiin käyttöön uusia käsitteitä - esimerkiksi taulukon koko - ne tuli määritellä.

Vastauksissa puhuttiin usein pelkästään "taulukosta" ottamatta kantaa siihen, tarkoitettiinko taulukkomuuttujaa, taulukko-oliota vai jotakin aivan muuta. Arvostelija ei ryhtynyt arvailemaan sanan tarkoitusta, jos sanaa käytettiin tulkinnanvaraisesti.

Pelkkää ohjelmakoodia ilman selostusta pidettiin liki hyödyttömänä: lukijan ei voi olettaa pelkästä ohjelmakoodin pätkästä osaavan päätellä mikä osa koodista vastaa mitäkin käsitettä. Toisaalta hyvin selostettu koodi saattoi ilmaista tietoja, joita tekstissä ei suoraan sanottu, mutta jotka olivat helposti pääteltävissä.

Pelkkää kaaviota ilman selostusta pidettiin liki hyödyttömänä: lukijan ei voi olettaa pelkästä lokerikkokuvasta, numerojonosta ja nuolihässäkästä osaavan päätellä mikä osa kaaviosta vastaa mitäkin käsitettä. Toisaalta hyvin selostettu kaavio saattoi ilmaista tietoja, joita tekstissä ei suoraan sanottu, mutta jotka olivat helposti pääteltävissä.

Väitteet muotoa "monissa kielissä on niin, että..." jätettiin huomioimatta. Arvostelija ei ryhtynyt käymään läpi kaikkia maailman ohjelmointikieliä selvittääkseen oliko väite totta vai oliko vastaajan tietämyksen vajavaisuus vain puettu epämääräisyyden kaapuun.

Yksityiskohtaiset arvosteluperusteet

Oheisessa luettelossa esimerkkivastaus on pilkottu yksittäisiin tietoihin ja kunkin tiedon viereen on merkitty paljonko kyseisen tiedon kertomisesta vastauksessa annettiin maksimissaan pisteitä. Kunkin tiedon alla on esimerkkejä arvostelupäätöksistä.

Jonkin luettelossa mainitun ilmaisutavan esiintyminen vastauksessa ei automaattisesti takaa mainittua pistemäärä, sillä vastaukset arvioitiin kokonaisuuksina. Joissakin vastauksissa oli esimerkiksi sisäisiä ristiriitoja: kun väittää kaikkea mahdollista, jokin väite yleensä osuu oikeaan, mutta kokonaisuutena arvioiden vastausta ei voi pitää kovin ansiokkaana. Lisäksi muutamissa vastauksissa sekoitettiin totta ja tarua niin omaperäisellä tavalla, ettei kyseisten vastausten suoraviivainen arvosteleminen alla ilmenevin kategorioin ollut mahdollista.

Esimerkkivastauksen ulkopuolisten tietojen mainitsemisesta ei saanut pisteitä eikä niiden mainitsematta jättämisestä menettänyt pisteitä.

Taulukkomuuttuja

Taulukkomuuttuja on muuttuja, joka voi sisältää viitteen taulukko-olioon. (1 piste)

Hyväksyttiin

Hyväksyttiin 0,5 pisteen arvoisena

Hylättiin

Taulukkomuuttujan esittelyn yhteydessä määritellään, minkä tyyppiseen taulukko-olioon muuttuja voi sisältää viitteen. (0,5 pistettä)

Hyväksyttiin

Esimerkki: int[] a esittelee taulukkomuuttujan, jonka nimi on a ja jonka arvona voi olla viite int[]-tyyppiseen taulukko-olioon. (0,5 pistettä)

Hyväksyttiin

Hylättiin

Taulukko-olio

Taulukko-olio on olio, joka sisältää muuttujia. (1 piste)

Hyväksyttiin

Hyväksyttiin 0,5 pisteen arvoisena

Hylättiin

Muuttujien lukumäärä on tallennettu olion int-tyyppiseen julkiseen kenttään length. (0,5 pistettä)

Hyväksyttiin

Hylättiin

Muuttujilla on sama tyyppi. (1 piste)

Hyväksyttiin

Hyväksyttiin 0,5 pisteen arvoisena

Hylättiin

Jos taulukko-olion muuttujien tyyppi on esimerkiksi int, taulukko-olion itsensä tyyppi kirjoitetaan int[]. (0,5 pistettä)

Hyväksyttiin

Hylättiin

Muuttujien haluttu määrä ilmoitetaan taulukko-olion luontilausekkeessa. (0,5 pistettä)

Hyväksyttiin

Hylättiin

Esimerkki: new int[10] luo uuden taulukko-olion, jonka tyyppi on int[] ja joka sisältää 10 int-tyyppistä muuttujaa. (0,5 pistettä)

Hyväksyttiin

Hylättiin

Indeksointi

Indeksointi on tapa, jolla viitataan taulukko-olion muuttujiin. (1 piste)

Hyväksyttiin

Hyväksyttiin 0,5 pisteen arvoisena

Hylättiin

Jokaista taulukko-olion muuttujaa vastaa int-tyyppinen arvo, jota kutsutaan indeksiksi. (0,5 pistettä)

Hyväksyttiin

Hylättiin

Pienin indeksi nolla. (0,5 pistettä)

Hyväksyttiin

Hylättiin

Suurin indeksi on taulukon muuttujien määrä vähennettynä yhdellä. (0,5 pistettä)

Hyväksyttiin

Hylättiin

Esimerkki: jos a on taulukkomuuttuja, joka sisältää viitteen vähintään yksialkioiseen taulukko-olioon, niin a[0] viittaa kyseisen taulukko-olion ensimmäiseen muuttujaan. (0,5 pistettä)

Hyväksyttiin

Hylättiin

Pisteiden jakauma

Pisteiden jakautuminen vastauksien kesken selviää taulukosta 1. Puolet vastauksista sai vähintään 5 pistettä, puolet alle 5 pistettä.

Taulukko 1. Pisteiden jakauma
pisteet osuus vastauksista (%) kumulatiivinen osuus vastauksista (%)
9 10 10
8 7 17
7 7 24
6 12 36
5 14 50
4 11 61
3 10 71
2 12 83
1 3 86
0 14 100

Tehtävä © 2004 Arto Wikla. Esimerkkivastaus ja arvosteluperusteet © 2004 Joni Salmi. Tämän materiaalin käyttö on sallittu vain yksityishenkilöille opiskelutarkoituksissa. Materiaalin käyttö muihin tarkoituksiin, kuten kaupallisilla tai muilla kursseilla, on kielletty.