
- •Высокоуровневые методы программирования
- •Принцип сокрытия внутренней структуры объекта от пользователя. Понятие инкапсуляции. Пример инкапсуляции в среде проектирования и программирования Windows-приложений Visual Basic.
- •Возможность использования одних и тех же методов разными классами объектов. Понятие полиморфизма. Пример полиморфизма в среде проектирования и программирования Windows-приложений Visual Basic.
- •Типы переменных Visual Basic
- •Операторы цикла. Цикл со счетчиком и цикл с условием. Примеры использования циклических операторов на языке Visual Basic.
Типы переменных Visual Basic
Boolean - булев тип данных может хранить только два значения: True либо False, истина или ложь. Его использование вместо целочисленных переменных является хорошим стилем программирования.
Byte - байтовый тип является новым в Visual Basic 5 и предназначен для хранения целых чисел от 0 до 255. Его использование позволяет сильно экономить оперативную память и уменьшать размер массивов по сравнению с предыдущими версиями Visual Basic. Кроме того, он используется при работе с двоичными файлами.
Currency - данный тип отсутствовал в версиях GW-BASIC и QuickBASIC. Он создан для того, чтобы избежать ошибок при преобразовании десятичных чисел в двоичную форму и наоборот. (Невозможно 1/10 представить как сумму 1/2,1/4, 1/8, 1/16 и т.п.) Данный тип может иметь до 4 цифр после запятой, и до 14 - перед ней. Внутри данного диапазона вычисления будут точными. Идентификатор представляет собой символ "@". Поскольку все арифметические операции, кроме сложения и вычитания, выполняются так же медленно, как и в случае переменных с двойной точностью, данный тип является предпочтительным для проведения финансовых расчетов. (Для тех, кто интересуется: данный тип использует целые числа из 19 разрядов, которые затем делятся на 10000. Это позволяет организовать 15 знаков до запятой и 4 после нее.)
Date - этот тип данных позволяет хранить значения времени и даты в промежутке от полуночи 1 января 100 года до полуночи 31 декабря 9999 года. Такие значения в тексте программ обозначаются символами "#", например: NewYear = #January 1, 2000# Если вводится только значение даты, Visual Basic полагает, что время равняется 00:00.
Decimal - самый мощный числовой тип. Для хранения переменной подобного типа отводиться 16 байт. Отрицательная и положительная границы промежутка, в котором располагаются возможные значения этой переменной, одинаковы по модулю и равны +/- 79 228 162 514 264 337 593 543 950 335, если использовать целые числа. Если же необходимо хранить дробные величины, то границы возможных значений будут смещены на несколько порядков в зависимости от того, сколько знаков после запятой использует разработчик. Подобный тип может использоваться только для хранения десятичных дробей. Разработчик может использовать до 28 знаков после запятой.
Double - переменные такого типа позволяют хранить числа с точностью до 16 цифр и длиной до 300 символов. Идентификатором является "#". Вычисления с ними тоже являются приблизительными, а скорость их относительно небольшая. В основном переменные типа Double используются для научных расчетов.
Integer - целочисленные переменные могут хранить только относительно небольшие целые числа (в диапазоне от -32 768 до +32 767). Арифметические операции над такими числами выполняются очень быстро. Для обозначения такого типа используется символ "%": IntegerPerem% = 3
Long - данный тип впервые появился в языке QuickBASIC. В таких переменных хранятся целые значения от -2 147 483 648 до +2 147 483 647. Обозначается символом "&". Арифметические операции над такими числами выполняются тоже очень быстро, и при работе с процессором 386DX или 486DX существовала лишь небольшая разница в скорости вычислений между Long и Integer. LongPerem& = 123456789
Object - по сути, переменная подобного типа является всего лишь ссылкой на некий конкретный экземпляр какого либо объекта. Для хранения переменной отводятся 4 байта.
Single - идентификатором для данных чисел является символ "!". Данный тип переменной позволяет хранить дробные числа с точностью до семи цифр. Это означает, что если получается результат 12345678.97, то часть 8.97 не является точной. Результат может быть равен, к примеру, 12345670.01. Длина чисел может достигать 38 знаков. Вычисления с данными переменными тоже будут приблизительными. Более того, арифметические действия выполняются медленнее, чем с целочисленными переменными.
String - строковые переменные хранят символы. Один из способов обозначить данный тип переменной состоит в добавлении символа "$" к концу ее имени, например: StringPerem$. Теоретически такая переменная может содержать до 2 миллиардов символов. В любом случае на конкретном компьютере это число будет гораздо меньше из-за ограниченных объемов оперативной памяти, ресурсов Windows или числа символов, используемых в форме. Одно из наиболее основных применений строковых переменных состоит в выборе информации из полей ввода.
Локальные переменные и переменные-члены
Локальная переменная — это переменная, объявленная внутри процедуры. Переменная–член является членом типа Visual Basic; она объявляется на уровне модуля, внутри класса, структуры или модуля, но не внутри любых процедур этого класса, структуры или модуля.
Переменные экземпляров и глобальные переменные
В классе или структуре категория переменной–члена зависит от того, используется ли она совместно. Если переменная объявлена с зарезервированным словом Shared, она является глобальной переменной и существует в единственном экземпляре, разделяемом между всеми экземплярами класса или структуры.
В противном случае это переменная экземпляра, и отдельные ее копии создаются для каждого экземпляра класса или структуры. Каждая копия переменной экземпляра доступна только в том экземпляре, для которого она была создана. Он не зависит от копии в каких-либо других экземплярах.
Переменная является доступной во всей области кода, в которой она объявлена. Весь код в этой области может обращаться к переменной без уточнения ее имени.
Уровень |
Описание |
Область действия блока |
Элемент доступен только в пределах блока кода, в котором он объявлен. |
Область действия процедуры |
Элемент доступен в коде в пределах процедуры, в которой он объявлен. |
Область действия модуля |
Элемент доступен в коде в пределах модуля, класса или структуры, в которых он объявлен. |
Область действия уровня пространства имен |
Элемент доступен в коде в пространстве имен, в котором он объявлен. |
Понятие оператора в языке программирования. Оператор присваивания. Линейные и нелинейные алгоритмы. Операторы условного и безусловного переходов, выбора. Примеры на языке Visual Basic. Демонстрация использования Оператора выбора (Select Case), элемента управления Timer и графического элемента Shape на примере создания приложения «Светофор».
Оператор в Visual Basic — это полная инструкция. В инструкциях содержатся ключевые слова, операторы, переменные, константы и выражения. Каждая инструкция принадлежит к одной из следующих двух категорий:
Операторы объявления, которые объявляют переменную, константу или процедуру, и могут также указывать тип данных.
Выполняемые операторы, которые инициируют действия. Эти операторы могут вызывать метод или функцию, а также способны выполнять цикл или ветвь, состоящие из блоков кода. Исполняемые операторы содержат Операторы присваивания, которые присваивают значение или выражение переменной или константе.
Операторы объявления используются для именования и определения процедур, переменных, свойств, массивов и констант. При объявлении элемента программирования можно также определить его тип данных, уровень доступа и область действия.
Public Sub applyFormat()
Const limit As Integer = 33
Dim thisWidget As New widget
' Insert code to implement the procedure.
End Sub
Первое объявление — это оператор Sub. Он совместно с соответствующим ему оператором End Sub объявляет процедуру с именем applyFormat. Он также указывает, что applyFormat является Public, что означает, что любой код, который к нему обращается, может его вызвать.
Второе объявление — это оператор Const, который объявляет константу limit, указывая тип данных Integer и значение 33.
Третье объявление — это оператор Dim, который объявляет переменную thisWidget. Тип данных является определенным объектом, а именно объектом, созданным из класса Widget. Можно объявить переменную любого простейшего типа данных или типа объекта, который предоставляется в приложении.
Исполняемый оператор выполняет действия. Он может вызвать процедуру, переход на другое место в коде, цикл по нескольким инструкциям или вычислить значение выражения. Оператор присваивания является особым случаем исполняемого оператора.
В следующем примере используется управляющая структура If...Then...Else для выполнения различных блоков кода на основе значения переменной. В каждом блоке кода цикл For...Next выполняется заданное число раз.
Public Sub startWidget(ByVal aWidget As widget,
ByVal clockwise As Boolean, ByVal revolutions As Integer)
Dim counter As Integer
If clockwise = True Then
For counter = 1 To revolutions
aWidget.spinClockwise()
Next counter
Else
For counter = 1 To revolutions
aWidget.spinCounterClockwise()
Next counter
End If
End Sub
Операторы присваивания выполняют присваивание, сводящееся к вычислению значения справа от оператора присваивания (=) и его записи в элемент слева, как в следующем примере.
v = 42
Для создания светофора на форму необходимо разместить элемент таймер Timer1, две картинки Image1, Image2 с соответственно красным и зеленым цветом
Private Sub Form_Load()
Timer1.Interval = 500
End Sub
Private Sub Timer1_Timer()
If Image1.Visible = False Then
Image1.Visible = True
Image2.Visible = False
Else
Image2.Visible = True
Image1.Visible = False
End If
End Sub
Понятие функции. Использование встроенных функций языка VB 6 на примере создания приложения «Финансовые операции». Встроенные функции системы Windows для ввода текстовой информации с помощью Окна ввода (InputBox) и для вывода информации с помощью Окна сообщения (MsgBox). Пользовательская функция. Локальная и глобальная функции. Пример определения пользовательской функции «Площадь треугольника» на языке VB 6.
Функция - это поименованная часть программы, которая может вызываться из других частей программы столько раз, сколько необходимо. Функция, в отличие от процедуры, обязательно возвращает значение.
Function myFunction(ByVal j As Integer) As Double
Return 3.87 * j
End Function
InputBox Отображает поле для ввода текста в диалоговом окне, ожидает ввода текста пользователем или нажатия кнопки и возвращает строку, являющуюся содержимым текстового поля.
myValue = InputBox(message, title, defaultValue)
message – текст сообщения
title – заголовок окна
MsgBox Отображает сообщение в диалоговом окне, ожидает нажатия кнопки и возвращает целое число, определяющее нажатую кнопку.
response = MsgBox(message, style, title)
message – текст сообщения
title – заголовок окна
style может принимать следующие значения:
OKOnly |
Отображается только кнопка OK. |
OKCancel |
Отображаются кнопки OK и "Отмена". |
AbortRetryIgnore |
Отображаются кнопки "Прервать", "Повторить" и "Пропустить". |
YesNoCancel |
Отображаются кнопки "Да", "Нет" и "Отмена". |
YesNo |
Отображаются кнопки "Да" и "Нет". |
RetryCancel |
Отображаются кнопки "Повторить" и "Отмена". |
Critical |
Отображается значок сообщения о критической ошибке. |
Question |
Отображается значок предупреждения с запросом. |
Exclamation |
Отображается значок предупреждения. |
Information |
Отображается значок информационного сообщения. |
Пользовательская функция объявляется следующим образом
Function <имяФункции> (<аргумент1>, <аргумент2>, …) [As
<типЗначение>]
<операторы>
Return <возвращаемоеЗначение>
End Function
Затем вызвать ее можно так
<имя переменной>=<имя функции>(<список фактических параметров>).
Функция «Площадь треугольника», a,b,c – длины сторон треугольника
Function CalcSquare(a As Single, b As Single, c As Single) as Single
Dim p As Single
Dim S As Single
p = (a + b + c) / 2
S = Sqr(p * (p - a) * (p - b) * (p - c))
Return S
End Sub