1
Я очень новичок в lisp, и я работаю над базовым синтаксисом. Я пытаюсь преобразовать:
r1 = (-b + sqrt (b^2 - 4 * a * c))/(2 * a)
в формате Lisp. Единственная проблема, я думаю, что у меня есть то, что я не могу получить lisp, чтобы распознать -b как отрицательное значение моего символа b. Это то, что я так далеко от LISP строки:Предоставление символа отрицательного значения в lisp
[17]> (setq a 1L0)
1.0L0
[18]> (setq b -1L0)
-1.0L0
[19]> (setq c -1L0)
-1.0L0
[20]> (setq r1 (+ (/ (sqrt (- (power b 2) (* (* 4 a) c))) (* 2 a)) -b))
*** - EVAL: variable -B has no value
The following restarts are available:
USE-VALUE :R1 You may input a value to be used instead of -B.
STORE-VALUE :R2 You may input a new value for -B.
ABORT :R3 Abort main loop
Хорошо спасибо, потому что сначала я установил другой символ -b равным 1L0, просто чтобы свести на нет b. Это сработало, но ответ, который я получил, был не таким, как ответ, который я получил, когда я подключил все к моему калькулятору TI. Также получая тот же ответ, что я использовал (- b), как когда я устанавливал -b, чтобы отрицать b. Правильно ли мой синтаксис для установки r1? – DLR
Попробуйте (/ (- (sqrt (- (expt b 2) (* 4 a c))) b) (* 2 a)) – uselpa
Это сработало! Благодаря! Хотя мне нужно было сделать b отрицательным в вашем методе, но большое вам спасибо! – DLR