در rmachine یک شبیه ساز ماشین ثبت نام (نسخه نظریه پیچیدگی)، برنامه ریزی شده در پایتون، کامل با یک ماژول در برنامه های خود را مورد استفاده قرار گیرد و (PyQt4) GUI است.
ماشین آلات ("RAM") را به ماشین تورینگ برابر در قدرت computional آن است. این حافظه به لحاظ نظری نامحدود (اما در عمل توسط حافظه کامپیوتر شما محدود).
این یک شبیه ساز برای ماشین آلات ثبت نام (نسخه نظریه پیچیدگی) است. در اینجا یک مقدمه کوتاه است.
ماشین آلات ("RAM") را به ماشین تورینگ برابر در قدرت computional آن است. این حافظه به لحاظ نظری نامحدود (در عمل محدود به حافظه کامپیوتر خود را). سلول های حافظه ("ثبت") می تواند اعداد صحیح> = 0، از هر طول ذخیره کنید. می گویند که ثبت نام 5 شامل شماره 42. شما می خواهم آن را به عنوان ج (5) = 42 ارسال. ج (0) نیز نقش مهمی به نام "اسمبلر" است و، همانطور که شما بعد خواهید دید.
RAM همچنین دارای یک شمارنده برنامه B، initally تا 1، تنظیم و اساسا به نمایندگی از خط بعدی اجرا شود.
ساختار یک برنامه معمولی به نظر می رسد، مثل این:
# نظرات به اینجا بروید
# نظرات بیشتر
INPUT 4 6 8 9
(دستورالعمل اینجا بروید)
END
"ورودی" خط باید درست بعد از نظر در بر داشت. ورودی خواهد شد در ج (1)، ج (2) و غیره قرار داده شده در این مثال، ج (1) = 4، ج (2) = 6، ج (3) = 8، ج (4) = 9.
در حال حاضر، با همه که، در اینجا مجموعه دستورات است. خط اول دستور خود است، خط 2 توضیح می دهد که آن را ندارد.
-
LOAD من
ج (0): = ج (من)، ب: = B + 1
-
CLOAD من
ج (0): = من، ب: = B + 1
-
INDLOAD من
ج (0): = C (C (من))، ب: = B + 1
-
فروشگاه من
ج (من): = ج (0)، ب: = B + 1
-
INDSTORE من
ج (ج (من)): = ج (0)، ب: = B + 1
-
اضافه کنم
ج (0): = ج (0) + C (من)، ب: = B + 1
-
CADD من
ج (0): = ج (0) + من، ب: = B + 1
-
INDADD من
ج (0): = ج (0) + C (C (من))، ب: = B + 1
-
من SUB
ج (0): = حداکثر (ج (0) - C (I)، 0)، ب: = B + 1
-
CSUB من
ج (0): = حداکثر (ج (0) - من، 0)، ب: = B + 1
-
INDSUB من
ج (0): = حداکثر (ج (0) - C (C (من))، 0)، ب: = B + 1
-
MUL من
ج (0): = ج (0) * C (من)، ب: = B + 1
-
CMUL من
ج (0): = ج (0) * * * * من، ب: = B + 1
-
INDMUL من
ج (0): = ج (0) * C (C (من))، ب: = B + 1
-
DIV من
ج (0): = ج (0) / C (من)، ب: = B + 1
توجه: اعشار قطع خواهد شد
-
CDIV من
ج (0): = ج (0) / من، ب: = B + 1
توجه: اعشار قطع خواهد شد
-
INDDIV من
ج (0): = ج (0) / C (C (من))، ب: = B + 1
توجه: اعشار قطع خواهد شد
-
GOTO من
ب: = من
-
اگر X L GOTO من
X می تواند یکی از کسانی که:
ب: = من اگر (ج (0) X L) درست است
(بیشتر رسمی، "IF <5 GOTO 10" را مجموعه B = 10 اگر c (0)
در مورد نیاز:
پایتون
PyQt4
نظر یافت نشد