rmachine

Screenshot der Software:
rmachine
Softwarebeschreibung:
Version: 0.12
Upload-Datum: 3 Jun 15
Entwickler: Michael Vogt
Lizenz: Frei
Popularität: 36

Rating: 1.0/5 (Total Votes: 1)

rmachine ist ein Register-Maschine-Simulator (der Komplexitätstheorie-Version), in Python programmiert, komplett mit einem Modul in Ihren Programmen verwendet werden und ein (PyQt4) GUI.
Die Maschine ("RAM") gleich Turing-Maschinen in ihrer Computational Macht. Es hat theoretisch unbegrenzten Speicher (wird aber in der Praxis durch den Arbeitsspeicher Ihres Computers begrenzt).
Dies ist ein Simulator für Registermaschinen (die Komplexitätstheorie Version). Hier ist eine kurze Einführung.
Die Maschine ("RAM") gleich Turing-Maschinen in ihrer Computational Macht. Es hat theoretisch unbegrenzten Speicher (in der Praxis durch die Computer-Speicher begrenzt). Speicherzellen ("Register") können ganze Zahlen> 0 = beliebiger Länge speichern. Sagen die 5. Register enthält die Nummer 42. Sie würden es als c (5) = 42 schreiben. c (0) wird auch als "Assembler" und spielt eine wichtige Rolle, wie wir später sehen werden.
Der RAM weist auch einen Programmzähler b, anfänglich auf 1 gesetzt und im Grunde die die nächste Zeile ausgeführt wird.
Die Struktur eines typischen Programm sieht folgendermaßen aus:
  # Kommentare gehen Sie hier
  # Weitere Kommentare
  INPUT 4 6 8 9
  (Anleitung gehen Sie hier)
  ENDE
Die Zeile "Eingang" sollten direkt nach den Kommentaren gefunden werden. Die Eingabe wird in C (1), c (2) etc. platziert werden in diesem Beispiel C (1) = 4, C (2) = 6, c (3) = 8, C (4) = 9.
Jetzt, mit allem, was, hier ist der Befehlssatz. Die erste Zeile ist der Befehl selbst, erklärt der 2. Zeile, was es tut.
-
LOAD i
c (0) = c (i), b: = b + 1
-
CLOAD i
c (0): = i, b: = b + 1
-
INDLOAD i
c (0) = c (c (i)), b: = b + 1
-
STORE i
c (i) = c (0), b: = b + 1
-
INDSTORE i
c (c (i)): = c (0), b: = b + 1
-
ADD i
c (0) = c (0) + c (i), b: = b + 1
-
CADD i
c (0) = c (0) + i, b: = b + 1
-
INDADD i
c (0) = c (0) + c (c (i)), b: = b + 1
-
SUB i
c (0): = max (c (0) - c (i), 0), b: = b + 1
-
CSUB i
c (0): = max (c (0) - i, 0), b: = b + 1
-
INDSUB i
c (0): = max (c (0) - c (c (i)), 0), b: = b + 1
-
MUL i
c (0) = c (0) * c (i), b: = b + 1
-
CMUL i
c (0) = c (0) * i, b: = b + 1
-
INDMUL i
c (0) = c (0) * c (c (i)), b: = b + 1
-
Div I
c (0) = c (0) / c (i), b: = b + 1
Hinweis: Die Dezimalstellen werden abgeschnitten
-
CDIV i
c (0) = c (0) / i, b: = b + 1
Hinweis: Die Dezimalstellen werden abgeschnitten
-
INDDIV i
c (0) = c (0) / c (c (i)), b: = b + 1
Hinweis: Die Dezimalstellen werden abgeschnitten
-
GOTO i
b: = i
-
IF X GOTO l i
X kann einer von denen zu sein:
b: = i if (c (0) X l) wahr ist
(Mehr informell "Wenn <5 GOTO 10" eingestellt würde b = 10, wenn c (0)

Anforderungen :

  • Python
  • PyQt4

Kommentare zu rmachine

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!