Programmeerijatele on funktsioonid igapäevased tööriistad. Arvutiprogrammid ongi tegelikult erinevate väikeste funktsioonide kogumid, mis teevad täpselt määratud sisenditega täpselt määratud protseduure.
Kõige lihtsamad funktsioonid on vahest tabelarvutuse programmides, millest kuulsaim on Microsoft Excel. Seal võib mõnda kasti kirjutada „=A1+B1", mis ütleb arvutile, et selle kasti väärtuseks näidatakse kastide A1 ja B1 summat. Tegemist on funktsiooniga, mille sisendiks on kaks arvu ja väljundiks üks.
Toome ka ühe näite funktsioonist, mis arvutab faktoriaali n! [lk 382]. Tuletame meelde, et faktoriaal on lihtsalt järgnev korrutis
Arvuti võiks seda programmeerimiskeele Python abil leidma panna umbes nii:
def factorial(n) :
f = 1
while (n > 0) :
f = f * n
n = n – 1
return f
Jooksutades seda funktsiooni käsuga factorial(5), saaksime vastuseks järgmise tulemuse: 120.
Arvutite keelest arusaamiseks ning neile käskluste jagamiseks peab teadma-tundma sealset sõnavara.
Antud juhul defineerime, mida teeb funktsioon nimega factorial ning seejärel anname talle käsu jooksutada seda funktsiooni sisendiga 5. Ideeliselt peaks see funktsioon seejärel siis lihtsalt korrutama kokku arvud 5, 4, 3, 2, 1.
Selle funktsiooni kirjapanek on järgmine.
Funktsiooni esimesel real antakse muutujale ƒ väärtus 1. Siia hakkamegi salvestama faktoriaali väärtust. Järgmise käsuga palume arvutil jooksutada järgmist kahte rida nii kaua, kuni muutuja n väärtus on suurem 0-st.
Esmalt korrutatakse ƒ läbi muutuja n väärtusega.
Teisalt vähendatakse muutuja n väärtust ühe võrra.
See tähendab, et korrutame ƒ-i läbi alguses n enda väärtusega, siis n – 1-ga, siis n – 2-ga täpselt nii kaua, kuni oleme läbi korrutanud ka ühega – väiksemaks me muutujal n tänu kolmandale koodireale enam minna ei lase.
Lõpuks ütleb viimane rida lihtsalt, et funktsioon peaks leitud väärtuse küsijale ka väljastama.
Nii mõnigi kord tulevad programmeerimiskeeltes esile ka funktsioonid, mis ei annagi väljundit, vaid lihtsalt teevad mõned kerged muudatused. Neist oleks võibolla segaduse vältimiseks siis lihtsam mõelda kui „protseduuridest“.