| ホーム > 『プログラマの数学』 | 検索 | 更新情報 |
| 読者の声 | 数学ガール |
|
『プログラマの数学』は、プログラミングに助けとなる「数学的な考え方」を学ぶ本です。
わかりやすい説明、たくさんの図、楽しいクイズやパズルを通して、
プログラミングに役立つ「数学的な考え方」を学びましょう。
こんにちは、結城浩です。 ここは、私の本 『プログラマの数学』 のサポートページです。
「数学」というと、めんどうな数式がたくさん出てきて頭が痛くなる人が多いかもしれません。 興味はあるんだけれど、一つ一つの数式を追うのが嫌で、ついつい毛嫌いしてしまう人もいるでしょう。 「プログラムを書くのに、数学なんていらないしな」と思うプログラマもいるでしょうか。
本書は、定義や証明で埋め尽くされている数学の専門書ではありません。 プログラミングをするのに役に立つ「数学的な考え方」を理解するための本です。
数式はあまり出て来ず、クイズやパズルで楽しみつつ学びます。 また、たくさんの図版を通して抽象的なイメージもつかみやすくしてあります。
ぜひ、本書を通して「数学的な考え方」を学んでください。
『プログラマの数学』は、 プログラミングに役立つ「数学的な考え方」を学ぶ入門書です。
タイトルが示すように、本書の主な対象読者はプログラマですが、 実際にコードを書くプログラマだけではなく、 論理的な考え方や離散数学的な感覚を必要とするシステムエンジニア(SE)にも、 有意義な本です。 C言語風の例が2, 3出てきますが、 読むために特定のプログラミング言語の知識は不要です。
また、ITの分野に直接かかわりがない方でも、 数学に興味を持つ方、知的好奇心を持っている方なら どなたでも楽しめるように書きました。
本書は、定義や証明で埋め尽くされている数学の専門書ではありません。 読者をしりごみさせるような難しい数式はいっさい出てきません。 前提とする知識は+−×÷だけです。 ちょっと踏み込んだ内容(累乗・階乗・対数など)に触れるときには、 必ずていねいな解説を行っています。 シグマや積分記号はまったく出てきません。
難しい数式の代わりに、わかりやすい図がたくさん出てきます。 たくさんの図を通して抽象的なイメージもつかみやすくなっています。
また、各章には、クイズやパズルもたくさん出てきます。 でも、単におもしろおかしいクイズ・パズルの本ではありません。 問題を通して、楽しみながら「数学の考え方」をしっかり学べるようになっています。
内容も決して「いいかげん」なものではありません。 数学的にも「嘘」はなく、また、現代の情報科学や計算機科学を学ぶ上で 常識として身につけるべき内容をカバーしています。
本書は、高校や大学の情報・数学系の参考書としての役割も果たせると、 自信をもってお勧めできます。 「数学に関心を持ってもらう呼び水」として用いることができるでしょう。 本書を読んでくださった高校や大学の先生からは 「非常に面白い」「学生に読ませたい」 「考えることの楽しさを味わえるので、近年の「理数系離れ」にも役立ちそう」 といったコメントをいただいています。
本書を通して、 数学が持つ美しさと楽しさの一端に触れてもらえれば、 著者としてこれ以上の喜びはありません。
『プログラマの数学』 結城浩 著, ソフトバンクパブリッシング刊, 272ページ, ISBN4-7973-2973-4, 税込価格 2,310円, (本体 2,200円), 2005年.
10進法 / 2進法 / 位取り記数法 / 指数法則 / 0の果たす役割 / 人間の限界と構造の発見
どうして論理が大切なのか / 網羅的で排他的な分割 / 演算子で複雑な命題を組み立てる / ド・モルガンの法則 / カルノー図 / 未定義を含む論理
曜日クイズ / オセロで通信 / 恋人探し / 畳の敷き詰め / 一筆書き
ガウス少年 / 数学的帰納法 / オセロクイズ / ループ・インバリアント
数えるとは / 植木算 / 数え上げの法則 / 置換 / 順列 / 組み合わせ
ハノイの塔 / 階乗 / フィボナッチ数列 / パスカルの3角形 / 再帰的な図形
倍倍ゲーム / バイナリサーチ / 対数 / 計算尺 / 暗号
背理法 / カウンタブル / 対角線論法 / 計算不可能な問題 / 停止判定問題
本書を振り返って / 問題を解くということ / ファンタジーの法則
2005-06-22 : 2版 : p.5 : Table 1-1 (読者からの指摘、感謝します)
誤:57 111101
正:57 111001
2005-05-06 : 1版 : p.197 : Fig. 7-14(読者からの指摘、感謝します)
誤:3+4=12
正:3×4=12
『プログラマの数学』の第6章に出てくる「再帰的な木」を描くJavaのソースコードです。
コンパイルと実行には、Java言語の処理系 (J2SE 5.0以降) が必要です。 zipファイルを展開後、以下のようにすると実行できます。
javac Tree.java java Tree
本書p.173に書かれている、パスカルの三角形を色分けするプログラムを作りました。 以下で動かすことができます(要Java)。
あなたのご意見・感想をお送りください。 あなたの一言が大きなはげみとなりますので、どんなことでもどうぞ。