1 / 24

Ohjelmassa tänään

Ohjelmassa tänään. Ohjelmointimallit Pseudokieli Modulaarisuus. Ohjelmointimallit (paradigmat). Erilaisia lähestymistapoja ohjelmointiin Imperatiivinen/proseduraalinen malli Deklaratiivinen malli Funktionaalinen malli Oliomalli. Imperatiivinen malli. Perinteinen lähestymistapa

zoltan
Download Presentation

Ohjelmassa tänään

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ohjelmassa tänään • Ohjelmointimallit • Pseudokieli • Modulaarisuus

  2. Ohjelmointimallit (paradigmat) • Erilaisia lähestymistapoja ohjelmointiin • Imperatiivinen/proseduraalinen malli • Deklaratiivinen malli • Funktionaalinen malli • Oliomalli

  3. Imperatiivinen malli • Perinteinen lähestymistapa • Ohjelma on käskyjono • Ongelman ratkaisu vaatii algoritmin

  4. Deklaratiivinen malli • Yritetään löytää yleinen ongelmanratkaisualgoritmi • Ongelma ratkaistaan muuttamalla se algoritmin vaatimaan muotoon ja soveltamalla algoritmia • Vaikeutena ratkaisualgoritmin löytäminen • Formaalinen logiikka

  5. Funktionaalinen malli • Ohjelma on kokoelma ”mustia laatikoita” • Alkeisfunktiot  funktiot • Saatavilla olevat syötteet, halutut tulosteet: mitä pitää tehdä, jotta syötteistä saadaan tulosteet

  6. Oliomalli • Tieto on aktiivisia olioita • Olio sisältää tiedon ja sen käsittelyyn tarvittavat toiminnot • Rakennuspalikka-ajattelu • Olioitten välinen kommunikointi viestejä välittämällä

  7. Pseudokieli

  8. Imperatiivinen pseudokieli • Lause, lauseke, muuttuja • Sijoituslause • Ohjausrakenteet • Modulaarisuus • Iteraatio ja rekursio

  9. Lause, lauseke, muuttuja • Muuttuja: Vastaa matematiikan muuttujaa, sen yksilöi tunnus • Lauseke: luku- tai muu arvo, viittaus muuttujaan tai laskutoimitus, jolla on sen osista määräytyvä arvo • Lause: ohjelma koostuu lauseista, lauseella ei ole arvoa

  10. Sijoituslause • Muuttujan arvoa muutetaan sijoituslauseella

  11. Ohjausrakenteet • Peräkkäisyys • Valinta • Toisto

  12. Peräkkäisyys • Algoritmin lauseet suoritetaan peräjälkeen yksi kerrallaan

  13. Valinta • Valintarakenne mahdollistaa algoritmin eri osien suorittamisen ehtolausekkeen arvosta riippuen • Yksinkertainen valintarakenne • Monivalintarakenne

  14. IF ehto THEN toiminto ENDIF IF ehto THEN toiminto_1 ELSE toiminto_2 ENDIF Yksinkertainen valintarakenne

  15. Monivalintarakenne CASE lauseke OF tapaus_1: toiminto_1 tapaus_2: toiminto_2 ... tapaus_n: toiminto_n OTHER: toiminto_n+1 ENDCASE

  16. Toistorakenteet • Yhden tai useamman lauseen suorittaminen useamman kerran peräjälkeen • Definiitti toisto • Indefiniitti toisto • Alkuehtoinen • Loppuehtoinen

  17. REPEAT n TIMES toiminto ENDREPEAT FOR askellus DO toiminto ENDFOR Definiitti toisto

  18. Alkuehtoinen WHILE ehto DO toiminto ENDWHILE Loppuehtoinen REPEAT toiminto UNTIL ehto Indefiniitti toisto

  19. Modulaarisuus

  20. Modulaarisuus • Yksi moduuli ratkaisee yhden osuuden kokonaisuudesta • Hyvin suunniteltua moduulia voi hyödyntää muissakin ongelmissa • Selkeyttää algoritmia • Teen keiton moduuleja voisivat olla: laita teelehdet kannuun, keitä vesi, lisää vesi kannuun, odota 5 minuuttia, kaada tee mukiin

  21. Moduulien parametrit • Tilanteesta riippuvat tiedot välitetään moduuliin muuttujien arvojen avulla kaada ainetta x astiaan y Sopii sekä veden kaatamiseen teekannuun että teen kaatamiseen mukiin

  22. Proseduuri • Moduuli, joka ei palauta arvoa: lause MODULEmoduulin_nimi(mp1,mp2,...,mpN) moduulin runko ENDMODULE

  23. Funktio • Palauttaa arvon MODULE moduulin_nimi(mp1,...,mpN) RETURNS paluuarvo moduulin runko ENDMODULE • Arvon palauttava lause on muotoa RETURN lauseke

  24. Moduulin kutsu moduulin_nimi(tp1, tp2, ..., tpN) • Kutsussa on todelliset parametrit tp1- tpN • Moduulissa ovat muuttujaparametrit mp1... • Kumpiakin on oltava yhtä monta ja järjestyksen sama • Moduulin kutsun tullessa vastaan suoritus siirtyy moduuliin • Moduulin suorituksen jälkeen suoritus jatkuu kutsua seuraavasta tai kutsun sisältävästä lauseesta

More Related