Процедура Sub...End Sub. Заголовок процедуры. Формальные и фактические параметры. Обращение к процедуре. Порядок выполнения.
Процедура, создаваемая пользователем, имеет следующий формат:
Sub<имя> (<перем1> as<тип1> ,<перем2> as<тип2>,…, <перемN>as<типN> )
<тело процедуры>
End Sub
После ключевого слова Sub записывается имя процедуры. Имя процедуры должно быть уникальным в пределах проекта, также оно не должно совпадать ни с одним из имен переменных.
Для вызова процедуры из основной программы используется ключевое слово Call.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ………………………………………….
Call <имя> (<перем1>,<перем2>,…,<перемN>) ………………………………………….
End Sub
Формальными параметрами называются переменные описанные в заголовке программы и используемые только внутри процедуры (функции). Формальные параметры указывают, с какими параметрами следует обращаться к этой процедуре (функции), т.е. их количество, последовательность, тип. Они задаются в заголовке процедуры (функции) в виде списка параметров, разбитого на группы (секции) однотипных параметров, разделенных ‘,’. Порядок следования групп (секций) произвольный. Количество параметров может быть любым. Для каждого формального параметра следует указать имя и тип. Имена параметров могут быть любыми, они могут совпадать с глобальными именами программы. Необходимо лишь помнить, что в этом случае параметр основной программы с таким именем становится недоступным для непосредственного использования подпрограммой. Но формальные имена не могут совпадать с локальными переменными!!!!, т.к. они располагаются в одном стековом сегменте памяти.
Фактическими параметрами называются параметры, которые задаются при вызове процедуры (функции).
Процедура вызывается по имени:
<имя процедуры> {(фактические параметры)};
Правила задания фактических параметров:
· Фактические параметры должны совпадать с формальными по количеству, по порядку следования, по типу.
· Если формальный параметр – параметр-переменная, то фактический параметр при вызове процедуры задается только идентификатором (вызов по ссылке).
· Если формальный параметр – параметр- значение(вызов по значению), то фактический параметр при вызове процедуры задается:
идентификатором
константой
выражением
· Для параметров-переменных (вызов по ссылке) должно быть точное совпадение по типу фактических и формальных параметров, а для параметров-значений (вызов по значению) допустима совместимость.
Если в качестве передаваемого параметра выступает одномерный массив, то после его имени, при записи формальных параметров, ставятся пустые круглые скобки. Если массив является многомерным, то в круглых скобках должна быть указана запятая. При передаче массива в момент вызова процедуры или функции в фактических параметра записывается его имя, а скобки после имени не ставятся. Массивы и возвращаемые значения рекомендуется передавать по ссылке. Различия между передачей параметров по ссылке и по значению заключаются в следующем. При передаче переменной по ссылке из основной программы в процедуру или функцию, изменение значения переменной внутри процедуры или функции, приводит к изменению ее значения в основной программе. При передаче переменной по значению, в памяти компьютера для ее выделяется новая ячейка памяти и изменения значений переменной внутри процедуры или функции, не изменяет ее значений в основной программе. При завершении процедуры или функции переменная уничтожается, освобождая выделенную до этого память.
Дата добавления: 2022-04-12; просмотров: 220;