Курсовая работа: Інформаційно-довідкова система 2

Курсовая работа: Інформаційно-довідкова система 2




🛑 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

"ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ"

Кафедра Обчислювальної техніки та програмування
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

"ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ"

Кафедра Обчислювальної техніки та програмування
У даному розрахунковому завданні розглянутий поліморфний список об'єктів. Технічні особливості програми розглянуті нижче.
Підставою для розробки програми є отримання завдання за темою «Інформаційно-довідкова система».
Мета роботи – засвоїти принцип використання поліморфних списків об'єктів і реалізувати роботу програмного забезпечення , що використовує ці принципи. Програма призначається для обробки таблиць даних.
Розроблена програма повинна виконувати такі пункти:
- Створення поліморфного списку об’єктів;
3. Створення двонаправленого списку та робота з ним;
4. Втілення можливостей для даної програми, розглянутих у п.4;
Розроблене програмне забезпечення повинно:
- виконувати асоціативний пошук даних на основі розробленого алгоритму;
- легко адаптуватися при модифікації структури даних;
- забезпечувати дружній інтерфейс із користувачем і можливість настроювання параметрів дерева в діалоговому режимі.
Відмовлення ЕОМ у роботі не повинний приводити до значних втрат інформації.
Розроблювальне програмне забезпечення має функціонувати в середовищі MS-DOS та Windows і повинний бути написаний мовою C++/С.
Для розроблювального виробу повинні бути складені програмні документи:
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

"ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ

Кафедра Обчислювальної техніки та програмування
У даному розрахунково-графічному завданні докладно розглядається алгоритми поліморфних списків об’єктів, розроблена програма, що реалізує алгоритм поліморфних списків об’єктів та інтерфейсна частина програми мовою C++.
Пояснювальна записка містить достатньо прикладів та теоретичну частину для самостійного розгляду та опанування теми «Поліморфні списки об’єктів».
В данном расчетно-графическом задании подробно рассматривается алгоритмы полиморфных списков объектов, разработанная программа, которая реализует алгоритм полиморфных списков объектов и интерфейсная часть программы языком C++.
Объяснительная записка содержит достаточно примеров и теоретическую часть для самостоятельного рассмотрения и овладение темы «Полиморфные списки объектов».
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). Побудований на твердому фундаменті С, С++ крім ООР підтримує безліч інших корисних інструментів, ні жертвуючи при цьому ні міццю, ні елегантністю, ні гнучкістю С. С++ став універсальною мовою для програмістів усього миру. Саме на мові С++ проводиться навчання студентів у вузах вищих навчальних закладів для підготовки подальшої бази для гарного працевлаштування. С++ містить зручний інтерфейс для користувача початківця для розробки простіших задач але має також і можливості для розробки складних програм.
У даній роботі широко використовується поліморфізм та двонапрямлений список класів.
1.
Призначення та область використання

Призначення даної програми – збереження інформації о музичних альбомах: назва, рік випуску, кількість треків, кількість бонусних треків та довготи звучання.
Розроблена програма повинна виконувати:
- Створення поліморфного списку об’єктів;
- Знаходження запису найменшою кількістю треків у заданому діапазоні років
Використовувати дану програму можна для вивчення принципу роботи зі поліморфізмом та списком.
При роботі зі списками на практиці частіше усього приходиться виконувати наступні операції:
- знайти елемент з заданими властивостями;
- знайти перший елемент у лінійному списку;
- вставити елемент до та після вказаного вузла;
- видалити конкретний елемент із списку;
- упорядкувати вузли списку у конкретному порядку.
Функціонування системи цілком забезпечується стандартною конфігурацією IBM сумісних персональних ЕОМ. Для експлуатації системи необхідний IBM/PC AT з CPU типу k286 чи вище, обсягом оперативної пам'яті 4 Мбайт і накопичувачем на HARD диску обсягом не менш 200 Мбайт.
Що стосується даної програми, то вхідними даними є інформація типу int та char. Вихідні дані є типами цих же типів. Основні функції встановлюють інформацію або виводять її на екран.
Нижче приведені схеми алгоритму головної функції void main
().(Дивись малюнок 1.1)
3.
Очікувані техніко-економічні показники

Дана програма займає мінімальний об’єм пам’яті. Поширена інформація щодо вимог зазначена вище. Економічні прибутки не розглядаються, оскільки дана програма є об’єктом для навчання. Є можливість щодо використання її як посібника для наступних курсів.
У програмі використовується поліморфізм, інкапсуляція та успадкування, яскраво представлено ООП. При звернені до батьківського класу, викликаються функції наслідних класів(поліморфізм).При успадкуванні наслідні класи мають доступ до полів батьківського класу. Використано віртуальні функції та поліморфний список об’єктів.
Інкапсуляція дозволяє «заховати» змінні-елементи класу.
Клас аlbum – це базовий (батьківський) клас, що містить два інформаційних поля: назву альбому (строковий тип) та рік випуску (цілочисловий тип). Він має дві віртуальні функції (вводу/виводу), та конструктор з деструктором.
Клас аlbum1 – це клас-нащадок класу аlbum, він містить інформаційне поле, що несе інформацію о кількості треків у альбомі. Він також має віртуальні функції (вводу/виводу) та конструктор з деструктором, але ще він має дві функції що створюють поле trek, та повертають значення цього поля.
Клас аlbum2 – це клас-нащадок класу аlbum1, він містить інформаційне поле, що несе інформацію о протяжності альбому за часом. Він також має віртуальні функції (вводу/виводу) та конструктор з деструктором, але ще він має дві функції що створюють поле time, та повертають значення цього поля.
Клас аlbum3 – це клас-нащадок класу аlbum2, він містить інформаційне поле, що несе інформацію о кількості бонусних треків у альбомі. Він також має віртуальні функції (вводу/виводу) та конструктор з деструктором, але ще він має дві функції що створюють поле bonus, та повертають значення цього поля.
Клас Tool – це клас який є двонапрямленим списком об’єктів класу аlbum та його нащадків. Функціями даного класу є конструктор та деструктор що відповідно створюють поліморфний список об’єктів та вивільняють пам'ять відведену під нього.
Клас Trist є дружнім до класу Tool.Він вміщає функцію додавання нових об’єктів до списку. Нові об’єкти додаються у кінець(хвіст) списку і можуть бути одного з типів аlbum, аlbum1, аlbum2 та аlbum3.
Функція intget….() повертає значення даного поля для об’єкту.
Функція intset….() створює поле об'єкта а саме встановлює відповідність(заносить у поле інформацію) з інформацією що вводить користувач при заповнені таблиці.
Функції virtualvoidoutput() та virtualvoidinput() являються яскравими покажчиками поліморфізму бо є віртуальними функціями. Вони слугують для виводу на екран або заповнення об’єкту при роботі з таблицею.
· Шилдт Г. Самоучитель С++. – Санкт-Петербург, 2007.
· Матеріали локальної сітки НТУ "ХПІ".
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

"ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ

Кафедра Обчислювальної техніки та програмування
Програма являє собою модуль, що складається з трьох файлів:
- RGZ.cpp (Основний файл, містить функцію main( )
);
- RGZ_DSC.cpp (Файл, що містить опис функцій класів) ;
- RGZ.Н (Файл, що містить опис класів)
Об’єктом іспитів є нижче приведена програма.
Мета іспитів – це впевнитися у правильності роботи даної програми та оцінити її ефективність.
Тести, котрі перевірюють правильність роботи програми приведені у пункті «Засоби та порядок випробувань».
3.
Вимоги до програми та програмного документа

Функціонування системи цілком забезпечується стандартною конфігурацією IBM сумісних персональних ЕОМ.
Основна вимога до програми – це чітке демонстрування поліморфізму та правильність роботи, а також, втілення основної задачі.
Засобом іспитів є введення інформації за підказками, які з’являються у процесі роботи програми. Шляхом порівняння фактичного результату роботи програми з прогнозованими результатами, встановлюється вірність роботи програми.
Розглянемо виконання програми по пунктах:
· Перед користувачем з'являється повідомлення: "Vveditenomeroperatsii".
· Якщо ви натиснете клавішу "1", то виконаєте наступні дії:
Vvedite prodolzitelnost alboma po vremeni: 60
Vvedite kolichestvo bonus trekov: 2
Vvedite prodolzitelnost alboma po vremeni: 58
· При натисканні на клавішу "2" на екрані з'явиться таблиця яку ви заповнили вище:
-------------------------------------------------------
· Якщо ви натиснете "3", то на екрані з'явиться повідомлення:
· Якщо ви натиснете "4", то на екрані з'явиться повідомлення:
Chtenie iz faila uspeshno zavershena.
· При натисканні на клавішу "5" на екрані з'явиться повідомлення та ви виконаєте наступні дії:
Vvedite kluch dlya poiska(nazvanie alboma): www
-------------------------------------------------------
· Якщо ви натиснете "6", то на екрані з'явиться повідомлення та ви виконаєте наступні дії:
vedite prodolzitelnost alboma po vremeni: 56
Redaktirovanie uspeshno zaversheno.
· Результатом ваших дій буде те, що один запис у таблиці зміниться:
-------------------------------------------------------
· При натисканні на клавішу "7" на екрані з'явиться повідомлення та ви виконаєте наступні дії:
Vvedite prodolzitelnost alboma po vremeni: 222
Vvedite kolichestvo bonus trekov: 1
· Результатом ваших дій буде те що один запис у таблиці зміниться:
-------------------------------------------------------
· Якщо ви натиснете "8" то на екрані з'явиться повідомлення та ви виконаєте наступні дії:
Vvedite nomer zapisi dlya udalenia:1
· Результатом ваших дій буде те, що один запис у таблиці буде знищено:
-------------------------------------------------------
· При натисканні на клавішу "9" на екрані з'явиться повідомлення та ви виконаєте наступні дії:
Poisk obyekta s minimalnim kl-vom trekov v zadannom diapazone let
Vvedite leviy predel poiska(god): 1
Vvedite praviy predel poiska(god): 1600
-------------------------------------------------------
· При натисканні на клавішу "10" програму буде завершено.
Кожний отриманий результат відповідає поставленій задачі.
Отриманні результати збігаються з прогнозами, щодо вірності роботи даної програми, тобто задача виконана вірно.
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

"ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ

Кафедра Обчислювальної техніки та програмування
voidsetTrek(intc)//ф-ція створення поля
friend class Trist;//об'явлення дружнього класу
Trist(int type,int vvod);//Конструктор
void add(int type, int vvod);//ф_ція добавлення об’єктів
cout << "Vvedite nazvanie alboma: ";
cout << endl<< setw(10) << setiosflags(ios::left) << nazv
<< setw(10) << setiosflags(ios::left) << god;
album1::album1():album() {}//конструктор
album1::~album1(){ album::~album(); }//деструктор
cout << "Vvedite kl-vo trekov v albome: ";
cout<< setw(10) << setiosflags(ios::left) << trek;
album2::~album2() { album1::~album1(); }
cout << "Vvedite prodolzitelnost alboma po vremeni: ";
cout << setw(12) << setiosflags(ios::left) << time;
album3::~album3() { album2::~album2(); }
cout << "Vvedite kolichestvo bonus trekov: ";
cout << setw(10) << setiosflags(ios::left) << bonus;
cout << endl << setw(10) << setiosflags(ios::left) << "|Nazv"
<< setw(10) << setiosflags(ios::left) << "|God"
<< setw(10) << setiosflags(ios::left) << "|Treki"
<< setw(10) << setiosflags(ios::left) << "|Vremya"
<< setw(10) << setiosflags(ios::left) << "|Bonus+"<< endl;
cout << "-------------------------------------------------------";
Trist::Trist(int type, int vvod)//Створення списку об'єктів
Trist::~Trist()//Висвободження памяті
void Trist::add(int type, int vvod)//додавання нового об’єкта у список
void sozdan(Trist *&a, int n);//створення
void output(Trist *&a);//вивід на екран
void output_file(Trist *&a, int n);//вивід до файлу
void input_file(Trist *&a);//читання з файлу
Tool* pois(Trist *&a, char* nazv);//ф-ція пошуку
Tool* zadacha(Trist *&a,int godL,int godR);//виконання задачі
cout << "\n\n############################";
cout << "\n# 1 - Sozdanie bazi dannih #";
cout << "\n# 2 - Vivod na ekran #";
cout << "\n# 4 - Chtenie iz faila #";
cout << "\n# 6 - Redaktirovanie zapisi #";
cout << "\n# 7 - Vstavka novoi zapisi #";
cout << "\n# 8 - Udalenie zapisi #";
cout << "\n# 9 - Vipolnrnie zadachi #";
cout << "\n\n############################";
cout << "\n Vvedite nomer operatsii:";
cout << "\n Sozdanie tablizi dannih";
cout << "\n Tabliza dannih sozdana.";
cout << "\n Vivod na ekran zavershen.";
cout << "\n Vivod v fail uspeshno zavershen.";
cout << "\n Chtenie iz faila a.dat ";
cout << "\n Chtenie iz faila uspeshno zavershena.";
cout << "\n Vvedite kluch dlya poiska(nazvanie alboma): ";
if (n==NULL) cout << "\n Zapis ne naidena.";
cout << "\n Redaktirovanie zapisi ";
cout << "\n Vvedite nomer zapisi: ";
cout << "\n Redaktirovanie uspeshno zaversheno.";
cout << "\n Vstavka novoi zapisi ";
cout << "\n Vvedite tip novoy zapisi [0..2]: ";
cout << "\n Vstavka zapisi uspeshno zaversena.";
cout << "\n Vvedite nomer zapisi dlya udalenia: ";
if (q->left!=NULL) q->left->right = q->right;
if (q->right!=NULL) q->right->left = q->left;
cout << "\n Poisk obyekta s minimalnim kl-vom trekov v zadannom diapazone let";
cout << "\n Vvedite leviy predel poiska(god): ";
cout << "\n Vvedite praviy predel poiska(god): ";
if (n==NULL) cout << "\n Zapis ne naidena.";
cout << "\nVvedite tip zapisi [0..2]: ";
cout << "\nVvedite tip zapisi [0..2]: ";
ofstream file("a.dat",ios::out|ios::binary);
cerr << "\nOshibka vivoda v fail!\n";
file.write((char*)&(a->current->t),sizeof(a->current->t));
file.write(a->current->d->nazv,sizeof(a->current->d->nazv));
file.write((char*)&(trek),sizeof(trek));
file.write((char*)&(trek),sizeof(trek));
file.write((char*)&(time),sizeof(time));
file.write((char*)&(trek),sizeof(trek));
file.write((char*)&(time),sizeof(time));
file.write((char*)&(bonus),sizeof(bonus));
cerr << "\nOshibka chtenia faila!\n";
if (i==0) a=new Trist(t,0); else a->add(t,0);
file.read((char*)&(a->current->d->nazv),sizeof(a->current->d->nazv));
file.read((char*)&(trek),sizeof(trek));
file.read((char*)&(trek),sizeof(trek));
file.read((char*)&(time),sizeof(time));
file.read((char*)&(trek),sizeof(trek));
file.read((char*)&(time),sizeof(time));
file.read((char*)&(bonus),sizeof(bonus));
if (strcmp(n->d->nazv,nazv)==0) break;
Tool* zadacha(Trist *&a,int godL,int godR)

Название: Інформаційно-довідкова система 2
Раздел: Рефераты по информатике
Тип: курсовая работа
Добавлен 11:57:21 12 декабря 2010 Похожие работы
Просмотров: 13
Комментариев: 17
Оценило: 2 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Указ. на голову
Указ. на хвіст
Указ. на текущій

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Курсовая работа: Інформаційно-довідкова система 2
Курсовая работа по теме Экология и охрана труда
Реферат по теме Інститути державної влади Ізраїлю
Курсовая Работа Жилое Здание
3d Печать В Строительстве Магистерская Диссертация
Реферат: Розвиток фінансових ресурсів підприємства
Эссе На Тему Биотехнология
Эссе Про Одиночество
Реферат: Feminist Movement Essay Research Paper It was
Реферат: Анализ ассортимента и экспертиза качества спиртной продукции, вырабатываемых ОАО Валуйским лик
Бухгалтерский Учет Движения Основных Средств Курсовая Работа
Реферат: Лимфоцитарный хориоменингит. Скачать бесплатно и без регистрации
Реферат: Формирование профессионального самоопределения учащихся в условиях профориентационной работы
Курсовая Работа Бизнес План Детское Кафе
Реферат: Управління системою маркетингової діяльності на підприємтсві
Контрольная работа: Управленческий контроль
Реферат: Independent Work No1 Essay Research Paper Introduction
Дипломная работа: Организация и функционирование электронной почты в сети. Скачать бесплатно и без регистрации
Реферат: Религиозный фон романа Эрнеста Хемингуэя "Прощай, оружие!". Скачать бесплатно и без регистрации
Можно Ли Меняться Оставаясь Собой Сочинение
Эссе Байқауы 2022
Курсовая работа: Циклические и ациклические воздействии природной среды на антропоэкосистемы
Дипломная работа: Технологія і організація вантажних перевезень фанери з м. Рівне в Італію рухомим складом ТзОВ "Камаз-Транс-Сервіс"
Реферат: Взяття під варту - строки та порядок виконання

Report Page