rmachineは、あなたのプログラムと(PyQt4)GUIで使用するモジュールと完全にPythonでプログラムされたレジスタマシンシミュレータ(複雑性理論のバージョン)、です。
マシン(「RAM」)は、そのcomputional電力のチューリングマシンと同じです。それは理論的には無制限のメモリを持っている(ただし、コンピュータのメモリによって実際に制限されています)。
これは、レジスタマシン(複雑性理論版)のためのシミュレータです。ここでは簡単な紹介です。
マシン(「RAM」)は、そのcomputional電力のチューリングマシンと同じです。それは(あなたのコンピュータのメモリによって制限され、実際には)理論的には無制限のメモリを持っています。メモリセルは(「レジスタ」)の整数、任意の長さの> = 0を格納することができます。あなたがC(5)= 42としてそれを記述します。第5レジスタ番号42を含んでいると言います。 C(0)も「アセンブラ」と呼ばれ、あとでわかるよう、重要な役割を有しています。
RAMは、プログラムカウンタB、initally 1に設定され、基本的に実行されるべき次のラインを表現しています。
典型的なプログラムの構造は次のようになります。
#コメントはここに行きます
#コメント
INPUT 4 6 8 9
(手順については、こちらを参照してください)
終わり
「入力」の行は、右のコメント後に発見されるべきです。入力は、この例では、C(1)、C(2)等に配置され、C(1)= 4、C(2)= 6、C(3)= 8、C(4)= 9。
今、すべてのことで、ここで設定した命令です。最初の行は、命令自体は、2行目は、それが何をするかを説明します。
-
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
-
私は追加します
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の私
C(0):= cの(0)/ C(I)、B = B + 1
注:小数点以下が遮断されます
-
CDIVのI
C(0)= cは(0)/ I、B = B + 1
注:小数点以下が遮断されます
-
INDDIV I
C(0):= cの(0)/ C(C(i))を、B = B + 1
注:小数点以下が遮断されます
-
GOTO I
B:= I
-
X L GOTO I IF
Xは、これらのいずれかになります。
B:= I(C(0)のX l)は真である場合
(詳細非公式に、 "<5 GOTO 10 IF"設定しますB = 10、C(0)
この要件の場合:
このパイソン
PyQt4
コメントが見つかりません