- •5. Проектирование разветвляющихся вычислительных процессов
- •5.1. Условный оператор
- •5.2. Проектирование приложения, реализующего разветвляющийся вычислительный процесс
- •Используемые переменные
- •5.2.5. Интерфейс с пользователем
- •5.2.6. Код программы
- •5.2.7. Реализация проекта
- •5.2.8. Анализ проекта
- •5.2.9. Выполнение программы и анализ полученных результатов
- •5.4. Пример использования оператора выбора
- •6. Проектирование приложений с циклами
- •6.1. Назначение операторов цикла
- •6.2. Условные циклы
- •6.3. Проектирование приложения на базе условного цикла с верхним окончанием
- •Используемые переменные
- •6.3.5. Интерфейс с пользователем
- •6.3.6. Код программы
- •6.3.7. Анализ проекта
- •6.3.8. Выполнение программы и анализ полученных результатов
- •6.4. Проектирование приложения с использованием условного цикла с нижним окончанием
- •Используемые переменные
- •6.4.5. Интерфейс с пользователем
- •6.4.6. Код программы
- •6.4.7. Анализ проекта
- •6.4.8. Выполнение программы и анализ полученных результатов
- •Планируемые расходы на ремонт офиса
- •6.5. Цикл со счетчиком
- •6.6. Проектирование приложения с использованием цикла со счетчиком
- •6.6.7. Реализация проекта
- •6.6.8. Анализ проекта
- •6.6.9. Выполнение программы и анализ полученных результатов
- •Остаток товаров на 17.09.01
- •7. Массивы данных
- •7.1. Общие сведения о сложных типах
- •Стоимость товаров
- •7.2. Описание и обращение к массивам
- •7.3. Динамические массивы
- •7.4. Использование массивов при решении экономической задачи
- •Используемые данные
- •7.4.5. Интерфейс с пользователем
- •7.4.6. Код программы
- •7.4.7. Реализация проекта
- •7.4.8. Анализ проекта
- •7.4.9. Выполнение программы и анализ полученных результатов
- •Прайс-лист
- •8. Массивы элементов управления
- •8.1. Назначение и создание массивов элементов управления
- •"Группа переключателей"
- •8.2.4. Структура данных
- •Используемые данные
- •8.2.5. Интерфейс с пользователем
- •8.2.6. Код программы
- •8.2.7. Реализация проекта
- •8.2.8. Анализ проекта
- •8.2.9. Выполнение программы и анализ полученных результатов
- •9. Пользовательский тип данных
- •9.1. Определение и обращение
- •9.2. Оператор присоединения With
- •10. Файлы
- •10.1. Назначение файлов
- •10.2. Операции с файлами
- •10.3. Режимы доступа
- •10.4. Файлы с произвольным доступом
- •10.5. Проектирование приложения с файлами
- •10.5.1. Постановка задачи
- •10.5.2. Экономико-математическая модель
- •10.5.3. Алгоритм решения задачи
- •10.5.4. Структура данных
- •10.5.5. Интерфейс с пользователем
- •10.5.6. Код проекта
- •10.5.7. Реализация проекта
- •10.5.8. Анализ проекта
- •9.5.9. Выполнение программы и анализ полученных результатов
- •Данные по заказу на крепежные изделия
- •11. Процедуры и функции
- •11.1. Назначение процедур и их виды
- •11.2. Описание процедур
- •11.3 Вызов процедуры
- •11.4. Функции
- •11.5. Использование процедур и функций при решении экономической задачи
- •11.5.1. Код проекта
- •11.5.2. Реализация проекта
7.2. Описание и обращение к массивам
Массив – это упорядоченный набор однотипных элементов с одним именем. Например, в таблице столбец наименований товаров или столбец их цен представляют собой массивы. Векторы и матрицы в математике представляются массивами в программе на VB.
Каждый элемент массива имеет свой номер (индекс). Причем таких номеров может быть несколько. Количество различных индексов определяет размерность массива. Бывают массивы одномерные (векторы), двухмерные (матрицы), трехмерные и т.д. Каждый индекс может принимать различные значения из определенного диапазона. Минимальное и максимальное значения диапазона изменения индекса называется граничной парой Nmin и Nmax. Например, для одномерного массива цен, представленных столбцем (табл. 7.1), индекс может изменяться в пределах от Nmin = 1 до Nmax = 3.
Количество различных значений индекса определяет количество элементов К в массиве. Так, для одномерного массива
К= Nmax – Nmin + 1
Если массив многомерный, то количество элементов в нем определяется произведением количества значений Кі по каждому индексу. Здесь i = 1, 2, …, m, где m – размерность массива.
Если в коде программы описан массив, то при ее выполнении выделяется непрерывная область оперативной памяти. В ней располагаютя все элементы массива. Объем занимаемой памяти зависит от количества элементов массива и их типа.
Описание одномерного массива осуществляется оператором Dim следующими способами:
1) Dim Имя_переменной(Nmax) [<Аs Тип_элементов>]
2) Dim Имя_переменной(Nmin Tо Nmax) [<Аs Тип_элементов>]
В первом случае предполагается, что Nmin=0. Если требуется, чтобы нижняя граница диапазона изменения индекса у всех массивов, описанных первым способом, была не 0, а 1, то перед первой процедурой кода нужно поместить оператор
Option Base 1
В этом случае верхняя граница будет определять количество элементов в массиве.
Например, массив цен из табл. 7.1 может быть описан следующими способами:
1) Dim curЦена(2) As Currency
2) Option Base 1
Dim curЦена(3) As Currency
3) Dim curЦена(1 То 3) As Currency
Если массив многомерный, то в круглых скобках через запятую указываются диапазоны изменения каждого индекса. Например, если нужно представить цены трех товаров за каждый месяц второго полугодия (месяцы с 7 по 12 включительно), то описать такой массив можно следующими операторами:
Option Base 1
Dim curЦена2ПолГод(3, 7 то 12) As Currency
Доступ к элементу массива осуществляется с помощью имени массива и индекса. В качестве индекса может использоваться выражение.
Например, среднюю цену каждого товара за второе полугодие можно вычислить следующим образом:
For intТовар = 1 То 3
curS = 0
For intМесяц = 7 То 12
curS = сurS + curЦена2ПолГод(intТовар, intМесяц)
Next intМесяц
curЦена(intТовар) = S / 6
Next intТовар
Из сказанного выше следует, что использование массива целесообразно в тех случаях, когда одинаковым образом нужно обрабатывать какое-то количество переменных одного типа. В этом случае достаточно применить оператор цикла, в теле которого указывается группа операторов для обработки одной переменной с индексом. Если бы использовался не массив, а набор простых переменных, и для обработки каждой переменной нужно в коде писать группу операторов, то таких групп было бы столько, сколько переменных в наборе.