rmachine는 프로그램에 사용되는 모듈 (PyQt4) GUI 완료 파이썬 프로그래밍 레지스터 기계 시뮬레이터 (복잡성 이론 버전)이다.
기계 ( "RAM")는 자사의 computional 전력 튜링 기계와 같다. 그것은 이론적으로 무제한의 메모리가 있습니다 (단, 컴퓨터의 메모리에 의해 실질적으로 제한된다).
이 레지스터 기계 (복잡성 이론 버전)을위한 시뮬레이터입니다. 여기에 간단한 소개입니다.
기계 ( "RAM")는 자사의 computional 전력 튜링 기계와 같다. 그것은 (컴퓨터 메모리에 의해 제한 실제로는) 이론적으로 무제한의 메모리가 있습니다. 메모리 셀은 ( "등록") 길이의 정수> = 0를 저장할 수있다. 당신은 C (5) = 42로 쓸 것 5 레지스터 번호 (42)를 포함 말한다. 나중에 살펴 보 겠지만 C (0) 또한 중요한 역할을 "어셈블러"전화를 가지고있다.
RAM은 또한 프로그램 카운터 B, 할점 1로 설정되고, 기본적으로 실행되는 다음 라인을 나타내는있다.
일반적인 프로그램의 구조는 다음과 같다 :
# 댓글은 여기
# 더 많은 의견
입력 4 6 8 9
(지침은 여기)
END
"입력"라인은 바로 댓글 후 발견해야한다. 입력이 예에서는 C (1), C (2) 등이 배치되며, C (1) = 4, C (2) = 6, C (3) = 8, C (4) = 9.
이제, 모두와 함께, 여기에서 설정 한 명령입니다. 첫 번째 줄은 명령 자체가, 2 라인은 무엇을 설명합니다.
-
부하 전
C (0) = C (I), (B) = B + 1
-
CLOAD의 난
C (0) = 1, B = B + 1
-
INDLOAD의 난
C (0) = C (C (I)), B = B + 1
-
상점 나는
C (I) = C를 (0), B = B + 1
-
INDSTORE 전
C (C (I)) : = C를 (0), B = B + 1
-
나는 담기
C (0) = C를 (0) + (C) (I), (B) = B + 1
-
CADD의 난
C (0) = C를 (0) + I, B = B + 1
-
INDADD의 난
C (0) = C를 (0) + C (c (I)), B = B + 1
-
SUB 전
C (0) = 최대 (C (0) - (C) (I), 0), B = B + 1
-
CSUB의 난
C (0) = 최대 (C (0) - I, 0), B = B + 1
-
INDSUB 전
C (0) = 최대 (C (0) - C (C (I)), 0), B = B + 1
-
MUL의 난
C (0) = C를 (0) * (C) (I), (B) = B + 1
-
CMUL의 난
C (0) = C를 (0) * I, B = B + 1
-
INDMUL 전
C (0) = C를 (0) * C (C (I)), B = B + 1
-
DIV의 난
C (0) = C를 (0) / C (I), (B) = B + 1
참고 : 소수가 차단됩니다
-
CDIV의 난
C (0) = C를 (0) / I, B = B + 1
참고 : 소수가 차단됩니다
-
INDDIV 전
C (0) = C를 (0) / C (C (I)), B = B + 1
참고 : 소수가 차단됩니다
-
고토의 난
B : I =
-
IF X L GOTO 전
X는 그 중 하나가 될 수 있습니다 :
B : = 나는 경우 (C (0) × L)에 해당하는
(더 비공식적으로, "<5 GOTO (10)이"설정합니다 B = 10 C (0)
이 요구하는 경우
파이썬
PyQt4
댓글을 찾을 수 없습니다