CLT131: Tekstityökalut 2010, neljäs luento

Koko: px
Aloita esitys sivulta:

Download "CLT131: Tekstityökalut 2010, neljäs luento"

Transkriptio

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

2 Asialista Käytännön asiat Kertausta shelliskriptien ohjausrakenteista ja palautusarvoista Ongelman kertaus Menetelmät ja aineistot Työkalut Viitteitä

3 Lähiaikataulu ensi viikon luennoilla Hissu Mikkonen kertoo tekstityökaluista oikeassa kieliteknologiaprojektissa ensi viikosta ei tule harjoitustehtäviä, mutta sisältänee hyödyllisiä yksityiskohtia harjoitustyötä varten harjoitustyöstä on koottu jotain ohjeita verkkosivuille clt131/priv/harjoitustyo.shtml harjoitukset 3 4 ovat verkkosivuilla nyt clt131/priv/harjoitukset4.shtml

4 Asialista Käytännön asiat Kertausta shelliskriptien ohjausrakenteista ja palautusarvoista Ongelman kertaus Menetelmät ja aineistot Työkalut Viitteitä

5 Shelliskriptien palautusarvot ja ehtorakenne käsitelty myös ainakin tämän vuoden CLT130:ssä lisätietoja niistä aineistoista

6 Shelliskriptien palautusarvot ja ehtorakenne käsitelty myös ainakin tämän vuoden CLT130:ssä lisätietoja niistä aineistoista kaikilla shell-komennoilla on palautus-arvo, joka tallentuu kunkin komennon jälkeen muuttujaan nimeltä $?: komennot false ja true ovat peruskomentoja jotka palauttavat aina onnistui- tai epäonnistui-arvon vastaavasti

7 Shelliskriptien palautusarvot ja ehtorakenne käsitelty myös ainakin tämän vuoden CLT130:ssä lisätietoja niistä aineistoista kaikilla shell-komennoilla on palautus-arvo, joka tallentuu kunkin komennon jälkeen muuttujaan nimeltä $?: komennot false ja true ovat peruskomentoja jotka palauttavat aina onnistui- tai epäonnistui-arvon vastaavasti muita mahdollisia arvoja on paljon; kaikki paitsi 0 epäonnistuvat (useat suuremmat arvot kriittisiä virheitä)

8 Shelliskriptien palautusarvot ja ehtorakenne käsitelty myös ainakin tämän vuoden CLT130:ssä lisätietoja niistä aineistoista kaikilla shell-komennoilla on palautus-arvo, joka tallentuu kunkin komennon jälkeen muuttujaan nimeltä $?: komennot false ja true ovat peruskomentoja jotka palauttavat aina onnistui- tai epäonnistui-arvon vastaavasti muita mahdollisia arvoja on paljon; kaikki paitsi 0 epäonnistuvat (useat suuremmat arvot kriittisiä virheitä) suorituksen onnistumista voi testata if-komennolla, joka pelkistetymmillään testaa komennon onnistumista: true, false, echo $? if true ; then echo Totta ; fi if! false ; then echo Ei aivan epätotta ; fi

9 Shelliskriptien palautusarvot ja testaus putkitetulla skriptillä palautusarvo ei kerro toimivatko kaikki ohjelmat joissain tapauksissa tämän korvaa taulukkomuuttuja $PIPESTATUS taulukosta saa arvoja hakasulkeilla: $PIPESTATUS[0] on ensimmäisen komennon palautusarvo, $PIPESTATUS[1] toisen jne.

10 Shelliskriptien palautusarvot ja testaus putkitetulla skriptillä palautusarvo ei kerro toimivatko kaikki ohjelmat joissain tapauksissa tämän korvaa taulukkomuuttuja $PIPESTATUS taulukosta saa arvoja hakasulkeilla: $PIPESTATUS[0] on ensimmäisen komennon palautusarvo, $PIPESTATUS[1] toisen jne. muuttujia (kuten $PIPESTATUSta) ja monimutkaisia lausekkeitahan ymmärretään komennolla test; -eq testaa palautusarvojen tai muiden lukujen yhtäläisyyttä (ei = tai ==): false true, echo $PIPESTATUS if test $PIPESTATUS[0] -eq 1 ; then echo eka väärin ; fi

11 Shelliskriptien taulukot ja toistorakenteet koko taulukon saa merkkijonona bashissa indeksillä *: ${PIPESTATUS[*]} merkkijonoja test taas voi testata yhtäsuuruusmerkillä: false true false, echo $PIPESTATUS[ *] if test ${PIPESTATUS[ *]} = ; then echo Täsmäsi ; fi

12 Shelliskriptien taulukot ja toistorakenteet koko taulukon saa merkkijonona bashissa indeksillä *: ${PIPESTATUS[*]} merkkijonoja test taas voi testata yhtäsuuruusmerkillä: false true false, echo $PIPESTATUS[ *] if test ${PIPESTATUS[ *]} = ; then echo Täsmäsi ; fi koko PIPESTATUS-rakenteesta onnnistumisten ja epäonnistumisten haun voi tehdä yksi kerrallaan tai valikoidulle grep-haulla shell-ohjelmoinnissa on myös mahdollisuus käydä läpi taulukoita ja listoja toistolausekkeella for muuttuja in lista koko taulukon muuttujana saa for status in ${PIPESTATUS[@]} ; do... for vokaali in a e i o u y ä ö ; do echo $vokaali on vokaali ; done

13 Asialista Käytännön asiat Kertausta shelliskriptien ohjausrakenteista ja palautusarvoista Ongelman kertaus Menetelmät ja aineistot Työkalut Viitteitä

14 Tutkimusongelma: Etunimien automatisoitu keruu aineistosta Tehtäväkuvaus: halutaan kerätä etunimiä sanaston laajentamiseksi käyttämällä kirjallisuusaineistoa Lähtökohdat: gutenbergin laaja kirja-aineisto perustekstityökalut ja hakumenetelmät morfologinen analysaattori? Ongelma: mikä määrittää sanan etunimeksi (Named entity recognition) millaisissa yhteyksissä etunimiä käytetään miten saadaan nimistä perusmuoto? Tiedetään, että morfologinen analysaattorimme ei osaa perusmuotoista nimiä, joita ei ole sanastossa juuri niitä mitä etsimme!

15 Asialista Käytännön asiat Kertausta shelliskriptien ohjausrakenteista ja palautusarvoista Ongelman kertaus Menetelmät ja aineistot Työkalut Viitteitä

16 Säännöllisten lausekkeet ja hakutulosten operointi: sed sedillä täsmätään säännöllisiin lausekkeisiin ja tehdään täsmätylle osalle muunnoksia sed on kuten tr, joka yhden merkin sijasta käsittelee säännöllisiä ilmauksia sedin komentokielessä on paljon muutakin toiminnallisuutta, kurssilla käytetään lähinnä korvaus- ja poistokomentoja

17 Säännöllisten lausekkeet ja hakutulosten operointi: sed sedillä täsmätään säännöllisiin lausekkeisiin ja tehdään täsmätylle osalle muunnoksia sed on kuten tr, joka yhden merkin sijasta käsittelee säännöllisiä ilmauksia sedin komentokielessä on paljon muutakin toiminnallisuutta, kurssilla käytetään lähinnä korvaus- ja poistokomentoja säännöllisten lausekkeiden murteissa sed -r vastaa egrepiä ja pelkkä sed vastaa grepiä; käytämme lähinnä aiempia sedin käskyt annetaan valitsimella -e käsky, näitä voi olla useampia (yhden tapauksessa -e ei ole pakollinen, mutta välttää kirjoitusvirheitä paremmin)

18 sed: korvaus korvauskäskyn muoto on s/lauseke/korvaus/asetukset: lauseke on tavan säännöllinen lauseke korvaus on korvaava merkkijono; korvausosa ei ole säännöllinen lauseke, mutta voi sisältää joitain erikoismerkkejä asetukset koostuu kirjaimista: olennaisia ovat g, joka toistaa korvauksen monta kertaa per rivi (oletuksena vain kerran) ja i jonka tarkoitus on käsitellä isoja ja pieniä kirjaimia yhtäläisinä

19 sed: korvaus korvauskäskyn muoto on s/lauseke/korvaus/asetukset: lauseke on tavan säännöllinen lauseke korvaus on korvaava merkkijono; korvausosa ei ole säännöllinen lauseke, mutta voi sisältää joitain erikoismerkkejä asetukset koostuu kirjaimista: olennaisia ovat g, joka toistaa korvauksen monta kertaa per rivi (oletuksena vain kerran) ja i jonka tarkoitus on käsitellä isoja ja pieniä kirjaimia yhtäläisinä esim. tr \n = sed -r -e s/ /\n/g esim. tr -d [:punct:] = sed -r -e s/[[:punct:]]//g

20 sed: toisto ja järjestely sed-lausekkeen rakenne oli siis s/lauseke/korvaus/asetuket: korvausosassa & kopioi täsmäyksen kahdennetaan merkkejä: sed -r -e s/./&&/g

21 sed: toisto ja järjestely sed-lausekkeen rakenne oli siis s/lauseke/korvaus/asetuket: korvausosassa & kopioi täsmäyksen kahdennetaan merkkejä: sed -r -e s/./&&/g yleisesti \n, jossa n = 0 9, kopioi valitun osan lausekkeesta; valinta 0 on aina kaikki, eli sama kuin & valinnat 1 9 voi tehdä kaarisulkeilla

22 sed: toisto ja järjestely sed-lausekkeen rakenne oli siis s/lauseke/korvaus/asetuket: korvausosassa & kopioi täsmäyksen kahdennetaan merkkejä: sed -r -e s/./&&/g yleisesti \n, jossa n = 0 9, kopioi valitun osan lausekkeesta; valinta 0 on aina kaikki, eli sama kuin & valinnat 1 9 voi tehdä kaarisulkeilla järjestellään kirjainkolmikoita uudelleen (salakirjoitetaan): sed -r -e s/(.)(.)(.)/\3\2\1/g

23 sed: toisto ja järjestely sed-lausekkeen rakenne oli siis s/lauseke/korvaus/asetuket: korvausosassa & kopioi täsmäyksen kahdennetaan merkkejä: sed -r -e s/./&&/g yleisesti \n, jossa n = 0 9, kopioi valitun osan lausekkeesta; valinta 0 on aina kaikki, eli sama kuin & valinnat 1 9 voi tehdä kaarisulkeilla järjestellään kirjainkolmikoita uudelleen (salakirjoitetaan): sed -r -e s/(.)(.)(.)/\3\2\1/g etsitään punaisia olioita: fgrep punainen sed -e s/punainen ([[:alpha:]]*)/\1/

24 sed: toisto ja järjestely sed-lausekkeen rakenne oli siis s/lauseke/korvaus/asetuket: korvausosassa & kopioi täsmäyksen kahdennetaan merkkejä: sed -r -e s/./&&/g yleisesti \n, jossa n = 0 9, kopioi valitun osan lausekkeesta; valinta 0 on aina kaikki, eli sama kuin & valinnat 1 9 voi tehdä kaarisulkeilla järjestellään kirjainkolmikoita uudelleen (salakirjoitetaan): sed -r -e s/(.)(.)(.)/\3\2\1/g etsitään punaisia olioita: fgrep punainen sed -e s/punainen ([[:alpha:]]*)/\1/ tutkitaan ekvatiivilauseiden argumentteja eli kollokaatteja: sed -r -e s/([[:alpha:]]*) on ([[:alpha:]]*)/\1,\2/

25 Lisätieto: sed ja morfologia on täysin mahdollista toteuttaa koko taivutusoppi sed-käskyillä esimerkki: vesi: vesi veden vettä veteen vedet vesien, vetten vesiä vesiin

26 Lisätieto: sed ja morfologia on täysin mahdollista toteuttaa koko taivutusoppi sed-käskyillä esimerkki: vesi: vesi veden vettä veteen vedet vesien, vetten vesiä vesiin vartalovaihtelu on helppoja sed-muunnoksia; saadaan aikaan taivutusvartalot vartalovaihtelukoskee lopputavua: $ on hyödyksi: heikko vokaalivartalo sed -r -e s/si$/de/ konsonanttivartalo sed -r -e s/si$/t/ vahva vokaalivartalo sed -r -e s/si$/te/ monikkovartalo sed -r -e s/si$/s/

27 Lisätieto: sed ja morfologia on täysin mahdollista toteuttaa koko taivutusoppi sed-käskyillä esimerkki: vesi: vesi veden vettä veteen vedet vesien, vetten vesiä vesiin vartalovaihtelu on helppoja sed-muunnoksia; saadaan aikaan taivutusvartalot suffiksit liittyvät taivutusvartaloihin vielä helpommilla sed-kuvauksilla vartalovaihtelukoskee lopputavua: $ on hyödyksi: yksikön genetiivi sed -r -e s/si$/de/ -e s/$/n/ yksikön partitiivi sed -r -e s/si$/t/ -e s/$/tä/ yksikön illatiivi sed -r -e s/si$/te/ -e s/(.)$/\1\1n/ monikon partitiivi sed -r -e s/si$/s/ -e s/$/iä/

28 Lisätieto: sed ja morfologia on täysin mahdollista toteuttaa koko taivutusoppi sed-käskyillä esimerkki: vesi: vesi veden vettä veteen vedet vesien, vetten vesiä vesiin vartalovaihtelu on helppoja sed-muunnoksia; saadaan aikaan taivutusvartalot suffiksit liittyvät taivutusvartaloihin vielä helpommilla sed-kuvauksilla vartalovaihtelukoskee lopputavua: $ on hyödyksi: sed -r -e s/si$/de/ -e s/$/n/ sed -r -e s/si$/t/ -e s/$/tä/ sed -r -e s/si$/te/ -e s/(.)$/\1\1n/ sed -r -e s/si$/s/ -e s/$/iä/ puuttuu: vokaaliharmonia ja astevaihtelu, sekä samanlaiset

29 Lisätieto: Säännölliset lausekkeet ja ohjelmointi: awk ohjelmointikieli, joka suorittaa käskyjä riveille, jotka täsmäävät säännölliseen lausekkeeseen tai muuhun ehtoon awk käsittelee riviä numeroituna joukkona saneita, joka on usein hyvä lähtökohta käsittelylle

30 Lisätieto: Säännölliset lausekkeet ja ohjelmointi: awk ohjelmointikieli, joka suorittaa käskyjä riveille, jotka täsmäävät säännölliseen lausekkeeseen tai muuhun ehtoon awk käsittelee riviä numeroituna joukkona saneita, joka on usein hyvä lähtökohta käsittelylle awkin komentojen muoto on ehto {komennot}: ehto joka koostuu säännöllisestä lausekkeestaa merkitään vinoviivoin komentoja on paljon: esim. print, printf tulostamiseen

31 Lisätieto: Säännölliset lausekkeet ja ohjelmointi: awk ohjelmointikieli, joka suorittaa käskyjä riveille, jotka täsmäävät säännölliseen lausekkeeseen tai muuhun ehtoon awk käsittelee riviä numeroituna joukkona saneita, joka on usein hyvä lähtökohta käsittelylle awkin komentojen muoto on ehto {komennot}: ehto joka koostuu säännöllisestä lausekkeestaa merkitään vinoviivoin komentoja on paljon: esim. print, printf tulostamiseen $n, jossa n kokonaisluku, viittaa saneen numeroon sanenumeroa voi käyttää hyödyksi ehdossa ja täsmätä säännöllistä lausekketta vain n:nteen saneeseen sanenumeroja voi käyttää hyväksi print-komennolla, ja tulostaa vain valitut saneet

32 Lisätieto: Säännölliset lausekkeet ja ohjelmointi: awk ohjelmointikieli, joka suorittaa käskyjä riveille, jotka täsmäävät säännölliseen lausekkeeseen tai muuhun ehtoon awk käsittelee riviä numeroituna joukkona saneita, joka on usein hyvä lähtökohta käsittelylle awkin komentojen muoto on ehto {komennot}: ehto joka koostuu säännöllisestä lausekkeestaa merkitään vinoviivoin komentoja on paljon: esim. print, printf tulostamiseen $n, jossa n kokonaisluku, viittaa saneen numeroon sanenumeroa voi käyttää hyödyksi ehdossa ja täsmätä säännöllistä lausekketta vain n:nteen saneeseen sanenumeroja voi käyttää hyväksi print-komennolla, ja tulostaa vain valitut saneet kokeillaan: egrep punainen = awk /punainen/ {print} 3. sane ehdossa awk $3 /punainen/ {print} ekvatiivit: awk /ˆ[[:alpha:]]* on [[:alpha:]]*$/ print $3, ",", $1

33 Asialista Käytännön asiat Kertausta shelliskriptien ohjausrakenteista ja palautusarvoista Ongelman kertaus Menetelmät ja aineistot Työkalut Viitteitä

34 Työsuunnitelma Jatketaan siitä mihin jäätiin: 1. haettiin kirja gutenbergistä hipulle: wget 2. (uudelleennimettiin järkevämmin (mv pg12379.txt ylosnousemus.txt)) 3. korjattiin rivinvaihdot (dos2unix ylosnousemus.txt) 4. hankiuduttiin eroon englanninkielisistä osioista (tail -n +28 ylosnousemus.txt head -n -400 > ylosnousemus-siistitty.txt) 5. haettiin nimet (egrep -o \b(sanoi epäili kuuli) [[:upper:]][[:lower:]]*)

35 Työsuunnitelma 1. haettiin kirja gutenbergistä hipulle: wget 2. (uudelleennimettiin järkevämmin (mv pg12379.txt ylosnousemus.txt)) 3. korjattiin rivinvaihdot (dos2unix ylosnousemus.txt) 4. hankiuduttiin eroon englanninkielisistä osioista (tail -n +28 ylosnousemus.txt head -n -400 > ylosnousemus-siistitty.txt) 5. haettiin nimet (egrep -o \b(sanoi epäili kuuli) [[:upper:]][[:lower:]]*) 6. enää pitää poimia nimet jo melkein valmiista listasta ( sed)

36 Työsuunnitelma 1. haettiin kirja gutenbergistä hipulle: wget 2. (uudelleennimettiin järkevämmin (mv pg12379.txt ylosnousemus.txt)) 3. korjattiin rivinvaihdot (dos2unix ylosnousemus.txt) 4. hankiuduttiin eroon englanninkielisistä osioista (tail -n +28 ylosnousemus.txt head -n -400 > ylosnousemus-siistitty.txt) 5. haettiin nimet (egrep -o \b(sanoi epäili kuuli) [[:upper:]][[:lower:]]*) 6. enää pitää poimia nimet jo melkein valmiista listasta ( sed) 7. helpotetaan käsittelyä järjestelemällä frekvenssin mukaan ( sort, uniq)

37 Työsuunnitelma 1. haettiin kirja gutenbergistä hipulle: wget 2. (uudelleennimettiin järkevämmin (mv pg12379.txt ylosnousemus.txt)) 3. korjattiin rivinvaihdot (dos2unix ylosnousemus.txt) 4. hankiuduttiin eroon englanninkielisistä osioista (tail -n +28 ylosnousemus.txt head -n -400 > ylosnousemus-siistitty.txt) 5. haettiin nimet (egrep -o \b(sanoi epäili kuuli) [[:upper:]][[:lower:]]*) 6. enää pitää poimia nimet jo melkein valmiista listasta ( sed) 7. helpotetaan käsittelyä järjestelemällä frekvenssin mukaan ( sort, uniq) 8. viimeistellään tekemällä nimistä sanakirjaluokituksia eli arvaamalla taivutusluokkia ( sed tai awk)

38 Poistetaan verbit nimien ympäriltä laajennetaan nimilistaa hieman sallimalla nimi verbin kummaksi tahansa kollokaatiksi (viereiseksi saneeksi): egrep -o \b([[:upper:]][[:lower:]] * (sanoi epäili kuuli)) ((sanoi epäili kuuli) ([[:upper:]][[:lower:]]*)\b)

39 Poistetaan verbit nimien ympäriltä laajennetaan nimilistaa hieman sallimalla nimi verbin kummaksi tahansa kollokaatiksi (viereiseksi saneeksi): egrep -o \b([[:upper:]][[:lower:]] * (sanoi epäili kuuli)) ((sanoi epäili kuuli) ([[:upper:]][[:lower:]]*)\b) varsinainen nimilista saadaan verbistä ja nimistä koostuvista lausekkeista esim. poistamalla verbit, jotka tässä tapauksessa tunnetaan voidaan käyttää liki samaa säännöllistä lauseketta sedillä kuin grepillä: sed -r -e s/?(sanoi epäili kuuli)?//

40 Kertausta: frekvenssilistaus käsitelty ainakin tämän vuoden CLT130-kurssilla: työkaluilla sort ja uniq saa frekvenssilistauksia sort järjestää uniq -c laskee ja poistaa toistot sort -nr järjestää frekvenssilistan

41 Kertausta: frekvenssilistaus käsitelty ainakin tämän vuoden CLT130-kurssilla: työkaluilla sort ja uniq saa frekvenssilistauksia sort järjestää uniq -c laskee ja poistaa toistot sort -nr järjestää frekvenssilistan tällä kertaa emme tee mitään frekvenssilukemilla, joten kehitellään sed-lauseke niiden poistoon: sort uniq -c sort -nr on yksi yleisimpiä käskysarjoja käytettäväksi korpustutkimuksessa sed -r -e s/ˆ *[0-9]* // poistaa frekvenssit awk print $2 lienee hivenen helpompi

42 Alustava luokittelu suomen sanakirjoissa sanan luokitukseen tarvitaan tietää vartalovaihtelu, joka usein selviää vartalon lopusta

43 Alustava luokittelu suomen sanakirjoissa sanan luokitukseen tarvitaan tietää vartalovaihtelu, joka usein selviää vartalon lopusta esim. konsonanttiloppuinen Nehljudof taipuu kuten paperi, siis merkitään konsonanttiloppuiset sanat luokkaan 6: sed -r -e /[bcdfghjklmnpqrstvxz]$/&,6/

44 Alustava luokittelu suomen sanakirjoissa sanan luokitukseen tarvitaan tietää vartalovaihtelu, joka usein selviää vartalon lopusta esim. konsonanttiloppuinen Nehljudof taipuu kuten paperi, siis merkitään konsonanttiloppuiset sanat luokkaan 6: sed -r -e /[bcdfghjklmnpqrstvxz]$/&,6/ Maslova ei taivu kuin Vera: pitää siis keksiä eri lausekkeet arvaamme, että kyse on aata edeltävästä vokaalista: sed -r -e /e.a$/&,9/ -e /o.a$/&,10/

45 Asialista Käytännön asiat Kertausta shelliskriptien ohjausrakenteista ja palautusarvoista Ongelman kertaus Menetelmät ja aineistot Työkalut Viitteitä

46 Kirjallisuus ja linkit AWK programming language ( )

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 4. lokakuuta 2010 Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 5 4. lokakuuta 2010 1

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

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

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

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

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

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

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

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

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

Java-kielen perusteita

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")

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

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

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma:

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma: Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 2 1. Toteuta Pythonilla seuraava ohjelma: 2. Tulosta Pythonilla seuraavat luvut allekkain a. 0 10 (eli, näyttää tältä: 0 1 2 3 4 5 6 7 8 9 10 b. 0 100 c. 50 100 3.

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

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

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

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

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

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

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

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.3.2010 1 / 36 Monikko Monikko (engl. tuple) muistuttaa listaa, mutta monikon sisältöä ei voi muuttaa sen 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 4.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 4.3.2009 1 / 35 Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

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

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

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

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

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 14.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 14.4.2010 1 / 60 Mitä tämän kurssin jälkeen? T-106.1223 Tietorakenteet ja algoritmit Y (5 op) Tietorakenteita, esim.

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 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

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

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

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

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1 13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.

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

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

Lisätiedot

Muistutus aikatauluista

Muistutus aikatauluista Muistutus aikatauluista (Nämä eivät välttämättä koske avoimen yo:n opiskelijoita Erkki Kailan rinnakkaisella kurssilla) Luento 1: kotitehtävät sulkeutuvat 20.9 12:00, ennen tutoriaalia Tutoriaali 1 sulkeutuu

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

Genetiivi vastaa kysymykseen kenen, minkä. Yksikössä genetiivin tunnus on -n (koulun, opettajan, kirjan). Nyt opiskelemme monikon genetiivin.

Genetiivi vastaa kysymykseen kenen, minkä. Yksikössä genetiivin tunnus on -n (koulun, opettajan, kirjan). Nyt opiskelemme monikon genetiivin. Monikon genetiivi Genetiivi vastaa kysymykseen kenen, minkä. Yksikössä genetiivin tunnus on -n (koulun, opettajan, kirjan). Nyt opiskelemme monikon genetiivin. Monilla sanoilla voi olla useampi erilainen

Lisätiedot

Tutoriaaliläsnäoloista

Tutoriaaliläsnäoloista Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 23.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 23.2.2009 1 / 44 Debuggeri Tyypillinen tilanne: ohjelma on kirjoitettu, Python-tulkki ei valita virheistä, mutta

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Talousmatematiikan perusteet, L3 Prosentti, yhtälöt Aiheet

Talousmatematiikan perusteet, L3 Prosentti, yhtälöt Aiheet Talousmatematiikan perusteet, L3 Prosentti, t Toisen Prosentti 1 Jos b on p% luvusta a, eli niin b = p 100 a a = perusarvo (Mihin verrataan?) (Minkä sadasosista on kysymys.) p = prosenttiluku (Miten monta

Lisätiedot

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 30.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 30.3.2011 1 / 64 Mitä tämän kurssin jälkeen? T-106.1223 Tietorakenteet ja algoritmit Y (5 op) Tietorakenteita, esim.

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 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

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

MITÄ JAVASCRIPT ON?...3

MITÄ JAVASCRIPT ON?...3 JavaScript MITÄ JAVASCRIPT ON?...3 YLEISTÄ JAVASCRIPTIN SYNTAKSISTA...3 KÄSKYSANAT JA MUUT VARATUT SANAT...3 MUUTTUJIEN, FUNKTIOIDEN JA LUOKKIEN NIMISSÄ...3 HTML-TAGEIHIN VIITTAAVISSA METODINIMISSÄ...3

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

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

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 peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 2: SICP kohdat 22.2.3 Riku Saikkonen 2. 11. 2010 Sisältö 1 Linkitetyt listat 2 Listaoperaatioita 3 Listarakenteet 4 Gambit-C:n Scheme-debuggeri Linkitetyt

Lisä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 17.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 17.10.2018 1 / 31 Oppimistavoitteet: tämän luennon jälkeen Tunnet lisää erilaisia tapoja käyttää listoja Python-ohjelmissa.

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

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public) Tietorakenteet JAVA-OHJELMOINTI Osa 5: Tietorakenteita Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto Olioita ja tietoja voidaan organisoida määrämuotoisiksi tietorakenteiksi Hyödyllisiä

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

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

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

Ohjelmoinnin peruskurssi Y1

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

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

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

Ohjelmoinnin peruskurssi Y1

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

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