Skip to content

Commit f304685

Browse files
author
avihavai
committed
TMC:n tehtävätunnukset tehtäviin
1 parent a63bfc8 commit f304685

4 files changed

Lines changed: 30 additions & 28 deletions

File tree

data/osa-4/1-tiedon-lukeminen-ja-tiedostot.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Yllä Scanner-luokan konstruktorille annetaan parametrina järjestelmän syöte
4444

4545

4646

47-
<programming-exercise name='Merkkijonojen lukumäärä'>
47+
<programming-exercise name='Merkkijonojen lukumäärä' tmcname='osa04-Osa04_01.MerkkijonojenLukumaara'>
4848

4949
Kirjoita ohjelma, joka lukee käyttäjältä merkkijonoja kunnes käyttäjä syöttää merkkijonon "loppu". Tämän jälkeen ohjelma tulostaa luettujen merkkijonojen lukumäärän. Merkkijonoa "loppu" ei tule huomioida syötettyjen merkkijonojen lukumäärän laskemisessa. Alla muutamia esimerkkejä ohjelman toiminnasta.
5050

@@ -98,7 +98,7 @@ while (true) {
9898
```
9999

100100

101-
<programming-exercise name='Kuutiot'>
101+
<programming-exercise name='Kuutiot' tmcname='osa04-Osa04_02.Kuutiot'>
102102

103103
Kirjoita ohjelma, joka lukee merkkijonoja käyttäjältä kunnes käyttäjä syöttää merkkijonon "loppu". Mikäli syöte ei ole "loppu", ohjelman tulee käsitellä syöte lukuna ja tulostaa syötetyn luvun kuutio (eli luku * luku * luku). Alla on muutamia tulostusesimerkkejä
104104

@@ -137,7 +137,7 @@ Tietokoneissa on useampia ohjelmia tiedostojen selaamiseen ja nämä ohjelmistot
137137
Myös käyttämämme ohjelmointiympäristö tarjoaa mahdollisuuden ohjelmointiympäristössä olevien projektien sisältämien tiedostojen selaamiseen. Voit käydä tarkastelemassa NetBeansissa kaikkia projektiin liittyviä tiedostoja valitsemalla `Files`-välilehden, joka löytyy `Projects`-välilehden kanssa samasta paikasta. Mikäli `Files`-välilehteä ei löydy, saa sen auki myös `Window`-valikosta. Klikkaamalla projektin auki, näet kaikki siihen liittyvät tiedostot.
138138

139139

140-
<programming-exercise name='Uuden tiedoston luominen'>
140+
<programming-exercise name='Uuden tiedoston luominen' tmcname='osa04-Osa04_03.UudenTiedostonLuominen'>
141141

142142
Tässä tehtävässä ei ohjelmoida, vaan tutustutaan tiedoston luomiseen.
143143

@@ -179,7 +179,7 @@ try (Scanner tiedostonLukija = new Scanner(new File("tiedosto.txt"))) {
179179
Oletuksena (eli kutsuttaessa `new Scanner(new File("tiedosto.txt"))`) tiedosto luetaan projektin juuresta eli kansiosta, joka sisältää kansion `src` sekä tiedoston `pom.xml` (ja mahdollisesti myös muita tiedostoja). Tämän kansion sisältöä voi tarkastella NetBeansin Files-välilehdeltä.
180180

181181

182-
<programming-exercise name='Tiedoston tulostaminen'>
182+
<programming-exercise name='Tiedoston tulostaminen' tmcname='osa04-Osa04_04.TiedostonTulostaminen'>
183183

184184
Kirjoita ohjelma, joka tulostaa tiedoston nimeltä "data.txt" sisällön siten, että kukin tiedoston rivi tulee tulostuksessa omalle rivilleen.
185185

@@ -204,7 +204,7 @@ maailma
204204
</programming-exercise>
205205

206206

207-
<programming-exercise name='Kysytyn tiedoston tulostaminen'>
207+
<programming-exercise name='Kysytyn tiedoston tulostaminen' tmcname='osa04-Osa04_05.KysytynTiedostonTulostaminen'>
208208

209209
Kirjoita ohjelma, joka kysyy käyttäjältä merkkijonoa ja tulostaa tämän jälkeen käyttäjän syöttämän nimisen tiedoston sisällön. Voit olettaa, että käyttäjä syöttää tiedoston, joka löytyy ohjelmasta.
210210

@@ -255,7 +255,7 @@ try (Scanner tiedostonLukija = new Scanner(new File("tiedosto.txt"))) {
255255
```
256256

257257

258-
<programming-exercise name='Vieraslista tiedostosta'>
258+
<programming-exercise name='Vieraslista tiedostosta' tmcname='osa04-Osa04_06.VieraslistaTiedostosta'>
259259

260260
Tehtäväpohjassa on valmiina toiminnallisuus vieraslistaohjelmaan, missä käyttäjän syöttämien nimien olemassaolo tarkistetaan vieraslistalta.
261261

@@ -307,7 +307,7 @@ alicia
307307
</programming-exercise>
308308

309309

310-
<programming-exercise name='Löytyykö tiedostosta?'>
310+
<programming-exercise name='Löytyykö tiedostosta?' tmcname='osa04-Osa04_07.LoytyykoTiedostosta'>
311311

312312
Tehtäväpohjassa tulee kaksi tekstitiedostoa: `nimet.txt` ja `toiset-nimet.txt`. Kirjoita ohjelma, joka kysyy ensin käyttäjältä luettavan tiedoston nimeä, jonka jälkeen käyttäjältä kysytään etsittävää merkkijonoa. Tämän jälkeen ohjelma lukee tiedoston ja etsii tiedostosta haluttua merkkijonoa.
313313

@@ -346,7 +346,7 @@ Tiedoston olematon.txt lukeminen epäonnistui.
346346
</programming-exercise>
347347

348348

349-
<programming-exercise name='Mittaukset tiedostosta'>
349+
<programming-exercise name='Mittaukset tiedostosta' tmcname='osa04-Osa04_08.MittauksetTiedostosta'>
350350

351351
Toteuta ohjelma, joka lukee käyttäjältä tiedoston nimen sekä hyväksyttävien lukujen ala- ja ylärajan. Tämän jälkeen ohjelma lukee tiedoston sisältämät luvut (jokainen luku on omalla rivillään) ja ottaa huomioon vain ne luvut, jotka ovat annetulla lukuvälillä. Lopulta ohjelma tulostaa annetulla lukuvälillä olleiden lukujen lukumäärän.
352352

@@ -526,7 +526,7 @@ urho on syntynyt vuonna 1900
526526
</sample-output>
527527

528528

529-
<programming-exercise name='Nuorin'>
529+
<programming-exercise name='Nuorin' tmcname='osa04-Osa04_09.Nuorin'>
530530

531531
Kirjoita ohjelma, joka lukee käyttäjältä henkilöiden nimiä ja ikiä. Kunkin henkilön nimi ja ikä syötetään samalla rivillä. Nimi ja ikä on pilkulla erotettu. Kun käyttäjä syöttää merkkijonon "loppu", lukeminen lopetetaan. Tämän jälkeen ohjelma tulostaa nuorimman henkilön nimen. Voit olettaa, että nuorin henkilö on yksikäsitteinen, eli syötteessä ei ole useampia saman ikäisiä (nuorimpia) henkilöitä.
532532

@@ -546,7 +546,7 @@ Nuorin oli: aamu
546546
</programming-exercise>
547547

548548

549-
<programming-exercise name='Vanhin tiedostosta'>
549+
<programming-exercise name='Vanhin tiedostosta' tmcname='osa04-Osa04_10.VanhinTiedostosta'>
550550

551551
Tässä tehtävässä käsitellään CSV-muodossa tallennettuja tiedostoja, jotka sisältävät riveittän pilkuilla eroteltuna nimiä ja ikiä. Tiedoston muoto on esimerkiksi seuraava:
552552

data/osa-4/2-johdatus-olio-ohjelmointiin.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@ hidden: true
1515

1616
<pdfslideshow path='../slideshows/johdatus-olio-ohjelmointiin.pdf'></pdfslideshow>
1717

18+
TODO: quiz
19+

data/osa-4/3-luokka-ja-olio.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Yksittäiset oliot eli rintamamiestalot on tehty samojen piirustusten perusteell
6363
</text-box>
6464

6565

66-
<programming-exercise name='Ensimmäinen tilisi'>
66+
<programming-exercise name='Ensimmäinen tilisi' tmcname='osa04-Osa04_11.EnsimmainenTilisi'>
6767

6868
Tehtäväpohjan mukana tulee valmis luokka `Tili`. Luokan `Tili` olio esittää pankkitiliä, jolla on saldo (eli jossa on jokin määrä rahaa). Tilejä käytetään näin:
6969

@@ -90,7 +90,7 @@ Tee ohjelma, joka luo tilin jonka saldo on 100.0, panee tilille 20.0 ja tulostaa
9090
</programming-exercise>
9191

9292

93-
<programming-exercise name='Ensimmäinen tilisiirtosi'>
93+
<programming-exercise name='Ensimmäinen tilisiirtosi' tmcname='osa04-Osa04_12.EnsimmainenTilisiirtosi'>
9494

9595
Tässäkin tehtävässä on käytössä edellisessä tehtävässä mukana ollut luokka `Tili`.
9696

@@ -175,7 +175,7 @@ Luokkaakaaviossa luokkaan liittyvät muuttujat määritellään muodossa "muuttu
175175
Olemme nyt määritelleet rakennuspiirustukset -- luokan -- henkilöoliolle. Jokaisella uudella henkilöolioilla on muuttujat `nimi` ja `ika`, joissa voi olla oliokohtainen arvo. Henkilöiden "tila" koostuu niiden nimeen ja ikään asetetuista arvoista.
176176

177177

178-
<programming-exercise name='Koiran ominaisuudet'>
178+
<programming-exercise name='Koiran ominaisuudet' tmcname='osa04-Osa04_13.KoiranOminaisuudet'>
179179

180180
Uuden luokan saa lisättyä NetBeansissa seuraavasti: Ruudun vasemmalla reunalla on projektilistaus (Projects). Paina projektin nimen kohdalla hiiren oikeaa nappia. Valitse avautuvasta valikosta *New* ja *Java Class*. Anna luokan nimeksi (Class Name) `Koira`.
181181

@@ -228,7 +228,7 @@ Nyt luokkakaavioon on merkitty luokan nimen ja muuttujien lisäksi myös konstru
228228
<img src="/img/diagrams/luokkakaavio-henkilo-ika-ja-nimi-ja-konstruktori.png">
229229

230230

231-
<programming-exercise name='Huone'>
231+
<programming-exercise name='Huone' tmcname='osa04-Osa04_14.Huone'>
232232

233233
Uuden luokan saa lisättyä seuraavasti: Ruudun vasemmalla reunalla on projektilistaus. Paina projektin nimen kohdalla hiiren oikeaa nappia. Valitse avautuvasta valikosta *New* ja *Java Class*. Jos haluat että luokan nimi on Huone, aseta luokan nimeksi (Class Name) `Huone`.
234234

@@ -347,7 +347,7 @@ Sama screencastina:
347347
&nbsp;
348348

349349

350-
<programming-exercise name='Pilli'>
350+
<programming-exercise name='Pilli' tmcname='osa04-Osa04_15.Pilli'>
351351

352352
Luo luokka nimeltä `Pilli`. Pillillä on oliomuuttujina `private String aani`. Luo tämän jälkeen konstruktori `public Pilli(String pillinAani)`, minkä avulla luodaan uusi pilli, jolle annetaan ääni.
353353

@@ -376,7 +376,7 @@ Kvaak
376376
</programming-exercise>
377377

378378

379-
<programming-exercise name='Ovi'>
379+
<programming-exercise name='Ovi' tmcname='osa04-Osa04_16.Ovi'>
380380

381381
Luo luokka nimeltä `Ovi`. Ovella ei ole oliomuuttujia. Luo sille parametriton konstruktori (tai käytä oletuskonstruktoria). Luo tämän jälkeen ovelle metodi `public void koputa()`, jota kutsuttaessa tulostuu viesti "Who's there?".
382382

@@ -400,7 +400,7 @@ Who's there?
400400
</programming-exercise>
401401

402402

403-
<programming-exercise name='Tuote'>
403+
<programming-exercise name='Tuote' tmcname='osa04-Osa04_17.Tuote'>
404404

405405
Luo luokka `Tuote` joka esittää kaupan tuotetta jolla on hinta, lukumäärä ja nimi.
406406

@@ -494,7 +494,7 @@ public class Henkilo {
494494
}
495495
```
496496

497-
<programming-exercise name='Vähenevä laskuri (4 osaa)'>
497+
<programming-exercise name='Vähenevä laskuri (4 osaa)' tmcname='osa04-Osa04_18.VahenevaLaskuri'>
498498

499499
Tässä tehtävässä on useampi osa. Jokainen osa vastaa yhtä tehtäväpistettä.
500500

@@ -667,7 +667,7 @@ arvo: 100
667667
</programming-exercise>
668668

669669

670-
<programming-exercise name='Velka'>
670+
<programming-exercise name='Velka' tmcname='osa04-Osa04_19.Velka'>
671671

672672
Luo luokka `Velka`, jolla on double-tyyppiset oliomuuttujat `saldo` ja `korkokerroin`. Saldo ja korkokerroin annetaan konstruktorin parametrina `public Velka(double saldoAlussa, double korkokerroinAlussa)`.
673673

@@ -866,7 +866,7 @@ Pekka ja Antti yhteensä 3 vuotta
866866
<quiznator id='5a57bcce574f0b000439a331'></quiznator>
867867

868868

869-
<programming-exercise name='Henkilo'>
869+
<programming-exercise name='Henkilo' tmcname='osa04-Osa04_20.Henkilo'>
870870

871871
Luo luokka Henkilo (ei öötä!). Luokan Henkilo tulee sisältää seuraavan luokkakaavion määrittelemät ominaisuudet.
872872

@@ -911,7 +911,7 @@ Pekka ja Antti yhteensä 3 vuotta
911911
</programming-exercise>
912912

913913

914-
<programming-exercise name='Musiikkikappale'>
914+
<programming-exercise name='Musiikkikappale' tmcname='osa04-Osa04_21.Musiikkikappale'>
915915

916916
Luo luokka nimeltä `Musiikkikappale`. Musiikkikappaleella on oliomuuttujat `nimi` (merkkijono) ja `pituus` sekunteina (kokonaisluku). Molemmat asetetaan konstruktorissa `public Musiikkikappale(String kappaleenNimi, int kappaleenPituus)`. Lisää oliolle myös metodit `public String nimi()`, joka palauttaa kappaleen nimen, ja `public int pituus()`, joka palauttaa kappaleen pituuden.
917917

@@ -1061,7 +1061,7 @@ Pekka on täysi-ikäinen
10611061
</sample-output>
10621062

10631063

1064-
<programming-exercise name='Elokuva'>
1064+
<programming-exercise name='Elokuva' tmcname='osa04-Osa04_22.Elokuva'>
10651065

10661066
Luo luokka Elokuva, jolla on oliomuuttujat `nimi` (String) ja `ikaraja` (int). Tee luokalle konstruktori `public Elokuva(String elokuvanNimi, int elokuvanIkaraja)` sekä metodit `public String nimi()` ja `public int ikaraja()`. Ensimmäinen palauttaa elokuvan nimen ja toinen elokuvan ikärajan.
10671067

@@ -1156,7 +1156,7 @@ Olioscreencastin toinen osa:
11561156
&nbsp;
11571157

11581158

1159-
<programming-exercise name='Agentti'>
1159+
<programming-exercise name='Agentti' tmcname='osa04-Osa04_23.Agentti'>
11601160

11611161
Tehtäväpohjassa on määriteltynä luokka Agentti, jolla on etunimi ja sukunimi. Luokalle on määritelty metodi `tulosta`, joka luo seuraavanlaisen merkkijonoesityksen.
11621162

@@ -1195,7 +1195,7 @@ My name is Bond, Ionic Bond
11951195
</programming-exercise>
11961196

11971197

1198-
<programming-exercise name='Maksukortti (6 osaa)'>
1198+
<programming-exercise name='Maksukortti (6 osaa)' tmcname='osa04-Osa04_24.Maksukortti'>
11991199

12001200
Helsingin Yliopiston opiskelijaruokaloissa eli Unicafeissa opiskelijat maksavat lounaansa käyttäen maksukorttia. Lopullinen Maksukortti tulee näyttämään luokkakaaviona seuraavalta:
12011201

@@ -1565,7 +1565,7 @@ public void setPituus(int pituus) {
15651565
```
15661566

15671567

1568-
<programming-exercise name='Kertoja'>
1568+
<programming-exercise name='Kertoja' tmcname='osa04-Osa04_25.Kertoja'>
15691569

15701570
Luo luokka `Kertoja` jolla on:
15711571

@@ -1627,7 +1627,7 @@ Olioscreencastin kolmas osa:
16271627
&nbsp;
16281628

16291629

1630-
<programming-exercise name='Lukutilasto (4 osaa)'>
1630+
<programming-exercise name='Lukutilasto (4 osaa)' tmcname='osa04-Osa04_26.Lukutilasto'>
16311631

16321632
<h2>Lukujen määrä</h2>
16331633

data/osa-4/4-listat-ja-oliot.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ for (Henkilo henkilo: henkilot) {
197197
}
198198
```
199199

200-
<programming-exercise name='Televisio-ohjelmat'>
200+
<programming-exercise name='Televisio-ohjelmat' tmcname='osa04-Osa04_27.TelevisioOhjelmat'>
201201

202202
Tehtäväpohjassa on valmiina televisio-ohjelmaa kuvaava luokka TelevisioOhjelma. Luokalla on oliomuuttujat nimi ja pituus, konstruktori, ja muutamia metodeja.
203203

@@ -225,7 +225,7 @@ Miehen puolikkaat, 30 minuuttia
225225
</programming-exercise>
226226

227227

228-
<programming-exercise name='Kirjat (2 osaa)'>
228+
<programming-exercise name='Kirjat (2 osaa)' tmcname='osa04-Osa04_28.Kirjat'>
229229

230230
Toteuta ohjelma, joka ensin lukee kirjojen tietoja käyttäjältä. Jokaisesta kirjasta tulee lukea kirjan nimi, sivujen lukumäärä sekä kirjoitusvuosi. Kirjojen lukeminen lopetetaan kun käyttäjä syöttää tyhjän kirjan nimen.
231231

0 commit comments

Comments
 (0)