图灵机由无限长的纸带、读写头、状态寄存器、控制规则等四部分组成,纸带上的符号可以是{ 0,1,空格 }。要利用图灵机求解一个问题,需要自己设计图灵机“程序”,即定义一些状态(其中包括初始状态和结束状态),设计给出控制规则,并进行图灵机初始化(设定初始状态和读写头的位置)。图灵机运行时,只要给定问题的一个输入(纸带上的初始符号),则图灵机就能按照设计的控制规则运行得到要求的输出(结束状态时纸带上的符号)。
请设计开发一个单带(即只有一个读写头)图灵机模拟程序,功能包括:
(1)定义需要的状态;
(2)设计并输入控制规则;
(3)初始化;
(4)运行时接收输入(即初始化纸带上的符号);
(5)运行后输出结果;如果运行不正确,应该能报错。
例如,假设图灵机要实现二进正整数的加1运算,则只要给图灵机:
(1)定义4个状态: { q1,q2,q3,q4 },其中q1是机器的初始状态,q4是机器的结束状态
(2)设计并输入如下的规则:
则运行图灵机时,输入一个二进制整数,则输出加1后的结果。
如果要解决其他问题(即让图灵机具有其他功能),只要重新定义状态和控制规则(即“装入”其他“程序”)即可。
完整代码请移步:https://download.csdn.net/download/qq_39671345/13745042
看完记得点赞,(づ ̄3 ̄)づ╭❤~