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

Жовтяк Максим логика

.docx
Скачиваний:
0
Добавлен:
27.08.2024
Размер:
20.9 Кб
Скачать

№1

Построить МТ, которая к заданному натуральному десятичному числу прибавляет 1. Начальная конфигурация стандартная. Например,

241q17 ⇒ 241q08

58q19 ⇒ 5q090

1 вариант

Как работает алгоритм:

Если число после “ q” меньше 9, то прибавляем 1 и остаёмся в этом же месте, если число перед “q” равно 9, заменяем его на 0, идём влево и заменяем число по нашим командам

q10 ⇒ q01S

q1 1 ⇒q02S

q1 2 ⇒q03S

q1 3 ⇒q04S

q1 4 ⇒q05S

q1 5 ⇒q06S

q1 6 ⇒q07S

q1 7 ⇒q08S

q1 8 ⇒q09S

q1 9 ⇒q10L

№2

Построить МТ, которая к заданному натуральному десятичному числу прибавляет 2. Начальная конфигурация стандартная.

1 вариант

Как работает алгоритм:

Если число после “ q” меньше 8, то прибавляем 2 и остаёмся в этом же месте, если число перед “q” равно 8, заменяем 8 на 0, идём влево, прибавляем к числу 1, если число перед “q” равно 9, заменяем 9 на 1, идём влево, прибавляем к числу 1.

q10 ⇒ q02S

q1 1 ⇒q03S

q1 2 ⇒q04S

q1 3 ⇒q05S

q1 4 ⇒q06S

q1 5 ⇒q07S

q1 6 ⇒q08S

q1 7 ⇒q09S

q1 8 ⇒q20L

q1 9 ⇒q21L

Прибавление единицы

q20 ⇒ q01S

q2 1 ⇒q02S

q2 2 ⇒q03S

q2 3 ⇒q04S

q2 4 ⇒q05S

q2 5 ⇒q06S

q2 6 ⇒q07S

q2 7 ⇒q08S

q2 8 ⇒q09S

q2 9 ⇒q20L

№3

sg(x) =

  1. для стандартной начальной конфигурации

sg(x) = 0 = O(x) (заменяем все единица на 0)

Если q1 изначально стоит перед 0,значит в числе нет единиц и мы сразу останавливаемся

q10 ⇒ q00 S

Если q1 изначально стоит перед 1, мы сдвигаемся вправо и проверяем, стоит ли там 1, если стоит, то возвращаемся в начало последовательность единиц и убираем первую единицу, так делаем пока не останется одна единица

МТ для S(x) = 1

q1 1 ⇒q2 1 R

q21 ⇒ q31 L

q3 1 ⇒ q10 R

q20 ⇒ q0 0 S

Соединим функции O(x) и S(x)

q11 0 ⇒ q01 0 S

q12 1 ⇒q2 1 R

q21 ⇒ q31 L

q3 1 ⇒ q10 R

q20 ⇒ q02 0 S

  1. для правильного вычисления функции

Так как начальная конфигурация выглядит так q101x0 , теперь нам нужно проходить один дополнительный, начальный ноль и возвращаться обратно

sg(x) = 0 = O(x) (заменяем все единица на 0)

q1 0 ⇒ q2 0 R

q20 ⇒ q00 L

Если стоят два нуля подряд, то единиц нет.

МТ для S(x) = 1

q1 0 ⇒q1 0 R

q1 1 ⇒q2 1 R

q21 ⇒ q31 L

q3 1 ⇒ q10 R

q20 ⇒ q4 0 L

q4 1 ⇒ q­0 1 L

Соединим функции O(x) и S(x)

q11 0 ⇒ q21 0 R

q21 0 ⇒ q01 0 S

q12 0 ⇒q12 0 R

q12 1 ⇒q2 1 R

q21 ⇒ q31 L

q3 1 ⇒ q10 R

q22 0 ⇒ q4 0 L

q4 1 ⇒ q­02 1 L

Примеры

а)

б)