2023-07-26から1日間の記事一覧

暇シリーズ

問題 1.46 (define (average x y) (/ (+ x y) 2)) (define tolerance 0.00001) (define (close-enough? v1 v2) (< (abs (- v1 v2)) tolerance)) (define (iterative-improve improve enough? first-guess) (define (iter guess) (let ((next (improve guess)…

なりたいの?

news.yahoo.co.jp よし、じゃあ Scheme を勉強しよう。Scheme はとてもコンパクトな言語なので、すぐ覚えられるよ。R5RS という Scheme 言語の仕様書に設計思想が書かれているので紹介しよう。 プログラミング言語の設計は,機能の上に機能を積み重ねること…

暇シリーズ

暇すぎて復習が捗りすぎぃw問題 1.45 (define nil '()) (define (average x y) (/ (+ x y) 2)) (define (square x) (* x x)) (define (enumerate-interval low high) (if (> low high) nil (cons low (enumerate-interval (+ low 1) high)))) ;; (define to…

暇シリーズ

まとめて解答していく!問題 1.41 (define (inc n) (+ n 1)) (define (double f) (lambda (x) (f (f x))))問題省略、解説省略。 gosh> (((double (double double)) inc) 5) 21double で 2 回 これを double で 4 回。 これをさらに double なので 16 回。 5 …

暇シリーズ

問題1.40 newtons-methodの手続きと一緒に (newtons-method (cubic a b c) 1)の形の式で使い、三次式 x3 + ax2 + bx + c の零点を近似する手続き cubic を定義せよ。本文に、 変換 x → g(x) が微分可能な関数であれば、方程式 g(x) = 0の解は である。 とあ…