Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дополнит_задания_VBA.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.14 Mб
Скачать

2.3 Разработка программ циклической структуры в среде vba

Часто при решении задач приходится многократно вычислять значения по одним и тем же математическим зависимостям для различных значений входящих в них величин. Такие многократно повторяемые участки вычислительного процесса называются циклами.

Пример 4. Составить в виде блок-схемы и программы алгоритм накопления суммы. Сложить число «2» четыре раза.

Решение. При составлении алгоритма решения данной задачи можно использовать алгоритмическую структуру цикл со счётчиком. В качестве счетчика будет использоваться переменная i. Так как число «2» добавляется к сумме 4 раза, то за счётчик цикла можно принять количество суммирований, и он будет принимать значения от 1 до 4 с шагом 1. Блок-схема данного алгоритма имеет вид (рисунок 7):

Перед началом цикла необходимо присвоить сумме начальное значение: Sum = 0.

После этого в цикле следует выполнять оператор:

Sum = Sum + 2

По окончании цикла результат работы программы будет находиться в переменной Sum.

Рисунок 7 – Блок-схема алгоритма Пример 4

  1. Введите в Окно редактирования кода Листа программу, в которой содержится оператор Цикл со счётчиком. Он записывается следующим образом:

For СчетчикЦикла = НачальноеЗначение То КонечноеЗначение [Step Шаг]

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

Next [СчетчикЦикла]

СчетчикЦикла

- числовая переменная, используемая как счетчик повторений цикла;

НачальноеЗначение

- начальное значение счетчика цикла;

КонечноеЗначение

- конечное значение счетчика цикла;

Шаг

- приращение счетчика при каждом шаге цикла (если параметр Step не указан, то по умолчанию значение приращения равно 1);

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

- операторы, выполнение которых нужно повторить определенное количество раз.

Оператор Next увеличивает значение счетчика (параметра) цикла на заданный шаг и передает управление на продолжение цикла, то есть на оператор For, где анализируется полученное значение счетчика цикла. Текущее значение счетчика цикла сравнивается с конечным значением. Если текущее значение параметра цикла больше конечного его значения, то происходит выход из цикла на оператор, следующий за оператором Next.

Текст программы:

Sub Пример4( )

Dim i, Sum As Integer

Sum = 0

For i = 1 To 4

Sum = Sum + 2

Next i

Debug.Print "2+2+2+2= "; Sum

End Sub

2) Запустите программу на счёт кнопкой Run Sub ;

В окно Immediate программа выведет результат вычислений:

2+2+2+2= 8

Пример 5. Требуется вычислить произведение натуральных чисел от 1 до n (факториал числа n): Р= 1*2*...*n = n!

Решение. При составлении алгоритма для решения данной задачи так же можно использовать алгоритмическую структуру цикл со счётчиком. В качестве счетчика, как и в предыдущем примере, будет использоваться переменная i. В данном случае за счётчик можно принять сами числа, произведение которых вычисляется, так как числа изменяются от 1 до n с шагом 1.

Блок-схема данного алгоритма имеет вид (рисунок 8):

Перед началом цикла необходимо присвоить произведению начальное значение: Р= 1

После этого в цикле следует выполнять оператор: Р = P * i

По окончании цикла результат работы программы будет находиться в переменной Р. Так как в результате может получиться число больше чем 32767, переменная P должна быть объявлена в программе как длинное целое (Long).

Рисунок 8 – Блок-схема алгоритма Пример 5

  1. Введите в Окно редактирования кода Листа программу, в которой содержится оператор Цикл со счётчиком.

Текст программы:

Sub Пример5()

Dim i, n As Integer

Dim P As Long

n = InputBox("Введите число для вычисления его факториала", "Окно ввода")

P = 1

For i = 1 To n

P = P * i

Next i

Debug.Print "Факториал числа " ; n ; "=" ; P

End Sub

2) Запустите программу на счёт кнопкой Run Sub ;

3) Выполните ввод числовых значений. В диалоговое окно с подсказкой – «Введите число для вычисления его факториала»

наберите с клавиатуры – 5

В окно Immediate программа выведет результат вычислений:

Факториал числа 5 = 120

Пример 6. Вычислить стоимость порции сыра весом 250, 300, 350, …, 1000гр. (цена 1кг – 128руб. 50коп.).

Решение. Используем для решения этой задачи алгоритмическую структуру цикл со счётчиком. За счётчик в данном случае можно принять Вес порции сыра, так как он изменяются от 250 до 1000 с шагом 50.

В цикле следует выполнять оператор:

Общая_Стоим = Стоим_кг * Вес / 1000

Результат работы программы будет находиться в переменной Общая_Стоим и выводиться при каждом повторе цикла.

Блок-схема данного алгоритма имеет вид (рисунок 9):

Рисунок 9 – Блок-схема алгоритма Пример 6