PROLOG, ZADANIA ĆWICZENIE 4 : Rekurencja

Transkrypt

PROLOG, ZADANIA ĆWICZENIE 4 : Rekurencja
PROLOG, ZADANIA
ĆWICZENIE 4 : Rekurencja - wielomiany
ZADANIE 1
Zdefiniować predykat
wielomian(W, X)
spełniony, gdy W jest wielomianem zmiennej X o współczynnikach liczbowych,
wykorzystując następującą definicję (rekurencja strukturalna):
1) x jest wielomianem zmiennej x
c -liczba jest wielomianem dowolnej zmiennej
2) Jeżeli W, W1, W2 sa wielomianami zm. x, to
-W, W1+W2, W1-W2, W1*W2, W^N (N-liczba naturalna)
są wielomianami zmiennej x
Sprawdzić działanie programu na 5 przykładach. Dołączyć sesję prologową do programu jako
komentarz.
ZADANIE 2
Zdefiniować predykat
st_wielomian(W, X, S)
spełniony, gdy S jest stopniem wielomianu W zmiennej X o współczynnikach liczbowych,
wykorzystując następującą definicję (rekurencja strukturalna):
1) st(x) = 1
st(c) = 0 , gdzie c - liczba
2) Stopnie wielomianów złożonych określamy następująco:
st(-W) = st(W),
st(W1+W2) = st(W1-W2) = max(st(W1),st(W2)),
st(W1*W2) = st(W1)+st(W2),
st(W^N)) = st(W)*N (N-liczba naturalna, N>1)
Sprawdzić działanie programu na 5 przykładach. Dołączyć sesję prologową do programu jako
komentarz.
ZADANIE 3
Zdefiniować predykat
pochodna_wiel(W, X, P)
spełniony, gdy P jest pochodną wielomianu W zmiennej X o współczynnikach liczbowych,
wykorzystując następującą definicję (rekurencja strukturalna) :
1) p(x) = 1
p(c) = 0 , gdzie c - liczba
2) Pochodna wielomianów złożonych określamy następująco:
p(-W) = -p(W),
p(C*W) = C*p(W)
p(W1+W2) = p(W1)+p(W2)
p(W1-W2) = p(W1)+p(W2)
p(W1*W2) = p(W1)*W2+p(W2)*W1,
p(W^N)) = N*(W)^(N-1)*p(W), (N-liczba naturalna, N>1)
Sprawdzić działanie programu na 5 przykładach. Dołączyć sesję prologową do programu jako
komentarz.