Ellenőrzés#
Bevezetés#
A vezérlés olyan függvényeket tartalmaz, amelyek az időzítést, a programfolyamatot, a feltételes logikát és a projekt leállítását szabályozzák. Ezek a vezérlők lehetővé teszik a végrehajtás szüneteltetését, ciklusok létrehozását, logikai útvonalak meghatározását és a program leállítását.
Függvények és kulcsszavak#
Az alábbiakban a rendelkezésre álló vezérlők listája látható, beleértve az API-függvényeket és a C++ kulcsszavakat:
wait– Szünetelteti a projektet egy beállított időre.forhez – Egy kódblokkot meghatározott számú alkalommal ismétel.if– Lefuttat egy kódblokkot, ha egy feltétel igaz.if/else– Egy kódblokkot futtat, ha egy feltétel igaz, vagy egy másikat, ha hamis.if/else if/else– Több feltételt sorban ellenőriz, és lefuttatja az első olyan blokkot, amelynek a feltétele igaz.while– Megismétli a kódblokkot, amíg egy feltétel igaz marad.break– Azonnal kilép az aktuális ciklusból.programStop– Azonnal leállítja a projektet.
wait#
Meghatározott ideig szünetelteti a projektet, mielőtt a kód következő sorára ugrana.
Available Functionsvoid wait(
double time,
timeUnits units );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A várakozási idő, pozitív |
|
|
Az idő mértékegysége: |
Ez a függvény nem ad vissza értéket.
Examples// Stop driving after 1 second
Drivetrain.drive(forward);
wait(1, seconds);
Drivetrain.stop();
for#
Megismétli a kódblokkot. A számláló űrlap meghatározott számú alkalommal fut le; a tartományalapú űrlap egyszer fut le a gyűjtemény minden elemére.
Syntax1 — Számláló ciklus — meghatározott számú alkalommal fut le.
for (int i = 0; i < count; i++) { // code block }
Parameters2 — Tartományalapú ciklus — egy gyűjtemény minden elemére egyszer fut le.
for (type element : collection) { // code block }
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A kódblokk ismétlődéseinek száma. |
|
Típusnév |
A gyűjteményben található egyes elemek adattípusa (pl. |
|
|
A ciklus aktuális elemének értékét tároló változó neve. |
|
|
A tömb (vagy vektor), amely a cikluson keresztül végigjátszandó elemeket tartalmazza. |
Ez a vezérlőstruktúra nem ad vissza értéket.
Examples// Drive in a square
for (int i = 0; i < 4; i++) {
Drivetrain.driveFor(forward, 100, mm);
Drivetrain.turnFor(right, 90, degrees);
}
// Drive forward different distances
int distances[] = {100, 150, 200};
for (int d : distances) {
Drivetrain.driveFor(forward, d, mm);
wait(0.5, seconds);
}
if#
Lefuttatja a mellékelt kódblokkot, ha a feltétel true.
if (condition) {
// code block
}
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy kifejezés vagy változó, amely kiértékelésre kerül az utasítás futtatásakor. Ha |
Ez a vezérlőstruktúra nem ad vissza értéket.
Exampleswhile (true) {
if (Brain.Screen.pressing()) {
// Display a message once the screen is pressed
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Screen pressed!");
break;
}
wait(5, msec);
}
if/else#
Meghatározza, hogy melyik mellékelt kódblokk futjon az alapján, hogy a feltétel true vagy false.
if (condition) {
// code block if true
}
else {
// code block if false
}
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy kifejezés vagy változó, amely kiértékelésre kerül az utasítás futtatásakor. Ha |
Ez a vezérlőstruktúra nem ad vissza értéket.
Exampleswhile (true) {
if (Brain.Screen.pressing()) {
// Turn the screen green when pressed
Brain.Screen.clearScreen(green);
} else {
Brain.Screen.clearScreen();
}
}
if/else if/else#
Több feltétel alapján kiválasztja, hogy melyik mellékelt kódblokk futjon.
Syntaxif (condition) {
// code block if first condition is true
}
else if (condition) {
// code block if second condition is true
}
else {
// code block if no conditions are true
}
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy kifejezés vagy változó, amely kiértékelésre kerül az utasítás futtatásakor. Az első feltétel, amely |
Ez a vezérlőstruktúra nem ad vissza értéket.
Notesif, lefuttatja a blokkját, ha a feltétel igaz,true.else ifcsak akkor ellenőrzi a további feltételeket, ha az összes előző feltétel hamis.falseTöbbszöröselse ifutasítások használhatók.elsecsak akkor futtatja le a blokkját, ha az előző feltételek egyike sem teljesültrue.
while (true) {
// Turn screen blue if pressed on the left half
if (Brain.Screen.pressing() && Brain.Screen.xPosition() < 240) {
Brain.Screen.clearScreen(blue);
// Turn screen green if pressed on the right half
} else if (Brain.Screen.pressing() && Brain.Screen.xPosition() > 240) {
Brain.Screen.clearScreen(green);
} else {
Brain.Screen.clearScreen();
}
wait(20, msec);
}
while#
Ismételten futtatja a kódot, amíg a feltétel true.
while (condition) {
// code block
}
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy kifejezés vagy változó, amely minden iteráció előtt kiértékelődik. Ha |
Ez a vezérlőstruktúra nem ad vissza értéket.
NotesHasználható úgy is, mint egy „Várj eddig” feltétel, ha a feltétel elé
!írunk, ahogy az az alábbi példákban látható.
while (true) {
if (Brain.Screen.pressing()) {
// Turn the screen green whenever it's pressed
Brain.Screen.clearScreen(green);
} else {
Brain.Screen.clearScreen();
}
}
// Wait until the screen is pressed to turn it green
while (!Brain.Screen.pressing()) {
wait(20, msec);
}
Brain.Screen.clearScreen(green);
break#
Azonnal kilép az aktuális ciklusból. Beágyazott ciklus esetén break kilép a legbelső ciklusból.
break;
Ez az utasítás nem fogad el paramétereket.
Return ValuesEz az utasítás nem ad vissza értéket.
Exampleswhile (true) {
// Press the screen to pause on a color
Brain.Screen.clearScreen(red);
wait(500, msec);
if (Brain.Screen.pressing()) {
break;
}
Brain.Screen.clearScreen(green);
wait(500, msec);
if (Brain.Screen.pressing()) {
break;
}
}
programStop#
Azonnal befejezi a projektet.
SyntaxBrain.programStop();
Ez az utasítás nem fogad el paramétereket.
Return ValuesEz az utasítás nem ad vissza értéket.
Exampleswhile (true) {
// Press the screen to end the project
Brain.Screen.clearScreen(red);
wait(500, msec);
if (Brain.Screen.pressing()) {
Brain.programStop();
}
Brain.Screen.clearScreen(green);
wait(500, msec);
if (Brain.Screen.pressing()) {
Brain.programStop();
}
}