IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Основа работы с Лиспом, Реализовать две пользовательские функции UF1 и UF2
сообщение
Сообщение #1


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Реализовать с поощью средств Лиспа две пользовательские функции UF1 и UF2. Связать с символлом UFR двухэлементный список, элементами которого будут результаты вычисления соотвественно первой и второй пользовательской функций, полученные при произвольном значении их аргументов. Связать с символом х1 список, обратный списку UFR; с символом х2 - длину списка UFR, а с символом х3 - результат сложения элементов списка UFR.

UF1(x)=3e*e + sin(x-pi*pi );
UF2(x)= tg(x)*ctg(x+pi/2)----это выражение полностью под знаком корня.

вот код проги но выходит ошибка unbound variable - E --не понимаю в чем дело..

(defun uf1 (x)
(+ (* 3 e e)
(sin (- x (* pi pi)))))


(defun uf2 (x)
(sqrt
(/ (tan x)
(tan (+ x (/ pi 2))))))


(defun TOufr (x y)
(setq ufr (list (eval(uf1 x)) (eval(uf2 y))))

)

(defun x1x2x3 ()
(setq x1 (reverse ufr))
(setq x2 (length ufr))
(setq x3 (+ (nth 0 ufr) (nth 1 ufr)))
)

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Где у тебя описана переменная е? Может быть, имелось в виду основание натурального логарифма (то, которое = 2.718 ... ну, там еще много цифр)? Так это не переменная, а функция... expt называется...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


вот переделал..щас ошибка не выходит, но ответ

> (uf1 2)
21.0324
> (uf2 2)
#C(0.0 2.18504)----------сдесь подозрительный ответ.в чем дело не понимаю(

сам код

  (defvar e 2.71)
(defun uf1 (x)
(+ (* 3 e e) (sin (- x (* pi pi)))))

(defun uf2 (x)
(sqrt (/ (tan x) (tan (+ x (/ pi 2))))))

(defun TOufr (x y)
(setq ufr (list (eval(uf1 x)) (eval(uf2 y))))
)
(defun x1x2x3 ()
(setq x1 (reverse ufr))
(setq x2 (length ufr))
(setq x3 (+ (nth 0 ufr) (nth 1 ufr)))
)

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.03.2024 16:10
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name