Ohjelmointi 1, syksy 2019, luento 18

# L18

18. luento: ti 5.11.2019 klo 14:15-16:00: Tiedoston lukeminen ja käsitely

Versionhallinnassa

- lähtötilanne: svn export -r 1672 https://svn.cc.jyu.fi/srv/svn/ohj1/esimerkit/2018s/luennot/live18
- lopputilanne: svn export https://svn.cc.jyu.fi/srv/svn/ohj1/esimerkit/2019s/luennot/luento18

Konvoluutio-demon malliohjelma

  • Demo 9, B1-3 harjoittelu
  • konvo.jar
    • lataa ja aja
      • java -jar konvo.jar
      • laita yläreunassa olevalle riville kuvan www-osoite ja lokaalilla levyllä olevan kuvan koko tiedostopolku
      • valitse kuinka monta kertaa mikäkin maskimatriisin ajetaan
      • paina Aja muunnokset

Filtteri

Filtteri on ohjelma, joka lukeee standardi syötettä (standard input, stdin) ja tekee riveille jotakin ja tulostaa sen standarditulosvirtaan (standard out, stdout).

# isoksi

Tyypillisesti filtteriohjelmia ajetaan komentoriviltä ja niitä sovelletaan johonkin tiedostoon. Esimerkiksi tiedosto voisi olla:

# kissa

Esimerkiksi syöte voidaan antaa suuntaamalla tulos jostakin tiedostosta:

# shell

tai sille voidaan putkittaa toisen ohjelman tulos, esim grep etsii tiedostosta rivit joilla toteutuu haluttu regular expresstion. Eli jos haluttaisiin muuttaa isoksi vain rivit joilla aluneprin esiintyy pienellä kirjoitettu kissa, se voitaisiin tehdä:

# shell2

Vastaavasti jos haluttaisiin näkyviin vain rivit, joissa muunnoksen jälkeen lukee KISSA, voitaisiin muunnos ajaa ensin ja sitten tehdä grepillä etsiminen:

# shell3

Hyvin yleistä on myös suunnata filtterin tulos tiedostoon:

# shell4
# shell5
# shell6

Tiedoston käsittely tiedostona

# tiedostoisoksi

Kaino

# kotustxt
# kainoisoksi

Demoihin käytettyjen aikojen laskeminen

  • Aika.cs - esimerkki, jossa yhdistetään kahden erilaisen tiedoston sisältöä
  • Exceliin:
    • copy/paste syntynyt tiedosto
    • lisätään rpist,raika (round)
    • aluelle nimeksi data
    • filtteriksi
    • lisätään pivot data-alueesta
    • riveiksi demo ja rpist
    • sarkkeiksi raika
    • sisällöksi count(raika)

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.