вызвать Мастер диаграмм, выполнить 4 шага (тип — точечный)
Проектироание макросов
Макрос (macro) — это последовательность команд, написанная на языке VBA. Эти команды не пишутся вручную, они получаются как результат работы с мышью и клавиатурой.
Макрос должен начинаться и заканчиваться со щелчка на одной и той же ячейке, например А1.
1. Создание макроса для вычисления значений Х:
сделать щелчёк на ячейке А1
пункт меню Сервис → Макрос → Начать запись
в окне Запись макроса обязательным является поле имя макроса, по умолчанию имя Макрос1, стереть и ввести вычислить х
Выполнить действия:
С13 → =2*L, скопировать формулу по столбцу
щёлкнуь в А1
2. Остановить макрос
пункт меню Сервис → Макрос → Остановить запись (или щелчёк на кнопке Остановить запись)
3. Назначить макрос объекту Вычислить х
контекстного меню объекта → Назначить макрос объекту
Проверить работу макроса
очистить диапазон С13:C21 (выделить, [del])
щёлкнуть на объекте вычислить х
Макросы для вычисления значений Y, значений Z, очистки диапазона С13:E21 создаются аналогично (см. пункты 1, 2, 3, 4), при этом
D13 ← =3*l
E13 ← =ЕСЛИ( C13>=0; $B$13*sin(C13); сos(D13)+C13)
График стоится автоматически.
2.5. Статистические функции. Одномерные массивы
Статистические функции выбираются с помощью Мастера функций из категории Статистические. К этим функциям относятся:
МАКС(число1;число2; ...)
Функция возвращает наибольшее значение из своих аргументов.
МИН(число1;число2; ...)
Функция возвращает наименьшее значение из своих аргументов.
СРЗНАЧ(число1; число2; ...)
Возвращает среднее (арифметическое) своих аргументов.
СЧЁТ(значение1; значение2; ...)
Подсчитывает количество числовых ячеек в списке аргументов.
СЧЁТЕСЛИ(диапазон; критерий)
Подсчитывает количество ячеек внутри диапазона, удовлетворяющих заданному критерию.
СУММЕСЛИ (диапазон; критерий; диапазон суммирования)
(категория математические)
Суммирует ячейки, удовлетворяющие заданному критерию.
Пример 3. В массиве Х = (-3; 16; 24; -0,1; 1;-8) (см. рис. 5) найти
а) сумму положительных элементов
ввести значения элементов массива Х
B2←fx→математические→=СУММЕСЛИ(А2:А6;>0) ОК
в) количество элементов, принадлежащих отрезку [-5; 5]
В2 ← =ЕСЛИ(И(A2>=-5;A2<=5);A2), скопировать формулу по столбцу
С2 ← =СЧЁТ(B2:B6)
Результаты вычислений:
-
A
B
C
D
1
массив Х
Сумма пол.
[-5;5]
количество
2
-3
40
-3
2
3
16
ЛОЖЬ
4
24
ЛОЖЬ
5
-0,1
-0,1
6
-8
ЛОЖЬ
Рис. 5. Обработка одномерного массива
2.6. Приближённое решение нелинейных уравнений.
Подбор параметра
Решается уравнение вида f(x)=0. Вопрос о нахождении приближённого решения распадается на 2 этапа:
нахождение интервала изоляции корня (если он не задан)
уточнение корня
Пример 4. Найти приближённое решение уравнения 8х3 - 17х2 + 8,5х - 8,25 = 0
методом подбора параметра. Решить уравнение графически, сравнить результаты.
Это уравнение имеет либо 3, либо 1 действительный корень.
Нахождение интервала изоляции корня (см. рис. 6):
-
A
B
C
D
1
x
y
корень
пoгрешность
2
0
-8,25
1,851961
8,8293E-06
3
0,5
-7,25
4
1
-8,75
5
1,5
-6,75
6
2
4,75
7
2,5
31,75
8
3
80,25
Рис.6. Приближённое решение нелинейного уравнения
в области определения функции выбрать произвольным образом диапазон изменения х, например [0;3] с шагом 0,5. Заполнить значениями столбец х.
заполнить значениями столбец Y=f(x):
B2← =8*A2^3-17*A2^2+8,5*A2-8,25
Скопировать формулу на диапазон В3:В8.
выбрать отрезок, на концах которого функция принимает значения разных знаков, это и будет интервал изоляции корня. В нашем случае это [1,5; 2]. Если такого отрезка нет, то изменим диапазон изменения аргумента.
Уточнение корня:
в качестве начального приближения к корню выбираем значение из отрезка [1,5; 2], пусть х0=1,7;
С2 ← 1,7
вычисляем значение функции в этой точке, т.е. f(х0);
D2 ← =8*С2^3-17*С2^2+8,5*С2-8,25
уточним это значение с помощью команды пункта меню Сервис → Подбор параметра
В окне диалога:
Установить в ячейке ввести D2
Значение ввести 0
Изменяя значение ячейки ввести $C$2 (щелчёк на ячейке С2), ОК
Приближённое значение к корню находится в ячейке С2, х ≈ 1,851961. в ячейке D2 — погрешность корня 8,8293Е-0,6.
Графический способ решения уравнения:
Построить график функции Y=8х3 - 17х2 + 8,5х - 8,25 на отрезке [1,5; 2]
x |
y |
|
|
|
|
|
|
|
1,5 |
-6,75 |
|
|
|||||
1,55 |
-6,1265 |
|
||||||
1,6 |
-5,402 |
|
||||||
1,65 |
-4,5705 |
|
||||||
1,7 |
-3,626 |
|
||||||
1,75 |
-2,5625 |
|
||||||
1,8 |
-1,374 |
|
||||||
1,85 |
-0,0545 |
|
||||||
1,9 |
1,402 |
|
||||||
1,95 |
3,0015 |
|
||||||
2 |
4,75 |
|
||||||
|
|
|
|
|
|
|
|
|
Значение корня х ≈ 1,8
Тема 3. Среда vba (Visual Basic for Application)
3.1. Среда vba
Объектно-ориентированное программирование (ООП) является одной из лучших технологий создания крупных программных проектов.
Элементы управления — это видимые объекты. Они расположены на п/и Элементы управления (среда Excel: Вид → панели инструментов → Элементы управления).
Кнопка (CommandButton) – предназначена для инициализации, окончания или прерывания каких-либо действий.
Объекты обладают свойствами. Вызов окна свойств:
панель инструментов Элементы управления → свойства
Некоторые свойства объекта:
Name – имя объекта
Caption – заголовок (надпись) объекта
BackColor – цвет объекта
ForeColor – цвет надписи
Font – шриф
Основное событие — щелчёк по объекту.
Запуск редактора VBA из среды Excel возможен следующими способами:
п/и Элементы управления → исходный текст
пункт меню Сервис → Макрос → Редактор Visual Basic
Интерфейс редактора VBA состоит из следующих основных компонентов:
окна проекта окно Prodject - VBA Prodject
окна редактирования кода окно Code
окна свойств окно Properties
Вызов окон может быть осуществлён с помощью пункта меню View.
Возврат из редактора VBA в книгу Excel:
кнопка View MS Excel на п/и Standart
Ячейка А2 как объект может быть записана двумя способами:
Range (“A2”) или Cells(2,1) , где 2 — номер строки, 1 — номер столбца
Excel и VBA могут работать в 2-х режимах:
1. режим конструктора — расставляются объекты, задаются их свойства, пишутся обработчики событий.
п/и Элементы управления → режим конструктора
режим выполнения
3.2. Математические функции vba
Среда VBA предоставляет пользователю большой список встроенных математические функций. Некоторые из них:
-
функция
описание
abs
модуль (абсолютная величина)
atn
арктангенс
cos
косинус
exp
экспонента, т.е. возведения числа e (основание натурального логарифма) в указанную степень
log
натуральный логарифм
Int
целая часть числа
rnd
возвращает случайное число из интервала [0;1)
sin
синус
sqr
квадратный корень
tan
тангенс
mod
oстаток от деления
3.3. Операторы языка
Оператор объявления переменных, массивов: Dim
Пример dim a, x[9]
Объявляются переменная а и массив х, содержащий 10 элементов: х[0], x[1],…x[9]
Оператор условного перехода (блок IF)
Общий вид:
IF условие Then
операторы1
[ Else
операторы2]
End IF
Если условие принимает значение ИСТИНА, то выполняются операторы1, следующие за Then, в противном случае — операторы2, следующие за Else.
Операторы цикла FOR … NEXT
Общий вид:
FOR переменная = А1 ТО А2 [step A3]
[операторы]
NEXT [переменная]
где переменная — параметр цикла
А1 — начальное значение параметра цикла
А2 — конечное значение параметра цикла
А3 — шаг изменения параметра цикла (если шаг равен 1, то может отсутствовать)
Пример5. Вычислить значение функции Z. Исходные данные находятся в ячейках Листа Excel. Результат вывести в ячейки Листа.
Порядок действий:
разработать дизайн
ввести условие задания
ввести исходные данные ln, lk, dl
перейти в режим конструктора, установить элементы управления CommandButton1 и CommandButton2, дать им заголовки Вычислить и Очистить соответственно (в окне свойств).
обработчик события щелчёк по кнопке Вычислить имеет вид:
Private Sub CommandButton1_Click()
Dim ln, lk, dl, t, z, l ‘объявление переменных
ln = Range("b11")
lk = Range("b12")
dl = Range("b13")
t = Range("b14")
i = 12
For l = ln To lk Step dl
x = 3 * l
y = x - 2 * t
If x >= y Then
z = Cos(l) + 4 * x
Else
z = Sin(l) ^ 2 + y
End If
Cells(i, 4) = z
Cells(i, 5) = l
i = i + 1
Next
End Sub
запустить на выполнение − пункт меню Run (F5) (при этом курсор должен находиться в тексте процедуры).
обработчик события щелчёк по кнопке Очистить имеет вид:
Private Sub CommandButton2_Click()
Range("d12:e20").ClearContents
End Sub
вернуться в Excel, выйти из режима конструктора. Проверить работу проекта щелчками по кнопкам.
3.4. Одномерные массивы
Пример 6. Заполнение диапазона ячеек случайными числами
For i = 1 To 10
Cells(2, i) = 100*Rnd()-50 ‘случ. числа из [-50;50]
Next
Cлучайными числами заполнится диапазон А2:J2
Пример7. Сгенерировать случайным образом массив из 10 целых чисел. Найти среднее геометрическое положительных элементов массива.
Порядок действий:
разработать дизайн
перейти в режим конструктора, установить элементы управления CommandButton1 и CommandButton2 дать им заголовки Вычислить и Очистить соответственно
обработчик события щелчёк по кнопке вычислить имеет вид:
Private Sub CommandButton1_Click()
Dim p, k, x(9), n, i ‘объявление переменных
Randomize ‘вход в таблицу случайных чисел
For i = 1 To 10
Cells(2, i) = int(50*Rnd())+1 ‘целые случ. числа из [0;50]
Next
p = 1: k = 0
For i = 0 To 9
x(i) = Cells(2, i + 1) ‘пересылка данных из таблицы в массив
If x(i) > 0 Then
p = p * x(i): k = k + 1
End If
Next
Range("a4") = "sr. geom.= " & p ^ (1 / k)
End Sub
запустить на выполнение − пункт меню Run (F5)
обработчик события щелчёк по кнопке Очистить имеет вид:
Private Sub CommandButton2_Click()
Range("A2:J4").ClearContents
End Sub
