Executor soluție robot informatică. Robot interpret. Comenzi simple

Artistul robot are un sistem de comandă. Sa luam in considerare comenzi simple de robot. Sunt 5 în total:

    sus- mutați robotul cu o celulă în sus

    jos- mutați robotul cu o celulă în jos

    stânga- mutați robotul cu o celulă la stânga

    dreapta- mutați robotul cu o celulă la dreapta

    vopsea peste

Exercitiul 1. Desenați un pătrat cu latura de 3 celule.

Lansarea Idolului

Eliminarea simbolului „|”. și numiți algoritmul nostru „Pătrat” (lângă cuvântul funcție alg noi scriem Pătrat)

vopsea peste

vopsea peste

vopsea peste

Rulați programul și vedeți ce se întâmplă. Pentru a începe apăsați F9 sau un buton din bara de instrumente Executați programul

Dacă o astfel de fereastră Robot nu apare pentru dvs., atunci pe bara de instrumente faceți clic pe „ Afișați fereastra robotului„sau în meniul Robot selectați „ Afișați fereastra robotului". Să continuăm mai departe:

jos

vopsea peste

jos

vopsea peste

Apoi să mergem la stânga, pictând marginea de jos a pătratului

stânga

vopsea peste

stânga

vopsea peste

Mai avem o celulă nevopsită. Hai să o vopsim

sus

vopsea peste

Totul este gata! Drept urmare, programul nostru arată astfel:

utilizați robotul

alg Square

vopsea peste

vopsea peste

vopsea peste

vopsea peste

vopsea peste

vopsea peste

vopsea peste

vopsea peste

Sarcina 2.Folosind comenzi simple de robot, scrie un program pentru a desena o scrisoare P, R, Sh, Shch, T, N.

Bucla cu condiție.

Artistul robot are mai multe condiții: sus liber jos liber stânga liber dreapta liber sus perete jos perete

perete stânga perete drept

Sarcina 3.

Desenați o linie verticală de la marginea stângă la dreapta a câmpului folosind o buclă cu o condiție. Inițial, robotul este situat în colțul din stânga sus.

Codul sursă al programului nostru pentru Robot va fi cam așa:

utilizați robotul

alg

început

vopsea peste

nts dreptul este gratuit pentru moment

dreapta

vopsea peste

kts

con

Ca urmare a executării acestui program, vom vedea următoarea imagine:

Sarcina 4.Scrieți un program care va crea un cadru în jurul zonei de lucru a Robotului, indiferent de dimensiunea acestuia. Folosind bucle condiționate, desigur. Până la urmă ar trebui să arate așa:


Controlul executorului robot în sistemul KUMIR

Robotul există într-un anumit mediu (un câmp dreptunghiular în carouri). Între unele celule ale câmpului pot exista pereți. Unele celule pot fi vopsite peste (Fig. 3.11).

Robotul ocupă exact o celulă a câmpului.

Prin comenzi sus, jos, stânga și dreapta, Robotul se deplasează în celula adiacentă în direcția indicată. Dacă există un perete în cale, are loc o defecțiune - este afișat un mesaj care spune că este imposibil să executați următoarea comandă.

La comanda de a picta, Robotul pictează celula în care se află. Dacă o celulă a fost deja pictată, aceasta va fi pictată din nou, deși nu vor apărea modificări vizibile.

Robotul poate executa doar comenzi scrise corect. Dacă notați în loc de comanda down, Robotul nu va înțelege această intrare și va raporta imediat o eroare.

DESPRE
erori: 1 sintactic; 2. logic

Descrierile situațiilor sunt stocate în fișiere text într-un format special (format .fil).

Actual- mediul în care se află robotul în prezent (inclusiv informații despre poziția robotului).

Pornire- mediul în care Robotul este forțat să fie plasat la începutul execuției unui program folosind Robotul.

Procedura de operare:


  1. A stabilit mediu de pornire in functie de conditiile problemei:
Meniu Instrumente → Modificați mediul de pornire al Robotului (desenați un mediu în funcție de condițiile sarcinii, dați-i un nume, salvați-l în folderul Personal)

2. Specificați Antreprenorul:

Meniul Inserare → Utilizare robot

3. Scrieți un algoritm pentru rezolvarea problemei.

4. Executați algoritmul (Meniu Execuție →Run continuu /F9)

Sistem de comandă pentru performer robot în sistemul KUMIR


Echipă

Acțiune

sus

Robotul se mișcă cu 1 pătrat în sus

jos

Robotul se deplasează cu 1 pătrat în jos

stânga

Robotul se deplasează cu 1 pătrat spre stânga

dreapta

Robotul se deplasează cu 1 pătrat spre dreapta

vopsea peste

Robotul pictează celula în care se află

liber pe dreapta

Robotul verifică execuția corespunzătoare simplu conditii

lăsat liber



liber pe deasupra



liber de jos



celula este vopsită peste



cușca este curată



Algoritmi ciclici

Ciclu– organizarea repetării acțiunilor în timp ce o anumită condiție este adevărată .

Corpul buclei este un set de acțiuni repetabile.

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

1.Buclă „Repetați de n ori” 2. Buclă „Până”
nts de n ori nts pentru moment
. . Corpul buclei. . Corpul buclei
kts kts

Exemplu: nts pentru moment liber pe dreapta


Vedere generală a ciclului „Repetați de n ori:

REPEȚI de n ORI

Sfârşit
kts

Vedere generală a ciclului „în timp”:

FĂ-O LA RED

Sfârşit
Condiții compozite format din una sau mai multe condiții și cuvinte funcționale simple ȘI, SAU, NU.


Stare compozită A SI B(unde A, B sunt condiții simple), este îndeplinită atunci când fiecare dintre cele două condiții simple incluse în acesta este îndeplinită.

Fie A - gratuit deasupra,ÎN - liber pe dreapta, apoi condiția compusă A SI B- liber deasupra și liber pe dreapta.


Stare compozită A SAU B îndeplinite atunci când este îndeplinită cel puțin una dintre cele două condiții simple incluse în acesta: sus liber SAU dreapta liber
Stare compozită NU A- satisfăcut atunci când condiția A nu este îndeplinită.

Exemplu: Fie A o celulă colorată (condiție simplă).

P Verificarea stării compuse NU A:

a) A - finalizat, NU A (NEUmbriat) - nefinalizat.

b) A - nefinalizat, NOT A (NEUmbriat) - finalizat.


Comanda de filială

Ramificare - o formă de organizare a acțiunilor în care, în funcție de îndeplinirea sau neîndeplinirea unei condiții, se realizează fie una, fie alta succesiune de acțiuni.

Vedere generală a comenzii IF:

DACĂ ACEA IN CAZ CONTRAR

Sfârşit

În limbajul ICON:

Ramificare completă: Ramificare incompletă:
Dacă Acea Dacă Acea

in caz contrar

totul totul

Algoritm auxiliar- un algoritm care rezolvă o subsarcină a problemei principale.

În sistemul KUMIR, algoritmii auxiliari sunt scrieți la sfârșitul programului principal (după cuvântul de serviciu con), sunt chemate pentru execuție în programul principal după nume.

ÎN sondaje și sarcini

1. Dați toți algoritmii din trei comenzi care vor muta Robotul din poziția inițială în celula B.

Există un algoritm pentru această sarcină în care robotul face:

a) două etape; b) patru trepte; c) cinci trepte; d) șapte pași?


  1. Petya a compilat un algoritm care transferă Robotul de la celula A la celula B prin pictarea unor celule. Ce ar trebui să facă Kolya cu acest algoritm pentru a obține un algoritm care transferă Robotul de la B la A și pictează aceleași celule?


7. Sunt cunoscuți doi algoritmi roboti auxiliari

Desenați ce se va întâmpla când robotul execută următorii algoritmi de bază:


A)

nts de 5 ori


model_1

dreapta; dreapta;


b)

nts de 7 ori


model_2

dreapta; dreapta


V)
dreapta; dreapta; dreapta

sus; sus

dreapta; dreapta; dreapta

jos; jos


G)
dreapta; dreapta
dreapta; dreapta

8. Creați algoritmi sub controlul cărora Robotul va picta peste celulele indicate:



9. Se știe că undeva în dreapta Robotului se află un zid. Creați un algoritm sub controlul căruia Robotul va picta un rând de celule până la perete și va reveni la poziția inițială.

10. Se știe că undeva în dreapta Robotului se află o celulă plină.

CU lăsați algoritmul sub controlul căruia Robotul va picta un număr de celule până la celula vopsită și va reveni la poziția inițială.

11. Se știe că Robotul este situat lângă intrarea din stânga a coridorului orizontal.

12. Se știe că Robotul se află undeva pe coridorul orizontal. Niciuna dintre celulele coridorului nu este vopsită.

Creați un algoritm sub controlul 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 în dreapta Robotului, unele celule sunt umbrite.

CU lăsați algoritmul care pictează celulele:

a) sub fiecare celulă umbrită;

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


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

nts pentru moment celula este vopsită peste

DACĂ liber pe dreapta ACEA

dreapta; vopsea peste

La
ts

15. Scrieți un program prin care Robotul să poată ajunge la celula B în toate cele trei labirinturi.


16. Scrieți un program, în urma căruia Robotul va putea merge de-a lungul coridorului din colțul din stânga jos al câmpului până în dreapta sus. Coridorul are o celulă lățime și se întinde în direcția de la stânga jos la dreapta sus. Un exemplu de coridor posibil este prezentat în figură.

Z

Realizări GIA


  1. Coridorul 1. Robotul este situat undeva pe coridorul vertical. Niciuna dintre celulele coridorului nu este vopsită. Creați un algoritm sub controlul căruia Robotul va picta toate celulele acestui coridor și va reveni la poziția inițială.

  1. LA
    Necesar

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

O posibilă locație inițială a robotului este prezentată în figură (robotul este desemnat cu litera „P”)

Scrieți un algoritm pentru robot care pictează toate celulele din interiorul coridorului și readuce robotul în poziția inițială. De exemplu, pentru imaginea de mai sus, Robotul trebuie să picteze peste următoarele celule (vezi imaginea):


  1. Există un perete orizontal lung într-un câmp nesfârșit. Lungimea zidului este necunoscută. Robotul se află într-una dintre celulele chiar deasupra peretelui. Poziția inițială a robotului este, de asemenea, necunoscută. Una dintre pozițiile posibile:
N


Necesar

Dat
Scrieți un algoritm pentru Robot care pictează toate celulele situate deasupra peretelui și adiacente acestuia, indiferent de dimensiunea peretelui și de poziția inițială a Robotului. De exemplu, pentru imaginea de mai sus, Robotul trebuie să picteze peste următoarele celule:

Poziția finală a robotului poate fi arbitrară. La executarea algoritmului, robotul nu trebuie distrus.



  1. Câmpul nesfârșit are un perete vertical lung. Lungimea zidului este necunoscută. Robotul se află într-una dintre cuștile situate direct în dreapta peretelui. Poziția inițială a robotului este, de asemenea, necunoscută. Una dintre pozițiile posibile ale robotului este prezentată în figură (robotul este desemnat prin litera „P”): Scrieți un algoritm care să lucreze care pictează toate celulele adiacente peretelui: în stânga, începând de la partea de sus nevopsită. unul și prin unul; in dreapta, incepand din partea de jos umbrita si printr-una. Robotul trebuie să picteze numai celule care îndeplinesc această condiție. De exemplu, pentru imaginea de mai sus, robotul trebuie să completeze următoarele celule (vezi imaginea): Locația finală a robotului poate fi arbitrară. Algoritmul trebuie să rezolve problema pentru o dimensiune arbitrară a peretelui și orice poziție de pornire validă a robotului. La executarea algoritmului, robotul nu trebuie distrus.


Scrieți un algoritm pentru Robot care pictează toate celulele situate în stânga peretelui vertical și deasupra peretelui orizontal și adiacente acestora. Robotul trebuie să picteze numai celule care îndeplinesc această condiție. De exemplu, pentru imaginea de mai sus, Robotul trebuie să coloreze în următoarele celule (vezi imaginea).


N Scrieți un algoritm pentru Robot care pictează celulele adiacente peretelui, de sus și de jos, începând din stânga și din toate celelalte. Robotul trebuie să picteze numai celule care îndeplinesc această condiție. De exemplu, pentru figura dată a) Robotul trebuie să picteze peste următoarele celule (vezi figura b).

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



R

  1. Câmpul nesfârșit are un perete vertical lung. Lungimea zidului este necunoscută. Robotul se află într-una dintre celulele situate direct în stânga peretelui. Poziția inițială a robotului este, de asemenea, necunoscută. Una dintre pozițiile posibile ale robotului este prezentată în figură (robotul este desemnat cu litera „P”):
Scrieți un algoritm care pictează toate celulele adiacente peretelui:

  • in stanga totul;

  • in dreapta, incepand din partea de sus nevopsita si printr-una.
Robotul trebuie să picteze numai celule care îndeplinesc această condiție.

B
1102_GIA2011

Câmpul nesfârșit are doi pereți orizontali. Lungimea pereților este necunoscută. Distanța dintre pereți este necunoscută. Robotul este situat deasupra peretelui de jos într-o cușcă situată la marginea sa din stânga. Scrieți un algoritm pentru Robot care pictează toate celulele situate deasupra peretelui de jos și sub peretele de sus și adiacente acestora. Robotul trebuie să picteze numai celule care îndeplinesc această condiție. De exemplu, pentru imaginea de mai sus, robotul trebuie să picteze următoarele celule (vezi imaginea):

Locația finală a robotului poate fi arbitrară. Algoritmul trebuie să rezolve problema pentru o dimensiune arbitrară a câmpului și orice aranjare admisibilă a pereților în interiorul unui câmp dreptunghiular. La executarea algoritmului, robotul nu trebuie distrus.


ÎN
1103_GIA_2011


Există un perete orizontal pe un câmp nesfârșit. Lungimea zidului este necunoscută. Un perete vertical de lungime necunoscută se extinde în jos de la capătul drept al peretelui. Robotul este situat deasupra unui perete orizontal într-o cușcă situată la marginea sa din stânga. Figura arată una dintre modalitățile posibile de a poziționa pereții și robotul (robotul este desemnat prin litera „P”).

Scrieți un algoritm pentru Robot care pictează toate celulele situate deasupra peretelui orizontal și în dreapta peretelui vertical și adiacente acestora. Robotul trebuie să picteze numai celule care îndeplinesc această condiție. De exemplu, pentru imaginea de mai sus, Robotul trebuie să coloreze în următoarele celule (vezi imaginea).

Întregul proces constă din două etape: asamblare și programare. Pentru a asambla un robot bun, aveți nevoie de cunoștințe de mecanică. Pentru a programa un robot să efectueze anumite acțiuni, trebuie să cunoașteți o limbă pe care placa de sistem sau unitatea software o vor înțelege. Cunoștințele școlare de informatică nu sunt suficiente aici.

De unde pot lua materialul?

Mai întâi trebuie să decideți cum doriți să asamblați robotul: din truse gata făcute sau selectând singur materialele. Avantajul setului este că nu trebuie să căutați piesele separat. Cel mai adesea, mai multe dispozitive pot fi asamblate dintr-un set.

O structură care nu este asamblată dintr-un kit gata făcut se numește sistem deschis. Are și avantajele sale: robotul tău va avea propria personalitate, iar tu însuți vei putea îmbunătăți designul. Dar cu siguranță vei petrece mai mult timp și efort.

În ce constă un robot?

Carcasa - metal sau plastic "corp", de care sunt atașate părțile rămase. Fiecare robot are o sursă de energie - baterii sau acumulator. În funcție de sarcina pe care o va îndeplini robotul, se aleg senzori: aceștia pot detecta culoarea și lumina și pot răspunde la atingere.

Pentru a face robotul să se miște, veți avea nevoie de motoare. "Cap"întregul mecanism - placa de sistem sau unitatea software. Cu ajutorul lor, robotul se conectează la un computer și primește un set de sarcini.

Cum pot să-l fac să facă ceva?

Pentru ca robotul să efectueze o anumită acțiune, trebuie să creați un program de calculator. Complexitatea acestei etape depinde de asamblare. Dacă robotul este asamblat dintr-un set Lego Mindstorms sau mBot, atunci chiar și copiii își pot gestiona software-ul.

Dacă construiți singur robotul, va trebui să învățați elementele de bază ale programării și limbajul în care veți scrie programul, cum ar fi C++.

De ce ar putea un robot să nu execute un program?

Când ajunge într-un loc nou, poate deveni confuz și poate executa incorect programul. Pentru ca robotul să facă totul corect, senzorii trebuie reglați. De exemplu, iluminarea prea puternică vă poate împiedica să recunoașteți culorile în mod adecvat. In functie de suprafata pe care se misca robotul se regleaza puterea motoarelor.

Puteți învăța să asamblați și să programați la școală?

În ciuda faptului că robotica nu este inclusă în programa școlară, profesorii de fizică și informatică pot învăța un copil cum să asambleze și să programeze. În Belgorod, unele școli au cluburi în care fac roboți.

„După lecții cu profesori de fizică și informatică, învățăm să programăm. Știm deja cum să lucrăm în LegoMindstorms și Robolab ( software pentru roboți - aprox. auto.). De asemenea, uneori învățăm să facem desene 3D ale pieselor”, au spus studenții de la Belgorod Engineering Youth Boarding Lyceum și participanții la RoboFest 2018. Anton PershinȘi Dmitri Cernov.

Unde, în afară de școală, poți deveni robotician?

La școala de ingineri BelSU există o clasă în care se învață cum să asamblați și să programați roboți. În 2017, Quantorium s-a deschis la Belgorod, unde robotica este predată elevilor de la vârsta de nouă ani.

Pentru a deveni un robotist adevărat, te poți înscrie la departamentul de robotică. În Belgorod nu există încă astfel de oameni, dar la BSTU. Shukhov are un departament de cibernetică tehnică. Elevii ei primesc premii la competiții de robotică din toată Rusia.

Este posibil să înveți pe cont propriu?

Da. Există multe resurse pe Internet de unde puteți învăța ce să construiți și cum să programați un robot.

Va fi util robotul?

Poate fi adaptat pentru sarcinile de zi cu zi și transformat într-un asistent în casă. Există multe exemple pe Internet despre cum inventatorii de acasă creează roboți pentru coacerea clătitelor sau pentru curățarea unui apartament.

Cum îți poți dovedi succesul în crearea roboților?

Participați la competiții precum RoboFest. În funcție de vârstă și direcție, există nominalizări diferite. Practic, fiecare tip de robot are o pistă pe care îndeplinește sarcini: apucă un cub sau trage o linie. Există și sisteme statice în care judecătorii evaluează prezentarea proiectului și funcționarea mecanismelor.

De regulă, participanții vin la competiții cu roboți asamblați și în timpul pregătirii își petrec timpul doar cu calibrarea senzorilor și ajustarea programului.

Redactorii doresc să mulțumească participanților la RoboFest 2018 pentru asistența acordată în crearea materialului. Dmitri Agafonov, Dmitri Cernov, Anton PershinaȘi Danila Migrina.

Natalia Malykhina

Introducere în programul Idol și stăpânirea elementelor de bază ale programării.

În cadrul acestuia, studenții pot dobândi abilități practice în crearea și depanarea unui algoritm, lucrând cu interpreți precum Robot, Draftsman, Aquarius, Grasshopper, Turtle.

Când studiezi una dintre cele mai dificile secțiuni ale informaticii, „algoritmizarea și programarea”.

Scopul dezvoltării :

Descarca:


Previzualizare:

Dezvoltarea metodologică în informatică.

Subiect: „Performant robot în programul KuMir în lecțiile de informatică”

profesor de tehnologie „Informatică și TIC”

Notă explicativă

Scop de dezvoltare: studiați posibilitățile de programare folosind exemplul unui anumit robot performer folosind mediul KUMIR; oferi abilități practice în lucrul cu un interpret.

Dezvoltare metodologicăcompilat pentru lecțiile de informaticăExersează pe computer: lucrul cu executor de algoritm educațional; elaborarea algoritmilor liniari, ramificati si ciclici pentru controlul executorului; elaborarea de algoritmi cu o structură complexă; utilizarea algoritmilor auxiliari (proceduri, subrutine).

Elevii ar trebui să știe:

  • ce este un interpret; SKI Robot, mediul interpretului Robot;
  • ce este un algoritm;care sunt principalele proprietăți ale algoritmului;
  • modalități de scriere a algoritmilor: organigrame, limbaj algoritmic educațional;structuri algoritmice de bază: urmărire, ramificare, buclă; structurilor
  • algoritmi; ⇒ atribuirea algoritmilor auxiliari; tehnologii pentru construirea de algoritmi complecși:

Elevii ar trebui să fie capabili să:

  • să înțeleagă descrierile algoritmilor în limbajul algoritmic educațional;
  • efectuați o urmărire a algoritmului pentru un interpret cunoscut;
  • creați algoritmi de control liniar, ramificat și ciclic pentru performerul robotului; evidențiați subsarcinile; definiți și utilizați algoritmi auxiliari.

Lecția 1 (2 ore) Lecția 1.

Robot interpret.Sistem de comandă a executorului.

Planul lecției.

  1. Descrierea SKI-ului interpretului, a mediului interpretului.

2. Analiza algoritmilor tipici Robot.

În timpul orelor.

Să ne uităm la descrierea artistului.

Mediul artistului: Performer Robotul poate naviga printr-un labirint desenat pe un plan împărțit în celule.

Robot de schi : comenzi simple: sus, jos, stânga, dreapta, pictură.

Comenzi logice: (verificări condiții)

sus liber jos liber

stânga liberă dreapta liberă.

Conective logice: AND, NOT, SAU:

Exemplu: (Nu este lăsat liber) sau (Nu este liber în dreapta)

Comanda de filială: comandă buclă:

Dacă condiția atunci nicio condiție încă

O serie de comenzi o serie de comenzi

asta e tot kts

(În CMM-urile din 2009, comenzile robotului erau diferite de cele familiare copiilor, ceea ce a dus la confuzie :)

Comanda de filială: comandă buclă:

Dacă condiția atunci nts deocamdata conditia de facut

O serie de comenzi o serie de comenzi

sfârşitul sfârşitului

Vedere generală a ferestrei programului Idol. Mediul grafic al robotului:

În CMM-urile versiunii demo 2010, formatul de comandă a fost schimbat în obișnuit

Procedura pentru crearea unui algoritm:

1.Echipe Instrumente - Editați mediul de porniretrageți pereți pe câmpul Robot și setați robotul în poziția inițială.

2.Echipe Robot - Schimbați mediul de porniremenține noul mediu.

3.Echipe Inserare - Utilizați robotindica artistul.

4. În fereastra documentului, notați algoritmul folosind meniul Introduce.

5. Utilizarea comenzilor de execuție – rulați algoritmul continuu (sau pas cu pas).

6. Luați în considerare rezultatul executării algoritmului și, dacă este necesar, depanați-l.

Lecția 1 (2 ore) Lecția 2.

Munca practica "Compilarea algoritmilor liniari”.

Sarcini: 1. Robot într-un punct arbitrar al câmpului. Pictați celula deasupra, dedesubt și în dreapta poziției inițiale.

  1. Robot într-un punct arbitrar al câmpului. Mutați Robotul cu 4 pătrate spre dreapta, colorându-le.
  2. Creați un nou mediu de pornire desenând pe teren un pătrat cu o latură de 4 pătrate. Salvați setarea ca cea de pornire.
  3. Creați un nou mediu de pornire desenând un coridor pe teren cu pasaje în pereți. Salvați mediul ca obst2.fil. Schimbați mediul de pornire în cel nou creat.

Lecția 2 (2 ore) Lecția 1.

Subiect : Ramificarea si rafinarea secventiala a algoritmului.

Analiza sarcinilor CMM folosind executorul Robot.

utilizați robotul

alg Kim 2009

început

dacă nu liber de jos

apoi la dreapta

Toate

dacă nu liber de jos

apoi la dreapta

Toate

dacă nu liber de jos

apoi la dreapta

Toate

con

utilizați robotul

alg Kim 2010

început

dacă nu liber de jos

apoi la dreapta

Toate

dacă nu liber de jos

apoi la dreapta

Toate

dacă nu liber de jos

apoi la dreapta

Toate

con

etc. sclav. nr. 14. Compilarea și depanarea algoritmilor de ramificare

Sarcini. Vezi atașament.

Lecția 3. Algoritmi ciclici. Lecția 1-2

Ţintă: dezvăluie esența conceptului de ciclu în algoritmi, arată formele de înregistrare a ciclurilor în algoritmi, oferă abilități în crearea și scrierea algoritmilor ciclici.

etc. sclav. nr. 15. Compilarea și depanarea algoritmilor ciclici

1.Creați un algoritm care pictează toate celulele interne adiacente peretelui.

utilizați robotul

alg

început

nts dreptul este gratuit pentru moment

vopsea peste; dreapta

kts

nts partea de jos este gratuită pentru moment

vopsea peste; jos

kts

nts nu sunt încă liberi de jos

vopsea peste; stânga

kts

con

2.Creează un algoritm care pictează toate celulele dintre Robot și perete. Distanța până la zid este necunoscută.

utilizați robotul

alg

început

nts dreptul este gratuit pentru moment

dreapta; vopsea peste

kts

con

3.Creează un algoritm care pictează toate celulele situate între doi pereți.

utilizați robotul

alg uch3

început

nts încă (nu este liber de sus) sau (nu este liber de jos)

dreapta

dacă (nu este liber de sus) și (nu este liber de jos)

Acea

vopsea peste

Toate

kts

con

4.Creați un algoritm care pictează toate celulele din jurul unui perete dreptunghiular.

alg uch4

început

vopsea peste; sus

nts nu este încă liber pe dreapta

vopsea peste; sus;

kts

vopsea peste;

nts nu sunt încă liberi de jos

vopsea peste;dreapta;

kts

vopsea peste;jos

nts nu sunt încă liberi în stânga

vopsea peste;jos;

kts

vopsea peste;

nts nu este în top încă gratuit

vopsea peste; stânga;

kts

con

utilizați robotul

alg uch5

început

dreapta

nts nu sunt încă liberi de jos

vopsea peste; dreapta

kts

vopsea peste; jos

nts stânga este liberă deocamdată

vopsea peste; stânga

kts

nts nu sunt încă liberi în stânga

vopsea peste; jos

kts

vopsea peste;stanga;vopseste peste; sus;

nts gratuit pe partea de sus pentru moment

vopsea peste; sus

kts

nts nu este în top încă gratuit

vopsea peste; stânga

kts

con

Lecția 4 Lecția 1

Algoritmi auxiliari.

Ţintă: introducerea conceptului de algoritmi principali și auxiliari; explicați regulile de utilizare a algoritmului auxiliar; analiza exemple de algoritmi folosind cei auxiliari.

Planul lecției

1. Introducerea de noi termeni (algoritmi principali și auxiliari, apeluri) și explicarea noilor concepte.

2. Analiza exemplelor de rezolvare a problemelor folosind un algoritm auxiliar.

Când rezolvați unele probleme, este convenabil să le împărțiți în subsarcini mai mici, fiecare dintre acestea putând fi formulată ca un algoritm independent. În acest caz, este mai întâi compilat așa-numitul algoritm principal, în care apelurile la algoritmi auxiliari sunt folosite pentru a rezolva subsarcinile, care sunt adăugate ulterior. Această soluție se numeștemetoda de rafinare secventiala.Permite unui grup de programatori să lucreze la un proiect, fiecare rezolvându-și propria sarcină secundară.

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

Este apelată comanda de executare a algoritmului auxiliar provocare și este scris în corpul algoritmului principal.

Același algoritm poate fi considerat principal și auxiliar în raport cu alți algoritmi. Într-un limbaj algoritmic, algoritmul principal este scris primul, iar algoritmii auxiliari sunt notați pe rând.

Sarcina 1:

Robotul se află în colțul din stânga sus al câmpului. Nu există pereți sau celule pictate. Creați un algoritm, folosind unul auxiliar, care desenează patru cruci pe o linie orizontală. Poziția finală a robotului poate fi arbitrară.

Soluţie

Analiza la tabla:

Sarcina 2. Robotul se află în colțul din stânga sus al câmpului. Nu există pereți sau celule pictate. Creați un algoritm care pictează un pătrat de 8 x 8 într-un model de șah Poziția finală a robotului poate fi arbitrară.

Lecția 4 Lecția 2

Lucrare practică pe un computer „Rezolvarea unei probleme folosind algoritmi auxiliari”.

Ţintă : pentru a insufla abilități practice în construirea algoritmilor folosind metoda rafinamentului secvenţial.

Planul lecției

1. Sarcina are loc în întregime pe un PC. Elevii primesc teme și le finalizează în mediul software Idol. Rezultatele lucrării sunt salvate ca fișiere pentru verificare ulterioară.

Problema 1 . Robotul se află în colțul din stânga jos al câmpului. Nu există pereți sau celule pictate. Creați un algoritm care pictează 6 dungi verticale de lungime egală în 6 celule. Poziția finală a robotului poate fi arbitrară.

Problema 2 .Folosind cele auxiliare, creați un algoritm pentru pictarea celulelor care formează numărul 1212.

Teme pentru acasă: Vino cu un algoritm care desenează următoarea imagine: Pentru a rezolva problema, utilizați doi algoritmi auxiliari.

Lecția 5 Lecția 1-2

Test

„Elaborarea unui algoritm în mediul de executare robot.”

Ţintă: testați cunoștințele dobândite privind crearea și capacitatea de a analiza algoritmi în mediul software Idol.

Sarcinile pentru test sunt împărțite pe nivel de dificultate și includ 3 sarcini cu Robotul executant (sarcina 1 și 2 - despre ramificare și bucle, sarcina 3 - despre utilizarea unui algoritm auxiliar.) Textele sarcinilor sunt date în apendice.

Situațiile inițiale și finale și algoritmii creați sunt înregistrate ca fișier.

Nota se acordă în funcție de nivelul de dificultate al sarcinii. Studentul are dreptul de a alege tipul de temă.

Am învățat să-i cerem lucrări în continuare. Acum să trecem direct la compilarea algoritmilor pentru Robot folosind comenzi simple.

Dacă preferați informații în format video tutorial, atunci există un tutorial video pe site

Orice interpret trebuie să aibă un sistem de comandă ( SCHIsistem de comandă a executorului). Sistem de comandă a executorului- setul tuturor comenzilor pe care executantul le poate executa. Ca exemplu, luați în considerare un câine dresat. Ea știe să execute unele comenzi - „Sed”, „Lie down”, „În apropiere”, etc. Acesta este sistemul ei de comenzi.

Comenzi simple ale robotului

Robotul nostru are și un sistem de comandă. Astăzi ne vom uita la comenzi simple de robot. Sunt 5 în total:

  • sus
  • stânga
  • dreapta
  • vopsea peste

Rezultatul executării acestor comenzi este clar din numele lor:

  1. sus— mutați robotul cu o celulă în sus
  2. jos— mutați robotul cu o celulă în jos
  3. stânga— mutați robotul cu o celulă la stânga
  4. dreapta— mutați robotul cu o celulă la dreapta
  5. vopsea peste— pictați peste celula curentă (celula în care se află robotul).

Aceste comenzi pot fi scrise de la tastatură, sau puteți folosi taste rapide (prin apăsarea lor, comenzile vor fi inserate automat):

  • sus - Escape, Up (săgeată sus)
  • jos - Escape, Down (săgeată în jos)
  • stânga - Escape, Left (săgeată la stânga)
  • dreapta - Escape, Right (săgeata dreapta)
  • pictează peste – Evadare, Spațiu (spațiu)

Vă rugăm să rețineți că trebuie să introduceți combinația de taste rapide dorite nu intr-un fel cu care suntem obisnuiti! Suntem obișnuiți să apăsăm simultan tastele, dar aici avem nevoie de ele apăsați secvențial. De exemplu, pentru a introduce comanda sus, trebuie să apăsați Escape, să o eliberați și apoi să apăsați săgeata sus. Acest lucru trebuie amintit.

Acum suntem gata să scriem primul algoritm pentru Robot. Vă sugerez să începeți cu unul simplu - desenați un pătrat cu o latură de 3 celule. Merge!

Hai să lansăm Idol, el. Pot începe să scriu un program? Desigur că nu! Nu au fost! Hai să o facem. Vă sugerez să utilizați acesta:

Acum totul este gata. Să începem să scriem programul. În timp ce ea arată așa

Eliminarea simbolului „|”. și numiți algoritmul nostru „Pătrat”

Vă sugerez să desenați un pătrat, mișcându-se în sensul acelor de ceasornic. Mai întâi, să pictăm celula curentă dând comanda vopsea peste. Apoi facem un pas spre dreapta și pictăm din nou peste celulă. Și încă o dată pas la dreapta și pictează.

Să încercăm să rulăm programul și să vedem ce se întâmplă. Pentru a începe apăsați F9 sau un buton din bara de instrumente

Drept urmare, ar trebui să vedem o imagine ca aceasta

Dacă o astfel de fereastră Robot nu apare pentru dvs., atunci pe bara de instrumente faceți clic pe „ Afișați fereastra robotului„sau în meniul Robot selectați „ Afișați fereastra robotului". Să continuăm mai departe.

Acum ne vom deplasa în jos și vom picta partea dreaptă a pătratului:

jos

vopsea peste

jos

vopsea peste

Apoi să mergem la stânga, pictând marginea de jos a pătratului

stânga

vopsea peste

stânga

vopsea peste

Mai avem o celulă nevopsită. Hai să o vopsim

sus

vopsea peste

Totul este gata! Drept urmare, programul nostru arată astfel:

utilizați robotul

alg Pătrat

început

vopsea peste

dreapta

vopsea peste

dreapta

vopsea peste

jos

vopsea peste

jos

vopsea peste