Algoritmi auxiliari. Artist robot. Cicluri algoritmii auxiliară Robot contractor

Toolkit. Pentru profesorii de informatică. EVGRAFOVA OLGA Vladimirovna, Gimnaziul nr. 8. Kolomna, 2013 În procesul de studiere a subiectului "Informatică și TIC", studenții nu numai că asimilați cultura informațională (cultura comunicării competente cu calculatorul, proiectarea documentului, comunicarea electronică), dar, de asemenea, stăpânește elementele de bază ale programului. Una dintre cele mai de succes evoluții interne din acest domeniu este sistemul de programare culmy. În ea, studenții pot obține abilități practice privind crearea și depanarea algoritmului, lucrând cu artiștii robotului și a rahaturii. Avantajele acestui sistem sunt posibilitatea echipelor de scriere a limbii rusești la școală limba algoritmică și claritatea executării rezultate a algoritmului. Sistemul Cummy este proiectat pe baza nevoilor. sistemul rusesc Educaţie. Caracteristicile sale:      distribuite liber; multi-platformă; Cerințe de resurse zero; susținută de Academia Rusă de Științe; Printre dezvoltatori - autorii multor manuale și tutoriale. pe știința informaticii;  Coperta de acoperire specială gratuită poate fi găsită pe site-ul http://www.niisi.ru/kumir/. Din păcate, autorii noilor manuale pe știința informaticii nu acordă suficientă atenție sau, în general, by-pass partea contractorilor. În același timp, dezvoltatorii GIA și -1-

p. 2.

Utilizarea include sarcini care utilizează acești artiști în sarcina de lucru de examinare. Subiectul este studiat în clasa 9 în secțiunea "Algoritmism și programare". Studiul subiectului este dat 9 ore. Elevii ar trebui să știe: care este interpret; Robot de schi, robot de miercuri; Ce este un algoritm; Care sunt principalele proprietăți ale algoritmului; Metode de înregistrare a algoritmilor: diagrame bloc, formare algoritmică; Principalele structuri algoritmice: urmați, ramificare, ciclu; Numirea algoritmilor auxiliari. Elevii ar trebui să poată: să înțeleagă descrierile algoritmilor în limba algoritmică educațională; Efectuați următorul algoritm pentru celebrul interpretor; Elaborarea algoritmilor liniară, de ramificație și ciclică a robotului contractorului; alocă subscrieri; Determinați și utilizați algoritmi auxiliari. Planul tematic al lecțiilor: Nr. P / N 1. 2. 3. 4. 5. Numărul de diversiuni ale Robotului Performer Qiya. Sistemul de echipă executiv. Compoziție1 0.5. algoritm liniar. Algoritmi ciclici. 3 1. Munca practica №1. Desen și depanare algoritmul ciclic. Ramificare și detaliere consecventă a algoritmului. 2 1 Lucrare practică numărul 2. Elaborarea și depanarea algoritmilor ciclici și ramificați. Algoritmi auxiliari și subrutine. 2 0,5 PR. sclav Numărul 3. "Utilizați algoritmi auxiliari." Test. "Crearea unui algoritm în mediul de utilizare a raliului" Tema practicii de lecție 0.5 2 1 1,5 1 Materiale pentru lecții pe tema "Robotul de antrenament de antrenament": -2-

p. 3.

Lecția 1. Robot contractor. Sistemul de echipă executiv. Robotul se mișcă când programul este executat în câmpul celulelor dreptunghiulare, dintre care pot fi localizate celulele. Câmpul este apelat pe ecran prin butonul "Fereastra de robot", care este situat pe bara de instrumente. Câmp de coduri de program de robot. Robot este capabil să execute comenzi și comenzi de echipă. Comenzi-comenzi: dreapta, stânga, sus, în jos, vopsea. Dacă peretele se dovedește pe drum, comanda nu poate fi executată. Pentru robotul de control direct utilizat la distanta. Apăsând butoanele de pe telecomandă, omul oferă echipelor relevante, iar robotul le îndeplinește. Pentru gestionarea software-ului, nu este suficient să știți ce comenzi și în ce secvență trebuie efectuată. Trebuie să scrieți aceste comenzi în formularul care este de înțeles de computer, adică. Continuați sub forma unui algoritm. În cel mai simplu caz, algoritmul pentru robot este scris astfel: numele algoritmului este o secvență de simboluri sau cuvinte separate de spații. Primul nume de nume nu ar trebui să înceapă cu figura. Numele proprii: G, suma, perimetrul Nick, 12 aprilie, douăsprezecelea aprilie, quicha_11_kl. Numele "propriu" va fi evidențiat în albastru. Utilizați robotul Alg Name_algorithm NCH Secvența de comenzi con Comenzi pentru o mai bună înțelegere a algoritmului în corpul programului poate folosi comentarii. Comentariul începe semnul |. Dacă comentariile iau câteva linii, atunci la începutul fiecărei linii ar trebui să stea semnul |. Nu există nicio acțiune asupra progresului algoritmului. Exemplul 1. Programul "Stroke Horse" (deplasați robotul de la punctul A până la punctul B). Stare sursă: Program: Rezultat: Regulile lingvistice algoritmice vă permit să înregistrați mai multe comenzi într-o singură linie printr-un punct și virgulă. -3-

p. patru.

Exemplul 2. Este necesar să mutați robotul de la punctul A până la punctul B. Calea pe care robotul ar trebui să fie întreruptă, poate fi împărțită în cinci situri identice. Comenzile de trecere a fiecărui site sunt grupate convenabil într-o singură linie - reduc înregistrarea algoritmului și o face mai ușor de înțeles. Schimbarea unui set de robot. Pentru a forța robotul să acționeze în noua setare, acesta trebuie să fie descărcat, folosind următoarele comenzi ale meniului principal: Selectați elementul "Robot" "Modificați atmosfera de pornire" pentru a deschide dosarul dorit și pentru a selecta fișierul. Crearea unui nou mediu. Pentru a crea o nouă setare pentru un robot, trebuie să executați comenzile principale de meniu: Selectați elementul "Instrumente" "Editați atmosfera de pornire". În fereastra "Enod", selectați elementul "Outstime" "Furnish nou" pentru a specifica numărul de rânduri și coloane. Dacă faceți clic pe mouse pentru a seta pereții și mutați robotul în cușca dorită. Salvați situația folosind comenzi: "Salvați cum să" setați numele fișierului și dosarul pentru a se potrivi. Apăsați Salvarea "Salvare". Puneți / scoateți perete - faceți clic pe marginea dintre celule. Tăiați / faceți o celulă curată - faceți clic pe cușcă. Puneți / eliminați punctul - faceți clic pe cușcă când este apăsată tasta Ctrl. Setați radiația, etichetele - faceți clic pe butonul din dreapta al mouse-ului. Mutați robotul - trageți mouse-ul. Executarea "executării" programului. "Efectuați continuu" Lucrări independente pe computer: 1. Descărcați un nou mediu, traduceți robotul până la punctul "B", întărirea căii de punct marcate cu simbolul "Point": "Atelier de lucru pentru un robot" Dosar "1" "B" (materiale cu K. Polyakova http://kpolyakov.narod.ru), faceți un program, deschideți fereastra robotului și executați programul pentru a executa. Salvați programul din dosarul dvs. numit "1_b". 2. Creați un mediu nou, salvați-l în dosarul dvs. cu numele "Single_1". Efectuați un program pentru un nou mediu și salvați-l în dosarul dvs. numit "New_New". 3. ** Rezolvați alte sarcini din numărul de atelier 1. -4- B.

p. cinci

Lecția 2. Algoritmi ciclici. Ciclu n - ori. Sarcina de repetare: Petya a constituit un algoritm pentru un robot "plimbare". Kolya șterge în ea o echipă. Determinați ce echipă l-am șters pe Kohl, dacă se știe că robotul trebuie să se întoarcă starea inițială. Răspuns: la dreapta de a folosi Robotul Alg Stroll Nach. sus; Dreapta. ? . jos; stânga; Stânga kon nz n timp · O serie de comenzi ale CC la compilarea algoritmilor îndeplinesc adesea cazurile atunci când o anumită secvență de comenzi trebuie efectuată de mai multe ori la rând. De exemplu, exemplul nr. 2 al ultimei lecții. Pentru a simplifica înregistrarea algoritmului în astfel de cazuri, puteți utiliza comanda - "Ciclu n-o dată". N este o expresie întregă care specifică numărul de repetări. Când efectuați algoritmul, secvența comenzilor repetă ciclic numărul de ori. Acest număr poate fi zero și chiar negativ. Aceste cazuri nu sunt considerate eronate, doar corpul ciclului nu va fi niciodată îndeplinit, iar computerul va merge imediat la execuția comenzilor înregistrate după CC. Exemplu 1. Este necesar să mutați robotul de la punctul A până la punctul B. A b) pentru a picta un rând de 16 celule. Exemplul 3. Pentru a picta dimensiunea dreptunghiului 5 (rânduri) x 6 (coloane). Utilizați robotul Alg dreptunghi NC NC 5 ori CC Ciclul poate fi amplasat în interiorul unui alt ciclu. Apoi se numește imbricat. -cinci-

p. 6.

Lucrări independente pe un computer: Exemplul 4. Să fie necesar să se traducă robotul din poziția inițială până la punctul marcat cu un asterisc și pe cale de a picta celulele labirintului. Creați o situație și un program. Salvați fișierele din dosarul dvs. Exemplul 5. Traduceți un robot din poziția inițială de pe bază și vopsea celulele marcate cu un punct. Creați o situație și un program. Salvați fișierele din dosarul dvs. Exemplul 6. Este necesar să țineți un robot pe labirintul din poziția inițială până la punctul A. Exemplul 7. Este necesar să efectuați un robot de-a lungul coridorului din poziția inițială la punctul A, peering în fiecare coridor lateral. Exemplul 8. Faceți un program de pictură a celulelor câmp marcate *. Poziția inițială a pictogramei de desemnare a robotului ◊. Exemplul 9 *. Pe zidurile de câmp ale artistului. Este necesar să găsiți poziția inițială, optimă a artistului și să scrieți un program, rezultatul căruia celulele vor fi vopsite (așa cum se arată în figură). ** Efectuați programe utilizând folderul "Workshop for Robot" _ №2. -6-

p. 7.

Lecția 3. Ciclul în timp ce. Trebuie să învățăm cum să compilam algoritmi universali care nu vor depinde de distanțele dintre robot și perete, pereții pereților. Pentru asta vom folosi un nou operator ciclu. NC În timp ce starea serii de comandă CC Când se execută un ciclu, calculatorul repetă următoarele acțiuni:  verifică starea;  Dacă se efectuează condiția, comenzile corpului ciclului sunt efectuate și starea este verificată din nou, etc.  Dacă starea nu este urmată, execuția peretelui stâng din partea stângă a ciclului liber este finalizată, iar comenzile se execută, pe peretele drept al dreptului înregistrat liber după CC. Partea inferioară a peretelui este liberă. Condițiile ciclului (probleme de echipă): deasupra peretelui de pe celula liberă de sus este vopsită de un comentarii de rețea de celule.  Dacă starea nu este respectată de la început, corpul ciclului nu este niciodată finalizat!  Execuția ciclului nu poate fi finalizată dacă se va observa condiția tot timpul. O astfel de situație apare, de obicei, ca urmare a erorilor din NC, în timp ce pe algoritmii de compilare liberă. dreapta; Exemplul din stânga al unui algoritm fără sfârșit (pe dreapta nu există perete): condițiile CC sunt simple și compozite. O condiție simplă este, de obicei, un fel de verificare. Un exemplu este orice întrebare în echipă a robotului. Starea compusă este formată din mai multe condiții simple Folosind cuvinte de serviciu și sau nu. Dacă este, de asemenea, între condiții simple, atunci este necesar pentru implementarea compusului, astfel încât atât simpli să fie credincioși. Dacă se află între condiții simple sau, atunci este suficient pentru a îndeplini starea compusă, astfel încât sa dovedit a fi cel puțin o condiție simplă. Exemplul 2. Exemplul robotului 1. Adaptat pentru a picta centura rocker, bot specificat de pe bază. pe imagine. Lungimea peretelui și distanța față de perete sunt necunoscute. Utilizați robotul Alg la baza începutului. NCS sunt libere pe partea de sus. . sus. Cc. NC în partea de sus a peretelui. . Dreapta. Cc. sus con -7-

p. opt

▪ Lucrări independente pe un computer: Undeva în câmpul robot există un perete sub formă de un unghi, de care este cunoscut. Un robot dintr-o celulă arbitrară spre stânga peretelui, dar în mod necesar opus, trebuie să ajungă la perete și să vopsească toate celulele de-a lungul peretelui din spatele ei, așa cum se arată în figură. ▪ Este necesar să traduceți robotul din poziția inițială până la punctul A, în timp ce pictează celulele câmpului specificat. Dimensiunile pereților și distanța dintre ele pot fi arbitrare. ▪ Creați programe utilizând folderul "Workshop pentru un robot"  folder_4_a_a_s_d   folder_5_a_a_b_c_d Lecția 4. Numărul de lucru practic 1. Algoritmi ciclici pentru un robot. Opțiunea 1 sarcină 1. Adăugați celule în partea stângă a peretelui sau pe partea superioară a peretelui. Distanța de la robot la perete este necunoscută. Lungimea pereților este necunoscută. Creați o situație și scrieți un program. Fișiere Salvați în dosarul dvs. R sarcină 2. Executorul robotului este undeva într-o zonă pătrată limitată. Lungimea laterală a pătratului este necunoscută. Scrieți un algoritm pentru un robot, pictura tuturor celulelor situate pe diagonala pătratului din partea stângă spre colțul din dreapta jos. Creați o situație și scrieți un program. Fișiere Salvați în dosarul dvs. Sarcina 3. Traduceți interprovantul din celula A în celulă în clarificarea celulelor marcate. Lungimea pereților și distanța dintre ele sunt necunoscute. Creați o situație și scrieți un program. Fișiere Salvați în dosarul dvs. -opt-

p. nouă

Sarcina 4. Este necesar să traduceți robotul din poziția inițială (◊) până la punctul A, în timp ce pictați celulele câmpului specificat. Dimensiunile pereților și distanța dintre ele pot fi arbitrare. Sarcina 5. Pe un câmp infinit există o margine. Numărul de pași poate fi oricare dintre ele. Zidul orizontal inferior continuă fără sfârșit spre dreapta, peretele orizontal superior frunze infinit la stânga. Robotul este undeva peste peretele orizontal de fund. Celulele furtunoase situate de-a lungul părții verticale ale etapelor (vezi fig.). Poziția finală a robotului este una. Creați o situație și scrieți un program. Fișiere Salvați în dosarul dvs. Fiecare pas are o dimensiune: 2 celule orizontal și 2 celule vertical. Opțiunea 2 Sarcina 1. Scrieți un algoritm pentru un robot, pictura tuturor celulelor situate de-a lungul părții din stânga și deasupra părților inferioare ale dreptunghiului și adiacente peretelui. Este necunoscut în picioare de la robot la pereți și lungimea pereților. Creați o situație și scrieți un program. Fișiere Salvați în dosarul dvs. Sarcina 2. Executorul robotului este undeva într-o zonă pătrată limitată. Lungimea laterală a pătratului este necunoscută. Scrieți un algoritm pentru un robot, pictura tuturor celulelor situate pe diagonala pătrată de la cea dreaptă superioară din colțul din dreapta jos. Creați o situație și scrieți un program. Fișiere Salvați în dosarul dvs. Sarcina 3. Traduceți interprovantul din celula A în celulă în clarificarea celulelor marcate. Lungimea pereților și distanța dintre ele sunt necunoscute. Creați o situație și scrieți un program. Fișiere Salvați în dosarul dvs. -nouă-

p. 10.

Sarcina 4. Este necesar să traduceți robotul din poziția inițială (◊) până la punctul A, în timp ce pictați celulele câmpului specificate. Dimensiunile pereților și distanța dintre ele pot fi arbitrare. Sarcina 5. Pe un câmp infinit există o margine. Numărul de pași poate fi oricare dintre ele. Zidul orizontal inferior continuă fără sfârșit în stânga, peretele orizontal superior frunze infinit la dreapta. Robotul este undeva peste peretele orizontal de fund. Celulele furtunoase situate de-a lungul părții verticale ale etapelor (vezi fig.). Poziția finală a robotului este una. Creați o situație și scrieți un program. Fișiere Salvați în dosarul dvs. Fiecare pas are o dimensiune: 2 celule orizontal și 2 celule vertical. Lecția 5. Algoritmi de ramificare. Comanda "Dacă _ atunci _ altfel" toate "Vederea generală a comenzii: Dacă starea este altfel, acțiunile 2 Toate structurile de comandă: După verificarea condițiilor, se efectuează acțiuni 1 dacă condiția este adevărată, altfel - Acțiunile 2. După aceea, comenzile au fost înregistrate după cuvântul, totul. Sucursala poate fi absentă (ramificație incompletă). În acest caz, comanda are forma: dacă starea este acțiunea, toate dacă starea nu este urmată, comenzile înregistrate după executarea imediat a cuvântului de serviciu. Exemplul 1. Creați un program conductiv un robot printr-un coridor al lungimii arbitrare. Pe drum, robotul trebuie să picteze toate celulele care nu au un perete de mai jos. Numărul de găuri nu este cunoscut. - 10 -

p. unsprezece

Exemplul 2. Traduceți un robot la un punct B și vopsea celulele marcate cu un punct. Lungimea peretelui și numărul de "blocuri" nu sunt cunoscute. Pentru a utiliza robotul ALG pe baza începutului NC până când dreptul este liber în partea dreaptă dacă partea de sus este liberă să picteze toate CC jos. Exemplu ** Calculați cât de mulți în coridorul celulelor (pentru execuție Este necesar să dezasamblați mai multe construcții: funcția SCH: \u003d SCH + 1 | Creșterea variabilei la 1 ieșire SCH | Ieșire Valoarea variabilei de pe ecranul de lucru pe computer: Creați o situație și rezolvați sarcina. Sarcina 1. Faceți un algoritm pentru trecerea unui robot al situației: sarcina 2. Faceți un program în care robotul depășește orice număr de obstacole și vine în perete. Obstacole pot fi plasate oriunde. - 11 -

p. 12.

Sarcina 3. Pentru a picta celulele marcate cu puncte. Sarcina 4. Utilizați robotul Alg la bază Începeți să pictați NC în timp ce pe dreapta este fluent direct dacă este gratuit, apoi în sus; a picta; Down Altfel vopsea toate cc jos con set 5. Storm celulele situate lângă pereți. Creați un algoritm care pictează toate celulele dintre cele două pereți. Ce perete este lăsat necunoscut. Pentru a utiliza Robotul ALG între NC NC NC (Nu Pe partea de sus) sau (nu din partea inferioară) spre dreapta dacă (nu pe partea de sus este gratuită) și (nu de la Free dedesubt), apoi vopsea toate conerentele CC de utilizat Robotul Alg UCH5 NCN dreapta NC nu este încă în partea de jos. la vopseaua CC dreapta; În jos nc în timp ce în stânga libertatea de a picta; La stânga kc nz până la stânga este liber să picteze liber; în jos kc pentru a picta; stânga; a picta; sus; Nc în timp ce liber să picteze liber; Până acum kc nz liber să picteze liber; Conferința KC stânga 6 **. Robotul este la începutul coridorului. Există blocuri pe coridor de sus și sub lungimea necunoscută, dar locația lor nu se întâmplă una față de cealaltă. Lungimea coridorului este, de asemenea, necunoscută. Scrieți un algoritm pentru pictura tuturor blocajelor și ieșiți de pe coridor. - 12 -

p. 13.

Utilizați robotul Alg Still Stone. Nc în partea de sus a peretelui) sau (partea de jos a peretelui). . Dreapta. . Dacă (în partea de sus) și (partea de jos a peretelui). . . atunci. . . . NCS sunt libere pe partea de sus. . . . . sus; A picta. . . . Cc. . . . Nc în timp ce liber liber. . . . . jos. . . . Cc. . Tot. . Dacă (de jos este liber) și (pe partea de sus a peretelui). . . atunci. . . . Nc în timp ce liber liber. . . . . jos; A picta. . . . Cc. . . . NCS sunt libere pe partea de sus. . . . . sus. . . . Cc. . Tot; . Cc; Comenzile con subliniate în roșu sunt necesare pentru a rămâne la ieșirea de pe coridor. Lecția 6. Numărul de lucru practic 2. Algoritmi ciclici și ramificați pentru un robot. Rezolvarea sarcinilor cu utilizarea Kim Gia. Cometariu. În compilarea algoritmilor, sarcina trebuie rezolvată în formă generală, adică Apariția figurii este definită, dar lungimea laturilor, numărul de pași și alți parametri se pot schimba. Programul ar trebui să funcționeze pentru orice formă de vedere similară! Sarcina 1. Creați un mediu și scrieți un algoritm care stabilește toate celulele care sunt dreptul la secțiunile verticale ale peretelui. Utilizați problema Robot Alg 1 pas în jos; Dreapta. NCS sunt libere pe partea de sus. . Vopsea de sus. Cc. NC nu este liber de sus. . Dreapta. Cc. sus. NC până la stânga este gratuită. . a picta; sus. KC KON - 13 -

p. paisprezece

Utilizați sarcina robotului Alg 2 NCH. NC în timp ce este în mod liber. . Dreapta. Cc. Nc nu este liber la dreapta. . sus. Cc. Dreapta. Nc nu este liber la dreapta. . vopsea; Dreapta. KC KON Înălțimea fiecărei etape o celulă, lățime - 2 celule. Sarcina 2. Scrieți un algoritm care pete pe toate celulele deasupra pașilor. Sarcina 3. Pentru a picta toate celulele care sunt deasupra treptelor scărilor, coborând de la stânga la dreapta. Utilizați sarcina Robot Alg 3 Nach. Nc în timp ce liber liber. . jos; stânga; Stânga. Cc. NC până la stânga este gratuită. . a picta; Dreapta. . a picta; Dreapta. . jos. Kc con sarcină 4. fort celulele labirintului. Utilizați robotul Alg Labirint Nach. Dreapta. NC în timpul peretelui drept. . a picta; sus. . a picta; sus. . a picta; Dreapta. . a picta; jos. . a picta; jos. . a picta; Dreapta. Sarcina KC KON 5 ** Interfața este într-o celulă arbitrară, dar în mod necesar vizavi de perete (desenul de sus). Ca rezultat, este necesar să picteze celulele așa cum se arată în figura de mai jos. - paisprezece -

p. cincisprezece

Utilizați Nach Robotul Robotului Alg. Nc în timp ce în dreapta este fluent drept; . Cc. Nc în timpul peretelui drept; . Cc. dreapta; sus. NC este încă (în partea stângă a peretelui și pe partea superioară) sau (deasupra peretelui și pe dreapta) sau (pe peretele drept și fără fundul inferior) sau (din partea inferioară a peretelui și pe stânga este gratuită). . Dacă (în partea stângă a peretelui) și (pe partea de sus). . . atunci. a picta; sus. . Tot. . Dacă (deasupra peretelui) și (fără drept). . . atunci. . a picta; Dreapta. . Tot. . Dacă peretele din dreapta și mai jos este liber. . . atunci. . a picta; jos; . . Tot. . Dacă peretele și stânga sunt gratuite. . . atunci. . . a picta; stânga; . . Tot; . Cc; Lecția Kon 7. Algoritmi auxiliari La rezolvarea unor sarcini, este convenabil să le spargeți în subtask-uri mai mici, fiecare dintre acestea poate fi emis ca un algoritm independent. În acest caz, așa-numitul algoritm de bază este inițial întocmit, în care subtasurile sunt utilizate pentru a rezolva apelurile algoritmilor auxiliari care adaugă mai târziu. Această soluție se numește o metodă consistentă de rafinament. Acesta vă permite să lucrați la un grup de programatori, fiecare în acest caz își rezolvă subtașca. Echipa de execuție a algoritmului auxiliar este numită un apel și înregistrată în corpul algoritmului principal. În limba algoritmică, algoritmul principal este înregistrat pentru prima dată, auxiliarul este înregistrat mai jos la rând. Exemplul 1. Luați în considerare situația din numărul de lecție 1. Robotul trebuie tradus în cușcă, indicat de punct. Utilizați bypass-ul Robot Alg Coridor Nach; traversa; traversa; traversa; Bypassing Con Alg Bypassing Pornire; sus; chiar în jos; jos; Dreapta kon - 15 -

Și astăzi să vorbim despre cicluri. Să ne dăm seama ce este un ciclu și cum să învățăm algoritmii ciclici ai robotului nostru.

Asa de, ce este ciclul? Imaginați-vă că suntem în lecția culturii fizice și ne confruntăm cu sarcina faceți 7 squats. Această sarcină poate fi emisă sub forma unui algoritm liniar și apoi va arăta așa ceva:

dIY Squat.

dIY Squat.

dIY Squat.

dIY Squat.

dIY Squat.

dIY Squat.

dIY Squat.

Adică, am repetat comanda de a ghemui de 7 ori. Are sens să scrieți 7 echipe identice? Poate facilita oferirea unei echipe faceți 7 squats? Desigur, este mai ușor și mai corect. Acesta este ciclul. Vă puteți aminti exemplele de cicluri din viață - există destul de multe dintre ele.

În acest fel algoritm liniarÎn cazul în care repetă aceleași echipe pe care le putem aranja sub forma unui algoritm ciclic - ca asta:

repetați de 7 ori.

dIY Squat.

sfârșitul ciclului

Deci, în limba am inventat limba, am emis un ciclu. Robotul artistului are, de asemenea, capacitatea de a înregistra cicluri. Și ciclurile sunt diferite. Această opțiune pe care am considerat-o ciclu cu contor sau ciclu cu parametrul.

Tipuri de cicluri.

Ciclu cu un contor.

Ciclu cu contor Se folosește atunci când este cunoscut în avans câte repetări trebuie făcute. În exemplul de mai sus cu squats, acesta este cazul.

Pentru a scrie un ciclu cu un membru pentru artist, este necesar să se cunoască sintaxa sa. Si el este:

nC.<numărul de repetări\u003e O singură dată

<команда 1>

<команда 2>

<команда n>

Aici trebuie să specificăm numărul de repetări (număr) și comenzile care vor fi repetate. Comenzi repetate în ciclu numit ciclul corpului.

Să ne uităm la acest exemplu.

Inițial, robotul era în celula superioară stângă.

Să decidem mai întâi sarcina liniar. În acest caz, vom picta celula curentă și vom deplasa la 1 celulă spre dreapta și programul va arăta astfel:
utilizați robotul
Alg.
Nach.

a picta

dreapta

a picta

dreapta

a picta

dreapta

a picta

dreapta

a picta

dreapta

a picta

dreapta

a picta

dreapta

După cum puteți vedea, echipa de vopsea și dreapta sunt repetate de 7 ori. Să rescriem acum programul folosind un ciclu. Apropo, pentru a introduce ciclul la programul dvs. din meniu Introduce Selectați elementul nc-pe cc sau apăsați una dintre combinațiile cheie ESC, R. (Litera rusă P) sau ESC, H. (Litera latină h). în plus tastele trebuie apăsate succesiv. - primul esc, eliberați-l și numai apoi p sau H.

Deci, noștri program cu ciclu Va arăta astfel:

utilizați robotul

nC de 7 ori.

a picta

dreapta

Dacă o începem, vom vedea că rezultatul este același - 7 dintre cuști. Cu toate acestea, programul a devenit mai scurt și în mod semnificativ literat din punct de vedere algoritmic!

Ca antrenament și consolidare, propun să scriem în mod independent un program pentru un robot, care va desena un pătrat cu o parte a 7 celule. Bineînțeles, folosind ciclul. Așteptarea soluțiilor în comentarii.

Ciclu cu condiție.

La rezolvarea unei probleme de 19 GIA privind știința informatică cu un robot, acesta nu va funcționa cu un robot. De la câmp, de regulă, infinit și pereții nu au o lungime specifică. Prin urmare, nu vom putea determina numărul de repetări pentru ciclu cu contorul. Dar nu probleme - ne vom ajuta ciclu cu condiție.

Să ne întoarcem la educația fizică și să schimbăm sarcina. La urma urmei, cineva nu poate face 7 squats, iar celălalt este capabil să facă 27. Este posibil să se țină seama la crearea unui ciclu? Sigur. Numai acum nu vom folosi un contor (numărul de repetări), ci condiția. De exemplu, nu este încă obosit, nu squats. În acest caz, o persoană nu va face un număr specific de squaturi, ci la unghii până când se obosește. Și ciclul nostru pe o limbă abstract va dura acest tip:

pana cand nu obosit

dIY Squat.

sfârșitul ciclului

Cuvintele nu sunt obosite în cazul nostru - această condiție. Când este cu adevărat, ciclul este efectuat. Dacă este falsă (obosită), organismul ciclului nu va fi executat. Robotul artistului are mai multe condiții

pe partea de sus gratuit

de la mai jos gratuit

stânga gratuit

dreapta gratuit

deasupra peretelui

fundul peretelui

perete din stânga

perete drept.

Dar în starea problemei a 19 gIA, numai primele 4. Deci, vom folosi numai ei.

Acum, să decidem următoarea sarcină pentru un robot - Desenați o linie verticală din stânga la dreapta a câmpului folosind un ciclu cu starea. Inițial, robotul este în colțul din stânga sus.

Să formăm mai întâi algoritmul sluban. - I.E. Descriem ce trebuie să faceți un robot. Acest algoritm va suna astfel:

« În timp ce pe dreapta luați liber un pas spre dreapta și vopsiți cușca »

Ca rezultat, robotul va rula pe toate celulele spre dreapta și vor fi pictate până când dreptul va fi zidul.

Codul sursă al programului nostru pentru robot va fi aproximativ astfel:

utilizați robotul

nc în timp ce este liber

dreapta

a picta

Ca rezultat al acestui program, vom vedea această imagine:

Artist robot. Algoritmi auxiliari (2h)

Scop: Introduceți conceptul algoritmului principal și auxiliar; Explicați regulile pentru utilizarea algoritmului auxiliar; Demontați exemple de algoritmi care utilizează auxiliar. Elaborarea abilităților practice pentru a construi algoritmi prin rafinament consecvent.

Planul lecției

1. Introducerea de noi termeni (algoritmul principal și auxiliar) și o explicație a noilor concepte.

2. Următoarele exemple de rezolvare a problemelor cu utilizarea algoritmului auxiliar.

3. Muncă practică

La rezolvarea unor sarcini, este convenabil să le spargeți în subcaderi mai mici, fiecare dintre acestea poate fi emis ca un algoritm independent. În acest caz, așa-numitul algoritm de bază este inițial întocmit, în care subtasurile sunt utilizate pentru a rezolva apelurile algoritmilor auxiliari care adaugă mai târziu. Această soluție este numită metoda de clarificare consecventă. Acesta vă permite să lucrați la un grup de programatori, fiecare în acest caz își rezolvă subtașca.

În procesul de rezolvare a problemei, fiecare algoritm auxiliar poate fi, dacă este necesar, este împărțit în algoritmi auxiliari mai mici.

Echipa de execuție a algoritmului auxiliar este numită apel și înregistrate în corpul algoritmului principal.

Același algoritm poate fi considerat ca principal și auxiliar în raport cu alți algoritmi. În limba algoritmică, algoritmul principal este înregistrat pentru prima dată, auxiliarul este înregistrat mai jos la rând.

Sarcina 1:

Robotul se află în colțul din stânga sus al câmpului. Nu există pereți și celule pictate. Creați un algoritm utilizând auxiliar, desenând patru cruci pe un orizontal. Poziția finală a robotului poate fi arbitrară.

Decizie

Colaps pe tablă:

Sarcină2. Robotul se află în colțul din stânga sus al câmpului. Nu există pereți și celule pictate. Faceți un algoritm care vopsește în pătratul verificat 8 x 8. Poziția finală a robotului poate fi arbitrară.

Lucrări practice pe PC "Soluția problemei cu utilizarea algoritmilor auxiliari"

Sarcina 1. . Robotul este situat în colțul din stânga jos al câmpului. Nu există pereți și celule pictate. Faceți un algoritm care vopsește 6 benzi verticale de aceeași lungime în 6 celule. Poziția finală a robotului poate fi arbitrară.

Sarcină2. . Utilizarea auxiliarului, efectuați un algoritm pentru pictura celulelor care formează numărul 1212.

Teme pentru acasă : Inventați algoritmul desenând următoarea imagine: Pentru a rezolva problema, aplicați două algoritmi auxiliari.

Programul educațional al unui curs electiv "Dezvoltarea gândirii algoritmice prin rezolvarea problemelor" (pentru studenții clasei 5-6). Termenul de implementare: 4 luni. Program Autor: Ig Distribuitorii distribuitorilor: Consiliul Metodic MBou Sosh nr. 13, 2012. O notă explicativă de către A.P. Ershov a descris stilul operațional de gândire - capacitatea de a planifica structura acțiunilor necesare pentru atingerea scopului utilizând un set fix de fonduri. Gândirea algoritmică implică o înțelegere a esenței structurilor algoritmice de bază: urmărirea, ramificarea, ciclul, provocarea, precum și capacitatea de a utiliza în mod eficient aceste structuri atunci când elaborează algoritmi simpli și de a construi algoritmi complex bazați pe simplu. Componentele structurale ale stilului de gândire includ: capacitatea de a formaliza problema, înțelegerea și capacitatea de a pune în aplicare operațiuni algoritmice elementare, punerea în aplicare a alegerii modului optim de a atinge obiectivul. Abilitatea de a construi algoritmi este relevantă, în ceea ce privește activitățile obiective, în multe domenii ale cunoștințelor și activităților studenților. Alegerea problemelor de rezolvare în mediul cumum se datorează faptului că pot demonstra în mod clar algoritmi, care dezvoltă abilități algoritmice și gândire algoritmică pe baza acțiunilor vizuale ale artiștilor interpreți sau executanți. Elevii de clase 5-6 sunt motivați la utilizarea artiștilor comerciali cumum media. Acestea sunt ușor de utilizat și sistemul de echipe ale acestor artiști, sunt de înțeles și ușor de utilizat. Elevii sunt entuziaști algoritmi simpli Și își demonstrează învățătorul și reciproc. Claritatea acțiunilor interpreților face ușor să urmărească execuția algoritmului și să contribuie la aceasta dacă aveți nevoie de ajustări. Cursul "Dezvoltarea gândirii algoritmice prin rezolvarea problemelor" este practicată. Elevii stăpânesc în mod independent miercuri, cummy și tehnicile de rezolvare a problemelor bazate pe tehnologiile propuse și exemple dezasamblate. Profesorul ajută în mod individual în dificultate și rezolvă sarcini solvabile și oferă, de asemenea, opțiuni optime de rezolvare a soluțiilor. Cursul este propus să fie studiat în școlile cu predarea necesară și echipamentul metodic și tehnic. Este destinat studenților de 5 - 6 clase care au competențe elementare de a lucra cu operarea sistemul Windows.. Acest curs Acesta poate fi continuat printr-un curs de bază de programare și un curs la distanță prin rezolvarea sarcinilor Olimpiad pe site-ul http://www.acmu.ru pentru studenții interesați de 78 de clase. Subiectul "algoritmism" este studiat la 4 sferturi din clasa 6. Astfel, studenții în acest moment vor putea să stăpânească utilizarea mediului culic și a structurilor algoritmice intuitive, ceea ce le va permite să examineze cu succes teoria algoritmismului și să o aplice cu ușurință în practică. Cursul "Dezvoltarea gândirii algoritmice prin rezolvarea problemelor" este proiectată timp de 17 ore, în timpul căreia elevii vor fi intuitivi, la rezolvarea problemelor pe un computer, stăpânește principalele construcții algoritmice: urmați, ramificarea, ciclul, apelați la un algoritm auxiliar, în mod eficient compilați algoritmi. 1 Acest curs poate fi primul pas pentru a studia în continuare programele și alegerea direcției de instruire asociată cu tehnologiile informaționale. Obiectivele și obiectivele cursului Scopul cursului:  Extindeți cunoștințele studenților pe tema "Informatică și TIC";  Dezvoltarea gândirii algoritmice a studenților prin elaborarea algoritmilor pentru rezolvarea problemelor. Sarcinile cursului:  introduceți elevii să practice cu mijlocul cummului;  Luați în considerare principalele posibilități ale celor mai populari artiști "roboți" și "raportor";  Asigurarea utilizării structurilor algoritmice de bază: urmând, ramificare, ciclu, apel. Sesiuni de instruire a tehnologiei. Revendicările sunt monitorizate sub formă de muncă practică. La începutul clasei (5 minute), profesorul a pus scopul acestor clase în fața elevilor și reamintește rezultatele fiecărui elev, pe care la ajuns la acest timp și ce sarcini ar trebui să rezolve la această lecție. Elevii reprezintă algoritmi pe computer, le îndeplinesc cu urmărirea rezultatelor intermediare și raportează profesorului despre rezolvarea problemelor. Elevii se pot ajuta reciproc în rezolvarea problemelor. Aceste sarcini care nu au fost rezolvate în lecție pot fi rezolvate ca teme pentru acasă și testate în următoarele clase. Profesorul verifică sarcina solidă și își rezolvă decizia în jurnal. La sfârșitul lecției (5 minute), acei studenți care au cel mai mare număr de sarcini rezolvate sunt supuse unor dificultăți care au apărut de la studenții care nu au rezolvat sarcini și sunt oferite și discutate modalități de a le depăși. La începutul și sfârșitul lecției, evaluările tuturor elevilor sunt vizibile, ceea ce permite organizarea concurenței între studenți. Calendar-lecție tematică Lecție # Tema Lecții 1 2 3 4 5 Cunoașterea cu sistemul Cummy. Rezolvarea sarcinilor. Artist robot. Rezolvarea sarcinilor. Elaborarea algoritmilor liniari. Rezolvarea sarcinilor. Elaborarea algoritmilor liniari. Rezolvarea sarcinilor. Exemple de algoritmi auxiliari. Pregătirea algoritmilor auxiliari. Rezolvarea sarcinilor. Pregătirea algoritmilor auxiliari. Rezolvarea sarcinilor. Un exemplu de algoritm ciclic. Desenarea algoritmilor ciclici. Rezolvarea sarcinilor. 6 7 Numărul orelor 1 1 1 1 1 1 1 2 8 9 10 11 12 13 14 15 16 17 Exemplu de algoritm de ramificare. De întocmirea algoritmilor de ramificare. Rezolvarea sarcinilor. Antreprenor. Rezolvarea sarcinilor. Comanda pentru a trece la punct. Elaborarea algoritmilor liniari. Rezolvarea sarcinilor. Echipa trece la vector. Elaborarea algoritmilor liniari. Rezolvarea sarcinilor. Echipa trece la vector. Elaborarea algoritmilor liniari. Rezolvarea sarcinilor. Pregătirea algoritmilor auxiliari. Rezolvarea sarcinilor. Pregătirea algoritmilor auxiliari. Rezolvarea sarcinilor. Desenarea algoritmilor ciclici. Rezolvarea sarcinilor. Desenarea algoritmilor ciclici. Rezolvarea sarcinilor. Rezumând. Ratingul elevului. Rezolvarea sarcinilor. Total 1 1 1 1 1 2 1 1 1 17 Conținutul materialului educațional datând din sistemul Cummy. Încărcarea sistemului cub. Scopul robotului de artiști. Sistemul de comenzi ale robotului artistului. Procedura de scriere a unui algoritm. Ordinea creării unui câmp de robot. Efectuarea unui algoritm. Urmărirea rezultatelor execuției de către robotul algoritmului. Scrierea primului algoritm. Elaborarea algoritmilor liniari. Rezolvarea sarcinilor. Algoritm auxiliar. Două exemple de algoritmi auxiliari. Echipa apelează un algoritm auxiliar. Înregistrați un algoritm auxiliar. Două cazuri în care sunt aplicate algoritmi auxiliare. Pregătirea algoritmilor auxiliari. Rezolvarea sarcinilor. Algoritm ciclic. Un exemplu de algoritm ciclic. Un ciclu cu un număr dat de repetări, ciclul de comandă n ori. Desenarea algoritmilor ciclici. Rezolvarea sarcinilor. Algoritmul ramificat. Două exemple ale unui algoritm de ramificare. Echipa dacă. Formă de echipă completă și incompletă dacă. Condiții într-un algoritm de ramificare. De întocmirea algoritmilor de ramificare. Rezolvarea sarcinilor. Antreprenor. Executor comandă sertar de sistem. Scrierea unui algoritm pentru sertarul artistului. Atribuiți comanda pentru a trece la punct. Un exemplu al algoritmului cu comanda pentru a trece la punct. Procedura de creare a desenului și scrierea algoritmului pentru sertarul artistului. Elaborarea algoritmilor liniari. Rezolvarea sarcinilor. Antreprenor. Un exemplu de algoritm cu o comandă pentru a trece la vector. Procedura de creare a unui desen și scrierea unui algoritm cu o comandă pentru a trece la vectorul sertarului artistului. Elaborarea algoritmilor liniari. Rezolvarea sarcinilor. Un exemplu de algoritm auxiliar. Pregătirea algoritmilor auxiliari. Rezolvarea sarcinilor. Un exemplu de algoritm ciclic. Desenarea algoritmilor ciclici. Rezolvarea sarcinilor. Rezultatele estimate ale cursului cursului. Cursul permite studenților să se familiarizeze: cu descărcarea și elementele interfeței programului Cammer. Cu procedura de efectuare a unor acțiuni în programul Cummy. Cu numirea robotului de artiști. Cu numirea sertarului artistului. 3 Cu structuri algoritmice de bază: urmați, ramură, ciclu, apel. Cu procedura de creare și efectuare a algoritmilor. Odată cu calcularea valorii vectorilor de către celule care utilizează proiecții pe axa coordonatelor. În procesul de învățare, elevii dobândesc abilități: crearea și efectuarea algoritmilor. Salvarea și încărcarea algoritmilor. Aplicații ale diferitelor structuri algoritmice pentru rezolvarea eficientă a problemelor. Construcția desenelor pe planul de coordonate. Condiții curente de implementare 1. 2. 3. 4. 5. 6. 7. Calculatoare de clasa a 12-a. Rețeaua locală. Ecran demonstrativ. Imprimanta. Hârtie pentru imprimanta A4. Miercuri cummy - software gratuit. Materiale didactice. Referințe Leonov a.g. Miros idolul timp de 6 ore. - Moscova: Informatică, anexă la ziarul 1 septembrie, nr. 24, 2010, № 2, 2011, Kushnirenko a.g. Elementele de bază ale echipamentelor informatice și computerelor: eșantioane. studii. Pentru mass-media. studii. Instituții de a.g. Kushnirenko, G.V. Lebedev, r.a. Potrivit - a doua ed. - M.: Educație, 1991. - 224 c.: Il. Apendicele 1 Artistul "Robot" algoritmi liniară "robotul" interpret se mișcă în câmpul celular 15 cu 10 celule și vopsele de celule. Robotul poate efectua următoarele comenzi de schi: în sus, în jos, stânga, dreapta, vopsea. Încărcați programul Cummy pentru artist "robot" 1. Calea este de a deschide o comandă rapidă pe desktop. 2. Metodă - Disc de computer C: Dosarul școlii Kumirwin Folder Kumir.exe (aplicație). 4 Exemplul 1 1. Formați programul de la tastatură din idol. 2. Apelați comanda Menu pentru instrumente Editați robotul de pornire a robotului. 3. Apelați meniul Ajutor de deschidere. Citiți acțiunile efectuate la editarea situației, amintiți-le. 4. Curățați situația și plasați robotul în centrul de câmp. Închideți setarea fără salvare. 5. Apelați pasul Comandă Executie Menu (F8 - tasta rapidă). 6. Apelați câmpul Robot, comanda de meniu robot Afișează fereastra robotului. 7. Apăsați tasta F8 la sfârșitul programului (până când banda verde dispare). Trebuie să se întâmple următorul rezultat. Sarcina 1 Faceți un program prin completarea robotului, robotul va picta celulele situate într-un checker cu o lungime laterală de 3 celule. 5 Sarcina 2 Faceți un program prin completarea pe care robotul va picta celulele situate sub forma unui rhomb cu o lungime a lateralului 4 celule. Sarcina 3 Faceți un program prin completarea robotului pentru a picta celulele situate sub forma unei piramide de înălțime de 4 celule și revenirea la poziția inițială. Sarcina 4 Faceți un program prin completarea robotului pentru a picta celula astfel încât o imagine interesantă să fie în (de exemplu, emoticon). 6 Sarcina 5 Robot este la începutul coridorului orizontal (celula A). Traduceți un robot la capătul coridorului (celula B). Literele A și B în setarea robotului nu sunt puse. Sarcina de 6 robot este situată în fața intrării la coridorul vertical. Robotul trebuie să treacă de-a lungul coridorului și să iasă din ea pe o cușcă. Robotul trebuie să picteze celulele prin care trece. Sarcina 7 În atmosfera robot, creați un labirint cu o ieșire. Așezați robotul în cușcă din care va ieși din labirint. Faceți un program care va aduce un robot de la labirint. Sarcina de 8 robot trebuie să se deplaseze din celulă și în celula B și vopsea celulele indicate de puncte. 7 IMPORTANT: Toți algoritmi pe care i-ați reprezentat sunt liniari, pentru că Echipele din ele urmează unul de celălalt de la început până la sfârșitul algoritmului. opt

Controlul de către robotul interpret În sistemul de idol

Robotul există într-o anumită setare (câmp de celule dreptunghiulare). Între unele celule de câmp pot fi localizate pereți. Unele celule pot fi vopsite (figura 3.11).

Robotul ocupă exact o celulă de câmp.

Potrivit echipelor în sus, în jos, la stânga și la dreapta, robotul se deplasează în celula adiacentă în direcția specificată. Dacă peretele se dovedește a fi un perete, atunci există un refuz - un mesaj de imposibilitate este emis pentru a executa următoarea comandă.

La echipă, vopsea vopselele robot cusca în care merită. Dacă celula a fost deja vopsită, se va întoarce din nou, deși nu apar schimbări vizibile.

Robotul poate executa numai comenzi înregistrate corect. Dacă scrieți această înregistrare în loc de o echipă, atunci robotul nu va înțelege această intrare și va raporta imediat o eroare.

DESPRE
sIBS: 1 sintaxă; 2. LOGIC.

Descrierile setărilor sunt stocate în fișiere text. Format special (format.fil).

Actual - situația în care este robotul acest moment (inclusiv informații despre poziția robotului).

start- Situația în care robotul este aplicat la începutul programului folosind un robot.

Procedura de operare:


  1. A stabilit atmosfera de pornire Sub condiția problemei:
Instrumente de meniu → Schimbați atmosfera de pornire a robotului (Desenați o provocare în condiția sarcinii, dați un nume, salvați în dosarul dvs. personal)

2. Specificați artistul:

Introduceți meniul → Utilizați un robot

3. Scrieți un algoritm pentru rezolvarea problemei.

4. Rulați algoritmul (meniul de execuție → Rulați continuu / F9)

Sistemul de comenzi ale robotului de artist în sistemul idolului


Echipă

act

sus

Robot se deplasează la 1 cușcă în sus

jos

Robot se deplasează la 1 cușcă în jos

stânga

Robot se deplasează la 1 celulă spre stânga

dreapta

Robot se deplasează la 1 celulă dreapta

a picta

Robotul vopsește cușca în care

dreapta gratuit

Robot verifică executarea corespunzătoare simplu Condiții

stânga gratuit



pe partea de sus gratuit



de la mai jos gratuit



vopsea vopsită



cell curat



Algoritmi ciclici.

Ciclu- organizarea repetiției acțiunilor, în timp ce este sigur că este o anumită condiție .

Corpul ciclului -un set de acțiuni repetitive.

Condiție -expresie logică (simplă sau complexă (compozit))
Tipuri de cicluri:

1.Ciclul "Repetați n ori" 2. Ciclul "până acum"
nc n timp nC.
. . Corpul ciclului. . Ciclul corpului
kc. kc.

Exemplu: nC. Dreapta gratuit


Vedere generală a ciclului "Repetați n ori:

Repetați n ori

SFÂRȘIT
kc.

Vedere generală a ciclului "în timp ce":

În timp ce faceți acest lucru

SFÂRȘIT
Componente sunt formate din una sau mai multe condiții simple și cuvinte oficiale Și sau nu.


Starea compusului A și B. (Unde și, în - condiții simple), se completează atunci când fiecare dintre cele două condiții simple incluse în el.

Lasati a. - Pe lângă gratuit,ÎN - În mod liber,apoi condiție compusă A și B. - În mod liber și liber liber.


Starea compusului A sau B. completat atunci când cel puțin una dintre cele două condiții simple incluse în acesta: pe partea de sus sau gratuită gratuită
Starea compusului Nu A. - completat când starea A.

Exemplu:Fie ca o celulă pictată (o condiție simplă).

P. relucarea stării compozite nu este:

a) A - efectuat, nu (nu pictat) - nu este îndeplinită.

b) A - Nu este mulțumit, nu (nu pictat) - efectuat.


Echipa de ramură

Ramificație -forma de organizare a acțiunilor în care, în funcție de implementarea sau neîndeplinirea unei anumite condiții, se efectuează fie una sau o altă secvență de acțiuni.

General View Echipa IF:

ÎN CAZUL ÎN CARE UN Acea In caz contrar

SFÂRȘIT

În limba idolului:

Flacă Flacă: Filiala incompletă:
în cazul în care un acea în cazul în care un acea

in caz contrar

toți toți cei

Algoritmul auxiliar - algoritmul care rezolvă unele subtask a sarcinii principale.

În sistem, algoritmii auxiliari cummy sunt scrise la sfârșitul programului principal (după cuvintele oficiale kon.) sunt solicitate pentru executare ca program după nume.

ÎN sondaje și sarcini

1. Dați tuturor algoritmilor din trei echipe care vor muta robotul din poziția inițială la Cage B.

Există un algoritm pentru această sarcină, atunci când execută pe care robotul o face:

a) doi pași; b) patru pași; c) cinci pași; d) șapte pași?


  1. Petya a constituit un algoritm care traduce robotul din celulă și în cușcă B cu pictura unor celule. Ce ar trebui să facă kohl cu acest algoritm pentru a obține un algoritm care traduce robotul de la b V și pictura aceleiași celule?


7. Sunt cunoscute două algoritm auxiliare robot.

Desenați ce se întâmplă atunci când efectuați robotul următorilor algoritmi de bază:


dar)

nC de 5 ori.


model_1.

dreapta; dreapta;


b)

nC de 7 ori.


model_2.

dreapta; Dreapta


în)
dreapta; dreapta; Dreapta

sus; sus

dreapta; dreapta; Dreapta

jos; jos


d)
dreapta; Dreapta
dreapta; Dreapta

8. Faceți algoritmi sub care robotul va picta celulele specificate:



9. Se știe că undeva robotul drept are un zid. Faceți un algoritm, sub controlul asupra căruia robotul va picta un număr de celule la perete și va reveni la poziția inițială.

10. Se știe că undeva dreptul robotului este o celulă pictată.

DIN lăsați algoritmul sub controlul asupra căruia robotul va picta un număr de celule în celula pictată și va reveni la poziția inițială.

11. Se știe că robotul este situat lângă intrarea stângă la coridorul orizontal.

12. Se știe că robotul este undeva pe coridorul orizontal. Nici una dintre celulele coridorului nu este vopsită.

Faceți un algoritm sub controlul asupra căruia robotul va picta toate celulele acestui coridor și va reveni la poziția inițială.


13. Într-un rând de zece celule, dreptul robotului sunt pictate unele celule.

DIN lăsați algoritmul pe care celulele vopsește:

a) sub fiecare celulă pictată;

b) deasupra și sub fiecare celulă pictată.


14. Ce se poate spune despre corectitudinea următorului fragment al algoritmului?

nC. Vopsea vopsită

ÎN CAZUL ÎN CARE UN Dreapta gratuit Acea

dreapta; A tăia

la
c.

15. Scrieți programul cu care robotul poate intra în celula B în toate cele trei labirinturi.


16. Scrieți programul după care robotul poate trece de-a lungul coridorului din colțul din stânga jos al câmpului spre partea dreaptă. Coridorul are o lățime de o celulă și se întinde în direcția spre dreapta spre dreapta. Un exemplu de coridor posibil este prezentat în figură.

Z.

adaki Gia.


  1. Coridor1. Robotul este undeva pe coridorul vertical. Nici una dintre celulele coridorului nu este vopsită. Creați un algoritm sub care robotul va picta toate celulele acestui coridor și va reveni la poziția inițială.

  1. LA
    Avem nevoie

    Dano.
    ordor2. Robotul este în celula superioară a unui coridor vertical îngust. Lățimea coridorului este o celulă, lungimea coridorului poate fi arbitrară.

Opțiunea posibilă a locației inițiale a robotului este prezentată în figură (robotul este indicat de litera "p")

Scrieți un algoritm pentru un robot, pictați toate celulele din interiorul coridorului și întoarcerea robotului în poziția inițială. De exemplu, pentru desenul de mai sus, robotul trebuie să picteze următoarele celule (vezi. Sync):


  1. Pe un câmp infinit există un perete orizontal lung. Lungimea peretelui este necunoscută. Robotul se află într-una din celule direct de pe perete. Poziția inițială a robotului este, de asemenea, necunoscută. Una dintre prevederile posibile:
N.


Avem nevoie

Dano.
apiscăm algoritmul pentru un robot, picând toate celulele situate deasupra pereților și adiacente la ea, indiferent de dimensiunea peretelui și poziția inițială a robotului. De exemplu, pentru desenul de mai sus, robotul trebuie să picteze următoarele celule:

Poziția finală a robotului poate fi arbitrară. Când efectuați algoritmul, robotul nu trebuie distrus.



  1. Pe câmpul infinit există un perete vertical lung. Lungimea peretelui este necunoscută. Robotul se află într-una din celulele situate direct spre dreapta peretelui. Poziția inițială a robotului este, de asemenea, necunoscută. Una dintre pozițiile posibile ale robotului este arătată în figură (robotul este indicat de litera "p"): scrieți un algoritm pentru funcționare, pictura tuturor celulelor adiacente peretelui: în stânga, începând cu partea de sus nu pictat și prin unul; Dreapta, pornind de la partea inferioară pictată și prin una. Robotul trebuie să picteze numai celulele care satisfac această condiție. De exemplu, pentru desenul de mai sus, robotul trebuie să picteze următoarele celule (vezi figura): Aranjamentul final al robotului poate fi arbitrar. Algoritmul trebuie să rezolve problema pentru dimensiunea arbitrară a peretelui și orice poziție inițială admisibilă a robotului. În execuția algoritmului, robotul nu trebuie să se prăbușească.


Scrieți un algoritm pentru un robot, picând toate celulele situate în partea stângă a peretelui vertical și deasupra peretelui orizontal și adiacentă acestora. Robotul trebuie să picteze numai celulele care satisfac această condiție. De exemplu, pentru desenul de mai sus, robotul trebuie să picteze următoarele celule (vezi figura).


N. apish pentru un algoritm de robot, pictura celula adiacentă peretelui, sus și jos, începând cu stânga și una. Robotul trebuie să picteze numai celulele care satisfac această condiție. De exemplu, pentru figura A prezentată), robotul trebuie să picteze următoarele celule (vezi figura B).

Poziția finală a robotului poate fi arbitrară. Algoritmul trebuie să rezolve problema pentru dimensiunea arbitrară a peretelui și orice poziție inițială admisibilă a robotului.



R.

  1. Pe câmpul infinit există un perete vertical lung. Lungimea peretelui este necunoscută. Robotul este situat într-una din celulele situate direct pe perete. Poziția inițială a robotului este, de asemenea, necunoscută. Una dintre pozițiile posibile ale robotului este prezentată în figură (robotul este indicat de litera "p"):
Scrieți un algoritm pentru funcționare, pictura toată celula adiacentă peretelui:

  • a lăsat totul;

  • În partea dreaptă, începând cu cea mai importantă și una.
Robotul trebuie să picteze numai celulele care satisfac această condiție.

B.
1102_GIA2011.

Există două pereți orizontali pe un câmp infinit. Lungimea pereților este necunoscută. Distanța dintre pereți este necunoscută. Robotul este deasupra peretelui inferior dintr-o cușcă situată la marginea stângă. Scrieți un algoritm pentru un robot, pictura tuturor celulelor situate deasupra peretelui inferior și sub peretele de sus și adiacente acestora. Robotul trebuie să picteze numai celulele care satisfac această condiție. De exemplu, pentru desenul de mai sus, robotul trebuie să picteze următoarele celule (vezi figura):

Aranjamentul final al robotului poate fi arbitrar. Algoritmul trebuie să rezolve problema pentru o dimensiune arbitrară a câmpului și orice locație admisă a pereților din interiorul câmpului dreptunghiular. În execuția algoritmului, robotul nu trebuie să se prăbușească.


ÎN
1103_GA_2011.


Există un zid orizontal pe un câmp infinit. Lungimea peretelui este necunoscută. De la capătul drept al peretelui în jos, peretele vertical al lungimii necunoscute este plecat. Robotul este deasupra peretelui orizontal într-o cușcă situată la marginea stângă. Figura arată una din metode posibile Locația pereților și a robotului (robotul este indicat de litera "p").

Scrieți un algoritm pentru un robot, pictura tuturor celulelor de deasupra peretelui orizontal și spre dreapta peretelui vertical și adiacent acestora. Robotul trebuie să picteze numai celulele care satisfac această condiție. De exemplu, pentru desenul de mai sus, robotul trebuie să picteze următoarele celule (vezi figura).