Subiectul lecției: „Gestionarea interpretului „Robot” Lucrul în mediul „Idol”. Sarcini practice pentru performerul robotului Sarcini conform standardului idol

Secțiuni: Informatică

Obiectivele lecției:

  • Extindeți înțelegerea studenților cu privire la performanții algoritmilor;
  • consolida ideea unui algoritm ca model al activității interpretului.
  • dezvoltarea capacității de a înregistra, executa și depana algoritmi folosind comenzile robotului în mediul „Idol”

Furnizare de lecție:

  • Sistemul de idoli;
  • proiector multimedia;
  • carduri de sarcini;
  • calculatoare.

În timpul orelor

1. Moment organizatoric.

2. Verificarea asimilării materialului studiat.

  1. Sondaj blitz al studenților cu privire la cunoașterea principalelor caracteristici ale desenului: gama de sarcini de rezolvat, mediul executantului, sistemul comenzilor executantului, sistemul eșecurilor interpretului, modurile de operare ale interpretului.
  2. Discuția nr. 17 din d/z
  3. Verificare vizuală nr. 18-19 din d/z.

3. Explicarea materialului nou.

Robotul Performer acționează pe un câmp dreptunghiular în carouri. Între unele celule ale câmpului pot exista pereți. Unele celule pot fi vopsite peste.

Robotul ocupă exact o celulă a câmpului. După echipă sus, jos, stângaȘi dreapta Robotul se deplasează într-o celulă 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ă.

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

Este important de reținut că Robotul poate executa doar comenzi scrise corect. De exemplu, dacă în loc de comandă jos scrie jos, atunci Robotul nu va înțelege această intrare și va raporta imediat o eroare.

Întrebare: Amintiți-vă ce erori sunt numite în înregistrarea comenzilor. (Sintactic și logic.)

Să scriem un program, executând robotul să deseneze un meadru de patru ture pe un câmp în carouri.

început
. nts de 4 ori
. . dreapta
. . vopsea peste
. . stânga
. . vopsea peste
. . stânga
. . vopsea peste
. . sus
. . vopsea peste
. . sus
. . vopsea peste
. . dreapta
. . vopsea peste
. . dreapta
. . dreapta
. . dreapta
. . jos
. . jos
. kts
.
con

Artistul Robot poate accepta orice situație de pornire. Instrumente → Editați mediul de pornire al robotului. În fereastră construim un mediu de pornire și îl salvăm ca unul de pornire sub orice nume.

  1. Efectuați același desen folosind un algoritm auxiliar.
  2. Sugerați versiunea dvs. a programului.

utilizați robotul
alg
început
. meandre
. meandre
. meandre
con

Alg meandre
început
. dreapta
. vopsea peste
. stânga
. vopsea peste
. stânga
. vopsea peste
. sus
. vopsea peste
. sus
. vopsea peste
. dreapta
. vopsea peste
. dreapta
. dreapta
. dreapta
. jos
. jos
con

Rezumatul lecției.

Teme pentru acasă.

§ 3.1, 3.2 (1, 2) RT Nr. 1, 2, 7, 11 (p. 85) Bosova L. Informatica clasa a VII-a.


Robot Executor Sistem de comandă pentru performer Comenzi Robot Mutare: sus, jos, stânga, dreapta Robotul mută o celulă sus, jos, stânga, dreapta. Comanda vopsire pictează celula în care stă robotul. Verificarea adevărului condiției: liber în sus, liber în jos, liber în stânga, liber în dreapta Robotul verifică adevărul condiției că nu există nici un perete la celula în care se află robotul. Puteți folosi notația condițiilor compuse formate din operațiile logice AND, OR, NOT.


Performer Robot Editarea directă a mediului Toate comenzile pentru editarea mediului se execută cu ajutorul mouse-ului: plasați/eliminați un perete - faceți clic pe marginea dintre celule, pictați/ștergeți o celulă - faceți clic pe celulă, mutați Robotul - trageți mouse-ul la celula dorită.


Executor Robot Comenzi din meniu Robot Afișează câmpul Robot Face fereastra de observare robot vizibilă. Mediu de imprimare Creează un fișier PDF care ilustrează mediul curent în culoare sau alb-negru. Salvare situație în fișier Creează un fișier text cu o descriere a situației în format intern *.fil. Acest fișier poate fi încărcat ulterior ca mediu de pornire (comandă Schimbați mediul de pornire) sau la editarea mediului de pornire (comandă Deschideți fereastra de editare a mediului de pornire). Modificare ca mediu de pornire Setează un nou nume de fișier de mediu de pornire (folosind dialogul standard) și încarcă un nou mediu de pornire. Întoarcere la mediul de pornire Face mediul de pornire actual.


Performer Robot Imagine a situației curente în fereastra de observare Imaginea mediului actual este întotdeauna complet plasată în câmpul de lucru al ferestrei de observare Robot. Fundalul câmpului de lucru este verde. Celulele umplute sunt gri. Există linii negre subțiri între celule. Pereții sunt afișați ca linii groase galbene. În celula câmpului de lucru al ferestrei de observare, Robotul este reprezentat ca un diamant.


Exemplu de robot performer 1. Să creăm un algoritm numit „Mișcarea cavalerului”, astfel încât robotul să poată ajunge din punctul A în punctul B (Fig. 3). Algoritmul arată ca (Fig. 4.). După executarea sa, Robotul se va deplasa în punctul dorit (Fig. 5). Un algoritm scris în limbajul interpretului se numește program. Fig.3Fig.4 Fig.5






Și astăzi vom vorbi despre cicluri. Să ne dăm seama ce este un ciclu și cum să învățăm robotul nostru să efectueze algoritmi ciclici.

Asa de, ce este un ciclu? Imaginați-vă că suntem la o lecție de educație fizică și ne confruntăm cu o sarcină face 7 genuflexiuni. Această sarcină poate fi scrisă ca un algoritm liniar și apoi va arăta cam așa:

fă o ghemuială

fă o ghemuială

fă o ghemuială

fă o ghemuială

fă o ghemuială

fă o ghemuială

fă o ghemuială

Adică, am repetat comanda „fă o ghemuire” de 7 ori. Are sens să scrii 7 comenzi identice? Ar putea fi mai ușor să dai o comandă face 7 genuflexiuni? Desigur, este mai simplu și mai corect. Acesta este ciclul. Îți poți aminti chiar tu exemple de cicluri din viață - sunt destul de multe.

Prin urmare algoritm liniar, unde se repetă aceleași comenzi putem aranja ca algoritm ciclic- ca asta:

repeta de 7 ori

fă o ghemuială

sfârşitul ciclului

Așa am conceput ciclul în limbajul inventat de noi. Artistul Robot are, de asemenea, capacitatea de a înregistra cicluri. În plus, ciclurile sunt diferite. Opțiunea pe care tocmai ne-am uitat se numește buclă cu contor sau buclă cu parametru.

Tipuri de cicluri.

Bucla cu un contor.

Bucla cu contor folosit când se știe dinainte câte repetări trebuie făcute. În exemplul de mai sus cu genuflexiuni, acesta este exact cazul.

Pentru a scrie o buclă cu un numărător pentru executor, trebuie să-i cunoașteți sintaxa. Și el este așa:

nc<numărul de repetări> ori

<команда 1>

<команда 2>

<команда n>

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 buclei.

Să ne uităm la asta cu un exemplu.

Inițial, Robotul era în celula din stânga sus.

Să rezolvăm mai întâi problema liniar. În acest caz, vom picta celula curentă și vom muta 1 celulă la dreapta și programul va arăta astfel:
utilizați robotul
alg
început

vopsea peste

dreapta

vopsea peste

dreapta

vopsea peste

dreapta

vopsea peste

dreapta

vopsea peste

dreapta

vopsea peste

dreapta

vopsea peste

dreapta

După cum puteți vedea, comenzile pentru a picta și în dreapta sunt repetate de 7 ori. Să rescriem acum programul folosind o buclă. Apropo, pentru a introduce un ciclu în programul dvs., puteți merge la meniu Introduce selectați elementul tsk-tsk-tsk sau apăsați una dintre combinațiile de taste Esc, P(litera rusă R) sau Esc, H(litera latină H). în plus tastele trebuie apăsate secvenţial- mai întâi Esc, eliberați-l și abia apoi P sau H.

Așa că aici este al nostru program în buclă va arata asa:

utilizați robotul

nts de 7 ori

vopsea peste

dreapta

Dacă îl rulăm, vom vedea că rezultatul va fi același - 7 celule umplute. Totuși, programul a devenit mai scurt și mult mai inteligent din punct de vedere algoritmic!

Ca încălzire și întărire, vă sugerez să scrieți singur un program pentru Robot, care va desena un pătrat cu o latură de 7 celule. Desigur, folosind o buclă. Aștept o soluție în comentarii.

Bucla cu condiție.

La rezolvarea problemei 19 a informaticii academice de stat în informatică cu un robot, utilizarea unei bucle cu un contor nu va funcționa. Din moment ce câmpul există, de regulă, nesfârșit, iar pereții nu au o lungime anume. Prin urmare, nu vom putea determina numărul de repetări pentru o buclă cu un contor. Dar nu contează - ne va ajuta buclă cu condiție.

Să revenim la educația fizică și să schimbăm problema. La urma urmei, cineva s-ar putea să nu poată face 7 genuflexiuni, în timp ce altul poate face 27. Este posibil să ținem cont de acest lucru la crearea unui ciclu? Cu siguranță. Numai că acum vom folosi nu un numărător (număr de repetări), ci o condiție. De exemplu, înainte de a obosi, fă genuflexiuni. În acest caz, persoana nu va face un anumit număr de genuflexiuni, ci se va ghemui până când obosește. Și ciclul nostru în limbaj abstract va lua următoarea formă:

Pa nu obosit

fă o ghemuială

sfârşitul ciclului

Cuvintele nu sunt obosite în cazul nostru - aceasta este o condiție. Când este adevărat, bucla este executată. Dacă este fals (obosit), corpul buclei nu va fi executat. 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

Dar în condițiile sarcinii 19 din GIA sunt indicate doar primele 4 Așa că le vom folosi doar.

Acum să rezolvăm următoarea sarcină pentru Robot - trageți o linie verticală de la marginea stângă la dreapta câmpului folosind o buclă cu o condiție. Inițial, robotul este situat în colțul din stânga sus.

Să formulăm mai întâi un algoritm verbal - adică să descriem în cuvinte ce trebuie să facă Robotul. Acest algoritm va suna cam așa:

« În timp ce există spațiu liber în dreapta, faceți un pas spre dreapta și pictați celula »

Drept urmare, Robotul va alerga prin toate celulele din dreapta și le va picta până când va apărea un perete în dreapta.

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

utilizați robotul

nts dreptul este gratuit pentru moment

dreapta

vopsea peste

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

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 Idol

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șează fereastra robotului„sau în meniul Robot selectați „ Afișează 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:


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.

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

Structură buclă cu condiție

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 inceput 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ă

în timp ce 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 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 sunt încă liberi î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 sunt încă liberi î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