Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

2. Vuokaaviot.

Samankaltaiset esitykset


Esitys aiheesta: "2. Vuokaaviot."— Esityksen transkriptio:

1 2. Vuokaaviot

2 Sisällys Kaavioiden rakenne.
Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan valitseminen päätöksellä ja toistaminen silmukalla. Esimerkkejä: algoritmi oven avaamiseen vuokaaviona, yksikkömuunnos, peli luvun arvaukseen ja keskiarvon laskeminen.

3 Vedä kahvasta, kunnes ovi on auki
Vuokaaviot Graafinen kieli algoritmien kuvaamiseen. Ymmärrettäviä ja intuitiivisia. Soveltuvat monimutkaistenkin algoritmien esittämiseen. Muodostetaan yhdistelemällä symboleja nuolilla. Symbolissa algoritmin vaihe. Kaavio suoritetaan (ajetaan) seuraamalla nuolia alkusymbolista alkaen ja loppusymboliin päätyen. Esimerkki: Tartu kahvaan Alku Loppu Vedä kahvasta, kunnes ovi on auki Loppu Toiminto Päätös Alku

4 Vuokaaviot Etenevät yleensä ylhäältä alas ja vasemmalta oikealle:
Suunta länsimaisesta kirjoituksesta. Tilan loppuessa voi piirtää muutenkin. Aina yksi alku- ja yksi loppusymboli. Symboleista lähtevien nuolien lukumäärä on yksikäsitteinen. Symboleihin tulevien nuolien lukumäärässä tulkinnan varaa.

5 Lähtevät nuolet Alkusymbolista lähtee aina vain yksi nuoli.
Loppusymbolista ei lähde nuolia. Toimintosymbolista lähtee aina vain yksi nuoli. Päätössymbolista lähtee aina kaksi nuolta, jotka vastaavat kyllä- ja ei-päätöksiä. Loppu Alku kyllä ei ...

6 Tulevat nuolet Alkusymboliin ei tule nuolia.
Muihin symboleihin tulee aina joko yksi tai useampi nuoli. Jos symboliin tulee useampi nuoli, voidaan nuolet piirtää suoraan kiinni symboliin tai symboliin piirtää yksi nuoli, johon muut nuolet liittyvät. Kalvoilla ja mallivastauksissa pyritään käyttämään selvyyden vuoksi jälkimmäistä piirtotapaa, jolloin tulevia nuolia on aina yksi. Loppu Alku kyllä ei ...

7 Algoritmi oven avaamiseen
Algoritmia voidaan tarkentaa päätöksen avulla: päätös mahdollistaa toisensa poissulkevat algoritmin suorituslinjat. Algoritmia tarkennetaan edelleen kuvaamalla toistuvat toiminnot päätöstä hyödyntäen. Alku Loppu kyllä ei Tartu kahvaan Vedettävä malli? Työnnä kahvasta Vedä kahvasta

8 Silmukka Vuokaavion osa voidaan suorittaa silmukan (loop) avulla.
... Vuokaavion osa voidaan suorittaa silmukan (loop) avulla. Koostuu päätöksestä, joka liitetään nuolella toistettavaan vuokaavion osaan, josta palataan päätökseen joko suoraan tai epäsuorasti. Päätös sijoitetaan usein siten, että se on silmukan ensimmäiseksi suoritettava osa (esiehto). Toisinaan on luontevampaa sijoittaa päätös silmukan loppuun (jälkiehto). Silmukointi jatkuu niin kauan kuin päätös on silmukkaan johtavaan nuolen suuntainen. Jos päätös on muotoiltu virheellisesti, algoritmi saattaa joutua ikuiseen silmukkaan. ...

9 Algoritmi oven avaamiseen
Algoritmin uuteen versioon on lisätty silmukat, joissa ovea joko vedetään tai työnnetään kahvasta kunnes ovi on auki. Alku Loppu kyllä ei Tartu kahvaan Vedettävä malli? Avattava lisää? Työnnä kahvasta Vedä kahvasta

10 Yksikkömuunnos Esimerkiksi pituutta ja painoa mitataan maailmanlaajuisesti eri yksiköillä. Yksikkömuunnin on tyypillinen älylaitteista löytyvä sovellus. Ohessa on esitetty yksinkertainen algoritmi jaardeina mitatun pituuden muuttamiseksi metreiksi. Algoritmi on vuorovaikutteinen: jaardit luetaan käyttäjältä (user) ja metrit tulostetaan näytölle (screen). Alku Lue jaardit käyttäjältä Muunna jaardit metreiksi kertomalla luvulla 0,9144 Tulosta metrit näytölle Loppu

11 Peli luvun arvaukseen Peli arpoo kokonaisluvun käyttäjän tuntemalta väliltä. Käyttäjän tehtävänä on arvata lukua kunnes hän osuu oikeaan. Väärin menneen arvauksen osalta käyttäjälle kerrotaan oliko luku liian pieni tai suuri suhteessa arvattavaan lukuun. Oikeasta arvauksesta onnitellaan. Algoritmiin tarvitaan silmukka, koska on hyvin epätodennäköistä, että käyttäjä arvaa luvun heti. Jälkiehto on luonteva, koska käyttäjä arvaa aina vähintään kerran. Silmukassa luetaan arvaus ja tehdään päätöksiä, joiden avulla kerrotaan oliko arvaus mahdollisesti “ali”, “yli” tai oikein. Arpominen on tehtävä on ennen silmukkaa, jotta luvun arvaaminen on mahdollista vihjeiden avulla. 2.11 11

12 Peli luvun arvaukseen Alku Arvo arvattava luku Lue arvaus Onnittele
Liian pienestä ja suuresta arvauksesta ilmoittavista toiminnoista voitaisiin palata suoraan arvauksen lukemiseen, jolloin lukujen erisuuruutta tutkivaa päätöstä ei tarvittaisi. Päätös on mukana, koska algoritmeissa pyritään yleensä selkeyden vuoksi palaamaan silmukan alkuun vain yhtä reittiä. Älä huolestu tästä! Voit käyttää harjoitustehtävissä lyhyempää tapaa. Pitemmän ja lyhyemmän vuokaavion ero selviää, kun silmukoihin palataan Javan merkeissä. Arvaus eri suuri kuin arvattava? Lue arvaus Kerro arvauksen olevan liian pieni Alku Loppu pienempi kuin kyllä ei Onnittele käyttäjää Arvo arvattava luku olevan liian suuri suurempi kuin 2.12 12

13 Keskiarvon laskeminen
Keskiarvon laskennan tapaiset tiedon analysointiin liittyvät tehtävät on usein luontevaa toteuttaa tietokoneella. Ohjelma kommunikoi käyttäjänsä kanssa: luvut luetaan yksi kerrallaan ennen keskiarvon laskemista ja keskiarvo tulostetaan käyttäjälle. Ohjelmaan tarvitaan silmukka, jonka kullakin kierroksella luetaan luku ja lisätään luku summaan. Silmukka on esiehtoinen, koska voidaan olettaa, että lukujen lukumäärä tiedetään ennen silmukkaa. Ohjelmassa on varauduttava tilanteeseen, jossa lukumäärä on virheellinen (≤ 0). 2.13 13

14 Keskiarvon laskeminen
Lisää lukuja? Lue luku käyttäjältä Tulosta virheilmoitus Jaa lukujen summa niiden lukumäärällä Alku Loppu Lukuja? kyllä ei Tulosta keskiarvo näytölle Lisää luku summaan 2.14 14

15 Pohdintaa Vuokaavioiden ongelmia:
Graafinen esitys poikkeaa paljon useimmista ohjelmointikielistä. Algoritmin tarkentaminen kasvattaa kaaviota nopeasti. Kaavioiden piirtäminen on työlästä. Vapaamuotoisesti tekstillä kuvaillut algoritmin vaiheet ovat liian monikäsitteisiä tietokoneelle. Kuinka algoritmin esitys voidaan tarkentaa tietokoneen ymmärtämälle tasolle?


Lataa ppt "2. Vuokaaviot."

Samankaltaiset esitykset


Iklan oleh Google