Az algoritmikus gondolkodás elmélyítéséhez sokan programozási nyelvektől független fejlesztő eszközöket dolgoznak ki. Egyik ilyen legkorábbi eszköz volt Karesz, a robot [HP,KC, PR].
Karesz egy utcagyerek, aki egy négyzetrácsos úthálózat utcasarkain lépdelve mozog. Egyes utcasarkokon falak vannak, amelyeken Karesz nem tud átmászni. Más sarkokon kavicsok találhatók (egy helyen csak egy), amiket Karesz tetszőleges számban felvehet, majd újra letehet. Karesz mint algoritmus végrehajtó az alábbi nyelvet érti:
Karesz tevékenységei | Amit Kareszről kérdezhetünk |
---|---|
♦ Indulj Karesz | ♦ északra néz |
♦ Fordulj jobbra | ♦ délre néz |
♦ Fordulj balra | ♦ keletre néz |
♦ Lépj | ♦ nyugatra néz |
♦ Vedd fel a kavicsot | ♦ fal előtt áll |
♦ Dobj el egy kavicsot | ♦ van itt kavics |
♦ Állj |
Példák:
Fordulj északra:
AMÍG NEM északra néz
ISMÉTELD
Fordulj jobba
ISMÉTLÉS VÉGE.
Menj a falhoz:
HA NEM fal van előtte
AKKOR Lépj; Menj a falhoz
HA VÉGE.
Menj előre 10-et:
ISMÉTELD 10-szer
Lépj
ISMÉTLÉS VÉGE.
Cserélget:
ISMÉTELD 10-szer
HA van itt kavics
AKKOR Vedd fel a kavicsot
KÜLÖNBEN Dobj el egy kavicsot
HA VÉGE
ISMÉTLÉS VÉGE.
Karesz, a robot lényege:
Nézzünk három komolyabb, versenyfeladatot Karesz programozására a 2013-as Nemes Tihamér, illetve Informatika OKTV versenyekről!
Karesz programozása – 5-8. osztályosok |
---|
Kezdetben Karesz a (10,10) koordinátájú ponton áll és felfelé néz (azaz ha lépne egyet, akkor a (10,11) koordinátájú pontra lépne. Kezdetben a (10,10) koordinátájú ponton X darab kavics van, a (11,10) koordinátájún pedig Y darab kavics van, a többi ponton nincs kavics.
Karesz: Ciklus amíg van itt kavics Vegyél fel egy kavicsot Lépj Tegyél le egy kavicsot Fordulj jobbra Lépj Fordulj jobbra Lépj Ciklus vége Eljárás vége. |
Karesz programozása – 9-10. osztályosok |
---|
Kezdetben Karesz a (10,10) koordinátájú ponton áll és felfelé néz (azaz ha lépne egyet, akkor a (10,11) koordinátájú pontra lépne. Kezdetben a (10,10) koordinátájú ponton X darab kavics van, a (11,10) koordinátájún pedig Y darab kavics van, a többi ponton nincs kavics.
Karesz: Ciklus amíg van itt kavics Vegyél fel egy kavicsot Lépj Tegyél le egy kavicsot Fordulj jobbra Lépj Fordulj jobbra Lépj Fordulj jobbra Fordulj jobbra Ha van itt kavics akkor Vegyél fel egy kavicsot Lépj Tegyél le egy kavicsot Fordulj balra Lépj Fordulj balra Lépj Fordulj balra Fordulj balra Elágazás vége Ciklus vége Eljárás vége. |
Karesz programozása – 11-12. osztályosok |
---|
Kezdetben Karesz a (10,10) koordinátájú ponton áll és felfelé néz (azaz ha lépne egyet, akkor a (10,11) koordinátájú pontra lépne. Kezdetben a (10,x) koordinátájú ponton 1 kavics van, a (10,y) koordinátájún szintén 1 kavics van (10<x<y, x+y páros szám), a többi ponton nincs kavics. Ha Karesz nem tud letenni kavicsot, mert nincs a kezében, akkor hibát jelez és leáll.
Karesz: Ciklus amíg nem van itt kavics Lépj Ciklus vége Vegyél fel egy kavicsot Lépj Ciklus amíg nem van itt kavics Tegyél le egy kavicsot Lépj Ciklus amíg nem van itt kavics Lépj Ciklus vége Fordulj jobbra Fordulj jobbra Vegyél fel egy kavicsot Lépj Ciklus vége Eljárás vége. |
Újabban definiálták Karesz 3 dimenziós testvérét, Alice-t. [CSDWPR]
Alice is primarily a scripting and prototyping environment that allows the user to build virtual worlds and write simple programs to animate objects (e.g., animals and vehicles) in those worlds. Objects in Alice can move, spin, change color, make sounds, react to the mouse and keyboard, and more. By writing simple scripts, Alice users can control object appearance and behavior. During script execution, objects may respond to user input via mouse and keyboard. Each action is animated smoothly over a specified duration. In the rest of this paper, we will describe the Alice programming environment, and then propose how Alice may also be used to assist in supporting the development of algorithmic thinking for novice programmers.
![]() ![]() |
![]() |
![]() |
A tananyag az ELTESCORM keretrendszerrel készült