ма довжин шляхів всіх його вузлів.
1.3 Обхід бінарногодерева в глибину
Існують три порядки, що використовують обхід в глибину [4]: ??
) Зверху вниз ( PreOrder ):
а) обробити корінь;
б) обхід лівого піддерева;
в) обхід правого піддерева;
) Зліва направо ( InOrder ):
а) обхід лівого піддерева;
б) обробити корінь;
в) обхід правого піддерева;
) Знизу вгору ( PosOrder ):
а) обхід лівого піддерева;
б) обхід правого піддерева;
в) обробити корінь.
2. Опис завдання і вихідних даних
2.1 Постановка завдання
У курсовому проекті поставленим завданням є розробити довідково-інформаційну ( Windows -додаток) систему на мові програмування C # виконує наступні функції:
) читання з текстового файлу інформації про об'єкти класу відповідно до варіанту (таблиця 2.1). Кількість записів не менше 50. Передбачити наявність в файлі не коректних записів, які в процесі роботи програми не будуть оброблятися. Використовувати регулярні вирази (передбачити перевірку по можливості всіх полів);
) висновок вихідних даних у вигляді таблиці;
) візуалізація хеш-таблиці або бінарногодерева;
) пошук інформації по заданому ключу або способу обходу;
) редагування вихідних даних (вставка, видалення, заміна) з внесенням відповідних змін до хеш-таблицю або бінарне дерево пошуку. Використовувати регулярні вирази;
) виведення довідкової інформації про програмний продукт і про автора;
) демонстрація перевантажених операторів;
) пошук максимального об'єкта.
2.2 Опис вихідних даних
Вихідними даними завдання є:
) назва предметної області, а точніше назва класу і його основні поля вказані в таблиці 2.1, яке вибирається відповідно до варіанту виданим викладачем;
) текстовий файл з інформацією про об'єкти класу відповідно до варіанту. Кількість записів не менше 50. Передбачити наявність в файлі не коректних записів, які в процесі роботи програми не будуть оброблятися;
) бінарне дерево пошуку, ключ і спосіб обходу дерева вказано в таблиці 2.2.
Таблиця 2.1 - Опис класу
№ варіантаНазваніе классаПоля16Запісная кніжкаФ.І.О. контактної особи, захід, дата і час заходу
Таблиця 2.2 - Спосіб обходу бінарного дерева
№ варіантаКлючСпособ обходу бінарного дереваОбход виробляти з помощью16Ф.І.О.Обход в глибину - знизу вгору (префіксний обхід) Стека
На основі зазначених вихідних даних потрібно виконати наступне:
) створити клас згідно варіанту. Клас повинен містити наступні елементи:
а) опис полів класу (виділене жирним курсивов поле оформити як перерахування);
б) конструктори з параметрами і за замовчуванням, а також необхідні властивості й методи;
в) перевантаження одного з бінарних операторів (вказати точно який обраний самостійно бінарний оператор і що реалізує);
г) перевантаження одного з операторів відносини (вказати точно який обраний самостійно оператор відносини і що реалізує);
д) перевантаження префіксного і постфіксними инкремента (вказати призначення инкремента);
е) перевантаження операторів lt; lt; і gt; gt; (вказати призначення операторів);
ж) створення масиву з об'єктів вашого класу;
з) функцію, що визначає максимальний об'єкт (вказати за якою ознакою вибирається максимальний об'єкт). Для порівняння використовувати перевантажений оператор відносини;
і) передбачити обробку і ініціалізацію виняткових ситуацій;
к) Клас повинен реалізовувати інтерфейс IComparable ;
) розробити інтерфейс Windows -Додаток автоматизованої системи. Крім самостійно обраних елементів управління, обов'язково можуть бути присутніми наступні елементи управління: MenuStrip, ContextMenu...