Задание:
На ленте машины Поста расположены два массива. Составьте программу стирания того из массивов который имеет большее количествометок
Решение:
Машина Поста — тоже самое что и машина Тьюринга, только на ленте могут быть записаны 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 проверки. Ну не знаю думаю так?)
Знаете другой ответ?