Виды процедур и функций

ПРОЦЕДУРЫ И ФУНКЦИИ

Лекция 10

Логические операции

Эти операции могут применяться к данным и выражениям логического типа (Boolean).

В VB определены 6 логических операций: And (логическое «И»), Or (логическое «ИЛИ»), Not (логическое отрицание), Imp (логическая импликация), Xor (логическое исключительное «ИЛИ»), Equ (логическая эквивалентность). Рассмотрим первые три операции из этого списка. Операции Imp, Xor и Equ – реликты старых версий VB.

 

Операция Not имеет следующий синтаксис:

 

Not Операнд

 

Операнд, имеющий логический тип, – это отношение, переменная или функция логического типа или результат логической операции. Результат логического отрицания имеет значение противоположное значению ее операнда, что показывает приведенная ниже таблица:

Значение операнда Значение операции Not Операнд
True False
False True

 

Операция And имеет два операнда:

 

Операнд 1 And Операнд 2

 

Результат операции логическое «И» определяет таблица:

Значение операнда 1 Значение операнда 2 Значение операции Операнд 1 And Операнд 2
True True True
True False False
False True False
False False False

 

Операция And имеет значение True только тогда, когда оба операнда имеют значение True.

 

Пример. Неравенство a ≤ x ≤ b следует записать a <= x And x <= b

 

Операция Or также имеет два операнда:

 

Операнд 1 Or Операнд 2

 

Результат операции логическое «ИЛИ» дан в таблице:

Значение операнда 1 Значение операнда 2 Значение операции Операнд 1 OR Операнд 2
True True True
True False True
False True False
False False False

 

Операция Or имеет значение True, если хотя бы один операнд имеет значение True.

Пример. Условие значение х не принадлежит отрезку [a, b] следует записать:

x < a Or x > b или Not (x >= a And x <= b).

Логические операции имеют более низкий приоритет, чем арифметические операции.

Таблица приоритетов.

Приоритет Операция
1 – 7 Арифметические операции
<, >, <=, >=, =, <>
Not
And
Or

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

В программе на языке VB можно использовать несколько видов процедур и функций. Вот некоторые из них:

Событийная процедура – обработчик события. Код этой процедуры выполняется автоматически, если с объектом происходит событие, с которым эта процедура связана.

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

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

В предыдущих лекциях в примерах рассматривались процедуры обра­ботки событий, которые в процессе выполнения программы инициировались (запускались) в результате свершения некоторого определенного события (щелчок мыши, нажатие кнопки и т.п.). В VB имеется возможность выделить неоднократно повторяющиеся фрагменты программы в определенным образом организованные функциональные блоки инструкций, которые можно использовать без их повторного написания и отладки. При этом сложные программы получаются более компактными, а функциональные блоки при их правильной организации могут использоваться в других программных разработках. Организовать функциональные блоки в VB можно в виде процедур (Sub) и функции (Function).

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

Рис. 10.1. Иллюстрация порядка выполнения процедур и функций

 

Выполнение программы может начаться только с событийной процедуры. В этой процедуре могут вызываться другие процеду­ры (процедура А) или функции. После вызова процедуры (функции) выполняются инструкции тела этой процедуры (функции). В свою очередь в вызванной процедуре могут быть обращения к другим процедурам или функциям (функция Б) и т.д.

Прекращение выполнения вызванной процедуры или функции (возврат) означает возвращение в вызывающую процедуру или функцию, выполнение которой продолжается с инструкции, следующей за инструкцией, в которой произошел вызов.