Виды процедур и функций
ПРОЦЕДУРЫ И ФУНКЦИИ
Лекция 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. Иллюстрация порядка выполнения процедур и функций |
Выполнение программы может начаться только с событийной процедуры. В этой процедуре могут вызываться другие процедуры (процедура А) или функции. После вызова процедуры (функции) выполняются инструкции тела этой процедуры (функции). В свою очередь в вызванной процедуре могут быть обращения к другим процедурам или функциям (функция Б) и т.д.
Прекращение выполнения вызванной процедуры или функции (возврат) означает возвращение в вызывающую процедуру или функцию, выполнение которой продолжается с инструкции, следующей за инструкцией, в которой произошел вызов.