littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于C++的多带图灵机模拟系统

项目简介

本项目是基于C++的多带图灵机模拟系统,能对多带图灵机程序进行解析,并模拟其运行过程。系统包含两个具体的图灵机程序,分别用于判断K是否为斐波那契数以及判断输入的01串是否满足ww形式。

项目的主要特性和功能

  1. 多带图灵机程序解析:把字符串描述的图灵机转化为可运行的数据结构,通过自定义的TM类和Transition数据结构存储图灵机的七元组和转移函数。
  2. 输入合法性判断:借助C++ STL中的string类判断图灵机输入字符串的合法性。
  3. 图灵机模拟运行:通过search_rule()函数实现转移规则的匹配,模拟图灵机运行直至达到最终状态。
  4. 执行信息打印:每条纸带打印Index、Tape、Head三个信息,直观展示图灵机的运行步骤。
  5. 具体图灵机程序实现:实现了判断K是否为斐波那契数和判断01串是否满足ww形式的图灵机程序。

安装使用步骤

编译环境

运行在Ubuntu,C++14,使用CMake构建。

编译步骤

sh $ /clion-2019.2.2/bin/cmake/linux/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /home/lau/CLionProjects/Turing

运行步骤

该项目已编译完成,可直接运行: sh $ cd Turing/ $ ./Turing case1 $ ./Turing case2

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】