Úkolem učitele je jít touto cestou se studentem, nepojistit se proti neúspěchům, ale předejít zklamání kvůli možné obtíže. Je velmi důležité organizovat hodiny tak, aby děti samy objevovaly nové věci prostřednictvím činností, které jsou pro ně smysluplné.
Jak robot pomáhá při studiu informatiky? Uvedu jen několik témat informatiky, na kterých je robotika založena.
Téma "Soubory a souborový systém".
Žák měl k dispozici mikropočítač LEGO®NXT z výukové sady. LEGO Mindstorms Vzdělávání NXT. Ovládejte to souborový systém probíhá pomocí standardních příkazů, ale protože objem paměti není velký, kontrola toho, co je potřeba a co není požadováno, musí být prováděna neustále. Abyste mohli vyjádřit akce robota, zobrazit obrázek nebo přidat do knihovny pracovních programů, musíte pracovat se základními pojmy počítačové vědy: soubor, typ souboru, cesta k souboru, nabídka, složka.
Téma: „Informační procesy“, „Kódování informací“.
Robotická stavebnice je vybavena senzory, které zaznamenávají zvukové, hmatové a obrazové informace. Jakmile jsou informace digitalizovány, lze je zobrazit na obrazovce. Speciální funkce mikropočítače umožňuje experimentovat se senzory a motory pomocí připravených programů. Po provedení série experimentů se senzory se objeví pochopení: proč ultrazvukový senzor vzdálenosti pracuje pomaleji než senzor infračerveného světla, jak se zvuk mění v digitální kód a tak dále. Studium informačních procesů a principů kódování informací poskytuje hlubší pochopení podstaty informačních technologií.

Téma: Komunikační technologie.
Mikropočítač LEGO®NXT podporuje technologii bezdrátová komunikace. Pomocí funkce Bluetooth můžete nastavit bezdrátové připojení mezi mikropočítačem NXT a dalšími zařízeními podporujícími technologii Bluetooth, jako jsou jiné NXT, s mobilní telefony nebo s počítači. Po instalaci bluetooth připojení, je možné: stahovat programy z počítače na dálku; odesílat programy z jiných zařízení (ne z počítače), včetně NXT; posílat programy jak jednotlivým NXT, tak jejich skupinám. Tato technologie umožňuje ovládat robota pomocí mobilního telefonu.

Témata „Algoritmy. Algorithm Executor“, „Programovací prostředí“.
Pro počáteční seznámení s robotem můžete přímo naprogramovat jednotku NXT bez přístupu k počítači. Přímo na displeji můžete pomocí šablony pěti příkazů vytvořit jednoduchý program a smyčka to. Bez znalosti základních algoritmických struktur a zvládnutí programovacího prostředí se to však neobejde. Právě schopnost naprogramovat robota z něj dělá univerzálního umělce schopného řešit různé problémy. Měli byste začít ovládat programovací technologii pomocí vizuálních programovacích prostředí a poté přejít k výkonnějším a modernějším prostředím orientovaným na události.
Robotika tedy bude vyžadovat základní znalosti informatiky a nevyčerpatelná touha studenta udělat ze svého robota „nejlepšího“ ho tlačí k osvojení nových znalostí.
Proč lze robota označit za ideální výukový nástroj? Protože tento nástroj umožňuje vytvořit učební prostředí, které bude využívat přirozené touhy dítěte hrát si, tvořit a komunikovat s vrstevníky. Můžeme tedy zdůraznit výhody robotiky jako vyučovacího nástroje:
. K získávání znalostí dochází během hry.
. Stavba robota nabízí tvůrčí svobodu.
. Většina studentů má touhu zlepšit svou práci.

Jako příklad bych uvedl model „Robot doručující dobroty zdarma“, který vytvořil žák 6. třídy v rámci kurzu „Programování robotů“ při mimoškolních aktivitách. Robot je sestaven ze sady LEGO MINDSTORMS NXT Education 9797 podle standardního modelu Alpharex 1.0 a je doplněn barevným senzorem pro indikaci stavu robota a podnosem na pamlsky.
Cílem práce je implementovat model lidské chůze v maximální možné míře s dostupnými prostředky. Pohyb každé nohy je řízen motorem a mechanickou sestavou převodů a pák. Jedna páka pohybuje nohou nahoru a dolů, druhá ji posouvá dopředu. V tomto případě se tělo vychýlí směrem k nosné noze, díky čemuž robot udržuje rovnováhu. Tato chůze se nazývá "šoupání"
Samostatný motor ovládá snímač vzdálenosti a ramena páky, která drží dotykový snímač a snímač barev. Zásobník na pamlsky je pevný.
Robot je naprogramován tak, aby fungoval jako doručovatel, například bezplatné pamlsky, podle následujícího algoritmu chování. Robot doprovází svůj pohyb přímou větou: „Jsem robot Alpharex, nabízím pamlsek zdarma!“ Osoba, která chce s robotem navázat kontakt, ho může zastavit gestem. Po zastavení robot řekne větu: "Pomozte si a stiskněte tlačítko!" Po přijetí bonbonu musí osoba jednou stisknout tlačítko na znamení vděčnosti. Tři sekundy po zastavení bude robot pokračovat v pohybu. Když dojdou pamlsky (robot je naprogramován tak, aby měl na tácu určitý počet bonbónů), robot se rozloučí, rozsvítí se červený indikátor a robot se zastaví.

Program pro ovládání robota je napsán v prostředí NXT Programming 2.0.

Seznámení s programem Idol a zvládnutí základů programování.

Studenti v něm mohou získat praktické dovednosti při vytváření a ladění algoritmu při práci s takovými umělci, jako jsou Robot, Kreslíř, Vodnář, Kobylka, Želva.

Při studiu jedné z nejobtížnějších částí informatiky, „algoritmizace a programování“.

Účel rozvoje :

Stažení:


Náhled:

Metodologický vývoj v informatice.

Téma: „Robot v programu KuMir v hodinách informatiky“

učitel techniky "Informatika a ICT"

Vysvětlivka

Rozvojový cíl: studium možností programování na příkladu konkrétního Robot performera s využitím prostředí KUMIR; poskytnout praktické dovednosti při práci s umělcem.

Metodický vývojsestavené pro hodiny informatikyCvičte na počítači: práce s vyučujícím algoritmem; sestavování lineárních, větvících a cyklických algoritmů pro řízení exekutorů; sestavování algoritmů se složitou strukturou; použití pomocných algoritmů (procedury, podprogramy).

Studenti by měli vědět:

  • co je to umělec; SKI Robot, prostředí robota;
  • co je algoritmus;jaké jsou hlavní vlastnosti algoritmu;
  • způsoby zápisu algoritmů: vývojové diagramy, výukový algoritmický jazyk;základní algoritmické struktury: následující, větvení, smyčka; struktur
  • algoritmy; ⇒ přiřazení pomocných algoritmů; technologie pro konstrukci složitých algoritmů:

Studenti by měli být schopni:

  • pochopit popisy algoritmů v tréninku algoritmický jazyk;
  • provést trasování algoritmu pro známého interpreta;
  • vytvořit lineární, větvené a cyklické řídicí algoritmy pro robota; zvýraznění dílčích úkolů; definovat a používat pomocné algoritmy.

Lekce 1 (2 hodiny) Lekce 1.

Performer Robot.Exekutorský příkazový systém.

Plán lekce.

  1. Popis LYŽE interpreta, prostředí interpreta.

2. Analýza typických robotických algoritmů.

Během vyučování.

Podívejme se na popis umělce.

Prostředí umělce: Performer Robot může procházet labyrintem nakresleným v rovině rozdělené na buňky.

Lyžařský robot : jednoduché příkazy: nahoru, dolů, doleva, doprava, malovat.

Logické příkazy: (kontroly podmínek)

nahoře zdarma dole zdarma

vlevo volný pravý volný.

Logické spojky: AND, NOT, OR:

Příklad: (Není vlevo volné) nebo (Není vpravo volné)

Příkaz větve: příkaz smyčky:

Pokud je podmínka pak zatím žádná podmínka

Řada příkazů řada příkazů

to je vše kts

(V CMM z roku 2009 se příkazy robota lišily od příkazů známých dětem, což vedlo k zmatek :)

Příkaz větve: příkaz smyčky:

Pokud je podmínka pak nts pro tuto podmínku udělat

Řada příkazů řada příkazů

konec konec

Celkový pohled na okno programu Idol. Grafické prostředí robota:

V KIM demo verze 2010 formát týmu změněn na obvyklé

Postup pro vytvoření algoritmu:

1.Týmy Nástroje -Upravit výchozí prostředínakreslete stěny na poli robota a nastavte robota do výchozí polohy.

2.Týmy Robot - Změňte výchozí prostředíudržovat nové prostředí.

3.Týmy Vložit - Použijte robotaoznačte umělce.

4. V okně dokumentu zapište algoritmus pomocí nabídky Vložit.

5. Použití příkazů spouštění – spouštějte algoritmus nepřetržitě (nebo krok za krokem).

6. Zvažte výsledek provádění algoritmu a v případě potřeby jej odlaďte.

Lekce 1 (2 hodiny) Lekce 2.

Praktická práce "Kompilace lineárních algoritmů“.

Úkoly: 1. Robot na libovolném místě v poli. Namalujte buňku nad, pod a napravo od původní pozice.

  1. Robot na libovolném místě v poli. Posuňte robota o 4 pole doprava a vybarvěte je.
  2. Vytvořte nové výchozí prostředí nakreslením čtverce o straně 4 čtverců na pole. Uložte nastavení jako výchozí.
  3. Vytvořte nové výchozí prostředí nakreslením koridoru na pole s průchody ve zdech. Uložte prostředí jako obst2.fil. Změňte výchozí prostředí na nově vytvořené.

Lekce 2 (2 hodiny) Lekce 1.

Předmět : Větvení a postupné zpřesňování algoritmu.

Analýza úloh CMM pomocí robota.

používat robota

alg kim 2009

začátek

není-li svobodný zdola

pak doprava

Všechno

není-li svobodný zdola

pak doprava

Všechno

není-li svobodný zdola

pak doprava

Všechno

ošidit

používat robota

alg kim 2010

začátek

není-li svobodný zdola

pak doprava

Všechno

není-li svobodný zdola

pak doprava

Všechno

není-li svobodný zdola

pak doprava

Všechno

ošidit

Atd. otrok. č. 14. Kompilace a ladění větvících algoritmů

Úkoly. Viz příloha.

Lekce 3 Cyklické algoritmy. Lekce 1-2

Cílová: odhalit podstatu konceptu cyklu v algoritmech, ukázat formy záznamu cyklů v algoritmech, dát dovednosti při vytváření a záznamu cyklických algoritmů.

Atd. otrok. č. 15. Kompilace a ladění cyklických algoritmů

1.Vytvořte algoritmus, který vybarví všechny vnitřní buňky sousedící se stěnou.

používat robota

alg

začátek

nts právo je prozatím zdarma

přemalovat; že jo

kts

dno je prozatím volné

přemalovat; dolů

kts

nts ještě není osvobozena zdola

přemalovat; vlevo, odjet

kts

ošidit

2. Vytvořte algoritmus, který vykreslí všechny buňky mezi robotem a zdí. Vzdálenost ke zdi není známa.

používat robota

alg

začátek

nts právo je prozatím zdarma

že jo; přemalovat

kts

ošidit

3. Vytvořte algoritmus, který vybarví všechny buňky umístěné mezi dvěma stěnami.

používat robota

alg uch3

začátek

nts ještě (nesvobodný shora) nebo (ne svobodný zdola)

že jo

if (ne svobodný shora) a (ne svobodný zdola)

Že

přemalovat

Všechno

kts

ošidit

4. Vytvořte algoritmus, který vykreslí všechny buňky kolem obdélníkové stěny.

alg uch4

začátek

přemalovat;nahoru

nts není na pravé straně ještě volný

přemalovat;

kts

přelakovat; správně

nts ještě není osvobozena zdola

přemalovat;vpravo;

kts

přebarvit; dolů

nts ještě není volný vlevo

přelakovat;dole;

kts

přelakovat; vlevo

nts není na vrcholu ještě zdarma

přemalovat; vlevo, odjet;

kts

ošidit

používat robota

alg uch5

začátek

že jo

nts ještě není osvobozena zdola

přemalovat; že jo

kts

přemalovat; dolů

levá je prozatím volná

přemalovat; vlevo, odjet

kts

nts ještě není volný vlevo

přemalovat; dolů

kts

přemalovat;zleva;přemalovat; nahoru;

nts zdarma nahoře

přemalovat; nahoru

kts

nts není na vrcholu ještě zdarma

přemalovat; vlevo, odjet

kts

ošidit

Lekce 4 Lekce 1

Pomocné algoritmy.

Cílová: představit koncept hlavního a pomocného algoritmu; vysvětlit pravidla pro použití pomocného algoritmu; analyzovat příklady algoritmů pomocí pomocných.

Plán lekce

1.Zavedení nových pojmů (hlavní a pomocné algoritmy, volání) a vysvětlení nových pojmů.

2. Analýza příkladů řešení úloh pomocí pomocného algoritmu.

Při řešení některých problémů je vhodné je rozdělit na menší dílčí úkoly, z nichž každý může být formulován jako samostatný algoritmus. V tomto případě je nejprve zkompilován tzv. hlavní algoritmus, ve kterém se volání pomocných algoritmů používají k řešení dílčích úloh, které se přidávají později. Toto řešení se nazývámetoda sekvenčního zpřesňování.Umožňuje skupině programátorů pracovat na projektu, přičemž každý řeší svůj vlastní dílčí úkol.

V procesu řešení problému lze každý pomocný algoritmus v případě potřeby rozdělit na menší pomocné algoritmy.

Zavolá se příkaz k provedení pomocného algoritmu výzva a je zapsán v těle hlavního algoritmu.

Stejný algoritmus lze považovat za hlavní a pomocný ve vztahu k ostatním algoritmům. V algoritmickém jazyce se nejprve zapisuje hlavní algoritmus a pomocné se zapisují v řadě.

Úkol 1:

Robot je v levém horním rohu pole. Nejsou zde žádné stěny ani malované cely. Vytvořte algoritmus pomocí pomocného algoritmu, který nakreslí čtyři křížky na jednu vodorovnou čáru. Konečná pozice robota může být libovolná.

Řešení

Analýza na desce:

Úkol 2. Robot je v levém horním rohu pole. Nejsou zde žádné stěny ani malované cely. Vytvořte algoritmus, který vykreslí šachovnicově čtverec 8 x 8. Konečná pozice robota může být libovolná.

Lekce 4 Lekce 2

Praktická práce na PC „Řešení problému pomocí pomocných algoritmů“.

cílová : vštípit praktické dovednosti při konstrukci algoritmů pomocí metody sekvenčního zpřesňování.

Plán lekce

1. Úloha probíhá výhradně na PC. Studenti dostávají úkoly a plní je v prostředí softwaru Idol. Výsledky práce se ukládají jako soubory pro pozdější ověření.

Problém 1 . Robot je v levém dolním rohu pole. Nejsou zde žádné stěny ani malované cely. Vytvořte algoritmus, který nakreslí 6 svislých pruhů stejné délky do 6 buněk. Konečná pozice robota může být libovolná.

Problém 2 .Pomocí pomocných vytvořte algoritmus pro malování buněk, které tvoří číslo 1212.

Domácí práce: Vymyslete algoritmus, který nakreslí následující obrázek: K vyřešení problému použijte dva pomocné algoritmy.

Lekce 5 Lekce 1-2

Test

"Vytvoření algoritmu v prostředí Robot exekutor."

Cílová: otestovat získané znalosti o tvorbě a schopnosti analyzovat algoritmy v prostředí softwaru Idol.

Úkoly pro zkušební práce jsou rozděleny podle úrovně obtížnosti a zahrnují 3 úkoly s vystupujícím Robotem (úloha 1 a 2 - na větvení a smyčky, úloha 3 - na použití pomocného algoritmu.) Texty úloh jsou uvedeny v příloze.

Počáteční a konečné situace a vytvořené algoritmy jsou zaznamenány jako soubor.

Známka se uděluje podle náročnosti úkolu. Student má právo volby typu zadání.

A dnes budeme mluvit o cyklech. Pojďme zjistit, co je cyklus a jak naučit našeho robota provádět cyklické algoritmy.

Tak, co je cyklus? Představte si, že jsme na hodině tělesné výchovy a stojíme před úkolem udělat 7 dřepů. Tato úloha může být napsána jako lineární algoritmus a pak bude vypadat nějak takto:

udělat dřep

udělat dřep

udělat dřep

udělat dřep

udělat dřep

udělat dřep

udělat dřep

To znamená, že jsme příkaz „udělej dřep“ opakovali 7krát. Má smysl psát 7 stejných příkazů? Možná bude jednodušší dát příkaz udělat 7 dřepů? Samozřejmě je to jednodušší a správnější. Toto je cyklus. Sami si můžete pamatovat příklady cyklů ze života – je jich poměrně hodně.

Tím pádem lineární algoritmus , kde se opakují stejné příkazy můžeme zařídit tak jako cyklický algoritmus - takhle:

opakujte 7krát

udělat dřep

konec cyklu

Takto jsme navrhli cyklus v jazyce, který jsme vymysleli. Robot performer má také schopnost zaznamenávat cykly. Navíc, cykly jsou různé. Volba, na kterou jsme se právě podívali smyčka s počítadlem nebo smyčka s parametrem.

Typy cyklů.

Smyčka s počítadlem.

Smyčka s počítadlem používá se, když je předem známo, kolik opakování je třeba provést. Ve výše uvedeném příkladu s dřepy je tomu přesně tak.

Abyste mohli napsat smyčku s čítačem pro exekutor, musíte znát jeho syntaxi. A on je takový:

nc<počet opakování>krát

<команда 1>

<команда 2>

<команда n>

Zde musíme určit počet opakování (počet) a příkazy, které se budou opakovat. Volají se příkazy, které se opakují ve smyčce tělo smyčky.

Podívejme se na to na příkladu.

Zpočátku byl Robot v levé horní buňce.

Nejprve vyřešme problém lineárně. V tomto případě překreslíme aktuální buňku a posuneme 1 buňku doprava a program bude vypadat takto:
používat robota
alg
začátek

přemalovat

že jo

přemalovat

že jo

přemalovat

že jo

přemalovat

že jo

přemalovat

že jo

přemalovat

že jo

přemalovat

že jo

Jak vidíte, příkazy malovat a doprava se opakují 7krát. Pojďme nyní přepsat program pomocí smyčky. Mimochodem, pro vložení cyklu do vašeho programu můžete přejít do nabídky Vložit vybrat předmět tsk-tsk-tsk nebo stiskněte jednu z kombinací kláves Esc, P(ruské písmeno R) popř Esc, H(latinské písmeno H). navíc tlačítka musí být stisknuta postupně- nejprve Esc, uvolněte jej a teprve potom P nebo H.

Tak tady je náš smyčkový program bude vypadat takto:

používat robota

nts 7krát

přemalovat

že jo

Pokud to spustíme, uvidíme, že výsledek bude stejný – 7 vyplněných buněk. Program se však zkrátil a z algoritmického hlediska je mnohem inteligentnější!

Jako zahřátí a posílení navrhuji, abyste si sami napsali program pro Robota, který nakreslí čtverec o straně 7 buněk. Samozřejmě pomocí smyčky. Čekám na řešení v komentářích.

Podmíněná smyčka.

Při řešení úlohy 19 Státní akademické informatiky v informatice s robotem použití smyčky s čítačem nebude fungovat. Protože pole je zde zpravidla nekonečné a stěny nemají konkrétní délku. U smyčky s čítačem tedy nebudeme schopni určit počet opakování. Ale to nevadí – pomůže nám to smyčka s podmínkou.

Vraťme se k tělesné výchově a změňme problém. Někdo totiž možná nezvládne 7 dřepů, zatímco jiný 27. Dá se s tím při tvorbě cyklu počítat? Rozhodně. Teprve nyní použijeme nikoli počítadlo (počet opakování), ale podmínku. Než se unavíte, udělejte například dřepy. V tomto případě člověk neudělá konkrétní počet dřepů, ale bude dřepovat, dokud se neunaví. A náš cyklus v abstraktním jazyce bude mít následující podobu:

sbohem neunavený

udělat dřep

konec cyklu

Slova nejsou v našem případě unavená – to je podmínka. Když je true, smyčka se provede. Pokud je false (unavený), tělo smyčky se neprovede. Robot má několik podmínek

zdarma nahoře

zdarma zespodu

ponechán volný

zdarma vpravo

stěna nahoře

zeď dole

levá stěna

stěna vpravo

Ale v podmínkách úkolu 19 GIA jsou uvedeny pouze první 4. Takže je pouze použijeme.

Nyní vyřešme další úkol pro Robota – kreslení svislá čára Od levého k pravému okraji pole používám smyčku s podmínkou. Zpočátku je robot umístěn v levém horním rohu.

Nejprve formulujme verbální algoritmus— to znamená, že slovy popíšeme, co Robot potřebuje udělat. Tento algoritmus bude znít nějak takto:

« Zatímco je napravo volné místo, udělejte krok doprava a vymalujte buňku »

Výsledkem je, že Robot proběhne všemi buňkami napravo a bude je malovat, dokud nebude napravo zeď.

Zdrojový kód našeho programu pro robota bude vypadat nějak takto:

používat robota

nts právo je prozatím zdarma

že jo

přemalovat

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

Naučili jsme se to žádat pro další práci. Nyní přejděme přímo ke kompilaci algoritmů pro robota pomocí jednoduchých příkazů.

Pokud dáváte přednost informacím ve formátu video tutoriálu, pak je na webu video tutoriál

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 provádět některé povely – „Sedni“, „Lehni“, „Nablízku“ atd. Toto je její systém povelů.

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
  • vlevo, odjet
  • že jo
  • přemalovat

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

  1. nahoru— přesunout robota o jednu buňku nahoru
  2. dolů— posuňte robota o jednu buňku dolů
  3. vlevo, odjet— 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 - uniknout, vpravo (šipka vpravo)
  • přemalovat – Útěk, Prostor (prostor)

Vezměte prosím na vědomí, že musíte zadat požadovanou kombinaci klávesových zkratek ne tak, jak jsme zvyklí! Jsme zvyklí mačkat klávesy současně, ale tady je potřebujeme 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!

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

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

Odstranění symbolu „|“. a nazvěte náš algoritmus „čtverec“

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

Zkusme program spustit a uvidíme, co se stane. Pro spuštění stiskněte F9 nebo tlačítko na panelu nástrojů

Ve výsledku bychom měli vidět takový obrázek

Pokud se vám takové okno robota nezobrazí, klikněte na panelu nástrojů na „ Zobrazit okno robota"nebo v nabídce Robot vyberte " Zobrazit okno robota". Pokračujme 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

vlevo, odjet

přemalovat

vlevo, odjet

přemalovat

Zbyla nám jedna nevybarvená buňka. Pojďme to přelakovat

nahoru

přemalovat

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

používat robota

alg Náměstí

začátek

přemalovat

že jo

přemalovat

že jo

přemalovat

dolů

přemalovat

dolů

přemalovat

Ovládání exekutora robota v systému KUMIR

Robot existuje v určitém prostředí (pravoúhlé kostkované pole). Mezi některými buňkami pole mohou být stěny. Některé buňky mohou být přetřeny (obr. 3.11).

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

Pomocí příkazů nahoru, dolů, doleva a doprava se robot přesune do sousední buňky v naznačeném směru. Pokud stojí v cestě zeď, dojde k poruše - zobrazí se zpráva, že není možné provést další příkaz.

Na příkaz malovat robot vybarví buňku, ve které stojí. Pokud již byla buňka přetřena, bude přebarvena znovu, ačkoli 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 dolů zapíšete, robot tomuto zadání nerozumí a okamžitě oznámí chybu.

O
chyby: 1 syntaktické; 2. logické

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

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

Začínající- prostředí, ve kterém je robot nucen být umístěn na začátku provádění programu využívajícího robota.

Operační postup:


  1. Soubor startovací prostředí podle problémových podmínek:
Nabídka Nástroje → Změnit výchozí prostředí robota (nakreslit prostředí podle podmínek úkolu, pojmenovat jej, 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 Provedení → Spustit nepřetržitě /F9)

Řídicí systém robota v systému KUMIR


tým

Akce

nahoru

Robot se posune o 1 pole nahoru

dolů

Robot se posune o 1 pole dolů

vlevo, odjet

Robot se posune o 1 pole doleva

že jo

Robot se posune o 1 pole doprava

přemalovat

Robot maluje buňku, ve které je

zdarma vpravo

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

ponechán volný



zdarma nahoře



zdarma zespodu



cela je vymalována



klec je čistá



Cyklické algoritmy

Cyklus– organizace opakování akcí při splnění některé podmínky .

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

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

1.Smyčka „Opakujte n-krát“ 2. Smyčka „Dokud“
nts nkrát nts zatím
. . Tělo smyčky. . Tělo smyčky
kts kts

Příklad: nts zatím zdarma vpravo


Celkový pohled na cyklus „Opakujte n-krát“:

OPAKOVÁNÍ n KRÁT

KONEC
kts

Celkový pohled na cyklus „zatímco“:

UDĚLEJ TO BYE

KONEC
Složené podmínky jsou tvořeny z jednoho nebo více jednoduché podmínky a funkční 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ěm obsažených.

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


Složený stav A NEBO B splněno, 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 barevná buňka (jednoduchá podmínka).

P Kontrola složeného stavu NE A:

a) A – vyplněno, NE A (NEŠINOVÁNO) – nevyplněno.

b) A – nevyplněno, NE A (NEŠtínováno) – vyplněno.


Příkaz větve

Větvení - forma organizace úkonů, při které se v závislosti na splnění či nesplnění nějaké 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 ICON:

Úplné větvení: Neúplné větvení:
Li Že Li Že

v opačném případě

všechno všechno

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

V systému KUMIR jsou pomocné algoritmy zapsány na konci hlavního programu (po funkční 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 ze tří příkazů, které přesunou robota z jeho původní pozice do buňky B.

Existuje pro tento úkol algoritmus, ve kterém robot:

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


  1. Petya sestavil algoritmus, který přenese robota z buňky A do buňky B natřením některých buněk. Co by měl Kolja s tímto algoritmem udělat, aby získal algoritmus, který přenese robota z B do A a vybarví stejné buňky?


7. Jsou známy dva pomocné robotické algoritmy

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


A)

nts 5krát


vzor_1

že jo; že jo;


b)

nts 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, pod jejichž kontrolou bude robot malovat označené buňky:



9. Je známo, že někde napravo od Robota je zeď. Vytvořte algoritmus, pod jehož kontrolou robot namaluje ř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 plná buňka.

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

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

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

Vytvořte algoritmus, pod jehož kontrolou Robot vybarví 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?

nts zatím cela je vymalována

LI zdarma vpravo ŽE

že jo; přemalovat

Na
ts

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 schopen procházet chodbou z levého dolního rohu pole do pravého horního rohu. Chodba je široká jedna buňka a táhne se ve směru zleva dolů doprava nahoru. Příklad možného koridoru je na obrázku.

Z

Úspěchy GIA


  1. Chodba 1. Robot je umístěn někde ve vertikální chodbě. Žádná z cel na chodbě není přemalována. Vytvořte algoritmus, pod jehož kontrolou Robot vybarví všechny buňky této chodby a vrátí se do 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á možnost pro počáteční umístění robota je znázorněna na obrázku (robot je označen písmenem „P“).

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


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


Nutné

Dáno
Napište algoritmus pro robota, který vybarví všechny buňky umístěné nad stěnou a přilehlé k ní, bez ohledu na velikost stěny a počáteční polohu robota. Například pro výše uvedený obrázek 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. Nekonečné pole má dlouhou kolmou stěnu. 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ý vybarví všechny buňky přiléhající ke zdi: vlevo, počínaje shora nenatřené jeden a přes jeden; vpravo, počínaje od spodního stínovaného a přes jeden. Robot musí malovat 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 výchozí pozici robota. Při provádění algoritmu by neměl být robot zničen.


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í malovat pouze buňky, které splňují tuto podmínku. Například pro obrázek výše musí robot vybarvit následující buňky (viz obrázek).


N Napište algoritmus pro robota, který maluje buňky sousedící se stěnou, nahoře a dole, počínaje zleva a každou druhou. Robot musí malovat pouze buňky, které splňují tuto podmínku. Například pro daný obrázek a) Robot musí překreslit následující buňky (viz obrázek b).

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



R

  1. Nekonečné pole má dlouhou kolmou stěnu. Délka zdi není známa. Robot je v jedné z buněk 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 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í malovat pouze buňky, které splňují tuto podmínku.

B
1102_GIA2011

Nekonečné pole má 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í malovat pouze buňky, které splňují tuto podmínku. Například pro výše uvedený obrázek musí robot vybarvit 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é uspořádání stěn uvnitř obdélníkového pole. Při provádění algoritmu by neměl být robot zničen.


V
1103_GIA_2011


Na nekonečném poli je vodorovná stěna. Délka zdi není známa. Svislá stěna neznámé délky se táhne dolů z pravého konce stěny. 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í malovat pouze buňky, které splňují tuto podmínku. Například pro obrázek výše musí robot vybarvit následující buňky (viz obrázek).