Приоритет операции
<imagemap>
Image:Wiki_letter_w.svg
|
Для улучшения этой статьи желательно?:
|
Приоритет, ранг или старшинство операции или оператора — формальное свойство оператора/операции, влияющее на очередность его выполнения в выражении с несколькими различными операторами при отсутствии явного (с помощью скобок) указания на порядок их вычисления. Например, операцию умножения обычно наделяют бо́льшим приоритетом, чем операцию сложения, поэтому в выражении <math>x+y\cdot z</math> будет получено сначало произведение <math>y</math> и <math>z</math>, а потом уже сумма.
Операции могут иметь одинаковый приоритет, тогда они вычисляются по правилу ассоциативности, установленному для этих операций.
В формальных системах используется два способа задания приоритета любого оператора. Первый из них — распределение всех операторов по иерархии приоритетов. Этот способ всегда используется для задания приоритетов по умолчанию и фиксируется в описании языка в виде соглашения, что таким-то операторам присваивается такие-то приоритеты. Никакого отражения в синтаксисе языка он не получает, то есть при нём не используется никаких явных средств (= тех/иных символов) для указания приоритета операции.
Второй способ дает возможность менять приоритеты по умолчанию, указывая их в явном виде с помощью символов парных скобок. При этом глубина вложенности прямо пропорциональна величине приоритета, то есть более внутренние скобки указывают на больший приоритет, чем внешние, обрамляющие их. В предыдущем примере с суммой и произведением порядок вычисления можно поменять, используя скобки, записав всё выражение так: <math>((x+y)\cdot z)</math> или же так: <math>(x+y)\cdot z</math>.
Практика ранжирования операций
В этом подразделе планируется описать практику приписывания приоритетов разным классам операторов в разных языках программирования и других формальных системах
См. также
- Ассоциативность в программировании
| Заготовка статьи | Это незавершённая статья. Вы можете помочь проекту, исправив и дополнив её. Это примечание по возможности следует заменить более точным. |
cs:Priorita početních operací da:Operatorprioritet de:Operatorrangfolge en:Order of operations fi:Laskujärjestys fr:Ordre des opérations he:קדימות אופרטורים it:Ordine delle operazioni nl:Bewerkingsvolgorde pl:Kolejność wykonywania działań pt:Ordem de operações simple:Order of operations sv:Operatorprioritet tr:İşlem sırası
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....