Az I. 438. feladat (2017. október) |
I. 438. Készítsünk táblázatkezelő alkalmazásban táblázatot vagy írjunk programot, amely egy kavicsot terítő robot munkáját vezérli.
A robot egy \(\displaystyle 10\times 10\) cellás négyzetrácson mozoghat a szövegesen megadott utasítások szerint. A robot mozgása a lehető legegyszerűbb, mert egyszerre előre, hátra, illetve jobbra vagy balra (E, H, J és B) egy egységet tud lépni. Amikor a robot új cellába lép, köveket vesz fel, ha a kövek száma az adott cellában 1-nél több, és köveket tesz le, ha van nála kő, a cellában pedig éppen nincs. A robot a bal felső sarok cellájából indul, felfelé néz és nincs nála kavics. Működése során először lép és utána változtathatja a cellában a kavicsok számát. A vezérlés utasításainak száma legfeljebb 100.
A \(\displaystyle 10\times 10\) cellás négyzetrács celláinak kavicsszáma és a robotot vezérlő utasítássor áll rendelkezésre a terep.txt állományban. Vagy töltsük be a táblázatkezelőbe az A1-es cellától kezdődően, vagy a program standard bemenetén adjuk meg a szóközökkel tagolt terep.txt állományt. A megoldás során a forrásadatok módosulása esetén is helyes eredményt kell kapnunk.
A táblázatkezelő az L1-es cellában, vagy a program a standard kimeneten jelenítse meg, hogy a vezérlés befejezése után hány kő van a robotnál.
Beküldendő egy tömörített i438.zip állományban a táblázatkezelő munkafüzet, vagy a program forráskódja és rövid dokumentációja, amely megadja a táblázatkezelő alkalmazás nevét és verziószámát, illetve azt, hogy a forrásállomány melyik fejlesztői környezetben fordítható.
A megoldáshoz szükséges letölthető állomány: terep.txt
(10 pont)
A beküldési határidő 2017. november 10-én LEJÁRT.
Megoldásokról: A versenyzők közül ketten küldtek táblázatkezelővel készült megoldást. Egyikük Visual Basic for Applicationst használt, azaz lényegében programozással oldotta meg a feladatot és nem a táblázatkezelő rendszer függvényeivel, kifejezéseivel.
A feladat szövege a bemenetre a következőt adta meg: a program standard bemenetén adjuk meg a szóközökkel tagolt terep.txt állományt. A versenyzők közül többen a bemenetet fájl beolvasással, a terep.txt állománnyal oldották meg.
Mintamegoldás:
A közölt mintamegoldás Tersztenyák Balázs, a budapesti Kempelen Farkas Gimnázium 10. osztályos tanulójától származik: I438.java
Statisztika:
16 dolgozat érkezett. 10 pontot kapott: Békési Péter, Bodgál Attila Zoltán, Csókás Bence Viktor, Kis Lázár Bence, Tersztenyák Balázs, Varga 225 Balázs, Viczián András. 9 pontot kapott: Csikós Patrik, Horcsin Bálint, Papp Marcell Miklós, Rittgasszer Ákos, Ürmössy Dorottya. 6 pontot kapott: 1 versenyző. 5 pontot kapott: 1 versenyző. 4 pontot kapott: 1 versenyző. 3 pontot kapott: 1 versenyző.
A KöMaL 2017. októberi informatika feladatai