You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Программа: превращение двоичного числа в нечётное.
Алфавит: 0, 1, __ (пробел)
Исходное слово: 10011000
Начальное состояние: q0
Конечное состояние: qExit
Условие задачи: Программа должна заменить последний символ двоичного числа с 0 на 1, если последний символ равен 0. Если последний символ равен 1, то так и оставить. Пробелов в числе нет. Каретку можно оставить в любом месте (желательно на первой пустой ячейке после записанного слова). Изначально каретка стоит на -1 ячейке. Другие символы (цифры) менять не надо.
Программа:
q0, __ : __ > q1
// Проходимся по всему числу до конечного пробела.
q1, 0 : 0 > q1
q1, 1 : 1 > q1
q1, __ : __ < q2
// Проверяем последнюю цифру, и делаем замену, если необходимо.