ohjelmassa tänään
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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• Ohjelma on käskyjono• Ongelman ratkaisu vaatii algoritmin
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
Funktionaalinen malli
• Ohjelma on kokoelma ”mustia laatikoita”• Alkeisfunktiot funktiot• Saatavilla olevat syötteet, halutut tulosteet:
mitä pitää tehdä, jotta syötteistä saadaan tulosteet
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ä
Pseudokieli
Imperatiivinen pseudokieli
• Lause, lauseke, muuttuja• Sijoituslause• Ohjausrakenteet• Modulaarisuus• Iteraatio ja rekursio
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
Sijoituslause
• Muuttujan arvoa muutetaan sijoituslauseella
lausekemuuttuja :
Ohjausrakenteet
• Peräkkäisyys• Valinta• Toisto
Peräkkäisyys
• Algoritmin lauseet suoritetaan peräjälkeen yksi kerrallaan
4321
lauselauselauselause
Valinta
• Valintarakenne mahdollistaa algoritmin eri osien suorittamisen ehtolausekkeen arvosta riippuen
• Yksinkertainen valintarakenne• Monivalintarakenne
Yksinkertainen valintarakenne
IF ehto THEN toiminto
ENDIF
IF ehto THEN toiminto_1ELSE toiminto_2ENDIF
Monivalintarakenne
CASE lauseke OFtapaus_1: toiminto_1
tapaus_2: toiminto_2...
tapaus_n: toiminto_n OTHER: toiminto_n+1ENDCASE
Toistorakenteet
• Yhden tai useamman lauseen suorittaminen useamman kerran peräjälkeen
• Definiitti toisto• Indefiniitti toisto
– Alkuehtoinen– Loppuehtoinen
Definiitti toisto
REPEAT n TIMEStoiminto
ENDREPEAT
FOR askellus DOtoiminto
ENDFOR
Indefiniitti toisto
Alkuehtoinen
WHILE ehto DOtoiminto
ENDWHILE
Loppuehtoinen
REPEATtoiminto
UNTIL ehto
Modulaarisuus
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
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
Proseduuri
• Moduuli, joka ei palauta arvoa: lause
MODULE moduulin_nimi(mp1,mp2,...,mpN)moduulin runko
ENDMODULE
Funktio
• Palauttaa arvon
MODULE moduulin_nimi(mp1,...,mpN) RETURNS paluuarvomoduulin runko
ENDMODULE
• Arvon palauttava lause on muotoaRETURN lauseke
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