Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Тренировки Пробники Статистика Карточки Учебник Об экзамене Учительская
  • Тренажёр заданий ЕГЭ
  • Тренажёр ЕГЭ по Информатике
  • Список заданий №12
  • Задание №12
  • Задание №91708 ЕГЭ Информатике

    Условие задания #91708

    №12 по КИМ

    На ленте исполнителя МТ в соседних ячейках записана последовательность из 1000 единиц и одного нуля в конце. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка находится в ближайшей ячейке слева от последовательности.

    Программа работы исполнителя:

    Команды движения каретки: L – влево, R – вправо, N — нет перемещения,  S– стоп. Определите количество единиц в строке, полученной в результате работы программы.

    Ответ

    Ответ:

    501

    Решение

    mt = {'l': {'q0': 'l,R,q0', 'q1': 'l,S,q1'},
          '0': {'q0': '1,S,q0', 'q1': '1,R,q0'},
          '1': {'q0': '0,R,q1', 'q1': '0,N,q1'}}
    step = {'R': 1, 'L': -1, 'S': 0, 'N': 0}
    state = 'q0'
    s = list('l' + '1' * 1000 + '0' + 'l')
    p = 0
    s[p], m, state = mt[s[p]][state].split(',')
    while m != 'S':
        p += step[m]
        s[p], m, state = mt[s[p]][state].split(',')
    print(s.count("1"))

    Видеоразбор:

    Понятно ли решение?

    Похожие задания

    Бесплатно

    Решай задачи ЕГЭ в приложении

    Скачивай наш Тренажер ЕГЭ на iPhone или Android и тренируйся в любое время и в любом месте!

    Саша — ассистент в телеграмме