Основы работы с редакторами MS Word, MS Excel и Visual Basic
1
Задача 1
Найти корни квадратного уравнения Ах2 + Вх + С = 0 по соотношениям X1 = (-B+D)/A/2; X2 = - (B+D)/A/2, где D=(B2 -4AC)0.5
Лист Excel:
Таблица word (использованием макросов):
Коэффициент А= |
|
Коэффициент В= |
|
Коэффициент С= |
|
Дискриминант D= |
|
Корень Х1= |
|
Корень Х2= |
Таблица Word (использование меню Таблица Формула, при изменении входных данных для обновления результатов необходимо в контекстном меню результатов выбрать строку Обновить поле)
Коэффициент А= |
5 |
Коэффициент В= |
10 |
Коэффициент С= |
-4 |
Дискриминант D= |
180 |
Корень Х1= |
-2,342 |
Корень Х2= |
0,342 |
Формулы сокращенного умножения:
Гиперссылки на файл , место в документе, электронную почту.
Задача – Вычисление параметров треугольника
Исходные данные: |
|
Сторона А= |
4 |
Сторона B= |
6 |
Сторона C= |
5 |
Результаты: |
|
Косинус угла |
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>, y>1>, z>1>) до плоскости 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
Используя макрорекордер, создайте макрос для задачи.
Закрепите его за элементом управления в тексте документа или рабочей книги.
В среде 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
Определить наличие корня функции на интервале [x>1>,x>2>] и построить её график. Найти те значения коэффициентов А,В при котором на заданном интервале есть корень. При заданном значении коэффициентов А,В подобрать интервал, содержащий корень функции.
Для нахождения интервала пользуемся средствами Поиска решения, устанавливая следующие параметры (дополнительное ограничение на интервал: , т.к. функция имеет именно такую область определения):
Для нахождения коэффициентов также пользуемся средствами Поиска решения, устанавливая следующие параметры:
В обоих случаях после нажатия кнопки Выполнить, появляется следующее окно, в котором нужно только нажать кнопку ОК:
Найдём решение данной задачи с использованием формы пользователя.
Задача 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