Какая строка получится в результате применения приведенной ниже программы 9

Возьмём упрощённую версию строчки, состоящую из 15 единиц.

Проделав со строкой все операции можно заметить, что после каждого исполненья программы в строке 9 единиц заменяется на одну, означает после каждого исполненья программки становится на 8 единиц меньше. Будем вычитать из 84 «8», пока не остается gt;5 единиц, чтоб программка смогла работать.

Напишем 12 единиц и пропустим их через программку, получится

222111 (поначалу 1-ые три единицы заменяются на два, потом ещё раз и ещё раз, т.к. в строке находится 11111. 222 заменится на 1 не может, т.к. в строке больше не найдено «11111».

Источник: obrazovalka.com

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 73 идущих подряд цифр 9

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

Решение задания №12 | Выполнение алгоритмов для исполнителей | ЕГЭ Информатика | Вебиум

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

Например, выполнение команды

преобразует строку 45222222234 в строку 4558222234.

Если в строке нет вхождений цепочки v, то выполнение команды

не меняет эту строку.

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

означает, что последовательность команд выполняется, пока условие истинно. В конструкции

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

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

ПОКА нашлось (2929) ИЛИ нашлось (999)

ЕСЛИ нашлось (2929)

ТО заменить (2929, 9)

ИНАЧЕ заменить (999, 929)

Источник: ege-today.ru

Какая строка получится в результате применения приведенной ниже программы

Е12.39 приведённой ниже программы к строке, состоящей из 52 идущих подряд цифр 2

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

Апробация ЕГЭ по информатике 19 февраля 2022 – задание №12
Тренировочный экзамен по информатике и ИКТ (КЕГЭ) в компьютерной форме

Информатика ЕГЭ 12 задание разбор

12-е задание: «Алгоритмы с циклами и условиями»

Информатика ЕГЭ. № 12. Выполнение алгоритмов для исполнителей. Исполнитель редактор. № 9365


Уровень сложности — повышенный,
Требуется использование специализированного программного обеспечения — нет,
Максимальный балл — 1,
Примерное время выполнения — 4 минуты.

Проверяемые элементы содержания: Умение анализировать результат исполнения алгоритма

Плейлист видеоразборов задания на YouTube:

Исполнитель Редактор и цепочки символов

Учимся по видео (решения разного типа программным способом):

Какая строка получится?

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

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

Читайте также:
Березка программа по закупкам инструкция

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

  • Рассмотрим алгоритм: редактор будет выполнять команды только тогда, когда в строке встречается цепочка «12» или цепочка «333»;
  • если в строке есть «12», то тогда эта цепочка заменяется на «3»;
  • если в строке нет цепочки «12», но есть «333», то цепочка «333» заменяется на «3».
  • Теперь вернемся к условию нашей задачи. Условие цикла истинно, соответственно выполняем блок ЕСЛИ, т.е. делаем замену: в каждом из 40 чисел ‘123‘, заменяем 12 на 3. Получим 40 + 40 = 80 троек (40 троек было изначально и 40 добавилось);
  • Так как больше чисел 12 у нас не встречается, то работает блок ИНАЧЕ. Сколько раз можно заменить в 80 подряд идущих тройках три тройки на одну? 80 делим на 3 получаем 26 раз + 2 тройки в остатке. Итого осталось 28 троек;
  • Теперь из 28 троек сколько раз мы можем заменить три тройки на одну? 28 делим на 3 и получаем 9 раз + 1 тройка в остатке. Итого 10 троек;
  • Делаем то же самое: 10 делим на 3 получаем 3 раза + 1 тройка в остатке = 4 тройки
  • Последний раз делим 4 на 3, получаем 1 тройку + 1 = 2 тройки

Результат: 33

✎ Решение 2. Программное:
Pascalabc.net:

begin var s := ‘123’ * 40; while (’12’ in s) or (‘333′ in s) do begin if ’12’ in s then s := s.Replace(’12’, ‘3’, 1) else s := s.Replace(‘333’, ‘3’, 1); end; print(s); end.

begin var s := ‘123’*40; var p1 := Pos(’12’,s); var p2 := Pos(‘333’,s); while (p1 > 0) or (p2 > 0) do begin if p1 > 0 then begin Delete( s, p1, 2 ); Insert( ‘3’, s, p1 ); end else begin Delete( s, p2, 3 ); Insert( ‘3’, s, p2 ); end; p1 := Pos(’12’,s); p2 := Pos(‘333’,s); end; write(s); end.

s = 40*’123′ while «12» in s or «333» in s: if «12» in s: s = s.replace( «12», «3», 1 ) else: s = s.replace( «333», «3», 1 ) print(s)

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

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

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

Ответ: 22

  • Для удобства решения сначала сократим исходную цепочку до одной группы цифр:
  • Условие цикла истинно (ПОКА нашлось (12)), и условие в цикле истинно (ЕСЛИ нашлось (12)), значит, делаем замену: в первой группе цифр «1122«, заменяем 12 на 2:
  • Затем опять возвращаемся к условию цикла: условие цикла истинно (ПОКА нашлось (12)), и условие в цикле истинно (ЕСЛИ нашлось (12)), делаем опять замену: в первой группе цифр «122«, заменяем 12 на 2:
  • Таким образом, получаем, что за две итерации цикла (2 шага), одна группа цифр превращается в две двойки.
  • Поскольку по условию имеем 71 группу цифр, то, чтобы узнать сколько двоек мы получим в результате выполнения условия ЕСЛИ нашлось (12), нам необходимо 71 умножить на 2 (кол-во двоек, получаемых из одной группы цифр):
  • То есть в итоге работы цикла и условия ЕСЛИ нашлось (12) мы получили всего 142 двоек.
  • Теперь работает условие ИНАЧЕ заменить (222, 2). Из 142 двоек каждые три заменяем на одну. Чтобы рассчитать итоговое количество двоек, необходимо 142 разделить на 3 (т.е. сколько раз можно заменять тройки двоек на одну двойку). Делить необходимо до тех пор, пока работает условие ИНАЧЕ заменить (222, 2):
  • В итоге осталось 2 двойки.
Читайте также:
Снять мультфильм в домашних условиях программа

✎ Решение 2. Программное:
Pascalabc.net:

begin var s := ‘1122’ * 71; while (’12’ in s) or (‘222′ in s) do begin if ’12’ in s then s := s.Replace(’12’, ‘2’, 1) else s := s.Replace(‘222’, ‘2’, 1); end; print(s); end.

begin var s := ‘1122’*71; var p1 := Pos(’12’,s); var p2 := Pos(‘222’,s); while (p1 > 0) or (p2 > 0) do begin if p1 > 0 then begin Delete( s, p1, 2 ); Insert( ‘2’, s, p1 ); end else begin Delete( s, p2, 3 ); Insert( ‘2’, s, p2 ); end; p1 := Pos(’12’,s); p2 := Pos(‘222’,s); end; write(s); end.

s = 71*’1122′ while «12» in s or «222» in s: if «12» in s: s = s.replace( «12», «2», 1 ) else: s = s.replace( «222», «2», 1 ) print(s)

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

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

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

  • Рассмотрим алгоритм: редактор будет выполнять команды только тогда, когда в строке встречается цепочка «99» или цепочка «777»;
  • если в строке есть «777», то тогда эта цепочка заменяется на «9»;
  • если в строке нет цепочки «777», но есть «99», то цепочка «99» заменяется на «7».
  • Теперь вернемся к условию нашей задачи. Условие цикла истинно, условие ЕСЛИ нашлось 777 тоже истинно, делаем замену:
  • сколько раз можно заменить в 200 семерках три семерки на одну девятку? 200 делим на 3 получаем 66 замен, т.е. 66 цифр «9» + 2 семерки в остатке;
  • После выполнения этих преобразований условие ЕСЛИ нашлось 777 ложно. Значит, выполняется блок ИНАЧЕ: Заменить 99 на 7:
  • [66 цифр «9»] + «77» -> «7» + [64 цифры «9»] + «77»:

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

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

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

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

begin var s := ‘3’ * 90 + ‘1’; while (‘331’ in s) or (‘166’ in s) do begin if ‘331’ in s then s := s.Replace(‘331′, ’16’, 1) else s := s.Replace(‘166′, ’31’, 1); end; print(s); end.

begin var s := ‘3’*90 + ‘1’; var p1 := Pos(‘331’,s); var p2 := Pos(‘166′,s); while (p1 > 0) or (p2 > 0) do begin if p1 > 0 then begin Delete( s, p1, 3 ); Insert( ’16’, s, p1 ); end else begin Delete( s, p2, 3 ); Insert( ’31’, s, p2 ); end; p1 := Pos(‘331’,s); p2 := Pos(‘166’,s); end; write(s); end.

s = 90*’3’+’1′ while «331» in s or «166» in s: if «331» in s: s = s.replace( «331», «16», 1 ) else: s = s.replace( «166», «31», 1 ) print(s)

Читайте также:
Запуск программы невозможен так как отсутствует Steam ceg dll

Сколько удалено?

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

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

Б) нашлось ( v )
Дана программа для исполнителя Редактор:

Дана строка, состоящая из 500 цифр 5. Сколько пятёрок было удалено за время обработки строки по этой программе?

Ответ: 561

  • Выполним несколько итераций цикла ПОКА. Когда мы получим ту же самую последовательность цифр пять, за исключением их количества — остановимся:
  • Остановились, так как мы пришли к исходной последовательности цифр пять. Проанализируем действия программы за этот фрагмент выполнения: было удалено 9 пятерок и одна пятерка добавилась. Ключевой вывод: было удалено 9 пятерок.
  • Всего за выполнение этого фрагмента программы «ушло» 8 пятерок: 500 — 492 = 8 . Посчитаем, сколько раз можно выполнить данный фрагмент:
  • Т.е. 62 раза выполняется данный фрагмент и 4 цифр 5 еще остается (остаток = 4). Поскольку за одно выполнение фрагмента было удалено 9 цифр 5, посчитаем, сколько удалится за 62 выполнения:
  • 558 цифр 5 было удалено. Посмотрим выполнение программы над оставшимися 4 цифрами 5:
  • Итого получаем удаленных цифр 5:

✎ Решение 2. Программное:
Pascalabc.net:

begin var s := ‘5’ * 500; var k := 0; while (‘555’ in s) or (‘333’ in s) do begin if ‘333’ in s then s := s.Replace(‘333’, ‘5’, 1) else begin s := s.Replace(‘555’, ‘3’, 1); k += 3; end; end; print(k); end.

begin var k:= 0; var s := ‘5’*500 ; var p1 := Pos(‘555’,s); var p2 := Pos(‘333’,s); while (p1 > 0) or (p2 > 0) do begin if p2 > 0 then begin Delete( s, p2, 3 ); Insert( ‘5’, s, p2 ); end else begin Delete( s, p1, 3 ); Insert( ‘3’, s, p1 ); inc(k,3); end; p1 := Pos(‘555’,s); p2 := Pos(‘333’,s); end; write(k); end.

Какая строка получится в результате применения приведенной ниже программы

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

Если при выполнении команды заменить цепочка, которую нужно заменить, не найдена, то строка не изменяется. Дана программа для исполнителя Редактор: Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 121 строки 563 (563563563…563)?

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 38 идущих подряд цифр 5

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

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

преобразует строку 051111105 в строку 05271105.

Если в строке нет вхождений цепочки v, то выполнение команды

не меняет эту строку.

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

Строка исполнителя при этом не изменяется.

означает, что последовательность команд выполняется, пока условие истинно.

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

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

  1. Как узнать кто удалил чат в телеграмме
  2. Почему телефон сам выключается xiaomi
  3. Как установить драйвера amd на windows server
  4. Какая вилка у варочной панели

Источник: www.kak-zarabotat-v-internete.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru