Переписать текст в файл output.txt, заменив, где возможно, слова их синонимами - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Файл input.txt содержит несколько строк текста. Слова в тексте могут разделяться пробелами и знаками препинания. Переписать текст в файл output.txt, заменив, где возможно, слова их синонимами. Список синонимов находится в файле sinonim.dat в виде: слово1 синонимслова1 слово2 синонимслова2 ....................... словоN синонимсловаN

Решение задачи: «Переписать текст в файл output.txt, заменив, где возможно, слова их синонимами»

textual
Листинг программы
  1. const
  2.   Delims=[#0..#127]-['0'..'9','A'..'Z','a'..'z'];
  3. var
  4.   fs: Text;
  5.  
  6. function Synonym(s: String): String;
  7. var p: String;
  8. begin
  9.   Synonym:=s; s:=s+' '; Reset(fs);
  10.   while not EOF(fs) do begin
  11.     ReadLn(fs,p);
  12.     if Pos(s,p)=1 then begin
  13.       Synonym:=Copy(p,Length(s)+1,255); Break;
  14.     end;
  15.   end;
  16. end;
  17.  
  18. var
  19.   s, d, w: String;
  20.   i: Integer;
  21. begin
  22.   Assign(fs,'sinonim.dat');
  23.   Assign(input,'input.txt'); Assign(output,'output.txt');
  24.   Reset(fs); Reset(input); Rewrite(output);
  25.   while not EOF do begin
  26.     ReadLn(s); s:=s+' '; d:=''; w:='';
  27.     for i:=1 to Length(s) do begin
  28.       if s[i] in Delims then begin
  29.         if w>'' then d:=d+Synonym(w);
  30.         d:=d+s[i]; w:='';
  31.       end else w:=w+s[i];
  32.     end;
  33.     WriteLn(Copy(d,1,Length(d)-1));
  34.   end;
  35.   Close(fs); Close(input); Close(output);
  36. end.

Объяснение кода листинга программы

  1. В начале кода объявляются константы и переменные.
  2. В функции Synonym происходит поиск синонимов для слова в тексте из файла sinonim.dat.
  3. В основном блоке кода происходит чтение и запись текста из/в файлы input.txt и output.txt.
  4. В каждой строке текста, разделенной пробелами, ищутся слова, которые нужно заменить.
  5. Каждое найденное слово, если оно найдено, заменяется синонимом из файла sinonim.dat.
  6. Записанные в переменную d строки, содержащие найденные слова и их синонимы, записываются в файл output.txt.
  7. После каждой строки, содержащей найденные слова, записывается следующая строка, не содержащая найденные слова.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы