Yliopiston etusivulle Suomeksi
Helsingin yliopisto

Yhteystiedot:

Osoite:
Yleisen kielitieteen laitos
PL 9
Siltavuorenpenger 20A
00014 Helsingin yliopisto

Puhelin: +358 (09) 1911 (vaihde)
Faksi: +358 (09) 191 29307

deadline
7.4.2005
palaute
12.4.2005

Tehtävä 1 on kaikille yhteinen; tehtävistä 2 ja 3 tee jompikumpi (tai molemmat, jos olet liian innokas).

  1. Laadi automatisoidut testit tehtäville 5.6, 7."tietorakenteiden avuke verbeille" ja 8.1.2.

    Kuten muistanet, ennen funktiomäärittelyä keksittävät esimerkit ja funktiomäärittelyn jälkeen tehtävät testit ovat periaatteessa sama asia. Tästä syystä testit pystyy itse asiassa kirjoittamaan ennen varsinaista koodia, ja jotkut suosittavatkin tätä lähestymistapaa. Kokeile tehdä jokin myöhempi tehtävä tässä järjestyksessä.

  2. Ohjelman muodostamisen vaiheet (tunnilla esitellyn mallin mukaisesti) ovat:
    1. funktion / ohjelman nimi ja sopimus
    2. funktion / ohjelman sisäisen toiminnan vapaamuotoinen kuvaus
    3. esimerkit erilaisista syötteistä ja tuloksista
    4. yleistetty kaava, joka kuvaa funktion / ohjelman syötteen ja tuloksen suhteen mille tahansa syötteelle
    5. funktion varsinainen määrittely
    6. (automatisoidut) testit

    Lisäksi vaiheena 0 on ongelman vapaamuotoinen kuvaus. Nyt tulee vapaamuotoinen kuvaus; kirjoita puhtaaksi ohjelman muodostamisen vaiheet sille:

    Tee ohjelma, joka laskee listan outouskeskiarvon. Outouskeskiarvo on keskiarvo listan jäsenten outouksista; yhden jäsenen outous on 3, jos se on merkkijono (type(elementti) == str); 2, jos se on luku, muttei parillinen eikä kolmella jaollinen; ja muuten 0.

  3. Tee ohjelma, joka tuottaa puppua kollokaatiotietorakenteen (ks. 6. luentokerran esimerkkiohjelma) perusteella. Metodi on tämä: aloita satunnaisesta sanasta (valitaan kollokaatiohajautuksen avaimista). Liitä sen eteen satunnainen sitä edeltäneistä sanoista. Liitä tämän uuden sanan eteen satunnainen sitä edeltäneistä sanoista, ja niin edelleen. Toista satunnainen määrä kertoja.

    Tällaisten ohjelmien automatisoitu testaaminen on vaikeaa, sillä ne sisältävät paljon satunnaisuutta. Miten tällaista ohjelmaa voisi testata automaattisesti?

Hae laitoksen sivuilta:

Yleisen kielitieteen laitos | Humanistinen tiedekunta | Helsingin yliopisto
Copyright © 2003-2004 Helsingin yliopisto. Kaikki oikeudet pidätetään.