Kirjautuminen

Haku

Tehtävät

Putkaposti: Kielitiedettä

Kirjoittaja: Antti Laaksonen

Kiitokset tehtävästä: Pekka Karjalainen

Kotimaisten kielten tutkimuskeskus eli Kotus on julkaissut hiljattain Internetissä nykysuomen sanalistan, joka sisältää suomen kielen tavallisimmat sanat taivutustietoineen. Nyt on siis vihdoin kaikkien saatavilla kunnollinen suomen kielen sanaluettelo, jolle ohjelmoijan ei ole vaikea keksiä monia kiinnostavia käyttötapoja. Putkapostissa tutkitaan alkajaisiksi anagrammiryhmiä ja sanaketjuja.

Tätä tehtävää (ja muita ohjelmointikokeiluja) varten Ohjelmointiputkassa on saatavilla ohjelmoijalle alkuperäistä tiedostoa helpommin käsiteltävä muunnettu sanalista (350 kt). Tässä sanastossa ovat mukana ainoastaan suomen kielen pienaakkosia sisältävät sanat, minkä lisäksi XML-merkinnät ja taivutustiedot on poistettu sekä merkistöksi on vaihdettu ISO-Latin-1.

Anagrammiryhmä

Anagrammiryhmä on joukko sanoja, jotka ovat toistensa anagrammeja eli niissä on samat kirjaimet. Esimerkiksi sanat antoisa, asiaton, isontaa ja tosiaan muodostavat anagrammiryhmän. Pienempiä anagrammiryhmiä ovat mikrosekunti ja sointumerkki sekä saneluratkaisu ja seurakuntasali.

Sanaketju

Sanaketjun jokaisesta sanasta pääsee seuraavaan yksinkertaisella muunnoksella. Tässä tehtävässä sallittuja muunnoksia ovat kirjaimen lisäys, kirjaimen poisto, kirjaimen muutos ja sanan kääntö ympäri. Sama sana voi esiintyä ketjussa vain kerran. Esimerkiksi sanat sulka, sula, alus, alas ja jalas muodostavat sanaketjun.

Vastausohje

Tehtävänä on etsiä Kotuksen sanastosta kaikki anagrammiryhmät, joissa ryhmän sanamäärän ja yhden sanan pituuden tulo on ainakin 24, sekä mahdollisimman pitkä sanaketju. Vastauksen ensimmäisellä rivillä lukee, kuinka monta anagrammiryhmää siinä on. Tämän jälkeen tulevat kaikki anagrammiryhmät omilla riveillään ja lopuksi pisin sanaketju omalla rivillään.

Vastaus voisi näyttää seuraavalta:

2
antoisa asiaton isontaa tosiaan
mikrosekunti sointumerkki
sulka sula alus alas jalas

Molemmissa anagrammiryhmissä sanamäärän ja sanan pituuden tulo on ainakin 24 (4 * 7 = 28, 2 * 12 = 24). Kuitenkin vastauksessa täytyy olla yhteensä ainakin kaksitoista sanaa, jotta esimerkki ei kelpaa suoraan vastaukseksi.

Vastaukset

37 henkilöllä on tulos. Suluissa oleva luku tarkoittaa vastauksen sanojen yhteismäärää.

jlaire (8060), symbols (8046), VilleP (7948), kluopaja (7558), TapaniS (7553), lukujenVihaaja (7484), Laitinen (7482), FooBat (7437), Chiman (7134), Ruokauuni (7123), Metabolix (6906), Deewiant (5875), Legu (5869), Grez (5749), tonberry1 (5746), Sisuaski (5652), Konvehti (5647), Jhuunhym (5450), Laakeri (5301), isashkar (5266), malaire (5101), Seriffi (3729), Pekka Karjalainen (1486), Torgo (1258), Juice (1233), Meitzi (1224), öppis (1213), qalle (1208), mikaelh (1205), arcatan (1205), Hansen (1205), Jepso (1200), Megant (1198), Kaukainen amatööri (1138), jalski (999), Salama (813), zebraze (13)

Kirjaudu sisään Ohjelmointiputkaan, niin voit lähettää vastauksen tehtävään.

Keskustelu

Katso myös Putkaposti 15: Kielitiedettä.

Tietoa sivustosta