Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.



Samankaltaiset tiedostot
Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet:

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

11. Javan toistorakenteet 11.1

Sisällys. Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä. 2.2

11. Javan valintarakenteet 11.1

Ehto- ja toistolauseet

4. Lausekielinen ohjelmointi 4.1

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

13. Loogiset operaatiot 13.1

Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä:

etunimi, sukunimi ja opiskelijanumero ja näillä

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat ja operaatiot


13. Loogiset operaatiot 13.1

14. Hyvä ohjelmointitapa 14.1

13. Hyvä ohjelmointitapa (osa 1) 13.1

Java-kielen perusteet

Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan valitseminen päätöksellä ja toistaminen silmukalla.

Java-kielen perusteita

Sisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten

16. Ohjelmoinnin tekniikkaa 16.1

Ohjausrakenteet. Valinta:

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit.

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin

3. Muuttujat ja operaatiot 3.1

11. Javan valintarakenteet 11.1

16. Ohjelmoinnin tekniikkaa 16.1

811120P Diskreetit rakenteet

4. Lausekielinen ohjelmointi 4.1

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3

1 2 x2 + 1 dx. (2p) x + 2dx. Kummankin integraalin laskeminen oikein (vastaukset 12 ja 20 ) antaa erikseen (2p) (integraalifunktiot

Ohjelmoinnin peruskurssi Y1

Sisällys. 15. Lohkot. Lohkot. Lohkot

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3

811120P Diskreetit rakenteet

Ohjelmoinnin perusteet Y Python

Java-kielen perusteet

Ohjelmoinnin perusteet Y Python

Harjoitus 3 -- Ratkaisut

Ohjelmointiharjoituksia Arduino-ympäristössä

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Ohjelmoinnin perusteet Y Python

Zeon PDF Driver Trial

Tutoriaaliläsnäoloista

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

5/20: Algoritmirakenteita III

Ohjelmoinnin perusteet Y Python

Muistutus aikatauluista

Ohjelmoinnin perusteet Y Python

ITKP102 Ohjelmointi 1 (6 op)

Osa. Toimintojen toteuttaminen ohjelmissa vaatii usein haarautumisia ja silmukoita. Tässä luvussa tutustummekin seuraaviin asioihin:

5. HelloWorld-ohjelma 5.1

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

a b c d

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys

Luento 5. Timo Savola. 28. huhtikuuta 2006

OPPITUNTI 5 Ohjelman kulku

Algoritmit 1. Demot Timo Männikkö

Ohjelmoinnin perusteet Y Python

Harjoitus 4 (viikko 47)

Ohjelmoinnin perusteet, syksy 2006

Harjoitus 1 -- Ratkaisut

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if

Ohjelmoinnin perusteet Y Python

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä.

Sisällys. 16. Lohkot. Lohkot. Lohkot

Harjoitus 2 (viikko 45)

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

2.2 Neliöjuuri ja sitä koskevat laskusäännöt

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento,

TAITAJA 2007 ELEKTRONIIKKAFINAALI KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:

Sisältö. 2. Taulukot. Yleistä. Yleistä

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

15. Suorakulmaisen kolmion geometria

Ohjelmoinnin peruskurssi Y1

Palautetta viime luennosta

Sisältö. 22. Taulukot. Yleistä. Yleistä

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Java kahdessa tunnissa. Jyry Suvilehto

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Python-ohjelmointi Harjoitus 2

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Python-ohjelmointi Harjoitus 5

Ohjelmoinnin perusteet Y Python

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Transkriptio:

Sisällys 3. Pseudokoodi Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if--rakenteilla. oisto while-, do-while- ja for-rakenteilla. 3.1 3.2 Johdanto Pseudokoodi (pseudocode) on algoritmin tekstimuotoinen esitys. Selvästi lähempänä ohjelmointikieltä kuin vuokaaviot, mutta ei oikea ohjelmointikieli. Luonnollisen kielen (esim. suomi tai englanti) ja jonkin tunnetun ohjelmointikielen (esim. Java, C++ tai Pascal) sekoitus. Ei siis yleismaailmallista standardia. Johdanto Kirjoitetaan nyt suomeksi käyttäen Javan kielioppia, jolle on varattu joitakin sanoja englannin kielestä. Vuokaavioiden tapaan pseudokoodin osat suoritetaan peräkkäin ja suoritusta voidaan ohjata päätösten avulla. Vuokaavioiden päätöksiä ja silmukoita vastaavat tietyt valinta- ja toistorakenteet. Voidaan esittää vapaamuotoisena tekstinä tai tarkemmin muuttujien ja operaatioiden avulla. 3.3 3.4

Esimerkki: Hypotenuusan pituus Pythagoraan lause: Suorakulmaisen kolmion kateettien neliöiden summa on yhtä suuri kuin hypotenuusan neliö. ehtävänä kirjoittaa ohjelma hypotenuusan pituuden c laskemiseksi. c 2 2 c = a + b 2 c = a + 2 b a 2 b Esimerkki: Hypotenuusan pituus Lue 1. luku Oletetaan, että käyttäjä antaa algoritmille nollaa suurempia lukuja. Lue 2. luku Neliöi 1. luku Neliöi 2. luku Summaa neliöt Ota summan neliöjuuri ulosta neliöjuuri 3.5 3.6 Esimerkki: Hypotenuusan pituus Ensimmäisellä rivillä on algoritmin otsikko, joka kertoo kyseessä olevan Hypotenuusa-nimisen algoritmin esitys. Otsikon jälkeiset rivit muodostavat algoritmin rungon. Algoritmi suoritetaan rivi kerrallaan, otsikosta alkaen ja ylhäältä alas. Algoritmi Hypotenuusa Lue 1. luku Lue 2. luku Neliöi 1. luku Neliöi 2. luku Summaa neliöt Ota summan neliöjuuri ulosta neliöjuuri Koodi pysähtyy, kun viimeinen rivi on suoritettu. Esimerkki: Hypotenuusan pituus Myös pseudokoodina annettu algoritmi voidaan esittää tarkemmin muuttujia ja operaatioita käyttäen. pow-operaatio korottaa parametrinsa annettuun potenssiin. sqrt-operaatio ottaa parametrinsa neliöjuuren. Algoritmi Hypotenuusa akatpit lue() bkatpit lue() akatpit2 pow(akatpit, 2) bkatpit2 pow(bkatpit, 2) summa akatpit2 + bkatpit2 hyppit sqrt(summa) tulosta(hyppit) 3.7 3.8

Lauseet Vuokaavion laatikot erottavat selkeästi algoritmin vaiheet toisistaan. Edellisissä pseudokoodiesimerkeissä kukin vaihe oli kirjoitettu vastaavasti omalle rivilleen. Algoritmin kuvaaminen ei ole aina yhtä helppoa: teksti voi mennä useammalle riville tai on järkevää esittää useampia vaiheita yhdellä rivillä. arvitaan tapa jakaa algoritmin teksti yksiköihin. Lauseet Kirjoitetun luonnollisen kielen yksiköitä: Virke: Alkaa isolla alkukirjaimella ja päättyy isoon välimerkkiin. Sisältää yhden tai useamman lauseen. Lause: Ilmaisee ajatuksen. Rakentuu verbin ympärille. Lauseke: Lauseen läheisesti yhteenkuuluvia sanoja. Lauseohjelmointikielissä: virkkeet lauseen (statement) mittaisia, välimerkki usein puolipiste (;). Ohjelmointikielissä lauseiden laskentaa sisältäviä osia sanotaan lausekkeiksi (expression). 3.9 3.10 Lauseet Kommentointi ja sisentäminen Erotetaan jatkossa myös pseudokoodin vaiheet puolipisteellä lauseiksi. ällöin yksi pseudokoodin vaihe voidaan esittää usealla rivillä ja useita vaiheita mahtuu samalle riville. Algoritmi Hypotenuusa Lue 1. luku; Lue 2. luku; Neliöi 1. luku; Neliöi 2. luku; Summaa neliöt; Ota summan neliöjuuri; ulosta neliöjuuri; Samalla rivillä olevat lauseet suoritetaan vasemmalta oikealle. Ohjelman tulisi olla helposti ymmärrettävä, koska ihmiset sekä kirjoittavat että lukevat ohjelmia, jotka voivat olla omaa tai muiden tuotantoa: Ohjelmia tehdään usein ryhmissä. Ohjelmat vaativat ylläpitoa. Itse tehdynkin ohjelman idea unohtuu nopeasti. Ohjelman toimintaa voi selkeyttää pienellä vaivalla koodin rivejä kommentoimalla ja sisentämällä. Huom! Edelleen syytä käyttää myös kuvaavia nimiä. 3.11 3.12

Kommentit Kommentit ovat luonnollisella kielellä kirjoitettuja, ohjelman toimintaa selventäviä lauseita. Ongelma: Kuinka erottaa suoritettavaksi tarkoitetut lauseet kommenteista? Ratkaisu: Oma merkintätapa kommenteille. Kurssin pseudokoodissa kahdella kauttamerkillä (/) aloitettu rivi katsotaan kommentiksi. // Näitä rivejä ei suoriteta, koska ne // alkavat kahdella kauttamerkillä. Kommentit Kommentti liittyy yleensä seuraavaan lauseeseen tai riviin. Kommentilla voidaan kattaa joskus useampiakin lauseita tai rivejä. Algoritmin tarkoitus voidaan esittää kommenttina. // Lasketaan hypotenuusan pituus. Algoritmi Hypotenuusa // Luetaan kateetit. Lue 1. luku; Lue 2. luku; // Neliöidään. Neliöi 1. luku; Neliöi 2. luku; // Lasketaan pituus. Summaa neliöt; Ota summan neliöjuuri; // ulos käyttäjälle. ulosta neliöjuuri; 3.13 3.14 Sisentäminen Sisentäminen tarkoittaa muutaman välilyönnin sijoittamista peräkkäisten ja loogisesti yhteenkuuluvien rivien alkuun siten, että rivit alkavat samalta tasalta. Vaihtoehtoisesti rivejä voidaan sisentää tabulaattorilla, mutta tällöin koodin ulkoasu riippuu tekstieditorista. Välilyöntejä ja tabulaattoria ei saa käyttää sekaisin! Edellä Hypotenuusa-algoritmin rungon rivit on sisennetty, jotta lukijalle on selvää, että juuri sisennetyt rivit muodostavat rungon. Esimerkki: Hypotenuusan pituus Huonoa pseudokoodia: Algoritmi Hypotenuusa a lue(); b lue(); tulosta(sqrt(pow(a, 2) + pow(b, 2))); Parempaa pseudokoodia: // Lasketaan suorakulmaisen // kolmion hypotenuusan pituus. Algoritmi Hypotenuusa // Luetaan kateettien // pituudet muuttujiin. akatpit lue(); bkatpit lue(); // Neliöidään kateettien pituudet // pow-operaatiolla. akatpit2 pow(akatpit, 2); bkatpit2 pow(bkatpit, 2); // Lasketaan neliöiden summa. summa akatpit2 + bkatpit2; // Lasketaan hypotenuusan // pituus eli summan neliöjuuri. hyppit sqrt(summa); // ulostetaan näytölle. tulosta(hyppit); 3.15 3.16

Ohjausrakenteet Päätöksiin ja toistoon liittyvä logiikka voidaan esittää niin sanotuilla ohjausrakenteilla (valinta- ja toistorakenteet), jotka ovat tietyn muotoisia lauseita. Pseudokoodin ohjausrakenne koostuu: Javan kieliopin mukaisesta englanninkielisestä sanasta, joka kertoo mikä rakenne on kyseessä. Kaarisulkujen (( )) sisään sijoitetusta ehdosta, joka saa joko totuusarvon tosi (true, ) tai epätosi (false, ). Yhdestä tai useammasta ohjausrakenteeseen liittyvästä, lauseesta, jotka suoritetaan vain, jos ehto on tosi. Ohjausrakenteet Rakenteelle varattu sana ja rakenteen ehto kirjoitetaan samalle riville. Rakenteeseen liittyvät lauseet alkavat seuraavalta riviltä. Usean lauseen (n > 1) liittyminen ilmaistaan kokoamalla yksittäiset lauseet kootuiksi lauseiksi aaltosulkeiden ({ ) avulla. sana (ehto) lause 1; sana (ehto) { lause 1; Pseudokoodin rakennetta selkeytetään sisentämällä kootun lauseen sisältö. Koottua lausetta ei päätetä puolipisteellä. 3.17 3.18 Ohjausrakenteet Valintarakenteet Ohjausrakenteet voivat olla sisäkkäisiä. sana (ehto) { lause 1; sana (ehto) { lause m; Myös toiseen rakenteeseen sisältyvän rakenteen koottu lause sisennetään. Ohjausrakenteet ovat äärimmäisen ilmaisuvoimaisia: Peräkkäisyyteen lisätty valinta ja toisto riittävät minkä tahansa laskettavissa olevan tehtävän ratkaisuun! Valintarakenteilla ilmaistaan formaalisti, kuinka algoritmin suoritus voi haarautua ehdosta riippuen. ässä tärkein työkalu on if-lause, jolla kuvataan mitä täytyy tehdä, jos lauseen ehto on tosi. If-lauseen laajennos, if--lause, kuvaa kuinka algoritmi toimii, kun ehto on tosi ja epätosi. If-lause kuvaa yksi- ja -lause kaksihaaraista päätöstä. Sisäkkäisillä valintarakenteilla voidaan kuvata näitä monimutkaisempia päätöksiä. 3.19 3.20

Valintarakenteet: if-lause Valintarakenteet: if-lause Kuvaa yksittäisen päätöshaaran: lauseet suoritetaan vain ehdon toteutuessa. Sulkujen sisällä olevan ehto (esim. painava esine tai paino > 50 ) palauttaa totuusarvon true toteutuessaan. Huom! Jos n = 1, voidaan aaltosulkeet jättää pois. Yleisesti: if (ehto) { ehto if (painava esine) Kilauta kaverille; paino>50 Algoritmi Keitäeetä if (teepussit lopussa) Osta teepusseja; Kuumenna pannullinen vettä; Laita teepusseja pannuun; Hauduta 2-3 minuuttia; Ota teepussit pannusta; Osta teepusseja eepussit lopussa? Kuumenna pannullinen vettä Laita teepusseja pannuun Hauduta 2-3 minuuttia Ota teepussit pannusta 3.21 3.22 Valintarakenteet: if--lause Kuvaa kaksihaaraisen päätöksen. Lauseet suoritetaan vaihtoehtoisesti: ehdon ollessa tosi suoritetaan if-osa, muuten -osa. Huom! Jos n = 1 tai m = 1, voidaan aaltosulkeet jättää pois. Yleisesti: if (ehto) { { lause m; ehto if (painava esine) Kilauta kaverille; Ala kiskoa; Valintarakenteet: if--lause Algoritmi Keitäeetä if (teepussit lopussa) Osta teepusseja; { Huokaise helpotuksesta; Laita ostoslistalle; Ota teepussit pannusta; Osta teepusseja eepussit lopussa? Kuumenna pannullinen vettä Huokaise helpotuksesta Laita ostoslistalle 3.23 3.24

Sisäkkäiset valintarakenteet Sisäkkäiset valintarakenteet if- ja if-lauseita voidaan yhdistää monimutkaisemmiksi valinnoiksi. -osa liittyy aina lähimpään vapaaseen ifosaan. Sisennys auttaa sisäkkäisyyden ymmärtämistä. Algoritmi PolttaaPolttaa lämpö lue(); if (lämpö > 15) if (lämpö < 25) tulosta("sopiva!"); tulosta("alkaa olla liian kuuma!"); tulosta("alkaa olla liian kylmä!"); // Sanotaan luku sisäkkäisillä // if- lauseilla. Algoritmi SanoLukujaA numero lue(); if (numero = 1) tulosta("yksi!"); if (numero = 2) tulosta("kaksi!"); if (numero = 3) tulosta("kolme!"); tulosta("en osaa!"); // Sanotaan luku peräkkäisillä // if-lauseilla. Algoritmi SanoLukuB numero lue(); if (numero = 1) tulosta("yksi!"); if (numero = 2) tulosta("kaksi!"); if (numero = 3) tulosta("kolme!"); if (numero < 1) tulosta("en osaa!"); if (numero > 3) tulosta("en osaa!"); 3.25 3.26 oistorakenteet oistorakenteilla formalisoidaan toistuva suoritus. oisto voidaan ilmaista yhtäpitävästi while-, do-while- tai forlauseilla, mutta yleensä jokin näistä on tietyssä tilanteessa luonnollisempi kuin toiset. oistorakennetta kutsutaan lyhyesti silmukaksi. Silmukan suoritusta ohjataan usein laskurimuuttujalla, jonka avulla pysytään selvillä siitä, monesko kierros on meneillään. Myös lippumuuttujia käytetään ohjaukseen. Virheellinen logiikka voi johtaa silmukan loputtomaan toistoon (ikuinen silmukka). oistorakenteet: while-lause Yleisesti: while (ehto) { ehto Lauseita suoritetaan niin kauan kuin ehto on tosi. Suoritus on esiehtoinen, koska ehto on lauseen alussa. Voi siis olla, että ehto on epätosi jo lauseeseen tultaessa. ällöin while-lause ohitetaan. while (jaksat) Lue tenttiin; 3.27 3.28

oistorakenteet: while-lause Algoritmi Heippa1 // Alustetaan laskuri. i 0; // Luetaan toistojen lkm. lkm lue(); // Silmukoidaan lkm kertaa. while (i < lkm) { tulosta("heippa!"); i i + 1; i 0 lkm lue() i < lkm tulosta ("Heippa") i i + 1 oistorakenteet: do-while-lause Yleisesti: do { while (ehto); ehto do { Lue tenttiin; while (jaksat); Jälkiehtoinen toisto: Lauseet suoritetaan ainakin kerran, mikäli tätä ei estetä valintarakenteella. Yhdistettyä lausetta ei voi poistaa, kun n = 1. 3.29 3.30 oistorakenteet: do-while-lause Algoritmi Heippa2 // Alustetaan laskuri. i 0; // Luetaan toistojen lkm. lkm lue(); // Silmukoidaan, jos tarpeen. if (lkm > 0) do { tulosta("heippa!"); i i + 1; while (i < lkm); i 0 lkm lue() lkm > 0 tulosta ("Heippa") i i + 1 i < lkm oistorakenteet: for-lause for (laskurin alustus; ehto; laskurin päivitys) { Lauseiden toisto laskurimuuttujan avulla. Kätevä, kun toistojen lukumäärä tiedetään. Voidaan korvata helposti while-lauseella. Huom! Jos n = 1, aaltosulkeet voidaan jättää pois. 3.31 3.32

oistorakenteet: for-lause oistorakenteet: for-lause Alusta laskuri ehto... Päivitä laskuri Algoritmi Heippa3 lkm lue(); for (i 0; i < lkm; i i+1) tulosta("heippa!"); lkm lue() i 0 Ensin: Alustetaan laskuri ja tarkistetaan ehto. Sitten: Jos ehto oli tosi, niin suoritetaan lauseet ja päivitetään laskuria, kunnes ehto on epätosi. Olkoon lkm = 3. Suoritus: i i < 3 Mitä tehdään? 0 true Alustus, 1. kierros 1 true 2. kierros 2 true 3. kierros 3 false Lopetetaan suoritus i < lkm tulosta ("Heippa") i i + 1 3.33 3.34 Esimerkki: Oven avaaminen // Aikaisemmin vuokaavion // avulla esitetty algoritmi // oven avaamiseen // pseudokoodina. Algoritmi AvaaOvi // Alustetaan avauskulmaa // esittävä muuttuja. kulma 0; // Otetaan kahvasta kiinni. tartu(kahva); // Ovi vedettävää mallia. if (vedettävä(ovi)) // Vedetään kunnes auki. while (kulma < 70º) vedä(kahva); // Ovi työnnettävää mallia // yönnetään kunnes auki. while (kulma > -70º) työnnä(kahva); Esimerkki: Keskiarvon laskeminen // Keskiarvoalgoritmi tarkempana // pseudokoodina. Algoritmi LaskeKeskiarvo // Alustetaan muuttujia. summa 0; i 1; // Luetaan lukujen lukumäärä. lkm lue(); // Luetaan luvut silmukassa. while (i lkm) { x lue(); summa summa + x; i i + 1; // Voitiin laskea keskiarvo. if (lkm > 0) { ka summa / lkm; tulosta(ka); // Lukuja ei luettu. tulosta("ei lukuja!"); 3.35 3.36

Kertaus Koodi jaetaan lauseiksi välimerkillä. Sisentäminen ja kommentointi tärkeää. Ohjausrakenteilla peräkkäisyyteen liitetään valintoja ja toistoa. Valinta: if- ja if-. oisto: while, do-while ja for. Näillä tiedoilla voidaan tehdä pieniä ohjelmia - nyt pitäisi opetella kuinka tämä tapahtuu käytännössä Java-kielellä. 3.37