rmachine

Sagteware kiekie:
rmachine
Sagteware besonderhede:
Weergawe: 0.12
Upload datum: 3 Jun 15
Ontwikkelaar: Michael Vogt
Lisensie: Gratis
Populariteit: 36

Rating: 1.0/5 (Total Votes: 1)

rmachine is 'n register masjien simulator (die kompleksiteitsteorie weergawe), geprogrammeer in Python, kompleet met 'n module gebruik word in jou programme en 'n (PyQt4) GUI.
Die masjien ("RAM") is gelyk aan Turing masjiene in sy computional krag. Dit het teoreties onbeperkte geheue (maar in die praktyk word beperk deur jou rekenaar se geheue).
Dit is 'n simulator vir register masjiene (die kompleksiteitsteorie weergawe). Hier is 'n kort inleiding.
Die masjien ("RAM") is gelyk aan siene masjiene in sy computional krag. Dit het teoreties onbeperkte geheue (in die praktyk beperk deur jou rekenaars geheue). Memory selle ("registers") kan heelgetalle> = 0 van enige lengte stoor. Sê die 5 register bevat die aantal 42. Jy sal dit skryf as c (5) = 42. c (0) word ook genoem "assembler" en het 'n belangrike rol speel, soos jy later sal sien.
Die ram het ook 'n program counter b, initally stel om 1 en basies wat die volgende reël wat uitgevoer moet word.
Die struktuur van 'n tipiese program lyk soos volg:
  # Comments gaan hier
  # Meer kommentaar
  INPUT 4 6 8 9
  (Instruksies gaan hier)
  EINDE
Die "input" lyn moet gevind word direk na die kommentaar. Die insette sal in c (1), C (2) ens In hierdie voorbeeld, c (1) = 4, c (2) = 6, c (3) = 8, c (4) = 9.
Nou, met alles wat, hier is die stel onderrig. Die eerste reël is die tug self, die 2de reël verduidelik wat dit doen.
-
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
-
WINKEL 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
Let wel: Die desimale sal uitgeroei word
-
CDIV i
c (0): = c (0) / i, b: = b + 1
Let wel: Die desimale sal uitgeroei word
-
INDDIV i
c (0): = c (0) / c (c (i)), b: = b + 1
Let wel: Die desimale sal uitgeroei word
-
GOTO i
b: = i
-
As x l GOTO i
X kan een van daardie:
b: = i if (c (0) X l) is waar
(Meer informeel, "as <5 GOTO 10" sou stel b = 10 As c (0)

Vereistes :

  • Python
  • PyQt4

Kommentaar te rmachine

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!