ЛИСП
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: изложение с элементами сочинения, эффективность диплом
| Добавил(а) на сайт: Kirillov.
Предыдущая страница реферата | 10 11 12 13 14 15 16 17 18 19 20 | Следующая страница реферата
Цель: Изучить основы программирования с применением рекурсии.
Научиться работать с функционалами и макросами.
1. Рекурсия. Различные формы рекурсии.
2. Применяющие функционалы.
3. Отображающие функционалы.
4. Макросы.
5. Задание к лабораторной работе.
6. Вопросы.
1. Рекурсия. Различные формы рекурсии.
Основная идея рекурсивного определения заключается в том, что функцию
можно с помощью рекуррентных формул свести к некоторым начальным значениям, к ранее определенным функциям или к самой определяемой функции, но с более
«простыми» аргументами. Вычисление такой функции заканчивается в тот
момент, когда оно сводится к известным начальным значениям.
Рекурсивная процедура, во-первых содержит всегда по крайней мере одну
терминальную ветвь и условие окончания. Во-вторых, когда процедура доходит
до рекурсивной ветви, то функционирующий процесс приостанавливается, и
новый такой же процесс запускается сначала, но уже на новом уровне.
Прерванный процесс каким-нибудь образом запоминается. Он будет ждать и
начнет исполняться лишь после окончания нового процесса. В свою очередь, новый процесс может приостановиться, ожидать и т. д.
Будем говорить о рекурсии по значению и рекурсии по аргументам. В
первом случае вызов является выражением, определяющим результат функции.
Во втором - в качестве результата функции возвращается значение некоторой
другой функции и рекурсивный вызов участвует в вычислении аргументов этой
функции. Аргументом рекурсивного вызова может быть вновь рекурсивный вызов
и таких вызовов может быть много.
Рассмотрим следующие формы рекурсии: простая рекурсия; параллельная рекурсия; взаимная рекурсия.
Рекурсия называется простой, если вызов функции встречается в некоторой ветви лишь один раз. Простой рекурсии в процедурном программировании соответствует обыкновенный цикл.
Для примера напишем функцию вычисления чисел Фибоначчи (F(1)=1;
F(2)=1; F(n)=F(n-1)+F(n-2) при n>2):
(DEFUN FIB (N)
(IF (> N 0)
(IF (OR N=1 N=2) 1
(+ (FIB (- N 1)) (FIB (- N 2))))
‘ОШИБКА_ВВОДА))
Рекурсию называют параллельной, если она встречается одновременно в нескольких аргументах функции:
(DEFUN f ...
...(g ... (f ...) (f ...) ...)
...)
Рассмотрим использование параллельной рекурсии на примере преобразования списочной структуры в одноуровневый список:
(DEFUN PREOBR (L)
Рекомендуем скачать другие рефераты по теме: реферат личность, курсовая работа по менеджменту.
Категории:
Предыдущая страница реферата | 10 11 12 13 14 15 16 17 18 19 20 | Следующая страница реферата