Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

284

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
2.76 Mб
Скачать

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

Обстоятельства, при которых прибегают к использованию файлов, условно можно разбить на три класса:

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

для записи данных научно-технических измерений, обработка которых в реальном масштабе времени (то есть в процессе их получения) невозможна, с целью их последующего анализа при помощи различных программ обработки;

для хранения баз данных.

TP предполагает три класса файлов:

типизированный файл;

текстовый файл;

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

Работа с физическими файлами происходит через так называемые файловые переменные.

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

Type

N = File Of Integer; {Тип-файл целых чисел} C = File Of Char; {Тип-файл символов}

Есть заранее определенный тип файла с именем Text. Файлы этого типа называют текстовыми.

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

41

elib.pstu.ru

Var

F1: N;

F2: C; F3: Text;

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

Var

Z: File Of Word;

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

Перед использованием файловой переменной она должна быть связана с внешним файлом с помощью вызова процедуры

Assign.

Assign(F, <имя файла>);

Здесь переменная F – файловая переменная, имеющая указанный в разделе описания тип файла. Имя файла должно содержать до 8 разрешенных символов (для операционной системы типа MS-DOS). За именем, через точку, следует его расширение, имеющее до трех символов (расширение может отсутствовать). Если файл находится не в одной и той же директории (папке) с рабочей директорией запущенной программы, то для обращения к файлу перед его именем необходимо указать путь к нему, например: ‘c:\Work\TP\File.dat’. Имя файла указывается в апострофах.

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

Когда связь с внешним файлом установлена, для подготовки его к операции ввода или вывода файловая переменная должна быть «открыта». Существующий файл можно открыть с помощью процедуры Reset, а новый файл можно создать и открыть

42

elib.pstu.ru

с помощью процедуры Rewrite. Текстовые файлы, открытые с помощью процедуры Reset, доступны только для чтения, а текстовые файлы, открытые с помощью процедуры Rewrite и Append, доступны только для записи. Выглядит подготовка файла к работе одним из следующих образов:

Reset(F);

Rewrite(F);

Append(F);

Любой файл представляет собой линейную последовательность элементов, каждый из которых имеет сложный тип (или тип записи) файла. Каждый элемент файла имеет номер. Первый элемент файла считается нулевым элементом.

Обычно доступ к файлам организуется последовательно, то есть, когда элемент считывается с помощью стандартной процедуры Read или записывается с помощью стандартной процедуры Write, текущая позиция файла перемещается к следующему по порядку элементу файла. Однако к типизированным и не типизированным файлам можно организовать прямой доступ с помощью стандартной процедуры Seek, которая перемещает текущую позицию файла к заданному элементу.

Когда программа завершит обработку файла, он должен закрываться с помощью стандартной процедуры Close. После полного закрытия файла связанный с ним внешний файл обновляется. Затем файловая переменная может быть связана с другим внешним файлом. Например,

Reset(F);

Close (F);

Рассмотрим более подробно работу с текстовыми файлами. При открытии текстового файла внешний файл интерпретируется особым образом: считается, что он представляет собой последовательность символов, сгруппированных в строки, где каждая строка заканчивается символом конца строки (end of line), который представляет собой символ перевода каретки, за

43

elib.pstu.ru

которым, возможно, следует символ перевода строки. Заметим, что в TP тип Text отличается от типа file of char.

Для текстовых файлов существует специальный вид операций чтения и записи (Read и Write), которые позволяют считывать и записывать значения, тип которых отличается от типа Char. Такие значения автоматически переводятся в символьное представление и обратно. Например, Read(F, i), где i – переменная целого типа приведет к считыванию последовательности цифр из файла, интерпретации этой последовательности как десятичного числа и сохранению его в переменной i.

Рассмотрим некоторые процедуры и функции, характерные для работы с текстовыми файлами.

Erase(F); – удаление файла с диска.

Read(F,<список ввода>); – последовательно считывает из файла значения и записывает в переменные из списка ввода. Имена переменных в списке ввода указывают через запятую.

Write(F,<список вывода>); – последовательно записывает в файл данные из списка ввода.

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

Rename(F,<новое имя>); – переименование файла. ChDir(<путь>); – изменение текущей директории. MkDir(<путь>); – создание директории.

Eof(F); – функция, принимающая значение True при достижении конца файла.

IOResult – определяет результат ввода/вывода. Принимает значение 0 в случае успешного ввода/вывода.

Eoln(F); – функция, принимающая значение True при достижении конца строки текстового файла.

SeekEof(F); SeekEoln(F); – отличаются от Eoln и Eof тем,

что пропускаются стоящие в конце файла или строки пробелы и символы табуляции.

44

elib.pstu.ru

Пример 3 В качестве примера работы с текстовыми файлами приведем

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

program primer3;

Uses Crt; {подключение модуля Crt для использования ко-

манды clrscr}

Const n=10;

Var

F:Text;

A,B:Array[1..n] of integer; i:integer;

BEGIN

clrscr; {очистка текстового экрана}

Randomize; {позволяет генерировать различные наборы случайных чисел командой Random при каждом новом запуске программы}

For i:=1 to n do begin

A[i]:=Random(21);

Write(A[i]:4); end;

Writeln;

Assign(F,'C:\BP\Primer3.dat');

Rewrite(F);

For i:=1 to n do begin

Writeln(F,A[i]); end;

Close(F);

Assign(F,'C:\BP\Primer3.dat');

45

elib.pstu.ru

Reset(F);

i:=0;

While Not(Eof(F)) do {цикл, действующий до достижения конца файла}

begin i:=i+1;

Readln(F,B[i]);

Write(B[i]:4); end;

Close(F);

Readln; {ожидание нажатия клавиши ввода}

END.

Файл Primer3.dat результата работы программы можно посмотреть любым текстовым редактором из приведенных про-

граммных сред: Turbo Pascal, Microsoft Word, Блокнот и др.

1.3.Среда Turbo Pascal и работа в ней

1.3.1.Запуск рабочей среды языка Turbo Pascal

Среда программирования Turbo Pascal включает в себя такие основные компоненты:

редактор текста,

транслятор,

отладчик.

Приступая к работе со средой программирования TP, следует знать, что она является программой, созданной для работы в среде MS-DOS. Такие программы следует настроить при работе в среде Windows. Для запуска программы используется файл Turbo.exe, который обыкновенно расположен в каталогах TP\BIN (рис. 1.12). Кликнув по файлу Turbo.exe правой кнопкой «мыши» создайте ярлык для этого исполняемого файла и далее настройте его свойства (рис. 1.13).

46

elib.pstu.ru

Рис. 1.12. Запуск программы TP

Рис. 1.13. Свойства ярлыка TP

47

elib.pstu.ru

Система Windows – объектно ориентированная система, поэтому для MS-DOS-программ необходимо сделать их привязку к принадлежащим им файлам. При попытке открытия файла типа *.pas появляется диалоговое окно (рис. 1.14).

Рис. 1.14. Диалоговое окно для выбор программы запуска файлов с расширением *.pas

В появившемся диалоговом окне нужно нажать кнопку «Обзор…» и выбрать в качестве запускающего файла «Ярлык для Turbo Pascal» (рис. 1.15).

48

elib.pstu.ru

Рис. 1.15. Выбор программы запуска файлов с расширением *.pas

При непосредственном запуске среды TP через файл «Ярлык для Turbo Pascal» появится оболочка (рис. 1.16).

Строка меню

Строка состояния

Рис. 1.16. Вид оболочки языка TP

49

elib.pstu.ru

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

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

Для перехода из оконного режима в полноэкранный и наоборот необходимо нажать сочетание клавиш Alt + Enter.

1.3.2.Система окон среды

Практически все основные операции в среде осуществляются с помощью окон – выделенных участков поля экрана, в которых размещается определенная информация. Пользователь может открыть или закрыть окно или несколько окон, разместить их встык и с перекрытиями, переместить по экрану, изменить их размеры вплоть до размера поля экрана. Каждое окно выделяется на экране цветом и окаймляющей рамкой.

Используемые окна можно разбить на несколько категорий:

1)окна редактирования;

2)окна диалога;

3)информационные окна;

4)окна меню.

Окна редактирования

Окна редактирования предназначены для размещения и редактирования текстов программ. Окна редактирования открываются из строки меню File. При создании нового окна выбирается подпункт New, а для открытия уже готового файла – Open.

Можно открыть несколько окон редактирования, но активным будет только одно окно. Активное окно размещается всегда поверх остальных окон. Переключение между окнами осуществляется с помощью комбинации клавиш Alt + номер окна (для TP) или Alt + Tab (для Windows задач). Посредством нажатия

50

elib.pstu.ru