質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
LISP

LISPはプログラミング言語の一種であり、関数型言語に分類されています。 特徴として、括弧を多様する独特の構文を持ちます。

Q&A

1回答

1414閲覧

Lisp プログラムの質問です

addsa

総合スコア0

LISP

LISPはプログラミング言語の一種であり、関数型言語に分類されています。 特徴として、括弧を多様する独特の構文を持ちます。

0グッド

0クリップ

投稿2021/05/23 16:48

編集2021/05/23 16:51

Lisp プログラムの質問です。自分のプログラムだと、エラーが出ます。どこが間違っているでしょうか?

実数係数の 2次方程式ax2+ bx+c=0の解を計算する関数を作成する問題です。

判別式を利用して, 2つの異なる実数解を持つ時には, (解1 解2)のように小さい順に解を並べたリストを返す.重 複解を持つ時には,(JUUKAI 解)を返す.実数解を持た ないときには,JISSUUKAI-HA-NASHIを返す.

実行例

(niji-kai 1 -1 -2) (-1.0 2.0)
(niji-kai 1 -2 1) (JUUKAI 1.0)
(niji-kai 1 1 1) JISSUUKAI-HA-NASHI

自分のプログラム
(defun niji-kai (a b c) (if< 0 (- (* b b) ( * 4 a c ) )) ((/ (+ (- b) (sqrt (* 4 a c))) (* 2 a) ) (/ (- (- b) (sqrt (* 4 a c))) (* 2 a)) )
if(= 0 (- (* b b) ( * 4 a c ) ) ) (JUUKAI (/ -b 2a) ) (if> 0 (- (* b b) ( * 4 a c ) )) JISSUUKAI-HA-NASHI )

)

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Emacs Lispしか使ったことがないので的を外しているかもしれませんが…

感想として

  • (if< 0って何?
  • (if> 0って何?
  • (解1 解2)ではlistが作れないのでは?

という感じです。
解の例としては次のような感じでしょうか?

lisp

1(defun niji-kai-example (a b c) 2 (let ((b2-4ac (-(* b b) (* 4 a c))) 3 (a2 (* 2 a))) 4 (if (> b2-4ac 0) 5 (list (/ (- (- b) (sqrt b2-4ac)) a2) 6 (/ (+ (- b) (sqrt b2-4ac)) a2)) 7 (if (= b2-4ac 0) 8 (list 'juukai (/ (- b) a2)) 9 'jissukai-ha-nashi))))

投稿2023/06/11 02:18

ujimushi_sradjp

総合スコア2152

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問