![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Joil |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 211 Регистрация: 24.1.2008 Репутация: нет Всего: 8 |
Всем привет.
Возникла сложность с еще одной задачкой по Lisp'у: Напишите функцию (all p x), которая проверяет "Для всех ли элементов списка x выполняется предикат p?" (p- функция или функциональное имя). ------------ За помощь в прошлой задаче огромное спасибо VH_. И вообще спасибо всем, за то что есть такой форум. --------------------
Who had deceived thee so often as thyself? © Benjamin Franklin--------------------Always bear in mind that your own resolution to succeed is more important than any other. © Abraham Lincoln--------------------If you need it - do it, if you want it - take it! © ... |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 6 Всего: 173 |
Я не уверен, что это свернётся в хвостовую рекурсию, но по идее должно, поскольку and вычисляется лишь до первого nil аргумента. Это сообщение отредактировал(а) Void - 3.2.2008, 16:27 -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Joil |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 211 Регистрация: 24.1.2008 Репутация: нет Всего: 8 |
Я примерно тоже самое делал, но немогу понять че писать в самом интерпретаторе. Допустим нужно проверить функцию all на примере предиката atom. И вот сдесь я чето тормознулся, а в методичке не написано как это сделать... Я пишу (all atom '(5 6 4 58 8)). На это Lisp выдает ошибку. Как писать?
--------------------
Who had deceived thee so often as thyself? © Benjamin Franklin--------------------Always bear in mind that your own resolution to succeed is more important than any other. © Abraham Lincoln--------------------If you need it - do it, if you want it - take it! © ... |
|||
|
||||
| Void |
|
||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 6 Всего: 173 |
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||
|
|||||
| VH_ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 31.10.2006 Репутация: 1 Всего: 11 |
В варианте Void 3.2.2008, 16:25 отсутствует терминальная ветвь.
> (all 'atom '(5 6 4 58 8)) T > (all 'atom '(5 6 (4 58) 8)) NIL |
|||
|
||||
| Joil |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 211 Регистрация: 24.1.2008 Репутация: нет Всего: 8 |
Еще раз огромное спасибо.
--------------------
Who had deceived thee so often as thyself? © Benjamin Franklin--------------------Always bear in mind that your own resolution to succeed is more important than any other. © Abraham Lincoln--------------------If you need it - do it, if you want it - take it! © ... |
|||
|
||||
| Aristotelb |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 23.3.2007 Где: Саратов Репутация: нет Всего: 5 |
Вот еще одно более изящное решение:
> (all atom (a b c c)) T >(all atom (a (b c) c)) NIL |
|||
|
||||
| VH_ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 31.10.2006 Репутация: 1 Всего: 11 |
В задании указано
«...Напишите функцию (all p x)...» |
|||
|
||||
| Aristotelb |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 23.3.2007 Где: Саратов Репутация: нет Всего: 5 |
Виноват
|
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |