2010-05-07から1日間の記事一覧
【問題】 問題 2.18 の手続き reverse を修正し、引数としてリストをとり、要素を逆順にし、更に部分木も奥まで逆順にする手続き、deep-reverse を作れ。 例えば (define x (list (list 1 2) (list 3 4))) x ((1 2) (3 4) ) (revese x) ((3 4) (1 2) ) (deep…
【問題】 x と y をリストとして定義したとしよう。 (define x (list 1 2 3)) (define y (list 4 5 6)) 次の式のそれぞれの評価に応じて、解釈系が印字する結果は何か。 (append x y) (cons x y) (list x y) 【解答】 append はリストのトップレベルの要素を…
【問題】 次のそれぞれのリストから、7を取り出す car と cdr の組み合わせを書け。 ① (1 3 (5 7) 9) ②((7)) ③ (1 (2 (3 (4 (5 (6 7)))))) 【解答】 普通に解いてみる。 ;①について (define lis1 '(1 3 (5 7) 9)) (car (cdr (car (cdr (cdr lis1))))) ;②に…