1. в первой строке коментария указать автора: Имя Фамилия, Группа, 2. во второй строке коментария: Номер задачи, Номер варианта, Номер страницы задачи, Название задачника
2. текст решаемой задачи (скопировать из задачника или файла задач)
4. пояснение к решению задачи(только если используете особый метод)
5. включаемые библиотеки с пояснением(только если надо)
6. определения функций(только если есть)
7. ввод, чтение или генерация исходных данных
8. основной код решения задачи
9. вывод данных на экран/в файл/в поток
Python
Текст задачи «Автомобиль»:
марка; цвет; серийный номер; регистрационный номер; год выпуска; год
техосмотра; цена. Вывести данные про автомобили, которым больше 2
лет
Страница 130
ответ все этапы технологии решения задачи на компьютере на примере конкретной задачи.
1. Постановка задачи. Дано N кубиков, на которых написаны разные буквы. Сколько различных N -буквенных слов можно составить из этих кубиков (слова не обязательно должны иметь смысл)?
Искомую целочисленную величину обозначим буквой F. Тогда постановка задачи выглядит так:
Дано: N.
Найти: F.
2. Математическая формализация. Получим расчетную формулу. Сначала рассмотрим несколько конкретных примеров. Имеются два кубика с буквами «И» и «К». Ясно, что из них можно составить два слова:
ИК КИ.
Добавим к ним третью букву, «С». Теперь число разных слов будет в три раза больше предыдущего, т. е. равно 6:
ИКС КИС ИСК КСИ СКИ СИК.
Если добавить четвертую букву, например «А», то число слов возрастет в четыре раза и станет равным 24:
Объяснение:
Комбинаторные алгоритмы предназначены для выполнения вычис-
лений на различного рода объектах, возникающих в прикладных ком-
бинаторных задачах и при исследовании дискретных математических
структур. Необходимость разработки эффективных, быстрых комби-
наторных алгоритмов уже давно не вызывает сомнений. На практике
нужны не алгоритмы, а хорошие алгоритмы в широком смыс-
ле. Одним из основных критериев качества алгоритма является время,
необходимое для его выполнения.
Разработке и анализу вычислительной сложности комбинаторных
алгоритмов над классическими комбинаторными объектами посвящено
настоящее учебное пособие. Наряду с теоретическими знаниями даётся
описание таких важнейших алгоритмов, приводится их строгое обосно-
вание и детально изучается асимптотическая сложность рассматривае-
мых алгоритмов. Мы познакомим читателя с широким кругом понятий
и сведений из дискретной математики, необходимых практикующему
программисту. Пополним запас примеров нетривиальных алгоритмов
над объектами дискретной математики существенно обо-
гатить навыки самостоятельного конструирования алгоритмов и сфор-
мировать мышление, позволяющее использовать методы дискретного
анализа при разработке эффективных алгоритмов для решения прак-
тических задач и оценке их сложности.
Для понимания материала учебного пособия требуется знание ос-
новных понятий и фактов из дискретной математики и математической
логики. Читатель должен обладать минимальным опытом программи-
рования, каждый изучаемый алгоритм снабжен понятным псевдокодом,
позволяющим реализовать рассматриваемый алгоритм на доступном
языке программирования. При изучении отдельных тем используются
основы математического анализа и теории вероятностей.