- •Институт кибернетики, информатики и связи
- •Отделение информационных технологий и вычислительной техники
- •«Тюменский государственный нефтегазовый университет»
- •Теоретическая часть:
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите листинг второй программы с комментариями
- •Контрольные вопросы и задания:
- •Практическая часть
Теоретический материал:
Описание нетипизированных файлов:
var f: file;
Нетипизированные файлы содержат данные любых типов, запись, чтение и дозапись происходит байтами.
Основные процедуры и функции для работы с нетипизированными файлами:
assign(f, ‘путь к файлу’) – связать файл с файловой переменной
rewrite(f) – открыть файл для записи
reset(f) – открыть файл для чтения
blockwrite(f, x, n) – записать в файл значение переменной x, n – количество записываемых байт
blockread(f, x, n) – считать из файла значение переменной x, n – количество считываемых байт
Задания:
Создайте нетипизированный файл с именем ‘1.res’, записав в него целые числа от 1 до n. Выведите содержимое файла на экран.
Считайте из файла ‘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, закрываем файл.
Контрольные вопросы и задания:
По каким признакам классифицируются файлы в Pascal?
Как объявляется нетипизированный файл?
В чём отличие типизированных файлов от нетипизированных?
Какие процедуры и функции используются для работы с нетипизированными файлами?
Рекомендуемая литература: 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.8, 2.3, 2.4, 2.5.
Функции и процедуры для работы с нетипизированными файлами в Pascal: описание, назначение. Алгоритмы записи, чтения, дозаписи в нетипизированный файл (50 баллов)
Функции и процедуры для работы с текстовыми файлами в Pascal: описание, назначение. Алгоритмы записи, чтения, дозаписи в текстовый файл (50 баллов)
Основные принципы модульного програмирования, организация пользовательского модуля и его струк тура (50 баллов)
Назначение различных частей пользовательского модуля в Pascal, включение и использование пользовательского модуля в основной программе (50 баллов)
Обзор стандартных библиотечных модулей в Pascal (50 баллов)
Процедуры и функции для работы с модулем Crt в Pascal (50 баллов)
Процедуры и функции для работы с модулем Graph в Pascal (50 баллов)
Понятия и свойства ООП: объект, инкапсуляция, полиморфизм, наследование, иерархия. Приведите примеры описания и использования объектов в программировании (50 баллов)
