Rekurzió

1995/9-10/1/2

A következő LOGO program szimmetrikus ábrákat rajzol:

TO mitcsinál A B
	FORWARD A
	LEFT B
	mitcsinál A B
END

A programban használt utasítások magyarázata a következő:

FORWARD hossz előrelép az aktuális irányban hossz egységgel
LEFT szög balra fordul szög fokkal a teknőc síkjában
TO eljárás eleje
END eljárás vége

A szimmetria lehet kettes (pl. a pillangó szárnyai), hármas (a háromlevelű lóhere), négyes (ilyen a négylevelű lóhere) stb. A következő eljáráshívások eredménye milyen szimmetriát mutat?

  • A. mitcsinál 100 144
  • B. mitcsinál 100 160
  • C. mitcsinál 100 150
  • D. mitcsinál 100 96

1996/9-10/1/4

Egy vállalat dolgozóinak a beosztása a következő lehet: igazgató, igazgatóhelyettes, osztályvezető, alkalmazott. Az alkalmazottak valamelyik osztályon dolgoznak. Az igazgató közvetlen főnöke az igazgatóhelyetteseknek, az igazgatóhelyettesek az osztályvezetőknek, az osztályvezetők a saját osztályuk alkalmazottjainak. Mindenki küldhet levelet a közvetlen főnökének és összes (nem csak közvetlen) beosztottjának. A dolgozók beosztását PROLOG-szerű tényállításokkal írjuk le:

Példa:

igazgató("Avar András").
igazgatóhelyettes("Álmos Ádám").
igazgatóhelyettes("Boldog Blanka").
osztályvezető("Császár Csaba", "Pénzügyi osztály").
osztályvezető("Demeter Dóra", "Tervosztály").
alkalmazott("Elekes Eszter", "Tervosztály").
alkalmazott("Forró Ferenc", "Tervosztály").

A levélküldés szabályait a következő – félkész – PROLOG-szerű program definiálja:

küldhet(Feladó,Címzett) {Feladó küldhet levelet Címzett-nek}
  ha közvetlenFőnöke(Feladó,Címzett) vagy beosztottja(Feladó,Címzett).
  
közvetlenFőnöke(A,F) ha ...	{A-nak közvetlen főnöke F}.

beosztottja(F,A) ha ...	{F-nek közvetlen vagy közvetett beosztottja A}.

Fejezd be a két megkezdett eljárást! A ha alapszó utáni formulákban a nem, a vagy, valamint az és logikai műveleteket, továbbá a tényállításokat is használhatod a már definiált vagy általad definiálandó eljárások mellett.

oktatas/informatika/programozas/algoritmusok/rekurzio.txt · Utolsó módosítás: 2019/06/04 14:11 szerkesztette: barnkopf
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0