Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Volodin.doc
Скачиваний:
5
Добавлен:
07.09.2019
Размер:
686.59 Кб
Скачать

2.2. Построение бз.

Для построения БЗ мы использовали следующую VBA- программу:

Option Base 1

Const Npr = 30

Const np = 5

Const nz = 8

Dim v(np) As String

Dim z(nz) As String

Dim k As Integer

Dim p(2) As String

Dim s(2) As String

Dim bs As String

Dim Q As String

Dim Aw As String

Dim E(Npr) As String

Dim T(Npr) As String

Public OK As Boolean

Public Sub Input_Data()

Dim found As Boolean

found = True

Dim found1 As Boolean

found1 = False

v(1) = "Сельское хозяйство": v(2) = "Домоводство": v(3) = "Юриспруденция":

v(4) = "Спорт": v(5) = "Восточная культура"

z(1) = "Есть": z(2) = "Нет"

z(3) = "<100": z(4) = "100+": z(5) = "over 9000"

z(6) = "Создать рубрику": z(7) = "Не создавать рубрику": z(8) = "Библиотека - провал"

BZ

With UserForm1

For j = 1 To np

.ComboBox1.AddItem v(j)

Next j

.ComboBox1.Value = v(1)

For j = 1 To nz - 6

.ComboBox2.AddItem z(j)

Next j

.ComboBox2.Value = z(1)

For j = 3 To nz - 3

.ComboBox5.AddItem z(j)

Next j

.ComboBox5.Value = z(3)

.Show

k = 2

p(1) = .ComboBox1.Value

s(1) = .ComboBox2.Value

bs = "And"

p(2) = .ComboBox1.Value

s(2) = .ComboBox5.Value

End With

Select Case k

Case 1

Q = p(1) + "_" + s(1)

Case 2

Q = p(1) + "_" + s(1) + "_" + bs + "_" + p(2) + "_" + s(2)

Case Else

MsgBox ("Ошибка в числе переменных")

End Select

While found = True

For i = 1 To Npr

If Q = E(i) Then

Q = T(i)

Aw = T(i)

found = True

found1 = True

GoTo m1

End If

Next i

found = False

m1:

Wend

If Not found1 Then

Aw = "ответ не найден"

End If

MsgBox ("ответ БЗ:'" + Aw + "'")

UserForm1.ComboBox1.Clear

UserForm1.ComboBox2.Clear

UserForm1.ComboBox5.Clear

End Sub

Public Sub BZ()

E(1) = v(1) + "_" + z(1) + "_And_" + v(1) + "_" + z(3)

T(1) = v(1) + "_" + z(7)

E(2) = v(1) + "_" + z(1) + "_And_" + v(1) + "_" + z(4)

T(2) = v(1) + "_" + z(7)

E(3) = v(1) + "_" + z(1) + "_And_" + v(1) + "_" + z(5)

T(3) = v(1) + "_" + z(7)

E(4) = v(1) + "_" + z(2) + "_And_" + v(1) + "_" + z(3)

T(4) = v(1) + "_" + z(7)

E(5) = v(1) + "_" + z(2) + "_And_" + v(1) + "_" + z(4)

T(5) = v(1) + "_" + z(6)

E(6) = v(1) + "_" + z(2) + "_And_" + v(1) + "_" + z(5)

T(6) = z(8)

E(7) = v(2) + "_" + z(1) + "_And_" + v(2) + "_" + z(3)

T(7) = v(2) + "_" + z(7)

E(8) = v(2) + "_" + z(1) + "_And_" + v(2) + "_" + z(4)

T(8) = v(2) + "_" + z(7)

E(9) = v(2) + "_" + z(1) + "_And_" + v(2) + "_" + z(5)

T(9) = v(2) + "_" + z(7)

E(10) = v(2) + "_" + z(2) + "_And_" + v(2) + "_" + z(3)

T(10) = v(2) + "_" + z(7)

E(11) = v(2) + "_" + z(2) + "_And_" + v(2) + "_" + z(4)

T(11) = v(2) + "_" + z(6)

E(12) = v(2) + "_" + z(2) + "_And_" + v(2) + "_" + z(5)

T(12) = z(8)

E(13) = v(3) + "_" + z(1) + "_And_" + v(3) + "_" + z(3)

T(13) = v(3) + "_" + z(7)

E(14) = v(3) + "_" + z(1) + "_And_" + v(3) + "_" + z(4)

T(14) = v(3) + "_" + z(7)

E(15) = v(3) + "_" + z(1) + "_And_" + v(3) + "_" + z(5)

T(15) = v(3) + "_" + z(7)

E(16) = v(3) + "_" + z(2) + "_And_" + v(3) + "_" + z(3)

T(16) = v(3) + "_" + z(7)

E(17) = v(3) + "_" + z(2) + "_And_" + v(3) + "_" + z(4)

T(17) = v(3) + "_" + z(6)

E(18) = v(3) + "_" + z(2) + "_And_" + v(3) + "_" + z(5)

T(18) = z(8)

E(19) = v(4) + "_" + z(1) + "_And_" + v(4) + "_" + z(3)

T(19) = v(4) + "_" + z(7)

E(20) = v(4) + "_" + z(1) + "_And_" + v(4) + "_" + z(4)

T(20) = v(4) + "_" + z(7)

E(21) = v(4) + "_" + z(1) + "_And_" + v(4) + "_" + z(5)

T(21) = v(4) + "_" + z(7)

E(22) = v(4) + "_" + z(2) + "_And_" + v(4) + "_" + z(3)

T(22) = v(4) + "_" + z(7)

E(23) = v(4) + "_" + z(2) + "_And_" + v(4) + "_" + z(4)

T(23) = v(4) + "_" + z(6)

E(24) = v(4) + "_" + z(2) + "_And_" + v(4) + "_" + z(5)

T(24) = z(8)

E(25) = v(5) + "_" + z(1) + "_And_" + v(5) + "_" + z(3)

T(25) = v(5) + "_" + z(7)

E(26) = v(5) + "_" + z(1) + "_And_" + v(5) + "_" + z(4)

T(26) = v(5) + "_" + z(7)

E(27) = v(5) + "_" + z(1) + "_And_" + v(5) + "_" + z(5)

T(27) = v(5) + "_" + z(7)

E(28) = v(5) + "_" + z(2) + "_And_" + v(5) + "_" + z(3)

T(28) = v(5) + "_" + z(7)

E(29) = v(5) + "_" + z(2) + "_And_" + v(5) + "_" + z(4)

T(29) = v(5) + "_" + z(6)

E(30) = v(5) + "_" + z(2) + "_And_" + v(5) + "_" + z(5)

T(30) = z(8)

End Sub

Управление системой осуществляется с помощью формы