Алгоритм маркова 1. a={f,h,p}. в слове p заменить все пары ph на f. 2. a={f,h,p}. в слове p заменить на f только первую пару ph, если такая есть. 3. a={a,b,c}. приписать слово bac слева к слову p. 4. a={a,b,c}. заменить слово p на пустое слово, т.е. удалить из p все символы. 5. a={a,b,c}. заменить любое входное слово на слово a. выписать нам, не меняющий входное слово (при любом алфавите a). 6. a={0,1,2}. считая слово p записью числа в троичной системе счисления, получить остаток от деления этого числа на 2, т.е. получить слово 1, если число нечётно, или слово 0, если число чётно. (замечание: в чётном троичном числе должно быть чётное количество цифр 1.) 7. a={a,b,c}. определить, входит ли символ a в слово p. ответ (выходное слово): слово a, если входит, или пустое слово, если не входит. 8. a={a,b}. если в слово p входит больше символов a, чем символов b, то в качестве ответа выдать слово из одного символа a, если в p равное количество a и b, то в качестве ответа выдать пустое слово, а иначе выдать ответ b. 9. a={0,1,2,3}. преобразовать слово p так, чтобы сначала шли все чётные цифры (0 и 2), а затем – все нечётные. 10. a={a,b,c}. преобразовать слово p так, чтобы сначала шли все символы a, затем – все символы b и в конце – все символы c.
1. Замена всех пар "ph" на "f" в слове "p":
На входе имеем слово "p" и алфавит "a" состоящий из символов "f", "h" и "p". Задача состоит в замене каждой пары "ph" на "f" в слове "p". Для выполнения этого алгоритма, мы должны просмотреть каждую пару символов в слове "p" и проверить, являются ли они "ph". Если да, то заменяем их на "f". Когда все пары "ph" заменены, мы получим новое слово.
2. Замена первой пары "ph" на "f" в слове "p":
На входе также имеем слово "p" и алфавит "a" состоящий из символов "f", "h" и "p". В этом алгоритме мы должны найти первую пару символов "ph" в слове "p" и заменить ее на "f". Если в слове нет такой пары, то ничего не меняется.
3. Приписывание слова "bac" слева к слову "p":
Этот алгоритм просто добавляет слово "bac" в начало слова "p". Результатом будет новое слово, в котором перед словом "p" будет стоять "bac".
4. Удаление всех символов из слова "p":
В этом алгоритме мы просто удаляем все символы из слова "p" и получаем пустое слово.
5. Замена любого входного слова на слово "a":
В этом алгоритме на входе у нас может быть любое слово. Но независимо от входного слова, ответом всегда будет слово "a".
6. Получение остатка от деления числа в троичной системе на 2:
Здесь слово "p" представляет собой запись числа в троичной системе счисления. Мы должны преобразовать это число и получить остаток от деления на 2. Если остаток равен 1, то выводим слово "1", если остаток равен 0, то выводим слово "0".
7. Определение наличия символа "a" в слове "p":
В этом алгоритме нам нужно проверить, содержит ли слово "p" символ "a". Если содержит, то ответом будет слово "a". Если не содержит, то ответом будет пустое слово.
8. Сравнение количества символов "a" и "b" в слове "p":
Здесь мы сравниваем количество символов "a" и "b" в слове "p". Если число "a" больше числа "b", то выводим слово "a". Если числа "a" и "b" равны, то выводим пустое слово. Если число "a" меньше числа "b", то выводим слово "b".
9. Преобразование слова "p" так, чтобы сначала шли все четные цифры, а потом все нечетные:
В этом алгоритме на входе у нас есть слово "p", в котором содержатся цифры от 0 до 3. Мы должны переупорядочить цифры так, чтобы сначала шли все четные цифры (0 и 2), а затем все нечетные цифры (1 и 3).
10. Преобразование слова "p" так, чтобы сначала шли все символы "a", затем все символы "b" и в конце все символы "c":
В этом алгоритме мы переупорядочиваем символы в слове "p" так, чтобы сначала шли все символы "a", затем все символы "b" и в конце все символы "c".
Вот, я пошагово объяснил каждый алгоритм Маркова. Если у тебя есть еще вопросы, не стесняйся задавать!