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

Оператор Do (выполнить) … Loop (конец Do)

Существуют два типа операторов Do.

Оператор

Do WhileLoop

повторяет вычисления, пока условие истинно (выполняется), то есть работает точно так же, как оператор WhileWend.

Оператор

Do UntilLoop

повторяет вычисления, пока условие не станет истинным (то есть работает только пока условие не выполняется).

2.3.4. Обработка двумерных массивов

При работе с матрицами нужно перебирать строки и столбцы, поэтому следует организовать двойной (вложенный) цикл. Например, при работе с матрицей А(3,2):

Пример 16

Найти сумму элементов матрицы А(3,2).

Пример 17

Записать в массив L данные из диапазона A1:D3 листа Excel. Найти сумму всех элементов массива, значения которых больше 15. Результат поместить в ячейку Н3 того же листа.

Решение

1. Для определения размерности массива L рассмотрим фрагмент ЭТ (табл. 18):

Таблица 18

  1. Пишем программу:

2.4. Работа с подпрограммами

Visual Basic for Application позволяет осуществлять:

  • обращение из одной процедуры в другую;

  • передачу параметров из одной процедуры в другую.

Обращение из одной процедуры к другой

Такое обращение осуществляется в теле основной программы посредством указания имени процедуры, к которой происходит обращение.

Пример 18

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

Для запуска всех программ курсор должен находиться в тексте основной программы. После нажатия F5 появляется диалоговое окно рис. 19.

Рис. 19 Рис. 20

После нажатия кнопки Ок это окно закрывается, начинает работать вторая подпрограмма. Результат ее работы – диалоговое окно рис. 20.

Передача параметров из одной процедуры в другую

Для передачи параметров из одной программы в другую используют описание этих параметров в скобках после имени процедуры. Имя вспомогательной процедуры имеет синтаксис:

Для задания конкретных (фактических) значений этих параметров при обращении к вспомогательной процедуре из основной используется оператор Call. Его синтаксис:

Пример 19 Создать процедуру, вычисляющую площадь круга по значению радиуса R.

Осуществить несколько обращений к этой процедуре, различными способами задавая фактические параметры.

Решение

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

После нажатия клавиш F5, затем Ок получаем результаты вычислений (рис. 21 и 22):

Рис. 21 Рис. 22

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

  1. По каким правилам записываются имена элементов VBA?

  2. Перечислите основные типы данных, с которыми можно работать в VBA.

  3. Перечислите последовательность операций для создания своей процедуры в редакторе VBA.

  4. Назовите основные логические операции.

  5. По каким правилам записываются встроенные функции?

  6. Перечислите основные функции проверки типов.

  7. Назовите функции, работающие со встроенными диалоговыми окнами.

  8. Как записать оператор присваивания для объекта?

  9. Как записывается оператор безусловного перехода?

  10. Назовите основные модификации оператора условного перехода в VBA.

  11. Укажите синтаксис записи оператора цикла, работающего заданное число раз.

  12. Укажите синтаксис записи оператора цикла, число повторений которого зависит от проверяемого условия.

  13. Как описываются в программе массивы?

  14. Опишите алгоритм вычисления суммы элементов массива.

  15. Опишите алгоритм вычисления произведения элементов массива.

  16. Опишите алгоритм вычисления максимального элемента массива.

  17. Опишите алгоритм вычисления минимального элемента массива.

  18. Как организовать обращение одной процедуры к другой?

  19. Как организовать передачу параметров из одной процедуры в другую?

  20. Что такое формальный параметр?

  21. Что такое фактический параметр?