Języki programowania I

Zadanie

Napisać Maszynę Turinga.

Przyjmujemy następujący format pliku upisujący automat i jego stan początkowy:
  linia 1: n - ilosc wierszy opisujacych automat
  linia 2: pierwszy wiersz opisujacy automat; instrukcja 1
...
linia n+1: n-ty wiersz opisujacy automat; instrukcja n
linia n+2: poczatkowy stan tasmy (nie dluzszy jak 255 znakow)
linia n+3: indeks pozycji na tasmie od ktorej rozpoczynamy dzialanie
Dodatkowo przyjmujemy, że stanem początkowym maszyny jest stan 0 a puste pole na taśmie oznaczamy symbolem '_' (znak podkreślenia). Format instrukcji jest taki jak ponżej:
sb os sn zs rg i
gdzie: Stanem końcowym, czyli takim, w którym program kończy działanie jest zawsze stan o największym numerze. Program ma wykonywać maksymalnie zadaną przez użytkownika ilość kroków. Efekt wykonania każdego kroku zapisywany jest do pliku.

Przykład 1

Plik:
4
0 - 0 * P 1
0 * 0 - P 1
0 k 1 k 0 0
1 - 1 - 0 0
--**-*-*-**-**-
7
Efekt wykonania 5 kroków
                 111111
        123456789012345
        --**-*-*-**-**-
krok 1: --**-***-**-**-
krok 2: --**-**--**-**-
krok 3: --**-**-***-**-
krok 4: --**-**-*-*-**-
krok 5: --**-**-*---**-

Moje rozwiązanie
Plik testowy 1