Демоверсия егэ по информатике 2020. Задание 14

Задание 14. Алгоритмы с циклами и условиями: Демоверсия егэ по информатике 2020: объяснение и решение


*** КАНАЛ ЮТЬЮБ ***
 
ЕГЭ по информатике -> ЕГЭ 2020 -> ЕГЭ 2020
 

Разбор 14 задания. Демоверсия егэ по информатике 2020, ФИПИ:

Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

А) заменить (v, w)
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w.

Б) нашлось (v)
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка при этом не изменяется.

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 70 идущих подряд цифр 8? В ответе запишите полученную строку.

НАЧАЛО
ПОКА нашлось (2222) ИЛИ нашлось (8888)
   ЕСЛИ нашлось (2222)
         ТО заменить (2222, 88)
         ИНАЧЕ заменить (8888, 22)
   КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ

📹 Видеоразбор 14 задания ЕГЭ демоверсии 2020

✍ Решение:
 

    Рассмотрим алгоритм:
    ПОКА нашлось (2222) ИЛИ нашлось (8888)

  • редактор будет выполнять команды только тогда, когда в строке встречается цепочка «2222» или цепочка «8888»;
  • ЕСЛИ нашлось (2222)
    ТО заменить (2222, 88)

  • если в строке есть «2222», то тогда эта цепочка заменяется на «88»;
  • ИНАЧЕ заменить (8888, 22)

  • если в строке нет цепочки «2222», но есть «8888», то цепочка «8888» заменяется на «22», замена выполняется 1 раз.
  • По условию имеем 8...8 {70}. Теперь вернемся к условию программы. Условие цикла истинно, а условие ЕСЛИ нашлось 2222 ложно.
  • Условие если в строке нет цепочки «2222», но есть «8888» истинно, производим замену:
  • 8888...8888
    получили:
    228...8  
         ↓
         66 шт.
    
  • Выполняем следующую итерацию цикла: условие цикла истинно, а условие ЕСЛИ нашлось 2222 ложно.
  • Условие если в строке нет цепочки «2222», но есть «8888» истинно, производим замену:
  • 228888...8888  {66 шт. "8"}
    получили:
    228...8  
        ↓
        62 шт.
    
  • Выполняем третью итерацию цикла: условие цикла истинно, и условие ЕСЛИ нашлось 2222 истинно. Выполняем замену:
  • 22228...8  
    + две "8", получили:
    8...8  
      ↓
      64 шт.
    
  • Таким образом, за три итерации цикла мы получили из 70 «восьмерок» 64. Т.е. 6 восьмерок исчезли.
  • Сколько раз можно вычесть из исходных семидесяти восьмерок по 6 восьмерок? Вычислим:
  • 64 / 6 = 10,4
  • Остаток 4 означает, что после десяти итераций цикла остались еще четыре восьмерки. Которые в следующую итерацию заменятся на двойки:
  • 8888
    получили:
    22
    
  • Таким образом, после выполнения алгоритма, остаются две цифры «2».

Результат: 22