Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
paskal.doc
Скачиваний:
71
Добавлен:
10.06.2015
Размер:
1.28 Mб
Скачать

Порядок выполнения работы

  1. Изучить теоретические сведения по теме “Написание программы на языке Паскаль с использованием файловых переменных. Разработка программы для работы с текстовым файлом”.

  2. Получить у преподавателя индивидуальное задание и разработать программу для работы с текстовым файлом согласно заданному варианту.

  3. Показать работающую программу преподавателю.

  4. Ответить на контрольные вопросы.

Контрольные вопросы

  1. Понятие файла. Описание файлового типа данных.

  2. Файлы последовательного и прямого доступа. Средства обработки файлов.

  3. Текстовые файлы. Процедуры и функции работы с текстовыми файлами.

Лабораторная работа № 29

Разработка программы для работы с типизированным файлом

Цель работы: формирование знаний и умений по работе с типизированными файлами.

Краткие теоретические сведения

Типизированные файлы

К типизированным файлам относятся файлы строго определенного типа. Чаще всего это файлы, состоящие из записей. Они применяются для создания различных баз данных. Стандартное задание в программе такой файловой переменной осуществляется следующим образом:

Type

FileRec = record

end;

Var

F : file of FileRec;

Если в текстовых файлах содержимое рассматривается как наборы символов, подготовленные специальным образом с учетом общепринятых соглашений о представлении текстовой информации, то в типизированных файлах их содержимое рассматривается как последовательность записей определенной структуры. Единицей измерения такого набора данных является сама запись. Длина записи определяется как SizeOf(FileRec). Так как длина любого компонента типизированного файла строго постоянна, это дает возможность организовать прямой доступ к любому компоненту по его порядковому номеру, поэтому типизированные файлы часто называют файлами прямого доступа.

Seek(var F; NumRec: Longint)

Процедура устанавливает текущую файловую переменную F на запись с номером NumRec; F - файловая переменная для типизированных и нетипизированных наборов данных. При открытии типизированного файла текущая позиция для работы с ним установлена на начало первой записи, которая по принятым соглашениям имеет номер 0, т. е. номер физической записи на единицу меньше номера логической записи.

Средства работы с типизированными файлами

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

Truncate(var F);

Процедура уничтожает все компоненты файла F, начиная с места текущего положения файлового указателя.

FilePos(var F) : Longint

Функция возвращает для файла F текущую файловую позицию (номер записи, на которую она установлена) в виде значения типа Longint

FileSize(var F) : Longint

и его размер (количество записей) в виде значения типа Longint.

Для пустого файла вызов FileSize возвращает значение 0. Локализация ошибок при обращении к внешним носителям для обоих функций производится через IOresult.

Для того чтобы очередная запись могла быть записана в конец типизированного файла, необходимо перевести текущую файловую позицию в конец файла. Когда создается новый файл, это происходит автоматически после формирования каждой очередной записи. Если файл уже создан и файловая позиция, установленная по Seek, находится где-нибудь в начале файла (FilePos(F) < FileSize(F)), то в конец файла ее позволяет перевести вызов

Seek(F, FiieSize(F));

В каждом файле число логических и физических записей совпадает, а при позиционировании номер физической записи на единицу меньше номера логической записи.

Когда записи располагаются в неотсортированном по фамилиям порядке, поиск необходимо осуществлять последовательно по всему файлу. Такое расположение записей требует значительных расходов ресурсов системы для поиска нужной записи. Любая программная система по манипулированию базами данных всегда имеет в своем составе средства упорядочения записей по ключу.

Ключом называется совокупность знаков, идентифицирующая запись в файле. Ключ сортировки — одно или несколько полей в записи файла, по содержимому которых осуществляется упорядочение его записей, например список учащихся в классном журнале отсортирован по ключу фамилия.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]