Описание некоторых стандартных процедур и функций

При графическом изображении алгоритмов у нас часто возникала необходимость заканчивать работу алгоритма в различных частях его изображения. Аналогично, в языке Object Pascal имеется специальная процедура halt, которая позволяет в любом месте программы закончить её выполнение.

Abs( x) — функция возвращает абсолютное значение (модуль) параметра х. Тип аргумента x и значения функции - вещественный или целый. Тип значения функции совпадает по типу со значением аргумента.

Sqr( x ) - функция возвращает квадрат значения параметра х. Тип аргумента x и значения функции - вещественный или целый. Тип значения функции совпадает с типом аргумента.

Round(x) - функция относится к классу функций преобразования типов. Она преобразует вещественные значения в целые по правилам округления. Тип аргумента x - вещественный. Тип значения функции LongInt.

Trunc(x) - функция преобразует вещественные значения в целые, отбрасывая дробную часть. Тип аргумента x- вещественный. Тип значения функции LongInt.

Нетрудно доказать, что при х 0, round(x)= trunc(x + 0. 5), а при х < 0 - round(x)= trunc(x - 0. 5).

Sin(x), Cos(x) - вычисляют одноименные тригонометрические функции (значение аргумента передается в функцию в радианах – вещественный тип).

ArcTan(х) - вычисляет обратную тригонометрическую функцию – арктангенс (значение угла возвращается в радианах.); тип аргумента х - вещественный.

Ln(x) - вычисляет натуральный логарифм – вещественный тип; тип аргумента х - вещественный.

Exp(x) - вычисляет экспоненту – вещественный тип; тип аргумента х- вещественный.

Sqrt(x) - вычисляет квадратный корень – вещественный тип; тип аргумента х - вещественный.

Полезными являются процедуры Inc и Dec. Обе изменяют значение целой переменной по следующему правилу:

Inc(i) соответствует оператору i: = i +1 ,

Dec(i) соответствует оператору i: = i -1 .

Для работы с переменными перечислимых типов применяются следующие стандартные функции:

Succ(<значение перечислимого типа>); - возвращает следующий за данным элемент. Если i - переменная целого типа, то succ(i) дает следующее значение, то есть (i+1) .

Рrеd(<значение перечислимого типа>); - возвращает

предшествующий данному элемент. Если i - переменная целого типа, то Pred(i) дает предыдущее значение, то есть (i-1) .

Ord(<значение перечислимого типа>); - возвращает порядковый номер данного значения в типе. Тип результата - Longint . Порядковый номер первого элемента равен нулю (исключение составляют целые типы: порядковый номер первого значения типа Integer нулю не равен).

При вызове функции Chr возвращается символ, имеющий данный порядковый номер (кодировка ASCII).

Тип результата выполнения первых двух функций совпадает с типом аргумента, а результат выполнения функции Ord имеет тип Integer. Приведём примеры применения этих функций.

Значения следующих выражений будет True:

· Succ(5)=6

· Pred(5)=4

· Ord(False) = 0

· Ord(True) = 1

· Succ(False) = True

· Pred(True) =False

· Ord('A')= 65

· Chr(65) = 'A' .

GetTime(Hour, min, sec, hand) – процедура помещает в соответствующие переменные текущие значения времени (час, минута, секунда, количество миллисекунд. Все переменные типа Word. Эту процедуру содержит модуль DOS.

Модуль CRT содержит функцию Readkey (без параметров), которая при обращении к ней ждёт ввода символа. После нажатия любой клавиши её код возвращается функцией. При этом значение клавиши не отображается на экране и курсор не сдвигается.