Арифметика в Бейсике
Прежде чем двигаться дальше ("Как трудно двигаться дальше" – из песни Бориса Гребенщикова), необходимо напомнить, что в те далекие времена, когда только зарождались алгоритмические языки, а словосочетание "персональный компьютер" вызывало у тех, кто его слышал сомнения в здравомыслии его произносившего, так вот, в те самые времена считалось, что компьютер (от англ. compute – вычислять), т. е. "вычислитель" только и предназначен для того, чтобы считать в тысячи, нет – в миллионы раз быстрее человека.
По сути, это действительно так, и если вы немного представляете себе физику происходящего в компьютере, то все, что вы ни делаете за компьютером – сочиняете стихи или музыку, рисуете картинки, играете, общаетесь в Сети – все внутри этого "вычислителя" сводится к цифровой двоичной форме и к действиям, элементарным арифметическим действиям над этими самыми числами.
Отсюда вывод – если хочешь быть программистом, надо дружить с математикой. Начнем?
Итак, компьютер умеет вычислять элементарные арифметические выражения. Но для того, чтобы он смог это сделать, мы должны представить это самое выражение в понятном ему виде, а именно:
- в отличие от арифметики, выражение должно быть записано в одну строку безо всяких числителей и знаменателей;
- для записи арифметических действий допустимо использовать только перечисленные ниже знаки:
- + (сложение, слева от клавиши Backspace или на малой цифровой клавиатуре "серый плюс");
- - (вычитание, то же, что дефис, или на малой цифровой клавиатуре "серый минус");
- * (умножение, там же, где цифра 8 на основной клавиатуре при нажатой клавише SHIFT или на малой цифровой клавиатуре "серая звездочка");
- / (деление, на разных клавиатурах бывает в разных местах или на малой цифровой клавиатуре "серый слэш");
- ^ (возведение в степень, при выбранном латинском шрифте там же, где цифра 6 на основной клавиатуре при нажатой клавише SHIFT);
- () (скобки, там же, где цифры 9 и 0 на основной клавиатуре при нажатой клавише SHIFT).
- недопустим пропуск знака умножения между коэффициентом и переменной, как это возможно в алгебре (например, нельзя писать 2х, а надо 2*Х, или нельзя 5d, а надо 5*D);
- дробная часть отделяется от целой точкой, а не запятой (нельзя писать 3.14, а надо 3.14);
- допустимо опускать в записи десятичной дроби ноль, стоящий перед точкой (вместо 0.123 можно.123).
Чтобы компьютер вычислил выражение правильно, необходимо помнить о приоритете выполнения действий. Тут все как в элементарной математике:
- сначала выполняются действия в скобках (в Бейсике скобки используются только круглые, в сложных выражениях они могут быть и двойные и тройные и т. д.);
- далее вычисляются функции, если они есть;
- затем выполняется возведение в степень,
- потом умножение и деление;;
- в последнюю очередь – сложение и вычитание.
Действия одинаковой очередности выполняются слева направо.
Приведем ряд примеров перевода арифметических выражений в пригодный для Бейсика вид.
- В арифметике – в Бейсике 1/х
- В арифметике в Бейсике 2*х^2
- В арифметике в Бейсике (3+4)/(8-6)
Замечание
В последнем случае хочу обратить внимание на обязательность скобок как в числителе, так и в знаменателе. Потому что при записи 3+4/8-6 компьютер сначала произведет деление 4 на 8, затем прибавит 3 и вычтет 6. В ответе получится – 2.5 вместо правильных 3.5. Будьте внимательны!