
- •Язык блок-схем программ
- •Классические варианты блок-схем
- •Разновидности процедур
- •Процедура типа Sub
- •Процедура типа Function
- •Процедура типа Property
- •Функции аргументов процедур Sub
- •Передача параметров
- •Объявление и присвоение переменной значения (как и для константы) может осуществляться в одной строке, например, для предыдущего кода:
- •Это обеспечивает большую компактность и ясность кода. Лямбда-выражение
- •Делегаты
Лекция 5. Язык блок-схем программ. Классические варианты блок-схем. Разновидности процедур. Передача параметров. Лямбда-выражение. Делегаты
Язык блок-схем программ
Начало блок-схемы (обязательный атрибут)
Обычно оператор присваивания (либо другой оператор)
Любая последовательность операторов
Ввод данных (с клавиатуры или из файла)
Вывод данных (на экран или в файл)
Оператор сравнения (проверка логического условия)
Начало цикла
Конец цикла
Стрелка или направление перехода (передача управления)
1 (+) или 0 (-) Обозначения условий перехода (над стрелками оператора сравнения)
Обозначение переноса (продолжение на следующем листе)
Конец блок-схемы (обязательный атрибут)
Классические варианты блок-схем
Л
инейный
В
етвление
1 (+)
0 (-)
Арифметический цикл
Логические циклы: (с предусловием и постусловием)
С предусловием:
0 (-)
1 (+)
С
постусловием:
1 (+)
0 (-)
Алгоритмы могут быть вложенными один в другой, например, циклы, условные переходы, конструкции With и т. п.
Все сложные алгоритмы состоят из классических схем алгоритмов или их комбинаций. Реализацией алгоритма является программа.
Результатом разработки программы является получение выполняемого компьютером кода, а не просто написание последовательности инструкций на языке высокого уровня, таким образом, после написания программы необходимы её тестирование и отладка.
Разновидности процедур
В общем случае в Visual Basic существуют следующие типы процедур:
Sub;
Function;
Property.
Процедура типа 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.