Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_1 / Элементы программирования - методичка.doc
Скачиваний:
60
Добавлен:
06.03.2016
Размер:
449.02 Кб
Скачать

Процедуры Function

Процедуры Function отличаются от процедурSubтем, что само имя процедурыFunctionвозвращает значение, которое рассчитывается этой процедурой. Поэтому применение стандартных процедур типаSin(),Tan() и т. п. и пользовательскихFunctionодинаково. Просто в выражениях пишется имя процедуры и параметры в скобках, если таковые есть. При отсутствии параметров имяFunctionпишется без скобок. Синтаксис процедурыFunction следующий:

[Private|Public] [Static] Function ИмяПроцедуры(Аргументы) [As type]

Коды тела функции

ИмяПроцедуры = Выражение

End Function

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

Пример пользовательской функции для вычисления объема параллелепипеда по сторонам a,b,c:

Public Function ОбъемПар (a As Single, b As Single, c As Single)

ОбъемПар = a*b*c

End Function

Обратиться к этой процедуре можно тремя способами:

1) по ссылке:

а1 = 3.4: b1 = 10: h = 6.8

sumo = ОбъемПар(a1, b1, h)*10 + 100.5

2) по значению:

sumo = ОбъемПар (3.4, 10, 6.8)*10 + 100.5

3) с помощью ключевых параметров

sumo = ОбъемПар (a:= 3.4, b:= 10, h:=6.8)*10 + 100.5

С помощью ключевых параметров можно обращаться также к процедурам Sub.

Досрочный выход из процедурпроизводится с помощью оператораExit Sub иExit Function.

Создание процедур

Чтобы начать создание процедуры, переходим в окно написания кода. Затем выполняем команду Инструменты Добавить Процедуру…В появившемся диалоговом окне задается имя процедуры, выбирается её тип и район (район видимости):

После нажатия кнопки ОК в окне написания кода увидим первую и последнюю строчку кода новой процедуры.

Public Function ОбъемПар()

End Function

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

Из диалогового окна видно, что, кроме процедур SubиFunction, так можно начать и создание процедурPropertyиEvent. Но создание этих процедур здесь не рассматривается, т. к. они используются при разработке нового класса, а создание классов не разбирается.

8. Операторы управления

Операторы в программе выполняются в той последовательности, в которой они записаны в ней: слева направо и сверху вниз. ВVisualBasic, как и во всех языкахпрограммирования, существуют управляющие операторы, предназначенн­ые для изменения порядка выполнения команд. Различают три основныхтипа управляющих операторов:

  • операторы передачи управления;

  • операторы выбора;

  • операторы циклов.

Операторы передачи управления

Операторы безусловного переходаGoTo применяются для перехода с одного участка программы на любой другой без проверки какого-либо условия. Общий вид оператора перехода:

GoToИмяМетки

где:

GoToключевое слово;

ИмяМетки– одна из меток программы.

Метка – это идентификатор, помещаемый слева от программ­ного оператора и отделенный от него двоеточием.

Но строку можно пометить и числом без двоеточия.

Рассмотрим фрагмент программы, где используются два оператора GoTo:

m1: kol = kol + 1

GoTo pov ' далее программа продолжается с метки pov

m2: sngA = 100

GoTo 2 ' далее программа продолжается со строки, помеченной 2

pov: sngA = Exp(x) + log(x^2)

2 sngM = Sin(x^2) + Log(5*y^2 +abs(x))

Из предыдущей части программы управление может быть передано на метку m1 илиm2.

Во всех руководствах по программированию рекомендуется избегать применения оператора GoТо,так как в это случае программа плохо читается и ухудшается ее по­нимание. Почти все учебные типовые задачи, которые предлагаются при изучении курса программирования, можно запрограммировать без использования оператораGoTo.

Ниже оператор GoToиспользуется для объяснения работы операторов цикла.