Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции К.Р.1 .doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
574.98 Кб
Скачать
  • вызвать Мастер диаграмм, выполнить 4 шага (тип — точечный)

    Проектироание макросов

    Макрос (macro) — это последовательность команд, написанная на языке VBA. Эти команды не пишутся вручную, они получаются как результат работы с мышью и клавиатурой.

    Макрос должен начинаться и заканчиваться со щелчка на одной и той же ячейке, например А1.

    1. Создание макроса для вычисления значений Х:

    • сделать щелчёк на ячейке А1

    • пункт меню Сервис → Макрос → Начать запись

    • в окне Запись макроса обязательным является поле имя макроса, по умолчанию имя Макрос1, стереть и ввести вычислить х

    Выполнить действия:

    • С13 → =2*L, скопировать формулу по столбцу

    • щёлкнуь в А1

    2. Остановить макрос

    • пункт меню Сервис → Макрос → Остановить запись (или щелчёк на кнопке Остановить запись)

    3. Назначить макрос объекту Вычислить х

    • контекстного меню объекта Назначить макрос объекту

    1. Проверить работу макроса

    • очистить диапазон С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. режим конструктора — расставляются объекты, задаются их свойства, пишутся обработчики событий.

    п/и Элементы управления режим конструктора

    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.

    Операторы цикла FORNEXT

    Общий вид:

    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

    14