Замена сочетания букв на символ Turbo Prolog

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

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

Добрый вечер. Имеется задача: Составьте программу, меняющую в слове X сочетание "zhur" буквой 'a'. Имеется вот такой код:
Листинг программы
  1. predicates
  2. convert(string,string).
  3. clauses
  4. convert("","").
  5. convert(S,S1):-fronttoken(S,"zhur",O),!,convert(O,O1),frontchar(S1,'a',O1).
  6. convert(S,S1):-frontchar(S, Char, O),convert(O,O1),frontchar(S1,Char,O1).
Если выполнить
Листинг программы
  1. convert("zhur",S)
то на выходе он выдаст 'a'. Но если ввести
Листинг программы
  1. convert("zhurka",S)
, то все остается без изменений. Подскажите, пожалуйста, в чем ошибка и как исправить? Спасибо.

Решение задачи: «Замена сочетания букв на символ Turbo Prolog»

textual
Листинг программы
  1. convert(S, S1) :-
  2.     frontstr(4, S, Z, O),
  3.     Z = "zhur",
  4.     !,
  5.     convert(O, O1),
  6.     frontchar(S1, 'a', O1).

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

Код выполняет замену сочетания букв zhur на символ 'a' в строке S1. Вот список шагов, которые выполняются в коде:

  1. convert(S, S1) :- - объявление функции с двумя аргументами S и S1
  2. frontstr(4, S, Z, O) - функция frontstr разбивает строку S на подстроки, сохраняя первые 4 символа в переменной Z, и оставшуюся часть в переменной O
  3. Z = zhur - присваивание переменной Z значение zhur
  4. ! - оператор прекращения, прерывает выполнение текущего шага и переходит к следующему
  5. convert(O, O1) - рекурсивный вызов функции convert для обработки оставшейся части строки O1
  6. frontchar(S1, 'a', O1) - функция frontchar добавляет символ 'a' в начало строки S1, используя оставшуюся часть строки O1 Таким образом, код заменяет сочетание букв zhur на символ 'a' в строке S1.

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


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

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

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

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

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

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