- •Введение
- •1. Анализ отдела дистанционного образования сумгу
- •1.1 Организация дистанционного образования в СумГу
- •1.2 Общая характеристика процесса обучения
- •1.3.Выводы по главе 1
- •2.Выбор метода для описания и оценки деятельности студента
- •2.1.Анализ методов описания и оценки функционирования человеко-машинных систем
- •2.2.Функционально-структурная теория эрготехнических систем
- •2.3. Язык описания функциональных сетей как средство формализации деятельности модели интеллектуального агента
- •2.4.Выводы по главе 2
- •3. Программный комплекс для моделирования деятельности интеллектуального агента
- •3.1. Принципы и общая схема функционирования интеллектуального агента
- •3.2.Описание информационной технологии оценки деятельности модели интеллектуального агента
- •3.3.Моделирование элементов деятельности пользователя с использованием модели интеллектуального агента
- •Список литературы
- •Приложение а. Информационные модели изучения учебных модулей
- •Приложение б. Сравнительный анализ методов описания и оценки процессов функционирования человеко-машинных систем
- •Приложение в. Типовые функциональные единицы.
- •Приложение г. Типовые функциональные структуры.
- •Приложение д. Листинг программы
- •Приложение е. Инструкция пользователя
- •Приложение ж. Научная работа
- •Приложение з
Приложение в. Типовые функциональные единицы.
Таблица В.1- Типовые функциональные единицы
Наименование |
Условное обозначение |
Рабочий |
|
Функциональный контроль |
|
Приложение г. Типовые функциональные структуры.
Таблица-Г.1. Типовые функциональные структуры.
Содержание типовой функциональной структуры (ТФС) |
Схема ТФС |
Показатель |
Расчетная формула |
1. Последователь-ное выполнение рабочих операций, RR |
|
Вероятность безошибочного выполнения операции |
|
Математическое ожидание времени выполнения операции (трудоемкости, стоимости) |
|
||
Дисперсия времени выполнения операции (трудоемкости, стоимости) |
|
||
2.Цикловая функциональная схема "Рабочая операция с контролем функционирования без ограничения на количество циклов”, RK |
|
Вероятность безошибочного выполнения операции |
|
Математическое ожидание времени выполнения операции (трудоемкости, стоимости) |
|
||
Дисперсия времени выполнения операции (трудоемкости, стоимости) |
|
Приложение д. Листинг программы
Форма UserForm1:
Private Sub CommandButton1_Click()
Dim i As Integer
Sheets("Исходные_данные").Select
If (Cells(1, 1).Value = 0) Then
i = 2
Else
If (Cells(1, 1).Value > 0) Then
i = 2 + Cells(1, 1).Value
End If
End If
If (Cells(1, i).Value = vbNullString) Then
Cells(1, i).Value = TextBox12.Value
Cells(2, i).Value = TextBox1.Value
Cells(3, i).Value = TextBox2.Value
Cells(4, i).Value = TextBox3.Value
Cells(5, i).Value = TextBox4.Value
Cells(6, i).Value = TextBox5.Value
Cells(7, i).Value = TextBox6.Value
Cells(8, i).Value = TextBox7.Value
Cells(9, i).Value = TextBox8.Value
Cells(10, i).Value = TextBox9.Value
Cells(11, i).Value = TextBox10.Value
Cells(12, i).Value = TextBox11.Value
Cells(13, i).Value = TextBox13.Value
Cells(1, 1).Value = Cells(1, 1).Value + 1
i = i + 1
End If
End Sub
Форма UserForm2:
Private Sub ComboBox2_Change()
Dim j As Integer
If ComboBox2.Value = "Низкая" Then
ComboBox3.Enabled = True
If ComboBox3.ListCount = 5 Then
For j = 1 To 5
ComboBox3.RemoveItem 0
Next j
End If
For j = 1 To 4
ComboBox3.AddItem j
Next j
End If
If ComboBox2.Value = "Средняя" Or ComboBox2.Value = "Высокая" Then
ComboBox3.Enabled = True
If ComboBox3.ListCount = 5 Then
For j = 1 To 5
ComboBox3.RemoveItem 0
Next j
Else
If ComboBox3.ListCount = 4 Then
For j = 1 To 4
ComboBox3.RemoveItem 0
Next j
End If
End If
For j = 1 To 5
ComboBox3.AddItem j
Next j
End If
End Sub
Private Sub CommandButton1_Click()
Dim m, n, upper, higher, st, j, i, tr, dir As Integer
Dim sqrdis, mat, dis As Double
'------Предварительная очистка данных для графика begin------
Sheets("Графики_с_учетом_В(св)").Select
Columns("A:A").Select
Selection.ClearContents
Columns("B:B").Select
Selection.ClearContents
Cells(1, 1).Value = "Директивное время"
Cells(1, 2).Value = "Вероятность успешного выполнения"
'------Предварительная очистка данных для графика end------
If (ComboBox1.Value = vbNullString Or ComboBox2.Value = vbNullString Or ComboBox3.Value = vbNullString Or TextBox1.Value = vbNullString Or TextBox2.Value = vbNullString Or TextBox3.Value = vbNullString) Then
MsgBox "Не все поля заполнены.", vbOKOnly, "Уведомление"
Else
Sheets("Результаты").Select
tr = "ИСТИНА"
n = ComboBox1.ListIndex + 1
m = ComboBox3.ListIndex + 1
If ComboBox2.Value = "Низкая" Then
mat = Cells(n * 4 + 1, m + 2).Value
dis = Cells(n * 4 + 2, m + 2).Value
Else
If ComboBox2.Value = "Средняя" Then
mat = Cells(n * 4 + 1, m + 6).Value
dis = Cells(n * 4 + 2, m + 6).Value
Else
If ComboBox2.Value = "Высокая" Then
mat = Cells(n * 4 + 1, m + 11).Value
dis = Cells(n * 4 + 2, m + 11).Value
End If
End If
End If
sqrdis = Sqr(dis)
Sheets("Графики_с_учетом_В(св)").Select
j = 2
upper = TextBox1.Value
higher = TextBox2.Value
st = TextBox3.Value
For i = upper To higher Step st
Cells(j, 1).Value = i
Cells(j, 2).FormulaLocal = "=НОРМРАСП(" & Cells(j, 1).Value & ";" & mat & ";" & sqrdis & ";" & tr & ")"
j = j + 1
Next i
CommandButton3.Enabled = True
End If
End Sub
Private Sub CommandButton2_Click()
'------Предварительная очистка данных для графика begin------
Sheets("Графики_с_учетом_В(св)").Select
Columns("A:A").Select
Selection.ClearContents
Columns("B:B").Select
Selection.ClearContents
Cells(1, 1).Value = "Директивное время"
Cells(1, 2).Value = "Вероятность своевременного выполнения"
'------Предварительная очистка данных для графика end------
End Sub
Private Sub CommandButton3_Click()
Dim j, k As Integer
Sheets("Графики_с_учетом_В(св)").Select
j = 2
k = 2
For i = 2 To 9999
If (Cells(j, 1).Value <> vbNullString) Then
j = j + 1
End If
Next i
For i = 2 To 9999
If (Cells(k, 2).Value <> vbNullString) Then
k = k + 1
End If
Next i
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Range("B2:B" & j - 1)
ActiveChart.SeriesCollection(1).XValues = _
"='Графики_с_учетом_В(св)'!$A$2:$A$" & k - 1
ActiveChart.SeriesCollection(1).Name = "=""Директивное время (мин.)"""
ActiveChart.ChartTitle.Text = "Зависимость своевременного изучения модуля от времени"
CommandButton3.Enabled = False
End Sub
Форма UserForm3:
Private Sub CommandButton2_Click()
UserForm1.Show
End Sub
Private Sub CommandButton3_Click()
UserForm4.ComboBox2.AddItem "Низкая"
UserForm4.ComboBox2.AddItem "Средняя"
UserForm4.ComboBox2.AddItem "Высокая"
UserForm5.Show
End Sub
Private Sub CommandButton4_Click()
Dim i, g, j, st As Integer
Sheets("Исходные_данные").Select
j = 2
For i = 2 To 9999
If (Cells(1, j).Value <> vbNullString) Then
j = j + 1
End If
Next i
Cells(1, 1).Value = j - 2
g = Cells(1, 1).Value
st = Cells(1, 1).Value
For i = 1 To st
UserForm2.ComboBox1.AddItem Cells(1, 1 + i).Value
Next i
UserForm2.ComboBox2.AddItem "Низкая"
UserForm2.ComboBox2.AddItem "Средняя"
UserForm2.ComboBox2.AddItem "Высокая"
UserForm2.Show
End Sub
Форма UserForm4:
Private Sub ComboBox3_Change()
End Sub
Private Sub CommandButton1_Click()
Dim B0n, B0s, B0v, B0, Btemp, Mtemp, Dtemp, Bmax, Bpe, Mpe, Ml, Mln, Mls, Mlv, Dl, B_n, M_n, D_n, B_s, M_s, D_s, B_v, M_v, D_v As Double
Dim K10, K01, B1n, B1s, B1v, K11, K00, Mxpn, Mxps, Mxpv, Dxp, Mxk, Dxk, result As Double
Dim i, k, d, z, x, kol, g, st, prevg, calc, mas(5) As Integer
Dim p As String
Dim ma(5), ot(5), sv(5), temp, targ, min, max, ko(5), discs(5), discv(5) As Double
Dim ii, jj As Integer
Sheets("Исходные_данные").Select
st = ComboBox1.ListIndex + 2
'--------Проверка количества посчитанных студентов begin--------
Sheets("Результаты").Select
calc = 0
For i = 4 To 9999 Step 4
If (Cells(i, 1).Value <> vbNullString) Then
calc = calc + 1
End If
Next i
'--------Проверка количества посчитанных студентов end--------
'--------Проверка наличия указанного студента begin--------
For i = 4 To calc * 4 Step 4
If (Cells(i, 1).Value <> ComboBox1.Value) Then
Else
If (Cells(i, 1).Value = ComboBox1.Value) Then
calc = i / 4 - 1
Exit For
Exit Sub
End If
End If
Next i
'--------Проверка наличия указанного студента end--------
'--------Считка исходных данных begin--------
Sheets("Исходные_данные").Select
B1n = Cells(2, st)
B1s = Cells(3, st)
B1v = Cells(4, st)
K11 = Cells(5, st)
K00 = Cells(6, st)
Mxpn = Cells(7, st)
Mxps = Cells(8, st)
Mxpv = Cells(9, st)
Dxp = Cells(10, st)
Mxk = Cells(11, st)
Dxk = Cells(12, st)
d = Cells(13, st).Value
K10 = 1 - K11
K01 = 1 - K00
i = 1
k = 3
p = "ИСТИНА"
'--------Считка исходных данных end--------
'--------Предварительное форматирование ячеек begin--------
Sheets("Исходные_данные").Select
Range("A100:P103").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Результаты").Select
Cells((calc + 1) * 4, 1).Select
ActiveSheet.Paste
'--------Предварительное форматирование ячеек end--------
Sheets("Результаты").Select
Cells((calc + 1) * 4, 1).Value = ComboBox1.Value
Cells((calc + 1) * 4, 2).Value = "B"
Cells((calc + 1) * 4 + 1, 2).Value = "M"
Cells((calc + 1) * 4 + 2, 2).Value = "D"
Cells((calc + 1) * 4 + 3, 2).Value = "B(св)"
'--------Модель 1 begin--------
'--------Низкая мотивация begin--------
Cells((calc + 1) * 4 + 0, 3).Select
B_n = B1n ^ 3
ActiveCell = B_n
Cells((calc + 1) * 4 + 1, 3).Select
M_n = Mxpn * 3
ActiveCell = M_n
Cells((calc + 1) * 4 + 2, 3).Select
D_n = Dxp * 3
ActiveCell = D_n
x = Cells((calc + 1) * 4 + 1, 3).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 3).Value)
Cells((calc + 1) * 4 + 3, 3).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Низкая мотивация end--------
'--------Средняя мотивация begin--------
Cells((calc + 1) * 4 + 0, 7).Select
B_s = (B1n ^ 3) * (B1s ^ 3)
ActiveCell = B_s
Cells((calc + 1) * 4 + 1, 7).Select
M_s = Mxpn * 3 + Mxps * 3
ActiveCell = M_s
Cells((calc + 1) * 4 + 2, 7).Select
D_s = Dxp * 6
ActiveCell = D_s
x = Cells((calc + 1) * 4 + 1, 7).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 7).Value)
Cells((calc + 1) * 4 + 3, 7).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Средняя мотивация end--------
'--------Высокая мотивация begin--------
Cells((calc + 1) * 4 + 0, 12).Select
B_v = (B1n ^ 3) * (B1s ^ 3) * (B1v ^ 3)
ActiveCell = B_v
Cells((calc + 1) * 4 + 1, 12).Select
M_v = Mxpn * 3 + Mxps * 3 + Mxpv * 3
ActiveCell = M_v
Cells((calc + 1) * 4 + 2, 12).Select
D_v = Dxp * 9
ActiveCell = D_v
x = Cells((calc + 1) * 4 + 1, 12).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 12).Value)
Cells((calc + 1) * 4 + 3, 12).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Высокая мотивация end--------
'--------Модель 1 end--------
'--------Модель 2 begin--------
'--------Низкая мотивация begin--------
Cells((calc + 1) * 4 + 0, 4).Select
B0 = 1 - (B1n ^ 3)
ActiveCell = B_n * K11 * (1 / (1 - (B_n * K10 + B0 * K00)))
Cells((calc + 1) * 4 + 1, 4).Select
Mpe = Mxpn * 3
Ml = 1 / (1 - (B1n * K10 + B0 * K00))
ActiveCell = (Mpe + Mxk) * Ml
Cells((calc + 1) * 4 + 2, 4).Select
Dpe = Dxp * 3
Dl = (B1n * K10 + (1 - B1n) * K00) / ((1 - (B1n * K10 + (1 - B1n) * K00)) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk) ^ 2) + (Dpe + Dxk) * Ml
x = Cells((calc + 1) * 4 + 1, 4).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 4).Value)
Cells((calc + 1) * 4 + 3, 4).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Низкая мотивация end--------
'--------Средняя мотивация begin--------
Cells((calc + 1) * 4 + 0, 8).Select
Bpe = B1n * B1s
B0 = 1 - Bpe
ActiveCell = (Bpe * K11 * (1 / (1 - (Bpe * K10 + B0 * K00)))) ^ 3
Cells((calc + 1) * 4 + 1, 8).Select
Mpe = Mxpn + Mxps
Ml = 1 / (1 - (Bpe * K10 + B0 * K00))
ActiveCell = (Mpe + Mxk) * Ml * 3
Cells((calc + 1) * 4 + 2, 8).Select
Dpe = Dxp * 2
Dl = (Bpe * K10 + B0 * K00) / ((1 - (Bpe * K10 + B0 * K00)) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk) ^ 2) + (Dpe + Dxk) * Ml
x = Cells((calc + 1) * 4 + 1, 8).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 8).Value)
Cells((calc + 1) * 4 + 3, 8).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Средняя мотивация end--------
'--------Высокая мотивация begin--------
Cells((calc + 1) * 4 + 0, 13).Select
Bpe = B1n * B1s * B1v
B0 = 1 - Bpe
ActiveCell = (Bpe * K11 * (1 / (1 - (Bpe * K10 + B0 * K00)))) ^ 3
Cells((calc + 1) * 4 + 1, 13).Select
Mpe = Mxpn + Mxps + Mxpk
Ml = 1 / (1 - (Bpe * K10 + B0 * K00))
ActiveCell = (Mpe + Mxk) * Ml * 3
Cells((calc + 1) * 4 + 2, 13).Select
Dpe = Dxp * 3
Dl = (Bpe * K10 + B0 * K00) / ((1 - (Bpe * K10 + B0 * K00)) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk) ^ 2) + (Dpe + Dxk) * Ml
x = Cells((calc + 1) * 4 + 1, 13).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 13).Value)
Cells((calc + 1) * 4 + 3, 13).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Высокая мотивация end--------
'--------Модель 2 end--------
'--------Модель 3 begin--------
'--------Низкая мотивация begin--------
Cells((calc + 1) * 4 + 0, 5).Select
B0 = 1 - B1n
ActiveCell = B1n * K11 * (1 / (1 - (B1n * K10 + B0 * K00)))
Cells((calc + 1) * 4 + 1, 5).Select
Ml = 1 / (1 - (B1n * K10 + B0 * K00))
ActiveCell = (Mxpn + Mxk) * Ml * 3
Cells((calc + 1) * 4 + 2, 5).Select
Dl = (B1n * K10 + B0 * K00) / ((1 - (B1n * K10 + B0 * K00)) ^ 2)
ActiveCell = Dl * ((Mxpn + Mxk) ^ 2) + (Dxp + Dxk) * Ml
x = Cells((calc + 1) * 4 + 1, 5).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 5).Value)
Cells((calc + 1) * 4 + 3, 5).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Низкая мотивация end--------
'--------Средняя мотивация begin--------
Cells((calc + 1) * 4 + 0, 8).Select
Bpe = ActiveCell
B0 = 1 - Bpe
Cells((calc + 1) * 4 + 1, 8).Select
Mpe = ActiveCell
Cells((calc + 1) * 4 + 2, 8).Select
Dpe = ActiveCell
Cells((calc + 1) * 4 + 0, 9).Select
ActiveCell = Bpe * K11 * (1 / (1 - (Bpe * K10 + B0 * K00)))
Cells((calc + 1) * 4 + 1, 9).Select
Ml = 1 / (1 - (Bpe * K10 + B0 * K00))
ActiveCell = (Mpe + Mxk) * Ml
Cells((calc + 1) * 4 + 2, 9).Select
Dl = (Bpe * K10 + B0 * K00) / ((1 - (Bpe * K10 + B0 * K00)) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk) ^ 2) + (Dpe + Dxk) * Ml
x = Cells((calc + 1) * 4 + 1, 9).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 9).Value)
Cells((calc + 1) * 4 + 3, 9).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Средняя мотивация end--------
'--------Высокая мотивация begin--------
Cells((calc + 1) * 4 + 0, 13).Select
Bpe = ActiveCell
B0 = 1 - Bpe
Cells((calc + 1) * 4 + 1, 13).Select
Mpe = ActiveCell
Cells((calc + 1) * 4 + 2, 13).Select
Dpe = ActiveCell
Cells((calc + 1) * 4 + 0, 14).Select
ActiveCell = Bpe * K11 * (1 / (1 - (Bpe * K10 + B0 * K00)))
Cells((calc + 1) * 4 + 1, 14).Select
Ml = 1 / (1 - (Bpe * K10 + B0 * K00))
ActiveCell = (Mpe + Mxk) * Ml
Cells((calc + 1) * 4 + 2, 14).Select
Dl = (Bpe * K10 + B0 * K00) / ((1 - (Bpe * K10 + B0 * K00)) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk) ^ 2) + (Dpe + Dxk) * Ml
x = Cells((calc + 1) * 4 + 1, 14).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 14).Value)
Cells((calc + 1) * 4 + 3, 14).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Высокая мотивация end--------
'--------Модель 3 end--------
'--------Модель 4 begin--------
'--------Низкая мотивация begin--------
Cells((calc + 1) * 4 + 0, 5).Select
Bpe = ActiveCell
B0 = 1 - Bpe
Cells((calc + 1) * 4 + 1, 5).Select
Mpe = ActiveCell
Cells((calc + 1) * 4 + 2, 5).Select
Dpe = ActiveCell
Cells((calc + 1) * 4 + 0, 6).Select
ActiveCell = Bpe * K11 * (1 / (1 - (Bpe * K10 + B0 * K00)))
Cells((calc + 1) * 4 + 1, 6).Select
Ml = 1 / (1 - (Bpe * K10 + B0 * K00))
ActiveCell = (Mpe + Mxk) * Ml
Cells((calc + 1) * 4 + 2, 6).Select
Dl = (Bpe * K10 + B0 * K00) / ((1 - (Bpe * K10 + B0 * K00)) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk) ^ 2) + (Dpe + Dxk) * Ml
x = Cells((calc + 1) * 4 + 1, 6).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 6).Value)
Cells((calc + 1) * 4 + 3, 6).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Низкая мотивация end--------
'--------Средняя мотивация begin--------
Cells((calc + 1) * 4 + 0, 10).Select
B0n = 1 - B1n
B0s = 1 - B1s
Bpe = (B1n * K11 * (1 / (1 - (B1n * K10 + B0n * K00)))) * (B1s * K11 * (1 / (1 - (B1s * K10 + B0s * K00))))
B0 = 1 - Bpe
ActiveCell = (Bpe * K11 * (1 / (1 - (Bpe * K10 + B0 * K00)))) ^ 3
Cells((calc + 1) * 4 + 1, 10).Select
Mln = 1 / (1 - (B1n * K10 + (1 - B1n) * K00))
Mls = 1 / (1 - (B1s * K10 + (1 - B1s) * K00))
Mpe = (Mxpn + Mxk) * Mln + (Mxps + Mxk) * Mls
Ml = 1 / (1 - (Bpe * K10 + B0 * K00))
ActiveCell = (Mpe + Mxk) * Ml * 3
Cells((calc + 1) * 4 + 2, 10).Select
Dl = ((B1n * B1s) * K10 + (1 - (B1n * B1s)) * K00) / ((1 - ((B1n * B1s) * K10 + (1 - (B1n * B1s)) * K00)) ^ 2)
Dpe = (Dl * ((Mxpn + Mxk) ^ 2) + (Dxp + Dxk) * Mln) + (Dl * ((Mxps + Mxk) ^ 2) + (Dxp + Dxk) * Mls)
Dl = (Bpe * K10 + B0 * K00) / ((1 - (Bpe * K10 + B0 * K00)) ^ 2)
ActiveCell = (Dl * ((Mpe + Mxk) ^ 2) + (Dpe + Dxk) * Ml) * 3
x = Cells((calc + 1) * 4 + 1, 10).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 10).Value)
Cells((calc + 1) * 4 + 3, 10).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Средняя мотивация end--------
'--------Высокая мотивация begin--------
Cells((calc + 1) * 4 + 0, 15).Select
B0n = 1 - B1n
B0s = 1 - B1s
B0v = 1 - B1v
Bpe = (B1n * K11 * (1 / (1 - (B1n * K10 + B0n * K00)))) * (B1s * K11 * (1 / (1 - (B1s * K10 + B0s * K00)))) * (B1v * K11 * (1 / (1 - (B1v * K10 + B0v * K00))))
B0 = 1 - Bpe
ActiveCell = (Bpe * K11 * (1 / (1 - (Bpe * K10 + B0 * K00)))) ^ 3
Cells((calc + 1) * 4 + 1, 15).Select
Mln = 1 / (1 - (B1n * K10 + (1 - B1n) * K00))
Mls = 1 / (1 - (B1s * K10 + (1 - B1s) * K00))
Mlv = 1 / (1 - (B1v * K10 + (1 - B1v) * K00))
Mpe = (Mxpn + Mxk) * Mln + (Mxps + Mxk) * Mls + (Mxpv + Mxk) * Mlv
Ml = 1 / (1 - (Bpe * K10 + B0 * K00))
ActiveCell = (Mpe + Mxk) * Ml * 3
Cells((calc + 1) * 4 + 2, 15).Select
Dl = ((B1n * B1s * B1v) * K10 + (1 - (B1n * B1s * B1v)) * K00) / ((1 - ((B1n * B1s * B1v) * K10 + (1 - (B1n * B1s * B1v)) * K00)) ^ 2)
Dpe = (Dl * ((Mxp + Mxk) ^ 2) + (Dxp + Dxk) * Ml) * 3
Dl = (Bpe * K10 + B0 * K00) / ((1 - (Bpe * K10 + B0 * K00)) ^ 2)
ActiveCell = (Dl * ((Mpe + Mxk) ^ 2) + (Dpe + Dxk) * Ml) * 3
x = Cells((calc + 1) * 4 + 1, 15).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 15).Value)
Cells((calc + 1) * 4 + 3, 15).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Высокая мотивация end--------
'--------Модель 4 end--------
'--------Модель 5 begin--------
'--------Средняя мотивация begin--------
Cells((calc + 1) * 4 + 0, 10).Select
Bpe = ActiveCell
B0 = 1 - Bpe
Cells((calc + 1) * 4 + 1, 10).Select
Mpe = ActiveCell
Cells((calc + 1) * 4 + 2, 10).Select
Dpe = ActiveCell
Cells((calc + 1) * 4 + 0, 11).Select
ActiveCell = (Bpe * K11 * (1 / (1 - (Bpe * K10 + B0 * K00)))) ^ 3
Cells((calc + 1) * 4 + 1, 11).Select
Ml = 1 / (1 - (Bpe * K10 + B0 * K00))
ActiveCell = (Mpe + Mxk) * Ml
Cells((calc + 1) * 4 + 2, 11).Select
Dl = ((B1n * B1s) * K10 + (1 - (B1n * B1s)) * K00) / ((1 - ((B1n * B1s) * K10 + (1 - (B1n * B1s)) * K00)) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk) ^ 2) + (Dpe + Dxk) * Ml
x = Cells((calc + 1) * 4 + 1, 11).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 11).Value)
Cells((calc + 1) * 4 + 3, 11).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Средняя мотивация end--------
'--------Высокая мотивация begin--------
Cells((calc + 1) * 4 + 0, 15).Select
Bpe = ActiveCell
B0 = 1 - Bpe
Cells((calc + 1) * 4 + 1, 15).Select
Mpe = ActiveCell
Cells((calc + 1) * 4 + 2, 15).Select
Dpe = ActiveCell
Cells((calc + 1) * 4 + 0, 16).Select
ActiveCell = (Bpe * K11 * (1 / (1 - (Bpe * K10 + B0 * K00)))) ^ 3
Cells((calc + 1) * 4 + 1, 16).Select
Ml = 1 / (1 - (Bpe * K10 + B0 * K00))
ActiveCell = (Mpe + Mxk) * Ml
Cells((calc + 1) * 4 + 2, 16).Select
Dl = ((B1n * B1s * B1v) * K10 + (1 - (B1n * B1s * B1v)) * K00) / ((1 - ((B1n * B1s * B1v) * K10 + (1 - (B1n * B1s * B1v)) * K00)) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk) ^ 2) + (Dpe + Dxk) * Ml
x = Cells((calc + 1) * 4 + 1, 16).Value
z = Sqr(Cells((calc + 1) * 4 + 2, 16).Value)
Cells((calc + 1) * 4 + 3, 16).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Высокая мотивация end--------
'--------Модель 5 end--------
'--------Выбор оптимального модуля для студента begin--------
Sheets("Исходные_данные").Select
targ = Cells(13, (calc + 2)).Value
min = 2
max = 0
Sheets("Результаты").Select
If ComboBox2.Value = "Низкая" Then
For ii = 0 To 3
ot(ii) = Cells((calc + 1) * 4 + 0, ii + 3).Value
ma(ii) = Cells((calc + 1) * 4 + 1, ii + 3).Value
sv(ii) = Cells((calc + 1) * 4 + 3, ii + 3).Value
If (ma(ii) > targ) Then
ot(ii) = -1
ma(ii) = -1
sv(ii) = -1
End If
Next ii
' Sheets("Исходные_данные").Select
' For ii = 0 To 3
' Cells(20, ii + 2).Value = ot(ii)
' Cells(21, ii + 2).Value = ma(ii)
' Cells(22, ii + 2).Value = sv(ii)
' Next ii
jj = 0
For ii = 0 To 3
If (sv(ii) > 0) Then
If (sv(ii) < min) Then
min = sv(ii)
jj = ii
End If
End If
Next ii
For ii = 0 To 3
If (sv(ii) > 0) Then
If (ii = jj) Then
ko(ii) = ot(ii) / sv(ii)
GoTo nextc
End If
discs(ii) = sv(ii) - sv(jj)
discv(ii) = Abs(ot(jj) - ot(ii))
ko(ii) = discs(ii) / discv(ii)
nextc:
End If
Next ii
' For ii = 0 To 3
' Cells(23, ii + 2).Value = ko(ii)
' Next ii
For ii = 0 To 3
If (ko(ii) > max) Then
jj = ii
max = ko(ii)
End If
Next ii
' Cells(24, jj + 2).Value = ot(jj)
' Cells(25, jj + 2).Value = ma(jj)
' Cells(26, jj + 2).Value = sv(jj)
If (sv(3) > 0.95) Then
MsgBox "Рекомендуемая модель изучения учебного модуля - модель №4" & Chr(10) & "Bероятность своевременного изучения модуля = " & Round(100 * sv(3), 2) & "%" & Chr(10) & "Если модуль изучен своевременно, вероятность получить оценку 3 = " & Round(100 * ot(3), 3) & "%", vbOKOnly, "Уведомление"
Else
If (sv(0) < 0.5) Then
MsgBox "Рекомендуемая модель изучения учебного модуля - модель №1" & Chr(10) & "Bероятность своевременного изучения модуля = " & Round(100 * Sheets("Результаты").Cells(7, 3).Value, 2) & "%" & Chr(10) & "Если модуль изучен своевременно, вероятность получить оценку 3 = " & Round(100 * Sheets("Результаты").Cells(4, 3).Value, 3) & "%", vbOKOnly, "Уведомление"
Else
MsgBox "Рекомендуемая модель изучения учебного модуля - модель №" & jj + 1 & Chr(10) & "Bероятность своевременного изучения модуля = " & Round(100 * sv(jj), 2) & "%" & Chr(10) & "Если модуль изучен своевременно, вероятность получить оценку 3 = " & Round(100 * ot(jj), 3) & "%", vbOKOnly, "Уведомление"
End If
End If
Else
If ComboBox2.Value = "Средняя" Then
For ii = 0 To 4
ot(ii) = Cells((calc + 1) * 4 + 0, ii + 7).Value
ma(ii) = Cells((calc + 1) * 4 + 1, ii + 7).Value
sv(ii) = Cells((calc + 1) * 4 + 3, ii + 7).Value
If (ma(ii) > targ) Then
ot(ii) = -1
ma(ii) = -1
sv(ii) = -1
End If
Next ii
' Sheets("Исходные_данные").Select
' For ii = 0 To 4
' Cells(20, ii + 2).Value = ot(ii)
' Cells(21, ii + 2).Value = ma(ii)
' Cells(22, ii + 2).Value = sv(ii)
' Next ii
jj = 0
For ii = 0 To 4
If (sv(ii) > 0) Then
If (sv(ii) < min) Then
min = sv(ii)
jj = ii
End If
End If
Next ii
For ii = 0 To 4
If (sv(ii) > 0) Then
If (ii = jj) Then
ko(ii) = ot(ii) / sv(ii)
GoTo nextc2
End If
discs(ii) = sv(ii) - sv(jj)
discv(ii) = Abs(ot(jj) - ot(ii))
ko(ii) = discs(ii) / discv(ii)
nextc2:
End If
Next ii
' For ii = 0 To 4
' Cells(23, ii + 2).Value = ko(ii)
' Next ii
For ii = 0 To 4
If (ko(ii) > max) Then
jj = ii
max = ko(ii)
End If
Next ii
' Cells(24, jj + 2).Value = ot(jj)
' Cells(25, jj + 2).Value = ma(jj)
' Cells(26, jj + 2).Value = sv(jj)
If (sv(4) > 0.95) Then
MsgBox "Рекомендуемая модель изучения учебного модуля - модель №5" & Chr(10) & "Bероятность своевременного изучения модуля = " & Round(100 * sv(3), 2) & "%" & Chr(10) & "Если модуль изучен своевременно, вероятность получить оценку 4 = " & Round(100 * ot(3), 3) & "%", vbOKOnly, "Уведомление"
Else
If (sv(0) < 0.5) Then
MsgBox "Рекомендуемая модель изучения учебного модуля - модель №1" & Chr(10) & "Bероятность своевременного изучения модуля = " & Round(100 * Sheets("Результаты").Cells(7, 7).Value, 2) & "%" & Chr(10) & "Если модуль изучен своевременно, вероятность получить оценку 4 = " & Round(100 * Sheets("Результаты").Cells(4, 7).Value, 3) & "%", vbOKOnly, "Уведомление"
Else
MsgBox "Рекомендуемая модель изучения учебного модуля - модель №" & jj + 1 & Chr(10) & "Bероятность своевременного изучения модуля = " & Round(100 * sv(jj), 2) & "%" & Chr(10) & "Если модуль изучен своевременно, вероятность получить оценку 4 = " & Round(100 * ot(jj), 3) & "%", vbOKOnly, "Уведомление"
End If
End If
Else
If ComboBox2.Value = "Высокая" Then
For ii = 0 To 4
ot(ii) = Cells((calc + 1) * 4 + 0, ii + 12).Value
ma(ii) = Cells((calc + 1) * 4 + 1, ii + 12).Value
sv(ii) = Cells((calc + 1) * 4 + 3, ii + 12).Value
If (ma(ii) > targ) Then
ot(ii) = -1
ma(ii) = -1
sv(ii) = -1
End If
Next ii
' Sheets("Исходные_данные").Select
' For ii = 0 To 4
' Cells(20, ii + 2).Value = ot(ii)
' Cells(21, ii + 2).Value = ma(ii)
' Cells(22, ii + 2).Value = sv(ii)
' Next ii
jj = 0
For ii = 0 To 4
If (sv(ii) > 0) Then
If (sv(ii) < min) Then
min = sv(ii)
jj = ii
End If
End If
Next ii
For ii = 0 To 4
If (sv(ii) > 0) Then
If (ii = jj) Then
ko(ii) = ot(ii) / sv(ii)
GoTo nextc3
End If
discs(ii) = sv(ii) - sv(jj)
discv(ii) = Abs(ot(jj) - ot(ii))
ko(ii) = discs(ii) / discv(ii)
nextc3:
End If
Next ii
' For ii = 0 To 4
' Cells(23, ii + 2).Value = ko(ii)
' Next ii
For ii = 0 To 4
If (ko(ii) > max) Then
jj = ii
max = ko(ii)
End If
Next ii
' Cells(24, jj + 2).Value = ot(jj)
' Cells(25, jj + 2).Value = ma(jj)
' Cells(26, jj + 2).Value = sv(jj)
If (sv(4) > 0.95) Then
MsgBox "Рекомендуемая модель изучения учебного модуля - модель №5" & Chr(10) & "Bероятность своевременного изучения модуля = " & Round(100 * sv(3), 2) & "%" & Chr(10) & "Если модуль изучен своевременно, вероятность получить оценку 5 = " & Round(100 * ot(3), 3) & "%", vbOKOnly, "Уведомление"
Else
If (sv(0) < 0.5) Then
MsgBox "Рекомендуемая модель изучения учебного модуля - модель №1" & Chr(10) & "Bероятность своевременного изучения модуля = " & Round(100 * Sheets("Результаты").Cells(7, 12).Value, 2) & "%" & Chr(10) & "Если модуль изучен своевременно, вероятность получить оценку 5 = " & Round(100 * Sheets("Результаты").Cells(4, 12).Value, 3) & "%", vbOKOnly, "Уведомление"
Else
MsgBox "Рекомендуемая модель изучения учебного модуля - модель №" & jj + 1 & Chr(10) & "Bероятность своевременного изучения модуля = " & Round(100 * sv(jj), 2) & "%" & Chr(10) & "Если модуль изучен своевременно, вероятность получить оценку 5 = " & Round(100 * ot(jj), 3) & "%", vbOKOnly, "Уведомление"
End If
End If
End If
End If
End If
'--------Выбор оптимального модуля для студента end--------
Sheets("Исходные_данные").Select
Cells(1, 2).Select
Sheets("Результаты").Select
MsgBox "Расчет окончен.", vbOKOnly, "Уведомление"
UserForm4.Hide
UserForm5.Hide
UserForm3.Hide
Unload UserForm4
Unload UserForm5
Unload UserForm3
End Sub
Форма UserForm5:
Private Sub CommandButton1_Click()
Dim B0n, B0s, B0v, B0, Btemp, Mtemp, Dtemp, Bmax, Bpe, Mpe, Ml, Mln, Mls, Mlv, Dl, B_n, M_n, D_n, B_s, M_s, D_s, B_v, M_v, D_v As Double
Dim K10(100), K01(100), B1n(100), B1s(100), B1v(100), K11(100), K00(100), Mxpn(100), Mxps(100), Mxpv(100), Dxp(100), Mxk(100), Dxk(100) As Double
Dim i, k, j, d, z, x, kol, g, prevg, st As Integer
Dim p As String
'--------Проверка количества студентов begin--------
Sheets("Исходные_данные").Select
j = 2
For i = 2 To 9999
If (Cells(1, j).Value <> vbNullString) Then
j = j + 1
End If
Next i
Cells(1, 1).Value = j - 2
'--------Проверка количества студентов end--------
If (OptionButton1 = True And OptionButton2 = False) Then
st = Cells(1, 1).Value
For i = 1 To st
UserForm4.ComboBox1.AddItem Cells(1, 1 + i).Value
Next i
UserForm4.Show
Else
If (OptionButton1 = False And OptionButton2 = False) Then
MsgBox "Выберите хотя бы одну опцию.", vbInformation, "Внимание!"
Else
If (OptionButton1 = False And OptionButton2 = True) Then
'--------Считка исходных данных begin--------
Sheets("Исходные_данные").Select
g = Cells(1, 1).Value
For i = 1 To g Step 1
B1n(i) = Cells(2, 1 + i)
Next i
For i = 1 To g Step 1
B1s(i) = Cells(3, 1 + i)
Next i
For i = 1 To g Step 1
B1v(i) = Cells(4, 1 + i)
Next i
For i = 1 To g Step 1
K11(i) = Cells(5, 1 + i)
Next i
For i = 1 To g Step 1
K00(i) = Cells(6, 1 + i)
Next i
For i = 1 To g Step 1
Mxpn(i) = Cells(7, 1 + i)
Next i
For i = 1 To g Step 1
Mxps(i) = Cells(8, 1 + i)
Next i
For i = 1 To g Step 1
Mxpv(i) = Cells(9, 1 + i)
Next i
For i = 1 To g Step 1
Dxp(i) = Cells(10, 1 + i)
Next i
For i = 1 To g Step 1
Mxk(i) = Cells(11, 1 + i)
Next i
For i = 1 To g Step 1
Dxk(i) = Cells(12, 1 + i)
Next i
For i = 1 To g Step 1
K10(i) = 1 - K11(i)
K01(i) = 1 - K00(i)
Next i
i = 1
k = 3
p = "ИСТИНА"
If (Cells(14, 1).Value = vbNullString) Then
prevg = 0
Else
prevg = Cells(14, 1).Value
End If
'--------Считка исходных данных end--------
'--------Предварительное форматирование ячеек begin--------
For i = 1 To g
Sheets("Исходные_данные").Select
Range("A100:P103").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Результаты").Select
Cells(i * 4, 1).Select
ActiveSheet.Paste
Next i
If (g < prevg) Then
For i = g + 1 To prevg
Sheets("Исходные_данные").Select
Range("A104:P107").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Результаты").Select
Cells(i * 4, 1).Select
ActiveSheet.Paste
Next i
End If
'--------Предварительное форматирование ячеек end--------
Sheets("Результаты").Select
For i = 1 To g Step 1
Cells(i * 4, 1).Value = Sheets("Исходные_данные").Cells(1, 1 + i).Value
Cells(i * 4, 2).Value = "B"
Cells(i * 4 + 1, 2).Value = "M"
Cells(i * 4 + 2, 2).Value = "D"
Cells(i * 4 + 3, 2).Value = "B(св)"
'--------Модель 1 begin--------
'--------Низкая мотивация begin--------
Cells(1 + k, 3).Select
B_n = B1n(i) ^ 3
ActiveCell = B_n
Cells(2 + k, 3).Select
M_n = Mxpn(i) * 3
ActiveCell = M_n
Cells(3 + k, 3).Select
D_n = Dxp(i) * 3
ActiveCell = D_n
d = Sheets("Исходные_данные").Cells(15, 5).Value
x = Cells(2 + k, 3).Value
z = Sqr(Cells(3 + k, 3).Value)
Cells(4 + k, 3).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Низкая мотивация end--------
'--------Средняя мотивация begin--------
Cells(1 + k, 7).Select
B_s = (B1n(i) ^ 3) * (B1s(i) ^ 3)
ActiveCell = B_s
Cells(2 + k, 7).Select
M_s = Mxpn(i) * 3 + Mxps(i) * 3
ActiveCell = M_s
Cells(3 + k, 7).Select
D_s = Dxp(i) * 6
ActiveCell = D_s
d = Sheets("Исходные_данные").Cells(16, 5).Value
x = Cells(2 + k, 7).Value
z = Sqr(Cells(3 + k, 7).Value)
Cells(4 + k, 7).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Средняя мотивация end--------
'--------Высокая мотивация begin--------
Cells(1 + k, 12).Select
B_v = (B1n(i) ^ 3) * (B1s(i) ^ 3) * (B1v(i) ^ 3)
ActiveCell = B_v
Cells(2 + k, 12).Select
M_v = Mxpn(i) * 3 + Mxps(i) * 3 + Mxpv(i) * 3
ActiveCell = M_v
Cells(3 + k, 12).Select
D_v = Dxp(i) * 9
ActiveCell = D_v
d = Sheets("Исходные_данные").Cells(17, 5).Value
x = Cells(2 + k, 12).Value
z = Sqr(Cells(3 + k, 12).Value)
Cells(4 + k, 12).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Высокая мотивация end--------
'--------Модель 1 end--------
'--------Модель 2 begin--------
'--------Низкая мотивация begin--------
Cells(1 + k, 4).Select
B0 = 1 - (B1n(i) ^ 3)
ActiveCell = B_n * K11(i) * (1 / (1 - (B_n * K10(i) + B0 * K00(i))))
Cells(2 + k, 4).Select
Mpe = Mxpn(i) * 3
Ml = 1 / (1 - (B1n(i) * K10(i) + B0 * K00(i)))
ActiveCell = (Mpe + Mxk(i)) * Ml
Cells(3 + k, 4).Select
Dpe = Dxp(i) * 3
Dl = (B1n(i) * K10(i) + (1 - B1n(i)) * K00(i)) / ((1 - (B1n(i) * K10(i) + (1 - B1n(i)) * K00(i))) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk(i)) ^ 2) + (Dpe + Dxk(i)) * Ml
d = Sheets("Исходные_данные").Cells(15, 5).Value
x = Cells(2 + k, 4).Value
z = Sqr(Cells(3 + k, 4).Value)
Cells(4 + k, 4).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Низкая мотивация end--------
'--------Средняя мотивация begin--------
Cells(1 + k, 8).Select
Bpe = B1n(i) * B1s(i)
B0 = 1 - Bpe
ActiveCell = (Bpe * K11(i) * (1 / (1 - (Bpe * K10(i) + B0 * K00(i))))) ^ 3
Cells(2 + k, 8).Select
Mpe = Mxpn(i) + Mxps(i)
Ml = 1 / (1 - (Bpe * K10(i) + B0 * K00(i)))
ActiveCell = (Mpe + Mxk(i)) * Ml * 3
Cells(3 + k, 8).Select
Dpe = Dxp(i) * 2
Dl = (Bpe * K10(i) + B0 * K00(i)) / ((1 - (Bpe * K10(i) + B0 * K00(i))) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk(i)) ^ 2) + (Dpe + Dxk(i)) * Ml
d = Sheets("Исходные_данные").Cells(16, 5).Value
x = Cells(2 + k, 8).Value
z = Sqr(Cells(3 + k, 8).Value)
Cells(4 + k, 8).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Средняя мотивация end--------
'--------Высокая мотивация begin--------
Cells(1 + k, 13).Select
Bpe = B1n(i) * B1s(i) * B1v(i)
B0 = 1 - Bpe
ActiveCell = (Bpe * K11(i) * (1 / (1 - (Bpe * K10(i) + B0 * K00(i))))) ^ 3
Cells(2 + k, 13).Select
Mpe = Mxpn(i) + Mxps(i) + Mxpk
Ml = 1 / (1 - (Bpe * K10(i) + B0 * K00(i)))
ActiveCell = (Mpe + Mxk(i)) * Ml * 3
Cells(3 + k, 13).Select
Dpe = Dxp(i) * 3
Dl = (Bpe * K10(i) + B0 * K00(i)) / ((1 - (Bpe * K10(i) + B0 * K00(i))) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk(i)) ^ 2) + (Dpe + Dxk(i)) * Ml
d = Sheets("Исходные_данные").Cells(17, 5).Value
x = Cells(2 + k, 13).Value
z = Sqr(Cells(3 + k, 13).Value)
Cells(4 + k, 13).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Высокая мотивация end--------
'--------Модель 2 end--------
'--------Модель 3 begin--------
'--------Низкая мотивация begin--------
Cells(1 + k, 5).Select
B0 = 1 - B1n(i)
ActiveCell = B1n(i) * K11(i) * (1 / (1 - (B1n(i) * K10(i) + B0 * K00(i))))
Cells(2 + k, 5).Select
Ml = 1 / (1 - (B1n(i) * K10(i) + B0 * K00(i)))
ActiveCell = (Mxpn(i) + Mxk(i)) * Ml * 3
Cells(3 + k, 5).Select
Dl = (B1n(i) * K10(i) + B0 * K00(i)) / ((1 - (B1n(i) * K10(i) + B0 * K00(i))) ^ 2)
ActiveCell = Dl * ((Mxpn(i) + Mxk(i)) ^ 2) + (Dxp(i) + Dxk(i)) * Ml
d = Sheets("Исходные_данные").Cells(15, 5).Value
x = Cells(2 + k, 5).Value
z = Sqr(Cells(3 + k, 5).Value)
Cells(4 + k, 5).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Низкая мотивация end--------
'--------Средняя мотивация begin--------
Cells(1 + k, 8).Select
Bpe = ActiveCell
B0 = 1 - Bpe
Cells(2 + k, 8).Select
Mpe = ActiveCell
Cells(3 + k, 8).Select
Dpe = ActiveCell
Cells(1 + k, 9).Select
ActiveCell = Bpe * K11(i) * (1 / (1 - (Bpe * K10(i) + B0 * K00(i))))
Cells(2 + k, 9).Select
Ml = 1 / (1 - (Bpe * K10(i) + B0 * K00(i)))
ActiveCell = (Mpe + Mxk(i)) * Ml
Cells(3 + k, 9).Select
Dl = (Bpe * K10(i) + B0 * K00(i)) / ((1 - (Bpe * K10(i) + B0 * K00(i))) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk(i)) ^ 2) + (Dpe + Dxk(i)) * Ml
d = Sheets("Исходные_данные").Cells(16, 5).Value
x = Cells(2 + k, 9).Value
z = Sqr(Cells(3 + k, 9).Value)
Cells(4 + k, 9).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Средняя мотивация end--------
'--------Высокая мотивация begin--------
Cells(1 + k, 13).Select
Bpe = ActiveCell
B0 = 1 - Bpe
Cells(2 + k, 13).Select
Mpe = ActiveCell
Cells(3 + k, 13).Select
Dpe = ActiveCell
Cells(1 + k, 14).Select
ActiveCell = Bpe * K11(i) * (1 / (1 - (Bpe * K10(i) + B0 * K00(i))))
Cells(2 + k, 14).Select
Ml = 1 / (1 - (Bpe * K10(i) + B0 * K00(i)))
ActiveCell = (Mpe + Mxk(i)) * Ml
Cells(3 + k, 14).Select
Dl = (Bpe * K10(i) + B0 * K00(i)) / ((1 - (Bpe * K10(i) + B0 * K00(i))) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk(i)) ^ 2) + (Dpe + Dxk(i)) * Ml
d = Sheets("Исходные_данные").Cells(17, 5).Value
x = Cells(2 + k, 14).Value
z = Sqr(Cells(3 + k, 14).Value)
Cells(4 + k, 14).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Высокая мотивация end--------
'--------Модель 3 end--------
'--------Модель 4 begin--------
'--------Низкая мотивация begin--------
Cells(1 + k, 5).Select
Bpe = ActiveCell
B0 = 1 - Bpe
Cells(2 + k, 5).Select
Mpe = ActiveCell
Cells(3 + k, 5).Select
Dpe = ActiveCell
Cells(1 + k, 6).Select
ActiveCell = Bpe * K11(i) * (1 / (1 - (Bpe * K10(i) + B0 * K00(i))))
Cells(2 + k, 6).Select
Ml = 1 / (1 - (Bpe * K10(i) + B0 * K00(i)))
ActiveCell = (Mpe + Mxk(i)) * Ml
Cells(3 + k, 6).Select
Dl = (Bpe * K10(i) + B0 * K00(i)) / ((1 - (Bpe * K10(i) + B0 * K00(i))) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk(i)) ^ 2) + (Dpe + Dxk(i)) * Ml
d = Sheets("Исходные_данные").Cells(15, 5).Value
x = Cells(2 + k, 6).Value
z = Sqr(Cells(3 + k, 6).Value)
Cells(4 + k, 6).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Низкая мотивация end--------
'--------Средняя мотивация begin--------
Cells(1 + k, 10).Select
B0n = 1 - B1n(i)
B0s = 1 - B1s(i)
Bpe = (B1n(i) * K11(i) * (1 / (1 - (B1n(i) * K10(i) + B0n * K00(i))))) * (B1s(i) * K11(i) * (1 / (1 - (B1s(i) * K10(i) + B0s * K00(i)))))
B0 = 1 - Bpe
ActiveCell = (Bpe * K11(i) * (1 / (1 - (Bpe * K10(i) + B0 * K00(i))))) ^ 3
Cells(2 + k, 10).Select
Mln = 1 / (1 - (B1n(i) * K10(i) + (1 - B1n(i)) * K00(i)))
Mls = 1 / (1 - (B1s(i) * K10(i) + (1 - B1s(i)) * K00(i)))
Mpe = (Mxpn(i) + Mxk(i)) * Mln + (Mxps(i) + Mxk(i)) * Mls
Ml = 1 / (1 - (Bpe * K10(i) + B0 * K00(i)))
ActiveCell = (Mpe + Mxk(i)) * Ml * 3
Cells(3 + k, 10).Select
Dl = ((B1n(i) * B1s(i)) * K10(i) + (1 - (B1n(i) * B1s(i))) * K00(i)) / ((1 - ((B1n(i) * B1s(i)) * K10(i) + (1 - (B1n(i) * B1s(i))) * K00(i))) ^ 2)
Dpe = (Dl * ((Mxpn(i) + Mxk(i)) ^ 2) + (Dxp(i) + Dxk(i)) * Mln) + (Dl * ((Mxps(i) + Mxk(i)) ^ 2) + (Dxp(i) + Dxk(i)) * Mls)
Dl = (Bpe * K10(i) + B0 * K00(i)) / ((1 - (Bpe * K10(i) + B0 * K00(i))) ^ 2)
ActiveCell = (Dl * ((Mpe + Mxk(i)) ^ 2) + (Dpe + Dxk(i)) * Ml) * 3
d = Sheets("Исходные_данные").Cells(16, 5).Value
x = Cells(2 + k, 10).Value
z = Sqr(Cells(3 + k, 10).Value)
Cells(4 + k, 10).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Средняя мотивация end--------
'--------Высокая мотивация begin--------
Cells(1 + k, 15).Select
B0n = 1 - B1n(i)
B0s = 1 - B1s(i)
B0v = 1 - B1v(i)
Bpe = (B1n(i) * K11(i) * (1 / (1 - (B1n(i) * K10(i) + B0n * K00(i))))) * (B1s(i) * K11(i) * (1 / (1 - (B1s(i) * K10(i) + B0s * K00(i))))) * (B1v(i) * K11(i) * (1 / (1 - (B1v(i) * K10(i) + B0v * K00(i)))))
B0 = 1 - Bpe
ActiveCell = (Bpe * K11(i) * (1 / (1 - (Bpe * K10(i) + B0 * K00(i))))) ^ 3
Cells(2 + k, 15).Select
Mln = 1 / (1 - (B1n(i) * K10(i) + (1 - B1n(i)) * K00(i)))
Mls = 1 / (1 - (B1s(i) * K10(i) + (1 - B1s(i)) * K00(i)))
Mlv = 1 / (1 - (B1v(i) * K10(i) + (1 - B1v(i)) * K00(i)))
Mpe = (Mxpn(i) + Mxk(i)) * Mln + (Mxps(i) + Mxk(i)) * Mls + (Mxpv(i) + Mxk(i)) * Mlv
Ml = 1 / (1 - (Bpe * K10(i) + B0 * K00(i)))
ActiveCell = (Mpe + Mxk(i)) * Ml * 3
Cells(3 + k, 15).Select
Dl = ((B1n(i) * B1s(i) * B1v(i)) * K10(i) + (1 - (B1n(i) * B1s(i) * B1v(i))) * K00(i)) / ((1 - ((B1n(i) * B1s(i) * B1v(i)) * K10(i) + (1 - (B1n(i) * B1s(i) * B1v(i))) * K00(i))) ^ 2)
Dpe = (Dl * ((Mxp + Mxk(i)) ^ 2) + (Dxp(i) + Dxk(i)) * Ml) * 3
Dl = (Bpe * K10(i) + B0 * K00(i)) / ((1 - (Bpe * K10(i) + B0 * K00(i))) ^ 2)
ActiveCell = (Dl * ((Mpe + Mxk(i)) ^ 2) + (Dpe + Dxk(i)) * Ml) * 3
d = Sheets("Исходные_данные").Cells(17, 5).Value
x = Cells(2 + k, 15).Value
z = Sqr(Cells(3 + k, 15).Value)
Cells(4 + k, 15).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Высокая мотивация end--------
'--------Модель 4 end--------
'--------Модель 5 begin--------
'--------Средняя мотивация begin--------
Cells(1 + k, 10).Select
Bpe = ActiveCell
B0 = 1 - Bpe
Cells(2 + k, 10).Select
Mpe = ActiveCell
Cells(3 + k, 10).Select
Dpe = ActiveCell
Cells(1 + k, 11).Select
ActiveCell = (Bpe * K11(i) * (1 / (1 - (Bpe * K10(i) + B0 * K00(i))))) ^ 3
Cells(2 + k, 11).Select
Ml = 1 / (1 - (Bpe * K10(i) + B0 * K00(i)))
ActiveCell = (Mpe + Mxk(i)) * Ml
Cells(3 + k, 11).Select
Dl = ((B1n(i) * B1s(i)) * K10(i) + (1 - (B1n(i) * B1s(i))) * K00(i)) / ((1 - ((B1n(i) * B1s(i)) * K10(i) + (1 - (B1n(i) * B1s(i))) * K00(i))) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk(i)) ^ 2) + (Dpe + Dxk(i)) * Ml
d = Sheets("Исходные_данные").Cells(16, 5).Value
x = Cells(2 + k, 11).Value
z = Sqr(Cells(3 + k, 11).Value)
Cells(4 + k, 11).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Средняя мотивация end--------
'--------Высокая мотивация begin--------
Cells(1 + k, 15).Select
Bpe = ActiveCell
B0 = 1 - Bpe
Cells(2 + k, 15).Select
Mpe = ActiveCell
Cells(3 + k, 15).Select
Dpe = ActiveCell
Cells(1 + k, 16).Select
ActiveCell = (Bpe * K11(i) * (1 / (1 - (Bpe * K10(i) + B0 * K00(i))))) ^ 3
Cells(2 + k, 16).Select
Ml = 1 / (1 - (Bpe * K10(i) + B0 * K00(i)))
ActiveCell = (Mpe + Mxk(i)) * Ml
Cells(3 + k, 16).Select
Dl = ((B1n(i) * B1s(i) * B1v(i)) * K10(i) + (1 - (B1n(i) * B1s(i) * B1v(i))) * K00(i)) / ((1 - ((B1n(i) * B1s(i) * B1v(i)) * K10(i) + (1 - (B1n(i) * B1s(i) * B1v(i))) * K00(i))) ^ 2)
ActiveCell = Dl * ((Mpe + Mxk(i)) ^ 2) + (Dpe + Dxk(i)) * Ml
d = Sheets("Исходные_данные").Cells(17, 5).Value
x = Cells(2 + k, 16).Value
z = Sqr(Cells(3 + k, 16).Value)
Cells(4 + k, 16).FormulaLocal = "=НОРМРАСП(" & d & ";" & x & ";" & z & ";" & p & ")"
'--------Высокая мотивация end--------
'--------Модель 5 end--------
k = k + 4
Next i
prevg = g
Sheets("Исходные_данные").Select
Cells(14, 1).Value = prevg
Cells(1, 2).Select
Sheets("Результаты").Select
MsgBox "Расчет окончен.", vbOKOnly, "Уведомление"
UserForm5.Hide
Unload UserForm5
End If
End If
End If
End Sub
