Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
28_-_2_.doc
Скачиваний:
7
Добавлен:
25.09.2019
Размер:
2.83 Mб
Скачать

5. Нетипизированные файлы.

var F:File;

Открытие нетипизированных файлов.

reset(F, 200);

rewrite(F, 200);

200 – размер элемента буфера в байтах. По умолчанию 128 байт.

Скорость чтения с дисков обеспечивается в случае, если длина кратна размеру физического кластера диска (512).

Реальный размер файла не кратен значению при открытии файла.

операця чтения с нетипизированных файлов:

blockread(ифп, BUF, count [, result]);

blockwrite(ифп, BUF, count [, result]);

BUF – буфер с данными (куда писать или откуда читать) – переменная.

count – количество блоков, объёмом указанным в reset.

Размер переменной буфера должен быть не меньше, чем произведение размера элементаа (указано в reset) на количество блоков (count).

result – для blockread указывает на объём прочитанных данных, а для blockwrite – это объём записанных данных. (Если было прочитано 150 байт данных, а надо было 4 блока по 200 байт, то result будет 1)

6. Особенности работы с типами в tp. Явные преобразования типов.

Приведение типов позволяет рассматривать одну и ту же величину в памяти ЭВМ как принадлежащую разным типам. Для этого используется конструкция:

Имя_Типа(переменная или значение)

Например:

Integer(‘Z’); - представляет собой значение кода символа в двухбайтном представлении целого числа

Byte(534); - даст значение 22, поскольку целое число 534 имеет тип Word изанимает 2 байта, а тип byte – один байт, и в процессе приведения старший байт будет отброшен.

7. Эквивалентность типов.

Два типа эквивалентны (идентичны), если выполняется одно из условий:

  • Оба типа представляют собой одно и то же имя типа.

  • Один из типов описан с использованием другого типа с помощью равенства или последовательности равенств. Например:

type

T1 = integer;

T2 = T1;

T3 = T2;

8. Совместимость типов.

Два типа совместимы, если выполняется одно из условий:

  • Они эквивалентны.

  • Один тип интервальный, а другой – его базовый.

  • Оба типа интервальные с общим базовым.

  • Один тип строковый, а другой символьный.

10. Типизированные константы.

Тип констант определяется ближайшим типом по присвоенному значению. Типизированным константам можно присваивать другие значения в теле программы.

const

max:integer=999;

m=999;

A:array[1..3] of integer=(7,9,15);

11. Работа с внешними процедурами. Модули.

Модуль – это подключаемая к программе библиотека ресурсов. Он может содержать описания типом, констант, переменных и подпрограмм.

Модули применяются либо как библиотеки, которые могут использоваться различными программами, либо для разбиения сложной программы на составные части.

Если программа разбита на модули, то скорость её компиляции возрастает, так как модули хранятся в готовом, скомпилированном виде и перекомпилируются при изменении в их исходном коде.

Модули бывают стандартные и пользовательские (определяемые пользователем).

Описание модуля:

unit имя;

interface {описание глобальных элементов модуля (видимых)}

implementation {описание локальных (внутр) элементов модуля}

begin

{ может отсутствовать }

end.

Для подключения модуля его нужно указать в uses (после interface или implementation)

В интерфейсной часть модуля определяют константы, типы, переменные, заголовки подпрограмм. Сами программы описываются в скрытой части.

В секции реальзации можно описывать константы, типы, переменные и подпрограммы, скрытые от пользователя.