Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информатике.docx
Скачиваний:
19
Добавлен:
14.04.2015
Размер:
325.87 Кб
Скачать

Локальные и глобальные параметры (переменные)

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

Формальные и фактические параметры

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

Параметры, передающиеся по значению

Параметры, передающиеся по значению, – это параметры, значения которых передаются в подпрограмму и не передаются из нее обратно. Перед такими параметрами ставится оператор ByVal.

Подпрограмма-функция

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

Синтаксис:

[Public [Private] [Static] Function Имя [(Список аргументов)] As Тип

Тело подпрограммы

Имя = Выражение

End Function

Подпрограмма-функция вызывается в выражении по своему имени, за которым следует список аргументов в скобках:

Переменная = Имя подпрограммы-функции(Список аргументов)

Пример 1

Даны действительные числа s,t. Получить значение выражения

,

где

Программный код

Option Explicit

Sub PR31()

Dim s As Double

Dim t As Double

Dim f As Double

s = Val(InputBox("Введи s"))

t = Val(InputBox("Введи t"))

f = Q(1.2, s) + Q(t, s) – Q(2 * s – 1, s * t)

MsgBox("f=" & f)

End Sub

Private Function Q(ByVal a As Double, ByVal b As Double) As Double

Q = (a^2 + b^2) / (a^2 + 2 * a * b + 3 * b^2 + 4)

End Function

35