Úlohou učiteľa je kráčať touto cestou so študentom, nepoisťovať sa proti neúspechom, ale predchádzať sklamaniu z dôvodu možné ťažkosti. Je veľmi dôležité organizovať hodiny tak, aby deti prostredníctvom zmysluplných aktivít objavovali pre seba nové veci.
Ako pomáha robot učiť sa informatiku? Poukážem len na niekoľko tém informatiky, na ktorých je robotika založená.
Téma "Súbory a súborový systém".
Študent mal k dispozícii mikropočítač LEGO®NXT zo vzdelávacej sady LEGO Mindstorms NXT Education. Ovládajte to systém súborov sa vyskytuje pri štandardných príkazoch, ale keďže množstvo pamäte nie je veľké, treba neustále kontrolovať kontrolu potrebného a nepotrebného. Aby bolo možné vyjadriť akcie robota, zobraziť obrázok, doplniť knižnicu pracovných programov, je potrebné pracovať so základnými pojmami informatiky: súbor, typ súboru, cesta k súboru, menu, priečinok.
Téma "Informačné procesy", "Kódovanie informácií".
Robotická súprava je vybavená senzormi, ktoré registrujú zvukové, hmatové a obrazové informácie. Po digitalizácii je možné informácie zobraziť na displeji. Špeciálna funkcia mikropočítača umožňuje experimentovať so snímačmi, motormi, pomocou programov pripravených na spustenie. Po vykonaní série experimentov so senzormi vzniká pochopenie: prečo je ultrazvukový senzor vzdialenosti pomalší ako senzor infračerveného svetla, ako sa zvuk prevádza na digitálny kód atď. Štúdium informačných procesov a princípov kódovania informácií dáva hlbšie pochopenie podstaty informačných technológií.

Téma "Komunikačné technológie".
Mikropočítač LEGO®NXT podporuje technológiu bezdrôtová komunikácia. Pomocou funkcie Bluetooth môžete nastaviť bezdrôtové pripojenie medzi mikropočítačom NXT a inými zariadeniami, ktoré majú zariadenie Bluetooth, ako napríklad iné NXT mobilné telefóny alebo s počítačmi. Nastavením bluetooth pripojenie, možno: sťahovanie programov z počítača na diaľku; posielať programy z iných zariadení (nie z počítača), vrátane NXT; posielať programy jednotlivým NXT aj ich skupinám. Táto technológia umožňuje ovládať robota pomocou mobilného telefónu.

Témy „Algoritmy. Vykonávateľ algoritmov“, „Programovacie prostredie“.
Na úvodné predstavenie robota môžete priamo naprogramovať jednotku NXT bez prístupu k počítaču. Priamo na displeji môžete podľa šablóny piatich príkazov skladať jednoduchý program a zacykliť ho. Bez znalosti základných algoritmických štruktúr a vývoja programovacieho prostredia sa však nezaobídeme. Práve schopnosť naprogramovať robota z neho robí univerzálneho umelca schopného riešiť rôzne úlohy. Začať ovládať programovaciu technológiu by malo byť s vizuálnymi programovacími prostrediami, potom by ste mali prejsť na výkonnejšie a modernejšie prostredia riadené udalosťami.
Robotika si teda vyžaduje základné znalosti informatiky a nevyčerpateľná túžba študenta urobiť zo svojho robota „najlepšieho“ ho tlačí k osvojeniu si nových vedomostí.
Prečo možno robota nazvať ideálnym učebným nástrojom? Pretože tento nástroj umožňuje vytvoriť učebné prostredie, ktoré znovu získa prirodzené túžby dieťaťa hrať sa, tvoriť a komunikovať s rovesníkmi. Môžeme teda zdôrazniť výhody robotiky ako prostriedku vzdelávania:
. K asimilácii vedomostí dochádza počas hry.
. Konštrukcia robota ponúka kreatívnu slobodu.
. Túžba zlepšiť svoju prácu je u väčšiny študentov.

Ako príklad by som uviedol model „Robota na rozvoz jedla zadarmo“, ktorý vytvoril žiak 6. ročníka v rámci kurzu „Programovanie robotom“ v rámci mimoškolských aktivít. Robot je vyrobený zo sady LEGO MINDSTORMS NXT Education 9797 s použitím štandardného modelu Alfarex 1.0 a je doplnený farebným senzorom na indikáciu stavu robota a podnosom na maškrty.
Cieľom práce je implementovať model ľudskej chôdze v maximálnej možnej miere s dostupnými zdrojmi. Pohyb každej nohy je riadený motorom a mechanickou zostavou ozubených kolies a pák. Jedna páka pohybuje nohou hore a dole, druhá ju posúva dopredu. V tomto prípade sa telo odchyľuje smerom k podpernej nohe, vďaka čomu robot udržuje rovnováhu. Táto chôdza sa nazýva "miešanie"
Samostatný motor ovláda snímač vzdialenosti a ramená páky, ktoré držia dotykový snímač a snímač farieb. Podnos na maškrty je upevnený nehybne.
Robot je naprogramovaný tak, aby vykonával úlohu podomového obchodníka, napríklad bezplatné maškrty, podľa nasledujúceho algoritmu správania. Robot sprevádza svoj pohyb v priamom smere vetou: „Som robot Alpharex, ošetrujem ťa zadarmo! Osoba, ktorá chce nadviazať kontakt s robotom, ho môže zastaviť gestom. Po zastavení robot povie vetu: „Pomôžte si a stlačte tlačidlo!“. Pri prijímaní cukríka musí človek ako prejav vďaky stlačiť tlačidlo raz. Tri sekundy po zastavení bude robot pokračovať v pohybe. Keď pochúťky skončia (robot je naprogramovaný na konkrétne množstvo sladkostí na tácke), robot sa rozlúči, rozsvieti sa červená kontrolka, robot sa zastaví.

Program na ovládanie robota bol napísaný v prostredí NXT Programming 2.0.

Riešenie 20.1 Úlohy OGE 2017 v informatike z dema. To je úlohou druhej časti s podrobnou odpoveďou, vysokou úrovňou zložitosti. Odhadovaný čas na dokončenie úlohy je 45 minút. Za túto úlohu môžete získať maximálne 2 body. Úloha beží na počítači.

Skontrolované prvky obsahu:
- schopnosť napísať krátky algoritmus v prostredí formálneho interpreta.

Popis prvkov obsahu testovaných počas skúšky:
- algoritmus,
vlastnosti algoritmov,
— spôsoby zápisu algoritmov,
- blokové schémy,
- Úvod do programovania
- algoritmické štruktúry,
boolovské hodnoty,
- operácie,
- výrazy,
- rozdelenie úloh na podúlohy,
- pomocný algoritmus,
- spracované objekty (reťazce znakov, čísla, zoznamy, stromy).

20.1 úloha OGE 2017 v informatike

Robot Executor sa dokáže pohybovať labyrintom nakresleným v rovine rozdelenej na bunky. Medzi susednými bunkami (na stranách) môže byť stena, cez ktorú robot nemôže prejsť.
Robot má deväť príkazov. Štyri príkazy sú príkazy-príkazy:
hore
cesta dole
doľava
správny
Keď sa vykoná ktorýkoľvek z týchto príkazov, robot sa posunie o jednu bunku: nahor, nadol ↓, doľava ←, doprava →. Ak robot dostane príkaz na pohyb cez stenu, zrúti sa.
Robot má aj tím zafarbiť, pri ktorej je vymaľovaná cela, v ktorej sa Robot práve nachádza.
Štyri ďalšie príkazy sú príkazy na kontrolu podmienok. Tieto príkazy kontrolujú, či je cesta pre robota voľná v každom zo štyroch možných smerov:
vrch voľný
dno voľné
ponechaný voľný
právo zadarmo
Tieto príkazy možno použiť v spojení s " ak“, ktorý má tento tvar:
ak stave potom
postupnosť príkazov
všetky
Tu je podmienka jedným z príkazov na kontrolu stavu.
Postupnosť príkazov je jeden alebo viacero príkazov.
Ak chcete napríklad presunúť jednu bunku doprava, ak na pravej strane nie je žiadna stena, a vymaľovať bunku, môžete použiť nasledujúci algoritmus:
ak je právo slobodné
správny
zafarbiť
všetky
V jednej podmienke môžete použiť niekoľko príkazov na kontrolu podmienok pomocou logických spojovacích prvkov a, alebo, nie, napríklad:
ak (vpravo zadarmo) a (nie dole zadarmo) potom
správny
všetky
Ak chcete zopakovať postupnosť príkazov, môžete použiť cyklus " zbohom“, ktorý vyzerá takto:
dovidenia stave
postupnosť príkazov
kts
Ak sa napríklad chcete posunúť doprava, pokiaľ je to možné, môžete použiť nasledujúci algoritmus:
nc, zatiaľ čo právo zadarmo
správny
kts

Dokončite úlohu.
Nekonečné pole má vodorovné a zvislé steny. Ľavý koniec vodorovnej steny je spojený so spodným koncom zvislej steny. Dĺžka stien neznáma. Vo zvislej stene je presne jeden priechod, presné umiestnenie priechodu ani jeho šírka nie sú známe. Robot je v klietke umiestnenej priamo nad vodorovnou stenou na jej pravom konci.
Obrázok ukazuje jeden z možné spôsoby umiestnenie stien a robota (robot je označený písmenom „P“).

Napíšte algoritmus pre robota, ktorý vyfarbí všetky bunky hneď naľavo a napravo od zvislej steny. Priechod musí zostať nenatretý. Robot musí maľovať iba bunky, ktoré vyhovujú tento stav. Napríklad na obrázku vyššie musí robot premaľovať nasledujúce bunky (pozri obrázok).

Pri vykonávaní algoritmu by sa robot nemal zničiť, vykonávanie algoritmu by sa malo dokončiť. Konečné umiestnenie robota môže byť ľubovoľné.
Algoritmus musí vyriešiť problém pre akékoľvek prípustné usporiadanie steny a akékoľvek umiestnenie a veľkosť priechodu vo vnútri steny.
Algoritmus môže byť spustený v prostredí formálneho vykonávateľa alebo napísaný v textovom editore.
Uložte algoritmus do textového súboru. Názov súboru a adresár na uloženie vám oznámia organizátori skúšky.

Rozhodnutie 20.1 o úlohe OGE 2017 v informatike

Príkazy interpreta budú zaznamenané tučný písmo a komentáre - kurzívou. Začiatok komentára bude označený symbolom "|" ( Pri realizácii diela nie je potrebné zapisovať pripomienky.).

|Pohybujeme sa doľava, kým sa nedostaneme na kolmú stenu.
nc, zatiaľ čo zostal voľný
doľava
kts

|Posúvame sa nahor, kým sa nedostaneme k priechodu v stene, a namaľujeme bunky.
nc, kým nezostane voľný
zafarbiť
hore
kts

|Presuňte sa na koniec steny a premaľujte bunky.
nc, kým nezostane voľný
zafarbiť
hore
kts

|Ideme okolo steny.
doľava
cesta dole

|Pohybujeme sa dole, kým sa nedostaneme k priechodu v stene, a namaľujeme bunky.
nc až do uvoľnenia
zafarbiť
cesta dole
kts

|Pohybujeme sa dole na koniec steny a maľujeme cez bunky.
nc až do uvoľnenia
zafarbiť
cesta dole
kts

Možné sú aj iné riešenia.
Pre pokyny interpreta je povolené používať inú syntax, ktorá je študentom známejšia.
Je povolené mať samostatné syntaktické chyby, ktoré neskresľujú zámer autora riešenia.

2 body za úlohu sa dávajú ak
Algoritmus funguje správne pre všetky platné vstupné údaje.
1 bod za úlohu sa dáva, ak
Pre všetky platné vstupy platí nasledovné:
1) vykonávanie algoritmu je dokončené a robot nepadne;
2) nie je zatienených viac ako 10 buniek navyše;
3) nie viac ako 10 buniek z tých, ktoré mali byť natreté, ostalo nenatretých.
0 bodov za úlohu sa dáva ak
Úloha bola splnená nesprávne, t.j. nie sú splnené podmienky, ktoré umožňujú udeliť 1 alebo 2 body.

Celý proces pozostáva z dvoch fáz: montáž a programovanie. Zbierať dobrá robota vyžaduje sa znalosť mechaniky. Ak chcete naprogramovať robota na určité akcie, musíte poznať jazyk, ktorému budete rozumieť základná doska alebo programový blok. Školské znalosti z informatiky tu nestačia.

Kde získať materiál?

Najprv sa musíte rozhodnúť, ako chcete robota zostaviť: z hotových súprav alebo si sami vyberte materiály. Výhodou stavebnice je, že nemusíte jednotlivé diely zháňať jednotlivo. Z jednej sady je najčastejšie možné zostaviť niekoľko zariadení.

Konštrukcia, ktorá nie je zostavená z hotovej sady, sa nazýva otvorený systém. Má to aj svoje výhody: váš robot bude individuálny a vy sami budete môcť vylepšiť dizajn. Určite však strávite viac času a úsilia.

Z čoho je robot vyrobený?

Puzdro - kovové alebo plastové "telo", ku ktorému sú pripojené zvyšné časti. Každý robot má zdroj energie – batérie alebo akumulátor. Podľa toho, akú úlohu bude robot vykonávať, sa vyberú senzory: dokážu rozpoznať farbu a svetlo a reagovať na dotyk.

Aby sa robot pohyboval, potrebujete motory. "hlava" celého mechanizmu - základnej dosky alebo programového bloku. S ich pomocou sa robot pripojí k počítaču a dostane súbor úloh.

Ako ho prinútiť niečo urobiť?

Aby robot mohol vykonať nejakú akciu, musíte vytvoriť počítačový program. Zložitosť tohto kroku závisí od montáže. Ak je robot zostavený zo sady Lego Mindstorms alebo mBot, ich softvér zvládnu aj deti.

Ak si zostavujete robota sami, musíte sa naučiť základy programovania a jazyk, v ktorom budete program písať, napríklad C++.

Prečo robot nemôže spustiť program?

Keď sa dostane na nové miesto, môže zablúdiť a spustiť program nesprávne. Aby robot robil všetko správne, je potrebné nastaviť senzory. Napríklad príliš jasné osvetlenie môže narúšať primerané rozpoznávanie farieb. V závislosti od povrchu, po ktorom sa robot pohybuje, sa prispôsobuje výkon motorov.

Môžem sa naučiť zostavovať a programovať v škole?

Napriek tomu, že robotika nie je zaradená do školských osnov, učitelia fyziky a informatiky môžu dieťa naučiť zostavovať a programovať. V Belgorode majú niektoré školy krúžky, kde robia roboty.

„Po hodinách s učiteľmi fyziky a informatiky sa učíme programovať. Už vieme, ako pracovať v LegoMindstorms a Robolab ( softvér pre roboty - cca. vyd.). Občas sa tiež učíme, ako robiť 3D kresby dielov,“ povedali študenti belgorodského inžinierskeho mládežníckeho internátneho lýcea a účastníci RoboFest-2018. Anton Peršin a Dmitrij Černov.

Kde sa okrem školy môže stať robotníkom?

Technická škola BelSU má triedu, kde sa učia zostavovať a programovať roboty. V roku 2017 sa v Belgorode otvorilo Quantorium, kde sa školáci učia robotiku už od deviatich rokov.

Ak sa chcete stať skutočným robotikom, môžete vstúpiť na Fakultu robotiky. V Belgorode takí ešte nie sú, ale v BSTU im. Shukhov má oddelenie technickej kybernetiky. Jej študenti vyhrávajú ceny na celoruských súťažiach v robotike.

Dokážete sa učiť sami?

Áno. Na internete je veľa zdrojov, kde sa môžete dozvedieť, čo postaviť a ako naprogramovať robota.

Bude robot užitočný?

Dá sa prispôsobiť na každodenné úlohy a urobiť z neho pomocníka v domácnosti. Na internete je množstvo príkladov, ako domáci vynálezcovia vytvárajú roboty na pečenie palaciniek či upratovanie bytu.

Ako potvrdiť svoj úspech pri vytváraní robotov?

Zúčastnite sa súťaží ako RoboFest. Existujú rôzne nominácie v závislosti od veku a smeru. V podstate každý typ robota má dráhu, na ktorej plní úlohy: zachytáva kocku alebo kreslí čiaru. Existujú aj statické systémy, v ktorých sudcovia hodnotia prezentáciu projektu a fungovanie mechanizmov.

Účastníci spravidla prichádzajú na súťaže s zostavené robotmi a v príprave trávia čas len kalibráciou senzorov a nastavovaním programu.

Redakcia je vďačná za pomoc pri tvorbe materiálu účastníkov RoboFestu-2018 Dmitrij Agafonov, Dmitrij Černov, Anton Peršin a Danila Migrina.

Natália Malyihina

Robot na ovládanie vykonávateľa v systéme KUMIR

Robot existuje v určitom prostredí (obdĺžnikové šachovnicové pole). Steny môžu byť umiestnené medzi niektorými bunkami poľa. Niektoré bunky môžu byť zatienené (obr. 3.11).

Robot zaberá presne jednu bunku poľa.

Na príkazy hore, dole, doľava a doprava sa robot presunie do ďalšej bunky v zadanom smere. Ak je na ceste stena, dôjde k zlyhaniu - zobrazí sa správa o nemožnosti vykonať ďalší príkaz.

Na príkaz premaľovať robot premaľuje bunku, v ktorej stojí. Ak je bunka už prelakovaná, prelakuje sa znova, aj keď nedôjde k žiadnym viditeľným zmenám.

Robot môže vykonávať iba správne napísané príkazy. Ak namiesto príkazu zapíšete, Robot nebude rozumieť tomuto zadávaniu a okamžite ohlási chybu.

O
chyby: 1 syntaktické; 2. logické

Popisy scén sú uložené v textové súboryšpeciálny formát (formát .fil).

Aktuálne- prostredie, v ktorom sa robot nachádza tento moment(vrátane informácií o polohe robota).

Domov- prostredie, do ktorého je Robot násilne umiestnený na začiatku vykonávania programu pomocou Robota.

Operačný postup:


  1. Opýtať sa štartovacie prostredie podľa zadania:
Ponuka Nástroje → Zmeniť štartovacie prostredie robota (nakresliť prostredie podľa stavu úlohy, pomenovať, uložiť do priečinka Osobné)

2. Uveďte dodávateľa:

Ponuka Vložiť → Použiť robota

3. Napíšte algoritmus na riešenie problému.

4. Spustite algoritmus (Menu Spustiť → Spustiť nepretržite / F9)

Systém príkazov vykonávateľa Robota v systéme KUMIR


Tím

Akcia

hore

Robot sa posunie o 1 bunku vyššie

cesta dole

Robot sa posunie o 1 bunku nižšie

doľava

Robot sa presunie o 1 bunku doľava

správny

Robot sa posunie o 1 bunku doprava

zafarbiť

Robot vyfarbí bunku, v ktorej sa nachádza

právo zadarmo

Robot skontroluje vykonanie zodpovedajúceho jednoduché podmienky

ponechaný voľný



vrch voľný



dno voľné



bunka je zatienená



klietka čistá



Cyklické algoritmy

Cyklus organizácia opakujúcich sa akcií, kým nie je splnená určitá podmienka .

Telo slučky - súbor opakovateľných akcií.

podmienka - booleovský výraz (jednoduchý alebo komplexný (zložený))
Typy cyklov:

1.Slučka „Opakovať n-krát“ 2. Slučka „Ahoj“
nc n krát dovidenia
. . Telo slučky. . Telo slučky
kts kts

Príklad: dovidenia právo zadarmo


Celkový pohľad na cyklus „Opakujte n-krát:

OPAKOVAŤ n KRÁT

KONIEC
kts

Celkový pohľad na cyklus while:

KÝM UROBIŤ

KONIEC
Zložené podmienky vytvorené z jedného alebo viacerých jednoduché podmienky a služobné slová A, ALEBO, NIE.


Zložený stav A a B(kde A, B sú jednoduché podmienky) je splnená, keď je splnená každá z dvoch jednoduchých podmienok v nej zahrnutých.

Nech A - zadarmo na vrchu AT - voľný vpravo potom zložená podmienka A a B- zadarmo hore A zadarmo vpravo.


Zložený stav A ALEBO B je splnená, ak je splnená aspoň jedna z dvoch jednoduchých podmienok v nej zahrnutých: top zadarmo ALEBO vpravo zadarmo
Zložený stav NIE A- splnené, keď podmienka A nie je splnená.

Príklad: Nech A je tieňovaná bunka (jednoduchá podmienka).

P Kontrola zloženého stavu NIE A:

a) A – hotovo, NIE A (NIE vytieňované) – nedokončené.

b) A – nedokončené, NIE A (NIE vytieňované) – hotovo.


Príkaz pobočky

Vetvenie - forma organizácie úkonov, pri ktorej sa v závislosti od splnenia alebo nesplnenia určitej podmienky vykonáva buď jeden alebo iný sled úkonov.

Všeobecný pohľad na príkaz IF:

AK POTOM INAK

KONIEC

V jazyku KUMIR:

Úplné vetvenie: Čiastočné vetvenie:
ak potom ak potom

inak

všetky všetky

Algoritmus pomocníka- algoritmus, ktorý rieši nejaký čiastkový problém hlavného problému.

V systéme KUMIR sú pomocné algoritmy napísané na konci hlavného programu (po úradné slovo kon) sa volajú na vykonanie v hlavnom programe podľa názvu.

AT prieskumy a úlohy

1. Zadajte všetky algoritmy troch príkazov, ktoré presunú robota z jeho pôvodnej polohy do bunky B.

Existuje algoritmus pre túto úlohu, počas ktorej robot robí:

a) dva kroky b) štyri kroky; c) päť krokov; d) sedem krokov?


  1. Petya vytvoril algoritmus, ktorý prenáša robota z bunky A do bunky B s prefarbenými bunkami. Čo by mal Kolya urobiť s týmto algoritmom, aby získal algoritmus, ktorý presunie robota z B do A a vyplní rovnaké bunky?


7. Dvaja sú známi pomocné algoritmy Robot

Nakreslite, čo sa stane, keď robot vykoná nasledujúce základné algoritmy:


a)

nc 5 krát


vzor_1

správny; správny;


b)

nc 7 krát


vzor_2

správny; správny


v)
správny; správny; správny

hore; hore

správny; správny; správny

cesta dole; cesta dole


G)
správny; správny
správny; správny

8. Vytvorte algoritmy, podľa ktorých bude robot maľovať cez určené bunky:



9. Je známe, že niekde napravo od Robota je stena. Vytvorte algoritmus, pod ktorého kontrolou robot premaľuje niekoľko buniek až po stenu a vráti sa do pôvodnej polohy.

10. Je známe, že niekde napravo od Robota je zatienená bunka.

OD opustite algoritmus, pod ktorého kontrolou Robot vyfarbí niekoľko buniek až po zatienenú bunku a vráti sa do pôvodnej polohy.

11. Je známe, že Robot sa nachádza blízko ľavého vchodu do horizontálnej chodby.

12. Je známe, že Robot je niekde v horizontálnej chodbe. Žiadna z ciel chodby nie je premaľovaná.

Vytvorte algoritmus, pod ktorého kontrolou robot pretrie všetky bunky tejto chodby a vráti sa do pôvodnej polohy.


13. V rade desiatich buniek napravo od robota sú niektoré bunky zatienené.

OD opustite algoritmus, ktorý maľuje bunky:

a) pod každou tieňovanou bunkou;

b) nad a pod každou zatienenou bunkou.


14. Čo možno povedať o správnosti nasledujúceho fragmentu algoritmu?

dovidenia bunka je zatienená

AK právo zadarmo POTOM

správny; zafarbiť

do
c

15. Napíšte program, pomocou ktorého sa Robot dostane do bunky B vo všetkých troch bludiskách.


16. Napíšte program, podľa ktorého bude robot môcť ísť chodbou z ľavého dolného rohu poľa do pravého horného rohu. Chodba má šírku jednej bunky a tiahne sa v smere zľava-dole-vpravo nahor. Príklad možnej chodby je znázornený na obrázku.

Z

adachi GIA


  1. Chodba 1. Robot je niekde vo vertikálnej chodbe. Žiadna z ciel chodby nie je premaľovaná. Vytvorte algoritmus, podľa ktorého robot prekreslí všetky bunky tejto chodby a vráti sa do pôvodnej polohy.

  1. Komu
    Nevyhnutné

    Dané
    chodba2. Robot je umiestnený v hornej cele úzkej vertikálnej chodby. Šírka chodby je jedna bunka, dĺžka chodby môže byť ľubovoľná.

Možný variant počiatočného umiestnenia robota je znázornený na obrázku (robot je označený písmenom „P“)

Napíšte algoritmus pre robota, ktorý vyplní všetky bunky v chodbe a vráti robota do jeho pôvodnej polohy. Napríklad na obrázku vyššie by mal robot premaľovať nasledujúce bunky (pozri obrázok):


  1. Na nekonečnom poli je dlhá horizontálna stena. Dĺžka steny nie je známa. Robot je v jednej z klietok priamo nad stenou. Počiatočná poloha robota je tiež neznáma. Jedna z možných pozícií:
H


Nevyhnutné

Dané
Napíšte algoritmus pre robota, ktorý vykreslí všetky bunky nad a priľahlé k stene, bez ohľadu na veľkosť steny a počiatočnú polohu robota. Napríklad pre daný výkres musí robot premaľovať nasledujúce bunky:

Konečná poloha robota môže byť ľubovoľná. Pri vykonávaní algoritmu by sa robot nemal zničiť.



  1. Na nekonečnom poli je dlhá kolmá stena. Dĺžka steny nie je známa. Robot je v jednej z klietok umiestnených priamo napravo od steny. Rovnako nie je známa ani počiatočná poloha robota. Jedna z možných pozícií robota je znázornená na obrázku (robot je označený písmenom „P“): Napíšte algoritmus pre prácu, ktorá prekreslí všetky bunky susediace so stenou: vľavo, počnúc zhora nenatretý a cez jeden; na pravej strane, začínajúc zdola tieňované a cez jeden. Robot musí natrieť iba bunky, ktoré spĺňajú túto podmienku. Napríklad pre vyššie uvedený obrázok musí robot vyplniť nasledujúce bunky (pozri obrázok): Konečné umiestnenie robota môže byť ľubovoľné. Algoritmus musí vyriešiť problém pre ľubovoľnú veľkosť steny a akúkoľvek platnú počiatočnú polohu robota. Pri vykonávaní algoritmu by sa robot nemal zrútiť.


Napíšte algoritmus pre robota, ktorý vyfarbí všetky bunky umiestnené naľavo od zvislej steny a nad vodorovnou stenou a priľahlé k nim. Robot musí natrieť iba bunky, ktoré spĺňajú túto podmienku. Napríklad na obrázku vyššie musí robot premaľovať nasledujúce bunky (pozri obrázok).


H napíšte algoritmus pre robota, ktorý vyfarbí bunky susediace so stenou zhora a zdola, počnúc zľava a cez jednu. Robot musí natrieť iba bunky, ktoré spĺňajú túto podmienku. Napríklad pre daný obrázok a) musí robot premaľovať nasledujúce bunky (pozri obr. b).

Konečná poloha robota môže byť ľubovoľná. Algoritmus musí vyriešiť problém pre ľubovoľnú veľkosť steny a akúkoľvek platnú počiatočnú polohu robota.



R

  1. Na nekonečnom poli je dlhá kolmá stena. Dĺžka steny nie je známa. Robot je v jednej z klietok umiestnených priamo naľavo od steny. Rovnako nie je známa ani počiatočná poloha robota. Jedna z možných pozícií robota je znázornená na obrázku (robot je označený písmenom „P“):
Napíšte pre prácu algoritmus, ktorý prekreslí všetky bunky susediace so stenou:

  • všetko vľavo;

  • vpravo, počnúc zhora nenatretú a cez jednu.
Robot musí natrieť iba bunky, ktoré spĺňajú túto podmienku.

B
1102_GIA2011

Na nekonečnom poli sú dve vodorovné steny. Dĺžka stien nie je známa. Vzdialenosť medzi stenami nie je známa. Robot je umiestnený nad spodnou stenou v klietke umiestnenej na jej ľavom okraji. Napíšte algoritmus pre robota, ktorý vyfarbí všetky bunky umiestnené nad spodnou stenou a pod hornou stenou a priľahlé k nim. Robot musí natrieť iba bunky, ktoré spĺňajú túto podmienku. Napríklad pre vyššie uvedený výkres musí robot vyplniť nasledujúce bunky (pozri obrázok):

Konečné umiestnenie robota môže byť ľubovoľné. Algoritmus musí vyriešiť problém pre ľubovoľnú veľkosť poľa a akékoľvek prípustné umiestnenie stien vo vnútri pravouhlého poľa. Pri vykonávaní algoritmu by sa robot nemal zrútiť.


AT
1103_GIA_2011


Na nekonečnom poli je vodorovná stena. Dĺžka steny nie je známa. Z pravého konca steny sa nadol tiahne zvislá stena, tiež neznámej dĺžky. Robot je umiestnený nad vodorovnou stenou v klietke umiestnenej na jej ľavom okraji. Obrázok ukazuje jeden z možných spôsobov usporiadania stien a Robota (Robot je označený písmenom „P“).

Napíšte algoritmus pre robota, ktorý vyfarbí všetky bunky umiestnené nad vodorovnou stenou a napravo od zvislej steny a priľahlé k nim. Robot musí natrieť iba bunky, ktoré spĺňajú túto podmienku. Napríklad na obrázku vyššie musí robot premaľovať nasledujúce bunky (pozri obrázok).

Program Kumir

Umelecký robot


Kto je robotický umelec?

  • Predstavte si kockované pole (ako list zo zošita v krabici), na ktorom je predmet, ktorý nazveme Robot. Pomocou špeciálnych príkazov môžeme tohto Robota ovládať – pohybovať ním po bunkách, maľovať po bunkách. A vo väčšine prípadov bude našou úlohou napísať taký program pre Robota, pri spustení ktorého premaľuje určité bunky.

Nastavenie prostredia Idol pre robota

  • Spustený program Kumir vyzerá takto.

Štartovacie prostredie robota

  • Pred spustením vykonávania programu je potrebné nastaviť spúšťacie prostredie pre spúšťač Robota. To znamená nainštalovať robota požadovaná poloha, usporiadať steny, natrieť požadované bunky atď. Tento krok je veľmi dôležitý. Ak to budete ignorovať, program nemusí fungovať správne alebo dokonca spadne.

Stlačte tlačidlo Upraviť prostredie



Performer Robot. Jednoduché príkazy.

  • hore
  • cesta dole
  • doľava
  • správny
  • zafarbiť

Výsledok vykonania týchto príkazov je jasný z ich názvu:

  • nahor – posunie robota o jednu bunku nahor
  • nadol – presunie robota o jednu bunku nadol
  • doľava – presunie robota o jednu bunku doľava
  • doprava - posuňte robota o jednu bunku doprava
  • paint over - premaľovať aktuálnu bunku (bunku, v ktorej sa nachádza Robot).

Príklad algoritmu

  • Najprv musíte napísať frázu:
  • použitie Robot

Ak je známe, koľko buniek je potrebné premaľovať, algoritmus riešenia bude nasledujúci!


Úloha číslo 1

  • Napíšte program na vyriešenie nasledujúceho problému, ak viete, koľko buniek vymaľovať

Cykly

  • 1. Slučka s počítadlom používa sa, keď je vopred známe, koľko opakovaní je potrebné vykonať.

nc čas

kts

Tu musíme určiť počet opakovaní (počet) a príkazy, ktoré sa budú opakovať. Volajú sa príkazy, ktoré sa v cykle opakujú telo cyklu.



Úloha číslo 2

  • Napíšte program na vyriešenie nasledujúceho problému pomocou slučky s počítadlom

  • 2. Slučka s podmienkou - zatiaľ čo podmienka je pravdivá, cyklus je pravdivý, ak je nepravdivý, potom nie je pravdivý
  • Robotník má niekoľko podmienok

vrch voľný

dno voľné

ponechaný voľný

právo zadarmo

horná stena

spodná stena

ľavá stena

pravá stena

  • Môžete použiť častice: NIE, A, ALEBO

Štruktúra podmienenej slučky

dovidenia právo zadarmo

správny

zafarbiť

kts



Úloha číslo 3

  • Napíšte program na vyriešenie nasledujúceho problému pomocou podmienenej slučky:

Úloha číslo 4

  • Napíšte program na vyriešenie nasledujúceho problému pomocou podmienených slučiek:



Riešenie problémov:

  • 2. Robot musí byť presunutý z východiskovej pozície do konečnej pozície, natrieť steny


Úloha číslo 5

  • Na nekonečnom poli je vodorovná stena. Dĺžka steny nie je známa. Robot je na vrchu steny na jej ľavom konci. Obrázok ukazuje umiestnenie robota vzhľadom na stenu (robot je označený písmenom „P“):

Odpoveď na úlohu číslo 5

  • nc ešte nie (voľné dno)

zafarbiť

Začiatok cyklu (nts) a podmienka (ešte nie (voľné dno)) sú napísané na jednom riadku.



Dizajn ak

  • hore zadarmo dole zadarmo vľavo zadarmo vpravo zadarmo
  • Tieto príkazy možno použiť spolu s podmienkou "ak", ktorý má nasledujúci tvar:
  • ak stave potom
  • postupnosť príkazov
  • Ak chcete napríklad presunúť jednu bunku doprava, ak na pravej strane nie je žiadna stena, a vymaľovať bunku, môžete použiť nasledujúci algoritmus:
  • ak je právo slobodné
  • správny
  • zafarbiť

Úloha číslo 7

Dĺžky stien nie sú známe.


Odpoveď na úlohu číslo 7

kým nebude vrch voľný

zafarbiť

správny

kým vrch je voľný

správny

kým pravica je voľná

zafarbiť

správny

kým sa neuvoľní právo

zafarbiť

cesta dole

kým pravica je voľná

cesta dole

kým sa neuvoľní právo

zafarbiť

cesta dole


Úloha číslo 8

Dĺžky stien nie sú známe.

V každej stene je presne jeden priechod, presné umiestnenie priechodu ani jeho šírka nie sú známe.


Odpoveď na úlohu číslo 8

kým vrch je voľný

kým nebude vrch voľný

zafarbiť

kým vrch je voľný

kým nebude vrch voľný

zafarbiť

kým nebude dno voľné

zafarbiť

pokiaľ je dno voľné

kým nebude dno voľné

zafarbiť


Úloha číslo 9

Dĺžky stien nie sú známe.

V každej stene je presne jeden priechod, presné umiestnenie priechodu ani jeho šírka nie sú známe.


Odpoveď na úlohu číslo 9

pokiaľ je dno voľné

kým nebude dno voľné

zafarbiť

pokiaľ je dno voľné

kým nebude dno voľné

zafarbiť

kým nebude vrch voľný

zafarbiť

kým vrch je voľný

kým nebude vrch voľný

zafarbiť


Úloha číslo 10

Dĺžky stien nie sú známe.

V každej stene je presne jeden priechod, presné umiestnenie priechodu ani jeho šírka nie sú známe.


Odpoveď na úlohu číslo 10

zatiaľ čo ľavica je voľná

kým nebude ľavá strana voľná

zafarbiť

zatiaľ čo ľavica je voľná

kým nebude ľavá strana voľná

zafarbiť

kým sa neuvoľní právo

zafarbiť

kým pravica je voľná

kým sa neuvoľní právo

zafarbiť


Úloha číslo 11

Dĺžky stien nie sú známe.

V každej stene je presne jeden priechod, presné umiestnenie priechodu ani jeho šírka nie sú známe.


Odpoveď na úlohu číslo 11

kým nebude vrch voľný

kým nebude vrch voľný

zafarbiť

pokiaľ je dno voľné

kým nebude vrch voľný

zafarbiť


Úloha číslo 12

Na nekonečnom poli je schodisko. Rebrík najprv klesá sprava doľava, potom zľava doprava. Výška každého kroku je jedna bunka, šírka je dve bunky. Robot je napravo od hornej priečky schodov. Počet krokov vedúcich doľava a počet krokov vedúcich doprava nie je známy. Obrázok ukazuje jeden z možných spôsobov umiestnenia schodov a robota (robot je označený písmenom „P“).


Odpoveď na úlohu číslo 12

Pohybujeme sa dole pod schodmi sprava doľava, kým sa nedostaneme na križovatku schodov:

nc, kým je dno voľné

cesta dole

doľava

doľava

Presúvame sa dole na koniec zostupných schodov a cestou maľujeme potrebné bunky:

nc, kým nezostane voľný

zafarbiť

správny

zafarbiť

správny

cesta dole



Odpoveď na úlohu číslo 13

nc, zatiaľ čo zostal voľný

zafarbiť

doľava

hore

nc, kým nezostane voľný

zafarbiť

hore


Úloha číslo 14

Na nekonečnom poli je obdĺžnik ohraničený stenami. Dĺžky strán obdĺžnika nie sú známe. Robot je vo vnútri obdĺžnika. Obrázok ukazuje jeden z možných spôsobov usporiadania stien a Robota (Robot je označený písmenom „P“).


Odpoveď na úlohu číslo 14

kým pravica je voľná

správny

kým vrch je voľný

hore

zafarbiť

nc, zatiaľ čo zostal voľný

doľava

zafarbiť



Odpoveď na úlohu číslo 15

kým pravica je voľná

zafarbiť

správny

pokiaľ je dno voľné

zafarbiť

cesta dole

zafarbiť

ešte nie (voľné dno)

doľava

cesta dole

ešte nie (práve zadarmo)

zafarbiť

cesta dole

zafarbiť

správny

ešte nie (hore voľne)

zafarbiť

správny



Odpoveď na úlohu číslo 16

kým sa neuvoľní právo

zafarbiť

cesta dole

zafarbiť

správny

kým nebude vrch voľný

zafarbiť

správny

kým vrch je voľný

hore

kým pravica je voľná

zafarbiť

správny

kým sa neuvoľní právo

zafarbiť

cesta dole