Задача в том что нельзя просто взять и убрать пробел
Я писал не о задаче, а об её оформлении. В данном случае машину можно оформить в виде процедурного псевдокода.
Например, набор процедур(каждая процедура - МТ):
Код:
FIND_XY_CLEAR. Идти направо, найти и заменить на пробелы XY. Выходное состояние 1 если найдено, выходное состояние 2 если не найдено.
DEL_SPACES. Удалить пробелы в строке.
и другие мелкие процедуры, которые могут использоваться этих процедурах.
Например, псевдокод машины:
Код:
1. Повторять FIND_XY_CLEAR пока выходное состояние 1.
2. Выполнить DEL_SPACES
Останется просто скомпилировать - подставить в псевдокод процедуры.
Если так строить машины, то машина получается не самая маленькая, зато минимальная внимательность требуется только на стадии компиляции, а отдельные процедуры простые и их можно многократно использовать.
Хотя, в данном случае я бы сразу машину построил, т.к. задача слишком простая. Зависит от ресурса внимательности и сложности задачи, не знаю короче, забейте, ладно.