Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

8569

.pdf
Скачиваний:
1
Добавлен:
25.11.2023
Размер:
1.73 Mб
Скачать

If <условие1> Then

<выражение1>

Else If <условие2> Then

<выражение2>

. . .

Else

<выражение-n>

End If

Оператор If . . . Then . . . Else применяется, когда необходимо выполнить один или группу операторов в зависимости от некоторого условия. Конструкция этого оператора может создаваться в одной или нескольких строках программы. При этом если оператор записывается в одной строке, то оператор End If не использует.

«Условие» чаще всего является простым сравнением, но оно может быть любым логическим выражением с вычисляемым значением. Это значение интерпретируется как False (Ложь), если оно нулевое, а любое ненулевое рассматривается как True (Истина). Если условие истинно, то выполняются все выражения, стоящие после ключевого слова Then.

If <условие> Then <выражение>

If <условие> Then

<выражение>

End If

Пример: Вычислить функцию

x 1, x 1

y . 1 x 2 , 1 x 1

x 1, x 1

Sub Программа_1()

Dim x As Single

Dim z As Double

21

x = InputBox("Введите x", "Ввод данных", 0)

If x < -1 Then z = -x - 1

Else

If x > 1 Then z = x - 1

Else

z = Sqr(1 - x ^ 2)

End If

End If

MsgBox ("z=" & z)

End Sub

Пример

Sub Программа_2()

Dim x As Single

Dim z As Double

Worksheets("лист1").Cells(1, 3) = "x"

Worksheets("лист1").Cells(1, 4) = "z"

Let x = CSng(InputBox("Введите x", "Ввод данных", 0))

Worksheets("лист1").Cells(2, 3) = x

If x < -1 Then z = -x - 1

Else

If x > 1 Then z = x - 1

Else

z = Sqr(1 - x ^ 2)

End If

End If

22

MsgBox ("z=" & z)

Worksheets("лист1").Cells(2, 4) = z

End Sub

Оператор выбора Select Case используется в том случае, когда в зависимости от значения выражения, имеющего множество допустимых значений, необходимо выполнить то или иное действие.

Синтаксис оператора Select Case Select Case <Проверяемое выражение> Case <значения_1>

<операторы_1> Case <значения_2> <операторы_2>

………………….

Case <значения_N> <операторы_N> [Case Else <Иначе_операторы>] End Select

<Проверяемое выражение> может иметь любой тип, за исключение

вещественного.

<значения_N> ‒ это некоторое произвольное количество значений

(диапазонов), которые отделяются друг от друга запятыми.

При этом тип данных <значения_N> должен совпадать с типом

<Проверяемое выражение>.

Алгоритм работы этого оператора следующий: вычисляется

<Проверяемое выражение>. При совпадении его значения с одним из значений <значения_1>, управление передается оператору <операторы_1>

для выполнения, а затем будет выполняться оператору, стоящий после End Select. В случае не совпадения его значения ни с одним из значений

23

<значения_1>, будет выполняться операторы <Иначе_операторы>, а затем будет передано управление оператору, стоящему после End Select.

Пример:

Sub Пример ()

Dim a As Integer

a = InputBox("Введите номер месяца") Select Case a

Case 1

MsgBox ("Январь")

Case 2,3

MsgBox ("Февраль, Март")

Case 4 To 6

MsgBox ("Апрель, Май, Июнь, Июль")

Case ls >=7

MsgBox ("Август, Сентябрь, Октябрь, Ноябрь, Декабрь")

Case Else

MsgBox ("Число не входит в диапазон")

End Select

End Sub

Практические задания

Написать программу на языке VBA для вычисления системы уравнений. Ход решения задачи отразить в виде электронной таблицы с пооперационным отражением результатов.

Пример оформления результатов решения задачи в виде таблицы

(вычисление значения выражения у = (4х − 1)8х.

Х

А=4х

А=А-1

У=8х

У=А*У

 

 

 

 

 

1

4

3

8

24

 

 

 

 

 

24

Вариант

Задание

Вариант

Задание

 

 

 

 

1

 

2

 

 

 

 

 

3

 

4

 

 

 

 

 

5

 

6

 

 

 

 

 

7

 

8

 

 

 

 

 

9

 

10

 

 

 

 

 

11

 

12

 

 

 

 

 

13

 

14

 

 

 

 

 

25

15

16

17

18

19

20

21

22

26

Лабораторная работа 3. Циклические алгоритмы в VBA с

использованием цикла с параметром

Цель: отработка навыков использования циклических алгоритмов при создании программного кода на VBA с использованием цикла с параметром.

Теоретические сведения

Цикл с параметром

Данный тип цикла выполняется определенное количество раз в соответствии с параметром, т.е. заранее известно число повторений цикла.

Синтаксис оператора Цикл с параметром:

For «счетчик» = «начальное значение» То «конечное значение» [Step «шаг»] « блок оператор»

Next [«счетчик»]

Шаг может быть как положительным, так и отрицательным.

В цикле с параметром (For) задается переменная цикла. Переменная,

по которой организован цикл, является «счетчиком» для которого определяется «начальное значение» и «конечное значение». Оператор может содержать значение шага (по умолчанию шаг равен 1 и он не указывается явно), которое принимает как положительные, так и отрицательные значения. Перед выполнением цикла параметру присваивается начальное значение. Затем после выполнения операторов цикла параметр увеличивается (уменьшается) на величину шага и полученное значение сравнивается с конечным значением переменной цикла.

Если он принимает значение большее, чем «конечное значение», то управление передается оператору следующему за ключевым словом Next.

Пример

Создать программный код для вычисления суммы элементов ряда.

Sx /(1 i2 )

i 110

27

Результат выполнения программы занести в ячейки таблицы, где в ячейку А2 вводится значение аргумента х, а в ячейке В2 выводится результат.

Результат:

Блок-схема программы представлена на Рисунке 9.

Начало

S = 0

I = 1; 10

A = x / (1 + I * I)

S = S + a

S

Конец

Рисунок 9. Блок-схема программы вычисления суммы конечного числа элементов ряда

В табличном процессоре Excel результатом вычислений являются формулы. Рассмотрим возможность создания формул в ячейках электронной таблицы Excel с помощью VBA.

Пример

Sub Пример_2()

Dim P, I, N As Integer

28

N = 10

P = Worksheets("лист1").Cells(3, 1)

For I = 1 To N

P = P * I

Next

Worksheets("лист1").Cells(3, 2) = "P="

Worksheets("лист1").Cells(3, 3) = P

End Sub

Пример

Даны два столбца С и Е заполненные числами (столбец С от 1 до 20,

столбец Е от 20 до 1). Необходимо сложить числа в столбце С с числами столбца Е следующим образом: С2+Е21, С3+E20, …, C21+E2. Результат вывести в столбец D в виде формулы т.е. содержание ячейки результата должно быть «=С2+Е21».

Sub Цикл_For()

Const n = 21

For i = 2 To n

'создание строки формулы и сохранение ее в ячейку

Cells(I, 4) = “=C” & CStr(i) & “+E” & CStr((n – i) + 2)

Next i

End Sub

Рассмотрим возможность реализации вычислений с помощью циклов с параметром в VBA двумя способами: посредством процедур и функций.

Пример: Написать программу вычисления суммы конечного числа элементов ряда с помощью процедуры.

Sub sum()

Dim I As Integer, x As Double, A As Double, s As Double

s = 0

x = Worksheets("лист1").Cells(2, 1)

29

For I = 1 To 10

A = x / (1 + I * I)

S = S + A

Next

Worksheets("лист1").Cells(2, 2) = S

End Sub

Пример:

Написать программу вычисления суммы конечного числа элементов ряда с помощью функции. В ячейку А3 ввести значение аргумента,

выполнить вставку функции в ячейку B3 «Сумма ряда» из категории

«определенные пользователем».

Function сумма_ряда (X As Double) As Double

Dim I As Integer, S As Double

S = 0

For I = 1 To 10

S = S + X / (1 + I^2)

Next

Моя сумма = S

End Function

Практические задания

Написать программу вычисления суммы (произведения) конечного числа элементов ряда с использованием цикла с параметром. Вывод реализовать в ячейки текущего листа. Значения переменных вводятся с клавиатуры.

 

10

cosnx sin nx

 

 

10

 

a n

,

1

Sn

 

 

 

 

 

11

Pn

 

 

 

 

 

 

n 1

 

cosa

n

n

 

n 1

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

10

n sin( n 2)

 

 

10

a sin an

 

2

Pn

 

 

 

 

 

12

Sn

 

 

 

 

 

 

n

2

2

 

n a

 

 

 

 

n 1

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]