0

リストの中央値と別の平均値を見つけることができる基本的なスキーム手順を書く必要があります。

これは私がこれまでに思いついたものです:

平均:

(define (mean lst)
   (if (null? lst) ()
       (+ 1 (car lst) (mean (cdr lst))))

長さをどこかで分割する必要があることはわかっていますが、その方法がわかりません。これに対する私の思考プロセスは、各要素をリストのスタックに追加してから、リストの長さを分割することですか?

中央値:

中央値のどこから始めればよいかわかりません。リストに含まれる要素の数が奇数か偶数かを判断する必要があることはわかっています。

(define (median lst)
  (if (integer? (/ (length lst) 2)  ;which is the one for even

リストの真ん中に行くために別の手順が必要かどうかわかりませんか?

4

1 に答える 1

1

median手順については、ここですでに説明しました

の計算meanは簡単です。すべての要素を足してリストの長さで割るだけです。注意すべき唯一の特別なケースは、リストが空の場合です (これはゼロによる除算につながるためです: 長さがゼロです!)。 、これを示す適切な値を返します。

ここまでで、すべての要素をリストに追加する方法を確実に理解できたはずです。不明な点がある場合はインストラクターに確認してください。ただし、これは基本的な操作であり、問​​題にはなりません。

于 2013-10-28T20:40:31.080 に答える