Основы работы с редакторами MS Word, MS Excel и Visual Basic
Основы работы с редакторами MS Word, MS Excel и Visual Basic
12 Задача 1 Найти корни квадратного уравнения Ах2 + Вх + С = 0 по соотношениям X1 = (-B+D)/A/2; X2 = - (B+D)/A/2, где D=(B2 -4AC)0.5 Лист Excel: Таблица word (использованием макросов): |
Коэффициент А= | 2 | | Коэффициент В= | 7 | | Коэффициент С= | -3 | | | | Дискриминант D= | 73 | | Корень Х1= | | | Корень Х2= | | | |
Таблица Word (использование меню Таблица Формула, при изменении входных данных для обновления результатов необходимо в контекстном меню результатов выбрать строку Обновить поле) |
Коэффициент А= | 52 | | Коэффициент В= | 107 | | Коэффициент С= | -4-3 | | Дискриминант D= | 180 | | Корень Х1= | -2,342 | | Корень Х2= | 0,342 | | |
Формулы сокращенного умножения: Гиперссылки на файл , место в документе, электронную почту. Задача - Вычисление параметров треугольника |
Исходные данные: | | | Сторона А= | 4 | | Сторона B= | 6 | | Сторона C= | 5 | | Результаты: | 1!Синтаксическая ошибка, AND | | Косинус угла | 0,75 | | Косинус угла | 0,12 | | Косинус угла | 0,56 | | Периметр | 15 | | Площадь | 9,922 | | |
Задача 2 Создайте ведомость любого содержания с помощью таблиц редактора Word. (ведомость на выдачу заработной платы.) |
Минимальный оклад | Отчисления в фонды | Подоходный налог | | | | | | 132 | 1 | 13 | | | | | | | | | | | | | | Фамилия | Год рожден. | Разряд | Начислить | В фонды | Налоги | К выдаче | | Репка | 2004 | 12 | 1584 | 15,84 | 205,92 | 1362,24 | | Бабка | 1948 | 11 | 1452 | 14,52 | 188,76 | 1248,72 | | Дедка | 1940 | 17 | 2244 | 22,44 | 291,72 | 1929,84 | | Внучка | 1980 | 15 | 1980 | 19,8 | 257,4 | 1702,8 | | Жучка | 1999 | 8 | 1056 | 10,56 | 15,84 | 1029,6 | | Мышка | 2003 | 3 | 396 | 3,96 | 51,48 | 340,56 | | |
Задача 3 Запишите макрорекордером код любой операции форматирования текста. или меню Сервис Макрос… Макросы Макрос1 Выполнить.
Задача 4 Вычисление расстояний от точки прямой линии до плоскости; вычисление расстояния между плоскостями. Расстоянием от точки до плоскости называется длина перпендикуляра, опущенного из точки на плоскость. Расстояние от точки М(х1, y1, z1) до плоскости Ax + By + Cz + D = 0 вычисляется по формуле Расстояние между плоскостями и можно определить как расстояние между прямыми, лежащими в этих плоскостях и заданными своими направляющими векторами , и точками, через которые они проходят , соответственно. Известно, что прямая лежит на плоскости тогда и только тогда, когда . Координаты точек можно взять такими: . Расстояние между прямыми находят по формуле . С учётом того, что известны уравнения плоскостей (коэффициенты), получим следующий вид формулы: Решим поставленную задачу. В таблицах Word. |
Исходные данные: | | | | | | Координаты точки М: | x | y | z | | | | 1 | 0 | 4 | 1,5 | | Коэффициенты в уравнении плоскости р: | A | B | C | D | | | 4 | 2 | 3 | 1 | | Коэффициенты в уравнении плоскости р1: | -3 | 2 | 4 | 4 | | Коэффициенты в уравнении плоскости р2: | -2 | 1 | 3 | 0 | | Результаты: | | | | | | Расстояние от точки М до плоскости р: | 3,16 | | Расстояние между плоскостями р1 и р2: | 0,41 | | |
В таблицах Excel. Создайте функцию пользователя для Мастера Функций В редакторе Visual Basic создадим модуль с функциями: Dim m(3), p(4), p1(4), p2(4) As Double Function RastMPi(m, p) As Double RastMPi = Abs(p(1) * m(1) + p(2) * m(2) + p(3) * m(3) + p(4)) / ((p(1)) ^ 2 + (p(2)) ^ 2 + (p(3)) ^ 2) ^ 0.5 End Function Function RastP1P2(p1, p2) As Double RastP1P2 = Abs((p1(4) / p1(3) - p2(4) / p2(3)) * (p1(1) * p2(2) - p2(1) * p1(2))) / ((p1(2) * p2(3) - p2(2) * p1(3)) ^ 2 + (p1(1) * p2(3) - p2(1) * p1(3)) ^ 2 + (p1(1) * p2(2) - p2(1) * p1(2)) ^ 2) ^ 0.5 End Function 1. Используя макрорекордер, создайте макрос для задачи. 2. Закрепите его за элементом управления в тексте документа или рабочей книги. В среде VBA создадим форму вида: На нажатие кнопки Рассчитать определим процедуру: Private Sub CommandButton1_Click() Dim x, y, z, A, B, C, D, A1, B1, C1, D1, A2, B2, C2, D2 As Double x = Int(TextBox1.Text) y = Int(TextBox2.Text) z = Int(TextBox3.Text) A = Int(TextBox4.Text) B = Int(TextBox5.Text) C = Int(TextBox6.Text) D = Int(TextBox7.Text) A1 = Int(TextBox11.Text) B1 = Int(TextBox10.Text) C1 = Int(TextBox9.Text) D1 = Int(TextBox8.Text) A2 = Int(TextBox15.Text) B2 = Int(TextBox14.Text) C2 = Int(TextBox13.Text) D2 = Int(TextBox12.Text) Label9.Caption = Str(Abs(A * x + B * y + C * z + D) / (A ^ 2 + B ^ 2 + C ^ 2) ^ 0.5) Label10.Caption = Str(Abs((D1 / C1 - D2 / C2) * (A1 * B2 - A2 * B1)) / ((B1 * C2 - B2 * C1) ^ 2 + (A1 * C2 - A2 * C1) ^ 2 + (A1 * B2 - A2 * B1) ^ 2) ^ 0.5) End Sub В результате получим следующее решение: Задача 5 Определить наличие корня функции на интервале [x1,x2] и построить её график. Найти те значения коэффициентов А,В при котором на заданном интервале есть корень. При заданном значении коэффициентов А,В подобрать интервал, содержащий корень функции. Для нахождения интервала пользуемся средствами Поиска решения, устанавливая следующие параметры (дополнительное ограничение на интервал: , т.к. функция имеет именно такую область определения): Для нахождения коэффициентов также пользуемся средствами Поиска решения, устанавливая следующие параметры: В обоих случаях после нажатия кнопки Выполнить, появляется следующее окно, в котором нужно только нажать кнопку ОК: Найдём решение данной задачи с использованием формы пользователя.
Задача 6 Реализовать задачу своего варианта средствами VBA любого приложения, используя стандартный модуль, форму пользователя, элементы управления в документе, книге. Вычисление числа сочетаний, размещений, перестановок. Используя элементы управления: |
Исходные данные: | | | m= | | | n= | | | Результаты: | | | Число сочетаний | | | Число размещений | | | Число перестановок | | | |
Используя форму пользователя: Создадим форму вида: На нажатие кнопки Рассчитать определим следующую процедуру: Private Sub CommandButton1_Click() m = TextBox1.Text n = TextBox2.Text If m < n Then Label6.Caption = Fact(n) / (Fact(m) * Fact(n - m)) Label7.Caption = Fact(n) / Fact(n - m) Label8.Caption = Fact(n) Else response = MsgBox("Введите n > m", vbOKOnly, "Ошибка ввода данных") Label6.Caption = "" Label7.Caption = "" Label8.Caption = "" End If End Sub В тексте процедуры используется вспомогательная функция, подсчитывающая значение n! Приведём текст данной функции: Function Fact(n) As Long If n = 0 Then Fact = 1 Else Fact = Fact(n - 1) * n End If End Function
|