Смекни!
smekni.com

Створення бази відеофільмів (стр. 1 из 6)

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

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

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

Кафедра «Інтелектуальних комп’ютерних систем»

КУРСОВА РОБОТА

Тема: «Створення бази відеофільмів»

Керівник роботи

ас. каф. ІКС

Кочуєва З.А

Виконавець

студентка групи ІФ-87

Леонт’єва А.В

Харків – 2009р.


ЗАВДАННЯ

на науково-дослідну курсову роботу

Тема: «Створення бази відеофільмів»

Короткий зміст роботи:

а) реферативна частина

Огляд літературних джерел з існуючих методів та алгоритмів рішення задачі створення бази відеофільмів

б) теоретична частина

Опис основних принципів об'єктно-орієнтованого програмування, основ алгоритмізації, типових середовищ програмування та особливостей мови програмування С++, розгляд основних методів рішення даної задачі та їх алгоритмів, опис обраного методу розв’язання задачі та його алгоритму експериментальна частина

Розробка програмного забеспечення рішення задачі створення бази відеофільмів

Дата видачі завдання: 5.10.08 Термін захисту: 30.12.08

Керівник курсової роботи: ас. каф. ІКС Кочуєва З. А.


РЕФЕРАТ

КР: 53 с., 10 рис., 7 источников, 2 приложения

Данная курсовая работа посвящена реализации создания базы видеофильмов. Программная реализация осуществлена на языке программирования C++ в среде C++Builder 6.

Курсовая работа состоит из введения, трех частей, заключения, списка литературы, содержащего 7 источников. Содержит 53 страницы, 10 рисунков, 2 приложения, введение, заключение. Во введении описывается современное состояние развития объектно-ориентированного программирования и предпосылки создания баз данных. В первой части описаны основные принципы объектно-ориентированного программирования, типичные среды программирования и особенности языка С++, основы алгоритмизации. Во второй части рассмотрен основной метод решения данной задачи. В третьей части приводится описание программы и результаты, получаемые пользователем при использовании данной программы. В заключении подводится итог проделанной работы и дается критический анализ полученных результатов. Приложение содержит текст программы на языке C++, который реализует создание базы видеофильмов.

Ключевые слова и выражения:

АЛГОРИТМ, C++ BUILDER6, БАЗА ДАННЫХ, СТРУКТУРЫ ДАННЫХ, ТИП, ФУНКЦИЯ, СТРУКТУРА.


РЕФЕРАТ

КР: 53 с., 10 мал., 7 джерел, 2 додатки

Дана курсова робота присвячена реалізації створенння бази відеофільмів. Програмна реалізація здійснена на мові програмування C++ в середовищі C++Builder 6.

Курсова робота складається з введення, трьох частин, висновку, списку літератури, що містить 7 джерел. Містить 53 сторінки, 10 малюнків, 2 додатки, введення, висновок. У введенні описується сучасний стан розвитку об’єктно-орієнтованого програмування та передумови створення баз даних. У першій частині описані основні принципи об'єктно-орієнтованого програмування, типові середовища програмування і особливості мови С++, основи алгоритмізації. У другій частині наведе основний метод рішення даної задачі. У третій частині приводиться опис програми і результати, одержані користувачем при використанні даної програми. У висновку підводиться підсумок виконаної роботи і дається критичний аналіз одержаних результатів. Додаток містить текст програми на мові C++, який реалізує створення бази відеофільмів.

Ключові слова і вирази

АЛГОРИТМ, C++ BUILDER6, БАЗА ДАНИХ, СТРУКТУРА ДАНИХ, МЕТОД, ТИП, ФУНКЦІЯ, СТРУКТУРА.


ABSTRACT

TP: 53 р., 10 pic., 7 sources, 2 appendixes

This term paper is devoted to realization of making the base of movies. Programmatic realization is carried out in programming C++ language in the environment C++Builder 6.

The term paper consists of introduction, three parts, conclusion, list of literature, containing 7 sources. Contains 53 pages, 10 pictures, 2 appendixes, introduction, conclusion. Modern development status of the object-oriented programming and pre-condition of creation of databases is described in introduction. Basic principles of the object-oriented programming, typical programming environments and features of the language С++, basis of algorithmisation, are described in the first part. The basic method of decision of this task is considered in the second part. In the third part is brought description over of the program and results got an user at the use of this program. In conclusion is worked out the total work do and the critical analysis of the got results is given. The appendix contsins a program text in language C++, which will realize making the base of movies.

Keywords and expressions:

ALGORITHM, C++ BUILDER6, DATABASE, DATA STRUCTURES, TYPE, FUNCTION, STRUCTURE.


ЗМІСТ

Вступ

1 Використання сучасних систем і мов програмування

1.1 Основні принципи об’єктно-орієнтованого програмування

1.2 Типові середовища програмування та особливості мови С++

1.2.1 Borland C++ Builder

1.2.2 Microsoft Visual C++

1.2.3 Мова програмування С++

1.3 Основи алгоритмізації

2 Розробка рішення задачі створення бази відеофілмів

2.1 Бази даних

2.1.1 Основні положення та моделі БД

2.1.2 Типи БД

2.1.3 Етапи проектування БД

2.1.4 Використання БД

2.2 Структури даних

2.3 Функції

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

3.1 Опис програмної реалізації бази відеофільмів

3.2 Результати, отримані користувачем при використанні програмного забезпечення

Висновок

Список літератури

Додаток А

Додаток Б


ВСТУП

Якісним кроком в розвитку методів структурного програмування став винахід об'єктно-орієнтованого програмування (мов SmallTalk, C++, Turbo Pascal і ін.). Програми стали будуватися з порівняно простих об'єктів, що складаються з даних і підпрограм їх обробки. Гнучкість об'єктів дозволила дуже просто пристосовувати їх для власних цілей, докладаючи для цього мінімум зусиль. Програмісти обзавелися готовими бібліотеками об'єктів, але, як і раніше, створення призначеного для користувача інтерфейсу вимагало силу-силенна часу і сил, особливо коли програма повинна була працювати під управлінням популярної операційної системи Windows і мати графічний призначений для користувача інтерфейс.

Знання про світ розвиваються з неймовірною швидкістю. Причиною тому є науково-технічний прогрес, заснований на полегшенні роботи та життєдіяльності людини та пошуку методів для розв’язання різноманітних задач. Прогрес базується на дослідженні, а будь-яке дослідження, в свою чергу, базується на використанні доступних даних. І у кожного фахівця існує свій, персональний "архів" довідкової інформації, який після машинної обробки та систематизації має вигляд бази даних.

Створення бази даних передбачає рішення цілого комплексу проблем, в тому числі розробку програмних, мовних, організаційних і технічних засобів, призначених для централізованого зберігання і колективного використання інформації.


1 ВИКОРИСТАННЯ СУЧАСНИХ СИСТЕМ І МОВ ПРОГРАМУВАННЯ

1.1 Основні принципи об’єктно-орієнтованого програмування

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

Першою мовою програмування, в якій були запропоновані принципи об'єктної орієнтованості, була Симула. У момент своєї появи (у 1967 році), ця мова програмування запропонувала справді революційні ідеї: об'єкти, класи, віртуальні методи і ін., проте це все не було сприйнято сучасниками як щось грандіозне. Однак, більшість концепцій була розвинена Аланом Кейем і Деном Інгаллсом в мові Smalltalk. Саме вона стала першою широко поширеною об'єктно-орієнтованою мовою програмування.

С++ додає до С об'єктно-орієнтовані можливості. Він запроваджує класи, які забезпечують три найважливіші властивості ООП:

1. Інкапсуляція;

2. Наслідування;

3. Поліморфізм.

Додаткові властивості корисні, та не обов'язкові.

Розглянемо сі ці властивості детальніше.

Інкапсуляція

Основним способом організації інформації в С++ є класи. На відміну від типу структура (struct) мови С, яка може складатися лише з полів і вкладених типів, клас (class) С++ може складатися з полів, вкладених типів і функцій-членів (member functions). Члени класу бувають публічними (відкритими, public), захищеними (protected) і власними (закритими, приватними, private). В С++ тип структура аналогічний типу клас, відмінність в тому, що за умовчанням члени і базові класи в структурі публічні, а в класі - власні.

З відкритими (публічними) членами класу можна робити зовні класу все, що завгодно. До закритих (приватних) членів не можна звертатися ззовні класу, щоб не порушити цілісність даних класу. Спроба такого звертання спричине помилку компіляції. До таких членів можуть звертвтися тільки функції-члени класу. Крім відкритих і закритих членів класу, можуть бути ще і захищені - це члени, доступні класу, що містить їх, його друзям, а також похідним від нього класам. Такий захист членів називається інкапсуляцією.

Використовуючи інкапсуляцію, автор класу може захистити свої дані від некоректного використання. Крім того, вона замислювалася для полегшення спільної розробки класів. Малося на увазі, що при зміні способу зберігання даних, якщо вони оголошені як захищені або власні, не вимагається відповідних змін в класах, які використовують змінений клас. Навіть оператор доступу operator [] може бути визначений як така стандартна функція.

Наслідування

Для створення класів з доданою функціональністю вводять наслвдування. Клас-наслідувач має поля і функції-члени базового класу, але не має права звертатися до власних (private) полів і функцій базового класу. У цьому і полягає різниця між власними і захищеними членами.

Клас-наслідувач може додавати свої поля і функції або перевизначати функції базового класу.

За умовчанням, конструктор спадкоємця без параметрів викликає конструктор базового класу, а потім конструктори нестатичних членів-даних, що є екземплярами класів. Деструкція працює в зворотном порядку. Інші конструктори доводиться визначати кожного раз наново. На щастя, це можна зробити викликом конструктора базового класу.