Породження комбінаторних об’єктів, Детальна інформація
Породження комбінаторних об’єктів
$ (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)
(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
© Referats, Inc · All rights reserved 2021