Найти любое слово в исходной последовательности символов, начинающееся с комбинации букв но - Pascal ABC (13223)

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

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

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

Решение задачи: «Найти любое слово в исходной последовательности символов, начинающееся с комбинации букв но»

textual
Листинг программы
const sub=' но'; space=' ';
var   str  : string;
      i, j : byte;
      k    : boolean;
 
BEGIN
     WriteLn('Введите строку:');
     ReadLn(str);
     Insert(space, str, 1);
     Insert(space, str, Length(str)+1);
     k:=true;
     repeat
          i:=0;
          i:= Pos(sub, str);
          j:=i;
          if (i<>0) then
          begin
             k:=false;
             repeat
                   Write(str[i]);
                   Inc(i);
             until (str[i]=space);
             Delete(str, j, i-j);
             WriteLn;
          end
     until i=0;
     if k then WriteLn('Нет слов.');
END.

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

  1. В начале объявляются необходимые переменные: sub, space, str, i, j, k.
  2. Пользователю предлагается ввести строку.
  3. Введенная строка сохраняется в переменной str.
  4. Далее происходит вставка пробела в начало и конец строки.
  5. Переменная k устанавливается в значение true.
  6. Затем идет цикл repeat, который будет выполняться до тех пор, пока не будет найдено слово, начинающееся с комбинации букв но.
  7. Внутри цикла объявляется переменная i, которая будет использоваться для поиска первого символа в строке.
  8. Затем объявляется переменная j, которая будет использоваться для отслеживания текущего индекса символа но в строке.
  9. Если i<>0, то это означает, что в строке есть слово, начинающееся с но. В этом случае переменная k устанавливается в false, чтобы начать вывод найденного слова.
  10. Далее идет цикл repeat, который будет выполняться до тех пор, пока текущий символ в строке не станет пробелом.
  11. Внутри цикла выводится каждый символ строки, начиная с индекса i.
  12. После завершения цикла i, переменная k снова проверяется. Если k=false, значит, слово было найдено, и выводится сообщение Нет слов..
  13. Цикл repeat завершается, когда i становится равным 0.
  14. Код заканчивается.

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


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

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

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