Lab_VBA_№2

advertisement
Лабораторная работа № 2
2 часа
ЦЕЛЬ РАБОТЫ: Изучение оператора условия IF.
КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ:
Оператор ветвления позволяет выбирать и выполнять действия в
зависимости от истинности некоторого условия. Имеется два варианта
синтаксиса:
1) однострочная форма записи условного оператора:
IF условие Then [операторы 1] [Else операторы 2]
2) оператор IF расположен на нескольких строках (блочная форма записи):
IF условие 1 Then
[операторы 1]
[ElseIf условие – n Then
[операторы-n ]…
[Else
[ИначеОператоры]]
End If
Здесь условие обязательно в обоих вариантах. Оно может быть
числовым или строковым выражением со значениями TRUE или FALSE. Если
условие истинно (TRUE), выполняется последовательность “операторы 1”,
если ложно, “операторы 2”.
Пример записи оператора:
‘Условный оператор в виде одной строки:
IF A>10 Then A=A+1: B=B+A: C=C+B ELSE C=A*B: A=C+2
‘тот же условный оператор в виде блока:
IF A>10 Then
A=A+1: B=B+A
C=C+B
ELSE
C=A*B: A=C+2
End If
ПРИМЕР ИСПОЛЬЗОВАНИЯ ОПЕРАТОРА УСЛОВИЯ
Ввести Х, вычислить F по формуле:
 x / 2, если x  0
F 
( x  1) / 2, если x  0
СХЕМА АЛГОРИТМА ПРОГРАММЫ
НАЧАЛО
начало
Блок начала программы
Хх
ДА
Ввод данных
X>0
Х>0
Х/2
X/2
НЕТ
(х+1)/2
(X+1)/2
FF
Блок проверки условия
Вычислительный
процесс
Вывод результата
вычислений
конец
конец
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ:
1.
2.
3.
4.
5.
В Ячейку А1 ввести текст “Исходные данные”
В ячейку А2 ввести текст “Х=”
В ячейку В2 ввести значение Х.
В ячейку C1 ввести текст “результат при х>0”
В ячейку D1 ввести текст “ результат при х<0”
6.
7.
8.
9.
Выполнить команду СЕРВИС /МАКРОС/РЕДАКТОР VBA
Выполнить команду ВСТАВКА/МОДУЛЬ
Ввести имя модуля SUB LL()
Набрать текст программы:
Sub LL ()
X= Worksheets(1).Range(“B2”).Value ‘ присвоение идентификатору
‘ X числового значения ячейки B2 рабочего листа
IF Х>0 Then
Блок
F=X/2
Worksheets(1).Range(“C2”).Value = F
оператора
ELSE
F=(X+1)/2
Worksheets(1).Range(“D2”).Value = F
if
End If
End Sub ‘конец процедуры
ЗАДАНИЯ К ВЫПОЛНЕНИЮ:
1.Вычислить значение функции:
3

 x  2 x, если x  0
f 
2

 x  5 x  25, если x  0
2.Вычислить значение функции:
sin( x), если x  0

f  0, если x  0
cos( x), если x  0

3.Ввести три целых числа и определить, сумма каких двух является
наибольшей. Числа вводить, используя InputBox.
4.Ввести число Х и определить, делится ли оно:
1) на 2,
2) на 3,
3) на 5.
Результаты проверок вывести. Числа вводить, используя InputBox.
5. Вычислить значение функции:
2

sin( x)  cos( x)  x , если
f 
2

 x  2 x  5, если x  0
x0
6.Ввести число Х и определить, делится ли оно на 8. Число вводить, используя
InputBox.
7. Вычислить значение функции:
 x  cos( x), если x  0
f 
tg( x) / 2, если x  0
8. Ввести число Х и определить, является ли оно четным.
9. Ввести число N и определить делится ли оно без остатка на число M. Числа
вводить, используя InputBox.
10. Вычислить значение функции:
 x , если x  0
f 
tg( x) / 2, если x  0
Номер
варианта
Выражение
Исходные
данные
1
2
3
11
x  y 2  x  y , если x  y  0


a  x  y 2  25 , если x  y  0

2
если x  y  0
x  y   1,
12
3

2
ln x / y   x  y , если x  y  0

3
2
b  ln x / y  x  y , если x  y  0
x  y ,
если x  0

0 ,
если y  0




x, y
x, y
13
 x 2  y 2  sin x , если x  y  0


c   x  y 2  cos x , если x  y  0

2
 y  x   tg x, если x  y  0
x, y
14
x  y 3  arctg x , если x  y


d   y  x 3  arctg x , если x  y

3
если x  y
x  y   0.5 ,
x, y
15
i  a ,
если i  нечетное, a  0


e  0.5  i  a , если i  четное, a  0

иначе
 i  a ,
a, i
5.2 Перечень задач
1) Даны действительные положительные числа x, y, z. Выяснить, существует ли треугольник с
длинами сторон x, y, z и, если таковой существует, то выяснить является ли он остроугольным.
2) Даны действительные числа a, b, c, d. Если a  b  c  d, то каждое число заменить наибольшим из
них; если a > b > c > d, то числа оставить без изменения; в противном случае все числа заменить их
квадратами.
3) Даны действительные положительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами
a, b, c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только
так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.
4) Даны действительные положительные числа a, b, c, d. Выяснить, можно ли прямоугольник со
сторонами a, b уместить внутри прямоугольника со сторонами c, d так, чтобы каждая из сторон
прямоугольника была параллельна или перпендикулярна каждой стороне второго прямоугольника.
8) Даны действительные числа x, y. Определить, принадлежит ли точка с координатами x, y
заштрихованной части плоскости (рисунок 1 а).
9) Даны действительные числа x, y. Определить, принадлежит ли точка с координатами x, y
заштрихованной части плоскости (рисунок 1 б).
10) Даны действительные числа x, y. Определить, принадлежит ли точка с координатами x, y
заштрихованной части плоскости (рисунок 1 в).
а)
б)
г)
д)
ж)
з)
в)
е)
и)
11) Даны действительные числа x, y. Определить, принадлежит ли точка с координатами x, y
заштрихованной части плоскости (рисунок 1 г).
12) Даны действительные числа x, y. Определить, принадлежит ли точка с координатами x, y
заштрихованной части плоскости (рисунок 1 д).
13) Даны действительные числа x, y. Определить, принадлежит ли точка с координатами x, y
заштрихованной части плоскости (рисунок 1 е).
14) Даны действительные числа x, y. Определить, принадлежит ли точка с координатами x, y
заштрихованной части плоскости (рисунок 1 ж).
15) Даны действительные числа x, y. Определить, принадлежит ли точка с координатами x, y
заштрихованной части плоскости (рисунок 1 з).
16) Даны действительные числа x, y. Определить, принадлежит ли точка с координатами x, y
заштрихованной части плоскости (рисунок 1 и).
Download