TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

Koko: px
Aloita esitys sivulta:

Download "TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique"

Transkriptio

1 TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-.115

2 SISÄLLYSLUETTELO Sisällysluettelo... Versiohistoria JOHDANTO Tarkoitus ja kattavuus Tuote Määritelmät, termit ja lyhenteet Viitteet Yleiskatsaus dokumenttiin YLEISKUVAUS....1 Ympäristö.... Toiminta.... Käyttäjät.... TIEDOT JA TIETOKANTA....1 Tietosisältö Dimacsin ascii -formaatti Dimacsin binääri- formaatti.... Käyttöintensiteetti Kapasiteettivaatimukset TOIMINNOT Yleistä Järjestelmän toiminnot Järjestäminen Painottamattoman graafin värittäminen Painotetun graafin värittäminen Painottamattoman maksimiklikin koko Yhden painotetun maksimiklikin laskeminen Kaikkien painotettujen maksimiklikkien laskeminen Yhden painotetun luokkaa S olevan klikin laskeminen Kaikkien painotettujen luokkaa S olevien klikkien laskeminen Yhden painotetun vähintään luokkaa S olevan klikin laskeminen Kaikkien painotettujen vähintään luokkaa S olevien klikkien laskeminen Painotetun maksimiklikin koko Yhden painotetun maksimiklikin laskeminen Kaikkien painotettujen maksimiklikkien laskeminen Yhden painotetun vähintään luokkaa S olevan klikin laskeminen Kaikkien luokkaa S klikkien laskeminen Yhden luokkaa S klikin laskeminen vähintään Kaikkien vähintään luokkaa S olevien klikkien laskeminen n ensimmäinen vaihe: Funktiokutsu n toinen vaihe: Komentorivikutsu ULKOISET LIITTYMÄT Laitteistoliittymät Ohjelmistoliittymät Tietoliikenneliittymät MUUT OMINAISUUDET Suorituskyky ja vasteajat Käytettävyys, toipuminen, turvallisuus, suojaukset Ylläpidettävyys Siirrettävyys/kannettavuus, yhteensopivuus Operointi SUUNNITTELURAJOITTEET... 19

3 .1 Standardit Laitteistorajoitteet Ohjelmistorajoitteet Muut rajoitteet JATKOKEHITYSAJATUKSIA VERSIOHISTORIA Versio Päivämäärä Laatija Kuvaus Dufva Proposal Dufva First draft Dufva Second draft Dufva Third draft Dufva Edited according to comments received from Patric Östergård and Harri Haanpää

4 TOIMINNALLINEN MÄÄRITTELY 4 (19) 1. JOHDANTO 1.1 Tarkoitus ja kattavuus 1. Tuote Tämä dokumentti määrittelee -ohjelman toiminnalliset ominaisuudet ja on tarkoitettu helpottamaan ohjelman suunnittelua kertomalla kuinka vaatimukset toteutetaan. Toiminnallista määrittelyssä suunnitellaan ja pyritään selventämään ohjelman perusideaa ja ominaisuuksia, mikä helpottaa myöhemmin tehtävää koodausta. Tavoitteena -ohjelmassa on koodata jo olemassa olevalle algoritmille toimiva ympäristö, jolloin algoritmin käyttö helpottuu ja algoritmille voidaan luoda uusia käyttötapoja. Algoritmin perusideana on etsiä annetusta graafista haluttuja ominaisuuksia. Ohjelmasta on olemassa jo alustava prototyyppi, jossa on jo jotain ominaisuuksia painavimman klikin löytämiseksi. Sen voi ladata osoitteesta: ~ pat/wclique.html 1. Määritelmät, termit ja lyhenteet : Projektityön kohde. Ohjelma jonka tarkoituksena on etsiä haluttuja ominaisuuksia annetuista graafeista. Ohjelma kirjoitetaan isolla jos ohjelmasta puhutaan yleisesti tai viitataan projektityön nimeen. Kun varsinainen ohjelma koodataan, puhutaan wcliquesta pienellä alkukirjaimella. Tällöin tarkoitetaan ohjelman käynnistystiedostoa. Graafi: Useissa yhteyksissä tarkastellaan joukkoa solmuja tai tiloja, joista joko on tai ei ole mahdollista siirtyä välittömästi toinen toisiinsa. Tyypillisiä esimerkkejä tällaisista ovat kartta, johon on merkitty kaupunkeja, sekä näiden väliset suorat liikenneyhteydet, tietokoneohjelman kulkua kuvaava vuokaavio ja sukupuut. Graafi, eli verkko G = ( V, E ) muodostuu äärellisistä joukoista V ja E, joista V on ns. solmujen joukko (solmuista käytetään myös joissain yhteyksissä nimityksiä kärki tai piste), ja E on sivujen joukko (käytössä myös nimitykset kaari ja haara). Algoritmi: Algoritmilla voidaan ratkaista olemassa olevasta graafista asioita, joista ollaan kiinnostuneita. Algoritmi jonka ympärille ohjelma rakennetaan on julkinen. Algoritmin toimintaa on kuvattu Internetissä seuraavissa dokumenteissa: "A Fast Algorithm for the Maximum Clique Problem" ~ pat/paper1.ps "A New Algorithm for the Maximum-Weight Clique Problem" ~ pat/paper.ps Klikki: Klikki tarkoittaa yhteyttä usean solmun välillä Ansi c: Ohjelmointikieli, jolla ohjelma toteutetaan UML: "Unified Modeling Language" on ohjelmistotuotekehityksen standardikuvaamismenetelmä.

5 TOIMINNALLINEN MÄÄRITTELY 5 (19) 1.4 Viitteet [Vaat] Vaatimusmäärittely 1.5 Yleiskatsaus dokumenttiin Johdanto osuudessa luodaan yleiskatsaus dokumenttiin. Siinä selvitetään termit, lyhenteet ja viitteet jotka auttavat lukijaa tutustumaan tähän dokumenttiin ja -ohjelmaan. Toinen luku kuvaa ohjelmaa yleisellä tasolla. Jos lukija ei ole kiinnostunut pikkutarkasta ohjelman kuvauksesta, niin usein riittää tämän luvun lukeminen ohjelman idean ymmärtämiseksi. Tiedot ja tietokanta osuus kertoo tarvittavien tietokantojen osuudesta tähän projektiin. Työn luonteesta johtuen, tietokannat eivät ole suuressa merkityksessä tämän projektin missään suoritusvaiheessa. Neljännessä luvussa tarkennetaan toisessa luvussa esitettyjä ohjelman ominaisuuksia ja toimintoja. Luku viisi kertoo ulkoisista liittymistä ja toimintaympäristöstä -ohjelmassa. Luvussa kuvataan ei-toiminnallisia ominaisuuksia kuten vaadittua suorituskykyä, siirrettävyyttä ja ylläpidettävyyttä. Luku kertoo ohjelman rajoitteista Viimeisessä luvussa kerrotaan jatkokehityssuunnitelmista.

6 TOIMINNALLINEN MÄÄRITTELY (19). YLEISKUVAUS.1 Ympäristö. Toiminta ohjelma toimii Linux ja Unix ympäristössä (myöhemmin myös NT ympäristössä). ohjelmalla voidaan laskea graafeista tiettyjä ominaisuuksia kuten maksimigraafin koko. Ohjelmistoa voidaan käyttää upottamalla ohjelma käyttäjän koodiin tai komentorivikomennoilla [vaat]. Syötteenä annettava tieto voi olla Dimacsin binäärisessä tai -ascii muodossa, mikä mahdollistaa graafien hakemisen Internetistä. Tästä on hyötyä myös ohjelman testauksessa, koska näin ohjelman toiminnasta ja suorituskyvystä saadaan tarkempaa tietoa. Tulosteena ohjelma antaa vastauksen siihen kysymykseen mitä käyttäjä kysyi. Alla olevassa Use case -kuvauksessa on esitetty ne kysymykset jota ohjelmalle voi esittää. Kuva 1. Use case kuva vaatimuksista.. Käyttäjät Koska ohjelman lähdekoodi on vapaasti saatavilla, voi ohjelmaa tieteellisessä käytössä käyttää kuka tahansa, ilman rajoituksia.

7 TOIMINNALLINEN MÄÄRITTELY (19). TIEDOT JA TIETOKANTA.1 Tietosisältö ohjelma voi lukea syötteenä kahta eri formaattia: binääristä ja ascii muotoista Dimacs -formaattia. Tulosteena antaa kokonaislukuja..1.1 Dimacsin ascii -formaatti Dimacsin ascii -formaatti määrittelee syöte- ja tulostiedostojen rivityypit. Kukin rivi alkaa pienellä kirjaimella, joka kertoo rivin merkityksen. Formaatti tukee painotettujen ja painottamattomien graafien esitystä sekä graafin väritystä. Dimacsin ascii -formaatin määrittely on löydettävissä mm. www-sivulta ftp://dimacs.rutgers.edu/pub/challenge/graph/doc/ -hakemistosta ccformat.tex -tiedostosta. Alla on esitetty tärkeimpiä rivityyppejä. Syötetiedostot: Kommenttirivi alkaa pienellä c-kirjaimella: c tämä on kommenttirivi Solmun esitysrivi (Node Descriptor) alkaa pienellä n-kirjaimella, seuraava alkio rivillä on solmun ID (integer 0-n) ja sitä seuraavana solmun paino (integer, voi olla myös negatiivinen). Esim. solmun 1 paino on 5. n 1 5 Kaaren esitysrivi (Edge Descriptor) alkaa pienellä e-kirjaimella, seuraavat alkiot ovat solmujen ID:t. Esim. solmujen 1 ja välillä on kaari. Kukin kaari tarvitsee esittää vain kerran; rivi "e 1" ei alla olevan rivin lisäksi ole tarpeellinen eikä sallittu. e 1 Problem line kertoo graafin solmujen ja kaarien lukumäärän. Alla olevassa esimerkkitapauksessa graafissa on solmua ja 11 kaarta. p edge Dimacsin binääri- formaatti Toinen käytettävistä lähdetiedostoformaateista on Dimacsin binääriformaatti. Binääriformaatti on vaihtoehto Dimacsin ascii-formaatille. Mikäli graafin kaarien lukumäärä suhteessa solmujen lukumäärään on keskimäärin 1, prosenttia suurempi, niin graafin binäärinen talletusformaatti on tilaa säästävämpi ratkaisu kuin ascii-talletusformaatti. Binäärinen talletusformaatti käyttää keskimäärin (N^)/1 tavua graafin N solmun ja M kaaren tallentamiseen. Kun taas ascii-formaatti tarvitsee noin M*9 tavua saman graafin tallentamiseen.

8 TOIMINNALLINEN MÄÄRITTELY 8 (19). Käyttöintensiteetti Ohjelma ei rajoita käyttäjien määrää, jolloin usea käyttäjä voi käyttää ohjelmaa useasta eri paikasta.. Kapasiteettivaatimukset Ohjelma itsessään ei rajoita annettua tehtävää eikä määritä vaadittua minimilaitteistoa. Kiintolevytilaa -ohjelma ei vaadi merkittävästi. Suoritusaika riippuu annetun graafin koosta, pyydetystä tehtävästä sekä laitteiston tehokkuudesta. 4. TOIMINNOT 4.1 Yleistä Ensimmäisessä vaiheessa (funktiokutsu) pyritään muodostamaan tehokas käyttöliittymä vaaditulle algoritmille. Tällöin kuka tahansa käyttäjä voi upottaa koodin omaansa, tai rakentaa jo olemassa olevasta koodista itselleen sopivan liittymän. Tarkemmin tästä on kerrottu kappaleessa 4..9 Toisessa vaiheessa (komentorivikutsu) ohjelmaa pyritään jatkokehittämään niin, että sitä voidaan kutsua komentoriviltä. Tällöin ohjelma käynnistetään -käskyllä jonka perässä ovat parametrit. Parametreilla välitetään tiedot ohjelmalle jotta ohjelma tietää mitä lasketaan ja mitä tietoa käyttäjä haluaa tulosteena itselleen. Tarkemmin parametreista on kerrottu kappaleessa Kuva on esitetty ohjelman periaatteellinen toiminta vuokaaviona. Huomioitavaa on että kaikissa tapauksissa graafin solmujen järjestelyä ei suoriteta (riippuu annetun graafin muodosta). Koska eri tapauksien tarkastelu on helpompaa esimerkkien avulla, otetaan malliesimerkiksi graafi joka on esitetty Kuva. Tätä graafia tarkastellaan luvuissa Huomioitavaa tässä kuvassa on se, että painottamattomissa tapauksissa ei huomioida numeroita, painotetuissa tapauksissa ne huomioidaan. Graafin jokainen solmupiste on nimetty numerolla, jonka perässä suluissa on kyseisen solmun painoarvo. Jos solmun indeksi on 4 ja sen painoarvo on, merkintätapa on 4(). Mikäli painoarvo on kaikissa solmuissa 1, ei painoarvoja merkitä ja graafia käsitellään painottamattomana graafina. Vain silloin kun etsitään yhtä maksimikokoista klikkiä, palautetaan samalla klikin koko. Muulloin klikin kokoa ei palauteta.

9 TOIMINNALLINEN MÄÄRITTELY 9 (19) Aloitus Syöte Järjestä graafi Tulosta Prosessoi Lopetus Kuva. n toiminta vuokaaviona. 1(1) (8) () 4() 5() () (4) 8(5) Kuva. Esimerkkigraafi. 4. Järjestelmän toiminnot 4..1 Järjestäminen Ennen syötteen prosessointia, ohjelma järjestää tarvittaessa graafin uudelleen, käyttäen hyväksi väritys menetelmää. Siinä ideana on että saman klikin jokainen solmupiste nimetään omalla värillään. Eri klikkien solmuilla voi olla samoja värejä. Tätä havainnollistetaan Kuva 4.

10 TOIMINNALLINEN MÄÄRITTELY 10 (19) Kuva 4. Painottamattoman graafin solmujen värittäminen klikkien perusteella. Kaikki solmut väritetään siten, että naapurisolmut eivät saa olla saman värisiä. Solmut: Värit: a1-an, b1-bn,, m1-mn A, B, C, Painottamattoman graafin värittäminen Graafin väritys voidaan jakaa seuraaviin vaiheisiin: Väritetään ensimmäinen solmu a1, josta lähtee eniten kaaria on eniten naapureita, värillä A. Etsitään solmu a, jossa on seuraavaksi eniten kaaria, mutta ei ole a1:n naapuri ja väritetään se värillä A. Etsitään solmuja kaarien määrän mukaisessa järjestyksessä an:ään asti ja väritetään ne värillä A. Solmut a1-an eivät saa olla keskenään naapureita. Lopulta yhtään solmua ei enää voi värittää värillä A. Värillä A väritetyt solmut a1-an ja niihin liittyvät kaaret poistetaan. Väritetään jäljellä olevista värittämättömistä solmuista eniten kaaria omaava solmu b1 värillä B. Jatketaan värittämistä kuten edellä kunnes yhtään solmua ei enää voi värittää värillä B.

11 TOIMINNALLINEN MÄÄRITTELY 11 (19) Poistetaan solmut b1-bn niihin liittyvine kaarineen. Niin kauan kuin solmuja on jäljellä valitaan uusi väri (C, D, ) ja toistetaan edellä mainitut vaiheet. Solmut on nyt saatu järjestykseen: a1, a, a an b1 bn c1 cn m1 mn Painotetun graafin värittäminen Tehdään muuten samoin kuin painottamattoman tapauksessa, mutta uutta solmua valittaessa valitaan painoltaan pienin solmu. Jos saman painoisia solmuja on useita, valitaan naapurien painoltaan suurin. 4.. Painottamattoman maksimiklikin koko Haluttaessa tietää graafin ominaisuuksista maksimiklikin koko, tulostaa vastauksena solmujen määrän. Tämä tapahtuu Kuva :n mukaisesti: Ohjelma käy läpi syötteenä annetun graafin, järjestää sen ja palauttaa tulosteena maksimiklikin koon. Esimerkkigraafin tapauksessa, ohjelma palauttaisi maksimiklikin koon eli arvon. Kuva 5:ssa on esitetty maksimi klikki joka voidaan saada esimerkkigraafista. 1 Kuva 5. Maksimi klikki. 8

12 TOIMINNALLINEN MÄÄRITTELY 1 (19) 4.. Yhden painotetun maksimiklikin laskeminen laskee pyydettäessä maksimiklikin ja tulostaa sen solmupisteet (Kuva ). 1 8 Kuva. Maksimiklikin tuloste Kaikkien painotettujen maksimiklikkien laskeminen laskee pyydettäessä kaikki maksimiklikit, ja tulostaa niiden solmupisteet. Esimerkkitapauksessa tuloste on sama kuin yhden maksimiklikin tapauksessa Yhden painotetun luokkaa S olevan klikin laskeminen tulostaa yhden luokkaa S olevan klikin solmupisteet. Jos S on 4, palauttaa tulosteen: Kaikkien painotettujen luokkaa S olevien klikkien laskeminen tulostaa kaikkien niiden klikkien solmupisteet, jotka ovat kooltaan luokkaa S. Jos esimerkkitapauksessamme oletetaan syötteen S arvoksi 4 (parametrimuodossa tämä S vastaa parametria -n?), tulostaa 19 eri solmupistesarjaa. Näin siksi, että graafissa esiintyy 19 kappaletta klikkejä, joiden arvo on 4. Muutama näistä on esitetty Kuva.

13 TOIMINNALLINEN MÄÄRITTELY 1 (19) variaatio 8 variaatiota (pisteet ja vaihtuvat pisteiksi ja ) 8 variaatiota (pisteet ja -> pisteiksi ja ) 8 variaatiota (pisteet ja -> pisteiksi ja ) variaatiota (piste -> pisteeksi ) variaatiota (piste -> pisteeksi ) variaatiota (piste -> pisteeksi ) 1 5 variaatiota (piste -> pisteeksi ) variaatiota (piste -> pisteeksi ) 8 variaatiota (piste -> pisteeksi ) Kuva. Esimerkkikuvaajan klikkejä, joissa klikkien määrä on Yhden painotetun vähintään luokkaa S olevan klikin laskeminen tulostaa solmupisteet yhdestä klikistä, joka on vähintään luokkaa S. Jos S:n arvoksi annettaisiin esimerkkitapauksessamme 5, voisi tuloste näyttää esim. seuraavalta: 1

14 TOIMINNALLINEN MÄÄRITTELY 14 (19) 4..8 Kaikkien painotettujen vähintään luokkaa S olevien klikkien laskeminen Tässä tapauksessa kertoo niiden kaikkien klikkien solmupisteet, jotka ovat kooltaan luokkaa S tai enemmän. Jos S:n arvoksi annetaan 5, tulisi n palauttaa neljä solmupiste sarjaa. Kuva 8 on osoitettu ne neljä 5:n solmun klikkiä jota esimerkkigraafista löytyy. n antama tuloste on esitetty Kuva Kuva 8. Esimerkkikuvaajan klikit, joissa klikkien määrä on 5 tai enemmän Kuva 9. Vähintään luokkaa 5 olevien klikkien tuloste Painotetun maksimiklikin koko Haluttaessa tietää graafin ominaisuuksista maksimiklikin koko, ohjelman laskee ja tulostaa sen painoarvon. Tässä esimerkki ei poikkea paljoa kappaleen 4..1 esimerkistä. Ainoa ero on se että ohjelma palauttaa graafin sen klikin arvon jossa on suurin painoarvo, tässä tapauksessa maksimiklikki on sama kuin kappaleessa 4..1 (Kuva 10), mutta palautettava luku on (suluissa olevien painoarvojen summa). 1(1) (8) () () (4) Kuva 10. Painotettu maksimi klikki. 8(5)

15 TOIMINNALLINEN MÄÄRITTELY 15 (19) 1 8 Kuva 11. Painotetun maksimiklikin tuloste Yhden painotetun maksimiklikin laskeminen laskee maksimiklikin ja tulostaa sen solmupisteet. Esimerkkitapauksessa tuloste olisi sama kuin Kuva, sillä painoarvo tässä klikissä on suurin Kaikkien painotettujen maksimiklikkien laskeminen laskee kaikki maksimiklikit ja tulostaa niiden solmupisteet. Esimerkkitapauksessa tuloste olisi sama kuin Kuva, sillä painoarvo tässä klikissä on suurin Yhden painotetun vähintään luokkaa S olevan klikin laskeminen tulostaa yhden luokkaa S olevan klikin solmupisteet. Jos S on 0, voi esim. palauttaa tulosteen: 4..1 Kaikkien luokkaa S klikkien laskeminen laskee kaikkien klikkien solmupisteet, jotka ovat kooltaan luokkaa S. Jos pyydetään luokkaa 1 olevien klikkien lukumäärää, palauttaa kolme sarjaa solmupisteitä. Nämä ehdon täyttävät klikit on esitetty Kuva 1. () 1(1) (8) () 5() () (4) (8) () (4) Kuva 1. Luokkaa 1 olevat klikit. 8(5) () Yhden luokkaa S klikin laskeminen vähintään tulostaa yhden klikin solmupisteet, jotka ovat kooltaan vähintään luokkaa S. Esimerkki tuloste voisi olla vaikka S:n arvolla 1: 1.

16 TOIMINNALLINEN MÄÄRITTELY 1 (19) Kaikkien vähintään luokkaa S olevien klikkien laskeminen tulostaa kaikkien niiden klikkien solmupisteet, jotka ovat kooltaan vähintään luokkaa S. Jos S:lle annettaisiin tässä tapauksessa syötteenä arvo 1, palauttaisi seitsemän sarjaa solmupisteitä. Nämä seitsemän ehdot täyttävää klikkiä on esitetty Kuva 1 ja n tuloste on esitetty Kuva 11. 1(1) (8) () (8) () 1(1) (8) () 5() (8) () () (4) () (4) () (4) () (4) 8(5) (8) (8) () (8) 8(5) () (4) () 5() () (4) 8(5) 8(5) Kuva 1. Klikit joiden arvo vähintään Kuva 14. Tuloste painotetussa tapauksessa: S on vähintään 1.

17 TOIMINNALLINEN MÄÄRITTELY 1 (19) 4..1 n ensimmäinen vaihe: Funktiokutsu short int wclique (unsigned int nbrofvertices, wc_options *options, unsigned int *edgetbl, unsigned int *weighttbl, char *rescliquetbl, unsigned int *maxclique) NbrOfVertices -parametri määrittää graafin solmujen lukumäärän. Wc_options -parametri määrittää ominaisuuden, jota graafista etsitään. Tietorakenne on kuvattu tarkemmin teknisessä määrittelyssä. EdgeTbl -parametri on osoitin graafin kaaritaulukkoon. Käyttäjän on varattava ja täytettävä muistialue tietorakenteelle ennen funktiokutsua. Kaaritaulukko on kuvattu tarkemmin teknisessä määrittelyssä. WeightTbl -parametri on osoitin graafin solmujen painotaulukkoon. Käyttäjän on varattava ja täytettävä muistialue tietorakenteelle ennen funktiokutsua. Painotaulukko on kuvattu tarkemmin teknisessä määrittelyssä. ResCliqueTbl -parametri on osoitin tulosklikkiin. Käyttäjän on varattava muistialue tietorakenteelle ennen funktiokutsua. Tietorakenne on kuvattu tarkemmin teknisessä määrittelyssä. MaxClique -parametri on osoitin maksimiklikin kokoon, jonka arvona on maksimiklikin koko siinä tapauksessa, että käyttäjä on pyytänyt laskemaan yhden maksimiklikin. Paluuarvona funktion palauttaa true/false tiedon onnistumisesta tai epäonnistumisesta n toinen vaihe: Komentorivikutsu Komentorivikutsu, eli komentoriviltä annettava kutsu parametreineen, tapahtuu seuraavan toteutusmallin mukaisesti: wclique [-hir] [--help] [--info] [--reorder] [--format={ascii,binary}] [--size={[+]n,max}] [--type={one,all}] [name] -h, --help -i, --info -r, --reorder tulostaa aputekstin tulostaa haun etenemisen näytölle. solmujen heuristinen järjestäminen --format={ascii,binary} syötetiedoston tyyppi, oletus on ASCII. --size={[+]n,max} haettujen klikkien koko, oletus on max, N := annettu koko, +N := >= annettu koko. --type={one,all} haettujen klikkien lukumäärä, oletus on one.

18 TOIMINNALLINEN MÄÄRITTELY 18 (19) Muutama tarkennus: 1. Painotettu/painottamaton: binaaritiedosto => aina painottamaton, ASCII => selviää tiedoston sisällöstä.. Jos syöte tiedoston nimi puuttuu luetaan standardi syöte.. Ohjelma tulostaa aina kaikki klikit, yksi klikki per rivi -> standardi tuloste. 5. ULKOISET LIITTYMÄT 5.1 Laitteistoliittymät Ei ole tarvi erillisiä laitteistoliittymiä. 5. Ohjelmistoliittymät Ei vaadi toimiakseen muita ohjelmia 5. Tietoliikenneliittymät Ei ole tietoliikenneliittymiä.. MUUT OMINAISUUDET.1 Suorituskyky ja vasteajat Suorituskyvylle annettiin vaatimusmäärittelyssä yksi vaatimus: n tulee olla ainakin yhtä tehokas kuin oli Patric Östergårdin protoversio. Varsinaisia tehokkuuslukuja ei pystytä takaamaan graafien monimuotoisuuden ja eri esitystapojen takia. Sama graafi voidaan esittää usealla eri tavalla, jolloin tehokkuus vaihtelee.. Käytettävyys, toipuminen, turvallisuus, suojaukset ei tee graafin järkevyystarkastelua mutta se tekee syötetiedoston syntaksitarkastelun, eli tarkistaa onko syötetiedosto oikeassa formaatissa.. Ylläpidettävyys Ensimmäinen ja ehkä tärkein ylläpidettävyyteen liittyvä tekijä on koodien kommentoinnit. Tämä tapahtuu kommentoimalla jokaisessa moduulissa sen tehtävät, rajapinnat ja tarkoitus. Toinen mainittava seikka on ohjelman manuaalit, jotka tehdään LaTex formaatissa, jotta manuaalien muokkaaminen olisi myöhemmin mahdollisimman helppoa Unix ympäristössä.

19 TOIMINNALLINEN MÄÄRITTELY 19 (19).4 Siirrettävyys/kannettavuus, yhteensopivuus Koska ohjelma on saatavana ANSI C muodossa, on sen siirrettävyys helppoa. Tietokoneelta vaaditaan vain yleinen ANSI -C kääntäjä joka suorittaa C -koodin käännöksen, jonka jälkeen ohjelma on ajettavissa..5 Operointi Operointiin liittyviä ominaisuuksia ei mainittavissa määrin ole.. SUUNNITTELURAJOITTEET.1 Standardit. Laitteistorajoitteet Ohjelma on tehty ANSI C kielellä kuten vaatimusmäärittelyissä on kerrottu. Ei rajoitteita. Ohjelmistorajoitteet.4 Muut rajoitteet ohjelma on käyttöjärjestelmä riippumaton. Sen tulee toimia yleisimmissä Unix koneissa sekä myöhemmin myös Windows maailmassa. Ei muita rajoitteita. 8. JATKOKEHITYSAJATUKSIA Myöhemmästä jatkokehityksestä vastaa Patric Östergård.

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-.115 SISÄLLYSLUETTELO Sisällysluettelo... Versiohistoria... 1. JOHDANTO... 4 1.1 Tarkoitus ja kattavuus... 4 1. Tuote... 4 1. Määritelmät, termit ja lyhenteet...

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-7.115 SISÄLLYSLUETTELO Sisällysluettelo... Versiohistoria... 1. JOHDANTO... 4 1.1 Tarkoitus ja kattavuus... 4 1. Tuote... 4 1. Määritelmät, termit ja lyhenteet...

Lisätiedot

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique VAATIMUSMÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 3 1. JOHDANTO... 4 1.1 Algoritmi... 4 1.2 Graafi... 4 1.3 Nauty... 5 1.4 Mermaid... 5 2. YLEISKUVAUS...

Lisätiedot

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique VAATIMUSMÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 3 1. JOHDANTO... 4 1.1 Algoritmi... 4 1.2 Graafi... 4 1.3 Nauty... 5 1.4 Mermaid... 5 2. YLEISKUVAUS...

Lisätiedot

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique TEKNINEN MÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 3 1. JOHDANTO... 4 1.1 Tarkoitus ja kattavuus... 4 1.2 Tuote ja ympäristö... 4 1.3 Määritelmät, merkintätavat

Lisätiedot

- painottamattoman graafin solmujen järjestäminen. - painotetun graafin solmujen järjestäminen

- painottamattoman graafin solmujen järjestäminen. - painotetun graafin solmujen järjestäminen 1. DEMO TUOTTEEN OMINAISUUKSISTA Tuotteesta demotaan seuraavat asiat: - käyttöliittymä - painottamattoman graafin solmujen järjestäminen - painotetun graafin solmujen järjestäminen - yhden maksimiklikin

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY MS

TOIMINNALLINEN MÄÄRITTELY MS TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa

Lisätiedot

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma TKK/DISKO/Tik-76.115 WCLIQUE Projektiryhmä Clique http://www.hut.fi/~jekahkon/wclique/testplan.pdf WCLIQUE Ohjelmistoprojekti WCLIQUE_TP Projektiryhmä Clique: Janne Dufva, 75008T, email: janne.dufva@nokia.com

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma TKK/DISKO/Tik-76.115 WCLIQUE Projektiryhmä Clique http://www.hut.fi/~jekahkon/wclique/testplan.pdf WCLIQUE Ohjelmistoprojekti WCLIQUE_TP Projektiryhmä Clique: Janne Dufva, 75008T, email: janne.dufva@nokia.com

Lisätiedot

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma TKK/DISKO/Tik-76.115 WCLIQUE Projektiryhmä Clique http://www.hut.fi/jekahkon/wclique/testplan.html WCLIQUE Ohjelmistoprojekti Projektiryhmä Clique: Janne Dufva, 75008T, email: janne.dufva@nokia.com, 75014C,

Lisätiedot

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005 Graafin 3-värittyvyyden tutkinta T-79.165 Graafiteoria, projektityö (eksakti algoritmi), kevät 2005 Mikko Malinen, 36474R 29. maaliskuuta, 2005 Tiivistelmä Artikkelissa käydään läpi teoriaa, jonka avulla

Lisätiedot

TIEDONKULKU. PROJEKTITYÖ Tik-76.115 Wclique

TIEDONKULKU. PROJEKTITYÖ Tik-76.115 Wclique TIEDONKULKU PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 2 1. JOHDANTO... 3 1.1 Tämän dokumentin tarkoitus... 3 1.2 Projekti... 3 2. Tiedonkulku... 3 2.1 Yleistä... 3

Lisätiedot

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TEKNINEN MÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 2 1. JOHDANTO... 3 1.1 Tarkoitus ja kattavuus... 3 1.2 Tuote ja ympäristö... 3 1.3 Määritelmät, merkintätavat

Lisätiedot

Verkon värittämistä hajautetuilla algoritmeilla

Verkon värittämistä hajautetuilla algoritmeilla Verkon värittämistä hajautetuilla algoritmeilla 5 12 30 19 72 34 Jukka Suomela 15 77 18 4 9. tammikuuta 2012 19 2 68 Verkko 2 Verkko solmu 3 Verkko solmu kaari 4 Hajautettu järjestelmä solmu (tietokone)

Lisätiedot

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Toiminnallinen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.01 7.11.01 Pekka Koskinen Alustava sisällysluettelo 0.1 12.11.01 Pekka

Lisätiedot

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TEKNINEN MÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 2 1. JOHDANTO... 3 1.1 Tarkoitus ja kattavuus... 3 1.2 Tuote ja ympäristö... 3 1.3 Määritelmät, merkintätavat

Lisätiedot

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä Demosovelluksen toiminnallinen määrittely v. 1.1 Päivitetty 11.12.2000 klo 20:16 Timo Lämsä 2 (13) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite Timo Lämsä Pieniä korjauksia.

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,

Lisätiedot

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen

Lisätiedot

6.4. Järjestyssuhteet

6.4. Järjestyssuhteet 6.4. Järjestyssuhteet Joukon suhteilla voidaan kuvata myös alkioiden järjestystä tietyn ominaisuuden suhteen. Järjestys on myös kaksipaikkainen suhde (ja on monia erilaisia järjestyksiä). Suhde R joukossa

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 4. Joukot, relaatiot ja funktiot Osa 3: Funktiot 4.3 Funktiot Olkoot A ja B joukkoja. Funktio joukosta A joukkoon B on sääntö, joka liittää yksikäsitteisesti määrätyn

Lisätiedot

VAATIMUSMÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 4)

VAATIMUSMÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 4) VAATIMUSMÄÄRITTELY Versio 1.0 (luonnos 4) Edited by Checked by Approved by Juha Parhankangas Luonnos 4 i Sisällysluettelo DOKUMENTIN VERSIOT 1 1. JOHDANTO 2 1.1. Projektin luonne 2 1.2. Tarkoitus ja kattavuus

Lisätiedot

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet ) T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen

Lisätiedot

Vaatimusmäärittely. Kymenlaakson partiopiirin jäsenrekisteri

Vaatimusmäärittely. Kymenlaakson partiopiirin jäsenrekisteri Vaatimusmäärittely Kymenlaakson partiopiirin jäsenrekisteri SISÄLTÖ 1 JOHDANTO... 3 1.1 Tarkoitus ja kattavuus... 3 1.2 Tuote ja sen ympäristö... 3 1.3 Määritelmät, termit ja käytetyt lyhenteet... 4 1.4

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,

Lisätiedot

Datatähti 2019 loppu

Datatähti 2019 loppu Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

Tietotekniikan valintakoe

Tietotekniikan valintakoe Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan

Lisätiedot

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) Toistaiseksi helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Vaikeaa eroavuudet Pythonin ja C:n

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.0

TOIMINNALLINEN MÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.0 TOIMINNALLINEN MÄÄRITTELY Versio 1.0 Edited by Checked by Approved by Tuomo Marttila Juha Parhakangas Toiminnallinenmäärittely i Sisällysluettelo 1. JOHDANTO 2 1.1. Tarkoitus ja kattavuus 2 1.2. Tuote

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2 TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa

Lisätiedot

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 1. Luento 8 Ke Timo Männikkö Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin

Lisätiedot

Harjoitus 3 (3.4.2014)

Harjoitus 3 (3.4.2014) Harjoitus 3 (3..) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i, j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 1. JOHDANTO... 3 1.1 Tarkoitus ja kattavuus... 3 1.2 Tuote... 3 1.3 Määritelmät, termit ja lyhenteet... 3 1.4 Viitteet...

Lisätiedot

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Toinen harjoitustyö. ASCII-grafiikkaa 2017 Toinen harjoitustyö ASCII-grafiikkaa 2017 Yleistä Tehtävä: tee Javalla ASCII-merkkeinä esitettyä grafiikkaa käsittelevä ASCIIArt17-ohjelma omia operaatioita ja taulukoita käyttäen. Työ tehdään pääosin

Lisätiedot

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) (Erittäin) helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Ei selvää että main funktion pitikin

Lisätiedot

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Ohjelmointi 1 / 2009 syksy Tentti / 18.12 Tentti / 18.12 Vastaa yhteensä neljään tehtävään (huomaa että tehtävissä voi olla useita alakohtia), joista yksi on tehtävä 5. Voit siis valita kolme tehtävistä 1 4 ja tehtävä 5 on pakollinen. Vastaa JOKAISEN

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

VAATIMUSMÄÄRITTELY. Polku http://code.google.com/p/polku-projekti/ Versio 1.1. Projektiryhmä

VAATIMUSMÄÄRITTELY. Polku http://code.google.com/p/polku-projekti/ Versio 1.1. Projektiryhmä VAATIMUSMÄÄRITTELY Polku http://code.google.com/p/polku-projekti/ Versio 1.1 Projektiryhmä Janne Pihlajaniemi Antti Jämsén Maria Hartikainen Pekka Kallioniemi Jorma Laajamäki Panu Tunttunen Nina Tyni Joonas

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Algoritmit 1. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 2 Ke Timo Männikkö Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

Lisätiedot

Toiminnallinen määrittely. XLet esimerkkisovellus

Toiminnallinen määrittely. XLet esimerkkisovellus Toiminnallinen määrittely XLet esimerkkisovellus Versio Päiväys Tekijä Kuvaus 0.1 7.12.2001 Oskari Pirttikoski Ensimmäinen versio Toiminnallinen määrittely, XLet esimerkkisovellus 1/12 SISÄLLYSLUETTELO

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Ohjelmointitehtävien osalta palautetaan

Lisätiedot

12. Näppäimistöltä lukeminen 12.1

12. Näppäimistöltä lukeminen 12.1 12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.

Lisätiedot

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu 811312A Tietorakenteet ja algoritmit 2017-2018, Harjoitus 2 ratkaisu Harjoituksen aiheena on algoritmien oikeellisuus. Tehtävä 2.1 Kahvipurkkiongelma. Kahvipurkissa P on valkoisia ja mustia kahvipapuja,

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 3 Ti 13.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 3 Ti 13.9.2011 p. 1/37 p. 1/37 Epälineaariset yhtälöt Newtonin menetelmä: x n+1 = x n f(x n) f (x n ) Sekanttimenetelmä:

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward

Lisätiedot

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Harjoitus 6 (viikko 42)

Harjoitus 6 (viikko 42) Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

Lisätiedot

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 1 TIE-20100 Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 2 Lähteet Luentomoniste pohjautuu vahvasti prof. Antti Valmarin vanhaan luentomonisteeseen

Lisätiedot

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n)) Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia

Lisätiedot

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla 2.5. YDIN-HASKELL 19 tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla kirjaimilla. Jos Γ ja ovat tyyppilausekkeita, niin Γ on tyyppilauseke. Nuoli kirjoitetaan koneella

Lisätiedot

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Osoittimet Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Muistilohkon koko riippuu muuttujan tyypistä, eli kuinka suuria arvoja muuttujan

Lisätiedot

T Testiraportti - integraatiotestaus

T Testiraportti - integraatiotestaus T-76.115 Testiraportti - integraatiotestaus 16. huhtikuuta 2002 Confuse 1 Tila Versio: 1.1 Tila: Päivitetty Jakelu: Julkinen Luotu: 19.03.2002 Jani Myyry Muutettu viimeksi: 16.04.2002 Jani Myyry Versiohistoria

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Datatähti 2000: alkukilpailun ohjelmointitehtävä

Datatähti 2000: alkukilpailun ohjelmointitehtävä Datatähti 2000: alkukilpailun ohjelmointitehtävä 1 Lyhyt tehtävän kuvaus Tehtävänä on etsiä puurakenteen esiintymiä kirjaintaulukosta. Ohjelmasi saa syötteenä kirjaintaulukon ja puun, jonka jokaisessa

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Harjoitus 3 (31.3.2015)

Harjoitus 3 (31.3.2015) Harjoitus (..05) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i,j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

Ohjelmiston toteutussuunnitelma

Ohjelmiston toteutussuunnitelma Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,

Lisätiedot

Johdatus verkkoteoriaan 4. luento

Johdatus verkkoteoriaan 4. luento Johdatus verkkoteoriaan 4. luento 28.11.17 Viikolla 46 läpikäydyt käsitteet Viikolla 47 läpikäydyt käsitteet Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot,

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 4 3.4.017 Tehtävä 1 Tarkastellaan harjoituksen 1 nopeimman reitin ongelmaa ja etsitään sille lyhin virittävä puu käyttämällä kahta eri algoritmia. a) (Primin algoritmi) Lähtemällä

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi 1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla

Lisätiedot

TIE Tietorakenteet ja algoritmit 261

TIE Tietorakenteet ja algoritmit 261 TIE-20100 Tietorakenteet ja algoritmit 261 12 Graafit Seuraavaksi tutustutaan tietorakenteeseen, jonka muodostavat pisteet ja niiden välille muodostetut yhteydet graafiin. Keskitymme myös tyypillisimpiin

Lisätiedot

Zeon PDF Driver Trial

Zeon PDF Driver Trial Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin

Lisätiedot

8.5. Järjestyssuhteet 1 / 19

8.5. Järjestyssuhteet 1 / 19 8.5. Järjestyssuhteet 1 / 19 Määritelmä Joukon suhteilla voidaan kuvata myös alkioiden järjestystä tietyn ominaisuuden suhteen. Järjestys on myös kaksipaikkainen suhde (ja on monia erilaisia järjestyksiä).

Lisätiedot

Visma Business AddOn Tositteiden tuonti. Käsikirja

Visma Business AddOn Tositteiden tuonti. Käsikirja Visma Business AddOn Tositteiden tuonti Käsikirja Oppaan päiväys: 10.2.2012. Asiakaspalvelu: Helpdesk: www.visma.fi Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin

Lisätiedot

Harjoitus 3 (viikko 39)

Harjoitus 3 (viikko 39) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Vältä liian pitkiä rivejä. Ohjelmointitehtävien

Lisätiedot

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu 811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

Simulaattorin asennus- ja käyttöohje

Simulaattorin asennus- ja käyttöohje Linux ja Windows XP Versio Päiväys Muokkaaja Kuvaus 0.2 16.2.2006 Mikko Halttunen Katselmoinin jälkeen 0.1 13.2.2006 Mikko Halttunen Alustava versio Sisällysluettelo 1 Johdanto... 3 2 Simulaattorin asennus...

Lisätiedot

Julkaiseminen verkossa

Julkaiseminen verkossa Julkaiseminen verkossa H9T1: Tiedostojen vienti internetiin Yliopiston www-palvelin, kielo Unix käyttöjärjestelmästä hakemistorakenne etäyhteyden ottaminen unix-koneeseen (pääteyhteys) komentopohjainen

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

VAATIMUSMÄÄRITTELY. Polku http://code.google.com/p/polku-projekti/ Versio 1.2. Projektiryhmä

VAATIMUSMÄÄRITTELY. Polku http://code.google.com/p/polku-projekti/ Versio 1.2. Projektiryhmä VAATIMUSMÄÄRITTELY Polku http://code.google.com/p/polku-projekti/ Versio 1.2 Projektiryhmä Janne Pihlajaniemi Antti Jämsén Maria Hartikainen Pekka Kallioniemi Jorma Laajamäki Panu Tunttunen Nina Tyni Joonas

Lisätiedot

VAATIMUSMÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.2

VAATIMUSMÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.2 VAATIMUSMÄÄRITTELY Edited by Checked by Approved by Antti Tuomaala Juha Parhankangas Niko Stenberg i Sisällysluettelo DOKUMENTIT VERSIOT 1 1. JOHDANTO 2 1.1. Projektin luonne 2 1.2. Tarkoitus ja kattavuus

Lisätiedot

Ekvivalenssirelaatio. Määritelmä 2 Joukon A binäärinen relaatio R on ekvivalenssirelaatio, mikäli. Jos R on ekvivalenssirelaatio ja a A, niin joukkoa

Ekvivalenssirelaatio. Määritelmä 2 Joukon A binäärinen relaatio R on ekvivalenssirelaatio, mikäli. Jos R on ekvivalenssirelaatio ja a A, niin joukkoa Määritelmä 1 Olkoot x ja y joukon A alkioita. Jos R on jokin ominaisuus/ehto, joka määritellään yksikäsitteisesti joukon A kaikkien alkioiden välille siten, että se joko toteutuu tai ei toteudu alkioiden

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 2.5.2017 Timo Männikkö Luento 13 Merkkijonon sovitus Horspoolin algoritmi Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys

Lisätiedot

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright

Lisätiedot

Muuttujien määrittely

Muuttujien määrittely Tarja Heikkilä Muuttujien määrittely Määrittele muuttujat SPSS-ohjelmaan lomakkeen kysymyksistä. Harjoitusta varten lomakkeeseen on muokattu kysymyksiä kahdesta opiskelijoiden tekemästä Joupiskan rinneravintolaa

Lisätiedot