НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

15. Стандартные процедуры и функции

Наиболее часто употребляемые библиотечные процедуры и функции называют стандартными. Для работы с ними не надо ни заказывать библиотеку, ни описывать их предварительно в программе.

Часть приводимых ниже процедур (от RESET до DISPOSE) будут описаны во II части книги, поэтому при первом чтении их можно опустить.

1) ORD(C) - выдает порядковый номер символа С в упорядоченной последовательности символов, задаваемой транслятором. Нумерация начинается с нуля.

2) CHR(I) - выдает символ с порядковым номером I. Функции ORD(C) и CHR(I) взаимнообратны, т. е. CHR(ORD(C))=C и ORD(CHR(I)) = I. В силу упорядоченности последовательности символов, ORD(Cl) < ORD(C2), если Cl < С2 и вообще, если R - логическая операция отношения


то из ORD(Cl) R ORD(C2) следует Cl R С2 и обратно.

3) PRED(C) - выдает значение, предшествующее С в упорядоченной последовательности значений.

4) SUCC(C) - выдает значение, следующее за С. Результат этих двух функций будет неопределенным, если соответствующих значений не существует; в этом случае не все трансляторы выдают диагностику.

5) ODD(X) - выдает TRUE, если X нечетно (X - целое).

6) элементарные математические функции:


(обратить внимание: нельзя на БЭСМ-б использовать выражение Х**2). Эти две функции выдают результат того же типа, что и аргумент.

Замечание. В этом, в общем удобном для программиста свойстве, кроется и источник "тяжелых" ошибок.

Например, одна из этих функций является фактическим параметром. Смена типа аргумента приведет к смене типа фактического параметра. Но тип соответствующего формального параметра строго фиксирован в описании соответствующего модуля, т. е. смена начальных данных в такой программе может привести к ошибке, которой при других данных не было.

TRUNC(X) - целая часть X, получающаяся при отбрасывании знаков после десятичной точки. Результат - целый, X - вещественный.

Пример.


ROUND (X) - вещественный X округляется до целого, выдаваемого как результат.

Пример.


Аргумент следующих функций может быть как вещественным, так и целым. Результат - всегда вещественный.


7) PACK (А, К, Z) - осуществляет упаковку одномерного массива А, начиная с К-й компоненты, в массив Z с 1-й компоненты. (Массив Z типа PACKED).

8) UNPACK (Z, А, К) - осуществляет распаковку одномерного массива Z начиная с 1-й компоненты в массив А с К-й компоненты. (Массив Z типа PACKED).

9) RESET(F) - устанавливает указатель файла на первую компоненту файла F и считывает ее в "окно"* F↑; функции EOF(F) присваивается значение FALSE, если файл не пуст; иначе - вначение F↑ не определено и функция EOF(F) имеет значение TRUE.

10) REWRITE(F) - очищает файл (т. е. F становится пустым файлом), устанавливает указатель файла на первую компоненту, присваивает функции EOF(F) значение TRUE. К функции REWRITE(F) необходимо обратиться перед записью в первую компоненту файла F.

11) GET(F) - в случае, когда EOF(F) = FALSE, продвигает указатель файла к следующей компоненте и присваивает значение этой компоненты "окну" Ff; если эта компонента - "конец файла", то значение F↑ становится неопределенным, a EOF(F) принимает значение TRUE.

12) PUT(F) - заносит значение Ff в ту компоненту файла, куда установлен указатель, если значение EOF(F) есть TRUE к моменту выполнения PUT(F). После выполнения PUT(F) значение Ff становится неопределенным.

* ( Подробнее о файлах см. п. 21, )

Пример.


Здесь оператор A: = SQR(DATA|) присваивает переменной A квадрат текущей компоненты файла DATA; оператор GET (DATA) продвигает указатель к следующей компоненте файла и читает ее в переменную DATAf.

13) WRITELN(F) - записывает символ "конец строки" в текущую компоненту текстового файла F.

14) READLN(F) - пропускает остаток текущей строки, устанавливает указатель файла на начало следующей строки текстового файла F.

15) EOLN(X) - принимает значение TRUE, если указатель файла установлен на символ конца строки (FALSE в противном случае) и засылает в X пробел.

16) EOF(X) - принимает значение TRUE, если X соответствует концу файла (FALSE - в противном случае).

17) NEW(P) - отводит место в памяти для новой динамической переменной и в Р запоминает ее адрес (см. 22.1).

18) NEW(P,P1) - отводит место в памяти для записи (RECORD) с вариантом Р1.

19) DISPOSE(P) - стирает динамическую переменную, на которую указывает переменная Р.

20) DISPOSE(P,Pl) - стирает динамическую переменную, созданную процедурой NEW(P,P1) и на которую указывает переменная Р (см. 22.3).

предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь