Подпрограммой называется именованная логически законченная группа операторов языка программирования, которую можно вызвать по имени для выполнения любое количество раз из различных мест программы. В Паскале для организации подпрограмм используются процедуры и функции.
Процедура – это независимая поименованная часть программы, предназначенная для выполнения определенных действий. Она состоит из заголовка и тела. Процедуру вызывается оператором вызова процедуры (см. Простые операторы), после выполнения процедуры, программы продолжает работу с оператора, следующего непосредственно за оператором вызова процедуры. Имя процедуры не может входит в выражения в качестве операнда.
Функцияаналогична процедуре, но она передает в точку вызова скалярное значение (результат своей работы) и имя функции может входит в выражение как операнд.
Процедуры и функции могут быть встроенными (или стандартными), т.е. являющимися частью языка, и пользовательскими, т.е. организованные самим программистом.
Наиболее часто используемые арифметические встроенные функции:
ABS(X) – вычисление абсолютной величины Х;
ARСTAN(X) – вычисление угла, тангенс которого равен Х, значение угла представляется в радианах;
COS(X) – вычисление косинуса Х, параметр задает значение угла в радианах;
SIN(X) - вычисление косинуса Х, параметр задает значение угла в радианах;
EXP(X) – вычисления значения еХ;
INT(X) – вычисление целой части Х;
LN(X) – вычисление натурального логарифма Х;
SQR(X) – возведение значения Х в квадрат;
SQRT(X) – извлечение квадратного корня из Х;
PI – функция возвращает значение числа p;
RANDOM(N) – генерирует значение случайного числа в диапазоне от 0 до N, тип результата целочисленный;
RANDOM – генерирует значение случайного числа в диапазоне от 0 до 0,99, тип результата вещественный.
При необходимости вычисления других тригонометрических функций пользуются формулами:
tg(x)=sin(x)/cos(x); ctg(x)=cos(x)/sin(x);
lg(x)»0,43429ln(x); ;
; .
В Паскале нет функции возведения в степень, поэтому для вычисления ZX необходимо записать EXP(X*LN(Z)), причем число Z должно быть больше нуля.
Встроенные процедуры ввода-вывода (WRITE, WRITELN, READ, READLN) были рассмотрены в главе 4.