Прежде чем двигаться
дальше {"Как трудно двигаться дальше" — из песни Бориса Гребенщикова),
необходимо напомнить, что в те далекие времена, когда только зарождались
алгоритмические языки, а словосочетание "персональный компьютер" вызывало у тех,
кто его слышал сомнения в здравомыслии его произносившего, так вот, в те самые
времена считалось, что компьютер (от англ. compute — вычислять), т. е.
"вычислитель" только и предназначен для того, чтобы считать в тысячи, нет — в
миллионы раз быстрее человека. По сути, это действительно так, и если вы немного
представляете себе физику происходящего в компьютере, то все, что вы ни делаете
за компьютером — сочиняете стихи или музыку, рисуете картинки, играете,
общаетесь в Сети — все внутри этого "вычислителя" сводится к цифровой двоичной
форме и к действиям, элементарным арифметическим действиям над этими самыми
числами. Отсюда вывод — если хочешь быть программистом, надо дружить с
математикой. Начнем? Итак, компьютер умеет вычислять элементарные
арифметические выражения. Но для того, чтобы он смог это сделать, мы должны
представить это самое выражение в понятном ему виде, а
именно:в отличие от арифметики, выражение
должно быть записано в одну строку безо всяких числителей и
знаменателей;для записи арифметических действий
допустимо использовать только перечисленные ниже знаки: + (сложение, слева от клавиши
или на малой цифровой клавиатуре "серый
плюс");- (вычитание, то же, что дефис,
или на малой цифровой клавиатуре "серый минус");* (умножение, там же, где цифра 8
на основной клавиатуре при нажатой клавише или на малой цифровой
клавиатуре "серая звездочка");/ (деление, на разных клавиатурах
бывает в разных местах или на малой цифровой клавиатуре "серый
слэш");^ (возведение в степень, при
выбранном латинском шрифте там же, где цифра 6 на основной клавиатуре при
нажатой клавише );() (скобки, там же, где цифры 9 и
0 на основной клавиатуре при нажатой клавише ).недопустим пропуск знака умножения
между коэффициентом и переменной, как это возможно в алгебре (например, нельзя
писать 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=1025\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