Aureolis Oy Itsemääritellyt funktiot SAS ohjelmoinnissa
|
|
- Esa Parviainen
- 8 vuotta sitten
- Katselukertoja:
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 contact@aureolis.com
Makrojen mystinen maailma lyhyt oppimäärä
Makrojen mystinen maailma lyhyt oppimäärä Makrot osana SAS-teknologiaa Yleiskuva Jouni Javanainen Aureolis lyhyesti Aureolis on jatkuvia Business Intelligence -palveluita tuottava asiantuntijaorganisaatio
LisätiedotDS2-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ätiedotDynaamista 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ätiedotRuokahalu 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ätiedotDATA-vaiheen ohjelmoijan yleissivistys helposti unohtuvia asioita
Markku Suni Factotum emeritus Turun ammattikorkeakoulu DATA-vaiheen ohjelmoijan yleissivistys helposti unohtuvia asioita Aivan ensimmäiseksi haluan kiittää kuulijoita kuuntelusta Kuten tunnettu poliitikko
LisätiedotProseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008
Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT Jouni Huotari S2008 2 Proseduurit Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)
LisätiedotPROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009
PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)
LisätiedotIDL - 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ätiedotATK 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ätiedot815338A 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ätiedotTä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ätiedotSukupuu -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ätiedotICS-C2000 Tietojenkäsittelyteoria Kevät 2016
ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 Kierros 6, 22. 26. helmikuuta Huom: arviointiviikolla 15. 19.2. ei ole laskuharjoituksia! Demonstraatiotehtävien ratkaisut D1: (a) Osoita, että seuraava yhteydetön
LisätiedotTiedot hallintaan PROC CONTENTSilla makroja ja ODS:ää hyödyntäen. Päivi Heimonen ICT-erikoisasiantuntija, Kela SAS Tech Club 24.1.
Tiedot hallintaan PROC CONTENTSilla makroja ja ODS:ää hyödyntäen Päivi Heimonen ICT-erikoisasiantuntija, Kela SAS Tech Club 24.1.2017 Tausta ja tavoite Haaste 1 Tietojen haravoinnin tehostaminen ja helpottaminen
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ätiedotOhjelmoinnin 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ätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Rekursio Rekursion käyttötapauksia Rekursio määritelmissä Rekursio ongelmanratkaisussa ja ohjelmointitekniikkana Esimerkkejä taulukolla Esimerkkejä linkatulla listalla Hanoin
LisätiedotTT00AA12-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ätiedot1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
LisätiedotBootstrap / 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ätiedotMatlab- ja Maple- ohjelmointi
Perusasioita 2. helmikuuta 2005 Matlab- ja Maple- ohjelmointi Yleistä losoaa ja erityisesti Numsym05-kurssin tarpeita palvellee parhaiten, jos esitän asian rinnakkain Maple:n ja Matlab:n kannalta. Ohjelmien
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat
Lisätiedot1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/
LisätiedotLoppukurssin järjestelyt
C! Loppukurssin järjestelyt 29.3.2018 Ohjelmassa Yhteenvetoa palautteesta Ohjelmontitehtävän järjestelyt Tietokonetentin järjestelyt Kysyttävää / kerrattavaa 10-kierroksen asioista? Aikatauluista 10. kierroksen
LisätiedotXML -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ätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.
LisätiedotTestiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt
Testiautomaatio tietovarastossa Automaattisen regressiotestauksen periaate ja hyödyt Sisältö 2 Testaus kiinteänä osana DW-toteutusta Regressiotestauksen merkitys Robot Framework Automatisoitu DW:n regressiotestaus:
LisätiedotMaastotietokannan 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ätiedotTaulukot. 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ä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ätiedotOhjelmoinnin 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ätiedot815338A 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ätiedotAlustavia 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ätiedotLoppukurssin järjestelyt C:n edistyneet piirteet
C! Loppukurssin järjestelyt C:n edistyneet piirteet 30.3.2017 Ohjelmassa Ohjelmontitehtävän järjestelyt Tietokonetentin järjestelyt Esikääntäjä Parametrilistat Funktio-osoittimet Kunniamainintoja Kuura
LisätiedotDI Studion käyttökokemuksia. Kaisu Ikonen, Tilastokeskus
Kaisu Ikonen, Tilastokeskus 13.9.2012 Sisältö SAS Tilastokeskuksessa 2012 Esimerkki DIS-projektista Erityiskysymyksiä 13.9.2012 2 SAS Tilastokeskuksessa 2012 SAS-käyttäjiä 350, joista IT-puolella noin
LisätiedotDatavaiheen 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ätiedotLaskennallisesti Älykkäät Järjestelmät. Sumean kmeans ja kmeans algoritmien vertailu
Laskennallisesti Älykkäät Järjestelmät Sumean kmeans ja kmeans algoritmien vertailu Annemari Auvinen (annauvi@st.jyu.fi) Anu Niemi (anniemi@st.jyu.fi) 28.5.2002 1 Tehtävän kuvaus Tehtävänämme oli verrata
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ä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ätiedotVersionhallintaa. 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ätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Keskeneräinen luento 3: Listat (mm. SICP 22.2.3) Riku Saikkonen 31. 10. 2011 Sisältö 1 Linkitetyt listat 2 Linkitetyt listat (SICP 2.1.1, 2.2.1) funktionaalinen
LisätiedotOhjelmoinnin 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ätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 7: Funktionaalista ohjelmointia (mm. SICP 3.5) Riku Saikkonen 13. 11. 2012 Sisältö 1 Laiskaa laskentaa: delay ja force 2 Funktionaalinen I/O 3 Funktionaalista
LisätiedotMerkkijono 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ätiedotSisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista
Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
LisätiedotJohdatus 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ätiedot1. Omat operaatiot 1.1
1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
LisätiedotJWT 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ätiedotReturns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu
Returns to Scale II Contents Most Productive Scale Size Further Considerations Relaxation of the Convexity Condition Useful Reminder Theorem 5.5 A DMU found to be efficient with a CCR model will also be
LisätiedotSe mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.
Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
LisätiedotLuento 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ätiedotTietueet. 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ätiedotOsoitin 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ätiedotHarjoitus 4 (viikko 47)
Kaikki tämän harjoituksen tehtävät liittyvät joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Saa hyvän alun harjoitustyön tekoon, kun ratkaiset mahdollisimman monta tehtävää. Mikäli tehtävissä
Lisätiedot14. Hyvä ohjelmointitapa 14.1
14. Hyvä ohjelmointitapa 14.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen; ohjelmaa voidaan käyttää ja ylläpitää jopa vuosikymmeniä. Jotta koodin muuttaminen on mahdollista, sen
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Pienen ohjelmointikielen tulkki (ohjelmoitava laskin) (mm. SICP 4-4.1.5 osin) Riku Saikkonen 15. 11. 2012 Sisältö 1 Nelilaskintulkki, globaalit muuttujat
LisätiedotJava-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ätiedotTIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 10: Paikalliset muuttujat, kirjan tulkki kokonaisuutena (mm. SICP 3.2, 4.1.24.1.6) Riku Saikkonen 22. 11. 2012 Sisältö 1 Ympäristöt: miten paikalliset
LisätiedotSAS: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ätiedotListarakenne (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ätiedotOhjelmoinnin 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ätiedot1 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ätiedotHieman 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ä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ätiedotKirjasto 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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 10.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 10.2.2010 1 / 43 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin
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ätiedotMetodit. 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ätiedotXML ja SAS. Mitä tänä päivänä voidaan SASista tehdä XML-muotoon
XML ja SAS Mitä tänä päivänä voidaan SASista tehdä XML-muotoon Sisältö XML SAS ja XML: ODS:n käyttäminen xml-tulosteisiin Libname enginen käyttäminen XML tulosteisiin XML mapperi Libname enginen käyttäminen
LisätiedotNopea kertolasku, Karatsuban algoritmi
Nopea kertolasku, Karatsuban algoritmi Mikko Männikkö 16.8.2004 Lähde: ((Gathen and Gerhard 1999) luku II.8) Esityksen kulku Algoritmien analysointia (1), (2), (3), (4) Klassinen kertolasku Parempi tapa
LisätiedotJakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotOhjelmointi 1 C#, kevät 2013, 2. tentti
ITKP102 Ohjelmointi 1 C# 15.5.2013 1 / 6 Ohjelmointi 1 C#, kevät 2013, 2. tentti Tentaattori Antti-Jussi Lakanen Tässä tentissä saa olla mukana omia muistiinpanoja yhden arkin verran. Tentin valvojalla
LisätiedotOhjelmoinnin 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ätiedotLiitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1
Liitosesimerkki 16.02.06 Tietokannan hallinta, kevät 2006, J.Li 1 Esim R1 R2 yhteinen attribuutti C T(R1) = 10,000 riviä T(R2) = 5,000 riviä S(R1) = S(R2) = 1/10 lohkoa Puskuritilaa = 101 lohkoa 16.02.06
LisätiedotHELIA 1 (14) Outi Virkki Tiedonhallinta
HELIA 1 (14) Luento Näkymät... 2 Relaatiotyypit... 2 Taulu - Tallennettu relaatio... 3 Näkymä - Virtuaalirelaatio... 3 Tulosrelaatio - Kyselyn tulos... 3 Otetaulut - Tauluun tallennettu kyselyn tulos...
LisätiedotImperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi
Imperatiivisen ohjelmoinnin peruskäsitteet muuttuja muuttujissa oleva data voi olla yksinkertaista eli primitiivistä (esim. luvut ja merkit) tai rakenteista jolloin puhutaan tietorakenteista. puhuttaessa
LisätiedotDictionary taulut. Miten perus metadataa käytetään koodillisesti joustavuutta lisäämään
Dictionary taulut Miten perus metadataa käytetään koodillisesti joustavuutta lisäämään Metadata Base SASissa Metadata on käytettävissä jokaisessa SAS istunnossa, oli sitten kyse yksittäiskäyttäjästä omalla
LisätiedotTaulukot. 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ätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 2: SICP kohdat 22.2.3 Riku Saikkonen 2. 11. 2010 Sisältö 1 Linkitetyt listat 2 Listaoperaatioita 3 Listarakenteet 4 Gambit-C:n Scheme-debuggeri Linkitetyt
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ätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
LisätiedotLiitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot
Esim yhteinen attribuutti C Liitosesimerkki T() = 10,000 riviä T() = 5,000 riviä S() = S() = 1/10 lohkoa Puskuritilaa = 101 lohkoa 1 2 Vaihtoehdot Sisäkkäiset silmukat Liitosjärjestys:, Liitosalgoritmit:
LisätiedotOlio-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ätiedotAction Request System
Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet
LisätiedotOhjelmoinnin 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ätiedotRajapinta (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ätiedotMäärittelydokumentti
Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta
Lisätiedot2) 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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2009 1 / 43 Funktiot Tähän asti esitetyt ohjelmat ovat oleet hyvin lyhyitä. Todellisessa elämässä tarvitaan kuitenkin
LisätiedotTAMPEREEN TEKNILLINEN YLIOPISTO
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 06.09.2005 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ
LisätiedotSEM1, 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ätiedotSAS 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ätiedotFinFamily PostgreSQL installation ( ) FinFamily PostgreSQL
FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...
LisätiedotDemokoodaus Linuxilla, tapaus Eternity
Demokoodaus Linuxilla, tapaus Eternity Tuomo Sipola tuomo.sipola@iki.fi Linkin lanit 9.4.2010 Tuomo Sipola tuomo.sipola@iki.fi () Demokoodaus Linuxilla, tapaus Eternity Linkin lanit 9.4.2010 1 / 17 Sisältö
LisätiedotAbstraktit tietotyypit. TIEA341 Funktio ohjelmointi 1 Syksy 2005
Abstraktit tietotyypit TIEA341 Funktio ohjelmointi 1 Syksy 2005 Data abstraktio Abstraktio on ohjelmoinnin tärkein väline Data abstraktio abstrahoi dataa Abstrakti tietotyyppi Koostuu kolmesta asiasta:
LisätiedotOhjelmoinnin 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ätiedotTehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003
Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003 Matti Nykänen 5. joulukuuta 2003 1 Satelliitit Muunnetaan luennoilla luonnosteltua toteutusta seuraavaksi: Korvataan puusolmun p kentät p. key ja
Lisätiedot