Добавить в корзинуПозвонить
Найти в Дзене
Devir013

Программируем в VBA. Часть 6. Массив-"оперативная память для программы!

Попробуем расширить возможность программы №4 и следующую программу "научим" вычислять число в степени от 2 до 11. Для решения данной задачи нужно рассчитать на калькуляторе границы вводимых чисел для функций, вычисляющих число в степени. Получаем числовой ряд: 46340, 1290, 215, 73, 35, 21, 14, 10, 8, 7. Для эффективной работы с большим числом однотипной информации каждому числу присваивается номер. Такая организация переменных называется массивом. В VBA массив объявляется теми же операторами, что и обычные переменные, например: Dim A(10) As Integer ' одномерный массив. В данном примере определён массив из 11 элементов от А(0) до А(10). Элементами массива являются целые числа -Integer. Вот и получается, что массив для программы это тоже самое, что и оперативная память для компьютера. К оперативной памяти компьютера обращаются по адресу, а в массиве обращаются по индексу. По умолчанию индексация массивов начинается с нуля. Для решения нашей задачи по определению границы вв
Рисунок №1- Массив-"оперативная память" программы!
Рисунок №1- Массив-"оперативная память" программы!

Попробуем расширить возможность программы №4 и следующую программу "научим" вычислять число в степени от 2 до 11. Для решения данной задачи нужно рассчитать на калькуляторе границы вводимых чисел для функций, вычисляющих число в степени. Получаем числовой ряд: 46340, 1290, 215, 73, 35, 21, 14, 10, 8, 7. Для эффективной работы с большим числом однотипной информации каждому числу присваивается номер. Такая организация переменных называется массивом. В VBA массив объявляется теми же операторами, что и обычные переменные, например:

Dim A(10) As Integer ' одномерный массив.

В данном примере определён массив из 11 элементов от А(0) до А(10). Элементами массива являются целые числа -Integer. Вот и получается, что массив для программы это тоже самое, что и оперативная память для компьютера. К оперативной памяти компьютера обращаются по адресу, а в массиве обращаются по индексу. По умолчанию индексация массивов начинается с нуля.

Для решения нашей задачи по определению границы вводимого числа применим массив для хранения определённого ранее числового ряда.

Определим целочисленный массив Dim Predel(9) As Long из десяти элементов. Разработаем блок-схему для ввода индекса n степени числа, с условием n=2...11. Если введённое число не удовлетворяет условию, то выдаётся сообщение об ошибке и идёт переход на повторный ввод. При вводе числа из заданного диапазона программа продолжит работу далее на в тоску "1".

Рисунок 2- Блок-схема ввода степени числа
Рисунок 2- Блок-схема ввода степени числа

Приступаем к созданию проекта проекта "Программа№5."

Открываем книгу Excel, ранее сохраненную в файле : "Книга001.xlsm", открываем редактор VBA (Alt+F11) и создаём модуль module5 и добавляем в него программу main. Для неё пишем код:

Вводим в module5 программный код (Рисунок 3-А)) . Алгоритм работы первой части программы поясняет блок-схема (Рисунок 2). Запускаем программу (F5) и проводим тестирование: вводим 1-предупреждение о не правильном вводе, 12-опять предупреждение о не правильном вводе и 2-выводится n=2. Если тест пройден, то вводим программный код второй части (Рисунок 3-Б)). После ввода второй части программного кода (Рисунок 3 Б)) проводим тестирование программы. Пояснение алгоритма второй части б)программы дано на блок-схеме (Рисунок 4).

Рисунок 4- Блок-схема алгоритма второй части программы
Рисунок 4- Блок-схема алгоритма второй части программы

Работа программы заключается в обращении к конкретному элементу массива Predel(n1) для получения границы вводимого числа Х. Адресация массива начинается с нуля и нужно сделать коррекцию на 2 (n1=n), затем делаем проверку введённого числа по нижней и верхней границам. Если число входит в разрешённый диапазон, то выполняем расчёт, иначе возвращаемся на ввод. Затем выводим результат и завершение программы.

Проводим тестирование программы на правильность определения границ, на правильность вычисления функции. Для выявления ошибок удобнее всего воспользоваться окном "Locals windows"(View->Locals windows):

Рисунок 5- В окне Locals показаны значения переменных, если установить точку останова программы на каком-то операторе.
Рисунок 5- В окне Locals показаны значения переменных, если установить точку останова программы на каком-то операторе.

Для установки точки останова программы наводим курсор мыши на поле от программного кода слева и щёлкаем. Расставляем данные точки там, где нужно проверить значения данных на момент остановки программы. Далее можно продолжить, нажав F5( для пошагового выполнения -F8).

Пока всё! Продолжение следует ....путь ещё не пройден!!!

Жду комментариев!!!