Для повышения производительности и эффективности программирования полезно применять т.н. встроенные (стандартные) функции и процедуры. Их не надо объявлять. Должны быть объявлены только используемые в них параметры.
Хранятся такие процедуры и функции в 8-ми стандартных библиотечных модулях Турбо-Паскаля, в т.ч. SYSTEM, DOS, CRT. Доступ к модулю SYSTEM обеспечен всегда. А остальные надо подключать при написании программы. Тогда станут доступными расположенные в них встроенные процедуры и функции. Это делается записью оператора USES после заголовка программы:
USES <список имен стандартных модулей через запятую>;
Например:
PROGRAM …
USES CRT, DOS;
В программе имена вызываемых встроенных процедур записываются как обычные операторы, а имена функций – как операнды.
В языке Турбо-Паскаль используются следующие встроенные функции и процедуры:
Подстрока в строке st длиной к символов, начиная с позиции n
- « -
3.
LENGTH(st)
Длина строки st
INTEGER
4.
POS(pst,st)
Номер начальной позиции первого вхождения подстроки pst в строке st или ноль, если вхождение не обнаружено
- « -
5.
UPCASE(ch)
Заглавная латинская буква, соответствующая аналогичной строчной из выражения ch. Другие символы не преобразовываются
CHAR
Процедуры:
1.
DELETE(st,n,k)
Cтрока st после удаления из нее к символов, начиная с позиции n
STRING
2.
INSERT(pst,st,n)
Cтрока st после вставки в нее подстроки pst, начиная с позиции n
- « -
3.
STR(cv[:w[,d]],st)
Cтрока st (общей длиной w c d cимволами для дробной части ) как результат преобразования целого или вещественного числа cv
- « -
4.
VAL(st,cv,kod)
Результат внутреннего преобразования строки st в переменную cv целого или вещественного типа. Коd=0, если преобразование было успешным. Иначе в коd фиксируется номер позиции в st с ошибочным символом
С) специальные: они обеспечивают выполнение вспомогательных операций в программе, таких как:
- прерывание выполнения программы;
- задержку выполнения определенных шагов программы;
- генерацию случайных чисел;
- подачу звукового сигнала;
- определение объема памяти в байтах, занимаемой переменной;
- копирование блоков информации в оперативной памяти;
- работу с экраном дисплея;
- редактирование отображаемой информации и др.
Отметим наиболее употребимые специальные встроенные функции и процедуры.
Из модуля SYSTEM:
функции:
1. IORESULT – возвращает код состояния последней операции
ввода-вывода;
2. RANDOM и RANDOM(n) –возвращают случайное число типа
REAL в диапазоне от 0 до 1 (в первом случае) или от 1 до n-1,
где n – целое.
Использованию этих функций должен предшествовать вызов
процедуры RANDOMIZE.
процедуры:
1. EXCLUDE(s,e);- исключает элемент е из множества s того же типа;
2. EXIT; - осуществляет выход из выполняемого блока, передавая управление по метке, помещенной перед служебным словом END, закрывающим блок; при вызове из подпрограммы – возвращает управление в основную программу; при вызове из основной программы – прекращает ее работы;
3. FILLCHAR(p,n,v); – заполняетn байтов в переменной p любого типа выражением v любого порядкового типа;
4. HALT[(k)]; - останавливает работу программы, возвращая управление операционной системе и, если к указано, отображая код завершения программы;
5. INCLUDE(s,e); - включает во множество s элемент е того же типа;
6. RANDOMIZE; - инициализирует некоторым случайным значением генератор случайных чисел;
Из модуля CRT:
функции:
1. KEYPRESSED – возвращает TRUE, если была нажата какая-
либо клавиша на клавиатуре; иначе – FALSE;
1. READKEY – читает (но не выводит на экран) символ с
клавиатуры, приостанавливая выполнение программы до
момента нажатия любой клавиши (исключая регистровые);
2. WHEREX и WHEREY – возвращают соответственно
горизонтальную и вертикальную координаты текущей позиции
курсора на активном окне;
процедуры:
1. CLRSCR; – очищает экран, помещая курсор в левый нижний угол;
2. DELEY(t);- задерживает выполнение программы на t миллисекунд;
3. GOTOXY(x,y); - перемещает курсор в позицию экрана, определяемую координатами Х (по горизонтали) и Y 0о вертикали);
4. SOUND(g);-включает подачу звукового сигнала частотой g – герц.
5. TEXTBACKGROUND(c);- устанавливает цвет фона, определяемый параметром с байтового типа;
6. TEXTCOLOR(c); - устанавливает цвет символов, определяемый параметром с байтового типа;
7. WINDOW(x1,y1,x2,y2); - формирует текстовое окно, определяемое координатами левого верхнего (x1,y1) и нижнего правого (x2,y2) углов;