Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Использование подпрограмм (процедуры и функции)




Использование подпрограмм, не возвращающих значения (процедуры)

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

Синтаксис описания процедуры:

[Private | Public] [Static] Sub Имя [(СписокАргументов)]

[инструкции]

[Exit Sub]  ‘Инструкция Exit Sub приводит к немедленному выходу из процедуры Sub

[инструкции]

End Sub

 

Любую процедуру можно вызвать из другой процедуры:

ИмяПроцедуры СписокФактическихПараметров

 

СписокФактическихПараметров – это список аргументов, передаваемых процедуре. Он должен соответствовать по количеству и типу списку, заданному в процедуре при ее описании.

Практическое задание

Создайте новую процедуру и задайте в ней вызов любой другой процедуры из разработанных в рамках данной лабораторной работы.

 

Использование подпрограмм, возвращающих значения (функции)

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

Синтаксис описания функции:

 

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

[Инструкции]

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

[Exit Function]

[Инструкции]

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

End Function

 

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

Практическое задание

1. Разработать функцию, осуществляющую расчет стоимости товара с НДС. В качестве аргументов данная функция должна принимать стоимость товара без НДС и ставку НДС. Возвращаемое функцией значение – стоимость товара с НДС.

2. Создать новую процедуру и задайте в ней вызов разработанной функции с целью расчета стоимости товара с НДС, указав при вызове необходимые параметры (стоимость товара без НДС и ставку НДС). Полученную стоимость выведите на экран с помощью сообщения:

«Стоимость товара с НДС: ____».

 

Назначение значений по умолчанию необязательным параметрам

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

 

Function Сумма (a As Double, Optional b As Double = 10) As Double

Сумма = a + b

End Function

 

Соответственно, правильными будут следующие оба вызова функции Сумма:

 

С = Сумма(5, 10)

С = Сумма(5)

Практическое задание

Доработать предыдущее практическое задание, реализовав в описании функции расчета стоимости без НДС параметр «ставка НДС» в виде необязательного параметра со значением по умолчанию равным 20. Попробуйте задать вызов указанной функции в различных вариантах: исключив из числа параметров ставку НДС, задав ставку НДС, отличную от 20.

 

Вызов подпрограмм с указанием фактических параметров по имени

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

 

С = Сумма(a:=5, b:=10)

С = Сумма(b:=10, a:=5)

Практическое задание

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

 










Последнее изменение этой страницы: 2018-05-10; просмотров: 135.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...