Курсовая работа: Информационная система начальника жилищно-эксплуатационной службы

– procedureReadVec – процедура чтения вектора данных из текстового файла.

– procedureWriteVec – процедура записи вектора данных из текстового файла.

2. Данные программы

В программе для хранения данных был спроектирован класс TVector в котором для хранения данных использовался вектор векторов FArr. Для хранения имен колонок использовался вектор FNames, описанный как array [1..100] of string. В программе были созданы 5 объектов класса TVector:

Kvart : TVector;

Scheme : TVector;

Gk : TVector;

People : TVector;

FlatAtr : TVector;

Имя массива Тип Размер в байтах
Kvart TVector 100*100*16+10100+8=170108
Scheme TVector 170108
Gk TVector 170108
People TVector 170108
FlatAtr TVector 170108

Кроме того, в программе для временных нужд объявляются переменные:

KPod , M , i , j , k, x , типа integer (каждая по 4 байта);

FileNameT типа string (200 байт);

Ft типа TextFile (460 байт);

FSGVector – векторссылоктипа TStringGrid (40 байт).

3. Логические структуры данных

Базовой структурой данного проекта является класс TVector в котором для хранения данных использовался вектор векторов FArr и организованы свойства и методы для доступа и обработки данных класса.

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

FArr : array [1..100] of TVarMas, где TVarMas = array [1..MaxN] of Variant;

Вектор (array) – это линейная структура данных (список) с элементами одинакового размера в которой адрес элемента однозначно определяется его номером.

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

Логическая схема структуры вектора векторов FArr:

0 1 2 100
1
2
3
100

Каждый элемент одного вектора занимает 16 байт памяти. Соответственно FArr будет занимать (100*100)*16=160000 байт.

Логическая схема структуры вектора имен FNames:

0 1 2 101
1
2
3
1 00

Каждый элемент вектора занимает 101 байт памяти. Соответственно вектор FNames будет занимать 100*101 =10100 байт.

4. Алгоритмы обработки основных структур

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

Быстрая сортировка (quicksort ), часто называемая qsort по имени реализации в стандартной библиотеке языка Си – широко известный алгоритм сортировки, разработанный английским Информатиком Чарльзом Хоаром. Один из быстрых известных универсальных алгоритмов сортировки массивов (в среднем О (n log n ) обменов при упорядочении n элементов), хотя и имеющий ряд недостатков.

Алгоритм

Быстрая сортировка использует стратегию «разделяй и властвуй». Шаги алгоритма таковы:

1. Выбираем в массиве некоторый элемент, который будем называть опорным элементом . С точки зрения корректности алгоритма выбор опорного элемента безразличен. С точки зрения повышения эффективности алгоритма выбираться должна медиана, но без дополнительных сведений о сортируемых данных её обычно невозможно получить. Известные стратегии: выбирать постоянно один и тот же элемент, например, средний или последний по положению; выбирать элемент со случайно выбранным индексом.

2. Операция разделения массива: реорганизуем массив таким образом, чтобы все элементы, меньшие или равные опорному элементу, оказались слева от него, а все элементы, большие опорного – справа от него. Обычный алгоритм операции:

К-во Просмотров: 679
Бесплатно скачать Курсовая работа: Информационная система начальника жилищно-эксплуатационной службы