Сведения, необходимые для выполнения работы
Есть возможность записывать исходные данные и результаты работы в виде файлов, которые хранятся на диске как программа. Файлы представляют собой упорядоченную совокупность произвольного числа компонентов одного типа с последовательным методом доступа. Они хранят больше информации, чем основная память, т. к. позволяют использовать внешние носители. Файлы могут использоваться несколькими программами и сохраняться после завершения работы. Компоненты файла должны быть элементами одного типа и имеют общее имя. Определенная компонента становится доступной пользователю после того, как будут последовательно пройдены все предшествующие ей значения. Количество элементов в файле может быть любым и заранее не фиксируется. После каждого элемента автоматически ставится признак конца элемента, а в конце - конца файла. С каждым файлом можно связать текущий указатель, неявно описанную переменную, указывающую на конкретный элемент. Действия с файлами производятся поэлементно - в них участвует элемент, на котором находится текущий указатель, перемещающийся в результате выполнения действий на следующий элемент. Положение первого элемента - 0. Каждый внешний файл должен описываться как переменная в главной программе. Файлы, не используемые для ввода и вывода данных, являются внутренними, локальными переменными. Переменные файлового типа могут быть описаны в программе либо явно в разделе переменных: VAR имя_файла: FILE OF базовый_тип_элементов; Операции над файлами. ASSIGN (имя_файл_переменной, ’имя_файла’) – присваивание имени файла, для установления связи между переменной и именем файла, присваиваемого ОС. Все операции с переменной будут выполняться с файлом на диске. Нельзя употреблять для используемого файла.
REWRITE (имя_файл_переменной) – открытие файла для записи. Запись в файл – это вывод результатов программы из оперативной памяти на диск. На внешнем устройстве создается новый файл с именем, присвоенным переменной, он подготавливается к обработке, указатель устанавливается на начало –. Файл сначала пустой. Существующий файл с таким же именем стирается. RESET (имя_файл_переменной) – установка файла в исходное состояние, данные становятся доступными. Файл с именем, присвоенным переменной, подготавливается к обработке и указатель устанавливается на начало. APPEND (имя_файл_переменной) – открытие внешнего файла. Файл, обозначенный переменной, открывается, и указатель перемещается на конец файла для добавления новых компонентов. READ (имя_файл_переменной, элемент) – чтение из файла. Под чтением понимается ввод данных из внешнего файла в оперативную память. WRITE (имя_файл_переменной, элемент) – запись в файл. Элемент должен быть типа элементов файла. SEEK (имя_файл_переменной, N) – установка указателя на N-ый элемент, обозначенного переменной. N - целочисленное выражение. SEEK (имя_файл_переменной, FILESIZE (имя_файл_ переменной)) – перемещает указатель в конец файла чтобы расширить файл. Содержит количество компонентов в файле. FLUSH (имя_файл_переменной) – осуществляет очистку внутреннего буфера переменной, и гарантирует, что он будет записан на диск, если во время последнего обновления диска выполнялись какие-либо операции записи. Обеспечивает, что следующая операция чтения будет брать данные из дискового файла. CLOSE (имя_файл_переменной) – закрытие дискового файла, обозначенного переменной. При этом справочник диска обновляется. ERASE (имя_файл_переменной) – удаление файла на внешнем носителе. Если файл открыт и над ним производились действия командами RESET и REWRITE, перед стиранием файла его необходимо закрыть.
RENAME (имя_файл_переменной, ’новое_имя_файла’) – переименование внешнего файла. Справочник диска обновляется, в него заносится новое имя файла. Новое имя файла не должно совпадать с существующем. Обработка файлов. EOF (имя_файл_переменной) – определение конца файла. Число элементов файла не задается заранее, но вводится признак конца файла: логическая функция, результат которой TRUE (истина) или FALSE (ложь). FILEPOS (имя_файл_переменной) – определение номера элемента, на который «смотрит» указатель. Целочисленная функция - номер компонента. PUT (имя_файл_переменной) – добавляет новый компонент, осуществляет запись значения переменной в файл.. GET (имя_файл_переменной) – выбор следующего компонента файла, передвижения указателя на один компонент. переменная получает значение компонента, если файл не пуст. 3. Текстовые файлы содержат символы, разделенные на строки. В конце каждой строки стоит признак ее конца. Для описания используется слово TEXT: VAR имя_файла: TEXT; Текстовые файлы не являются типизированными. Их отличие от типизированных файлов заключается в следующем: 1. Элементами текстовых файлов являются символы со строковой структурой. 2. При чтении и записи числа преобразуются автоматически. Операции над текстовыми файлами. Для текстовых файлов применимы те же процедуры и функции, что и для обычных файлов: ASSIGN, RESET и REWRITE. Но SEEK, FLUSH, FILEPOS и FILESIZE к текстовым файлам применять нельзя. APPEND (имя_файл_переменной) – открытие внешнего файла, с которым связана файловая переменная и помещение указателя в конец. EOLN (имя_файл_переменной) – определение конца строки. Результат выполнения равен – TRUE (истина), если указатель стоит на символе конца. SEEKEOLN (имя_файл_переменной) – определение конца строки. Указатель перескакивает пробелы и табуляцию, перед выполнением на конец строки. SEEKEOF (имя_файл_переменной) – определение конца файла. Применительно к текстовому файлу результат операции равен – TRUE (истина), если указатель файла располагается на метке конца файла. Специфика ввода и вывода текстового файла. Ввод и вывод текстовых файлов выполняется при помощи операций READ, READLN, WRITE и WRITELN, задающихся с параметрами. Если параметром процедуры ввода-вывода является идентификатор переменной текстового файла, то выполнение будет производиться с использованием файла, иначе - будут использоваться стандартные файлы INPUT и OUTPUT, их не нужно описывать.
READ (имя_файл_переменной, переменная1, …, переменнаяN) – ввод из текстового файла и подготавливается только для чтения. После выполнения команды READLN считывается информацию с начала следующей строки. WRITE (имя_файл_переменной, переменная1,…, переменнаяN) – вывод из текстового файла который предварительно был назван файловой переменной. Аналогично выполняется команда WRITELN. Задание: Выполняется на основе программы по заданию из лабораторной работы № 5. Предусмотреть сообщение результатов тестирования в виде оценки и выдачу рекомендаций пользователю или экстренный выход из программы. Данные диалога, например, фамилия, имя, отчество и количество набранных баллов хранятся в специально создаваемом текстовом файле. При этом информация предварительно шифруется путем отображения символов в числовом эквиваленте при помощи оператора ORD, а расшифровывается в последствии оператором CHR. Для работы нужно будет вспомнить особенности работы с символьными и строковыми типами данных и оператор LENGTH (СТРОКА) - длина строки (результат типа INTEGER). Вопросы для самоконтроля: 1. Общий алгоритм создания и обработки файла для Turbo Pascal. 2. Привести примеры использования файлов последовательного доступа. 3. Как распознать конец файла данных средствами Turbo Pascal? Литература: 1, 2, 3, 6, 7, 9, 14. Лабораторная работа № 7. Тема: Знакомство с объектно-ориентированной средой программирования. Цель: Ознакомиться с объектами: форма, текстовое поле, рисунок, кнопка и их основными свойствами, а также другими элементами в среде программирования Borland Delphi.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|