Rozhodování - C++
Sada nástrojů pro učitele
tohoto čtení
Tato STEM laboratoř se zaměřuje na programování robota tak, aby reagoval na detekované podmínky. Tato první četba má za cíl seznámit posluchače s podmíněnými výrazy, booleovskými (PRAVDA nebo NEPRAVDA) podmínkami a s výhodami zahrnutí těchto programovacích struktur do projektu. Studenti by si měli začít uvědomovat, že zahrnutí podmíněného programování zlepšuje reakci robota na své prostředí.
Při pozorování robota se může zdát, že se rozhoduje o svém vlastním chování, ale v rámci programování kontroluje podmínky a podniká příslušné kroky. Studenti by se mohli zamyslet nad tím, jak podmínky ovlivňují jejich vlastní informovaná rozhodnutí.
Rozhodnutí k učinění:Mám si vzít deštník?
Aktuální stav:Pravděpodobně bude pršet (PRAVDA).
Rozhodnutí:Vezměte si deštník.
Rozhodování
Na jejich nejzákladnější úrovni jsou programy psány tak, aby dosáhly jednoduchých sekvencí chování. Můžete například chtít, aby váš robot jel dopředu a také se několikrát otočil, aby dosáhl cíle. Ale co když chcete, aby váš robot počkal na správný čas, aby začal jezdit vpřed a dokončil svou trasu? To by vyžadovalo programování s podmíněnými příkazy. Pomocí podmíněného příkazu byste definovali, jaký je „správný čas začít“ ve vašem projektu. Možná je „správný čas“ po stisknutí tlačítka nebo když senzor detekuje určitou úroveň a poté začne jezdit. Když sledujete chování robota, bude se zdát, že se rozhoduje, kdy začít řídit, ale je to proto, že jste nastavili podmínku pro zahájení jízdy.
Podmíněné příkazy jsou výkonné programovací příkazy, které používají booleovskou podmínku (PRAVDA nebo NEPRAVDA). Pomocí stejného příkladového scénáře, jako je výše, můžete naprogramovat robota, aby opakovaně kontroloval, zda je jeho obrazovka mozku stisknuta, a jel vpřed, když je. Podmíněný příkaz v tomto projektu může znít podobně jako: „Pokud obrazovka zjistí, že je stisknuto (TRUE), spusťte řídicí sekvenci.“ Toto tvrzení nezmiňuje žádné chování, pokud je podmínka NEPRAVDA (obrazovka je, nikoli stisknutá), takže robot neprovede žádnou akci, když je podmínka NEPRAVDA. Podmíněné příkazy vám umožňují vyvíjet projekty, ve kterých se robot chová odlišně v závislosti na tom, co cítí. Pro více informací o booleovské logice kliknětezde.
V následujícím příkladu, pokud je stisknuta obrazovka mozku (TRUE), robot pojede dopředu. Pokud není obrazovka mozku stisknuta (FALSE), robot přestane řídit. To ukazuje, že robot jede dopředu pouze po stisknutí obrazovky mozku, jinak se robot zastaví.
// Start project code
int main() {
// Inicializace konfigurace robota. NEODSTRAŇUJTE!
vexcodeInit();
while (true) {
if (Brain.Screen.pressing()) {
Drivetrain.drive(forward);
}
else {
Drivetrain.stop();
}
}
}
Tipy
učitele
Používání automatického doplňování
Automatické doplňování je funkce ve VEXcode V5, která předpovídá zbytek příkazu, který píšete. Při práci ve VEXcode V5 je povzbuďte k používání funkce automatického doplňování, která jim pomůže se syntaxí Jakmile začnete psát instrukci, můžete si všimnout funkce automatického dokončování. Pomocí kláves „Nahoru“ a „Dolů“ vyberte požadovaný název a poté stiskněte klávesu „Tab“ nebo (Enter/Return) na klávesnici pro potvrzení výběru. Pro více informací o této funkci si přečtěte články o C++.

Rozšiřte si své znalosti
Chcete-li tuto aktivitu rozšířit, požádejte studenty, aby se rozdělili do týmů a vytvořili náčrt bludiště, který bude dokončovat další tým. Bludiště by mělo vyžadovat minimálně tři až pět podmíněných příkazů. Například pokračujte vpřed, dokud nenarazíte na zeď. Pak odbočte doleva. Studenti by měli napsat řešení bludiště ve formě vývojového diagramu. Studenti by si pak měli vyměnit bludiště s jiným týmem, který by měl následně vytvořit řešení bludiště ve formě vývojového diagramu. Oba týmy by pak měly porovnat odpovědi, aby zjistily, jak moc se shodují.
Chcete-li tuto aktivitu propojit s online nebo mobilními hrami, požádejte studenty, aby popsali cíl své oblíbené hry/aplikace. Pak nechte studenty vytvořit vývojový diagram, který popisuje prvních deset rozhodnutí ano/ne nebo pravda/nepravda, kterými se ve hře řídí.