2015-11-01から1ヶ月間の記事一覧

プログラミングの基礎:8.1〜8.3

8.1 レコードの必要性 レコードとは名前のついたデータの集まりである 8.2 レコードの構文 レコードの構文 { 名前1 = 値1 ; 名前2 = 値2; ・・・ }レコードの中で使う名前をフィールドと呼ぶ。レコードの例 { name = "asai" ; tensuu = 70; seiseki = "B" }…

コードリーディング:1.1.4進化

他人が書いたプログラムに新しい機能を追加する場合、最初にすべきことは 類似した機能が書かれている部分を探し出して、それを追加したい機能の テンプレートにすることである。

プログラミングの基礎:7.3 構造データに対するデザインレシピ

構造を持つデータを扱うときにはデザインレシピの4項目に 新しい項目「テンプレート」を「本体」の前に加える。入力が構造データの場合は、その中身を取り出すmatch文を作る入力データの型が定まるとそこから必然的に決まってくる関数本体の形 のことをテン…

プログラミングの基礎:7.2パターンマッチ

複数のデータからできているデータの中身を取り出すには パターンマッチを使う。 match 式 with パターン -> 式例 match (3, 5) with (a, b) -> a + b (a, b)が値の組を表すパターンで、ここにでてくるaとbをパターン変数と呼ぶ。 上の例では(3, 5)が(a, b)…

プログラミングの基礎:7.1 組の構文

組とはいくつかのデータを並べてひとつのデータにしたものである。 以下のように表現する (3.14, 2.71) 組の型は要素の型を*でつないだものになる。 例えば上の(3.14, 2.71)の型は float * float になる。組は違う型の要素をならべてもかまわない。 (3,true)…

プログラミングの基礎:問題5.4〜5.6解答

(* 問題5.4 *) (* 目的: 2次方程式の係数a,b,cが与えられたら判別式の値を返す *) (* hanbetsushiki : float -> float -> float -> float *) let hanbetsushiki a b c = b ** 2.0 -. 4.0 *. a *. c (* テスト *) let test1 = hanbetsushiki 1.0 5.0 4.0 = 9.…

プログラミングの基礎:問題5.2解答

(* 目的 :受け取った時間xが午前か午後かを計算する *) (* jikan : int -> string *) let jikan x = if x >= 12 then "午後" else "午前" (* テスト *) let test1 = jikan 0 = "午前" let test2 = jikan 12 = "午後" let test3 = jikan 13 = "午後"

読書メモ:読書術

タイトル:読書術 著者: 加藤周一 英語で書かれた専門書より英語で書かれた文学書のほうが難しい。

コンピュータシステムの理論と実装:シンボルフリー版のアセンブラ完成

シンボルフリー版のアセンブラ完成しました。 簡単にプログラムの説明を書いておきます。 A=1 M=Dと書かれたファイルがあるとする。 このファイルをread-asmで読み込むと ("A=1" "M=1")のようなリストが返されます。 その次に1個ずつ要素を、string->list関…

プログラミングの基礎:問題4.7解答

(* 目的:鶴の数xと亀の数yに応じて足の数の合計を計算する *) (* tsurukame_no_ashi : int -> int -> int *) let tsurukame_no_ashi x y = tsuru_no_ashi x + kame_no_ashi y (* テスト *) let test1 = tsurukame_no_ashi 1 1 = 6 let test2 = tsurukame_no_…

プログラミングの基礎:問題4.6解答

(* 目的:鶴の数xに応じて足の本数を計算する *) (* tsuru_no_ashi : int -> int *) let tsuru_no_ashi x = x * 2 (* テスト *) let test1 = tsuru_no_ashi 1 = 2 let test2 = tsuru_no_ashi 10 = 20 let test3 = tsuru_no_ashi 20 = 40 (* 目的:亀の数xに応…

読書メモ:食の世界地図

タイトル:食の世界地図 著者:21世紀研究会編

読書メモ:色彩の世界地図

タイトル:色彩の世界地図 著者: 21世紀研究会編 今のサンタクロースのイメージは、コカコーラの広告からだったのか

プログラミングの基礎:問題4.2〜4.4

問題4.2 let jikoshokai name = "I am " ^ name 問題4.3 let hyojun_taiju m = m ** 2.0 *. 22.0 問題4.4 let bmi m kg = kg /. (m ** 2.0)

読書メモ:グーグル検索だけでお金持ちになる方法

タイトル:グーグル検索だけでお金持ちになる方法 著者:午堂登紀雄積極的に検索してお金持ちになろう