Ohjelmointi 1, syksy 2021, luento 18
- M: 25. Tietojen lukeminen ulkoisesta lähteestä
- MSDN: How to: Read From a Text File
- Isoksi.cs - esimerkki filtteristä, eli joka lukee syötettä ja tulostaa sitä jotenkin muutettuna
- TiedostoIsoksi.cs - esimerkki, joka lukee tiedoston ja tulostaa sen isoilla kirjaimilla
- Kaino.cs - esimerkki, joka muuttaa Kotus-sanaston sanat Hirsipuupeliä varten sopivaksi
- Syksyllä 2011 tehtiin ohjelma, jonka avulla voi korjata luentomonisteen rikkinäiset linkit
- KorjaaMoniste.cs - "valmiiksi" korjattu versio
- KorjaaMoniste.cs - luennon jälkeinen tilanne
- Syksyn 2011 luennon koodit versionhallinnassa
- Syksyn 2011 videot: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- Syksyllä 2019 tehtiin ohjelma, jolla havainnolistetaan ajankäyttöä vs saatuja pisteitä
- Aika.cs - ajankäyttö vs demopisteet, esimerkki, jossa yhdistetään kahden erilaisen tiedoston sisältöä
- Syksyn 2019 videot: Osa 1 MP4 alkuperäinen
- Katsottiin kuvankäsittelyä
- Kuvankasittely
- Konvoluutio kuvan käsittelyyn - lataa ja aja
java -jar konvo.jar - Kuva.cs - demo9 pohjatiedosto kuvan käsittelylle
- Palapeli.cs - demo9 pohjatiedosto palapelille
- Hirsiauta.cs - apuohjelma hirsipuun pelaamiseksi
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 18. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
Luentoesimerkkien haku versionhallinnasta
siirry hakemistoon johon haluat esimerkit
ekalla kertaa (tai jos olet ennen su 19.10 hakenut niin tuhoa vanha)
git clone https://gitlab.jyu.fi/tie/ohj1/2021s/esimerkit.git .jatkossa samassa hakemistossa
git pullkopsi tuo hakemisto tai ainakin sinua kiinnostava alihakemisto toiseen paikkaan
periaatteessa tuonne syntyneen solutionin voi avata sellaisenaankin, mutta jos siihen tekee muutoksia, niin seuraavalla
pull-komennolla tulee helposti konflikti
Mitä osataan?
Kurssin aikana sinun on tarkoitus oppia seuraavia asioita (osaamisen taso sovelletulla Bloomin asteikolla: 1=muistaa, 2=ymmärtää, 3=osaa soveltaa, 4=osaa analysoida, 5=osaa arvioida, 6=osaa luoda)
Siirrä alla osaamisesi (punainen pallukka) aina sitä vastaavalle kohdalle. Keltainen ruutu on tavoite johon tulisi päästä kurssin lopuksi. Ruksaa ensin muokkaa.
Please
| Osattava asia | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| Rakenteisen ohjelmoinnin perusajatus | o | |||||
| Algoritminen ajattelu | o | |||||
| C#-kielen perusteet | o | |||||
| Peräkkäisyys | o | |||||
| Muuttujat | o | |||||
| Aliohjelmat ja funktiot | o | |||||
| Parametrin välitys | o | |||||
| Ehtolauseet | o | |||||
| Silmukat | o | |||||
| Taulukot | o | |||||
| Tiedostot ohjelmasta käytettynä | o | |||||
| Olioiden käyttö | o | |||||
| Yksikkötestit (TDD) | o | |||||
| Debuggerin käyttö | o | |||||
| Lukujärjestelmät, ASCII-koodi | o | |||||
| Rekursio | o | |||||
| Dokumentointi ja sen lukeminen | o |
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
- lataa ja aja
Filtteri
Filtteri on ohjelma, joka lukeee standardi syötettä (standard input, stdin) ja tekee riveille jotakin ja tulostaa sen standarditulosvirtaan (standard out, stdout).
Tyypillisesti filtteriohjelmia ajetaan komentoriviltä ja niitä sovelletaan johonkin tiedostoon. Esimerkiksi tiedosto voisi olla:
Esimerkiksi syöte voidaan antaa suuntaamalla tulos jostakin tiedostosta:
Edellä
dotnet-run
on erikseen TIMiin tehty komento, jotta käännetty ohjelma voidaan ajaa. Omassa koneessa vastaava tehtäisiin
dotnet run <kissa.txt
jos ohjelma on käännetty VisualStudiolla ja olaan projektin hakemistossa tai sitten ohjelma pitää kääntää komentoriviltä
Tällöin ajetaan:
./Isoksi.exe <kissa.txt
Ohjelmalle 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ä:
Vastaavasti jos haluttaisiin näkyviin vain rivit, joissa muunnoksen jälkeen lukee KISSA, voitaisiin muunnos ajaa ensin ja sitten tehdä grepillä etsiminen:
Hyvin yleistä on myös suunnata filtterin tulos tiedostoon:
Tiedoston käsittely tiedostona
- Sanalistan saa haettua: http://kaino.kotus.fi/sanat/nykysuomi/
Hirsiauta
- demo9 tehtävänä
- tarkoitus auttaa hirsipuun pelaamisessa
Demoihin käytettyjen aikojen laskeminen
- tämä vastaa hyvin ei-peli harjoitustyötä.
- vastaava: Työaikaraportti-tutorial
- Aika.cs - esimerkki, jossa yhdistetään kahden erilaisen tiedoston sisältöä
- Syksyn 2019 videot: Osa 1 MP4 alkuperäinen
- 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.