Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по информатике.doc
Скачиваний:
19
Добавлен:
01.12.2018
Размер:
9.62 Mб
Скачать

15.1.2 Переменные и их типы

Все переменные в языке Visual Basic имеют тип. Тип указывает, что может хранить переменная: целое число, строку, дату и т.п.

Для объявления типа переменной необходимо написать:

Dim perem As Type

Вместо Dim можно использовать Public и Private. Переменная, объявленная с помощью Public, может использоваться макросами из других модулей и форм, а переменная, объявленная как Private или Dim, может быть использована только в том модуле, где была объявлена.

При составлении программы на языке Visual Basic for Application совсем не обязательно объявлять переменные до начала их использования в программе. Как только в программе встретится присвоение новой переменной, Visual Basic сразу создаст переменную, тип которой будет совместим с типом присваиваемого выражения. По умолчанию, если не указан тип переменной, то будет использоваться тип Variant (Вариант). Переменные этого типа могут хранить все, что в них поместят, т.е. их тип изменяется в зависимости от последнего присвоения.

Тип Variant (Вариант) очень удобен для использования, так как позволяет не задумываться над тем, какие именно данные будет содержать конкретная переменная. Однако указание конкретного типа для переменной позволит избежать ошибок, например таких, когда целой переменной пытаются присвоить значение даты. Основные типы переменных представлены в таблице 15.1

Таблица 15.1 ‑ Основные типы переменных

Тип данных

Диапазон принимаемых значений

Byte

Байт

0 ÷ 255

Boolean

Логическая величина

True (Истина) или False (Ложь)

Integer

Целое

-32768 ÷ 32767

Long

Длинное целое

-2147483648 ÷ 2147483647

Single

Вещественное с обычной точностью

-3.402823E38 ÷ -1.401298E-45 и

1.401298E-45 ÷ 3.402823E38

Double

Вещественное с двойной точностью

-1.79769313486231E308 ÷ -4.94065645841247E-324 и 4.94065645841247E-324 ÷ 1.79769313486232E308

String

Строка

0 ÷ 2Е9

Variant

Вариант

Double / String

Тип String (Строка). По умолчанию строковая или текстовая переменная является массивом переменной длины, которая содержит символы.

Чтобы запретить использование переменных без предварительного объявления, необходимо поместить в начале программы оператор Option Explicit. После этого, если в тексте программы встретится переменная без предварительного объявления, на экран будет выведено сообщение об ошибке: "Variable not defined" (Переменная не определена). Это поможет избежать самого распространенного типа ошибок, связанного с неправильным описанием имен переменных.

15.1.3 Процедуры и функции

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

Приведем пример использования функции для возведения числа в степень.

Sub Main()

Dim a As Integer

Dim c As Integer

Dim n As Integer

c = InputBox("Введите число:")

n = InputBox("Введите степень:")

‘ Переменной а присваивается значение функции stepen

a = stepen (c, n)

MsgBox a

End Sub

Function stepen (f As Integer, e As Integer) As Integer

stepen = f ^ e

End Function

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

Описание процедуры начинается с заголовка Sub, за которым следуют имя процедуры и список параметров, а заканчивается оператором End Sub.

Приведем пример использования процедуры для возведения числа в степень.

Sub Main()

Dim a As Integer

Dim c As Integer

Dim n As Integer

c = InputBox("Введите число:")

n = InputBox("Введите степень:")

‘ Вызов процедуры stepen и передача переменных a, c, n

stepen a, c, n

MsgBox a

End Sub

Sub stepen (d As Integer, f As Integer, e As Integer)

d = f ^ e

End Sub

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