> 1 <

Автор Сообщение

dro

Members


Статус

1 сообщений

Где: Russia
Род занятий:
Возраст:

#4465   2011-06-13 22:55 GMT+3 часа(ов)      
Добрый день.
Начинаю изучать лисп.
Есть задание Определите функцию вычисляющую корни квадратного уравнения.

Корни квадратного уравнения рассчитываются по формуле

x1=(-b+2*sqrt(b*b-4*a*c)) / (2*a);
x2=(-b-2*sqrt(b*b-4*a*c)) / (2*a);

Пишу решение

(defun kvadratur (a b c)
(/ ((+(-b) (* 2 ((sqrt (- (* b b) (* 4 a c))))))) (* 2 a))
)

Вроде бы по логике все верно, однако ж ошибка.
Подскажите, что не верно?

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#4466   2011-06-14 01:19 GMT+3 часа(ов)      
конструкция (/ ((+ и т.д. неверная, две открывающие скобки подряд
(defun kvadratur (a b c)
(/ (+ (- b) (* 2 (sqrt (- (* b b) (* 4 a c))))) (* 2 a)))

и откуда там 2 * sqrt...?
и функция (/ A (* B C)) === (/ A B C)
и (-b) поменять на (- b)
типа того
(defun kvadratur (a b c)
(/ (+ (- b) (sqrt (- (* b b) (* 4 a c)))) 2 a))

или даже так
(defun foo (a b c)
(let ((d (sqrt (- (* b b) (* 4 a c)))) (a2 (* 2 a)))
(values (/ (- d b) a2) (/ (- (- b) d) a2))))
I wish I'd made you angry earlier
> 1 <


Онлайн :

0 пользователь(ей), 53 гость(ей) :