Получить индекс элемента - Lisp
Формулировка задачи:
Помогите пожалуйста решить
Определить рекурсивную функцию. Распечатать результаты трассировки. Указать вид трассировки.Указать вид рекурсии(рекурсия по значению или по аргументу)В задании все операции над списками выполняются только с элементами верхнего уровня,хотя списки могут содержать подсписки.Рекурсия выполняется только в направлении CDR списка.
(INDEX i x) выдает i элемент списка x (предполагается что x имеет длину не меньше i).
Решение задачи: «Получить индекс элемента»
textual
Листинг программы
- (defun index (e x)
- (cond ((eq e (car x)) 0)
- (t (+ 1 (index e (cdr x))))))
- ==> INDEX
- (trace index)
- ==> INDEX
- (index 'e '(q w e r t y))
- Вход в функцию index Аргументы: E (Q W E R T Y)
- Вход в функцию index Аргументы: E (W E R T Y)
- Вход в функцию index Аргументы: E (E R T Y)
- Возврат из функции index Результат: 0
- Возврат из функции index Результат: 1
- Возврат из функции index Результат: 2
- ==> 2
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д