Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuLiisa Virtanen Muutettu yli 9 vuotta sitten
1
@ Leena Lahtinen Helia 10.1.2006 Ohjelman perusrakenteet 1. PERÄKKÄISRAKENNE 2. VALINTARAKENNE 3. TOISTORAKENNE
2
@ Leena Lahtinen Helia 10.1.2006 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
3
@ Leena Lahtinen Helia 10.1.2006 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
4
@ Leena Lahtinen Helia 10.1.2006 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
5
@ Leena Lahtinen Helia 10.1.2006 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ä
6
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE YKSINKERTAINEN EHTO (lampotila > 0) (lukumaara = = 100) (luku1 < luku2) (a >= b) tosi ja epätosi tilanteet on suoraan ymmärrettävissä
7
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE UML –toimintakaavion symbooli: EHTO [lampotila > 0] TULOSTA ”Ei pakkasta” TOSI EPÄTOSI
8
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE Edellinen Javalla: if ( lukumaara = = 100) { y = y + 1 ; tosi-osan lohko } Huom ! lohkosulut { ja } !
9
@ Leena Lahtinen Helia 10.1.2006 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
10
@ Leena Lahtinen Helia 10.1.2006 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 }
11
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE YHDISTETTY EHTO ehto koostuu useasta (2 – 3) kysymyksestä yhdistetyn ehdon loogiset operaattorit: JA TAI
12
@ Leena Lahtinen Helia 10.1.2006 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ä 1981-1989 koko ehto on epätosi kahdessa tilanteessa: muuttujan arvo on 1980 tai pienempi muuttujan arvo on 1990 tai suurempi
13
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE YHDISTÄVÄ SANA -> JA (&&) Edellinen Javalla: if (syntvuosi > 1980 && syntvuosi < 1990) { a = 0; c = 100 ; }
14
@ Leena Lahtinen Helia 10.1.2006 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
15
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE YHDISTÄVÄ SANA -> JA (&&) Edellinen Javalla: if (hinta > 55.95 && laji = = 1) { ale = 5 ; summa = 0 ; } else { ale = 10 ; laskuri -- ; }
16
@ Leena Lahtinen Helia 10.1.2006 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
17
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE YHDISTÄVÄ SANA -> TAI ( || ) Edellinen Javalla: if (kappale = = 10 || kappale >= 150) { summa = 0 ; a = 10 ; }
18
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE YHDISTÄVÄ SANA -> TAI (saldo < 0 TAI luottoraja < 1000.00) 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
19
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE YHDISTÄVÄ SANA -> TAI ( || ) Edellinen Javalla: if (saldo < 0 || luottoraja < 1000.00) { summa = 0 ; a ++ ; }
20
@ Leena Lahtinen Helia 10.1.2006 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
21
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE YHDISTETTYJÄ EHTOJA Edellinen Javalla: if ((vuosi >= 2000 && vuosi < 2003) || kpl = = 1) { alku = 10 ; summa = 0 ; }
22
@ Leena Lahtinen Helia 10.1.2006 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
23
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE Sisäkkäinen valintarakenne ehdon kysymykset hajoitetaan useampaan kysymykseen yhteen kuuluvista kokonaisuuksista tehdään oma ehtolauseke
24
@ Leena Lahtinen Helia 10.1.2006 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ä
25
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE seuraava lauseke tulisi tehdä sisäkkäisillä valintarakenteilla esimerkki Javalla: if (((a d) { luku = 5 ; } else { luku = 10 ; }
26
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE Edellinen Javalla sisäkkäisinä rakenteina: if (a d) { luku = 5 ; } else { luku = 10 ; } }
27
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE Erilaiset valintarakenteet: 1. if.. 2. if.. else.. 3. if.. else if.. 4. switch 5. ehto ? :
28
@ Leena Lahtinen Helia 10.1.2006 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
29
@ Leena Lahtinen Helia 10.1.2006 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ää”) ;
30
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE SWITCH - rakenne käytetään moni valinnassa ehtomuuttujalla on useita eri arvoja, joilla ehto on tosi korvaa if - valintarakenteen saadaan selkeämpi kokonaisuus
31
@ Leena Lahtinen Helia 10.1.2006 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
32
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE UML – kaavion esitystapa: [luku = = 2] [luku = = 5] a ++ ; b ++ ; a ++ ; muut ++ ; break; [luvun muut arvot]
33
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE Edellinen Javalla ja switch - rakenteena: switch (luku) { case 2: a++ ; break ; case 5: b++ ; break ; default: muut ++ ; }
34
@ Leena Lahtinen Helia 10.1.2006 VALINTARAKENNE edellinen esimerkki Javalla, kun käytetään else if – rakennetta: if (luku == 2) a++ ; else if (luku == 5) b++ ; else muut ++ ;
35
@ Leena Lahtinen Helia 10.1.2006 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
36
@ Leena Lahtinen Helia 10.1.2006 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) ;
Samankaltaiset esitykset
© 2023 SlidePlayer.fi Inc.
All rights reserved.