Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Доп.мат-лы студентам к лекциям по ИиП.doc
Скачиваний:
1
Добавлен:
06.12.2018
Размер:
193.54 Кб
Скачать

Доп. Материалы к лекциям по Информатикен и программированию

  1. Встроенные функции и процедуры.

Для повышения производительности и эффективности программирования полезно применять т.н. встроенные (стандартные) функции и процедуры. Их не надо объявлять. Должны быть объявлены только используемые в них параметры.

Хранятся такие процедуры и функции в 8-ми стандартных библиотечных модулях Турбо-Паскаля, в т.ч. SYSTEM, DOS, CRT. Доступ к модулю SYSTEM обеспечен всегда. А остальные надо подключать при написании программы. Тогда станут доступными расположенные в них встроенные процедуры и функции. Это делается записью оператора USES после заголовка программы:

USES <список имен стандартных модулей через запятую>;

Например:

PROGRAM …

USES CRT, DOS;

В программе имена вызываемых встроенных процедур записываются как обычные операторы, а имена функций – как операнды.

В языке Турбо-Паскаль используются следующие встроенные функции и процедуры:

А) математические:

п/п

Имя функции

или

процедуры

Тип аргумента (параметра)

Результат

Тип результата

Функции:

1.

ABS(x)

Целый,

веществ.-й

Модуль (абсолютное значение) x

Целый,

веществ.-й

2.

ARCTAN(x)

Веществ.-й

Арктангенс угла

(х – в радианах)

Веществ.-й

3.

SIN(x)

- « -

Синус угла

(х – в радианах)

- « -

4.

COS(x)

- « -

Косинус угла

(х – в радианах)

- « -

5.

CHR(x)

BYTE

Символ с порядковым номером x

CHAR

6.

EXP(x)

Веществ.-й

Экспонента (е в степени х)

- « -

7.

FRAC(x)

- « -

Дробная часть х

- « -

8.

INT(x)

- « -

Целая часть х

- « -

9.

LN(x)

- « -

Натуральный логарифм х

(где х>0)

- « -

10.

ODD(x)

Порядк.-й

TRUE, если х – нечетно,

FALSE, если х – четно

BOOLEAN

11.

ORD(x)

- « -

Порядковый номер, соответствующий значению х

LONGINT

12.

SUCC(x)

- « -

Последующее значение аргумента

Порядк.-й

13.

SQRT(x)

Целый,

веществ.-й

Квадрат х

(где х>0)

- « -

14.

SQRT(x)

Веществ.-й

Корень квадратный х

- « -

15.

PI

Число π=3.1415926535897932385

- « -

16.

PRED(x)

Порядк.-й

Предшествующее значение аргумента

Порядк.-й

17.

ROUND(x)

Веществ.-й

Ближайшее (округленное) целое х

LONGINT

18.

TRUNC(x)

- « -

Целое от х (усеченное целое)

LONGINT

Процедуры:

1.

DEC(x,[s])

Порядк.-й

х, уменьшенное на 1 или s, если s задано

Порядк.-й

2.

INC(x,[s])

- « -

х, увеличенное на 1 или s, если s задано

- « -

Пример:

(N - ABS(a -b)*SQR(b))/( π + SQRT(2*a – SQR(c -d)))

Б) cтроковые:

п/п

Имя функции

или

процедуры

Результат

Тип результата

Функции:

1.

CONCAT(s1[,s2,…,sN])

Строка как сцепление подстрок s1 … sN

STRING

2.

COPY(st,n,k)

Подстрока в строке 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читает (но не выводит на экран) символ с

клавиатуры, приостанавливая выполнение программы до

момента нажатия любой клавиши (исключая регистровые);

  1. 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) углов;