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

     



    Содержание раздела