Terminológia
Tak, čo je ten operátor? Musíme s výkladom o operátoroch začať výrazmi. Nech a * b je výraz. Pojem operand predstavujú vo výraze a * b písmena a a b. Násobenie vo výraze predstavuje operátor. Znak * ako znak násobenia patrí medzi aritmetické operátory, s ktorými ste už mali česť.
Operátory delíme podľa počtu operandov na unárne, binárne a ternálne. Ďalej binárne operátory delíme na aritmetické, relačné, logické a bitové operátory.
Unárne operátory
Unárny operátor je v zápise len s jedným osamoteným operandom. Medzi unárne operátory patria tieto operátory:
++ a -- |
inkrementácia a dekrementácia hodnoty |
+ a - |
aritmetické plus a mínus |
& |
referencia |
* |
pointer |
! |
logická negácia |
~ |
bitová negácia |
sizeof |
na určovanie dĺžky objektu alebo typu premennej |
1. príklad: Ukážka jedného z unárnych operátorov
#include <iostream> // hlavičkový súbor using namespace std; // priestor mien int main() // hlavná funkcia main { int cislo; // deklarácia čísla cout << "Zadaj parne cislo!\n"; // výstup na obrazovke cin >> cislo; // vstup bool jeParne; if (cislo % 2 != 0) // podmienky jeParne = false; if (cislo % 2 == 0) jeParne = true; if (jeParne) cout << "Spravne, je to parne cislo.\n"; if (!jeParne) // unárna logická negácia cout << "Zle, velmi zle. Odporucam zacat sa ucit matematiku.\n"; return 0; }
Výsledná činnosť programu:
Zadaj parne cislo! 11 Zle, velmi zle. Odporucam zacat sa ucit matematiku.
Rozbor programu: Program je veľmi jednoduchý. Ide len o vstup od užívateľa a rozhodnutie, či číslo je párne alebo nie. Čo som chcel s programom dosiahnuť, je ukázanie logickej negácie pomocou znaku !.
Binárne operátory
Binárne operátory pre svoju „existenciu“ potrebujú dve operandy. Do binárnych operátorov patrí klasické sčítanie, odčítanie, násobenie a delenie. Tieto operátory už boli názorné vysvetlené čiže sa o nich nebudeme zaujímať. Ďalšie typy binárnych operátorov sú logické, binárne a relačné operátory.
Medzi relačné operátory patria:
< |
menší ako |
> |
väčší ako |
<= |
menši alebo rovný |
>= |
väčší alebo rovný |
== |
rovnosť |
!= |
nerovnosť |
Príklad na relačné operátory neuvediem, pretože takmer v každom programe sa vyskytujú. Pevne verím, že relačné operátory do doterajšieho stavu seriálu zvládol každý.
Logické operátory
Spomenieme si dve zaužívané logické operátory, ktoré by ste mali ovládať.
&& |
logický súčin AND |
|| |
logický súčet OR |
S logickým súčtom a logickým súčinom môžeme tvoriť komplikovanejšie výrazy. Sú vhodné na nasadenie práve vtedy, ak potrebujeme viacero podmienok vyhodnotiť naraz.
Logický súčin je pravdivý, ak všetky jeho súčastí sú pravdivé. Logický súčet je pravdivý, ak je aspoň jeden z výrokov pravdivý.
Rýchla ukážka:
if (i < 5 || i > 10) // ak jedna z podmienok platí, tak sa blok podmienky vykoná
if (i > 5 && i < 10) // musia platiť všetky podmienky, inak sa blok podmienky nevykoná
Na záver osviežujúci jednoduchý program na logické operátory.
2. program:
#include <iostream> using namespace std; int main() { int cislo; cout << "Zadaj cele cislo v intervale 0-100\n"; cin >> cislo; if (cislo < 0 || cislo > 100) // logický súčin { cout << "Ehm, nevies ratat do 100?"; return 0; } if(cislo % 2 == 0) cout << "Tvoje cislo je parne"; else cout << "Tvoje cislo nie je parne"; return 0; }
Výsledok programu:
Zadaj cele cislo v intervale 0-100 46 Tvoje cislo je parne
Rozbor programu: Najväčšie posolstvo programu je ošetrenie vstupu od užívateľa. Použili sme na ošetrenie vstupu logický súčet. Ak je jedná z podmienok pravdivá, uskutoční sa blok podmienky a program skončí.