I-PROGR3-HOME

  1. Einführung zu Aufgabe Nr.10

  2. Aufgabe Nr.10


I-PROGR3 WS03 - PROGRAMMIEREN3 - Übungsaufgabe Nr.10

           Achtung : für diese Übungsaufgabe kann es abweichend von der
		   allgemeinen Regel bis zu 7 Punkten geben !!! 
          

AUTHOR: Gerd Döben-Henisch
DATE OF FIRST GENERATION: Dez-14, 2003
DATE OF LAST CHANGE: Dez-17, 2003
EMAIL: Gerd Döben-Henisch

Einführung zu Aufgabe Nr.10

Sowohl theoretisch wie praktisch wurde das Konzept des Mealy-Automaten in der Vorlesung vorgestellt und mit zahlreichen Implementierungsvarianten diskutiert. Eine kurze Analyse hat gezeigt, dass eine Turingmaschine sich nur geringfügig von einem Mealy-Automaten unterscheidet, obgleich sie unvergleichlich viel mächtiger ist. Es bietet sich daher an, eine Turingmaschine als eine Klasse in C++ zu realisieren.


START



Aufgabe Nr.10

Die eigentliche Aufgabe lautet dann wie folgt:

  1. Implementieren sie in C++ einen Simulator für eine Turingmaschine, der die Beschreibung aus der Vorlesung erfüllt. Packen Sie die Turingmaschine in eine Klasse 'turing' und den Rest des Programms in ein Usage-Programm. Ideal wäre es, wenn man die Klasse 'turing' genauso in einem Programm verwenden könnte wie z.B. die Klassen 'string', 'vector' oder 'map'. Abweichend vom theoretischen Konzept der Turingmaschine können sie zulassen, dass gilt: (i) der Schreib-Lese-Kopf kann nicht nur ein einzelnes Zeichen lesen/ schreiben, sondern ganze Wörter (Zeichenketten). (ii) Die Bewegungen nach links (L) oder rechts (R) können als relative Bewegungen der Art '-n' viele Felder nach links oder '+n' viele Felder nach rechts realisiert werden. Es sei angenommen, dass der Lese-Schreibkopf der Turingmaschine zu Beginn auf dem ersten Feld (von links nach rechts) der Eingabe steht und dass sie immer im Anfangszustand q1 beginnt.


  2. Erstellen Sie eine Diskette (Diskette beschriften!), die sich unter Linux laden und abspielen lässt. Auf der Diskette muss sich auch der Quelltext des Programms befinden zusammen mit einer README-Datei mit Anweisungen zum Kompilieren.


  3. Erstellen Sie von dem Quelltext ihres Programmes einen gedruckten Text


  4. Diskette und Text müssen ihren Namen und ihre Matr.Nr. tragen, dazu Nr. der Übungsaufgabe.


  5. Geben Sie Diskette und Text zu Beginn der nächsten Übung am Do, 8.Januar 2004 ab.


  6. Stellen Sie ihr Programm im Rahmen eines kleinen Vortrags vor.



START