Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы_алгоритм_и_программир_2курс_ПИ .doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
720.9 Кб
Скачать

2.Файлы

Под файлом понимается именованная область внешней памяти компьютера (жесткого или гибкого диска, компакт-диска и т. п.).

Файловый тип можно задать одним из трех способов:

имя = File of тип;

имя = TextFile;

имя = File;

Здесь имя — имя файлового типа (правильный идентификатор);

File, of — зарезервированные слова (файл, из);

TextFi1е — имя стандартного типа текстовых файлов;

тип — любой тип Object Pascal, кроме файлов, объектов, вариантов, интерфейсов и динамических массивов.

Пример:

type

Product = record

Name: String;

Code: Word;

Cost: Comp;

end;

Text80 = File of String[80]:

var

F1: File of Char;

F2: TextFile;

F3: File;

F4: Text80;

F5: File of Product;

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

- типизированные файлы (задаются предложением File of...);

- текстовые файлы (определяются типом TextFile);

- нетипизированные файлы (определяются типом File).

В наших примерах: F1, F4 и F5 — типизированные файлы, F2 — текстовый файл, F3 — нетипизированный файл.

3.Вариантные типы

Вариант — это тип Variant, разработанный специально для тех случаев, когда на этапе компиляции программист не может сказать, какого типа данные будут использоваться в выражении или в параметрах вызова подпрограмм.

В переменную-вариант можно поместить:

  • целое или вещественное число;

  • логическое значение;

  • строку;

  • время и/или дату;

  • OLE-объект;

  • массив произвольной размерности и длины, содержащий элементы одного из перечисленных выше типов:

Все эти типы считаются совместимыми с типом variant и в случае необходимости преобразования типов выполняются автоматически.

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

- unassigned - назначается переменной при ее описании и указывает, что значение переменной пока не присвоено и не определено;

- Null — указывает, что переменная содержит значение неопределенного типа или что значение было потеряно.

4.Указатели

Оперативная память компьютера представляет собой совокупность ячеек для хранения информации — байтов, каждый из которых имеет собственный номер. Эти номера называются адресами, они позволяют обращаться к любому байту памяти. Object Pascal предоставляет в распоряжение программиста гибкое средство управления динамической памятью — так называемые указатели. Указатель — это переменная, которая в качестве своего значения содержит адрес байта памяти. С помощью указателей можно размещать в динамической памяти любой из известных в Object Pascal типов данных. Лишь некоторые из них (Byte, Char, Short I nt, Boolean) занимают во внутреннем представлении один байт, остальные — несколько смежных. Поэтому на самом деле указатель адресует лишь первый байт данных.

Различают указатели типизированные и нетипизированные. Типизированный указатель может ссылаться на данные определенного типа, который задается при объявлении указателя или описании типа указателя. При этом исполь­зуется значок ^ перед именем типа адресуемых данных.

Формат описания типа для типизированного указателя:

Туре <Тип указателя> = ^<Тип адресуемых данных>

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

С помощью указателя можно получить доступ к значению адресуемых дан­ных. Для этого используется разыменовывание указателя — справа от имени указателя приписывается значок ^.

Для определения адреса объекта, к которому можно обратиться с помощью указателя, используется операция @ , записываемая перед именем этого объекта

Пример. Использование указателя

var p: ^integer;

p1:point;

n, k: integer;

. . .

p:=@n;

n:=100;

k:=p^+10;

. . . После выполнения операторов значение переменной k будет равно 110.