Aliohjelma
Wikipedia
Aliohjelma on ohjelmoinnissa sarja yleisesti suoritettuja toimintoja, joka on kirjoitettu vain kerran, ja jota voidaan kutsua eri puolilta pääohjelmaa tai eri aliohjelmista. Aliohjelman suorituksen jälkeen ohjelman suoritus jatkuu kutsuvassa ohjelmassa aliohjelmakutsua seuraavasta lauseesta.
Proseduraalisessa ohjelmointikielessä aliohjelmia kutsutaan proseduureiksi tai funktioiksi, jos ne palauttavat jonkin arvon. Olio-ohjelmoinnissa oliossa olevia funktioita nimitetään jäsenfunktioiksi tai metodeiksi. Aliohjelmaa voidaan kutsua useassa kohdassa ohjelmaa, ja antaa sille argumenttina käsiteltävä arvo, tai joissakin kielissä (esimerkiksi C++-kielessä), viite käsiteltävään arvoon. Aliohjelman määrittelyn yhteydessä esitellään joukko muuttujia, joiden avulla aliohjelmakutsun yhteydessä annettuja argumentteja on aliohjelman ohjelmakoodista käsin mahdollista käsitellä. Näitä muuttujia kutsutaan aliohjelman parametreiksi.
Ohjelmoinnissa esiintyy usein tilanne, että jokin toiminto täytyy suorittaa ohjelman useassa eri kohdassa. Toiminto voidaan tietenkin kirjoittaa uudelleen ja uudelleen, mutta tällöin ohjelmakoodi pitenee ja tulee epäselväksi, virheiden mahdollisuus kasvaa ja muutokset ohjelmakoodiin pitää tehdä useaan paikkaan. Aliohjelmat mahdollistavat ohjelmakoodin jakamisen pienempiin osiin ja parantavat siten sen luettavuutta ja ylläpidettävyyttä.
Aliohjelman kutsu on toteutettu nykyisissä suorittimissa jo käskytasolla; konekielinen käsky tallentaa senhetkisen ohjelmalaskurin arvon pinoon ja hyppää toiseen kohtaan ohjelmaa. Kun aliohjelma päättyy, paluuosoite haetaan pinon päältä. Tilaa jonne osoite tallennetaan kutsutaan aliohjelman aktivaatiotietueeksi. Siihen tallennetaan lisäksi aliohjelman käyttämät paikalliset muuttujat. Jos aliohjelma kutsuu itseään useaan kertaan, eli toimii rekursiivisesti, aktivaatiotietueita on useampi pinon päällä.

