Загрузка данных
Вот готовый отчет по практическому занятию № 39, составленный на основе предоставленных вами фотографий.
---
ОТЧЕТ
по практическому занятию № 39
Тема: Разработка программ работы с текстовыми файлами на Pascal ABC
Цель: Научиться работать с текстовыми файлами.
---
Ответы на контрольные вопросы:
1. Что такое текстовый файл?
Текстовый файл в Паскале — это последовательность строк произвольной длины, разделенных между собой метками конца строки, а весь файл заканчивается меткой конца файла. Это файл, в котором хранится текстовая информация (символы).
2. Какие существуют виды текстовых файлов?
По описанию и режиму работы файлы делятся на:
· Текстовые (text) — файлы со строками неопределенной длины;
· Типизированные (file of <тип>) — файлы с типом записей (двоичные);
· Нетипизированные (file) — файлы без типа для передачи данных блоками.
3. Как описать файловые переменные?
Описание происходит в разделе var.
Примеры:
f: text; (текстовый файл)
f1: file of char; (типизированный файл)
f2: file; (нетипизированный файл)
4. Как открыть файл?
Сначала файловая переменная связывается с реальным файлом на диске процедурой Assign(f, 'путь_к_файлу');.
Затем файл открывается:
· Reset(f); — для чтения существующего файла;
· Rewrite(f); — для записи (создания нового или очистки старого);
· Append(f); — для добавления информации в конец файла.
5. Как прочитать файл?
Файл должен быть открыт процедурой Reset. Чтение осуществляется процедурами Read(f, список_переменных) или ReadLn(f, список_переменных). Чтение происходит последовательно, от начала к концу.
6. Как записать в файл?
Файл должен быть открыт процедурой Rewrite или Append. Запись осуществляется процедурами Write(f, список_переменных) или WriteLn(f, список_переменных).
---
Выполнение практического задания:
(Примечание: в коде указаны пути к файлам, как в задании, но для работы на вашем ПК убедитесь, что папки для файлов существуют, или измените пути на удобные для вас, например, просто 'text.txt')
Задание 1
В файле text.txt записаны строки. Вывести первую и третью из них на экран. (Предварительно создайте файл text.txt с тремя строками).
```pascal
var
filetext: text;
a, b, c: string;
begin
{ Связываем переменную с файлом }
assign(filetext, 'c:\text.txt');
{ Открываем для чтения }
reset(filetext);
{ Читаем 1-ю строку }
readln(filetext, a);
{ Читаем 2-ю строку (пропускаем) }
readln(filetext, b);
{ Читаем 3-ю строку }
readln(filetext, c);
{ Закрываем файл }
close(filetext);
{ Выводим 1 и 3 строки }
writeln(a);
writeln(c);
end.
```
Задание 2
Считать из файла input.txt числа (записаны в столбик). Найти их произведение и записать в файл output.txt.
```pascal
var
p, x: integer;
f: text;
begin
assign(f, 'input.txt');
reset(f);
p := 1;
{ Читаем пока не достигнут конец файла }
while not eof(f) do begin
readln(f, x);
p := p * x;
end;
close(f);
{ Запись результата в другой файл }
assign(f, 'output.txt');
rewrite(f);
writeln(f, 'Произведение чисел ', p);
close(f);
end.
```
Задание 3
Дана строка S и текстовый файл. Добавить строку S в начало файла.
```pascal
var
F_in, F_out: Text;
Name, S: String;
begin
Write('S: ');
Readln(S);
{ Имена файлов }
Name := 'text.txt';
Assign(F_in, Name);
Reset(F_in);
{ Создаем временный файл }
Assign(F_out, 'text1.txt');
Rewrite(F_out);
{ Сначала записываем новую строку }
Writeln(F_out, S);
{ Затем копируем старый файл }
While not eof(F_in) do
begin
Readln(F_in, S);
Writeln(F_out, S);
end;
{ Закрываем оба файла }
Close(F_in);
Close(F_out);
{ Удаляем старый файл и переименовываем новый }
Erase(F_in);
Rename(F_out, Name);
end.
```
Задание 4
Создать текстовый файл с 3 предложениями. Прочитать его, вывести на экран и определить длину каждого предложения.
```pascal
Program File_text;
var
f1: text;
st: string;
n: byte;
begin
{ Связываем с файлом и создаем его }
assign(f1, 'file1.txt');
rewrite(f1);
{ Записываем предложения }
writeln(f1, 'Очень полезно изучать');
writeln(f1, 'всем студентам');
writeln(f1, 'язык Pascal');
close(f1);
{ Открываем для чтения }
reset(f1);
{ Читаем и выводим }
while not eof(f1) do begin
readln(f1, st);
writeln(st);
n := length(st);
writeln(' длина = ', n);
end;
close(f1);
end.
```
---
Вывод: В ходе выполнения практической работы я изучил(а) основные операции с текстовыми файлами в среде Pascal ABC: создание, открытие (Reset, Rewrite, Append), чтение (Read, ReadLn), запись (Write, WriteLn) и закрытие (Close).