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



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

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

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

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

etunimi, sukunimi ja opiskelijanumero ja näillä

3. Muuttujat ja operaatiot 3.1

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


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

12. Javan toistorakenteet 12.1

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

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

3. Muuttujat ja operaatiot 3.1

12. Javan toistorakenteet 12.1

11. Javan toistorakenteet 11.1

Algoritmit 1. Demot Timo Männikkö

58131 Tietorakenteet ja algoritmit (syksy 2015)

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Ohjelmoinnin perusteet Y Python

Esimerkki 1: Kahviautomaatti.

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Ehto- ja toistolauseet

Vektorit. Kertausta Seppo Lustig (Lähde: avoinoppikirja.fi)

KOJELAUTA MITTARISTO. A Nopeusmittari B Polttoainemittari C Moottorin lämpömittari D Kierroslukumittari E Monitoiminäyttö (perus/laajennettu)

Algoritmit 1. Demot Timo Männikkö

Sisällysluettelo ESIPUHE 1. PAINOKSEEN... 3 ESIPUHE 2. PAINOKSEEN... 3 SISÄLLYSLUETTELO... 4

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

Ohjelmoinnin peruskurssi Y1

Zeon PDF Driver Trial

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

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Museokartta Katselukäyttäjän ohje , päivitetty Ohjeen sijainti: Intra/Ohjeet/Kulttuuriympäristö/Paikkatieto ohjeet

Ohjelmoinnin perusteet Y Python

Metsämuuronen: Tilastollisen kuvauksen perusteet ESIPUHE... 4 SISÄLLYSLUETTELO METODOLOGIAN PERUSTEIDEN KERTAUSTA AINEISTO...

Tynnyrisaunan asennusohje (1013)

PERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2

RAKENNUSAKUSTIIKKA - ILMAÄÄNENERISTÄVYYS

Vaasan yliopisto (11) Tietotekniikan ja tuotantotalouden kandidaattiohjelma Valintakoe

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

PERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2 3

Lukujonon raja-arvo 1/7 Sisältö ESITIEDOT: lukujonot

Ohjeita uuden Sikavan käyttöön lääkekirjanpidossa

KOODAUSPLÄJÄYS. Ohjelmoinnin perusteet

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

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

Tietotyypit ja operaattorit

Muuttujien roolit Kiintoarvo cin >> r;

Harjoitustyö: virtuaalikone

Lue minut ensin! DM50 Series (K00 series) Pika-asennusohje. Uusi postimaksukoneenne on suunniteltu siten, että voit asentaa laitteen itse.

Aurinkopaneelin lataussäädin 12/24V 30A. Käyttöohje

Lineaarialgebra MATH.1040 / voima

PERUSLASKUJA. Kirjoita muuten sama, mutta ota KAKSI välilyöntiä (SEURAA ALUEMERKINTÄÄ) 4:n jälkeen 3/4 +5^2

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

5. HelloWorld-ohjelma 5.1

Algoritmit 1. Luento 10 Ke Timo Männikkö

5. HelloWorld-ohjelma 5.1

1/6 TEKNIIKKA JA LIIKENNE FYSIIKAN LABORATORIO V

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Scratch ohjeita. Perusteet

Clifford Geertz Ø 1926 syntyy San Franciscossa

Puzzle-SM Loppukilpailu Oulu

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

Kenguru 2018 Ecolier (4. ja 5. luokka)

Excel-harjoitus 1. Tietojen syöttö työkirjaan. Taulukon muotoilu

Käyttöohje CONDUCTOR

ECDL Tietokannat. Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7

Ohjelmoinnin perusteet Y Python

4 Matemaattinen induktio

YKSIVÄRINEN JA RAIDALLINEN KINNASNEULAPIPO

Ennen asennuksen aloittamista:

1 Aritmeettiset ja geometriset jonot

ELEC-C3240 Elektroniikka 2 Digitaalielektroniikka Karnaugh n kartat ja esimerkkejä digitaalipiireistä

Nopea kertolasku, Karatsuban algoritmi

PROSESSIMALLINNUS. Ari Wahlstedt, KTT

Puzzle SM Pistelasku

Yale Doorman -käyttöohje Sector Alarm -hälytysjärjestelmään yhdistetyn Yale Doorman -älylukon käyttöohje

Ohjeita. Datan lukeminen

811120P Diskreetit rakenteet

F2000 Karavaanimarkiisi

Liite: Verkot. TKK (c) Ilkka Mellin (2004) 1

Pikaohje QPR-käyttöön

Liite 2: Verkot ja todennäköisyyslaskenta

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Taljajousen hienosäätö kiinteäteräisellä leikkurilla Suomen Jousimetsästäjäin Liitto ry

Muistimoduulit Käyttöopas

Jaollisuus kymmenjärjestelmässä

Algoritmit 1. Luento 13 Ti Timo Männikkö

Tehtävä 2: Tietoliikenneprotokolla

Diskreetit todennäköisyysjakaumat. Kertymäfunktio Odotusarvo Binomijakauma Poisson-jakauma

Matematiikan tukikurssi

FORD KA KA_202054_V5_2013_Cover.indd /06/ :59

Lisää pysähtymisaiheisia ongelmia

Ohjelmoinnin perusteet Y Python

(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = =

JahtiJakt Prestige Taljajousi Asennettu ja peruskohdistettu setti

Algoritmit 2. Luento 6 Ke Timo Männikkö

LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA

SAC RDS Futurline MAX Tupla-robotin ohjeet näytteenottoon ja päivämaidon lähetykseen

Transkriptio:

2. Vuokaaviot 2.1

Sisällys aavioiden rakenne. aavioiden piirto symboleita yhdistelemällä. aavion osan toistaminen silmukalla. simerkkejä. 2.2

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

Vuokaaviot tenevä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. Huom! Tämä on kaikista yksinkertaisin vuokaavio. 2.4

Oven avaaminen (versio 1) sitetään AvaaOvialgoritmi vuokaavioina. nsimmäisessä versiossa algoritmin vaiheet kuvataan peräkkäisissä vaiheissa vapaamuotoisena tekstinä. Vedä kahvasta Tartu kahvaan Vedettävä malli? Työnnä kahvasta Toisessa versiossa avaaminen on kuvattu silmukan avulla. 2.5

Lähtevät nuolet symbolista lähtee aina vain yksi nuoli. symbolista 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ä. 2.6

Tulevat nuolet symboliin 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. alvoilla ja mallivastauksissa pyritään käyttämään selvyyden vuoksi jälkimmäistä piirtotapaa, jolloin tulevia nuolia on aina yksi. 2.7

Silmukka Usein on tarpeen suorittaa uudelleen vuokaavion osa. Tämä onnistuu silmukan avulla. oostuu 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. 2.8

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. olmas versio on tarkempi siinä käytetään muuttujia ja operaatioita. Avattava lisää? Vedä kahvasta Tartu kahvaan Vedettävä malli? Avattava lisää? Työnnä kahvasta 2.9

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

eskiarvon laskeminen uvataan keskiarvon x = laskeminen vuokaaviolla. Laske keskiarvo n i= 1 x i / n Lisätään luku- ja tulostustoiminnot Lue luvut Laske Tulosta keskiarvo Lukujen lukemiseen ja summan laskemiseen tarvitaan silmukka. Voi myös olla, että lukuja ei anneta. Tähän täytyy varautua. 2.11

eskiarvon laskeminen Lisää lukuja? Lukuja? Laske Tulosta keskiarvo Lue luku Tulosta ilmoitus Summaa aaviosta ei käy vielä ilmi laskemisen logiikka kuten keskiarvon kaavasta: uinka toteuttaa silmukka? uinka määritellä Laskelaatikon sisältö tarkemmin? aavaa vastaavaan esitystarkkuuteen päästään vain muuttujien avulla. 2.12

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

eskiarvon laskeminen summa 0 lkm lue() i 1 i lkm x lue() summa summa + x i i + 1 lkm > 0 ka summa / lkm tulosta(ka) tulosta( i lukuja! ) 2.14

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