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

Тема №8: файлы. Типизированные файлы. Текстовые файлы.

ПРОГРАММНО - ДИДАКТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ: ЭВМ типа IBM. ТР5.

ЦЕЛИ И ЗАДАЧИ: Дать представление о файлах и средствах их обработки с помощью ТР5. Приобретение навыков составления программ с использованием файлов различного типа

ТРЕБОВАНИЯ К ЗНАНИЯМ И УМЕНИЯМ:

Учащиеся должны знать:

  • Что такое файл;

  • Какие бывают файлы;

  • Что такое файловая переменная;

  • Как описываются типизированные файлы;

  • Процедуры и функции работы с файлами;

  • Процедуры и функции работы с типизированными и текстовыми файлами;

  • Как описываются текстовые файлы.

Учащиеся должны уметь:

  • Правильно описывать типизированные и текстовые файлы;

  • Правильно пользоваться файловой переменной;

  • Составлять программы с использованием типизированных и текстовых файлов;

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

ПЛАН-СОДЕРЖАНИЕ УРОКА

Основные понятия

Мы все время рассматривали задачи, в которых данные поступают с клавиатуры, а результаты выводятся на экран. Ни исходные данные, ни результаты не сохраняются. А если данных слишком много? Как записать их на диск? Для этого необходимо исходные данные и результаты оформить в виде файлов, которые хранятся на диске.

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

Файл может быть компонентом другой структуры, но не должен входить в другой файл.

Отличие файла от массива: размещение на внешнем носителе, длина файла не задается, место элемента не определяется индексом.

Файлы бывают:

  • типизированные

  • нетипизированные

  • текстовые

Файл объявляется в разделе описания переменных с указанием типа элементов файла.

Например:

Var F1: file of integer; F2: file of char; F3: text; F4: file;

Типизированными файлами называются файлы, в описании которых присутствует указание типа. Типизированные файлы – это файлы с прямым доступом к компонентам (записям).

Нетипизированный файл – это просто последовательность байтов, без конкретизации структуры.

Файл, компонентами которого являются данные символьного типа, называется текстовым. Отличие текстовых файлов от типизированных - наличие строковой структуры. В текстовые файлы можно записывать любую информацию, в том числе числа. При этом они (числа) автоматически преобразуются в строковые величины, а при считывании из файла – обратное преобразование в числа.

Описание файлов:

Тип файла

Описание файла

Типизированный

Var F1: file of integer;

F2: file of char;

Нетипизированный

Var F3: file;

Текстовый

Var F: text;

Файл на техническом носителе определяется полным именем (<путь>\<собственно имя>.<расширение>). Для обозначения файла и работе с ним в программе используется файловая переменная.

Файловая переменная - это переменная, используемая в программах для обозначения файла и обращения к нему. Она не может использоваться как обычная переменная (слева от знака присваивания, в логических и арифметических выражениях).

Особенности файловой переменной:

  1. Ей нельзя присваивать какие-либо значения

  2. Она не может участвовать в логических операциях

  3. Она не может входить в математические выражения

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

При работе с файловыми переменными, используются специальные процедуры и функции:

Процедура

Назначение

Замечание

Assign(f, ‘name’)

Связывает файловую переменную с конкретным файлом (привязывает переменную к имени файла). Ставится перед первым использованием файловой переменной.

Можно имя файла ’name’ задавать через строковую перемен­ную (S): Assign(f, S)

Reset(f)

Открывает существующий файл и устанав­ливает указатель на начало записи.

Для любых файлов

Rewrite(f)

Создает новый пустой файл, устанавливает указатель - на начало файла. Если файл су­ществовал, то его содержимое уничтожается.

Для любых файлов

Close(f)

Закрывает открытый файл

Для любых файлов

Erase(f)

Стирает предварительно закрытый файл

Для любых файлов

Rename(f, f1)

Переименовывает файл f в файл f1. Файл f должен быть предварительно закрыт

Для любых файлов

EOF(f)

Получение сведений о конце файла True, если указатель указывает на метку конца файла, иначе - False

Логическая функция.

Read(f,v1,…vn)

Считывает записи из файла f в переменные v1, …vn

Для типизированных и нетипизированных фай­­лов

Write(f,v1,…vn)

Записывает в файл f значения переменных v1,…vn

Для типизированных и нетипизированных фай­­лов

Readln(f,v1,…vn)

Считывает записи из файла f в переменные v1, …vn

в типизированных фай­лах недопус­ти­мо

Writeln(f,v1,…vn)

Записывает в файл f значения переменных v1,…vn

в типизированных фай­лах недопусти­мо

N:=filesize(F);

Определение количества записей в файле

Функция

Eoln(f)

True, если указатель на метке конца строки, иначе - False

Логическая функция. Для текс­товых фай­лов

Append(f)

Открывает файл и устанавливает указатель на метку конца файла

Применяется для до­­бавления записей

N:=filepos(f)

Выдает номер записи, на которую указывает указатель записи. Первая запись имеет номер 0.

Функция

seek(f,n)

Устанавливает указатель на запись с номером n

truncate(f)

Отсекает все записи, находящиеся после указателя и в этой позиции записывает метку конца файла.

Пимеры программ:

  • Пример записи типизированных файлов:

var f: filt of integer;

assign(f, ‘file’); … rewrite(f); …write(f, v1,v2,…, vn); clos(f);

  • Пример считывания типизированных файлов:

var f: filt of integer;

assign(f, ‘file’); … reset(f); … read(f, v1,v2,…, vn); clos(f);