Сортировка данных и реализация быстрого поиска в уже отсортированном массиве
Законы алгебры Буля и их применение для преобразования логических выражений. Расчет информационной емкости документов предметной области. Построение инфологической, реляционной и даталогической моделей. Применение методов поиска и сортировки данных.
Рубрика | Математика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 05.01.2013 |
Размер файла | 261,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
Под алгеброй в современной математике понимают множество объектов произвольной природы с определенными на них операциями и свойствами этих операций, даваемых в форме аксиом. Основные требования, предъявляемые к алгебре следующие. Операции алгебры должны быть применимы ко всем объектам множества. В результате выполнения операций должны получаться объекты той же природы, что и исходные. В этом случае говорят, что множество объектов замкнуто относительно операций. Операций в алгебре должно быть конечное число и каждая операция должна быть конечноместной и т.д. Прежде формального введения в булеву алгебру удобно познакомиться с неформальным изложением данного вопроса. Это означает, что необходимо рассмотреть различного рода понятия, определения и, конечно же, объекты булевой алгебры, возможные операции и их свойства.
Методы, разрабатываемые дискретной математикой, часто используются в различных направлениях информатики. Так, теоретическая информатика (или теоретическая кибернетика) использует математические методы для построения и изучения моделей обработки, передачи и использования информации. Объекты ее изучения - дискретные множества. Теоретическая информатика является как поставщиком задач, так и потребителем методов дискретной математики.
Достижения математической логики используются для анализа процессов переработки информации с помощью ЭВМ.
Теория автоматов разрабатывает методы, с помощью которых можно на основе моделей логического типа изучать процессы, протекающие в самой машине во время ее работы. Для работы на компьютере информацию представляют в дискретной форме, позволяющей переводить ее в программы, понятные ЭВМ. Ее теория опирается на булеву алгебру.
Теория информации изучает вид тех форм, в которых информация представляется в компьютере. Формализация любой информации, реально существующей в живой и неживой природе, происходит через компьютерное моделирование.
Дальнейшее развитие методов привело к появлению таких ветвей как имитационное моделирование, теория принятия решений, искусственный интеллект, информационные системы и т.д., что привело к индустриализации общества, ускорению научно-технического прогресса и процесса тотальной капитализации.
Все вышеперечисленное объясняет актуальность изучения тематики данной курсовой работы.
1. Законы алгебры Буля и их применение для преобразования логических выражений
Информация (данные, машинные команды и т. д.) в компьютере представлена в двоичной системе счисления, в которой используется две цифры - 0 и 1. Электрический сигнал, проходящий по электронным схемам и соединительным проводникам (шинам) компьютера, может принимать значения 1 (высокий уровень электрического напряжения) и 0 (низкий уровень электрического напряжения) и рассматривается как импульсный сигнал, который математически может быть описан в виде двоичной переменной, принимающей также значения 0 или 1. Для решения различных логических задач, например, связанных с анализом и синтезом цифровых схем и электронных блоков компьютера, широко используются логические функции и логические операции с двоичными переменными, которые называются также логическими переменными.
Алгебра логики (алгебра высказываний) -- раздел математической логики, в котором изучаются логические операции над высказываниями. Чаще всего предполагается (т. н. бинарная или двоичная логика, в отличие от, например, троичной логики), что высказывания могут быть только истинными или ложными.
Базовыми элементами, которыми оперирует алгебра логики, являются высказывания. Высказыванием является повествовательное предложение, которое формализуетнекоторое выражениемысли. Это утверждение, которому всегда можно поставить в соответствие одно из двух логических значений: ложь (0, ложно, false) или истина (1, истинно, true). Логическое высказывание принято обозначать заглавными латинскими буквами.
Таблица истинности - это таблица, описывающая логическую функцию (см. таблицу 1).
Под «логической функцией» в данном случае понимается функция, у которой значения переменных (параметров функции) и значение самой функции выражают логическую истинность.
Таблица 1 Таблица истинности
X |
у |
х |
х у |
х у |
х у |
х у |
|
0 |
0 |
1 |
0 |
0 |
1 |
1 |
|
0 |
1 |
1 |
0 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
1 |
0 |
0 |
|
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Понятие множества обычно принимается за одно из исходных (аксиоматических) понятий, то есть не сводимое к другим понятиям, а значит и не имеющее определения.Однако тяжело оперировать объектом, не имеющим определения. Одно из простых и понятных абстрактных определений дал Бертран Рассел - «Множество есть совокупность различных элементов, мыслимая как единое целое». Множество может быть замкнутым и незамкнутым, полным и пустым, упорядоченным и неупорядоченным, счётным и несчётным, конечным и бесконечным. Более того, как в наивной, так и в формальной теориях множеств любой объект обычно считается множеством.
Операция -- отображение, ставящее в соответствие одному или нескольким элементам множества (аргументам) другой элемент (значение). Термин «операция» как правило, применяется к арифметическим или логическим действиям, в отличие от термина «оператор», который чаще применяется к некоторым отображением множества на себя, имеющим замечательные свойства.В работе будут рассмотрены унарные и бинарные операции.
Унарной операцией или одноместной операцией на множестве M называется отображение множества в себя , которое каждому элементу множества M, называемому операндом, ставит в соответствие некоторый элемент того же множества, называемый результатом.
Высказывания строятся над множеством {B, , , , 0, 1}, где B -- непустое множество, над элементами которого определены три операции:
- - отрицание - унарная операция над суждениями, результатом которой является суждение (в известном смысле) «противоположное» исходному. Обозначается знаком ¬ перед или чертой над суждением. Синоним: логическое "НЕ".
- - конъюнкция - (от лат. conjunctio союз, связь) - логическая операция, по своему применению максимально приближённая к союзу "и". Синонимы: логическое "И", логическое умножение, иногда просто "И". Конъюнкция может быть бинарной операцией, то есть, иметь два операнда, тернарной операцией, т.е. иметь три операнда или n-арной операцией, т.е. иметь n операндов.
- - дизъюнкция -(лат. disjunctio - разобщение) логическая операция, по своему применению максимально приближённая к союзу «или» в смысле «или то, или это, или оба сразу». Синонимы: логическое «ИЛИ», включающее «ИЛИ», логическое сложение, иногда просто «ИЛИ».
- константы - логический ноль 0 и логическая единица 1.
Дизъюнкт -- пропозициональная формула, являющаяся дизъюнкцией одного или более литералов (например ).
Конъюнкт -- пропозициональная формула, являющаяся конъюнкцией одного или более литералов (например ).
Разобравшись с рядом терминов, теперь можно,опираясь на определение булевой алгебры,выделить различные логические аксиомы между логическими утверждениями.
Булевой алгебройназывается непустое множествоA с двумя бинарными операциями, , унарной операцией и двумя выделенными элементами: 0и 1такими, что для всех a, b и c из множества A верны следующие аксиомы:
- Ассоциативность - (от лат. associatio- соединение) - свойство любой операции , такое, что для неё выполняется равенство: для любых элементов .Например, для умножения:
.
В булевой алгебре:
- Коммутативность - (от позднелат. commutativus -- «меняющийся»), свойство переместительностибинарной операции , такое, что для нее выполняется равенство:
для любых элементов .
- Законы поглощения.
- Дистрибутивность - (от лат. distributivus - «распределительный»), также распределительность - свойство согласованности двух бинарных операций, определённых на одном и том же множестве.Говорят, что две бинарные операции + и Ч удовлетворяют свойству дистрибутивности, если для любых трех элементов :
- дистрибутивность слева;
- дистрибутивность справа.
Если операция Ч является коммутативной, то свойства дистрибутивности слева и справа совпадают.
- Дополнительность.
В математических обозначениях эти аксиомы записываются так:
Первые три аксиомы означают, что (A, , ) является решёткой.
Решётка, структура -- частично упорядоченное множество, в котором каждое двухэлементное подмножество имеет как точную верхнюю (sup), так и точную нижнюю (inf) грани. Отсюда вытекает существование этих граней для любых непустых конечных подмножеств.
Дистрибутивная решётка -- решетка, в которой справедливо тождество
(a + b)c = ac + bc
равносильное тождествам
ab + c = (a + c)(b + c)
и
(a + b)(a + c)(b + c) = ab + ac + bc
Дистрибутивные решётки характеризуются тем, что все их выпуклые подрешётки служат смежными классами конгруэнций. Всякая дистрибутивная решётка изоморфна решётке подмножеств (но не обязательно всех) некоторого множества. В дистрибутивных решётках для любого конечного множества I выполняются равенства
и
а также
и
где J(i) -- конечные множества, а Ц -- множество всех однозначных функций ?, ставящих в соответствие элементу i из I элемент ?(i) из J(i). В полной дистрибутивной решётке указанные равенства имеют смысл и в случае бесконечных множеств I и J(i). Однако справедливы они не всегда. Полные дистрибутивные решётки, удовлетворяющие последним двум тождествам для любых множеств I и J(i), называются вполне дистрибутивными.
Таким образом, булева алгебра может быть определена как дистрибутивная решётка, в которой выполнены две последние аксиомы. Структура, в которой выполняются все аксиомы, кроме предпоследней, называется псевдобулевой алгеброй.
1.1 Свойства и тождества булевой алгебры
Из аксиом видно, что наименьшим элементом является 0, наибольшим является 1, а дополнение ¬a любого элемента a однозначно определено. Для всех a и b из A верны также следующие равенства:
;
;
;
;
;
;
; ; дополнение 0 есть 1 и наоборот.
Законами или правилами де Моргана называются логические правила, связывающие пары дуальных логических операторов при помощи логического отрицания.
Огастес де Морган первоначально заметил, что в классической пропозициональной логике справедливы следующие соотношения:
not (P and Q) = (not P) or (not Q)
not (P or Q) = (not P) and (not Q)
Обычная запись этих законов в формальной логике:
или
в теории множеств:
или:
Если существует операция логического умножения двух и более элементов, операция «и» -(A&B), то для того, чтобы найти обратное от всего суждения ~(A&B), необходимо найти обратное от каждого элемента и объединить их операцией логического сложения, операцией «или» -- (~A+~B). Закон работает аналогично в обратном направлении: ~(A+B) = (~A&~B).
Применительно к нашим основным обозначениям:
; .
Инволюция -- преобразование, которое является обратным самому себе. Если P(a) -- инволюция, то
1. ;
2. ;
3. .
В связи с этим свойством: .
Правило Блейка-Порецкого:
; .
Идемпотентность означает свойство математического объекта, которое проявляется в том, что повторное действие над объектом не изменяет его:
; .
Правило склеивания:
; .
Принцип двойственности
В булевых алгебрах существуют двойственные утверждения, они либо одновременно верны, либо одновременно неверны. Именно, если в формуле, которая верна в некоторой булевой алгебре, поменять все конъюнкции на дизъюнкции, 0 на 1, ? на ? и наоборот, то получится формула, также истинная в этой булевой алгебре. Это следует из симметричности аксиом относительно таких замен.
1.2 Решение логических задач
Логические задачи обычно формулируются на естественном языке. В первую очередь их необходимо формализовать, то есть записать на языке алгебры высказываний. Полученные логические выражения необходимо упростить и проанализировать. Для этого иногда бывает необходимо построить таблицу истинности полученного логического выражения. Несложные задачи решаются путем логических рассуждений.
Пример
Условие задачи
В школе-новостройке в каждой из двух аудиторий может находиться либо кабинет информатики, либо кабинет физики. На дверях аудиторий повесили шутливые таблички. На первой повесили табличку «По крайней мере, в одной из этих аудиторий размешается кабинет информатики», а на второй аудитории -- табличку с надписью «Кабинет физики находится в другой аудитории». Проверяющему, который пришел в школу, известно только, что надписи на табличках либо обе истинны, либо обе ложны. Помогите проверяющему найти кабинет информатики.
Решение задачи логический реляционный поиск сортировка
Переведем условие задачи на язык логики высказываний. Так как в каждой из аудиторий может находиться кабинет информатики, то пусть: А = «В первой аудитории находится кабинет информатики»; B = «Во второй аудитории находится кабинет информатики».
Отрицания этих высказываний:
А= «В первой аудитории находится кабинет физики»; В = «Во второй аудитории находится кабинет физики».
Высказывание, содержащееся на табличке на двери первой аудитории, соответствует логическому выражению:
X = АВ
Высказывание, содержащееся на табличке на двери второй аудитории, соответствует логическому выражению:
У = А
Содержащееся в условии задачи утверждение о том, что надписи на табличках либо одновременно истинные, либо одновременно ложные в соответствии с законом исключенного третьего записывается следующим образом:
(X Y) (X Y) = 1.
Подставим вместо X и У соответствующие формулы:
(X Y) (X Y) = ((А В) А) ((А В) А)
Упростим сначала первое слагаемое. Всоответствии с законом дистрибутивности умножения относительно сложения:
(А В) А = А А В А
В соответствии с законом непротиворечия:
А А В А = 0 В А
Упростим теперь второе слагаемое. В соответствии с первым законом де Моргана и законом двойного отрицания:
(А В) А=АВА = ААВ
В соответствии с законом непротиворечия:
ААВ=0В= 0
В результате получаем:
(0 В А) 0 = В А
Полученное логическое выражение оказалось простым и поэтому его можно проанализировать без построения таблицы истинности. Для того чтобы выполнялось равенство ВА = 1,В и А должны быть равны 1, то есть соответствующие им высказывания истинны.
Ответ: В первой аудитории находится кабинет физики, а во второй -- кабинет информатики.
Знание алгебры логики, ее свойств и правил позволяет решать логические задачи любой сложности, а знание упрощения логических выражений уменьшают временные издержки на получение решения.
2. Практическая часть
2.1 Общая характеристика задачи
В предметной области «Изготовление деталей» ведется учет выработки продукции рабочими механического цеха. Для изготовления одной детали необходимо произвести несколько операций на разных видах оборудования. Расценка за выполнение одной и той же операции для разных деталей разная. Рабочий может выполнять несколько разных операций на протяжении одного рабочего дня.
Образцы справочных, нормативных и оперативных документов, используемых в предметной области, приведены ниже в таблицах.
Таблица 2.1 Штатное расписание
Номер цеха |
Номер участка |
Табельный номер |
ФИО рабочего |
Профессия |
|
2 |
1 |
1234 |
Фрезеровщик |
||
2 |
1 |
1235 |
Токарь |
||
2 |
2 |
1237 |
Токарь |
Таблица 2.2 Справочник деталей
Код товара |
Название детали |
|
013 |
Цилиндр |
|
207 |
Диск |
|
208 |
Вал |
Таблица 2.3 Расценки
Код операции |
Название операции |
Название детали |
Расценка (руб. за 1 деталь) |
|
20 |
Шлифование |
Диск |
31,50 |
|
26 |
Обтачивание |
Цилиндр |
23,00 |
|
22 |
Фрезерование |
Цилиндр |
42,00 |
|
20 |
Шлифование |
Цилиндр |
46,00 |
|
26 |
Обтачивание |
Вал |
15,50 |
Таблица 2.4 Выработка
Дата |
ФИО рабочего |
Название детали |
Название операции |
Кол-во сделанных деталей |
|
20.02.11 |
Цилиндр |
Обтачивание |
12 |
||
20.02.11 |
Цилиндр |
Шлифование |
6 |
||
20.02.11 |
Вал |
Обтачивание |
8 |
||
20.02.11 |
Диск |
Шлифование |
7 |
||
21.02.11 |
Цилиндр |
Фрезерование |
11 |
||
21.02.11 |
Вал |
Обтачивание |
10 |
||
21.02.11 |
Диск |
Шлифование |
5 |
||
21.02.11 |
Вал |
Обтачивание |
6 |
Предусматривается, что к создаваемой реляционной БД будут осуществляться запросы следующего содержания (конкретные значения в запросах могут меняться в зависимости от содержания полей записей):
а) выдать список ФИО рабочих, профессия которых - фрезеровщик;
б) выдать ФИО рабочих, которые обрабатывали деталь «цилиндр» в феврале текущего года;
в) увеличить расценку за выполнение операции с кодом 20 для детали 013 на 30 %.
2.2 Расчет информационной емкости документов предметной области
Для каждого документа перенумеруем его реквизиты и установим их значимость (максимальную длину реквизита в символах).
В таблицах2.5 - 2.8 приведены номера реквизитов и их максимально допустимая длина.
Таблица 2.5 Штатное расписание
P1 |
P2 |
P3 |
P4 |
P5 |
|
Номер цеха |
Номер участка |
Табельный номер |
ФИО рабочего |
Профессия |
|
1 |
1 |
4 |
100 |
50 |
|
2 |
1 |
1234 |
Иванов ИИ |
Фрезеровщик |
|
2 |
1 |
1235 |
Петров ПП |
Токарь |
|
2 |
2 |
1237 |
Сергеев СС |
Токарь |
Таблица 2.6 Справочник деталей
P1 |
P2 |
|
Код детали |
Название детали |
|
3 |
20 |
|
013 |
Цилиндр |
|
207 |
Диск |
|
208 |
Вал |
Таблица 2.7 Расценки
P1 |
P2 |
P3 |
P4 |
|
Код операции |
Название операции |
Название детали |
Расценка (руб. за 1 деталь) |
|
2 |
50 |
20 |
10 |
|
20 |
Шлифование |
Диск |
31,50 |
|
26 |
Обтачивание |
Цилиндр |
23,00 |
|
22 |
Фрезерование |
Цилиндр |
42,00 |
|
20 |
Шлифование |
Цилиндр |
46,00 |
|
26 |
Обтачивание |
Вал |
15,50 |
Таблица 2.8 Выработка
P1 |
P2 |
P3 |
P4 |
P5 |
|
Дата |
ФИО рабочего |
Название детали |
Название операции |
Кол-во сделанных деталей |
|
10 |
100 |
20 |
50 |
4 |
|
20.02.11 |
Сергеев СС |
Цилиндр |
Обтачивание |
12 |
|
20.02.11 |
Иванов ИИ |
Цилиндр |
Шлифование |
6 |
|
20.02.11 |
Петров ПП |
Вал |
Обтачивание |
8 |
|
20.02.11 |
Иванов ИИ |
Диск |
Шлифование |
7 |
|
21.02.11 |
Сергеев СС |
Цилиндр |
Фрезерование |
11 |
|
21.02.11 |
Сергеев СС |
Вал |
Обтачивание |
10 |
|
21.02.11 |
Иванов ИИ |
Диск |
Шлифование |
5 |
По формуле:
где
qij- количество символов в j-ом реквизите i-ого документа,
ki - число строк в i-ом документе,
m - количество реквизитов в документе,
n - количество рассматриваемых документов.
определим среднюю информационную емкость приведенных в варианте документов (среднее количество символов в документе) по формуле: 2219 / 4 = 554,75.
2.3 Построениеинфологической, реляционной и даталогической моделей предметной области
На основе анализа информационных процессов, происходящих в предметной области, выделим объекты предметной области и их атрибуты, выявим связи (отношения) между объектами.
Построим инфологическую модель предметной области в виде IDEF1X- диаграммы (рис. 2.1).
В таблице 2.9 приведена структура входящих в инфологическую модель предметной области атрибутов.
Рисунок 2.1 - Инфологическая модель предметной области
Таблица 2.9 Описание структуры атрибутов
№ п/п |
Название атрибута |
Идентификатор атрибута |
Формат атрибута |
Вхождение в первичный ключ |
|||
тип |
длина |
точность |
|||||
1 |
Табельный номер |
Табельный_номер |
С |
4 |
+ |
||
2 |
Номер цеха |
Номер_цеха |
С |
1 |
|||
3 |
Номер участка |
Номер_участка |
С |
1 |
|||
4 |
ФИО рабочего |
ФИО_рабочего |
C |
100 |
|||
5 |
Профессия |
Профессия |
С |
50 |
|||
6 |
Код детали |
Код_детали |
Ч |
3 |
+ |
||
7 |
Название детали |
Название_детали |
С |
20 |
|||
8 |
Название операции |
Название_операции |
С |
50 |
|||
9 |
Расценка |
Расценка |
Деньги |
10 |
2 |
||
10 |
Дата |
Дата |
Дата |
10 |
Краткая |
||
11 |
Количество сделанных деталей |
Количество_деталей |
Ч |
4 |
|||
12 |
Код операции |
Код_операции |
Ч |
2 |
Свойства отношений между объектами описаны в таблице 2.10
Таблица 2.10 Свойства между объектами предметной области
№ п/п |
Название отношения |
Объекты, связанные отношением |
Тип отношения |
||
Название объекта 1 |
Название объекта 2 |
||||
1. |
Хранит информацию о рабочем из |
Выработка |
Штатное расписание |
Идентифицирующая связь |
|
2. |
Хранит информацию о деталях из |
Выработка |
Расценки |
Идентифицирующая связь |
|
3. |
Хранит информацию об операциях |
Выработка |
Расценки |
Неидентифицирующая связь |
Полученную инфологическую модель предметной области представим в виде совокупности схем отношений реляционной модели данных с указанием ключевых атрибутов.
ШТАТНОЕ РАСПИСАНИЕ: (Табельный номер, Номер цеха, Номер участка, ФИО рабочего, Профессия)
ВЫРАБОТКА: (ФИО рабочего, Название детали, Название операции, Количество сделанных деталей)
РАСЦЕНКИ: (Код детали, Код операции, Название операции, Расценка)
СПРАВОЧНИК ДЕТАЛЕЙ: (Код детали, Название детали)
Для реляционной инфологической модели базы данных построим даталогическую модель базы данных в виде взаимосвязанных файлов (рис. 2.2).
Рисунок 2.2 - Даталогическая модель предметной области
В соответствии с даталогической моделью базы данных сформируем таблицы реляционной базы данных и заполним их данными в соответствии с заданием (таблицы 2.11 - 2.14).
Таблица 2.11 Штатное расписание
P1 |
P2 |
P3 |
P4 |
P5 |
|
Номер цеха |
Номер участка |
Табельный номер |
ФИО рабочего |
Профессия |
|
1 |
1 |
4 |
100 |
50 |
|
2 |
1 |
1234 |
Иванов ИИ |
Фрезеровщик |
|
2 |
1 |
1235 |
Петров ПП |
Токарь |
|
2 |
2 |
1237 |
Сергеев СС |
Токарь |
Таблица 2.12 Справочник деталей
P1 |
P2 |
|
Код детали |
Название детали |
|
3 |
20 |
|
013 |
Цилиндр |
|
207 |
Диск |
|
208 |
Вал |
Таблица 2.13 Расценки
P1 |
P2 |
P3 |
P4 |
|
Код операции |
Название операции |
Название детали |
Расценка (руб. за 1 деталь) |
|
2 |
50 |
20 |
10 |
|
20 |
Шлифование |
Диск |
31,50 |
|
26 |
Обтачивание |
Цилиндр |
23,00 |
|
22 |
Фрезерование |
Цилиндр |
42,00 |
|
20 |
Шлифование |
Цилиндр |
46,00 |
|
26 |
Обтачивание |
Вал |
15,50 |
Таблица 2.14 Выработка
P1 |
P2 |
P3 |
P4 |
P5 |
|
Дата |
ФИО рабочего |
Название детали |
Название операции |
Кол-во сделанных деталей |
|
10 |
100 |
20 |
50 |
4 |
|
20.02.11 |
Сергеев СС |
Цилиндр |
Обтачивание |
12 |
|
20.02.11 |
Иванов ИИ |
Цилиндр |
Шлифование |
6 |
|
20.02.11 |
Петров ПП |
Вал |
Обтачивание |
8 |
|
20.02.11 |
Иванов ИИ |
Диск |
Шлифование |
7 |
|
21.02.11 |
Сергеев СС |
Цилиндр |
Фрезерование |
11 |
|
21.02.11 |
Сергеев СС |
Вал |
Обтачивание |
10 |
|
21.02.11 |
Иванов ИИ |
Диск |
Шлифование |
5 |
|
21.02.11 |
Петров ПП |
Вал |
Обтачивание |
6 |
2.4 Формирование информационных запросов к реляционной базе данных с помощью операций реляционной алгебры
Запрос 1
Текст запроса: выдать список ФИО рабочих, профессия которых - фрезеровщик.
Запрос:
selectФИО
fromШтатное_расписание
whereПрофессия= `Фрезеровщик'
Запрос 2
Текст запроса: выдать ФИО рабочих, которые обрабатывали деталь «цилиндр» в феврале текущего года.
SelectФИО
FromВыработка
WhereНазвание_детали = `Цилиндр'andMonth(Дата)=2
Запрос 3
Текст запроса: увеличить расценку за выполнение операции с кодом 20 для детали 013 на 30 %.
UpdateРасценки
SetРасценка=Расценка * 1,3
WhereКод_операции = 20and
Название_детали =
(SelectНазвание_детали
FromСправочник_деталей
WhereКод_детали = 13)
2.5 Применение методов поиска и сортировки данных
Таблица 2.15 Массив кодов товаров
Код деталей |
152 |
092 |
044 |
148 |
052 |
048 |
144 |
121 |
110 |
025 |
125 |
Задан массив кодов деталей (таблица 2.15). Отсортировать массив следующими методами сортировки: пузырька, турниров, деревьев сравнений. Рассмотрим процесс сортировки исходного массива методом пузырька. Промежуточные проходы и окончательный результат приведены в таблице 2.16.
Таблица 2.16 Сортировка методом пузырька
Исходный |
152 |
092 |
044 |
148 |
052 |
048 |
144 |
121 |
110 |
025 |
125 |
|
1 |
092 |
044 |
148 |
052 |
048 |
144 |
121 |
110 |
025 |
125 |
152 |
|
2 |
044 |
092 |
148 |
052 |
048 |
144 |
121 |
110 |
025 |
125 |
152 |
|
3 |
044 |
092 |
052 |
048 |
144 |
121 |
110 |
025 |
125 |
148 |
152 |
|
4 |
044 |
052 |
048 |
092 |
144 |
121 |
110 |
025 |
125 |
148 |
152 |
|
5 |
044 |
048 |
052 |
092 |
144 |
121 |
110 |
025 |
125 |
148 |
152 |
|
6 |
044 |
048 |
052 |
092 |
121 |
110 |
025 |
125 |
144 |
148 |
152 |
|
7 |
044 |
048 |
052 |
092 |
110 |
025 |
121 |
125 |
144 |
148 |
152 |
|
8 |
044 |
048 |
052 |
092 |
025 |
110 |
121 |
125 |
144 |
148 |
152 |
|
9 |
044 |
048 |
052 |
025 |
092 |
110 |
121 |
125 |
144 |
148 |
152 |
|
10 |
044 |
048 |
025 |
052 |
092 |
110 |
121 |
125 |
144 |
148 |
152 |
|
11 |
044 |
025 |
048 |
052 |
092 |
110 |
121 |
125 |
144 |
148 |
152 |
|
12 |
025 |
044 |
048 |
052 |
092 |
110 |
121 |
125 |
144 |
148 |
152 |
Тот же массив исходных данных отсортируем методом турниров. Построим дерево сортировки. Промежуточные проходы и окончательный результат приведены на рисунке2.3(а-к).
а)
б)
в)
г)
д)
е)
ж)
з)
и)
к)
Рисунок 2.3 - Турнирная сортировка
Тот же массив исходных данных отсортируем с помощью дерева сравнений. Построенное дерево сравнений и полученный с помощью обхода бинарного дерева симметричным методом упорядоченный массив приведены на рисунке 2.4.
Рисунок 2.4 - Отсортированное бинарное дерево
Для каждого метода сортировки посчитаем число выполняемых операций сравнения и заполним таблицу 2.17.
(log2 10 = 3.321928094887362? 3,32)
Таблица 2.17 Число операций сравнения во время сортировок
Метод |
Tmax |
Число выполненных сравнений S |
Д=Tmax-S |
|
пузырька |
31 |
Д=72-31=41 |
||
турниров |
? 40 |
51 |
Д=|40-51|=11 |
|
деревьев сравнений |
2 |
Д=8-2=6 |
Из результатов таблицы 2.17 можно сделать вывод о предпочтительности метода сортировки с помощью дерева сравнений.
В отсортированном массиве произведем поиск элемента 26914 методами простого перебора, двоичного (дихотомического) поиска и деревьев сравнений. Подсчитаем число операций сравнения, выполненных в процессе поиска, и заполним таблицу 2.18.
Таблица 2.18 Число операций сравнения во время поиска
Метод |
Тср |
Число выполненных сравнений S |
||
простого перебора |
3 |
1 |
||
двоичного поиска |
3 |
|1 - 3| = 2 |
||
деревьев сравнений |
1,39log2 n = 1,39 |
2 |
? 0,61 |
Для полученной отсортированной последовательности наиболее эффективным методом алгоритма поиска является метод деревьев сравнений.
Заключение
В ходе проделанной работы были изучены основные понятия информатики, относящиеся к обширной тематике, включающей как форматы представления числовой информации в компьютере и построение моделей баз данных, так и элементы дискретной математики, такие, как графы, деревья сравнений и способы работы с ними.
По результатам практической части сортировка с помощью деревьев сравнения показала наилучший результат. Для реализации быстрого поиска в уже отсортированном массиве данных лучше использовать поиск с помощью деревьев сравнения, поскольку он хорошо сокращает количество операций сравнения, и, следовательно,увеличивает скорость выполнения операции поиска. Это очень актуально для гигантских баз данных. Метод пузырька в сортировке в очередной раз доказал рутинность и повышенные временные затраты для его применения. Однако для поиска показал тот же результат, что и бинарный поиск. Это можно объяснить тем, что искомый элемент находился в начале сортированной последовательности. К тому же элементов поиска было немного. При увеличении элементов последовательности и поиска результата во второй половине массива алгоритмы бинарного поиска и дерева сравнений выходят на передовые позиции, а метод пузырька в больших массивах не применяется.
Для создания моделей и диаграмм были освоены и использованы пакетыDiaи AllFusionErwinDataModeler.
Для создания тестовой базы данных и проверки выполнения SQL-запросов использовалась СУБД MicrosoftAccess.
Пояснительная записка была создана в текстовом процессоре пакета MicrosoftOffice - Word.
Список литературы
1. Иванов Б.Н. Дискретная математика. Алгоритмы и программы. Расширенный курс. М.: Известия, 2011, 512 с.
2. Когаловский М.Р. Энциклопедия технологий баз данных -- М.: Финансы и статистика, 2002. -- 800 с. -- ISBN 5-279-02276-4.
3. Коннолли Т., Бегг К. Базы данных. Проектирование, реализацияисопровождение. Теорияипрактика = Database Systems: A Practical Approach to Design, Implementation, and Management -- 3-еизд. -- М.: Вильямс, 2003. -- 1436 с. -- ISBN 0-201-70857-4.
4. Кузнецов С. Д. Основы баз данных -- 2-е изд. -- М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007. -- 484 с. -- ISBN 978-5-94774-736-2.
5. Яшин В.Н. Информатика: аппаратные средства персонального компьютера. М.: ИНФРА-М, 2008.
Размещено на Allbest.ru
Подобные документы
Основы формальной логики Аристотеля. Понятия инверсии, конъюнкции и дизъюнкции. Основные законы алгебры логики. Основные законы, позволяющие производить тождественные преобразования логических выражений. Равносильные преобразования логических формул.
презентация [67,8 K], добавлен 23.12.2012Системы цифровой обработки информации. Понятие алгебры Буля. Обозначения логических операций: дизъюнкция, конъюнкция, инверсия, импликация, эквивалентность. Законы и тождества алгебры Буля. Логические основы ЭВМ. Преобразование структурных формул.
презентация [554,8 K], добавлен 11.10.2014Элементы алгебры, логические операции над высказываниями. Получение логических следствий из данных формул и посылок для данных логических следствий. Необходимые и достаточные условия. Анализ и синтез релейно-контактных схем. Логические следствия и формы.
дипломная работа [295,2 K], добавлен 11.12.2010Операции над логическими высказываниями: булевы функции и выражение одних таких зависимостей через другие. Пропозициональные формулы и некоторые законы логики высказываний. Перевод выражений естественного языка на символическую речь алгебры логики.
контрольная работа [83,3 K], добавлен 26.04.2011Основная функционально полная система логических функций. Законы алгебры логики в основной функционально полной системе и их следствия. Переместительный и распределительный законы. Закон инверсии (правило Де Моргана). Системы логических функций.
реферат [40,5 K], добавлен 17.11.2008Информация, с которой имеют дело различного рода автоматизированные информационные системы, обычно называется данными, а сами такие системы - автоматизированными системами обработки данных. Различают исходные, промежуточные и выходные данные.
реферат [38,7 K], добавлен 19.05.2006Основные этапы развития булевой алгебры и применение минимальных форм булевых многочленов к решению задач, в частности, с помощью метода Куайна - Мак-Класки. Применение минимизирования логических форм при проектировании устройств цифровой электроники.
курсовая работа [58,6 K], добавлен 24.05.2009Предпосылки развития алгебры множеств. Основы силлогистики и соотношение между множествами. Применение и типы жергонновых отношений. Понятие пустого множества и универсума. Построение диаграмм Эйлера и обоснование законов транзитивности и контрапозиции.
контрольная работа [369,0 K], добавлен 03.09.2010Основные аксиомы и тождества алгебры логики. Аналитическая форма представления булевых функций. Элементарные функции алгебры логики. Функции алгебры логики одного аргумента и формы ее реализации. Свойства, особенности и виды логических операций.
реферат [63,3 K], добавлен 06.12.2010Представление с помощью кругов Эйлера множественного выражения. Законы и свойства алгебры множеств, упрощение выражений. Система функций, ее возможные базисы. Минимизирование булевой функции. Метод Квайна – Мак-Класки. Определение хроматического числа.
контрольная работа [375,6 K], добавлен 17.01.2011