Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Функции. Функция предназначена для вычисления некоторой величины, значение которой возвращается вызывающей процедуре




Функция предназначена для вычисления некоторой величины, значение которой возвращается вызывающей процедуре.

Функция создается также, как и процедура: или с помощью диалогового окна Add Procedure (в группе Type выбирается Function) или вводится в разделе General окна программных кодов.

Синтаксис функции:

[Private / Public] Function имя [(список формальных параметров)] as тип

[объявление переменных и констант]

операторы

Имя = вычисляемая величина

End Function

У функции два основных отличия от процедуры.

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

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

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

Пример. Функция вычисления факториала числа n.

Private Function Factorial (n as byte) as integer

Dim Fact as integer, i as byte

Fact = 1

for i = 2 to n

Fact = Fact * i

next i

Factorial = Fact

End Function

Использование функции в основной процедуре:

Part = Sqr(t) / Factorial (j), где

Sqr(t) – вызов стандартной функции возведения в квадрат переменной (фактического параметра t,

Factorial (j) – вызов созданной функции, вычисляющей факториал переменной j (фактический параметр)

 

Досрочный выход из процедур и функций

Иногда необходимо выйти из процедуры еще до того, как она свершится. Это делается с помощью ключевого слова Exit: Exit Sub из процедуры и Exit Function – из функции.

При работе с проектом пользователь вводит в текстовое окно txtn целое число, определяющее число повторений цикла. Если установлен флажок «Выйти досрочно», то цикл выполняется в 2 раза меньшее число раз, если не установлен, то полностью – число раз, введенное с клавиатуры. Число повторений цикла отображается на командной кнопке «Выполнить».

Функция выполняет цикл n раз или n/2 раз, возвр.

Private Function Out (n as integer, flag as integer) as integer

Dim i as integer

Dim p as integer

Dim fl as integer

p = n ‘число выполнения цикла

fl = flag ‘признак досрочного выхода

for i = 0 to p

if fl = 1 then ‘если установлен флажок

if i = p/2 then ‘n если i = половине р

out = i ‘то возвращается текущее значение i

Exit function ‘и досрочный выход

end if

end if

Next i

Out = i ‘если флажок не установлен, цикл выполняется

‘полностью

End Function

Вызывающая функцию процедура:

Private Sub btnStart_Click ()

Dim i as integer

Dim j as integer

j = CInt (txtn.text) ‘введенное число повторений цикла

i = Out (j, chkBox.Value) ‘вызов функции

btnStart.Caption = CStr(i) ‘вывод значения i

End Sub

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 303; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.