
1.4. Области видимости переменных
Область кода программы, в пределах которой объявленная переменная доступна
(видна) программе, называется областью видимости переменной.
Переменные могут иметь одну из перечисленных ниже областей видимости:
. на уровне процедуры (локальная) – допускает использование переменной только
внутри подпрограммы (процедуры), в которой она была описана. Рекомендуется
размещать объявление переменных в начале процедуры.
. на уровне модуля — допускает использование переменной всеми процедурами,
находящимися внутри модуля, в котором была описана данная переменная. Для описания
таких переменных в начале каждого модуля имеется область, которая открывается
выбором в списках окна программного кода ключевых слов (General) (Declaration);
. на глобальном уровне— допускает использование переменной на уровне всего
проекта. Глобальные переменные описываются там же, где и переменные с областью
видимости на уровне модуля, но перед глобальной переменной вместо слова Dim ставится
слово Global.
Как мы уже говорили ранее, при создании локальных переменных такие
переменные уничтожаются по завершении работы структуры или процедуры.
Например, как в приведенном ниже фрагменте:
Public Sub MyProcedure()
Dim i As Integer, sum As Double
For i = 1 to 12
sum = sum + 1
Next i
End Sub
После завершения работы структуры условия переменные i и sum будут уничтожены.
Если необходимо, чтобы значения переменных сохранялись на протяжении работы
всей программы, то используются статические переменные, которые при объявлении
которых используется ключевое слова Static вместо Dim. Что в нашем примере
нужно, чтобы переменная intS сохраняла свои значения. Тогда листинг будет
выглядеть так:
Public Sub MyProcedure()
Dim i As Integer
Static sum As Integer
For i = 1 to 12
sum = sum + 1
Next i
End Sub
При первом вызове процедуры MyProcedure переменная sum будет иметь значение 12,
при втором — 24, при третьем 36 и т. д. Переменная i будет обнуляться, т. к. она не
объявлена как статическая.
1.5. Комментарии
Комментарии применяются для пояснения кода программы и могут находиться в
любом месте программы. Комментарии не обрабатываются компилятором Visual Basic и
не занимают места в откомпилированной программе.
Комментарии в Visual Basic можно записывать двумя способами:
. с помощью ключевого слова Rem. Например:
Dim summa1 As Integer
Rem Объявили переменную суммы за первый квартал
. с помощью апострофа '. Например:
Dim summa2 As Integer ' Объявили переменную суммы за второй квартал
2. Выражения и операторы
2.1. Арифметические операции
Над числовыми данными вы будете выполнять многие операции, которые мы будем
называть арифметическими.
К числу арифметических операций в Basic относятся:
. сложение +
. вычитание -
. умножение *
. деление /
. деление по модулю Mod (целочисленный остаток от деления)
. возведение в степень ^
Например, выражение 11 Mod 2 будет равно 1.
Символы, при помощи которых производятся операции, называют операторами,
элементы, над которыми производятся операции называют операндами.
2.2. Порядок выполнения арифметических операций
Операторы одного типа будут выполняться в том порядке, в котором они
записаны, т. е. слева направо. Например:
12+44+1
будет выполнено сначала 12+44, а затем результат 56+1.
Как и в обычных правилах математики, вы можете использовать круглые скобки
для изменения порядка вычислений. При вычислении выражения:
12+(44+1)
будет выполнено сначала 44+1, а затем 12+45, сначала выполняются операции в скобках.
Важно заметить, что если в «выражении» следуют один за другим несколько
различных арифметических операторов, то они выполняются в приведенном ниже
порядке (в соответствии со своими приоритетами):
1. Операция возведения в степень (^)
2. Операция изменения знака числа (-)
3. Операции умножения и деления (* и /)
4. Операция деления по модулю (Mod)
5. Операции сложения и вычитания (+ и -)
Приведем небольшой пример:
-12*123Mod4+(17+23)*21+7^2
Операции в данном примере будут выполнены в такой последовательности:
1. 17+23
2. 7^2
3. -12
4. -12*123
5. (17+23)*21
6. -12*123Mod4
7. 7, -12*123Mod4+(17+23)*21
8. 8. -12*123Mod4+(17+23)*21+7^2
2.3. Некоторые математические функции
В Visual Basic есть встроенные подпрограммы, позволяющие вычислять значения
стандартных математических функции, таких как синус, косинус, логарифм и т.д.
При этом сначала пишется название соответствующей функции, а затем (в скобках)
аргумент. Аргумент, в свою очередь, также может представлять собой выражение.
Названия некоторых функций и их назначение
Abs() - возвращает модуль числа (абсолютное значение), заданного в качестве
аргумента;
Atn() - арктангенс (т. е. возвращает значение угла, тангенс которого равен
заданному в качестве аргумента числу);
Cos() - косинуса угла (в радианах), заданного в качестве аргумента;
Ехр() - число е (2.71828182845905), возведенное в заданную в качестве аргумента
степень;
Log() - натуральный логарифм числа, заданного в качестве аргумента;
Sin() - синуса заданного угла (в радианах);
Sqr() - квадратного корень числа, заданного в качестве аргумента;
Tan () - тангенса заданного угла (в радианах).
Некоторые производные функции
, , , . ..21arctgarcsinxxx......axxalnlnlog...2shxxeex.....2chxxeex...
Таким образом, мы познакомились почти со всеми элементами языка
программирования, которые при их совместной записи составляют выражения.
Выражения записываются в правой части оператора присваивания (после знака =) и
может включать операторы, круглые (!) скобки, числа, переменные и константы,
стандартные функции. Однако, данные элементы позволяют производить действия
только последовательно, одно за другим, реализуется так называемый линейный
алгоритм. Для того, чтобы изменять порядок действий в зависимости от назначенных
условий или производить определенную операцию или группу операций несколько
раз (соответственно, реализовать разветвляющийся или циклический алгоритмы)
применяются условные операторы и операторы цикла.