Základy programovania v Scratchi

Objavte základy programovania v Scratchi! Prehľad typov údajov, vlastných blokov, postáv a udalostí. Ideálne pre študentov a maturantov. Začnite programovať ešte dnes!

Podcast

Scratch: Od herného bloku k profesionálnemu kódu0:00 / 8:47
0:001:00 zostáva

Programovanie je dôležitá zručnosť a platforma Scratch ponúka ideálny štartovací bod pre každého, kto sa chce naučiť základy. Tento komplexný sprievodca „Základy programovania v Scratchi“ vám poskytne podrobný rozbor všetkých kľúčových konceptov, od typov údajov cez prácu s postavami až po pokročilé funkcie, ako sú vlastné bloky a textové súbory. Ponorte sa s nami do sveta vizuálneho programovania!

Typy údajov v prostredí Scratch: Základné stavebné kamene

Scratch je vizuálny a dynamicky typovaný programovací jazyk. To znamená, že pri vytváraní premennej nemusíte vopred určovať, či bude obsahovať číslo alebo text. V Scratchi pracujeme s viacerými typmi údajov, ktoré sú kľúčové pre tvorbu interaktívnych programov.

Jednoduché premenné v Scratchi: Čísla a text

Premenné slúžia na uchovávanie rôznych hodnôt počas behu programu. V Scratchi môžu obsahovať čísla alebo text (slová). Premenné sa vytvárajú v sekcii Premenné → Vytvor premennú.

Číselné premenné

Číselné premenné sa využívajú na rôzne účely, napríklad na:

  • počítanie skóre v hre
  • sledovanie počtu kliknutí
  • meranie času
  • počítanie pokusov

Základné operácie s číselnými premennými zahŕňajú:

  • nastav [premenná] na [hodnota] (napr. nastav skóre na 0)
  • zmeň [premenná] o [hodnota] (napr. zmeň skóre o 1)

Scratch tiež ponúka rôzne matematické operácie v kategórii Výpočty:

  • sčítanie (+)
  • odčítanie (-)
  • násobenie (*)
  • delenie (/)
  • vybrať náhodne hodnotu od [x] do [y]
  • zaokrúhli
  • zvyšok
  • porovnávanie: >, <, =

Použitie číselných premenných v úlohách:

  • Postava sa dotkne objektu → zmeň skóre o 1.
  • Po 10 kliknutiach sa hra skončí.
  • Náhodne generuj číslo, ktoré hráč háda.

Slová (reťazce – string)

Premenná môže okrem čísel obsahovať aj textové hodnoty. Tieto sa často používajú na:

  • uchovanie mena hráča
  • zaznamenanie odpovede hráča
  • hádanie slova v hre
  • zobrazenie správ v hre

Operácie so slovnými premennými zahŕňajú:

  • nastav [premenná] na [text]
  • spoj [text1] a [text2] (napr. spoj „Ahoj “ a meno hráča)
  • dĺžka [text]
  • [text1] obsahuje [text2] ?

Príklady použitia v úlohách:

  • Hráč zadá svoje meno.
  • Hráč háda písmená slova.
  • Kontrola správnosti odpovede.

Zoznamy v Scratchi: Usporiadané množiny údajov

Zoznam je usporiadaná množina viacerých hodnôt. Používa sa vtedy, keď potrebujeme uchovávať a spravovať viac údajov naraz, napríklad zoznam otázok alebo skóre.

Základné operácie so zoznamom:

  • pridaj [hodnota] do [zoznam]
  • vlož [hodnota] na pozíciu [číslo] v [zoznam]
  • nahraď položku [číslo] hodnotou [hodnota] v [zoznam]
  • zruš [hodnota] z [zoznam]
  • zruš položku [číslo] z [zoznam]
  • zruš všetko zo zoznamu [zoznam]

Zisťovanie informácií zo zoznamu:

  • prvok číslo [číslo] z [zoznam]
  • poradie prvku [hodnota] v [zoznam]
  • dĺžka [zoznam]
  • [zoznam] obsahuje [hodnota] ?

Použitie zoznamov v úlohách:

  • Ukladanie odpovedí hráča.
  • Zoznam skóre alebo najlepších výsledkov.
  • Zoznam otázok pre kvízovú hru.
  • Hráč zadáva čísla, ktoré sa ukladajú do zoznamu (napr. pre hru „uhádni číslo“).

Logické hodnoty v Scratchi: Rozhodovanie a podmienky

Logické hodnoty sú v Scratchi kľúčové pre podmienky a rozhodovanie v programe. Vrátia hodnotu pravda (true) alebo nepravda (false).

Používajú sa najmä pri:

  • porovnávaní (>, <, =)
  • zisťovaní, či reťazec „obsahuje?“ iný reťazec
  • rozhodovaní v podmienke ak – inak

Logické operátory:

  • [podmienka1] a [podmienka2]
  • [podmienka1] alebo [podmienka2]
  • nie je [podmienka]

Príklady použitia v úlohách:

  • ak skóre > 10 → vyhraj
  • ak slovo obsahuje písmeno → pokračuj
  • ak kliknutia = 5 → skonči hru

Vlastné bloky v prostredí Scratch: Prehľadnosť a opakovateľnosť

Nové (vlastné) bloky vytvárame pre zlepšenie prehľadnosti a skrátenie programu. Sú obzvlášť užitočné, ak potrebujeme určitú časť kódu použiť opakovane, ale nie hneď za sebou. Do vlastných blokov si ukladáme podprogramy (funkcie), ktorým dáme výstižný názov.

Vytváranie nového bloku:

  1. Zadajte meno bloku.
  2. Môžete pridať nápis (label text).
  3. Zvoľte, či sa má blok vykonať bez obnovenia obrazovky.

Príklady vlastných blokov: štvorec, trojuholník, domček (môžu byť so vstupom dĺžky strany); bodka (vstup veľkosť); čiara (vstup dĺžka, hrúbka).

Nové bloky so vstupom: Flexibilné funkcie

Vlastné bloky môžu prijať vstup – číslo, text alebo logickú hodnotu. Môžete pridať viac vstupov, dokonca aj rovnakého typu. Týmto spôsobom môžete vytvárať flexibilnejšie a univerzálnejšie bloky.

Rekurzia v Scratchi: Blok volá sám seba

Nové bloky je možné používať aj rekurzívne, čo znamená, že blok volá sám seba. Rekurzia je pokročilá technika, ktorá sa používa napríklad pri kreslení špirál alebo iných komplexných vzorov.

Použitie textových súborov v prostredí Scratch: Načítanie a ukladanie dát

Scratch umožňuje pracovať s textovými súbormi prostredníctvom zoznamov. Textové súbory sú vhodné najmä na:

  • ukladanie údajov (napr. výsledkov hier)
  • načítanie údajov (napr. mapy)
  • prácu s mapami a hernými úrovňami

Načítanie textového súboru

Postup pre načítanie súboru:

  1. Vytvorte zoznam.
  2. Pravým kliknutím na zoznam na scéne vyberte možnosť Importovať.
  3. Vyberte súbor typu .txt.

Každý riadok textového súboru sa uloží ako jedna položka zoznamu, s ktorým potom program môže pracovať.

Zápis do textového súboru

Na zápis údajov do textového súboru postupujte takto:

  1. Pravým kliknutím na zoznam na scéne.
  2. Vyberte možnosť Exportovať.
  3. Uložte súbor ako .txt.

Je dôležité si uvedomiť, že Scratch nevie zapisovať do súboru priamo počas behu programu. Zápis je možný iba exportom celého zoznamu, pričom každý prvok zoznamu sa uloží ako jeden riadok súboru.

Využitie textových súborov – príklady:

  • Ukladanie výsledkov (skóre hráča): Počas hry sa skóre ukladá do zoznamu a po skončení hry sa zoznam exportuje do súboru s výsledkami.
  • Načítanie mapy (napr. labyrintu): Každý riadok textového súboru reprezentuje riadok mapy a jednotlivé znaky reprezentujú typ políčka. Program potom vykreslí labyrint zo súboru, napríklad: 1011, 1100, 1110, 1111 pre labyrint 4x4.

Viac postáv v prostredí Scratch: Interakcia a klonovanie

Postavy (sprites) sú kľúčovým prvkom Scratch projektov. Každá postava má svoje vlastné kostýmy, scenár a môže mať aj vlastné premenné. Správanie postáv definujú ich skripty.

Vytváranie a úprava postáv

Postavy môžete vytvoriť viacerými spôsobmi:

  • Vybrať z knižnice Scratch (postavy, písmená, čísla, veci).
  • Nakresliť si vlastnú postavu.
  • Vybrať postavu zo súboru (.sprite3 koncovka).

Každá postava môže mať viacero kostýmov, ktoré je možné meniť v programe (bloky ďalší kostým / zmeň kostým na). Zmena kostýmov vytvára ilúziu pohybu postavy.

Duplikovanie postáv vs. Klonovanie

Duplikovanie postáv:

  • Vytvára viaceré nezávislé objekty.
  • Musíte ručne duplikovať kliknutím pravým tlačidlom na postavu a výberom duplikuj.
  • Postava sa duplikuje aj s rovnakými kostýmami a scenárom, ktorý však môžete meniť.
  • Duplikované postavy sú nezávislé kópie.

Klonovanie:

  • Vytvára viacero inštancií tej istej postavy.
  • Klony je možné vytvárať programovo pomocou príkazu naklonuj seba alebo naklonuj [postava].
  • Blok pri štarte klonu definuje, aký program sa vykoná pre každý klon rovnako.
  • Klony môžu mať v rámci postavy vlastný kód, na ktorý originálna postava nereaguje, ale budú vykonávať aj všetok kód, ktorý sa v postave nachádza.
  • Možno ich vytvoriť veľa naraz.

Klonovanie sa používa napríklad pri:

  • padajúcich objektoch (dážď, meteority)
  • tvorbe častíc alebo efektov
  • množstve nepriateľov v hre

Komunikácia medzi postavami

Postavy môžu medzi sebou komunikovať pomocou správ:

  • pošli správu [správa]
  • po prijatí správy [správa]

Na základe prijatej správy môže postava vykonať určitú činnosť. Medzi ďalšie možnosti interakcie patria zisťovanie dotyku (dotýkaš sa [postava/myš]?, dotýkaš sa [farba]?), vzdialenosť (vzdialenosť k [postava/myš]), smer (smerom k [postava/myš]) a pohyb (skoč na [postava/myš]). Postavy tiež môžu meniť svoju viditeľnosť (ukáž sa/skry sa) alebo vrstvu (prejdi na vrchnú vrstvu).

Udalosti klávesnice a myši v prostredí Scratch: Interaktívne programy

Scratch je udalosťami riadené prostredie. To znamená, že program sa vykonáva ako reakcia na určitú udalosť, napríklad kliknutie alebo stlačenie klávesu. Udalosti nájdete v kategórii Udalosti (Events).

Základné spúšťacie udalosti

Program môžete spustiť týmito udalosťami:

  • pri kliknutí na zelenú vlajku
  • pri stlačení klávesu [kláves]
  • pri kliknutí na mňa (pre postavu)
  • pri prijatí správy [správa]

Tieto bloky je možné použiť v skriptoch postavy aj v skriptoch scény (pozadia).

Udalosti pre postavu

Postava môže reagovať na:

  • kliknutie na ňu (pri kliknutí na mňa)
  • stlačenie klávesu (pri stlačení kláves [kláves])
  • dotyk s myšou
  • prijatie správy

Udalosti pre scénu

Scéna (pozadie) môže reagovať na:

  • kliknutie na zelenú vlajku
  • prijatie správy
  • nepriamo cez zmenu pozadia

Priame bloky pre kliknutie na scénu neexistujú.

Udalosti a zisťovanie myši

Scratch umožňuje zisťovať stav a pozíciu myši:

  • dotýkaš sa myši?
  • vzdialenosť k myši
  • stlačené tlačidlo myši?
  • myš x, myš y (pozícia kurzora)

Úlohy s využitím udalostí myši:

  • Ovládanie kliknutím: Postava sa začne hýbať po kliknutí.
  • Naháňanie postavy: Po kliknutí na postavu sa zmení počítadlo a postava sa presunie na náhodnú pozíciu.
  • Zmena kostýmu: Kliknutím sa zmení kostým postavy.
  • Zmiznutie postavy: Kliknutím sa postava skryje (napr. zbieranie kľúčov).

Udalosti klávesnice

Scratch rozpoznáva rôzne klávesy:

  • Šípky (doprava, doľava, hore, dole)
  • Medzerník
  • Písmená a čísla

Úlohy s využitím klávesnice:

  • Ovládanie postavy šípkami: šípka doprava → zmeň x o 10, šípka hore → zmeň y o 10.
  • Skákanie medzerou: keď je stlačená medzera → zmeň y o 20 (simulácia skoku).
  • Zadávanie odpovedí: Hráč stlačí kláves ako odpoveď a program na konkrétny znak reaguje.

Kartičky

1 / 19

Ako sa v Scratchi využívajú textové súbory pri ukladaní výsledkov hry?

Počas hry ukladáme skóre do zoznamu; po skončení hry exportujeme zoznam do textového súboru, kde každý prvok zoznamu je jeden riadok súboru.

Ťukni na otočenie · Potiahni na navigáciu

Pokročilé možnosti prostredia Scratch: Vlastné premenné a OOP paralely

Okrem základných funkcií ponúka Scratch aj pokročilejšie možnosti a má paralely s konceptmi objektovo orientovaného programovania (OOP).

Špecifické funkcie Scratchu

Niektoré veci, ktoré nájdete v Scratchi, ale v jazykoch ako Python bežne nie (alebo sú implementované inak):

  • Pero: Kreslenie priamo na scénu.
  • Hudba a video zisťovanie: Vnímanie pohybu pomocou kamery.
  • Zisťovanie dotyku: Detekcia dotyku s objektom alebo farbou.

Paralely s Objektovo Orientovaným Programovaním (OOP)

Scratch sa, aj keď nie explicitne, správa podľa mnohých princípov OOP:

  • Trieda (Class) vs. Postava (Sprite): V OOP je trieda šablóna pre objekty. V Scratchi každá postava funguje ako trieda aj konkrétny objekt zároveň, má svoje vlastnosti a správanie.
  • Súkromné atribúty – Vlastné premenné postavy: V OOP sú atribúty údaje uložené v objekte. V Scratchi môže mať každá postava svoje vlastné premenné (lokálne), ktoré sú prepojené výhradne s danou postavou.
  • Metódy – Skripty/Bloky: Metódy v OOP definujú správanie objektu. V Scratchi sú skripty (sekvencie blokov) postavy ako metódy objektu, ktoré popisujú, ako sa postava správa pri určitých udalostiach.
  • Zasielanie správ – Posielanie správ (Broadcast): V OOP objekty komunikujú volaním metód. V Scratchi postavy komunikujú posielaním správ (broadcast), ktoré aktivujú skripty iných postáv.
  • Dedičnosť – Obmedzená alebo absentujúca v Scratchi: Scratch nepodporuje priame dedenie. Možno ho však napodobniť zdieľanými skriptami, vlastnými blokmi a správami. Klony zdieľajú skript pôvodnej postavy.

Premenné: Globálne vs. Lokálne

Pri vytváraní premennej v Scratchi môžete určiť jej rozsah:

  • Pre všetky postavy (globálna premenná): Zmena v jednej postave sa prejaví všade. Vhodné pre skóre, časovač, stav hry.
  • Len pre túto postavu (lokálna/vlastná premenná postavy): Každá postava (vrátane klonov) má vlastnú hodnotu, ku ktorej ostatné postavy nemajú priamy prístup. Vhodné pre individuálnu rýchlosť, smer, životy konkrétneho klonu.

Úlohy s využitím vlastných premenných:

  • Hry pre dvoch hráčov: Každý hráč má svoje skóre, počet životov (lokálne premenné). Spoločná premenná môže byť časovač (globálna).
  • Klony ako nepriatelia: Každý klon má svoju vlastnú rýchlosť, smer alebo životy (lokálne premenné).
  • Špecifické správanie postáv: Každá postava vykonáva niečo iné, inak sa hýbe a používa vo svojom programe svoje vlastné premenné.

Najčastejšie otázky o programovaní v Scratchi (FAQ)

Čo sú to premenné a ako ich použiť v Scratchi?

Premenné v Scratchi slúžia na ukladanie hodnôt počas behu programu, môžu byť číselné alebo textové. Vytvárajú sa v kategórii Premenné a používajú sa na sledovanie skóre, mien hráčov alebo akýchkoľvek dynamických dát v hre. Pre viac informácií si pozrite sekciu "Typy údajov v prostredí Scratch" vyššie.

Ako fungujú vlastné bloky a prečo by som ich mal používať?

Vlastné bloky vám umožňujú vytvárať vlastné programové funkcie, ktoré zoskupujú sekvencie blokov pod jedným názvom. Používajú sa na zjednodušenie a skrátenie kódu, zvýšenie jeho prehľadnosti a opakovateľnosti, najmä ak sa určitá časť programu používa viackrát. Viac detailov nájdete v sekcii "Vlastné bloky v prostredí Scratch".

Aký je rozdiel medzi duplikovaním a klonovaním postáv v Scratchi?

Duplikovanie vytvára nezávislú kópiu postavy vrátane jej kostýmov a skriptov, ktorú musíte vykonať ručne. Klonovanie vytvára inštancie tej istej postavy programovo (napr. naklonuj seba). Klony vykonávajú špecifický kód definovaný blokom pri štarte klonu a sú ideálne pre veľké množstvo rovnakých objektov, ako sú častice alebo nepriatelia. Pre hlbší pohľad na túto tému navštívte sekciu "Viac postáv v prostredí Scratch".

Ako môžem komunikovať medzi rôznymi postavami v mojom Scratch projekte?

Postavy v Scratchi komunikujú predovšetkým pomocou správ (broadcast). Jedna postava môže "poslať správu" a iná postava môže reagovať "po prijatí správy". To umožňuje koordinovať akcie medzi viacerými postavami a vytvárať komplexné interakcie v hre. Podrobnejšie informácie nájdete v časti "Komunikácia medzi postavami".

Je Scratch vhodný na maturitu alebo pokročilejšie štúdium programovania?

Áno, Scratch je vynikajúci na pochopenie základných programovacích konceptov, ako sú premenné, podmienky, cykly, funkcie (vlastné bloky) a dokonca aj objektovo orientované princípy. Poskytuje pevný základ, na ktorom môžete stavať pri štúdiu iných programovacích jazykov a je často súčasťou výučby na stredných školách a prípravy na maturitu z informatiky. Viac o pokročilých možnostiach sa dočítate v sekcii "Pokročilé možnosti prostredia Scratch, vlastné premenné".

Sign up to access full content

Create a free account to unlock all study materials, take interactive tests, listen to podcasts and more.

Create free account

Súvisiace témy