Создание базы данных компьютеров

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    55,89 Кб
  • Опубликовано:
    2014-06-22
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Создание базы данных компьютеров

Оглавление

Введение

. Общая характеристика работы

.1 Актуальность работы

.2 Цель работы

.3 Задачи работы

. Классы

. Структуры

. Стандартная библиотека шаблонов

. Контейнеры

. Описание глобальных переменных подпрограммы

. Листинг программы

Заключение

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

Введение

Раньше, до того, как распространение получили первые ЭВМ, рабочий персонал испытывал трудности с хранением информацией о товарах, качеством обработки данной информации. С внедрением в торгово-промышленную структуру первых ЭВМ одновременно появились и программы, систематизирующие и ускоряющие работу и учёт товаров. Эти программы являются базами данных, в которых и происходит хранение всех данных о товарах. Современное программное обеспечение позволяет пользователям хранить огромные объёмы информации о продукции, вводить в базу данных значения введённые с клавиатуры, удалять любую строку по желанию пользователя, просматривать все записи, хранящиеся в базе данных, выводить количество всех записей на экран, легко и быстро находить нужный товар по необходимым параметрам, без сложной работы с документами производить быструю надбавку в процентном соотношении на нужный товар. Подобный программный продукт широко используется в большинстве современных сетей крупных магазинов и торговых центров.

База данных - представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины. База данных "Компьютер" предоставляет возможность пользователю хранить и обрабатывать сведения о компьютерах.

Задачи работы: реализовать программу в виде класса, используя для хранения информации контейнеры стандартной библиотеки шаблонов (STL) языка C++. Программа должна включать следующие функции:

Создание новой базы данных;

Вывод информации о всех компьютерах;

Добавление в контейнер;

Удаление элементов контейнера;

Замены элементов контейнера;

Поиск по контейнеру по заданному критерию.

Запись о компьютере представляет собой структуру, с полями:

база компьютер поиск библиотека

Код товара

Произво-дитель

Тип процессора

Частота работы

Объём  ОЗУ

Объём жёсткого диска

Объём памяти видеокарты

Стои-мосnь

Коли-чество


1. Общая характеристика работы

.1 Актуальность работы

Актуальность программного продукта «база данных» заключается в востребованности баз данных, хранящих информацию в памяти и предоставляющих пользователю широкий спектр возможностей по обработке данной информации. Разработанная на языке программирования высокого уровня C++, программа использует принципы объектно-ориентированного программирования и структурный подход к решению поставленных задач, обладает удобным интерфейсом, способностью к изменению под другие типы задач.

.2 Цель работы

Целью данной курсовой работы является создание базы данных компьютеров, изучение алгоритмов, используемых при проектировании программы.

.2 Задачи работы

. Изучить теоретический материал по теме «Объектно-ориентированное программирование», а также практические особенности проектирования программы.

. Реализовать программу в виде класса, используя для хранения информации контейнеры стандартной библиотеки шаблонов (STL) языка C++(с помощью стандартной библиотеки шаблонов).

. Оформить результаты выполнения курсовой работы в соответствии с предъявляемыми требованиями.

2. Классы

Класс - составной тип данных, элементами которого являются функции и переменные. В основу понятия класс положен тот факт, что «над объектами можно совершать различные операции». Свойства объектов описываются с помощью полей классов, а действия над объектами описываются с помощью функций, которые называются методами класса. Класс имеет имя, состоит из полей, называемых членами класса и функций - методов класса.

Объекты - конкретное представление абстракции, имеющее свои свойства и методы. Созданные объекты на основе одного класса называются экземплярами этого класса. Эти объекты могут иметь различное поведение, свойства, но все равно будут являться объектами одного класса. В ООП существует три основных принципа построения классов:

Инкапсуляция - это свойство, позволяющее объединить в классе и данные, и методы, работающие с ними и скрыть детали реализации от пользователя.

Наследование - это свойство, позволяющее создать новый класс-потомок на основе уже существующего, при этом все характеристики класса родителя присваиваются классу-потомку.

Полиморфизм - свойство классов, позволяющее использовать объекты классов с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

Пример инкапсуляции в С++:A

{:a, b; //данные открытого интерфейса

int ReturnSomething(); //метод открытого интерфейса:Aa, Ab; //скрытые данныеDoSomething(); //скрытый метод

};

Класс А инкапсулирует свойства Aa, Ab и метод DoSomething, представляя внешний интерфейс ReturnSomething, a, b.

В наследовании класс-наследник реализует спецификацию уже существующего класса (базовый класс). Это позволяет обращаться с объектами класса-наследника точно так же, как с объектами базового класса.

Существуют два типа наследования.

В простом наследовании класс, от которого произошло наследование, называется базовым или родительским. Классы, которые произошли от базового, называются потомками, наследниками или производными классами.

В некоторых языках используются абстрактные классы. Абстрактный класс - это класс, содержащий хотя бы один абстрактный метод, он описан в программе, имеет поля, методы и не может использоваться для непосредственного создания объекта. То есть от абстрактного класса можно только наследовать. Объекты создаются только на основе производных классов, наследованных от абстрактного. Например, абстрактным классом может быть базовый класс «сотрудник вуза», от которого наследуются классы «аспирант», «профессор» и т. д. Так как производные классы имеют общие поля и функции (например, поле «год рождения»), то эти члены класса могут быть описаны в базовом классе. В программе создаются объекты на основе классов «аспирант», «профессор», но нет смысла создавать объект на основе класса «сотрудник вуза».

При множественном наследовании у класса может быть более одного предка. В этом случае класс наследует методы всех предков. Множественное наследование реализовано в C++.

Множественное наследование - потенциальный источник ошибок, которые могут возникнуть из-за наличия одинаковых имен методов в предках. В языках, которые позиционируются как наследники C++ (Java, C# и др.), от множественного наследования было решено отказаться в пользу интерфейсов. Практически всегда можно обойтись без использования данного механизма. Однако, если такая необходимость все-таки возникла, то, для разрешения конфликтов использования наследованных методов с одинаковыми именами, возможно, например, применить операцию расширения видимости - «::» - для вызова конкретного метода конкретного родителя.

Попытка решения проблемы наличия одинаковых имен методов в предках была предпринята в языке Эйфель, в котором при описании нового класса необходимо явно указывать импортируемые члены каждого из наследуемых классов и их именование в дочернем классе.

Большинство современных объектно-ориентированных языков программирования (C#, Java, Delphi и др.) поддерживают возможность одновременно наследоваться от класса-предка и реализовать методы нескольких интерфейсов одним и тем же классом. Этот механизм позволяет во многом заменить множественное наследование - методы интерфейсов необходимо переопределять явно, что исключает ошибки при наследовании функциональности одинаковых методов различных классов-предков.

Пример наследования в C++:A{ //базовый класс

};

class B : public A{ //public наследование

};

class C : protected A{ //protected наследование

};

class Z : private A{ //private наследование

В C++ существует три типа наследования: public, protected, private. Спецификаторы доступа членов базового класса меняются в потомках следующим образом.

Если класс объявлен как базовый для другого класса со спецификатором доступа public, тогда public члены базового класса доступны как public члены производного класса, protected члены базового класса доступны как protected члены производного класса.

Если класс объявлен как базовый для другого класса со спецификатором доступа protected, тогда public и protected члены базового класса доступны как protected члены производного класса.

Если класс объявлен как базовый для другого класса со спецификатором доступа private, тогда public и protected члены базового класса доступны как private члены производного класса.

Одним из основных преимуществ public-наследования является то, что указатель на классы-наследники может быть неявно преобразован в указатель на базовый класс, то есть для примера выше можно написать:

* a = new B();

Язык программирования поддерживает полиморфизм, если классы с одинаковой спецификацией могут иметь различную реализацию - например, реализация класса может быть изменена в процессе наследования.

Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество реализаций».

Полиморфизм позволяет писать более абстрактные программы и повысить коэффициент повторного использования кода. Общие свойства объектов объединяются в систему, которую могут называть по-разному - интерфейс, класс. Общность имеет внешнее и внутреннее выражение:

внешняя общность проявляется как одинаковый набор методов с одинаковыми именами и сигнатурами (именами методов, типами аргументов и их количеством);

внутренняя общность - одинаковая функциональность методов. Её можно описать интуитивно или выразить в виде строгих законов, правил, которым должны подчиняться методы. Возможность приписывать разную функциональность одному методу (функции, операции) называется перегрузкой метода (перегрузкой функций, перегрузкой операций).

В объектно-ориентированных языках класс является абстрактным типом данных. Полиморфизм реализуется с помощью наследования классов и виртуальных функций. Класс-потомок наследует сигнатуры методов класса-родителя, а реализация, в результате переопределения метода, этих методов может быть другой, соответствующей специфике класса-потомка. Другие функции могут работать с объектом как с экземпляром класса-родителя, но если при этом объект на самом деле является экземпляром класса-потомка, то во время исполнения будет вызван метод, переопределенный в классе-потомке. Это называется поздним связыванием.

Класс-потомок сам может быть родителем. Это позволяет строить сложные схемы наследования- древовидные или сетевидные. [1[,[2]

Абстрактные (или чисто виртуальные) методы не имеют реализации вообще (на самом деле некоторые языки, например C++, допускают реализацию абстрактных методов в родительском классе). Они специально предназначены для наследования. Их реализация должна быть определена в классах-потомках.

Пример полиморфизма в С++:ClassOne {:num;:(){num=0;};func(){num++; cout << num << "\n";};

};ClassTwo : public ClassOne {:func(){num--; cout << num << "\n";};

};main(){*One = new ClassOne;*Two = new ClassTwo;>func(); // Оригинальный метод>func(); } // Полиморфный метод

3. Структуры

Структурой в языке C называется совокупность логически связанных переменных различных типов, сгруппированных под одним именем для удобства дальнейшей обработки.

Структура - это способ связать воедино данные разных типов и создать пользовательский тип данных.

Структура - тип данных, задаваемый пользователем. В общем случае при работе со структурами следует выделить четыре момента:

объявление и определение типа структуры,

объявление структурной переменной,

инициализация структурной переменной,

использование структурной переменной.

Определение типа структуры представляется в видеID

{

<тип> <имя 1-го элемента>;

<тип> <имя 2-го элемента>;

…………

<тип> <имя последнего элемента>;

};

Определение типа структуры начинается с ключевого слова struct и содержит список объявлений, заключенных в фигурные скобки. За словом struct следует имя типа, называемое тегом структуры (tag - ярлык, этикетка). Элементы списка объявлений называются членами структуры или полями. Каждый элемент списка имеет уникальное для данного структурного типа имя. Однако следует заметить, что одни и те же имена полей могут быть использованы в различных структурных типах.

Определение типа структуры представляет собой шаблон (template), предназначенный для создания структурных переменных.

Объявление переменной структурного типа имеет следующий вид:ID var1. [3]

4. Стандартная библиотека шаблонов

Стандартная библиотека шаблонов (STL) - набор согласованных обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++.

Стандартная библиотека шаблонов до включения в стандарт C++ <#"785745.files/image001.gif">. Добавление-удаление элемента в конец vector занимает амортизированное время, та же операция в начале или середине vector - . Стандартная быстрая сортировка <#"785745.files/image003.gif">. Поиск элемента перебором <#"785745.files/image002.gif">. Существует специализация шаблона vector для типа bool <#"785745.files/image002.gif">. В любом месте контейнера вставка и удаление производятся очень быстро - за .

 

 

deque

Дэк <#"785745.files/image001.gif">. Реализован в виде двусвязанного списка <#"785745.files/image004.gif">

Заключение

В современном мире создание баз данных очень востребовано. Группировка материалов и их хранение в специально созданной программе в памяти компьютера облегчает процесс работы с информацией. Ввиду многочисленных плюсов базы данных сегодня широко распространены, а значит и актуален вопрос защиты баз данных от любых негативных последствий.

Написанная мною программа «компьютер» написана в духе стандартных программ баз данных. Она обладает функцией ввод, обработки и поиска данных в базе. Также программа включает в себя следующие процедуры: создание новой базы данных, просмотр существующей базы данных, редактирование данных, их добавление и удаление, поиск записей.

В ходе проведённой работы мною были изучены основы объектно-ориентированного программирования.

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

Р. Лафоре. Объектно-ориентированное программирование в С++. М, 2011 [1]

Голицына О.Л., Максимов Н.В., Партыка Т.Л., Попов И.И. Информационные технологии 2008

Шаллоуей А. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию. М, 2010

Похожие работы на - Создание базы данных компьютеров

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!