Precedence
Author
Albert FloresV aritmetice a algebře jsou používána různá pravidla, která určují pořadí, v jakém se vyhodnocují operace ve výrazu. Priorita, s jakou se vyhodnocuje daná operace, se nazývá precedence.
Precedence každé operace je otázkou vzájemné domluvy - konvence. Nelze ji nijak matematicky odvodit.
Precedenční pravidla používají při vyhodnocování výrazů různé programovací jazyky a moderní elektronické kalkulátory.
Obvyklé pořadí operací
Obvyklé pořadí, ve kterém se vykonávají operace ve složitějším výrazu, je:
# umocňování a odmocňování # násobení a dělení # sčítání a odčítání
Pokud ve výrazu nejsou žádné závorky, provádí se nejprve umocňování a odmocňování. Vícenásobné exponenty se vyhodnocují zprava doleva. +more Pak se provádí násobení a dělení, zleva doprava, nakonec pak sčítání a odečítání, také zleva doprava.
Pokud jsou ve výrazu závorky, provádí se vyhodnocování výrazu od obsahu nejvnitřejší závorky a směrem ven. Při potřebě více dvojic závorek, které by se mohly navzájem plést, se pak dále používají hranaté závorky [ ] a složené závorky { }.
Matematická precedence
Většina programovacích jazyků vyhodnocuje pořadí operací podle následující tabulky:
priorita | operátor | popis operace |
---|---|---|
1 | [] -> . :: ++ -- | grupování a unární operace |
2 | ~ ++ - - + * & | logická negace a unární operace |
3 | / % MOD | násobení, dělení, modulo |
4 | + - | sčítání a odčítání |
5 | > | bitové posuny |
6 | >= | porovnání: větší než, menší než … |
7 | == . +more= | porovnání: rovnost a nerovnost |
8 | & | bitové AND |
9 | ^ | bitové XOR |
10 | bitové OR | |
11 | && | logické A |
12 | logické NEBO | |
13 | = += -= *= /= %= &= ^= >= | přiřazovací operátory |
Příklady: * !A + !B → (!A) + (!B) * ++A + !B → (++A) + (!B) * A * B + C → (A * B) + C * A AND B OR C → (A AND B) OR C
Příklady
:* (4+10/2)/9=(4+[10/2])/9=[4+5]/9=1 \, :* 2^{3^2}=2^{[3^2]}=[2^9]=512 \, :* 8/2\times3=[8/2]\times3=[4\times3]=12 \, :* 7-2-4+1=[7-2]-4+1=[5-4]+1=[1+1]=2 \,
Další příklad
:3-(5-(7+1))^2\times(-5)+2 \,
:3-(5-8)^2\times(-5)+2 \,
:3-(-3)^2\times(-5)+2 \,
:3-9\times(-5)+2 \,
:3-(-45)+2 \,
:48+2 \,
:48+2=50 \,