Линейные алгоритмы используют для решения относительно простых задач, не требующих разветвляющихся или циклических вычислений. Такими задачами являются расчеты математических формул, ввод и вывод информации, некоторые действия сфайлами. Линейные алгоритмы объединяет то, что вычисления в них проходят последовательно, шаг за шагом, oт начала к концу (сверху вниз по блок-схеме).
  Простейшая программа решения математического примера имеет три основных действия: задание типа переменных, ввод данных, расчет выражения, вывод результата .
  Пример 1.  Вычислить значение функции при х  = 45°.
   
  
  Sub primer_1()
  Dim x As Integer
  Dim y As Single
  Dim pi As Double, x_rad As Double
  'определяем численное значение х
  x = 45
  'определяем численное значение числа Пи
  pi = 4 * Atn(1)
  ' переводим х в радианы, так как в тригонометрических функциях
  ' аргумент должен быть в радианах
  x_rad = x * pi / 180
  ' производим расчет заданного математического выражения
  y = (2 * Cos(x_rad - x_rad / 6) + x) / (1 / 2 + Sin(x_rad) ^ 2 + Sqr(x))
  'выводим ответ в диалоговое окно
  MsgBox "y=" & y
  End Sub
   
  
   
  Пример 2. Вычислить значение формулы при различных значениях переменной х . Значения переменной х  вводить в градусах.
   
  
  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 , с  – длины сторон.
  Решение.  Формула Герона имеет вид:
   
  
   
  где 
  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.  Составьте программу решения системы линейных уравнений
   
  
   
  по правилу Крамера
   
  
   
  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
   
  Ответ: 
  
   
  Пример 7.  Составьте программу вычисления корней квадратного уравнения
   
    
   
  в действительной области.
   
  Sub primer_5()
  'определяем тип переменных
  Dim a As Single, b As Single, c As Single, discriminant As Single
  Dim x1 As Single, x2 As Single
  'вводим значения коэффициентов уравнения по запросу программы
  a = InputBox("Введите значение коэффициента a=", "Запрос 1 задачи")
  b = InputBox("Введите значение коэффициента b=", "Запрос 2 задачи")
  c = InputBox("Введите значение коэффициента c=", "Запрос 3 задачи")
  'вычисляем дискриминант
  discriminant = b ^ 2 - 4 * a * c
  'вычисляем значения корней квадратного уравнения
  x1 = (-b - Sqr(discriminant)) / (2 * a)
  x2 = (-b + Sqr(discriminant)) / (2 * a)
  'выводим значения корней квадратного уравнения в диалоговое окно
  MsgBox "Корень x1=" & x1 & ", корень x2=" & x2
  End Sub
   
  Результат работы программы:
   
  
   
  
   
  
   
  
   
  Пример 6.  Вычислить общее сопротивление трех резисторов, соединенных последовательно и параллельно.
   
  Sub primer_6()
  'определяем тип переменных
  Dim r1 As Single, r2 As Single, r3 As Single
  Dim r_parall As Single, r_posled As Single
  'вводим значения коэффициентов уравнения по запросу программы
  r1 = InputBox("Введите значение первого сопротивления R1=", "Запрос 1 задачи")
  r2 = InputBox("Введите значение второго сопротивления R2=", "Запрос 2 задачи")
  r3 = InputBox("Введите значение третьего сопротивления R3=", "Запрос 3 задачи")
  'вычисляем сопротивление резисторов, соединенных последовательно
  r_posled = r1 + r2 + r3
  'вычисляем сопротивление резисторов, соединенных параллельно
  r_parall = 1 / (1 / r1 + 1 / r2 + 1 / r3)
  'выводим значения сопротивлений
  MsgBox "Параллельное соединение =" & r_parall & ", последовательное соединение" & r_posled
  End Sub
   
  Пример 7.  Вычислить путь, пройденный телом при равноускоренном движении, по формуле
  
  
   
  Sub primer_7()
  'определяем тип переменных
  Dim v0 As Integer, a As Integer, t As Integer
  Dim s As Single
  'определяем значения исходных данных
  v0 = 10: a = 5
  t = InputBox("Введите значение времени t=", "Запрос задачи")
  'вычисляем путь, пройденный телом
  s = v0 * t + a * t ^ 2 / 2
  'выводим на экран рассчитанный путь
  MsgBox "На " & t & " секунде тело пройдет " & s & " метров"
  End Sub
   
  Результат работы программы: