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

3. 11 Оценка степени повреждения зданий в результате аварийных взрывов

(Практическая работа №11)

Цели :

1. Закрепить теоретический материал

2. Приобрести практические навыки

Задания:

1. Определить степень повреждения ЛЭП для взрыва

Степень повреждения ЛЭП

ΔPф=50.29 (kПа)

Тип сооружения 10.

ЛЭП получат среднее повреждение.

3.12. Вычисление расстояния от эпицентра взрыва

(Практическая работа №12)

Цели :

1. Закрепить теоретический материал

2. Приобрести практические навыки

Задания:

1.По заданной величине избыточного давления и массе взрывчатого вещества определить расстояние от эпицентра взрыва.

расстояние от эпицентра

Код программы:

Private Function f(byVal R As Double, byVal P As Single) As Double

f = P - 95 / R - 390 / R ^ 2 - 1300 / R ^ 3

End Function

Private Function Solution(byVal P As Single) As Double

Dim R As Double, e As Single

e = 0.00001

R = 1 + 99 * Rnd()

Do

If R < 1 Or R > 100 Then

MsgBox "Решение не найдено"

Exit Function

End If

R = R - f(R, P) * (1 - R) / (f(1, P) - f(R, P))

Loop While f(R + e, P) * f(R - e, P) > 0

Solution = R

End Function

Private Sub Command1_Click()

Dim C As Single, R As Double, P As Single

C = Val(Text1.Text)

P = Val(Text2.Text)

R = Solution(P)

R = R * C ^ (1 / 3)

Text3.Text = Round(R, 2)

Print

End Sub

3.13. Прогнозирование последствий взрывов

(Практическая работа №13)

Цели :

1. Закрепить теоретический материал

2. Приобрести практические навыки

Задания:

1. Написать программу анализа воздействия взрывов на здания и сооружения в функции массы ВВ и расстояния от эпицентра взрыва.

2. Написать программу анализа воздействия взрывов на здания и сооружения.

последствия взрывов

Рис.3.32 «Интерфейс»

Код событийной процедуры:

Private Sub Command1_Click()

Dim y(1 To 5) As Single, C As Single, r As Single, i As Integer

C = Val(Text1.Text)

r = Val(Text2.Text)

For i = 1 To 5

y(i) = Solution(x(i))

y(i) = y(i) * C ^ (1 / 3)

Next i

Damage y(), r

End Sub

последствия взрывов

Фрагменты кода программы:

Private x(1 To 5) As Integer

Dim P As Single

Private Sub Damage(x() As Integer, P As Single)

Select Case P

Case 0 To x(1)

Text5.Text = "повреждений нет"

Case x(1) To x(2)

Text5.Text = "слабые повреждения"

Case x(2) To x(3)

Text5.Text = "средние повреждения"

Case x(3) To x(4)

Text5.Text = "сильные повреждения"

Case x(4) To x(5)

Text5.Text = "разрушение"

Case Is > x(5)

Text5.Text = "абсолютное разрушение"

End Select

End Sub

Private Function Pressure(C As Single, R As Single) As Single

Dim L As Single

L = R / C ^ (1 / 3)

If L >= 1 And L <= 100 Then

Pressure = 95 / L + 390 / L ^ 2 + 1300 / L ^ 3

Else

MsgBox "Ошибка ввода", vbOKOnly, "Предупреждение"

End If

End Function

Private Sub Command1_Click()

Dim C As Single, R As Single

C = Val(Text1.Text)

R = Val(Text2.Text)

P = Pressure(C, R)

Text3.Text = Round(P, 2)

End Sub

Private Sub Command2_Click()

Damage x(), P

End Sub

Private Sub mnuA_Click(Index As Integer)

Select Case Index

Case 1

x(1) = 8

x(2) = 10

x(3) = 20

x(4) = 30

x(5) = 40

Case 2

x(1) = 8

x(2) = 15

x(3) = 25

x(4) = 35

x(5) = 45

Case 3

x(1) = 6

x(2) = 8

x(3) = 12

x(4) = 20

x(5) = 30

End Select

Label5 = mnu(1).Caption & Chr(13) & Chr(13) & mnuA(Index).Caption

Damage x(), P

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]