IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

9. diel - Cyklus s pevným počtom opakovaní v Scratchi

V minulej lekcii, Podmienky (vetvenie) druhýkrát: Vysielanie správ v Scratchi , sme sa naučili skladať podmienky pomocou logických operátorov.

V dnešnom tutoriále sa naučíme pracovať s cyklami. Vytvoríme niekoľko jednoduchých príkladov, na ktorých si ukážeme, na čo cykly slúžia. Potom budeme mať takmer kompletnú výbavu základných konštrukcií a budeme schopní programovať rozumné aplikácie v Scratchi.

Cykly

Ako už slovo cyklus napovie, niečo sa bude opakovať. Keď chceme v programe niečo urobiť 100x, určite nebudeme písať pod seba 100x ten istý kód, ale vložíme ho do cyklu. Cyklov máme niekoľko druhov, dnes sa zameriame na cyklus opakuj ... krát.

Cyklus opakuj ... krát

Tento cyklus má stanovený pevný počet opakovaní. Blok cyklu opakuj ... krát nájdeme v blokoch Ovládanie a vyzerá nasledovne:

Blok opakuj krát - Scratch

Počet opakovaní cyklu sa určuje hodnotou, ktorú vyplníme.

Nemusíme pritom zadávať len číslo, ale môžeme použiť napríklad aj blok odpoveď, alebo nejakú premennú 😉

Poďme si urobiť niekoľko jednoduchých príkladov na precvičenie tohto cyklu.

Klepanie pre šťastie

Možno viete, že keď nechceme niečo zrieknuť, malo by sa trikrát zaklopať. Náš mačičák je rád, že nie je pes, pretože neznáša blato a väčšina psov sa v blate pokojne vyvaľká a vôbec im to nevadí 🙂 Poďme urobiť program, kde si mačičák povie Ještě, že nejsem pes. a potom trikrát zaklope klep, klep, klep. S našimi znalosťami, ktoré máme teraz, by program vyzeral takto:

Program klepanie bez cyklu - Scratch

My ale už nič nemusíme otrocky opisovať, výpis klep vložíme do cyklu opakuj ... krát a počet opakovaní nastavíme na 3:

Program klepania s cyklu - Scratch

Po spustení programu uvidíme tento výstup:

Mačičák je rád, že nie je pes - Scratch

Po spustení sa vypíše hláška, že mačičák nie je pes. Potom program vojde do cyklu, ktorý sa opakuje trikrát a vždy sa zobrazí rovnaká bublina s textom klep. Tu to síce nie je veľmi vidieť, pretože sa stále zobrazuje tá istá hláška, ale cyklus naozaj prebehne trikrát 🙂

Rad čísel

Poďme sa teraz s naším cyklom trochu pohrať. Predstavme si, že chceme, aby mačičák počítal od 1 do 10. Bez cyklov by sme jednoducho pod seba poskladali bubliny so zodpovedajúcimi číslami. Ako to ale urobiť s cyklom? Musíme nejako sledovať, po koľkýkrát cyklus beží a toto číslo vypísať. Na to budeme potrebovať vlastnú premennú. Poďme na to 😉

Začneme klasicky, umiestnime si do programu štartovací blok a naň nalepíme cyklus opakuj ... krát:

Program rad začiatok - Scratch

Potom si vytvoríme premennú i a zadáme ju ako počet opakovaní:

Program rad cyklus s premennou - Scratch

Ďalej do cyklu umiestnime bublinu, ktorá bude hovoriť, po koľkýkrát cyklus beží. To bude trochu komplikovanejšie, takže si zatiaľ len pripravíme bublinu:

Program rad cyklus s premennou a bublinou - Scratch

Teraz bude potrebné nastaviť našu premennú na nejakú hodnotu.

Blok pre nastavenie premennej, nájdeme v blokoch Premenné 🙂.

My budeme chcieť opakovať cyklus desaťkrát, takže ešte pred tým, než program spustí cyklus nastavíme premennú i na 10:

Program rad cyklus s premennou nastavenou na 10 - Scratch

Premennú musíme nastaviť pred tým, než sa spustí cyklus. Keby sme to neurobili, tak premenná zostane 0 a cyklus sa bude opakovať nulakrát, to znamená, že sa vôbec nespustí 😉

Teraz je potrebné, aby sa naša premenná zakaždým zmenšila o 1. To urobíme pomocou bloku zmeň o ..., ktorý nájdeme v blokoch Premenné. Hodnotu nastavíme na -1:

Program rad cyklus s premennou, ktorá sa zmenšuje - Scratch

Nakoniec do bubliny namiesto textu Ahoj! vložíme našu premennú:

Program rad cyklus, ktorý vypisuje premennú - Scratch

Keby sme teraz náš program pustili, mačičák by síce počítal, ale pospiatky 😅 Začal by vypisovať 10, 9, 8 a tak ďalej! Musíme sa teda ešte zamyslieť, ako docieliť to, aby počítal správne od 1 do 10.

Chceme, aby sa namiesto čísla 10 zobrazovalo číslo 1 ; miesto 9 chceme vypísať 2, miesto 8 číslo 3... Odpoveďou je, že číslo musíme odpočítať od 11 😉 Môžeme si to v rýchlosti prekontrolovať: 11 - 10 = 1, 11 - 9 = 2...

Poďme teda náš príklad ešte upraviť. Do bubliny si namiesto premennej i pretiahneme operátor mínus, ktorý bude mať na pravej strane premennú i a na ľavej strane číslo 11:

Program rad cyklus, ktorý vypisuje premennú správne - Scratch

Keď teraz program spustíme, vidíme, že mačičák počíta správne:

Mačičák počíta od 1 do 10 - Scratch

Farebný mačičiak

Ako posledný si poďme ukázať vnorený cyklus. Cykly do seba môžeme vnárať. To znamená, že jeden cyklus umiestnime do iného. To má za následok, že pri každom behu vonkajšieho cyklu sa vykoná celý vnútorný cyklus. Poďme si to ukázať na príklade 🙂 Budeme trikrát zafarbovať mačičiaka štyrmi farbami, a zakaždým ho vrátime späť do jeho zdravej, oranžovej 😉

Začneme tak, že si umiestnime štartovací blok, pod neho prilepíme cyklus a do neho dáme ďalší cyklus:

Program vnorené cykly - Scratch

Vonkajší cyklus nastavíme na tri opakovania a vnútorné na štyri. Teraz umiestnime do vnútorného cyklu blok zmeň efekt farba o ... z blokov Vzhľad a nastavíme mu hodnotu 25. Rovnaký blok ešte pridáme hneď za vnútorný cyklus, len tentoraz nebude zmena o 25, ale o -100:

Program vnorené cykly so zmenou farby - Scratch

Aby sme výsledok lepšie videli, ešte za každý blok zmeň efekt farba o ... nalepíme blok čakaj ... sekúnd z blokov Ovládanie av každom počkáme 1 sekundu:

Program vnorené cykly so zmenou farby a čakaním - Scratch

Keď program pustíme, mačičák zmení celkom trikrát farby. Vždy sa zafarbí štyrikrát inak, potom sa sfarbí späť na oranžovú. Následne začne znovu zafarbovanie do štyroch farieb:

Mačičák mení farby - Scratch

Tu krásne vidíme, že keď sa spustí vonkajší cyklus, tak sa najprv vykoná celý vnútorný cyklus (mačičiak štyrikrát zmení farbu), a až potom sa vykoná zvyšok vonkajšieho cyklu (mačičiak sa sfarbí späť) a pokračuje sa opakovaním vonkajšieho cyklu 😉

Zdrojové súbory, ktoré boli použité v dnešnej lekcii nájdete na stiahnutie v prílohe.

V budúcej lekcii, Cyklus s neznámym počtom opakovaní v Scratchi , sa budeme ešte venovať cyklom. Naučíme sa používať najmä cyklus opakuj kým nenastane a vďaka nemu zase trošku vylepšíme našu kalkulačku.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 15x (124.15 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Scratch

 

Predchádzajúci článok
Podmienky (vetvenie) druhýkrát: Vysielanie správ v Scratchi
Všetky články v sekcii
Scratch
Preskočiť článok
(neodporúčame)
Cyklus s neznámym počtom opakovaní v Scratchi
Článok pre vás napísal PDoctor
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity