Учебно-методический комплекс дисциплины для обучающегося «Языки программирования» для специальности 5В010900 Математика


Пример 6 (вставка символа в слово) А={a,b,c}. Если Р - непустое слово, то за его первым символом вставить символ a. Решение



бет83/142
Дата03.01.2022
өлшемі1.33 Mb.
#450516
түріУчебно-методический комплекс
1   ...   79   80   81   82   83   84   85   86   ...   142
УМКДО -ЯзыкиПрограммирования

Пример 6 (вставка символа в слово) А={a,b,c}. Если Р - непустое слово, то за его первым символом вставить символ a.

Решение.

Ясно, что между первым и вторым символами слова Р надо освободить клетку для нового символа a. Для этого надо перенести на одну позицию влево первый символ (на старом месте его можно пока не удалять), а затем, вернувшись на старое место, записать символ a:




Перенос символа на одну позицию влево аналогичен переносу символа вправо, о чем говорилось в двух предыдущих примерах, поэтому приведем программу для МТ без дополнительных комментариев. Отметим лишь, что в состояниях q2, q3 и q4 автомат может видеть только пустую клетку, а в состоянии q5 он обязательно видит первый символ входного слова, но не пустую клетку.


Пример 7 (раздвижка слова)

А={a,b,c}. Вставить в слово P символ a за первым вхождением символа c, если такое есть.

Решение.

Просматриваем входное слово слева направо до пустой клетки или до первого символа c. В первом случае c не входит в P, поэтому ничего не делаем. Во втором случае надо освободить место для вставляемого символа a, для чего сдвигаем начало слова P (от первого символа до найденного символа c) на одну позицию влево. При этом осуществляем такой сдвиг справа налево - от символа с к началу слова, раз уж автомат находится под этим символом. Кроме того, чтобы затем не возвращаться к освободившейся позиции, начинаем этот сдвиг с записи a вместо найденного символа c. Поскольку этот циклический сдвиг влево реализуется аналогично циклическому сдвигу вправо из примера 5, то не будем пояснять его, а сразу приведем программу для МТ:






Достарыңызбен бөлісу:
1   ...   79   80   81   82   83   84   85   86   ...   142




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет