Меню
  Список тем
  Поиск
Полезная информация
  Краткие содержания
  Словари и энциклопедии
  Классическая литература
Заказ книг и дисков по обучению
  Учебники, словари (labirint.ru)
  Учебная литература (Читай-город.ru)
  Учебная литература (book24.ru)
  Учебная литература (Буквоед.ru)
  Технические и естественные науки (labirint.ru)
  Технические и естественные науки (Читай-город.ru)
  Общественные и гуманитарные науки (labirint.ru)
  Общественные и гуманитарные науки (Читай-город.ru)
  Медицина (labirint.ru)
  Медицина (Читай-город.ru)
  Иностранные языки (labirint.ru)
  Иностранные языки (Читай-город.ru)
  Иностранные языки (Буквоед.ru)
  Искусство. Культура (labirint.ru)
  Искусство. Культура (Читай-город.ru)
  Экономика. Бизнес. Право (labirint.ru)
  Экономика. Бизнес. Право (Читай-город.ru)
  Экономика. Бизнес. Право (book24.ru)
  Экономика. Бизнес. Право (Буквоед.ru)
  Эзотерика и религия (labirint.ru)
  Эзотерика и религия (Читай-город.ru)
  Наука, увлечения, домоводство (book24.ru)
  Наука, увлечения, домоводство (Буквоед.ru)
  Для дома, увлечения (labirint.ru)
  Для дома, увлечения (Читай-город.ru)
  Для детей (labirint.ru)
  Для детей (Читай-город.ru)
  Для детей (book24.ru)
  Компакт-диски (labirint.ru)
  Художественная литература (labirint.ru)
  Художественная литература (Читай-город.ru)
  Художественная литература (Book24.ru)
  Художественная литература (Буквоед)
Реклама
Разное
  Отправить сообщение администрации сайта
  Соглашение на обработку персональных данных
Другие наши сайты
Приглашаем посетить
  Естествознание (es.niv.ru)

   

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

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

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

Sub Main()

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

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

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

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

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

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

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

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

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

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

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)

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

Function ABC ( ByVal X, ByVal Y)

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

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