Sarcini practice pentru robot. Portal educațional

Programul Idol

Robot interpret


Cine este interpretul robotului?

  • Imaginează-ți 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.

presa Editați mediul



Robot interpret. Comenzi simple.

  • sus
  • jos
  • stânga
  • dreapta
  • 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 timp

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

dreapta

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ă condiție Acea
  • 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
  • dreapta
  • 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

dreapta

în timp ce vârful este liber

dreapta

în timp ce este liber în dreapta

vopsea peste

dreapta

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ă

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

vopsea peste

în timp ce stânga este liberă

în timp ce 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 este situat î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

dreapta

vopsea peste

dreapta

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

dreapta

î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

dreapta

î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

dreapta

nu încă (gratuit deasupra)

vopsea peste

dreapta



Răspuns la sarcina nr. 16

nu este încă liber pe dreapta

vopsea peste

jos

vopsea peste

dreapta

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

vopsea peste

dreapta

în timp ce vârful este liber

sus

în timp ce este liber în dreapta

vopsea peste

dreapta

nu este încă liber pe dreapta

vopsea peste

jos



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 logul 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

Să fie necesar să se transfere de la celula din stânga peretelui la celula din dreapta peretelui:

Algoritmul ar putea arăta astfel:
utilizați robotul
alg exemplu 1
început
. jos
. dreapta
. 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.

Algoritmul ar putea arăta astfel:
Să scriem un algoritm pentru un robot care trece printr-un labirint din punctul A în B:
alg exemplu 1
. jos

Alg de la A la B
. sus ; sus ; dreapta ; jos ; jos ; dreapta
. sus

Comenzile pentru trecerea fiecărei secțiuni pot fi grupate într-o singură linie - acest lucru scurtează înregistrarea algoritmului și îl face mai ușor de înțeles. Pentru a scrie comenzi pe o singură linie, acestea trebuie separate prin punct și virgulă.

Ea pentru munca in continuareși a învățat să întrebe. 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 cum să execute unele comenzi - „Stați”, „Întindeți”, „Î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 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

Ca rezultat, 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 ne vom picta partea dreapta pătrat:

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! Ca 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

Î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 un limbaj pe care îl va înțelege placa de baza sau bloc software. 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.

Se numește o structură neasamblată dintr-un kit gata făcut 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 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ă unde 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. Şuhov 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 unde poți învăța ce să construiești și cum să programezi 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 iar în timpul pregătirii ei petrec timp doar pentru calibrarea senzorilor și reglarea 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