Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Чтение файла



Под чтением файла понимается ввод данных из внешнего файла, находящегося на диске, в оперативную память машины. Данные внеш­него файла становятся доступными программе.

В программе необходимо выполнить следующие действия для чте­ния файла:

открыть файл для чтения (оператор RESET),

ввести данные файла в программу (оператор READ),

закрыть файл для чтения (оператор CLOSE),

Внешний файл, из которого читаются данные, часто называют входным файлом. Общая форма чтения файла имеет вид:

RESET (имя 1);

...

READ (имя, параметры);

...

CLOSE (имя 1);

Многоточием отмечено наличие каких-либо операторов программы. В некоторых версиях языка ПАСКАЛЬ, оператор RESET может иметь несколько аргументов, например:

RESET (имя 1, 'имя 2', имя 3’, имя 4).

Аргументы имеют следующее назначение:

имя 1 - имя файла в программе (файловая переменная);

имя 2 - физическое (конкретное) имя внешнего файла на диске;

имя 3 - расширение физического имени файла. Рекомендуется указывать слово PAS (от слова PASCAL), если программа составлена на языке ПАСКАЛЬ. Аргумент можно не указывать, тогда по умолча­нию будет слово DAT;

имя 4 - переменная, которая автоматически получает значение, равное числу блоков, занимаемых внешним файлом на диске. Аргу­мент можно не указывать, но если он указан, то нужно объявить переменную как целого типа.

Оператор ввода для чтения файла обладает всеми свойствами обыч­ного оператора ввода READ. В качестве параметров могут быть пере­менные; каждая переменная получает значение одного элемента, счи­танного из внешнего файла. Переменные должны быть описаны в про­грамме соответственно своему типу.

Так как по определению число элементов файла не задается, то в языке ПАСКАЛЬ введен признак конца файла. Стандартная встроен­ная функция

EOF (имя файла)

используется для определения, достигнут ли конец файла: она при­нимает истинное значение, если достигнут конец файла, и ложное — в противном случае.

Функцию EOF можно использовать в логических выражениях и, в частности, в операторах цикла, например

WHILE NOT EOF(F1) DO

BEGIN

...

END

Пока не достигнут конец файла F1, повторяется циклическая часть программы, заключенная в операторные скобки BEGIN — END.

Рассмотрим на примере чтение внешнего файла и обработку его в программе.

Пример 13.1. Пусть на диске имеется файл с именем F1, в котором записана последовательность действительных чисел

0.54 1.7 8.43 6.2 4.1

Необходимо эти данные ввести в программу и вычислить их сумму. Каждый элемент данных файла будем обозначать в программе пере­менной S, а сумму - SUM.

VAR

F1:TEXT; (* ВХОДНОЙ ФАЙЛ*)

S:REAL; (*ЧИСЛО *)

SUM:REAL; (* СУММА *)

BEGIN

SUM:=0;

RESET(F1);

WHILE NOT EOF(F1)DO

BEGIN

READ(F1,S);

SUM:=SUM+S;

END;

WRITE(‘CУММА=’,SUM:7:2);

CLOSE(F1);

END.

В примере 13.1 Fl - имя входного файла. Оператор RESET открывает файл F1 для чтения из него данных.

Оператор ввода READ (Fl, S) применяется для считывания данных из внешнего файла в переменную S. Если оператор ввода стоит вне цикла, то переменная S получит только одно значение S = 0.54.

Оператор CLOSE (Fl) служит для закрытия файла F1.





Дата публикования: 2014-11-02; Прочитано: 176 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...