Инфоурок Информатика СтатьиСтатья «Динамическое программирование в задачах ЕГЭ» (задача 22).

Статья по подготовке к ЕГЭ по информатике (задача 22).

Скачать материал

Динамическое программирование в задачах ЕГЭ.

Волошина Гульшат Мунировна,

 учитель информатики МБОУ «Гимназия №26»,

город Набережные Челны

 

Еще недавно руководитель Федеральной комиссии разработчиков контрольно-измерительных материалов ЕГЭ по информатике и ИКТ Михаил Ройтберг утверждал, что «в ЕГЭ по информатике нет задач, требующих больших вычислений». Современная практика говорит о другом, задачи, на вычисление которых уходит много времени, появились и производимые вычисления требуют идеальной внимательности и аккуратности. Как избежать полного перебора и уменьшить количество вычислений? Возникает необходимость применять различные математические методы и один из них метод динамического программирования.

Динамическое программирование в теории управления и теории вычислительных систем — способ решения сложных задач путём разбиения их на более простые подзадачи.

Среди переборных и некоторых других задач можно выделить класс задач, обладающих одним хорошим свойством: имея решения некоторых подзадач (например, для меньшего числа n), можно практически без перебора найти решение исходной задачи.

С помощью динамического программирования решаются задачи, которые требуют полный перебор вариантов и звучат как:

·                    «подсчитайте количество вариантов…»

·                    «как оптимально распределить…»

·                    «найдите оптимальный маршрут…» и т.д.

Самый простейший пример реализации данного метода: определение  последовательности чисел Фибоначчи:  1, 1, 2, 3, 5, 8 и т.д.

F1 =1,   F2 =1,    F3 = F1+ F2

Получаем рекуррентную формулу

                              Fn = Fn-2+ Fn-1

Рекуррентная формула — формула, выражающая каждый член последовательности через p предыдущих членов.

Рассмотрим примеры решение 22 задачи из вариантов ЕГЭ по информатике.

Задача №1. У исполнителя  Утроитель две команды, которым присвоены номера:

1. Прибавь 1

2. Умножь на 3

Первая из них увеличивает число на экране на 1, вторая утраивает его. Программа для утроителя – это последовательность команд. Сколько есть программ, которые число 1 преобразуют в число N=20?

Продумаем рекуррентные формулы для данного исполнителя:

1) Kn = Kn-1

2)      Kn = Kn-1+ Kn/3   в случае, когда n кратно 3.

Мы получим две рекуррентные формулы, так как исполнитель выполняет две команды.

Далее заполним вычисления в виде таблицы, начав отсчет с «1» по условию задачи:

K1= 1, чтобы получить n=1 используется одна программа и в данном случае она будет «пустая», без команд.

K2 = K2-1 = K1= 1

K3 = K3-1 + K3/3= K2 + K1= 1+1= 2

K4 = K4-1 = K3= 2 и т.д. Необходимо произвести расчеты до тех пор, пока n не достигнет значения «20» по условию задачи.

Таблица примет вид: 

n

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

Kn

1

1

2

2

2

3

3

3

5

5

5

7

7

7

9

9

9

12

12

12

Ответ: 12.

Задача №2. Исполнитель Апрель16 преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:

1. Прибавить 1

2. Прибавить 3

Первая команда увеличивает число на экране на 1, вторая увеличивает на 3. Программа для исполнителя Апрель16 – это последовательность команд. Сколько существует программ, для которых при исходном числе 3 результатом является число 21 и при этом траектория вычислений содержит число 12 и не содержит число 18?

Решение:

В данной задаче так же продумываем рекуррентную формулу, в данном случае, обе команды отразим в одной формуле, так ограничений к n нет:

1)                 Kn = Kn-1+ Kn-3  

Заполним таблицу и посмотрим, как дополнительные условия отразятся на окончательном результате. Отсчет начнем с «3» по условию задачи:

K3= 1, чтобы получить n=3 используется одна программа и в данном случае она будет «пустая», без команд.

K4 = K4-1 + K4-3= K3 + K1 = 1+0 = 1,  n=1 и n=2  существуют вне траектории наших вычислений, поэтому K1 так же как и K2, равны «0».

n

3

4

5

6

7

8

9

10

11

12

Kn

1

1

1

2

3

4

6

9

13

19

Количество программ, которое позволяет получить «12»:  K12 = K12-1 + K12-3= K11 + K9 = 13+6 = 19.  Это первое обязательное условие, для дальнейших вычислений обнулим Kn при n = 3, 4, 5, … 11. Продолжим заполнение таблицы:

n

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Kn

0

0

0

0

0

0

0

0

0

19

19

19

38

57

76

114

По условию задачи число «18» не входит в траекторию вычислений, следовательно, мы должны проигнорировать данное значение и K18 = 0

n

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

Kn

0

0

0

0

0

0

0

0

0

19

19

19

38

57

76

0

57

133

133

Ответ: 133.

Задача №3. Исполнитель Тренер преобразует целое число, записанное на экране. У исполнителя четыре команды, каждой команде присвоен номер:

1.      Прибавь 1.

2.      Сделай четное.

3.      Сделай нечетное.

4.      Умножь на 10.

Первая из них увеличивает на «1» исходное  Х, вторая умножает это число на «2», третья переводит Х в число 2х+1, четвертая умножает его на «10».

Например, вторая команда число «10» в число «20», а третья число «10» в число «21».

Программа для исполнителя – это последовательность команд.

Сколько существует программ, которые число «1» преобразуют в число «14»?

Решение:

Рекуррентные формулы будут следующего вида:

1)               Kn = Kn-1

2)      Kn = Kn-1+ Kn/2   в случае, когда n - четное.

3)      Kn = Kn-1+ K(n-1)/2   в случае, когда n - нечетное.

4)      Kn = Kn-1+ Kn/2+ Kn/10      в случае, когда n – делится на «10».

Построим таблицу вычислений:

 

n

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Kn

1

2

3

5

7

10

13

18

23

31

38

48

58

71

Ответ: 71.

Задача №4. У исполнителя Удвоитель две команды, которым присвоены номера:

1. Прибавить 1

2. Умножить на 2

Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Удвоитель  – это последовательность команд. Сколько существует программ, преобразующих число 4 в число 24, предпоследней командой которых является команда «1»?

Решение:

Конец программы может выглядеть: «… 12» или «… 11» по условию задачи. В первом варианте число «24» можно получить из «11»:  (11+1)+2, во втором варианте из числа «22»: 22+1+1=24.

Следовательно, задача сводится к поиску количества программ, которое приводит к значению «11» и «22».

Наши рекуррентные формулы будут выглядеть:

1) Kn = Kn-1

2) Kn = Kn-1+ Kn/2   в случае, когда n - четное.

Заполним таблицу вычислений:

n

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

Kn

1

1

1

1

2

2

3

3

4

4

5

5

7

7

9

9

12

12

15

Ответ: 3+15=18.

Мы рассмотрели решение разнотипных задач  в задании  22 из ЕГЭ по информатике.

Надо отметить, что метод динамического программирование используется и при поиске количества путей между городами в графе, а так же при определении выигрышных стратегий игроков в 26 задании ЕГЭ по информатике.

Но об этом в следующей нашей встрече.

Источники информации для подготовки данной статьи:

·                    http://kpolyakov.spb.ru/

·                    https://vk.com/ege_inform

·                    https://vk.com/ege100ballov

·                    Информатика. Углубленный уровень: учебник для 11 класса: в 2ч. /К.Ю.Поляков,     Е.А. Еремин.- 2-е изд. –М.:БИНОМ. Лаборатория знаний, 2014

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Статья «Динамическое программирование в задачах ЕГЭ» (задача 22)."

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Промышленный дизайнер

Получите профессию

Няня

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

В работе представлено решение заданий разных вариантов, которые встречаются в задаче 22 ЕГЭ по информатике. В данной статье вводится понятие динамического программирования, рекурсии и рекуррентной формулы.

Автор ссылается на материалы Константина Юрьевича Полякова и представляет свое решение задач.

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 662 768 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 26.11.2016 3832
    • DOCX 29.2 кбайт
    • 22 скачивания
    • Рейтинг: 5 из 5
    • Оцените материал:
  • Настоящий материал опубликован пользователем Волошина Гульшат Мунировна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Волошина Гульшат Мунировна
    Волошина Гульшат Мунировна
    • На сайте: 8 лет и 11 месяцев
    • Подписчики: 0
    • Всего просмотров: 12818
    • Всего материалов: 4

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Интернет-маркетолог

Интернет-маркетолог

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Педагогическая деятельность по проектированию и реализации образовательного процесса в общеобразовательных организациях (предмет "Математика и информатика")

Учитель математики и информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 38 человек из 18 регионов
  • Этот курс уже прошли 33 человека

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в образовательной организации

Учитель математики и информатики

500/1000 ч.

от 8900 руб. от 4150 руб.
Подать заявку О курсе
  • Сейчас обучается 681 человек из 79 регионов
  • Этот курс уже прошли 1 808 человек

Курс профессиональной переподготовки

Информационные технологии в профессиональной деятельности: теория и методика преподавания в образовательной организации

Преподаватель информационных технологий

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 191 человек из 54 регионов
  • Этот курс уже прошли 971 человек

Мини-курс

Введение в инвестиции и инвестиционный процесс

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 25 человек из 12 регионов

Мини-курс

Методы и подходы проведения трекинга и менторства

3 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Психологические исследования и поддержка психического здоровья

6 ч.

780 руб. 390 руб.
Подать заявку О курсе