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.