Лабораторная работа. Основы работы в 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

 

Ответ: