====== Algoritmusok követése és értelmezése ====== ==== 2013/9-10/1/1 ==== Karesz egy „utcagyerek”, aki egy négyzetrácsos úthálózat utcasarkain lépdelve mozog. Egyes utcasarkokon kavicsok találhatók, 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 ^ | Fordulj jobbra | Északra néz? | | Fordulj balra | Délre néz? | | Lépj | Keletre néz? | | Vegyél fel egy kavicsot | Nyugatra néz? | | Tegyél le egy kavicsot | Van itt kavics? | 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. * A. Melyik mezőn fog állni Karesz az alábbi program végrehajtása után, ha X=1, Y=2? * B. Melyik mezőn fog állni Karesz az alábbi program végrehajtása után, ha X=2, Y=1? * C. Mitől és hogyan függ tetszőleges X és Y esetén, hogy Karesz az alábbi program végrehajtása után melyik mezőn fog állni? * D. Az alábbi program végrehajtása után tetszőleges X és Y esetén melyik mezőkön lesz kavics és mennyi? 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. ==== 2013/9-10/1/2 ==== Az alábbi algoritmus az N elemű, pozitív számokat tartalmazó X vektor alapján számolja ki M számot és az Y vektor értékeit. Valami(N,X,M,Y): M:=0; K:=-2 Ciklus i=1-től N-ig Ha X(i) mod 2=0 akkor Ha X(i)>K akkor M:=1; K:=X(i); Y(M):=i különben Ha X(i)=K akkor M:=M+1; Y(M):=i Elágazás vége Ciklus vége Eljárás vége. * A. Mi lesz M és az Y vektor értéke, ha N=3, X =(5,3,2)? * B. Mi lesz M és az Y vektor értéke, ha N=3, X =(5,4,4)? * C. Mi lesz M és az Y vektor értéke, ha N=3, X =(6,6,6)? * D. Fogalmazd meg általánosan, hogy milyen feltétel esetén lesz az eljárás végén M=0! * E. Fogalmazd meg általánosan, hogy milyen feltétel esetén lesz az eljárás végén M=1! * F. Fogalmazd meg általánosan, hogy milyen feltétel esetén lesz az eljárás végén M=N! * G. Fogalmazd meg általánosan, hogy hogyan függ adott i-re M és Y értéke a bemenettől! * H. Fogalmazd meg általánosan, hogy hogyan függ az eljárás végére érve M és Y értéke a bemenettől! * I. Mi a szerepe a K változónak?