jaotamist ja korduvalt kasutatava tegevuse defineerimist. Põhimõtteliselt võib protseduur sisaldada mistahes ülesande lahendamiseks vajalikku programmiosa. Protseduuri kasutamine toimub omaette lausega, mis siis nagu laiendaks keele lausete hulka. Funktsioon on mõnevõrra spetsiifilisem alamprogramm. Olles oma struktuurilt sarnane protseduuriga, on tema ülesandeks mingisuguse väärtuse väljaarvutamine. Tõsi küll, selle väärtuse leidmise käigus võib ta teha kõike sedasama, mis protseduurgi. Funktsiooni kasutatakse harilikult avaldistes. Kas ainult ühe alamprogrammi liigiga ei saaks hakkama? Saab küll, sest näiteks keeles C on ainult funktsioonid. See on saavutatud mõninga ranguse kaotamisega - programm ei pea funktsiooni poolt leitud väärtust kasutama - ning sellest tuleneb, et programmeerija peab ise täpselt teadma, mida ta teeb. Teised meie poolt vaadeldavad keeled - Pascal ja Qbasic - teevad protseduuride ja funktsioonide vahel ranget vahet.
Põhimõtteliselt võib protseduur sisaldada mistahes ülesande lahendamiseks vajalikku programmiosa. Protseduuri kasutamine toimub omaette lausega, mis siis nagu laiendaks keele 86 / 115 lausete hulka. Funktsioon on mõnevõrra spetsiifilisem alamprogramm. Olles oma struktuurilt sarnane protseduuriga, on tema ülesandeks mingisuguse väärtuse väljaarvutamine. Tõsi küll, selle väärtuse leidmise käigus võib ta teha kõike sedasama, mis protseduurgi. Funktsiooni kasutatakse harilikult avaldistes. Kas ainult ühe alamprogrammi liigiga ei saaks hakkama? Saab küll, sest näiteks keeles C on ainult funktsioonid (meetodid). See on saavutatud mõninga ranguse kaotamisega - programm ei pea funktsiooni poolt leitud väärtust kasutama - ning sellest tuleneb, et programmeerija peab ise täpselt teadma, mida ta teeb. Teised meie poolt vaadeldavad keeled - Pascal ja Qbasic - teevad protseduuride ja funktsioonide vahel ranget vahet.