Меню сайта
Вход на сайт
Календарь
«  Октябрь 2024  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Наш опрос
Оцените мой сайт
Всего ответов: 25
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

В16 АЛГОРИТМЫ

(цепочки символов, списки)

 

 

Пример 1(демо 2013г) Некоторый  алгоритм  из  одной  цепочки  символов получает  новую  цепочку следующим  образом.  Сначала  вычисляется  длина исходной  цепочки символов;  если  она  нечётна,  то  дублируется  средний  символ цепочки символов,  а  если  чётна,  то  в  начало  цепочки  добавляется  буква  Г.  В полученной  цепочке  символов  каждая  буква  заменяется  буквой, следующей за ней в русском алфавите (А – на Б, Б – на В и т. д., а Я – на А). Получившаяся  таким образом  цепочка  является  результатом  работы описанного алгоритма.

Например,  если  исходной  была  цепочка  УРА,  то  результатом  работы алгоритма будет цепочка ФССБ, а если исходной была цепочка ПУСК, то результатом работы алгоритма будет цепочка ДРФТЛ.

Дана  цепочка  символов  РЕКА.  Какая  цепочка  символов  получится,  если к данной  цепочке  применить  описанный  алгоритм  дважды (т. е.  применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)?

 Русский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

Решение:

Вычислим длину строки для слова РЕКА. Она равна 4. Значит мы должны добавить в начало цепочки букву Г. В итоге получится новая цепочка — ГРЕКА. Теперь мы должны заменить каждый символ на следующий по порядку.

Г — Д

Р — С

Е — Ё

К — Л

А — Б

После первого выполнения алгоритма мы получили цепочку ДСЁЛБ

По условию мы должны применить описанный алгоритм дважды.

Вычислим теперь длину строки новой цепочки ДСЁЛБ. Она равна 5, т. е. нечетна. Значит, по условию, мы должны продублировать средний символ (Ё). В итоге получим ДСЁЁЛБ. Осталось заменить символы на следующие по порядку:

Д — Е

С — Т

Ё — Ж

Ё — Ж

Л — М

Б — В

Итоговая цепочка — ЕТЖЖМВ. Это и есть правильный ответ.

Пример 2 Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она четна, то в середину цепочки добавляется символ А, а если нечетна, то в начало цепочки добавляется символ Б. В полученной цепочке символов каждая буква заменяется буквой, следующей за ней в русском алфавите (А на ББ на В и т.д., а Яна А). Получившаяся таким образом цепочка является результатом работы алгоритма.

Например, если исходной была цепочка ВРМ, то результатом работы алгоритма будет цепочка ВГСН, а если исходной цепочкой была ПД, то результатом будет РБЕ.

Дана цепочка символов ПУСК. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (т.е. применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм?).

Русский алфавит АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЮЬЭЮЯ

Исходная цепочка содержит четное число символов, поэтому добавляем в середину символ А – ПУАСК и после этого производим замену букв по заданному алгоритму:РФБТЛ.

Получили цепочку из нечетного количества символов, поэтому добавляем в начало символ Б – БРФБТЛ. Далее следует заменить символы на те, что в алфавите следуют за ними.

Получаем ВСХВУМ.

Ответ: ВСХВУМ