Základy programovania: Rozdiel medzi revíziami
Prejsť na navigáciu
Prejsť na vyhľadávanie
Bez shrnutí editace |
Bez shrnutí editace |
||
| (Jedna medziľahlá úprava od rovnakého používateľa nie je zobrazená.) | |||
| Riadok 1: | Riadok 1: | ||
=== Operátory === | === Operátory === | ||
| Riadok 43: | Riadok 20: | ||
|} | |} | ||
=== | ==== Logické operátory ==== | ||
Používame ich na kombináciu viacerých podmienok: | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! Operátor !! Význam !! Príklad | ||
|- | |- | ||
| <code> | | <code>&&</code> || A zároveň (obe podmienky musia platiť) || <code>if (x > 10 && x < 30)</code> | ||
|- | |- | ||
| <code> | | <code><nowiki>||</nowiki></code> || Alebo (aspoň jedna podmienka musí platiť) || <code>if (x < 0 <nowiki>||</nowiki> x > 100)</code> | ||
|} | |} | ||
<syntaxhighlight lang="C"> | |||
float vzdialenost = getDistance(); | |||
bool aktívny = true; | |||
// Obe podmienky musia platiť | |||
// | if (aktívny && vzdialenost < 10) { | ||
// blízko A zapnuté | |||
// | |||
} | } | ||
// | // Stačí jedna podmienka | ||
if (vzdialenost < 0 || vzdialenost > 200) { | |||
// neplatná hodnota | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Skrátený zápis ==== | |||
Namiesto <code>x = x + 5</code> môžeme písať kratšie: | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! Operátor !! Rovnaké ako !! Príklad | ||
|- | |- | ||
| | | <code>x += 5</code> || <code>x = x + 5</code> || <code>result += (1 << i);</code> | ||
|- | |- | ||
| <code>x -= 5</code> || <code>x = x - 5</code> || <code>score -= penalty;</code> | |||
|- | |- | ||
| | | <code>x *= 2</code> || <code>x = x * 2</code> || <code>speed *= 2;</code> | ||
|- | |- | ||
| | | <code>x /= 2</code> || <code>x = x / 2</code> || <code>halfPeriod /= 2;</code> | ||
|} | |} | ||
==== Ternárny operátor ==== | |||
Skrátený zápis podmienky – hodí sa keď chceme podľa podmienky priradiť hodnotu: | |||
{| class="wikitable" | |||
|- | |||
</ | ! Zápis !! Vysvetlenie | ||
|- | |||
| <code>podmienka ? hodnota_ak_true : hodnota_ak_false</code> || Ak je podmienka splnená vráti prvú hodnotu, inak druhú | |||
|} | |||
<syntaxhighlight lang="C"> | <syntaxhighlight lang="C"> | ||
// | // Dlhý zápis | ||
String vysledok; | |||
if (val > THRESHOLD) { | |||
vysledok = "1"; | |||
} else { | |||
vysledok = "0"; | |||
} | } | ||
// | // Skrátený zápis – rovnaký výsledok | ||
String vysledok = val > THRESHOLD ? "1" : "0"; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | ==== Bitové operátory ==== | ||
Pracujú priamo s jednotlivými bitmi čísla. Každé celé číslo je v pamäti uložené ako séria núl a jednotiek – napríklad číslo 6 je v binárnom zápise <code>0110</code>. | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! Operátor !! Význam !! Príklad | ||
|- | |- | ||
| <code> | | <code>1 << n</code> || Posuň bit o n miest doľava (= 2ⁿ) || <code>1 << 3</code> = 8 | ||
|- | |- | ||
| <code> | | <code>&</code> || Bitový AND – bit je 1 iba ak sú oba bity 1 || <code>5 & 3</code> = 1 | ||
|- | |- | ||
| <code> | | <code><nowiki>|</nowiki></code> || Bitový OR – bit je 1 ak aspoň jeden bit je 1 || <code>5 <nowiki>|</nowiki> 3</code> = 7 | ||
|} | |} | ||
==== Logická tabuľka AND ==== | |||
{| class="wikitable" | |||
|- | |||
! A !! B !! A & B | |||
|- | |||
} | | 0 || 0 || 0 | ||
|- | |||
| 0 || 1 || 0 | |||
|- | |||
| 1 || 0 || 0 | |||
|- | |||
| 1 || 1 || 1 | |||
|} | |||
=== | ==== Logická tabuľka OR ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! A !! B !! A <nowiki>|</nowiki> B | ||
|- | |||
| 0 || 0 || 0 | |||
|- | |- | ||
| | | 0 || 1 || 1 | ||
|- | |- | ||
| | | 1 || 0 || 1 | ||
|- | |||
| 1 || 1 || 1 | |||
|} | |} | ||
<syntaxhighlight lang="C"> | <syntaxhighlight lang="C"> | ||
// | // Bitový posun – mocniny dvojky | ||
// 1 << 0 = 1 (0b0001) | |||
// 1 << 1 = 2 (0b0010) | |||
// 1 << 2 = 4 (0b0100) | |||
// 1 << 3 = 8 (0b1000) | |||
// Príklad AND – skontroluj či je číslo párne (posledný bit = 0) | |||
int x = 6; // 0b0110 | |||
int y = 1; // 0b0001 | |||
int result = x & y; // 0b0110 & 0b0001 = 0b0000 = 0 → párne číslo | |||
// Príklad OR – nastav konkrétny bit | |||
int a = 4; // 0b0100 | |||
int b = 2; // 0b0010 | |||
int c = a | b; // 0b0100 | 0b0010 = 0b0110 = 6 | |||
// | // Príklad posunu – vypočítaj mocninu dvojky | ||
int n = 3; | |||
int mocnina = 1 << n; // 1 << 3 = 8 = 2³ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Aktuálna revízia z 18:12, 3. máj 2026
Operátory
| Operátor | Význam | Príklad |
|---|---|---|
+ - * / |
Základná aritmetika | int x = 10 + 5;
|
== |
Rovná sa (porovnanie) | if (x == 15)
|
!= |
Nerovná sa | if (x != 0)
|
> < |
Väčší / menší ako | if (x > 10)
|
++ |
Zvýš o 1 | i++ → rovnaké ako i = i + 1
|
-- |
Zníž o 1 | i-- → rovnaké ako i = i - 1
|
! |
Negácia (otočí bool) | !true = false
|
Logické operátory
Používame ich na kombináciu viacerých podmienok:
| Operátor | Význam | Príklad |
|---|---|---|
&& |
A zároveň (obe podmienky musia platiť) | if (x > 10 && x < 30)
|
|| |
Alebo (aspoň jedna podmienka musí platiť) | if (x < 0 || x > 100)
|
float vzdialenost = getDistance();
bool aktívny = true;
// Obe podmienky musia platiť
if (aktívny && vzdialenost < 10) {
// blízko A zapnuté
}
// Stačí jedna podmienka
if (vzdialenost < 0 || vzdialenost > 200) {
// neplatná hodnota
}
Skrátený zápis
Namiesto x = x + 5 môžeme písať kratšie:
| Operátor | Rovnaké ako | Príklad |
|---|---|---|
x += 5 |
x = x + 5 |
result += (1 << i);
|
x -= 5 |
x = x - 5 |
score -= penalty;
|
x *= 2 |
x = x * 2 |
speed *= 2;
|
x /= 2 |
x = x / 2 |
halfPeriod /= 2;
|
Ternárny operátor
Skrátený zápis podmienky – hodí sa keď chceme podľa podmienky priradiť hodnotu:
| Zápis | Vysvetlenie |
|---|---|
podmienka ? hodnota_ak_true : hodnota_ak_false |
Ak je podmienka splnená vráti prvú hodnotu, inak druhú |
// Dlhý zápis
String vysledok;
if (val > THRESHOLD) {
vysledok = "1";
} else {
vysledok = "0";
}
// Skrátený zápis – rovnaký výsledok
String vysledok = val > THRESHOLD ? "1" : "0";
Bitové operátory
Pracujú priamo s jednotlivými bitmi čísla. Každé celé číslo je v pamäti uložené ako séria núl a jednotiek – napríklad číslo 6 je v binárnom zápise 0110.
| Operátor | Význam | Príklad |
|---|---|---|
1 << n |
Posuň bit o n miest doľava (= 2ⁿ) | 1 << 3 = 8
|
& |
Bitový AND – bit je 1 iba ak sú oba bity 1 | 5 & 3 = 1
|
| |
Bitový OR – bit je 1 ak aspoň jeden bit je 1 | 5 | 3 = 7
|
Logická tabuľka AND
| A | B | A & B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Logická tabuľka OR
| A | B | A | B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
// Bitový posun – mocniny dvojky
// 1 << 0 = 1 (0b0001)
// 1 << 1 = 2 (0b0010)
// 1 << 2 = 4 (0b0100)
// 1 << 3 = 8 (0b1000)
// Príklad AND – skontroluj či je číslo párne (posledný bit = 0)
int x = 6; // 0b0110
int y = 1; // 0b0001
int result = x & y; // 0b0110 & 0b0001 = 0b0000 = 0 → párne číslo
// Príklad OR – nastav konkrétny bit
int a = 4; // 0b0100
int b = 2; // 0b0010
int c = a | b; // 0b0100 | 0b0010 = 0b0110 = 6
// Príklad posunu – vypočítaj mocninu dvojky
int n = 3;
int mocnina = 1 << n; // 1 << 3 = 8 = 2³