Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

4.6. Типизованные константы-множества

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

Синтаксис константы-множества определяет рисунок 4.6.


Рисунок 4.6 – Синтаксическая диаграмма
константы-множества

Синтаксическая диаграмма <Константы_элемент> (см. рисунок 4.6) имеет вид, который иллюстрирует рисунок 4.7.

Таким образом, <Константа_элемент> представляет собой значения или диапазоны значений базового типа множества.

Константа-множество может использоваться как инициированная переменная типа множество.


Рисунок 4.7  – Синтаксическая диаграмма
константы-элемента

Пример 4.10.

Объявление типизованной константы-множества.

Const

         Dig: Set Of 0..9 = [1, 3, 5];

         Dig1: Set Of 0..9 = [];

         Ch: Set Of ‘A’..‘Z’ = [‘A’..‘E’, ‘I’, ‘P’, ‘T’];

Раздел 5. Файлы

5.1. Общие сведения

Для всех рассмотренных ранее производных типов было характерно наличие заранее заданного числа компонент.

Файловый тип – это произвольная последовательность элементов, длина которой заранее не определена, а конкретизируется в процессе выполнения программы.

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

Физический файл (набор данных) – это поименованная область памяти на внешнем носителе, в которой хранится некоторая информация (файл с точки зрения пользователя).

НЕ нашли? Не то? Что вы ищете?

Элементы файла записаны в нем последовательно (рисунок 5.1).

Рисунок 5.1 – Структура файла

В Паскале возможны два способа обращения к элементам файла: последовательный доступ и прямой доступ.

При последовательном доступе по файлу можно двигаться только последовательно, начиная с первого его элемента. У последовательного файла доступен лишь очередной его элемент. Чтобы добраться до n-го элемента файла, необходимо начать с первого элемента и пройти через предыдущие n – 1 элементов.

При прямом доступе можно обратиться непосредственно к элементу файла с номером n, минуя предварительный просмотр n - 1 элемента файла.

Файловый тип - это единственный тип значений, посредством которого данные, обрабатываемые программой, могут быть получены извне, а результаты могут быть переданы человеку. Это единственный тип значений, который связывает программу с периферийными устройствами компьютера.

В Паскале имеется три типа файлов (три вида переменных файлового типа, т. е. файловых переменных):

    текстовые файлы; файлы с типом; файлы без типа.

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

Рисунок 5.2  – Синтаксическая диаграмма
задания фалового типа

Над значениями файлового типа не определены никакие операции (даже присваивание файловой переменной значения другой файловой переменной).

Все операции могут производиться лишь с элементами файлов. Множество операций над элементами файла определяется типом элементов.

Для доступа к отдельным элементам файлов в Паскале существуют специальные стандартные процедуры и функции. Их называют процедурами и функциями ввода-вывода. Обращение к ним осуществляется обычным образом.

Для удобства описания действия этих процедур используется понятие «окно файла» («окно», текущая позиция файла, указатель файла). Окно определяет позицию доступа, т. е. тот элемент файла, который доступен для чтения или для записи.

Позиция файла, следующая за последним элементом файла (или первая позиция пустого файла) помечается специальным маркером конца файла
(Ctrl–Z при создании текстового файла с клавиатуры). С помощью этого маркера определяется конец файла.

5.2. Процедура Assign

Любым другим процедурам ввода-вывода предшествует процедура Assign.

Формат ее заголовка:

Assign (Var F; Name: String)

Здесь F – имя файловой переменной любого типа; Name – выражение строкового типа.

Назначение процедуры – организует связь между конкретным физическим файлом на внешнем устройстве (конкретным набором данных) и файловой переменной программы (логическим файлом) F.

Имя конкретного набора данных определяется переменной Name. Name – это полное имя физического файла. В общем случае оно имеет вид:

<Диск>:\<Имя_каталога>\…\<Имя_каталога>\<Имя_файла>

<Диск> задается символом от A до Z (символ логического устройства). Если он опущен, то подразумевается логическое устройство, принятое по умолчанию.

\<Имя_каталога>\…\<Имя_каталога>\  - это путь через подкаталоги к фактическому имени файла. Если они опущены, то считается, что файл находится в текущем каталоге.

<Имя_файла>  - фактическое имя файла. Оно может иметь максимально 8 символов. Затем может идти уточнение (тип файла) – максимально 3 символа, отделенное от имени точкой.

Например, можно определить такие имена файлов:

Rez                Rez. pas                Rez. exe                Rez. txt                Rez. dat

Уточнение помогает программисту, пользователю, системе программирования или операционной системе работать с файлами.

Пример полного имени файла:

A:\Katalog1\Katalog2\Rez. pas

       

Максимальная длина полного имени файла – 79 символов.

       Чтобы связать файловую переменную (логический файл) F с физическим файлом Rez. dat нужно записать процедуру Assign со следующими параметрами:

Assign (F, ‘Rez. dat’);

или организовать связь в диалоге:

Var

       St: String;

       ...

Begin        

       ...

       Writeln (‘Введите имя файла’);

       Readln (St);

       Assign (F, St);

Вместо имени физического файла в качестве параметра Name в списке фактических параметров процедуры Assign может использоваться любое устройство ввода-вывода (клавиатура, печать, дисплей и т. п.) В этом случае Name – это символическое (логическое) имя устройства ввода-вывода.

Для использования доступны следующие символические имена устройств.

Con

Con – устройство консоли (при вводе – это клавиатура, при выводе – экран дисплея).

       Например, процедура

Assign (F, ‘Con’);

означает ввод в переменную F с клавиатуры или вывод из F на экран.

По умолчанию стандартные текстовые файлы Input и Output связаны с консолью, что соответствует следующему фрагменту программы:

Assign (Input, ‘Con’);

Assign (Output, ‘Con’);

Lpt1, Lpt2, Lpt3

Lpt1, Lpt2, Lpt3 – устройства печати. Если подключено одно устройство печати, то используется либо имя Lpt1 либо Prn:

Assign (F, ‘Prn’);

Assign (Output, ‘Prn’);

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

Com1, Com2

Com1, Com2 – устойства последовательного ввода-вывода, используемые для обмена данными между компьютерами. Вместо Com1 может быть использовано имя ‘Aux’.

Nul

Nul – нулевое устройство. Для него при выводе не осуществляется никаких действий. При попытке чтения возникает ситуация конца файла.

Crt

Crt – устройство текстового ввода-вывода. Аналогично устройству Con, но имеет ряд дополнительных функций управления экраном (например, установка цветов, указание места на экране для вывода и т. п.). Crt не поддерживается операционной системой.

‘’

‘’ – использование пустой строки вместо имени Name. В этом случае файловая переменная F связывается с Con (по аналогии с пунктом а)). Например,

Assign (F, ‘’);

       Процедура Assign всегда предшествует другим процедурам ввода-вывода. Ее нельзя применять к уже открытому файлу.

5.3. Файлы с типом

Состоят из однотипных компонент, тип которых указан при обьявлении.

Пример 5.1.

Примеры объявления файлов с типом.

Type

       Zap =        Record

                                       I: Integer;

                                       R: Real

                               End;

Var 

       F1: File Of Real;

       F2: File Of Char;

       F3: File Of String[50];

       F4: File Of Zap;

       F5: File Of Integer;

Здесь F1 - F5 – это файловые переменные.

Для работы с типизованными файлами существуют следующие процедуры и функции ввода-вывода:

Процедура Assign

Процедура Assign – связывает файловую переменную с внешним файлом на диске. Описана в п. 5.2.

Процедура Rewrite (F)

Процедура Rewrite (F) – создает и открывает новый файл F.

Окно (позиция доступа) устанавливается на первую позицию файла.

Если файл был ранее открыт, то он предварительно закрывается, а затем повторно открывается.

Если ранее в файл были записаны какие-либо элементы, они становятся недоступными.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33