Здавалка
Главная | Обратная связь

Тема: Методи розробки алгоритмів



ТЕОРІЯ АЛГОРИТМІВ

МЕТОДИЧНІ ВКАЗІВКИ

ДО ПРАКТИЧНИХ РОБІТ

для студентів 1-го курсу напряму “Системна інженерія”

 

 

КИЇВ 2013


ПРАКТИЧНА РОБОТА №1

 

Тема: Побудова і аналіз алгоритмів

Мета роботи:ознайомитись з роботами, що виконує програміст на кожному з етапів розв’язку задачі.

 

Запитання на допуск до роботи

1. З яких етапів складається процес створення комп’ютерної програми для вирішення довільної практичної задачі?

2. Що саме має з’ясувати розробник програми на етапі постановки задачі?

3. Що робить розробник програми на етапі побудови моделі? Які фактори впливають на вибір структури моделі?

4. Якими міркуваннями має керуватися розробник програми на етапі розробки алгоритму? Чи потрібно перевіряти або доводити правильність алгоритму, якщо так, то з якою метою?

5. Перерахуйте основні складності, з якими стикається розробник на етапі реалізації алгоритму у вигляді програми.

6. Навіщо виконується аналіз алгоритму та його складності? Перерахуйте основні прийоми аналізу.

7. Існує три аспекти перевірки програми: на правильність, на ефективність реалізації, на обчислювальну складність. Розкрийте суть кожної з перевірок.

8. Для чого служить документація програми? Яких різновидів вона буває? На якому етапі розробки програми виконується?

9. Навіщо виконується вимірювання часу виконання програми? Які чинники на нього впливають?

 

Завдання

Для однієї з лабораторних робіт з програмування (на Паскалі роботи 3-7) виконати всі етапи розробки програми.

Постановка задачі – чітко вказати, що дано і що треба знайти.

Побудова моделі – які структури даних та які математичні залежності використані.

Розробка алгоритму – опис алгоритму у вигляді блок-схеми.

Правильність алгоритму – довести покроково правильність розробленого алгоритму.

Аналіз алгоритму та його складності – оцінити використовуючи О-символіку час виконання алгоритму в найгіршому або/і в середньому.

Реалізація алгоритму – навести текст програми.

Перевірка програми – описати тестові дані для перевірки програми на правильність, ефективність реалізації та обчислювальну складність (для цього використайте блок-схему алгоритму та профілі виконання програми).

Результатом практичної роботи є повна документація по програмі.

Варіанти завдань

1) лабораторна робота з програмування на Паскалі №3

2) лабораторна робота з програмування на Паскалі №4

3) лабораторна робота з програмування на Паскалі №5

4) лабораторна робота з програмування на Паскалі №6

5) лабораторна робота з програмування на Паскалі №7

 

ПРАКТИЧНА РОБОТА №2

 

Тема: Методи розробки алгоритмів

Мета роботи:порівняння алгоритмів розв’язку задачі комівояжера, побудованих різними методами.

 

Запитання на допуск до роботи

1. Перерахуйте відомі вам методи розробки алгоритмів. Докладніше розкажіть про один з них.

2. Перерахуйте переваги та недоліки наступних методів розробки алгоритмів: методу часткових (проміжних) цілей, методу підйому (локального пошуку), методу відпрацювання назад.

3. Який тип алгоритмів називають «жадібними» і чому?

4. Дайте характеристику евристичним алгоритмам. В яких випадках доцільно використовувати цей тип алгоритмів? Опишіть загальний підхід до побудови евристичних алгоритмів.

5. Проаналізуйте, що спільного мають та чим відрізняються алгоритми, що використовують пошук з поверненням, та алгоритми, що використовують метод гілок та границь.

6. Поясніть, для чого можна використовувати метод альфа-бета відсікання.

7. Поясніть термін «структурне програмування». Для чого воно застосовується?

8. Методологія структурного програмування ґрунтується на трьох методах: низхідного проектування, модульного програмування і структурування програм. Розкрийте суть методу низхідного проектування.

9. Методологія структурного програмування ґрунтується на трьох методах: низхідного проектування, модульного програмування і структурування програм. Розкрийте суть методу модульного програмування.

10. Методологія структурного програмування ґрунтується на трьох методах: низхідного проектування, модульного програмування і структурування програм. Розкрийте суть методу структурування програм.

 

Завдання

Ознайомтесь з алгоритмами розв’язку задачі комівояжера, побудованих різними методами (метод проміжних цілей 298 [1], 114 [2], метод повного перебору 296 [1], 20, 132 [2], метод локального пошуку 303 [1]). Побудуйте блок-схеми цих алгоритмів. Проаналізуйте ефективність та аналітичну складність алгоритмів і вкажіть переваги та недоліки кожного з них.

Додаткове завдання

Напишіть програмні реалізації алгоритмів. Виміряйте час виконання програм для різних реалізацій на одному наборі тестових прикладів. Порівняйте результати з аналітично отриманою обчислювальною складністю відповідних алгоритмів.

 

 

ПРАКТИЧНА РОБОТА №3

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.