Лабораторная работа № 14

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

Разработка программ работы с текстовыми файлами

Цель работы

Изучение принципов работы с текстовыми файлами в языке Pascal и разработка программ для обработки текстовой информации.

Теоретические сведения

Текстовые файлы — это файлы, содержащие символьные данные, разделенные на строки.

Основные операции с текстовыми файлами:

·                     Описание файловой переменной: var f: text;

·                     Связывание с файлом: assign(f, 'имя_файла.txt');

·                     Открытие для записи: rewrite(f);

·                     Открытие для чтения: reset(f);

·                     Запись данных: write(f, данные);

·                     Чтение данных: read(f, данные);

·                     Закрытие файла: close(f);

Задания

Задание 1. Создание и чтение текстового файла

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

pascal

program FileCreateRead;

var

  f: text;

  filename, str: string;

  n, i: 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 WordCount;

const

  delimiters = [' ', '.', ',', ':', ';'];

var

  f: text;

  filename, str: string;

  word_count, i: integer;

begin

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

  readln(filename);

 

  assign(f, filename);

  reset(f);

 

  word_count := 0;

  while not eof(f) do

  begin

    readln(f, str);

    i := 1;

    while i <= length(str) do

    begin

      if (str[i] in delimiters) then

      begin

        if i > 1 then

          inc(word_count);

        while (i <= length(str)) and (str[i] in delimiters) do

          inc(i);

      end

      else

        inc(i);

    end;

  end;

 

  close(f);

  writeln('Количество слов: ', word_count);

end.

Задание 3. Поиск слова в файле

Написать программу для поиска заданного слова в текстовом файле.

pascal

program SearchWord;

const

  delimiters = [' ', '.', ',', ':', ';'];

var

  f: text;

  filename, pattern, word: string;

  line_num: integer;

begin

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

  readln(filename);

  writeln('Введите слово для поиска: ');

  readln(pattern);

 

  assign(f, filename);

  reset(f);

  line_num := 0;

 

  while not eof(f) do

  begin

    inc(line_num);

    readln(f, word);

    if pos(pattern, word) > 0 then

      writeln('Слово найдено в строке ', line_num);

  end;

 

  close(f);

end.

Порядок выполнения работы

1.            Изучить теоретические сведения.

2.            Разработать алгоритмы для каждого задания.

3.            Написать программы с учетом требований к обработке файлов.

4.            Протестировать программы на различных наборах данных.

5.            Оформить отчет.

Требования к отчету

1.            Титульный лист.

2.            Цель работы.

3.            Теоретические сведения.

4.            Листинги программ с комментариями.

5.            Результаты тестирования.

6.            Ответы на контрольные вопросы.

 


Last modified: Saturday, 25 October 2025, 10:16 AM