> 1 <

Автор Сообщение

sandrs

Members


Статус

1 сообщений

Где: Andorra
Род занятий:
Возраст:

#8461   2020-06-03 17:28 GMT+3 часа(ов)      
Помогите, пожалуйста, решить
Реализуйте функционал, описанный в задании. При описании можно использовать
средства императивного программирования, но функционал должен быть реализован без побочных эффектов.
Все циклические процессы должны быть реализованы с помощью хвостовой рекурсии.

Определите макрос для цикла do-list, реализующий итерационный процесс через вызов функции с хвосто-
вой рекурсией. Формат команды для вызова макроса:
(do-list (parameter list) body)

где parameter— идентификатор — параметр цикла; list— список; body— тело цикла — одно или несколько вы-
ражений. Параметр цикла пробегает все значения в заданном списке. Тело цикла выполняется для каждого
значения параметра цикла. Результат выполнения макроса — значение последнего выражения в теле body.
Например, для подсчета суммы синусов элементов списка L можно составить код с использованием макроса
 (let ((s 0))
(do-list (i L)
(setf s (+ s (sin i)))))

Опишите функцию all-in-range, принимающую два целочисленных аргумента M и N и возвращающую
список всех целых чисел от M до N.
Выполните задание 3 с использованием разработанного макроса и функции all-in-range.
> 1 <


Онлайн :

0 пользователь(ей), 63 гость(ей) :




Реклама на сайте: