Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

решения маркова

.doc
Скачиваний:
354
Добавлен:
10.02.2015
Размер:
36.86 Кб
Скачать
  1. A = {f,h,p}. В слове P заменить все пары ph на f. *ph=>f* *f=>f* *h=>h* *p=>p* *=>. _=>*

  1. A = {f,h,p}. В слове P заменить на f только первую пару ph, если такая есть. *ph=>f** **f=>f** **h=>h** **p=>p** *f=>f* *h=>h* *p=>p* **=>. *=>. _=>*

3) A = {a,b,c}. Приписать слово bac слева к слову P. *=>bac.

_=>*

4) A = {a,b,c}. Заменить слово P на пустое слово, т.е. удалить из P все символы.

*a=>_* *b=>_* *c=>_* *=>. _=>*

5) A={a,b,c}. Заменить любое входное слово на слово a.

*a=>_* *b=>_* *c=>_* *=>a. _=>*

6) Записать алгоритм, не меняющий входное слово (при любом алфавите A). _=>.

7) A={a,b,c}. Определить, входит ли символ a в слово P. Ответ (выходное слово): слово a, если входит, или пустое слово, если не входит.

*a=>_# *b=>_* *c=>_* #a=>_# #b=>_#

#c=>_#

#=>a. *=>. _=>*

8) A={a,b,c}. Определить, является ли P словом ab. Ответ (выходное слово): слово ab, если является, или пустое слово иначе.

*ab=>ab@

@_=>ab.

ab@=>#

*=>#

#a=>_#

#b=>_#

#c=>_#

#=>.

_=>*

9) A={a,b,c}. Приписать слева к непустому слову P его первый символ. *a=>aa. *b=>bb. *c=>cc. *=>. _=>* 10) A={a,b,c}. В непустом слове P удвоить первый символ, т.е. приписать этот символ слева к P.

*a=>aa. *b=>bb. *c=>cc. *=>. _=>* 11) A={a,b,c}. За первым символом непустого слова P вставить символ c.

*a=>ac. *b=>bc. *c=>cc. *=>. _=>* 12) A={a,b,c}. Из слова P удалить второй символ, если такой есть. #a=>. #b=>. #c=>. *a=>a# *b=>b# *c=>c# #=>. *=>. _=>* 13) A={a,b}. Заменить в P каждое вхождение a на bb.

*a=>bb* *b=>b* *=>. _=>* 14) A={a,b,c}. Заменить в P каждое вхождение ab на c.

*ab=>c* *a=>a* *b=>b* *c=>c* *=>. _=>* 15) A={a,b,c}. Приписать слово abc справа к слову P.

*a=>a* *b=>b* *c=>c* *=>abc. _=>* 16) A={a,b,c}. Удалить из непустого слова P его последний символ. *a=>a* *b=>b* *c=>c* a*=>. b*=>. c*=>. *=>. _=>*

17) A={a,b}. Приписать справа к слову P столько палочек, сколько всего символов входит в P (например: babbbabb||||). |a=>a| |b=>b| *a=>a*| *b=>b*| *=>. _=>* 18) A={a,b}. Приписать справа к слову P столько палочек, сколько всего символов входит в P (например: babbbabb||||). |a=>a| |b=>b| *a=>a*| *b=>b*| *=>. _=>*

19) A={a,b}. Приписать справа к слову P столько палочек, со скольких подряд идущих символов a начинается это слово (например: aababa → aababa| | ). |a=>a| |b=>b| *a=>a#| *b=>b&| #a=>a#| &b=>b&| #=>. &=>. *=>. _=>* 20) A={a,b,c}. Удалить из слова P второе вхождение символа a, если такое есть. **a=>. *a=>a** **b=>b** **c=>c** *b=>b* *c=>c* **=>. *=>. _=>* 21) A={a,b,c}. Удалить из слова P третье вхождение символа a, если такое есть. ***a=>.

**a=>a*** *a=>a** ***b=>b*** ***c=>c*** **b=>b** **c=>c** *b=>b* *c=>c* ***=>. **=>. *=>. _=>* 22) A={a,b,c}. Оставить в слове P только первое вхождение символа a, если такое есть. *a=>a# *b=>* *c=>* #a=># #b=>b# #c=>c# #=>. *=>. _=>* символ “_” означает пробел!!!