5. ročník › Informatika › Informatika
0. Kľúčové fakty
-
Programovací jazyk a príkazy — Program je postupnosť príkazov, ktoré počítaču presne hovoria, čo má robiť. V detských prostrediach ako Scratch alebo Blockly skladáme príkazy z farebných blokov, takže sa nemusíme učiť zložité písanie kódu. Počítač vykoná príkazy presne tak, ako sme ich zostavili — nerozumie tomu, čo sme „mysleli", iba tomu, čo sme naozaj napísali.
-
Postava (sprite) — Postava je objekt na obrazovke, ktorý vieme ovládať príkazmi, napríklad mačka, robot alebo žiačik. Každá postava má svoju polohu, smer a vzhľad, ktoré sa pri behu programu menia. Práve pohyb postavy je najčastejší spôsob, ako na začiatku vidíme, že náš program naozaj funguje.
-
Sekvencia (postupnosť krokov) — Príkazy sa vykonávajú jeden po druhom, v poradí zhora nadol, presne v takom slede, v akom ich uložíme. Ak prehodíme poradie blokov, postava sa bude správať inak, hoci sme použili tie isté príkazy. Preto je správne poradie krokov základ každého funkčného programu.
-
Príkazy pohybu — Pohyb riadime príkazmi ako „posuň sa o 10 krokov", „choď hore/dole/vľavo/vpravo" alebo „prejdi na pozíciu x, y". Vďaka nim postava prechádza po obrazovke a my vidíme okamžitý výsledok svojho programu. Veľkosť kroku (napríklad 10) určuje, ako ďaleko sa postava posunie pri jednom príkaze.
-
Otáčanie a smer — Okrem posunu vieme postavu aj otočiť príkazom „otoč sa o 90 stupňov" doľava alebo doprava. Smer určuje, kam sa postava pohne pri ďalšom kroku, preto sa otáčanie a posun často kombinujú. Napríklad na nakreslenie štvorca otočíme postavu po každej strane vždy o 90 stupňov.
-
Opakovanie (cyklus) — Opakovanie, nazývané aj cyklus, dovolí vykonať tú istú skupinu príkazov viackrát bez toho, aby sme ich museli písať dookola. Namiesto desiatich rovnakých príkazov „posuň sa" použijeme jeden blok „opakuj 10-krát". Cyklus robí program kratším, prehľadnejším a oveľa ľahšie sa v ňom hľadá chyba.
-
Blok „opakuj N-krát" — Tento cyklus zopakuje vnútorné príkazy presne toľkokrát, koľko zadáme číslom N. Napríklad „opakuj 4-krát: posuň sa o 50 krokov, otoč sa o 90 stupňov" nakreslí štvorec. Je to ukážka, ako opakovanie a pohyb spolu vytvárajú zložitejší tvar z jednoduchých príkazov.
-
Nekonečný cyklus „opakuj stále" — Blok „opakuj stále" vykonáva príkazy donekonečna, kým program nezastavíme. Hodí sa napríklad na postavu, ktorá sa má pohybovať alebo animovať počas celej hry. Treba ho však používať opatrne, lebo bez podmienky na ukončenie sa program nikdy sám nezastaví.
-
Spustenie programu (udalosť štart) — Program sa zvyčajne spúšťa nejakou udalosťou, napríklad kliknutím na zelenú vlajku alebo stlačením klávesu. Bloky „keď klikneš na vlajku" určujú, kde program začína. Bez spúšťacej udalosti by počítač nevedel, kedy má príkazy vykonať.
-
Ladenie (hľadanie a oprava chýb) — Ladenie znamená, že keď program nerobí to, čo sme chceli, hľadáme a opravujeme chyby v príkazoch. Postupujeme krok za krokom a sledujeme, kde sa postava začne správať inak, ako sme očakávali. Chyby sú úplne bežné a aj skúsení programátori trávia veľa času práve ladením.
-
Algoritmus — Algoritmus je presný návod, ako vyriešiť úlohu krok za krokom, podobne ako recept alebo návod na cestu. V programovaní algoritmus najprv premyslíme a potom ho prepíšeme do príkazov pre postavu. Dobrý algoritmus rieši úlohu jednoducho a bez zbytočných krokov.
-
Súradnice x a y — Poloha postavy na obrazovke sa určuje dvoma číslami: x (vodorovne, doľava–doprava) a y (zvisle, dole–hore). Stred obrazovky má zvyčajne súradnice x = 0, y = 0. Vďaka súradniciam vieme postavu presne umiestniť alebo skontrolovať, kde sa práve nachádza.
1. Poučka
Program je presný postup príkazov, ktoré počítač alebo postava vykoná krok za krokom v poradí, v akom sú napísané. Pomocou príkazov riadime pohyb postavy a pomocou opakovania (cyklu) zopakujeme tie isté príkazy viackrát bez toho, aby sme ich písali znova.
2. Vysvetlenie
- Príkaz je jeden pokyn pre postavu, napríklad „choď dopredu", „otoč sa vpravo".
- Postava vykonáva príkazy postupne — jeden po druhom, zhora nadol.
- Ak chceme tú istú činnosť spraviť viackrát, použijeme opakovanie (cyklus). Napríklad namiesto štyroch príkazov „choď dopredu" napíšeme „zopakuj 4-krát: choď dopredu".
- Keď program nerobí to, čo chceme, hľadáme chybu (bug) a opravíme ju — tomu sa hovorí ladenie (debugging).
- V detských prostrediach (napr. Scratch, Blockly, Code.org) skladáme príkazy ako bloky — zapadajú do seba ako puzzle.
3. Príklady a prečo je to dôležité
Príklad 1 — postupnosť príkazov v bludisku: Postava stojí v štvorčekovej sieti a pozerá hore. Program: dopredu 2 políčka, otoč sa vpravo, dopredu 3 políčka. Kde skončí?
Krok 1: pozerá hore, prejde 2 políčka hore.
Krok 2: otočí sa vpravo, teraz pozerá doprava.
Krok 3: prejde 3 políčka doprava.
Postava je teda → 2 políčka hore a 3 políčka vpravo od štartu
Príklad 2 — poradie príkazov je dôležité: Postava pozerá hore. Program A: dopredu 2, otoč sa vpravo. Program B: otoč sa vpravo, dopredu 2. Skončia na rovnakom mieste?
A: najprv ide 2 políčka hore, až potom sa otočí – skončí 2 políčka hore.
B: najprv sa otočí doprava, potom ide 2 políčka doprava – skončí 2 políčka vpravo.
Príkazy sú rovnaké, ale v inom poradí → nie, program A skončí hore a program B vpravo
Príklad 3 — opakovanie (cyklus): Skráť program na kreslenie štvorca: dopredu 50, otoč sa o 90°, dopredu 50, otoč sa o 90°, dopredu 50, otoč sa o 90°, dopredu 50, otoč sa o 90°.
Vidím, že dvojica príkazov „dopredu 50, otoč sa o 90°" sa opakuje.
Spočítam, koľkokrát: 4-krát (štvorec má 4 strany).
Namiesto 8 príkazov napíšem jeden blok opakovania s 2 príkazmi vo vnútri.
Kratší program → opakuj 4-krát: dopredu 50, otoč sa o 90°
Príklad 4 — čo nakreslí cyklus: Čo nakreslí program opakuj 6-krát: dopredu 40, otoč sa o 60°?
Postava nakreslí 6 rovnakých čiar (strán).
Spolu sa otočí o 6 · 60° = 360°, teda presne raz dokola a vráti sa na štart.
Útvar so 6 rovnakými stranami → pravidelný šesťuholník
Príklad 5 — ladenie (hľadanie chyby): Program opakuj 2-krát: dopredu 50, otoč sa o 90° mal nakresliť štvorec, ale nakreslil len dve strany. Kde je chyba?
Postava nakreslila iba 2 strany, štvorec má 4 strany.
Počet opakovaní určuje číslo v bloku opakuj – je tam 2.
Opravíme číslo a program spustíme znova na overenie.
Oprava → zmeniť „opakuj 2-krát" na „opakuj 4-krát"
Príklad 6 — z bežného života: Tréner povie: drep, drep, drep, drep, drep, drep, drep, drep, drep, drep. Ako to zapíšeš ako program?
Ten istý príkaz „urob drep" sa opakuje.
Spočítam ho: 10-krát.
Namiesto 10 riadkov použijem jeden cyklus → opakuj 10-krát: urob drep
Prečo je to dôležité: Programovanie nás učí rozmýšľať presne a po krokoch. Tým, že rozdelíme veľkú úlohu na malé príkazy, vyriešime aj zložité veci. Opakovanie nám šetrí čas a prácu. Tieto zručnosti využijeme nielen pri počítačoch — pomáhajú nám plánovať a riešiť problémy v bežnom živote (recept, cesta do školy, návod na stavbu).
Precvič si
- Ako sa volá blok, ktorý zopakuje tie isté príkazy viackrát?
- Prepíš pomocou opakovania: skoč, skoč, skoč, skoč.
- Koľko krokov spolu prejde postava: opakuj 5-krát: posuň sa o 10 krokov?
- O koľko stupňov sa postava spolu otočí: opakuj 4-krát: otoč sa o 90°?
- Postava pozerá doprava. Vykoná otoč sa vľavo o 90°, otoč sa vľavo o 90°. Kam teraz pozerá?
- Čo nakreslí program opakuj 8-krát: dopredu 20, otoč sa o 45°?
Ukáž riešenia
- Opakovanie sa v programovaní volá aj inak → cyklus (opakuj)
- Ten istý príkaz je tam 4-krát → opakuj 4-krát: skoč
- Päťkrát po 10 krokov, 5 · 10 = 50 → 50 krokov
- Štyrikrát po 90°, 4 · 90° = 360° → 360° (celý kruh)
- Doprava → hore → doľava (dve otočky vľavo) → doľava
- Osem strán, otočenie spolu 8 · 45° = 360° → pravidelný osemuholník