Naučili se jej nastavit pro další práci. Nyní pojďme přímo ke kompilaci algoritmů pro robota pomocí jednoduchých příkazů.

Pokud dáváte přednost informacím ve formátu videonávodů, pak web obsahuje výukové video

Každý účinkující musí mít příkazový systém ( LYŽEexekutorský příkazový systém). Exekutorský příkazový systém- sada všech příkazů, které může umělec provést. Jako příklad uveďme vycvičeného psa. Ví, jak vykonávat některé povely – „Sedni“, „Lehni“, „Další“ atd. Toto je její povelový systém.

Jednoduché příkazy robota

Náš robot má také příkazový systém. Dnes se podíváme na jednoduché příkazy robota. Je jich celkem 5:

  • nahoru
  • doleva
  • že jo
  • přemalovat

Výsledek provádění těchto příkazů je jasný z jejich názvu:

  1. nahoru— posuňte robota o jednu buňku nahoru
  2. dolů— posuňte robota o jednu buňku dolů
  3. doleva— posuňte robota o jednu buňku doleva
  4. že jo— posuňte robota o jednu buňku doprava
  5. přemalovat— přebarvit aktuální buňku (buňku, ve které se robot nachází).

Tyto příkazy lze psát z klávesnice nebo můžete použít horké klávesy (jejich stisknutím se příkazy vloží automaticky):

  • nahoru - uniknout, nahoru (šipka nahoru)
  • dolů - uniknout, dolů (šipka dolů)
  • doleva - uniknout, doleva (šipka doleva)
  • vpravo - Escape, Right (šipka vpravo)
  • přemalovat - Útěk, Prostor (prostor)

Vezměte prosím na vědomí, že musíte vytočit požadovanou kombinaci horkých kláves ne obvyklým způsobem! Jsme zvyklí mačkat klávesy současně, ale tady jsou potřeba stiskněte postupně. Chcete-li například zadat příkaz nahoru, musíte stisknout klávesu Escape, uvolnit ji a poté stisknout šipku nahoru. Toto je třeba mít na paměti.

Nyní jsme připraveni napsat první algoritmus pro robota. Navrhuji začít s jednoduchým - nakreslete čtverec o straně 3 buněk. Jít!

Spouštíme Idol, to. Mohu začít psát program? Samozřejmě že ne! Nejsme! Pojďme na to. Doporučuji použít tento:

Nyní je vše připraveno. Začněme psát program. Dokud takhle vypadá

Smazat symbol "|" a nazvěte náš algoritmus "čtverec"

Navrhuji nakreslit čtverec ve směru hodinových ručiček. Nejprve namalujte aktuální buňku zadáním příkazu přemalovat. Pak uděláme krok doprava a znovu malujeme přes celu. A ještě jednou vykročte doprava a přemalujte.

Zkusme program spustit a uvidíme, co se stane. Stisknutím spustíte F9 nebo tlačítko na panelu nástrojů

Ve výsledku bychom měli vidět něco takového

Pokud takové okno robota nemáte, klikněte na panelu nástrojů na " Zobrazit okno robota“ nebo v nabídce Robot vyberte položku „ Zobrazit okno robota". Pokračujeme dále.

Nyní se přesuneme dolů a vybarvíme pravou stranu čtverce:

dolů

přemalovat

dolů

přemalovat

Pak jdeme doleva a namalujeme spodní okraj čtverce

doleva

přemalovat

doleva

přemalovat

Zbyla nám jedna nevybarvená buňka. Pojďme to namalovat

nahoru

přemalovat

Vše je připraveno! V důsledku toho náš program vypadá takto:

používat robota

alg Náměstí

brzy

přemalovat

že jo

přemalovat

že jo

přemalovat

dolů

přemalovat

dolů

přemalovat

Robotický umělec má příkazový systém. Zvážit jednoduché příkazy robota. Je jich celkem 5:

    nahoru- posuňte robota o jednu buňku nahoru

    dolů- posuňte robota o jednu buňku dolů

    doleva- posuňte robota o jednu buňku doleva

    že jo- posuňte robota o jednu buňku doprava

    přemalovat

Cvičení 1. Nakreslete čtverec o straně 3 buněk.

Spuštění Kumir

Smazat symbol "|" a nazvěte náš algoritmus "čtverec" (vedle servisního slova alg napsat Náměstí)

přemalovat

přemalovat

přemalovat

Spusťte program a uvidíte, co se stane. Stisknutím spustíte F9 nebo tlačítko na panelu nástrojů Spusťte program

Pokud takové okno robota nemáte, klikněte na panelu nástrojů na " Zobrazit okno robota“ nebo v nabídce Robot vyberte položku „ Zobrazit okno robota". Pokračujeme dále:

dolů

přemalovat

dolů

přemalovat

Pak jdeme doleva a namalujeme spodní okraj čtverce

doleva

přemalovat

doleva

přemalovat

Zbyla nám jedna nevybarvená buňka. Pojďme to namalovat

nahoru

přemalovat

Vše je připraveno! V důsledku toho náš program vypadá takto:

používat robota

alg náměstí

přemalovat

přemalovat

přemalovat

přemalovat

přemalovat

přemalovat

přemalovat

přemalovat

Úkol 2.Použitím jednoduché příkazy robota, napsat program, který nakreslí písmeno P, R, W, W, T, N.

Podmíněná smyčka.

Robotický umělec má několik podmínek: nahoře volný dole volný levý volný pravý volný horní stěna spodní stěna

levá stěna pravá stěna

Úkol 3 .

kreslit svislá čára zleva doprava hranice pole používám smyčku s podmínkou. Zpočátku je robot v levém horním rohu.

Zdroj náš robotický program bude vypadat nějak takto:

používat robota

alg

brzy

přemalovat

nc, zatímco právo zdarma

že jo

přemalovat

kts

ošidit

V důsledku spuštění tohoto programu uvidíme následující obrázek:

Úkol 4.Napište program, který vytvoří rám kolem pracovního pole robota, bez ohledu na jeho velikost. Samozřejmě pomocí podmíněných smyček. Ve výsledku by to mělo dopadnout takto:


Celý proces se skládá ze dvou fází: montáže a programování. Sbírat dobrý robot je nutná znalost mechaniky. Chcete-li naprogramovat robota pro určité akce, musíte znát jazyk, kterému budete rozumět základní deska nebo programový blok. Školní znalosti z informatiky zde nestačí.

Kde získat materiál?

Nejprve se musíte rozhodnout, jak chcete robota sestavit: z hotových sad nebo vybrat materiály sami. Výhodou stavebnice je, že nemusíte jednotlivé díly shánět jednotlivě. Nejčastěji lze z jedné sady sestavit několik zařízení.

Struktura, která není sestavena z hotové sady, se nazývá otevřený systém. Má to také své výhody: váš robot bude individualita a vy sami budete moci vylepšit design. Ale určitě strávíte více času a úsilí.

Z čeho je robot vyroben?

Pouzdro - kovové nebo plastové "tělo", ke kterému jsou připojeny zbývající části. Každý robot má zdroj energie – baterie nebo akumulátor. Podle toho, jaký úkol bude robot vykonávat, se vybírají senzory: dokážou detekovat barvu a světlo a reagovat na dotyk.

Aby se robot pohyboval, potřebujete motory. "Hlava" celého mechanismu - základní desky nebo programového bloku. S jejich pomocí se robot připojí k počítači a dostane sadu úkolů.

Jak ho přimět, aby něco udělal?

Aby robot mohl provést nějakou akci, musíte vytvořit počítačový program. Složitost tohoto kroku závisí na montáži. Pokud je robot sestaven ze sady Lego Mindstorms nebo mBot, jejich software zvládnou i děti.

Pokud si stavíte robota sami, musíte se naučit základy programování a jazyk, ve kterém budete program psát, například C++.

Proč robot nemůže spustit program?

Když se dostane na nové místo, může sejít a spustit program nesprávně. Aby robot dělal vše správně, je nutné seřídit senzory. Například příliš jasné osvětlení může narušit adekvátní rozpoznání barev. V závislosti na povrchu, po kterém se robot pohybuje, se reguluje výkon motorů.

Mohu se ve škole naučit sestavovat a programovat?

Navzdory tomu, že robotika není součástí školních osnov, učitelé fyziky a informatiky mohou dítě naučit sestavovat a programovat. V Belgorodu mají některé školy kroužky, kde dělají roboty.

„Po hodinách s učiteli fyziky a informatiky se učíme programovat. Už víme, jak pracovat v LegoMindstorms a Robolab ( software pro roboty - cca. vyd.). Občas se také učíme, jak dělat 3D výkresy dílů,“ uvedli studenti Belgorod Engineering Youth Boarding Lyceum a účastníci RoboFest-2018. Anton Peršin A Dmitrij Černov.

Kde se kromě školy může stát robotníkem?

Inženýrská škola BelSU má třídu, kde se učí sestavovat a programovat roboty. V roce 2017 se v Belgorodu otevřelo Quantorium, kde se školáci učí robotice od devíti let.

Chcete-li se stát skutečným robotikem, můžete vstoupit na Fakultu robotiky. V Belgorodu zatím žádní takoví nejsou, ale v BSTU im. Shukhov má oddělení technické kybernetiky. Její studenti získávají ceny na celoruských soutěžích v robotice.

Dokážete se učit sami?

Ano. Na internetu je mnoho zdrojů, kde se můžete naučit, co postavit a jak naprogramovat robota.

Bude robot užitečný?

Lze jej přizpůsobit pro každodenní úkoly a udělat z něj pomocníka v domácnosti. Na internetu je mnoho příkladů, jak domácí vynálezci vytvářejí roboty na pečení palačinek nebo úklid bytu.

Jak potvrdit svůj úspěch ve vytváření robotů?

Zúčastněte se soutěží jako je RoboFest. Existují různé nominace v závislosti na věku a směru. V zásadě má každý typ robota dráhu, na které plní úkoly: zachycuje krychli nebo kreslí čáru. Existují i ​​statické systémy, ve kterých rozhodčí hodnotí prezentaci projektu a fungování mechanismů.

Účastníci zpravidla přicházejí na soutěže s sestavené roboty a v přípravě tráví čas pouze kalibrací senzorů a nastavováním programu.

Redakce děkuje za pomoc při tvorbě materiálu účastníků RoboFestu-2018 Dmitrij Agafonov, Dmitrij Černov, Anton Peršin A Danila Migrina.

Natalia Malyihina

Robot řízení exekutora v systému KUMIR

Robot existuje v určitém prostředí (obdélníkové kostkované pole). Mezi některými buňkami pole mohou být umístěny stěny. Některé buňky mohou být zastíněné (obr. 3.11).

Robot zabírá přesně jednu buňku pole.

Na příkazy nahoru, dolů, doleva a doprava se robot přesune do další buňky v určeném směru. Pokud je na cestě zeď, dojde k poruše - zobrazí se zpráva o nemožnosti provedení dalšího příkazu.

Na příkaz k přemalování robot přemaluje buňku, ve které stojí. Pokud již byla buňka přelakována, bude přelakována znovu, ačkoliv nedojde k žádným viditelným změnám.

Robot může provádět pouze správně napsané příkazy. Pokud místo příkazu zapíšete, pak Robot tomuto zadání nerozumí a okamžitě ohlásí chybu.

O
chyby: 1 syntaktické; 2. logické

Popisy scén jsou uloženy v textové soubory speciální formát (formát .fil).

Aktuální- prostředí, ve kterém se robot nachází tento moment(včetně informací o poloze Robota).

Domov- prostředí, do kterého je Robot násilně umístěn na začátku provádění programu pomocí Robota.

Operační postup:


  1. Dotázat se startovací prostředí podle zadání:
Nabídka Nástroje → Změnit výchozí prostředí robota (nakreslit prostředí podle stavu úkolu, pojmenovat, uložit do složky Osobní)

2. Uveďte dodavatele:

Nabídka Vložit → Použít robota

3. Napište algoritmus pro řešení problému.

4. Spusťte algoritmus (Menu Spustit → Spustit nepřetržitě / F9)

Systém příkazů vykonavatele Robota v systému KUMIR


tým

Akce

nahoru

Robot se posune o 1 buňku nahoru

dolů

Robot se posune o 1 buňku dolů

doleva

Robot se posune o 1 buňku doleva

že jo

Robot se posune o 1 buňku doprava

přemalovat

Robot maluje buňku, ve které se nachází

právo zdarma

Robot kontroluje provedení příslušného jednoduchý podmínky

ponechán volný



horní volný



dno volné



buňka je zastíněna



klec čistá



Cyklické algoritmy

Cyklus organizace opakujících se akcí, dokud není splněna určitá podmínka .

Tělo smyčky - soubor opakovatelných akcí.

podmínka - booleovský výraz (jednoduchý nebo komplexní (složený))
Typy cyklů:

1.Smyčka "Opakujte nkrát" 2. Smyčka "Sbohem"
nc n krát nashledanou
. . Tělo smyčky. . Tělo smyčky
kts kts

Příklad: nashledanou právo zdarma


Celkový pohled na smyčku "Opakujte nkrát:

OPAKOVÁNÍ n KRÁT

KONEC
kts

Celkový pohled na smyčku while:

KDYŽ DĚLAT

KONEC
Složené podmínky vytvořené z jednoho nebo více jednoduché podmínky a služební slova A NEBO NE.


Složený stav A a B(kde A, B jsou jednoduché podmínky) je splněna, když je splněna každá ze dvou jednoduchých podmínek v ní obsažených.

Ať A - nahoře zdarma V - zdarma vpravo pak složená podmínka A a B- zdarma nahoře A zdarma vpravo.


Složený stav A NEBO B je splněna, je-li splněna alespoň jedna ze dvou jednoduchých podmínek v něm obsažených: nahoře zdarma NEBO vpravo zdarma
Složený stav NE A- splněno, když podmínka A není splněna.

Příklad: Nechť A je stínovaná buňka (jednoduchá podmínka).

P Kontrola složeného stavu NE A:

a) A - hotovo, NOT A (NE šrafované) - nedokončeno.

b) A – nedokončeno, NE A (NEŠtínováno) – hotovo.


Příkaz větve

Větvení - forma organizace úkonů, při níž se v závislosti na splnění či nesplnění určité podmínky provádí buď ten či onen sled úkonů.

Obecný pohled na příkaz IF:

LI ŽE V OPAČNÉM PŘÍPADĚ

KONEC

V jazyce KUMIR:

Úplná větev: Částečná větev:
Li Že Li Že

v opačném případě

všechny všechny

Pomocný algoritmus- algoritmus, který řeší nějaký dílčí problém hlavního problému.

V systému KUMIR jsou pomocné algoritmy zapsány na konci hlavního programu (po oficiální slovo ošidit) jsou volány ke spuštění v hlavním programu podle jména.

V průzkumy a úkoly

1. Zadejte všechny algoritmy tří příkazů, které přesunou robota z jeho původní pozice do buňky B.

Existuje algoritmus pro tento úkol, během kterého robot dělá:

a) dva kroky b) čtyři kroky; c) pět kroků; d) sedm kroků?


  1. Péťa vytvořil algoritmus, který přenese robota z buňky A do buňky B s překreslenými buňkami. Co by měl Kolja s tímto algoritmem udělat, aby získal algoritmus, který vezme robota z B do A a vyplní stejné buňky?


7. Dva jsou známí pomocné algoritmy Robot

Nakreslete, co se stane, když robot provede následující základní algoritmy:


A)

nc 5krát


vzor_1

že jo; že jo;


b)

nc 7krát


vzor_2

že jo; že jo


PROTI)
že jo; že jo; že jo

nahoru; nahoru

že jo; že jo; že jo

dolů; dolů


G)
že jo; že jo
že jo; že jo

8. Vytvořte algoritmy, podle kterých bude robot malovat zadané buňky:



9. Je známo, že někde napravo od Robota je zeď. Sestavte algoritmus, pod jehož kontrolou robot přemaluje řadu buněk až ke zdi a vrátí se do původní polohy.

10. Je známo, že někde napravo od Robota je zastíněná buňka.

S opusťte algoritmus, pod jehož kontrolou Robot vybarví řadu buněk až k zastíněné buňce a vrátí se do původní polohy.

11. Je známo, že Robot se nachází poblíž levého vchodu do horizontální chodby.

12. Je známo, že Robot je někde ve vodorovné chodbě. Žádná z cel chodby není vymalovaná.

Sestavte algoritmus, pod jehož kontrolou robot přetře všechny buňky této chodby a vrátí se do původní polohy.


13. V řadě deseti buněk napravo od robota jsou některé buňky stínované.

S opusťte algoritmus, který maluje buňky:

a) pod každou zastíněnou buňkou;

b) nad a pod každou zastíněnou buňkou.


14. Co lze říci o správnosti následujícího fragmentu algoritmu?

nashledanou buňka je zastíněna

LI právo zdarma ŽE

že jo; přemalovat

Na
C

15. Napište program, pomocí kterého se Robot dostane do buňky B ve všech třech bludištích.


16. Napište program, podle kterého bude robot moci jít chodbou z levého dolního rohu pole do pravého horního rohu. Chodba má šířku jedné buňky a táhne se ve směru zleva-dolů-vpravo nahoru. Příklad možného koridoru je na obrázku.

Z

adachi GIA


  1. Chodba 1. Robot je někde ve vertikální chodbě. Žádná z cel chodby není vymalovaná. Vytvořte algoritmus, podle kterého robot překreslí všechny buňky této chodby a vrátí se do své původní polohy.

  1. NA
    Nutné

    Dáno
    chodba2. Robot je umístěn v horní buňce úzké vertikální chodby. Šířka chodby je jedna buňka, délka chodby může být libovolná.

Možná varianta počátečního umístění robota je znázorněna na obrázku (robot je označen písmenem „P“)

Napište algoritmus pro robota, který vyplní všechny buňky uvnitř chodby a vrátí robota do původní polohy. Například pro výše uvedený obrázek by měl robot překreslit následující buňky (viz obrázek):


  1. Na nekonečném poli je dlouhá vodorovná stěna. Délka zdi není známa. Robot je v jedné z klecí přímo nad zdí. Počáteční poloha robota je také neznámá. Jedna z možných pozic:
H


Nutné

Dáno
Napište algoritmus pro robota, který vybarví všechny buňky nad a přiléhající ke stěně, bez ohledu na velikost stěny a počáteční polohu robota. Například pro daný výkres musí robot překreslit následující buňky:

Konečná pozice robota může být libovolná. Při provádění algoritmu by neměl být robot zničen.



  1. Na nekonečném poli je dlouhá kolmá stěna. Délka zdi není známa. Robot je v jedné z klecí umístěných přímo napravo od zdi. Počáteční poloha robota je také neznámá. Jedna z možných pozic robota je znázorněna na obrázku (robot je označen písmenem „P“): Napište algoritmus pro práci, která maluje přes všechny buňky přiléhající ke zdi: vlevo, počínaje shora nenatřený a přes jeden; na pravé straně, počínaje zdola stínované a přes jednu. Robot musí přebarvit pouze buňky, které vyhovují tento stav. Například pro výše uvedený obrázek musí robot vyplnit následující buňky (viz obrázek): Konečné umístění robota může být libovolné. Algoritmus musí vyřešit problém pro libovolnou velikost stěny a jakoukoli platnou počáteční polohu robota. Při provádění algoritmu by se robot neměl zhroutit.


Napište algoritmus pro robota, který vybarví všechny buňky umístěné nalevo od svislé stěny a nad vodorovnou stěnou a přilehlé k nim. Robot musí přetírat pouze buňky, které splňují tuto podmínku. Například pro výše uvedený obrázek musí robot překreslit následující buňky (viz obrázek).


H napište algoritmus pro robota, který maluje buňky sousedící se stěnou, shora a zdola, počínaje zleva a přes jednu. Robot musí přetírat pouze buňky, které splňují tuto podmínku. Například pro daný obrázek a) musí robot překreslit následující buňky (viz obr. b).

Konečná pozice robota může být libovolná. Algoritmus musí vyřešit problém pro libovolnou velikost stěny a jakoukoli platnou počáteční polohu robota.



R

  1. Na nekonečném poli je dlouhá kolmá stěna. Délka zdi není známa. Robot je v jedné z klecí umístěných přímo nalevo od zdi. Počáteční poloha robota je také neznámá. Jedna z možných poloh robota je znázorněna na obrázku (robot je označen písmenem „P“):
Napište pro práci algoritmus, který vykreslí všechny buňky sousedící se stěnou:

  • vše vlevo;

  • vpravo, počínaje shora nenatřeným a přes jeden.
Robot musí přetírat pouze buňky, které splňují tuto podmínku.

B
1102_GIA2011

Na nekonečném poli jsou dvě vodorovné stěny. Délka stěn není známa. Vzdálenost mezi stěnami není známa. Robot je umístěn nad spodní stěnou v kleci umístěné na jejím levém okraji. Napište algoritmus pro robota, který vybarví všechny buňky umístěné nad spodní stěnou a pod horní stěnou a přilehlé k nim. Robot musí přetírat pouze buňky, které splňují tuto podmínku. Například pro výše uvedený výkres musí robot vyplnit následující buňky (viz obrázek):

Konečné umístění robota může být libovolné. Algoritmus musí vyřešit problém pro libovolnou velikost pole a jakékoli přípustné umístění stěn uvnitř obdélníkového pole. Při provádění algoritmu by se robot neměl zhroutit.


V
1103_GIA_2011


Na nekonečném poli je vodorovná stěna. Délka zdi není známa. Z pravého konce stěny se táhne dolů svislá stěna, rovněž neznámé délky. Robot je umístěn nad vodorovnou stěnou v kleci umístěné na jejím levém okraji. Obrázek ukazuje jeden z možné způsoby umístění zdí a Robota (Robot je označen písmenem „P“).

Napište algoritmus pro robota, který vybarví všechny buňky umístěné nad vodorovnou stěnou a napravo od svislé stěny a přilehlé k nim. Robot musí přetírat pouze buňky, které splňují tuto podmínku. Například pro výše uvedený obrázek musí robot překreslit následující buňky (viz obrázek).

Performer Robot existuje v obdélníkovém poli, rozděleném na buňky, mezi kterými mohou být stěny a vejde se zcela do jedné buňky. Robot se může pohybovat po poli, malovat buňky, měřit teplotu a záření. Robot nemůže projít stěnami, ale může zkontrolovat, zda je vedle něj zeď.

Příkazový systém umělce "Robot" zahrnuje:

  • 5 příkazů, které způsobují akce robota (doleva, doprava, nahoru, dolů, přemalovat)
  • 10 příkazů pro kontrolu stavu:
  • 8 příkazů jako [vlevo/vpravo/dole/nahoře] [zeď/volno]
  • 2 příkazy jako klec [stínovaný/čistý]
  • 2 příkazy pro měření (teplota, záření)

akční příkazy

Zkontrolujte příkazy

tým Popis
log ponechán volný Vrací ano, pokud se robot může pohybovat doleva, jinak ne.
přihlášení vpravo je zdarma Vrací ano, pokud se robot může pohybovat doprava, jinak ne.
přihlásit top zdarma Vrací ano, pokud se robot může posunout nahoru, jinak ne.
přihlásit se níže volně Vrací ano, pokud robot může jít dolů, jinak ne.
log levá stěna Vrací ano, pokud je nalevo od robota zeď, jinak ne.
log pravá stěna Vrací ano, pokud je napravo od robota zeď, jinak ne.
log horní stěna Vrací ano, pokud je nad robotem zeď, jinak ne.
srub spodní stěna Vrací ano, pokud je pod robotem zeď, jinak ne.
buňka protokolu je stínovaná Vrátí ano, pokud je buňka vyplněna, a ne, pokud buňka vyplněna není.
přihlásit buňku vyčistit Vrátí ne, pokud je buňka vyplněna, a ano, pokud není vyplněna.

Příkazy pro měření

Nechť je požadováno přenést z buňky nalevo od stěny do buňky napravo od stěny:

Algoritmus může vypadat takto:

používat robota
příklad alg 1
brzy
. dolů
. že jo
. nahoru
ošidit

Pokud se pokusíte vést robota skrz zeď, dojde k selhání. Robot narazí do zdi a už nebude moci dále plnit příkazy.


Pojďme napsat algoritmus, podle kterého robot projde bludištěm z bodu A do bodu B:

používat robota
alg od A do B
brzy
. že jo

. nahoru ; nahoru ; že jo ; dolů; dolů; že jo
. nahoru ; nahoru ; že jo ; dolů; dolů; že jo
ošidit

Příkazy pro průchod každého úseku lze seskupit do jednoho řádku - to zkracuje záznam algoritmu a činí jej srozumitelnějším. Aby bylo možné psát příkazy na jeden řádek, musí být odděleny středníkem.