Задание 1. Тип заданий 14: алгоритмы с исполнителем.
- Задание:
Исполнитель Редактор получает на вход строку из букв русского алфавита. Редактор может выполнять три команды, в которых x обозначает номер символа в строке.
А) Заменить1(x).
Эта команда меняет символ, стоящий под номером x на предыдущий символ алфавита. Например, выполнение команды
заменить1(5)
преобразует строку ПРИВЕТ в ПРИВДТ.
Б) Заменить2(x).
Эта команда меняет символ, стоящий под номером x на следующий символ алфавита. Например, выполнение команды
заменить2(5)
преобразует строку ПРИВЕТ в ПРИВЁТ.
В) Проверка(x)
Эта команда проверяет, является ли символ, стоящий в строке под номером x гласной буквой.
Каждое повторение цикла
НЦ ДЛЯ i от 1 до 10
последовательность команд
КЦ
переменная i, изначально равная 1, увеличивается на 1, пока не станет равна 10, после чего цикл завершится.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая команда получится в результате приведенной ниже программы к строке, являющейся словом ДЕРЕВО.
НАЧАЛО
НЦ ДЛЯ i от 1 до 2
НЦ ДЛЯ j от 1 до 6
ЕСЛИ проверка(j)
ТО заменить1(j)
ИНАЧЕ заменить2(j)
КОНЕЦ ЕСЛИ
КЦ
КЦ
КОНЕЦ
Русский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
- Решение:
Рассмотрим алгоритм. Очевидно, что цель первого цикла — два раза повторить второй цикл. Второй цикл проверяет каждую букву слова, и в том случае, если она гласная, меняет её на предыдущий символ алфавита, иначе (если согласная) — меняет на следующий. Таким образом, мы можем просто изменить каждую букву строки два раза изменить по этому принципу: 1. ДЕРЕВО => ЕДСДГН 2. ЕДСДГН => ДЕТЕДО Ответ: ДЕТЕДО
|
Комментарии ()
Нет комментариев. Ваш будет первым!