на ленте машины Поста расположены два массива. Составьте программу стирания того из массивов который имеет большее количество меток

Машина Поста - тоже самое что и машина Тьюринга, только на ленте могут быть записаны 0 или 1, а состояние определяется номером, действием и номером нового состояния.

Действия

Х - записать 0
V - записать 1
? а; b - если в ячейке 0 то а, иначе b
! - стоп
-> и <- - перемещение по ленте

Двигаем массив к метке, т.е. было 011101, а будет 001111
Алгорим:
1. Пробегам все единицы пока не встретим 0

1. ->2
2. ?3;1

2. Пробегаем теперь все нули, пока не найдем метку

3. ->4
4. ?3;5

3. Находим метку и возвращаемся на одну клетку назад чтобы записать ноль

5. <-6
6. V7

4. Обратно бежим по нулям пока не встретим 1 из массива

7. <-8
8. ?7;9

5. Встречаем 1 -стираем. Но нужно проверить что у нас слева от 1. Если 0, то эта последняя единица и мы заканчиваем программу, а если 1 то возвращаемся обратно.

9. X10
10. <-11
11. ?12;3
12. !

 Рекомендую проверить на примерах. Я человек ленивый - делаю 2 проверки.Ну не знаю думаю так??)))

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку