Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Организация рекурсивных вычислений в XLisp. Организация итерационных вичислений. 
:(
    Опции темы
Друня
Дата 4.5.2010, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем привет! Помогите пожалуйста реализовать средствами Lisp рекурсивную функцию UFunc для этого задания---->составить список из n+1 первых положительных чисел, кратных трем( Исследовать возможность применения функции print для получения отладочной информации в процессе выполнения отдельного рекурсивного вызова функции.Записать результат выполнения функции UFunc В файл outdata.txt.


Но для выполнения этого задания необходимо использовать след системные функции..
1)Задание локальных символов: let;
2)Условные предложения и логические функции: cond, if, when, unless, and, or, not.
3)Отладка(трассировка вызова)рекурсивныз функций: trace, untrace.
4)Работа с потоками: open, read, print, close.


Сделали, но я не понимаю как она работает(можете код проги прокомментировать?)...и как её запускать..есть не которые не доработки вот к примеру результат выполнения функции UFunc в файл не сохраняет..вернее даже не реализовано, помогите пожалуйста исправить(((

вот код
Код

CL-USER> (defun ufunc (n base &optional acc)           
(if (< n 1)               
acc               
(ufunc (- n 1) base (cons (* n base) acc))))
UFUNC
CL-USER> (ufunc 10 3)
(3 6 9 12 15 18 21 24 27 30)
CL-USER> (trace ufunc)
(UFUNC)
CL-USER> (ufunc 10 3)  
0: (UFUNC 10 3)    
1: (UFUNC 9 3 (30))      
2: (UFUNC 8 3 (27 30))        
3: (UFUNC 7 3 (24 27 30))          

4: (UFUNC 6 3 (21 24 27 30))            
5: (UFUNC 5 3 (18 21 24 27 30))              
6: (UFUNC 4 3 (15 18 21 24 27 30))               
 7: (UFUNC 3 3 (12 15 18 21 24 27 30))                 
 8: (UFUNC 2 3 (9 12 15 18 21 24 27 30))                    
9: (UFUNC 1 3 (6 9 12 15 18 21 24 27 30))                      
10: (UFUNC 0 3 (3 6 9 12 15 18 21 24 27 30))                      
10: UFUNC returned (3 6 9 12 15 18 21 24 27 30)                    
9: UFUNC returned (3 6 9 12 15 18 21 24 27 30)                  
8: UFUNC returned (3 6 9 12 15 18 21 24 27 30)                
7: UFUNC returned (3 6 9 12 15 18 21 24 27 30)              
6: UFUNC returned (3 6 9 12 15 18 21 24 27 30)            
5: UFUNC returned (3 6 9 12 15 18 21 24 27 30)          
4: UFUNC returned (3 6 9 12 15 18 21 24 27 30)       
 3: UFUNC returned (3 6 9 12 15 18 21 24 27 30)      

2: UFUNC returned (3 6 9 12 15 18 21 24 27 30)    
1: UFUNC returned (3 6 9 12 15 18 21 24 27 30)  
0: UFUNC returned (3 6 9 12 15 18 21 24 27 30)
(3 6 9 12 15 18 21 24 27 30)
CL-USER>


Это сообщение отредактировал(а) Друня - 4.5.2010, 17:33
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума LISP
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Lisp — это целое семейство языков. Всегда указывайте в теме используемый диалект (Common Lisp, Scheme и т.д.).
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

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

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


 




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


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

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