Interpret "Robot" Lineárne algoritmy. Performer Robot

Interpret "Robot" Lineárne algoritmy. Performer Robot

Vzdelávací program voliteľný kurz„Rozvoj algoritmického myslenia riešením problémov“ (pre žiakov 5. – 6. ročníka). Doba realizácie: 4 mesiace. Autor programu: I.G. Shupletsov Recenzenti: metodická rada SOŠ MBOU č.13,2012. Vysvetlivka A.P. Ershov opísal operačný štýl myslenia - schopnosť plánovať štruktúru akcií potrebných na dosiahnutie cieľa pomocou pevného súboru prostriedkov. Algoritmické myslenie zahŕňa pochopenie podstaty základných algoritmických štruktúr: sledovanie, vetvenie, slučkovanie, volanie, ako aj schopnosť efektívne využívať tieto štruktúry pri zostavovaní jednoduchých algoritmov a vytváraní zložitých algoritmov založených na jednoduchých. Štrukturálne zložky algoritmického štýlu myslenia zahŕňajú: schopnosť formalizovať problém, pochopenie a schopnosť implementovať elementárne algoritmické operácie, výber optimálneho spôsobu dosiahnutia cieľa. Schopnosť vytvárať algoritmy je dôležitá z hľadiska predmetu v mnohých oblastiach vedomostí a aktivít študentov. Voľba riešenia problémov v prostredí KuMir je spôsobená tým, že vám umožňujú jasne demonštrovať algoritmy, ktoré rozvíjajú algoritmické zručnosti a algoritmické myslenie založené na vizuálnych činnostiach interpretov. Žiaci 5. – 6. ročníka sú motivovaní používať nástroje prostredia KuMir. Sú pre nich jednoduché a príkazový systém týchto interpretov je pre nich prehľadný a ľahko ovládateľný. Žiaci s nadšením skladajú jednoduché algoritmy a predviesť ich učiteľovi a sebe navzájom. Viditeľnosť akcií účinkujúcich uľahčuje sledovanie vykonávania algoritmu a v prípade potreby ho upraví. Kurz „Rozvoj algoritmického myslenia riešením problémov“ je orientovaný na prax. Študenti samostatne ovládajú prostredie KuMir a techniky riešenia problémov na základe navrhnutých technológií a analyzovaných príkladov. Učiteľ individuálne pomáha pri vzniku ťažkostí a zaznamenáva vyriešené problémy a ponúka aj optimálne možnosti riešenia problémov. Kurz je ponúkaný na štúdium na školách, ktoré majú potrebné vzdelávacie, metodické a technické vybavenie. Je určený pre žiakov 5. - 6. ročníka, ktorí majú základné zručnosti na operačnej sále systém WINDOWS. Tento kurz môže pokračovať kurzom základov programovania a diaľkovým kurzom riešenia úloh olympiády na webovej stránke http://www.acmu.ru pre záujemcov zo 78 tried. Téma „Algoritmizácia“ sa preberá v 4. štvrťroku 6. ročníka. Študenti si tak v tejto dobe osvoja používanie prostredia KuMir a intuitívnych návrhov algoritmov, ktoré im umožnia úspešne študovať teóriu algoritmizácie a jednoducho ju aplikovať v praxi. Kurz „Rozvoj algoritmického myslenia riešením problémov“ je koncipovaný na 17 hodín, počas ktorých si študenti pri riešení úloh na počítači intuitívne osvoja základné algoritmické štruktúry: sledovanie, vetvenie, zacyklenie, volanie pomocného algoritmu, pre efektívnu kompiláciu algoritmov. 1 Tento kurz môže byť prvým krokom pre ďalšie štúdium programovania a výber smeru štúdia súvisiaceho s informačnými technológiami. Ciele a ciele predmetu Účel predmetu:  rozšíriť vedomosti študentov v predmete „Informatika a IKT“;  rozvíjať algoritmické myslenie žiakov vytváraním algoritmov na riešenie problémov. Cieľ predmetu:  oboznámiť študentov v praxi s prostredím KuMir;  zvážiť hlavné možnosti najviac populárnych umelcov"Robot" a "Navrhovateľ";  naučiť sa používať základné algoritmické štruktúry: sledovanie, vetvenie, slučkovanie, volanie. Technológia školenia . Kontrolné hodiny sú vedené formou praktických prác. Na začiatku hodiny (5 minút) učiteľ stanoví žiakom cieľ tejto hodiny a každému žiakovi pripomenie výsledky, ktoré do tohto času dosiahol a aké úlohy musí na tejto hodine vyriešiť. Študenti zostavujú algoritmy na počítači, vykonávajú ich, sledujú priebežné výsledky a podávajú správu učiteľovi o riešení úloh. Žiaci si môžu navzájom pomáhať pri riešení problémov. Problémy, ktoré neboli vyriešené na hodine, môžu byť vyriešené ako domáca úloha a skontrolované v nasledujúcich triedach. Učiteľ skontroluje vyriešený problém a jeho riešenie zapíše do denníka. Na konci hodiny (5 minút) sa zaznačia tí študenti, ktorí majú najväčší počet vyriešených problémov, identifikujú sa ťažkosti, s ktorými sa stretávajú študenti, ktorí problémy nevyriešili, a navrhnú sa a prediskutujú spôsoby ich prekonania. Na začiatku a na konci hodiny sa prehodnotia hodnotenia všetkých študentov, čo vám umožňuje zorganizovať súťaž medzi študentmi. Kalendár-tematický plán Číslo hodiny Téma hodiny 1 2 3 4 5 Úvod do systému KuMir. Riešenie problémov. Performer Robot. Riešenie problémov. Zostavovanie lineárnych algoritmov. Riešenie problémov. Zostavovanie lineárnych algoritmov. Riešenie problémov. Príklady pomocných algoritmov. Zostavenie pomocných algoritmov. Riešenie problémov. Zostavovanie pomocných algoritmov. Riešenie problémov. Príklad cyklického algoritmu. Vytváranie cyklických algoritmov. Riešenie problémov. 6 7 Počet hodín 1 1 1 1 1 1 1 2 8 9 10 11 12 13 14 15 16 17 Príklad vetviaceho algoritmu. Kompilácia vetviacich algoritmov. Riešenie problémov. Výkonný navrhovateľ. Riešenie problémov. Príkaz na presun do bodu. Zostavovanie lineárnych algoritmov. Riešenie problémov. Príkaz na posun o vektor. Zostavovanie lineárnych algoritmov. Riešenie problémov. Príkaz na posun o vektor. Zostavovanie lineárnych algoritmov. Riešenie problémov. Zostavovanie pomocných algoritmov. Riešenie problémov. Zostavovanie pomocných algoritmov. Riešenie problémov. Vytváranie cyklických algoritmov. Riešenie problémov. Vytváranie cyklických algoritmov. Riešenie problémov. Zhrnutie. Hodnotenie študentov. Riešenie problémov. Spolu 1 1 1 1 1 2 1 1 1 17 Obsah vzdelávacieho materiálu Úvod do systému KuMir. Načítava sa systém KuMir. Vymenovanie exekútora Robot. Systém príkazov robota. Poradie zápisu algoritmu. Postup vytvorenia poľa Robot. Vykonanie algoritmu. Sledovanie výsledkov robotovho vykonávania algoritmu. Písanie prvého algoritmu. Zostavovanie lineárnych algoritmov. Riešenie problémov. Pomocný algoritmus. Dva príklady pomocných algoritmov. Príkaz na zavolanie pomocného algoritmu. Nahrávanie pomocného algoritmu. Dva prípady, v ktorých sa používajú pomocné algoritmy. Zostavovanie pomocných algoritmov. Riešenie problémov. Cyklický algoritmus. Príklad cyklický algoritmus. Slučka s určeným počtom opakovaní, príkaz Slučka N-krát. Vytváranie cyklických algoritmov. Riešenie problémov. Algoritmus vetvenia. Dva príklady vetviaceho algoritmu. Príkaz Ak. Úplná a neúplná forma príkazu if. Podmienky v algoritme vetvenia. Kompilácia vetviacich algoritmov. Riešenie problémov. Výkonný navrhovateľ. Systém príkazov pre navrhovateľa. Písanie algoritmu pre navrhovateľa. Účelom príkazu je presunúť sa do bodu. Príklad algoritmu s príkazom na presun do bodu. Postup na vytvorenie kresby a napísanie algoritmu pre výkonného navrhovateľa. Zostavovanie lineárnych algoritmov. Riešenie problémov. Výkonný navrhovateľ. Príklad algoritmu s príkazom na posun o vektor. Procedúra na vytvorenie kresby a napísanie algoritmu s príkazom na posun do vektora pre výkonného navrhovateľa. Zostavovanie lineárnych algoritmov. Riešenie problémov. Príklad pomocného algoritmu. Zostavovanie pomocných algoritmov. Riešenie problémov. Príklad cyklického algoritmu. Vytváranie cyklických algoritmov. Riešenie problémov. Očakávané výsledky zvládnutia predmetu Kurz umožňuje študentom oboznámiť sa s: Načítaním a prvkami rozhrania programu KuMir. S poradím vykonávania niektorých akcií v programe KuMir. S vymenovaním exekútora Robot. S vymenovaním vykonávateľa Navrhovateľ. 3 So základnými algoritmickými štruktúrami: sledovanie, vetvenie, slučkovanie, volanie. S poradím vytvárania a vykonávania algoritmov. S výpočtom hodnoty vektorov podľa buniek pomocou projekcií na súradnicové osi. Počas procesu učenia sa školáci získavajú zručnosti: Vytváranie a vykonávanie algoritmov. Algoritmy ukladania a načítania. Aplikácia rôznych návrhov algoritmov na efektívne riešenie problémov. Vytváranie výkresov v súradnicovej rovine. Podmienky realizácie predmetu 1. 2. 3. 4. 5. 6. 7. Počítačová trieda 12 počítače. Lokálna sieť. Demo obrazovka. Tlačiareň. Papier do tlačiarne A4. Prostredie KuMir je voľne distribuovaný softvér. Didaktické materiály. Použitá literatúra Leonov A.G. Majster KuMir za 6 hodín. - Moskva: Informatika, príloha novín 1. september, číslo 24, 2010, číslo 2, 2011, Kushnirenko A.G. Základy informatiky a počítačová technológia: Pravdepodobnosť. učebnica pre stredné učebnica prevádzkarne A.G. Kushnirenko, G.V. Lebedev, R.A. Svoreň - 2. vyd. – M.: Školstvo, 1991. – 224 s.: chor. Dodatok 1 Interpret „Robot“ Lineárne algoritmy Interpret „Robot“ sa pohybuje v kockovanom poli s rozmermi 15 x 10 buniek a vyfarbuje bunky. Robot môže vykonávať nasledujúce povely SKI: hore, dole, doľava, doprava, maľovať. Stiahnite si program KuMir pre interpreta „Robot“ 1. Metóda - otvorte odkaz na pracovnej ploche. 2. Metóda – Počítačová jednotka C: priečinok Školský priečinok KumirWin súbor kumir.exe (aplikácia). 4 Príklad 1 1. Napíšte program Example1 z klávesnice v KuMir. 2. Vyvolajte príkaz ponuky Nástroje Upraviť štartovacie prostredie robota. 3. Vyvolajte ponuku Pomocník nastavení, prečítajte si akcie vykonané pri úprave nastavenia a zapamätajte si ich. 4. Vyčistite prostredie a umiestnite robota do stredu poľa. Zatvorte nastavenie bez uloženia. 5. Vyvolajte ponuku Spustenie a príkaz STEP (F8 je klávesová skratka). 6. Vyvolajte pole Robot, menu Robot, príkaz Zobraziť okno robota. 7. Stlačte kláves F8 až do konca programu (kým nezmizne zelený pruh). Mali by ste získať nasledujúci výsledok. Úloha 1 Vytvorte program, po ktorom robot vyfarbí bunky usporiadané do šachovnicového vzoru s dĺžkou strany 3 bunky. 5 Úloha 2 Vytvorte program, po ktorom Robot vyfarbí bunky usporiadané do tvaru kosoštvorca s dĺžkou strany 4 bunky. Úloha 3 Vytvorte program, po vykonaní ktorého Robot vyfarbí bunky usporiadané do tvaru pyramídy vysokej 4 bunky a vráti sa do pôvodnej polohy. Úloha 4 Vytvorte program, po vykonaní ktorého Robot premaľuje bunky tak, aby získal zaujímavú kresbu (napríklad smajlíka). 6 Úloha 5 Robot je na začiatku vodorovnej chodby (bunka A). Presuňte robota na koniec chodby (bunka B). Písmená A a B nie sú umiestnené v nastavení Robot. Úloha 6 Robot sa nachádza pred vchodom do vertikálnej chodby. Robot musí prejsť chodbou a vyjsť z nej o jednu celu. Robot musí maľovať bunky, cez ktoré prechádza. Úloha 7 V prostredí robota vytvorte bludisko s jedným východom. Umiestnite robota do klietky, z ktorej vyjde z bludiska. Napíšte program, ktorý vyvedie robota z bludiska. Úloha 8 Robot sa musí presunúť z bunky A do bunky B a vymaľovať bunky označené bodkami. 7 Dôležité: všetky algoritmy, ktoré ste zostavili, sú lineárne, pretože príkazy v nich nasledujú jeden za druhým od začiatku do konca algoritmu. 8

Performer Robot. Pomocné algoritmy (2h)

Cieľ: predstaviť koncept hlavného a pomocného algoritmu; vysvetliť pravidlá používania pomocného algoritmu; analyzovať príklady algoritmov pomocou pomocných. Rozvíjať praktické zručnosti pri konštrukcii algoritmov metódou sekvenčného spresňovania.

Plán lekcie

1.Zavedenie nových pojmov (hlavné a pomocné algoritmy, volania) a vysvetlenie nových pojmov.

2. Analýza príkladov riešenia úloh pomocou pomocného algoritmu.

3. Praktická práca

Pri riešení niektorých problémov je vhodné ich rozdeliť na menšie čiastkové úlohy, z ktorých každá môže byť formulovaná ako samostatný algoritmus. V tomto prípade sa najskôr zostaví takzvaný hlavný algoritmus, v ktorom sa volania pomocných algoritmov používajú na riešenie čiastkových úloh, ktoré sa pridávajú neskôr. Toto riešenie je tzv metóda sekvenčného zjemňovania. Umožňuje skupine programátorov pracovať na projekte, pričom každý rieši svoju vlastnú podúlohu.

V procese riešenia problému môže byť každý pomocný algoritmus v prípade potreby rozdelený na menšie pomocné algoritmy.

Zavolá sa príkaz na vykonanie pomocného algoritmu výzva a je zapísaný v tele hlavného algoritmu.

Rovnaký algoritmus možno považovať za hlavný a pomocný vo vzťahu k iným algoritmom. V algoritmickom jazyku sa najprv zapíše hlavný algoritmus a pomocné sa zapíšu v rade.

Úloha 1:

Robot je v ľavom hornom rohu poľa. Nie sú tam žiadne steny ani maľované cely. Vytvorte algoritmus pomocou pomocného algoritmu, ktorý nakreslí štyri krížiky na jednu vodorovnú čiaru. Konečná pozícia robota môže byť ľubovoľná.

Riešenie

Analýza na tabuli:

Úloha 2. Robot je v ľavom hornom rohu poľa. Nie sú tam žiadne steny ani maľované cely. Vytvorte algoritmus, ktorý nakreslí štvorec 8 x 8 do šachovnicového vzoru. Konečná poloha robota môže byť ľubovoľná.

Praktická práca na PC „Riešenie problému pomocou pomocných algoritmov“

Problém 1 . Robot je v ľavom dolnom rohu poľa. Nie sú tam žiadne steny ani maľované cely. Vytvorte algoritmus, ktorý nakreslí 6 zvislých pruhov rovnakej dĺžky do 6 buniek. Konečná poloha robota môže byť ľubovoľná.

Problém 2 . Pomocou pomocných vytvorte algoritmus na maľovanie buniek, ktoré tvoria číslo 1212.

Domáca úloha : Vymyslite algoritmus, ktorý nakreslí nasledujúci obrázok: Na vyriešenie problému použite dva pomocné algoritmy.

A dnes budeme hovoriť o cykloch. Poďme zistiť, čo je cyklus a ako naučiť nášho robota vykonávať cyklické algoritmy.

takže, čo je cyklus? Predstavte si, že sme na hodine telesnej výchovy a stojíme pred úlohou urobte 7 drepov. Táto úloha môže byť napísaná ako lineárny algoritmus a potom bude vyzerať asi takto:

urobiť drep

urobiť drep

urobiť drep

urobiť drep

urobiť drep

urobiť drep

urobiť drep

To znamená, že príkaz „urob drep“ sme zopakovali 7-krát. Má zmysel písať 7 rovnakých príkazov? Možno bude jednoduchšie vydať príkaz urobte 7 drepov? Samozrejme je to jednoduchšie a správnejšie. Toto je cyklus. Sami si pamätáte príklady cyklov zo života – je ich pomerne veľa.

Teda lineárny algoritmus, kde sa opakujú rovnaké príkazy môžeme usporiadať ako cyklický algoritmus- ako to:

opakujte 7 krát

urobiť drep

koniec cyklu

Takto sme navrhli cyklus v jazyku, ktorý sme vymysleli. Robotický umelec má tiež schopnosť zaznamenávať cykly. navyše cykly sú rôzne. Možnosť, na ktorú sme sa práve pozreli, sa volá slučka s počítadlom alebo slučka s parametrom.

Typy cyklov.

Slučka s počítadlom.

Slučka s počítadlom používa sa, keď je vopred známe, koľko opakovaní je potrebné vykonať. Vo vyššie uvedenom príklade s drepmi je to presne tak.

Aby ste mohli napísať slučku s počítadlom pre vykonávateľa, musíte poznať jeho syntax. A on je takýto:

nc<počet opakovaní> krát

<команда 1>

<команда 2>

<команда n>

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

Pozrime sa na to na príklade.

Robot bol spočiatku v ľavej hornej cele.

Najprv riešme problém lineárne. V tomto prípade prefarbíme aktuálnu bunku a posunieme 1 bunku doprava a program bude vyzerať takto:
použite robot
alg
začiatok

zafarbiť

správny

zafarbiť

správny

zafarbiť

správny

zafarbiť

správny

zafarbiť

správny

zafarbiť

správny

zafarbiť

správny

Ako vidíte, príkazy na maľovanie a doprava sa opakujú 7 krát. Poďme teraz prepísať program pomocou slučky. Mimochodom, ak chcete do svojho programu vložiť cyklus, môžete prejsť do ponuky Vložiť vybrať položku tsk-tsk-tsk alebo stlačte jednu z kombinácií klávesov Esc, P(ruské písmeno R) príp Esc, H(latinské písmeno H). Navyše tlačidlá musia byť stlačené postupne- najprv Esc, uvoľnite ho a až potom P alebo H.

Takže tu je náš slučkový program bude vyzerať takto:

použite robot

nts 7-krát

zafarbiť

správny

Ak to spustíme, uvidíme, že výsledok bude rovnaký – 7 vyplnených buniek. Program sa však stal kratším a oveľa inteligentnejším z algoritmického hľadiska!

Na zahriatie a posilnenie vám navrhujem, aby ste si sami napísali program pre Robota, ktorý nakreslí štvorec so stranou 7 buniek. Prirodzene, pomocou slučky. Čakám na riešenie v komentároch.

Podmienená slučka.

Pri riešení úlohy 19 Štátnej akademickej informatiky v informatike s robotom nebude možné použiť slučku s počítadlom. Keďže pole je spravidla nekonečné a steny nemajú špecifickú dĺžku. Preto nebudeme môcť určiť počet opakovaní pre slučku s počítadlom. Ale to nevadí – pomôže nám to slučka s podmienkou.

Vráťme sa k telesnej výchove a zmeňme problém. Niekto totiž možno nezvládne 7 drepov, iný 27. Dá sa s tým pri tvorbe cyklu počítať? určite. Až teraz použijeme nie počítadlo (počet opakovaní), ale podmienku. Predtým, ako sa unavíte, urobte napríklad drepy. V tomto prípade človek neurobí konkrétny počet drepov, ale bude drepovať, kým sa neunaví. A náš cyklus v abstraktnom jazyku bude mať nasledujúcu formu:

Zbohom nie unavený

urobiť drep

koniec cyklu

Slová v našom prípade nie sú unavené - to je podmienka. Keď je true, cyklus sa vykoná. Ak je nepravdivý (unavený), telo cyklu sa nevykoná. Robotický umelec má niekoľko podmienok

zadarmo navrchu

zadarmo zdola

ponechaný voľný

voľný vpravo

stena hore

stena nižšie

ľavá stena

stena vpravo

Ale v podmienkach úlohy 19 GIA sú uvedené iba prvé 4, takže ich použijeme.

Teraz poďme vyriešiť ďalšiu úlohu pre Robota - kresliť vertikálna čiara Z ľavej na pravú hranicu poľa používam slučku s podmienkou. Robot je spočiatku umiestnený v ľavom hornom rohu.

Najprv sformulujme verbálny algoritmus - to znamená, že slovami opíšeme, čo robot potrebuje urobiť. Tento algoritmus bude znieť asi takto:

« Kým je napravo voľné miesto, urobte krok doprava a vymaľujte celu »

Výsledkom je, že Robot prebehne cez všetky bunky napravo a bude ich maľovať, až kým nebude napravo stena.

Zdrojový kód nášho programu pre robota bude vyzerať takto:

použite robot

nts právo je zatiaľ zadarmo

správny

zafarbiť

Ako výsledok spustenia tohto programu uvidíme nasledujúci obrázok: