Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_ОАиП.doc
Скачиваний:
47
Добавлен:
01.04.2025
Размер:
5 Мб
Скачать
☆

Лабораторная работа №32.

Тема: Задачи на текстовые файлы.

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

Ход работы.

Проанализируйте программу, которая вводит текстовый файл file.txt с клавиатуры, выводит его содержимое на экран дисплея, подсчитывает количество символов и строк в данном текстовом файле.

const sumstr:word=0; {число строк}

sumchr:word=0; {число символов}

var f:text; {файловая переменная типа text}

stroka:string; {буферная переменная для строк файла}

begin

writeln('Введите текст из строк, ввод закончите символов #');

assign(f,'file.txt');

{создание нового файла, ввод данных с клавиатуры}

rewrite(f);

repeat

readln(stroka);

if (stroka<>'#') then writeln(f,stroka); {запись строки в файл}

until stroka='#';

close(f);

{открытие, вывод и обработка файла}

reset(f);

writeln('Файл содержит:');

while not eof(f) do

begin

readln(f,stroka); {чтение строки из файла}

writeln(stroka);

inc(sumstr,1); {подсчет числа строк}

inc(sumchr,length(stroka)); {подсчет числа символов}

end;

writeln('В файле: строк-',sumstr,', символов-',sumchr);

close(f);readln;

end.

Следующий пример программы находит в существующем файле все строки, содержащие набор символов, введенных с клавиатуры. Результат поиска выводится на экран и одновременно записывается в файл с именем analysis.txt.

const sum:word=0; {счетчик: сколько раз нашли}

var f1,f2:text; name,str,search:string[80];

begin

write('Введите имя файла:'); readln(name);

write('Введите строку поиска:'); readln(search);

{связываем f1 и f2 с именами файлов}

assign(f1,name); assign(f2,'analisis.txt');

reset(f1); rewrite(f2);

writeln('Протокол поиска:'); writeln(f2,'Протокол поиска:');

{пока не конец файла f1, выполняем цикл}

while not eof(f1) do

begin

readln(f1,str); { вводим строку str из файла f1}

if pos(search,str)>0 then

begin {ищем search в str}

inc(sum); writeln('Найдено (раз):',sum);

writeln(str); {вывод на экран}

writeln(f2,str); {вывод в файл}

end;

end;

{закрываем файлы}

close(f1); close(f2); readln;

end.

Задачи для самостоятельной работы

1. Создать текстовый файл, содержащий произвольное количество гласных букв русского алфавита. Длину каждой строки должен определять пользователь. Просчитать количество символов каждой буквы и дописать в файл полученную информацию.

2. Создать текстовый файл, содержащий произвольное количество букв русского алфавита. Длину каждой строки должен определять пользователь. Просчитать количество символов гласных и согласных букв и дописать в файл полученную информацию.

3. Создать текстовый файл, содержащий произвольное количество символов. Длину каждой строки должен определять пользователь. Просчитать количество символов каждой буквы русского алфавита и дописать в файл полученную информацию.

4. Создать текстовый файл, содержащий произвольное количество символов. Длину каждой строки должен определять пользователь. Просчитать количество цифр и дописать в файл полученную информацию.

5. Создать текстовый файл, содержащий произвольное количество символов. Длину каждой строки должен определять пользователь. Просчитать количество символов каждой буквы латинского алфавита и дописать в файл полученную информацию.