- •Лабораторная работа № 10 Создание макросов Введение
- •Создание макросов
- •Задание 1
- •Задание 2
- •Лабораторная работа № 11 Создание функций
- •Задание 1
- •Задание 2
- •Лабораторная работа № 19 Условные операторы
- •Задание 1
- •Задание 2 Написать функцию для вычисления корней квадратного уравнения , где коэффициентыa, b и с задаются пользователем.
- •Самостоятельно
- •Лабораторная работа № 20 Циклические операторы
- •Задание 1
Задание 1
Откройте новый документ Excel и сохранить его под именем «Лабораторная работа_3_1».
Откройте редактор VB с помощью команды меню Разработчик-> Visual Basic
В открывшемся окне редактора сотрите все, что есть и наберите следующий код:
Function QH(Q, P)
QH=Q*(100-P)/100
End Function
Закройте окно редактора.
Заполните следующую таблицу на листе Excel (рис. 16).
Рис. 16. Таблица данных
В ячейке «С2» наберите «=QH(A2;B2)» и нажмите «Enter» (в ячейке «А2» – значение параметра Q, в ячейке «В2» – значение параметра P)
Сохраните файл.
Самостоятельно
1. Написать функцию, рассчитывающую сумму налога НДС с выручки, и использовать ее.
2. Написать функцию для вычисления координаты тела, движущегося равноускоренно ().
p
Задание 2
Написать функцию в Visual Basic для следующей функции пользователя, используя ее дополнить таблицу вычисленными значениями и построить график зависимости y=y(x):
Откройте новый документ Excel и сохраните его под именем «Лабораторная работа_3_2».
Откройте редактор VB с помощью команды меню Разработчик-> Visual Basic
В открывшемся окне редактора сотрите все, что есть и наберите следующий код:
Function FY(x)
a=1+Abs(0.2-x)
b=1+x+x*x
FY=a/b+Sin(x)
FY=FY+Log(x+2)
FY=FY-Atn(x^3+1)
FY=FY+Exp(-x)-Tan(x^3.13)
FY=FY+Sqr(x)+Cos(x+1)
End Function
Сохраните файл программы.
Закройте окно редактора.
На листе Excel заполните столбец А значениями х от 1 до 20 с шагом 1.
В столбце В рассчитайте по функции FY значение заданного выражения. Для этого в ячейке В1 введите «=FY(A1)».
Постройте график зависимости y(x).
Сохраните файл.
Самостоятельно
Написать функцию, рассчитывающую значения y=x2+lnx+10,46 – tg x для x от 1 до 20. Построить график функции.
Лабораторная работа № 19 Условные операторы
Программа может выполняться не только последовательно, но и, встретив условие, изменить свой ход. Например, при расчете корней квадратного уравнения на первом шаге рассчитывается дискриминант, затем в зависимости от его значения могут быть варианты расчета, либо рассчитываются два корня, либо один, либо уравнение не имеет корней.
Для этого используется оператор if ..then:
If условие then
Команды1
Else
Команды2
End If
Если условие истинно, то выполняются команды1, если ложно, то команды2.
когда нужно проверить на соответствие нескольким условиям (обратите внимание на использование логических операторов AND и OR):
AND – условия выполняются одновременно
OR – необходимо выполнение хотя бы одного из условий
y=5 при а(5;10)
If (a< 10) And (a>5) Then
MsgBox ("y=5")
End If
Задание 1
Расчет квадратного уравнения вида , где коэффициентыa, b и с задаются пользователем.
Откройте новый документ Excel и сохраните его под именем «Лабораторная работа_4_1».
Откройте новый модуль Бэйсика с помощью команды Вид-> Макросы. Введите имя нового макроса Lab4 и нажмите кнопку «Создать», находящуюся на панели справа.
В открывшемся окне редактора набрать следующий код между Sub Lab4 и End Sub:
Dim s as String
Dim a, b, c, d, x1, x2, x as double
S=InputBox(«Введите значение коэффициента а»)
A = val(s)
S=InputBox(«Введите значение коэффициента b»)
b = val(s)
S=InputBox(«Введите значение коэффициента c»)
c = val(s)
d=b*b-4*a*c
if D>0 then
x1=(-b+sqr(d))/(2*a)
x2=(-b-sqr(d))/(2*a)
MsgBox («X1=» & str(x1) & « X2=» & str(x2))
Else then
if D=0
x=-b/(2*a)
MsgBox(«x=» & str(x))
else
MsgBox(«Корней нет»)
endif
endif
4. Запустите программу, нажав на зеленую стрелку.
5. Сохраните файл.
Самостоятельно
Написать процедуру, рассчитывающую значение функции .
Написать программу, которая находит сумму двух данных чисел (если оба числа четные) или произведение (если хотя бы одно из чисел - нечетное). Во всех остальных случая вывести сообщение: «числа нечетные».