пятница, 8 февраля 2019 г.

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


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

В 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.  вычислить размер стипендии, если известен средний балл студента

Комментариев нет :

Отправить комментарий

Номер страницы