Cvičenia 2

Riešenia úloh Fibonacci a GCD odvzajte v moodli do 7.10.2014 18:09:59. Môžete ich odovzdávať v jednom súbore (jednom logickom programe obsahujúcom obidve riešenia).

DLV a SMODELS

Graf

Napíšte logický program, ktorý spraví "uzáver" grafu, tj pre graf zadaný pomocou predikátu edge/2 bude predikát path/2 platný pre každú dvojicu vrcholov, medzi ktorými existuje orientovaná cesta.

Successor

Napíšte logický program v ktorého najmenšom modeli bude predikát succ_a/1 platný pre každého nasledovníka X+1, pre ktoré platí a(X). Teda pre a(1). a(5). a(6). dostaneme model { a(1), a(5), a(6), succ_a(2), succ_a(6), succ_a(7) }.

Odd Even

Napíšte logický program, v ktorého najmenšom modeli bude predikát even/1 bude platný pre všetky párne čísla. Obdobne odd/1 bude platný pre všetky nepárne.

Sum

Napíšte predikát sum(S,I) platný práve vtedy keď S = ∑i=0..I i.

Fibonacci

Napíšte predikát fib(F,I) platný práve vtey keď F je I-te Fibonacciho číslo.

Deleno / Modulo

Napíšte predikáty deleno(X,Y,Z) a modulo(X,Y,Z) (s použitím + a *) tak aby

GCD

Napíšte predikát gcd(T,X,Y) tak aby bol platný práve vtedy keď T je najväčším spoločným deliteľom X a Y.

Vim logo FireFox logo CSS XHTML
Jozef Siska @ KAI FMFI UK YoYo @ KSP KAI (DAI) KSP