Мои Конспекты
Главная | Обратная связь


Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Примеры функций



Лабораторные работы по программированию на VBA

 

Для реализации процедур на VBA необходимо:

1 – изучить операторы языка VBA;

2 – уметь разрабатывать алгоритмы для решения конкретных задач;

3 – уметь работать в среде редактора Visual Basic в одном из приложений (Word, Excel, Access).

Будем рассматривать примеры подпрограмм и функций VBA в среде редактора Visual Basic Excel. Для входа в среду VBA Excel необходимо выполнить команду Сервис/Макрос/Редактор Visual Basicили воспользоваться горячей клавишей Alt+F11. Чтобы начать набор текста функции или подпрограммы на языке VBA необходимо находясь в среде VBA выполнить команду Insert(Вcтавить)/Module(Модуль)и затем воспользоваться командой Insert(Вcтавить)/Procedure(Процедуру). В появившемся окне необходимо выбрать функцию или подпрограмму и задать ее имя. После этого будут автоматически сформированы операторы начала и конца процедуры и можно переходить непосредственно к набору операторов процедуры. Для набора следующей процедуры в том же модуле необходимо повторить команду Insert(Вcтавить)/Procedure(Процедуру). Если нужно создать новый модуль повторяется команда Insert(Вcтавить)/Module(Модуль).

Проверка правописания осуществляется командой Debug(Отладка)/Compile VBAProject(компилировать).Проверка работоспособности разработанной процедуры производится путем ее использования в Excel (вызов функции путем вставки функции из списка функций Excel или вызов подпрограммы путем запуска макроса или пользовательской формы).

Лабораторная работа №1. Разработка функций для реализации линейных и разветвляющихся алгоритмов

В VBA для записи линейных и разветвляющихся алгоритмов используются оператор присваивания и условный оператор If (если). Оператор присваивания имеет следующий вид: переменная=выражение Выражение может быть арифметическим, текстовым или логическим. Для записи выражений в VBA используются операции (операторы) арифметические, текстовые и логические.

Арифметические операции (операторы). Служат для выполнения арифметических операций, таких как сложение, вычитание, умножение. Операции выполняются над числами. Используются следующие арифметические операторы.

 

Арифметический оператор Действие Пример
+ (знак плюс) Сложение 3+3
– (знак минус) Вычитание Унарный минус 3–1 –1
* (звездочка) Умножение 3*3
/ (косая черта) \ (обратная черта) Деление Целочисленное деление 5/8 (результат 0.625) 5\8 (результат 0)  
% (знак процента) Процент 20%
^ (крышка) Возведение в степень 3^2 (аналогично 3*3)

 

Текстовый оператор конкатенации. Амперсанд (&) используется для объединения нескольких текстовых строк в одну строку.

Текстовый оператор Значение Пример
& (амперсанд) + (плюс) Объединение последовательностей символов в одну последовательность. Выражение "Северный " & " ветер" эквивалентно строке "Северный ветер".

 

Для записи разветвляющихся алгоритмов используется оператор If.

Он имеет две формы записи.

1. Однострочная записьIf условие Then [оператор1] [Else оператор2]

2. Многострочная запись

If условие-1 Then
[ оператор1]

[ElseIf условие-2 Then
[оператор2] ...

[Else
[оператор3]]

End If

В условии записывается логическое выражение, которое использует операции сравнения, приведенные ниже. Для создания сложных условий используются логические операции and (и) и or (или)

Операции сравнения. Используются для сравнения двух значений. Результатом сравнения является логическое значение: либо ИСТИНА, либо ЛОЖЬ.

Оператор сравнения Значение Пример
= (знак равенства) Равно A1=B1
> (знак больше) Больше A1>B1
< (знак меньше) Меньше A1<B1
>= (знак больше и знак равенства) Больше или равно A1>=B1
<= (знак меньше и знак равенства) Меньше или равно A1<=B1
<> (знак «не равно») Не равно A1<>B1

 

Примеры функций

  • функция вычисления выражения y=

Public Function fun1(x)

fun1=(x*x-5*2^0.5)/(2*x^3+1)

End Function

  • функция вычисления полупериметра треугольника по трем сторонам a, b, c

Public Function Полупериметр(a, b, c)

Полупериметр=(a+b+c)/2

End Function

  • функция вычисления длины окружности и площади круга заданного радиуса R

Public Function Окружность(R)

Pi=3.14

a=2*Pi*R

b=Pi*R^2

Окружность="С="+str(a)+" S="+str(b)

End Function

 

  • функция нахождения максимального элемента из трех чисел a, b, c.

Public Function Max(a, b, c)

If a > b Then

m = a

Else

m = b

End If

If c > m Then

Max = c

Else

Max = m

End If

End Function

 

  • функция нахождения корней квадратного уравнения

Public Function Корни(a, b, c)

d = b ^ 2 - 4 * a * c

If d >= 0 Then

x1 = (-b + d ^ (1 / 2)) / (2 * a)

x2 = (-b + d ^ (1 / 2)) / (2 * a)

Корни = "x1=" + str(x1) + "; x2=" + str(x2)

Else

Корни = "корней нет"

End If

End Function

Задания

На VBA составить функции для:

 

1. вычисления значение функции:

2. вычислить значение функции

3. нахождения минимального числа из трех (четырех) заданных чисел A, B, C, D;

4. решения линейного уравнения вида аx=c, где a и c - заданные коэффициенты, в том числе и нулевые;

5. определения вида треугольника (равносторонний, равнобедренный, прямоугольный), если три заданных числа a, b, c задают длины его сторон;

6. нахождения площади треугольника, если три заданных числа a, b, c задают длины его сторон.

7. найти площадь трапеции, если четыре заданных числа задают длины ее сторон;

8. вывести текстовое представление числа.

9. вычислить подоходный налог, если известен совокупный годовой доход;

10. вычислить размер стипендии, если известен средний балл студента.