Sarcini de robot. Robot interpret

Acasă / Avarii

Programul Idol

Robot interpret


Cine este interpretul robotului?

  • Imaginați-vă un câmp în carouri (ca o foaie dintr-un caiet cu model în carouri) pe care se află un anumit obiect, pe care îl vom numi Robot. Folosind comenzi speciale, putem controla acest robot - mutați-l în jurul celulelor, pictați peste celule. Și în cele mai multe cazuri, sarcina noastră va fi să scriem un program pentru Robot, în care va picta anumite celule.

Configurarea mediului Idol pentru robotul interpret

  • Programul Idol lansat arată așa.

Mediul de pornire al robotului

  • Înainte de a începe execuția programului, este necesar să setați mediul de pornire pentru executorul Robot. Aceasta înseamnă plasarea Robotului în poziția dorită, așezarea pereților, vopsirea celulelor necesare etc. Acest pas este foarte important. Dacă îl ignorați, este posibil ca programul să nu funcționeze corect sau chiar să se blocheze.

Faceți clic pe Editați mediul



Robot interpret. Comenzi simple.

  • Sus
  • jos
  • stânga
  • corect
  • vopsea peste

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

  • 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
  • paint over - pictează peste celula curentă (celula în care se află Robotul).

Exemplu de algoritm

  • Mai întâi trebuie să scrieți fraza:
  • utilizare Robot

Dacă știți câte celule trebuie vopsite, atunci algoritmul de soluție va fi următorul!


Sarcina nr. 1

  • Scrieți un program pentru a rezolva următoarea problemă dacă știți câte celule trebuie să fie umbrite

Cicluri

  • 1. Bucla cu contor folosit când se știe dinainte câte repetări trebuie făcute.

nc ori

kts

Aici trebuie să precizăm numărul de repetări (numărul) și comenzile care vor fi repetate. Comenzile care sunt repetate într-o buclă sunt apelate corpul ciclului.



Sarcina nr. 2

  • Scrieți un program pentru a rezolva următoarea problemă folosind o buclă cu un contor

  • 2. Bucla cu condiție - în timp ce condiția este adevărată, bucla este satisfăcută, dacă este falsă, nu este îndeplinită
  • Artistul Robot are mai multe condiții

liber pe deasupra

liber de jos

lăsat liber

liber pe dreapta

perete de deasupra

zidul de dedesubt

peretele stâng

perete din dreapta

  • Particule pe care le puteți folosi: NU, ȘI, SAU

Structura de buclă condiționată

nts pentru moment liber pe dreapta

corect

vopsea peste

kts



Sarcina nr. 3

  • Scrieți un program pentru a rezolva următoarea problemă folosind o buclă condiționată:

Sarcina nr. 4

  • Scrieți un program pentru a rezolva următoarea problemă folosind bucle condiționate:



Rezolvarea problemelor:

  • 2. Robotul trebuie mutat din pozitia de start in pozitia finala, vopsindu-se peretii


Sarcina nr. 5

  • Există un perete orizontal pe un câmp nesfârșit. Lungimea zidului este necunoscută. Robotul este situat deasupra peretelui, la capătul său din stânga. Figura arată locația robotului față de perete (robotul este desemnat cu litera „P”):

Răspuns la sarcina nr. 5

  • nc nu încă (fund liber)

vopsea peste

Începutul ciclului (nc) și condiția (nu încă (liber de jos)) sunt scrise pe o singură linie.



Proiecta Dacă

  • sus liber jos liber stânga liber dreapta liber
  • Aceste comenzi pot fi utilizate împreună cu o condiție "Dacă", având următoarea formă:
  • Dacă stare
  • succesiune de comenzi
  • De exemplu, pentru a muta o celulă la dreapta, dacă nu există niciun perete în dreapta, și pentru a picta celula, puteți utiliza următorul algoritm:
  • dacă dreptul este liber atunci
  • corect
  • vopsea peste

Sarcina nr. 7

Lungimile zidurilor sunt necunoscute.


Răspuns la sarcina nr. 7

până când vârful este liber

vopsea peste

corect

în timp ce vârful este liber

corect

în timp ce este liber în dreapta

vopsea peste

corect

nu este încă liber pe dreapta

vopsea peste

jos

în timp ce este liber în dreapta

jos

nu este încă liber pe dreapta

vopsea peste

jos


Sarcina nr. 8

Lungimile zidurilor sunt necunoscute.

Fiecare zid are exact un pasaj, locația exactă a pasajului și lățimea acestuia sunt necunoscute.


Răspuns la sarcina nr. 8

în timp ce vârful este liber

până când vârful este liber

vopsea peste

în timp ce vârful este liber

până când vârful este liber

vopsea peste

până când fundul este liber

vopsea peste

în timp ce fundul este liber

până când fundul este liber

vopsea peste


Sarcina nr. 9

Lungimile zidurilor sunt necunoscute.

Fiecare zid are exact un pasaj, locația exactă a pasajului și lățimea acestuia sunt necunoscute.


Răspuns la sarcina nr. 9

în timp ce fundul este liber

până când fundul este liber

vopsea peste

în timp ce fundul este liber

până când fundul este liber

vopsea peste

până când vârful este liber

vopsea peste

în timp ce vârful este liber

până când vârful este liber

vopsea peste


Sarcina nr. 10

Lungimile zidurilor sunt necunoscute.

Fiecare zid are exact un pasaj, locația exactă a pasajului și lățimea acestuia sunt necunoscute.


Răspuns la sarcina nr. 10

în timp ce stânga este liberă

în timp ce stânga este liberă

vopsea peste

în timp ce stânga este liberă

până când stânga este liberă

vopsea peste

nu este încă liber pe dreapta

vopsea peste

în timp ce este liber în dreapta

nu este încă liber pe dreapta

vopsea peste


Sarcina nr. 11

Lungimile zidurilor sunt necunoscute.

Fiecare zid are exact un pasaj, locația exactă a pasajului și lățimea acestuia sunt necunoscute.


Răspuns la sarcina nr. 11

până când vârful este liber

până când vârful este liber

vopsea peste

în timp ce fundul este liber

până când vârful este liber

vopsea peste


Sarcina nr. 12

Există o scară pe câmpul nesfârșit. Scara coboară mai întâi de la dreapta la stânga, apoi de la stânga la dreapta. Înălțimea fiecărei trepte este de un pătrat, lățimea este de două pătrate. Robotul se află în dreapta treptei de sus a scărilor. Numărul de pași care duc la stânga și numărul de pași care duc la dreapta sunt necunoscute. Figura arată una dintre modalitățile posibile de a poziționa scara și robotul (robotul este desemnat prin litera „P”).


Răspuns la sarcina nr. 12

Coborăm sub scări de la dreapta la stânga până ajungem la intersecția scărilor:

nts partea de jos este gratuită pentru moment

jos

stânga

stânga

Coborăm până la capătul scării care coboară, pictând celulele necesare pe parcurs:

nts nu este încă liber în stânga

vopsea peste

corect

vopsea peste

corect

jos



Răspuns la sarcina nr. 13

nts stânga este liberă deocamdată

vopsea peste

stânga

Sus

nts nu este încă liber în stânga

vopsea peste

Sus


Sarcina nr. 14

Pe un câmp infinit există un dreptunghi delimitat de pereți. Lungimile laturilor dreptunghiului sunt necunoscute. Robotul se află în interiorul unui dreptunghi. Figura arată una dintre modalitățile posibile de a poziționa pereții și robotul (robotul este desemnat prin litera „P”).


Răspuns la sarcina nr. 14

în timp ce este liber în dreapta

corect

în timp ce vârful este liber

Sus

vopsea peste

nts stânga este liberă deocamdată

stânga

vopsea peste



Răspuns la sarcina nr. 15

în timp ce este liber în dreapta

vopsea peste

corect

în timp ce fundul este liber

vopsea peste

jos

vopsea peste

nu încă (fund liber)

stânga

jos

nu încă (liber în dreapta)

vopsea peste

jos

vopsea peste

corect

nu încă (gratuit deasupra)

vopsea peste

corect



Răspuns la sarcina nr. 16

nu este încă liber pe dreapta

vopsea peste

jos

vopsea peste

corect

până când vârful este liber

vopsea peste

corect

în timp ce vârful este liber

Sus

în timp ce este liber în dreapta

vopsea peste

corect

nu este încă liber pe dreapta

vopsea peste

jos



Sarcina profesorului este de a merge pe această cale împreună cu elevul, nu asigurându-se împotriva eșecului, ci prevenind dezamăgirile din cauza posibilelor dificultăți. Este foarte important să organizăm cursuri astfel încât copiii înșiși să descopere lucruri noi prin activități care au sens pentru ei.
Cum ajută un robot să studieze informatica? Voi indica doar câteva subiecte informatice pe care se bazează robotica.
Subiectul „Fișiere și sistem de fișiere”.
Elevul avea la dispoziție un microcomputer LEGO®NXT din setul educațional LEGO Mindstorms Educație NXT. Controlează-l sistem de fișiere are loc folosind comenzi standard, dar deoarece volumul memoriei nu este mare, controlul a ceea ce este necesar și a ceea ce nu este necesar trebuie efectuat în mod constant. Pentru a exprima acțiunile robotului, pentru a afișa o imagine sau pentru a adăuga la biblioteca de programe de lucru, trebuie să operați cu concepte de bază ale informaticii: fișier, tip de fișier, cale de fișier, meniu, folder.
Subiect: „Procesele informaționale”, „Codificarea informațiilor”.
Kitul robotizat este echipat cu senzori care înregistrează informații audio, tactile și video. Odată digitalizate, informațiile pot fi afișate pe un ecran de afișare. O funcție specială a microcomputerului face posibilă experimentarea cu senzori și motoare folosind programe gata de rulare. După efectuarea unei serii de experimente cu senzori, apare o înțelegere: de ce un senzor de distanță cu ultrasunete funcționează mai lent decât un senzor de lumină infraroșie, cum sunetul se transformă într-un cod digital și așa mai departe. Studiul proceselor informaționale și al principiilor de codificare a informațiilor oferă o înțelegere mai profundă a esenței tehnologiei informației.

Tema: Tehnologii de comunicare.
Microcomputerul LEGO®NXT acceptă tehnologia comunicare fără fir. Folosind funcția Bluetooth, puteți seta conexiune fără firîntre microcomputerul NXT și alte dispozitive care au Dispozitiv Bluetooth, de exemplu, cu alte NXT, cu telefoane mobile sau cu calculatoare. Prin stabilirea unei conexiuni Bluetooth, este posibil să: descărcați programe de pe un computer de la distanță; trimite programe de pe alte dispozitive (nu de pe un computer), inclusiv de pe NXT; trimite programe atât către NXT-uri individuale, cât și către grupurile acestora. Această tehnologie face posibilă controlul robotului folosind un telefon mobil.

Subiecte „Algoritmi. Executor de algoritm”, „Mediu de programare”.
Pentru familiarizarea inițială cu robotul, puteți programa direct unitatea NXT fără a accesa un computer. Direct pe ecranul de afișare, folosind un șablon de cinci comenzi, puteți crea un program simpluși bucla-l. Cu toate acestea, este imposibil să faci fără cunoașterea structurilor algoritmice de bază și fără stăpânirea mediului de programare. Abilitatea de a programa robotul îl face un performer universal, capabil să rezolve o varietate de probleme. Ar trebui să începeți să stăpâniți tehnologia de programare cu medii de programare vizuală, apoi să treceți la medii mai puternice și mai moderne, orientate spre evenimente.
Astfel, robotica va necesita cunoștințe de bază de informatică, iar dorința inepuizabilă a elevului de a-și face robotul „cel mai bun” îl împinge să stăpânească noi cunoștințe.
De ce poate fi numit un robot un instrument de predare ideal? Pentru că acest instrument face posibilă crearea unui mediu de învățare care va folosi dorințele naturale ale copilului de a se juca, de a crea și de a comunica cu semenii. Deci, putem evidenția avantajele roboticii ca instrument de predare:
. Achiziția de cunoștințe are loc în timpul jocului.
. Construirea unui robot oferă libertate creativă.
. Majoritatea elevilor au dorința de a-și îmbunătăți munca.

Ca exemplu, aș dori să citez modelul unui „Robot care oferă bunătăți gratuite”, creat de un elev de clasa a VI-a în cadrul cursului „Programare robot” în cadrul activităților extracurriculare. Robotul este asamblat din setul LEGO MINDSTORMS NXT Education 9797 conform modelului standard Alpharex 1.0 și este completat de un senzor de culoare pentru a indica starea robotului și o tavă pentru dulciuri.
Scopul lucrării este de a implementa un model de mers uman pe cât posibil cu resursele disponibile. Mișcarea fiecărui picior este controlată de un motor și un ansamblu mecanic de viteze și pârghii. O pârghie mișcă piciorul în sus și în jos, cealaltă îl mișcă înainte. În acest caz, corpul se abate spre piciorul de susținere, datorită căruia robotul menține echilibrul. Acest mers se numește „tâșnire”
Un motor separat controlează senzorul de distanță și brațele de pârghie care țin senzorul tactil și senzorul de culoare. Tava de tratare este fixă.
Robotul este programat să acționeze ca un distribuitor, de exemplu, delicii gratuite, conform următorului algoritm de comportament. Robotul își însoțește mișcarea cu o frază directă: „Sunt robotul Alpharex, ofer un răsfăț gratuit!” O persoană care dorește să ia contact cu robotul îl poate opri printr-un gest. După oprire, robotul spune fraza: „Ajută-te și apasă butonul!” După ce a luat bomboana, persoana trebuie să apese butonul o dată în semn de recunoștință. La trei secunde după oprire, robotul va continua să se miște. Când mâncărurile se epuizează (robotul este programat să aibă un anumit număr de bomboane pe tavă), robotul își va lua la revedere, indicatorul roșu se va aprinde și robotul se va opri.

Programul de control al robotului este scris în mediul NXT Programming 2.0.

Performer Robotul există într-un câmp dreptunghiular, împărțit în celule, între care pot exista pereți și se potrivește în întregime într-o singură celulă.

Robotul se poate mișca pe câmp, picta celule, poate măsura temperatura și radiația. Robotul nu poate trece prin pereți, dar poate verifica pentru a vedea dacă există un perete lângă el.

  • Sistemul de comandă al interpretului „Robot” include:
  • 5 comenzi care declanșează acțiunile robotului (stânga, dreapta, sus, jos, pictură)
  • 10 comenzi de verificare a stării:
  • 8 comenzi de forma [stânga/dreapta/jos/sus] [perete/liber]
  • 2 comenzi de tipul celulei [complete/gol]

2 comenzi de masurare (temperatura, radiatii)

Comenzi de acțiune

Verificați comenzile Echipă
Descriere log-ul din stânga este gratuit
Returnează da dacă robotul se poate deplasa la stânga, altfel nu. log-ul din dreapta este gratuit
Returnează da dacă robotul se poate deplasa la dreapta, altfel nu. log de sus gratuit
Returnează da dacă robotul se poate mișca în sus, altfel nu. log mai jos gratuit
Returnează da dacă robotul se poate mișca în jos, altfel nu. buștean perete stâng
Returnează da dacă există un perete în stânga robotului, în caz contrar nu. buștean perete din dreapta
Returnează da dacă există un perete în dreapta robotului, în caz contrar nu. log pe peretele de sus
Returnează da dacă există un perete deasupra robotului, în caz contrar nu. bușteni sub perete
Returnează da dacă există un perete sub robot, în caz contrar nu. celula de jurnal este completată
Returnează da dacă celula este completată și nu dacă celula nu este completată. jurnal celula curata

Returnează nu dacă celula este completată și da dacă celula nu este completată.

Comenzi de măsurare

Algoritmul ar putea arăta astfel:

utilizați robotul
alg exemplu 1
început
. jos
. corect
. Sus
con

Dacă încercați să ghidați robotul prin perete, va avea loc un eșec. Robotul se va izbi de perete și nu va mai putea urma comenzile.


Să scriem un algoritm pentru un robot care trece printr-un labirint din punctul A în B:

utilizați robotul
Alg de la A la B
început
. corect

. sus ; sus ;
corect; jos ; jos ; corect
con

. sus ; sus ; corect;

jos ; jos ; corect

Comenzile pentru trecerea fiecărei secțiuni pot fi grupate într-o singură linie - acest lucru scurtează înregistrarea algoritmului și o face mai ușor de înțeles. Pentru a scrie comenzi pe o singură linie, acestea trebuie separate prin punct și virgulă.
Soluția 20.1 a sarcinii OGE 2017 în informatică din versiunea demo. Aceasta este o sarcină din partea a doua cu un răspuns detaliat, de un nivel ridicat de dificultate. Timpul estimat de finalizare a sarcinii este de 45 de minute. Pentru această sarcină puteți nota maximum 2 puncte. Sarcina este efectuată pe computer. Elemente de conținut verificate:.

- capacitatea de a scrie un scurt algoritm în mediu
executor oficial
Descrierea elementelor de conținut testate în timpul examenului:,
- algoritm,
proprietățile algoritmilor
— moduri de scriere a algoritmilor,
- diagrame bloc,
- o idee de programare,,
- constructii algoritmice,
valori booleene
- operațiuni,
- expresii,
— împărțirea sarcinii în subsarcini,

- algoritm auxiliar,

— obiecte prelucrate (lanțuri de caractere, numere, liste, arbori).
20.1 sarcină OGE 2017 în informatică
Sus
jos
stânga
corect
Robotul Performer poate naviga printr-un labirint desenat pe un plan împărțit în celule. Între celulele adiacente (pe laterale) poate exista un perete prin care Robotul nu poate trece.
Robotul are nouă comenzi. Patru comenzi sunt comenzi de comandă: vopsea peste La executarea oricăreia dintre aceste comenzi, Robotul mută o celulă, respectiv: sus, jos ↓, stânga ←, dreapta →. Dacă robotul primește o comandă de a trece printr-un perete, se va prăbuși.
Robotul are și echipă
, în care este pictată celula în care se află în prezent Robotul.
liber de jos
lăsat liber
liber pe dreapta
Încă patru comenzi sunt comenzi de verificare a stării. Aceste comenzi verifică dacă drumul este liber pentru robot în fiecare dintre cele patru direcții posibile: liber în vârf Aceste comenzi pot fi folosite împreună cu condiția „
Dacă stare
succesiune de comenzi
dacă
", având următoarea formă:
Toate Aici condiția este una dintre comenzile de verificare a stării.
Secvență de comandă
dacă dreptul este liber atunci
corect
vopsea peste
dacă
Într-o singură condiție, puteți utiliza mai multe comenzi de verificare a condițiilor folosind conective logice Şi, sau, Nu, De exemplu:
dacă (dreptul este liber) și (nu mai jos este gratuit) atunci
corect
dacă
Pentru a repeta o secvență de comenzi, puteți folosi o buclă " la revedere", având următoarea formă:
nts pentru moment stare
succesiune de comenzi
kts
De exemplu, pentru a vă deplasa la dreapta cât timp este posibil, puteți utiliza următorul algoritm:
nts dreptul este gratuit pentru moment
corect
kts

Finalizați sarcina.
Câmpul nesfârșit are pereți orizontali și verticali. Capătul stâng al peretelui orizontal este conectat la capătul de jos al peretelui vertical. Lungimea peretelui necunoscută. Există exact un pasaj în peretele vertical, locația exactă a pasajului și lățimea acestuia sunt necunoscute. Robotul se află într-o cușcă situată direct deasupra peretelui orizontal la capătul său drept.
Figura arată unul dintre moduri posibile locația pereților și a Robotului (robotul este desemnat prin litera „P”).

Scrieți un algoritm pentru Robot care pictează toate celulele situate direct în stânga și în dreapta unui perete vertical. Pasajul trebuie să rămână nevopsit. 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).

La executarea algoritmului, Robotul nu trebuie distrus execuția algoritmului trebuie să fie finalizată. Locația finală a robotului poate fi arbitrară.
Algoritmul trebuie să rezolve problema pentru orice aranjare admisă a pereților și orice locație și dimensiune a trecerii în interiorul peretelui.
Algoritmul poate fi executat într-un mediu executor formal sau scris într-un editor de text.
Salvați algoritmul în fișier text. Numele fișierului și directorul pentru salvare vă vor fi furnizate de organizatorii examenului.

Soluția 20.1 a temei OGE 2017 în informatică

Vom înregistra comenzile interpretului îndrăzneţ font și comentarii - cursive. Începutul unui comentariu va fi notat cu simbolul „|” ( Nu este necesar să scrieți comentarii în timpul lucrului).

|Ne deplasăm spre stânga până ajungem la un perete vertical.
nts stânga este liberă deocamdată
stânga
kts

|Urcăm până ajungem la pasajul din perete și pictăm peste celule.
nts nu este încă liber în stânga
vopsea peste
Sus
kts

|Ne deplasăm până la capătul peretelui și pictăm peste celule.
nts nu este încă liber în stânga
vopsea peste
Sus
kts

|Ocolim zidul.
stânga
jos

|Ne coboram pana ajungem la pasajul din perete si pictam peste celule.
nts nu este încă liber pe dreapta
vopsea peste
jos
kts

|Coborăm până la capătul peretelui și pictăm peste celule.
nts nu este încă liber pe dreapta
vopsea peste
jos
kts

Sunt posibile și alte soluții.
Este permisă utilizarea unei sintaxe diferite pentru instrucțiunile interpretului, care este mai familiară studenților.
Prezența erorilor sintactice individuale este permisă, dar nu denaturează intenția autorului soluției.

Se acordă 2 puncte pentru sarcină dacă
Algoritmul funcționează corect pentru toate datele de intrare valide.
Se acordă 1 punct pentru sarcină dacă
Pentru toate datele de intrare valide, următorul lucru este adevărat:
1) execuția algoritmului este finalizată, iar Robotul nu se prăbușește;
2) nu sunt pictate peste 10 celule suplimentare;
3) nu au rămas nevopsite mai mult de 10 celule din cele care ar fi trebuit pictate.
Se acordă 0 puncte pentru o sarcină dacă
Sarcina a fost finalizată incorect, adică nu au fost îndeplinite condițiile pentru acordarea a 1 sau 2 puncte.

© 2024 ermake.ru -- Despre repararea PC-ului - Portal de informații