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

Контрольные вопросы и задания:

  1. Что представляет собой запись как тип? Назначение этого типа.

  2. Охарактеризуйте структуру типа запись.

  3. Каким образом происходит обращение к полю в некоторой записи и его заполнение?

  4. Для чего предназначен оператор присоединения?

Рекомендуемая литература: 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.8, 2.3, 2.4, 2.5.

Практическое занятие №8

Тема: Составление программ, работающих с различными типами файлов

Цель: применение алгоритмов записи, чтения и дозаписи типизированных файлов на практике.

Вид работы: фронтальный.

Время выполнения: 2 часа.

Теоретический материал:

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

Описание файловой переменной имеет следующий вид:

  1. Type

имя типа = file of базовый тип;

Var

имя файла: имя типа;

  1. 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. Описывается две файловые переменные символьного типа. Исходный файл открываем для чтения, ещё не существующий файл открываем для записи. При чтении символа из первого файла записываем его во второй файл и определяем, равен ли считанный символ точке, если – да, то во второй файл добавляем ещё две точки. Поскольку в задаче требуется заменить исходный файл, то нужно его программно удалить и переименовать второй файл, присвоив ему имя исходного.