Решения маркова. решения маркова. P заменить все пары
Скачать 36 Kb.
|
A = {f,h,p}. В слове P заменить все пары ph на f. *ph=>f* *f=>f* *h=>h* *p=>p* *=>. _=>* 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 (например: babb → babb||||). |a=>a| |b=>b| *a=>a*| *b=>b*| *=>. _=>* 18) A={a,b}. Приписать справа к слову P столько палочек, сколько всего символов входит в P (например: babb → babb||||). |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# #=>. *=>. _=>* символ “_” означает пробел!!! |