Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Обработка файловых структур данных в Turbo Pascal




Цель: Ознакомиться со спецификой работы с функциональным типом данных на примере текстовых файлов языка программирования Turbo Pascal.

Задачи:

1) Составить алгоритм и блок-схему по заданию.

2) Составить программу решения.

3) Написать программу, осуществляющую ввод данных в файл и просмотр полученных результатов средствами языка программирования Turbo Pascal.

Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, Оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.

Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.

Краткое изложение основных теоретических и методических аспектов:

1. Структурированный тип данных.

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

2. Файловый тип данных.

Есть возможность записывать исходные данные и результаты работы в виде файлов, которые хранятся на диске как программа. Файлыпредставляют собой упорядоченную совокупность произвольного числа компонентов одного типа с последовательным методом доступа. Они хранят больше информации, чем основная память, т. к. позволяют использовать внешние носители. Файлы могут использоваться несколькими программами и сохраняться после завершения работы.

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

Количество элементов в файле может быть любым и заранее не фиксируется. После каждого элемента автоматически ставится признак конца элемента, а в конце - конца файла. С каждым файлом можно связать текущий указатель, неявно описанную переменную, указывающую на конкретный элемент. Действия с файлами производятся поэлементно - в них участвует элемент, на котором находится текущий указатель, перемещающийся в результате выполнения действий на следующий элемент. Положение первого элемента - 0.

Каждый внешний файл должен описываться как переменная в главной программе. Файлы, не используемые для ввода и вывода данных, являются внутренними, локальными переменными. Переменные файлового типа могут быть описаны в программе либо явно в разделе переменных:

VAR имя_файла: FILE OF базовый_тип_элементов;

2.1. Операции над файлами.

ASSIGN (имя_файл_переменной, ’имя_файла’) – присваивание имени файла, для установления связи между переменной и именем файла, присваиваемого операционной системой. Все операции с переменной будут выполняться с файлом на диске. Нельзя употреблять для используемого файла.

REWRITE (имя_файл_переменной) – открытие файла для записи. Запись в файл – это вывод результатов программы из оперативной памяти на диск. На внешнем устройстве создается новый файл с именем, присвоенным переменной, он подготавливается к обработке, указатель устанавливается на начало –. Файл сначала пустой. Существующий файл с таким же именем стирается.

RESET (имя_файл_переменной) – установка файла в исходное состояние, данные становятся доступными. Файл с именем, присвоенным переменной, подготавливается к обработке и указатель устанавливается на начало.

APPEND (имя_файл_переменной) – открытие внешнего файла. Файл, обозначенный переменной, открывается, и указатель перемещается на конец файла для добавления новых компонентов.

READ (имя_файл_переменной, элемент) – чтение из файла. Под чтением понимается ввод данных из внешнего файла в оперативную память.

WRITE (имя_файл_переменной, элемент)– запись в файл. Элемент должен быть типа элементов файла.

SEEK (имя_файл_переменной, N) – установка указателя на N-ый элемент, обозначенного переменной. N - целочисленное выражение.

SEEK (имя_файл_переменной, FILESIZE (имя_файл_ переменной)) – перемещает указатель в конец файла чтобы расширить файл. Содержит количество компонентов в файле.

FLUSH (имя_файл_переменной) – осуществляет очистку внутреннего буфера переменной, и гарантирует, что он будет записан на диск, если во время последнего обновления диска выполнялись какие-либо операции записи. Обеспечивает, что следующая операция чтения будет брать данные из дискового файла.

CLOSE (имя_файл_переменной) – закрытие дискового файла, обозначенного переменной. При этом справочник диска обновляется.

ERASE (имя_файл_переменной) – удаление файла на внешнем носителе. Если файл открыт и над ним производились действия командами RESET и REWRITE, перед стиранием файла его необходимо закрыть.

RENAME (имя_файл_переменной, ’новое_имя_файла’) – переименование внешнего файла. Справочник диска обновляется, в него заносится новое имя файла. Новое имя файла не должно совпадать с существующем.

2.2. Обработка файлов.

EOF (имя_файл_переменной) – определение конца файла. Число элементов файла не задается заранее, но вводится признак конца файла: логическая функция, результат которой TRUE (истина) или FALSE (ложь).

FILEPOS (имя_файл_переменной) – определение номера элемента, на который «смотрит» указатель. Целочисленная функция - номер компонента.

PUT (имя_файл_переменной) – добавляет новый компонент, осуществляет запись значения переменной в файл..

GET (имя_файл_переменной) – выбор следующего компонента файла, передвижения указателя на один компонент. переменная получает значение компонента, если файл не пуст.

3. Текстовые файлы содержат символы, разделенные на строки. В конце каждой строки стоит признак ее конца. Для описания используется слово TEXT:

VAR имя_файла: TEXT;

Текстовые файлы не являются типизированными. Их отличие от типизированных файлов заключается в следующем:

1. Элементами текстовых файлов являются символы со строковой структурой.

2. При чтении и записи числа преобразуются автоматически.

3.1. Операции над текстовыми файлами.

Для текстовых файлов применимы те же процедуры и функции, что и для обычных файлов: ASSIGN, RESET и REWRITE. Но SEEK, FLUSH, FILEPOS и FILESIZE к текстовым файлам применять нельзя.

APPEND (имя_файл_переменной) – открытие внешнего файла, с которым связана файловая переменная и помещение указателя в конец.

EOLN (имя_файл_переменной) – определение конца строки. Результат выполнения равен – TRUE (истина), если указатель стоит на символе конца.

SEEKEOLN (имя_файл_переменной) – определение конца строки. Указатель перескакивает пробелы и табуляцию, перед выполнением на конец строки.

SEEKEOF (имя_файл_переменной) – определение конца файла. Применительно к текстовому файлу результат операции равен – TRUE (истина), если указатель файла располагается на метке конца файла.

3.2. Специфика ввода и вывода текстового файла. Ввод и вывод текстовых файлов выполняется при помощи операций READ, READLN, WRITE и WRITELN, задающихся с параметрами. Если параметром процедуры ввода-вывода является идентификатор переменной текстового файла, то выполнение будет производиться с использованием файла, иначе - будут использоваться стандартные файлы INPUT и OUTPUT, их не нужно описывать.

READ (имя_файл_переменной, переменная1, …, переменнаяN) – ввод из текстового файла и подготавливается только для чтения. После выполнения команды READLN считывается информацию с начала следующей строки.

WRITE (имя_файл_переменной, переменная1,…, переменнаяN) – вывод из текстового файла который предварительно был назван файловой переменной. Аналогично выполняется команда WRITELN.

Самостоятельно изучить вопросы:

1. Общий алгоритм создания и обработки файла для Turbo Pascal.

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

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

1. Как распознать конец файла данных средствами Turbo Pascal?

2. Как распознать текстовый файл на диске?

Задания: Составить тест по любой теме, посвященной программированию на Turbo Pascal.

Порядок выполнения:

1) Придумать десять вопросов, на каждый из которых предусмотрено три-четыре варианта ответов, один или два из которых правильные.

2) Изучить существующие алгоритмы принятия решений и реализацию обработки статистических данных.

3) Открыть Turbo Pascal.

4) Составить алгоритм и, по нему, блок-схему.

5) Набрать разработанную программу.

6) Подготовить тестовый вариант программы и исходных данных.

7) Сделать вывод по полученным результатам работы.

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...