Rakenteinen ohjelmointi

Rakenteinen ohjelmointi () on ohjelmointiparadigma, joka pyrkii parantamaan tietokoneohjelmien koodin selkeyttä ja vähentämään ohjelmointiin kuluvaa aikaa käyttämällä loogisia kontrolli- ja toistorakenteita – kuten aliohjelmia ja silmukoita – yksinkertaisten ehtolauseiden ja GOTO-käskyjen sijaan. Näin voidaan välttää ”spagettikoodin” syntyminen. Rakenteista ohjelmointia voidaan tehdä millä tahansa ohjelmointikielellä, kuten proseduraalisen ohjelmoinnin kielellä, jos siinä on riittävät kontrollirakenteet tätä varten.

Strukturoitu ohjelmointimenetelmä pyrkii lisäämään ohjelmien luotettavuutta ja selkeyttä. Strukturoidussa ohjelmoinnissa ohjelman kontrolli on rajoitettu kolmeen rakenteeseen: peräkkäisten lauseiden muodostamaan sekvenssiin, IF ... THEN ... ELSE ja DO ... WHILE -rakenteisiin tai kolmen perusrakenteen yhdistelmiin. Tavoitteena on korkean modulaarisuuden ohjelma, jonka eri osat ovat hyvin riippumattomia toisistaan. Strukturoitu ohjelmointi voi olla vähemmän tehokasta kuin strukturoimaton ohjelmointi. Suuri osa struktoroidusta ohjelmoinnista voidaan jäljittää Edsger Dijkstran työhön.

ALGOL 60 -kieli esitteli lohkorakenteet, joihin sisältyy muuttujien näkyvyysalue (scope) ja kontrollirakenteiden vaikutusalue. ALGOLissa oli myös sisäkkäiset if-then-else-lauseet ja rekursio.http://groups.umd.umich.edu/cis/course.des/cis400/algol/algol.html https://www.cl.cam.ac.uk/teaching/2002/CompProgLangs/complangs.pdf 
ALGOLin seuraaja Pascal on esimerkki rakenteista ohjelmointia tukevasta kielestä ja FORTRANiin saatavalla esikääntäjällä sitä voidaan käyttää strukturoidulla tavalla.

Strukturoidussa ohjelmoinnissa pyritään parantamaan koodin selkeyttä ja vähentämään kehittämiseen kuluvaa aikaa käyttämällä loogisia rakenteita - kuten aliohjelmia ja silmukoita - yksinkertaisten ehtolauseiden ja GOTO-rakenteen sijaan. Näin voidaan välttää "spagettikoodin" syntyminen.

Olio-ohjelmointi voidaan käsittää strukturoidun ohjelmoinnin lajikkeeksi, joka ratkaisee sekä data-orientoituneen että toiminto-orientoituneen suunnittelun.


 Lähteet 

Luokka:Ohjelmointiparadigmat
Luokka:Seulonnan keskeiset artikkelit