← Vissza a feladatokhoz
2021 · Első forduló · 7–8. évfolyam1. feladat43 pont

Motorcsónak

eljárás aláírás (:param1 :param2)derékszög (90, -90, 270)előre :paramhátra :paramtollszín! pirosnégyzetforgásszimmetrikus (pont, körlap, körvonal, körív)tollvastagság! [konkrét érték]ismétlés – fix számúismétlés – egymásba ágyazott331

Van egy programozható motorcsónakunk. A jármű kétféle parancsra hallgat: a B hatására balra, a J hatására pedig jobbra fordul 90 fokot. A tavon a nyilat (🡅) tartalmazó mezőről indul a nyíl által meghatározott irányba. Folyamatosan halad előre, és az irányán csak bójához érkezéskor módosít. Teli bójánál (⚫) beolvas egy parancsot, és az annak megfelelő irányba fordul. Csillagos bójánál (✪) azonban a legutóbb végrehajtott parancsot hajtja végre újra. Ha hullámos mezőn (🌫) halad át, akkor pedig a következő bóját figyelmen kívül hagyja (üres mezőnek tekinti). A csónak csak akkor áll meg, ha teli bójához érkezett, és elfogytak a parancsok. Ha a tópartnak ütközik, akkor azonnal elsüllyed, amit természetesen nem szeretnénk.

A tavat alkotó mezőkre az oszlopok feletti betűkkel és a sorok melletti számokkal tudunk hivatkozni.

Lássunk egy példát!

A csónak a B4-es mezőről indul a nyíl irányába, és a JB kódot adtuk meg neki. Folyamatosan halad a B1-es mezőig, ahol beolvassa az első parancsot, és annak megfelelően jobbra fordul. A D1-es mezőhöz ér, ahol ismét jobbra fordul. Áthalad a D2-es mezőn, ezért a D4-es mezőn található bóját figyelmen kívül hagyja. A D5-ös mezőre érve beolvassa a második parancsot, amelynek hatására balra fordul. Az E5-ös mezőn pedig megáll, mert nincsen több parancs.

A feladatok az alábbi pályára vonatkoznak.

Melyik mezőn áll meg a csónak a megadott kódok hatására?

Kérdés

Kód

Mező

A.

JJ

B.

BBJ

C.

BJBJJ

Van egy teli bójánk (⚫). Melyik üres mezőre kellene tenni ahhoz, hogy a JJJ kód hatására a csónak a megadott célmezőn álljon meg? Ha több megoldás is van, add meg az összeset! (A nyilat és a hullámokat tartalmazó mezőkre nem tehető bója.)

Kérdés

Cél

Teli bója helye

D.

J4

E.

F2

F.

I8

Hivatalos megoldás (HTML)

Van egy programozható motorcsónakunk. A jármű kétféle parancsra hallgat: a B hatására balra, a J hatására pedig jobbra fordul 90 fokot. A tavon a nyilat (🡅) tartalmazó mezőről indul a nyíl által meghatározott irányba. Folyamatosan halad előre, és az irányán csak bójához érkezéskor módosít. Teli bójánál (⚫) beolvas egy parancsot, és az annak megfelelő irányba fordul. Csillagos bójánál (✪) azonban a legutóbb végrehajtott parancsot hajtja végre újra. Ha hullámos mezőn (🌫) halad át, akkor pedig a következő bóját figyelmen kívül hagyja (üres mezőnek tekinti). A csónak csak akkor áll meg, ha teli bójához érkezett, és elfogytak a parancsok. Ha a tópartnak ütközik, akkor azonnal elsüllyed, amit természetesen nem szeretnénk.

A tavat alkotó mezőkre az oszlopok feletti betűkkel és a sorok melletti számokkal tudunk hivatkozni.

Lássunk egy példát!

A képen keresztrejtvény, fekete látható

Automatikusan generált leírás

A csónak a B4-es mezőről indul a nyíl irányába, és a JB kódot adtuk meg neki. Folyamatosan halad a B1-es mezőig, ahol beolvassa az első parancsot, és annak megfelelően jobbra fordul. A D1-es mezőhöz ér, ahol ismét jobbra fordul. Áthalad a D2-es mezőn, ezért a D4-es mezőn található bóját figyelmen kívül hagyja. A D5-ös mezőre érve beolvassa a második parancsot, amelynek hatására balra fordul. Az E5-ös mezőn pedig megáll, mert nincsen több parancs.

A feladatok az alábbi pályára vonatkoznak.

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

Automatikusan generált leírás

Melyik mezőn áll meg a csónak a megadott kódok hatására?

Kérdés

Kód

Mező

A.

JJ

B.

BBJ

C.

BJBJJ

Van egy teli bójánk (⚫). Melyik üres mezőre kellene tenni ahhoz, hogy a JJJ kód hatására a csónak a megadott célmezőn álljon meg? Ha több megoldás is van, add meg az összeset! (A nyilat és a hullámokat tartalmazó mezőkre nem tehető bója.)

Kérdés

Cél

Teli bója helye

D.

J4

E.

F2

F.

I8

Készítsd el az ábrán látható TV-állványok rajzát (TV1(méret), TV2(méret) és TV3(méret)). A méret paraméter határozza meg az ábrán a négyzetek oldalhosszát. A körvonaluk barna színű legyen, a fogantyúk pedig kékek! A tollvastagság legyen 3-as!

TV1(30)

TV2(30)

TV3(30)

A. C7 4 pont

B. J1 4 pont

C. F3 4 pont

D. F5; D9 5+5 pont

E. F4; F9 5+5 pont

F. G9; C8 6+5 pont

Ha a versenyző a D., E., F. részfeladatnál helytelen választ is megadott, akkor minden helytelen válaszért 5 pontot le kell vonni! Amennyiben így negatív pontszám adódna valamely részfeladat esetén, akkor 0 pontot kell annál a részfeladatnál rögzíteni!

A TV2 és a TV3 közös alapból is készülhetne.

eljárás TV1 :méret
tollvastagság! 3 tollszín! 4
ismétlés 5 [előre :méret jobbra 90]
előre :méret*4 jobbra 90
ismétlés 5 [előre :méret jobbra 90]
előre :méret/ 2 balra 90 előre :méret/4 hátra :méret/4
jobbra 90 előre :méret*3 balra 90 előre :méret/4
hátra :méret/4 jobbra 90 hátra :méret/2 jobbra 90
előre :méret/2 jobbra 90 előre :méret*2 hátra :méret*2
balra 90 hátra :méret/2 balra 90 előre :méret jobbra 90
vége

eljárás TV2 :méret
tollvastagság! 3 tollszín! 4
ismétlés 5 [e :méret jobbra 90 ]
előre :méret*3 jobbra 90
ismétlés 5 [előre :méret jobbra 90]
előre :méret/2 balra 90 előre :méret/4 hátra :méret/4
jobbra 90
előre :méret*1.5 jobbra 90
ismétlés 2 [előre :méret/2 jobbra 90 előre :méret jobbra 90]
balra 90 előre :méret/2 balra 90 előre :méret/4
hátra :méret/4 jobbra 90
előre :méret/2 jobbra 90
tollatfel előre :méret/2 jobbra 90 előre :méret/4*3
tollszín! 3 tollatle előre 2 hátra 2 tollatfel
előre :méret/4*3 jobbra 90 előre :méret/6 tollatle
előre 2 hátra 2 tollatfel h :méret/6 balra 90
előre :méret/4*3 tollatle előre 1 tollatfel
hátra :méret*2.25 balra 90 hátra :méret/2 tollatle
vége

eljárás TV3 :méret
tollvastagság! 3 tollszín! 4
ismétlés 2 [ismétlés 2 [előre :méret/2 jobbra 90
előre :méret jobbra 90]
tollatfel előre :méret/2 tollatle ]
hátra :méret jobbra 90 előre :méret balra 90
ismétlés 4 [előre :méret jobbra 90]
jobbra 90 előre :méret balra 90
ismétlés 2 [ismétlés 2 [előre :méret/2 jobbra 90
előre :méret jobbra 90]
tollatfel előre :méret /2 tollatle]
hátra :méret jobbra 90 előre :méret balra 90
jobbra 90 hátra :méret/2 jobbra 90
ismétlés 4 [előre :méret/6 jobbra 90]
balra 90 hátra :méret*2 jobbra 90
ismétlés 4 [előre :méret/6 jobbra 90]
balra 90 hátra :méret/2 balra 90
vége

TV1

A. Van záródó körvonal 1 pont

B. Bal-; jobboldali rész négyzetek 1+1 pont

C. Középső rész 1*2-es méretű; közepén vízszintes vonal 1+1 pont

D. Van két lába; oldalsó szekrények felénél; merőlegesek; jó méretűek 1+1+1+1 pont

E. Színe barna és a tollvastagság 3; paraméterezhető 1+1 pont

TV2

F. Van záródó körvonal 1 pont

G. Bal-; középső; jobboldali rész négyzetek 1+1+1 pont

H. Középső felénél vízszintes vonal; fogantyúk a képnek megfelelő helyen; kékek 1+3*1+1 pont

I. Van két lába; oldalsó szekrények felénél; merőlegesek; jó méretűek 2+1+1+1 pont

J. Színe barna és a tollvastagság 3; paraméterezhető 1+1 pont

TV3

K. Van záródó körvonal 1 pont

L. Bal-; középső; jobboldali rész négyzetek 1+1+1 pont

M. Bal-; és jobboldalon a felénél vízszintes vonal 1+1 pont

N. Van két négyzet lába; oldalsó szekrények felénél; merőlegesek; jó méretűek 2+1+1+1 pont

O. Színe barna és a tollvastagság 3; paraméterezhető 1+1 pont