Элементы теории алгоритмов

 

Задача 1.  Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала записывается исходная цепочка символов, после нее записывается исходная цепочка символов в обратном порядке, затем записывается буква, следующая в русском алфавите за той буквой, которая в исходной цепочке стояла на первом месте. Получившаяся цепочка является результатом работы алгоритма.

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

 

Например, исходная цепочка символов была  ЛЕС. Результатом работы алгоритма будет  цепочка ЛЕССЕЛМ.

 

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

 

Решение: Применим алгоритм 1 раз:

исходная цепочка ТА  в обратном порядке АТ. Запишем букву, следующую в русском алфавите за  Т → У.

ТААТУ  - результат 1 прохода алгоритма.

 

Применим алгоритм 2 раз:

исходная цепочка ТААТУ   в обратном порядке УТААТ.  Запишем букву, следующую в русском алфавите за  Т → У

ТААТУУТААТУ - итоговый результат.

 

Ответ: ТААТУУТААТУ.

 

 

Задача 2. Сколько раз выполниться тело цикла в следующем фрагменте алгоритма, представленном блок-схемой?

Знаками  обозначены     :=   - операция присваивания

                                         OR  - операция логического ИЛИ

                                         div   - операция целочисленного деления

 

 

 

 

Решение: Построим таблицу трассировки:

А

В

15

3

5

2

2

1

 

 

Ответ: 2