Алгоритмичен език Паскал
На практика във всички алгоритмични езици има възможност за програмиране на функции и процедури - блокове от инструкции под формата на подпрограми. Разработването на функции и процедури е необходимо за многократно използване на различни места на програмата или в няколко програми на блок от инструкции, извършващи един и същи тип действия, например изчисляване на стойностите на сложна функция за различни стойности на аргумента. Turbo - Pascal също има способността да създава библиотеки (модули), състоящи се от специални процедури и функции, различни от предоставените в пакета (System, Crt, Graph модули).
Процедурите (подпрограми) и функциите, дефинирани от програмиста, са дадени в раздела за описание на основната програма. Процедурите и функциите имат заглавие, раздел с описание и раздел с изявления.
Заглавие на процедурата се състои от служебна дума Процедура, име на процедура и списък с параметри,
например:
Заглавката на функцията се състои от функционалната дума Функция, името на функцията и списък с параметри, освен това се посочва вида на стойността, върната от функцията,
например: Тук:
Функция и Процедура - служебни думи,
Name_F, Name_P - съответно имена на функции и процедури,
p1, p2 - имена на параметри на формална стойност,
p3, p4 - имена на официални променливи параметри,
. . . - многоточие означава възможност за изброяване на повече параметри.
В бъдеще, освен ако не е посочено друго, всичко казано в процедурата се отнася и за функцията.
Типът на връщане на функцията може да бъде прост, низ или тип указател. Официалните параметри могат да бъдат от всякакъв тип, но трябва да се посочват само с идентификатор (име на типа). По този начин името на типа на официалния параметър - масив трябва да бъде посочено предварително в оператора Type, например: Тип M = масив [1.100] от реално; Тогава типът на масива може да бъде посочен в заглавката на процедурата, например: Име на процедурата_P (p: M); Видът на официалните параметри е описан само в заглавката на процедурата. Например списъкът с формални параметри може да липсва. Процедура за рандомизиране; няма параметри.
Ако изпълнението на няколко оператора води до една стойност на променлива, тогава тези оператори могат да бъдат включени в описанието на функцията. Например функцията Sin (x); връща стойността, която е присвоена на променливата Y: = sin (x); (тази и други стандартни функции са описани в системния модул, който се свързва автоматично с програмата).
Ако в резултат на изпълнението на няколко оператора се извърши някакво действие или изчисляване на няколко променливи, тогава е по-добре да включите тези оператори в описанието на процедурата. Например процедурата ClrScr; от CRT модул изчиства екрана.