Породження комбінаторних об’єктів, Детальна інформація

Породження комбінаторних об’єктів
Тип документу: Реферат
Сторінок: 7
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 12.8
Скачувань: 915
$ (APPLY ‘CONS ‘(a (b c d))) $ (SETQ z ‘(LAMBDA (n) (* n n)))

(a b c d) $ (APPLY z ‘(4))

16

5. UNDEFINED <символ> <форма1> ... <формаN>

Ця функція ініціює преривання по помилці “Невизначена функція”. Ця функція керування помилками використовується тоді, коли намагаються обчислити форму, CAR-елемент якої є символом, який не має визначення функції.

Завдання

1. (PL1 lst1 lst2), де lst1 - список з n чисел, lst2 - список з n - 1 знаків арифметичних дій. (PL ‘(3 6 4 1) ‘(+ * - )) — це (3+6)*4 - 1 = 35.

2. Надрукувати всі послідовності з k натуральних чисел, у яких i-ий член не перевищує i.

3. Надрукувати всі розстановки дужок в добутку множників. Порядок множників не змінюється, дужки однозначно визначають порядок дій.

Наприклад, n=4: ((a b) c) d (a (b c)) d a ((b c) d) (a b)(c d) a (b (c d)).

4. Написати програму:

а) (INTEGRATE f a b n) – інтегрування функції f від a до b; відрізок [a; b] розбити на n частин.

б) (HALFDIV f a b e) – знайти корінь рівняння f(x)=0, який лежить в інтервалі [a; b] методом половинного ділення з похибкою e.

в) (SQRT2 n е) – обчислити квадратний корінь методом ітерації з похибкою е.

г) (DIFF f x) – обчислити значеняя похідної функції f в точці x.

Відповіді

1. $ (defun PL1 (lst1 lst2)

((NULL lst2) (car lst1))

(PL1 (cons (funcall (car lst2) (car lst1) (cadr lst1)) (CDDR lst1)) (CDR lst2)) )

2. $ (DEFUN cl (i)

(SETQ list nil)

(calc i) )

$ (DEFUN calc (i)

((ZEROP i) (RETURN (PRINT list)))

(PUSH i list)

(LOOP ((> 1 (CAR list)) (RETURN (POP list)))

(calc (- i 1))

(PUSH (- (POP list) 1) list)

) )

4. а) $ (DEFUN INTEGRATE (function a b n) (defun f (x)

The online video editor trusted by teams to make professional video in minutes