Лабораторная работа. Основы работы в VBA. Линейное программирование
5. Линейные алгоритмы
5.1. Примеры решения задач с использованием длинейного алгоритма
Пример 2. Вычислить значение формулы при различных значениях переменной х. Значения переменной х вводить в градусах.
\( y= \frac{cos x + \sqrt[3]{ \frac{x}{2} +2}}{(3-tg x)^2} +|2-5x|^x \)
Sub primer_2()
'определяем тип переменных
Dim x As Single, x_rad As Single, pi As Single
Dim y As Double
'вводим значение х по запросу программы
x = InputBox("Введите значение х в градусах", "Запрос задачи")
'вычисляем значение числа Пи
pi = 4 * Atn(1)
' переводим х в радианы, так как в тригонометрических функциях
' аргумент должен быть в радианах
x_rad = x * pi / 180
'производим расчет заданного математического выражения
y = (Cos(x_rad) + (x / 2 + 2) ^ (1 / 3)) / (3 - Tan(x_rad)) ^ 2 + Abs(2 - 5 * x) ^ x
'выводим ответ в виде диалогового окна
MsgBox "Значение функции при х=" & x & " градусов равно" & y, , "Решение задачи"
End Sub
Результат работы программы:
Пример 3. Составить блок-схему и программу расчета площади треугольника по формуле Герона, а, b, с – длины сторон.
Решение. Формула Герона имеет вид:
\( s= \sqrt{p(p-a)(p-b)(p-c)} \)
где \( p= \frac{a+b+c}{2} \) – полупериметр.
Sub primer_3()
'определяем тип переменных
Dim a As Single, b As Single, c As Single, p As Single, s As Single
'вводим значение длин сторон треугольника по запросу программы
a = InputBox("Введите длину a сторны треугольника", "Запрос 1 задачи")
b = InputBox("Введите длину b сторны треугольника", "Запрос 2 задачи")
c = InputBox("Введите длину c сторны треугольника", "Запрос 3 задачи")
'вычисляем значение полупериметра
p = (a + b + c) / 2
'вычисляем площадь треугольника по формуле Герона
p = Sqr(p * (p - a) * (p - b) * (p - c))
'выводим ответ в виде диалогового окна
MsgBox "При длинах сторон " & a & ", " & b & " и " & c & " площадь треугольника равна " & p, , "Решение задачи"
End Sub
Результат работы программы:
Пример 4. Составьте программу решения системы линейных уравнений
a1 x+b1 x=c1
a2x+b2 x=c2
по правилу Крамера
\( x= \frac{c_1 b_2 - c_2 b_1}{a_1b_2 - a_2b_1} \) ; \( x= \frac{a_1 c_2 - a_2 c_1}{a_1b_2 - a_2b_1} \)
Sub primer_4()
'определяем тип переменных
Dim a1 As Single, a2 As Single, b1 As Single, b2 As Single
Dim c1 As Single, c2 As Single, x As Single, y As Single
'вводим значения коэффициентов уравнения из рабочего листа Excel
a1 = Cells(2, 2)
b1 = Cells(3, 2)
c1 = Cells(4, 2)
a2 = Cells(5, 2)
b2 = Cells(6, 2)
c2 = Cells(7, 2)
'вычисляем значения корней уравнения по правилу Крамера
x = (c1 * b2 - c2 * b1) / (a1 * b2 - a2 * b1)
y = (a1 * c2 - a2 * c1) / (a1 * b2 - a2 * b1)
'выводим вычисленные значения корней в рабочий лист Excel
Cells(9, 2) = x
Cells(10, 2) = y
End Sub
Ответ: