Подготовка школьников к олимпиадам по программированию: решение задач на полный перебор
статья по информатике и икт (9 класс) на тему

Морозов Владимир Владимирович

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

Из курса комбинаторики известно, что если множество состоит из N элементов, то в нем можно выбрать 2N всевозможных подмножеств. И не всегда очевидно, какое подмножество дает ответ на поставленный вопрос. И тогда приходится перебирать все 2N подмножеств, пока не найдем нужное подмножество.

Для того, чтобы осуществить перебор всех возможных подмножеств можно использовать рекурсивные процедуры. Конечно, применение рекурсивных процедур говорит о мастерстве программиста, но у рекурсии есть существенный недостаток: если рекурсия вызывает себя многократно, то возникает переполнение стека, и вместо успешного решения задачи мы видим окно, которое сообщает об этой неприятности.

В настоящей статье предлагается универсальная идея, домашняя заготовка, которая поможет организовать перебор подмножеств без рекурсии. И эту заготовку учащийся может использовать на олимпиаде по программированию в другой задаче, где нужно осуществить полный перебор. 

Скачать:

Предварительный просмотр:

По теме: методические разработки, презентации и конспекты

Материалы для подготовки школьников к олимпиаде по английскому языку

Тестовые  задания для учащихся 8 классов средней общеобразовательной школы. Рекомендуемое время для проведения работы – 2 часа. В части Use of English учащиеся должны раскрыть скобки, поставив гл...

Основное содержание работы по подготовке школьников к олимпиаде в гимназии № 65.

В рамках реализации одного из направлений национального проекта  "Образование" и президентской инициативы "Наша новая школа",в нашей гимназииведется интенсивная работа по созданиюсистемы поиска и...

Место динамического программирования в подготовке школьников к олимпиадам по программированию

Задачи на применение идей динамического программирования – частое явление на олимпиадах по программированию, поэтому одним из важных шагов подготовки учащихся к успешному выступлению на олимпиаде по п...

Подготовка школьников к олимпиадам по программированию: рекурсивные процедуры

Предлагается пример задачи и вариант ее решения с помощью рекурсивного алгоритма. Обсуждаются проблемы подготовки школьников к олимпиадам по программированию....

Педагогический проект "Методика и содержание подготовка школьников к олимпиаде по информатике по теме "Динамическое программирование"

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