Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Типы данных, которые были рассмотрены до сих пор, предназначены для манипулирования информацией, содержащейся в оперативной памяти. Но эта память способна хранить данные только временно, пока компьютер включен.
Но для эффективной работы нужен способ продолжительного хранения информации, например, данные из оперативной памяти перенести в файлы, поименованную область на внешнем носителе. Кроме "долговременности" у файлов имеется еще одна отличительная черта – их неопределенный объем, максимальная длина файла ограничивается только свободным местом на диске, что является основным отличием от массивов.
Существует три способа определения файлового типа (или файловой переменной):
f= file of A;
f= text;
f= file;
Здесь f – имя объявляемого файла, file of – зарезервированные слова ("файл из"), a – тип элементов, содержащихся в файле, text – идентификатор стандартного типа данных.
Эти три способа соответствуют трем видам файлов – типизированным, текстовым и нетипизированным.
Таблица 11.1
Вид файла | Содержимое файла | Примеры объявления файловых переменных |
Типизированный | Совокупность элементов, принадлежащих любому типу, за исключением файлового | f1: file of real; f2: file of integer; adress: file of record ulica: string[15]; dom: string[4]; kvar: integer; end; |
Текстовой | Совокупность строк | f: text; |
Нетипизированный | Последовательность эле-ментов произвольного типа | f: file; |
Файловые процедуры и функции позволяют организовать доступ к файлам, осуществить ввод – вывод, ориентироваться в записях файла, завершать работу с файлом.
Для связи Паскаль – программы с внешними устройствами используют файловые переменные. Связь осуществляется оператором:
assign (имя файловой переменной, ' имя устройства');
Например:
assign (f, 'primer.dat');
Здесь f - имя файловой переменной, primer.dat – имя файла данных на внешнем носителе. После осуществления связи файловая переменная f отожествляется с соответствующим файлом.
Для работы с файлом его необходимо открыть, по окончании работы – закрыть. Файл открывается для чтения оператором reset (f), для записи – оператором – REWRITE (f). Чтение и запись данных осуществляется известными процедурами read/write, только в начале списка помещается имя файловой переменной:
read (f, список ввода); readln (f, список ввода);
write (f, список вывода); writeln (f, список вывода);
Закрытие файла осуществляется командой CLOSE (f).
Команда RESET (f) устанавливает указатель маркера файла на нулевое состояние, например для повторного чтения записей из файла.
Файловый тип данных в программе задается по следующему правилу:
type имя файлового типа = file of тип компонентов;
Например:
type infile = file of integer;
Пример 11.1. Создание файла. Создать файл, содержащий сведения о сдаче студентами сессии. Структура записи содержит поля: индекс группы, фамилию студента, оценки по пяти экзаменам. Количество записей в файле произвольное.
Пример 11.2. Обработка файла. Написать программу начисления стипендии студентам группы X. Размер обычной стипендии задается константой. Студенту, получившему все оценки 5, назначается стипендия, повышенная на 50 %, получившему оценки 4 и 5 - повышенная на 25%; студенту, получившему хотя бы одну оценку 2, стипендия не назначается. В остальных случаях назначается обычный размер стипендии.
Дата публикования: 2015-02-18; Прочитано: 209 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!