Арифметика в Бейсике
Арифметика в Бейсике
Прежде чем двигаться дальше ("Как трудно двигаться дальше" — из песни Бориса Гребенщикова), необходимо напомнить, что в те далекие времена, когда только зарождались алгоритмические языки, а словосочетание "персональный компьютер" вызывало у тех, кто его слышал сомнения в здравомыслии его произносившего, так вот, в те самые времена считалось, что компьютер (от англ. compute — вычислять), т. е. "вычислитель" только и предназначен для того, чтобы считать в тысячи, нет — в миллионы раз быстрее человека. По сути, это действительно так, и если вы немного представляете себе физику происходящего в компьютере, то все, что вы ни делаете за компьютером — сочиняете стихи или музыку, рисуете картинки, играете, общаетесь в Сети — все внутри этого "вычислителя" сводится к цифровой двоичной форме и к действиям, элементарным арифметическим действиям над этими самыми числами.
Отсюда вывод — если хочешь быть программистом, надо дружить с математикой. Начнем?
Итак, компьютер умеет вычислять элементарные арифметические выражения. Но для того, чтобы он смог это сделать, мы должны представить это самое выражение в понятном ему виде, а именно:
- в отличие от арифметики, выражение должно быть записано в одну строку безо всяких числителей и знаменателей;
- для записи арифметических действий допустимо использовать только перечисленные ниже знаки:
- + (сложение, слева от клавиши <Backspace> или на малой цифровой клавиатуре "серый плюс");
- - (вычитание, то же, что дефис, или на малой цифровой клавиатуре "серый минус");
- * (умножение, там же, где цифра 8 на основной клавиатуре при нажатой клавише <Shift> или на малой цифровой клавиатуре "серая звездочка");
- / (деление, на разных клавиатурах бывает в разных местах или на малой цифровой клавиатуре "серый слэш");
- ^ (возведение в степень, при выбранном латинском шрифте там же, где цифра 6 на основной клавиатуре при нажатой клавише <Shift>);
- () (скобки, там же, где цифры 9 и 0 на основной клавиатуре при нажатой клавише <Shift>).
Чтобы компьютер вычислил выражение правильно, необходимо помнить о приоритете выполнения действий. Тут все как в элементарной математике:
- сначала выполняются действия в скобках (в Бейсике скобки используются только круглые, в сложных выражениях они могут быть и двойные и тройные и т. д.);
- далее вычисляются функции, если они есть;
- затем выполняется возведение в степень,
- потом умножение и деление; ;
- в последнюю очередь — сложение и вычитание.
Действия одинаковой очередности выполняются слева направо.
Приведем ряд примеров перевода арифметических выражений в пригодный для Бейсика вид.
- В арифметике — в Бейсике 1/х
- В арифметике в Бейсике 2*х^2
- В арифметике в Бейсике (3+4)/(8-6)
Замечание
В последнем случае хочу обратить внимание на обязательность скобок как в числителе, так и в знаменателе. Потому что при записи 3+4/8-6 компьютер сначала произведет деление 4 на 8, затем прибавит 3 и вычтет 6. В ответе получится -2,5 вместо правильных 3,5. Будьте внимательны!
Чтобы потренироваться, вот вам ряд заданий на запись арифметических выражений в виде, пригодном для вычислений на Бейсике.
1.
2.
3.
4.
5.
Подсказка: корень квадратный (впрочем, как и любой другой) всегда можно представить в виде степени. А вот как, узнайте на уроках математики! Да про скобки не забудьте!
Теперь наоборот. Следующие выражения Бейсика запишите в обычной арифметической форме:
6.
7. (5^3*3-4) ^.5
8. 44/4*5+10-2^З/.3
9. 5+2/6-7+З^2
10. 5+2/6-7+З^2
11. (4*(5-4^2)^2
12. 3+8/4-7*З^2
Ну и чтобы закончить с арифметикой, расскажу еще о двух действиях, которые вы навряд ли использовали в школе, а в программировании они могут оказаться весьма полезными. Эти действия применимы только к целым числам!
Первое из них — деление нацело. Для этого действия используется знак \ (так называемый обратный слэш). Компьютер в этом случае делит числа как обычно, но в качестве результата деления представляет только целую часть, отбрасывая дробную. Например:
- 41\4=10
- 25\9=2 И Т. Д.
И второе — нахождение целого остатка от деления. Для этого действия нет специального знака и оно выполняется при помощи оператора mod. Оператор mod действует как и предыдущий, но в качестве результата представляет целочисленный остаток от деления. Например:
- 41 MOD 4= 1
- 25 MOD 9 = 7
Действия деления нацело и нахождения целочисленного остатка выполняются до обычных умножения и деления.
Если это вам понятно, давайте вычислим несколько выражений.
13. 20\6
14. 20 mod 6
15. 34\4
16. 34 MOD 4
17. 2\5
18. 2 MOD 5
19. 4*7\3 MOD 6/3
20. 24 MOD 5\3