| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > помогите решить задачку на ЛИСПе?

помогите решить задачку на ЛИСПе?

Ответ
Поиск в этой теме
Непрочитано 21.03.2007, 21:56 #1
помогите решить задачку на ЛИСПе?
Nastya_Cher
 
ЧЕРЕПОВЕЦ
Регистрация: 21.03.2007
Сообщений: 1

Здравствуйте!!!
У меня следующая проблемка, нужно решить задачку к завтрашнему дню, иначе не допуск к экзамену с последующим отчислением. Задачка на Лиспе, вот условие:
Определите фильтр (DEL-IF1 pred список) удаляющий из списка элементы, которые обладают свойством, наличие которого проверяет предикат pred.
По указаниям препода, нужно делать с использованием funcall.

Помогите пожалуйста!!!!!!!!
Просмотров: 2827
 
Непрочитано 21.03.2007, 22:05
#2
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 722


Nastya_Cher
Привет землячкам.
Звони мне сейчас на мыло или мой телефон в личке. Встретимся обмозгуем. В 12 лягу спать.
mmax на форуме  
 
Непрочитано 21.03.2007, 22:58
#3
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 722


В AutoLISP Примерно так

Код:
[Выделить все]
(defun del-if (pred l)
  (vl-remove-if pred l)
  )
;test
(del-if 'listp (list 1 2 5 (list 6 7 8)))
;возращает
(1 2 5)
Книг по CommonLISP к сожалению уже нету.

Исходное задание:

Код:
[Выделить все]
(defun del-if (pred l)
  (cond ((atom pred) (setf pred (list pred 'x)))
        ((listp pred) (setf pred (nconc pred '(x)))) )
  (mapcan (list 'lambda '(x) (list 'if pred 'nil '(list x))) l) )

(del-if '(listp) '(1 2 3 (4 5) 6 (a b c) 7 8 9))
(1 2 3 6 7 8 9)
mmax на форуме  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > помогите решить задачку на ЛИСПе?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск