Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП_информатика_1курс_УляшевИИ_100800.doc
Скачиваний:
27
Добавлен:
28.10.2018
Размер:
1.9 Mб
Скачать

МИНОБРНАУКИ РОССИИ

УХТИНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА ИСТ

Курсовой проект

«Изучение динамических структур и их использование

при обработке данных »

Дисциплина:

«Информатика»

Выполнил студент группы ИСТ-10

Уляшев И.И.

Проверил ст. преподаватель кафедры ИСТ

Сочко С.С.

УХТА, 2011

Содержание

Содержание 2

1.Описание предметной области: 2

2.Постановка задачи: 3

3. Выбор структуры: 3

4.Описание структуры программы: 5

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

6.Протокол выполнения программы: 36

7.Заключение. 46

8. Список литературы: 46

1.Описание предметной области:

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

2.Постановка задачи:

Создать базу данных: Каталог ПО ПК, содержащий следующие сведения:

  • Категория программы,

  • Название программы,

  • Тип лицензии,

  • Операционная Система,

  • Язык интерфейса программы,

  • Разработчик программы,

  • Рейтинг программы.

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

3. Выбор структуры:

Для реализации поставленной задачи мною была выбрана динамическая структура дерево со списками.

Динамические структуры данных имеют широкую область применения. Они используются, когда требуется обеспечить изменение размеров структуры и количество входящих в нее элементов заранее не может быть известно.

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

Двоичное дерево – это упорядоченное дерево, каждая вершина которого имеет не более двух потомков, которые называются левым и правым поддеревом этой вершины корня. Часто для представления данных, среди которых идет поиск элементов по заданному ключу используют двоичное дерево, которое называется двоичным деревом поиска или сортированным деревом. Формируется это дерево по следующему правилу: ключевое поле левого поддерева всегда должно содержать значение меньше, чем в корне, а ключевое поле правого поддерева – значение больше или равное значению в корне.

Бинарное(двоичное) дерево поиска – одна из важнейших структур представления данных, так как основные операции этой структуры (поиск, вставка и удаление элемента) имеют логарифмическую эффективность Θ(Log2 N).

В данной программе используется именно такая структура - двоичное дерево поиска, так как она более эффективная.

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

Реализация древовидной структуры:

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

Данная структура выглядит следующим образом:

Корень дерева

поле INF - информационное поле,

поле NEXT - указатель на следующий элемент списка,

поле Left, Right – указатели дерева на левое и правое поддерево.