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

  • Harjoitusten palauttamisen deadline: 10.2.2005 klo 00:00
  • Palautteenanto: 15.2.2005 klo 12:17:33

Ohjeet vastaamiseen voit katsoa viime kerralta, ellet muista.

  1. Tee ohjelma monikot.py, jolle käyttäjä voi kirjoitella sanoja. Ohjelma yrittää arvata, onko sana monikollinen vai ei, tutkimalla sanan viimeisiä kirjaimia. Esimerkiksi, jos ohjelmalle kirjoittaa sanan vaimot, ohjelma vastaa vaimot on monikossa, ja jos ohjelmalle kirjoittaa sanan kulkue, ohjelma vastaa kulkue on yksikössä. Ohjelma lukee sanoja, kunnes käyttäjä sanoo lopeta, jolloin ohjelma lopettaa toimintansa.
  2. Olet ehkä arvannut, että toto-kielessä on myös Python-kielen while-lausetta vastaava rakenne. Hakasulkeiden sisään voi nimittäin panna komentoja, joita toistetaan niin kauan, kuin robotti ei ole maalin kohdalla. Esimerkiksi ohjelma [f] saa robotin menemään eteenpäin, kunnes se on maalin kohdalla (jos koskaan). Samoin kuin while-lauseessa, maalin kohdalla oleminen testataan uudestaan vain jokaisen kokonaisen toiston jälkeen, ei koskaan kesken hakasulkeiden sisällä olevaa komentosarjaa. Esimerkiksi ohjelma [ff] vie robottia eteenpäin kaksi askelta kerrallaan, siten, että jos maali on parittoman askelmäärän päässä, robotti ei huomaa pysähtyä sen kohdalle. (Ellet ymmärtänyt tätä, ei se mitään. Voit testata kyseistä ohjelmaa, jos haluat.)

    Toistorakenteen eli hakasulkeiden avulla on mahdollista toteuttaa toto-kielellä ohjelma, joka seuraa seiniä. Toimintalogiikka on suunnilleen tällainen: oletetaan, että robotti lähtee seinän vierestä. Astumme askelen eteenpäin ja katsomme, pääsemmekö kääntymään vasemmalle, jatkamaan eteenpäin, kääntymään oikealle vai joudummeko lähtemään kokonaan takaisinpäin (tässä järjestyksessä). Tätä toistetaan, kunnes ollaan maalin kohdalla.

    Väsää tämä ohjelma ja kokeile. Tekniikalla pitäisi ratketa ainakin toto-tehtävät 2–6, ainakin pienin muunnelmin.

  3. Mainitse muutamia esimerkkejä asioista, joita et voisi tehdä tähän mennessä oppimillasi ohjelmointirakenteilla.

Hae laitoksen sivuilta:

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