8. ročník › Informatika › Informatika

Algoritmy a programovanie 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. Algoritmus — Algoritmus je presný a konečný postup, ktorý krok po kroku rieši nejakú úlohu alebo problém. Stretávame sa s ním aj v bežnom živote (recept na koláč, návod na zloženie nábytku, cesta do školy), no v informatike ho zapisujeme tak, aby ho dokázal vykonať počítač. Práve preto musí byť úplne jednoznačný — počítač si nič nedomyslí, urobí presne to, čo mu prikážeme.

  2. Vlastnosti algoritmu — Správny algoritmus musí spĺňať niekoľko podmienok: konečnosť (po určitom počte krokov sa skončí), jednoznačnosť (každý krok je presne určený, nedá sa pochopiť dvojako), determinovanosť (z rovnakého vstupu vždy dostaneme rovnaký výsledok), hromadnosť (rieši nielen jeden, ale celú skupinu podobných problémov) a rezultatívnosť (dáva výsledok). Tieto vlastnosti odlišujú dobrý algoritmus od obyčajného neurčitého návodu.

  3. Sekvencia (postupnosť) — Sekvencia je najjednoduchšia algoritmická štruktúra, pri ktorej sa príkazy vykonávajú jeden za druhým v presnom poradí. Poradie krokov je dôležité — ak vymeníme dva príkazy, výsledok môže byť úplne iný (napríklad najprv si obujeme topánky a potom ponožky). Z tejto základnej štruktúry, doplnenej o vetvenie a cykly, vieme poskladať každý algoritmus.

  4. Premenná — Premenná je pomenované miesto v pamäti počítača, do ktorého si ukladáme údaj a počas behu programu ho môžeme meniť. Predstavíme si ju ako pomenovanú škatuľku (napr. vek, sucet, meno), do ktorej vložíme hodnotu a kedykoľvek ju prepíšeme novou. Vďaka premenným si program „pamätá" čísla a texty a vie s nimi ďalej počítať.

  5. Dátové typy — Každá premenná obsahuje údaj určitého typu: celé číslo (int, napr. 7), desatinné číslo (float, napr. 3,5), reťazec/text (string, napr. "ahoj") a logická hodnota (bool — pravda/nepravda). Typ určuje, čo sa s údajom dá robiť — čísla môžeme sčítať, texty spájať. Práca s nesprávnym typom (napr. snaha sčítať text a číslo) býva častou príčinou chýb v programe.

  6. Vetvenie (rozhodovanie) — Vetvenie umožňuje, aby program podľa splnenia nejakej podmienky vykonal rôzne príkazy — zapisuje sa ako ak (if) … inak (else). Napríklad: ak je vek ≥ 18, vypíš „dospelý", inak vypíš „neplnoletý". Podmienka sa vyhodnotí ako pravda alebo nepravda a podľa toho sa program „rozvetví" na jednu z ciest. Vďaka vetveniu program reaguje rôzne na rôzne situácie.

  7. Cyklus (opakovanie) — Cyklus slúži na opakovanie tej istej skupiny príkazov, čím si ušetríme prácu a skrátime program. Rozlišujeme počítaný cyklus (for — opakuj presne 10-krát, keď vopred vieme počet opakovaní) a podmienkový cyklus (while — opakuj, kým platí podmienka, keď počet vopred nepoznáme). Pozor na nekonečný cyklus: ak sa podmienka nikdy nezmení na nepravdu, program sa zacyklí a nezastaví sa.

  8. Vývojový diagram a pseudokód — Algoritmus si pred programovaním často zapíšeme názorne. Vývojový diagram (vývojka) používa dohodnuté značky: ovál pre začiatok/koniec, obdĺžnik pre príkaz, kosoštvorec (romb) pre rozhodovanie (vetvenie). Pseudokód je zápis algoritmu polovičatou ľudskou rečou, nezávislý od konkrétneho programovacieho jazyka. Oba pomáhajú premyslieť riešenie skôr, než ho prepíšeme do programu.

  9. Programovací jazyk a prostredie — Aby počítač algoritmu rozumel, zapíšeme ho v programovacom jazyku v určenom prostredí. Začiatočníci často používajú Scratch — vizuálne prostredie, kde sa program skladá z farebných blokov ako z lega, takže nehrozia preklepy. Pokročilejší prechádzajú na textové jazyky, napr. Python, kde príkazy píšeme slovami. Hotový zdrojový kód počítač spustí a vykoná krok po kroku.

  10. Vstup a výstup — Program zvyčajne získava údaje cez vstup (input — napr. číslo, ktoré zadá používateľ z klávesnice) a výsledok ukáže cez výstup (output — text či číslo na obrazovke). V Scratchi tomu zodpovedajú bloky „opýtaj sa" a „povedz", v Pythone príkazy input() a print(). Vďaka vstupu je ten istý program použiteľný pre rôzne údaje, nielen pre jeden pevný príklad.

  11. Syntaktická a logická chyba — Pri programovaní vznikajú dva základné druhy chýb. Syntaktická chyba je porušenie pravidiel jazyka (preklep, chýbajúca zátvorka) — program sa vôbec nespustí a počítač chybu nahlási. Logická chyba je horšia: program beží, ale počíta nesprávne, lebo sme zle navrhli postup (napr. namiesto sčítania sme dali odčítanie). Logickú chybu počítač neoznámi, musíme ju nájsť sami.

  12. Ladenie (debugovanie) — Ladenie je hľadanie a opravovanie chýb v programe, aby fungoval správne. Programátor pri ňom sleduje, čo program robí, kontroluje hodnoty premenných a krok po kroku overuje, kde sa postup odchýlil od zámeru. Ladenie je úplne bežná súčasť programovania — aj skúsení programátori robia chyby, dôležité je vedieť ich systematicky nájsť a opraviť.

1. Poučka

Algoritmus je presný a konečný postup krokov, ktorý vedie od zadania k vyriešeniu úlohy. Zapisujeme ho v programovacom jazyku ako program. Tri základné stavebné prvky každého programu sú premenná (uložená a meniteľná hodnota), vetvenie (rozhodovanie ak – tak – inak) a cyklus (opakovanie krokov).

2. Vysvetlenie

Predstav si algoritmus ako recept: má jasné kroky v správnom poradí a vždy skončí.

  • Premenná je „škatuľka" s názvom, do ktorej si uložíš hodnotu (číslo, text). Hodnotu v nej môžeš počas behu meniť. Príklad: vek = 14.
  • Vetvenie je rozhodovanie. Program si položí podmienku a podľa toho, či platí (pravda) alebo neplatí (nepravda), vykoná inú vetvu. Príklad: ak vek ≥ 15, tak „môžeš na motorku", inak „ešte počkaj".
  • Cyklus opakuje kroky, aby si nemusel písať to isté dookola. Buď opakuje daný počet ráz (opakuj 10×), alebo kým platí podmienka (kým má hráč životy).

Postup tvorby: 1) pochop zadanie → 2) rozlož ho na kroky → 3) rozhodni, kde treba premennú, vetvenie a cyklus → 4) zapíš to v programovacom prostredí (napr. Scratch, Python) → 5) spusti a otestuj.

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

  1. Semafor – cyklus stále dokola strieda zelenú, oranžovú a červenú; vetvenie rozhoduje, ktorá farba svieti.
  2. Počítanie priemeru známok – premenná súčet sa v cykle zväčšuje o každú známku, na konci sa vydelí počtom známok.
  3. Prihlasovanie na webe – vetvenie: ak heslo súhlasí, tak vpusti používateľa, inak zobraz chybu.
  4. Hra v Scratchi – cyklus „opakuj stále" hýbe postavou; vetvenie kontroluje, či sa dotkla nepriateľa, a vtedy uberie život (premenná životy).
  5. Bankomat – premenná zostatok; vetvenie: ak požadovaná suma ≤ zostatok, tak vyplať peniaze, inak odmietni.
  6. Odpočítavanie – cyklus, ktorý vypisuje čísla od 10 po 1, kým premenná nedosiahne 0.

Prečo je to dôležité: algoritmické myslenie ťa učí riešiť problémy logicky a po krokoch — to využiješ nielen pri programovaní, ale aj v matematike, pri organizácii dňa či riešení bežných úloh. Programy okolo nás (mobil, hry, weby, autá) sú postavené presne na premenných, vetvení a cykloch.

Krok 4 — Kvíz (over si pochopenie)
Krok 5 — Test (precvič sa)
  1. Vlastnými slovami vysvetli rozdiel medzi vetvením a cyklom a ku každému uveď jeden príklad z bežného života.
  2. Premenná cena = 10. Napíš (slovne alebo v Scratchi/Pythone), čo sa stane, ak päťkrát vykonáš cena = cena + 3. Aký bude výsledok?
  3. Zostav algoritmus (kroky alebo program), ktorý vypíše všetky párne čísla od 2 do 20 pomocou cyklu.
  4. Navrhni vetvenie pre hru: ak má hráč premennú životy rovnú 0, vypíš „Koniec hry", inak vypíš počet životov.
  5. Nájdi a oprav chybu: cyklus „opakuj, kým i < 5", v ktorom sa premenná i nikdy nezväčšuje. Čo sa stane a ako to opraviť?

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