Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Разработка системи завдань (алгоритмы-программы) по дискретної математике

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Попри те що, що розв’язання завдань переважно використовуються загальні методи, все-таки мислення кожної людини трохи відрізняється від мислення іншим людям, коли він має достатньої базою знань. Таким чином, під час вирішення завдань «починаючи від початку» можна зайти у безвихідь, якщо вибрати хибний шлях виконання завдання. У цьому курсовому проекті ми розробимо власну класифікацію завдань… Читати ще >

Разработка системи завдань (алгоритмы-программы) по дискретної математике (реферат, курсова, диплом, контрольна)

Вятский Державний Гуманітарний Университет.

Кафедра прикладної математики.

Курсова робота з информатике.

Тема: Розробка системи вправ і завдань (алгоритмы-программы) по дискретної математике.

Выполнил:Студент 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 некоторым множеством SkCUk. Якщо 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; for a? Si do Васкtrаск (вектор| | a, i+l); {| | - додавання до вектору компоненти} end; end; Оцінка тимчасової складності алгоритму. Ця схема реалізації перебору призводить до експонентним алгоритмам. Справді, Нехай усі рішення мають довжину N, тоді досліджувати потрібно близько | Si| *| S2| *…*| SN| вузлів дерева. Якщо значення P. S; обмежена деякою константою З, то отримуємо порядку CN узлов.

Пошук данных.

Логарифмический (бинарный) поиск Логарифмический (бінарний чи метод розподілу навпіл) пошук даних застосуємо до сортированному безлічі елементів а1 < А2 < … < аз, розміщення якого виконано на суміжною пам’яті. Для більшої ефективності пошуку елементів треба, щоб шляху доступу до них стали короткими, ніж просто послідовний перебір. Найочевидніший метод: розпочати пошук зі середнього елемента, тобто. виконати порівнювати з елементом а. Результат порівняння дозволить визначити, як і половині послідовності а{, А2,…, а, 1+" ,…, аз продовжити пошук, застосовуючи до неї таку ж процедуру, тощо. Основна ідея бінарного пошуку досить просте, проте «багатьом хороших програмістів жодна спроба написати правильну програму закінчилася невдачею». Щоб детально дати раду алгоритмі, найкраще уявити дані ох < А2 < … < аз як двоичного дерева порівнянь, який відповідає бінарному пошуку. Двоичное дерево називається деревом порівнянь, для кожен її вершини (деревокореня чи кореня поддерева) виконується условие:

{Вершини лівого поддерева}.

Показати весь текст
Заповнити форму поточною роботою