Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная_записка_Николин.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.43 Mб
Скачать

Приложение в. Типовые функциональные единицы.

Таблица В.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