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

4 . Расчет в Visual Basic

Рис. 22. Вид формы для решения обратной угловой засечки по формулам Пранис-Праневича.

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

Function ctg(x)

ctg = Cos(x) / Sin(x)

End Function

Эту функцию будем теперь использовать в процедуре обработки события. Сначала необходимо прочитать введенные в поля значения координат и углов. Для координат вершин это можно сделать с помощью конструкций:

X1 = Val(TextBox1.Text): Y1 = Val(TextBox7.Text)

X2 = Val(TextBox8.Text): Y2 = Val(TextBox2.Text)

X3 = Val(TextBox3.Text): Y3 = Val(TextBox9.Text)

Значение углов в градусах, минутах и секундах с долями может быть введено с помощью операторов:

al = Val(TextBox4.Text) + Val(TextBox5.Text) / 60

be = Val(TextBox10.Text) + Val(TextBox6.Text) / 60

После ввода координат и углов, введя постоянную величину Pi = 4 * Atn(1) необходимо выполнить перевод углов из градусов в радианы:

al = al * Pi / 180: be = be * Pi / 180

Затем мы вводим основные расчетные формулы:

tgq = ((Y2 - Y1) / Tan(al) - (y3 - Y2) / Tan(be) + X1 - x3) / ((X2 - X1) / Tan(al) - (x3 - X2) / Tan(be) - Y1 + y3)

n = (Y2 - Y1) * (ctg(al) - tgq) - (X2 - X1) * (1 + ctg(al) * tgq)

dx = n / (1 + tgq ^ 2): dy = dx * tgq

xp = X2 + dx: yp = Y2 + dy

Последним этапом является вывод ответа:

Label1.Caption = "xp= " + Str(xp)

Label2.Caption = "yp= " + Str(yp)

Таким образом, весь вычисляющий код будет иметь вид:

Function ctg(x)

ctg = Cos(x) / Sin(x)

End Function

Private Sub CommandButton1_Click()

X1 = Val(TextBox1.Text): Y1 = Val(TextBox7.Text)

X2 = Val(TextBox8.Text): Y2 = Val(TextBox2.Text)

x3 = Val(TextBox3.Text): y3 = Val(TextBox9.Text)

al = Val(TextBox4.Text) + Val(TextBox5.Text) / 60

be = Val(TextBox10.Text) + Val(TextBox6.Text) / 60

Pi = 4 * Atn(1)

al = al * Pi / 180: be = be * Pi / 180

tgq = ((Y2 - Y1) / Tan(al) - (y3 - Y2) / Tan(be) + X1 - x3) / ((X2 - X1) / Tan(al) - (x3 - X2) / Tan(be) - Y1 + y3)

n = (Y2 - Y1) * (ctg(al) - tgq) - (X2 - X1) * (1 + ctg(al) * tgq)

dx = n / (1 + tgq ^ 2): dy = dx * tgq

xp = X2 + dx: yp = Y2 + dy

Label1.Caption = "xp= " + Str(xp)

Label2.Caption = "yp= " + Str(yp)

End Sub

Задание 8 Решение творческого задания для курсовой работы (Расчет токсичных выбросов в атмосферу при эксплуатации автомобилей)

Нужно определить мощность эмиссии загрязняющих веществ qi, мг/м·с, рассчитать концентрации загрязняющих веществ в атмосферном воздухе(С, мг/м3 )на расстоянии от дороги 10м.

Расчет выполняют в следующей последовательности:

I. Определяют мощность эмиссии qi, мг/м·с, загрязняющих веществ отдельно для каждого компонента окиси углерода на конкретном участке дороги по формуле:

qi=0,206·m·[∑(Gik·Nik·Kk) + ∑(Giд·Niд·Kд)]

где m - коэффициент, учитывающий дорожные и транспортные условия, принимается по графику на рис. 23 в зависимости от средней скорости транспортного потока V, км/ч;

Gik-средний эксплуатационный расход топлива для данного типа карбюратор­ных автомобилей, принимается по табл. 10, л/км; Giд - то же для дизельных автомобилей, л/км; Nik-интенсивность движения каждого выделенного типа карбюраторных автомобилей, авт./ч; Niд - то же дизельных автомобилей, авт./ч; Кк и Кд - коэффициенты, принимаемые для данного компонента загрязнения: с карбюраторными и дизельными типами ДВС, соответственно, по таблице 11.

2 . Рассчитывают концентрации токсичных компонентов отработавших газов в атмосферном воздухе Сj, мг/м3, на различном удалении от дороги l, используя модель Гауссового распределения примесей в атмосфере на небольших высотах, по формуле:

Сj=

где δ - стандартное отклонение Гауссового рассеивания в вертикальном направлении по табл. 12, м; vв - скорость ветра, преобладающего в расчетный период, м/с, φ - угол, составляемый направлением ветра к трассе дороги (при угле ме­нее 300 принять равным 0,5); Fj - фоновая концентрация загрязнения воздуха, мг/м3.