Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB-2012 / 1-семестр / Методика / lab8(подпр).doc
Скачиваний:
10
Добавлен:
26.03.2015
Размер:
900.1 Кб
Скачать

Лабораторная работа № 8 создание проектов с использованием процедур и функций

Цель: приобрести умения и навыки использования процедур и функций в решении задач.

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

Общие сведения

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

Описание процедуры общего назначения находится в секции общих описаний формы (General Declarations) или в стандартном модуле. Вызов размещается в том месте операторной части кода, где необходимо выполнить указанные в описании процедуры действия.

Если описание процедуры содержится в коде формы, то её можно вызвать только в коде этой же формы. Если же процедуру описать с ключевым словом Public в стандартном модуле, то вызвать её можно в коде любой формы или любом стандартном модуле приложения.

Стандартный модуль это файл с расширением .bas. в котором могут размещаться описания разных общих объектов, используемых в проекте (константы, переменные, типы данных, процедуры). Проект может иметь несколько стандартных модулей. В отличии от файла формы, они содержат только код. Каждый модуль представлен отдельным значком в окне проекта. Для перехода к коду нужного модуля достаточно дважды щелкнуть на его значке.

Чтобы создать модуль нужно:

  1. Выбрать команду Add Module в меню Project или нажать стрелку правее от кнопки «Add Form» (вторая левее на стандартной панели инструментов) или из списка кнопок выбрать «Module».

  2. В диалоговом окне Add Module во вкладке New выбрать значок «Module» и нажать на кнопку «Открыть».

В окно кода, которое появилось, можно внести описание общих объектов, в том числе и процедур. Описание процедуры имеет вид:

[Public 1 Private] [Static]

Sub Имя процедуры (Список формальных параметров)

<Операторы тела процедуры>

End Sub

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

Формальный параметр задается именем переменной, после которой может быть указан ёё тип. Один от другого параметры отделяются запятыми.

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

Существует две формы оператора вызова процедуры:

  1. С ключевым словом Call:

Call Имя процедуры [(Список фактических параметров)]

  1. При помощи непосредственного указанием имени процедуры в виде:

Имя процедуры [Список фактических параметров]

Фактические и формальные параметры должны совпадать по типу и иметь тот же порядок следования. Имена их могут не совпадать. Фактические параметры в наиболее простом случае это имена переменных, которые описаны в той же процедуре, где содержится её вызов, или на высшем уровне с ключевым словом Public.

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

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

Функция вызывается как операнд в виде указателя её имени и списка фактических параметров, которые берутся в скобки. (при наличии входных параметров). Если входных параметров нет, то указывается только имя функции.

Пример решения задачи.

Рассмотрим использование аппарата процедур и функций на примере решения задачи о начислении комиссионных.

В магазине работает 7 продавцов. Каждый месяц продавцам начисляют комиссионные по следующему правилу:

    1. если продукции продано не меньше, чем на 10000 грив., то комиссионные составляют 2% от стоимости реализованной продукции;

    2. если продукции продано меньше, чем на 10000 грив., то комиссионные составляют 1% от стоимости реализованной продукции;

    3. если стаж работы в фирме не меньше 5 лет, то выплачивается доплата в размере 0.5% от стоимости реализованной продукции.

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

Соседние файлы в папке Методика