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.

Fot 1. Symulator Maszyny Turinga

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

Fot 2. Okno główne z wczytanym programem różnicy właściwej na liczbach unarnych
Fot 3. Okno uruchomienia

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:

Brak komentarzy

Dodawanie komentarzy chwilowo zawieszone.