Řízení#

Zavedení#

Řídicí bloky ve VEXcode V5 řídí tok projektu zpracováním smyček, podmínek a zpožděním běhu bloků.

Smyčka je stav, kdy počítač opakuje stejný krok nebo skupinu kroků znovu a znovu, dokud nedostane pokyn k zastavení. Podmínka je pravidlo, které počítač kontroluje, aby se rozhodl, co dělat dál. Například robot se může pohybovat vpřed, pokud senzor detekuje objekt.

Níže je uveden seznam dostupných bloků:

  • wait – Pozastaví běh bloků na určitou dobu.

  • čekej do – Pozastaví běh bloků, dokud není splněna zadaná podmínka.

  • opakovat – Opakuje sadu bloků zadaný počet opakování.

  • forever – Opakuje sadu bloků donekonečna.

  • opakovat do – Opakuje sadu bloků, dokud není splněna podmínka.

  • while – Opakuje sadu bloků, dokud je podmínka pravdivá.

  • if – Spustí sadu bloků, pokud je podmínka pravdivá.

  • if / else – Spustí jednu sadu bloků, pokud je podmínka pravdivá, jinak spustí jinou.

  • if / else if / else – Spouští různé sady bloků v závislosti na více podmínkách.

  • break – Okamžitě ukončí smyčku repeat, forever, repeat until nebo while.

  • zastavit projekt – Ukončí projekt.

Počkejte#

Zásobníkový blok wait pozastaví běh bloků na určitou dobu, než se přejde k dalšímu bloku.

blok zásobníku čekání#
čekat (1) sekund

Parametry

Popis

čas

Doba čekání v sekundách, vyjádřená jako kladné celé číslo nebo desetinné číslo.

Příklad

Po spuštění se na jednu sekundu pohybuje vpřed a poté se veškerý pohyb zastaví.#
při spuštění
[Move forward for one second, then stop.]
jet [dopředu v]
čekat (1) sekund
zastavit jízdu

počkat až#

Blok wait until pozastaví běh bloků, dokud není splněna zadaná podmínka, než se přejde k dalšímu bloku.

počkejte, dokud se blok zásobníku#
čekat dokud <>

Parametry

Popis

stav

Podmínka, která musí být splněna před přechodem na další blok.

Příklad

Po spuštění se pohybuje vpřed, dokud se nestiskne obrazovka, poté se veškerý pohyb zastaví.#
při spuštění
[Move forward until the screen is pressed, then stop.]
jet [dopředu v]
čekat dokud <obrazovka stisknuta?>
zastavit jízdu

opakovat#

Blok repeat C spouští bloky uvnitř stanovené množstvíkrát.

opakování bloku C#
opakovat [10]
konec

Parametry

Popis

krát

Celé číslo, které určuje, kolikrát se blok opakuje.

Příklad

při spuštění
[Move in a square path.]
opakovat [4]
jet [dopředu v] na [150] [mm v] ▶
otočit [vpravo v] o [90] stupňů ▶
konec

navždy#

Blok C navždy neustále spouští bloky uvnitř sebe znovu a znovu bez zastavení.

navždy blok C#
navždy
konec

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

Po spuštění se plynule pohybuje po čtvercové dráze posunem dopředu o 50 mm a otočením doprava o 90 stupňů v nekonečné smyčce.#
při spuštění
[Move in a square path forever.]
navždy
jet [dopředu v] na [150] [mm v] ▶
otočit [vpravo v] o [90] stupňů ▶
konec

opakujte, dokud#

Blok opakovat dokud opakovaně spouští bloky uvnitř sebe, dokud není splněna zadaná podmínka.

opakujte, dokud nezablokujete#
opakovat dokud <>
konec

Parametry

Popis

stav

Výraz nebo proměnná, která se kontroluje před každou smyčkou. Pokud je hodnota False, bloky se opakují. Pokud je hodnota True, smyčka se zastaví.

Příklad

Po spuštění svítí všechny LED diody červeně, dokud se nestiskne obrazovka, a poté zhasnou.#
při spuštění
[Turn until the screen is pressed.]
opakovat dokud <obrazovka stisknuta?>
otočit [vpravo v]
konec
zastavit jízdu

zatímco#

Blok while v C opakovaně spouští bloky uvnitř, dokud není splněna zadaná podmínka.

zatímco blok c#
dokud <>
konec

Parametry

Popis

stav

Výraz nebo proměnná, která se kontroluje před každou smyčkou. Pokud je hodnota True, bloky se opakují. Pokud je hodnota False, smyčka se zastaví.

Příklad

Zásobník bloků, který začíná blokem s textem „when started“, následovaným blokem s komentářem. Zobrazí čas po uplynutí 2 sekund. Blok „wait until“ pozastaví provádění, dokud časovač nedosáhne nebo nepřekročí dvě sekundy. Jakmile je tato podmínka splněna, blok tisku zobrazí hodnotu časovače na obrazovce.#
při spuštění
[Display the time for one minute.]
dokud <(časovač v sekundách) [math_less_than v] [60]>
vymazat obrazovku
nastavit kurzor na řádek [1] sloupec [1] na obrazovce
tisk (časovač v sekundách) na obrazovce ▶

-li#

Blok if C spustí bloky uvnitř, pokud je podmínka True.

pokud blok#
pokud <> pak
konec

Parametry

Popis

stav

Výraz nebo proměnná, která se kontroluje při spuštění příkazu. Pokud je hodnota True, bloky uvnitř bloku if se spustí. Pokud je hodnota False, bloky se přeskočí.

Příklad

Po spuštění neustále kontroluje, zda je obrazovka stisknuta. Pokud je stisknuta, robot kopne do předmětu střední silou.#
při spuštění
[Turn in a circle if the screen is pressed.]
navždy
pokud <obrazovka stisknuta?> pak
otočit [vpravo v] o [360] stupňů ▶
konec
zastavit jízdu
konec

pokud / jinak#

Blok if / else v jazyce C určuje, která sada bloků se spustí na základě toho, zda je podmínka True nebo False.

pokud pak jinak blok#
pokud <> pak
jinak
konec

Parametry

Popis

stav

Výraz nebo proměnná, která se kontroluje při spuštění příkazu. Pokud je hodnota True, spustí se bloky uvnitř bloku if. Pokud je hodnota False, spustí se bloky uvnitř bloku else.

Příklad

pokud pak jinak blok#
při spuštění
[Display a message if the screen is being pressed.]
navždy
vymazat obrazovku
nastavit kurzor na řádek [1] sloupec [1] na obrazovce
pokud <obrazovka stisknuta?> pak
tisk [Pressed!] na obrazovce ▶
jinak
tisk [Not pressed!] na obrazovce ▶
konec

pokud / jinak pokud / jinak#

Rozšiřitelný blok C if / else if / else vybírá, která sada bloků se spustí na základě podmínek:

  • Funkce if spustí svůj blok kódu, pokud je podmínka vyhodnocena jako True.

  • Funkce else if kontroluje další podmínky pouze v případě, že všechny předchozí podmínky byly vyhodnoceny jako False. Lze použít více příkazů else if.

  • Funkce else spustí svůj blok kódu, pouze pokud žádná z předchozích podmínek není vyhodnocena jako True.

pokud jinak pokud jinak blok#
pokud <> pak
jinak pokud <> pak
jinak
konec

Parametry

Popis

stav

Výraz nebo proměnná, která se kontroluje při spuštění příkazu. První podmínka, která je True, spustí danou sadu bloků. Pokud se všechny podmínky vyhodnotí jako False, spustí se bloky uvnitř bloku else.

Příklad

pokud pak jinak blok#
při spuštění
[Move the robot based on the Controller button is being pressed.]
navždy
pokud <[Controller1 v] [▶ v] stisknuto?> pak
otočit [vpravo v]
jinak pokud <[Controller1 v] [◀ v] stisknuto?> pak
otočit [vlevo v]
jinak
zastavit jízdu
konec

přerušení#

Blok break okamžitě ukončí smyčku. Tento blok lze použít uvnitř bloků repeat, repeat until, while a forever. Blok Break je užitečný, když je třeba smyčku předčasně ukončit na základě něčeho, co se stane během projektu, například stisknutí tlačítka nebo senzor detekující objekt.

přerušení bloku zásobníku#
přerušit

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

Po spuštění se otáčení doprava trvá, dokud se nestiskne obrazovka, poté se zastaví.#
při spuštění
[Stop turning after the screen is pressed.]
navždy
otočit [vpravo v]
pokud <obrazovka stisknuta?> pak
přerušit
konec
konec
zastavit jízdu

zastavit projekt#

Blok zásobníku stop project ukončuje spuštěný projekt.

zastavit blok projektu#
zastavit projekt

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

Po spuštění se otáčí doprava, dokud se nestiskne obrazovka, poté se projekt zastaví.#
při spuštění
[Stop the project entirely after the screen is pressed.]
navždy
otočit [vpravo v]
pokud <obrazovka stisknuta?> pak
zastavit projekt
konec
konec