Skip to content

Commit 7813c2e

Browse files
author
avihavai
committed
osa 1 draft
1 parent 929e928 commit 7813c2e

9 files changed

+390
-756
lines changed

data/osa-1/2-tulostaminen.md

Lines changed: 42 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,16 @@ Hei maailma!
146146
</sample-output>
147147

148148

149+
<text-box variant='hint' name='Tarkka tarkastaja'>
150+
151+
Ohjelmointitehtävät tarkastaa TMC-Henrik, joka on hyvin tarkka. Tehtävänannoissa olevat toiveet tulostusmuodosta ovat tarkkoja. Jos tehtävänannossa toivotaan esimerkiksi että ohjelma tulostaa sulun, ei sulkua saa jättää tulostamatta.
152+
153+
Tämä tulostukseen liittyvä tarkkuus on oleellista laajemmin ohjelmoinnissa. Yhdenkin merkin puuttuminen voi johtaa virhetilanteeseen. Aloittelevat ohjelmoijat usein esimerkiksi syöttävät pilkun pisteen sijaan, kirjoittavat vaikkapa `printin` sanan `println` sijaan, jättävät tulostettavasta merkkijonosta hipsut pois, tai unohtavat komentoa seuraavan puolipisteen. Jokainen edelläolevista esimerkeistä johtaa virhetilanteeseen, missä ohjelman suoritus ei onnistu.
154+
155+
Ohjelmoinnin opettelu onkin oikeastaan tie täynnä virheitä -- jokainen virheviesti on myös oppimistilanne.
156+
157+
</text-box>
158+
149159
<programming-exercise name='Olipa kerran' tmcname='osa01-Osa01_03.OlipaKerran'>
150160

151161
TODO: muokkaa tehtäväpohjaa
@@ -212,60 +222,56 @@ maa
212222
</programming-exercise>
213223

214224

215-
## Rivinvaihto
225+
## Terminologiaa ja koodin kommentointi
216226

217-
Tulostuskomento `System.out.println("merkkijono");` tulostaa tekstin "merkkijono" sekä rivinvaihdon. Rivinvaihdon voi halutessaan tulostaa myös erikoismerkillä `\n`, joka kirjoitetaan osaksi tulostettavaa merkkijonoa. Esimerkiksi seuraavat kaksi ohjelmaa tuottavat samanlaisen tulostuksen.
227+
### Komennon parametrit
218228

219-
```java
220-
System.out.println("Hei maailma!\n... ja maailmankaikkeus!");
221-
```
229+
Tulostuslauseen tulostama tieto eli komennon _parametrit_ annetaan tulostuskomennolle lisäämällä ne lauseen perässä olevien sulkujen `()` sisään. Esimerkiksi `System.out.println` -komennon parametriksi annetaan merkkijono "hei" hipsujen sisällä seuraavasti: `System.out.println("hei")`.
230+
231+
### Puolipiste erottaa lauseet toisistaan
232+
233+
Puolipisteellä `;` erotetaan lauseet toisistaan. Voisimme oikeastaan kirjoittaa lähes kaiken yhdelle riville. Tämä ei ole kuitenkaan kovin ymmärrettävää.
222234

223235
```java
224-
System.out.println("Hei maailma!");
225-
System.out.println("... ja maailmankaikkeus!");
236+
System.out.println("Hei "); System.out.println("maailma"); System.out.println("!\n");
226237
```
227238

228239
<sample-output>
229240

230-
Hei maailma!
231-
... ja maailmankaikkeus!
241+
Hei
242+
maailma
243+
!
232244

233245
</sample-output>
234246

247+
Vaikka yllä oleva esimerkki toimii, on rivinvaihtojen käyttö tärkeää muita ohjelmoijia ajatellen. Tällöin ohjelman lukija tietää, että kullakin rivillä tehdään vain yksi konkreettinen asia.
235248

236-
<programming-exercise name='Olipa kerran maa' tmcname='osa01-Osa01_05.Oneliner'>
249+
TODO: quiz, jossa kysytään että mistä tietssä termissä on kyse
237250

238-
TODO: uusi tehtävä
251+
### Kommentit
239252

240-
Tehtäväpohjassa on seuraavanlainen ohjelmarunko:
253+
Lähdekoodia voi kommentoida selkeyttääkseen sitä tai lisätäkseen muistiinpanoja kahdella eri tavalla.
254+
255+
- Yhden rivin kommentit aloitetaan kahdella vinoviivalla, `//`. Kaikki kahta vinoviivaa seuraava samalla rivillä oleva teksti tulkitaan kommentiksi.
256+
- Useamman rivin kommentit aloitetaan yhdellä vinoviivalla ja tähdellä `/*` ja lopetetaan tähdellä ja vinoviivalla `*/`. Kaikki useamman rivin kommentin aloittavan ja lopettavan alueen välillä tulkitaan kommentiksi.
257+
258+
Alla on esimerkki ohjelmasta, jossa kumpikin kommenttityyppi on käytössä.
241259

242260
```java
243-
public class OlipaKerranMaa {
261+
public class Kommentteja {
244262
public static void main(String[] args) {
245-
263+
// Tulostetaan
264+
System.out.println("Tulostettava teksti");
265+
System.out.println("Lisää tulostettavaa!");
266+
/* Seuraavaksi:
267+
- lisää tulostamisesta
268+
- lisää harjoittelua
269+
- muuttujat
270+
- ...
271+
*/
272+
System.out.println("Muuta tulostettavaa");
246273
}
247274
}
248275
```
249276

250-
Muokkaa ohjelmaa siten, että ohjelman suoritus tulostaa seuraavanlaisen tekstin. Käytä tekstin tulostamiseen yhtä `System.out.println` komentoa.
251-
252-
<sample-output>
253-
254-
Olipa kerran maa valmistui vuonna 2008. Sarja käsittelee
255-
luontoympäristön suojelemista ja varoittaa maailmanlaajuisesta
256-
ilmastonlämpenemisestä, kasvihuoneilmiöstä, saasteista ja
257-
niin edelleen.
258-
259-
</sample-output>
260-
261-
</programming-exercise>
262-
263-
264-
TODO: johonkin:
265-
266-
267-
Yhdenkin merkin puuttuminen voi johtaa ohjelmoidessa virhetilanteeseen. Ohjelmoija saattaa vahingossa esimerkiksi syöttää pilkun pisteen sijaan, kirjoittaa vaikkapa `printin` sanan `println` sijaan, jättää tulostettavasta merkkijonosta hipsut pois, tai unohtaa komentoa seuraavan puolipisteen. Jokainen edelläolevista esimerkeistä johtaa virhetilanteeseen, missä ohjelman suoritus ei onnistu.
268-
269-
270-
Tehtävänannoissa olevat toiveet tulostusmuodosta ovat tarkkoja. Jos tehtävänannossa toivotaan esimerkiksi että ohjelma tulostaa sulun toisen rivin ensimmäiseksi merkiksi, ei sulkua saa jättää tulostamatta.
271-
277+
Esimerkin alin rivi esittelee erityisen kätevän käyttökohteen kommenteille. Kirjoitettua lähdekoodia ei tarvitse poistaa jos haluaa tilapäisesti kokeilla jotain.

data/osa-1/3-merkkijonojen-alkeet.md

Lines changed: 0 additions & 174 deletions
This file was deleted.

0 commit comments

Comments
 (0)