rmachine

Tela Software:
rmachine
Detalhes de Software:
Versão: 0.12
Data de upload: 3 Jun 15
Revelador: Michael Vogt
Licença: Livre
Popularidade: 36

Rating: 1.0/5 (Total Votes: 1)

rmachine é um simulador de máquina de registo (a versão teoria da complexidade), programados em Python, completo com um módulo para ser usado em seus programas e um (PyQt4) GUI.
A máquina ("RAM") é igual a máquinas de Turing na sua potência computacionalmente. Ele tem memória teoricamente ilimitado (mas é limitada na prática pela memória do computador).
Este é um simulador para máquinas de (a versão teoria da complexidade). Aqui está uma breve introdução.
A máquina ("RAM") é igual a máquinas Turing em seu poder computacionalmente. Ele tem memória teoricamente ilimitado (na prática limitada pela sua memória de computadores). As células de memória ("registos") pode armazenar números inteiros> = 0 de qualquer comprimento. Diga o quinto registo contém o número 42. Você iria escrevê-lo como c (5) = 42. c (0) também é chamado de "montador" e tem um papel importante, como você verá mais tarde.
A memória RAM tem também um contador de programa b, initally definido como 1 e, basicamente, representando a linha seguinte a ser executado.
A estrutura de um programa típico se parece com isso:
  # Comentários aqui
  # Mais comentários
  ENTRADA 4 6 8 9
  (Instruções ir aqui)
  FIM
A linha "INPUT" deve ser encontrada logo após os comentários. A entrada será colocado em C (1), C (2), etc. Neste exemplo, c (1) = 4, C (2) = 6, C (3) = 8, C (4) = 9.
Agora, com tudo isso, aqui está o conjunto de instruções. A primeira linha é a própria instrução, a segunda linha explica o que ele faz.
-
CARGA 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
-
LOJA 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
-
I SUB
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
Nota: Os decimais serão cortadas
-
CDIV i
C (0): = C (0) / i, b: = b + 1
Nota: Os decimais serão cortadas
-
INDDIV i
C (0): = C (0) / C (C (i)), b: = b + 1
Nota: Os decimais serão cortadas
-
GOTO i
b: = i
-
IF X l i GOTO
X pode ser um daqueles:
b: = i se (C (0) X l) é verdadeira
(Mais informalmente, "IF <5 GOTO 10" iria definir b = 10, se c (0)

Requisitos :

  • Python
  • PyQt4

Comentário para rmachine

Comentários não encontrado
Adicionar comentário
Ligue imagens!