Вятский Государственный Гуманитарный Университет
Кафедра прикладной математики
Курсовая работа по информатике
Тема: Разработка системы упражнений и задач (алгоритмы-программы) по дискретной математике.
Выполнил:Студент 4 курса
факультета информатики
Лепешкин Антон Геннадъевич
Проверила: Ашихмина Татьяна Викторовна
Киров 2004
Содержание.
Содержание. 2
Введение. 3
Глава 1 Теоретический материал. 4
Перебор с возвратом. 4
Поиск данных. 5
Логарифмический(бинарный) поиск. 5
Методы сортировки. 6
Сортировка слияниями. 6
Быстрая сортировка Хоара. 6
Графы. 6
Представление графа в памяти компьютера. 6
Достижимость. 7
Кратчайшие пути. 8
Алгоритм Дейкстры.. 8
Алгоритм Флойда (кратчайшие пути между всеми парами вершин). 9
Глава 2 Система задач и упражнений. 9
Классификация задач. 9
Комнаты музея. 12
Пират в подземелье. 13
Диспетчер и милиция. 14
Задача о футболистах. 15
Задача о семьях. 16
Метро. 16
Роботы. 17
Вожатый в лагере. 20
Егерь. 21
Игра «Найди друга». 22
Приложение. 22
1. 22
2. 25
3. 27
4. 30
5. 32
6. 32
7. 34
8. 39
9. 41
10. 43
Заключение. 45
Литература.. 45
Введение.
Несмотря на то, что для решения задач в основном используются общие методы, все-таки мышление каждого конкретного человека немного отличается от мышления других людей, если он обладает достаточной базой знаний. Таким образом, при решении задач «начиная с нуля» можно зайти в тупик, если выбрать неверный путь решения задачи. В данном курсовом проекте мы разработаем собственную классификацию задач, позволяющую определить наиболее подходящий способ решения, чтобы облегчить процесс моделирования и составления алгоритма и предотвратить выбор неверного способа, также рассмотрим данную классификацию с точки зрения методики преподавания информатики. выбор неверного способа. В этом заключается актуальность данного курсового проекта.
Цель: Разработать собственную классификацию для задач по дискретной математике. Для достижения этой цели были поставлены следующие задачи:
1) Разработать собственную систему задач и упражнений по дискретной математике.
2) Определить способы решения данных задач, используя теоретический материал курса дискретной математики.
3) Составить алгоритм – программу для каждой задачи, реализующий выбранный способы решения.
4) Разработать систему критериев классификации данной системы задач.
Глава 1 Теоретический материал.
Перебор с возвратом.
Общая схема
Даны N упорядоченных множеств U1 U2,..., Un (N - известно), и требуется построить вектор А=(а1 а2, ..., аn), где a1€U1, a2€U2, ..., an€Un, удовлетворяющий заданному множеству условий и ограничений.
В алгоритме перебора вектор А строится покомпонентно слева
направо. Предположим, что уже найдены значения первых (к-1)
компонент, A=(a1, a2, ..., a( k -1) ), ?, ..., ?), тогда заданное множество
условий ограничивает выбор следующей компоненты аk некоторым
множеством Sk CUk . Если Sk<>[ ] (пустое), мы вправе выбрать в
качестве ак
наименьший элемент Sk и
перейти к выбору ^/^ "^выборы п«я»,
(к+1) компоненты и
так далее. Однако /[ ■ Д Jfcv при данном а,
если условия условия
| а,, ^иаз |
таковы, что Sk оказалось пустым, то мы возвращаемся к выбору
(к-1) компоненты, отбрасываем
а( k -1) и выбираем в качестве нового a(k-1) тот элемент S(k-i) , который непосредственно следует за только что отброшенным. Может оказаться, что для нового a(k-1) условия задачи допускают непустое Sk, и тогда мы пытаемся снова выбрать элемент ак . Если невозможно выбрать a(k-1) , мы возвращаемся еще на шаг назад и выбираем новый элемент а(к-2) и так далее.
Графическое изображение - дерево поиска. Корень дерева (0 уровень) есть пустой вектор. Его сыновья суть множество кандидатов для выбора а1 и, в общем случае, узлы k-го уровня являются кандидатами на выбор ак при условии, что а1, а2, ..., a(k-1) выбраны так, как указывают предки этих узлов. Вопрос о том, имеет ли задача решение, равносилен вопросу, являются ли какие-нибудь узлы дерева решениями. Разыскивая все решения, мы хотим получить все такие узлы.
Рекурсивная схема реализации алгоритма,
procedure Backtrack(Beктop,i);
begin
if <вектор является решением> then <записать его>
else begin <вычислить Si>;
for a€Si do Васкtrаск(вектор| | a,i+l); {| | - добавление к вектору компоненты}
end; end;
Оценка временной сложности алгоритма. Данная схема реализации перебора приводит к экспоненциальным алгоритмам. Действительно, Пусть все решения имеют длину N, тогда исследовать требуе
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.