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?
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.