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

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

Дана  цепочка  символов  РЕКА.  Какая  цепочка  символов  получится,  если к данной  цепочке  применить  описанный  алгоритм  дважды (т. е.  применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)?
Русский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

Решение

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

Г — Д

Р — С

Е — Ё

К — Л

А — Б

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

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

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

Д — Е

С — Т

Ё — Ж

Ё — Ж

Л — М

Б — В

Итоговая цепочка — ЕТЖЖМВ.

Задача 2. Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:
Вперед n (где n – целое число), вызывающая передвижение Черепашки на n шагов в направлении движения.
Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори k [Команда1 Команда2 Команда3] означает, что последовательность команд в скобках повторится k раз.
Черепашке был дан для исполнения следующий алгоритм: Повтори 10 [Направо 36 Вперед 20 Направо 36]
Какая фигура появится на экране?
1) Правильный пятиугольник
2) Правильный шестиугольник
3) Правильный десятиугольник
4) Незамкнутая ломаная линия

Решение

В такого типа задачах важно понимание не только информатики, но и геометрии. Прежде всего, стоит определить, какой угол будет создавать начерченная исполнителем линия. Тут он будет равен 180-(36+36) - команда направо дублируется. Получается, что у нас образуется многоугольник с углами в 108 градусов - откуда, путем подставления в формулу, известную из геометрии, получаем:
180*(п-2)=108*п
72*п=360
п=5 (значит, это пятиугольник)

Ответ: 1

Задача 3. Король, его сын принц и дочь принцесса находились в темнице высокой башни. Они весили 195, 105 и 90 фунтов соответственно. Еду им поднимали в двух корзинах, прикрепленных к концам длинного каната. Канат был перекинут через балку, вбитую под самой крышей. Получалось так, что, когда одна корзина находилась на земле, вторая находилась на уровне оконца в камере пленников. Эти корзины оставались единственной надеждой на спасение.

Естественно как только одна корзина становилась тяжелее другой она опускалась. Однако если разница в весе превышает 15 фунтов, корзина стремительно неслась вниз. Единственное что помогло бы пленникам бежать из плена, было находившееся в камере пушечное ядро весом 75 фунтов - его можно было попытаться использовать как противовес. Как пленникам удалось бежать?

Решение

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

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

3. Принцесса поднялась вверх и вместе с королем положила в корзину ядро.

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

5. Когда король оказался на земле, принц с ядром оказался наверху. Принц вылез из корзины и корзина с ядром опустилась вниз.

6. В пустую корзину у темницы садится принцесса и спускается на землю.

7. Принц вытаскивает ядро из поднявшейся корзины и спускается сам, используя принцессу как противовес.

8. Принцесса опускает в пустой корзине ядро, а сама садится в поднявшуюся и спускается, используя ядро в качестве противовеса.

Задача 4. Хозяйка купила на рынке курицу. Эта курица снесла два яйца, после чего попала на обеденный стол. Из каждого яйца, как известно, может вылупиться либо курица, либо петух. Каждый петух попадал на стол, а каждая курица съедалась после того, как успевала снести два яйца. Через некоторое этот процесс оборвался, поскольку появились одни лишь петухи. Выяснилось, что всего было съедено 17 петухов. Сколько было съедено кур?

Решение

Обозначим через an и bn число кур и петухов на n-м этапе. На первом этапе a1 =1, b1 =0, кроме того, по условию an+1 +bn+1 = 2an . Запишем все такие равенства от первого до последнего этапа (aN=0) и сложим их: a2 +b2 = 2a1; a3 +b3 = 2a2; ... ; aN +bN = 2aN-1 ; a2 +a3 + ... + b2 +b3 + ... + bN = 2a1 +2a2 + ... + 2aN-1 ; b2 +b3 + ... +bN = a1 +a2 + ... + aN +1.

Таким образом, петухов на 1 больше кур, т.е. кур оказалось 16.

Задача 5. Составить алгоритм перевода арабских чисел в римские (до 3999).

Решение

1. Выделяем (если есть) количество целых тысяч. Полученное значение позволить сгенерировать строку с n количеством «M» (читаем, n*1000).
Пример: 2012 после первого пункта даст «MM»

2. Получаем остаток после деления на 1000, чтобы выделить в дальнейшем следующие значения.

3. Выделяем (если возможно), целые 500. При этом учитываем что если полученное значение равно 4 (5+4=9), то следует записывать как значение 1000-100, что в римский СС равнозначно «CM».
Пример: 1887 после этого пункта даст нам «MD».
1945 соответственно «MCM».

4. Получаем остаток от деления на 500.

5. Делим на 100 чтобы выделить целые сотни и складываем к предыдущему результату. Учитываем что если получили 4, что равнозначно 400, то записываем как 500-100, то есть «CD».
Пример: 1709 даст после этого шага «MDCCC».

6. Получаем остаток от деления на 100.

7. Выделяем из него целые пол сотни. Если значение будет равно 4 (то есть 90), то записываем как 100-10, что равно «XC». Иначе прибавляем к строке «L»
Пример: 1986 после всего выдаст нам «MCML».

8. Выделяем остаток от 50.

9. Выделяем целое количество десятков и складываем к строке n раз символ «X». При этом учитываем что 40 пишется как 50-10, то есть «XL».
Пример: 1986 после всего выдаст нам «MCMLXXX».

10. Получаем остаток от деления на 10. Этот шаг отличается от других тем, что можно сразу приравнять остаток к его эквиваленту. 1=I, 7=VII и так далее.

Задача 6. Ал­го­ритм вы­чис­ле­ния зна­че­ний функ­ций F(n) и G(n), где n — на­ту­раль­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:

F(1) = 1; G(1) = 1;
F(n) = F(n – 1) – G(n – 1), G(n) = F(n–1) + G(n – 1), при n ≥ 2

Чему равно зна­че­ние ве­ли­чи­ны F(5)/G(5)? В от­ве­те за­пи­ши­те толь­ко на­ту­раль­ное число.

Решение

В усло­вии за­да­чи за­да­ются фор­му­лы для F(n) и G(n) при n > 2, но по усло­вию ясно, что эти зна­че­ния должны рас­счи­ты­вать­ся при n ≥ 2
F(1) = 1;
G(1) = 1;
F(2) = 1 − 1 = 0;
G(2) = 1 + 1 = 2;
F(3) = 0 − 2 = −2;
G(3) = 0 + 2 = 2;
F(4) = −2 − 2 = −4;
G(4) = −2 + 2 = 0;
F(5) = −4 − 0 = −4;
G(5) = −4 + 0 = −4;

Таким об­ра­зом, ответ F(5)/G(5) = 1.

Ответ: 1.