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-7.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 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... 0

3 7.1 Standardit Laitteistorajoitteet Ohjelmistorajoitteet Muut rajoitteet JATKOKEHITYSAJATUKSIA... 0 VERSIOHISTORIA Versio Päivämäärä Laatija Kuvaus JDu Korjattu versio, klikkien kuvat korjattu oikeita vastaaviksi JDu Esimerkkigraafeja paranneltu ja vaatimusmäärittelyn vaatimuksien otsikointitapa tuotu toiminnalliseenmäärittelyyn. Lisätty useita parannuksia JDu Päivitetty komentorivikutsu.

4 TOIMINNALLINEN MÄÄRITTELY 4 (0) 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 (0) 1.4 Viitteet [Vaat] [Toim] [Patrik1] Vaatimusmäärittely Toiminnallisen määrittelyn mallidokumentti Patric Östergårdin toimittama dokumentti 1 wcliquesta [Patrik] Patric Östergårdin toimittama dokumentti wcliquesta [Patrik] Patric Östergårdin kirjoittama dokumentti wcliquen vaatimuksista 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 7 kertoo ohjelman rajoitteista Viimeisessä luvussa kerrotaan jatkokehityssuunnitelmista.

6 TOIMINNALLINEN MÄÄRITTELY (0). YLEISKUVAUS.1 Ympäristö. Toiminta ohjelma toimii Linux ja Unix ympäristössä (myöhemmin ehkä 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. 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 7 (0). TIEDOT JA TIETOKANTA.1 Tietosisältö ohjelma voi lukea syötteenä kahta eri formaattia: binääristä ja ascii muotoista Dimacs -formaattia. Tulosteena antaa joko kokonaislukuja tai solmupisteiden luettelon/luetteloita..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 Tulostiedostot: Ratkaisurivi (Solution Line) alkaa pienellä s-kirjaimella esim. rivi s clq 1 ilmaisee painotetun klikin kooksi 1 ja vastaavasti rivi s clu 1 ilmaisee painottamattoman klikin kooksi 1. Rivi s col 4

8 TOIMINNALLINEN MÄÄRITTELY 8 (0) puolestaan ilmaisee graafin väritykseen tarvittavien värien määrän. Bound Line alkaa pienellä p-kirjaimella ilmaisee esim. maksimiklikin ylärajan b 1 Klikkirivit (Clique Lines) alkavat pienellä v-kirjaimella ja ilmaisevat klikin solmut. Kutakin solmua kohti on yksi rivi. Esimerkkinä alla klikki, jossa on neljä solmua: 1, 4,. v 1 v v 4 v Muitakin rivityyppejä on ja niihin voi tutustua tarkemmin yllämainitun dokumentin avulla..1. 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.. 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.

9 TOIMINNALLINEN MÄÄRITTELY 9 (0) 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 ssa 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 :ssa. 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 7, merkintätapa on 4(7). Mikäli painoarvo on kaikissa solmuissa 1, ei painoarvoja merkitä ja graafia käsitellään painottamattomana graafina. Aloitus Syöte Järjestä graafi Tulosta Prosessoi Lopetus Kuva. n toiminta vuokaaviona.

10 TOIMINNALLINEN MÄÄRITTELY 10 (0) 1(1) (8) () 4() 5() () 7(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:ssa. Kuva 4. Painottamattoman graafin solmujen värittäminen klikkien perusteella.

11 TOIMINNALLINEN MÄÄRITTELY 11 (0) Kaikki solmut väritetään minimimäärällä värejä 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. 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.

12 TOIMINNALLINEN MÄÄRITTELY 1 (0) 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 7 Kuva 5. Maksimi klikki Yhden painotetun maksimiklikin laskeminen laskee pyydettäessä maksimiklikin ja tulostaa sen solmupisteet (Kuva ). 1,,,,7,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: 8,,,1 4.. 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 7:ssa.

13 TOIMINNALLINEN MÄÄRITTELY 1 (0) variaatio 7 8 variaatiota (pisteet ja vaihtuvat pisteiksi ja 7) 8 variaatiota (pisteet ja -> pisteiksi ja 7) 8 variaatiota (pisteet ja -> pisteiksi ja 7) variaatiota (piste -> pisteeksi ) variaatiota (piste -> pisteeksi ) variaatiota (piste -> pisteeksi ) variaatiota (piste -> pisteeksi 7) variaatiota (piste -> pisteeksi 7) 8 variaatiota (piste 7 -> pisteeksi ) Kuva 7. 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,,,,7.

14 TOIMINNALLINEN MÄÄRITTELY 14 (0) 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:ssa on osoitettu ne neljä 5:n solmun klikkiä jota esimerkkigraafista löytyy. n antama tuloste on esitetty Kuva 9:ssa Kuva 8. Esimerkkikuvaajan klikit, joissa klikkien määrä on 5 tai enemmän. 1,,,,7,8 1,,,,7,,5,,7,,,7,8 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) () () 7(4) Kuva 10. Painotettu maksimi klikki. 8(5)

15 TOIMINNALLINEN MÄÄRITTELY 15 (0) 1,,,,7,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:,,, Kaikkien luokkaa S klikkien laskeminen laskee kaikkien klikkien solmupisteet, jotka ovat kooltaan luokkaa S. Jos pyydetään luokkaa 17 olevien klikkien lukumäärää, palauttaa kolme sarjaa solmupisteitä. Nämä ehdon täyttävät klikit on esitetty Kuva 1. () 1(1) (8) () 5() () 7(4) (8) () 7(4) Kuva 1. Luokkaa 17 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,,,,7.

16 TOIMINNALLINEN MÄÄRITTELY 1 (0) 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) () () 7(4) () 7(4) () 7(4) () 7(4) 8(5) (8) (8) () (8) 8(5) () 7(4) () 5() () 7(4) 8(5) 8(5) Kuva 1. Klikit joiden arvo vähintään 1. 1,,,,7,,5,,7,,,7,5 1,,,,7,8,,7,8,,,8,5,,7 Kuva 14. Tuloste painotetussa tapauksessa: S on vähintään 1.

17 TOIMINNALLINEN MÄÄRITTELY 17 (0) 4..1 n ensimmäinen vaihe: Funktiokutsu funktiota voidaan kutsua ohjelmakoodista. Seuraavassa on esitetty funktion kutsurajapinta ja parametrien selitykset. Int wclique( void *input_ptr, void *output_ptr, long number_of_nodes, int ordering, int wclique_algorithm, long node_boundary_value); Input_ptr on osoitin graafin kuvaustietorakenteen alkuun. Tietorakenne on kuvattu teknisessä määrittelyssä. Käyttäjän on varattava ja täytettävä tietorakenne ennen funktiokutsua. Output_ptr on osoitin graafin tulostietorakenteeseen. Tietorakenne on kuvattu teknisessä määrittelyssä. Number_of_nodes määrittää kuinka monta solmua graafissa on. Ordering määrittää järjestetäänkö tietorakenne. Jos ordering saa arvon 0 niin tietorakennetta ei järjestetä ja jos ordering saa arvon 1 niin järjestäminen tapahtuu värittämismenetelmällä. _algorithm määrittää mitä algoritmia funktion kutsuja haluaa käyttää. Kuvassa 14 parametrin -c kohdalla on listattu valittavat algoritmit. Node_boundary_value määrittää halutun raja-arvon etsittävien klikkien koolle (S). Tällä on merkitystä osassa algoritmeista. Esimerkiksi etsittäessä S kokoisia klikkejä. Paluuarvona funktio palauttaa tiedon funktion onnistumisesta tai epäonnistumisesta (virhekoodi). Tämä on kuvattu tarkemmin teknisessä määrittelyssä.

18 TOIMINNALLINEN MÄÄRITTELY 18 (0) n toinen vaihe: Komentorivikutsu ohjelma käynnistetään komennolla: wclique ja sen parametrin on esitetty alla. Komentorivikutsu tapahtuu nimensä mukaisesti komentoriviltä seuraavan esimerkin mukaisesti: wclique [-hir] [--help] [--info] [--reorder] [--format={ascii,binary}] [--size={[+]n,max}] [-- type={one,all}] [name] -h, --help -i, --info -r, --reorder --format={ascii,binary} --size={[+]n,max} tulosta aputeksti tulosta haun etenemista kuvaavaa tietoa standard errorriin solmujen heuristinen jarjestely syotetiedoston tyyppi, default on ascii. haettujen klikkien koko, default on max, N := annettu koko, +N := >= annettu koko. --type={one,all} haettujen klikkien lukumaara, default on one. Muutama tarkennus: 1. Painotettu/painottamaton: binaaritiedosto => aina painottamaton, ascii => selviaa tiedoston sisallosta.. Jos input-tiedoston nimi puuttuu luetaan standard inputia.. Ohjelma tulostaa aina kaikki klikit, yksi klikki per rivi -> standard output. 5. ULKOISET LIITTYMÄT 5.1 Laitteistoliittymät Ei ole laitteistoliittymiä. 5. Ohjelmistoliittymät Ei ole ohjelmistoliittymiä. 5. Tietoliikenneliittymät Ei ole tietoliikenneliittymiä.

19 TOIMINNALLINEN MÄÄRITTELY 19 (0). 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ä..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.

20 TOIMINNALLINEN MÄÄRITTELY 0 (0) 7. SUUNNITTELURAJOITTEET 7.1 Standardit 7. Laitteistorajoitteet Ohjelma on tehty ansi -C kielellä kuten vaatimusmäärittelyissä on kerrottu. Ei rajoitteita 7. Ohjelmistorajoitteet 7.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-.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

- 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

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

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

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

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

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

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

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

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

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

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ä 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

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

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

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

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

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

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

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

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

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

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. 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

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

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

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

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

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

Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö

Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö Kon-15.4199 Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö 22.1.2016 Harjoituksessa 1. Varmistetaan että kaikilla on pari! Ilmoittautukaa oodissa etukäteen! 2. Tutustutaan ensimmäiseen tehtävää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

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

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

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

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

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

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

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

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

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

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

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

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje 04.02.2005 1 (6) SÄHKE-hanke Versio ja pvm Laatinut Tarkpvm Tarkastanut Hyvpvm Hyväksynyt 2.0 / 04.02.2005 Anneli Rantanen 15.02.2005 Markus Merenmies 18.02.2005 Ohjausryhmä 04.02.2005 2 (6) Muutoshistoria

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

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

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

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

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

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

T Testiraportti - järjestelmätestaus

T Testiraportti - järjestelmätestaus T-76.115 Testiraportti - järjestelmätestaus 18. huhtikuuta 2002 Confuse 1 Tila Versio: 1.0 Tila: Päivitetty Jakelu: Julkinen Luotu: 18.04.2002 Jani Myyry Muutettu viimeksi: 18.04.2002 Jani Myyry Versiohistoria

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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 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

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

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. 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

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

Lisätiedot

Valppaan asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi

Lisätiedot

Algoritmit 2. Luento 10 To Timo Männikkö

Algoritmit 2. Luento 10 To Timo Männikkö Algoritmit 2 Luento 10 To 19.4.2018 Timo Männikkö Luento 10 Peruutusmenetelmä Osajoukon summa Verkon 3-väritys Pelipuut Pelipuun läpikäynti Algoritmit 2 Kevät 2018 Luento 10 To 19.4.2018 2/34 Algoritmien

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

Maahan on pudonnut omenoita, ja Uolevi aikoo poimia niitä. Tiedät jokaisesta omenasta, kuinka painava se on.

Maahan on pudonnut omenoita, ja Uolevi aikoo poimia niitä. Tiedät jokaisesta omenasta, kuinka painava se on. Datatähti 2015 A: Omenat Aikaraja: 2 s Maahan on pudonnut omenoita, ja Uolevi aikoo poimia niitä. Tiedät jokaisesta omenasta, kuinka painava se on. Uolevi haluaa saada mahdollisimman monta omenaa, mutta

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

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

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

Luento 4. Timo Savola. 21. huhtikuuta 2006

Luento 4. Timo Savola. 21. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 4 Timo Savola 21. huhtikuuta 2006 Osa I Shell Lausekkeet Komentoriville kirjotettu komento on lauseke echo "foo" echo $USER MUUTTUJA=1 ls -l Rivinvaihto

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

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

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

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

Lisätiedot

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen CVS Versionhallintajärjestelmä Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen Käytetään komentoriviltä, myös graafisia käyttöliittymiä saatavilla CVS Kaikki tiedostot

Lisätiedot

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ). Tehtävä 1: Metodit, listat, alkuluvut (4p) Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ). Alkuluvut ovat lukuja, jotka ovat suurempia kuin yksi ja jotka ovat jaollisia

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen

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

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

Ohjelmoinnin perusteet, kurssikoe

Ohjelmoinnin perusteet, kurssikoe Ohjelmoinnin perusteet, kurssikoe 18.6.2014 Kirjoita jokaiseen konseptiin kurssin nimi, kokeen päivämäärä, nimi, TMC-tunnus ja opiskelijanumero tai henkilötunnus. Vastaukset palautetaan tehtäväkohtaisiin

Lisätiedot

Demo 1: Simplex-menetelmä

Demo 1: Simplex-menetelmä MS-C2105 Optimoinnin perusteet Malliratkaisut 3 Ehtamo Demo 1: Simplex-menetelmä Muodosta lineaarisen tehtävän standardimuoto ja ratkaise tehtävä taulukkomuotoisella Simplex-algoritmilla. max 5x 1 + 4x

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot