Taso ja pistearvo: | C 90 |
---|---|
Lyhyesti: | Tehdään ohjelma, joka osaa tehdä "sanamuunnoksia" suomenkielisistä sanoista. |
Mitä opitaan: | Silmukojen käyttöä, merkkijonojen muokkaamista, hieman haastavampaa algoritmiikkaa, komentoriviparametrien käyttöä. |
Toteuttamisen vapaus: | Korkea. Ohjelmasta on määrätty oikeastaan vain se, mitä sen pitää saada aikaan, mutta ohjelman rakenne jää kokonaan itse suunniteltavaksi ja toteutettavaksi. |
Realistisuus: | Työskentelytapa on erittäin todenmukainen: annetaan pulma, jolle pitää osata itse suunnitella ja toteuttaa ohjelmallinen ratkaisu. |
Haastavuus: | Alkeiskurssin mittapuulla hyvin haastava. Tässä täytyy sekä itse suunnitella ohjelman rakenne että toteuttaa aiempaa hankalampi algoritmi. |
Työläys: | Isotöinen johtuen erityisesti tehtävän haastavuudesta, ei niinkään tarvittavan koodin määrästä. Pelkästään tehtävän kuvauksen lukemiseen ja sisäistämiseen voi mennä jokunen tovi. Useimmilla menee tähän n. 4-6 tuntia, mutta enemmänkin saattaa kyllä kulua. |
Täydentäkää moduli spoonerism.py
, joka osaa tehdä "sanamuunnoksia" suomenkielisistä sanapareista.
Tarkempi kuvaus siitä, mitä ohjelman pitää saada aikaan, löytyy luokan dokumentaatiosta.
Tässä tehtävässä ohjelman metodeita ja mahdollisia luokkia ei ole täsmällisemmin spesifioitu, vaan saatte
päättää ohjelman rakenteen itse. Moduli finnish_phonetics
on annettu valmiina. Siitä on hyötyä
ohjelman laatimisessa.
Palauttakaa kirjoittamanne kooditiedosto spoonerism.py Gobliniin. Jos olette laatineet ohjelmanne osaksi muita luokkia, niin laittakaa nekin kuitenkin spoonerism.py-tiedostoon mukaan.
finnish_phonetics
useiden hyödyllisten metodien lisäksi myös Pythonin string -metodeista on apua.
tko-dhcp-104:spoonerism santtu$ python spoonerism.py kani kontti koni kantti tko-dhcp-104:spoonerism santtu$Eli python kertoo, että ajetaan Python tulkilla ohjelma spoonerism.py ja annetaan parametreiksi kani ja kontti. Tulos näkyy seuraavalla rivillä.