Transcript
Page 1: Ohjelmassa tänään

Ohjelmassa tänään

• Ohjelmointimallit• Pseudokieli• Modulaarisuus

Page 2: Ohjelmassa tänään

Ohjelmointimallit (paradigmat)

• Erilaisia lähestymistapoja ohjelmointiin– Imperatiivinen/proseduraalinen malli– Deklaratiivinen malli– Funktionaalinen malli– Oliomalli

Page 3: Ohjelmassa tänään

Imperatiivinen malli

• Perinteinen lähestymistapa• Ohjelma on käskyjono• Ongelman ratkaisu vaatii algoritmin

Page 4: Ohjelmassa tänään

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

Page 5: Ohjelmassa tänään

Funktionaalinen malli

• Ohjelma on kokoelma ”mustia laatikoita”• Alkeisfunktiot funktiot• Saatavilla olevat syötteet, halutut tulosteet:

mitä pitää tehdä, jotta syötteistä saadaan tulosteet

Page 6: Ohjelmassa tänään

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ä

Page 7: Ohjelmassa tänään

Pseudokieli

Page 8: Ohjelmassa tänään

Imperatiivinen pseudokieli

• Lause, lauseke, muuttuja• Sijoituslause• Ohjausrakenteet• Modulaarisuus• Iteraatio ja rekursio

Page 9: Ohjelmassa tänään

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

Page 10: Ohjelmassa tänään

Sijoituslause

• Muuttujan arvoa muutetaan sijoituslauseella

lausekemuuttuja :

Page 11: Ohjelmassa tänään

Ohjausrakenteet

• Peräkkäisyys• Valinta• Toisto

Page 12: Ohjelmassa tänään

Peräkkäisyys

• Algoritmin lauseet suoritetaan peräjälkeen yksi kerrallaan

4321

lauselauselauselause

Page 13: Ohjelmassa tänään

Valinta

• Valintarakenne mahdollistaa algoritmin eri osien suorittamisen ehtolausekkeen arvosta riippuen

• Yksinkertainen valintarakenne• Monivalintarakenne

Page 14: Ohjelmassa tänään

Yksinkertainen valintarakenne

IF ehto THEN toiminto

ENDIF

IF ehto THEN toiminto_1ELSE toiminto_2ENDIF

Page 15: Ohjelmassa tänään

Monivalintarakenne

CASE lauseke OFtapaus_1: toiminto_1

tapaus_2: toiminto_2...

tapaus_n: toiminto_n OTHER: toiminto_n+1ENDCASE

Page 16: Ohjelmassa tänään

Toistorakenteet

• Yhden tai useamman lauseen suorittaminen useamman kerran peräjälkeen

• Definiitti toisto• Indefiniitti toisto

– Alkuehtoinen– Loppuehtoinen

Page 17: Ohjelmassa tänään

Definiitti toisto

REPEAT n TIMEStoiminto

ENDREPEAT

FOR askellus DOtoiminto

ENDFOR

Page 18: Ohjelmassa tänään

Indefiniitti toisto

Alkuehtoinen

WHILE ehto DOtoiminto

ENDWHILE

Loppuehtoinen

REPEATtoiminto

UNTIL ehto

Page 19: Ohjelmassa tänään

Modulaarisuus

Page 20: Ohjelmassa tänään

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

Page 21: Ohjelmassa tänään

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

Page 22: Ohjelmassa tänään

Proseduuri

• Moduuli, joka ei palauta arvoa: lause

MODULE moduulin_nimi(mp1,mp2,...,mpN)moduulin runko

ENDMODULE

Page 23: Ohjelmassa tänään

Funktio

• Palauttaa arvon

MODULE moduulin_nimi(mp1,...,mpN) RETURNS paluuarvomoduulin runko

ENDMODULE

• Arvon palauttava lause on muotoaRETURN lauseke

Page 24: Ohjelmassa tänään

Moduulin kutsumoduulin_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


Top Related