DamiRocK

JavaScript: приоритет операций и деление счёта на пятерых

Две пиццы по 300 и четыре напитка по 50 нужно разделить на пятерых. Скобки заставляют сначала получить общую сумму 800, затем результат 160.

Задание источника

Пять человек заказали две пиццы по 300 рублей и четыре напитка по 50. Нужно записать одну строку с console.log(), чтобы сначала вычислилась общая сумма, а затем делилась на всех пятерых.

console.log((2 * 300 + 4 * 50) / 5);

Сначала получаем 600+200=800, затем 800/5=160.

Зачем нужны скобки

Без скобок выражение 2 * 300 + 4 * 50 / 5 вычисляется как 600+40 и даёт 640, потому что умножение и деление выполняются раньше сложения. Скобки объединяют всю стоимость заказа до деления.

Операторы одинакового приоритета

Умножение и деление в последовательности группируются слева направо. Степень ** имеет более высокий приоритет и правоассоциативна: 2 ** 3 ** 2 означает 2 ** (3 ** 2) и даёт 512.

Проверка смысла

Скобки могут быть синтаксически корректны, но всё равно описывать не ту задачу. Например, (2 + 4) * (300 + 50) / 5 вычисляет другую величину. Сначала нужно определить математическую структуру: стоимость каждой категории, общая сумма, затем доля одного человека.

Hexlet / Code Basics и участники · Исходный урок и упражнение · GNU AGPL v3. Исправлено 10 сентября 2026: прежний путь 30-priority отсутствовал, пример и excerpt не соответствовали закреплённому упражнению; URL сохранён.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.