Для чего нужна процедура Function?

2543
знака
0
таблиц
0
изображений

Итак, функция. Что это такое? Функция выполняет служебное действие, например вычисление, и возвращает значение. Вызвать функцию можно, написав её имя и передав ей аргументы, в нужном месте вашей программы. Чем же полезна функция? Сейчас объясню на очень простом примере! Например, Вы пишите простенькую программу, которая вычисляет среднее арифметическое трёх чисел, потом умножает полученный результат на каждое число и отнимает их сумму. Неважно зачем вам такая программа, это ведь пример ;-). Вот она (пишем в модуле):

Sub Main()

Dim a As Integer объявляем переменную для первого числа

Dim b As Integer объявляем переменную для второго числа

Dim c As Integer объявляем переменную для третьего числа

a = InputBox("Введите первое число") получаем первое число

b = InputBox("Введите второе число") получаем второе число

c = InputBox("Введите третье число") получаем третье число

проделываем нужную операцию над числами

выводим результат на экран

MsgBox (((((a + b + c) / 3) * a) * b) * c) - (a + b +c)

End Sub

Вроде бы всё нормально. А теперь представте себе, что программа начала ширится и формулой приходится пользоваться из разных мест программы и Вы должны поэтому её кругом писать 8:-O !!!

Да, некрасиво получается... Для этого можно воспользоваться функцией, которая будет иметь эту формулу и только ждать своего вызова и ваших чисел ;-)! Напишем такую функцию и назовём её, например FuncX (вне пределов подпрограммы Sub): объявляем функцию и задаём передаваемые аргументы

Public Function FuncX(a, b, c) As Integer присваевает себе значение формулы

FuncX = (((((a + b + c) / 3) * a) * b) * c) - (a + b + c)

End Function

Есть! А теперь Вы можете вызывать функцию из любого места вашей программы, написав её имя и передав три числа a, b и с:

FuncX (a, b, c) или FuncX(4, 5, 6)

и не надо больше этой длинной формулы! Вместо

(((((a + b + c) / 3) * a) * b) * c) - (a + b +c)

Теперь можно писать

FuncX(a, b, c)

Неправда это удобней? Надеюсь я обьяснил понятно ;)?

Примечание: передаваемые значения функции изменяются! Напрмер:

Function ABC (X,Y)

ABC = (2 * X) + (2 * Y)

End Function

Теперь X равно 2 * Х, а Y равно 2 * Y, т.е. их значения удвоились. Для того чтобы переданные значения не изменялись то в скобках нужно писать перед аргументом ByVal. Например:

Function ABC ( ByVal X, ByVal Y)

Сами того не подозревая, мы очень часто используем функции. Например InputBox. Смотрите:

A = InputBox (Prompt, Title)

А - это результат, возвращаемый функцией. InputBox - это имя функции. Prompt и Title - передаваемые значения. Но функция это стандарт


Информация о работе «Для чего нужна процедура Function?»
Раздел: Информатика, программирование
Количество знаков с пробелами: 2543
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
2199
0
0

... Т.е. подпрограмма Msgbox выводит окно на экран с текстом "Привет!" и заголовком "Заголовок". Теперь допустим, что Вам нужно, чтобы ваша программа вырезала из передаваемых строк все заданные символы (возьмём мой пример из "Практики"): Sub Main() объявляем переменную для строки Dim Stroka As String объявляем переменную для символа, который надо вырезать Dim Symbol As String объявляем ...

Скачать
9167
0
0

... Если же ни процедура А не находится внутри В, ни В не находится внутри А, то эти процедуры - внешние по отношению друг к другу. Сфера действия описания любого объекта включает ту процедуру, где он описан (начиная с места описания) и все внутренние процедуры, если там данный идентификатор не описан. В принципе, это дает возможность передавать информацию в процедуры и функции, минуя параметры, то ...

Скачать
195938
7
27

... М.Н. ________________ «___»__________1996г. Д И П Л О М Н А Я Р А Б О Т А «Возможности радиолокационного тренажера NMS-90 и его использование для решения задач расхождения в условиях ограниченной видимости» ШИФР _________________ ИСПОЛНИТЕЛЬ ...

Скачать
182348
5
27

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

0 комментариев


Наверх