Общие процедуры. Область видимости процедур

Анимация

Для создания анимации (иллюзии движения на экране какого-либо объекта) применяется принцип смены кадров (изображений), как это делается в мультипликации. Программа, имитирующая движение должна реализовывать следующие этапы:

­ создание изображения на экране;

­ реализация временной паузы для того, чтобы глаз зафиксировал изображение;

­ проведение коррекции изображения.

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

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

Определение процедуры

Каждой общей процедуре дается уникальное название – имя процедуры и устанавливается список входных и выходных параметров.

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

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

 

Синтаксис общей процедуры:

Sub ИмяПроцедуры(СписокПараметров)

Программный код

End Sub

Вызов общей процедуры

Запуск общих процедур реализуется путем вызова из других процедур. Общая процедура вызывается на выполнение либо с помощью оператора Call, либо по имени:

Call ИмяПроцедуры(СписокПараметров)

или

ИмяПроцедуры СписокПараметров

 

Область видимости процедуры

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

 

Локальная процедура доступна только внутри данного программного модуля и не может быть вызвана из другого модуля. Локальная процедура задается с помощью ключевого слова Private :

Private Sub ИмяПроцедуры

Программный код

End Sub

 

Глобальные процедуры доступны, т.е. могут быть вызваны, из всех программных модулей проекта. Глобальная процедура задается с помощью ключевого слова Public (по умолчанию, если перед ключевым словом Sub отсутствуют ключевые слова, процедура является глобальной):

Public Sub ИмяПроцедуры

Программный код

End Sub

Задача: Определить площадь кругового кольца с заданным внешним R1 и внутренним R2 радиусами, используя подпрограмму вычисления площади круга.

Блок-схема решения задачи:

 

Программный код:

 

Dim p As Single

Dim sngr As Single

Dim sngR1 As Single

Dim sngS1 As Single

Dim sngS2 As Single

Dim sngS3 As Single

Dim sngS As Single

Private Sub krug(sngX, sngS As Single)

p = 3.1415

sngS = p * sngX ^ 2

End Sub

Private Sub cmd1_Click()

sngr = CSng(txt1.Text)

sngR1 = CSng(txt2.Text)

Call krug(sngr, sngS1)

Call krug(sngR1, sngS2)

sngS3 = sngS1 - sngS2

txt3.Text = CStr(sngS3)

End Sub

 

Private Sub cmd2_Click()

End

End Sub