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 toistaminen silmukalla. Esimerkkejä.

3 Vuokaaviot Alku ja loppu Toiminto Päätös
Graafinen kieli algoritmien kuvaamiseen. Muodostetaan yhdistelemällä symboleja suuntajanoilla (nuolilla). Symboli sisältää joko vapaamuotoisena tekstinä tai muuttujien ja operaatioiden avulla kuvatun algoritmin vaiheen. Kaavio suoritetaan (ajetaan) seuraamalla nuolia alkusymbolista alkaen ja loppusymboliin päätyen. Alku ja loppu Toiminto Päätös Suuntajana

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. Alku Loppu Huom! Tämä on kaikista yksinkertaisin vuokaavio.

5 Oven avaaminen (versio 1)
Esitetään AvaaOvi-algoritmi vuokaavioina. Ensimmäisessä versiossa algoritmin vaiheet kuvataan peräkkäisissä vaiheissa vapaa-muotoisena tekstinä. Toisessa versiossa avaaminen on kuvattu silmukan avulla. Alku Loppu K E Tartu kahvaan Vedettävä malli? Työnnä kahvasta Vedä kahvasta

6 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ä- (K) ja ei- (E) päätöksiä. Loppu Alku K E ...

7 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 K E ...

8 Silmukka ... Usein on tarpeen suorittaa uudelleen vuokaavion osa. Tämä onnistuu silmukan avulla. Koostuu päätöksestä, joka yhdistetään nuolella toistettavaan vuokaavion osaan, josta piirretään nuoli takaisin päätökseen. Päätös sijoitetaan usein siten, että se on silmukan ensimmäiseksi suoritettava osa. Toisinaan on luontevampaa sijoittaa päätös silmukan loppuun. 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 Oven avaaminen (versio 2)
Algoritmin toiseen versioon on lisätty silmukat, joissa ovea joko vedetään tai työnnetään kahvasta kunnes ovi on auki. Kolmas versio on tarkempi – siinä käytetään muuttujia ja operaatioita. Alku Loppu K E Tartu kahvaan Vedettävä malli? Avattava lisää? Työnnä kahvasta Vedä kahvasta

10 Oven avaaminen (versio 3)
Muuttuja kulma[-90º,90º] on oven ja seinän välinen kulma: Lisäksi käytetään muuttujia ovi ja kahva, joita käsitellään tartu-, vedettävä-, vedä- ja työnnä-operaatioilla. Alku Loppu K E tartu(kahva) vedettävä(ovi) kulma > -70º työnnä(kahva) < 70º vedä(kahva) kulma ← 0 kulma

11 Keskiarvon laskeminen
Kuvataan keskiarvon laskeminen vuokaaviolla. Lue luvut Tulosta keskiarvo Laske Alku Loppu Lukujen lukemiseen ja summan laskemiseen tarvitaan silmukka. Voi myös olla, että lukuja ei anneta. Tähän täytyy varautua. Laske keskiarvo Alku Loppu Lisätään luku- ja tulostustoiminnot

12 Keskiarvon laskeminen
Kaaviosta ei käy vielä ilmi laskemisen logiikka kuten keskiarvon kaavasta: Kuinka toteuttaa silmukka? Kuinka määritellä Laske-laatikon sisältö tarkemmin? Kaavaa vastaavaan esitystarkkuuteen päästään vain muuttujien avulla. Lisää lukuja? Lue luku Tulosta ilmoitus Laske Alku Loppu Lukuja? K E Tulosta keskiarvo Summaa

13 Keskiarvon laskeminen
Otetaan käyttöön muuttujat: x on luettu luku (termi xi), i on laskuri, josta selviää monesko silmukan kierros on meneillään (termin indeksi), summa vastaa lukujen summaa (Σxi), lkm vastaa lukujen lukumäärää (indeksin yläraja n) ja ka on lukujen keskiarvo ( ). Huom! Silmukka voidaan toteuttaa usealla eri tavalla. Oletetaan nyt, että lukujen lukumäärä voidaan selvittää ennen silmukan aloitusta.

14 Keskiarvon laskeminen
i ≤ lkm x ← lue() tulosta(″Ei lukuja!″) ka ← summa / lkm Alku Loppu lkm > 0 K E tulosta(ka) lkm ← lue() summa ← 0 summa ← summa + x i ← i + 1 i ← 1

15 Pohdintaa Vuokaavioiden hyötyjä: Ongelmia:
Helposti ymmärrettäviä ja intuitiivisia. Soveltuvat monimutkaistenkin algoritmien esittämiseen. Ongelmia: Graafinen esitys poikkeaa paljon useimmista ohjelmointikielistä. Algoritmin tarkentaminen kasvattaa kaaviota nopeasti. Kaavioiden piirtäminen työlästä.


Lataa ppt "2. Vuokaaviot."

Samankaltaiset esitykset


Iklan oleh Google