Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Сгруппируем основные инструкции языка Visual Basic по типу операций:
· присваивания, в том числе с выполнением математических операций в правой части инструкции;
· проверки условий, управления последовательностью исполнения инструкций, организации циклов;
· инструкции для работы с файлами.
Последняя группа инструкций в этом кратком пособии не рассматривается. При необходимости с ними можно познакомиться самостоятельно [2, 4].
Инструкция присваивания предписывает найти значение выражения, заданного в ее правой части, и присвоить результат переменной, идентификатор которой расположен в левой части. Например, присвоить переменной x значение 2. Это можно записать: x=2. В следующем примере значение переменной x увеличивается на 2: x = x + 2.
Рассмотрим математические операции, которые используются в выражениях, стоящих в правой части инструкций присваивания. Среди возможных операций можно выделить арифметические, конкатанации строк, сравнения и логические.
Арифметические операции выполняются над числами, и их результатом являются числа. Они перечислены в таблице 3. При программировании формул необходимо учитывать приоритеты операций и (в случае необходимости) использовать скобки, как это принято в математике.
Таблица 3
Арифметические операции
Операция | Содержание операции | Приоритет | |
^ | Возводит первое арифметическое выражение в степень, задаваемую вторым арифметическим выражением | ||
- | Знак минус ставится перед именем переменной, константы или перед числом | ||
* | Перемножает два арифметических выражения | ||
/ | Делит первое арифметическое выражение на второе | ||
\ | Округляет два арифметических выражения до целых значений и делит первое число на второе. Результат округляется до целого | ||
Mod | Округляет оба арифметических выражения до целых чисел, делит первое число на второе и возвращает в качестве результата остаток | ||
+ | Складывает два арифметических выражения | ||
- | Вычитает из первого арифметического выражения второе |
Поясним таблицу 3. Смена знака имеет место, когда минус ставится перед именем переменной, константы или перед числом. Например: F=CX*(-G^2), если CX=3, а G=1.5, то F = -6.75. Чтобы убедиться в правильности результата, достаточно на листе Excel разместить кнопку CommandButton1 и поле TextBox1, а в событийную процедуру CommandButton1_Click включить инструкции:
Dim I As Integer, F As Single
F = 3 * (-1.5 ^ 2)
I = 3 * (-1.5 ^ 2)
TextBox1.Text = "F=" & Format(F, "0.00") & "I=" & Str(I)
Выйдя из режима конструктора и нажав кнопку, увидим в поле TextBox1 результаты.
Все результаты примеров легко проверить, подставляя в текст приведенной только что процедуры формулы вычисления I и F. Из этих примеров должно быть понятно, что результат арифметических операций зависит также от типа переменной, которой он присваивается, ведь переменная целого типа не может хранить число с плавающей точкой, поэтому перед записью в ячейку I результат округляется.
Приведенная выше процедура иллюстрирует и конкатанацию (&) – слияние строк. К строке «F=»прибавляется строка, содержащая отформатированное значение F (с двумя цифрами после десятичной точки). К этой объединенной строке добавляется «I=» и далее – превращенное в последовательность символов (в строку) число I.
Операции сравнения используют для сравнения чисел, значений переменных, констант, ячеек таблиц. Результат операции сравнения имеет тип Boolean и может принимать значение True или False (Таблица 4).
Таблица 4
Операции сравнения
Операция | Наименование | Пример (R имеет тип Boolean) | Результат ® |
= | Равно | R = (10=5) | False |
> | Больше | R = 10>5 | True |
< | Меньше | R = 10<5 | False |
>= | Больше или равно | R = “a” >= “b” | False |
<= | Меньше или равно | R = “a” <= “b” | True |
<> | Не равно | R = “a” <> “b” | True |
В логических операциях (таблица 5) не только результат, но и операнды имеют тип Boolean.
Таблица 5
Логические операции
Операция | Наименование |
And | Логическое умножение |
Or | Логическое сложение |
Xor | Исключающее Or (или) |
Not | Логическое отрицание |
Поясним назначение таких операций на простом примере. Пусть переменная типа Boolean с именем R должна принимать значение True, если точка с координатами X,Y попадает в прямоугольную область, ограниченную координатами X1,X2 и Y1,Y2. Если точка за пределами прямоугольника, то R = False. Применив логическую операцию AND (И), вычислим значение R:
R = (X>=X1) AND (X<=X2) AND (Y>=Y1) AND (Y<=Y2).
Смысл этой операции в том, что если и первое выражение (X больше или равно X1) истинно, и второе, и третье, и четвертое истинно, то R = True. Если один из операндов логической операции AND представляет собой ложное выражение (утверждение), то и результатом будет False.
Кроме операции AND, к числу часто используемых логических операций относятся OR и NOT. Первая из них дает результат True, если истинно хотя бы одно выражение, являющееся операндом. Операция NOT изменяет результат на противоположный, подобно смене знака в арифметическом выражении. Вычислим R с помощью этих операций:
R = NOT ((X<X1) OR (X>X2) OR (Y<Y1) OR (Y>Y2)).
Выражение, стоящее в скобках после операции NOT, истинно (True), если точка левее или правее, или ниже, или выше воображаемого прямоугольника, т.е. если точка в него не попала. В этом случае R будет иметь значение False благодаря логическому отрицанию NOT.
Несколько реже используются логические операции XOR (исключающее ИЛИ), EQV (эквивалентность) и IMP (импликация). Первая из них дает результат True, если только одно из выражений-операндов имеет результат True. Результатом операции EQV будет True, если выражения-операнды дают одинаковый результат. Результатом IMP будет True, если выражения-операнды дают разные результаты.
Генератор случайных чисел (Randomize, RND)
Иногда в программе нужно где-нибудь применить случайное число. Для этого в Бэйсике существует функция RND: она возвращает число между 0 (включительно) и 1 (исключительно), но какое именно – чистая случайность! Чтобы получить случайное значение между 0 и каким-нибудь другим числом, например, между 0 и 256, случайное число можно просто умножить на это число: RND * 256 выдаст случайное число между 0 (включительно) и 256 (исключительно). Компьютер берёт случайные числа из, так сказать, одинаково рассортированных карт.
Часто используемые встроенные функции Visual Basic представлены в таблице 6.
Таблица 6
Часто используемые встроенные функции Visual Basic
Функция | Содержание арифметической функции |
Abs(x) | Возвращает значение, тип которого совпадает с типом переданного аргумента Х, равное абсолютному значению указанного числа |
Atn(x) | Возвращает значение типа Double, содержащее арктангенс числа Х |
Cos(x) | Возвращает значение типа Double, содержащее косинус угла Х |
Exp(x) | Возвращает значение типа Double, содержащее результат возведения числа е (основание натуральных логарифмов) в указанную степень |
Fix(x) | Возвращает значение типа, совпадающего с типом аргумента, которое содержит целую часть числа, ближайшее отрицательное целое число, большее либо равное указанному Х |
Int(x) | Возвращает значение типа, совпадающего с типом аргумента, которое содержит целую часть числа, ближайшее отрицательное целое число, меньшее либо равное указанному Х |
Log(x) | Возвращает значение типа Double, содержащее натуральный логарифм числа Х |
Rnd(x) | Возвращает значение типа Single, содержащее случайное число |
Sgn(x) | Возвращает значение типа Variant (Integer), соответствующее знаку указанного числа. Обязательный аргумент: число Х может представлять любое допустимое числовое выражение. Возвращаемое значение: Х>0, то Sgn(x) возвращает 1; если Х равняется нулю, то 0; если X<0, то -1 |
Sin(x) | Возвращает значение типа Double, содержащее синус угла Х |
Sqr(x) | Возвращает значение типа Double, содержащее квадратный корень указанного числа |
Tan(x) | Возвращает значение типа Double, содержащее тангенс угла Х |
Категория функций | Примеры функций |
Строковые | LCASE() – преобразование строки в строчные буквы |
UCASE() – преобразование строки в заглавные буквы | |
LEN() – определение длины строки и др. | |
INSTR() – позиция первой встречи одной строки внутри Другой | |
Даты и времени | DATE() – текущая дата |
TIME() – текущее время | |
NOW() – текущая дата и время | |
DAY() – номер дня года и др. |
Продолжение таблицы 6
Дата публикования: 2014-11-02; Прочитано: 454 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!