Эксперт
Сергей
Сергей
Задать вопрос
Мы готовы помочь Вам.

Задание

Разработать программу, реализующую машину Тьюринга. Пользователь должен иметь возможность задать алфавит машины, множество ее состояний и набор правил, по которым работает машина, а также начальное содержимое ленты. Машина должна выполнять переходы в соответствии с набором правил и остановиться при достижении конечного состояния. После остановки машина должна отобразить полученное содержимое ленты.

Краткое описание работы программы

Программа принимает на ввод названия состояний, правила перехода и содержимое ленты. Наименование каждого состояния должно содержать три символа (например, q01). Форма записи правил перехода: q01/q02*> (где ‘/’ – символ в строке, который необходимо заменить, а ‘*’ – символ, на который выполняется замена, ‘>’ – маркер для направления движения курсора по строке). Символы из правил замены фиксируются, затем вводится содержимое ленты и выполняется замена. При прохождении по ленте символ, над которым производится действие, окрашивается красным цветом. После остановки машина отображает полученное содержимое ленты.

Код программы

using System;

using System.Collections.Generic; using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace T_

{

class Machine

{

private string[] states = new string[30]; private int statescount;

private string[] instructions = new string[100]; private int instructcount;

private char[] bandf = new char[999]; private string band;

private int cursor;

Была ли полезна данная статья?
Да
61.09%
Нет
38.91%
Проголосовало: 1105

или напишите нам прямо сейчас:

⚠️ Пожалуйста, пишите в MAX или заполните форму выше.
В России Telegram и WhatsApp блокируют - сообщения могут не дойти.
Написать в MAXНаписать в TelegramНаписать в WhatsApp