7


4.6. Тип, имя и значение переменной
В объектно-ориентированных языках программирования, и в частности в языке Visual Basic, переменные играют такую же важнейшую роль, как и в процедурных языках программирования. Переменные предназначены для хранения и обработки данных.
Переменные задаются именами, определяющими области памяти, в которых хранятся значения переменных. Значениями переменных могут быть данные различных типов (целые или вещественные числа, последовательности символов, логические значения и так далее).
Переменная в программе представлена именем и служит для обращения к данным определенного типа. Конкретное значение переменной хранится в ячейках оперативной памяти.
Тип переменной. Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов (Byte, Integer, Long, Single, Double) являются числа, логических (Boolean) — True или False, строковых (String) — последовательности символов и так далее. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются.
Над различными типами данных (различными типами переменных) допустимы различные операции. Над числовыми переменными возможны арифметические операции, над логическими переменными — логические операции, над строковыми — операции преобразования символьных строк и так далее.
Различные типы данных требуют для своего хранения в оперативной памяти компьютера различное количество ячеек (байтов). Для хранения целых чисел в интервале от 0 до 255 в переменных типа Byte достаточно одного байта; для хранения вещественного числа с двойной точностью в переменных типа Double требуется уже восемь байтов, а для хранения символьных строк в переменных типа String требуется один байт на каждый символ (табл. 4.3).
О
Таблица 4.3. Типы переменных
Тип переменной    Возможные значения    Объем занимаемой памяти    Приставка к имени
Byte    Целые числа от 0 до 255    1 байт    byt
Integer    Целые числа от -32768 до 32767    2 байта    int
Long    Целые числа двойной длины    4 байта    lng
Single    Десятичные числа одинарной точности от1,401298Е-35 до 3.4022823Е38    4 байта    sng
Double    Десятичные числа    8 байтов    dbl
    двойной точности от 1,94065645841247Е-324 до 1,79769313486232Е+308        
Boolean    Логическое значение True или False    2 байта    bin
String    Строка символов    1 байт на каждый символ    str
Currency    Число в денежном формате    8 байтов    cur
Date    Дата от 1 января 100 г. до 31 декабря 9999 г.    8 байтов    dtm
Object     ~~    Ссылки на любой объект    4 байта    obj
Variant        .    vnt
    Любые значения    3*16 байтов    
Имя переменной. Имя каждой переменной (идентификатор) уникально и не может меняться в процессе выполнения программы. Имя переменной может состоять из различных символов (латинские и русские буквы, цифры и так далее), но должно обязательно начинаться с буквы и не должно включать знак «.» (точка). Количество символов в имени не может быть более 255.
Числовую переменную можно назвать, например, А или Число, а строковую — А или Строка. Однако разработчик языка Visual Basic — фирма Microsoft — рекомендует для большей понятности текстов программ для программиста в имена переменных включать особую приставку, которая обозначает тип переменных. Тогда имена целочисленных переменных целесообразно записывать как int А или л.г^Число, а строковых — strA и strdpoKa.
Объявление типа переменной. Важно, чтобы не только разработчик программы (программист) понимал, переменные какого типа используются в программе, но чтобы это мог учесть и исполнитель программы (компьютер). Второе даже еще более важно, так как, если компьютер не будет «знать», переменная какого типа используется в программе, он будет считать ее переменной универсального типа Variant и отведет для ее хранения в памяти 16 или более байтов. Это будет приводить к неэффективному использованию памяти и замедлению работы программы.
Для объявления типа переменной используется оператор определения переменной. Синтаксис этого оператора следующий:
Dim ИмяПеременной   [As ТипПеременной]
С помощью одного оператора можно объявить сразу несколько переменных, например:
Dim   int4nc^o   As   Integer,    strCTpoica   As   String
Переменные, значения которых не меняются в процессе выполнения программы, называются константами. Синтаксис объявления констант следующий:
Const   ИмяКонстанты   [As   Тип]=   ЗначениеКон-станты
4.7. Арифметические, строковые и логические выражения. Присваивание
Из переменных можно образовывать арифметические, строковые и логические выражения.
Арифметические выражения. В состав арифметических выражений могут входить кроме переменных числового типа также и числа, над переменными и числами могут производиться различные арифметические операции, а также математические операции, выраженные с помощью функций.
Порядок вычисления арифметических выражений соответствует общеизвестному порядку выполнения арифметических операций (возведение в степень, умножение или деление, сложение или вычитание), который может изменяться с помощью скобок.
Строковые выражения. В состав строковых выражений могут входить переменные строкового типа, строки и строковые функции.
Строками являются любые последовательности символов, заключенные в кавычки. Например:
"информатика",  "2000", "2*2"
Над переменными и строками может производиться операция конкатенации. Операция конкатенации заключается в объединении строки или значения строковых переменных в единую строку. Операция конкатенации обозначается знаком « + », который не следует путать со знаком сложения чисел в арифметических выражениях.
Логические выражения. В состав логических выражений кроме логических переменных могут входить также числа, числовые или строковые переменные или выражения, которые сравниваются между собой с использованием операций сравнения  (>,   <,   =,   >=,   <=   и пр.).

Логическое выражение может принимать лишь два значения: «истина» или «ложь». Например:
5   >   3 — истинно;
2*2   =   5 — ложно.
Над элементами логических выражений могут производиться логические операции, которые на языке Visual Basic обозначаются следующим образом: логическое умножение — And, логическое сложение — Or и логическое отрицание Not. При записи сложных логических выражений часто используются скобки. Например:
(5   >   3)   And   (2*2   =   5)— ложно; (5   >   3)   Or   (2*2   =   5)— истинно.
Присваивание переменным значений. Переменная может получить или изменить значение с помощью оператора присваивания. Синтаксис этого оператора   следующий:
[Let]  ИмяПеременной = Выражение
Ключевое слово Let в большинстве случаев не используется.
При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, равное значению выражения (арифметического, строкового или логического), которое находится справа от знака равенства.
Создадим проект, который позволит продемонстрировать использование переменных различных типов, арифметических, строковых и логических выражений и операции присваивания.
Сначала произведем деление двух целых чисел, а для хранения результата будем использовать различные типы числовых переменных, то есть результаты будут вычисляться с различной точностью.
J5j   Проект «Переменные»
1. Создать новый проект. Для создания графического интерфейса разместить на форме (f rml) управляющий элемент командная кнопка (cmdl). В качестве аргументов программы пусть выступают две целочисленные переменные intA и intB, ав качестве резуль-
татов неотрицательная целочисленная переменная byte, вещественная переменная одинарной точности sngD и вещественная переменная двойной точности dblE.
2.  Объявить переменные для их использования в программе:
Dim   intA,    intB   As   Integer,    bytC   As   Byte, sngD   As   Single,    dblE   As   Double
Создадим заготовку событийной процедуры, в которой в качестве объекта будет использоваться кнопка cmdl, а в качестве события щелчок — Click ().
3.  Произвести двойной щелчок по кнопке cmdl, в окне Программный код появится заготовка событийной процедуры:
Sub   cmdl_Click()
End   Sub
Теперь необходимо разработать программный модуль, реализующий следующий алгоритм деления двух чисел:
1.  Присвоить аргументам алгоритма, переменным intA и intB конкретные значения.
2.  Присвоить каждой из переменных bytC, sngD и dblE результат деления аргументов.
3.  Напечатать результаты (значения переменных) на форме.
Реализацию первых двух инструкций (команд) алгоритма произведем с помощью операторов присваивания. В качестве исходных чисел возьмем целые числа 2 и 3. Печать результатов алгоритма осуществим с помощью метода Print, которым обладает объект frml.
Метод Print используется для печати на форме чисел и строк, а также значений числовых и строковых переменных или выражений, которые образуют список печати. В качестве разделителей списка печати используется либо запятая, либо точка с запятой. В первом случае элементы списка печатаются каждый в своей зоне (каждая зона имеет длину 14 символов), во втором случае элементы списка печатаются вплотную друг к другу. В случае отсутствия списка печати на форму выводится пустая строка.
Синтаксис метода Print следующий:
■Ш
Объект.Print  [СписокПечати]
4. В окне Программный код ввести первую событийную процедуру целиком:
Dim   intA,    intB   As   Integer,    byte   As   Byte,    sngD As   Single,    dblE   As   Double
Sub   cmdl  Click()
intA    =    2       
intB    =    3       
bytC    =    intA    /    intB
sngD    =    intA    /    intB
dblE    =    intA    /    intB
frml    Print bytC            , sn
End    Sub           
frml.Print   bytC,    sngD,    dblE End   Sub
Теперь создадим событийную процедуру, реализующую операцию конкатенации строк и строковой переменной.
5.  Разместить   на   форме   (frml)   управляющий   элемент командная кнопка (cmd2).
Создадим заготовку событийной процедуры, в которой в качестве объекта будет использоваться кнопка cmd2, а в качестве события — щелчок Click ().
Объявим строковые переменные и произведем конкатенацию двух строковых выражений и строковой переменной.
6.  В окне Программный код ввести вторую событийную процедуру целиком:
Dim   strA,    strB   As   String
Sub   cmd2_Click()
strA   =   "форма"
strB   =   "ин"    +   strA   +    "тика"
frml.Print   strB
End   Sub
Затем создадим событийную процедуру, реализующую логические операции с логическими переменными.
7.  Разместить   на   форме   (frml)   управляющий   элемент командная кнопка (cmd3).
Создадим заготовку событийной процедуры, в которой в качестве объекта будет использоваться кнопка cmd3, а в качестве события щелчок Click ().
Объявим логические переменные, присвоим им значения логических выражений, в которые входят операции сравнения, и произведем операцию логического умножения двух логических переменных.
8. В окне Программный код ввести третью событийную процедуру целиком:
blnC   As   Boolean
Dim   blnA,    blnB, Sub   cmd3_Click() blnA   =   5   >   3 blnB   =   2*2   =   5 blnC   =   blnA   And frml.Print   blnC End   Sub


blnB
информатика False
10ЧИЯ
9. После запуска проекта на экране появится его графический         интерфейс (форма с размещенными на ней командными кнопками). Последовательные щелчки по кнопкам вызовут выполнение событийных процедур и на форме будут напечатаны результаты выполнения проекта.
В первой событийной процедуре производится деление двух чисел с различной точностью, которая зависит от типа переменной, используемой для хранения результатов вычислений.
После выполнения второй событийной процедуры строковая переменная strC примет значение    "информатика".
После выполнения третьей событийной процедуры логическая переменная ЫпС примет значение False {Ложь).



Ламбре - прибыльный бизнес в маленьком городе дешевое создание сайта за короткие сроки

Запрос:

Яндекс цитирования Rambler's Top100

Новости

28.04.2010: Новые темы (5800 N97)

Добавлены новые темы для телефонов 5800 и N97 здесь

 

: