КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Линейные алгоритмыЛекция № 24
Линейные алгоритмы используют для решения относительно простых задач, не требующих разветвляющихся или циклических вычислений. Такими задачами являются расчеты математических формул, ввод и вывод информации, некоторые действия с файлами. Линейные алгоритмы объединяет то, что вычисления в них проходят последовательно, шаг за шагом, 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
Ответ:
Пример 5. Составьте программу вычисления корней квадратного уравнения
в действительной области.
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
Результат работы программы:
Дата добавления: 2014-01-04; Просмотров: 643; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |