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

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

  1. Опишите файловую переменную типа запись.

  2. Охарактеризуйте процедуры и функции для работы с типизированными файлами.

  3. Каким образом осуществляется чтение данных из типизированных файлов?

  4. Применяется ли для записи в символьный файл оператор Readln? Почему?

  5. Можно ли произвести дозапись в типизированный файл, открыв его в текстовом редакторе? Объясните.

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

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

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

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

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

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

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

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

var f: file;

Нетипизированные файлы содержат данные любых типов, запись, чтение и дозапись происходит байтами.

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

  1. assign(f, ‘путь к файлу’) – связать файл с файловой переменной

  2. rewrite(f) – открыть файл для записи

  3. reset(f) – открыть файл для чтения

  4. blockwrite(f, x, n) – записать в файл значение переменной x, n – количество записываемых байт

  5. blockread(f, x, n) – считать из файла значение переменной x, n – количество считываемых байт

Задания:

  1. Создайте нетипизированный файл с именем ‘1.res’, записав в него целые числа от 1 до n. Выведите содержимое файла на экран.

  2. Считайте из файла ‘1.res’ числа, каждое число умножьте на 10 и осуществите их дозапись в файл.

Ход работы: в тетрадь оформите листинг второй программы с комментариями

1. Алгоритм решения задачи можно представить так:

а) описать файловую переменную – var f: file; и другие переменные;

б) связать файловую переменную с файлом – assign(f, ‘1.res’);

в) открыть файл для записи – rewrite(f);

г) ввести с клавиатуры значение n – readln(n);

д) организовать параметрический цикл по i от 1 до n;

е) записать параметр цикла в файл – blockwrite(f, i, 2);

ж) закрыть файл – close(f);

з) открыть файл для чтения – reset(f);

и) организовать цикл пока не достигнут конец файла – while not eof(f) do

к) считать символ – blockread(f, i, 2);

л) вывести на экран значение переменной i;

м) закрыть цикл;

н) закрыть файл – close(f).

2. Вторая задача решается с использованием файла, созданного в первой программе. Вводится вспомогательная переменная для описания одномерного массива x. В массив x будем записывать числа, считанные из файла ‘1.res’. Для этого открываем файл для чтения, в цикле считываем элементы, умножаем их на 10 и записываем в массив, закрываем файл. Затем открываем файл уже для записи, подводим файловый указатель в конец файла (операция seek(f, filesize(f)) – устанавливает указатель за последним элементом файла), записываем в файл элементы массива x, закрываем файл.

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

  1. По каким признакам классифицируются файлы в Pascal?

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

  3. В чём отличие типизированных файлов от нетипизированных?

  4. Какие процедуры и функции используются для работы с нетипизированными файлами?

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