Ú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 KUMIRRobot 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:
Opýtať sa štartovacie prostredie podľa zadania:
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?
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:
![](https://i0.wp.com/nenuda.ru/nuda/167/166713/166713_html_m7b310a4a.jpg)
![](https://i2.wp.com/nenuda.ru/nuda/167/166713/166713_html_m25c3291a.jpg)
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.
1
![](https://i0.wp.com/nenuda.ru/nuda/167/166713/166713_html_m153e0ebf.jpg)
Z adachi GIA
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.
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á.
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):
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í:
![](https://i2.wp.com/nenuda.ru/nuda/167/166713/166713_html_m143dfc65.png)
![](https://i2.wp.com/nenuda.ru/nuda/167/166713/166713_html_mcb4f12a.png)
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ť.
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 | |||||
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“):
všetko vľavo;
vpravo, počnúc zhora nenatretú a cez jednu.
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
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img1.jpg)
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.
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img2.jpg)
Nastavenie prostredia Idol pre robota
- Spustený program Kumir vyzerá takto.
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img3.jpg)
Š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.
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img4.jpg)
Stlačte tlačidlo Upraviť prostredie
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img5.jpg)
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img6.jpg)
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).
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img7.jpg)
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!
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img8.jpg)
Úloha číslo 1
- Napíšte program na vyriešenie nasledujúceho problému, ak viete, koľko buniek vymaľovať
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img9.jpg)
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.
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img10.jpg)
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img11.jpg)
Úloha číslo 2
- Napíšte program na vyriešenie nasledujúceho problému pomocou slučky s počítadlom
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img12.jpg)
- 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
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img13.jpg)
Štruktúra podmienenej slučky
dovidenia právo zadarmo
správny
zafarbiť
kts
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img14.jpg)
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img15.jpg)
Úloha číslo 3
- Napíšte program na vyriešenie nasledujúceho problému pomocou podmienenej slučky:
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img16.jpg)
Úloha číslo 4
- Napíšte program na vyriešenie nasledujúceho problému pomocou podmienených slučiek:
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img17.jpg)
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img18.jpg)
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img19.jpg)
Riešenie problémov:
- 2. Robot musí byť presunutý z východiskovej pozície do konečnej pozície, natrieť steny
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img20.jpg)
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img21.jpg)
Ú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“):
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img22.jpg)
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.
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img23.jpg)
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img24.jpg)
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ť
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img25.jpg)
Úloha číslo 7
Dĺžky stien nie sú známe.
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img26.jpg)
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
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img27.jpg)
Ú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.
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img28.jpg)
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ť
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img29.jpg)
Ú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.
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img30.jpg)
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ť
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img31.jpg)
Ú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.
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img32.jpg)
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ť
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img33.jpg)
Ú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.
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img34.jpg)
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ť
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img35.jpg)
Ú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“).
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img36.jpg)
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
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img37.jpg)
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img38.jpg)
Odpoveď na úlohu číslo 13
nc, zatiaľ čo zostal voľný
zafarbiť
doľava
hore
nc, kým nezostane voľný
zafarbiť
hore
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img39.jpg)
Ú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“).
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img40.jpg)
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ť
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img41.jpg)
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img42.jpg)
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
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img43.jpg)
![](https://i1.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img44.jpg)
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
![](https://i0.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img45.jpg)
![](https://i2.wp.com/arhivurokov.ru/multiurok/html/2017/04/17/s_58f461a4f3fa2/img46.jpg)