rmachine egy regiszter gép szimulátor (a komplexitás elmélet változat), programozott Python, kiegészítve egy modult kell használni a programokat és a (PyQt4) GUI.
A gép ("RAM") egyenlő a Turing-gép saját computional hatalom. Ez elméletileg korlátlan memória (de legfeljebb a gyakorlatban a számítógép memóriájában).
Ez egy szimulátor nyilvántartás gépek (a komplexitás elmélet változat). Itt egy rövid bevezetőt.
A gép ("RAM") egyenlő a Turing-gép saját computional hatalom. Ez elméletileg korlátlan memória (a gyakorlatban korlátozott a számítógép memóriájában). Memória sejtek ("nyilvántartás") képes tárolni egészek> = 0, bármilyen hosszúságú. Mondják az 5. nyilvántartás tartalmazza a száma 42. Az ember azt írni, hogy a c (5) = 42. c (0) is nevezik "szerelő", és fontos szerepe van, hiszen akkor lásd később.
A RAM is van egy program számláló b, initally értéke 1 és alapvetően képviselő a következő sorban végre kell hajtani.
A szerkezet egy tipikus program így néz ki:
# Hozzászólások megy itt
# Több hozzászólás
INPUT 4 6 8 9
(Utasítások megy itt)
VÉGE
A "INPUT" sort kell találni után a megjegyzéseket. A bemeneti kerül a C (1), C (2), stb Ebben a példában, a C (1) = 4, C (2) = 6, C (3) = 8, C (4) = 9.
Most, az összes, hogy itt van a utasításkészletet. Az első sor az oktatás maga, a 2. sorban elmagyarázza, hogy mit csinál.
-
LOAD i
C (0): = C (i), b: = b + 1
-
CLOAD i
C (0): = I, B: = b + 1
-
INDLOAD i
C (0): = C (C (i) a), 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: a = b + 1
-
INDADD i
C (0): = C (0) + C (C (i) a), b: = b + 1
-
SUB i
C (0): = max (C (0) - C (i), 0), B: a = b + 1
-
CSUB i
C (0): = max (C (0) - i, 0), B: a = b + 1
-
INDSUB i
C (0): = max (C (0) - C (C (i)), 0), B: a = b + 1
-
MUL i
C (0): = C (0) * C (i), b: = b + 1
-
CMUL i
C (0): = C (0) * I, B: a = b + 1
-
INDMUL i
C (0): = C (0) * C (C (i) a), b: = b + 1
-
DIV i
C (0): = C (0) / C (i), b: = b + 1
Megjegyzés: A tizedes jegyek lesz vágva
-
CDIV i
C (0): = C (0) / I, B: a = b + 1
Megjegyzés: A tizedes jegyek lesz vágva
-
INDDIV i
C (0): = C (0) / C (C (i) a), b: = b + 1
Megjegyzés: A tizedes jegyek lesz vágva
-
GOTO i
b: = i
-
Ha X l GOTO i
X lehet egyike azoknak:
b: = i if (c (0) X l) igaz
(Több informálisan "Ha <5 GOTO 10" beállítja b = 10, ha c (0)
követelmények :
- Python
- PyQt4
Hozzászólás nem található