Практическая работа №8
Тема: Составление программ, работающих с различными типами файлов
Цель: применение алгоритмов записи, чтения и до записи типизированных файлов на практике.
Вид работы: фронтальная.
Время выполнения: 2 часа.
Теоретический материал:
Файл – это набор однотипных элементов, с последовательным доступом; логический образ физического файла.
Описание файловой переменной имеет следующий вид:
1) Type
имя типа = file of базовый тип;
Var
имя файла: имя типа;
2) Var
имя файла: file of базовый тип.
В качестве базового типа можно использовать любой тип за исключением типа file.
Пример.
type
Person = record
FirstName: string[15];
LastName : string[25];
Address : string[35];
end;
PersonFile = file of Person;
NumberFile = file of Integer;
Доступ к элементам файла осуществляется через файловую переменную (указатель файла). При записи или считывании этот указатель перемещается к следующему элементу и делает его доступным для обработки. В каждый момент для записи или чтения доступен только один элемент файла, на котором установлен указатель. Так как число элементов файла не задается, в Турбо-Паскале существует функция EOF(f). Эта функция возвращает значение True, если достигнут конец файла.
Задания:
1) Дан символьный файл. Подсчитайте число вхождений в файл каждой из букв ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’ и организуйте вывод результата в табличной форме.
2) Преобразуйте символьный файл, заменив в нем каждую точку многоточием (т.е. тремя точками).
3) *Напишите процедуры: а) для создания файла типа запись (фамилия и телефон); б) для добавления некоторой записи в конец списка; в) для вывода данных из файла на экран. В основной программе осуществляйте вызов процедур по выбору пользователя.
Ход работы:
В тетрадь оформите листинг второй программы с комментариями
1. Описание символьного файла f: file of char. Из файла считываются данных по символам оператором read(f, x), где f – файловая переменная, x – символьная переменная. Производится проверка соответствия символа x буквам ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’ и подсчёт их количества (оператор case). Вывод результатов на экран представляется приблизительно в такой форме:
символ ‘a’ в тексте встречается 15
символ ‘b’ в тексте встречается 3
и т.д.
2. Описывается две файловые переменные символьного типа. Исходный файл открываем для чтения, ещё не существующий файл открываем для записи. При чтении символа из первого файла записываем его во второй файл и определяем, равен ли считанный символ точке, если – да, то во второй файл добавляем ещё две точки. Поскольку в задаче требуется заменить исходный файл, то нужно его программно удалить и переименовать второй файл, присвоив ему имя исходного.
Контрольные вопросы и задания:
1) Опишите файловую переменную типа запись.
2) Охарактеризуйте процедуры и функции для работы с типизированными файлами.
3) Каким образом осуществляется чтение данных из типизированных файлов?
4) Применяется ли для записи в символьный файл оператор Readln? Почему?
5) Можно ли произвести дозапись в типизированный файл, открыв его в текстовом редакторе? Объясните.
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.