- Vytvor premennú
cena = 20. Naprogramuj, aby sa po zľave 5 € uložila do premennejcenanová hodnota. Akú hodnotu bude maťcena? - Napíš vetvenie, ktoré pre premennú
znamkavypíše „výborný", ak jeznamka == 1, a inak vypíše „pokračuj v učení". - Pomocou cyklu vypíš všetky párne čísla od 2 do 10. Koľko čísel sa vypíše a ktoré to sú?
- Premenná
sucet = 0. V cykle pripočítaj čísla 1, 2, 3, 4, 5. Akú hodnotu bude maťsucetna konci? - Nájdi chybu: cyklus
kým pocet < 5má telovypíš pocet, alepocetostáva stále 0. Čo sa stane a ako to opraviť?
Premenné, cykly a vetvenie Nezačaté
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
-
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.
-
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á. -
Priradenie hodnoty — hodnotu do premennej vložíme príkazom priradenia, ktorý sa najčastejšie zapisuje znakom
=, napríkladvek = 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ápispocet = pocet + 1, ktorý zväčší doterajšiu hodnotu o jeden. -
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.
-
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.
-
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 …(anglickyif … 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. -
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íkladcislo > 100je pravdivé len vtedy, keď premennácisloobsahuje hodnotu väčšiu ako 100. -
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 ≥ 6a 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. -
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.
-
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.
-
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čí. -
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ť.
-
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.
-
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é
- Počítadlo bodov v hre. Premenná
skorezačína na 0 a po každom zásahu sa zvýši:skore = skore + 1. - Vstup do kina podľa veku (vetvenie).
ak vek >= 15 potom vypíš "môžeš vstúpiť" inak vypíš "prístup zakázaný". - Výpis čísel 1 až 100 (cyklus). Namiesto sto riadkov stačí
opakuj pre i od 1 do 100: vypíš i. - Bankomat a PIN (vetvenie + cyklus). Program opakuje žiadosť o PIN, kým nie je správny, a podľa toho povolí alebo zamietne prístup.
- Priemer známok (premenné + cyklus). V cykle sčítame všetky známky do premennej
sucet, spočítame ich počet a vydelíme — dostaneme priemer. - Semafor a robot (vetvenie z praxe). Riadiaci program auta:
ak je svetlo červené potom zastav inak choď.
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.
Cvičné príklady. Reálne testové otázky doplníme po overení.
Záverečný hodnotený test témy. Výsledok uvidí aj rodič. Zvládnutie = aspoň 80 %.