MQL4 COURSE. By Coders guru www.forex-tsd.com. -4 Operace & Výrazy



Podobné dokumenty
MQL4 COURSE. By Coders guru -5 Smyčky & Rozhodnutí Part 1

Algoritmizace a programování

5 Přehled operátorů, příkazy, přetypování

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

LEKCE 6. Operátory. V této lekci najdete:

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

MQL4 COURSE. By Coders guru -5 Smyčky & Rozhodnutí Část 2

Paměť počítače. alg2 1

Úvod do programovacích jazyků (Java)

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)

Racionální čísla, operátory, výrazy, knihovní funkce

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Programování v jazyce JavaScript

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Operátory. Základy programování 1 Tomáš Kühr

Jazyk C# a platforma.net

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Racionální čísla, operátory, výrazy, knihovní funkce

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody

Programovací jazyk Pascal

MQL4 COURSE. By Coders guru -8- Proměnné

Mikroprocesorová technika (BMPT)

MQL4 COURSE. By Coders guru -3 DATA TYPES. Doufám, že předchozí lekce SYNTAX se vám líbila. V té jsme se pokoušeli zodpovědět:

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Aritmetické operace a obvody pro jejich realizaci

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

NPRG030 Programování I, 2010/11

NPRG030 Programování I, 2016/17 1 / :58:13

Datové typy strana 29

Architektury počítačů

Sada 1 - Základy programování

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

Úvod do programování. Lekce 1

Vzorec. Operátory v Excelu. Operátor přiřazení

Násobení. MI-AAK(Aritmetika a kódy)

3 Jednoduché datové typy Interpretace čísel v paměti počítače Problémy s matematickými operacemi 5

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Struktura a architektura počítačů (BI-SAP) 5

Algoritmizace a programování

Souhrn Apendixu A doporučení VHDL

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

PŘETĚŽOVÁNÍ OPERÁTORŮ

Čísla, reprezentace, zjednodušené výpočty

CZ.1.07/1.5.00/

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.

VY_32_INOVACE_CTE_2.MA_04_Aritmetické operace v binární soustavě Střední odborná škola a Střední odborné učiliště, Dubno Ing.

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

1 z :27

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Proměnné a parametry. predn_08.odt :00:38 1

Osnova přednášky. Informační a řídicí systémy I. Programování PLC II. IEC Program ve strukturovaném textu. Strukturovaný text (ST)

Architektury počítačů a procesorů

Číslo materiálu. Datum tvorby Srpen 2012

4. blok část A Logické operátory

Elementární datové typy

Strojový kód. Instrukce počítače

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Znalost výčtových typů. Aktivní znalost kombinovaných (zkrácených přiřazení). Znalost bitových operací. Znalost operátoru sekvence.

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý

Seminář z IVT Proměnné a operátory. Slovanské gymnázium Olomouc 11. září 2014 Tomáš Kühr

Funkcionální programování. Kristýna Kaslová

M - Příprava na pololetní písemku č. 1

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové.

Základní jednotky používané ve výpočetní technice

VY_32_INOVACE_08_2_04_PR

Kartografické modelování. II Mapová algebra obecné základy a lokální funkce

Variace. Číselné výrazy

Zápis programu v jazyce C#

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Programování v jazyce C pro chemiky (C2160) 9. Práce s PDB soubory

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 23, 2016

Booleovská algebra. Pravdivostní tabulka. Karnaughova mapa. Booleovské n-krychle. Základní zákony. Unární a binární funkce. Podmínky.

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

v aritmetické jednotce počíta

ARITMETICKÉ OPERACE V BINÁRNÍ SOUSTAVĚ

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

Čísla a číselné soustavy.

Variace. Mocniny a odmocniny

Kurz LSL skriptování. Shiny Iceberg 2009

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

KTE / PPEL Počítačová podpora v elektrotechnice

Sada 1 - Základy programování

katedra informatiky FEI VB-TU Ostrava 10. jna 2005 etr aloun (katedra informatiky FEI VB-TU Ostrava) Dal vrazy 10. jna / 25

Transkript:

MQL4 COURSE By Coders guru www.forex-tsd.com -4 Operace & Výrazy Vítejte ve čtvrté lekci mého kurzu MQL4. Předchozí lekce Datové Typy prezentovaly mnoho nových konceptů ; Doufám, že jste všemu porozuměli, a že vás to bavilo. Předchozí lekci si můžete stáhnout odsud: http://forex-tsd.com/attachment.php?attachmentid=399 http://forex-tsd.com/attachment.php?attachmentid=372 http://forex-tsd.com/attachment.php?attachmentid=469 Nezapomeňte se nejprve zalogovat. Nyní si užijte lekci Operace & Výrazy. Co je význam operací a výrazů? Operace jsou vám známy velmi dobře. Např. (+,-, *, /) jsou základní aritmetické operace, takže si jistě velmi rychle zapamatujete, co znamená pojem operátor. Takže vás již slyším, jak říkáte OK,vím co jsou operace; mohl bys mi tedy říct, co znamená slovo výraz? Identifikátory (pamatujete si je? Pokud ne, nahlédněte zpět do lekce SYNTAX). Ty totiž spolu s operacemi vytvářejí výrazy. Připadá vám to jako puzzle? Pojďme si tedy provést ilustraci příkladem: x, y, z a w jsou zde identifikátory. =, * a / jsou operátory. To celé je výrazem. Při kombinaci výrazů vzniká sdělení. A když jsou sdělení kombinována spolu, tvoří funkci, když jsou spolu zkombinovány funkce, vytvářejí program.

Ve zbytku této lekce budeme mluvit o druzích operátorů používaných v MQL4. Začněme tedy se základními aritmetickými operátory: 1-Aritmetické operátory: V MQL4 se vyskytuje 9 aritmetických operací. Zde je seznam s použitím každého z nich: + Operátor pro sčítání A = B + C; B přičtěte k C a přiřaďte výslednou hodnotu k A. - Operátor odečítání A = B - C; Odečtěte C od B a výslednou hodnotu přiřaďte k A. + Operátor změny Změna znaménka na kladné nebo A = -A; znaménka záporné * Operátor násobení A = B * C; Vynásobení B a C a přiřazení výsledku k A. / Operátor dělení A = B / C; B dělí C a výsledek je přiřazen k A. % Modulový operátor A =A % C; A je zbytkem dělení B a C. ( např. z 10%2 vznikne 0, z 10%3 vznikne 1). ++ Operátor přírůstku A++; Přičítání A o 1 (např. pokud A =1, výsledek je 2). Operátor úbytku A--; Odečítání 1 od A (např. pokud A = 2, výsledek je 1). Poznámka: Zůstatkový operátor funguje dělením prvního čísla druhým pro první celočíselný výsledek a vrací zbytkové číslo. Příklad: 10%5=0 To proto, že pokud dělíte desítku pětkou, výsledek je 2 a zbytková hodnota není žádná, zbytek je tedy 0. 10%8=2 To proto, že pokud dělíte desítku osmičkou, dostanete 1(1*8=8), takže zůstatek je (10-8 = 2). 100%15=10 To je proto, že pokud dělíte 100 patnácti, výsledek bude 6 (6*15 =90 ), takže zbytková hodnota je (100-90 =10). A co třeba 6%8? Výsledek bude 6, protože pokud 6 vydělíte 8, dostanete 0 (8*0=0),takže zůstatek je 6 (6-0 =6). Poznámka: Nemůžete kombinovat operátory přírůstku a úbytku s ostatními výrazy. Např. nemůžete říct: Můžete však provést zápis tímto způsobem:

Poznámka: Jak funguje výše uvedený příklad? Tak se na něj podívejme: in t A=1; // nastavte A na 1 in t B; A+ + ; // navyšte A o 1, nyní A=2 B=A*5 ; // což znamená B=2*5 2- Přiřazovací operátory: Účelem jakéhokoliv výrazu je vytvořit výsledek a sestavení přiřazovací operátory přiřadí levému operandu tuto výslednou hodnotu. Příklad: Zde násobíme B a C a přiřazujeme výsledek k A. (=) zde slouží jako přiřazovací operátor. V MQL4 existuje 11 přiřazovacích operací. Zde je uveden seznam s jejich použitím: = Přiřazovací operátor A = B; Přiřazení B k A. += Sčítací přiřazovací A += B; Znamená: A = A + B; přiřadí B k A operátor a výsledek přiřadí k A. -= Odečítací přiřazovací A -= B; operátor *= Přiřazovací operátor A *= B; násobku /= Přiřazovací operátor A /= B; dělení Modulační přiřazovací %= operátor A %= B; >>= <<= &= = Levý přiřazovací A >>= B; operátor pro přesun Pravý přiřazovací A <<= B; operátor pro přesun Přiřazovací operátor AND A &= B; Přiřazovací operátor OR A = B; Znamená: A = A -B; Odečítá B od A a přiřadí výsledek k A. Znamená: A = A * B; Násobí A a B a přiřazuje výsledek k A. Znamená: A = A / B; dělí A s B a přiřazuje hodnotu k A. Znamená: A = A % B; získá zůstatek dělení A s B a přiřazuje výsledek k A. Přesunuje bity A vlevo o počet bitů specifikovaných v B. Přesunuje bity A vpravo o počet bitů specifikovaných v B. Nahlíží na binární reprezentaci hodnot A a B provede na nich bitovou operaci AND. Nahlíží na binární reprezentaci hodnot A a B provede na nich bitovou operaci OR.

^ = Přiřazovací operátor X OR A ^ = B; Nahlíží na binární reprezentaci hodnot A a B provede na nich bitovou operaci exclusive OR. 3-Porovnávací operátory : Porovnávací (relační) operátory srovnávají dvě hodnoty (operandy) a výsledek je pouze true nebo false. Je to stejné jako třeba u otázky Je John vyšší než Alfred?? Ano/ne? Výsledek bude false, pouze pokud výraz vyvolá nulu a true u každého jiného čísla než nula; Příklad: V MQL4 se vyskytuje 6 relačních operací. Zde je uveden jejich seznam a použití: == Operátor rovná se A == B; True, pokud se A rovná B, jinak False.!= Operátor nerovná se A!= B; True, pokud se A nerovná B, jinak False. < Operátor menší než A < B; True, pokud je A menší než B, jinak False. > Operátor větší než A > B; True, pokud A je větší než B, jinak False. <= Operátor menší než A <= B; True, pokud A je menší nebo nebo roven rovno B, jinak False. >= Operátor větší než nebo A >= B; True, pokud A je větší nebo rovno roven B, jinak False. 4-Logické operátory: Logické operátory jsou obecně derivovány z algebry Boolean, která je matematickým způsobem manipulace pravdivými hodnotami konceptů abstraktním způsobem bez ohledu na to, co daný koncept v daný moment znamená. Pravdivá hodnota konceptu hodnoty Boolean může mít pouze jednu z možných hodnot: true nebo false. MQL4 pojmenovává logické operátory jako operátory Boolean

MQL4 používá 3 nejdůležitější logické operátory. Zde je uveden jejich seznam a použití: && Operátor AND A && B; Pokud jsou některé z hodnot nula, hodnota výrazu je nula. Jinak je hodnoty výrazu jedna. Pokud je hodnota na levé straně nula, pravá hodnota pak není brána v potaz. Operátor OR A B; Pokud jsou obě hodnoty nula, pak je hodnota výrazu nula, jinak je hodnota výrazu jedna. Pokud je hodnota na levé straně nula, pravá hodnota pak není brána v potaz.! Operátor NOT!A; Pokud je operátor NOT aplikován do hodnoty, která je jiná než nula, zůstane nulovým, pokud je aplikován do nulové hodnoty, výsledek je jedna. 5-Bitové operace: Bitové operace jsou shodné s logickými operacemi, mimo práci s malými měřítky binární reprezentace dat. V MQL 4 jsou k dispozici tyto operace: & Operátor AND A & B; Srovnává dva bity a generuje výsledek 1, pokud oba bity jsou 1; jinak vrací hodnotu 0. Srovnává dva bity a generuje Operátor OR A B; výsledek 1, pokud se bity doplňují; jinak vrací hodnotu 0. ^ ~ >> Operátor EXCLUSIVE OR A ^ B; Operátor COMPLEMENT Operátor SHIFT RIGHT ~A; A >> B; Srovnává dva bity a generuje výsledek 1, pokud jeden nebo oba bity jsou 1; jinak vrací hodnotu 0. Používá se k invertování všech bitů a operandů. Přesouvá bity, vyřazuje nejkrajnější pravý bit a přiřazuje nejkrajnějšímu levému bitu hodnotu 0. Každý posun vpravo efektivně dělí op1 napůl.

<< Operátor SHIFT LEFT A << B; Přesouvá bity doleva, vyřazuje nejkrajnější levý bit a přiřazuje nejkrajnějšímu pravému bitu hodnotu 0. Každý posun vpravo efektivně násobí op1 dvěma. Poznámka: Oba operandy asociované s bitovými operacemi musí být celá čísla. 6-Ostatní operátory: Existují určité operátory, které se používají v MQL4 a nepatří do žádné z předchozích kategorií: 1- operátor indexování pole ( [] ). 2- operátor volání funkce ( () ); 3- operátor oddělovač čárka (,) Více se o operátorech Arrays a Functions dozvíte v další lekci, tak si teď jen zapamatujte, že se jedná o 3 typy jiných operátorů. Prioritní operátory: Pokud přesně neoznačíte příkaz, ve kterém chcete provést operace ve sloučeném výrazu, příkaz je zadán podle přiřazené priority k použití operátoru v rámci výrazu. Operátory s vyšší prioritou jsou vyhodnoceny přednostně. Např. operátor dělení má vyšší prioritu než operátor sčítání. Proto jsou následující výrazy ekvivalentní: Při zápisu sloučených výrazů byste měli být přesní a indikovat závorkami (), které operátory mají být vyhodnoceny jako první. Tím způsobem učiníte svůj kód jednodušším pro čtení i pro ošetřování. Následující tabulka vyobrazuje priority přiřazené k operátorům MQL4. Operátory v této tabulce jsou seřazeny podle priority: Čím výše jsou v tabulce uvedeny, tím vyšší je jejich priorita. Operátory s vyšší prioritou jsou vyhodnocovány před operátory s relativně nižší prioritou. Operátory ve stejné skupině mají shodnou prioritu. Pokud se ve výrazu vyskytnou operátory se stejnou prioritou, Musí být zavedeno pravidlo, který operátor vyhodnotit jako první. Veškeré binární operátory kromě přiřazených operátorů jsou vyhodnocovány zleva. Přiřazené operátory jsou vyhodnocovány zprava doleva. () Volání funkce Zleva [ ] Pole volba elementu Zleva

! Negace Zleva ~ Bitové negace Zleva - Znaménko změny operace Zleva * Násobení Zleva / Dělení Zleva % Zbytek po celočíselném dělení Zleva -+ Sčítání, odečítání Zleva << >> Posun vlevo, posun vpravo Zleva < Menší než Zleva <= Menší než nebo rovno Zleva > větší než Zleva => Větší než nebo rovno Zleva == Rovná se Zleva!= Nerovná se Zleva & Bitové operace AND Zleva ^ Bitové operace exclusive OR Zleva && Logické AND Zleva Logické OR Zleva = Přiřazení Zleva += přiřazení součtu Zleva -= Přiřazení odečtu Zleva *= Přiřazení násobení Zleva /= přiřazení dělení Zleva % = přiřazení modulu Zleva > = přiřazení pravého přesunu Zleva <<= přiřazení levého přesunu Zleva

& = přiřazení bitové operace AND Zleva = přiřazení bitové operace OR Zleva ^ = přiřazení operace exclusive OR Zleva, Čárka Zleva VŠE VÝŠE UVEDENÉ ZLEVA DOPRAVA Doufám, že se vám lekce líbila. Uvítám veškeré dotazy a náměty. S pozdravem Coders G uru 23-10 -20 0 5