
- •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. Реализация проекта
11.3 Вызов процедуры
Представленные в описании процедуры действия выполняются при вызове процедуры. Имеется две основные формы оператора вызова процедуры:
с ключевым словом Call в виде:
Call ИмяПроцедуры [(СписокФактическихПараметров)]
непосредственным указанием имени процедуры в виде:
ИмяПроцедуры [СписокФактическихПараметров]
При этом имя процедуры указывается в обоих случаях. За ним следует список фактических параметров, если при описании процедуры были указаны формальные. Но в первом случае список фактических параметров заключается в круглые скобки, а во втором – они отсутствуют.
Фактические параметры должны совпадать по типу с формальными и следовать в том же порядке. По имени они могут не совпадать. Фактические параметры в простейшем случае представляют собой имена переменных, которые описаны либо в той процедуре, где встречается вызов процедуры, либо на более высоком уровне с ключевым словом Public.
Перед вызовом процедуры переменным, которые соответствуют входным фактическим параметрам, присваиваются нужные значения. При вызове процедуры выполняются указанные в описании процедуры действия со значениями, которые заданы во входных параметрах. Результаты же записываются в переменные, которые указаны как выходные фактические параметры.
Механизм работы процедуры рассмотрим на примере расчета прибыли на единицу продаваемого товара, которая вычисляется как разность между ценой и себестоимостью. Код программы приведен ниже.
Private Sub cmdВычислить_Click()
Dim curЦена As Currency, _
curСебестоимость As Currency, _
curПрибыль As Currency
curЦена
= 25
curСебестоимость
= 20
РазностьcurЦена,
curСебестоимость,
curПрибыль
txtПрибыль = Format(curПрибыль, "0.00 грн.")
End
Sub
SubРазность(curA
As Currency, curB As Currency, curC As Currency)
curC
= curA - curB
End
Sub
При щелчке на кнопке «Вычислить» будет выполняться процедура cmdВычислить_Click, которая вызывает в свою очередь процедуру Разность для вычисления прибыли. Полученный результат (5.00 грн.) выводится в текстовое поле txtПрибыль на форме.
Результат зависит от значений фактических параметров curЦена и curПрибыль и порядка, в котором они следуют при вызове процедуры. Если бы порядок изменить, например, вызов процедуры задать в виде:
Разность curСебестоимость, curЦена, curПрибыль
то результат был бы иным (- 5.00 грн.).
11.4. Функции
В общем случае процедура может иметь несколько выходных параметров. При вызове процедуры Разность, описанной в предыдущем примере, в результате ее выполнения получается одно значение, которое записано в поле памяти переменной curПрибыль. Затем эта переменная используется в функции Format для вывода ее значения на форму. В таких случаях, когда результатом работы процедуры является только одно значение, можно совместить вызов процедуры с использованием результата в каком-либо выражении, если оформить алгоритм в виде функции. Различие между описанием процедуры и функции имеется в заголовке, окончании и операторной части.
В заголовке и окончании вместо ключевого слова Sub необходимо поставить Function, а после списка формальных параметров указывается тип результата. В операторной части функции обязательно должен быть хотя бы один оператор присваивания, в левой части которого стоит имя функции. С помощью этого оператора сообщается результат выполнения функции.
Функция вызывается как операнд в выражении путем указания ее имени и списка фактических параметров, которые заключаются в скобки (если имеются входные параметры). Если входные параметры отсутствуют, то указывается только имя функции.
Рассмотренный в предыдущем пункте пример может быть представлен с помощью функции Разность следующим образом:
Private Sub cmdВычислить_Click()
Dim curЦена As Currency, _
curСебестоимость As Currency, _
curЦена = 25
curСебестоимость = 20
txtПрибыль = Format(Разность(curЦена, curСебестоимость), "0.00 грн.")
End Sub
Function Разность(curA As Currency, curB As Currency) As Currency
Разность = curA - curB
End Function