Теоретический материал: файловый ввод-вывод (Паскаль)
Типизированные файлы
Определение. Типизированный файл - последовательность элементов одного типа.
Таким образом, типизированный файл Вы можете представить себе как цепочку однотипных данных. Все компоненты файла имеют общее имя, а каждый – еще и свой номер. Начальный элемент имеет нулевой номер. Длина файла, то есть количество элементов в цепочке - величина произвольная, изменяемая в процессе работы. После последнего элемента автоматически записывается признак конца файла.
Описание файлового типа для работы с типизированным файлом имеет синтаксис:
file of < тип элементов>; |
Допустим, мы имеем дело с файлом, в котором записываются переменные типа Word, тогда переменная файлового типа может быть введена двояко – с явным объявлением файлового типа:
Type |
или без объявления файлового типа:
Var |
Приведем примеры переменных файлового типа с другими объявлениями:
Type |
Напомним, что файловые переменные имеют специфическое применение: их можно использовать только для выполнения операций с файлами (чтения, записи, удаления файла и т.д.) и получения информации о конкретном файле (тип, параметры, имя файла и т.д.).
Работа с файлами заключается в записи и считывании его компонентов. Для того, чтобы определить, какие данные будут участвовать в операции, используется неявно заданная переменная – указатель на текущий элемент файла. При открытии файла процедурами reset, rewrite указатель устанавливается на его начало. Запись и чтение производятся поэлементно, причем в них участвует тот элемент файла, на который "смотрит" указатель. В результате выполнения действия указатель перемещается к следующему элементу.Пример. Приведем шаблон программы для записи данных в типизированный файл.
Program Writing; |
Примечание. В цикле могут быть вычислительные процедуры для получения данных, выводимых в файл. Мы, для простоты, записали в файл счетчик цикла.
Внимание! Следует запомнить, что процедура rewrite очистит файл, если файл с таким именем уже есть в рабочем каталоге, поэтому при выборе имен файлов соблюдайте осторожность.
Задание 1. Наберите предложенную выше программу и дополните ее выводом на экран элементов файла (воспользуйтесь процедурой считывания из файла read и вывода на экран write).
Задание 2. Создайте программу записи и чтения типизированного файла типа string.
Примеры решения задач
Рассмотрите примеры решения задач. Наберите тексты программ, проверьте их. Обратите внимание на комментарий. Выполните задания к задачам.
Задача 1. Дан файл, элементами которого являются целые числа. Найти среднее арифметическое элементов файла.
В примере выполняется считывание элементов из файла, их суммирование и нахождение среднего арифметического. Предполагается, что типизированный файл уже создан.
Задание. Дополните программу созданием типизированного файла file.dat. Добавленные строчки программы прокомментируйте.
Program Srednee; |
Задача 2. Наберите на компьютере и проанализируйте текст программы, сформулируйте решаемую в ней задачу, дополните необходимыми операторами и комментарием.
Program FileString; |
Задача 3. Создать типизированный файл, содержащий информацию о работниках института.
Задание. Дополнить текст программы
- нахождением среднего стажа работы в институте;
- выводом фамилий работников, работающих инженерами;
- выводом фамилий работников, начинающихся с заданной пользователем буквы;
- выводом фамилий работников, у которых оклад больше заданного пользователем числа;
- выводом фамилий работников предпенсионного возраста.
Program TipRecord; |