WieauchImmer23
Cadet 1st Year
- Registriert
- Aug. 2013
- Beiträge
- 15
Hallo,
Ich habe diese Frage bereits in einem anderen Forum gestellt aber da konnte noch keiner helfen.
Also frage ich nochmal hier, da die Abgabe bereits Dienstag Nacht ist.
Hallo,
Ich habe hier eine relativ lange Aufgabe bei der ich einfach nicht weiterkomme, da ich schon für den Anfang keinen Ansatz habe.
Und zwar geht es darum, dass zwei GANZE Zahlen auf dem band stehen und diese addiert/mult/minus/dividiert/modulo und als Zusatz sinus berechnet werden sollen.
Die Zahlen sind im Dezimalsystem.
Wir können auch auf mehreren Bändern arbeiten, allerdings hatten wir dazu nur zwei theorie Folien in der VO und keine Bsp also verzichte ich darauf lieber.
Bsp: OOO193O23O+O
-> 193+23
ich stehe anfangs ganz rechts, also neben dem Operanden. O steht einfach für ein Blank.
Bei Addieren hatte ich jetzt zwei Ansätze:
Ich lese die rechte drei gehe, dann bis zum O und dann wieder zur ersten zahl (3).
Im gleichen Schritt überschreibe ich die beiden gelesenen Zahlen mit O
Dann gehe ich bis zur letzten linken Zahl und zwei Schritte weiter und schreibe dorthin meine sechs.
Ich habe allerdings keine Ahnung wie ich das elegant machen kann.
Wenn ich das so mache muss ich doch für jeden Schritt eine Maschine machen (also 0-9), diese geht dann über bis zur nächsten Zahl und dann wieder in eine andere Maschine die wieder 10 Kanten hat und dann das entsprechende Ausgeben.
Schon relativ viele Knoten.
Jetzt muss ich dann aber wieder zurück auf die zwei und dann mit 9 addieren, wo ja ein übertrag übrig bleibt.
Wenn das geschieht benötige ich wieder eine Maschine die das separat macht und dann wieder alle Knoten durchgehen.
Man sieht sehr umständlich.
2.)
Ich dachte mir, dass ich doch die Zahlen zuerst unär darstellen kann.
Die Einerstelle wäre wohl noch machbar, einfach eine Maschine die eine Zahl liest und dann entsprechend viele I schreibt. Allerdings habe ich dann schon dafür 10 Möglichkeiten.
Wenn ich dann die beiden Zehnerstellen lese muss ich das mit 10 Multiplizieren.
Wodurch ich wieder mehr Maschinen hätte, da ich ja auch von einer 100 stelligen Zahl ausgehen muss.
Und wenn ich fertig bin mit dem addieren muss ich es wieder zu Dezimal überführen.
Bei Addition und Subtraktion wäre unär wohl sehr leicht durchzuführen.
Allerdings hätte ich dann von Multiplikation und Division keine Ahnung.
Hat vielleicht jemand einen Ansatz für mich wie ich hier anfangen könnte? Oder wenigstens mal eine schöne Umrechnung von Dezimal <-> unär.
Mir würde wirklich schon ein Stoß in die richtige Richtung oder ein Pseudoalgorithmus helfen. Die Erklärung muss auch nicht mit Maschinen realisiert sein, einfach was logisches.
Ich habe diese Frage bereits in einem anderen Forum gestellt aber da konnte noch keiner helfen.
Also frage ich nochmal hier, da die Abgabe bereits Dienstag Nacht ist.
Hallo,
Ich habe hier eine relativ lange Aufgabe bei der ich einfach nicht weiterkomme, da ich schon für den Anfang keinen Ansatz habe.
Und zwar geht es darum, dass zwei GANZE Zahlen auf dem band stehen und diese addiert/mult/minus/dividiert/modulo und als Zusatz sinus berechnet werden sollen.
Die Zahlen sind im Dezimalsystem.
Wir können auch auf mehreren Bändern arbeiten, allerdings hatten wir dazu nur zwei theorie Folien in der VO und keine Bsp also verzichte ich darauf lieber.
Bsp: OOO193O23O+O
-> 193+23
ich stehe anfangs ganz rechts, also neben dem Operanden. O steht einfach für ein Blank.
Bei Addieren hatte ich jetzt zwei Ansätze:
Ich lese die rechte drei gehe, dann bis zum O und dann wieder zur ersten zahl (3).
Im gleichen Schritt überschreibe ich die beiden gelesenen Zahlen mit O
Dann gehe ich bis zur letzten linken Zahl und zwei Schritte weiter und schreibe dorthin meine sechs.
Ich habe allerdings keine Ahnung wie ich das elegant machen kann.
Wenn ich das so mache muss ich doch für jeden Schritt eine Maschine machen (also 0-9), diese geht dann über bis zur nächsten Zahl und dann wieder in eine andere Maschine die wieder 10 Kanten hat und dann das entsprechende Ausgeben.
Schon relativ viele Knoten.
Jetzt muss ich dann aber wieder zurück auf die zwei und dann mit 9 addieren, wo ja ein übertrag übrig bleibt.
Wenn das geschieht benötige ich wieder eine Maschine die das separat macht und dann wieder alle Knoten durchgehen.
Man sieht sehr umständlich.
2.)
Ich dachte mir, dass ich doch die Zahlen zuerst unär darstellen kann.
Die Einerstelle wäre wohl noch machbar, einfach eine Maschine die eine Zahl liest und dann entsprechend viele I schreibt. Allerdings habe ich dann schon dafür 10 Möglichkeiten.
Wenn ich dann die beiden Zehnerstellen lese muss ich das mit 10 Multiplizieren.
Wodurch ich wieder mehr Maschinen hätte, da ich ja auch von einer 100 stelligen Zahl ausgehen muss.
Und wenn ich fertig bin mit dem addieren muss ich es wieder zu Dezimal überführen.
Bei Addition und Subtraktion wäre unär wohl sehr leicht durchzuführen.
Allerdings hätte ich dann von Multiplikation und Division keine Ahnung.
Hat vielleicht jemand einen Ansatz für mich wie ich hier anfangen könnte? Oder wenigstens mal eine schöne Umrechnung von Dezimal <-> unär.
Mir würde wirklich schon ein Stoß in die richtige Richtung oder ein Pseudoalgorithmus helfen. Die Erklärung muss auch nicht mit Maschinen realisiert sein, einfach was logisches.
