Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.
1. заменить (v, w)
2. нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор.
Дана программа для исполнителя Редактор:
НАЧАЛО
ПОКА нашлось(01) ИЛИ нашлось(02) ИЛИ нашлось(03)
заменить(01, 2302)
заменить(02, 10)
заменить(03, 201)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка начиналась с нуля, а далее содержала только единицы, двойки и тройки. После выполнения данной программы получилась строка, содержащая 51 единицу, 29 двоек и 23 тройки. Сколько троек было в исходной строке?
Решение 1
Распишем все переходы "до упора"
Если в каждый из переходов обозначить за , то получится, что единицы в конечном выражении дают переходы (т.к. в каждом переходе до "упора"возникает по одной единице), двойки дают переходы (причем 1 переход дает две двойки), тройки дают переходы , то все это можно выразить следующим образом.
Решив систему из этих трех уравнений получим одно решение — , то есть количество троек в исходном выражении равно 6.
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для редактора:
НАЧАЛО
ПОКА НЕ нашлось (00)
заменить (012, 30)
ЕСЛИ нашлось (011)
ТО
заменить (011, 20)
заменить (022, 40)
ИНАЧЕ
заменить (01, 10)
заменить (02, 101)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка A содержала ровно два нуля – на первом и на последнем месте, а также по 10 единиц и двоек. После выполнения данной программы получилась строка B, содержащая 7 единиц и 5 двоек. Какое наименьшее количество троек может быть в строке B?
Быстрое решение прогой (пишем свой Product, в котором сразу отсекаются варианты, где единиц или двоек больше, чем 10). Поэтому, вариантов всех строк, где есть два нуля и количество единиц и двоек равное 10 совсем небольшое для дальнейшего перебора (т.к. мы сразу ищем нужные варианты).
def f(s = ’’, l = 0, c1 = 0, c2 = 0): if l == 20 and c1 == 10 and c2 == 10: return s x, y = ’’, ’’ if c1 <= 9: x = f(s + ’1’, l + 1, c1 + 1, c2) if c2 <= 9: y = f(s + ’2’, l + 1, c1, c2 + 1) return x + ’ ’ + y a = f().split() b = [] minim = 10000000 for i in a: s = ’0’ + i + ’0’ while not ’00’ in s: s = s.replace(’012’, ’30’, 1) if ’011’ in s: s = s.replace(’011’, ’20’, 1) s = s.replace(’022’, ’40’, 1) else: s = s.replace(’01’, ’10’, 1) s = s.replace(’02’, ’101’, 1) if s.count(’1’) == 7 and s.count(’2’) == 5: minim = min(minim, s.count(’3’)) print(minim)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.
1. заменить (v, w)
2. нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор.
Дана программа для исполнителя Редактор:
НАЧАЛО
ПОКА НЕ нашлось (00)
заменить (02, 101)
заменить (11, 2)
заменить (012, 30)
заменить (010, 00)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка содержала ровно два нуля – на первом и на последнем месте, 50 двоек, больше 100 единиц и не содержала других цифр. После выполнения программы получилась строка, сумма цифр которой оказалась простым числом. Какое наименьшее количество единиц могло быть в исходной строке?
Решение 1
Распишем все переходы для пар из единиц и двоек.
Задача у нас про сумму цифр, как видим сумма при переходе пар константна.
Рассмотрим переходы одиночных цифр между нулями.
Как видим, сумма оба раза уменьшилась на единицу. Получается, что если изначальная сумма была , то сумма после работы алгоритма будет . Начальная сумма цифр . Нам необходимо количество единиц . Минимальное простое число большее — это , учтем единицу, которую вычитали, получаем — начальная сумма цифр и — количество единиц.
Решение 2
def is_prime(n): for i in range(2, int(n ** 0.5) + 1): if n % i == 0: return False return n > 1 for n in range(101, 1000): s = "0" + ’2’ * 50 + ’1’ * n + ’0’ while not (’00’ in s): s = s.replace(’02’, ’101’, 1)\ .replace(’11’, ’2’, 1)\ .replace(’012’, ’30’, 1)\ .replace(’010’, ’00’, 1) if is_prime(sum(int(x) for x in s)): print(n) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её, Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w.
Например, выполнение команды заменить(111, 27) преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (w).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина» в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА *условие*
*последовательность команд*
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ *условие*
ТО *команда 1*
ИНАЧЕ *команда 2*
КОНЕЦ ЕСЛИ
выполняется команда 1 (если условие истинно) или команда 2 (если условие ложно).
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (>0) ИЛИ нашлось (>1) ИЛИ нашлось (>2)
ЕСЛИ нашлось (>0)
ТО заменить (>0, 22>)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (>1)
ТО заменить (>1, 2>)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (>2)
ТО заменить (>2, 1>)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой выше програмы поступает строка, начинающаяся с символа «>», а затем содержащая 15 цифр 0, n цифр 1 и 15 цифр 2, расположенных в произвольном порядке. Определите наименьшее значение n, при котором сумма числовых значений цифр строки, получившейся в результате выполнения программы, является простым числом.
Решение 1
Рассмотрим переходы цифр:
Получаем, что каждый ноль это в сумму, каждая единица , каждая двойка . Посчитаем пока что, какая будет сумма после обработки двоек и нулей. , ближайшее простое число это , нам не хватает до такой суммы. Каждая единица это , значит, чтобы получить нам нужно две единицы.
Решение 2
def is_prime(n): for i in range(2, int(n ** 0.5) + 1): if n % i == 0: return False return n > 1 for n in range(0, 100): s = ’>’ + ’0’ * 15 + ’1’ * n + ’2’ * 15 while ’>0’ in s or ’>1’ in s or ’>2’ in s: if ’>0’ in s: s = s.replace(’>0’, ’22>’) if ’>1’ in s: s = s.replace(’>1’, ’2>’) if ’>2’ in s: s = s.replace(’>2’, ’1>’) summa = 0 for i in s[0:-1]: summa += int(i) if is_prime(summa): print(n) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр.
А) заменить .
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например, выполнение команды
заменить
преобразует строку в строку .
Если в строке нет вхождений цепочки , то выполнение команды заменить не меняет эту строку.
Б) нашлось .
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось
заменить
заменить
КОНЕЦ ПОКА
КОНЕЦ
В результате работы программы к строке получилась строка, в которой содержится цифр . Сколько цифр было в изначальной строке?
for i in range(100): n = "1" * 44 + "5" * i + "3" * 12 while "15" in n: n = n.replace("15", "5", 1) n = n.replace("53", "3", 1) if n.count("5") == 30: print(i) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр.
А) заменить .
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например, выполнение команды
заменить
преобразует строку в строку .
Если в строке нет вхождений цепочки , то выполнение команды заменить не меняет эту строку.
Б) нашлось .
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось
заменить
заменить
КОНЕЦ ПОКА
КОНЕЦ
В результате работы программы к строке получилась строка, в которой содержится цифр . Сколько цифр было в изначальной строке?
for i in range(100): n = ’1’ * 30 + ’2’ * i + ’3’ * 6 while ’12’ in n: n = n.replace(’12’, ’2’, 1) n = n.replace(’23’, ’3’, 1) if n.count(’2’) == 35: print(i) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр.
А) заменить
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку Например, выполнение команды
заменить (555, 63)
преобразует строку 12555550 в строку 1263550.
Если в строке нет вхождений цепочки то выполнение команды заменить не меняет эту строку.
Б) нашлось
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Какая строка получится в результате применения приведённой программы к строке, состоящей из идущих подряд цифр . В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось ИЛИ нашлось
ЕСЛИ нашлось
ТО заменить
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось
ТО заменить
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решение прогой
s = "9" * 78 while "33333" in s or "999" in s: if "33333" in s: s = s.replace("33333", "99", 1) if "999" in s: s = s.replace("999", "3", 1) print(s)
Решение ручками
Каждые заменяются на , тогда строка из -ток заменится на .
Каждые заменяются на . Получается, что каждые -ток меняются на .
Больше мы ничего не можем заменить. Ответ:
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку символов и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось(LL)
заменить(BU, LL)
ЕСЛИ НЕ нашлось(BULL)
заменить(LLLLLL, CAT)
КОНЕЦ ПОКА
КОНЕЦ
Алгоритм выше превращает быков (BULL) в милых котиков (CAT). При этом котики боятся быков, поэтому пока есть хотя бы один бык котик появляться не будет. Сколько раз алгоритм сделает команду заменить, если в итоге должно получиться ровно два котика?
Примечание: входная строка должна состоять только из быков.
Алгоритм заменяет все строки BULL на LLLL. Также должно было появится два котика (из двух строк LLLLLL). Значит дожно было получится в промежуточном результате 12 символов L. Это возможно если изначально в строке было три BULL.
Произойдет три замены BU на LL и две замены LLLLLL на CAT. В итоге программа сделает 5 замен.
Решение программой
for i in range(1, 100): a = "BULL" * i ans = 0 flag = False # Чтобы найти самый первый while "LL" in a: if "BU" in a: # Если выполнится замена a = a.replace("BU", "LL", 1) ans += 1 if not ("BULL" in a): a = a.replace("LLLLLL", "CAT", 1) ans += 1 if a.count("L") == len(a) or ans > 1000: # Бесконечный цикл, если будут одни L break if a.count("CAT") == 2: print(ans) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку символов и преобразует её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки символов.
А) .
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например, выполнение команды
преобразует строку в строку .
Если в строке нет вхождений цепочки , то выполнение команды не меняет эту строку.
Б) .
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
выполняется, пока условие истинно.
Дана программа для редактора:
Сколько раз встретится буква в строке, полученной после выполнения алгоритма выше для строки состоящей из последовательности букв повторяющейся раз? В ответ укажите только число.
Для решения этого задания напишем программу:
# Создаем исходную строку s = ’ABCDF’ * 60 # Аналог пока нашлось(AB) while ’AB’ in s: # Проводим замену по одному разу s = s.replace(’A’, ’BB’, 1) s = s.replace(’B’, ’CCC’, 1) s = s.replace(’CCCCC’, ’AB’, 1) s = s.replace(’DC’, ’DDF’, 1) s = s.replace(’DF’, ’E’, 1) print(s.count(’E’)) # Вывод количества символов E в строке
Ошибка.
Попробуйте повторить позже
Система команд исполнителя КРАБИК, «живущего» в прямоугольном лабиринте на клетчатой плоскости, включает в себя 4 команды-приказа и 4 команды проверки условия. Команды-приказы: вверх, вниз, влево, вправо. При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он крабит (разрушается и идёт плакать), и программа прервётся.
Другие 4 команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно, снизу свободно, слева свободно, справа свободно.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Условие
ЕСЛИ условие
последовательность команд
КОНЕЦ ЕСЛИ
выполняется 1 раз, если условие истинно.
Дана программа для крабика:
НАЧАЛО
ПОКА снизу свободно ИЛИ справа свободно
ПОКА справа свободно
вправо
КОНЕЦ ПОКА
ПОКА снизу свободно
вниз
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу, крабик уцелеет и остановится в закрашенной клетке (клетка F10)?
Общее число клеток - 60.
Число клеток, где крабик закрабится, если начнёт движение (красное) - 19. .
Ошибка.
Попробуйте повторить позже
Напишите сумму цифр строки, полученной в результате применения приведённой ниже программы к строке:
НАЧАЛО
ПОКА нашлось ИЛИ нашлось ИЛИ нашлось
ЕСЛИ нашлось
ТО заменить
ИНАЧЕ ЕСЛИ нашлось
ТО заменить
ИНАЧЕ ЕСЛИ нашлось
ТО заменить
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
s = ’5’ * 10 + ’7’ * 30 + ’2’ * 50 while ’5’ in s or ’77’ in s or ’222’ in s: if ’5’ in s: s = s.replace(’5’, ’77’, 1) elif ’77’ in s: s = s.replace(’77’, ’7’, 1) elif ’222’ in s: s = s.replace(’222’, ’5’, 1) print(sum([int(s[i]) for i in range(len(s))]))
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр.
А) заменить .
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например, выполнение команды
заменить
преобразует строку в строку .
Если в строке нет вхождений цепочки , то выполнение команды заменить не меняет эту строку.
Б) нашлось .
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, в начале которой стоит 310 букв а затем следует 325 букв В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось(RRR) ИЛИ нашлось(LRR)
ЕСЛИ нашлось(LRR)
ТО заменить(LRR, R)
ИНАЧЕ заменить(RRR, L)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
ЕСЛИ нашлось(R)
ТО заменить(R, L)
ИНАЧЕ заменить(L, R)
КОНЕЦ ЕСЛИ
КОНЕЦ
n = ’L’ * 310 + ’R’ * 325 while ’RRR’ in n or ’LRR’ in n: if ’LRR’ in n: n = n.replace(’LRR’, ’R’, 1) else: n = n.replace(’RRR’, ’L’, 1) if ’R’ in n: n = n.replace(’R’, ’L’, 1) else: n = n.replace(’L’, ’R’, 1) print(n)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр.
А) заменить
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку Например, выполнение команды
заменить
преобразует строку в строку
Если в строке нет вхождений цепочки то выполнение команды заменить не меняет эту строку.
Б) нашлось
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
КОНЕЦ
выполняется, пока условие истинно.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось
заменить
КОНЕЦ ПОКА
КОНЕЦ
Сколько троек будет содержать строка, которая получится в результате применения приведённой выше программы к строке, состоящей из идущих подряд чисел ? В ответе запишите только число – количество троек в полученной строке.
s = ’123’ * 30 while ’123’ in s: s = s.replace(’12’, ’3’, 1) print(s.count(’3’))
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр.
А) заменить .
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например, выполнение команды
заменить
преобразует строку в строку
Если в строке нет вхождений цепочки , то выполнение команды заменить не меняет эту строку.
Б) нашлось
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось ИЛИ нашлось
заменить
ЕСЛИ нашлось
заменить
КОНЕЦ ПОКА
КОНЕЦ
Какая строка получится в результате применения приведённой выше программы к строке, состоящей из идущих подряд цифр ? В ответе запишите полученную строку.
s = ’4’ * 44 while ’4444’ in s or ’333’ in s: s = s.replace(’444’, ’3’, 1) if ’333’ in s: s = s.replace(’333’, ’2’, 1) print(s)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр.
А) заменить .
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например, выполнение команды
заменить
преобразует строку в строку .
Если в строке нет вхождений цепочки , то выполнение команды заменить не меняет эту строку.
Б) нашлось .
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось И нашлось ИЛИ нашлось
заменить
заменить
заменить
КОНЕЦ ПОКА
КОНЕЦ
Какая строка получится в результате работы приведенной выше программы к строке, состоящей из подряд идущих чисел ? В ответ запишите полученную строку.
while (("12" in s) and ("23" in s)) or ("33" in s):
s = s.replace("12", "2", 1)
s = s.replace("23", "3", 1)
s = s.replace("33", "4", 1)
print(s)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр.
А) заменить
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например, выполнение команды
заменить
преобразует строку в строку .
Если в строке нет вхождений цепочки , то выполнение команды заменить не меняет эту строку.
Б) нашлось
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось ИЛИ нашлось
заменить
заменить
КОНЕЦ ПОКА
КОНЕЦ
Какая строка получится в результате применения приведённой выше программы к строке, состоящей из идущих подряд цифр , а затем идущих подряд цифр ? В ответе запишите полученную строку.
while ("22" in s) or ("33" in s):
s = s.replace("22", "2", 1)
s = s.replace("33", "3", 1)
print(s)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр.
А) заменить
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку Например, выполнение команды
заменить
преобразует строку в строку
Если в строке нет вхождений цепочки то выполнение команды заменить не меняет эту строку.
Б) нашлось
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из идущих подряд цифр ? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось ИЛИ нашлось
ЕСЛИ нашлось
ТО заменить
ИНАЧЕ заменить
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
s = ’145’*500 while ’14’ in s or ’555’ in s: if ’14’ in s: s = s.replace(’14’, ’5’, 1) else: s = s.replace(’555’, ’5’, 1) print(s)
Ошибка.
Попробуйте повторить позже
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на (где — целые числа), перемещающую Чертёжника из точки с координатами в точку с координатами . Если числа положительные, значение соответствующей координаты увеличивается, если отрицательные — уменьшается. Изначально чертежник стоит в начале системы координат т.е. в точке .
Например, если Чертёжник находится в точке с координатами , то команда сместиться на переместит Чертёжника в точку .
Запись
означает, что последовательность команд повторится раз.
Чертёжнику был дан для исполнения следующий алгоритм:
Чему равны значения переменных и , если известно, что Чертёжник остановился в точке ? В ответе укажите два числа — сначала значение переменной , затем переменной , без пробелов и знаков препинания.
Решение №1:
for k in range(100): for a in range(-300, 300): if (5 + k * a) == -11 and (45 + k * (-5)) == 25: print(str(a) + str(k))
Решение №2:
Давайте посчитаем на сколько по и сдвинется Чертёжник: по мы сдвинемся на , а по на . Знаем, что Чертёжник остановился в точке (-11, 25). А значит получаем два уравнения: и . Из второго уравнения получаем, что , и, подставив полученное во второе уравнение, узнаём, что . Пишем в ответ .
Ошибка.
Попробуйте повторить позже
Исполнитель перемещается по координатной плоскости, оставляя след в виде линии. может выполнять команду сместиться на , где и — целые числа, которые перемещают из точки с координатами в точку с координатами .
Цикл
ПОВТОРИ число РАЗ
последовательность команд
КОНЕЦ ПОВТОРИ
Означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).
Исполнителю был дан для исполнения следующий алгоритм:
НАЧАЛО
сместиться на
ПОВТОРИТЬ раз
cместиться на
cместиться на
КОНЕЦ
сместиться на
КОНЕЦ
Определите минимальное натуральное значение , для которого найдутся такие значения чисел и , что после выполнения программы возвратится в исходную точку.
Запишем систему для координат и , учитывая, что исполнитель вернулся в исходную точку:
Перенесем выражения с N в одну сторону, а числа в другую:
Найдем НОД (наибольший общий делитель) чисел и .
Получим ответ:
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Б) нашлось (v).
Команда А заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Команда Б проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из единицы и идущих за ней 22-ух двоек?
НАЧАЛО
ПОКА нашлось (000) или нашлось (222)
ЕСЛИ нашлось (000)
ТО заменить (000, 2)
ИНАЧЕ заменить (222, 0)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
s = ’1’ + ’2’*22 while ’000’ in s or ’222’ in s: if ’000’ in s: s = s.replace(’000’, ’2’, 1) else: s = s.replace(’222’, ’0’, 1) print(s)