[抱負]

と言う訳で、今年の抱負2「ダブルクロスの達成値の平均値を求めるプログラムをschemeで書く」です。

とりあえず、いきなりそんなん無理なので、習作プログラムから。

;; リストの長さを求める
(define (mylen l)
  (if (null? l)
	  0
	  (+ 1 (mylen (cdr l)))))
(mylen '(0 1 2))

;; リストの合計を求める
(define (mysum l)
  (if (null? l)
	  0
	  (+ (car l) (mysum (cdr l)))))
(mysum '( 0 1 2 3))

;; リストの平均値を求める
(define (myavr l)
  (/ (mysum l) (mylen l)))
(myavr '( 0 1 2 3))

;; 階乗を求める
(define (myfact x)
  (if (= x 0)
	  1
	  (* x (myfact (- x 1)))))
(myfact 5)

とりあえず、まだまだなんですが、
(myavr '(1 2 3 4 5 6 7 8 9 10))
で「能力値1、技能0、クリティカル無し」の時の平均値を算出できるのです。
(ダメダメじゃんか。)
ちなみに5.5でした。あってる気がします。