Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
35
Добавлен:
23.03.2015
Размер:
739 Кб
Скачать
☆
  1. Мета та задачі дисципліни

    1. Мета викладання дисципліни

Сформувати теоретичне уявлення про поняття абстрактного типу даних (А.Т.Д.), познайомитись з основними видами структур даних та засвоїти методи та засоби їх специфікації та реалізації у сучасних мовах програмування високого рівня.

    1. Задачі вивчення дисципліни

Головною ціллю є вивчення методів декомпозиції складних програм на базі абстракцій з задачею побудови модулів, що у свою чергу є невеликими програмами, що взаємодіють друг з другом за добре визначеними і простими правилами. Головною структурною одиницею у цій декомпозиції виступає А.Т.Д.

На підставі необхідності створення реальних програмних засобів, необхідно теоретично вивчити та практично відпрацювати на лабораторних роботах методи та засоби рішення наведених нижче задач:

- надбання навичок розробки програмних систем на основі їх декомпозиції на декілька А.Т.Д;

- визначається місце А.Т.Д. серед засобів структуризації даних;

- вивчаються методи специфікації та реалізації А.Т.Д. ;

- вивчаються методи аналізу програм з А.Т.Д.;

- засвоюється технологія реалізації програм з А.Т.Д. у середовищі сучасних мов програмування високого рівня.

В результаті вивчення дисципліни фахівець повинен знати:

- поняття інформації та даних;

- поняття структур даних та їх класифікацію;

- поняття типу даних у сучасних мовах програмування;

- поняття А.Т.Д. та методів їх специфікації та реалізації;

- методи аналізу програм з А.Т.Д.

Підготовлений фахівець повинен вміти:

  • виконувати декомпозицію складних програм на базі абстракцій;

  • специфікувати абстракції за допомогою формалізованої мови специфікації;

  • виконувати реалізацію абстракції, її автономне налагодження та верифікацію;

  • проводити аналіз реалізації програм на базі абстракцій;

  • практично застосовувати вивчені методи до реалізації прикладних задач.

  1. Зміст дисципліни

    1. Лекційний курс

№ модуля, змістового модуля, теми

Назва і короткий зміст змістового модуля, теми

Кількість аудиторних годин

1.1

Змістовий модуль І.Введення в структури даних.

8

1.1.1

Тема 1.Поняття про інформацію і дані. (Вступ: Поняття про інформацію. Кількість та об’єм інформації. Вимірювання інформації. Інформація і невизначеність: поняття ентропії. Кодування інформації.Поняття про предметне середовище. Інформаційна модель предметного середовища. Атрибут. Види атрибутів. Поняття про дані. Логічний та фізичний рівень представлення даних. Теорема про самеощадливесередовище для зберігання даних.).

2

1.1.2

Тема 2.Поняття про структури даних(Відношення між атрибутами предметного середовища. Властивості відношень. Поняття про абстрактні структури даних (АСД). Характеристики СД: організація, метод доступу, методи розташування і обробки тощо. Метод доступу: метод пошуку, метод адресації, метод ідентифікації. Критерії пошуку. Статичні та динамічні СД. Класифікація СД: послідовні СД, масиви, спискові СД, таблиці, дерева, мережі.).

2

1.1.3

Тема 3.Поняття про тип даних. . (Поняття типової безпеки. Поняття типу. Класифікація засобів визначення даних у мовах програмування: 1) засоби структурування даних; 2) засоби визначення нового типу; 3) засоби визначення абстрактних типів даних (А.Т.Д).; 4) засоби об’єктно-орієнтованого програмування (ООП). Покоління мов програмування високого рівня. Встроєні та користувацьки типи даних. Властивості вбудованих типів даних. Теорія структурної організації даних Хоара.)

2

1.1.4

Тема 4. Види та методи абстракції в програмуванні. (Абстракціятадекомпозиція;їх взаємодія у процесі розробки програм. Поняття абстракції. Методи абстракції: абстракція крізь параметрізацію та абстракція крізь специфікацію. Види абстракції: процедурна абстракція, абстракція даних та абстракція крізь ітерацію.

2

1.2.

Змістовий модуль ІI. Теорія А.Т.Д.

8

1.2.1

Тема 1. Поняття про абстрактні типи даних (А.Т.Д.). Специфікація А.Т.Д. (А.Т.Д. як засіб визначення даних. Історія виникнення поняття А.Т.Д. Чотири частини А.Т.Д,: 1) зовнішність; 2) абстрактний опис; 3) конкретний опис; 4) опис взаємовідносин між конкретним та абстрактним описом. Реалізація А.Т.Д. у мові CLU. Кластер як засіб абстракції даних у мові CLU. Специфікація А.Т.Д.).

2

1.2.2

Тема 2.Процедурна абстракція. Специфікація процедурної абстракції.

2

1.2.3

Тема 3. Поняття про виключні ситуації. Виключні ситуації як засіб спілкування програм. . (Поняття про виключну ситуацію. Специфікація виключних ситуацій. Реалізація овиключних ситуацій у мові CLU. Обробка виключних ситуацій. Використання виключних ситуацій для розробки стійких до помилок програм).

2

1.2.4

Тема 4. Абстракція ітерації. ( Поняття про ітератори. Специфікація ітераторів. Ітератори у мові CLU. Реалізація ітераторів за допомогою генераторів.).

2

1.3

Змістовий модуль ІII. Реалізація А.Т.Д.

20

1.3.1

Тема 1 .Реалізація абстракції даних. (Функція абстракції та функція інваріант представлення. Абстрактний тип та тип подання. Функції UP та DOWN. Документування реалізації А.Т.Д.).

4

1.3.2

Тема 2.Логічні специфікації. (Поняття про логічні специфікації. Вступ до верифікації програм. Поняття інваріанту циклу. Проектування циклів за допомогою інваріантів. Верифікація програм з циклами. Поняття часткової та повної коректності циклу. Функція декременту.).

4

1.3.3

Тема 3. Аналіз програм з А.Т.Д. (Функція інваріант абстракції. Поняття повноти типу. Операції Equal, Similar та Copy.).

4

1.3.4

Тема 4. Застосування методології розробки програм на базі А.Т.Д. у сучасних мовах програмування високого рівня.

4

1.3.5

Тема 5. Специфікації та їх важливість на різних етапах існування програм.

4

Необхідні методичні матеріали додаються.

    1. ТЕМИ ПРАКТИЧНИХ (СЕМІНАРСЬКИХ) ЗАНЯТЬ

№ модуля, змістового модуля, теми

Назва і короткий зміст змістового модуля, теми

Кількість аудиторних годин

1.1

Змістовий модуль І.Специфікація і реалізація розріджених матриць.

4

1.1.1

Тема 1. Види розріджених матриць.

2

1.1.2

Тема 2. Реалізація розріджених матриць.

2

1.2.

Змістовий модуль II. Специфікація і реалізація лінійних структур даних.

4

1.2.1

Тема 1. Класифікаціялінійних структур даних.

2

1.2.2

Тема 2. Реалізація лінійних структур даних.

2

1.3

Змістовий модуль ІII. Специфікація і реалізація дерев пошуку.

10

1.3.1

Тема 1. Класифікація дерев.

2

1.3.2

Тема 2. Методи подання дерев.

2

1.3.3

Тема 3. Обходи двійкових дерев.

2

1.3.4

Тема 4. Реалізація наглядачів над деревами.

2

1.3.5

Тема 5. Захист лабораторного модуля.

2

Необхідні методичні матеріали додаються.

    1. ТЕМИ ЛАБОРАТОРНИХ ЗАНЯТЬ

№ модуля, змістового модуля, теми

Назва лабораторного заняття

і короткий його зміст

Кількість аудитор-

них

годин

2.1

Специфікація і реалізація розріджених матриць.

10

2.2

Специфікація і реалізація лінійних структур даних.

8

3.1

Специфікація і реалізація лінійних дерев пошуку.

12

Захист лабораторного модуля.

6

Необхідні методичні матеріали до лабораторних робіт додаються.

    1. ПЕРЕЛІК ПИТАНЬ ДЛЯ САМОСТІЙНОГО вивчення та розподіл часу самостійної роботи:

  • Розробіть подання для нижньої трикутної матиці;

  • Розробіть функцію абстракції для своєї нижньої трикутної матиці;

  • Розробіть функцію інваріант подання для своєї нижньої трикутної матиці;

  • Розробіть алгоритми побудови нижньої трикутної матиці на основі розроблених функцій абстракції та інваріанту подання;

  • Розробіть алгоритми модифікаторів для вашої нижньої трикутної матиці, що враховують розроблені функції абстракції та інваріант подання;

  • Розробіть алгоритми наглядачів для вашої трикутної матиці;

  • Розробіть подання для черги на базі масиву;

  • Розробіть функцію абстракції для своєї черги;

  • Розробіть функцію інваріант подання для своєї черги;

  • Розробіть алгоритми побудови черги на основі розроблених функцій абстракції та інваріанту подання;

  • Розробіть алгоритми модифікаторів для вашої черги, що враховують розроблені функції абстракції та інваріант подання;

  • Розробіть алгоритми наглядачів для вашої черги;

  • Розробіть подання для дерева пошуку на базі вказівників;

  • Розробіть функцію абстракції для свого дерева;

  • Розробіть функцію інваріант подання для свого дерева;

  • Розробіть алгоритми побудови дерева методом додавання у лист на основі розроблених функцій абстракції та інваріанту подання;

  • Розробіть алгоритми побудови дерева методом додавання у корінь на основі розроблених функцій абстракції та інваріанту подання

  • Розробіть алгоритми модифікаторів для вашого дерева, що враховують розроблені функції абстракції та інваріант подання;

  • Розробіть алгоритми наглядачів для вашої черги;

Розрахунок часу самостійної роботи рекомендується здійснювати за такою формою:

№

Вид роботи

Кількість годин

Види розріджених матриць та схеми їх реалізації.

20

Класифікація лінійних структур даних та їх реалізація.

10

Класифікація дерев пошуку та їх реалізація.

30

Всього

Підготовка до підсумкового контролю (екзамену)

30

Соседние файлы в папке Программы