Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

2008-01-01から1年間の記事一覧

perms

昨日に引き続き,「珠玉のリスト・プログラミング」に取り組みました。なんとか2問解けたので,3問目に挑戦です。3問目はこんな問題です。 与えられたリストの順列を生成する関数 perms 関数permsを実装する際,関数interleaveを使用するので,昨日,作成し…

subs, interleave

「珠玉のリスト・プログラミング」で,3つの問題が出題されています。 Schemeを勉強中なので,挑戦してみようと思います。自己流で書いているので,書き方でまずいところがたくさんあると思います。lisperの方々のコメントがいただければ幸いです。まず,1問…

コラム8

『珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造』のコラム8は「アルゴリズムデザインのテクニック」です。 その中で,以下のような問題がありました。 今,n要素の浮動小数点数の配列xを入力とし,配列xの連続した要素(部分配列)でその和が…

昨日のつづき…

昨日は,『珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造』で紹介されていた以下の問題を 要素がn個ある配列を左方向にi要素分回転させるにはどうすればよいでしょう。例えば,n = 8でi = 3のとき,配列abcdefghをdefghabcにする回転です。(…

お手玉方式と逆転方式

本棚にずっと立て掛けてあった『珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造』を少し読んでみました。その中で,以下のような問題がありました。 要素がn個ある配列を左方向にi要素分回転させるにはどうすればよいでしょう。例えば,n = 8…

よかった探しリース

【左手】よかった探しリース【右手】今年もよかった探しに参加させていただきます。今年の良かったことといえば… 家族が健康で1年間過ごせたこと。 『数学ガール フェルマーの最終定理 (数学ガールシリーズ 2)』のレビューアとして参加できたこと。 MacBook…

Yコンビネータ

相変わらず,Yコンビネータについては理解できていないのですが,昨日に引き続き,Rubyの学習もかねて,Schemeで書かれたYコンビネータをRubyで書くことに挑戦しました。 http://d.hatena.ne.jp/kazu-yamamoto/20080402/1207127522 でYコンビネータは,以下…

10章分の9章(後半)

今日は、『The Little Schemer』の Chapter 9 ...and Again, and Again, and Again, ... の後半(p160〜)を読んでいます。 今まで,何とか読み進めることができたのですが,難所に差し掛かってきました。Yコンビネータは難しいです…。 以下を参考に理解しよう…

H20年度秋期基本情報合格状況

H20年度秋期の基本情報技術者試験の合格状況を調べてみました。高校生の合格状況を県別で集計しています。 H20年度春季の結果は,こちらです。 高校生の基本情報技術者試験合格者数(都道府県別) 31 岐阜県 24 愛知県 19 静岡県 16 宮崎県 13 鹿児島県 13 埼…

熊本へ

マイコンカーラリー九州地区大会のため熊本へ。予定より早く着いたので,母校(熊本大学)に寄ってみました。久しぶりに来てみたのですが,工学部や理学部があるキャンパスは新しい建物が増えていて,全く昔の風景とは違っていました。そんな中,1号館や9号…

マッカーシーの91関数

最近,Schemeを勉強するようになって再帰にハマっています。今日は,マッカーシーの91関数です。いろんな再帰関数があるんですね。 def McCarthy91(n) if n > 100 return n - 10 else McCarthy91(McCarthy91(n + 11)) end end puts McCarthy91(ARGV[0].to_i)…

10章分の9章(前半)

今日は、『The Little Schemer』の Chapter 9 ...and Again, and Again, and Again, ... の前半(p149〜159)を読みました。 面白かったり,難しかったりするのですが, (define last-try (lambda (x) (and (will-stop? last-try) (eternity x)))) のとき,(wi…

8.04 LTS => 8.10 Upgrade

Ubuntu 8.04 LTSから8.10にアップデートしました。以下を参考に簡単にアップグレードできたのですが,ネットワークに接続できなくなってしまいました。 http://www.ubuntulinux.jp/getubuntu/upgrading 環境は,MacOSX + VMware Fusion 1.1.1です。open-vm-t…

親子登山

娘と親子登山に行ってきました。ここに来て3年目ですが,過去2回は奥さんが登っていたので今年が初チャレンジです。標高1000mちょっとの山ですが,急な登山道を登っていきます。日頃の運動不足を痛感しました。山頂から見下ろす景色は絶景でした。 夜は,地…

コラッツ予想

コラッツ予想です。 def collatz(n) puts n return if n == 1 if n % 2 == 0 collatz(n / 2) else collatz(3 * n + 1) end end collatz(ARGV[0].to_i) 実行結果 mmasa@ubuntu:~/work/ruby$ ruby collatz.rb 10 10 5 16 8 4 2 1

10章分の8章(後半)

今日は、『The Little Schemer』の Chapter 8 Lambda the Ultimate の後半(p141〜)を読みました。Lambdaってすごいと思います。evens-only*は,リストから偶数だけを取り出す関数です。以下のように動作します。 gosh> (evens-only* '((9 1 2 8) 3 10 ((9 9)…

10章分の8章(前半)

今日は、『The Little Schemer』の Chapter 8 Lambda the Ultimate のP140まで読みました。これまで順調に読み進めたのですが,multirember&coは苦戦しました。じっくりと考えて,なんとか理解できたと思うのですが,これを自分で書くとなると多分書けないで…

スレッド間で通信する

逆引きRubyは,各項目についてまとめられており非常に有用なサイトです。 スレッドのところを読んだのですが,その中の「スレッドで通信する」とういうところで,以下のようなサンプルがあります。 require "thread" q = Queue.new t = Thread.new do loop d…

10章分の7章

今日は、『The Little Schemer』の Chapter 7 Friends and Relations を読みました。第7章は、集合演算の話です。本章ではset?から始まり,makeset, subset?, eqset?...と少しずつ実装していくのですが,読むときには,さっと答えを見るのではなく,自分で考…

10章分の6章

今日は、『The Little Schemer』の Chapter 6 Shadows を読みました。第6章は、式の評価の話などですが,最後の数の表現の話が面白かったです。普段,数をアラビア数字で表現していますが,括弧の数で数を表現したら以下のようになります。 gosh> (plus '(()…

10章分の5章

今日は、『The Little Schemer』の Chapter 5 *Oh My Gawd*: It's Full of Stars を読みました。少し複雑になってきましたが,なんとかまだ読めています(^^)。

10章分の4章

今日は、『The Little Schemer』の Chapter 4 Numbers Games を読みました。Numbers Gamesとあるように,加減乗除や不等号演算などを再帰を用いて,遊び感覚で説明してありました。楽しい章でした(^^)。 等号(=)の定義でも再帰が使われていたので,こんなと…

オープンソースソフトウェア(OSS)セミナー

以前からこの日を楽しみにしていました。というのも,オープンソースソフトウェア(OSS)セミナーで,まつもとゆきひろさんの講演が計画されていたからです。 Rubyに取り組むようになって2年くらいですが,まさか宮崎の地でまつもとゆきひろさんの講演を聞ける…

ホームレス中学生

夜,家にあった『ホームレス中学生』を何となく開いて読み始めたら,すぐに魅き込まれてしまい,あっと言う間に読み終えてしまいました。以前,話題になった本だよなぁと何となく手にとって読み始めたのですが,読んで良かったなぁと思います。常に周りへの…

10章分の3章

今日は、『The Little Schemer』の Chapter 3 Cons the Magnificent を読みました。第3章は,consと再帰についての学習でした。特に,再帰については丁寧に1ステップずつ読み解いています。 疑問点というわけではないのですが,例えば,第3章の最後にmultisu…

10章分の2章

今日は、『The Little Schemer』の Chapter 1 Toys Chapter 2 Do It, Do It Again, and Again, and Again ... を読みました。一問一答形式で,かつ短い英文で書かれているので,今のところはまだ理解できています…。

The Little Schemer

やっと『The Little Schemer』が届きました。ちょっとずつ読んでいきます…。

ruby-electric.elとanthy.el(解決)

9/16の日記で,ruby-electricとanthyの併用ができない件を書いたのですが,解決しました。id:rubikitchさんに教えていただきました。ありがとうございます。原因と解決策は以下の通りです。 一般にマイナーモードはロード順によって干渉しあう。以下のような…

ruby-electric.elとanthy.el

ruby-electricは非常に便利なのですが、anthyで日本語を入力するとき、Spaceキーを押しても日本語変換ができなくなってしまいました。日本語を扱うときは、ruby-electricの機能がoffになってくれるといいのですが…。 関係しそうな設定は以下です。 (load-lib…