Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
выш.мат. методичка.DOC
Скачиваний:
32
Добавлен:
13.02.2015
Размер:
1.71 Mб
Скачать

6.6. Файл

Тип-файл представляет собой последовательность .компонент одного типа, рас­положенных на внешнем устройстве (в стандарте языка за основу взято расположение данных на магнитных лентах). Компоненты могут быть. любого типа, за исключением, типа-файла (или содержащего компоненты типа-файла) и типа-объекта. Число компонент в файле не объявляется.

Для задания типа-файла следует использовать зарезервированные слова file и оf, после чего указать тип компонент файла.

Пример.

Type

Number = file of Integer; {тип—файл целых чисел}

Symb = file of 'А'.. ’Z’; {тип-файл прописных латинских букв}

Стандартный тип Техt определяет тип-файл, содержащий символы, объединен­ные в строки. Следует иметь в виду, что тип Техt в Turbo Pascal не эквивалентен типу file of Char

Введя файловый тип можно определить переменные файлового типа:

var F1,F2: Number;

F3: Техt;

В Тurbo Раscаl можно использовать файл без типа, при определении которого не указывается тип компонент. В этом случае работа с файлом осуществляется на физическом уровне в соответствии с внутренним форматом его данных. При этом реальные компоненты файла могут иметь и различный тип.

Пример

tуре UnTyp =file;

. Тип-файл можно определять и непосредственно при введении файловых переменных:

var F1, F2, F3: file of integer;

Файловые переменные имеют специфическое применение. Над ними нельзя выполнять никаких операций (присваивать значение, сравнивать и т. д.). Их мо­жно использовать лишь для выполнения операций с файлами (чтения, записи, удаления файла и т. д.). Работа с файлами будет рассмотрена позднее. Кроме то­го, через файловую переменную можно получить информацию о конкретном файле (тип, параметры, имя файла и т. д.).

7 Динамические структуры — данных

Рассматриваемые до сих пор параметры программы обладали тем свойством, что под них выделяется вполне определенный размер памяти и между отдельными объектами устанавливаются связи еще на этапе компиляции и ком­поновки. Во время работы программы вносить изменения в выделенный размер памяти или установленные связи не удается. Порой это бывает неудобно Например, программа работает с различным количеством целых чисел. Естест­венно разместить их в каком-то массиве. Размер массива должен быть определен заранее, и, если программа должна быть универсальной, при определении масси­ва необходимо учитывать случай максимального количества таких, чисел. Однако это приведет к неэффективному использованию оперативной памяти.

В языке Тurbo Pascal есть возможность по ходу выполнения программы выделять и освобождать необходимую память для размещения в ней различных данных. Таким образом, можно организовывать динамические, т.е. изменяющие размеры, структуры данных. Оперативная память при этом используется наиболее эффек­тивным образом. Такая возможность связана с наличием в языке особых типов данных - указателей. Область оперативной памяти, где можно выделять отдель­ные участки для размещения данных и освобождать их, будем называть динамической областью памяти или динамической памятью.

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