rmachine е симулатор регистър машина (на сложност теория версия), програмиран в Python, пълна с модул трябва да се използва в своите програми и (PyQt4) GUI.
Машината ("RAM"), се равнява на машини на Тюринг в своята computional власт. Той има теоретично неограничена памет (но е ограничена на практика от паметта на компютъра).
Това е симулатор за Регистрация машини (на сложност теория версия). Ето едно кратко въведение.
Машината ("RAM"), се равнява на машини на Тюринг в своята computional власт. Той има теоретично неограничена памет (на практика ограничава от вашия компютър с памет). Клетките на паметта ("регистри") могат да съхраняват числа> = 0 на всяка дължина. Кажи на петия регистър съдържа номера 42. Ще го напиша като в (5) = 42. С (0) се нарича още "асемблер" и има важна роля, както ще видите по-късно.
Паметта също има програма за борба б, Initally настроен на 1 и в общи линии, представляващи следващия ред, за да бъде изпълнена.
Структурата на една типична програма изглежда така:
# Коментари отидете тук
Още # коментари
INPUT 4 6 8 9
(Инструкции отидете тук)
END
The "INPUT" линията трябва да се намери точно след коментарите. Входът ще бъде поставен в в (1), в (2) и т.н. В този пример С (1) = 4, С (2) = 6, C (3) = 8, C (4) = 9.
Сега, с всичко това, ето набор инструкции. Първата линия е самата инструкция, на 2-ра линия, обяснява какво прави той.
-
LOAD I
C (0) = C (I), б: = б + 1
-
CLOAD I
C (0): = I, б: = б + 1
-
INDLOAD I
C (0) = C (C (I)), б: = б + 1
-
МАГАЗИН I
в (I): = C (0), б: = б + 1
-
INDSTORE I
C (C (I)): = C (0), б: = б + 1
-
ДОБАВИ I
C (0) = C (0) + С (I), б: = б + 1
-
CADD I
С (0): = С (0) + I, Б: = б + 1
-
INDADD I
C (0) = C (0) + C (C (I)), б: = б + 1
-
SUB I
C (0): = Max (С (0) - C (I), 0), б: = б + 1
-
CSUB I
C (0): = Max (С (0) - I, 0), б: = б + 1
-
INDSUB I
C (0): = Max (С (0) - C (C (I)), 0), б: = б + 1
-
MUL I
C (0) = C (0) * в (I), б: = б + 1
-
Cmul I
C (0) = C (0) * I, б: = б + 1
-
INDMUL I
C (0) = C (0) * C (C (I)), б: = б + 1
-
DIV I
C (0) = C (0) / C (I), б: = б + 1
Забележка: до десетичните ще бъдат отрязани
-
CDIV I
C (0) = C (0) / I, б: = б + 1
Забележка: до десетичните ще бъдат отрязани
-
INDDIV I
C (0) = C (0) / C (C (I)), б: = б + 1
Забележка: до десетичните ще бъдат отрязани
-
GOTO I
б: I =
-
IF X л GOTO I
X може да бъде един от тези:
б: = I, ако (C (0) х) е вярно
(По-неформално, "IF <5 GOTO 10" ще създаде б = 10, ако в (0)
<силни> Изисквания
- Python
- PyQt4
Коментари не е намерена