rmachine je registr stroj simulátor (teorie složitosti verze), naprogramované v Pythonu, kompletní s modulem má být použita v rámci svých programů a (PyQt4) GUI.
Stroj ("RAM") je rovna Turing stroje v jeho computional síle. To má teoreticky neomezenou paměť (ale je omezen v praxi paměti počítače).
To je simulátor pro stroje rejstříku (teorie složitosti verzi). Zde je krátký úvod.
Stroj ("RAM") je rovna Turingovy stroje v jeho computional síle. To má teoreticky neomezenou paměť (v praxi omezen paměti počítače). Paměťové buňky ("registry"), je možné uložit celá čísla> = 0 libovolnou délku. Řekněme 5. registr obsahuje číslo 42. bys napsat ji jako c (5) = 42. c (0) je také nazýván "assembler" a má důležitou roli, jak uvidíte později.
RAM je také proti Program B, initally nastavena na hodnotu 1 a v podstatě představující další řádek má být popraven.
Struktura typického programu vypadá takto:
# Komentáře naleznete zde
# Další komentáře
INPUT 4 6 8 9
(Instrukce naleznete zde)
END
"INPUT" řádku by měl být nalezen hned po komentářích. Vstupní bude umístěn v c (1), C (2) atd V tomto příkladu, c (1) = 4, C (2) = 6, C (3) = 8, C (4) = 9.
Nyní, se vším, co, tady je instrukční sada. První řádek je instrukce sám, 2. řádek vysvětluje, co to dě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)), 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
Poznámka: desetinných míst budou odříznuti
-
CDIV i
c (0): = c (0) / i, b: = b + 1
Poznámka: desetinných míst budou odříznuti
-
INDDIV i
c (0): = C (0) / c (c (i)), b: = b + 1
Poznámka: desetinných míst budou odříznuti
-
GOTO i
b: = i
-
IF X l GOTO i
X může být jedním z těch,:
b: = i if (c (0) X l), je pravda,
(Více neformálně, "pokud <5 GOTO 10" by stanovil b = 10, pokud c (0)
Požadavky na :
- Python
- PyQt4
Komentáře nebyl nalezen