Лабораторная работа № 13
Лабораторная работа№13
Разработка программ работы со структурированными и неструктурированными файлами
Цель работы
Изучение принципов работы с файлами различных типов в языке Pascal и разработка программ для обработки структурированных и неструктурированных данных.
Теоретические сведения
Файлы в Pascal делятся на три основных типа:
· Текстовые файлы (text)
· Типизированные файлы (file of)
· Нетипизированные файлы (file)
Основные операции с файлами:
· Создание и открытие файла (Assign, Rewrite)
· Чтение из файла (Reset, Read)
· Запись в файл (Write)
· Закрытие файла (Close)
Задания
Задание 1. Работа с текстовым файлом
Создать программу для записи и чтения строк из текстового файла.
pascal
program TextFileExample;
var
f: text;
filename: string;
str: string;
i, n: integer;
begin
writeln('Введите имя файла: ');
readln(filename);
assign(f, filename);
rewrite(f);
writeln('Сколько строк записать? ');
readln(n);
for i := 1 to n do
begin
writeln('Введите строку ', i, ': ');
readln(str);
writeln(f, str);
end;
close(f);
reset(f);
writeln('Содержимое файла:');
while not eof(f) do
begin
readln(f, str);
writeln(str);
end;
close(f);
end.
Задание 2. Работа с типизированным файлом
Создать программу для работы с файлом целых чисел.
pascal
program TypedFileExample;
type
TNumber = integer;
var
f: file of TNumber;
filename: string;
num, n: TNumber;
i: integer;
begin
writeln('Введите имя файла: ');
readln(filename);
assign(f, filename);
rewrite(f);
writeln('Сколько чисел записать? ');
readln(n);
for i := 1 to n do
begin
writeln('Введите число ', i, ': ');
readln(num);
write(f, num);
end;
close(f);
reset(f);
writeln('Содержимое файла:');
while not eof(f) do
begin
read(f, num);
writeln(num);
end;
close(f);
end.
Задание 3. Работа с нетипизированным файлом
Создать программу для записи и чтения байтовых данных.
pascal
program UnTypedFileExample;
var
f: file;
filename: string;
buffer: array[1..100] of byte;
len: integer;
begin
writeln('Введите имя файла: ');
readln(filename);
assign(f, filename);
rewrite(f, 1);
len := 10;
for i := 1 to len do
buffer[i] := i;
blockwrite(f, buffer, len);
close(f);
reset(f, 1);
blockread(f, buffer, len);
writeln('Содержимое файла:');
for i := 1 to len do
write(buffer[i]:3);
close(f);
end.
Порядок выполнения работы
1. Изучить теоретические сведения.
2. Разработать алгоритмы для каждого задания.
3. Написать программы с учетом требований к обработке файлов.
4. Протестировать программы на различных наборах данных.
5. Оформить отчет.
Требования к отчету
1. Титульный лист.
2. Цель работы.
3. Теоретические сведения.
4. Листинги программ с комментариями.
5. Результаты тестирования.
6. Ответы на контрольные вопросы.
Контрольные вопросы
1. Какие типы файлов существуют в Pascal и в чем их отличия?
2. Какие основные операции выполняются с файлами?
3. В чем преимущества и недостатки использования типизированных файлов?
4. Как осуществляется контроль ошибок при работе с файлами?
5. Опишите процесс создания и открытия файла в Pascal.
Какие функции используются для определения