- •Процедуры, константы, переменные
- •Задача 2. Составить программу перевода значения угла αº (данного в градусах) в радианы.
- •Условный оператор. Оператор If ... Then
- •Задача 9. Числа a, b, c тогда только тогда являются сторонами треугольника , когда существуют такие положительные числа x, y, z, что
- •Строковые переменные
- •Функции преобразования типов
- •1.2. Операция присваивания
- •1.3. Математические операции
- •1.5. Логические операции
Навести курсор на Кнопку в режиме конструктора. Вызвать контекстное меню ПКМ. Выбрать пункт
Исходный текст. Автоматически попадаем в режим редактора VBA и появляется заголовок Процедуры-События:
Набирать процедуру на
месте курсора:
Private Sub CommandBatton1_Click() Dim a, b, h As Single
Dim S, P As Single ’Ввод данных
a = Range(“A1”).Value
b = Range(“B1”).Value
h = Range(“C1”).Value ’Вычисление
S = a * h
P = 2 * (a + b)
’Вывод результатов в ячейки B4 и B5 Range(“B4”).Value = “Площадь = “ & S Range(“B5”).Value = “Периметр = “ & P End Sub
Этап 5. Выполнение
Перейти на рабочий лист (View→Microsoft Excel или Alt+F11). Выйти из режима Конструктора, левой клавишей мыши (ЛКМ) нажать Кнопку. В ячейке В4 появится результат «Площадь =
18», в В5 Þ «Периметр = 22».
Этап 6. Переименование листа Навести курсор на закладку Лист1, правой клавишей мыши (ПКМ) вызвать контекстное меню, выбрать пункт Переименовать, удалить старое название
листа и с клавиатуры набрать новое Площадь_Периметр, нажать Enter.
Задачи для самостоятельной работы
Задача 2. Составить программу перевода значения угла αº (данного в градусах) в радианы.
7
Задача 3. |
|
Составить |
|
|
программу. |
|
|
|
|
Комплексное |
число |
заданное |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
z = x + iy |
|
|
|
|
|
|
|
|
||||||||
действительной и мнимой части |
записать в тригонометрической форме |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
æ |
y |
ö |
|
||
z = r(cosϕ + |
i sin ϕ ) . Примечание: r = |
|
|
|
|
|
|
|
|
||||||||||||||||||||||
x2 |
+ |
y |
2 , ϕ = arctgç |
|
|
÷ . |
|
||||||||||||||||||||||||
x |
|
||||||||||||||||||||||||||||||
Задача 4. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
è |
ø |
|
||||||
|
Составить программу вычисления угла (в градусах) между двумя |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k1 − k2 |
|
|
|
|
|
|||||||||
прямыми y1 = k1x + b1 . Примечание: tgϕ = |
|
|
. |
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
y2 = k2 x + b2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 + k1k2 |
|
|
|
|
||||||||||
Задача 5. |
|
Составить |
программу |
вычисления угла |
(в градусах) между |
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
векторами a(xa , ya , za ) и |
|
|
|
( xb , yb , zb ) . |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
b |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
(a × |
|
|
) |
|
|
|
|
|
xa xb + ya yb + za zb |
|
|
|
|
|||||||||||||
Примечание: cosϕ = |
|
b |
= |
|
|
|
|
. |
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
a |
|
× |
b |
|
|
xa |
2 + ya 2 + za |
2 |
|
|
xb 2 + yb 2 + zb 2 |
|
||||||||||||||||||
В VBA |
Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1) |
|
|
|
|
Лабораторная работа № ПР2 «Работа с условным оператором If ... Then»
Цель работы: закрепить полученные в лабораторной работе № 1 навыки. Научиться работать с алгоритмом ветвления в кодах VBA.
Теоретические сведения
Условный оператор. Оператор If ... Then
В VBA есть два типа операторов If ... Then — линейный и блочный. Линейный оператор If ... Then используется для того, чтобы выполнить
какой-либо один оператор, если некоторое условие будет истинным. Условие является выражением или функцией, истинность которого оценивается.
Синтаксическая конструкция линейного оператора:
If <Условие> Then <Оператор_1> Else <Оператор_2>
При значении Условия = True выполняется Оператор_1, следующий за словом Then, а затем следующий за условным оператор. Если Условие принимает значение False, то выполняется следующий за Else оператор Оператор_2. Else может отсутствовать, тогда оператор называется безальтернативным и, если Условие= True, то выполняется Оператор_1, а затем следующий за условным оператор. Если Условие= False, а выполняется следующий оператор.
Блочный оператор имеет синтаксис: If <Условие_1> Then <Операторы_1, если Условие=True> [ElseIf <Условие_2> Then
<Операторы_2, если Условие_2=True>] [ElseIf <Условие_3> Then <Операторы_3, если Условие_3=False>]
…
[Else
<Операторы>]
8
End If
<Условие_1> – необходимая часть оператора, это то Условие, которое должно проверяться. Если значение этого условия True, то выполняется Операторы_1 следующие за словом Then. Если необходимо проверить еще условия, то добавляется зарезервированное слово ElseIf с последующим условием. Если Условие_2=True, то выполняются Операторы_2. Если необходимы еще условия, то добавляются еще структура ElseIf и если все Условия не выполняются, то выполняются Операторы следующие за словом Else.
Операторы If могут быть вложенными друг в друга. Такое вложение операторов применяется, если нужно проверить какое-либо условие при другом условии, которое является True и включить альтернативу Else.
Задача 6 (алгоритм ветвления) Найти наибольшее из трех чисел a,b и c. Составить программу.
Решение
Этап 1. Математическая часть
Дано: три числа a, b, c.
Найти: наибольшее из трех чисел.
(!) Самостоятельно разработать алгоритм на естественном языке и составить блок-схему.
Этап 2. Ввод данных в таблицу Excel
В ячейку А1 вводится значение числа a, в ячейку B1 – значение числа b, в ячейку C1 – значение числа c.
Этап 3. Определение переменных
Вводятся: a, b, c. Выводятся (результат): max.
Этап 4. Написание процедуры
На рабочем листе Лист1 при помощи Элементов управления создать элемент
Кнопка (СommandBatton1).
Навести курсор мыши на Кнопку в режиме конструктора (на панели Элементы управления нажата первая кнопка (линейка с треугольником)). Вызвать контекстное меню ПКМ Выбрать пункт Свойства → закладку Alpabetic, в списке свойств выбрать Caption, справа в поле ввода удалить старое название и ввести новое название кнопки Максимальное число.
Навести курсор на Кнопку в режиме конструктора. Вызвать контекстное меню ПКМ. Выбрать пункт Исходный текст. Автоматически попадаем в режим редактора VBA и появляется заголовок Процедуры-События:
Набирать процедуру на месте курсора:
Private Sub CommandButton1_Click()
Dim a, b, c As Single Dim max As Single
’Ввод данных
a = Range("A1").Value
b = Range("B1").Value
c = Range("C1").Value
’Вычисление
9
If a > b And a > c Then max = a
Else
If b > c Then max = b
Else max = c
End If
End If
’Вывод результатов в ячейку B4
Range("B4").Value = "Максимальное число = " & max End Sub
Этап 5. Выполнение.
Перейти на рабочий лист (View→Microsoft Excel или Alt+F11). Выйти из режима Конструктора, левой клавишей мыши (ЛКМ) нажать Кнопку. В ячейке В4 появится результат «Максимальное число = 10».
Этап 6. Переименование листа.
Навести курсор на закладку Лист1, правой клавишей мыши (ПКМ) вызвать контекстное меню, выбрать пункт Переименовать, удалить старое название листа и с клавиатуры набрать новое Максимальное_чсило, нажать Enter.
Задачи для самостоятельной работы
Задача 7. |
Определить если x [a,b], то вычислить |
|
y=[x]. Вывести |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
соответствующее сообщение. |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
ì |
|
|
|
|
|
|
|
||
|
|
|
|
x - |
6 |
|
|
, x < - π |
|
|||
|
|
|
|
|
|
|||||||
|
|
|
ï |
|
|
|
|
|
|
|
- π < x £ 0 |
|
|
|
|
|
|
|
|
|
|
|
|
||
Задача 8. |
Найти значение функции y в точке x. |
ï sin 2x - 3x, |
. |
|||||||||
y = í |
0.5x |
|
|
|
|
|
|
|||||
|
|
|
ï e |
|
|
, |
0 < |
x < 2π |
|
|||
|
|
|
ï |
|
|
|
|
|
|
x ³ |
2π |
|
|
|
|
î ln 3x, |
|
|
|
|
10