×
02.05.2023
223.018.52b8

Результат интеллектуальной деятельности: sand

Вид РИД

Программа для ЭВМ

Наименование РИД на английском: sand

Правообладатели

Описание произведения: программа расчета оптимального соотношения фракций песка для сухих строительные смесей на основе КГВ для штукатурных растворов
Язык программирования, с использованием которого создана программа для ЭВМ (База данных)
visual basic (VBA excel)
Вид и версия операционной системы, для функционирования под управлением которой предназначена программа для ЭВМ (База данных)
windows
Объем программы для ЭВМ (Базы данных) в машиночитаемой форме в единицах, кратных числу байт
1 020 928
Ключевые слова: оптимальный состав песка, сухие строительные смеси, штукатурка
программа расчета оптимального соотношения фракций песка для сухих строительные смесей на основе КГВ для штукатурных растворов
Содержательная часть РИД:
Часть исходного кода:

Sub Макрос4()
'
' Макрос4 Макрос
'
S1 = 0
S2 = 0
S3 = 0
S4 = 0
S5 = 0
S6 = 0
test0 = 1000000000
otvet = 0

 

    

For k = 1 To 7

    S1 = Val(данные.Controls("TextBox" & (10 * 1 + k))) + S1
    S2 = Val(данные.Controls("TextBox" & (20 * 1 + k))) + S2
    S3 = Val(данные.Controls("TextBox" & (30 * 1 + k))) + S3
    S4 = Val(данные.Controls("TextBox" & (40 * 1 + k))) + S4
    End If
    
    
Next k
    
For k = 1 To 7
    данные.Controls("Label" & (10 * 1 + k)).Caption = Round((100 * Val(данные.Controls("TextBox" & (10 * 1 + k))) / S1), 3)
    данные.Controls("Label" & (20 * 1 + k)).Caption = Round((100 * Val(данные.Controls("TextBox" & (20 * 1 + k))) / S2), 3)
    данные.Controls("Label" & (30 * 1 + k)).Caption = Round((100 * Val(данные.Controls("TextBox" & (30 * 1 + k))) / S3), 3)
    
    данные.Controls("Label" & (40 * 1 + k)).Caption = Round((100 * Val(данные.Controls("TextBox" & (40 * 1 + k))) / S4), 3)
    
    
Next k


ogn1 = Worksheets("vhod").Cells(3, 2).Value
ogn2 = Worksheets("vhod").Cells(3, 3).Value
ogn3 = Worksheets("vhod").Cells(3, 4).Value
ogn4 = Worksheets("vhod").Cells(3, 5).Value
ogn5 = Worksheets("vhod").Cells(3, 6).Value
ogn6 = Worksheets("vhod").Cells(3, 7).Value

ogv1 = Worksheets("vhod").Cells(4, 2).Value
ogv2 = Worksheets("vhod").Cells(4, 3).Value
ogv3 = Worksheets("vhod").Cells(4, 4).Value
ogv4 = Worksheets("vhod").Cells(4, 5).Value
ogv5 = Worksheets("vhod").Cells(4, 6).Value
ogv6 = Worksheets("vhod").Cells(4, 7).Value

i = -1
iter = 0
For a = 0 To 0 Step i
    For b = 0 - a To 0 Step i
        For c = 100 - a - b To 0 Step i
            For d = 100 - a - b - c To 0 Step i
                For e = 100 - a - b - c - d To 0 Step i
                    
J = 100 - a - b - c - d - e
okr = 1
p1 = Round((100 - J * Label11 / 100 - e * Label21 / 100 - d * Label31 / 100 - c * Label41 / 100 - b * Label51 / 100 - a * Label61 / 100), okr)
p2 = Round((p1 - J * Label12 / 100 - e * Label22 / 100 - d * Label32 / 100 - c * Label42 / 100 - b * Label52 / 100 - a * Label62 / 100), okr)
p3 = Round((p2 - J * Label13 / 100 - e * Label23 / 100 - d * Label33 / 100 - c * Label43 / 100 - b * Label53 / 100 - a * Label63 / 100), okr)
p4 = Round((p3 - J * Label14 / 100 - e * Label24 / 100 - d * Label34 / 100 - c * Label44 / 100 - b * Label54 / 100 - a * Label64 / 100), okr)
p5 = Round((p4 - J * Label15 / 100 - e * Label25 / 100 - d * Label35 / 100 - c * Label45 / 100 - b * Label55 / 100 - a * Label65 / 100), okr)
p6 = Round((J * Label17 / 100 + e * Label27 / 100 + d * Label37 / 100 + c * Label47 / 100 + b * Label57 / 100 + a * Label67 / 100), okr)

If p1 >= ogn1 And p1 <= ogv1 And p2 >= ogn2 And p2 <= ogv2 And p3 >= ogn3 And p3 <= ogv3 And p4 >= ogn4 And p4 <= ogv4 And p5 >= ogn5 And p5 <= ogv5 And p6 >= ogn6 And p6 <= ogv6 Then
test = (p3 - (ogv3 + ogn3) / 2) ^ 2 + (p4 - (ogv4 + ogn4) / 2) ^ 2 + (p5 - (ogv5 + ogn5) / 2) ^ 2 + (p5 - (ogv5 + ogn5) / 2) ^ 2 + (p6 - (ogv6 + ogn6) / 2) ^ 2
'
'
    If test < test0 Then
        test0 = test
        Jx = J
        ex = e
        dx = d
        cx = c
        bx = b
        ax = a
        otvet = otvet + 1
        px1 = p1
        px2 = p2
        px3 = p3
        px4 = p4
        px5 = p5
        px6 = p6
        
    End If

End If

 

 

iter = iter + 1


       If e = 0 Then Exit For
     Next e
       If d = 0 Then Exit For
     Next d
       If c = 0 Then Exit For
     Next c
        If iter = stop_for Then Exit For
       If b = 0 Then Exit For
     Next b
        If iter = stop_for Then Exit For
       If a = 0 Then Exit For
     Next a

 


MsgBox iter
MsgBox p1 & "  " & p2 & "  " & p3 & "  " & p4 & "  " & p5 & "  " & p6
If otvet = 0 Then
    
    MsgBox "нет решения"
    MsgBox J & "  " & e & "  " & d & "  " & c & "  " & b & "  " & a
    
        
    Else
    MsgBox otvet & "положительных решкний"
    MsgBox Jx & "  " & ex & "  " & dx & "  " & cx & "  " & bx & "  " & ax
    

End If

 

Worksheets("vhod").Range("I13").Value = Val(Jx)
Worksheets("vhod").Range("I14").Value = Val(ex)
Worksheets("vhod").Range("I15").Value = Val(dx)
Worksheets("vhod").Range("I16").Value = Val(cx)
Worksheets("vhod").Range("I17").Value = Val(bx)

Worksheets("vhod").Range("B6").Value = Val(px1)
Worksheets("vhod").Range("C6").Value = Val(px2)
Worksheets("vhod").Range("D6").Value = Val(px3)
Worksheets("vhod").Range("E6").Value = Val(px4)
Worksheets("vhod").Range("F6").Value = Val(px5)
Worksheets("vhod").Range("G6").Value = Val(px6)
'
End Sub

Хеш-код депонирования: 86c6a611066272f63766c3d4094e1cfd97434eb41c6e1ce02758b88e80557c71
Источник поступления информации: Портал edrid.ru
+ добавить свой РИД