Programovací jazyky pro mikrokontroléry, operátory a funkce Flashcards

1
Q

Aritmetické operátory

A

Nyní již víme, jak se data ukládají do proměnných a jak se taková proměnná vytvoří. V této sekci budeme s proměnnými dále pracovat. Mějme proměnné cislo_a, cislo_b, cislo_c , které jsou typu signed int (tedy znaménkové celé číslo):
signed int cislo_a = 1;
signed int cislo_b =2;
signed int cislo_c;

Nyní chceme první dvě proměnné sečíst a jejich výsledek uložit do třetí. :
cislo_c; = cislo_a + cislo_b;
éto konstrukci se v jazyce C říká výraz Každý výraz má levou stranu, znak rovná se, pravou stranu a na konci řádku středník. Pravá strana pak může obsahovat libovolně složitý výpočet využívající operátory jazyka.

Odčítání, násobení i dělení je obdobné a stejně jednoduché:

Výsledek po dělení je desetinné číslo −1/2 = 0,5. Do proměnné cislo_c se však uloží nula
Možným řešením je použít pro všechny tři proměnné typ float. To je sice možné, ale tím pádem se nám mnohonásobně zpomalí výpočet všech ostatních operací – sčítání, odčítání i násobení.

Oprava float cislo_d = (float)cislo_a / cislo b;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Aritmetické (matematické) operátory

A
\+ → sčítání
- → odčítání
→ násobení
/ → dělení
= → přiřazení
% → zbytek po dělení
= jsme již používali, ale neřekli jsme si, že se jedná o operátor přiřazení. Tento operátor nedělá nic jiného, než že přiřadí hodnotu do proměnné:
Můžeme říct, že operátor přiřazení vezme výraz na své pravé straně, vyhodnotí jej (spočítá) a výsledek přiřadí (uloží) do proměnné na levé straně.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Operátory porovnání

A
Výsledek výrazu, který obsahuje některý z těchto operátorů je vždy typu boolean, takže nabývá pouze hodnot true, pravda nebo false, nepravda. Na levé i pravé straně těchto operátorů mohou být konstanty, proměnné nebo další výrazy:
== → rovná se
!= → nerovná se
> → větší než
< → menší než
>= → větší nebo rovno
<= → menší nebo rovno
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Logické operátory

A

logické operátory slouží pro práci s proměnnými typu boolean.
&& → logický součin (AND)
|| → logický součet (OR)
! → logická negace (NOT)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Bitové operátory

A
bitové operátory, jak již název napovídá, pracují s jednotlivými bity v proměnné. Mohou fungovat s libovolným celočíselným typem. Bitové operátory prochází celé číslo bit po bitu a provádí požadovanou operaci podle pravdivostních tabulek.
& → bitový součin (AND)
| → bitový součet (OR)
~ → bitová negace (NOT)
^ → exkluzivní disjunkce (XOR)
<< → bitový posun vlevo
>> → bitový posun vpravo
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Složené operátory

A
\++ → inkrementace
-- → dekrementace
\+= → sčítání -= → odčítání
*= → násobení
/= → dělení
&= → bitový součin
|= → bitový součet
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Další funkce

A

min()
Funkce min slouží k výběru menšího z čísel. Vstupními parametry jsou dvě čísla a výstupem hodnota menšího z nich.
Používá se například při hledání nejmenšího čísla v poli, nebo k omezení hodnot ze senzoru (aby nedošlo k překročení určité meze).
max()
Syntaxe této funkce je shodná s min(). Jejími parametry jsou také dvě čísla a vrácenou hodnotou je větší z nich. Může být použita například při hledání největšího čísla v poli.
abs()
Tato funkce vrátí absolutní hodnotu čísla. Vstupem je tedy číslo a výstupem jeho absolutní hodnota.
Poznámka: Absolutní hodnota čísla x je nezáporné reálné číslo. Pokud je x >= 0, abs(x) = x. Pokud je x < 0, potom abs(x) = -x. Laicky řečeno je absolutní hodnota vzdálenost čísla od nuly na číselné ose.
constrain()
Tuto funkci si můžeme představit jako kombinaci min() a max() s vhodnými parametry.
Slouží totiž k omezení rozsahu proměnné jak shora, tak zdola.
Má tři parametry: upravovanou hodnotu, dolní mez a horní mez.
Pokud vstupní číslo klesne pod spodní hranici, výstupem je hodnota spodní hranice. Překročí-li horní hranici, výslednou hodnotou je hodnota horní hranice. Pokud je hodnota v mezích, výstupem funkce bude stejná hodnota, jako na vstupním parametru.
map()
Stejně jako funkce constrain(), slouží i funkce map() k úpravě rozsahu proměnné.
Na rozdíl od předchozí funkce však nedochází k oříznutí hodnot, ale k rovnoměrnému “roztažení”, nebo “zmáčknutí” celé stupnice.
Dá se použít například k úpravě hodnoty získané při čtení analogového vstupu (0 1023) a jejich použití ve funkci analogWrite, která pracuje s hodnotami od 0 do 255.
pow()
Funkce pro mocnění čísla na jiné číslo. Vstupními parametry jsou číslo a mocnina.
sqrt()
Funkce sqrt() vrátí druhou odmocninu vstupního čísla.
Goniometrické funkce
Než si představíme jednotlivé funkce, povězme si něco o jednotkách úhlů. My jsme totiž většinou zvyklí měřit úhel ve stupních. Plný úhel je zde 360°. Matematicky přesnější je ale použití radiánů.
Tyto jednotky vycházejí z jednotkové kružnice. Plný úhel (360°) je roven 2*PI radiánů, 180° = PI radiánů atd. Platí mezi nimi převodní vztah: radiány = (stupně * PI)/180.
Goniometrické funkce nacházejí uplatnění při výpočtu stran a úhlů v trojúhelnících a dalších rovinných i prostorových útvarech. Všechny goniometrické funkce jsou periodické - po určitém intervalu se jejich hodnoty opakují.
sin()
Funkční hodnota funkce sinus je dána jako poměr strany protilehlé ku přeponě v pravoúhlém trojúhelníku.
Amplituda funkce je 1 a perioda 360°, čili 2PI radiánů.
Grafem funkce je tzv. sinusoida.
Parametrem funkce je úhel v radiánech a výstupní hodnotou je hodnota sinu pro daný úhel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Generování náhodných čísel

A

random() a randomSeed()
Tato funkce slouží ke generování pseudo-náhodných čísel. Může mít jeden, nebo dva parametry.

Pomocí funkce random() si vytvoříme jednoduchou hrací kostku. Výsledek budeme zobrazovat pomocí LED diod uspořádaných stejně, jako černé body na hrací kostce. Využijeme také tlačítko. Vždy po jeho zmáčknutí se vygeneruje nové číslo.

Pomocí funkce random() si vytvoříme jednoduchou hrací kostku. Výsledek budeme zobrazovat pomocí LED diod uspořádaných stejně, jako černé body na hrací kostce. Využijeme také tlačítko. Vždy po jeho zmáčknutí se vygeneruje nové číslo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vlastní funkce

A

funkce je jakýsi soubor instrukcí “zabalený” v jednom příkazu.
Může mít vstupní parametry, se kterými dále pracuje.
Obsahuje blok příkazů, které se při volání (spuštění) funkce provedou a také může vracet hodnotu.
Zajímavé je, že každá funkce má určitý datový typ. Ten se liší podle typu dat, které vrací.
Pokud funkce žádnou hodnotu nevrací, používá se speciální datový typ void.
Důležité je nezapomenout na to, že proměnné definované v těle funkce není možné používat mimo tuto funkci.
Ve funkci však lze používat proměnné definované na začátku programu.
Funkce musí být definována mimo tělo jiných funkcí, nezáleží však, jestli je definovaná před, mezi nebo za funkcemi setup() a loop().

How well did you know this?
1
Not at all
2
3
4
5
Perfectly