Основы работы с редакторами 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 (использованием макросов):

Коэффициент А=

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



Используя макрорекордер, создайте макрос для задачи. 

Закрепите его за элементом управления в тексте документа или рабочей книги.

В среде 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