
- •Лабораторная работа 1
- •СОЗДАНИЕ И ВЫПОЛНЕНИЕ МАКРОСОВ
- •Основные сведения
- •Задания к лабораторной работе 1
- •Лабораторная работа 2
- •СОЗДАНИЕ ПОЛЬЗОВАТЕЛЬСКИХ ФУНКЦИЙ MS EXCEL
- •Основные сведения
- •Задания к лабораторной работе 2
- •Лабораторная работа 3
- •Основные сведения
- •Задания к лабораторной работе 3
- •Лабораторная работа 4
- •ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ
- •Основные сведения
- •Задания к лабораторной работе 4
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- •ОГЛАВЛЕНИЕ

№ |
|
|
|
|
|
Вид таблицы |
|
|
|
|
п/п |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
|
|
|
P |
13 |
Ведомость операций телефонной компании (абонент, тариф за мин, время в минP , |
|||||||||
стоимостьU |
* |
|
* |
|
|
|
|
|
||
|
PU |
|
PU |
|
|
|
|
|
||
|
UP , скидка в %, кU |
оплатеUP ). |
|
|
|
|
|
|||
|
|
|
|
|||||||
14 |
Ведомость туристического агентства (ФИО, страна и город, транспортные расходы, стои- |
|||||||||
мостьпроживаниявсутки, срокпроживания, затратыU |
* |
* |
||||||||
|
|
PU |
PU |
|||||||
|
напроживаниеUP , UобщиезатратыUP ). |
|||||||||
|
|
|
|
|||||||
15 |
Ведомость риэлтерского агентства (район, жилая площадь, количество комнат, вспомога- |
|||||||||
|
|
|
2 |
|
* |
|
|
* |
||
|
|
|
|
P |
|
PU |
|
|
PU |
|
|
тельнаяплощадь, стоимость1 мP , UобщаяплощадьUP , UстоимостьпомещенияUP ). |
Лабораторная работа 2
СОЗДАНИЕ ПОЛЬЗОВАТЕЛЬСКИХ ФУНКЦИЙ MS EXCEL
Основные сведения
Одной из возможностей VBA является создание новой функции MS Excel, которую впоследствии можно использовать аналогично встроенным функциям (СУММ, МАКС, ЕСЛИ и др.). Это целесообразно в тех случаях, если необходимой функции нет в стандартном наборе встроенных функций MS Excel, например формулы Пифагора, а ей приходится часто пользоваться.
Пример 1
Создадим пользовательскую функцию, вычисляющую по формуле Пифагора длину гипотенузы прямоугольного треугольника.
Для этого:
1.Откроем MS Excel и перейдем в редактор VB, выполнив команду Сервис
→ Макрос → Редактор Visual Basic либо нажав кнопку «Редактор Visual Basic» на панели инструментов Visual Basic.
2.Вновом модуле (Insert → Module) через команду Insert → Procedure зададим имяиостальныепараметрыновойфункции(рис. 12). Нажмемкнопку «ОК».
3.В окне кода между двумя появившимися строчками напишем программный код для данной функции, учитывая, что для нахождения длины гипотенузы по формуле Пифагора нужно знать значения двух катетов:
Public Function Пифагор(a As Single, b As Single) ‘аргументы а и b вещественные Пифагор = Sqr(a ^ 2 + b ^ 2)
End Function
4. |
Закроем редактор VB и воспользуемся нашей |
|
|
функцией. |
|
5. |
В ячейки А1, В1 и С1 введем соответственно |
Рис.12. Диалоговое окно |
|
символы а, b, и с; в ячейки А2 и В2 – значения |
Add Procedure |
17

катетов (3 и 4), а в ячейку С2 вставим формулу, воспользовавшись кнопкой «fxB »B на панели инструментов либо командой Вставка → Функция и выбрав созданную функцию в категории «Определенные пользователем» диалогового окна Мастер функций (рис. 13 и 14).
Рис. 13. Диалоговое окно Мастер функций |
Рис. 14. Результатвыполненияфункции |
Добавим к вновь созданной функции описание, поясняющее ее назначение. Для этого выполним команду Сервис → Макрос → Макросы и, набрав в поле Имя макроса диалогового окна Макрос название данной функции (рис. 15), введем описание, нажав кнопку «Параметры» (рис. 15).
Рис.15. Диалоговые окна Макрос и Параметры макроса
Пример 2
Создадим функцию пользователя, математически определенную как
y= sin(πx)e−2 x
ипостроим ее график.
18

Для этого в редакторе VB MS Excel в новом модуле через команду Insert → Procedure создадим функцию с именем «Y» и напишем для нее программный код:
Public Function Y(x As Single)
Y = Sin(Application.Pi() * x) * Exp(-2 * x)
End Function
Здесь мы воспользовались стандартной функцией Pi(), которая возвращает значение постоянной π (в Excel – функция пи()). Так как она не является внутренней функцией VBA, то ее необходимо записать в виде Application.Pi().
Теперь проверим работу созданной функции и построим ее график:
1.Введем в ячейки А1 и В1 соответственно «х» и «y», в ячейки А2 и А3 – значения х, например -0,5 и -0,4 соответственно, и с помощью маркера заполнения скопируем значения в ячейки А4:А12.
2.В ячейку В2 вставим формулу «=Y(A2)» и также с помощью маркера заполнения скопируем ее в ячейки В3:В12 (рис. 16).
3.Выделим диапазон ячеек В2:В12 и с помощью Мастера диаграмм построим график данной функции (рис. 16).
|
|
|
|
График функции y |
|
|
|
|
||
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
0,5 |
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
-0,5 |
-0,4 |
-0,3 |
-0,2 |
-0,1 |
0 |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
|
|
|
|
|
-0,5 |
|
|
|
|
|
|
|
|
|
|
-1 |
|
|
|
|
|
|
|
|
|
|
-1,5 |
|
|
|
|
|
|
|
|
|
|
-2 |
|
|
|
|
|
|
|
|
|
|
-2,5 |
|
|
|
|
|
|
|
|
|
|
-3 |
|
|
|
|
|
Рис. 16. Результат выполнения функции и ее график |
|
|
|
|
Задания к лабораторной работе 2
Задание 1
В соответствии с вариантом (№ п/п) создать пользовательскую функцию MS Excel и воспользоваться ей в формулах, размещаемых на рабочем листе.
№ |
Описание функции |
|||
п/п |
||||
|
|
|
||
1 |
Функция, вычисляющая площадь кольца SкB ,B если известны радиусы внешней R1B B и |
|||
2 |
2 |
|||
|
внутренней R2B B окружности [SкB B = π(R1B BP |
P |
P |
|
|
|
– R2B BP )]. |
19

№ |
Описание функции |
|
п/п |
||
|
2Функция, вычисляющая объём полого цилиндра VцB .п,B если известны наружный R1B B и внутренний R2B B радиусы основания и высота h [VцB .пB = πh(R1B PB2P – R2B 2PB )]P .
Функция, вычисляющая объём конуса VкB ,B если известны его радиус R и высота h
3 |
[VкB B = |
1 |
2 |
h]. |
|
3 |
πRP |
||
|
|
|
|
P |
Функция, вычисляющая площадь трапеции, если известны основания a и с и боковые сто-
4роныb иd [ Sтрап = aa +−cc ( p −a)( p −c)( p −c −b)( p −c −d) , гдер– полупериметртрапеции]. Функция, вычисляющая объём полого шара VшB .п,B если известны наружный R1B B и внут-
5 |
ренний R2B B радиусы [VшB .пB = |
4 |
3 |
|
3 |
)]. |
|
3 |
π( R1B BP |
|
– R2B BP |
||
|
|
|
|
P |
|
P |
Функция, вычисляющая объём усеченного прямого конуса VкB .у,B если известны радиу-
6 |
сы его оснований R, r и высота h [VкB .уB = |
1 |
2 |
|
2 |
]. |
|
3 |
πh(RP |
|
+ rR + rP |
||
|
|
|
|
P |
|
P |
Функция, вычисляющая длину стороны треугольника а, если известны длины двух
7других сторон b, c и угол между ними α [ a = b2 +c2 −2bc cosα ].
Функция, вычисляющая объём эллипсоида VэB ,B если известны три его полуоси a, b и с
8 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[VэB B = 3 πabc]. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Функция, вычисляющая объём шарового слоя VшB .с,B если известны радиусы R1B B и R2B B ос- |
||||||||||||||||
9 |
нований и высота h шарового слоя [VBш.сB |
1 |
3 |
|
1 |
2 |
|
+ R2B |
2 |
|
|
||||||
|
= 6 πhP |
|
+ 2 π( R1B BP |
|
BP )h]. |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
P |
|
|
P |
|
P |
|
|
|
|
||||||||||||||||
|
Функция, вычисляющая площадь равностороннего треугольника SТB ,B если известна его |
||||||||||||||||
10 |
сторона а [ SТ = |
a2 |
3 |
]. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
Функция, вычисляющая объём тора VтB ,B если известны радиусы внешнего R1B B и внут- |
||||||||||||||||
|
|
|
2 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
реннего R2B B круга [VтB B = 2πP |
|
R1B B R2B BP ]. |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
P |
P |
|
|
|
|
|
|
|
|
|
|
|
|
Функция, вычисляющая объём усеченной пирамиды VпB .у,B если известны площади ее |
||||||||||||||||
12 |
треугольных оснований S1B B и S2B B и высота h [VBп.уB |
= 1 h(S1B |
B + S2B B + |
S S |
2 |
]. |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Функция, вычисляющая объём шарового сегмента VшB .с,B если известны радиус его ос- |
||||||||||||||||
13 |
нования R и высота сегмента h [VBш.сB = |
1 |
2 |
|
2 |
|
|
|
|
|
|
||||||
|
6 |
πh(3RP |
|
|
+ hP )]. |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
P |
|
P |
|
|
|
|
|
|
|
|
||||||||||||||||
|
Функция, вычисляющая объём пирамиды VпB ,B в основании которой лежит прямоугольник, |
||||||||||||||||
14 |
если известны высота пирамиды h и длины сторон прямоугольника a и b [VпB B = 1 abh]. |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
Функция, вычисляющая площадь равнобедренного треугольника SТB ,B если известны его |
||||||||||||||||
15 |
боковая сторона а и основание с [ S = |
с |
4a2 −c2 |
|
|
|
|
|
|
||||||||
|
|
|
|
|
]. |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
Т |
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Задание 2
В соответствии с вариантом (№ п/п) создать пользовательскую функцию MS Excel и построить ее график.
20