Turingmaschine, Vergleich binärer Zahlen



  • Hallo zusammen,

    im Studium haben wir gerade das Thema Turingmaschine.
    Nun sollen wir ein Programm entwerfen, welches erkennen kann, ob eine binäre Zahl gerade oder ungerade ist. Ist sie gerade, soll eine 1 aufs Band, ist sie ungerade eine 0. Diese Markierungen sollen von der eigentlichen Zahl durch ein frei wählbares Zeichen getrennt werden z.B. #

    Jetzt ganz ehrlich, ich habe bei dieser Maschine gerade keinen Plan.
    Ihr sollt mir nicht meine Hausaufgabe machen. Ich brauch nen Schubser oder auch 2 in die richtige Richtung.

    Kann mir da jemand helfen?

    Danke


  • Mod

    Wo genau liegt deine Schwierigkeit? Brauchst du einen Ansatz zur Lösung des Problems (wie man erkennt, ob eine binäre Zahl gerade oder ungerade ist), wie man überhaupt eine Turingmaschine angibt, oder wie ganz speziell die Turingmaschine zur Lösung dieses Problems aussehen könnte?



  • Das mit den geraden und ungeraden Zahlen habe ich jetzt. Die geraden Zahlen enden immer mit der Ziffer 0 und die ungeraden mit der 1.

    Eigentlich weiß ich ab da nicht ganz weiter. Die Maschine muss bis zum Ende der Zahl, das Trennzeichen setzen und dann eben die 1 oder 0 schreiben.
    Ich weiß jetzt nicht wie ich das als Programm umsetze.

    Die Maschine startet und liest die Zahl ein z.B. 1010
    Kann ich der Maschine sagen das sie direkt an die 4. Stelle gehen soll um die letzte Ziffer zu lesen oder muss man Stelle für Stelle einlesen?


  • Mod

    Woher weißt du, wo die Zahl endet?



  • Ja das habe ich mich auch gerade gefragt 😕
    Bestimmt ist es total easy



  • Vermutlich gibt es ein End-Symbol das nach der Zahl steht? Das können wir dir aber nicht sagen, das ist ja Teil der Aufgabenstellung.

    Und falls es nicht Teil der Aufgabenstellung ist, und auch nicht aus der Aufgabenstellung ableitbar, dann würde ich sagen darfst du es selbst festlegen.



  • Das Eingabeband ist unendlich lange weshalb in den meistens ein "Leer" Symbol eingefuehrt wird. Wenn du auf dieses triffst weisst du dass du den ganzen Input gelesen hast.



  • hustbaer schrieb:

    Und falls es nicht Teil der Aufgabenstellung ist, und auch nicht aus der Aufgabenstellung ableitbar,

    ... steht es vermutlich im Vorlesungsskript. Sowas gehört zur Definition der Turingmaschine.



  • Guten morgen.

    Als Leerzeichen wurde wirklich das # definiert. So war es zumindest in den Aufgaben davor auch. Also werde ich das so auch wieder aufnehmen.
    Somit ist der Rest dann eigentlich klar.

    Das letzte Zeichen vorm # muss invertiert werden und nach dem geforderten Trennzeichen aufs Band geschrieben werden.


Anmelden zum Antworten