@ Leena Lahtinen Helia 10.1.2006 Ohjelman perusrakenteet 1. PERÄKKÄISRAKENNE 2. VALINTARAKENNE 3. TOISTORAKENNE.

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

Testaus ja testausympäristöt
15. Loogiset operaatiot.
Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
@ Leena Lahtinen Helia TIETO JA TIETOKONEOHJELMA  TIETOKONEOHJELMA KÄSITTELEE TIETOJA  TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
JavaScript (c) Irja & Reino Aarinen, 2007
3. Pseudokoodi.
Ohjelman perusrakenteet
1 Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra.
Rakenteinen ohjelmointi
Sovellusohjelman suunnittelu & toteutus
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Toistolauseet
© Jukka Harju, Jukka Juslin1 Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Ehto- ja toistolauseet.
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ VARTEN.
@ Leena Lahtinen Helia OHJELMOINTITAITO ICT02D 12 OP.
Poikkeuskäsittely- lohkot tMyn1 Poikkeuskäsittelylohkot try-catch Poikkeustilanteiden käsittelymekanismi toteutetaan varatuilla sanoilla try, throw ja.
Ehto- ja toistolauseet
16. Lohkot Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat.
© Jukka Harju, Jukka Juslin Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 9 Poikkeuskäsittely.
Toiston tekeminen Javalla  Mikä toistorakenne on?  while toistorakenne  do-while toistorakenne  for toistorakenne 1.
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
TAULUKKO YKSIULOTTEINEN TAULUKKO. TAULUKKO  Taulukon tarkoitus Ohjelmassa tarvitaan paljon samantyyppisiä samaan kohdealueeseen kuuluvia muuttujia Näitä.
Ohjelman perusrakenteet
2. Vuokaaviot.
Pseudokoodi Tietokoneohjelmien perusidea:
13. Hyvä ohjelmointitapa (osa 1)
© Jukka Harju, Jukka Juslin
1.a) f(x) = 2x(x2 – 3) = 0 2x = tai x2 – 3 = 0 x = tai x2 = 3
ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.
String-vertailusta ja Scannerin käytöstä (1/2)
Metodit – Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin ”return;”-lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua.
11. Javan toistorakenteet
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
@ Leena Lahtinen Toistorakenne Ohjelmassa toistetaan tiettyjä toimenpiteitä monta kertaa peräkkäin Toisto noudattaa sille kuuluvia tarkkoja standardoituja.
@ Leena Lahtinen TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA:  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ.
Aakkosnumeerinen tieto Tarkoittaa kaikkea muuta tietoa paitsi laskentaan tarkoitettuja lukuja Muuttujan tietosisältö on siis tekstitietoa Muuttujan tietotyypiksi.
Visual Basic -ohjelmointi
Kontrollirakenteet laajemmin
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Funktio.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Valintarakenne valintarakenne alkaa aina kysymyksellä eli ehdolla ehto tarkoittaa, että muuttujan sisältöä verrataan toisen muuttujan sisältöön tai vakioon.
Ohjelmassa tänään Ohjelmointimallit Pseudokieli Modulaarisuus.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Matematiikkaa 3a, Kertausjakso Lukuja © Varga–Neményi ry 2016
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
13. Loogiset operaatiot.
OHJELMOINTITAITO ICT02D 12 Leena Lahtinen Helia
if-else -vertailulause
Aakkosnumeerinen tieto
Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)
do-while -toistolause
9. Aritmeettiset operaatiot
10. Javan ohjausrakenteet
16. Ohjelmoinnin tekniikkaa
14. Hyvä ohjelmointitapa.
Aakkosnumeerinen tieto
11. Javan valintarakenteet
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
OHJELMOINTITAITO ICT02D 12 Leena Lahtinen Helia
Kontrollirakenteet laajemmin
13. Loogiset operaatiot.
Ohjelman perusrakenteet
16. Ohjelmoinnin tekniikkaa
Esityksen transkriptio:

@ Leena Lahtinen Helia Ohjelman perusrakenteet 1. PERÄKKÄISRAKENNE 2. VALINTARAKENNE 3. TOISTORAKENNE

@ Leena Lahtinen Helia Ohjelman perusrakenteet  1. PERÄKKÄISRAKENNE  koko ohjelman toiminta on peräkkäinen  kaikki ohjelman toiminnot suoritetaan loogisesti peräkkäin  kerran tehtyä toimintoa ei voi enää peruuttaa  ohjelman kulkua ei voi eikä pidä ohjata takaisin ohjelman alkuun päin

@ Leena Lahtinen Helia VALINTARAKENNE  2. VALINTARAKENNE  valintarakennetta käytetään ohjelmassa vaihtoehtoisten toimintojen suorittamiseen  ehdon jälkeen ohjelman kulku haarautuu kahteen vaihtoehtoiseen kulkusuuntaan, joista aina vain toinen suoritetaan

@ Leena Lahtinen Helia VALINTARAKENNE  valintarakenne alkaa aina kysymyksellä eli ehdolla  kysymys eli ehtolauseke on aina sulkujen sisällä  ehtolausekkeella on aina kaksi vastausta:  tosi  epätosi  perustoiminta tiedon vertailu tarkoittaa samaa asiaa eli valinrakennetta

@ Leena Lahtinen Helia VALINTARAKENNE  Ehdon totuustilan sääntöjä  Tosi:  ehto pitää rakentaa niin, että tosi osaan tulee aina toimenpiteitä  tosi osa sisältää aina 1 - n. kpl toimenpiteitä  Epätosi:  voi puuttua eli se ei sisällä yhtään toimenpidettä (0 kpl)  tai sisältää 1 - n. kpl toimenpiteitä

@ Leena Lahtinen Helia VALINTARAKENNE  YKSINKERTAINEN EHTO  (lampotila > 0)  (lukumaara = = 100)  (luku1 < luku2)  (a >= b)  tosi ja epätosi tilanteet on suoraan ymmärrettävissä

@ Leena Lahtinen Helia VALINTARAKENNE UML –toimintakaavion symbooli: EHTO [lampotila > 0] TULOSTA ”Ei pakkasta” TOSI EPÄTOSI

@ Leena Lahtinen Helia VALINTARAKENNE  Edellinen Javalla: if ( lukumaara = = 100) { y = y + 1 ; tosi-osan lohko } Huom ! lohkosulut { ja } !

@ Leena Lahtinen Helia VALINTARAKENNE  LOHKOSULKUJEN KÄYTTÖ  lohko muodostetaan aina aaltosulkeilla eli lohkon toiminnat ovat aaltosulkeiden sisällä  lohkon aloittaa vasen aaltosulku { ja sen lopettaa oikea aaltosulku }  tosi–osasta tehdään oma lohko  epätosi–osasta tehdään oma lohko

@ Leena Lahtinen Helia VALINTARAKENNE Esimerkki Javalla, jossa on mukana kaksi lohkoa: if ( lukumaara = = 100) { y = y + 1 ; x = 5 ; tosi - lohko } else { y = y – 1 ; a = b / 7 ; epätosi – lohko }

@ Leena Lahtinen Helia VALINTARAKENNE YHDISTETTY EHTO  ehto koostuu useasta (2 – 3) kysymyksestä  yhdistetyn ehdon loogiset operaattorit:  JA  TAI

@ Leena Lahtinen Helia VALINTARAKENNE YHDISTÄVÄ SANA - > JA (syntvuosi > 1980 JA syntvuosi < 1990)  Ehdossa yksi muuttuja, syntvuosi  koko ehto on tosi vain silloin:  kun syntvuosi - muuttujan arvoalue on väliltä  koko ehto on epätosi kahdessa tilanteessa:  muuttujan arvo on 1980 tai pienempi  muuttujan arvo on 1990 tai suurempi

@ Leena Lahtinen Helia VALINTARAKENNE YHDISTÄVÄ SANA -> JA (&&)  Edellinen Javalla: if (syntvuosi > 1980 && syntvuosi < 1990) { a = 0; c = 100 ; }

@ Leena Lahtinen Helia VALINTARAKENNE YHDISTÄVÄ SANA -> JA (hinta > 55,95 JA laji = = 1)  Ehdossa kaksi muuttujaa, hinta ja laji  koko ehto on tosi vain silloin:  kun molempiin ehtoihin tulee vastaus tosi eli  hinta on suurempi kuin 55,96 ja laji on yksi  koko ehto on epätosi:  jos jompi kumpi ehdoista on epätosi tai molemmat ehdot ovat epätosia

@ Leena Lahtinen Helia VALINTARAKENNE YHDISTÄVÄ SANA -> JA (&&)  Edellinen Javalla: if (hinta > && laji = = 1) { ale = 5 ; summa = 0 ; } else { ale = 10 ; laskuri -- ; }

@ Leena Lahtinen Helia VALINTARAKENNE YHDISTÄVÄ SANA -> TAI (kappale = = 10 TAI kappale >= 150)  Ehdossa yksi muuttuja, kappale  koko ehto on tosi kahdessa eri tilanteessa:  vain ensimmäinen ehto on tosi  vain toinen ehto on tosi  koko ehto on epätosi:  kun molemmat ehdot ovat epätosia

@ Leena Lahtinen Helia VALINTARAKENNE YHDISTÄVÄ SANA -> TAI ( || )  Edellinen Javalla: if (kappale = = 10 || kappale >= 150) { summa = 0 ; a = 10 ; }

@ Leena Lahtinen Helia VALINTARAKENNE YHDISTÄVÄ SANA -> TAI (saldo < 0 TAI luottoraja < )  Ehdossa kaksi muuttujaa saldo ja luottoraja  koko ehto on tosi kolmessa eri tilanteessa:  vain ensimmäinen ehto on tosi  vain jälkimmäinen ehto on tosi  molemmat ehdot ovat tosia  koko ehto on epätosi silloin:  kun molemmat ehdot ovat epätosia

@ Leena Lahtinen Helia VALINTARAKENNE YHDISTÄVÄ SANA -> TAI ( || )  Edellinen Javalla: if (saldo < 0 || luottoraja < ) { summa = 0 ; a ++ ; }

@ Leena Lahtinen Helia VALINTARAKENNE  YHDISTETTYJÄ EHTOJA ((vv >= 2000 JA vv < 2003) TAI koodi = = 1)  sulkujen käyttö suositeltavaa  koko ehto on tosi tilanteissa:  jos vv on väliltä 2000 – 2002  tai koodi on 1  tai molemmat edellä mainitut ehdot ovat tosia  koko ehto on epätosi:  muuttujien muilla arvoilla

@ Leena Lahtinen Helia VALINTARAKENNE YHDISTETTYJÄ EHTOJA Edellinen Javalla: if ((vuosi >= 2000 && vuosi < 2003) || kpl = = 1) { alku = 10 ; summa = 0 ; }

@ Leena Lahtinen Helia VALINTARAKENNE  Yhdistetyn ehdon sääntöjä:  ehtoon ei pidä laittaa liikaa kysymyksiä  suositus on yhdestä kolmeen (2 -3)  jos ehtoja on likaa, on hyvin vaikeaa mieltää milloin koko ehto on tosi ja milloin se on epätosi  useiden ehtojen sijaan käytä sisäkkäisiä ehtoja eli sisäkkäisiä valintarakenteita

@ Leena Lahtinen Helia VALINTARAKENNE  Sisäkkäinen valintarakenne  ehdon kysymykset hajoitetaan useampaan kysymykseen  yhteen kuuluvista kokonaisuuksista tehdään oma ehtolauseke

@ Leena Lahtinen Helia VALINTARAKENNE  Sisäkkäinen valintarakenne  ehdon tosi-osa samoin kuin epätosi- osa voi siis sisältää edelleen valintarakenteita  sisäkkäiset valintarakenteet ovat teknisesti täysin samanlaisia kuin valintarakenne yleensä

@ Leena Lahtinen Helia VALINTARAKENNE  seuraava lauseke tulisi tehdä sisäkkäisillä valintarakenteilla  esimerkki Javalla: if (((a d) { luku = 5 ; } else { luku = 10 ; }

@ Leena Lahtinen Helia VALINTARAKENNE  Edellinen Javalla sisäkkäisinä rakenteina: if (a d) { luku = 5 ; } else { luku = 10 ; } }

@ Leena Lahtinen Helia VALINTARAKENNE  Erilaiset valintarakenteet: 1. if.. 2. if.. else.. 3. if.. else if.. 4. switch 5. ehto ? :

@ Leena Lahtinen Helia VALINTARAKENNE  Usean arvon vertailu eli monivalinta ja raja-arvojen vertailu  Arvojen tehokas vertailu:  jokaisesta raja-arvosta tehdään yksi kysymys eli ehto  ei käytetä yhdistettyjä ehtoja  UML – kaaviossa oma esitystapansa  Javalla käytetään else if – muotoa tai switch - muotoa

@ Leena Lahtinen Helia VALINTARAKENNE if… else if – rakenne  esimerkki Javalla : Huom! vertailtavat arvot etenevät pienemmästä suurempaan. if (lampotila < -10) System.out.println (”Liikaa pakkasta”) ; else if (lampotila < 0) System.out.println (”Sopiva pakkanen”) ; else if (lampotila < 15) System.out.println (”Keväinen sää”) ; else if (lampotila < 25) System.out.println (”Kesäinen sää”) ; else System.out.println (”Helteinen sää”) ;

@ Leena Lahtinen Helia VALINTARAKENNE  SWITCH - rakenne  käytetään moni valinnassa  ehtomuuttujalla on useita eri arvoja, joilla ehto on tosi  korvaa if - valintarakenteen  saadaan selkeämpi kokonaisuus

@ Leena Lahtinen Helia VALINTARAKENNE  rakenne alkaa sanalla switch  sen jälkeen tulee suluissa ehtomuuttuja, johon voi liittyä myös esim. laskukaava  tämän jälkeen luetellaan kaikki ne ehtomuuttujan arvot, joilla ehto on tosi  lopussa voi olla lisäksi epätosi

@ Leena Lahtinen Helia VALINTARAKENNE  UML – kaavion esitystapa: [luku = = 2] [luku = = 5] a ++ ; b ++ ; a ++ ; muut ++ ; break; [luvun muut arvot]

@ Leena Lahtinen Helia VALINTARAKENNE  Edellinen Javalla ja switch - rakenteena: switch (luku) { case 2: a++ ; break ; case 5: b++ ; break ; default: muut ++ ; }

@ Leena Lahtinen Helia VALINTARAKENNE  edellinen esimerkki Javalla, kun käytetään else if – rakennetta: if (luku == 2) a++ ; else if (luku == 5) b++ ; else muut ++ ;

@ Leena Lahtinen Helia VALINTARAKENNE  Ehto ? : - rakenne  muuttuja = ((ehto) ? arvo : arvo)  rakenne koostuu neljästä osasta:  muuttuja, johon sijoitetaan kysymyksen tuloksena tuleva arvo (sijoitus)  ehto suluissa  ? – merkin jälkeen tosi–arvo  : – merkin jälkeen epätosi-arvo  Käytetään harvoin

@ Leena Lahtinen Helia VALINTARAKENNE  Edellisen ehdon esimerkki tapaus:  Jos laskuri on suurempi kuin 10, kpl – muuttuja saa arvokseen luvun 5, muuten arvon 0.  Javalla: kpl = ((laskuri > 10) ? 5 : 0) ;