ダブルクロスの達成値の平均値を求めるプログラムをschemeで書く、です。
次はリストの中の最大値を求めます。

(define (my-max l)						; l は引数。リスト
  (let ((n (car l))						; n はリストの先頭要素
		(m (cadr l))					; m はリストの二番めの要素
		(rest (cddr l)))				; rest はのこり
	(if (null? rest)					; rest がnullで
		(if (> n m)						; n の方が大きければ n を 
			n							;
			m)							; そうでなければ m を返す
		(if (> n m)						; n が m より大きければ n と rest を連結して再帰
			(my-max (cons n rest))
			(my-max (cons m rest))))))	; そうでなければ m と rest を連結して再帰
(my-max '(1 2 3 4 5 6 7 8 9 10))
;=> 10

これで、振ったダイスのリストを求めれば最大の出目が求められる訳です。
途中でわからなくなってきたので、コメント付けました。