Operace

Co je to operace? Jaké jsou druhy operací? Jaké operace můžeme v kódu používat? Jak to, že operace X = X + 2 je v pořádku?

Tento článek by měl být pro většinu z vás spíše odpočinkový. Je potřeba si ujasnit, jaké operace můžeme v MQL kódu používat a jakým způsobem. Řekneme si taky o některých specificích, která nejsou úplně intuitivní, pokud s programováním začínáte. Tvůrci jazyka MQL dělí operace do sedmi kategorií, my si prozatím vystačíme se čtyřmi hlavními. Jsou to operace, které povětšinou znáte ze základní a střední školy. Je však potřeba ujasnit některé jejich vlastnosti.

Aritmetické

Hned první kategorie operací je všem dobře známá. Při provádění výpočtů můžeme používat aritmetických symbolů tak, jak to známe ze školy, tedy + pro sčítání, – pro odčítání, * pro násobení a / pro dělení. Jsou tu jen tři specifika, která ze školy neznáme.

Symbol % jakožto symbol operace vrací zbytek po dělení a dále se hodně využívají symboly ++ a –, které sníží, respektive zvýší proměnnou o 1. Pro jistotu ještě malá tabulka:

Symbol Operace Příklad Analogie
% Zbytek po dělení minuta = čas % 60
++ Zvýšení hodnoty proměnné o 1 y++ y = y + 1
Snížení hodnoty proměnné o 1 y– y = y – 1

 

Přiřazovací

Přiřazovacími operacemi měníme hodnotu proměnné. Děje se to klasicky prostřednictvím symbolu =. Nyní upozorním na jeden neintuitivní rys programování, se kterým se začátečníci občas nemohou smířit. Výraz A = B + C v kódu neoznačuje rovnici. Pokud by tomu tak bylo, pak by výraz X = X + 2 byl nesmyslný. To však není. Jelikož symbol = označuje přiřazovací operaci, nikoli symbol rovnosti, program si výraz vyloží jako „proměnné X přiřaď výraz X+2“. Pokud tedy X před vykonáním této operace je 2, po ní bude 4. Pokud bude operace vykonána znovu, pak nové X bude 6. A tak dále. Toto pravidlo se uplatňuje v následující tabulce přiřazovacích operací.

Symbol Operace Příklad Analogie
= Přiřazení hodnoty proměnné x proměnné y у = x
+= Zvýšení hodnoty y o x у += x y = y + x
-= Snížení hodnoty y o x y -= x y = y – x
*= Znásobení hodnoty y x-krát y *= x y = y * x
/= Dělení hodnoty y hodnotou proměnné x y /= x y = y / x
%= Zbytek po dělení y proměnnou x y %= x y = y % x

 

Relační

Relační neboli porovnávací operace využíváme k porovnání hodnot dvou a více proměnných. Využití najdou především v hlavičkách složených operátorů, kterým se budeme věnovat od příštího dílu. Většinu symbolů opět známe ze školních lavic, jiné jsou ryze z programátorského světa. V tabulce vidíte, že symbol rovnosti je ==, místo očekávaného =, které symbolizuje operaci přiřazení. Pozor na záměnu těchto dvou symbolů, jedná se o velmi častou chybu, která se ale ne vždy snadno odhaluje.

Symbol Operace Příklad
== Pravda, pokud x je rovno y x == y
!= Pravda, pokud x není rovno y x != y
< Pravda, pokud je x menší než y x < y
> Pravda, pokud je x větší než y x > y
<= Pravda, pokud je x menší nebo rovno y x <= y
>= Pravda, pokud je x větší nebo rovno y x >= y

 

Logické (Boolean)

O logických neboli booleanovských operacích jste pravděpodobně slyšeli na škole střední. Opět se použijí hlavně u složených operátorů. Jsou to tyto tři:

Symbol Operace Příklad Popis
! NOT (negace) !(х==0) Pravda, pokud x není rovno 0
|| OR (disjunkce) x < 5 || x > 7 Pravda, pokud platí, že x < 5 NEBO x > 7
&& AND (konjunkce) x == 3 && y < 5 Pravda , pokud platí, že x je rovno 3 A ZÁROVEŇ y < 5

 

Výčet základních operací je tímto pro nás hotový. Ještě dodám, že operací je rovněž volání funkcí, tu si však rozebereme, až budeme mít za sebou funkce. V příštím díle načneme stěžejní téma, a to jsou operátory.