Asialista. CLT131: Tekstityökalut 2010, kuudes luento. Tuleva ohjelma. Kurssipalaute. Käytännön asiat Tuleva ohjelma Havaitut virheet ja korjaukset

Koko: px
Aloita esitys sivulta:

Download "Asialista. CLT131: Tekstityökalut 2010, kuudes luento. Tuleva ohjelma. Kurssipalaute. Käytännön asiat Tuleva ohjelma Havaitut virheet ja korjaukset"

Transkriptio

1 Asialista CLT131: Tekstityökalut 2010, kuudes luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos Kurssipalaute Kerätään kurssin puolivälistä kurssipalaute elomakkeella, tästä saa yhden tehtäväpisteen seuraaviin harjoituksiin. Palaute lähetettävä vuodenvaihteeseen mennessä, linkki saatavilla luennoilta tai sähköpostitse, koska elomake-osoitteita ei saa jakaa verkossa. edellisten laskuharjoitusten malliratkaisut ja seuraavat laskuharjoitukset tulevat verkkoon ennen joulua kevät aloitetaan joululoman/tammikuun laskuharjoituksilla vasta pe kevään ensimmäisellä luennolla enimmäkseen kerrataan säännölliset lausekkeet, ja jos aikaa jää, aloitetaan skriptaus ja tiedostojenhallintaa (esim. make) tarkastelkaa kalenteria tammikuun alusta muutoksia varten

2 lähtöteksti sisältää jopa kolmea eri merkkaustapaa: XML, mediawiki, XML-entiteettikoodattu HTML: täysimittainen muunnos raakatekstiksi olisi työläs Viime viikon tehtävät type on bash-komento, eikä toimi csh:lla: which on tähän tarkoitukseen riittävä korvike kuitenkin csh:n muuttaminen bashiksi on suositeltavaa hipun grep-versiossa on värjäyksessä bugi, joka teki tavutustehtävän testaamisen vieläkin haasteellisemmaksi tavutustehtävän pisteet lasketaan lisäpisteiksi (=eivät sisälly 50 %:iin arvostelussa) omorfin CG-tulosteessa oli bugi: omorfi-analyse.sh cg,cg saa aikaan halutun tuloksen omorfi-analyse.sh ei ymmärrä joitain erikoismerkkejä: jne. (joko poistettava tr:llä tai lisättävä takakenoviiva eteen sedillä) vaikeammista tehtävistä tulee sivuille malliratkaisuja skripteistä Asialista Tutkimusongelma: adverbit Wikipedia-aineistossa Tehtäväkuvaus Halutaan selvittää tiettyjen erilaisten adverbien samankaltaisuutta...kontekstien perusteella (myöhemmin) Lähtökohdat wikipedian tietokanta korpuksena haut kohdistetaan analyyseihin, jotka pitää taasen saada yhdistettyä pareittain Ongelmat Asialista

3 Aineisto: Wikipedia vapaa ilmainen yhteisötuotettu tietosanakirja; sisältänee nykykielenkäytön mukaista asiatekstiä laajalta alalta XML-merkkaus pitää siistiä ja poistaa MediaWiki-merkkaus pitää siistiä ja poistaa XML-koodattu HTML-merkkaus pitää (muuntaa ja) siistiä ja poistaa teksti on noudettavissa yhtenä suurehkona tiedostona: fiwiki/ / (korvaa sanalla latest noudettaessa tuoreinta) katsotaan: Amsterdam-artikkeli selaimessa MediaWiki-muoto selaimessa title=amsterdam&action=edit Awk-artikkeli itse ladatusta tiedosta: head -n 484 Wikipedian siistittävät Lähtökohta: XML-merkkausta <page> <title>amsterdam</title> <id>1</id> <revision> MediaWiki-merkkausta {{Kaupunki2 virallinen_nimi = Amsterdam muu_nimi =...}} Amsterdam on [[Alankomaat Alankomaiden]] [[pääkaupunki]]. == Historia == XML-koodattua HTML-koodia...siellä asui 743&nbsp;905 asukast......jono on kasvava jos kaikilla XML-merkkauksesta vielä varsinaisesti käsitellään vasta seuraavilla kursseilla: CLT132 verkkosivujen suunnitelu ja CLT236 XML nyt riittää tietää edelleen, että merkkaus sisältää kulmasulkein rajattuja merkintöjä tämän lisäksi, et-merkillä & ja puolipisteellä ; rajataan erikoismerkkejä: < tämä on tärkeää, koska wiki-merkkauksessa XML:ään on sisällytetty toista XML:ää (tässä tapauksessa suunnilleen HTML:ää) kaksinkertaisesti koodattuna: <ulompi><sisempi>sisin</sisempi></ul : satunnaisluvut bashissa suuren aineiston kanssa on yleensä järkevää kehitysvaiheessa käyttää vain osaa aineistosta käyttämällä satunnaisesti arvottuja osia saadaan vaihtelevaa aineistoa bash antaa arvottuja lukuja muuttujasta $RANDOM [0, 32767] koska tämä on usein väärää suuruusluokkaa, esim. bashin matematiikkatilaan pääsee erikoissulkeilla $(( )), jossa skaalaus voidaan suorittaa kertolaskulla *: : echo $RANDOM katsotaan satunnaislukuja echo $(($RANDOM *100)) satakertainen satunnaisluku head -n $(($RANDOM *100)) tail -n $RANDOM eräs satunnaispoiminta tiedostosta

4 : awkin monimutkaisempi tulostus tällä kertaa saneparien käsittelyn vielä helpottamiseksi hyödynnetään muotoiltua tulostamista; näin voidaan käsitellä analyysirivejä ja tulostaa sanepareista rivien osia muotoillun tulosteen komento on printf(muotoilu, muuttujat) muotoilu on merkkijono, jossa on aukkokohtia, joihin muuttujat järjestyksessä sijoitetaan aukkokohdan merkitsin on % ja kirjain: %s tulostaa muuttujan merkkijonona %d tulostaa muuttujan kokonaislukuna %f tulostaa muuttujan desimaalilukuna muut kuin aukkokohdat tulostetaan sellaisenaan; paitsi tutut takakenoviivailmaukset: \t tabulaattorille ja \n rivinvaihdolle printf ei tulosta rivinvaihtoakaan automaattisesti; rivit pitää lopettaa \n awk-esimerkit testataan: awk {printf("numero %d\n", 13)} = awk {print "numero", 13} awk {printf("%f\t%s\t%s\n", $1/100, $2, $3)} = awk {print $1/100, "\t", $2, "\t", $3} tämä printf toimii on myös C-ohjelmointikielessä (ja bashissa): ohjeita man-sivulta printf(3) osiosta Format of the Format string eteenpäin : awkin tarkempi poiminta halutaan poimia omorfin tulosteista vain jos analyysi tai sane täsmää hakuun; analyysithän esiintyvät riveinä muodossa: sane\tanalyysirivi awkin sanemuuttujat $n jäsentävät nämä että sane=1, analyysirivi=2 sanekohtainen täsmäys säännöllisillä lausekkeilla esitetään ehtokentässä, muodossa $n /säännöllinen lauseke/: awk $1 /sti$/ {print $1} tulosta kaikki sti-adverbit omorfin analyysilistasta awk $2 /CASE=PAR/ {print $1} tulosta kaikki partitiivit omorfin analyysilistasta huomattavaa myöhemmäksi: kaikki ehtolauseet, jotka toimivat awk-rivin alussa toimivat myös ohjelmalohkossa if-lausekkeen sisällä Asialista

5 Työsuunnitelma Alku hieman kuten viime kerrallakin: haetaan korpus (wget) puretaan tiedosto (bunzip2) tai käsitellään purkamista aina lennosta (bzcat) siistitään XML-merkkaus (sed) siistitääm MediaWiki-merkkaus (sed) muunnetaan XML-koodattu HTML ja siistitään XML:n tavoin (sed) poimitaan adverbit (awk) tehdään saneparilista, josta adverbien parit on poimittavissa (awk; keväällä) lasketaan adverbien pareista luokittain yleisimmät (sort, uniq, awk) XML-siistintä nyt MediaWikin XML ei poikkea europarlista merkittävästi, voimme käyttää viime kerralla keksittyä poistetaan vain kaikki kulmasuljeosiot: tekstinpätkät jotka alkavat <:lla ja päättyvät >:seen ilman muita >:ta välissä: bzcat fiwiki *bz2 sed -r -e s/<[ˆ>]*>//g tällä kertaa on tärkeää poistaa vain kulmasuljeilmaukset, koska niiden ympärillä onkin mediawiki-merkkauksessa jo kaikenlaista tärkeää; esim: <title>sivun otsikko</title> mutta: myös kaikkea roskaa: <username>xqbot</username>; tätä voidaan tarkemmin käsitellä myöhemmin (tai sen voi tehdä harjoitustyöksi) Korpuksen haku ja purkaminen Tätä ei tarvitse toistaa, koska korpus on iso (n. 280 Mt.) ja voidaan käyttää hipulla samaa: wget http: //download.wikimedia.org/fiwiki/latest/ fiwiki-latest-pages-articles.xml.bz2 bunzip2 fiwiki-latest-pages-articles.xml.bz2 joskus jos tila on vähissä tai muutoinkin, ei ole välttämätöntä purkaa tiedostoa erikseen; komento bzcat fiwiki-latest-pages-articles.xml.bz2 toimii samoin kuin cat fiwiki-latest-pages-articles.xml äskeisen bunzipin jälkeen Tällä saa asken purkamattoman version käytettäväkseen (jos oikeudet ovat kunnossa): ln -s /fs/metawrk/tpirinen/clt131/fiwiki-latest-pages- $HOME/ MediaWiki-siistintä karkeahkoon siistintään riittää kun poistetaan kaikki monimutkaiset merkkaukset sisältöineen: grep -invert-match ˆ\[{ }] aaltosulkein erotetut koodit ja pystyviivalla alkavat taulukot hakasuljelinkeistä halutaan vain tekstiosa, jos sellainen on erikseen: sed -r -e s/\[\[[ˆ] ]* ([ˆ]]*)\]\]/\1/g Yhtäsuuruusmerkkisarjoilla merkityt otsikot ja lainausmerkeillä merkityt korostukset ja loput kulmuasulkeet, aaltosulkeet jne. poistetaan sellaisenaan: sed -r -e s/[]={ } []+/ /g (huom. kaksoislainausmerkit koska poistettavissa on yksinkertainen) oikeastaan tässä vaiheessa mediawikimerkkauksesta jää myös paljon roskaa: monet erikoislinkit kuten kuvat ja toisenkielisiin wikipedioihiin osoittavat hakasuljeilmaukset jäävät vielä suodattumatta:

6 XML-merkattu HTML MediaWiki-merkkauksessa Wikipediaan voi kirjoittaa myös HTML-merkkausta, silloin ne piilotetaan ns. XML:n merkkiviittausten taakse näin: & &, < < ja > > ratkaisu: korjataan takaisin HTML:ksi, jotta voidaan siistiä XML:n tavoin: sed -r -e s/\&/\&/g -e s/\</</g -e s/\>/>/g nyt, tiedämme edelleen miten XML, taas, karkeasti ottaen siistitään: sed -r -e s/<[ˆ>] *>//g Omorfianalysointi ja adverbien poiminta otetaan satunnainen pätkä jonka ehtii analysoida luennolla: head -n $(($RANDOM * 100)) tail -n $RANDOM omorfi-analyse ei vielä hallitse joitain erikoismerkkejä, joten piilotetaan ne: tr -d $@ˆ/<>\\ viime harjoituksista opittiin, että omor-parametri helpottaa hakujen tekoa nyt voimme hakea adverbit POS=ADVERB-ilmauksella ja merkata tulevaa käsittelyä varten: awk $2 /POS=ADVERB/ printf("%s/adv\n", $1) Asialista Syyslukukaudella opittua: shelliskriptit (havaintoja voi täydentää kitwikiin :-) shell-skriptien teko: ensimmäiselle riville #!/bin/sh (tai bash) järjestetty kokoelma komentoja: voidaan poimia history-komennosta testailun jälkeen komento per rivi; komentoja voi ketjuttaa putkella (edellisen syöte seuraavan tulosteeksi) tallennetaan tiedostoon, jonka tarkenne on konvention mukaan.sh (tai.bash), ja joka on suoritettava (chmod +x) palautusarvot: onnistunut skripti palauttaa nollan, muutoin jotain muuta: exit 0 shelliskriptin suoritus ei pysähdy jos jokin komennoista epäonnistuu; pysäytys pitää tehdä itse (if! tämä-ei-toimi ; then exit 1 ; fi) toistoihin for x in a e i o u ; do echo $x ; done

7 Komennot apropos, man, info ohjeet awk haku säännöllisillä lausekkeilla ja ohjelmakoodilla, muokkaus ohjelmakoodilla cat tiedoston tai syötteen luku ja tulostus echo tulosta fgrep, egrep haut tekstillä, säännöllisillä lausekkeilla head, tail haut rivinumeroilla history,! tehdyt komennot locale kieliasetukset module hipun oma ympäristösäätö omorfi-interactive.sh, omorfi-analyse.sh suomen morfologinen analyysi Komennot recode, iconv, dos2unix, fromdos merkistösäädöt sed korvaukset ja muokkaukset säännöllisillä lausekkeilla sort, uniq rivien järjestely, toistojen poisto ja frekvenssilaskut test testaa tiedostoja, muuttujia tai palautusarvoja esim. if-lausekkeessa tr merkkien korvaus vim, emacs, nano tekstinmuokkaimet wget verkkonoudot Opitut käytännön asiat Yksinkertaiset haut fgrepillä frekvenssilista sortilla ja uniqilla tekstin saneistus tr:llä, saneiden ja tekstien jäsennys omorfilla tekstin osien poiminta headilla ja taililla (alku- ja loppulisenssien siistintä) kollokaattien haku egrepillä XML:n siistintä sedillä saneparien listaus awkin avulla MediaWikin karkea siistiminen sedillä, grepillä morfologisten piirteiden poiminta awkilla Säännölliset lausekkeet merkkijoukot hakasulkeissa []: luetellut merkit muodostavat joukon sinänsä: [aeiouyäö] vokaalit nimetyt joukot merkitään kaksoispistehakasulkein: [[:alpha:]] joukon vastakohta merkitään hatulla alkavan hakasulkeen perässä: [ˆaeiouyäö] ei-vokaalit merkin tai joukon jäljessä voi esittää kertoimen: * [0, ), + [1, ),? [0, 1], {n,k} [n, k] {n} n, {,k} [0, k], {n,} [n, ) muutamia erikoismerkkejä tai rajakohtia voi esittää takakenoviivalla \: n rivinvaihto, t sarkain, w sanamerkki, W ei-sanamerkki, < sanan vasen raja, > sanan oikea raja rivin tms. alkua merkitään hatulla, loppua dollarilla

8 AWK-ohjelmointi säännölliset lausekkeet hakuehtoina matemaattiset hakuehdot muuttujat matemaattiset laskut saneisiin viittaaminen $n print, printf tulostus for toistorakenne

CLT131: Tekstityökalut 2010, kuudes luento

CLT131: Tekstityökalut 2010, kuudes luento CLT131: Tekstityökalut 2010, kuudes luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 2010-12-16 Asialista Käytännön asiat Tuleva ohjelma

Lisätiedot

Asialista. hippu ja.bashrc. Asialista. Tutkimusongelma: tekstin morfologisen jäsennyksen selvittely

Asialista. hippu ja.bashrc. Asialista. Tutkimusongelma: tekstin morfologisen jäsennyksen selvittely Asialista CLT131: Tekstityökalut 2010, toinen luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 2010-11-12 päivitetty: 2010-11-14 Laskuharjoitukset:

Lisätiedot

CLT131: Tekstityökalut 2010, toinen luento

CLT131: Tekstityökalut 2010, toinen luento CLT131: Tekstityökalut 2010, toinen luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 2010-11-12 päivitetty: 2010-11-14 Asialista Käytännön

Lisätiedot

CLT131: Tekstityökalut 2011, viides luento

CLT131: Tekstityökalut 2011, viides luento CLT131: Tekstityökalut 2011, viides luento Tommi A Pirinen tommi.pirinen+clt131@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 30. marraskuuta 2011 tommi.pirinen+clt131@helsinki.fi

Lisätiedot

CLT131: Tekstityökalut 2011, toinen luento

CLT131: Tekstityökalut 2011, toinen luento CLT131: Tekstityökalut 2011, toinen luento Tommi A Pirinen tommi.pirinen+clt131@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 9. marraskuuta 2011 tommi.pirinen+clt131@helsinki.fi

Lisätiedot

CLT131: Tekstityökalut 2010, neljäs luento

CLT131: Tekstityökalut 2010, neljäs luento CLT131: Tekstityökalut 2010, neljäs luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 2010-11-26 Asialista Käytännön asiat Kertausta shelliskriptien

Lisätiedot

Asialista. CLT131: Tekstityökalut 2010, kolmas luento. Laskuharjoitusaikataulut. Harjoituksissa havaitut virheet. Käytännön asiat/kertaus

Asialista. CLT131: Tekstityökalut 2010, kolmas luento. Laskuharjoitusaikataulut. Harjoituksissa havaitut virheet. Käytännön asiat/kertaus CLT131: Tekstityökalut 2010, kolmas luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 2010-11-19 Laskuharjoitusaikataulut Harjoituksissa

Lisätiedot

Asialista. CLT131: Tekstityökalut 2010, neljäs luento. Lähiaikataulu. Asialista. Käytännön asiat

Asialista. CLT131: Tekstityökalut 2010, neljäs luento. Lähiaikataulu. Asialista. Käytännön asiat CLT131: Tekstityökalut 2010, neljäs luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 2010-11-26 Lähiaikataulu ensi viikon luennoilla Hissu

Lisätiedot

CLT131: Tekstityökalut 2011, kahdeksas luento

CLT131: Tekstityökalut 2011, kahdeksas luento CLT131: Tekstityökalut 2011, kahdeksas luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 2011-02-04 2011-02-04 1 / 17 Asialista 1 Käytännön

Lisätiedot

CLT131: Tekstityökalut 2011, seitsemäs luento

CLT131: Tekstityökalut 2011, seitsemäs luento CLT131: Tekstityökalut 2011, seitsemäs luento Tommi A Pirinen tommi.pirinen+clt131@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 14. joulukuuta 2011 tommi.pirinen+clt131@helsinki.fi

Lisätiedot

CLT131: Tekstityökalut 2011, kuudes luento

CLT131: Tekstityökalut 2011, kuudes luento CLT131: Tekstityökalut 2011, kuudes luento Tommi A Pirinen tommi.pirinen+clt131@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 7. joulukuuta 2011 tommi.pirinen+clt131@helsinki.fi

Lisätiedot

Asialista. CLT131: Tekstityökalut 2011, kahdeksas luento. Merkistöistä ja kalvostoista. Asialista. Tommi A Pirinen

Asialista. CLT131: Tekstityökalut 2011, kahdeksas luento. Merkistöistä ja kalvostoista. Asialista. Tommi A Pirinen CLT131: Tekstityökalut 2011, kahdeksas luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 2011-02-04 2011-02-04 1 / 17 2011-02-04 2 / 17

Lisätiedot

CLT131: Tekstityökalut 2010, kolmas luento

CLT131: Tekstityökalut 2010, kolmas luento CLT131: Tekstityökalut 2010, kolmas luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 2010-11-19 Asialista Käytännön asiat/kertaus Ongelman

Lisätiedot

Asialista. CLT131: Tekstityökalut 2012, kymmenes luento. 2. frekvenssien muunnos todennäköisyyksiksi. 1. taulukkohaut

Asialista. CLT131: Tekstityökalut 2012, kymmenes luento. 2. frekvenssien muunnos todennäköisyyksiksi. 1. taulukkohaut Asialista CLT131: Tekstityökalut 2012, kymmenes luento Tommi A Pirinen tommi.pirinen+clt131@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 1. helmikuuta 2012 tommi.pirinen+clt131@helsinki.fi

Lisätiedot

CLT131: Tekstityökalut 2012, kymmenes luento

CLT131: Tekstityökalut 2012, kymmenes luento CLT131: Tekstityökalut 2012, kymmenes luento Tommi A Pirinen tommi.pirinen+clt131@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 1. helmikuuta 2012 tommi.pirinen+clt131@helsinki.fi

Lisätiedot

CLT131: Tekstityökalut 2010, ensimmäinen luento

CLT131: Tekstityökalut 2010, ensimmäinen luento CLT131: Tekstityökalut 2010, ensimmäinen luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 2010-11-04 (päivitetty: 2010-11-08) Asialista

Lisätiedot

Kieliteknologian ATK-ympäristö Neljäs luento

Kieliteknologian ATK-ympäristö Neljäs luento Kieliteknologian ATK-ympäristö Neljäs luento Miikka Silfverberg Nykykielten laitos 27. syyskuuta 2010 Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 3 27. syyskuuta 2010

Lisätiedot

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15 Ctl160 490160-0 Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto Ctl160 490160-0 p.1/15 Lisää säännöllisistä lausekkeista Aikaisemmin esityt * ja + yrittävät osua mahdollisimman pitkään merkkijonoon

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

Korpusten käsittely clt131, P Luento 4

Korpusten käsittely clt131, P Luento 4 Korpusten käsittely clt131, P2 2006 Luento 4 Nicholas Volk 24.11.2006 Humanistinen tiedekunta Säännölliset lausekkeet: ryhmittely Sulkujen avulla voidaan osoittaa määrällistäjille

Lisätiedot

Korpusten käsittely clt131, P Luento 5

Korpusten käsittely clt131, P Luento 5 Korpusten käsittely clt131, P2 2006 Luento 5 Nicholas Volk 1.12.2006 Humanistinen tiedekunta Perl Perl niminen ohjelmointikieli mahdollistaa tekstin monipuolisen muokkaamisen helposti

Lisätiedot

Luento 4. Timo Savola. 21. huhtikuuta 2006

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

Lisätiedot

CLT131 Korpusten käsittely

CLT131 Korpusten käsittely CLT131 Korpusten käsittely Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto CLT131 Korpusten käsittely p.1/16 Syöterivien järjestäminen (sort) sort-komento järjestää syöterivin (aakkosjärjestykseen)

Lisätiedot

Kieliteknologian ATK-ympäristö Kuudes luento

Kieliteknologian ATK-ympäristö Kuudes luento Kieliteknologian ATK-ympäristö Kuudes luento Miikka Silfverberg Nykykielten laitos 11. lokakuuta 2010 Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010

Lisätiedot

Kieliteknologian ATK-ympäristö Viides luento

Kieliteknologian ATK-ympäristö Viides luento Kieliteknologian ATK-ympäristö Viides luento Miikka Silfverberg Nykykielten laitos 3. lokakuuta 2011 Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 5 3. lokakuuta 2011 1

Lisätiedot

Kieliteknologian ATK-ympäristö Viides luento

Kieliteknologian ATK-ympäristö Viides luento Kieliteknologian ATK-ympäristö Viides luento Miikka Silfverberg Nykykielten laitos 4. lokakuuta 2010 Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 5 4. lokakuuta 2010 1

Lisätiedot

Korpusten käsittely clt131, P Luento 3

Korpusten käsittely clt131, P Luento 3 Korpusten käsittely clt131, P2 2006 Luento 3 Nicholas Volk 17.11.2006 Humanistinen tiedekunta Merkkijonon poiminen syötteestä, fgrep Monessa ohjelmassa on etsi/find-toiminto Tätä

Lisätiedot

Ctl160 Tekstikorpusten tietojenkäsittely

Ctl160 Tekstikorpusten tietojenkäsittely Ctl160 490160-0 Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto Ctl160 490160-0 p.1/23 Kurssibyrokratiaa Luennoitsija: Nicholas Volk nvolk ling.helsinki.fi Luennot: keskiviikkoisin 19.1.-2.3.

Lisätiedot

Korpusten käsittely clt131, P Luento 1

Korpusten käsittely clt131, P Luento 1 Korpusten käsittely clt131, P2 2006 Luento 1 Nicholas Volk 3.11.2006 Humanistinen tiedekunta CLT131 Korpusten käsittely (syksy 2006) Luennoitsija FM Nicholas Volk Kurssiassistentti

Lisätiedot

Ctl160 Tekstikorpusten tietojenkäsittely p.1/28

Ctl160 Tekstikorpusten tietojenkäsittely p.1/28 Ctl160 490160-0 Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto Ctl160 490160-0 p.1/28 Emacs-editori Ikkunoinnin toimiessa Emacs-editorin käynnistyskäskyn perään kannattaa lisätä &-merkki

Lisätiedot

Ctl160 Tekstikorpusten tietojenkäsittely p.1/24

Ctl160 Tekstikorpusten tietojenkäsittely p.1/24 Ctl160 490160-0 Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto Ctl160 490160-0 p.1/24 Kurssibyrokratiaa Luennoitsija: Nicholas Volk (nvolk ling.helsinki.fi) Luennot: keskiviikkoisin 19.1.-2.3.

Lisätiedot

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento Ctl160 Tekstikorpusten tietojenkäsittely 490160-0 Kolmas luento Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto Ctl160 Tekstikorpusten tietojenkäsittely490160-0kolmas luento p.1/26 Lisää

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

CLT131 Korpusten käsittely Viides luento

CLT131 Korpusten käsittely Viides luento CLT131 Korpusten käsittely 490160-0 Viides luento Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto CLT131 Korpusten käsittely490160-0viides luento p.1/19 Syötteen lukemisesta Aikaisemmin

Lisätiedot

Korpusten käsittely clt131, P Luento 6

Korpusten käsittely clt131, P Luento 6 Korpusten käsittely clt131, P2 2006 Luento 6 Nicholas Volk 8.12.2006 Humanistinen tiedekunta Syöterivien lukemista while () { käsky1; käsky2; käskyn; } continue { print $_; }

Lisätiedot

Johdatus Ohjelmointiin

Johdatus Ohjelmointiin Johdatus Ohjelmointiin Syksy 2006 Viikko 2 13.9. - 14.9. Tällä viikolla käsiteltävät asiat Peruskäsitteitä Kiintoarvot Tiedon tulostus Yksinkertaiset laskutoimitukset Muuttujat Tiedon syöttäminen Hyvin

Lisätiedot

1.1 Tekstinprosessointiohjelmien yleinen toimintatapa (1)

1.1 Tekstinprosessointiohjelmien yleinen toimintatapa (1) 1 Tekstinprosessointiohjelmat 1.1 1.1 Tekstinprosessointiohjelmien yleinen toimintatapa (1) Useimmat tekstinprosessointiohjelmat (cat, grep,... ) toimivat kahdella erilaisella tavalla. Jos niille annetaan

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

CLT131 Korpusten käsittely (3op)

CLT131 Korpusten käsittely (3op) CLT131 Korpusten käsittely (3op) Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto CLT131 Korpusten käsittely (3op) p.1/23 CLT131 Korpusten käsittely (Syksy 2005) Luennoitsija: FM Nicholas

Lisätiedot

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento,

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento, Ctl160 490160-0 Kolmas luento, 10.2.2003 Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto Ctl160 490160-0Kolmas luento, 10.2.2003 p.1/28 Unohtui viime kerralla... Skriptin ajaminen edellyttää

Lisätiedot

[Jnix näyttökoe. o ei ole sallittua käyttää mitään verkkolevyjakoa tai mitään siihen rinnastettavaa järjestelmdä.

[Jnix näyttökoe. o ei ole sallittua käyttää mitään verkkolevyjakoa tai mitään siihen rinnastettavaa järjestelmdä. v1 081213 DTEK 1043 Opiskelun ja työelämän tietotekniikka [Jnix näyttökoe Tärkeää Naytt«ikokee(ssa/n) o saa hakea ohjeita Internetistä. o ei saa käyttää kurssimateriaaleja. o ei saa käyttää kirjallisia

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

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Kieliteknologian ATK-ympäristö Toinen luento

Kieliteknologian ATK-ympäristö Toinen luento Kieliteknologian ATK-ympäristö Toinen luento Miikka Silfverberg Nykykielten laitos 12. syyskuuta 2011 Miikka Silfverberg (Helsingin yliopisto) Kieliteknologian ATK-ympäristö: Luento 2 12. syyskuuta 2011

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka

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

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

Lisätiedot

Ohjelmoinnin perusteet, syksy 2006

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

Luento 3. Timo Savola. 7. huhtikuuta 2006

Luento 3. Timo Savola. 7. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 3 Timo Savola 7. huhtikuuta 2006 Osa I Käyttöoikeudet Käyttöoikeudet Monen käyttäjän järjestelmä Prosessit kuuluvat eri käyttäjille Tiedostot kuuluvat

Lisätiedot

Sisällys. Johdatus Linux/Unixiin: Osa 2. Prosessin tilat. Prosessien hallinta. Prosessien monitorointi

Sisällys. Johdatus Linux/Unixiin: Osa 2. Prosessin tilat. Prosessien hallinta. Prosessien monitorointi Sisällys Johdatus Linux/Unixiin: Osa 2 Prosessien hallinta Syöttö ja tulostus Säännölliset lausekkeet Tiedostojen käsittelyä Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin Yliopisto 13.9.2000 E.

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

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

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python 15. helmikuuta 2009 Merkkijonot Yleistä Käsittely Muotoiltu tulostus Tiedostot Käsittely Lukeminen Kirjoittaminen Modulit Käyttö Seuraava luento

Lisätiedot

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen

Lisätiedot

Komentotulkki. Kysymyksiä

Komentotulkki. Kysymyksiä Komentotulkki Komentotulkki ja avustustoiminnot Tux-pingviinin kuva: Larry Ewing, Simon Budig ja Anja Gerwinski Kysymyksiä 1. Miten työskentelen komentotulkilla? 2. Miten komennot annetaan ja käsitellään?

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 12.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 11.9.2019 CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2019 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB Datatähti 2019 alku task type time limit memory limit A Kolikot standard 1.00 s 512 MB B Leimasin standard 1.00 s 512 MB C Taulukko standard 1.00 s 512 MB D Ruudukko standard 1.00 s 512 MB E Sanalista

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

7. Näytölle tulostaminen 7.1

7. Näytölle tulostaminen 7.1 7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

C-ohjelmoinnin peruskurssi. Pasi Sarolahti C! C-ohjelmoinnin peruskurssi Pasi Sarolahti Mitä haluan oppia C-kurssilla? ja miksi? Tutustu lähimpään naapuriin Keskustelkaa miksi halusitte / jouduitte tulemaan kurssille 3 minuuttia è kootaan vastauksia

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 13.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 13.9.2017 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia L6: linux linux linux: käyttäjän oikeudet Käyttäjällä, username, on käyttöoikeus rajattuun levytilaan du -h /home/username/ tulostaa käytetyn levytilan. Yhteenvedon antaa du -h /home/jetsu/ - -summarize

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 27.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 27.9.2017 1 / 30 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle

Lisätiedot

Harjoitus 4 (viikko 47)

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

Python-ohjelmointi Harjoitus 5

Python-ohjelmointi Harjoitus 5 Python-ohjelmointi Harjoitus 5 TAVOITTEET Kerrataan silmukkarakenteen käyttäminen. Kerrataan jos-ehtorakenteen käyttäminen. Opitaan if else- ja if elif else-ehtorakenteet. Matematiikan sisällöt Tehtävät

Lisätiedot

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla ALKUHARJOITUS Kynän ja paperin avulla peilaaminen koordinaatistossa a) Peilaa pisteen (0,0) suhteen koordinaatistossa sijaitseva - neliö, jonka

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. tammikuuta 2012 Sisällys Sisällys Muistathan A B -konstruktion 0 k 1 i 2 s 3 s 4 a 5 0 k 1 o 2 i 3 r 4

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

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

Lisätiedot

Opetuksen suunnittelu

Opetuksen suunnittelu Asio-Tilavarausohjelmisto/ Opetuksen suunnittelu Opetuksen suunnittelu Suljettujen aikojen määritys Kiinteiden opetusaikojen määritys Opetuperiodit Kaikissa vaiheissa tilanteen mukainen yhteys opiskelijahallinto-ohjelmistoon

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

Python-ohjelmointi Harjoitus 2

Python-ohjelmointi Harjoitus 2 Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta

Lisätiedot

13. Hyvä ohjelmointitapa (osa 1) 13.1

13. 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ätiedot

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki PERL TIE-20306 Principles of Programming Languages Ryhmä 4: Joonas Lång & Jasmin Laitamäki 1. Johdanto Perl on ohjelmointikielten perhe, johon kuuluu Perl 5 ja Perl 6. Kielet ovat kuitenkin erilliset ohjelmointikielet

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

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

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 14.9.2016 CS-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2016 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

// Tulostetaan double-tyyppiseen muuttujaan hinta tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf(%.1f euros. Lue kukin tehtävänanto huolellisesti ja kokonaisuudessaan ennen kuin aloitat vastaamisen. Kustakin tehtävästä voi saada 0 6 pistettä. Tentin läpipääsyraja on 12 / 24 pistettä. Ratkaisut palautetaan WETO-järjestelmään

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

Java-kielen perusteet

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

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi 1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla

Lisätiedot

Harjoitus 4 -- Ratkaisut

Harjoitus 4 -- Ratkaisut Harjoitus -- Ratkaisut 1 Ei kommenttia. Tutkittava funktio: In[15]:= f x : x 1 x Sin x ; Plot f x, x, 0, 3 Π, PlotRange All Out[159]= Luodaan tasavälinen pisteistö välille 0 x 3 Π. Tehdään se ensin kiinnitetyllä

Lisätiedot

Moodlen lohkot. Lohkojen lisääminen: Lohkojen muokkaaminen: Tampereen yliopisto/tietohallinto 2017 Suvi Junes

Moodlen lohkot. Lohkojen lisääminen: Lohkojen muokkaaminen: Tampereen yliopisto/tietohallinto 2017 Suvi Junes Moodlen lohkot Lohkojen lisääminen: Moodlen lohkot sisältävät kurssialueen hallinnointiin liittyviä toimintoja. Kun saat uuden tyhjän kurssialueen, sen molemmilla reunoilla on valmiina muutama keskeinen

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

Settings-sivun kautta on mahdollista muokata Kirjastokarttapalveluun liittyviä kirjastokohtaisia asetuksia.

Settings-sivun kautta on mahdollista muokata Kirjastokarttapalveluun liittyviä kirjastokohtaisia asetuksia. Settings - Asetukset Settings - Asetukset 1. 2. 3. 4. 5. Karttojen piirtoväri ja piirtovärin läpinäkyvyys Filtterit a. Filtterin lisääminen b. Filtterin poistaminen Uudelleenohjaukset Filtteri vai uudelleenohjaus?

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

Lisätiedot

Palvelinpuolen ohjelmointi

Palvelinpuolen ohjelmointi Palvelinpuolen ohjelmointi Staattiset ja dynaamiset web-sivut Staattiset web-sivut ovat valmiissa muodossaan palvelimella (tai paikallisesti omalla koneella). Javascript mahdollistaa paikalliset dynaamiset

Lisätiedot