ЛИСП
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: изложение с элементами сочинения, эффективность диплом
| Добавил(а) на сайт: Kirillov.
Предыдущая страница реферата | 6 7 8 9 10 11 12 13 14 15 16 | Следующая страница реферата
4. Вычисления, изменяющие структуру.
Основными функциями, изменяющими физическую структуру списков, являются RPLACA и RPLACD, которые уничтожают прежние и записывают новые значения в поля CAR и CDR списочной ячейки:
(RPLACA ячейка значение-поля) ;поле CAR
(RPLACD ячейка значение-поля) ;поле CDR
Первым аргументом является указатель на списочную ячейку, вторым - записываемое в нее новое значение поля CAR или CDR. Обе функции возвращают в качестве результата указатель на измененную списочную ячейку:
_(SETQ a ‘(b c d)) ( (b c d)
_(RPLACA a ‘d) ( (d c d)
_(RPLACD a ‘(o n m)) ( (d o n m)
_a ( (d o n m)
5. Задания к лабораторной работе.
1. Определите с помощью лямбда-выражения функцию, вычисляющую:
+y-x*y;
x*x+y*y;
x*y/(x+y)-5*y;
2. Определите функции (NULL x), (CADDR x) и (LIST x1 x2 x3) с помощью базовых функций. (Используйте имена NULL1, CADDR1 и LIST1, чтобы не переопределять одноименные встроенные функции системы.
3. Используя композицию, напишите функции, которые осуществляют обращение списка из 2, 3, ... , n элементов.
4. Используя композицию описанных выше предикатов и логических связок, постройте функцию, которая проверяет, является ли ее аргумент: a) списком из 2, 3, ... элементов; b)списком из 2, 3, ... атомов;
5. Напишите функцию:
такую, что P(n) для произвольного целого n есть список из трех элементов, а
именно: квадрата, куба и четвертой степени числа n;
для двух аргументов значением которой является список из двух элементов
(разности и остатка от деления);
такую, что A(n) есть список (The answer is n). Так, значением (A 12) будет
(The answer is 12);
семи аргументов, значением которой служит сумма всех семи аргументов.
6. Для каждого из следующих условий определить функцию одного
аргумента L , которая имеет значение T, если условие удовлетворяется, и NIL
в противном случае:
n-ый элемент L есть 12;
n-ый элемент L есть атом;
L имеет не более n элементов (атомов или подсписков).
7. Напишите функцию, которая вводит фразу на естественном языке и преобразует ее в список.
8. Напишите функцию, которая спрашивает у пользователя ФИО студента из группы (список группы составлен раньше) и выдает следующие данные о нем: год рождения; средний бал; родителей; списки свойств, присвоенные ему раньше.
9. Напишите функцию: от одного аргумента (ФИО любого студента), замещающую в списке с данными о нем (написанном раньше) подсписки со средними балами на списки свойств; вычисляющую средние балы, беря данные из списков свойств.
10. Каковы будут значения выражений (RPLACA x x) и (RPLACD x x), если: x = ’(a b); x = ’(a);
11. Вычислите значение следующих выражений:
(RPLACD ‘(a) ‘b);
(RPLACA ‘(a) ‘b);
(RPLACD (CDDR ‘(a b x)) ‘c);
(RPLACD ‘(nil) nil)
6. Вопросы.
1. Что такое лямбда-выражение?
2. Для чего используется функция DEFUN?
3. Чем различаются основные функции вывода?
Рекомендуем скачать другие рефераты по теме: реферат личность, курсовая работа по менеджменту.
Категории:
Предыдущая страница реферата | 6 7 8 9 10 11 12 13 14 15 16 | Следующая страница реферата