Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Разновидности процедур

0 (-)

1 (+)

1 (+)

0 (-)

Арифметический цикл

0 (-)

1 (+)

 

 

 
 


4 Логические циклы: (с предусловием и постусловием)

 

С предусловием:

 
 

 

 


 

 

 

 


С постусловием :

 

 

 

 

Алгоритмы могут быть вложенными один в другой, например, циклы, условные переходы, конструкции With и т. п.

Все сложные алгоритмы состоят из классических схем алгоритмов или их комбинаций. Реализацией алгоритма является программа.

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

В общем случае в Visual Basic существуют следующие типы процедур:

1. Sub;

2. Function;

3. Property.

1. Процедура типа Sub

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

[Уровень доступности] Sub ИмяПроцедуры(Аргументы)

Операторы

End Sub

С помощью параметра "Уровень доступности", который аналогичен оператору переменной "Область видимости") указывается, доступна ли процедура другим частям программы.

Уровень доступности может принимать следующие значения:

- Public – процедура доступна в проекте, в котором определена;

- Private – процедура доступна только в том классе или модуле, в котором она определена;

- Protected – процедура защищена и доступна внутри класса, в котором она объявлена, а также в классах, производных от данного класса;

- Friend – дружественная процедура. Она доступна только внутри той сборки, в которой они объявлены. Сборка – полностью самостоятельная единица приложения, которая обычно соответствует всей программе, поэтому данный модификатор воспринимается как указание видимости в пределах программы;

- Protected Friend – процедура, доступность которой расширяется не только на сборку, но и на производные классы.

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

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

Процедуры типа Sub разделяются на процедуры обработки событий (event procedure) и общие процедуры.

Процедуры обработки событий

Процедуры обработки событий связаны с объектами, размещёнными в формах VB. Или с самой формой и выполняются при возникновении события, с которым они связаны. Например, для события, связанного с загрузкой формы Form1, процедура обработки события Sub имеет следующий синтаксис:

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles MyBase.Load

(операторы)

End Sub

End Class

Имя процедуры загрузки формы Form1 будет выглядеть, как Form1_Load(), а если произвести щелчок (клик) на форме, то - Form1_Click().

Подобным же образом создаются шаблоны процедур обработки события для любого элемента управления формы. Внутри процедур помещаются операторы программного кода, создаваемые разработчиком, а в конце – оператор окончания процедуры End Sub. Процедура работает в классе, поэтому обязательно Должны быть указаны оператор объявления класса Form1: Public Class Form1 и оператор завершения работы в классе: End Class.


Общие процедуры

Общие процедуры – это серия каких-то операторов VB между ключевыми словами Sub и End Sub. Это - процедуры, созданные пользователем, в том числе и макросы VBA, запускаемые не событием, а по имени процедуры.

При вызове процедуры эти операторы выполняются до тех пор, пока не встретится, как обычно, ключевое слово End Sub или оператор Exit Sub.

Общие процедуры вызываются процедурами обработки событий по своему имени, как, например, макрос VBA, либо из приложения (Word, Excel), либо из редактора VBA.

2. Процедура типа Function

Процедуры Function в отличие от процедур Sub могут возвращать значение в вызывающую процедуру. Синтаксис Function имеет следующий вид:

[Уровень доступности] Function ИмяПроцедуры(Аргументы) [As Тип]

(операторы)

End Function

В качестве уровня доступности может быть указано: Public, Private, Protected, Friend, Protected Friend.

Процедуры Function, как и переменные, имеют тип, задаваемый ключевым словом As. Если тип процедуры не задан, то по умолчанию ей присваивается тип Object.

Тип процедуры определяет тип возвращаемого ею значения.

"Возвращаемым значением" называется значение, которое функция передаёт обратно в вызвавшую её программу.

Функция может вернуть значение двумя способами:

- значение присваивается самому имени функции один или несколько раз в процессе выполнения процедуры. Управление и, соответственно, возвращаемое значение, не будет передано в программу, вызвавшую функцию до тех пор, пока не выполнится End Function или Exit Function;

- с помощью оператора Return (возврат), чтобы определить возвращаемое значение с немедленной передачей управления программе, вызвавшей функцию.

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

Если функция возвращает массив, то внутри этой функции невозможен доступ к отдельным элементам массива.

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

Module Module1

Function Площадь(ByVal A As Single) As Single

Площадь = A ^ 2

End Function

Для вызова функции используется процедура Sub Main().

Sub Main()

Dim Квадрат As Single

Квадрат = Площадь(400)

MsgBox("Площадь квадрата" & " = " & Квадрат)

End Sub

End Module

3. Процедура типа Property

Эта процедура объявляет имя свойства и включает операторы, используемые для извлечения или сохранения значения свойства, например, оператор Get используется для получения значения свойства, а End Get - завершает определение данного значения.

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

Property Имя_свойства ([Параметр]) [As type]

Get

(операторы)

End Get

End Property

<== предыдущая лекция | следующая лекция ==>
Язык блок-схем программ | Передача параметров
Поделиться с друзьями:


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


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



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




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