← Vissza a feladatokhoz
2019 · Első forduló · 3–4. évfolyam1. feladat45 pont

Robot vezérlés

eljárás aláírás (:param1 :param2)derékszög (90, -90, 270)előre :paramhátra :paramelőre :param*vmihátra :param/vminégyzetkitöltés (tölt)tollvastagság! :param*tollvastagság! [konkrét érték]ismétlés – fix számúismétlés – paramétertől függő18185

Van egy robotunk , amely az F, J, L, B parancsokra hallgat. Az F hatására felfele, a J hatására jobbra, az L hatására le, a B hatására balra megy a robot egészen addig, míg nem ütközik falba, akkor megáll és várja a következő parancsot. A pályát fal veszi körül, illetve a pályán belül is vannak falak (fekete négyzetek).

Amennyiben a robot olyan mezőre érkezik, amelyik egy nyilat tartalmaz, köteles megváltoztatni az irányát a nyíl irányába, és addig folytatja tovább útját, míg falba nem ütközik.

Lássunk egy példát:

Ha a szaggatott vonallal jelölt útvonalon szeretnénk végig vezetni a robotot a célig (), akkor a következő kódot kell kiadnunk:

JLLJJ

A pályát alkotó cellákra az oszlopokban látható betűvel és a sorokban látható számokkal tudunk hivatkozni.

pl. Az A1 cellában van a robot, a J10 cellában a cél. A D5 cellában van a jobbra nyíl, az I8 cellában a lefele nyíl.

Most nézzük az alábbi pályát!

Melyik cellába kerül a robot az alábbi kódok hatására?

Kérdés

Kód

Cella

A.

JLJL

B.

JLBL

C.

JLJFJ

Milyen kódok kiadásával lehet eljuttatni a robotot megadott cellába? A legrövidebb utat találd meg! Figyelj arra, hogy a robotnak meg kell állnia a cellában, nem elég áthaladnia rajta!

Kérdés

Cella

Kód

D.

C3

E.

J1

F.

J10

Hivatalos megoldás (HTML)

Van egy robotunk Képtalálat a következőre: „bb8”, amely az F, J, L, B parancsokra hallgat. Az F hatására felfele, a J hatására jobbra, az L hatására le, a B hatására balra megy a robot egészen addig, míg nem ütközik falba, akkor megáll és várja a következő parancsot. A pályát fal veszi körül, illetve a pályán belül is vannak falak (fekete négyzetek).

Amennyiben a robot olyan mezőre érkezik, amelyik egy nyilat tartalmaz, köteles megváltoztatni az irányát a nyíl irányába, és addig folytatja tovább útját, míg falba nem ütközik.

Lássunk egy példát:

A képen tér, diagram, szöveg, keresztrejtvény látható

Automatikusan generált leírás

Ha a szaggatott vonallal jelölt útvonalon szeretnénk végig vezetni a robotot a célig (Kapcsolódó kép), akkor a következő kódot kell kiadnunk:

JLLJJ

A pályát alkotó cellákra az oszlopokban látható betűvel és a sorokban látható számokkal tudunk hivatkozni.

pl. Az A1 cellában van a robot, a J10 cellában a cél. A D5 cellában van a jobbra nyíl, az I8 cellában a lefele nyíl.

Most nézzük az alábbi pályát!

A képen keresztrejtvény, tér, szöveg látható

Automatikusan generált leírás

Melyik cellába kerül a robot az alábbi kódok hatására?

Kérdés

Kód

Cella

A.

JLJL

B.

JLBL

C.

JLJFJ

Milyen kódok kiadásával lehet eljuttatni a robotot megadott cellába? A legrövidebb utat találd meg! Figyelj arra, hogy a robotnak meg kell állnia a cellában, nem elég áthaladnia rajta!

Kérdés

Cella

Kód

D.

C3

E.

J1

F.

J10

Egy robot pálya kirajzolása lesz a feladatod. Készítsd el a pálya(oszlop,sor,méret) eljárást, amely kirajzolja a megfelelő pályát! Paraméterként a pálya oszlopainak és sorainak számát, valamint a pályát alkotó négyzetek oldalhosszát adjuk meg.

A bal felső cellába rajzold ki a robotot , a jobb alsó cellába pedig a célt A képen kör látható

Automatikusan generált leírás!

Készíts egy fal(oszlop,sor,méret) eljárást is, amely a kirajzolt pálya adott helyét kitölti feketével!

A képen tér, sor, Téglalap, képernyőkép látható

Automatikusan generált leírás

pálya(10,6,40)

fal(1,3,40)

fal(10,1,40)

fal(10,5,40)

Mintafuttatás

  1. G7 4 pont

B. C1 6 pont

C. J2 5 pont

D. JLB 6 pont

Annyi duplapont, ahány kód egyezik a mintamegoldással balról jobbra vizsgálva. Vagyis, ha J-vel kezdődik a kód 2 pont, ha JL-el, akkor 4 pont, ha pontosan JLB, akkor 6 pont. Nem adható maximális pont akkor, ha a kód a mintamegoldástól hosszabb, vagyis pl. a JLBJB csak 4 pontot ér.)

E. JLJFJF 12 pont
(pontozási elv ugyanaz, mint a D. pont esetén)

F. JLJLJJ 12 pont
(pontozási elv ugyanaz, mint a D. pont esetén)

$magyarázat kellene

eljárás indít
pálya 10 6 40 fal 1 3 40 fal 10 1 40 fal 10 5 40
vége

eljárás pálya :o :s :m
kezdőállapot
ismétlés :s [négyzetsor :o :m]
balra 90 előre :s*:m robot 1 1 40 célrajzol :o :s :m
vége

eljárás kezdőállapot
törölkép tollvastagság! 1 tollatfel t1’apoz! [10 10]
jobbra 90 tollatle
vége

eljárás fal :oszlop :sor :m
jobbra 180 előre 2+(:sor-1)*:m balra 90
előre 2+(:oszlop-1)*:m tölt hátra 2+(:oszlop-1)*:m
jobbra 90 hátra 2+(:sor-1)*:m balra 180
vége

eljárás robot :o :s :m
tollatfel jobbra 90 előre :m/2+(:o-1)*:m balra 90
hátra 2*:m/3+(:s-1)*:m tollvastagság! :m/2 pont
előre :m/3 tollvastagság! :m/4 pont
hátra :m/3 előre 2*:m/3+(:s-1)*:m jobbra 90
hátra :m/2+(:o-1)*:m balra 90
vége

eljárás célrajzol :o :s :m
tollatfel jobbra 90 előre :m/2+(:o-1)*:m balra 90
hátra :m/2+(:s-1)*:m tollvastagság! 4*:m/5 pont
tollszín! „fehér tollvastagság! 3*:m/5 pont
tollszín! „fekete tollvastagság! 2*:m/5 pont
előre :m/2+(:s-1)*:m jobbra 90 hátra :m/2+(:o-1)*:m
balra 90
vége

eljárás négyzetsor :o :m
ismétlés :o [ismétlés 4 [előre :m jobbra 90]
előre :m]
hátra :o*:m balra 90 hátra :m jobbra 90
vége

A. Van pálya eljárás 1 pont

B. A pálya 10 1 40 eljárás kirajzol egy 10 oszlopból és 1 sorból álló négyzethálót; ahol a négyzetek oldalhossza 40. 3+1 pont

C. A pálya 1 10 40 eljárás kirajzol egy 10 sorból és 1 oszlopból álló négyzethálót; ahol a négyzetek oldalhossza 40. 3+1 pont

D. A pálya 10 6 40 eljárás kirajzol egy 10 oszlopból és 6 sorból álló négyzethálót; ahol a négyzetek oldalhossza 40. 3+1 pont

E. A pálya kirajzolása helyes 30-as méretben; illetve 50-es méretben 4+4 pont

F. A robot két pontból (körből) áll; a nagyobb pont (vagy kitöltött kör) tetején egy kisebb pont (vagy kitöltött kör) van; a robot az első cellában van 2+3+3 pont

G. A cél két koncentrikus körből áll; a pálya utolsó cellájában 3+3 pont

H. Van fal eljárás 1 pont

I. A fal 1 2 40 eljárás befesti az első oszlop második celláját (csak akkor adható meg, ha az eljárás mindig az adott cellát tölti ki, függetlenül a korábban kiadott parancsok utáni teknőc pozíciótól) 3 pont

J. A fal 5 1 40 eljárás befesti az első sor ötödik celláját (csak akkor adható meg, ha az eljárás mindig az adott cellát tölti ki, függetlenül a korábban kiadott parancsok utáni teknőc pozíciótól) 3 pont

K. A fal eljárás akkor is jól színez, amikor nem 40-es, hanem 30-as méretben; illetve 50-es méretben kirajzolt pályán teszteljük (csak akkor adható meg, ha az eljárás mindig az adott cellát tölti ki, függetlenül a korábban kiadott parancsok utáni teknőc pozíciótól) 4+4 pont