Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_k_biletam_po_informatike.docx
Скачиваний:
42
Добавлен:
31.03.2015
Размер:
94.61 Кб
Скачать

17) Объявление подпрограмм и обращение к ним.

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

быть вызвана.

Вызов подпрограммы осуществляется вставкой в код строки, которая начинается с

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

аргументов подпрограммы, если таковые предусмотрены.

ИмяПодпрограммы ([Список значений аргументов])

Функция возвращает значение в точку вызова, в остальном же ее вызов во всем

подобен вызову подпрограммы.

X = A + ИмяФункции ([Список значений аргументов])

Чтобы функция могла вернуть значение, ее вызов должен фигурировать в какой-

нибудь конструкции, использующей возвращаемое функцией значение (например, в

качестве присваиваемой величины в операции присваивания, в качестве условия в

конструкции If и т. п.).

Для объявления подпрограммы используют следующий синтаксис:

[Private/Public] Sub ИмяПодпрограммы ([Список аргументов])

[Инструкции]

[Exit Sub]

[Инструкции]

End Sub

Синтаксис объявления функции выглядит несколько иначе:

[Private/Public] Function ИмяФункции _

([Список аргументов]) [As Тип]

[Инструкции] К оглавлению[ИмяФункции = Выражение]

[Exit Function]

[Инструкции]

[ИмяФункции = Выражение]

[Return Выражение]

End Function

Пояснения синтаксиса:

  • Public. Этим словом объявляют в модуле подпрограмму или функцию, которая

должна быть доступна всем подпрограммам и функциям всех форм и всех модулей

проекта.

  • Private. В этом случае подпрограмма или функция доступна только в пределах той

формы или модуля, в которой она объявлена. Подразумевается по умолчанию.

  • Exit Sub / Exit Function. Эти инструкции осуществляют досрочный выход из

подпрограммы или соответственно функции.

18) Объявление функций и обращение к ним.

В теле функции обязательно должна выполниться инструкция, при выполнении которой

имя функции получает результирующее значение. Чаще всего для этого применяется

инструкция присвоения. Однако, в VB.NET предусмотрен и другой способ,

заключающийся в применении инструкции Return(Выражение), которая присваивает

имени функции значение выражения.

Синтаксис аргументов сам по себе является достаточно развитым:

[Optional][ByVal / ByRef][ParamArray]ИмяАргумента[()] _

[As Тип][= ЗначениеПоУмолчанию]

ИмяАргумента - имя переменной, массива (в случае массива используется

ИмяАргумента ( ) без указания границ значения индексов, что позволяет использовать

одну подпрограмму для разного числа элементов массива в каждом конкретном случае),

элемента управления или формы (в последних двух случаях тип принимает значения

Control или Form или имени класса объекта).

Тип может быть любым базовым типом, пользовательским типом, а также

Control и Form.

ЗначениеПоУмолчанию допустимо только для необязательного аргумента.

Задает значение, которое будет автоматически присвоено аргументу в случае его

отсутствия.

Список аргументов определяет связь по данным между вызывающей процедурой

(процедура, из которой происходит вызов) и вызываемой процедурой.

Поясним назначение зарезервированных слов, применяемых при определении аргументов:

  • Optional. Это слово должно предшествовать имени того аргумента, который

является необязательным. После необязательного аргумента могут следовать только

необязательные же аргументы. Нельзя использовать необязательные аргументы

совместно с массивом аргументов (ParamArray).

  • ByVal. Значение аргумента, которому предшествует это слово, будет передаваться в

процедуру или функцию по значению (передается его копия). Если аргументом

окажется внешняя относительно процедуры переменная, то никакие манипуляции с

этим аргументом в теле процедуры не изменят значения этой внешней переменной.

Такой способ применяется для входных данных. При обращении к подпрограмме или

функции соответствующий аргумент может быть выражением. Этот режим передачи

аргументов по значению принят по умолчанию и используется для входных

  • ByRef. Передача значения аргумента будет производиться по ссылке (передается

физический адрес аргумента). Значение внешней переменной, переданной процедуре

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

переменной.

  • ParamArray. Массив аргументов. Таковым может быть объявлен только последний

аргумент в списке, при этом он будет представлять собой переменную типа Object,

содержащую в себе массив. Этим способом можно передавать в процедуру или

функцию значительные объемы данных. При использовании массива аргументов

нельзя применять свойства Optional, ByVal и ByRef.

! Процедура не может быть определена внутри какой-либо подпрограммы или

Функции.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]