Jokaisella ohjelmalla on sisäinen rakenne. Ohjelmahan on kuvaus jostain toiminnasta, joten sen rakenne kertoo, miten tämä toiminta varsinaisesti tehdään. Tämän toiminnan kuvaamisen apuna ohjelma käyttää aliohjelmia. Aliohjelmat ovat ohjelmia nekin; ohjelma antaa niille haluamiaan asioita syötteeksi ja käyttää niiden tulostetta johonkin.
Esimerkki Pythonista, joka yhdistää kaksi lukua peräkkäin (yhdista(24,5) = 245):
def yhdista(x,y): return int(str(x) + str(y))
yhdista-ohjelma käyttää kolmea aliohjelmaa: int, + ja str (joista viimeksimainittua kahdesti). str muuttaa luvun merkkijonoksi. Nämä merkkijonot ohjataan edelleen +:lle katenointia varten, ja +:n tulos (merkkijono, jossa luvut ovat peräkkäin) ohjataan puolestaan int:lle, joka muuttaa merkkijonon luvuksi.
(Takaisin ohjelmoinnin käsitteet -sivulle.)