第二章 图灵机
一、实验目的
1.掌握图灵机的概念和基本结构,理解图灵机的基本指令和编码方式;
2.掌握图灵机的编程方法。
二、实验内容
对于任意给定的一台Turing机和任意给定的字符串w ( w不含空格),编程模拟此Turing机的运行过程,要求输出从开始运行起的每一步骤的结果。
三、算法构造:
图灵机在扩展二进制位实现(XN*2)的运算指令:
00→00R,
01→10R,
10→01R,
11→100R,
100→111R,
110→01STOP。
四、程序实现
/*此程序是用来模拟图灵机XN*2的过程
要求是输入一个已经扩展好的的二进制数
输出打印图灵机的每一位的指令步骤*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char a[100000];//定义一个足够大的数组
int length;//定义数组的长度
int i=0,*p;
int flag=0;//内态
printf("请输入一个已经扩展好的二进制数字(前后可以多加好些0):");
scanf("%s",&a);//输入数组数据
length=strlen(a);//求数组长度
//printf("%s",a);
// for(i=0;i<N;i++)
// printf("a[%d]=%d\t",i,a[N]);
for(i=0;i<=length;i++)
{
if(f