Ellenőrzés#

Bevezetés#

A VEXcode EXP vezérlőblokkjai a projekt folyamatát irányítják a ciklusok, feltételek és a blokkok futtatásának késleltetésével.

Egy ciklus azt jelenti, hogy egy számítógép ugyanazt a lépést vagy lépéscsoportot ismétli újra és újra, amíg utasítást nem kap a leállításra. A feltétel egy olyan szabály, amelyet a számítógép ellenőrzi, hogy eldöntse, mit tegyen ezután. Például egy robot előre tud haladni, ha egy érzékelő egy tárgyat érzékel.

Az alábbiakban a rendelkezésre álló blokkok listája található:

  • wait – Meghatározott ideig szünetelteti a blokkok futását.

  • várjon addig, amíg – Szünetelteti a blokkok futását, amíg egy megadott feltétel nem teljesül.

  • repeat – Meghatározott számú alkalommal ismétel meg egy blokkkészletet.

  • forever – Blokkhalmazt ismétel határozatlan ideig.

  • ismétlésig – Ismétel egy blokkhalmazt, amíg egy feltétel nem teljesül.

  • while – Megismétli a blokkok egy halmazát, amíg egy feltétel igaz marad.

  • if – Blokkhalmazt futtat, ha egy feltétel igaz.

  • if / else – Egy blokkkészletet futtat, ha egy feltétel igaz, egyébként egy másikat.

  • if / else if / else – Különböző blokkkészleteket futtat több feltételtől függően.

  • break – Azonnal kilép a repeat, forever, repeat until vagy while ciklusból.

  • projekt leállítása – Befejezi a projektet.

Várjon#

A várakozás veremblokk egy meghatározott időre szünetelteti a blokkok futását, mielőtt a következő blokkra lépne.

várakozó veremblokk#
várakozás (1) másodpercig

Paraméterek

Leírás

idő

A várakozási idő pozitív egész számként vagy tizedes törtként másodpercben.

Példa

Indításkor egy másodpercig előre mozog, majd minden mozgás leáll.#
amikor elindul
[Move forward for one second, then stop.]
hajtás [előre v]
várakozás (1) másodpercig
hajtás leállítása

Várj, amíg#

A várakozás amíg veremblokk szünetelteti a blokkok futását, amíg egy megadott feltétel nem teljesül, mielőtt a következő blokkra lépne.

várjon, amíg a veremblokk#
várakozás amíg <>

Paraméterek

Leírás

állapot

A feltétel, amelynek teljesülnie kell, mielőtt továbblépnénk a következő blokkra.

Példa

Indításkor előre mozog, amíg meg nem nyomják a ◀ gombot, majd leállítja a mozgást.#
amikor elindul
[Move forward until the ◀ button is pressed, then stop.]
hajtás [előre v]
várakozás amíg <Brain [◀ v] gomb megnyomva?>
hajtás leállítása

ismétlés#

A ismétlés C blokk a benne lévő blokkokat meghatározott számú alkalommal futtatja le.

ismételje meg a C blokkot#
ismétlés [10]
vége

Paraméterek

Leírás

alkalommal

Egy egész szám, amely meghatározza, hogy hányszor fusson le az ismétlés blokk.

Példa

amikor elindul
[Move in a square path.]
ismétlés [4]
hajtás [előre v] irányba [150] [mm v] értékkel ▶
fordulás [jobbra v] irányba [90] fokkal ▶
vége

örökre#

Az örökké C blokk újra és újra lefuttatja a benne lévő blokkokat megállás nélkül.

örökké C blokk#
örökre
vége

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Indításkor folyamatosan, négyzet alakú pályán mozog, 50 mm-t előre haladva és 90 fokkal jobbra fordulva egy végtelen ciklusban.#
amikor elindul
[Move in a square path forever.]
örökre
hajtás [előre v] irányba [150] [mm v] értékkel ▶
fordulás [jobbra v] irányba [90] fokkal ▶
vége

ismételd, amíg#

Az ismétlésig C blokk a benne lévő blokkokat ismételten lefuttatja, amíg a megadott feltétel nem teljesül.

ismételd a blokkig#
ismétlés amíg <>
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet minden ciklus előtt ellenőriz a rendszer. Ha Hamis, a blokkok ismétlődnek. Ha Igaz, a ciklus leáll.

Példa

Indításkor az összes LED pirosan világít, amíg a képernyőt meg nem nyomjuk, majd kikapcsol.#
amikor elindul
[Turn until the screen is pressed.]
ismétlés amíg <képernyő megnyomva?>
fordulás [jobbra v]
vége
hajtás leállítása

míg#

A while C blokk ismételten lefuttatja a benne lévő blokkokat, amíg a megadott feltétel teljesül.

míg a c blokk#
amíg <>
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet minden ciklus előtt ellenőriz a rendszer. Ha Igaz, a blokkok ismétlődnek. Ha Hamis, a ciklus leáll.

Példa

Egy blokkokból álló köteg, amely egy „when started” blokkal kezdődik, majd egy „2 másodperc elteltével megjeleníti az időt” megjegyzésblokk követi. A „wait until” blokk szünetelteti a végrehajtást, amíg az időzítő el nem éri vagy meghaladja a két másodpercet. Ha ez a feltétel teljesül, egy nyomtatási blokk megjeleníti az időzítő értékét a képernyőn.#
amikor elindul
[Display the time for one minute.]
amíg <(időzítő másodpercben) [math_less_than v] [60]>
képernyő törlése
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
(időzítő másodpercben) nyomtatása a képernyőn ▶

ha#

Az ha C blokk lefuttatja a benne lévő blokkokat, ha a feltétel Igaz.

ha blokk#
ha <> akkor
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet a program az utasítás futtatásakor ellenőriz. Ha Igaz, akkor az hamis blokkon belüli blokkok futnak le. Ha Hamis, akkor a blokkok átugranak.

Példa

Indításkor folyamatosan ellenőrzi, hogy megnyomták-e a képernyőt. Ha megnyomják, a robot közepes erővel rúg egy tárgyat.#
amikor elindul
[Turn in a circle if the screen is pressed.]
örökre
ha <képernyő megnyomva?> akkor
fordulás [jobbra v] irányba [360] fokkal ▶
vége
hajtás leállítása
vége

ha / máskülönben#

Az if / else C blokk határozza meg, hogy mely blokkok futnak le az alapján, hogy a feltétel Igaz vagy Hamis.

ha akkor különben blokkol#
ha <> akkor
különben
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet a művelet futtatásakor ellenőriz a rendszer. Ha Igaz, akkor az hamis blokkban lévő blokkok fognak lefutni. Ha Hamis, akkor az más blokkban lévő blokkok fognak lefutni.

Példa

ha akkor különben blokkol#
amikor elindul
[Display a message if the screen is being pressed.]
örökre
képernyő törlése
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
ha <képernyő megnyomva?> akkor
[Pressed!] nyomtatása a képernyőn ▶
különben
[Not pressed!] nyomtatása a képernyőn ▶
vége

ha / különben ha / különben#

Az if / else if / else bővíthető C blokk a feltételek alapján választja ki, hogy mely blokkok fussanak:

  • Az ha függvény lefuttatja a kódblokkját, ha a feltétel Igaz értéket ad ki.

  • Az else if csak akkor ellenőrzi a további feltételeket, ha az összes korábbi feltétel Hamis-nak lett kiértékelve. Több else if utasítás is használható.

  • Az else függvény csak akkor futtatja le a kódblokkját, ha az előző feltételek egyike sem értékelődött ki Igaz-ként.

ha másképp ha másképp blokk#
ha <> akkor
különben ha <> akkor
különben
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet a rendszer ellenőriz az utasítás futtatásakor. Az első feltétel, amely Igaz, lefuttatja a blokkok adott halmazát. Ha minden feltétel Hamis-ként értékelődik, akkor az más blokkon belüli blokkok fognak lefutni.

Példa

ha akkor különben blokkol#
amikor elindul
[Move the robot based on the Controller button is being pressed.]
örökre
ha <[Controller1 v] [▶ v] gomb megnyomva?> akkor
fordulás [jobbra v]
különben ha <[Controller1 v] [◀ v] gomb megnyomva?> akkor
fordulás [balra v]
különben
hajtás leállítása
vége

szünet#

A break veremblokk azonnal kilép a ciklusból. Ez a blokk használható a repeat, repeat until, while és forever blokkokon belül. A Break akkor hasznos, ha egy ciklust korábban le kell állítani valamilyen, a projekt során történt esemény miatt, például egy gomb megnyomása vagy egy érzékelő által érzékelt objektum miatt.

törési veremblokk#
megszakítás

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Indításkor jobbra fordul, amíg a képernyőt meg nem nyomják, majd megáll.#
amikor elindul
[Stop turning after the screen is pressed.]
örökre
fordulás [jobbra v]
ha <képernyő megnyomva?> akkor
megszakítás
vége
vége
hajtás leállítása

projekt leállítása#

A projekt leállítása veremblokk leállítja a futó projektet.

projektblokk leállítása#
projekt leállítása

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Indításkor jobbra fordul, amíg a képernyőt meg nem nyomják, majd leállítja a projektet.#
amikor elindul
[Stop the project entirely after the screen is pressed.]
örökre
fordulás [jobbra v]
ha <képernyő megnyomva?> akkor
projekt leállítása
vége
vége