Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 Прогнозирование и ликвидация последствий ЧС.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆
  1. Определение параметров и моделирование последствий землетрясений

Землетрясение – это сильное колебание земной поверхности, вызванное вулканическими или тектоническими процессами.

физические параметры землетрясений

глубина очага землетрясения H

В зависимости от величины H землетрясения подразделяются на:

Название

H (км)

  • нормальные

0–70

  • промежуточные

70–300

  • глубокофокусные

>300

Эпицентральное расстояние R – расстояние от эпицентра до некоторой точки земной поверхности.

Магнитуда M (0≤M≤9) – общая энергия колебаний земной поверхности.

В зависимости от величины M землетрясения имеют характеристики:

Характеристика

M

  • планетарного масштаба

8–9

  • сильное регионального масштаба

7–8

  • сильное локального масштаба

6–7

  • среднее

5–6

  • слабое местное

4–5

Балльность J (0≤J≤12) –сила землетрясения на некотором участке земной поверхности.

Балльность землетрясения определяется по формуле:

Здесь lg x – десятичный логарифм числа x. lg x = lnx/ln10.

Соотношение между балльностью и магнитудой в эпицентре землетрясения имеет вид:

алгоритмизация классификации землетрясений

Разветвляющийся алгоритм – алгоритм, предусматривающий выполнение одной из нескольких возможных инструкций.

Синтаксис:

Select Case переменная

Case значение 1

инструкция 1

Case значение 2

инструкция 2

...

Case Else

инструкция k

End Select

рис. 8.1

Синтаксис Select Case разрешает использование ключевого слова To в условии

x1 To x2

и ключевого слова Is в условиях

Is < =x1

Is <= x2

Is > =x3

Is >= x4

Пример 1. Тип землетрясения

Определить название землетрясения по значению глубины очага H.

Тип

H (км)

  • нормальное

(0–70]

  • промежуточное

(70–300]

  • глубокофокусное

>300

  1. Поместить на форму кнопку и текстовое поле.

  2. Задать следующие значения свойств объектов:

form

Caption

Тип землетрясения

label1

Caption

Глубина очага, км

text1

Text

(пусто)

Command1

Caption

Ok

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

Private Sub Command1_Click()

Select Case Val(Text1.Text)

Case Is <= 0

MsgBox "Ошибка ввода", vbOKOnly, "Внимание"

Case 0 To 70

Print "нормальное"

Case 70 To 300

Print "промежуточное"

Case Is > 300

Print "глубокофокусное"

End Select

End Sub

Пример 2. зона действия землетрясения

Определить зону действия землетрясения по значению магнитуды M.

Зона действия

M

  • сейсмически неопасное

(0–4]

  • слабое местное

(4–5]

  • среднее

(5–6]

  • сильное локального масштаба

(6–7]

  • сильное регионального масштаба

(7–8]

  • планетарного масштаба

(8–9]

  1. Поместить на форму кнопку и текстовое поле.

  2. Задать следующие значения свойств объектов:

form

Caption

Характеристика землетрясения

label1

Caption

Магнитуда

text1

Text

(пусто)

Command1

Caption

Ok

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

Private Sub Command1_Click()

Select Case Val(Text1.Text)

Case Is <= 0

MsgBox "Ошибка ввода", vbOKOnly, "Внимание"

Case 0 To 4

Print "сейсмически неопасное"

Case 4 To 5

Print "слабое местное"

Case 5 To 6

Print "среднее"

Case 6 To 7

Print "сильное локального масштаба"

Case 7 To 8

Print "сильное регионального масштаба"

Case 8 To 9

Print "планетарного масштаба"

Case Else

MsgBox "Ошибка ввода", vbOKOnly, "Внимание"

End Select

End Sub

Пример 3. вычисление балльности

Определить балльность в эпицентре землетрясения по формуле:

  1. Поместить на форму кнопку, две метки и два текстовых поля.

  2. Задать следующие значения свойств объектов:

form

Caption

Балльность землетрясения

label1

Caption

Магнитуда

label2

Caption

Глубина очага

text1

Text

(пусто)

text2

Text

(пусто)

Command1

Caption

Ok

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

Private Sub Command1_Click()

Print 3 + 1.5 * Val(Text1.Text) - 3.5 * Log(Val(Text2.Text)) / Log(10)

End Sub

Для проверки выполнения простых и сложных условий используется оператор If : Then : Else.

Синтаксис:

If условие Then

инструкция

End If

If условие Then

инструкция 1

Else

инструкция 2

End If

Если условие, стоящее после If истинно (True), то выполняется инструкция 1, следующая за Then, если условие ложно (False), то выполняется инструкция 2, следующая за Else.

Примеры простых условий:

a > b

a < b

a = b

a ≥ b: a >= b

a ≤ b: a <= b

a ≠ b: a <> b

Примеры сложных условий:

a, b > c: a > c And b > c

a > c [b > c]: a > c Or b > c

Пример 4. вычисление балльности

Модифицировать код программы в примере 3, поставив ограничения на диапазон допустимых значений магнитуды M и глубины очага H.

Private Sub Command1_Click()

If Val(Text1.Text) <= 0 Or Val(Text1.Text) > 9 Or Val(Text2.Text) <= 0 Then

MsgBox "Ошибка ввода", vbOKOnly, "Внимание"

Else

Print 3 + 1.5 * Val(Text1.Text) - 3.5 * Log(Val(Text2.Text)) / Log(10)

End If

End Sub

Пример 5. характеристики землетрясения

Определить характеристики землетрясения по значениям магнитуды M и глубины очага H.

Ввод:

  1. магнитуда

  2. глубина очага

Вывод:

  1. тип

  2. зона действия

  3. балльность

  1. С помощью управляющих элементов создать интерфейс пользователя.

  1. В режиме выполнения приложение должно выглядеть следующим образом:

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

Sub Character()

Select Case Val(Text1.Text)

Case Is <= 0

MsgBox "Ошибка ввода", vbOKOnly, "Внимание"

Case 0 To 70

Text3.Text = "нормальное"

Case 70 To 300

Text3.Text = "промежуточное"

Case Is > 300

Text3.Text = "глубокофокусное"

End Select

End Sub

Sub Region()

...

End Sub

Private Sub Intensity()

...

End Sub

Private Sub Command1_Click()

Character

Region

Intensity

End Sub

последствия землетрясений

Возможные результаты воздействия землетрясения на здания:

  1. Легкие повреждения Трещины в штукатурке, откалывание небольших кусков штукатурки. Ущерб незначительный. Необходим текущий ремонт.

  2. Умеренные повреждения Трещины в стенах, откалывание штукатурки, падение черепицы. Ущерб 10–15% от стоимости здания. Необходим капитальный ремонт.

  3. Тяжелые повреждения Сквозные трещины в стенах, падение дымовых труб. Ущерб 30–40%. Необходим восстановительный ремонт.

  4. Разрушения Обрушение крупных частей здания. Ущерб 50%. Необходим снос здания.

  5. Обвалы Полное разрушение здания.

Классификация зданий по сейсмостойкости Jc:

Тип здания

Jc, баллы

Бескаркасные здания из местного материала без фундамента

4

Здания из кирпича-сырца на фундаменте

4.5

Здания с деревянным каркасом с легкими перекрытиями

5

Здания из кирпича или бетонных блоков

5.5

Бревенчатые дома

6

Каркасные железобетонные здания или крупнопанельные здания

6.5

Вероятность получения зданиями повреждений разной степени Pповр:

J – Jc

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

0

1

2

3

4

5

0

90%

10%

1

40%

50%

10%

2

10%

30%

50%

10%

3

0

10%

30%

50%

10%

4

0

0

10%

30%

50%

10%

5

0

0

0

10%

30%

60%

6

0

0

0

0

10%

90%

алгоритмизация оценки последствий землетрясений

Пример 6. ущерб от землетрясения

Определить нанесенный зданию ущерб от землетрясения по значению степени повреждения.

  1. С помощью управляющих элементов создать интерфейс пользователя.

  1. В режиме выполнения приложение должно выглядеть следующим образом:

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

Private Sub Command1_Click()

If Option1.Value = True Then

List1.List(0) = "Ущерб незначительный;"

List1.List(1) = "Необходим текущий ремонт"

ElseIf Option2.Value = True Then

List1.List(0) = "Ущерб 10-15% от стоимости здания;"

List1.List(1) = "Необходим капитальный ремонт"

ElseIf Option3.Value = True Then

List1.List(0) = "Ущерб 30-40% от стоимости здания;"

List1.List(1) = "Необходим восстановительный ремонт"

ElseIf Option4.Value = True Then

List1.List(0) = "Ущерб 50% от стоимости здания;"

List1.List(1) = "Необходим снос здания"

ElseIf Option5.Value = True Then

List1.List(0) = "Полное разрушение здания"

List1.List(1) = ""

End If

End Sub

Private Sub Command2_Click()

End

End Sub

Пример 7. Степень повреждения кирпичных домов

Определить степень повреждения кирпичных домов по значению балльности землетрясения.

J – 5.5

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

0

1

2

3

4

5

0–0.5

90%

10%

0.5–1.5

40%

50%

10%

1.5–2.5

10%

30%

50%

10%

2.5–3.5

0

10%

30%

50%

10%

3.5–4.5

0

0

10%

30%

50%

10%

4.5–5.5

0

0

0

10%

30%

60%

>5.5

0

0

0

0

10%

90%

  1. С помощью управляющих элементов создать интерфейс пользователя.

  1. В режиме выполнения приложение должно выглядеть следующим образом:

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

Private Sub Command1_Click()

Select Case Val(Text0.Text) - 5.5

Case Is < 0

MsgBox "Разрушений нет", vbOKOnly, "Сообщение"

Case 0 To 0.5

Text1.Text = "10%"

Text2.Text = ""

Text3.Text = ""

Text4.Text = ""

Text5.Text = ""

Case 0.5 To 1.5

Text1.Text = "50%"

Text2.Text = "10%"

Case 1.5 To 2.5

Text1.Text = "30%"

Text2.Text = "50%"

Text3.Text = "10%"

Case 2.5 To 3.5

Text1.Text = "10%"

Text2.Text = "30%"

Text3.Text = "50%"

Text4.Text = "10%"

Case 3.5 To 4.5

Text2.Text = "10%"

Text3.Text = "30%"

Text4.Text = "50%"

Text5.Text = "10%"

Case 4.5 To 5.5

Text2.Text = "10%"

Text4.Text = "30%"

Text5.Text = "60%"

Case Else

Text4.Text = "10%"

Text5.Text = "90%"

End Select

End Sub

Пример 8. Степень повреждения зданий

Определить степень повреждения разных типов зданий по значению балльности землетрясения.

  1. С помощью управляющих элементов создать интерфейс пользователя.

  1. В режиме выполнения приложение должно выглядеть следующим образом:

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

Private Sub Command1_Click()

Select Case Combo1.ListIndex

Case 0

J = 4

Case 1

J = 4.5

Case 2

J = 5

Case 3

J = 5.5

Case 4

J = 6

Case 5, 6

J = 6.5

End Select

Select Case Val(Text1.Text) - J

Case Is < 0

MsgBox "Разрушений нет", vbOKOnly, "Сообщение"

Case 0 To 0.5

Text2.Text = "10%"

Case 0.5 To 1.5

Text2.Text = "50%"

Text3.Text = "10%"

Case 1.5 To 2.5

Text2.Text = "30%"

Text3.Text = "50%"

Text4.Text = "10%"

Case 2.5 To 3.5

Text2.Text = "10%"

Text3.Text = "30%"

Text4.Text = "50%"

Text5.Text = "10%"

Case 3.5 To 4.5

Text3.Text = "10%"

Text4.Text = "30%"

Text5.Text = "50%"

Text6.Text = "10%"

Case 4.5 To 5.5

Text4.Text = "10%"

Text5.Text = "30%"

Text6.Text = "60%"

Case Else

Text5.Text = "10%"

Text6.Text = "90%"

End Select

End Sub

последствия землетрясений

Величина материального ущерба зависит от степени повреждения здания:

Степень повреждения зданий

1

2

3

4

5

УЩЕРБ, %

5%

15%

30%

50%

100%

Величина среднего ущерба определяется по формуле:

Damage=0.05*Pповр(1)+0.15*Pповр(2)+0.3*Pповр(3)+0.5*Pповр(4)+Pповр(5)

Пример 9. материальный ущерб

Отразить в последней программе материальный ущерб разных типов зданий.

Потери среди людей, находящихся в момент землетрясения внутри здания, зависит от степени повреждения здания:

ПОТЕРИ

Степень повреждения зданий

1

2

3

4

5

общие

0.0

0.0

0.05

0.5

0.95

безвозвратные

0.0

0.0

0.01

0.17

0.65

Поскольку степень повреждения здания является случайной величиной, вероятность безусловных потерь населения определяется по формулам:

  • общие потери

Pобщ=0.05*Pповр(3)+0.5*Pповр(4)+0.95*Pповр(5)

  • безвозвратные потери (доля жертв)

Pбезв=0.01*Pповр(3)+0.17*Pповр(4)+0.65*Pповр(5)

  • санитарные потери (доля раненых)

Pсан=Pобщ-Pбезв

Пример 10. последствия землетрясения

Отразить в последней программе потери населения, вызванные повреждением разных типов зданий.

  1. Интерфейс пользователя:

  1. Добавления к коду программы:

Text7.Text = 0.05 * Val(Text2.Text) + 0.15 * Val(Text3.Text) +

0.3 * Val(Text4.Text) + 0.5 * Val(Text5.Text) + Val(Text6.Text)

Text8.Text = 0.05 * Val(Text4.Text) + 0.5 * Val(Text5.Text) +

0.95 * Val(Text6.Text)

Text9.Text = 0.01 * Val(Text4.Text) + 0.17 * Val(Text5.Text) +

0.65 * Val(Text6.Text)

Text10.Text = Text8.Text - Text9.Text

статистические параметры землетрясений

Число землетрясений N – это дискретная случайная величина, которая характеризует повторяемость землетрясений в конкретном районе.

N = 0, 1, 2, 3...

Если наблюдать за числом землетрясений в течение нескольких лет, то окажется, что некоторые значения N реализуются чаще, чем другие.

Присвоим каждому значению случайной величины N число P(N), которое отражает частоту возникновения землетрясений.

Например:

N

0

1

2

3

4

5

P(N)

0.05

0.15

0.25

0.3

0.2

0.05

Причем должно выполняться равенство:

P(0)+P(1)+P(2)+P(3)+P(4)+P(5)=1

Числа P(N) имеют смысл вероятностей возникновения заданного числа землетрясений.

Оказывается, что вероятность появления N сильных землетрясений в течение промежутка времени t подчиняется распределению Пуассона:

Здесь λ – среднее число землетрясений в единицу времени t.

Время ожидания землетрясения T – это непрерывная случайная величина, которая характеризует момент наступления первого землетрясения в конкретном районе.

0 ≤ T ≤ ∞

Вероятность возникновения первого землетрясения в промежуток времени (0, t) подчиняется экспоненциальному распределению:

Данная величина называется также сейсмическим риском на интервале (0, t):

R(t)=P(T≤t)=1-e-λt

Пусть прогнозируемый период времени представляет собой интервал (t1, t2), где t1 – время, прошедшее с момента последнего землетрясения, t2 – расчетное время. Тогда сейсмический риск равен

R(t1,t2)=1-e-λ(t2-t1)

Числовыми характеристиками времени ожидания являются:

повторяемость землетрясения

равновероятные промежутки времени

(0,Me), (Me,∞)

Вероятность землетрясения на каждом из этих промежутков равна ½.

Число Me называется медианой

Пример 10. вероятность землетрясений

Для района, в котором происходит в среднем 3 сильных землетрясения за 100 лет, определить вероятности возникновения 0 ,1, 2 землетрясений в течение 10 лет.

Примечание:

λ=3/100=0.03

t=10

Вероятности:

P(N,10)=e-0.3 *(0.3)N/N!

P(0,10)=e-0.3

P(1,10)=e-0.3 *0.3

P(2,10)=e-0.3 *(0.3)2/2

Для округления дробной части числа до двух знаков можно использовать функцию

Round(число, 2)

  1. С помощью управляющих элементов создать интерфейс пользователя.

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

Private Sub Command1_Click()

List1.Clear

List1.AddItem "P(0) = " & Round(Exp(-0.3), 2)

List1.AddItem "P(1) = " & Round(Exp(-0.3) * 0.3, 2)

List1.AddItem "P(2) = " & Round(Exp(-0.3) * 0.3 ^ 2 / 2, 2)

End Sub

Пример 11. статистика землетрясений

По заданной частоте землетрясений λ определить сейсмический риск, повторяемость землетрясения и равновероятные промежутки времени.

Примечание:

  • Частота землетрясений

λ = число землетрясений/время наблюдения

  • Сейсмический риск

R=1-exp(-λt)

  • Повторяемость землетрясения

E=1/λ

  • Равновероятные периоды времени

(0,Me), (Me,∞)

Me=ln2/λ

Ввод:

  1. число землетрясений

  2. время наблюдения

  3. прогнозируемый период времени t

Вывод:

  1. R(t)

  2. E

  3. Me

  1. С помощью управляющих элементов создать интерфейс пользователя.

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

Private Sub Command1_Click()

Dim Y As Single

Y = Val(Text3.Text) / Val(Text2.Text)

Text4.Text = Round(1 - Exp(-Y * Val(Text1.Text)), 2)

Text5.Text = Round(1 / Y, 1)

List1.Clear

List1.AddItem " < " & Round(Log(2) / Y, 1)

List1.AddItem " > " & Round(Log(2) / Y, 1)

End Sub

Private Sub Command2_Click()

End

End Sub