2009-04-01から1ヶ月間の記事一覧
作文の授業などで読点の付け方が下手だと昔から言われていた。なので読点の打ち方のポイントをまとめてみることにする。教科書は「日本語の作文技術」の第4章の「句読点の打ち方」から。読点を打つ重要なポイントは2つ。 修飾語が複数ある場合 修飾語が長い…
コンピュータを体系的に学んでいくと、数学の考え方・問題解決力がほしくなってくる。でも数学は昔に根付いた苦手意識より勉強しづらいしなあと思っていたのだけれど、最近数学ガールやら読んでいたら段々楽しくなってきたので調べてみた。とりあえず自分の…
23日にUbuntu 9.04がリリースしたのでアップグレードしてみた。とりあえず大きな変化としては、 起動が若干速くなった ログイン画面がスマートになった が目についた。しばらく使ってみると、何回か画面がフリーズする現象が起きた。調べてみると、 Intelの…
前々からウィンドウ画面を使うアプリをインストールしたPCと、データ(MP3、JPG,TXT、etc…)を貯めておくデータストレージを分けて置きたいなあと思っていた。図にするとこのような感じ。 アプリケーション層(みたいな) ここの層では主に使うPCを置く。OS…
最近Twitter界隈でボードゲームをやっている方をちらほら見かけていて結構気になっていた。そういえば「MINDパフォーマンスHACKS」にも息抜きとかにボードゲームオススメって書いてあった。でもほとんどやったことないので色々調べてみた。ここに掲載したも…
今回の本には索引がついていたので、複数ページで紹介されていれば「一人が紹介」という形でカウントしています。基本的に読むのが重めの本が多いので、気軽に読めるマンガ版もあれば一緒に紹介しています。なお、二人にオススメされている本は冊数が多くな…
問題1.29 全然わからんのでパス 問題1.30 (define (sum term a next b) (define (iter a result) (if (> a b) result (iter (next a) (+ result (term a))))) (iter a 0)) 問題1.31 再帰プロセス版 (define (product a b term next) (if (> a b) 1 (* (term …
コツとしては「再帰式を積み上げる」感じで書くとうまくいくことが多いみたいです。問題はSICPとか数学の有名な漸化式の問題から拝借しました。 階乗計算 階乗を計算する手続きを、反復プロセスで定義せよ。再帰プロセス版は以下の通り。 (define (fact-recu…
ここの問題は、「手続きによる抽象の構築」というより、「アルゴリズムの設計と解析」と言う感じなので、1.3の「高階手続きによる抽象」まで飛ばすことにします。
問題1.11 とりあえず再帰プロセスの手続きを書いてみよう。 (define (f n) (if (< n 3) n (+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3)))))) これは定義式をそのまま書くだけので楽。で、実行結果はこうなった。 gosh> (f 3) CALL f 3 ----------f(n -…
問題1.9 以下の手続きを考える。 (define (+ a b) (if (= a 0) b (inc (+ (dec a) b)))) (define (+ a b) (if (= a 0) b (+ (dec a ) (inc b)))) 一つ目の手続きを置き換えると (inc (+ (dec 4) 5)) (inc (inc (+ (dec 3) 5))) (inc (inc (inc (+ (dec 2) 5)…
問題1.6 新たに手続き「newif」を定義して実行すると、解釈系は「newif」を普通の手続きとして処理する。 解釈系は作用的順序の (good-enought? guess x) guess (sqrt-iter (improve guess x) x) newif 順で処理することになる。「new-if」の三番目の引数の…