A01.docx

(10 KB) Pobierz

ZADANIE 1.

Niech f(n)=3n^2+2n! będzie funkcją liczbowo-liczbową. Udowodnij ,że funkcja f(n) jest prymitywnie rekurswyna.

 

silnia(0)=1
silnia(n)=PROD(n, silnia(n-1))

gdzie PROD czyli mnożenie:
PROD(0,m)=0
PROD(n+1,m)=SUM(m, PROD (n,m))

gdzie SUM (dodawanie) jest zbudowane na bazie funkcji SUCC, która jest funkcją bazową.

f(n)=3n^2 + 2n!

F(n) = SUM (PROD(3, PROD(n,n)), PROD(2, SILNIA(n)))

 

ZADANIE 2

.

a1 = prawda; a2 = fałsz; NULL = fałsz.

COTO(a1a1) = COND(a1, CONS(a2, COTO(a1)), NULL) =
= CONS(a2, COTO(a1)) = CONS(a2, CONS(a2, COTO(NULL)) = CONS(a2, CONS(a2, NULL) =
= a2a2

// tłumacząc to:
COND to instrukcja warunkowa :
za x podstawiam ogon (a1). jeśli jest prawdą to pierwsze polecenie (CONS(a2, COTO(X)), jak
nie to drugie - NULL.

CONS - łączenie

COTO(a1a2) = COND(a2, CONS(a2, COTO(a2)), NULL) = NULL
COTO(a2a1) = CONS(a1, a1) = a1a1
COTO(a2a2) = CONS(a1, a2) = a1a2

 

Zgłoś jeśli naruszono regulamin