Basic - вводный курс



Арифметика в Бейсике

Прежде чем двигаться дальше ("Как трудно двигаться дальше" — из песни Бориса Гребенщикова), необходимо напомнить, что в те далекие времена, когда только зарождались алгоритмические языки, а словосочетание "персональный компьютер" вызывало у тех, кто его слышал сомнения в здравомыслии его произносившего, так вот, в те самые времена считалось, что компьютер (от англ. 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. Будьте внимательны!
Чтобы потренироваться, вот вам ряд заданий на запись арифметических выражений в виде, пригодном для вычислений на Бейсике.

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

Назад Начало Вперед