8. ročník › Informatika › Informatika

Premenné, cykly a vetvenie Nezačaté

0 Vstupný test1 Poučka 2 Vysvetlenie3 Príklady 4 Kvíz5 Test 6–8 Vyhodnotenie9 Výstupný test
Krok 0 — Vstupný test

Skús najprv, čo už vieš. Výsledok = tvoja vstupná úroveň (porovnáš ho s tým, čo budeš vedieť po naučení).

0. Kľúčové fakty

  1. Premenná — premenná je pomenované miesto v pamäti počítača, do ktorého si program ukladá hodnotu (číslo, text, pravdivostnú hodnotu). Predstav si ju ako pomenovanú škatuľku, ktorej obsah sa môže počas behu programu meniť. Vďaka premenným si program „pamätá" údaje a pracuje s nimi, namiesto toho aby používal stále tie isté pevné čísla.

  2. Názov premennej (identifikátor) — každá premenná má svoj názov, podľa ktorého ju v programe oslovujeme, napríklad vek, pocet, meno. Dobrý názov vystihuje, čo premenná obsahuje, aby bol program čitateľný. Vo väčšine jazykov názov nesmie obsahovať medzery ani sa začínať číslicou a rozlišujú sa malé a veľké písmená.

  3. Priradenie hodnoty — hodnotu do premennej vložíme príkazom priradenia, ktorý sa najčastejšie zapisuje znakom =, napríklad vek = 14. Pozor — v programovaní = neznamená „rovná sa" ako v matematike, ale „ulož vpravo stojacu hodnotu do premennej vľavo". Preto je úplne korektný aj zápis pocet = pocet + 1, ktorý zväčší doterajšiu hodnotu o jeden.

  4. Dátové typy — premenné uchovávajú rôzne druhy údajov: celé číslo (integer), desatinné číslo (float), text/reťazec (string) a pravdivostnú hodnotu (boolean s hodnotami pravda/nepravda). Typ určuje, aké operácie sú s hodnotou možné — čísla môžeme sčítať, reťazce spájať. Pri zlom type vznikajú chyby, napríklad keď sa pokúsime sčítať text a číslo.

  5. Vstup a výstup — program často získava údaje od používateľa (vstup, napríklad načítanie čísla z klávesnice) a výsledky vypisuje na obrazovku (výstup). Načítané hodnoty si ukladáme práve do premenných, aby sme s nimi vedeli ďalej počítať. Vstup robí program univerzálnym — pre rôzne vstupy dáva rôzne výsledky.

  6. Vetvenie (podmienka) — vetvenie umožňuje, aby sa program rozhodol a vykonal rôzne príkazy podľa toho, či je nejaká podmienka splnená. Zapisuje sa príkazom ak … tak … inak … (anglicky if … else …), napríklad „ak je vek ≥ 18, vypíš dospelý, inak vypíš neplnoletý". Bez vetvenia by program vždy robil presne to isté a nedokázal by reagovať na rôzne situácie.

  7. Podmienka a porovnávacie operátory — podmienka je výraz, ktorý je buď pravdivý, alebo nepravdivý, a tvoríme ju pomocou operátorov porovnania: = alebo == (rovná sa), ≠ (nerovná sa), <, >, ≤, ≥. Výsledkom porovnania je vždy pravdivostná hodnota (pravda/nepravda), podľa ktorej sa vetvenie rozhodne. Napríklad cislo > 100 je pravdivé len vtedy, keď premenná cislo obsahuje hodnotu väčšiu ako 100.

  8. Logické operátory (a, alebo, nie) — viaceré podmienky vieme spojiť logickými operátormi „a zároveň" (AND), „alebo" (OR) a „nie" (NOT), čím vytvoríme zložitejšie rozhodovanie. Napríklad „ak vek ≥ 6 a zároveň vek ≤ 15, žiak je v školskom veku". Tieto operátory zodpovedajú logike z bežného života a umožňujú presnejšie podmienky.

  9. Cyklus — cyklus umožňuje opakovať tú istú skupinu príkazov viackrát, takže nemusíme rovnaký kód písať dookola. Práve opakovanie je jedna z najsilnejších vlastností počítača — dokáže urobiť tisíce opakovaní rýchlo a bez chyby. Cyklus vždy potrebuje pravidlo, ktoré určuje, kedy sa opakovanie skončí, inak by bežal donekonečna.

  10. Cyklus s počtom opakovaní (for) — tento cyklus zopakuje príkazy vopred určený počet ráz, napríklad „opakuj 10-krát" alebo „pre i od 1 do 5". Často využíva riadiacu premennú (počítadlo), ktorá sa pri každom prechode automaticky zväčší o jeden. Hodí sa vtedy, keď dopredu vieme, koľko opakovaní potrebujeme.

  11. Cyklus s podmienkou (while) — cyklus while (kým) opakuje príkazy dovtedy, kým platí zadaná podmienka, a používa sa, keď dopredu nevieme počet opakovaní. Napríklad „kým používateľ nezadá správne heslo, pýtaj sa znova". Podmienka sa testuje pred každým opakovaním, a ak prestane platiť, cyklus sa ukončí.

  12. Nekonečný cyklus a chyba — ak sa podmienka cyklu nikdy nezmení na nepravdivú, vznikne nekonečný cyklus, ktorý sa nikdy nezastaví a program „zamrzne". Je to častá chyba začiatočníkov, napríklad keď v cykle zabudneme zväčšovať počítadlo. Preto musí mať každý cyklus jasne zabezpečené, že sa jeho podmienka raz prestane plniť.

  13. Testovanie a ladenie (debugovanie) — po napísaní programu treba overiť, či dáva správne výsledky, a to vyskúšaním rôznych vstupov vrátane hraničných (napr. nula, záporné číslo, veľmi veľká hodnota). Hľadanie a opravovanie chýb sa nazýva ladenie alebo debugovanie. Práve testovanie odhalí, či sú podmienky a cykly napísané správne, lebo program môže bežať a pritom dávať nesprávny výsledok.

  14. Algoritmus a postupnosť krokov — program je zápis algoritmu, teda presného postupu krokov vedúcich k vyriešeniu úlohy. Premenné, vetvenie a cykly sú základné stavebné prvky, z ktorých sa skladá takmer každý algoritmus. Ich spojením vieme riešiť úlohy od jednoduchých výpočtov až po hry a spracovanie údajov.

1. Poučka

Premenná je pomenované miesto v pamäti, do ktorého si program ukladá hodnotu (číslo, text, pravda/nepravda) a vie ju neskôr prečítať alebo zmeniť. Vetvenie (podmienka) dovolí programu rozhodnúť sa — vykoná jednu alebo druhú časť kódu podľa toho, či je podmienka pravdivá. Cyklus umožní zopakovať tú istú časť kódu viackrát bez toho, aby sme ju museli písať znova.

2. Vysvetlenie

Predstav si premennú ako škatuľku s menom. Na škatuľku napíšeš názov (napr. vek) a dnu vložíš hodnotu (napr. 14). Keď ju potrebuješ, zavoláš ju menom; keď chceš inú hodnotu, starú prepíšeš.

Pri vetvení sa program pýta otázku, ktorá má odpoveď áno/nie: 1. Vyhodnotí podmienku (napr. vek >= 15). 2. Ak platí (pravda) → vykoná vetvu po ak. 3. Ak neplatí (nepravda) → vykoná vetvu po inak.

Pri cykle program opakuje príkazy, kým platí podmienka: 1. Cyklus opakuj 10× zopakuje telo presne 10-krát. 2. Cyklus kým opakuje, pokiaľ je podmienka pravdivá — preto v tele musíme niečo meniť, inak vznikne nekonečný cyklus.

Nakoniec program vždy otestujeme — vyskúšame rôzne vstupy a overíme, či dáva správne výsledky.

3. Príklady a prečo je to dôležité

Príklad 1 — priradenie a zmena premennej: Akú hodnotu má premenná body po príkazoch body = 12, body = body - 4, body = body * 2?
Po prvom príkaze je v premennej 12.
Druhý príkaz: vpravo 12 − 4 = 8, uloží sa do body.
Tretí príkaz: vpravo 8 · 2 = 16, uloží sa do body.
Konečná hodnota → 16

Príklad 2 — vetvenie: Program: ak teplota < 0 tak vypíš "mráz" inak vypíš "bez mrazu". Čo vypíše pre teplotu −3 a pre teplotu 5?
Teplota −3: podmienka −3 < 0 je pravdivá, vykoná sa vetva po „tak“.
Teplota 5: podmienka 5 < 0 je nepravdivá, vykoná sa vetva po „inak“.
Výsledok → pre −3 „mráz“, pre 5 „bez mrazu“

Príklad 3 — krokovanie cyklu for: Čo vypíše pre i od 1 do 4: vypíš i · 3?
Riadiaca premenná i sa pri každom prechode zväčší o 1.
i = 1: vypíše 3
i = 2: vypíše 6
i = 3: vypíše 9
i = 4: vypíše 12
Cyklus prebehne 4-krát → 3, 6, 9, 12

Príklad 4 — súčet v cykle: sucet = 0 a potom pre i od 2 do 8 s krokom 2: sucet = sucet + i. Akú hodnotu má sucet na konci?
Premenná i nadobudne 2, 4, 6, 8.
i = 2: sucet = 0 + 2 = 2
i = 4: sucet = 2 + 4 = 6
i = 6: sucet = 6 + 6 = 12
i = 8: sucet = 12 + 8 = 20
Konečná hodnota → 20

Príklad 5 — cyklus while a jeho koniec: pocet = 10 a kým pocet > 0: s telom vypíš pocet a pocet = pocet - 3. Čo sa vypíše?
pocet = 10: 10 > 0 platí, vypíše 10, pocet bude 7.
pocet = 7: platí, vypíše 7, pocet bude 4.
pocet = 4: platí, vypíše 4, pocet bude 1.
pocet = 1: platí, vypíše 1, pocet bude −2.
pocet = −2: −2 > 0 neplatí, cyklus končí. Bez riadku pocet = pocet - 3 by vznikol nekonečný cyklus.
Vypíšu sa 4 čísla → 10, 7, 4, 1

Príklad 6 — z praxe, PIN v bankomate: Program sa pýta na PIN, kým nie je správny, najviac 3-krát: pokusy = 0, kým PIN nie je správny a pokusy < 3: načítaj PIN; pokusy = pokusy + 1, potom ak PIN je správny tak povoľ prístup inak zablokuj kartu. Používateľ zadá zlý, zlý a potom správny PIN.
Pokus 1: PIN zlý, pokusy = 1, podmienka cyklu stále platí.
Pokus 2: PIN zlý, pokusy = 2, podmienka platí.
Pokus 3: PIN správny, pokusy = 3, cyklus končí.
Vetvenie po cykle: PIN je správny → prístup povolený na tretí pokus

Prečo je to dôležité: premenné, podmienky a cykly sú základné stavebné kamene každého programu — od hier cez aplikácie v telefóne až po riadenie strojov. Bez nich by program nevedel nič zapamätať, rozhodnúť sa, ani efektívne opakovať. Naučiť sa ich znamená vedieť rozložiť úlohu na kroky — to je algoritmické myslenie, ktoré sa hodí aj mimo informatiky.

Precvič si

  1. Akú hodnotu má a po príkazoch a = 7 a a = a + 5?
  2. Je podmienka x >= 10 pravdivá pre x = 10?
  3. Koľkokrát prebehne cyklus pre i od 3 do 7?
  4. Čo vypíše pre i od 1 do 5: ak i je párne tak vypíš i?
  5. s = 0 a pre i od 1 do 4: s = s + i · i. Akú hodnotu má s na konci?
  6. n = 1 a kým n < 50: n = n · 3. Akú hodnotu má n po skončení cyklu?
Ukáž riešenia
  1. Vpravo 7 + 5 = 12, uloží sa do a → 12
  2. 10 ≥ 10 platí, lebo „väčšie alebo rovné“ zahŕňa aj rovnosť → pravdivá
  3. i nadobudne 3, 4, 5, 6, 7 → 5-krát
  4. Párne sú z čísel 1 až 5 len 2 a 4 → 2, 4
  5. 1 + 4 + 9 + 16 = 30 → 30
  6. n = 1, 3, 9, 27, 81; pri 81 už podmienka n < 50 neplatí → 81
Krok 4 — Kvíz (over si pochopenie)
Krok 5 — Test (precvič sa)
  1. Vytvor premennú cena = 20. Naprogramuj, aby sa po zľave 5 € uložila do premennej cena nová hodnota. Akú hodnotu bude mať cena?
  2. Napíš vetvenie, ktoré pre premennú znamka vypíše „výborný", ak je znamka == 1, a inak vypíše „pokračuj v učení".
  3. Pomocou cyklu vypíš všetky párne čísla od 2 do 10. Koľko čísel sa vypíše a ktoré to sú?
  4. Premenná sucet = 0. V cykle pripočítaj čísla 1, 2, 3, 4, 5. Akú hodnotu bude mať sucet na konci?
  5. Nájdi chybu: cyklus kým pocet < 5 má telo vypíš pocet, ale pocet ostáva stále 0. Čo sa stane a ako to opraviť?
Ukáž riešenia
  1. Program: cena = 20 a cena = cena - 5; vpravo sa vypočíta 20 − 5 = 15 a uloží sa späť do premennej → 15
  2. Program: ak znamka == 1 tak vypíš "výborný" inak vypíš "pokračuj v učení"; pre známku 1 sa vykoná prvá vetva, pre každú inú druhá → vetvenie ak – inak s podmienkou na známku 1
  3. Program: pre i od 2 do 10 s krokom 2: vypíš i; i nadobudne 2, 4, 6, 8, 10 → 5 čísel: 2, 4, 6, 8, 10
  4. Krokovanie: 0 + 1 = 1, 1 + 2 = 3, 3 + 3 = 6, 6 + 4 = 10, 10 + 5 = 15 → 15
  5. Podmienka 0 < 5 platí stále, cyklus vypisuje 0 donekonečna a program zamrzne; do tela treba doplniť pocet = pocet + 1, potom vypíše 0, 1, 2, 3, 4 a skončí → nekonečný cyklus, oprava: v tele zvyšovať pocet o 1

Cvičné príklady. Reálne testové otázky doplníme po overení.

Krok 9 — Výstupný test (zvládol / nezvládol)

Záverečný hodnotený test témy. Výsledok uvidí aj rodič. Zvládnutie = aspoň 80 %.

← Späť na katalóg