L models. Vaatimusmäärittely. Ryhmä Rajoitteiset
|
|
- Pekka Mikkola
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Teknillinen Korkeakoulu T-76.5 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Vaatimusmäärittely Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset Vesa Salento Ensimmäinen versio, pohja asiakirjalle Vesa Salento Lisätty enemmän vaatimuksia Joonas Kekoni Kielivaatimukset lisätty ja kappaleet ja korjattu Vesa Salento Lisätty käyttäjävaatimuksia ja korjattu sisällysluetteloa Vesa Salento Päivitetty sisältö ryhmäpalaverissa tulleiden kommenttien mukaiseksi Jouni Karppinen Dokumenttipohja otettu käyttöön. Vähän muotoilua Vesa Salento Päivitetty vaatimuksia ja termistöä Jouni Karppinen & Mitro Kuha Dokumentti tarkastettu ja korjattu palautusta varten.
2 Sisällysluettelo Johdanto... Asiakastavoitteet... Määritykset.... Termistö... 4 Yleiskuva Käyttäjäryhmät Esimerkki rajoitustiedostosta... 5 Vaatimukset Kielivaatimukset Käyttäjävaatimukset Toiminnalliset vaatimukset Muut vaatimukset... 6 Liite A - Kielen formaali määritelmä... 7
3 Johdanto Ryhmän tavoitteena on rakentaa järjestelmä, jonka avulla voi ratkaista rajoitteita, jotka sisältävät sekä lineaarisia sekalukuyhtälöitä sekä loogisia rajoitteita. Järjestelmän tulee kyetä jäsentämään määritellyllä kielellä toteutettu ongelma sen suhteen, mitkä ovat annettujen muuttujien mahdolliset arvot, tai sen, että niitä ei ole. Ryhmän toteuttama järjestelmä ratkaisee ongelman muuttamalla lineaarisia ja loogisia yhtälöitä sisältävän ongelman lineaarisen optimoinnin tehtäväksi, jonka ratkaisemiseen käytetään tarkoitukseen tehtyä valmisohjelmaa tai komponenttia. Testikäyttöä varten komponentille rakennetaan myös käyttöliittymä. Käyttöliittymä on tarkoitettu vain testausta varten, ja itse järjestelmää on tarkoitus käyttää irrallisena komponenttina jo olemassa olevasta asiakkaan ohjelmasta käsin. Tästä syystä järjestelmälle ei tehdä myöskään käyttötapauskuvauksia. Asiakastavoitteet Projektin tavoitteena on tutkia, soveltuuko ratkaisumalli lineaaristen rajoitteiden lisäämiseen WeCoTin-konfigurointiohjelmaan, sekä tuottaa asiakkaalle komponentti, jonka he voivat tulevaisuudessa integroida WeCoTin-ohjelmistoon. Nykyään WeCoTin käyttää vain loogisia rajoitteita, mikä aiheuttaa rajoituksia numeerisen datan, kuten hinnan, toimitusajan sekä olosuhteista riippuvan tehon, käsittelyyn. Määritykset. Termistö Seuraavassa taulukossa on selitetty lyhyesti erikoistermistö, jota käytetään tämän asiakirjan eri kohdissa. Termi BNF CNF DNF Linearisointi Määrittely (Backus-Naur Form) Formaali matemaattinen tapa määritellä kielioppi. HUOM! ei yhteyttä CNF:ään ja DNF:ään. (Conjunctive Normal Form) Konjuktiivinen normaalimuoto. Muoto, jossa looginen lauseke on supistettu siten, että OR-operaatiot ovat AND-operaatioiden sisällä. NOT-operaatiot ovat terminaalien edessä. Esim. (a OR b OR NOT c) AND (d OR e). (Disjunctive Normal Form) Disjunktiivinen normaalimuoto. Muoto, jossa looginen lauseke on supistettu siten, että AND-operaatiot ovat OR-operaatioiden sisällä. NOT-operaatiot ovat terminaalien edessä. Esim. (a AND b) OR (c AND NOT d). Prosessi, jossa logiikkaa sisältävä kaava muutetaan lineaarisiksi operaatioiksi.
4 Termi Malli Nonterminaali Määrittely Rajoitteiden muodostama kokonaisuus, jolle pyritään löytämään vähintään yksi ratkaisu rajojen sisällä. Kieliopin osa, joka koostuu terminaaleista, nonterminaaleista tai molemmista. Esim. aliohjelma, kaava tai muuttujamäärittely. Säännöllinen lauseke Säännöllinen lauseke (regexp, regular expression) on merkkijonon määrittelemä kaava, jota voidaan käyttää toisten merkkijonojen osien erittelemiseen. Supistaminen Terminaali Prosessi, jossa tulkittu kieli muutetaan joko CNF- tai DNFmuotoon, sekä mahdolliset numeeriset lausekkeet muutetaan muotoon, jossa muuttujat varustettuina mahdollisilla kertoimilla ovat vertailuoperaation vasemmalla puolella ja vakio oikealla. Kieliopin osa, jota ei enää jaeta pienempiin osiin. Esim. muuttuja, vakio tai operaattori. Translaatio Prosessi, jossa kieli tulkitaan ohjelman sisäiseen tietorakenteeseen. Taulukko : Asiakirjassa käytetty erikoissanasto. 4 Yleiskuva 4. Käyttäjäryhmät Järjestelmällä on kahdenlaisia käyttäjiä. Ensimmäiset ovat henkilöitä, jotka syöttävät konfigurointilausekkeet järjestelmään, ja toiset ovat niitä, jotka käyttävät näitä lausekkeita ratkaistessaan ongelmia. 4. Esimerkki rajoitustiedostosta Järjestelmän pitää tukea kieltä, jolla voidaan kuvata vaikkapa seuraavanlainen rajoitusmääritelmä: 5 Vaatimukset # muuttujat määritellään ennen rajoitetta boolean kaksitaajuus, lahialue, ilta_tai_viikonloppu; # kokonais- ja liukulukumuuttujat, joilla on sama domain, # voidaan määrittää samalla kertaa integer C, CD, PC [0,]; float kuukausimaksu [5.5,00]; # rajoite (kaksitaajuus implies (C = 0)) and (not(kaksitaajuus or kaksitaajuus or kaksitaajuus ) implies (CD = 0)) and (lahialue implies (C = 0)) and (not(lahialue) implies (PC = 0)) and (ilta_tai_viikonloppu implies (CD = 0)) and (not(ilta_tai_viikonloppu) implies (PC = 0)) and (C + CD + PC = ) and (. * C +.5 * CD +.67 * PC <= kuukausimaksu) Vaatimukset voidaan jakaa neljään eri osaan. Ensimmäisenä ryhmänä on kielelle olevat
5 määritykset, joilla määritellään runko koko järjestelmälle. Seuraavana ryhmänä on käyttäjävaatimukset, joihin kuuluvat vaatimukset siitä, mitä käyttäjät haluavat kyetä tekemään järjestelmällä. Toiminnalliset vaatimukset kertovat eriteltynä, mitä toimintoja järjestelmän täytyy pystyä suorittamaan. Muihin vaatimuksiin on jätetty ne vaatimukset, jotka eivät sisälly em. ryhmiin. Kaikille vaatimuksille on annettu yksilöivä tunniste sekä prioriteettinumero, joka kertoo kuinka tärkeä vaatimus on. Seuraava taulukko sisältää tarkemman kuvauksen eri prioriteeteista. Prioriteetti Määritelmä Järjestelmän kannalta kriittinen vaatimus, jota ilman se ei voi toimia. Ilman tätä vaatimusta järjestelmän toiminta on huomattavasti suppeampi, kuin mikä olisi tarkoitus, ja siksi kaikki tämän prioriteetin vaatimukset pitää toteuttaa. Järjestelmän kannalta tärkeä vaatimus, joka olisi hyvä toteuttaa. Ilman tätä toiminnallisuus kärsii, mutta järjestelmää voidaan kuitenkin käyttää sen käyttötarkoitukseen. Kaikki tämän prioriteetin vaatimukset on tarkoitus toteuttaa. Järjestelmän kannalta lisätoiminta tai muuten vain käytettävyyttä helpottava vaatimus. Mikäli aikataulu sallii, niin nämä olisi tarkoitus toteuttaa. Taulukko : Prioriteettiluokkien kuvaukset. 5. Kielivaatimukset Kielen tavoitteena on kuvata lineaarisia ja loogisia rajoitteita, joita tuotteella voidaan ratkaista, sekä määritellä niiden muuttujat tyyppeineen ja rajoineen. Tunniste Vaatimus Prioriteetti LANG-REQ-0 Kielen pitää tukea seuraavia muuttujatyyppejä: totuusarvo (boolean), kokonaisluku (integer) ja liukuluku (float). LANG-REQ-0 Kaikille muuttujille pitää määritellä sekä nimi että muuttujatyyppi. LANG-REQ-0 Kaikkien käytettyjen muuttujien määrittely on pakollista. LANG-REQ-04 Samalla rivillä pitää voida määritellä useita muuttujia. LANG-REQ-05 Numeerisille muuttujille (integer, float) pitää määritellä rajat, jotka kertovat muuttujan kelvolliset arvot. LANG-REQ-06 Totuusarvotyyppisille muuttujille voidaan määritellä arvoksi tosi (true) tai epätosi (false), mutta tämä on vapaaehtoista. LANG-REQ-07 Loogisia ja numeerisia tyyppejä ei saa sekoittaa. Loogisella tyypillä ei ole numeerista arvoa, eikä numeerisella tyypillä loogista arvoa.
6 Tunniste Vaatimus Prioriteetti LANG-REQ-08 Kielen pitää mahdollistaa aritmeettisten lausekkeiden esittäminen seuraavilla operaatioilla: yhteenlasku (+), vähennyslasku (-) ja tulo (*). Kahden muuttujan kertomista ei tueta, sillä se ei ole lineaarinen operaatio. LANG-REQ-09 Kielen pitää tukea vakiolla jakamista (/). Muuttujalla jakamista ei tueta, sillä se ei ole lineaarinen operaatio. LANG-REQ-0 Kielen pitää tukea seuraavia loogisen tuloksen tuottavia aritmeettisia operaatioita: pienempi kuin (<), suurempi kuin (>), pienempi tai yhtäsuuri kuin (<=), suurempi tai yhtäsuuri kuin (>=), yhtäsuuri kuin (=) ja erisuuri kuin (!=). LANG-REQ- Kielen pitää tukea seuraavia loogisia operaatioita: konjunktio (AND), disjunktio (OR), negaatio (NOT), ehdoton tai (XOR), implikaatio (IMPLIES) ja ekvivalenssi (EQUIV). LANG-REQ- Kielen pitää tukea tavallisia aritmeettisten operaatioiden laskujärjestyssääntöjä, joissa tulo lasketaan ennen yhteenja vähennyslaskua. On sallittua kirjoittaa a+b*40<00, jolla tarkoitetaan samaa kuin a+(b*40)<00, sillä sulut eivät ole tässä pakollisia. LANG-REQ- Loogisilla operaatiolla noudatetaan seuraavia laskujärjestyssääntöjä: ensin negaatio (NOT), sitten konjunktio (AND), sen jälkeen disjunktio (OR) ja ehdoton tai (XOR) alkaen vasemmalta ja lopuksi ekvivalenssi (EQUIV) ja implikaatio (IMPLIES) alkaen vasemmalta. Esim. a AND (NOT b) voidaan kirjoittaa ilman sulkeita muodossa a AND NOT b. LANG-REQ-4 Kielen tulee tukea ketjudisjunktioita ja -konjunktioita. Lauseke voidaan kirjoittaa muodossa a AND b AND c sen sijaan, että se kirjoitettaisiin (a AND b) AND c tai a AND (b AND c). Taulukko : Järjestelmän kielivaatimukset. 5. Käyttäjävaatimukset Käyttäjävaatimukset tulevat käyttäjien tarpeista järjestelmälle. Ne ovat yleisiä toiminnallisuuksia, mitä käyttäjä haluaa tehdä järjestelmällä. 4
7 Tunniste Vaatimus Prioriteetti USER-REQ-0 Järjestelmän on tarjottava käyttöliittymä, josta käyttäjä voi syöttää järjestelmän ratkaistavaksi kieliopin mukainen malli. USER-REQ-0 Järjestelmän on tarjottava käyttäjälle mahdollisuus valita mallin ratkaisuun käytettävä ratkaisija. USER-REQ-0 Järjestelmän on mahdollistettava ratkaisijakohtaisten alustusasetusten asettaminen. USER-REQ-04 Järjestelmän on mahdollistettava ratkaisijakohtaisten alustusasetusten määrittäminen. USER-REQ-05 Järjestelmän on kyettävä ratkaisemaan kieliopin mukainen käyttäjän syöttämä malli. USER-REQ-06 Järjestelmän on kyettävä laskemaan muuttujille kelvollisten arvojen rajat kieliopin rajoitteiden puitteissa. USER-REQ-07 Käyttäjän on kyettävä valitsemaan muuttujille arvoja laskettujen rajojen puitteissa. USER-REQ-08 Käyttäjän on kyettävä muuttamaan muuttujille valittuja arvoja. USER-REQ-09 Käyttäjän muutettua muuttujien arvoja järjestelmän on kyettävä laskemaan tämän muutoksen jälkeen muiden muuttujien mahdolliset uudet rajat. USER-REQ-0 Käyttäjän on kyettävä muuttamaan jo tehtyjä valintoja, jolloin tilanne päivitetään muutosten mukaiseksi. USER-REQ- Järjestelmän on näytettävä käyttäjälle eri muuttujien mahdolliset arvot valittujen muiden muuttujien aiheuttamien rajojen perusteella. USER-REQ- Järjestelmän on mahdollistettava useamman eri muuttujan arvojen muuttaminen ennen tilanteen päivitystä. USER-REQ- Järjestelmän on kyettävä näyttämään ratkaisuun käytetty prosessoriaika käyttöliittymässä. USER-REQ-4 Järjestelmän on kyettävä näyttämään linearisoidun mallin koko valituilla muuttujien arvoilla (jäljellä olevien muuttujien ja yhtälöiden määrä). USER-REQ-5 Järjestelmän on kyettävä näyttämään jokin ratkaisu, mikäli sellainen on olemassa muuttujien valittujen arvojen puitteissa. USER-REQ-6 Järjestelmän käyttöliittymän on oltava englanniksi. Taulukko 4: Järjestelmän käyttäjävaatimukset. 5. Toiminnalliset vaatimukset Järjestelmän pitää kyetä lukemaan kieliopin mukaan määritelty malli, jäsentämään siitä jäsennyspuu sekä supistamaan se konjunktiiviseen ja disjunktiiviseen normaalimuotoon. 5
8 Osalle muuttujista on määritelty niiden arvot ja osa arvoista on käyttäjän valittavissa. Ohjelman pitää kyetä laskemaan niiden muuttujien arvoille mahdolliset rajat, joille ei ole vielä valittu mitään arvoa. Tunniste Vaatimus Prioriteetti FUNC-REQ-0 Järjestelmän on kyettävä jäsentämään kieliopin mukainen syöte jäsennyspuuksi. FUNC-REQ-0 Järjestelmän pitää kyetä tunnistamaan kieliopin vastainen syöte. FUNC-REQ-0 Järjestelmän on kerrottava, missä kohtaa mallissa on virhe, mikäli sille syötetään kieliopin vastainen syöte. FUNC-REQ-04 Järjestelmän pitää pystyä optimoimaan supistettua mallia, jotta sen ratkaiseminen voi tapahtua mahdollisimman nopeasti. FUNC-REQ-05 Järjestelmän pitää kyetä ratkaisemaan yhtä aikaa useampaa eri tehtävää. Taulukko 5: Järjestelmän toiminnalliset vaatimukset. 5.4 Muut vaatimukset Loput vaatimukset on esitetty taulukossa 6. Ne eivät sisälly mihinkään edellisistä vaatimusryhmistä, ja ovat siksi koottu omaan ryhmäänsä. Tunniste Vaatimus Prioriteetti MISC-REQ-0 Järjestelmän käyttämien ratkaisijoiden vaihtaminen pitää olla mahdollista. MISC-REQ-0 Järjestelmän käyttämä aika ratkaisun etsimiseen pitää olla rajoitettavissa. MISC-REQ-0 Järjestelmän ei pidä jumiutua millään syötteellä. MISC-REQ-04 Järjestelmän pitää toimia useammassa eri käyttöjärjestelmässä, joten se ei saa tukeutua mihinkään yksittäisen käyttöjärjestelmän erityisominaisuuteen. MISC-REQ-05 Käyttäjälle on tarjottava selainpohjainen käyttöliittymä järjestelmän testausta varten. Taulukko 6: Järjestelmän muut vaatimukset. 6
9 Liite A - Kielen formaali määritelmä Koska kieli on suurimmalta osaltaan asiakkaan määrittelemä, niin se on siksi sisällytetty tähän vaatimusmäärittelyyn liitteeksi. Kieliopin pitää toteuttaa kielelle määritellyt vaatimukset, jotka on lueteltu kohdassa 5. Kielivaatimukset. Seuraava määrittely toteuttaa nämä ja on oikeata kielioppia, mutta käyttää loogisia ja numeerisia tyyppejä sekaisin. Kielen terminaalien määrittely Alla on kielen terminaalit määriteltynä säännöllisillä lausekkeilla. Säännöllinen lauseke Terminaali ";" SEMI "+" PLUS "-" MINUS "*" TIMES "/" DIV "(" LPAREN ")" RPAREN "[" LBRACK "]" RBRACK "," COMMA "=" "==" EQ "!=" NEQ ">" GT "<" LT ">=" GE "<=" LE "and" AND "or" OR "not"" NOT "xor" XOR "implies" "imp" IMPLIES "equiv" "xnor" EQUIV "boolean" VBOOL "integer" "int" VINT "float" "double" VFLOAT \#.* -ei terminaalia- [0-9]*[0-9] INT [0-9]*\.?[0-9]+(([e+] [e-])[0-9]+)? FLOAT [a-za-z][a-za-z0-9_]* ID "true" "TRUE" TRUE "false" "FALSE" FALSE [ \t\r\n\f] -ei terminaalia- Kielen nonterminaalien määrittely Seuraavassa nonterminaalit on määriteltynä BNF:llä. terminal SEMI, COMMA; terminal PLUS, MINUS, TIMES, DIV, UMINUS; terminal LPAREN, RPAREN, LBRACK, RBRACK; terminal EQ, NEQ, GT, LT, GE, LE; terminal AND, OR, NOT, XOR, IMPLIES, EQUIV; terminal VBOOL, VINT, VFLOAT; terminal Double INT; 7
10 terminal Double FLOAT; nonterminal Double NUMBER; // float or int terminal String ID; terminal Boolean TRUE; terminal Boolean FALSE; non terminal Nodes.Expr expr; non terminal Nodes.Declaration decl; non terminal Nodes.DecList declist; non terminal Nodes.Declaration booldec; non terminal Nodes.Declaration intdec; non terminal Nodes.Declaration floatdec; non terminal Nodes.VarNameList varnamelist; non terminal Nodes.NumLimit numlim; non terminal Nodes.NumLimit intlim; non terminal Nodes.Problem file; precedence left EQUIV,IMPLIES; precedence left OR,XOR; precedence left AND; precedence left NOT; precedence nonassoc EQ, NEQ, GT, LT, GE, LE; precedence left PLUS, MINUS; precedence left TIMES,DIV; precedence left UMINUS; start with file; ~file ::= declist expr declist expr SEMI; NUMBER ::= FLOAT INT ; declist ::= decl declist decl; decl ::= booldec {: :} floatdec {: :} intdec {: :}; booldec ::= VBOOL varnamelist SEMI VBOOL varnamelist TRUE SEMI VBOOL varnamelist FALSE SEMI; varnamelist ::= ID:p COMMA varnamelist:v ID:p; numlim ::= LBRACK NUMBER COMMA NUMBER RBRACK; intlim ::= LBRACK NUMBER COMMA INT RBRACK; floatdec ::= VFLOAT varnamelist numlim SEMI; intdec ::= VINT varnamelist intlim SEMI; expr ::= LPAREN expr RPAREN expr AND expr expr OR expr 8
11 expr XOR expr expr EQUIV expr expr IMPLIES expr NOT expr LPAREN expr EQ expr RPAREN LPAREN expr NEQ expr RPAREN LPAREN expr LT expr RPAREN LPAREN expr GT expr RPAREN LPAREN expr LE expr RPAREN LPAREN expr GE expr RPAREN TRUE FALSE ID NUMBER expr PLUS expr expr MINUS expr expr TIMES expr expr DIV expr MINUS expr:e {: :} %prec UMINUS; 9
L models. Vaatimusmäärittely. Ryhmä Rajoitteiset
Teknillinen korkeakoulu T-76.5 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Vaatimusmäärittely Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset
LisätiedotL models. Käyttöohje. Ryhmä Rajoitteiset
Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
LisätiedotAlkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)
Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero
LisätiedotKoottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.
2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet
LisätiedotMuuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)
VISUAL BASIC OHJEITA Kutsuttava ohjelma alkaa kometoparilla Sub... End Sub Sub ohjelmanimi()...koodia... End Sub Muuttujat Muuttujan esittely Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency,
LisätiedotLoogiset konnektiivit
Loogiset konnektiivit Tavallisimmat loogiset konnektiivit ovat negaatio ei konjunktio ja disjunktio tai implikaatio jos..., niin... ekvivalenssi... jos ja vain jos... Sulkeita ( ) käytetään selkeyden vuoksi
LisätiedotAki Taanila LINEAARINEN OPTIMOINTI
Aki Taanila LINEAARINEN OPTIMOINTI 26.4.2011 JOHDANTO Tässä monisteessa esitetään lineaarisen optimoinnin alkeet. Moniste sisältää tarvittavat Excel ohjeet. Viimeisin versio tästä monisteesta ja siihen
LisätiedotJava-kielen perusteita
Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero
LisätiedotTyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005
Tyyppejä ja vähän muutakin TIEA341 Funktio ohjelmointi 1 Syksy 2005 Viime luennolla... Haskellin alkeita pääasiassa Hello World!... ja muita tutunoloisia ohjelmia Haskellilla Haskellin voima on kuitenkin
LisätiedotEhto- ja toistolauseet
Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden
LisätiedotPython-ohjelmointi Harjoitus 2
Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento
LisätiedotL models. Tekninen määrittely. Ryhmä Rajoitteiset
Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Tekninen määrittely Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset
LisätiedotL m o d els. Tekninen määrittely. Ryhmä Rajoitteiset
Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L m o d els Tekninen määrittely Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset
LisätiedotTietotyypit ja operaattorit
Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto
LisätiedotT Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C.
T-79.3001 Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka 6.1 7.2) 27. 29.2.2008 Ratkaisuja demotehtäviin Tehtävä 6.1 a) A (B C) Poistetaan lauseesta ensin implikaatiot.
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 4 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten lauseisiin, lausekkeisiin ja aliohjelmiin liittyvät kysymykset. Tehtävä 1. Mitä
LisätiedotJohdatus logiikkaan I Harjoitus 4 Vihjeet
Johdatus logiikkaan I Harjoitus 4 Vihjeet 1. Etsi lauseen ((p 0 p 1 ) (p 0 p 1 )) kanssa loogisesti ekvivalentti lause joka on (a) disjunktiivisessa normaalimuodossa, (b) konjunktiivisessa normaalimuodossa.
Lisätiedot7. Näytölle tulostaminen 7.1
7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio
LisätiedotOhjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin
Ohjausjärjestelmien jatkokurssi Visual Basic vinkkejä ohjelmointiin http://www.techsoft.fi/oskillaattoripiirit.htm http://www.mol.fi/paikat/job.do?lang=fi&jobid=7852109&index=240&anchor=7852109 Yksiköt
LisätiedotLAUSEKKEET JA NIIDEN MUUNTAMINEN
LAUSEKKEET JA NIIDEN MUUNTAMINEN 1 LUKULAUSEKKEITA Ratkaise seuraava tehtävä: Retkeilijät ajoivat kahden tunnin ajan polkupyörällä maantietä pitkin 16 km/h nopeudella, ja sitten vielä kävelivät metsäpolkua
LisätiedotLOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100
Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).
LisätiedotYHTÄLÖ kahden lausekkeen merkitty yhtäsuuruus
YHTÄLÖ kahden lausekkeen merkitty yhtäsuuruus Ensimmäisen asteen yhtälö: :n korkein eksponentti = 1 + 5 = 4( 3) Toisen asteen yhtälö: :n korkein eksponentti = 3 5 + 4 = 0 Kolmannen asteen yhtälö: :n korkein
LisätiedotTIEA241 Automaatit ja kieliopit, syksy 2015. Antti-Juhani Kaijanaho. 3. joulukuuta 2015
TIEA241 Automaatit ja, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 3. joulukuuta 2015 Sisällys Formaalisti Määritelmä Nelikko G = (V, Σ, P, S) on kontekstiton kielioppi (engl. context-free
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat
LisätiedotNimitys Symboli Merkitys Negaatio ei Konjuktio ja Disjunktio tai Implikaatio jos..., niin... Ekvivalenssi... jos ja vain jos...
2 Logiikkaa Tässä luvussa tutustutaan joihinkin logiikan käsitteisiin ja merkintöihin. Lisätietoja ja tarkennuksia löytyy esimerkiksi Jouko Väänäsen kirjasta Logiikka I 2.1 Loogiset konnektiivit Väitelauseen
LisätiedotLAUSELOGIIKKA (1) Sanalliset ilmaisut ovat usein epätarkkoja. On ilmaisuja, joista voidaan sanoa, että ne ovat tosia tai epätosia, mutta eivät molempia. Ilmaisuja, joihin voidaan liittää totuusarvoja (tosi,
LisätiedotOhjelmointiharjoituksia Arduino-ympäristössä
Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet
LisätiedotT kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut
T-79.5101 kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut 1. Jokaiselle toteutuvalle lauselogiikan lauseelle voidaan etsiä malli taulumenetelmällä merkitsemällä lause taulun juureen
LisätiedotLOGIIKKA johdantoa
LOGIIKKA johdantoa LUKUTEORIA JA TO- DISTAMINEN, MAA11 Logiikan tehtävä: Logiikka tutkii ajattelun ja päättelyn sääntöjä ja muodollisten päättelyiden oikeellisuutta, ja pyrkii erottamaan oikeat päättelyt
LisätiedotT Kevät 2005 Logiikka tietotekniikassa: erityiskysymyksiä I Kertausta Ratkaisut
T-79.146 Kevät 2005 Logiikka tietotekniikassa: erityiskysymyksiä I Kertausta Ratkaisut 1. Jokaiselle toteutuvalle lauselogiikan lauseelle voidaan etsiä malli taulumenetelmällä merkitsemällä lause taulun
Lisätiedot1 Logiikkaa. 1.1 Logiikan symbolit
1 Logiikkaa Tieteessä ja jokapäiväisessä elämässä joudutaan tekemään päätelmiä. Logiikassa tutkimuskohteena on juuri päättelyt. Sen sijaan päätelmien sisältöön ei niinkäään kiinnitetä huomiota. Päätelmät
LisätiedotDiskreetit rakenteet. 3. Logiikka. Oulun yliopisto Tietojenkäsittelytieteiden laitos 2015 / 2016 Periodi 1
811120P 3. 5 op Oulun yliopisto Tietojenkäsittelytieteiden laitos 2015 / 2016 Periodi 1 ja laskenta tarkastelemme terveeseen järkeen perustuvaa päättelyä formaalina järjestelmänä logiikkaa sovelletaan
Lisätiedot5.1 Semanttisten puiden muodostaminen
Luku 5 SEMNTTISET PUUT 51 Semanttisten puiden muodostaminen Esimerkki 80 Tarkastellaan kysymystä, onko kaava = (( p 0 p 1 ) (p 1 p 2 )) toteutuva Tätä voidaan tutkia päättelemällä semanttisesti seuraavaan
Lisätiedot2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)
2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi
Lisätiedottää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ätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 12.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 11.9.2019 CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2019 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
LisätiedotVertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004
Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;
LisätiedotKielioppia: toisin kuin Javassa
Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien
LisätiedotEhto- ja toistolauseet
Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden
LisätiedotOhjelmoinnin 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ätiedotSisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.
Sisällys 3. Pseudokoodi Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if--rakenteilla. oisto while-, do-while- ja for-rakenteilla. 3.1 3.2 Johdanto
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 13.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 13.9.2017 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
LisätiedotRatkaisu: Käytetään induktiota propositiolauseen A rakenteen suhteen. Alkuaskel. A = p i jollain i N. Koska v(p i ) = 1 kaikilla i N, saadaan
HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 2 Ratkaisuehdotukset 1. Olkoon totuusjakauma v sellainen että v(p i ) = 1 kaikilla i N ja A propositiolause, jossa
LisätiedotOhjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:
1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri
LisätiedotRatkaisu: Yksi tapa nähdä, että kaavat A (B C) ja (A B) (A C) ovat loogisesti ekvivalentit, on tehdä totuustaulu lauseelle
HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 3 Ratkaisuehdotukset 1. Olkoot A, B ja C propositiolauseita. Näytä, että A (B C) (A B) (A C). Ratkaisu: Yksi tapa
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
LisätiedotLmodels. Tekninen määrittely. Ryhmä Rajoitteiset
Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija Lmodels Tekninen määrittely Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset
Lisätiedot815338A 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ätiedotFortran 90/95. + sopii erityisesti numeriikkaan:
Fortran 90/95 + sopii erityisesti numeriikkaan: + optimoivat kääntäjät tehokas koodi + mukana valmiiksi paljon varusfunktioita + kompleksiluvut + taulukko-operaatiot + operaattorit laajennettavissa myös
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen
Lisätiedot2 Yhtälöitä ja epäyhtälöitä
2 Yhtälöitä ja epäyhtälöitä 2.1 Ensimmäisen asteen yhtälö ja epäyhtälö Muuttujan x ensimmäisen asteen yhtälöksi sanotaan yhtälöä, joka voidaan kirjoittaa muotoon ax + b = 0, missä vakiot a ja b ovat reaalilukuja
LisätiedotMuuttujat ja kontrolli. Ville Sundberg
Muuttujat ja kontrolli Ville Sundberg 14.9.2007 Alkeistyyppi Alin abstraktiotaso josta tarvitsee välittää Yksittäinen, jakamaton tiedonjyvä Tavallaan kaikki alkeistyypit ovat lukuja arvojoukko vaihtelee
LisätiedotKesälukio 2000 PK2 Tauluharjoituksia I Mallivastaukset
Kesälukio 2000 PK2 Tauluharjoituksia I Mallivastaukset 2000-08-03T10:30/12:00 Huomaa, että joihinkin kysymyksiin on useampia oikeita vastauksia, joten nämä ovat todellakin vain mallivastaukset. 1 Logiikkaa
LisätiedotPerusteet. 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ätiedotuv n, v 1, ja uv i w A kaikilla
2.8 Säännöllisten kielten rajoituksista Kardinaliteettisyistä on oltava olemassa (paljon) ei-säännöllisiä kieliä: kieliä on ylinumeroituva määrä, säännöllisiä lausekkeita vain numeroituvasti. Voidaanko
LisätiedotYhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014
Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan
LisätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
Lisätiedot3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö
3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö Yhtälön (tai funktion) y = a + b + c, missä a 0, kuvaaja ei ole suora, mutta ei ole yhtälökään ensimmäistä astetta. Funktioiden
Lisätiedot5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
LisätiedotSisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin
Sisällys 17. Ohjelmoinnin tekniikkaa for-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. if-else-lause vaihtoehtoisesti
LisätiedotAlgebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005
Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tällä luennolla Algebralliset tietotyypit Hahmonsovitus (pattern matching) Primitiivirekursio Esimerkkinä binäärinen hakupuu Muistattehan...
LisätiedotJAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?
JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
LisätiedotVasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:
Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: S A S B Samaan jäsennyspuuhun päästään myös johdolla S AB Ab ab: S A S B Yhteen jäsennyspuuhun liittyy aina tasan yksi vasen
LisätiedotKirjoita käyttäen propositiosymboleita, konnektiiveja ja sulkeita propositiologiikan lauseiksi:
1 Logiikan paja, kevät 2011 Ratkaisut viikolle I Thomas Vikberg Merkitään propopositiosymboleilla p i seuraavia atomilauseita: p 0 : vettä sataa p 1 : tänään on perjantai p 2 : olen myöhässä Valitaan konnektiiveiksi,
LisätiedotSisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten
Sisällys 16. Ohjelmoinnin tekniikkaa Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti
Lisätiedot2.2 Muunnosten käyttöön tutustumista
2.2 Muunnosten käyttöön tutustumista Tunnin rakenne: - Esimerkki (min) - Tehtävä -, jokerit tarvittaessa (2 min) - Loppukoonti ja ryhmäarviointi ( min) Tunnin tavoitteet: - Analysoidaan ja pohditaan valmiiksi
LisätiedotPerusteet. 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ätiedotJava-kielen perusteet
Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet
LisätiedotTrigonometrian kaavat 1/6 Sisältö ESITIEDOT: trigonometriset funktiot
Trigonometrian kaavat 1/6 Sisältö Ulkoa muistettavat peruskaavat Trigonometrisia funktioita koskevia kaavoja on paljon. Seuraavassa esitetään tärkeimmät ja lyhyet ohjeet niiden muistamiseen. Varsinaisesti
Lisätiedot30A01000 Taulukkolaskenta ja analytiikka Luku 8: Lineaarinen optimointi ja sen sovellukset
30A01000 Taulukkolaskenta ja analytiikka Luku 8: Lineaarinen optimointi ja sen sovellukset Mitä on lineaarinen optimointi (LP)? LP= lineaarinen optimointiongelma (Linear Programming) Menetelmä, jolla etsitään
Lisätiedot16. Ohjelmoinnin tekniikkaa 16.1
16. Ohjelmoinnin tekniikkaa 16.1 Sisällys Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti
LisätiedotLuku 5 Kertaus. Tehtävä 1 Kerratkaa oppimanne asiat yhdessä keskustellen.
Luku Kertaus Tehtävä 1 Kerratkaa oppimanne asiat yhdessä keskustellen. - Samanmuotoiset termit - Lausekkeen ja yhtälön ero - Yhtälön totuusarvon tutkiminen - Yhtälön ratkaisun etsiminen - Yhtälön ratkaisun
LisätiedotAluksi. 2.1. Kahden muuttujan lineaarinen epäyhtälö
Aluksi Matemaattisena käsitteenä lineaarinen optimointi sisältää juuri sen saman asian kuin mikä sen nimestä tulee mieleen. Lineaarisen optimoinnin avulla haetaan ihannearvoa eli optimia, joka on määritelty
LisätiedotJavascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia
Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia HTML - sivun rakenne ja osiot HTML HEAD STYLE SCRIPT STYLEsheet Javascript file BODY Javascript
LisätiedotDemo 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ätiedot5 Kertaus. Tehtävä 1 Kerratkaa oppimanne asiat yhdessä keskustellen.
5 Kertaus Tehtävä 1 Kerratkaa oppimanne asiat yhdessä keskustellen. - Samanmuotoiset termit - Lausekkeen ja yhtälön ero - Yhtälön totuusarvon tutkiminen - Yhtälön ratkaisun etsiminen - Yhtälön ratkaisun
Lisätiedot16. Ohjelmoinnin tekniikkaa 16.1
16. Ohjelmoinnin tekniikkaa 16.1 Sisällys For-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. If-else-lause vaihtoehtoisesti
LisätiedotFORMAALI SYSTEEMI (in Nutshell): aakkosto: alkeismerkkien joukko kieliopin määräämä syntaksi: sallittujen merkkijonojen rakenne, formaali kuvaus
FORMAALI SYSTEEMI (in Nutshell): Formaali kieli: aakkosto: alkeismerkkien joukko kieliopin määräämä syntaksi: sallittujen merkkijonojen rakenne, formaali kuvaus esim. SSM:n tai EBNF:n avulla Semantiikka:
LisätiedotRajoittamattomat kieliopit (Unrestricted Grammars)
Rajoittamattomat kieliopit (Unrestricted Grammars) Laura Pesola Laskennanteorian opintopiiri 13.2.2013 Formaalit kieliopit Sisältävät aina Säännöt (esim. A -> B C abc) Muuttujat (A, B, C, S) Aloitussymboli
LisätiedotTutoriaaliläsnäoloista
Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus
LisätiedotRacket ohjelmointia osa 2. Tiina Partanen Lielahden koulu 2014
Racket ohjelmointia osa 2 Tiina Partanen Lielahden koulu 2014 Sisältö 1) Funktiot ja muuttujat (kertaus) 2) Animaatiot & pelit (big-bang) 3) Vertailuoperaattorit sekä boolean arvot 4) Tietorakenteet (struct)
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotMS-A0402 Diskreetin matematiikan perusteet
MS-A0402 Diskreetin matematiikan perusteet Osa 1: Joukko-oppi ja logiikka Riikka Kangaslampi 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kiitokset Nämä luentokalvot perustuvat Gustaf
LisätiedotL models. Testisuunnitelma. Ryhmä Rajoitteiset
Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Testisuunnitelma Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset
LisätiedotLogiikan kertausta. TIE303 Formaalit menetelmät, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos.
TIE303 Formaalit menetelmät, kevät 2005 Logiikan kertausta Antti-Juhani Kaijanaho antkaij@mit.jyu.fi Jyväskylän yliopisto Tietotekniikan laitos TIE303 Formaalit mentetelmät, 2005-01-27 p. 1/17 Luento2Luentomoniste
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 9. lokakuuta 2016
TIEA241 Automaatit ja, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 9. lokakuuta 2016 Sisällys Kontekstiton kielioppi Kontekstiton kielioppi koostuu joukosta päätemerkkejä (engl. terminal symbols),
LisätiedotKahden lausekkeen merkittyä yhtäsuuruutta sanotaan yhtälöksi.
10.1 Yleistä Kahden lausekkeen merkittyä yhtäsuuruutta sanotaan yhtälöksi. Esimerkkejä: 2x 8 = 12 A = πr 2 5 + 7 = 12 Yhtälöissä voi olla yksi tai useampi muuttuja Tuntematonta muuttujaa merkitään usein
LisätiedotLuku 3. Listankäsittelyä. 3.1 Listat
Luku 3 Listankäsittelyä Funktio-ohjelmoinnin tärkein yksittäinen tietorakenne on lista. Listankäsittely on paitsi käytännöllisesti oleellinen aihe, se myös valaisee funktio-ohjelmoinnin ideaa. 3.1 Listat
LisätiedotMatemaattinen Analyysi
Vaasan yliopisto, 009-010 / ORMS1010 Matemaattinen Analyysi 7 harjoitus 1 Määritä seuraavien potenssisarjojen suppenemissäteet a) k k x 5)k b) k=1 k x 5)k = k k 1) k ) 1) Suppenemissäteen R käänteisarvo
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 4: Symbolit, derivojaesimerkki, kierroksen 1 ratkaisut (mm. SICP 2.32.3.2) Riku Saikkonen 1. 11. 2011 Sisältö 1 Symbolit ja sulkulausekkeet 2 Lisää Schemestä:
LisätiedotSopimuspohjainen olio-ohjelmointi
Sopimuspohjainen olio-ohjelmointi Jouni Smed Kevät 2007 Yleistä Laajuus: 5 op. (3 ov.) Esitiedot: Olio-ohjelmoinnin perusteet (tai ent. Ohjelmointi I) Ilmoittautuminen: https://www.it.utu.fi/kurssi-ilmo/
Lisätiedot815338A Ohjelmointikielten periaatteet
815338A Ohjelmointikielten periaatteet 2015-2016 VII Logiikkaohjelmointi Sisältö 1. Johdanto 2. Predikaattilogiikan käsitteistöä 3. Prolog 815338A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 2
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 9.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 9.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Lisätiedotetunimi, sukunimi ja opiskelijanumero ja näillä
Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi
LisätiedotALGORITMI- MATEMATIIKKA. Keijo Ruohonen
ALGORITMI- MATEMATIIKKA Keijo Ruohonen 1993 Kirjallisuutta ANDERSON, I.: A First Course in Combinatorial Mathematics. Oxford University Press (1979) GRAHAM, R.L. & KNUTH, D.E. & PATASHNIK, O.: Concrete
Lisätiedot