Читайте также:
|
|
Простые арифметические вычисления лучше делать на калькуляторе, чем на компьютере, а вот сложные - наоборот. В этом разделе вы научитесь правильно вводить в компьютер сложные формулы. Если вы - школьник не самых старших классов, то не все, что здесь написано, будет вам понятно. Не огорчайтесь, при дальнейшем чтении непонятные вещи вам не понадобятся.
Действия арифметикиобозначаются в Visual Basic следующим образом:
ДЕЙСТВИЕ | РЕЗУЛЬТАТ | СМЫСЛ |
2 +3 | плюс | |
4 -1 | минус | |
2 *3 | умножить | |
10 /2 | разделить | |
17 \5 | целочисленное деление (17 делится на 5, получается 3, в остатке 2) | |
17 Mod5 | остаток от целочисленного деления | |
2 ^3 | 2 3 (два в кубе) - возведение в степень |
На уроках математики мы привыкли писать ab+cd, подразумевая: a умножить на b плюс c умножить на d. В Visual Basic это выражение мы обязаны писать так: a*b+c*d. Иначе компьютер подумает, что нужно к переменной, имеющей имя ab, прибавить переменную, имеющую имя cd. Во избежание двусмысленности знак умножения положено писать всегда, в том числе и перед скобками. Например, a * (b+c).
Скобки. Ввиду того, что с клавиатуры всю информацию приходится вводить символ за символом в одну строку, ввод двухэтажных выражений, таких как
очень затруднен. Поэтому для обозначения деления и выбрана косая черта. Это выражение на Visual Basic положено записывать так: (a+1)/(b+1). Если бы мы не поставили скобок, то выражение получилось бы таким a+1/b+1, а это неправильно, так как компьютер, как и мы, всегда перед сложением и вычитанием выполняет умножение и деление, поэтому в последнем случае он бы сначала разделил 1 на b, а затем к результату прибавил a и 1.
Вопрос: когда в выражениях можно ставить скобки? Ответ: всегда, когда у вас возникают сомнения в правильной очередности действий. Лишняя пара скобок не помешает. Пример: записать на Visual Basic выражение:
Его можно было бы записать так:
(1 + a / (2+a*b)) / (3+a) * b.
Разберитесь в этой записи. К сожалению, в выражениях разрешается писать только круглые скобки. Квадратные и фигурные запрещены. От этого сложные выражения с большим количеством скобок на глаз воспринимаются с трудом, так как трудно для конкретной скобки увидеть ее законную пару. В этом случае я могу посоветовать идти "от малого к большому", то есть сначала заметить самые малые из взятых в скобки фрагменты выражения (у нас это 3+a и 2+a*b). После этого будет уже легче заметить более крупные фрагменты, такие как 1 + a / (2+a*b), и т.д.
Разобрались? Эта запись меня совсем не удовлетворяет, так как мы не знаем, что Visual Basic будет делать раньше - делить (1 + a / (2+a*b)) на (3+a) или умножать (3+a) на b. А от этого зависит результат. Добавим для верности пару скобок:
((1 + a / (2+a*b)) / (3+a)) * b
Теперь все в порядке.
Запись десятичных дробей. Путаница с точкамии запятыми. Почти во всех языках программирования и уж, конечно, в Visual Basic, в десятичных дробях принято вместо запятой ставить точку. Пример: 62.8 - шестьдесят две целых восемь десятых. Однако, если помните, при вводе дробей в InputBox Visual Basic требовал запятую, да и результаты он выводит с запятой. В чем дело? Visual Basic, являясь приложением Windows, частично воспринимает от нее привычку пользоваться в России запятой. Особой проблемы тут нет. Используйте метод "научного тыка" - пользуйтесь точкой, а если Visual Basic жалуется или начинает делать что-то не то, тогда меняйте ее на запятую.
Математические функции. Кроме нескольких действий арифметики Visual Basic может выполнять и другие математические действия, например, извлечение квадратного корня. На компьютере нет клавиши со значком , поэтому в Visual Basic имеется специальная функция - Sqr. Например, корень из 25 обозначается так - Sqr(25), корень из a+b так - Sqr(a+b). Здесь Sqr - сокращение от английского выражения Square root - квадратный корень. То, из чего нужно извлечь корень, записывается в скобках.
Приведу неполный список математических функций Visual Basic:
ДЕЙСТВИЕ | РЕЗУЛЬТАТ | СМЫСЛ |
Sqr(25) | корень квадратный | |
Round(5.82716) | округление до целых | |
Round (5.82716, 3) | 5.827 | округление до трех знаков после точки |
Abs(-20) | абсолютная величина(модуль) числа | |
Fix(3.98) | целая часть числа (дробная часть отбрасывается) | |
Fix (-3.98) | -3 | |
Int(3.98) | наибольшее целое число, не превышающее выражение в скобках | |
Int (-3.98) | -4 | |
Rnd | 0.73088 | случайное числоиз диапазона (0 - 1) |
Кроме этого, имеются функции Sin, Cos, Tan (что означает тангенс), Atn (что означает арктангенс), Exp, Log и др.
Работа со случайными величинами описана в 5.4, 9.9.
Примеры:
Выражение (2+1)^2 при вычислении даст 9
Выражение 1+ (2+8)^3 при вычислении даст 1001
Выражение 1+Abs(5-8) при вычислении даст 4
Выражение 2^4+Sqr(35+1) при вычислении даст 22
Выражение Sqr (8+Int(41.5)) при вычислении даст 7
Выражение 21 \ (Round (2.54+1)) при вычислении даст 5
Задание 9: Определите без компьютера, что напечатает данный фрагмент программы:
a = (2^2+1) * (20- (2^2)^2) - 11: b=11 \ (a-4): Debug.Print a^2 + b - 1
Дата добавления: 2015-11-16; просмотров: 70 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Dim p As Single | | | Типы данныхи точность вычислений |