Обработка текста - Turbo Pascal

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

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

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

Решение задачи: «Обработка текста»

textual
Листинг программы
var
  s, t: String;
  i, j: Integer;
  p, q: set of Char;
  b: Boolean;
begin
  Write('Введите текст: '); ReadLn(s); s:=s+' ';
  Write('Введите слово: '); ReadLn(t);
  for i:=1 to Length(t) do Include(p,t[i]);
  b:=True;
  repeat
    t:=Copy(s,1,Pos(' ',s)-1); Delete(s,1,Length(t)+1);
    q:=[]; for i:=1 to Length(t) do Include(q,t[i]);
    if q-p=[] then begin
      WriteLn(cs); b:=False;
    end;
  until s='';
  if b then WriteLn('нет таких слов');
end.

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

  1. Сначала пользователю предлагается ввести текст и слово для поиска.
  2. Затем программа находит длину введенного слова и добавляет каждый символ в множество p.
  3. Переменная b устанавливается в True.
  4. Затем начинается цикл, который повторяется до тех пор, пока строка s не станет пустой.
  5. Внутри цикла, программа извлекает подстроку из строки s до первого пробела и добавляет каждый символ в множество q.
  6. Затем программа проверяет, равны ли множества q и p. Если они равны, то программа выводит сообщение cs и устанавливает переменную b в False.
  7. Если во время цикла не было найдено совпадений, то после окончания цикла программа выводит сообщение нет таких слов.
  8. Если во время цикла было найдено совпадение, то программа продолжает цикл с начала.
  9. Если строка s становится пустой и совпадений не найдено, то программа выводит сообщение нет таких слов.
  10. Если совпадения были найдены, то программа продолжает цикл с начала.

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

8   голосов , оценка 3.75 из 5
Похожие ответы