Краткое изложение теоретического материала

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

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

Файл – это поименованное место на внешнем носителе, представляющее собой совокупность отдельных записей. Файл данных позволяет:

· хранить данные во внешней памяти долговременно и независимо от программы;

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

По способу представления данных файлы делятся на

· текстовые: в них информация представлена в виде текста - последовательности символов. Например, число 2006 представляет собой последовательность из четырех символов (т.е. строку) – ‘2006’.

· файлы с данными во внутреннем представлении: в них данные представлены в той форме, в какой они хранятся в памяти компьютера (см. соответствующую литературу о представлении данных в памяти ЭВМ). Например, то же самое число 2006 в таком файле будет записано уже не в виде четырех цифр, а как целое число (в двоичной системе счисления). Файлы во внутреннем представлении в языке Паскаль называют еще структурированными, или типизированными, поскольку все записи такого файла имеют одинаковый тип.

По способу доступа к данным файлы делятся на

· файлы последовательного доступа: для того, чтобы обратиться к N-ой записи файла, необходимо прочесть предыдущие N-1 запись (аналог – магнитофонная кассета);

· файлы прямого доступа: можно напрямую обратиться к N-ой записи файла, не читая предыдущих записей (аналог – компакт-диск).

В обобщенном виде алгоритм работы с файлами следующий:

1. открыть файл;

2. записать в него или прочитать из него данные;

3. закрыть файл.

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

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

  Eoln  
  Eoln    
  Eoln
  Eoln        
Eof            
  Рис. 6. Структура текстового файла
             

Таким образом, текстовый файл представляет собой совокупность строк разной длины. Именно поэтому к записям файла возможен только последовательный доступ. Каждая строка заканчивается специальным неотображаемым символом Eoln («End of line» - конец строки). В конце файла записан специальный неотображаемый символ Eof («End of file» - конец файла).

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

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

1. Описание файловой переменной:

Var f: text;

где f – имя файловой переменной, text – еще один стандартный тип данных – текстовый файл.

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

2. Связывание файловой переменной с конкретным именем внешнего файла:

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

где f – имя файловой переменной, <имя файла> - строковая константа или переменная. Например, выполнение команды

Assign (f, ’c:\tp70\example.txt’);

свяжет файловую переменную f с файлом «example.txt», который расположен на диске C: в папке с именем «tp70». После записи такой команды в тексте программы нигде далее не будет указываться имя файла, с которым работает программа.

3. Открытие файла для записи данных:

Rewrite (f);

Файл создается заново. Если для записи открыт уже существующий файл, то все данные из него будут потеряны.

4. Открытие файла для чтения данных:

Reset (f);

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

5. Открытие файла для дополнения (т.е. дописывания данных в конец файла):

Append (f);

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

6. Запись данных в файл:

Write (f, <список вывода>);

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

Команда Writeln (f, <список вывода>); записывает в текстовый файл данные и символ Eoln.

7. Чтение данных из файла:

Read (f, <список переменных>);

Команда Readln (f, <список переменных>); позволяет прочитать данные, а также символ Eoln.

8. Закрытие файла:

Close (f);

9. Логическая функция Eof (f) возвращает значение ИСТИНА, если указатель указывает на символ конца файла и ЛОЖЬ в противном случае.

10. Логическая функция Eoln (f) возвращает значение ИСТИНА, если указатель указывает на символ конца строки и ЛОЖЬ в противном случае.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: