[
  {
    "type" :1,
    "alphabetical": "1",
    "task_condition": "Машина выдает результат 1, если число, записанное в двоичной системе четное, и стирает все метки, если число нечетное. Каретка расположена над самой левой отметкой.\nКакое правило будет на третьем шаге? Укажите адрес ячейки в формате: название строки, номер состояния (через запятую)",
    "counter_states": 4,
    "pointer_index": 0,
    "table_rules": {
      "1":	["1>2", "1>1", "<3", "<4"],
      " ":	["<3", "<4", "1.0", ".0"]
    },
    "expression": {
      "0": "1",
      "1": "1",
      "2": "1"
    },
    "answer": "1,1"
  },
  {
    "type" :1,
    "alphabetical": "01",
    "task_condition": "Машина заменяет в двоичной записи числа все нули на единицы и все единицы на нули.\n Какое правило будет на втором шаге? Укажите адрес ячейки в формате: строка, номер состояния (через запятую)",
    "counter_states": 4,
    "pointer_index": 0,
    "table_rules": {
      "0": ["1>2", "1>1", "1>3", "1>4"],
      "1": ["0>3", "0>1", "0<3", "0<4"],
      " ": [">3", ">4", ".0", ".0"]
    },
    "expression": {
      "-1": "1",
      "0": "1",
      "1": "0",
      "2": "1",
      "3": "0"
    },
      "answer": "0,3"
  },
  {
    "type" :1,
    "alphabetical": "ab",
    "task_condition": "Дана строка, состоящая только из символов a и b. Машина переставляет последний символ в начало строки. Каретка находится над первым символом строки.\nСколько непустых символов останется на бесконечной ленте после второго шага?",
    "counter_states": 3,
    "pointer_index": 0,
    "table_rules": {
      "a": [">2", ">2", "a>3"],
      "b": [">3", "b<2", "b<3"],
      " ": ["", "a.0", "b.0"]
    },
    "expression": {
      "0": "a",
      "1": "b",
      "2": "b",
      "3": "a",
      "4": "b"
    },
      "answer": "4"
  },
  {
    "type" :1,
    "alphabetical": "01",
    "task_condition": "Машина увеличивает число, записанное в двоичной системе счисления, на 1. Указатель стоит над числом.\nЗа сколько шагов программа выполнится?",
    "counter_states": 2,
    "pointer_index": 2,
    "table_rules": {
      "0": ["0>1", "1.0"],
      "1": ["1>1", "0<2"],
      " ": ["<2", "1.0"]
    },
    "expression": {
      "-3": "1",
      "-2": "1",
      "-1": "0",
      "0": "1"
    },
      "answer": "3"
  },
  {
    "type" :1,
    "alphabetical": "01",
    "task_condition": "Даны два числа в двоичной системе счисления, разделенные знаком «+». Машина вычисляет сумму эти чисел.\nЧерез сколько шагов последняя цифра второго числа станет равной 0",
    "counter_states": 5,
    "pointer_index": 3,
    "table_rules": {
      "0": ["1<1", "0<2", "1>4", "0>4", ""],
      "1": ["0<2", "1<2", "0<3", "1>4", ">5"],
      "+": [">5", "+<3", "", "+>4", ""],
      " ": ["", "", "1>4", "<1", ".0"]
    },
    "expression": {
      "-4": "1",
      "-3": "0",
      "-2": "1",
      "-1": "1",
      "0": "+",
      "1": "1",
      "2": "1",
      "3": "1"
    },
      "answer": "1"
  },

  {
    "type" :2,
    "alphabetical": "01",
    "task_condition": "Машина заменяет в двоичной записи числа все нули на единицы и все единицы на нули.\nКакое правило записано с ошибкой? Укажите адрес ячейки в формате: строка, номер состояния (через запятую)",
    "counter_states": 2,
    "pointer_index": 0,
    "table_rules": {
      "0": ["1>2", "1>2"],
      "1": ["0>2", "0>2"],
      " ": ["1>1", ">0"]
    },
    "expression": {
      "-1": "1",
      "0": "1",
      "1": "0",
      "2": "1",
      "3": "0"
    },
      "answer": " ,1"
  },
  {
    "type" :2,
    "alphabetical": "ab",
    "task_condition": "Дана строка, состоящая только из символов a и b. Машина удаляет все символы a.\n Какое правило записано с ошибкой? Укажите адрес ячейки в формате: строка, номер состояния (через запятую)",
    "counter_states": 3,
    "pointer_index": 0,
    "table_rules": {
      "a": [">2", ">2", "a>3"],
      "b": [">3", "b<2", "b<3"],
      " ": ["", "a.0", "b.0"]
    },
    "expression": {
      "0": "a",
      "1": "a",
      "2": "b",
      "3": "a",
      "4": "b"
    },
    "answer": "a,3"
  },
  {
    "type" :2,
    "alphabetical": "1",
    "task_condition": "Машина выдает результат 1, если число, записанное в двоичной системе четное, и стирает все метки, если число нечетное. Каретка расположена над самой левой отметкой.\nКакое правило записано с ошибкой? Укажите адрес ячейки в формате: название строки, номер состояния (через запятую)",
    "counter_states": 4,
    "pointer_index": 1,
    "table_rules": {
      "1":	["1>2", "1>1", "<3", "2<4"],
      " ":	["<3", "<4", "1.0", ".0"]
    },
    "expression": {
      "0": "1",
      "1": "1",
      "2": "1"
    },
    "answer": "1,4"
  },
  {
    "type": 2,
    "alphabetical": "01",
    "task_condition": "Машина увеличивает число, записанное в двоичной системе счисления, на 1. Каретка стоит над числом.\nКакое правило записано с ошибкой? Укажите адрес ячейки в формате: строка, номер состояния (через запятую)",
    "counter_states": 2,
    "pointer_index": 2,
    "table_rules": {
      "0": ["0>1", "1.0"],
      "1": ["1>1","2<2"],
      " ": ["<2","1.0"]
    },
    "expression": {
      "-3": "1",
      "-2": "1",
      "-1": "0",
      "0": "1"
    },
    "answer": "1,2"
  },
  {
    "type" :2,
    "alphabetical": "ab",
    "task_condition": "Сортировка цепочки из букв a и b так, чтобы сначала стоял все буквы a, а потом - все буквы b. Каретка стоит над первым символом строки.\nКакое правило записано с ошибкой? Укажите адрес ячейки в формате: название строки, номер состояния (через запятую)",
    "counter_states": 4,
    "pointer_index": 0,
    "table_rules": {
      "a": ["a>1", "b<3", "a>4", ""],
      "b": ["b>2", "b>2", "b<3", "a.1"],
      " ": [".0", "a.0", "", ""]
    },
    "expression": {
      "0": "a",
      "1": "a",
      "2": "a",
      "3": "b",
      "4": "b",
      "5": "b",
      "6": "a",
      "7": "a",
      "8": "b"
    },
    "answer": " ,2"
  },

  {
    "type" :3,
    "alphabetical": "01",
    "task_condition": "Машина увеличивает число, записанное в двоичной системе счисления, на 1. Каретка стоит над числом.\nЗапишите в пустой ячейке правило",
    "counter_states": 2,
    "pointer_index": 0,
    "table_rules": {
      "0": ["0>1", "1.0"],
      "1": ["", "0<2"],
      " ": ["<2", "1.0"]
    },
    "expression": {
      "-3": "1",
      "-2": "1",
      "-1": "0",
      "0": "1"
    },
    "num_cell_row": "1",
    "num_cell_col": 0,
    "answer": "1>1"
  },
  {
    "type" :3,
    "alphabetical": "ab",
    "task_condition": "Дана строка, состоящая только из символов a и b. Машина удаляет все символы a.\nЗапишите в пустой ячейке правило, после которого машина перейдет в состояние Q2",
    "counter_states": 3,
    "pointer_index": 0,
    "table_rules": {
      "a": ["", ">2", ">3"],
      "b": [">3", "b<2", "b<3"],
      " ": ["", "a.0", "b.0"]
    },
    "expression": {
      "0": "a",
      "1": "a",
      "2": "b",
      "3": "a",
      "4": "b"
    },
    "num_cell_row": "a",
    "num_cell_col": 0,
    "answer": ">2"
  },
  {
    "type" :3,
    "alphabetical": "ab",
    "task_condition": "Дана строка, состоящая только из символов a и b. Машина удаляет все символы a.\nЗапишите в пустой ячейке правило, после которого не поменяет состояние",
    "counter_states": 3,
    "pointer_index": 0,
    "table_rules": {
      "a": [">2", ">2", ""],
      "b": [">3", "b<2", "b<3"],
      " ": ["", "a.0", "b.0"]
    },
    "expression": {
      "0": "a",
      "1": "a",
      "2": "b",
      "3": "a",
      "4": "b",
      "5": "a"
    },
    "num_cell_row": "a",
    "num_cell_col": 2,
    "answer": ">3"
  },
  {
    "type" :3,
    "alphabetical": "01",
    "task_condition": "Машина увеличивает число, записанное в двоичной системе счисления, на 1. Каретка стоит над числом.\nЗапишите в пустой ячейке правило, после которого программа завершится",
    "counter_states": 2,
    "pointer_index": 0,
    "table_rules": {
      "0": ["0>1", ""],
      "1": ["1>1", "0<2"],
      " ": ["<2", "1.0"]
    },
    "expression": {
      "-3": "1",
      "-2": "1",
      "-1": "0",
      "0": "1"
    },
    "num_cell_row": "0",
    "num_cell_col": 1,
    "answer": "1.0"
  },
  {
    "type" :3,
    "alphabetical": "01",
    "task_condition": "Машина заменяет в двоичной записи числа все нули на единицы и все единицы на нули.\nЗапишите в пустой ячейке правило, после которого программа завершится",
    "counter_states": 2,
    "pointer_index": 0,
    "table_rules": {
      "0": ["1>2", "1>2"],
      "1": ["0>2", "0>2"],
      " ": [">1", ""]
    },
    "expression": {
      "-1": "1",
      "0": "1",
      "1": "0",
      "2": "1",
      "3": "0"
    },
    "num_cell_row": " ",
    "num_cell_col": 1,
    "answer": ">0"
  },

  {
    "type" :4,
    "alphabetical": "01",
    "task_condition": "Машина заменяет в двоичной записи числа все нули на единицы и все единицы на нули.\nЧто выведет программа?",
    "counter_states": 2,
    "pointer_index": 0,
    "table_rules": {
      "0": ["1>2", "1>2"],
      "1": ["0>2", ""],
      " ": [">1", ">0"]
    },
    "expression": {
      "3": "1",
      "4": "1",
      "5": "0",
      "6": "0",
      "7": "1",
      "8": "0"
    },
    "var": ["101101", "Ошибка: Нет команды в ячейке", "001101", "Ошибка: Такого символа нет в алфавите"],
    "answer": "Ошибка: Нет команды в ячейке"
  },
  {
    "type" :4,
    "alphabetical": "01",
    "task_condition": "Машина заменяет в двоичной записи числа все нули на единицы и все единицы на нули.\nЧто выведет программа?",
    "counter_states": 2,
    "pointer_index": 0,
    "table_rules": {
      "0": ["1>2", "1>21"],
      "1": ["0>2", "0>2"],
      " ": [">1", ">0"]
    },
    "expression": {
      "2": "1",
      "3": "1",
      "4": "1",
      "5": "1",
      "6": "1",
      "7": "0",
      "8": "0"
    },
    "var": ["001101", "Ошибка: Нет команды в ячейке", "000011", "Ошибка: Такого состояния не существует"],
    "answer": "Ошибка: Такого состояния не существует"
  },
  {
    "type" :4,
    "alphabetical": "ab",
    "task_condition": "Дана строка, состоящая только из символов a и b. Машина удаляет все символы a.\n Что выведет программа?",
    "counter_states": 3,
    "pointer_index": 0,
    "table_rules": {
      "a": [">2", ">2", ">3"],
      "b": [">3", "b<2", "b<3"],
      " ": [".0", "c.0", "b.0"]
    },
    "expression": {
      "0": "a",
      "1": "a",
      "2": "b",
      "3": "a",
      "4": "b",
      "5": "a"
    },
    "var": ["ababa", "Ошибка: Нет команды в ячейке", "aaaaa", "Ошибка: Такого символа нет в алфавите"],
    "answer": "Ошибка: Такого символа нет в алфавите"
  },
  {
    "type" :4,
    "alphabetical": "ab",
    "task_condition": "Дана строка, состоящая только из символов a и b. Машина удаляет все символы a.\nЧто выведет программа?",
    "counter_states": 3,
    "pointer_index": 0,
    "table_rules": {
      "a": [">2", ">2", ">3"],
      "b": [">3", "b<2", "b<3"],
      " ": [".0", "a.0", "c.0"]
    },
    "expression": {
      "0": "a",
      "1": "a",
      "2": "b",
      "3": "a",
      "4": "b",
      "5": "a"
    },
    "var": ["ababa", "Ошибка: Нет команды в ячейке", "aaaaa", "Ошибка: Такого символа нет в алфавите"],
    "answer": "ababa"
  },
  {
    "type" :4,
    "alphabetical": "01",
    "task_condition": "Машина увеличивает число, записанное в двоичной системе счисления, на 1. Каретка стоит над числом.\nЧто выведет программа?",
    "counter_states": 2,
    "pointer_index": 0,
    "table_rules": {
      "0": ["0>1", "1.0"],
      "1": ["1>1", "0<2"],
      " ": ["<2", "1.0"]
    },
    "expression": {
      "-3": "1",
      "-2": "1",
      "-1": "0",
      "0": "1"
    },
    "var": ["1111", "Ошибка: Неверный переход", "1110", "Ошибка: Такого символа нет в алфавите"],
    "answer": "1110"
  },

  {
    "type" :5,
    "alphabetical": "01",
    "task_condition": "Каким станет выражение после выполнения программы?",
    "counter_states": 2,
    "pointer_index": 2,
    "table_rules": {
      "0": ["0>1", "1.0"],
      "1": ["1>1", "0<2"],
      " ": ["<2", "1.0"]
    },
    "expression": {
      "-3": "1",
      "-2": "1",
      "-1": "0",
      "0": "0",
      "1": "0",
      "2": "0"
    },
    "answer": "110001"
  },
  {
    "type" :5,
    "alphabetical": "ab",
    "task_condition": "Каким станет выражение после выполнения программы?",
    "counter_states": 3,
    "pointer_index": 0,
    "table_rules": {
      "a": [">2", "a>2", "a>3"],
      "b": [">3", "b>2", "b>3"],
      " ": ["", "a.0", "b.0"]
    },
    "expression": {
      "0": "a",
      "1": "b",
      "2": "b",
      "3": "a",
      "4": "b"
    },
      "answer": "bbaba"
  },
  {
    "type" :5,
    "alphabetical": "bc",
    "task_condition": "Каким станет выражение после выполнения программы?",
    "counter_states": 4,
    "pointer_index": 0,
    "table_rules": {
      "a": ["a>1", "a<2", "b<2", "c<2"],
      "b": ["b>1", "a<3", "b<3", "c<3"],
      "c": ["a<4", "a<4", "b<4", "c<4"],
      " ": ["<0", "a.0", "b.0", "c.0"]
    },
    "expression": {
      "0": "a",
      "1": "b",
      "2": "c",
      "3": "b",
      "4": "c"
    },
      "answer": "abcabc"
  },
  {
    "type" :5,
    "alphabetical": "01",
    "task_condition": "Каким станет выражение после выполнения программы?",
    "counter_states": 2,
    "pointer_index": -1,
    "table_rules": {
      "0": ["0>2", "0<2"],
      "1": ["1>2", "1>2"],
      " ": [".2", "0>0"]
    },
    "expression": {
      "-3": "1",
      "-2": "1",
      "-1": "0",
      "0": "1",
      "1": "1",
      "2": "1",
      "3": "0"
    },
      "answer": "11011100"
  },
  {
    "type" :5,
    "alphabetical": "01",
    "task_condition": "Каким станет выражение после выполнения программы?",
    "counter_states": 2,
    "pointer_index": 0,
    "table_rules": {
      "0": ["0.2", "1.0"],
      "1": ["1.2", "2.0"],
      " ": ["2.0", "1.0"]
    },
    "expression": {
      "-7": "1",
      "-6": "1",
      "-5": "2",
      "-4": "2",
      "-3": " ",
      "-2": " ",
      "-1": " ",
      "0": " "
    },
      "answer": "1200"
  }
]