Зворотний зв'язок

Породження комбінаторних об’єктів

Якщо функція — ім’я визначеної користувачем функції або тіло LAMBDA, APPLY пов’язує формальні аргументи функції з фактичними аргументами, обчислює тіло функції, відтворює вихідні значення формальних аргументів і повертає значення обчислення тіла функції.

Якщо функція — не ім’я функції і не тіло LAMBDA, APPLY генерує переривання по помилці “невизначена функція”.

$ (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)


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат