Ruokahalu kasvaa syödessä lisää makrokielen herkkuja
|
|
- Ritva Väänänen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Turun ammattikorkeakoulu Ruokahalu kasvaa syödessä lisää makrokielen herkkuja
2
3 SAS Makrokieli - kertaus Makrokielen asiat tapahtuvat ohjelmaa käännettäessä makroprosessorin työn tulos näkyy kääntäjälle Idea: yksi nimi korvautuu pitemmällä tekstillä moneen kertaan monessa kohtaa ohjelmaa mahdollisesti vaihtelevasti kyse on aina tekstistä, merkkijonosta Tämä tapahtuu ohjelmaa käännettäessä
4 Makromuuttujat - kertaus Voidaan määritellä melkein milloin tahansa Sisältää saman arvon kunnes eksplisiittisesti muutetaan muuten sama koko ohjelman (istunnon) ajan Määrittely ja asetus: %let nimi = uusi ; Viittaus: &nimi Havaitaan: &nimi.. Ei: &nimi Kyseinen kohta ohjelmassa korvautuu makron arvolla Makron arvo on aina merkkijono!! SAS-kääntäjä voi ymmärtää sen lukuna
5 Makro -kertaus Makro on pala koodia, jolle annetaan nimi %macro dsn; data.tiedot %mend dsn; %macro suorita; proc print data = %dsn; run; %mend suorita;
6 Makro - kertaus Makro on pala koodia, jolle annetaan nimi %macro dsn; data.tiedot %mend dsn; %macro suorita; proc print data = %dsn; run; %mend suorita; Nyt käyttö: title1 Tiedosto %dsn käytössä ; %suorita; Makro voi generoida hyvinkin pitkän pätkän koodia Puolipiste ei ole pakollinen makrokutsun jäljessä.
7 Filosofista pohdintaa Kun ohjelmassa tarvitaan vakiota, kumpi tapa on parempi: mvakio = 3.14; %let mvakio = 3.14; maksu = hinta * mvakio; maksu = hinta * %mvakio; Kumpikin toimii oikein hyvin Mahdollinen ongelma: Jos käytetään valmiita makroja, esiintyykö jossain niistä muuttuja mvakio?
8 Pieni harjoitus Sitaattien kanssa on joskus epäselvyyttä. Mitkä put-lauseet suoritetaan: %let a = AAA ; %macro puttaa; %put &a; %if &a = AAA %then %put ei sitaatteja; %if &a = AAA %then %put yksinkertaiset; %if AAA = AAA %then %put tasan samat; %if &a = AAA %then %put kaksinkertaiset; %if &a = AAA %then %put kumpaakin; %if &a = AAA %then %put vain toisella puolella; %mend puttaa; %puttaa;
9 SAS-lokissa näkyy: Pieni harjoitus AAA ei sitaatteja yksinkertaiset tasan samat kaksinkertaiset
10 %let tiedsto = sasuser.class; %let komment = ; /* eli siis tyhjä */ &komment proc contents DATA = &tiedsto; &komment TITLE Tiedosto &tiedsto ; &komment Tästähän tulee: Kommentoidaanpa osa ohjelmasta proc contents DATA = sasuser.class; TITLE Tiedosto sasuser.class ;
11 %let tiedsto = sasuser.class; %let komment = ; /* eli siis tyhjä */ &komment proc contents DATA = &tiedsto; TITLE Tiedosto &tiedsto ; &komment Tästähän tulee: Kommentoidaanpa osa ohjelmasta proc contents DATA = sasuser.class; TITLE Tiedosto sasuser.class ; Mutta: %let komment = *; /* asteriski */ Ja tästä tuleekin: * proc contents DATA = sasuser.class; * TITLE Tiedosto sasuser.class ; *
12 Kommentoidaanpa osa ohjelmasta Toinen tapa: tehdään makro, jota ei kutsuta (käytetä). %macro kommentoi; DATA tiedot; SET havainto; WHERE. PROC TABULATE DATA = tiedot; CLASS. VAR TABLE %mend kommentoi;
13 Makrokielen funktioista Makrokieli tarjoaa joukon funktioita mielenkiintoinen funtio on %sysfunc voidaan suorittaa jokin SAS-funktio ja saada tulos talteen Esimerkiksi: onko tiedosto olemassa: %macro onkoha( tdsto ); %global onhase; /* varmuuden vuoksi */ %if sysfunc( exist( &tdsto)) %then %let onhase = K; %else %let onhase = E; %mend onkoha: Funktio exist palauttaa 1, jos tiedosto on olemassa, muuten 0 Makromuuttuja onhase saa arvon K tai E vastaavasti.
14 Makrokielen funktioista Makrokieli tarjoaa joukon funktioita toimivat kuin vastaavannimiset DATAvaiheen funktiot toimivat makrokielen tasolla (siis ennen kääntäjää) käsittelevät merkkijonoja Esimerkiksi: %index %length %scan %qscan %substr %qsubstr ensimmäinen osajonon esiintymä merkkijonossa merkkijonon pituus etsi n:s sana merkkijonosta etsi n:s sana merkkijonosta erota osajono alkaen jostain, pituus jokin sama ohittaen erikoismerkkien merkityksen
15 Makrokielen funktioista Esimerkki makrossa esiintyy luku väliltä 1-99 saatu jonkin operaation tuloksena nyt tulisi rakentaa siitä nimi muotoa NIMI38 vaan, jospa luvussa onkin vain yksi numero? %if %length( &num ) = 1 %then %let num = 0&num ;.. ja nyt saadaan aikaan myös NIMI01, NIMI02,
16 Makrokielen funktioista Esimerkki tarkkana pitää olla!! %if %length( num ) = 1 %then %let num = 0&num ;.. ja pieleen menee. %put %length( num ); Tulostaa 3 Miksi?
17 Makrokielen funktioista Esimerkki kirjoitetaan personoituja kirjeitä Markku on luultavasti Söör Markku. %if %index( &nimi, Markku ) > 0 %then %let nimi = Söör &nimi;
18 Makrokielen funktioista Esimerkki pomo sai meidät kiinni pelleilystä Söör täytyy poistaa nimen edestä. %if %index( &nimi, Söör ) > 0 %then %do; %let pos = %index( &nimi, Söör ); %let nimi = %qsubstr ( &nimi, &pos+4 ); %end;. %qsubstr ei huomioi erikoismerkkejä, muuten sama kuin %substr &pos+4 on implisiittinen %eval(&pos+4)
19 Makrokielen funktioista Tehdäänpä analyysi 12:n kuukauden materiaaleista Tätä edeltävä kuukausi ja sitä edeltävät 11 kuukautta Materiaalit nimeltään MAvvvvkk
20 Esimerkki: juokseva 12 kuukautta %macro anal12mo ; %LET k1 = 01 ; %LET k2 = 02 ; %LET k3 = 03 ; %LET k4 = 04 ; /* Makrokielen vektori */ %LET k5 = 05 ; %LET k6 = 06 ; %LET k7 = 07 ; %LET k8 = 08 ; %LET k9 = 09 ; %LET k10 = 10 ; %LET k11 = 11 ; %LET k12 = 12 ; %LET kk = %sysfunc( month( %sysfunc(today())) ); %LET kk1 = %eval( &kk - 1 ); %LET vuo = %sysfunc( year( %sysfunc( today ()) )); %LET vv1 = %eval( &vuo - 1);
21 Esimerkki: juokseva 12 kuukautta %macro anal12mo ;... DATA matsku; /* luodaan tyhjä tiedosto */ IF _N_ = 1 THEN STOP; SET MA&vuo&kk1 ( KEEP = );
22 Esimerkki: juokseva 12 kuukautta %macro anal12mo ;... DATA matsku; /* luodaan tyhjä tiedosto */ IF _N_ = 1 THEN STOP; SET MA&vuo&kk1 ( KEEP = ); %DO i = &kk %TO 12 PROC APPEND BASE = matsku DATA = MA&vv1&&k&i ( KEEP = ) ; %END
23 Esimerkki: juokseva 12 kuukautta %macro anal12mo ;... DATA matsku; /* luodaan tyhjä tiedosto */ IF _N_ = 1 THEN STOP; SET MA&vv&kk1 ( KEEP = ); %DO i = &kk %TO 12 PROC APPEND BASE = matsku DATA = MA&vv1&&k&i ( KEEP = ) ; %END %DO i = 1 %TO &kk1 PROC APPEND BASE = matsku DATA = MA&vuo&&k&i ; %END /* materiaali koottu, suorita analyysi */ PROC XXXX DATA = matsku ; %mend anal12mo;
24 %macro anal12mo ; Esimerkki: variaatio äskeisestä DATA matsku; /* luodaan tyhjä tiedosto */ IF _N_ = 1 THEN STOP; SET MA&vuo&kk ( KEEP = ); %DO i = &kk %TO 12 %let kc = %sysfunc( put( &i ), z2. ); PROC APPEND BASE = matsku DATA = MA&vv1&kc ( KEEP = ) ; %END %DO i = 1 %TO &kk1 %let kc = %sysfunc( put( &i ), z2. ); PROC APPEND BASE = matsku DATA = MA&vuo&kc ; %END /* materiaali koottu, suorita analyysi */ %mend anal12mo;
25 Esimerkki: juokseva 12 kuukautta, toinen tapa %macro anal12mo ; DATA _NULL_; vv = YEAR( TODAY() 1 ); kk = MONTH( TODAY() ); CALL EXECUTE( DATA matsku; ); CALL EXECUTE( SET ); DO I = 1 TO 12 CALL EXECUTE ( MA!! PUT(vv, 4.)!! PUT(kk, z2. )!! ( KEEP = ) ); kk = kk +1; IF kk > 12 THEN DO kk = 1; vv = vv + 1; END; CALL EXECUTE ( ; ); END; CALL EXECUTE( ); /* tähän väliin tulee tuo kehitetty datavaihe */ PROC XXX DATA = matsku;... %mend anal12mo;
26 Joka alueelta raportti %macro alueet ; PROC SORT DATA = tiedot( KEEP = ) OUT = matsku; BY alue; DATA _NULL_; SET matsku ( KEEP = alue ); BY alue; IF first.alue THEN DO; i+1; nro = left( put( i, Z2. ); CALL SYMPUT( alu!! nro, alue ); CALL SYMPUT( YHT., nro ); END; Syntyy makromuuttujat alu01, ja YHT Huom: YHT-muuttujan arvo muuttuu ja on lopulta suurin alue
27 Toistetaanpa samaa %macro alueet ;. CALL SYMPUT( yht, nro ); END; %do i= 1 to &yht; PROC MEANS DATA = matsku mean n max min sum; WHERE alue = &&alu&i ; VAR myynti kulut ; TITLE Alueen &&alu&i myynti ja kulut ; %mend alueet; Tuloksena syntyy PROC MEANS kutakin aluetta kohti Etukäteen ei ehkä tiedetä, montako Toimii, jos aluenumerot ovat 1,2,3,4
28 Muutamia automaattisia makromuuttujia SAS määrittelee joitakin automaattisia makromuuttujia: &sysday &systime &syslast - viikonpäivä, jolloin suoritus alkoi - kellonaika, jolloin suoritus alkoi - viimeksi luodun tiedoston nimi &komment PROC PRINT DATA = &syslast; &komment TITLE Tiedosto &syslast ; &komment &syserr &syscp - paluukoodi PROC tai DATA-vaiheesta - käyttöjärjestelmä, jossa toimitaan
29 Nopea ja dynaaminen tapa hakea tietoja taulusta Oletetaan, että annetut koodiarvot ovat SAS-tiedostossa koodit. Seuraavassa esimerkissä SAS-koodi eri värein: Mustalla kirjoitettu koodi suoritetaan periaatteessa kerran datavaiheen alussa tai lopussa vihreällä kirjoitettu koodi suoritetaan jokaisella datavaiheen kierroksella punaisella kirjoitettu koodi suoritetaan aika ajoin - siis muutamia kertoja /30/99
30 Nopea ja dynaaminen tapa hakea tietoja taulusta Oletetaan, että annetut koodiarvot ovat SAS-tiedostossa koodit. Esimerkki: %let lib = sasuser; %let fromlib = prod; %let valipit = 800; /* valitaan sopivasti esim. yli 1000 */ PROC SQL; CREATE TABLE %lib.nwxyz LIKE %fromlib.nwxyz; QUIT; 14 12/30/99
31 PROC SQL; CREATE TABLE %lib.nwxyz LIKE %fromlib.nwxyz; QUIT; DATA nwxyz ( keep = client_r client_0 activity client_1 ); STOP; /* ehkä haluamme tänne vain osan */ SET %lib.nwxyz; /* DB2-taulun muuttujista */ 14 12/30/99
32 DATA _null_ ; /* Tämä datavaihe kehittää nopean kyselyn */ LENGTH lause $80; RETAIN vali &valipit; SET koodit end = loppu; IF _n_ = 1 THEN DO ; call execute( "PROC SQL ; " ); END; 15 12/30/99
33 IF vali = &valipit THEN DO; call execute( " INSERT into nwxyz ") ; lause = "( SELECT client_number, client_code,"!! client_type, client_key " ; call execute( lause ); call execute( "FROM &fromlib.nwxyz " ); call execute( "WHERE client_cat = '1' " ) ; call execute( "AND client_type IN (' ','1')" ); call execute( "AND client_number IN ( " ) ; END; 15 12/30/99
34 DATA _null_ ; LENGTH lause $80;... IF vali = &valipit THEN DO;... END; call execute( client_number ) ; /* tai: ( "'"!! client_number!! "'" ) */ vali + (-1) ; /* vähennetään laskuria */ IF ( vali = 0 ) OR loppu THEN DO; call execute( " ) ) " ) ; /* Lopeta SQL */ vali = &valipit; END; ELSE call execute( "," ); IF loppu THEN call execute( " QUIT; ") ; 16 12/30/99
35 Nopea dynaaminen tapa hakea tietoja taulusta Tämä on nopea ja dynaaminen tapa hakea tietoja taulusta. Emme tiedä etukäteen, montako koodia tulee hakea Ohjelma näyttää monimutkaiselta, mutta ei loppujen lopuksi ole erityisen hankala. Saavutettu hyöty ylittää moninkertaisesti nähdyn vaivan /30/99
36 Netti tulvii lisätietoja, ohjeita ideoita ja vastauksia. Vaikkapa: support.sas.com/resources/papers/tnote/tnote_base.html sascommunity.org/wiki/user:rolandrb sascommunity.org/wiki/category:macro_language datasavantconsulting.com/roland/sastips.html tdiasug.dartmouth.edu/presentations/ _sr_macro.pdf basas.com/tips.html Lisätietoja ja malleja
37 Yhteenveto Pieni sana, %macro, antaa valtavasti vaihtelua ohjelmaan. Makrojen ja makromuuttujien avulla voi ohjelmista tehdä joustavampia helpompia ylläpitää selkeitä: muuttuvat asiat ohjelman alussa hyvin nähtävillä lyhyempiä paremmin uudelleenkäytettäviä lisäämättä kohtuuttomasti ohjelman tekemisen vaikeutta
38 This is the end The Doors
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ätiedotMakrojen 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ä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ä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ä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ätiedotTIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 8 XX00AA79-3013 TU12S2 Pasi Ranne 25.9.2013 25/9/13 Helsinki Metropolia University of Applied Sciences 1 Harjoitustyö Harjoitustöiden tilanne
LisätiedotSELECT-lauseen perusmuoto
SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää
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ätiedotSQL-perusteet, SELECT-, INSERT-, CREATE-lauseet
SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin
LisätiedotSAS/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ä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ä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ä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ä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ä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ä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ätiedotHAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät
HAAGA-HELIA Heti-09 1 (12) Näkymät Näkymät... 2 Eri tyyppisiä relaatioita... 2 Taulu - Tallennettu relaatio... 2 Tulosrelaatio - Kyselyn tulos... 2 Näkymä - Virtuaalirelaatio... 2 Näkymien määrittely...
LisätiedotHakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]
Tällä viikolla Kertaus SQL-asioista jatketaan SQL-tekstifuntio-harjoituksia tehdään pelifirman tietokannasta ER-malli MySQL:llä, tarkastellaan mallin toimivuutta ja korjataan, jos korjattavaa löytyy, tehdään
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ä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ä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, syksy 2006
Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 11: Tulkin muokkaaminen, sisäiset määrittelyt, makrot (mm. SICP 3.2.4, 4-4.1.6) Riku Saikkonen 29. 11. 2012 Sisältö 1 Kirjan tulkin muokkaaminen 2 Yksityiskohta:
LisätiedotOpiskeluoikeuksien maaran tiedonkeruu
Opiskeluoikeuksien maaran tiedonkeruu Määrittely Opinto-oikeuksista tarvitaan seuraavat tiedot: Tieto jokaisesta yksittäisestä opinto-oikeudesta ja kytkentä niistä opinto-oikeuksista jotka ovat samalla
LisätiedotKoostefunktiot. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:
Funktiot Koostefunktiot Viisi standardifunktiota: AVG -- keskiarvo MIN -- pienin arvo MAX -- suurin arvo SUM -- summa COUNT-- lukumäärä Esim. montako henkilöä on henkilo-taulussa: SELECT Count(*) AS Lkm
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ätiedotJoko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT
Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT Agenda Regular Expression - funktiot Case-insensitive Sort Case-insensitive Seach Merge muutokset Tree-walking in 10g DML Returning Values
LisätiedotInsert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)
SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos 1 Insert lauseella on kaksi muotoa: insert
LisätiedotAlgoritmit 2. Luento 9 Ti Timo Männikkö
Algoritmit 2 Luento 9 Ti 17.4.2018 Timo Männikkö Luento 9 Merkkitiedon tiivistäminen Huffmanin koodi LZW-menetelmä Taulukointi Editointietäisyys Algoritmit 2 Kevät 2018 Luento 9 Ti 17.4.2018 2/29 Merkkitiedon
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ä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ätiedotTällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia
Tällä viikolla Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia 1.) Mainitse tietokonepelistä (kuvitteellisesta tai todellisesta) esimerkkitilanteita,
LisätiedotKyselyn yleisrakenne:
SQL kysely Kyselyn yleisrakenne: select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta] Kysely tuottaa nimettömän
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ätiedotTIEDON LAATU VIRPI VIRTANEN S-PANKKI JA JANNE ERÄNEN PERIGEUM
TIEDON LAATU VIRPI VIRTANEN S-PANKKI JA JANNE ERÄNEN PERIGEUM SISÄLTÖ Miksi tiedon laatua pitää tarkkailla? Sanktioitu ympäristö Mitä tiedosta voidaan tarkkailla? Numeeriset ja merkkimuotoiset tarkastelut
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ä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ätiedotKerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma:
Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 2 1. Toteuta Pythonilla seuraava ohjelma: 2. Tulosta Pythonilla seuraavat luvut allekkain a. 0 10 (eli, näyttää tältä: 0 1 2 3 4 5 6 7 8 9 10 b. 0 100 c. 50 100 3.
LisätiedotJaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007
Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden
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ä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ätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 10: Tulkin muokkaus, makrot, ohjelmia muokkaavat ohjelmat (mm. SICP 3.2.4, 4-4.1.6) Riku Saikkonen 22. 11. 2011 Sisältö 1 Kirjan tulkin muokkaaminen 2
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ä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ätiedotOUTER JOIN se vanha kunnon kaveri
OUTER JOIN se vanha kunnon kaveri Ulkoliitoksia on kolmenlaisia Left -> vasemmasta taulusta otetaan ehdot täyttävät rivit ja yhdistetään oikeanpuoleiseen tauluun jos rivi löytyy - nested loop join Right
LisätiedotSystem.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);
Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Ohjelmointitehtävien osalta palautetaan
LisätiedotHarjoitus 3 -- Ratkaisut
Harjoitus 3 -- Ratkaisut 1 ' '-merkki kirjoitetaan =, ' '-merkki!=, ' '-merkki ==. Yhtälöiden ratkaisusta puhutaan lisää myöhemmin. a f x, y : If ehtolauseke x y, y tämä palautetaan, jos
LisätiedotTällä viikolla. Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä
Tällä viikolla Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä Seuraavissa harjoituksissa käytetään tukkukauppa-kantaa. 1. Hae kaikki toimittajat
LisätiedotOhjelmoinnin 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ätiedotDatatähti 2019 loppu
Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio
LisätiedotTiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta
Tiedonhallinnan perusteet H11 Ovien ja kulun valvontajärjestelmän tietokanta Nimi: Mikko Haapanen Opiskelijanumero: 0900568 Ryhmä: T09L Työ tehty: 15.3.2010 Mikko Haapanen 15.3.2010 1(7) 1. Asiakasvaatimukset
Lisätiedot13. Hyvä ohjelmointitapa (osa 1) 13.1
13. Hyvä ohjelmointitapa (osa 1) 13.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen tarvitaan ylläpitoa. Jotta koodin muuttaminen on mahdollista, on sen oltava myös muidenkin kuin
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ätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 4.10.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 4.10.2017 1 / 23 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle
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ä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ätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.9.2015 1 / 16 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
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ätiedotRADAR - RANDOM DATA GENERATOR
YLEISKUVAUS Radar on sovellus, jolla voi luoda näennäisen oikeaa satunnaisdataa testaus-, demo - ja muihin tarkoituksiin. TIEDUSTELUT Juha Levonen 050 372 5797 juha.levonen@kantapeikko.fi Osa datasta generoidaan
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ä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ä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ä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ätiedotKäännös, linkitys ja lataus
Luento 10 (verkkoluento 10) Käännös, linkitys ja lataus Ohjelmasta prosessiin Käännösyksikkö Kääntämisen vaiheet Makrot, literaalit Staattinen ja dynaaminen linkitys Nimien sidonta Lausekielestä suoritukseen
LisätiedotSQL - STRUCTURED QUERY LANGUAGE
SQL Peruskomentoja SQL - STRUCTURED QUERY LANGUAGE SQL on tietokantojen käsittelyyn kehitetty kieli Esimerkkejä kielellä hoidettavistaa toiminnoista: Tietokannan rakenteen määrittely ja muuttaminen Kyselyt
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ätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotTIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 10 TU00AA48-2002 TU10S1E Hannu Markkanen 14.-15.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 SQL: Monen taulun kyselyt
LisätiedotMTT:n sääaineistot ja tietokannat hallintaan SASilla
MTT:n sääaineistot ja tietokannat hallintaan SASilla Tietoiskutilaisuus 21.3.2013. Versio 1.1 Timo Pitkänen MTT:n sääaineistot ja tietokannat hallintaan SASilla Tämän tietoiskumateriaalin tarkoitus on
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ä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ä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ätiedotSQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX
SQL - perusteet SQL - yleistä Esa Salmikangas InMics SE Oy versio 16.6.2003 SQL - perusteet 1 SQL - perusteet 2 SQL Structured Query Language SQL on tietokantojen käsittelyyn kehitetty kieli yleisimmät
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ätiedotSQL:N PERUSTEET MARKKU SUNI
SQL:N PERUSTEET MARKKU SUNI Vertailuoperaattorit Vertailuoperaattorit vertailevat lausekkeiden arvoja Vertailu palauttaa jonkin kolmesta arvosta: TRUE Tosi FALSE Falski, väärä NULL Tuntematon JOS vertailuehtona
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotOhjelmointi 1 / 2009 syksy Tentti / 18.12
Tentti / 18.12 Vastaa yhteensä neljään tehtävään (huomaa että tehtävissä voi olla useita alakohtia), joista yksi on tehtävä 5. Voit siis valita kolme tehtävistä 1 4 ja tehtävä 5 on pakollinen. Vastaa JOKAISEN
LisätiedotOsa. Listaus 2.1. HELLO.CPP esittelee C++ -ohjelman osat. 14: #include <iostream.h> 15: 16: int main() 17: {
Osa I 2. oppitunti C++-ohjelman osat Ennen kuin menemme yksityiskohtaisemmin sisälle C++-luokkiin, -muuttujiin jne, katsokaamme ensin, millaisista osista C++-ohjelma koostuu. Tämän tunnin aikana opit seuraavat
LisätiedotAlgoritmit 1. Demot Timo Männikkö
Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava
LisätiedotNumeeriset menetelmät
Numeeriset menetelmät Luento 2 To 8.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 2 To 8.9.2011 p. 1/33 p. 1/33 Lukujen tallennus Kiintoluvut (integer) tarkka esitys aritmeettiset operaatiot
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 10.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 10.10.2018 1 / 20 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelman toimintaa voi tutkia ja ohjelmassa
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ä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ätiedotHelsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista
Helsingin yliopisto Tietojenkäsittelytieteen laitos 26.2.2014 (H.Laine) Tietokantojen perusteet Liitteenä: Tiivistelmä SQL-syntaksista Kirjoita jokaiseen erilliseen vastausarkkiin kurssin nimi, tenttipäivä,
LisätiedotZeon 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ätiedotLuku 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ätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 9: Makrot ja dynaaminen sidonta Riku Saikkonen 7. 12. 2010 Sisältö 1 Makrot 2 Pieni esimerkki abstraktion tekemisestä 3 Dynaaminen sidonta Mikä on makro?
Lisätiedot7.4 Sormenjälkitekniikka
7.4 Sormenjälkitekniikka Tarkastellaan ensimmäisenä esimerkkinä pitkien merkkijonojen vertailua. Ongelma: Ajatellaan, että kaksi n-bittistä (n 1) tiedostoa x ja y sijaitsee eri tietokoneilla. Halutaan
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ätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 26.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 26.9.2018 1 / 21 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa for-käskyn avulla ohjelman, joka toistaa haluttua
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ä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ätiedotA ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.
Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =
LisätiedotTIETOKANTOJEN PERUSTEET MARKKU SUNI
TIETOKANTOJEN PERUSTEET MARKKU SUNI SQL - KIELI TIETOJEN MUOKKAUS MARKKU SUNI Tarkastellaan tauluissa olevien tietojen muokkausta muokkauskäskyjä: INSERT UPDATE DELETE Kysymys kuuluu: Voiko tietoja muokata
LisätiedotVerilogvs. 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ätiedotOhjelmoinnin 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ä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ätiedotOperaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta
C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus
Lisätiedot