Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Lisp] Очень надеюсь на вашу помощь в решении, Создать - написать функцию на Lisp. 
V
    Опции темы
odnagdi
Дата 15.5.2007, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.5.2007

Репутация: нет
Всего: нет



 Очень надеюсь на вашу помощь в решении задачи:


Создать функцию Remove которая, удаляет из списка все совподающие с данным атомом элементы и возвращает в качестве значения список из остатка элементов.


Написать функцию Substtitute которая заменяет все вхождения данного элемента в списке на новый элемент.


Заранее спасибо !
PM MAIL   Вверх
_sg
Дата 16.5.2007, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 16.5.2007

Репутация: нет
Всего: 2




Код


(defun drop (n w)
   (cond ((null w) nil)
         ((eql (car w) n) (drop n (cdr w)))
         ((cons (car w) (drop n (cdr w))))))


(drop 3 '(1 2 3))
(1 2)

Код


(defun sbst (n m w)
   (cond ((null w) nil)
         ((eql (car w) m) (cons n (sbst n m (cdr w))))
         ((cons (car w) (sbst n m (cdr w))))))


(sbst 2 3 '(1 2 3))
(1 2 2)





--------------------
vk.com/ansicommonlisp
PM MAIL   Вверх
odnagdi
Дата 17.5.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.5.2007

Репутация: нет
Всего: нет



Огромное спасибо! 

вот только еще разобраться в этом*(
а реально расписать ещё это что к чему,
и протестировать с разными значениями?



PM MAIL   Вверх
_sg
Дата 17.5.2007, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 16.5.2007

Репутация: нет
Всего: 2




Код

функция (drop) с двумя параметрами: атом (n) и список (w) 
если (cond) пустой (null) список (w) функция (drop) возвращает (nil)
если перв. эл-т списка (car w) равен (n) вызывается ф-я (drop) с параметрами: (n)  и список без перв. эл-та (cdr w)
при невыпол. 1 и 2 усл. присоед-ся (сons) первый эл-т (car w) к рез-ту вызова (drop) с пар-ми: (n)  и сп. без перв. эл-та (cdr w)


(drop 'c '(a c b c))
(A B)

Код

функция (sbst) с тремя параметрами: новый атом (n) старый атом (m) и список (w) 
если (cond) пустой (null) список (w) функция (sbst) возвращает (nil)
если перв. эл-т (car w) равен (m) присоед. (сons) нов. (n) к рез-ту вызова (sbst)  с пар.: (n) (m) и сп. без перв. эл-та (cdr w)
при невыпол. 1 и 2 усл. присоед-ся (сons) перв.эл-т (car w) к рез-ту вызова (sbst) с пар-ми: (n) (m) и сп. без перв. эл-та (cdr w)


(sbst 'a 'b '(b c b))
(A C A)

PM MAIL   Вверх
odnagdi
Дата 18.5.2007, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.5.2007

Репутация: нет
Всего: нет



во отличн. 

Огромное спасибо !!!! smile  smile  smile  smile  smile  smile  smile 
PM MAIL   Вверх
Dendick
Дата 20.1.2008, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.1.2008

Репутация: нет
Всего: нет



 smile 

Это сообщение отредактировал(а) Dendick - 3.2.2008, 21:37
PM MAIL   Вверх
MMMar
Дата 7.5.2008, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 5.5.2008
Где: Н.Новгород

Репутация: нет
Всего: нет



А обе эти функции рекурсивны????
PM MAIL   Вверх
adejneka
Дата 8.5.2008, 05:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 8.7.2005
Где: Москва, Россия

Репутация: 2
Всего: 11



2MMMar: Рекурсивная функция - функция, которая во время выполнения прямо или косвенно вызывает саму себя. Эти функции сами себя вызывают? Если с этим вопросом возникают сложности, другой вопрос: какие функции каждая из DROP и SBST вызывает?

Это сообщение отредактировал(а) adejneka - 8.5.2008, 05:06
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0460 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.