Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа_3_1_Лс_27_11_2011.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
4.63 Mб
Скачать

Лабораторна робота № 2. Дані в visual basic. Типи даних.

Любая программа, которую Вы составляете, обрабатывает какие-либо данные. Данные поступают в программу в своем первоначальном виде (исходные данные) и в обработанном виде «выходят» из программы (выходные данные).

Исходные данные ПРОГРАММА Выходные данные

Данные могут быть Постоянными величинами и Переменными величинами. Постоянные величины или Константы – это такие величины, которые в процессе выполнения программы не изменяют своих значений. Переменные величины в процессе выполнения программы свои значения изменяют. В Visual Basic, как и в любом другом языке, постоянные и переменные величины должны быть отнесены к какому-либо типу данных. Стандартные типы данных, поддерживаемые Visual Basic, приведены в табл.2.1:

Таблица 2.1

Тип данных

Объем занятой памяти (байт)

Диапазон значений

Префикс

Суффикс

Пример

Целые числа

Byte (однобайтное целое число)

1

Положительное число

от 0 до 255

byt

bytImage

Integer (короткое целое число)

2

От -32768 до 32767

int

%

intQuantity

Long

(длинное целое число)

4

От -2147483648

До 2 147483648

ing

&

ingTotal

Boolean (логическое значение)

2

True (ИСТИНА) или False (ЛОЖЬ)

bin

 

binSuccess

Числа с плавающей точкой

Single (вещественное число с плавающей точкой (нормальное, одинарное))

4

Отрицательные числа: от

-3.4Е+38 до -1.4 E-45 Положительные числа: от

1.4E-45 до 3.4Е+38

sng

!

sngLength

Double (вещественное число из плавающей точкой двойной точности

(длинное))

8

Отрицательные числа: от

-1.8D+308

До -4.9 D-324

Положительные числа: от

4.9D-324 до 1.8D+308

dbl

#

dblSum

String (строка сменной длины)

10 байт + длина строки (1 байт на каждый символ)

От 0 до

2 миллиардов символов

str

$

strLastname

String*длина (строка фиксированной (постоянной) длины))

длина строки

(1 байт на каждый символ

От 1 до ~65400

$

Объектные типы

Object (ссылка на объект)

4

Не определенные типы

Variant (числовые типы)

16

Произвольное числовое значение

vnt

vntValue

Variant (cимвольные типы)

22 байта+

длина строки

Произвольное символьное значение

vnt

Другие типы

Currency (денежная величина —

число с фиксированной точкой)

8

Целая часть числа до 15 цифр, дробная - до 4

От

-922337203685477. 5808 до 922337203685477.5807

cur

@

curPrice

Date (дата/время)

8

Диапазон дат от

1 января 100 года до 31 декабря 9999 года.

Диапазон времени от 00:00:00 до 23:59:59.

Dtm

dtmFinish

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

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

  • остальные символы – буквы и цифры (прописные и строчные буквы различаются);

  • имя не должно содержать точки, пробела или любого символа, что используется для обозначения математических операций и операций сравнения (+, =, > и т.п.);

  • можно использовать знак _ ;

  • длина имени не должна превышать 255 символов;

  • имя должно быть уникальным в пределах данной процедуры или модуля;

  • имя не должно быть ключевым словом Visual Basic.

Пример, нельзя использовать вот такие имена для переменных:

1Week – нельзя начинать имя переменной с цифры;

Jan.To.Dat – нельзя использовать точки;

End – нельзя использовать ключевое слово Visual Basic;

Номер Один – между символами нельзя оставлять пробелы.

Следующие имена можно использовать для переменных:

Номер_Один, INumOne, Number1

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

а) с помощью оператора определения переменной

Формат:

Public / Private / Dim ИмяПеременной [As ТипПеременной ]

Начинается объявление с одного из зарезервированных ключевых слов: Public, Private или Dim, которые сообщает Visual Basic, что Вы хотите объявить переменную.

Выбор конкретного зарезервированного слова зависит от того, какой вы себе представляете область видимости вашей переменной. Более подробно об этом будет рассказано позже. При объявлении переменной внутри процедуры, используется только слово Dim.

As – ключевое слово, которое говорит Visual Basic, что Вы определяете тип данных для этой переменной.

В одной строке можно объявить несколько переменных, при этом, правда, следует обращать внимание на указание имени типа:

Например

Dim Num_Text As Integer, b As Integer, c As Long

Private Number One As Integer, f, d

Dim My_ Book As String

Dim НомерТелефона As String* 12

В первой строке объявлены две переменные типа Integer и одна переменная типа Long. Во второй строке – три переменные, причем одна из них получит тип Integer, а две другие по умолчанию — Variant. В третьей строке объявлена символьная переменная произвольной длины, а в четвертой строке – фиксированной длины (12 символов).

б) с помощью суффикса

Например9

Факториал&– переменная типа Длинное целое число;

MyName$ – переменная типа Строка символов;

А % – переменная типа Целое число;

X238! – переменная типа Десятичное число обычной точности;

Пи# – переменная типа Десятичное число двойной точности.

в) с помощью оператора объявления типа

Формат:

ОператорОбъявленияТипа СтрокаИнтерваловИмен

Например

Def Int A- F, I - J, P- S

Эта запись говорит о том, что все переменные, которые начинаются с букв от А до F, от I до J и от P до S имеют тип Integer. Если переменные начинаются с букв вне этих пределов, то у них по умолчанию — тип Variant10.

Константы Visual Basic

Формат объявления константы:

Const Имя Константы [As Тип] = ЗначениеКонстанты

Например

Const NumSentense As String = “В лесу растут грибы”

Const N = 820000005 ’ в этом примере тип константы Variant.

ИмяКонстанты и ЗначениеКонстанты задаются так же, как имя и значение переменной11. Целесообразно вместо неоднократно повторяющихся строк или чисел использовать имя константы.

Оператор присваивания переменной значения

Синтаксис оператора присваивания:

[Let] ИмяПеременной =ЗначениеПеременной

В последнее время ключевое слово Let не используют.

ЗначениеПеременной – это конкретное значение, которое находится в диапазоне возможных значений для данного типа переменных, либо выражение, которое должно быть вычислено

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

Например

MyName$ = “Всеволод ”

I = I +1

S = 3.14 * R^ 2

ЗАВДАННЯ 2.1

Постановка задачи СОЗДАТЬ ПРИЛОЖЕНИЕ ДЛЯ ОЗНАКОМЛЕНИЯ С РАЗЛИЧНЫМИ ОШИБКАМИ ПРИ ОПИСАНИИ ПЕРЕМЕННЫХ

Порядок действий

1. Расположите на экранной форме приложения единственный объект – командную кнопку ПУСК.

2. Установите с помощью Окна Свойств значение свойства Name для формы frmПеременные, а значение свойства CaptionТипы переменных и способы их объявления.

3. Установите с помощью Окна Свойств значение свойства Name для командной кнопки cmdПуск, а значение свойства CaptiоnПУСК.

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

Private Sub Form_Load()

With frmПеременные

.BalckColor = QBColor(15) ‘цвет формы

.Font = "Arial Cyr"‘тип шрифта

.FontSize = 12‘размер шрифта

.FontItalic = True‘начертание шрифта (курсив)

.FontBold = True‘начертание шрифта (полужирный)

. ForeColor = QBColor(2) ‘цвет шрифта

End With

End Sub

Оператор With/EndWith позволяет более просто установить ряд свойств для одного объекта – в данном случае для формы frmПеременные

Формат оператора:

With ИмяОбъекта

.Свойство1 = ЗначениеСвойства1

.Свойство2 = ЗначениеСвойства2

...

.СвойствоN = ЗначениеСвойстваN

End With

5. Напишите процедуру12, которая будет выполняться при нажатии кнопки ПУСК:

DefInt X-Y

Private Sub cmdПуск_Click()’объявление переменных в диапазоне от X до Y типа Integer

X = 5 / 2: Y = 10 / 3: Z = X / Y ‘три оператора присваивания в одной строке (через двоеточие)

Print X, Y, Z‘метод Print выводит результат на экранную форму

End Sub

6. Запустите приложение и нажмите кнопку ПУСК. В приложении будет напечатана следующая строка:

Объясните, почему вы видите такой результат. Какой тип присвоен переменной Z? Почему?

7. Закомментируйте строку программного кода, где объявляются переменные – поставьте перед строкой знак ' (апостроф). В этом случае она будет игнорироваться при выполнении. Запустите приложение и нажмите на кнопку ПУСК. В приложении будет напечатана следующая строка:

Объясните, почему вы видите такой результат.

8. Снимите комментарий со строки программного кода, где объявляются переменные. С помощью суффикса @ присвойте переменной Z тип Currency, для чего замените:?

строку X = 5 / 2: Y = 10 / 3: Z = X / Y

строкой X = 5 / 2: Y = 10 / 3: Z@ = X / Y

Запустите приложение и нажмите кнопку ПУСК. В приложении будет напечатана следующая строка:

Объясните, почему вы видите такой результат.

9. Закомментируйте строку программного кода: DefInt X-Y.

Удалите суффикс @ у переменной Z. В самое начало программы вставьте строку:

Dim Z As Integer, X As Integer, Y As Integer

Запустите приложение и нажмите кнопку ПУСК. В приложении будет напечатана следующая строка:

Объясните, почему вы видите такой результат.

10. Замените

строку Dim Z As Integer, X As Integer, Y As Integer

строкой Dim Z As Integer, X As Integer, Y As Double

Запустите приложение и нажмите кнопку ПУСК. В приложении будет напечатана следующая строка:

Объясните, почему вы видите такой результат.

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

DefInt A-F, K, M

Const G As Variant = 40000

Const H As Variant = 42000

Private Sub cmdПуск_Click()

K = H + G

K=K*2

F = H - G

F=F - 10000

M = ″OK!″

Print K, F, M

End Sub

Запустите приложение и нажмите кнопку ПУСК. Появится следующее окно, сообщающее о переполнении:

12. Нажмите кнопку Debug (Отладка). При этом Вы попадете в Окно программного кода, где цветом будет помечена строка K = H + G. Полученное значение переменной К выходит за диапазон типа Integer.

13. Замените строку программного кода

DefInt A-F, K, M

на две строки

DefInt A-F, M

DefLng K

Снова запустите приложение и нажмите кнопку ПУСК. Появится окно, сообщающее о несоответствии типа переменной:

14. Нажмите кнопку Debug. При этом вы попадете в Окно программного кода, где цветом будет помечена строка M = ″OK!″. Значение переменной M – строка символов, а в программе тип переменной M объявлен как Integer.

15. Замените строки программного кода

DefInt A-F, M

DefLng K

на следующие строки

DefInt A-F

DefLng K

DefStr M

Еще раз запустите приложение и нажмите на кнопку ПУСК. В приложении будет напечатана следующая строка:

16. Добавьте в область объявления переменных и констант следующие строки:

Const Stroka1 As String = "Переменные и константы в программе"

Const Stroka2 As String = "Избегайте ошибок при объявлении типов переменных и констант."

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

Private Sub cmdПуск_Click()

K = H + G

K = K * 2

F = H - G

F = F - 10000

M = "OK!"

Print Stroka1

Print K, F, M

Print Stroka2

End Sub

18. Запустите приложение и нажмите на кнопку ПУСК. При необходимости увеличьте размер формы так, чтобы окно приложения имело вид:

19. Сохраните проект и форму на своем рабочем диске в папке ЛАБ2 с именами ЛР2_Зад1_P_Фамилия и ЛР2_Зад1_F_Фамилия соответственно.