Урок 5. Основы программирования. Арифметические и логические выражения
Самое время вспомнить школьную программу по математике! В программировании всё построено на арифметических и логических задачах. Чтобы их решить, необходимо соблюдать порядок математических вычислений и применять соответствующие операторы.
Арифметические выражения
К таким выражениям относятся вычислительные операции, которые учат в начальной школе на уроках математики:
— сложение;
— вычитание;
— умножение;
— деление.
Разберём примеры в языке JavaScript
В арифметических выражениях допускается использовать переменные с числовыми значениями.
При присвоении выражения переменной в неё записывается не само выражение, а его результат.
Создадим переменную a со значением 4 и переменную b со значением 2 и выполним простые арифметические выражения:
let a = 4;
let b = 2;
Сложение:
let c = a + b;
console.log(c);
Результат:
6
Вычитание:
let d = a - b;
console.log(d);
Результат:
2
Умножение:
let e = a * b;
console.log(e);
Результат:
8
Деление:
let f = a/b;
console.log(f);
Результат:
2
При необходимости выполнить сразу несколько операций в одной строке важно соблюдать правило приоритетности:
Умножение и деление имеют более высокий приоритет, чем сложение и вычитание.
Если для получения нужного результата нам необходимо сначала выполнить сложение или вычитание, а затем умножение или деление, то первую комбинацию мы заключаем в скобки:
let g = (a + b)*8;
console.log(g);
Результат:
48
Без скобок компьютер сначала бы провёл операцию умножения b*8, а затем прибавил бы к этому a. Мы бы получили результат 20, а не 48.
Ещё один пример. Представим, что у нас есть:
— печенье – 8 шт.;
— яблоки – 4 шт.
1. Создадим и инициализируем две переменные:
let cookies = 8;
let apples = 4;
2. Создадим переменную food, в которой запишем сумму cookies и apples:
let food = cookies + apples;
3. Выведем значение переменной food в консоль:
console.log(food);
Результат:
12
Теперь в переменной food хранится значение суммы переменных «12», а не выражение «cookies + apples».
Логические выражения
Логические выражения подразумевают, что результатом вычисления являются два значения:
— истина (true);
— ложь (false).
Такие выражения часто используются в операторах сравнения. JavaScript и многие другие языки программирования содержат набор встроенных операторов сравнения, с помощью которых строятся простые логические выражения:
— равно (==);
— не равно (!=);
— меньше чем (<);
— больше чем (>);
— меньше либо равно (<=);
— больше либо равно (>=).
Посмотрим, как работать с логическими выражениями в JavaScript.
Сравним между собой два числа с помощью оператора сравнения ==:
console.log(3==3);
console.log(3==2);
Увидим результат:
true
false
Справка! Для сравнения применяется именно удвоенный знак равенства. Об этом мы рассказывали в Уроке 2.
Первое выражение равно true, так как три действительно равно трём. А второе выражение имеет значение false, так как утверждение «три равно два» ложное.
В логических выражениях также используются переменные. Например, создадим переменную age со значением 7:
let age = 7;
Проведём несколько логических выражений:
console.log(age==7);
console.log(age>11);
console.log(age<18);
Компьютер возьмёт значение переменной age и подставит во все выражения вот так:
console.log(7==7);
console.log(7>11);
console.log(7<18);
И выдаст результат:
true
false
true
Чтобы произвести более серьезную проверку, можно объединить несколько операций сравнения. Это происходит с помощью двух операторов:
— «И», который обозначается, как &&
— «ИЛИ», который обозначается, как ||
Логические выражения, которые содержат несколько операций сравнения, называют сложными выражениями.
Пример
У нас есть аттракцион «Американские горки», на который допускаются люди, достигшие определённого возраста и не ниже определённого роста.
1. Представим мальчика, который решил покататься на горках. Ему 14 лет, рост – 150 см. Создадим переменные для хранения возраста в годах и роста в сантиметрах:
let age = 14;
let height = 150;
2. Запишем такое условие: «Человек должен быть старше 10 лет и выше 120 сантиметров». Оно выглядит так:
console.log((age > 10) && (height > 120));
Для текущих значений переменных age и height это условие выполняется, поэтому результат сложного логического выражения равен true:
true
3. Следующее выражение соответствует такому условию: «Человек должен быть старше 10 лет и младше 18 лет»:
console.log((age>10)&&(age<18));
Результат также true:
true
4. Теперь сложное логическое выражение с оператором «ИЛИ» – «Человек должен быть старше 10 лет или выше 160 сантиметров»:
console.log((age>10)||(height > 160));
Результат также равен true, поскольку выполняется одно из условий:
true
5. Если написать такое выражение с оператором «ИЛИ»: «Человек должен быть старше 15 лет или выше 160 сантиметров»:
console.log((age>15)||(height > 160));
То результат будет отрицательным, так как оба условия не выполнены:
false
Домашнее задание
Напишите сложную операцию сравнения с учётом вашего возраста и роста, чтобы узнать, сможете ли вы управлять вертолётом. Исходные условия:
— возраст – старше 18 лет;
— рост – не выше 190 см.