Program napisałem na zaliczenie Podstaw Informatyki na Politechnice Warszawskiej. To mój pierwszy program w MS Visual C++ 2007 i został w całości napisany w C++/CLI, czyli .NET Framework.
Jak działa Maszyna Turinga?
W skrócie Maszyna Turinga:
- odczytuje z taśmy wejściowej 1 znak (np. 0)
- sprawdza program dla podanego znaku i aktualnego stanu maszyny
(dla znaku '0' i stanu q00 program: 'q01 B P' dla podanego niżej screena) - zmienia stan maszyny na nowy (tu q01)
- zapisuje na taśmie, na tej pozycji nowy znak (tu B)
- przesuwa głowicę w prawo lub lewo (tu w prawo)
- ...
Maszyna kończy działanie, jeśli:
- nie znajdzie odpowiedniego programu (wtedy taśma nie została zaakceptowana)
- wejdzie w stan ze zbioru stanów końcowych (taśma zaakceptowana)
Więcej informacji: Wiki, 1-LO Tarnów (bardzo dobry serwis z algorytmami)
Wygląd programu
Download
Poniżej do pobrania program + kod źródłowy. Myślę, że jest to całkiem udany projekt, dlatego warto popatrzeć jak należy pisać programy :-)
Pliki do pobrania:
- ProjektSMT.zip [688.88 KB]
- ProjektSMTsource.zip [5.40 MB]
- ProjektSMTsprawozdanie.pdf [468.69 KB]