мое новое расписание: пн-пт с 8.00 по 16.00 по москве, сб и вс - выходные; после 16.00 и на вых. отвечаю по возможности

Числа и операции над ними в JavaScript

В JavaScript можно выполнять математические операции над числами. Сложение выполняется с помощью оператора +, вычитание - с помощью -, умножение - с помощью *, а деление - с помощью /.

Смотрите примеры:

let a = 1 + 2; // выполняем сложение alert(a); // выведет 3 let b = 3 - 2; // выполняем вычитание alert(b); // выведет 1 let c = 3 * 2; // выполняем умножение alert(c); // выведет 6 let d = 4 / 2; // выполняем деление alert(d); // выведет 2

Создайте переменную a. Запишите в нее сумму чисел 1, 2 и 3. С помощью функции alert выведите на экран содержимое переменной a.

Замечания

Чтобы вывести результат операции на экран, не обязательно вводить переменную. Можно просто выполнить нужные операции внутри функции alert:

alert(2 + 3); // выведет 5

В операции не обязательно должно участвовать только два числа, их может быть любое количество. Сложим, например, три числа и сразу же выведем алертом результат:

alert(2 + 3 + 4); // выведет 9

Выведите с помощью функции alert сумму чисел 1, 2 и 3.

Операции над переменными

Математические операции можно производить не только над числами, но и над переменными. Сложим, к примеру, значения двух переменных:

let a = 1; let b = 2; alert(a + b); // выведет 3

Не обязательно сразу выводить результат операции, можно вначале записать его в какую нибудь переменную, а уже затем вывести значение этой переменной:

let a = 1; let b = 2; let c = a + b; // запишем сумму в переменную c alert(c); // выведет 3

Создайте переменную a со значением 10 и переменную b со значением 2. Выведите на экран их сумму, разность, произведение и частное (результат деления).

Создайте переменную c со значением 10 и переменную d со значением 5. Просуммируйте их, а результат присвойте переменной result. Выведите на экран значение переменной result.

Создайте переменную a со значением 1, переменную b со значением 2 и переменную c со значением 3. Выведите на экран их сумму.

Создайте переменную a со значением 10 и переменную b со значением 5. Отнимите от a переменную b и результат присвойте переменной c.

Затем создайте переменную d, присвойте ей значение 7. Сложите переменные c и d, а результат запишите в переменную result. Выведите на экран значение переменной result.

Приоритет операций

Математические операции JavaScript имеют такой же приоритет, как в обычной математике.

То есть в начале выполняется умножение и деление, а потом уже сложение и вычитание.

В следующем примере вначале 2 умножится на 2 и затем к результату прибавится 3:

let a = 2 * 2 + 3; alert(a); // выведет 7 (результат 4 + 3)

Не запуская код, определите, что выведется на экран:

let a = 5 + 5 * 3; alert(a);

Не запуская код, определите, что выведется на экран:

let a = 5 + 5 * 3 + 3; alert(a);

Не запуская код, определите, что выведется на экран:

let a = 8 / 2 + 2; alert(a);

Не запуская код, определите, что выведется на экран:

let a = 8 + 2 / 2; alert(a);

Равный приоритет

Умножение и деление имеют равный приоритет и выполняются по очереди слева направо.

Рассмотрим на примере, что имеется ввиду. В следующем коде вначале выполнится деление, а потом умножение:

let a = 8 / 2 * 4; alert(a); // выведет 16 (результат 4 * 4)

Если же переставить знаки местами, то вначале выполнится умножение, а потом деление:

let a = 8 * 2 / 4; alert(a); // выведет 4 (результат 16 / 4)

В следующем примере каждая новая операция деления будет применяться к предыдущей:

let a = 16 / 2 / 2 / 2; alert(a); // выведет 2

Не запуская код, определите, что выведется на экран:

let a = 8 / 2 * 2; alert(a);

Не запуская код, определите, что выведется на экран:

let a = 8 * 4 / 2 / 2; alert(a);

Группирующие скобки

При желании вы можете указывать приоритет операций с помощью круглых скобок.

Давайте, например, переделаем наш код так, чтобы вначале выполнилось сложение, а уже потом умножение:

let a = 2 * (2 + 3); alert(a); // выведет 10 (результат 2 * 5)

Примечание: скобок может быть любое количество, в том числе и вложенных друг в друга:

let a = 2 * (2 + 4 * (3 + 1)); alert(a);

В скобки можно заключить операции, обладающие приоритетом - это не будет ошибкой. Например, заключим в скобки произведение чисел:

let a = (2 * 2) + 3; alert(a); // выведет 7 (результат 4 + 3)

В данном случае скобки получаются лишними (у умножения ведь и так приоритет), но код является допустимым.

Иногда такую группировку используют в тех местах, где приоритет операций не очевиден.

Для примера рассмотрим следующий код:

let a = 8 / 2 * 4; alert(a);

Как вы уже знаете, в нем вначале выполнится деление, а потом умножение. Но с первого взгляда это может быть не слишком очевидно.

Можно использовать группирующие скобки, чтобы явно показать приоритет:

let a = (8 / 2) * 4; alert(a);

Не запуская код, определите, что выведется на экран:

let a = (2 + 3) * (2 + 3); alert(a);

Не запуская код, определите, что выведется на экран:

let a = (2 + 3) * 2 + 3; alert(a);

Не запуская код, определите, что выведется на экран:

let a = 2 * (2 + 4 * (3 + 1)); alert(a);

Не запуская код, определите, что выведется на экран:

let a = 2 * 8 / 4; alert(a);

Не запуская код, определите, что выведется на экран:

let a = (2 * 8) / 4; alert(a);

Не запуская код, определите, что выведется на экран:

let a = 2 * (8 / 4); alert(a);

Дроби

Ранее мы с вами работали только с целыми числами. Но в JavaScript также существуют и десятичные дроби.

При этом целая и дробная части отделяются друг от друга точкой. Смотрите пример:

let a = 0.5; alert(a); // выведет 0.5

Смотрите еще пример:

let a = 0.5 + 0.5; alert(a); // выведет 1

Запишите в переменную a число 1.5, а в переменную b - число 0.75. Найдите сумму значений этих переменных и выведите ее на экран.

Отрицательные числа

Числа могут быть отрицательными. Для этого перед числом необходимо поставить знак минус:

let a = -1; alert(a); // выведет -1

Знак минус можно писать как к числам, так и к переменным:

let a = 1; let b = -a; // записали в b содержимое a с обратным знаком alert(b); // выведет -1

Или вот так:

let a = 1; alert(-a); // выведет -1

Создайте переменную a со значением -100. Выведите это значение на экран.

Создайте переменную a, запишите в нее какое-нибудь положительное или отрицательное число. Выведите на экран это число с обратным знаком.

Плюс перед переменными

Подобно тому, как перед отрицательными числами ставится знак "минус", перед положительными числами можно ставить знак "плюс".

Фактически этот плюс ничего не делает, но вполне является допустимым, смотрите пример:

let a = +1; alert(a); // выведет 1

Остаток от деления

Существует специальный оператор %, с помощью которого можно найти остаток от деления одного числа на другое:

alert(10 % 3); // выведет 1

Если одно число делится нацело на второе - остаток будет равен нулю:

alert(10 % 2); // выведет 0

Оператор %, конечно же, можно применять не только к числам, но и к переменным:

let a = 10; let b = 3; alert(a % b); // выведет 1

Дана переменная a со значением 10 и переменная b со значением 3. Найдите остаток от деления a на b.

Возведение в степень

Для возведения числа в степень также существует специальный оператор ** (появился в ES6).

Давайте с его помощью возведем число 10 в третью степень:

alert(10 ** 3); // выведет 1000

Давайте возведем в степень значение переменной:

let a = 10; alert(a ** 3); // выведет 1000

Может быть такое, что и число, и степень будут содержаться в переменных:

let a = 10; let b = 3; alert(a ** b); // выведет 1000

Возведите число 2 в 10-ю степень. Выведите результат на экран.

Приоритет возведения в степень

Операция возведения в степень имеет приоритет перед умножением и делением.

В следующем примере вначале выполнится возведение в степень, а затем умножение:

alert(2 * 2 ** 3);

Не запуская код, определите, что выведется на экран:

let a = 3 * 2 ** 3; alert(a);

Не запуская код, определите, что выведется на экран:

let a = (3 * 2) ** 3; alert(a);

Не запуская код, определите, что выведется на экран:

let a = 3 * 2 ** (3 + 1); alert(a);

Не запуская код, определите, что выведется на экран:

let a = 2 ** 3 * 3; alert(a);

Не запуская код, определите, что выведется на экран:

let a = 3 * 2 ** 3 * 3; alert(a);