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

  • vastuuaika: yst.vast.enn. 28.4.2005
  • fotolla varma vastaus 3.5.2005

Tee tehtävä 1 sekä joko tehtävä 2 tai 3. Nämä tehtävät ovat muuten todennäköisesti aika suuritöiset, joten ensi kerralla ei anneta (ainakaan juuri mitään) tehtäviä.

  1. Luo luokka Sijainti, joka kuvaa yhtä sijaintipaikka kartalla. Mieti, mitä tietoa kyseisen luokan olioiden pitäisi sisältää, jotta ne kykenisivät määrittämään sijaintipaikan kartalla.[1] Mieti myös, mitä yleishyödyllisiä palveluita luokka voisi tarjota ollakseen uskomattoman hyödyllinen.[2]
    [1] Jos tämä on liian vaikeaa, vilkaise tehtävää 3 — se saattaa auttaa.
    [2] Jos tämä on liian vaikeaa, vilkaise tehtävää 2 — se saattaa auttaa.

    Tällaista suunnittelutapaa, jossa ei lähdetä ongelmakuvauksesta selvittämään, miten ongelman voisi ratkaista, vaan lähdetään tietotyypistä keksimään, mitä kaikkea sillä voisi tehdä, sanotaan yleensä alhaalta-ylös-suunnitteluksi.

  2. Toteuta (ohjelman muodostamisen vaiheita noudattaen, katso esim. 9. harjoitustehtävät) Sijainti-olioihin palvelu (metodi), joka kertoo, kuinka kaukana kyseinen sijaintipaikka on toisesta sijaintipaikasta. Tarvittava kaava tämän laskemiseen on todennäköisesti Pythagoraan kaava.[3] Vihje: jos annat palvelulle nimeksi __sub__, Python kutsuu sitä, kun vähennät kaksi sijaintipaikkaa toisistaan (sij1 - sij2).
    [3] Jos et löydä sitä tai et osaa soveltaa sitä, kysy kurssikavereiltasi, netiltä, matematiikankirjalta tai Miikalta.

    Toteuta funktio polun_pituus, joka ottaa argumentikseen (epätyhjän) listan sijainteja ja kertoo niiden kautta kulkevan polun kokonaispituuden. Tätä tehdessäsi muodosta ja esitä päätelmä tunnilla näytettyyn tapaan, mitä tilamuuttujia funktion toistosilmukassa on oltava, mitkä ovat niiden alkuarvot ja miten niitä on päivitettävä jokaisella toistokerralla.

  3. Perinteisesti sijaintia on esitetty koordinaattiparilla (siis x- ja y-koordinaatilla), joka taas on luonnollista esittää kahden luvun listana. Toteuta tehtävän 2 funktiot sekä joitakin muita palveluita sekä sijainnin olioesitystavalle että sen listaesitystavalle. Arvioi, kumpi esitysmuoto on näppärämpi. Kuvittele myös muutamia laajennuksia, joita sijaintikirjastosi ahnaat käyttäjät vaativat sinulta, ja arvioi niiden toteuttamisen helppoutta eri esitystapojen kanssa.

Hae laitoksen sivuilta:

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