47332 (Інформаційно-довідкова система)
Описание файла
Документ из архива "Інформаційно-довідкова система", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "47332"
Текст из документа "47332"
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
"ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ"
Кафедра Обчислювальної техніки та програмування
ЗАТВЕРДЖУЮ
Завідувач кафедри ОТП
__________ /xxxxxxxxx./
"___" __________ 2007р.
Розрахунково-графічне завдання № 1, 2
ІНФОРМАЦІЙНО-ДОВІДКОВА СИСТЕМА
Специфікація
ЛИСТ ЗАТВЕРДЖЕННЯ
Xxxxxxxx
Розробники Керівник проекту __________ /доц. xxxxxxx./ "___" __________ 2007 р. Виконавець __________ /студ. xxxxxxx./ "___" __________ 2007 р. |
2007
УЗГОДЖЕНО
xxxxxxxxxxxxxx
Розрахунково-графічне завдання № 1, 2
ІНФОРМАЦІЙНО-ДОВІДКОВА СИСТЕМА
Специфікація
xxxxxxxxxxxxx
2007
Формат | Позначення | Найменування | Кількість | Примітка |
А4 | Xxxxxxxxxxx-01 81 ТЗ | Технічне завдання | 2 | |
А4 | Xxxxxxxxxxx-01 81 ПЗ | Пояснювальна записка | 6 | |
А4 | Xxxxxxxxxxx-01 81 ОП | Програма та методика іспитів | 2 | |
А4 | Xxxxxxxxxxx-01 81 ТП | Текст програми | 4-6 |
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
"ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ"
Кафедра Обчислювальної техніки та програмування
ЗАТВЕРДЖУЮ
Завідувач кафедри ОТП
__________ /xxxxxxxxx./
"___" __________ 2007р.
Розрахунково-графічне завдання № 1, 2
ІНФОРМАЦІЙНО-ДОВІДКОВА СИСТЕМА
Технічне завдання
ЛИСТ ЗАТВЕРДЖЕННЯ
Xxxxxxxxxxx-01 81 01-1-ЛЗ
Розробники Керівник проекту __________ /доц. xxxxxxx./ "___" __________ 2007 р. Виконавець __________ /студ. xxxxxxxx./ "___" __________ 2007 р. |
2007
1. Вступ
У даному розрахунковому завданні розглянутий поліморфний список об'єктів. Технічні особливості програми розглянуті нижче.
2. Підстава для розробки
Підставою для розробки програми є отримання завдання за темою «Інформаційно-довідкова система».
3. Мета і призначення розробки
Мета роботи – засвоїти принцип використання поліморфних списків об'єктів і реалізувати роботу програмного забезпечення , що використовує ці принципи. Програма призначається для обробки таблиць даних.
4. Вимоги до розробки
Розроблена програма повинна виконувати такі пункти:
-
Створення поліморфного списку об’єктів
-
Вивід його на екран
-
Занесення у файл
-
Зчитування з файлу
-
Пошук запису
-
Редагування запису
-
Вставка нового запису
-
Знищення запису
-
Виконання задачі;
-
Вихід.
5. Стадії та етапи розробки
1. Створення класів;
2. Застосування поліморфізму;
3. Створення двонаправленого списку та робота з ним;
4. Втілення можливостей для даної програми, розглянутих у п.4;
5. Ввід та вивід інформації.
6. Показ результатів.
6. Порядок контролю та прийомки
Розроблене програмне забезпечення повинно:
- виконувати асоціативний пошук даних на основі розробленого алгоритму;
- легко адаптуватися при модифікації структури даних;
- забезпечувати дружній інтерфейс із користувачем і можливість настроювання параметрів дерева в діалоговому режимі.
Відмовлення ЕОМ у роботі не повинний приводити до значних втрат інформації.
Розроблювальне програмне забезпечення має функціонувати в середовищі MS-DOS та Windows і повинний бути написаний мовою C++/С.
7. Програмна документація
Для розроблювального виробу повинні бути складені програмні документи:
- Специфікація;
- Технічне завдання;
- Пояснювальна записка;
- Програма та методика іспиту;
- Текст програми.
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
"ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ
Кафедра Обчислювальної техніки та програмування
ЗАТВЕРДЖУЮ
Завідувач кафедри ОТП
__________ /Xxxxxxxxxxx./
"___" __________ 2007р.
Розрахунково-графічне завдання № 1, 2
ІНФОРМАЦІЙНО-ДОВІДКОВА СИСТЕМА
Пояснювальна записка
ЛИСТ ЗАТВЕРДЖЕННЯ
Xxxxxxxxxxx-01 81 01-1-ЛЗ
Розробники Керівник проекту __________ /доц. Xxxxxxxxxxx./ "___" __________ 2007 р. Виконавець __________ /студ. Xxxxxxxxxxx./ "___" __________ 2007 р. |
2007
Анотація
У даному розрахунково-графічному завданні докладно розглядається алгоритми поліморфних списків об’єктів, розроблена програма, що реалізує алгоритм поліморфних списків об’єктів та інтерфейсна частина програми мовою C++.
Пояснювальна записка містить достатньо прикладів та теоретичну частину для самостійного розгляду та опанування теми «Поліморфні списки об’єктів».
Аннотация
В данном расчетно-графическом задании подробно рассматривается алгоритмы полиморфных списков объектов, разработанная программа, которая реализует алгоритм полиморфных списков объектов и интерфейсная часть программы языком C++.
Объяснительная записка содержит достаточно примеров и теоретическую часть для самостоятельного рассмотрения и овладение темы «Полиморфные списки объектов».
Annotation
In the given settlement-graphic task in details is described algorithms of polymorphic lists of the objects, the developed program which realizes algorithm of polymorphic lists of objects and the interface part of the program language C++.
The explain annotation contains enough examples and a theoretical part for independent consideration and mastering of a theme « polymorphic lists of objects».
Зміст
-
Вступ
-
Призначення
-
Технічні характеристики
-
Отримані результати
-
Список використаної літератури
С++ - це спроба рішення розроблювачами мови С завдань обєктно- орієнтованого програмування (Object Oriented Programming, OOP). Побудований на твердому фундаменті С, С++ крім ООР підтримує безліч інших корисних інструментів, ні жертвуючи при цьому ні міццю, ні елегантністю, ні гнучкістю С. С++ став універсальною мовою для програмістів усього миру. Саме на мові С++ проводиться навчання студентів у вузах вищих навчальних закладів для підготовки подальшої бази для гарного працевлаштування. С++ містить зручний інтерфейс для користувача початківця для розробки простіших задач але має також і можливості для розробки складних програм.
У даній роботі широко використовується поліморфізм та двонапрямлений список класів.
-
Призначення та область використання
Призначення даної програми – збереження інформації о музичних альбомах: назва, рік випуску, кількість треків, кількість бонусних треків та довготи звучання.
Розроблена програма повинна виконувати:
-
Створення поліморфного списку об’єктів
-
Вивід його на екран
-
Занесення у файл
-
Зчитування з файлу
-
Пошук запису
-
Редагування запису
-
Вставка нового запису
-
Знищення запису
-
Знаходження запису найменшою кількістю треків у заданому діапазоні років
-
Вихід.
Використовувати дану програму можна для вивчення принципу роботи зі поліморфізмом та списком.
При роботі зі списками на практиці частіше усього приходиться виконувати наступні операції:
-
знайти елемент з заданими властивостями;
-
знайти перший елемент у лінійному списку;
-
вставити елемент до та після вказаного вузла;
-
видалити конкретний елемент із списку;
-
упорядкувати вузли списку у конкретному порядку.
-
Технічні характеристики
Функціонування системи цілком забезпечується стандартною конфігурацією IBM сумісних персональних ЕОМ. Для експлуатації системи необхідний IBM/PC AT з CPU типу k286 чи вище, обсягом оперативної пам'яті 4 Мбайт і накопичувачем на HARD диску обсягом не менш 200 Мбайт.
Що стосується даної програми, то вхідними даними є інформація типу int та char. Вихідні дані є типами цих же типів. Основні функції встановлюють інформацію або виводять її на екран.
Нижче приведені схеми алгоритму головної функції void main().(Дивись малюнок 1.1)
-
Очікувані техніко-економічні показники
Дана програма займає мінімальний об’єм пам’яті. Поширена інформація щодо вимог зазначена вище. Економічні прибутки не розглядаються, оскільки дана програма є об’єктом для навчання. Є можливість щодо використання її як посібника для наступних курсів.
-
Розробка
У програмі використовується поліморфізм, інкапсуляція та успадкування, яскраво представлено ООП. При звернені до батьківського класу, викликаються функції наслідних класів(поліморфізм).При успадкуванні наслідні класи мають доступ до полів батьківського класу. Використано віртуальні функції та поліморфний список об’єктів.
Інкапсуляція дозволяє «заховати» змінні-елементи класу.
Опис класів
album
Змінна | Призначення | Методи | Призначення |
Nazv God | Назва альбому Рік випуску | virtual void input() virtual void output() | Вод та вивод інформації |
аlbum1
Змінна | Призначення | Методи | Призначення |
Trek | Кількість треків | --//-- int getTrek() void setTrek() | --//-- Встановлення значення trek |
аlbum
Змінна | Призначення | Методи | Призначення |
Time | Протяжність за часом | --//-- int getTime() void setTime() | --//-- Встановлення значення time |
album3
Змінна | Призначення | Методи | Призначення |
Bonus | Кількість бонусних треків | --//-- Int getBonus(), void setBonus() | --//-- Встановлення значення bonus |
Tool
Змінна | Призначення | Методи | Призначення |
T *d *right *left | Змінна списку Указ. на об’єктУказ. на об’єкт->Указ. на об’єкт<- |
Trst
Змінна | Призначення | Методи | Призначення |
*head *tail *current | Указ. на головуУказ. на хвістУказ. на текущій | Void add(int type, int vvod) | Додавнна нових елементів списку |
Клас аlbum – це базовий (батьківський) клас, що містить два інформаційних поля: назву альбому (строковий тип) та рік випуску (цілочисловий тип). Він має дві віртуальні функції (вводу/виводу), та конструктор з деструктором.
Клас аlbum1 – це клас-нащадок класу аlbum, він містить інформаційне поле, що несе інформацію о кількості треків у альбомі. Він також має віртуальні функції (вводу/виводу) та конструктор з деструктором, але ще він має дві функції що створюють поле trek, та повертають значення цього поля.
Клас аlbum2 – це клас-нащадок класу аlbum1, він містить інформаційне поле, що несе інформацію о протяжності альбому за часом. Він також має віртуальні функції (вводу/виводу) та конструктор з деструктором, але ще він має дві функції що створюють поле time, та повертають значення цього поля.
Клас аlbum3 – це клас-нащадок класу аlbum2, він містить інформаційне поле, що несе інформацію о кількості бонусних треків у альбомі. Він також має віртуальні функції (вводу/виводу) та конструктор з деструктором, але ще він має дві функції що створюють поле bonus, та повертають значення цього поля.
Клас Tool – це клас який є двонапрямленим списком об’єктів класу аlbum та його нащадків. Функціями даного класу є конструктор та деструктор що відповідно створюють поліморфний список об’єктів та вивільняють пам'ять відведену під нього.
Клас Trist є дружнім до класу Tool.Він вміщає функцію додавання нових об’єктів до списку. Нові об’єкти додаються у кінець(хвіст) списку і можуть бути одного з типів аlbum, аlbum1, аlbum2 та аlbum3.
Функція int get….() повертає значення даного поля для об’єкту.
Функція int set….() створює поле об'єкта а саме встановлює відповідність(заносить у поле інформацію) з інформацією що вводить користувач при заповнені таблиці.
Функції virtual void output() та virtual void input() являються яскравими покажчиками поліморфізму бо є віртуальними функціями. Вони слугують для виводу на екран або заповнення об’єкту при роботі з таблицею.
-
Список використаної літератури
-
Шилдт Г. Самоучитель С++. – Санкт-Петербург, 2007.
-
Матеріали локальної сітки НТУ "ХПІ".
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
"ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ