Aureolis Oy Itsemääritellyt funktiot SAS ohjelmoinnissa

Koko: px
Aloita esitys sivulta:

Download "Aureolis Oy Itsemääritellyt funktiot SAS ohjelmoinnissa"

Transkriptio

1 Aureolis Oy

2 Miksi omatekoisia funktiota? Koodin uudelleen käyttö Koodi kirjoitetaan kerran ja käytään monessa paikassa. Säästytään turhalta työltä Koodin hallinta keskitetysti Koodi voidaan talletaa kirjastoon ja ylläpitää keskitetysti Koodin laatu saadaan paremmaksi kun samaa asia ei keksitä uudestaan eri kehittäjien toimesta. Kokeneemmat kehittäjät voivat luoda haastavammat funktiot muiden käytettäväksi

3 Omatekoiset funktiot SAS:ssa? Ennen SAS 9.2:ta Klassiset viritykset LINK/RETURN rakennelmat INCLUDE lauseen käyttö Makrot SAS 9.2 Nykyaika Proc FCMP SAS 9.4 Tulevaisuus Proc DS2

4 Esimerkeissä käytety tapaus Lasketaan kolmen pisteen väliset etäisyydet (kolmion sivujen pituudet) Käytetty data: data coordinates; input a1 a2 a3 b1 b2 b3 c1 c2 c3; datalines; ;

5 klassinen viritys: LINK-RETURN rakennelma data _null_; Set coordinates; array a[3] a1 a3; array b[3] b1 b3; array c[3] c1 c3; array t1[3] _TEMPORARY_; array t2[3] _TEMPORARY_; do i=1 to 3; t1[i]=a[i]; t2[i]=b[i]; link distance; d1=dist; do i=1 to 3; t1[i]=a[i]; t2[i]=c[i]; link distance; d2=dist; do i=1 to 3; t1[i]=c[i]; t2[i]=b[i]; link distance; d3=dist; put d1= d2= d3=; return; distance: dist=0; do i=1 to 3; dist=dist+(t1[i] t2[i])**2; dist=sqrt(dist); return;

6 klassinen viritys: INCLUDE lause data _null_; set coordinates; array a[3] a1 a3; array b[3] b1 b3; array c[3] c1 c3; array t1[3] _TEMPORARY_; array t2[3] _TEMPORARY_; do i=1 to 3; t1[i]=a[i]; t2[i]=b[i]; %include 'C:\tmp\dist.sas'; d1=dist; do i=1 to 3; t1[i]=a[i]; t2[i]=c[i]; %include C\tmp\dist.sas'; d2=dist; do i=1 to 3; t1[i]=c[i]; t2[i]=b[i]; %include 'C:\tmp\dist.sas'; d3=dist; put d1= d2= d3=; C:\tmp\dist.sas tiedoston sisältö dist=0; do i=1 to 3; dist=dist+(t1[i] t2[i])**2; dist=sqrt(dist);

7 LINK rankenteet ja INCLUDE lause Hyvät puolet Käyttöön tarvitaan ainoastaan SAS Data Step ohjelmointiosaamista Toimii vanhoissa SAS versioissa Huonot puolet LINK rankenteessa koodin uudelleen käyttö muualla ei ole mahdollista Funktion parametrit täytyy kopioida funktiossa käytettyihin muuttujiin itse Funktion sisäiset muuttujat voivat mennä päällekäin muun koodin kanssa Funktion palauttama arvo on aina saman nimisessä muuttujassa Funktion sisäiset muuttujat tulevat mukaan output dataan, jos niitä ei ole erikseen pudotettu pois Funktio ei voi kutsua itseään koska muuttujien arvot menevät sekaisin

8 klassinen viritys: Makro %macro distance(array1name, array2name, arraylength, outputname=dist, loopvar=i); data _null_; set coordinates; array a[3] a1 a3; array b[3] b1 b3; array c[3] c1 c3; drop &loopvar &outputname; &outputname=0; do &loopvar=1 to &arraylength; &outputname=&outputname+ (&array1name[i] &array2name[i])**2; &outputname=sqrt(&outputname); %m %distance(a,b,3,outputname=dist,loopvar=i); d1=dist; %distance(a,c,3); d2=dist; %distance(b,c,3); d3=dist; put d1= d2= d3=;

9 Makrolla toteutetut funktiot Hyvät puolet Parametrien nimet välittyvät automaattisesti Koodi voidaan tallettaa SAS:in ymmärtämään makrokirjastoon Toimii vanhoissa SAS versioissa Huonot puolet Vaatii makro koodaamisen osaamista Funktion sisäiset muuttujat voivat mennä päällekäin muun koodin kanssa ellei niitä ole parametrisoitu Funktiossa joudutaan parametrisoimaan sisäisten muuttujin nimiä, joten parametrien määrä suurempi kuin muuten olisi tarpeen Koodi on hankalammin luettavaa kuin suora SAS koodi Funktion sisäiset muuttujat tulevat mukaan output dataan, jos niitä ei ole makron sisällä erikseen pudotettu pois Funktio ei voi kutsua itseään, koska muuttujien arvot menevät sekaisin

10 Nykyaika Proc FCMP SAS proseduuri funktioiden ja CALL funktioiden luomiseen Luotuja funktioita voidaan käyttää useissa SAS:n osissa DATA Step PROC CALIS PROC COMPILE PROC COMPUTAB PROC GA PROC GENMOD PROC MCMC PROC MODEL PROC NLIN PROC NLMIXED PROC NLP PROC PHREG PROC REPORT COMPUTE osiot Risk Dimensions proseduurit PROC SIMILARITY PROC SQL (Array parametreja ei tueta) WHERE lause The Output Delivery System (ODS) PROC DS2 (SAS9.4)

11 Proc FCMP proc fcmp outlib=work.funcs.omat; function distance(a[*],b[*],alen); dist=0; do i=1 to alen; dist=dist+(a[i] b[i])**2; dist=sqrt(dist); return(dist); endsub; options cmplib = (work.funcs); data _null_; set coordinates; array a[3] a1 a3 ; array b[3] b1 b3 ; array c[3] c1 c3 ; array t1[3] _temporary_; array t2[3] _temporary_; array t3[3] _temporary_; do i=1 to 3; t1[i]=a[i]; t2[i]=b[i]; t3[i]=c[i]; d1=distance(t1,t2,3); d2=distance(t1,t3,3); d3=distance(t2,t3,3); put d1= d2= d3=;

12 Proc FCMP: käytännön esimerkki Ajojen järjestyksen määrittely: Ajot voivat riippua toisista ajoista Etsitään sellainen ajojärjestys, jossa esitietoina tulevat ajot ajetaan ennen niistä riippuvia aj Ajojen väliset välittömät riippuvuudet esitetään datassa Ajojen_esitiedot etrno Ajo Esitieto 1 A B 2 A C 1 B D 1 D E Itsemääritellyt funktiot SAS Ohjelmoinnissa ajot Ajo A B C D E

13 Proc FCMP: käytännön esimerkki proc fcmp outlib=work.func.param; function hae_esitiedot(ajo $,taso) $512; length esitiedot_yht $51 esitieto $1 etnro 8 ajo $1; declare hash h(dataset:'ajojen_esitiedot'); rc=h.definekey('ajo'); rc=h.definekey('etnro'); rc=h.definedata('ajo'); rc=h.definedata('esitieto'); rc=h.definedone(); esitiedot_yht=""; etnro=1; rc=h.find(); put "func: " taso= etnro= ajo= esitieto=; if rc=0 then do; esitiedot_yht=strip(put(taso,3.)) "~" strip(esitieto); esitiedot_yht=strip(esitiedot_yht) " " hae_esitiedot(esitieto,taso+1); etnro=etnro+1; rc=h.find() do while (rc=0); put "func: " taso= etnro= ajo= esitieto=; esitiedot_yht=strip(esitiedot_yht) " " strip(put(taso,3.)) "~" strip(esitieto); esitiedot_yht= strip(esitiedot_yht) " " hae_esitiedot(esitieto,taso+1); etnro=etnro+1; rc=h.find(); return(esitiedot_yht); endsub; Itsemääritellyt funktiot SAS Ohjelmoinnissa function is_duplicate(id $); declare hash h(dataset: 'dup'); rc=h.definekey('ajo'); rc=h.definedone(); ajo=id; rc=h.check(); if rc^=0 then do; ajo=id; taso=0; rc=h.add(); return(0); else do; return(1); endsub;

14 Proc FCMP: käytännön esimerkki options cmplib=work.func; data esitiedot; length esitiedot_yht $512 esitieto $1; set ajot; taso=0; output; esitiedot_yht= hae_esitiedot(ajo,1); put "output: " ajo= esitiedot_yht=; if esitiedot_yht^="" then do; i=1; taso=scan(scan(esitiedot_yht,i),1); esitieto=scan(scan(esitiedot_yht, i),2); do while(esitieto); ajo=esitieto; Output; i=i+1; taso=scan(scan(esitiedot_yht,i),1); esitieto=scan(scan(esitiedot_yht,i), 2,'~'); drop i esitiedot_yht esitieto; proc sort data=esitiedot; by descending taso ajo; data dup; set esitiedot(obs=0 drop=taso); data ajojarjestys; set esitiedot; if not is_duplicate(ajo) then output; Itsemääritellyt funktiot SAS Ohjelmoinnissa

15 Proc FCMP: käytännön esimerkki Ote lokista func: taso=1 etnro=1 ajo=a esitieto=b func: taso=2 etnro=1 ajo=b esitieto=d func: taso=3 etnro=1 ajo=d esitieto=e func: taso=4 etnro=1 ajo=e esitieto= func: taso=1 etnro=2 ajo=a esitieto=c func: taso=2 etnro=1 ajo=c esitieto= output: ajo=a esitiedot_yht=1~b 2~D 3~E 1~C func: taso=1 etnro=1 ajo=b esitieto=d func: taso=2 etnro=1 ajo=d esitieto=e func: taso=3 etnro=1 ajo=e esitieto= output: ajo=b esitiedot_yht=1~d 2~E func: taso=1 etnro=1 ajo=c esitieto= output: ajo=c esitiedot_yht= func: taso=1 etnro=1 ajo=d esitieto=e func: taso=2 etnro=1 ajo=e esitieto= output: ajo=d esitiedot_yht=1~e func: taso=1 etnro=1 ajo=e esitieto= output: ajo=e esitiedot_yht= Itsemääritellyt funktiot SAS Ohjelmoinnissa

16 Proc FCMP: käytännön esimerkki Esitiedot ajo taso E 3 D 2 E 2 B 1 C 1 D 1 Ajojarjestys ajo taso E 3 D 2 B 1 C 1 A 0 E 1 A 0 B 0 Tuotettu data Itsemääritellyt funktiot SAS Ohjelmoinnissa

17 Proc FCMP funktiot Hyvät puolet Parametrien nimet välittyvät automaattisesti Koodi tallennetaan SAS:in ymmärtämään koodikirjastoon Funktion sisäiset parametrit ovat paikallisia ei vaaraa nimien törmäämisestä Sisäiset muuttujat eivät tule dataan Voidaan käyttää rekursiivisesti Toimii useissa SAS:n osissa ei vain DATA Stepissä Käytössä on funktioita, joita ei ole DATA stepissä (esim. matriisien käsittelyä) Huonot puolet Vaatii uutta opettelua ohjelmointi poikkeaa hieman DATA Stepistä Kaikki DATA Stepin ominaisuudet eivä ole käytettävissä Syötettyjen Array parametrien täytyy olla väliaikaisia (temporary)

18 Tulevaisuus Proc DS2 SAS 9.4:ssä tuleva uusi datankäsittelykieli Käytetään seuraavissa ympäristöissä: BASE SAS High Performance Analytics Server SAS Federation Server SAS In Database Code Accelerator (Teradata tai Greenplum) Proc FedSQL

19 Proc DS2 Huom: koodia ei ole testattu proc ds2; package distances / overwrite=yes; method Euclidean(double x[*], double y[*] ) returns double; dcl int i; dcl double d; d=0; do i=1 to dim(x) >< dim(y); d=d+(x[i] y[i])**2; return sqrt(d); endpackage; Data _null_; dcl package distances dist(); method run(); set coordinates; vararray double a[3]; vararray double b[3]; vararray double c[3]; d1 = dist.euclidean(a, b); d2 = dist.euclidean(a, c); d1 = dist.euclidean(b, c); put d1= d2= d3=; enddata; quit;

20 Proc DS2 funktiot Hyvät puolet Parametrien nimet välittyvät automaattisesti Koodi tallennetaan SAS:in ymmärtämään koodikirjastoon Funktion sisäiset parametrit ovat paikallisia ei vaaraa nimien törmäämisestä Sisäiset muuttujat eivät tule dataan Voidaan käyttää rekursiivisesti Paketteihin voidaan tallettaa muuttujia. Mahdollistaa objektien käytön ohjelmoinnin. Funktioissa voidaan käyttää FedSQL lauseita Huonot puolet Vaatii uutta opettelua ohjelmointi poikkeaa DATA Stepistä Kaikki DATA Stepin ominaisuudet eivä ole käytettävissä Käytettävissä vain rajoitetusti SAS:ssa (Proc FCMP käytettävissä laajemmin)

21 Yhteenveto SAS:ssa useita tapoja koodin uudelleen käyttöön funktion tapaisilla rakenteilla Oikeita funktioita on käytössä vasta SAS versiosta 9.2 lähtien Funktioiden käyttö vaatii uusien asioiden opiskelua ja toiminnallisten eroavaisuuksien hyväksymistä Uudet SAS ominaisuudet mahdollistavat kehittyneemmät ohjelmointitavat SAS kehityksessä SAS kehittäjän on osattava päättää mikä menetelmä sopii parhaiten misäkin tilanteessa

22 Jarkko Venna BI konsultti Aureolis Oy Hevosenkenkä 3 - FI Espoo, Finland office

DS2-proseduuri / ohjelmointisyntaksi. Tapio Kalmi Team Leader, Data Management Consulting SAS Institute Oy

DS2-proseduuri / ohjelmointisyntaksi. Tapio Kalmi Team Leader, Data Management Consulting SAS Institute Oy DS2-proseduuri / ohjelmointisyntaksi Tapio Kalmi Team Leader, Data Management Consulting SAS Institute Oy Sisältö DS2 konsepti DS2, HPDS2 ja FedSQL proseduurit Yleistä DS2 ja FedSQL kielistä DS2 kielen

Lisätiedot

Dynaamista ja joustavaa ohjelmointia - maukasta makrokielellä www.turkuamk.fi

Dynaamista ja joustavaa ohjelmointia - maukasta makrokielellä www.turkuamk.fi Markku Suni Turun ammattikorkeakoulu Dynaamista ja joustavaa ohjelmointia - maukasta makrokielellä SAS Makrokieli SAS Makrokieli on kieli SAS-kielen laajennus datavaihetta muistuttavia lauseita ja funktioita

Lisätiedot

Ruokahalu kasvaa syödessä lisää makrokielen herkkuja

Ruokahalu kasvaa syödessä lisää makrokielen herkkuja Turun ammattikorkeakoulu Ruokahalu kasvaa syödessä lisää makrokielen herkkuja SAS Makrokieli - kertaus Makrokielen asiat tapahtuvat ohjelmaa käännettäessä makroprosessorin työn tulos näkyy kääntäjälle

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset 815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Sukupuu -ohjelma. Ossi Väre (013759021) Joni Virtanen (013760641)

Sukupuu -ohjelma. Ossi Väre (013759021) Joni Virtanen (013760641) Sukupuu -ohjelma Ossi Väre (013759021) Joni Virtanen (013760641) 7.11.2011 1 Johdanto Toteutimme C -kielellä sukupuuohjelman, johon käyttäjä voi lisätä ja poistaa henkilöitä ja määrittää henkilöiden välisiä

Lisätiedot

Täysautomatisoitu raportointiympäristö. Joni-Petteri Paavilainen Jani Alatalo

Täysautomatisoitu raportointiympäristö. Joni-Petteri Paavilainen Jani Alatalo Täysautomatisoitu raportointiympäristö Joni-Petteri Paavilainen Jani Alatalo Miksi tähän ryhdyttiin? Miten asiassa edettiin? Vaatimuksia Reaaliaikaisuus n 15 min Hallitut käyttöoikeudet Raportin tekijöillä

Lisätiedot

Java-kielen perusteet

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

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

XML -muotoisen raportin luonti

XML -muotoisen raportin luonti XML -muotoisen raportin luonti Anita Mäkinen-Jäntti 20/05/2014 1 SISÄLTÖ XML -tiedostojen kirjoitusmahdollisuudet Tagsettien käyttäminen Data -vaiheen käyttäminen Sähköinen siirtoliike ja XML - tiedoston

Lisätiedot

Bootstrap / HTDP2 / Realm of Racket. Vertailu

Bootstrap / HTDP2 / Realm of Racket. Vertailu Bootstrap / HTDP2 / Realm of Racket Vertailu Bootstrap http://www.bootstrapworld.org/ Tarkoitettu yläkoululaisille (12-15v) Ohjelmointi on integroitu matematiikan opetukseen Materiaalina tuntisuunnitelmat

Lisätiedot

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu

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

Datavaiheen taikoja - tietäjien perintönä www.turkuamk.fi

Datavaiheen taikoja - tietäjien perintönä www.turkuamk.fi Markku Suni Factotum emeritus Turun ammattikorkeakoulu Datavaiheen taikoja - tietäjien perintönä SAS Datavaihe lukee lauseiden SET ja INPUT avulla Datavaihe tulostaa lauseiden OUTPUT ja PUT avulla Vaan

Lisätiedot

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille: Merkkijonot C-kielessä merkkijono on taulukko, jonka alkiot ovat char -tyyppiä. Taulukon viimeiseksi merkiksi tulee merkki '\0', joka ilmaisee merkkijonon loppumisen. Merkkijono määritellään kuten muutkin

Lisätiedot

Tietotyypit ja operaattorit

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

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

Lisätiedot

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin.

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin. Linux-harjoitus 9 Linuxin mukana tulevat komentotulkit (mm. bash, tcsh, ksh, jne ) sisältävät ohjelmointikielen, joka on varsin tehokas ja ilmaisuvoimainen. Tähän yhdistettynä unix-maailmasta tutut tehokkaat

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

Lisätiedot

Johdatus ohjelmointiin

Johdatus ohjelmointiin Johdatus ohjelmointiin EXAM tentin liitetiedostojen lataaminen, käyttäminen ja palauttaminen Kerro mahdolliset puutteet tai parannusehdotukset: pietari.heino@tut.fi Tällä sivulla on selitetty lyhyesti

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

HELIA 1 (17) Outi Virkki Tietokantasuunnittelu 21.11.2000

HELIA 1 (17) Outi Virkki Tietokantasuunnittelu 21.11.2000 HELIA 1 (17) Luento 2.8 Talletetut rutiinit... 2 Talletetut rutiinit SQL3:ssa... 3 Ulkopuoliset rutiinit... 4 Talletetut rutiinit Oraclessa... 7 Ohjelmakoodista... 8 Koodin virheet... 8 Virhetilanteiden

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Toistorakenne (while, do-while, for) 1 While- lause while-lauseen rakenne on seuraava: while (ehtolauseke) lause Kun ehtolausekkeen arvo on totta, lause suoritetaan. Lause suoritetaan

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

Listarakenne (ArrayList-luokka)

Listarakenne (ArrayList-luokka) Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

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

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina Kirjasto Kevät 2001 Auvinen Annemari Niemi Anu Harjoitustyö 7.4.2001 Sisällysluettelo 1. Yleiskuvaus... 3 2. Vaatimukset... 3 2.1. Toiminnalliset... 3 2.1.1. Sisäänkirjautuminen... 3 2.1.2. Nimikkeiden

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

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti

Lisätiedot

Alustavia käyttökokemuksia SAS Studiosta. Timo Hurme Maa- ja elintarviketalouden tutkimuskeskus MTT (v. 2015 alusta Luonnonvarakeskus / Luke)

Alustavia käyttökokemuksia SAS Studiosta. Timo Hurme Maa- ja elintarviketalouden tutkimuskeskus MTT (v. 2015 alusta Luonnonvarakeskus / Luke) Alustavia käyttökokemuksia SAS Studiosta Timo Hurme Maa- ja elintarviketalouden tutkimuskeskus MTT (v. 2015 alusta Luonnonvarakeskus / Luke) 19.9.2014 Lyhyesti SAS-koodareille suunnattu uusi käyttöliittymä

Lisätiedot

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

SAS:in uudet grafiikkaominaisuudet. Ari Toikka 16.11.2009

SAS:in uudet grafiikkaominaisuudet. Ari Toikka 16.11.2009 SAS:in uudet grafiikkaominaisuudet Ari Toikka 16.11.2009 Grafiikan tuottamisessa SAS:illa on kysymys tuotannon automatisoinnista Idea SAS:sin käytössä grafiikan tuottamiseen on korvata käsityö SAS-ohjelmalla,

Lisätiedot

Timo Hurme Maa- ja elintarviketalouden tutkimuskeskus MTT

Timo Hurme Maa- ja elintarviketalouden tutkimuskeskus MTT Timo Hurme Maa- ja elintarviketalouden tutkimuskeskus MTT Sisältö Johdantoa aiheeseen esimerkein SAS-grafiikan uusi ja vanha tapa Tavat käyttää uutta ODS Grafiikkaa, esimerkein Taustaa Perinteinen tapa

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

Versionhallintaa. Versionhallinnan käyttöönotto SAS ympäristössä

Versionhallintaa. Versionhallinnan käyttöönotto SAS ympäristössä Versionhallintaa Versionhallinnan käyttöönotto SAS ympäristössä Sisältö Mitä on versionhallinta Rakenteet ja niiden oikeudet Repository Browserin käyttäminen Hakemistorakenteen luominen Metadatan tallettaminen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

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

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

Matlabin perusteita Grafiikka

Matlabin perusteita Grafiikka BL40A0000 SSKMO KH 1 Seuraavassa esityksessä oletuksena on, että Matlabia käytetään jossakin ikkunoivassa käyttöjärjestelmässä (PC/Win, Mac, X-Window System). Käytettäessä Matlabia verkon yli joko tekstipäätteeltä,

Lisätiedot

Kääntäjän virheilmoituksia

Kääntäjän virheilmoituksia OHJ-1101 Ohjelmointi 1e 2008-09 1 Kääntäjän virheilmoituksia Kun progvh2 ohjelma käännetään antaa tutg++ seuraavat virheilmoitukset ja varoitukset: proffa> tutg++ progvh2.cc progvh2.cc:29:13: warning:

Lisätiedot

SAS:n käyttö Työterveyslaitoksessa. Pertti Mutanen

SAS:n käyttö Työterveyslaitoksessa. Pertti Mutanen SAS:n käyttö Työterveyslaitoksessa Pertti Mutanen Edistämme työn terveellisyyttä ja turvallisuutta osana hyvää elämää Työterveyslaitos Arbetshälsoinstitutet Itsenäinen julkisoikeudellinen yhteisö Sosiaali-

Lisätiedot

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. PHP-kielen perusteet Käytä lähteenä PHP:n virallista manuaalia http://www.php.net/docs.php tai http://www.hudzilla.org/php (siirry Paul Hudsonin verkkokirjaan). Lisää materiaalia suomeksi esimerkiksi ohjelmointiputkan

Lisätiedot

International Olympiad in Informatics 2013

International Olympiad in Informatics 2013 International Olympiad in Informatics 2013 6-13 July 2013 Brisbane, Australia Day 2 tasks robots Finnish 1.0 Maritan pikkuveli on jättänyt lelunsa ympäri olohuonetta! Onneksi Marita on kehittänyt erikoisrobotteja

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu 832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

Web Services tietokantaohjelmoinnin perusteet

Web Services tietokantaohjelmoinnin perusteet ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

18 LIITTYMÄT MUIHIN JÄRJESTELMIIN

18 LIITTYMÄT MUIHIN JÄRJESTELMIIN 18 MUIHIN JÄRJESTELMIIN Prospekti DAFOon rakennettu liittymiä muiden ohjelmiston toimittajien järjestelmiin. Tässä yhteydessä ei tarkoiteta siirtotiedoston muodostamista, kuten reskontraan siirto tai lappujen

Lisätiedot

SAS ja Sharepoint. Yhteiselon ihanuus ja kurjuus

SAS ja Sharepoint. Yhteiselon ihanuus ja kurjuus SAS ja Sharepoint Yhteiselon ihanuus ja kurjuus Sisältö Mikä on Sharepoint Tomas Beijar Tieto- Tapiola Mitä SAS tarjoaa Itsenäiskäyttö Staattiset raportit Dynaamiset raportit Rajatut käyttöoikeudet Ajastetut

Lisätiedot

Brisbanen ovat vallanneet mutaattivompatit, ja tehtäväsi on johdattaa ihmiset turvaan.

Brisbanen ovat vallanneet mutaattivompatit, ja tehtäväsi on johdattaa ihmiset turvaan. 6-13 July 2013 Brisbane, Australia Finnish 1.0 Brisbanen ovat vallanneet mutaattivompatit, ja tehtäväsi on johdattaa ihmiset turvaan. Brisbanen katuja esittää suuri ruudukko. Siinä on R vaakasuuntaista

Lisätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

DOORSin Spreadsheet export/import

DOORSin Spreadsheet export/import DOORSin Spreadsheet export/import 17.10.2006 SoftQA Oy http/www.softqa.fi/ Pekka Mäkinen Pekka.Makinen@softqa.fi Tietojen siirto DOORSista ja DOORSiin Yhteistyökumppaneilla ei välttämättä ole käytössä

Lisätiedot

SEM1, työpaja 2 (12.10.2011)

SEM1, työpaja 2 (12.10.2011) SEM1, työpaja 2 (12.10.2011) Rakenneyhtälömallitus Mplus-ohjelmalla POLKUMALLIT Tarvittavat tiedostot voit ladata osoitteesta: http://users.utu.fi/eerlaa/mplus Esimerkki: Planned behavior Ajzen, I. (1985):

Lisätiedot

SAS/IML käyttö ekonometristen mallien tilastollisessa päättelyssä. Antti Suoperä 16.11.2009

SAS/IML käyttö ekonometristen mallien tilastollisessa päättelyssä. Antti Suoperä 16.11.2009 SAS/IML käyttö ekonometristen mallien tilastollisessa päättelyssä Antti Suoperä 16.11.2009 SAS/IML käyttö ekonometristen mallien tilastollisessa päättelyssä: Matriisi ja vektori laskennan ohjelmisto edellyttää

Lisätiedot

SAS sovellusten hallinnointi helpoksi Turbo Charge -menetelmällä Tapio Kalmi, SAS Institute Oy

SAS sovellusten hallinnointi helpoksi Turbo Charge -menetelmällä Tapio Kalmi, SAS Institute Oy SAS sovellusten hallinnointi helpoksi Turbo Charge -menetelmällä Tapio Kalmi, SAS Institute Oy Sisältö Rajaus: SAS hallinnointi ja tämän esityksen kohdealue? Mitä tehtäviä SAS sovellusten hallinnointiin

Lisätiedot

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

Lisätiedot

Verilogvs. VHDL. Janne Koljonen University of Vaasa

Verilogvs. VHDL. Janne Koljonen University of Vaasa Verilogvs. VHDL Janne Koljonen University of Vaasa Sälää Huom! Verilogistauseita versioita: 1995, 2001 ja 2005. Kommentit Javasta tutut // ja /* */ ovat kommenttimerkkejä. Case sensitivity Isot ja pienet

Lisätiedot

XNA grafiikka laajennus opas. Paavo Räisänen. www.ohjelmoimaan.net. Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa.

XNA grafiikka laajennus opas. Paavo Räisänen. www.ohjelmoimaan.net. Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa. XNA grafiikka laajennus opas Paavo Räisänen www.ohjelmoimaan.net Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa. Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

Delegaatit ja tapahtumakäsittelijät

Delegaatit ja tapahtumakäsittelijät 14 Delegaatit ja tapahtumakäsittelijät Toinen käyttökelpoinen keksintö C#-kielessä ovat delegaatit. Periaatteessa ne palvelevat samaa tarkoitusta kuin C++:n funktio-osoittimet. Delegaatit ovat kuitenkin

Lisätiedot

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

Metropolia ammattikorkeakoulu 05.02.2015 TI00AA43-3004: Ohjelmointi Kotitehtävät 3

Metropolia ammattikorkeakoulu 05.02.2015 TI00AA43-3004: Ohjelmointi Kotitehtävät 3 : http://users.metropolia.fi/~pasitr/2014-2015/ti00aa43-3004/kt/03/ratkaisut/ Tehtävä 1. (1 piste) Tee ohjelma K03T01.cpp, jossa ohjelmalle syötetään kokonaisluku. Jos kokonaisluku on positiivinen, niin

Lisätiedot

////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ //-PID säätimellä. #include #include

////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ //-PID säätimellä. #include <EEPROM.h> #include <SoftwareSerial.h> ////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ //-PID säätimellä #include #include SoftwareSerial gps(0, 1); // RX, TX -pinnit const int buttonpinset = 2; // painonäppäimen

Lisätiedot

4 Riippuvuus 1. Esimerkki 4. Korrelaation laskeminen SPSS-ohjelmalla rajatusta aineistosta

4 Riippuvuus 1. Esimerkki 4. Korrelaation laskeminen SPSS-ohjelmalla rajatusta aineistosta 4 Riippuvuus 1 Esimerkki 4. Korrelaation laskeminen SPSS-ohjelmalla rajatusta aineistosta x 2 = sisaruksien luku- Tarkastellaan äidin ja lapsen pituuden välistä riippuvuutta havaintomatriisilla, joka on

Lisätiedot

TIETORAKENTEET JA ALGORITMIT

TIETORAKENTEET JA ALGORITMIT TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle

Lisätiedot

Viivakoodin viiteopas

Viivakoodin viiteopas Viivakoodin viiteopas Versio 0 FIN 1 Johdanto 1 Yleiskuvaus 1 1 Tämä opas sisältää tietoja viivakooditulostuksesta, joka toimii suoraan Brotherin tulostimeen lähetettyjen komentojen avulla. Yhteensopivat

Lisätiedot

2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma muuttaa parametrejaan tai globaaleja muuttujia, tulostaa jotakin jne.

2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma muuttaa parametrejaan tai globaaleja muuttujia, tulostaa jotakin jne. Proseduurit Proseduuri voi olla 1) Funktio, joka palauttaa jonkin arvon: real function sinc(x) real x sinc = sin(x)/x... y = sinc(1.5) 2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma

Lisätiedot

Alkuun HTML5 peliohjelmoinnissa

Alkuun HTML5 peliohjelmoinnissa Paavo Räisänen Alkuun HTML5 peliohjelmoinnissa www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida ja levittää ei kaupallisissa tarkoituksissa. Sisällysluettelo 1: Alkusanat 2: Alkuun 3: Pelinäkymä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

8. Lajittelu, joukot ja valinta

8. Lajittelu, joukot ja valinta 8. Lajittelu, joukot ja valinta Yksi tietojenkäsittelyn klassisista tehtävistä on lajittelu (järjestäminen) (sorting) jo mekaanisten tietojenkäsittelylaitteiden ajalta. Lajiteltua tietoa tarvitaan lukemattomissa

Lisätiedot

Kielioppia: toisin kuin Javassa

Kielioppia: 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ätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.2.2010 1 / 46 Merkkijonot Merkkijonojen avulla ohjelmassa voi esittää tekstitietoa, esim. nimiä, osoitteita ja

Lisätiedot

812336A C++ -kielen perusteet, 21.8.2010

812336A C++ -kielen perusteet, 21.8.2010 812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys

Lisätiedot

12 Mallit (Templates)

12 Mallit (Templates) 12 Mallit (Templates) Malli on määrittely, jota käyttämällä voidaan luoda samankaltaisten aliohjelmien ja luokkien perheitä. Malli on ohje kääntäjälle luoda geneerisestä tyyppiriippumattomasta ohjelmakoodista

Lisätiedot

Rajapinta (interface)

Rajapinta (interface) 1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa Java-kielen perusteet Teoria ja ohjelmointitehtävät Java-kielen perusteet 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN 10 JAVA-KIELEN PERUSTEET 10 OPISKELUN ALOITTAMINEN

Lisätiedot

12.10.2011. Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle

12.10.2011. Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle (Ei yhtään videota tällä kertaa.) X niin kuin Cross-Platform, Apache, MySql, PHP, Perl Kehitysympäristö EI tuotantokäyttöön Monet tärkeät tietoturva-asetukset ovat oletuksena pois päältä Erittäin nopea

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

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla

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

Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta.

Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta. Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta. Sisäänkirjauduttuasi näet palvelun etusivulla helppokäyttöisen hallintapaneelin. Vasemmassa reunassa on esillä viimeisimmät tehdyt muutokset

Lisätiedot

Scrumjatkuvan palvelun DWprojektissa-case. Niina Mäkiranta & OP-scrum-tiimi Aureolis Oy

Scrumjatkuvan palvelun DWprojektissa-case. Niina Mäkiranta & OP-scrum-tiimi Aureolis Oy Scrumjatkuvan palvelun DWprojektissa-case OP-Pohjola Niina Mäkiranta & OP-scrum-tiimi Aureolis Oy Agenda Scrum lyhyesti Jatkuvan palvelun DW-projekti- Case OP-Pohjola Lähtötilanne ennen Scrumia Scrumin

Lisätiedot

Java kahdessa tunnissa. Jyry Suvilehto

Java kahdessa tunnissa. Jyry Suvilehto Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

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

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

Web Service torilla tavataan!

Web Service torilla tavataan! Web Service torilla tavataan! Jari Putula Avarea Oy COPYRIGHT BY AVAREA 2009 1 Google Trends COPYRIGHT BY AVAREA 2009 2 1 1. Mahdollistajat 2. Web service? 3. KISS 4. Miksi? 5. Analogia 6. Ajax 7. Esimerkki

Lisätiedot