---

name: Приоритет операций
theory: |
  Посмотрите внимательно на выражение `2 + 2 * 2` и посчитайте в уме ответ.

  Правильный ответ: `6`.

  Если у вас получилось `8`, то этот урок для вас. В школьной математике мы изучали понятие «приоритет операции». Приоритет определяет то, в какой последовательности должны выполняться операции. Например, умножение и деление имеют больший приоритет, чем сложение и вычитание, а приоритет возведения в степень выше всех остальных арифметических операций: `2 ** 3 * 2` вычислится в `16`.

  Но нередко вычисления должны происходить в порядке, отличном от стандартного приоритета. В сложных ситуациях приоритет можно (и нужно) задавать круглыми скобками, точно так же, как в школе, например: `(2 + 2) * 2`.

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

    ```php
    <?php

   print_r(3 ** (4 - 2)); // => 9
   print_r(7 * 3 + (4 / 2) - (8 + (2 - 1))); // => 14
    ```

  Главное при этом соблюдать парность, то есть закрывать скобки в правильном порядке. Это, кстати, часто становится причиной ошибок не только у новичков, но и у опытных программистов. Для удобства ставьте сразу открывающую и закрывающую скобку, а потом пишите внутреннюю часть. Редактор на нашем сайте (и большинство других редакторов кода) делают это автоматически: вы пишете `(`, а редактор сразу добавляет `)`. Это касается и других парных символов, например, кавычек. О них — в будущих уроках.

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

  Было:

  ```php
  <?php

  print_r(8 / 2 + 5 - -3 / 2); // => 10.5
  ```

  Стало:

  ```php
  <?php

  print_r(((8 / 2) + 5) - (-3 / 2)); // => 10.5
  ```

  Запомните: код пишется для людей, потому что код будут читать люди, а машины будут только исполнять его. Для машин код — или корректный, или не корректный, для них нет «более» понятного или «менее» понятного кода. Явная расстановка приоритетов упрощает чтение вашего кода другими разработчиками.

instructions: |

  Дано вычисление `70 * 3 + 4 / 8 + 2`.

  Расставьте скобки так, чтобы оба сложения (`3 + 4`) и (`8 + 2`) высчитывались в первую очередь. Выведите на экран результат.

tips:
  - |
    [Приоритет операторов](https://www.php.net/manual/ru/language.operators.precedence.php)
