Ну вот тебе пример-у меня было здание написать мт реализующую x mod y над числами в унарном коде.Вот тебе отрывок кода
| Код | switch(q) { case 0: { flag=0; if (word[i]=='a') { word[i]='1'; q=0; i++; flag=1; break; } if (word[i]=='b') { word[i]='2'; q=0; i++; flag=1; break; } if (word[i]=='c') { word[i]='c'; q=1; i--; flag=1; break; } if (word[i]=='B') { word[i]='B'; q=13; i--; flag=1; break; } break; } case 1: { flag=0; if (word[i]=='2') { word[i]='b'; q=2; i--; flag=1; break; } if (word[i]=='1') { word[i]='a'; q=1; i--; flag=1; break; } if (word[i]=='B') { word[i]='B'; q=10; i++; flag=1; break; } if (word[i]=='a') { word[i]='a'; q=4; i--; flag=1; break; } break; } }
|
q - это текущее состояник мт.В case проверяется номер состояния.word-лента мт |