Лекция 2 1.Описание переменных. Типы данных

Лекция2

1.Описание переменных. Типы данных

Основным программным объектом, т.е. основным элементом программы, является переменная.

Переменная — это область оперативной памяти, занимающая несколько ячеек и имеющая собственное имя. Переменная обладает следующими свойствами:

— переменная хранит не более 1 значения;

— переменная способна хранить значения только одного и того же типа;

— переменная хранит значение до тех пор, пока в нее не поместят новое значение, при этом предыдущее содержимое переменной стирается;

— к началу выполнения программы содержимое переменной считается неопределенным; переменная заполняется значением в ходе выполнения программы с помощью оператора присваивания; этим переменная отличается от константы, которой значение присваивается до выполнения основной программы, в разделе определения констант.

Различные типы данных занимают в оперативной памяти компьютера разное количество байт. Перед началом вычислений следует сообщить компьютеру, сколько ячеек памяти надо зарезервировать под ту или иную переменную. Для этого в начале текста программы должны быть описаны все используемые переменные, то есть должно быть указано имя каждой переменной и тип данных, которые в этой переменной будут храниться.

В общем виде переменная описывается так:

DimИмя переменнойAsтип данных

Компьютер отличает одну переменной от другой по имени, поэтому в программе не допускаются одноимённые переменные.

Максимальная длина имени – 254 символа, но чем имя короче, тем удобнее.

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

Высота букв не имеет значения, т.е. BASIC не различает верхний и нижний регистры;

Нельзя использовать пробелы и точки, а также символы #,$,%,&,!.

В качестве имён нельзя использовать служебные слова (команды языка BASIC), например Dim, As, For, If, Next и прочее. Служебные слова в тексте программы автоматически выделяются синим цветом, поэтому их легко узнать.

Общее пожелание: по возможности в качестве имён переменных использовать латинские буквы, латинские буквы с цифрами или короткие латинские слова: A, B, C, A1, B7, Alfa, Gamma, Petya, PetrPetrovitch, Vasya_Pupkin.

Типы данных

В Visual Basic используется множество типов данных, перечислим лишь наиболее часто используемые типы.

Целые (целочисленные) типы:

Название типа

Объём (байт)

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

Byte

1

От 0 до 255
Integer

2

От -32768 до 32767
Long

4

От -2147483648 до 2147483647

Вещественные (дробные) типы:

Название типа

Объём (байт)

Точность представления чисел

Single

4

Обычная точность
Double

8

Удвоенная точность

Строковый тип

Название типа

Объём (байт)

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

String

10 байт+длина строки

От 0 до 2 млрд. символов

Логический тип

Название типа

Объём (байт)

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

Boolean

2 байт

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

Примеры описания переменных:

Sub Primer( )

Dim A As Integer

Dim B As Byte

Dim C As Single, D As Double, A1 As Byte

Dim B1, C1, D1 As Long

End Sub

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

Option Explicit

Sub Primer( )

End Sub

Можно поручить Visual Basic самому вставлять эту строку во вновь создаваемые программы. Для этого надо загрузить Excel, вызвать Visual Basic (нажав ALT+F11), в меню Visual Basic выбрать пункт Tools- Options, и в диалоговом окне Options включить флажок «Require Variable Declaration», затем нажать в окне кнопку «ОК» и перезапустить Excel.

2. Арифметические операции. Стандартные функции VisualBasic

Над числовыми переменными (переменными типов BYTE, INTEGER, LONG, SINGLE и DOUBLE) можно выполнять арифметические операции:

+ (сложение);

— (вычитание);

* (умножение);

/ (деление);

\ (целочисленное деление – для деления целых чисел, и у результата отбрасывается дробная часть);

mod (деление в выделением из результата остатка);

^ (возведение в степень).

Арифметические операции (выражения) в Visual Basic записываются, как обычные математические формулы. Отличие в том, что дроби записываются в одну строку и используется необычное обозначение операций умножения (*), деления ( /) и возведения в степень (^).

Поясним суть деления с выделением остатка. При делении двух чисел с помощью операции mod, у получаемого результата отбрасывается целая часть и оставляется только дробная часть числа (остаток). Например 5 mod 2 даёт 0,5.

Примеры арифметических выражений в Visual Basic

Математическая формула

Запись в Basic

2x+5,4y

2*x+5.4*y

(3*x^2.5-(a+b)^0.333)/(5*(a-b)^4)

При записи формул (выражений) в программе следует учитывать такую особенность: компьютер будет в первую очередь выполнять вычисления в скобках, затем возведение в степень, потом операции умножения и деления, и в последнюю очередь- сложение и вычитание:

1. ( )

2. ^

3. *, /, \, mod

4. +, — .

Операции с равным приоритетом (+, -), (*, /, \) выполняются слева направо в том порядке, как записаны в выражении. Если у программиста нет уверенности в том, что вычисления будут выполняться в нужном порядке, то лучше расставить лишние скобки, помня о том, что вычисления в скобках выполняются в первую очередь. Например, в выражении А+В*С/D-Е, согласно правилам языка Visual Basic, сначала будет выполнено B*C, затем результат делится на D, и только после этого наступит очередь сложения и вычитания:

Если сложение и вычитание требуется выполнить в первую очередь, то следует соответствующим образом расставить скобки: (A+B)*C/(D-E), что в форме математической записи будет выглядеть так:

3.Стандартные математические функции VisualBasic

К переменным числовых типов (целых и вещественных типов) применимы следующие стандартные функции Visual Basic:

SIN(X) — синус Х (аргумент задается в радианах);

COS(X) — косинус Х (аргумент задается в радианах);

TAN(X) — тангенс Х (аргумент задается в радианах);

ATN(X) — арктангенс Х (аргумент задается в радианах);

LOG(X) — натуральный логарифм Х;

EXP(X) — ex;

SQR(X) — квадратный корень Х;

ABS(X) — модуль Х;

INT(X) — целая часть числа Х;

ROUND(X) — округление X до ближайшего целого;

ROUND(X, N) — округление X до N знаков после запятой.

4.Оператор присваивания

Как известно, переменная- это несколько ячеек оперативной памяти, имеющих общее имя и предназначенных для хранения одного значения определенного типа. До выполнения вычислений значение переменной не определено, ячейки памяти заполнены случайной информацией, оставшейся от предыдущих программ. Запоминание переменной своего значения или, иначе говоря, запись в ячейки памяти данных, выполняется с помощью ОПЕРАТОРА ПРИСВАИВАНИЯ, например A=2.

В Visual Basic знак присваивания представлен символом «равно» (=). Выполнение оператора присваивания сводится к вычислению значения выражения, стоящего от символа "=" справа, с последующей записью полученного результата в переменную, стоящую от символа слева:

А=2*Pi*R

С=SQR(A*A+B*B)

Знак присваивания не следует путать с математическим знаком равенства. Оператор присваивания А=А+1 (переменная А увеличивает свое значение на 1) в математической формуле будет выглядеть абсурдно.

При записи в целочисленную переменную (типа byte, integer, long) вещественного значения (типа single или double) автоматически выполняется преобразование типа данных – значение округляется до ближайшего целого числа.

В логическом операторе присваивания слева от знака присваивания указывается переменная логического типа (boolean), а справа дается логическое выражение, имеющее значение True (правда) или False (ложь):

А=True

B=(A>C) AND (D<>0)

В строковом операторе присваивания слева от знака стоит переменная типа String, а справа — строковое выражение:

Str1:=«Visual»: Str2:=«Basic»: Str3:=Str1+" "+Str2

5. Функции преобразования типов данных

При разработке программ часто приходится преобразовывать числа в текстовые строки и наоборот, строки преобразовывать в числа. Для этого используют соответственно функции STR( ) и VAL( ).

Функция преобразования числа в строку (из типа single в тип string):

S=STR(3.14) в переменной S из числа 3.14 получаем текстовую строку «3.14».

Функция преобразования строки в число (из типа string в тип single):

A=VAL(«3.14») в переменной А из строки символов «3.14» получаем число 3.14.

Каков практический смысл таких преобразований? Для ответа на этот вопрос рассмотрим программу, выполняющую простейшие вычисления — сложение двух чисел:

OptionExplicit

SubPrimer_1

Dim A,B,C As Single

A=InputBox("A=",«Ввод исходных данных»,«0»)

В=InputBox(«В=»,«Ввод исходных данных»,«0»)

С=А+В

MsgBoxC

EndSub

Проверим работоспособность этой программы и введём в переменные А и В значения, например 3 и 4. Каков результат? Вместо ожидаемого 7 мы получим 34.

Этот эффект объясняется тем, что функция InputBox( ) выдаёт результат в виде текстовой строки, т.е. пользователь с клавиатуры вводит число 3, но команда InputBox( ) воспринимает это значение как символ «3», т.е. как внешнее отображение числа три, а не само число. Аналогично в переменную В записывается символ «4». Затем оператор присваивания С=А+В выполняет соединение двух символов в одну строку, аналогично оператору С=«3»+«4», в результате работы которого получаем строку «34».

Если мы ставим задачу сложить два числа, а не сцепить два символа, надо результат команды InputBox( ) преобразовать из строки в число с помощью функции VAL( ):

Option Explicit

Sub Primer_2

Dim A,B,C As Single

A=VAL(InputBox("A=",«Ввод исходных данных»,«0»))

В=VAL(InputBox(«В=»,«Ввод исходных данных»,«0»))

С=А+В

MsgBoxC

EndSub

Использовав команду InputBox( ) в качестве аргумента функции VAL( ), мы получили желаемый результат.

Функцию преобразования числа в строку STR( ) целесообразно использовать при организации вывода результатов расчёта на экран. Применявшаяся нами в рассмотренном ранее примере команда MsgBoxС малоинформативна, поскольку выводит на экран только число, без каких-либо пояснений. Если же преобразовать число в строковый тип и сцепить полученную строку с другой строкой, содержащей пояснение к выводимому результату, то такой способ вывода результата расчёта на экран будет удобнее для восприятия пользователем:

Option Explicit

Sub Primer_3

Dim A,B,C As Single

A=VAL(InputBox("A=",«Ввод исходных данных»,«0»))

В=VAL(InputBox(«В=»,«Ввод исходных данных»,«0»))

С=А+В

MsgBox«Результат= „+STR(C)

EndSub

Преобразованная программа выдаст такой результат:

220
RSS
Нет комментариев. Ваш будет первым!
Загрузка...
Этот сайт использует файлы cookies, чтобы облегчить вам пользование нашим веб-сайтом. Продолжая использовать этот веб-сайт, вы даете согласие на использование файлов cookies. Подробнее о том, как мы пользуемся файлами cookies и как ими управлять, вы можете узнать нажав на ссылку ниже.