Обозначения: X - целочисленные и вещественые типы, I - только целочисленные.
АРИФМЕТИЧЕСКИЕ ФУНКЦИИ И ПРОЦЕДУРЫ
Abs(X) - вычисление абсолютной величины X. Тип результата совпа-дает с типом параметра.
Пример. Write(Abs(4-6):2); Результат = 2.
АгсТаn(Х) - вычисление угла, тангенс которого равен X; значение угла представлено в радианах и может находиться в диапазоне от -Pi/2 до Pi/2. для преобразования значения угла из радианной меры в градусную необходимо значение угла умножить на число 180/Pi. Результат имеет вещественный тип.
Пример. Write(ArcTan(l)*180/Pi); Результат= 4.500000000E+1.
Cos(X) - вычисление косинуса X; параметр задает значение угла в радианах. Для преобразования значений угла из градусной меры в радианную значение выражения IBR умножается на Pi/180. Результат имеет вещественный тип.
Пример. Write(Cos(45*Pi/180)); Результат= 5.0000000000Е-01.
Ехр(Х) - вычисление экспоненты X, т. е. значение е в степени X. е является основанием натурального логарифма и равно 2.718282. Результат имеет вещественный тип.
Пример. write(Exp(1.5)*2); Результат= 2.0085536923Е+01.
Frac(X) - вычисление дробной части X. Результат имеет вещест¬венный тип.
Пример. Write(Frac(0.25*11):4:2); Результат = 0.75.
Int(X) - вычисление целой части X. Результат имеет тип real.
Пример. write(Int(422.117):4); Результат = 117.
Ln(X) - вычисление натурального логарифма х, т. е. логарифма по основанию е (е = 2.718282). Результат имеет вещественный тип.
Пример. write(Ln(0.12*10)); Результат = 1.8232155Б79Е-01.
Pi - возвращает значение числа Пи (3.141592653897932385).
Пример. write('Значение Пи = ',Pi);
Sin(X) - вычисление синуса X. Параметр задает значение угла в радианах. Для перевода значения угла из градусной меры в радиан¬ную X умножается на Pi/180. Результат имеет вещественный тип.
Пример. write(Sin(60*Pi/180)); Результат = 8.6602540378Е-01.
Sqr(X) - возведение в квадрат значения X. Тип результата сов¬падает с типом параметра.
Пример. write(Sqr(-5):2); Результат = 25.
Sqrt(X) - вычисление квадратного корня из X. Тип результата ве-щественный.
Пример. write(Sqrt(25):l); Результат = 5.
СКАЛЯРНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
Скалярные процедуры и функции обрабатывают данные любого скаляр-ного типа, кроме вещественного.
Процедуры
Dec(X{,n}) - уменьшает значение целочисленной переменной X на n. При отсутствии необязательного параметра п значение X умень¬шается на 1.
Пример. Х:=10; Dec(X,2); Результат = 8.
Inc(X{,n}) - увеличивает значение целочисленной переменной X на п. При отсутствии необязательного параметра п значение X уве¬личивается на единицу.
Пример. Х:=10; Inc(Х,3); Результат = 13.
Функции
Pred(S) - возвращает элемент, предшествующий S в списке значений типа. Тип результата совпадает с типом параметра. Если предшест-вующего S элемента не существует, возникает программное прерыва-ние.
Пример. write(Pred(90)); Результат =89.
Succ(S) - возвращает значение, следующее за S в списке значений типа. Тип результата совпадает с типом параметра. Если следующее за S значение отсутствует, возникает программное прерывание.
Пример. write(Succ(90)); Результат = 91.
Odd(l) - возвращает значение булевского типа, равное True, если I нечетное, и False, если I четное.
Пример. write(0dd(3)); Результат = True.
Функции Pred и Succ нашли широкое использование в программах об-работки скалярных типов данных, образованных пользователем. Их применение для пользовательских типов аналогично приведенным вы¬ше примерам.
ФУНКЦИИ ПРЕОБРАЗОВАНИЯ ТИПОВ
Функции преобразования типов используются для преобразования значений одного скалярного типа в значения другого скалярного типа.
Chr(I) - возвращает символ стандартного кода обмена информа¬цией с номером, равным значению I. Результат имеет литерный тип. Если значение параметра больше 255, возникает программное прерывание.
Пример. write(Chr(105)); Результат = 'i'.
Ord(S) - возвращает порядковый номер значения S в множестве, оп-ределенном типом S. Результат целочисленного типа. Если параметр имеет тип integer, то это значение функции выдается как результат. Если параметр любого другого перечисляемого типа, то результат - порядковый номер, определяемый отображением значений данного типа на последовательность неотрицательных чисел, начиная с нуля. Например, если параметр - значение литерного типа, функция Ord возвращает его номер в стандартном коде обмена ин-формацией в соответствии с загруженной таблицей. Диапазон значений функции Ord изменяется от 0 до 3 2767.
Пример. write(Ord ('A')); Результат=65.
Round(X) - возвращает значение X, округленное до ближайшего це-лого числа. Результат имеет целочисленный тип.
Пример. write(Round(5.6):2); Результат= 6.
Trunc(X) - возвращает ближайшее целое число, меньшее или равное X, если X >= 0, и большее или равное X, если X < 0. Резуль¬тат относится к целочисленному типу.
Пример. write(Trunc(5.7):2)); Результат = 5.
СПЕЦИАЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
К этой группе относятся средства, стоящие несколько обособленно и логически не входящие ни в одну из предыдущих групп.
Процедуры
FillChar(P,Dl,Z) - заполняет побайтно область основной памяти заданным значением (заполнителем). Является одной из самых быстродействующих процедур, область начинается с первого байта занимаемой указанной переменной и имеет размер, заданный параметром Dl. Р - переменная любого типа, Dl - целочисленное выражение, указывающее длину, Z - заполнитель, выражение литерного или бай¬тового типа.
Пример. Заполнить строку St буквой 'R', исключая первый байт, содержащий текущую длину строки.
Реализация: FillChar(St[1], Pred(SizeOf(St)), 'R'); { о SizeOf см. ниже }
Move(Pl,P2,Dl) - пересылает содержимое основной памяти, начиная с первого байта, занимаемого переменной Р1,в область, которая начинается с первого байта переменной Р2. Длина областей опреде-ляется параметром Dl. Р1 и Р2 - переменные любого типа. Dl- целочисленное выражение.
Пример. Заполнить нулями массивы А и В, состоящие из элементов типа char и word.
Var A : arrayCl..163 of char;
В : array[1..8] of word;
begin
FillChar(A, SizeOf(A), 0);
Move(A, B, SizeOf(A))
end.
Функции
Hi(I) - выделяет старший байт значения I и помещает его в млад-ший байт результата. Старший байт результата равен 0. Результат имеет целочисленный тип.
Пример. Х:=Нi($1020); { после выполнения X= $0010 }
KeyPressed - возвращает результат True, если на клавиатуре была нажата какая-либо клавиша, и False в противоположном случае.
Пример.
I:=0;
repeat
I:=I+1
until KeyPressed;
write('До нажатия клавиши было выполнено ',I,' операций +.');
Lo(I) - выделяет младший байт значения I и помещает его в младший байт результата. Старший байт результата равен 0. Результат имеет целочисленный тип.
Пример. X:=Lo($7893); { после выполнения X = $0093 }
ParamCount - возвращает значение, равное количеству параметров, переданное программе в командной строке.
Пример. write('Передано ', ParamCount, ' параметров');
SizeOf(IT) - вычисляет объем основной памяти в байтах, которую занимает указанная переменная или тип. Результат имеет цело¬численный тип. IT - идентификатор переменной или типа данных.
Swap(I) обменивает содержимое младшего и старшего байтов цело-численного выражения, заданного параметром I. Результат имеет целочисленный тип.
Пример. X:=Swap($7893); { после выполнения X = $9378 }