> 1 <
Автор | Сообщение |
studenttt
7 сообщений |
#6671 2012-10-19 22:58 GMT+3 часа(ов) |
Помогите пожалуйста с функциональным программированием, в частности MuLisp
1. Напишите функцию такую, что A(n) есть список (The answer is n). Так, значением (A 12) будет (The answer is 12); 2. Для каждого из следующих условий определить функцию одного аргумента L , которая имеет значение T, если условие удовлетворяется, и NIL в противном случае: L имеет не более n элементов (атомов или подсписков). 3. Составить список студентов(10 человек). И написать функцию, которая спрашивает у пользователя ФИО студента из группы и выдает следующие данные о нем: год рождения; средний бал; родителей; |
|
studenttt
7 сообщений |
#6672 2012-10-19 23:53 GMT+3 часа(ов) |
3 не надо
|
|
Aoloa
37 сообщений |
#6673 2012-10-20 04:12 GMT+3 часа(ов) |
Вам этот MuLisp нужен?
Цитата Где можно достать какую-то информацию о нём? Вообще, Ваши задачи очень простые. Например, на Scheme первое задание будет выглядеть (define (A n) `(The answer is ,n)), на Common Lisp’е — (defun A (n) `(The answer is ,n)) (правда, ответ в Common Lisp’е будет большими буквами). Но чтобы написать функцию на MuLisp'е, надо знать его особенности — где о них можно поитать? Во втором задании непонятка: написано, что функция должна быть одного аргумента, а в описании аргументов два (список и n). |
|
With iTeX* your entire life can be encapsulated into a dynamic hyperdocument, downloadable by anybody you designate (Donald E. Knuth, An Earthshaking Announcement)
|
|
studenttt
7 сообщений |
#6674 2012-10-20 11:44 GMT+3 часа(ов) |
вот здесь http://w.comlib.ru/box/8/pro/1113/index6.1.html в принципе на всех сайтах одно и тоже
1 задание я так и сделала, но сомневалась) спасибо большое! а 2 полностью звучало так: Для каждого из следующих условий определить функцию одного аргумента L , которая имеет значение T, если условие удовлетворяется, и NIL в противном случае: n-ый элемент L есть 12; n-ый элемент L есть атом; L имеет не более n элементов (атомов или подсписков). 2 случая мне удалось сделать, а 3-й не понимаю как. |
|
Aoloa
37 сообщений |
#6675 2012-10-20 16:11 GMT+3 часа(ов) |
В Scheme и Common Lisp'е есть функция (length список), которая возвращает длину списка.
НО! Здесь по логике функция принимает два аргумента — список L и число n. Если функция одного аргумента и принимает список — то откуда берётся n? Это глобальная переменная, что ли? На тех лиспах, которые я знаю, решение выглядело бы так (я считаю, что n — глобальная переменная) ;; Scheme: Как это будет на MuLisp’е — не знаю. |
|
With iTeX* your entire life can be encapsulated into a dynamic hyperdocument, downloadable by anybody you designate (Donald E. Knuth, An Earthshaking Announcement)
|
|
studenttt
7 сообщений |
#6677 2012-10-21 12:49 GMT+3 часа(ов) |
спасибо за помощь!)
|
|
vilkas
3 сообщений |
#6704 2012-10-28 13:57 GMT+3 часа(ов) |
помогите пожалуйста с задачей на AutoLisp решать начала но недоганяю как цикл создать!
Код следующий: (defun P2() (setq f(getstring "Введите список:")) (setq f(read f)) (setq s(getstring "Введите уровень:")) (setq s(read s)) (if (= s 0) (foreach a f (if (listp a) (setq n(length a)) ) ) ) (if (> s 0) (setq n 0) (while(n <= s) (progn (setq L ()) (foreach a f (if (listp a) (setq L(append L a)) (princ n) (princ) ) То что жирным и нужно запихнуть в цыкл, |
|
> 1 <