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?
oktatas/informatika/programozas/algoritmusok/algoritmus_koevetes_ertelmezes.txt · Utolsó módosítás: 2019/06/04 14:09 szerkesztette: barnkopf
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0