CLT131: Tekstityökalut 2010, kuudes luento

Koko: px
Aloita esitys sivulta:

Download "CLT131: Tekstityökalut 2010, kuudes luento"

Transkriptio

1 CLT131: Tekstityökalut 2010, kuudes luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos

2 Asialista Käytännön asiat Tuleva ohjelma Havaitut virheet ja korjaukset Ongelman kuvaus Menetelmät ja aineistot Aineistot Menetelmät Toteutus Kertaus ja yhteenveto

3 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.

4 Tuleva ohjelma 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

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

6 Asialista Käytännön asiat Tuleva ohjelma Havaitut virheet ja korjaukset Ongelman kuvaus Menetelmät ja aineistot Aineistot Menetelmät Toteutus Kertaus ja yhteenveto

7 Tutkimusongelma: adverbit Wikipedia-aineistossa Tehtäväkuvaus Lähtökohdat Ongelmat

8 Tutkimusongelma: adverbit Wikipedia-aineistossa Tehtäväkuvaus Halutaan selvittää tiettyjen erilaisten adverbien samankaltaisuutta Lähtökohdat Ongelmat

9 Tutkimusongelma: adverbit Wikipedia-aineistossa Tehtäväkuvaus Halutaan selvittää tiettyjen erilaisten adverbien samankaltaisuutta Lähtökohdat wikipedian tietokanta korpuksena haut kohdistetaan analyyseihin, jotka pitää taasen saada yhdistettyä pareittain Ongelmat

10 Tutkimusongelma: adverbit Wikipedia-aineistossa Tehtäväkuvaus Halutaan selvittää tiettyjen erilaisten adverbien samankaltaisuutta Lähtökohdat wikipedian tietokanta korpuksena haut kohdistetaan analyyseihin, jotka pitää taasen saada yhdistettyä pareittain Ongelmat lähtöteksti sisältää jopa kolmea eri merkkaustapaa: XML, mediawiki, XML-entiteettikoodattu HTML: täysimittainen muunnos raakatekstiksi olisi työläs projekti(!)

11 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 lähtöteksti sisältää jopa kolmea eri merkkaustapaa: XML, mediawiki, XML-entiteettikoodattu HTML: täysimittainen muunnos raakatekstiksi olisi työläs projekti(!) kontekstien poiminta analyysimuodosta myöhemmin

12 Asialista Käytännön asiat Tuleva ohjelma Havaitut virheet ja korjaukset Ongelman kuvaus Menetelmät ja aineistot Aineistot Menetelmät Toteutus Kertaus ja yhteenveto

13 Aineisto: Wikipedia vapaa ilmainen yhteisötuotettu tietosanakirja; sisältänee nykykielenkäytön mukaista asiatekstiä laajalta alalta

14 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

15 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: http: //download.wikipedia.org/fiwiki/ / (korvaa sanalla latest noudettaessa tuoreinta) katsotaan: Amsterdam-artikkeli selaimessa MediaWiki-muoto selaimessa org/w/index.php?title=amsterdam&action=edit Awk-artikkeli itse ladatusta tiedosta: head -n 484

16 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

17 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 n pätee x<sub>n<sub>...

18 Wikipedian siistittävät Lopputulos: XML-merkkausta Amsterdam MediaWiki-merkkausta Amsterdam on Alankomaiden pääkaupunki. Historia XML-koodattua HTML-koodia...siellä asui asukast......jono on kasvava jos kaikilla n pätee x n...

19 Menetelmät: 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]

20 Menetelmät: 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 *: :

21 Menetelmät: 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

22 Menetelmät: 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

23 Menetelmät: 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

24 Menetelmät: 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

25 Menetelmät: 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

26 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}

27 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

28 Menetelmät: 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

29 Menetelmät: 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ä

30 Asialista Käytännön asiat Tuleva ohjelma Havaitut virheet ja korjaukset Ongelman kuvaus Menetelmät ja aineistot Aineistot Menetelmät Toteutus Kertaus ja yhteenveto

31 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)

32 Työsuunnitelma lku 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)

33 Työsuunnitelma lku 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)

34 Työsuunnitelma lku 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)

35 Korpuksen haku ja purkaminen Tätä ei tarvitse toistaa, koska korpus on iso (n. 280 Mt.) ja voidaan käyttää hipulla samaa: wget latest/fiwiki-latest-pages-articles.xml.bz2 bunzip2 fiwiki-latest-pages-articles.xml.bz2

36 Korpuksen haku ja purkaminen Tätä ei tarvitse toistaa, koska korpus on iso (n. 280 Mt.) ja voidaan käyttää hipulla samaa: wget 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/

37 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

38 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)

39 MediaWiki-siistintä karkeahkoon siistintään riittää kun poistetaan kaikki monimutkaiset merkkaukset sisältöineen: grep -invert-match ˆ\[{ }] aaltosulkein erotetut koodit ja pystyviivalla alkavat taulukot

40 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

41 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)

42 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: thumbleft200px

43 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

44 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

45 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)

46 Asialista Käytännön asiat Tuleva ohjelma Havaitut virheet ja korjaukset Ongelman kuvaus Menetelmät ja aineistot Aineistot Menetelmät Toteutus Kertaus ja yhteenveto

47 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

48 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

49 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

50 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

51 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

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

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

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

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 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, 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

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

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

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

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

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, 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 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

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

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

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

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ö 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.

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

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

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

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

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

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

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

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

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

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

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

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

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

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

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

1. HARJOITUS harjoitus3_korjaus.doc

1. HARJOITUS harjoitus3_korjaus.doc Word - harjoitus 1 1. HARJOITUS harjoitus3_korjaus.doc Kopioi itsellesi harjoitus3_korjaus.doc niminen tiedosto Avaa näyttöön kopioimasi harjoitus. Harjoitus on kirjoitettu WordPerfet 5.1 (DOS) versiolla

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

[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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

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

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

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

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 perusteet Y Python

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

Lisätiedot

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

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

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

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

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

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

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

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

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

Ehto- ja toistolauseet

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

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

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

http://www.microsoft.com/expression/

http://www.microsoft.com/expression/ Verkkojulkaisuharjoitus1 TAVOITE Harjoituksen tarkoituksena on opiskella käyttämään verkkojulkaisueditoria (Microsoft Expression Web) ja käynnistämään verkkosivu internetissä. VERKKOSIVUEDITORIN KÄYTTÖOHJEITA

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

Alkuun HTML5 peliohjelmoinnissa

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

Lisätiedot

5. HelloWorld-ohjelma 5.1

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

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

11. Javan toistorakenteet 11.1

11. Javan toistorakenteet 11.1 11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin

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

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

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

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

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

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

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

Lisätiedot

11/21/00. Sis llys. Prosessin tilat. Prosessien hallinta. Johdatus Linuxiin/UNIXiin: Osa 3

11/21/00. Sis llys. Prosessin tilat. Prosessien hallinta. Johdatus Linuxiin/UNIXiin: Osa 3 Sis llys Johdatus Linuxiin/UNIXiin: Osa 3 Reijo Siven Tietojenk sittelytieteen laitos Helsingin yliopisto Prosessien hallinta Sy tt ja tulostus S nn lliset lausekkeet Tiedostojen k sittely Hakemistojen

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

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux L7: linux linux: Prosessit linux: Prosessit Jokainen komento käynnistää vähintään yhden prosessin Jokaiselle prosessilla tunniste PID, jolla prosessiin voidaan viitata. Jokaisella prosesilla on prioriteetti

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

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2011 1 / 34 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Sukelluskeräily, Pelihahmon liikuttaminen. Tee uusi hahmo: Pelihahmo. Nimeä se. Testaa ikuisesti -silmukassa peräkkäisinä testeinä (jos) onko jokin

Sukelluskeräily, Pelihahmon liikuttaminen. Tee uusi hahmo: Pelihahmo. Nimeä se. Testaa ikuisesti -silmukassa peräkkäisinä testeinä (jos) onko jokin Versio 1.0 1 Sukelluskeräily Tässä pelissä keräilet erilaisia aarteita ja väistelet vihollista. Tämän lisäksi pelaajan pitää käydä välillä pinnalla hengittelemässä. Peliin lisätään myös häiriötekijäksi

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

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