1

初心者の質問:これをラケットでどのように書きますか?

10x - 6 = 3x + 7

どこに置くかわからないのですが= 3x + 7

4

2 に答える 2

2

これを試して:

(= (- (* 10 x) 6)
   (+ (*  3 x) 7))

もちろん、値が以前にx変数に割り当てられていると仮定します。ここで、式が関数の一部として評価される場合(タイトルで示されているように)、次のようにします。

(define (test x)
  (= (- (* 10 x) 6)
     (+ (*  3 x) 7)))
于 2013-01-22T17:08:29.510 に答える
0

優先順位の数学的な慣習は、そのステートメントを次のようにグループ化します。

((10 * x) - 6) = ((3 * x) + 7)

数学では、式の途中に演算子を記述します:foo OP bar。しかし、Racketでは、演算子が最初に来ます:(OP foo bar)。したがって、ラケットの方法に一致するように各式をシャッフルするだけで、次のようになります。

((10 * x) - 6) = ((3 * x) + 7)   ;=> swap = and (10x - 6)
(= ((10 * x) - 6) ((3 * x) + 7)) ;=> swap - and 10x
(= (- (10 * x) 6) ((3 * x) + 7)) ;=> swap * and 10
(= (- (* 10 x) 6) ((3 * x) + 7)) ;=> swap + and 3x
(= (- (* 10 x) 6) (+ (3 * x) 7)) ;=> swap * and 3

(= (- (* 10 x) 6) (+ (* 3 x) 7)) ;=> done

演算子が最初になるように式を再配置したので、有効なRacket式ができました。

于 2013-01-28T17:00:43.967 に答える