Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Turingmaschine binäre Zahlen gerade oder ungerade » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Turingmaschine binäre Zahlen gerade oder ungerade
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Takafumi
Grünschnabel


Dabei seit: 13.07.2016
Beiträge: 4

Turingmaschine binäre Zahlen gerade oder ungerade Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.
Kann mir da jemand helfen?

Eigentlich muss die Maschine die Zahl doch bloß einlesen und durch 2 teilen oder ist dieser Ansatz schon verkehrt? Ich weiß nicht wieso aber ich steh bei diesem Thema voll auf dem Schlauch. verwirrt

Wäre für Hilfe sehr dankbar
13.07.2016 17:54 Takafumi ist offline Beiträge von Takafumi suchen Nehmen Sie Takafumi in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Durch 2 teilen ist zu kompliziert.
Schreibe dir ein paar gerade und ungerade Binärzahlen hin. Fällt dir etwas auf?

__________________
Syntax Highlighting fürs Board (Link)
13.07.2016 17:56 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Takafumi
Grünschnabel


Dabei seit: 13.07.2016
Beiträge: 4

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bei den geraden Zahlen ist die letzte Ziffer immer eine 0
Bei den ungeraden immer eine 1

Meinst du das?
13.07.2016 18:21 Takafumi ist offline Beiträge von Takafumi suchen Nehmen Sie Takafumi in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Genau. Du musst also nur ans Ende der Zahl gehen, ein Trennzeichen schreiben und dann das letzte Bit invertiert kopieren.

__________________
Syntax Highlighting fürs Board (Link)
13.07.2016 18:38 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Takafumi
Grünschnabel


Dabei seit: 13.07.2016
Beiträge: 4

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Also aus der 0 eine 1 und aus der 1 eine 0

Woher weiß die Maschine wo die Zahl endet?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Takafumi: 13.07.2016 20:08.

13.07.2016 18:46 Takafumi ist offline Beiträge von Takafumi suchen Nehmen Sie Takafumi in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du hast einen Zustand 1 (in dem die Turingmaschine startet), der das gelesene Zeichen wieder hinschreibst (also nichts verändert) und den Kopf um eins nach rechts zum Ende der Zahl hin bewegt.
Wenn du das Ende erreicht hast (Blank Symbol), schreibst du dort ein # hin und gehst wieder nach links (Zustand 2) Von da aus geht es je nach gelesenem Zeichen mit Zustand 3 (0 gelesen, also 1 ans schreiben) oder Zustand 4 (1 gelesen, also 0 schreiben) weiter.

__________________
Syntax Highlighting fürs Board (Link)
13.07.2016 20:10 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Takafumi
Grünschnabel


Dabei seit: 13.07.2016
Beiträge: 4

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Sorry für die späte Antwort.

Danke damit kann ich die Aufgabe auf jeden Fall abschließen, endlich! Gott
14.07.2016 09:36 Takafumi ist offline Beiträge von Takafumi suchen Nehmen Sie Takafumi in Ihre Freundesliste auf
webmin
Grünschnabel


Dabei seit: 16.02.2020
Beiträge: 1

Bitte um Erklärung Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,
der Beitrag ist zwar schon ein paar Jahre alt, aber betrifft mich gerade auch.
Ich sitze schon seit heute morgen an dieser Aufgabe .. aber ich kapier das einfach nicht.
Theorie ist nicht so mein Ding, wäre es ein Programm in C++ oder C# wäre ich wohl gleich fertig damit.

Ich begreife einfach nicht wie ich das mit dem Trennzeichen realisieren soll.

Bisher bin ich etwa so weit:

Eingabe wurde auf das Band geschrieben, gehe mit dem Lesekopf nach rechts bis Leere Zelle gefunden, dann Schreibe Trennzeichen .... weiter weiss ich aber auch nicht, eigentlich dann wieder nach links, zeichen lesen, nach rechts, schreiben, aber dann ist ja das trennzeichen weg.

oder anderes Konzept:

Eingabe binäre Zahl (hier gehe ich davon aus dass die Zahl Ziffer für Ziffer auf das Band geschrieben wird, und der Kopf sich auf der letzten Zahl befindet) dann wenn Zahl=1 Schreibe 1, Gehe nach Rechts, nächster zustand, aber auch hier begreif ich es einfach nicht wie ich das mit dem Trennzeichen machen soll ..

Hab auch schon versucht das ganze mit einem Simulator nachzubilden damit ich es verstehen kann, aber jeder hat irgendwie eine andere Syntax, da steig ich noch weniger durch ...

Kann mir bitte jemand auf die Sprünge helfen ? Ich möchte keine Lösung, aber vielleicht kann erkennt jemand aus meinem Geschreibsel wo mein Denkfehler ist.
16.02.2020 17:38 webmin ist offline Beiträge von webmin suchen Nehmen Sie webmin in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Turingmaschine binäre Zahlen gerade oder ungerade