Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методика по Информатике / VBA / Голубева Н.В.-VBA(Д1м-к-краткий курс лекций).doc
Скачиваний:
102
Добавлен:
10.04.2015
Размер:
508.42 Кб
Скачать

Структура программного кода цикла с For – Next

F

Заголовок цикла

or i = k1 To k2 Step h

…………………

Тело цикла

…………………

…………………

N

Конец цикла

ext i

i параметр цикла.

k1 и k2 – начальное и конечное значения параметра цикла i . Это могут быть константы, переменные или арифметические выражения.

h– шаг, с которым изменяется параметр цикла i. Шаг, равный 1, не указывается.

Компьютер интерпретирует так: для i, принимающего значения от k1 до k2 с шагом h выполнять все действия до Next.

Sub Цикл_For ()

Dim a As Single, x As Single, y As Single

Dim i As Integer ' i – номер строки электр. таблицы Excel

a = 1.5: i = 1

For x = 5 To 75 Step 10 ' задаются значения аргумента x

y = Log(a * x)

Cells(i, 1) = x: Cells(i, 2) = y: i = i + 1 ' вывод значений

' аргумента x и функции y соответственно в ' столбцы А и B электр. таблицы

Next x

End Sub

Цикл с разветвлением

Пример  7 Составить алгоритм и программу табулирования функции, построить график функции на рабочем листе Excel

, x = 0,5 a = 3,7

Сначала определим общий интервал построения графика функции

Для этого рассчитываем количество точек, в которых будем вычислять значение функции y на среднем интервале:

Такое же количество точек для построения графика должно быть получено и на двух крайних интервалах при x < 4 и при x > 8. Таким образом, общий интервал составит:

[−0,5; 12,5 ]

Вспомогательные переменные n, k, m вводятся для организации вывода результатов в виде таблицы.

SubЦикл_с_ветвл ()

Dim a As Single, x As Single, y As Single

Dim n As Integer, k As Integer

a = 3.7

n = 2: k = 2: m = 2

For x = 0.5 To 12.5 Step 0.5

If x < 4 Then

y = Exp(a - x): Cells(n, 1) = x: Cells(n, 2) = y : n = n + 1

Else

If x <= 8 Then

y = Tan(a * x): Cells(k, 3) = x: Cells(k, 4) = y: k = k + 1

Else

y = 8 * Cos(x): Cells(m, 5) = x: Cells(m, 6) = y: m = m + 1

End If

End If

Next x

End Sub

Цикл со счетчиком

Пример  8 Последовательно вводятся пары координат точек x, y. Всего M пар. Определить, сколько из этих точек находится в третьем квадранте.

Вводится переменная k-счетчик точек, попавших в третий квадрант.

Блок 2 – задаем начальное значение счетчика

Блок 4 – ввод координат текущей точки.

Блок 7 – наращивание значения счетчика.

Блок 8 – переход к следующей порции данных.

Sub Цикл_со_счет ()

Dim x As Single, y As Single, k As Integer, M As Integer

M = Val (InputBox ("ввод M"))

k = 0

For i = 1 To M

x = Val (InputBox ("ввод x"))

y = Val (InputBox ("ввод y"))

If x < 0 And y < 0 Then

k = k + 1

End If

Next i

MsgBox "k= " & k

End Sub