Harjoitukset 24.2.2003

Palauta vastaukset sähköpostitse luennoitsijalle ennen seuraavaa luentoa (klo 9.00, eli vastauksiaan voi vielä hioa 8-9 kertaustunnilla). Vastaus sisältää sekä lopputuloksen että sen saamiseksi tarvitut käskyt (siis ne ratkaisevat, ei muita yrityksiä ja erehdyksiä). Vastaukset mieluiten raakatekstinä (vastaan nopeammin :) ja komentorivit vastaukset mieluiten osana viestiä, skriptit (pakkaamattomina) liitteinä. Siis mieluiten.

Kiireisille todettakoon, että loppupään tehtävät näyttävät minusta vähemmän aikaa vieviltä...

  1. Tee ohjelma, joka tulostaa tiedostosta sample_from_susanne.txt ne substantiivilausekkeet (Np), jotka toimivat subjekteina (s, yhdessä Np:s). Substantiivilausekkeista (NP) tulostetaan vain saneet, ja tulostus on muotoa NP/rivi. Esim.
        NORTHERN liberals
        these Democrats who are left +<hyphen> +of  +<hyphen> center
        my liberal friends
        
    Runkona voit käyttää susanne.perl-ohjelmaa. Ideana on tulostaa sane aina kun ollaan lausekkeen sisällä, ja muuten jättää tulostus väliin. Eli haluamamme lauseke alkaa merkkijonosta [Np:s ja loppuu vastaavasti Np:s]. Jälkimmäisessä tosin voi olla numeroita s-kirjaimen ja hakasulun välissä.

  2. Tiedostossa sm-liiga.txt on erään urheilulajin sarjataulukko. Pisteenlaskujärjestelmä on sattumalta sama kuin jääkiekossa. Laske kuinka monta maalia kukin joukkue tekee keskimäärit ottelua kohden ja tulosta se kahden desimaalin tarkkuudella (esim. printf-käskyllä)..

  3. Tee karkea muunnin, joka muuttaa kit.fdg.xml.txt-tiedoston suunnilleen kit.fdg.txt-tiedoston näköiseksi. Sijainnin kohdalla voit käyttää tokenin id-atribuutin arvoa. Vastaavasti dependenssin kohdalla voi käyttää depend-tagin head-atribuutin arvoa.

  4. Kopioi konko.perl-konkordanssiohjelma itsellesi. Muokkaa sitä hieman: tällä hetkellä ohjelma tekee eron isojen ja pienten kirjainten välille. Ääkkösistä ei tarvitse murehtia. Vastaus löytyy luennon 3 nyttemmin korjatuista kalvoista. Lisäksi muuta ohjelmaa siten, että se tulostaa vasemmalta korkeintaan 40 merkkiä ja oikealta korkeintaan 20 merkkiä. Nyt tulostus on molemmilla puolilla samanpituinen.

  5. Tiedostossa dos.txt on Windows/DOS-käyttöjärjestelmässä kirjotettu pätkä tekstiä. Ääkköset tulostuvat tiedostossa väärin. Kirjoita muutoskäskyt, jotka saavat tiedoston näkymään oikein Unix-koneella. Lisää ohjeita itse tiedostossa. (Älä leikkaa/liimaa tekstiä selainikkunasta, vaan valitse selaimella File->Save Page As... tai vastaava, jos haet tekstin graafisella selaimella! Edellislaskarien lynx-käskyä voi soveltaa myös tässä)

  6. Muuta viime kerran nelostehtäväsi toimimaan rindex-funktion avulla. (Tai jos olet tehnyt ko. tehtävän ko. funktiota käyttäen, tee nyt versio, jossa funktiota ei käytetä :) Jos et tehnyt ko. laskaria viimeksi, tästä saa kaksi laskaripistettä (toisen edellisiin laskareihin).

nvolk@ling.helsinki.fi
Viimeksi päivitetty: Thursday, 06-Mar-2003 12:22:35 EET