|
|||
базовый уровень, время – 4 мин)Стр 1 из 2Следующая ⇒ 8 (базовый уровень, время – 4 мин) Тема: Кодирование данных, комбинаторика, системы счисления. Что проверяется: Знание о методах измерения количества информации (?) 1.6.1. Формализация понятия алгоритма (?) 1.1.4. Читать и отлаживать программы на языке программирования (?) Что нужно знать: · русский алфавит · принципы работы с числами, записанными в позиционных системах счисления · если слово состоит из L букв, причем есть n1 вариантов выбора первой буквы, n2 вариантов выбора второй буквы и т.д., то число возможных слов вычисляется как произведение N = n1 · n2 · … · nL · если слово состоит из L букв, причем каждая буква может быть выбрана n способами, то число возможных слов вычисляется как N = nL Пример задания: Р-11 (демо-2021). Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Игорь использует трёхбуквенные слова, в которых могут быть только буквы Ш, К, О, Л, А, причём буква К появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может использовать Игорь? Решение (теоретическое): 1) буква К может стоять на одном из трёх мест, остальные две буквы выбираются из оставшихся четырёх: Ш, О, Л или А 2) пусть К – первая буква, тогда оставшиеся две буквы можно выбрать 42 = 16 способами 3) так как К может стоять на одной из трёх позиций, общее количество подходящих слов – 4) Ответ: 48. Решение (с помощью программы): 1) для проверки решения (при наличии времени) можно использовать рекурсивный перебор (см. учебник К.Ю. Поляков, Е.А. Еремин. Информатика: базовый и углублённый уровни. М.: БИНОМ. Лаборатория знаний, 2019): перебрать всевозможные слова длиной 3 и посчитать те из них, в которых только одна буква К 2) шаблон рекурсивной функции, выполняющей перебор, на языке Python может выглядеть так: def rec( word, k, Alpha ):
|
|||
|