30 lines
800 B
C++
30 lines
800 B
C++
// Klasse fuer ein linksseitig begrenztes Band
|
|
// einer Turingmaschine.
|
|
// Das Band wird durch eine Zeichenkette aus
|
|
// Elemente des Typs char realisiert
|
|
class Band {
|
|
public:
|
|
// Initialisiere Band mit s, fuelle Rest
|
|
// mit dem Zeichen init auf.
|
|
// Setze aktuelle Bandposition auf linkes Ende.
|
|
Band (std::string s, char init);
|
|
|
|
// Lese Symbol unter dem Lesekopf
|
|
char lese ();
|
|
|
|
// Schreibe und gehe links
|
|
void schreibe_links (char symbol);
|
|
|
|
// Schreibe und gehe rechts
|
|
void schreibe_rechts (char symbol);
|
|
|
|
// Drucke aktuellen Bandinhalt bis zur
|
|
// maximal benutzten Position
|
|
void drucke ();
|
|
private:
|
|
enum {N=100000}; // maximal nutzbare Groesse
|
|
char band[N]; // das Band
|
|
int pos; // aktuelle Position
|
|
int benutzt; // bisher beschriebener Teil
|
|
} ;
|