Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/16: Рейтинг темы: голосов - 16, средняя оценка - 4.75
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194

Список не удовлетворяющий предикату P (с использованием функционала)

20.11.2012, 22:33. Показов 3490. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, помогите пож-та выполнить задание, пишу на XLISP и парадигма Common Lisp, в лиспе не оч силен.
Собственно само задание:
Напишите функцию (takeWhile L Р), которая в качестве результата выдает список, состоящий из всех элементов списка L, начинает с начала списка и до первого элемента, не удовлетворяющего данному предикату Р. Например: (take While '(2 4 6 7 8 9) 'Evenp) = (2 4 6). (Р - функция пли функциональное имя ).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.11.2012, 22:33
Ответы с готовыми решениями:

Подсписок списка, удовлетворяющий предикату
Вот еще задача. Вроде несложная, но то, что написал- не работает. Условие задачи: Определите функцию (f N V P), которая выдает...

Выделить подскписок, не удовлетворяющий предикату.
Здравствуйте. Такая проблема. есть задание - Напишите предикат p(+L, + P, -R), который в качестве результата выдает список, состоящий из...

Дублировать элемент списка, удовлетворяющий некоторому предикату
Нужно продублировать заданное количество раз каждый элемент списка, удовлетворяющий некоторому предикату. Получилось только вынести в...

24
 Аватар для _sg
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
27.11.2012, 18:30
Студворк — интернет-сервис помощи студентам
не знаю причины, скопировал из Вашего поста, работает
0
gulya182009
02.06.2013, 18:53
Напишите функцию (filter p x), которая "фильтрует" (создает список) элементы списка x, удовлетворяющие предикату p (p - функция или функционально е имя ).
 Аватар для _sg
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
02.06.2013, 19:22
Lisp
1
2
3
4
5
6
7
(defun filter (p w)
  (cond ((null w) nil)
        ((funcall p (car w)) (cons (car w) (filter p (cdr w))))
        (t (filter p (cdr w)))))
 
> (filter #'oddp '(1 2 3))
(1 3)
Добавлено через 1 минуту
Lisp
1
2
3
4
5
(defun filter (p w)
  (when w  (if (funcall p (car w)) (cons (car w) (filter p (cdr w))) (filter p (cdr w)))))
 
> (filter #'oddp '(1 2 3))
(1 3)
Добавлено через 1 минуту
Lisp
1
2
3
4
5
(defun filter (p w)
  (loop for a in w when (funcall p a) collect a)) 
 
> (filter #'oddp '(1 2 3))
(1 3)
Добавлено через 1 минуту
Lisp
1
2
3
4
5
(defun filter (p w)
  (remove-if-not #'(lambda (a) (funcall p a)) w))
 
> (filter #'oddp '(1 2 3))
(1 3)
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38207 / 21139 / 4311
Регистрация: 12.02.2012
Сообщений: 34,751
Записей в блоге: 14
02.06.2013, 21:11
До кучи:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(defun filter$ (lst p)
 (let ((res nil))
   (mapcar #'(lambda (x) (if (funcall p x) (push x res) nil)) lst)
   (reverse res)))
 
==> filter$
 
(filter$ '(1 2 3 4 5 6 7) #'evenp)
 
==> (2 4 6)
 
(filter$ '(1 2 3 4 5 6 7) #'oddp)
 
==> (1 3 5 7)
1
gulya182009
04.06.2013, 07:41
Catstail, здравствуйте! это вот эта задачка да?? Напишите функцию (filter p x), которая "фильтрует" (создает список) элементы списка x, удовлетворяющие предикату p (p - функция или функционально е имя ).

Добавлено через 1 минуту
sg и Catstail, спасибо большое/ч то откликнулись!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.06.2013, 07:41
Помогаю со студенческими работами здесь

Глубина последнего вхождения элемента Y, удовлетворяющего некоторому предикату P, в список W
Напишите функцию, определяющую глубину последнего вхождения элемента Y, удовлетворяющего некоторому предикату P, в список W. (defun...

Глубина первого вхождения элемента Y, удовлетворяющего некоторому предикату P, в список W
Доброго времени! Уже видел подобную тему, где расписывали как решить задачку, но: там условие отличалось тем, что нужно было найти глубину...

Глубина последнего вхождения элемента Y, удовлетворяющего некоторому предикату P, в список W часть 2
Добрый день! Создавала уже тему с вопросом по данной программе. Вот ссылка: ...

Отбор элементов, удовлетворяющих предикату
При необходимости можно использовать локальные или вспомогательные функции. Напишите функцию (filter p x), которая создает список из...

Передача параметра предикату в find_if
скажите, можно ли так сдалать: it - итератор it=find_if(it=stud.begin(),it!=stud.end(),function(name)) я хочу булевской функции...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru