理系学生日記

おまえはいつまで学生気分なのか

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

人のためになる仕事

人のためにならない仕事があるの?

問題2-48 (2.2.4 Example: A Picture Language)

webにおけるSICP(笑)への流れが。。流れが。。 (define (make-segment start-point end-point) (cons start-point end-point)) (define (start-segment segment) (car segment)) (define (end-segment segment) (cadr segment))

毎ナビのEXPO行ってきた

内定先企業からhelpしてくれとか言われて、毎日就職EXPOに行ってきたのでした。拡大地図を表示インテックス大阪とか行ったことなかったんですが、zepp大阪の近くでしたよ。zepp大阪にももちろん行ったことはない。 理系学生ばっかし集まるイベントで、ぼくは…

問題2-47 (2.2.4 Example: A Picture Language)

まず (define (make-frame origin edge1 edge2) (list origin edge1 edge2)) に対する選択子がこれ。 (define (get-origin frame) (car frame)) (define (get-edge1 frame) (cadr frame)) (define (get-edge2 frame) (caddr frame)) 次に (define (make-fram…

ぼくの理想の通信

身近な人には何回も言ってるんですけど、ぼくは携帯電話によるメールのやり取りというのが相当嫌いです。 メールを携帯電話で打つ僕は、なんかもう一文うつのにぼくは何回ボタンを押すんだこれみたいな感じで、それはもう不動明王のごとく憤怒しているわけで…

PerlでSingleton

Perlってばお茶目なので、privateだのpublicだの基本ない感じです。 privateなメソッドは最初に_をつけるとかいう慣習もあるっぽいんですけど、もちろん外からは呼び出せる。 Singletonはそのクラスのオブジェクトを1つしか生成しないというデザインパターン…

問題2-46

どっかでやった問題ですね。 (define (make-vect x y) (cons x y)) (define (x-cor vect) (car vect)) (define (y-cor vect) (cdr vect)) (define (add-vect v1 v2) (make-vect (+ (x-cor v1) (x-cor v2)) (+ (y-cor v1) (y-cor v2)))) (define (sub-vect v1…

部分行列とる方法募集

boostのublasで部分行列を作る方法ねーかなーと思って、 いろいろ聞いたりしてテストしてみた。 #include <iostream> #include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/io.hpp> #include <boost/numeric/ublas/storage.hpp> #include <boost/numeric/ublas/matrix_proxy.hpp> int main() { typedef boost::numeric::ublas::matrix<double>…</double></boost/numeric/ublas/matrix_proxy.hpp></boost/numeric/ublas/storage.hpp></boost/numeric/ublas/io.hpp></boost/numeric/ublas/matrix.hpp></iostream>

問題2-45 (2.2.4 Example: A Picture Language)

関数を引数にとる関数を返す関数を作るのでがんばる。 (define (split first second) (define (make-split painter n) (if (= n 0) painter (let ((smaller (make-split painter (- n 1)))) (first painter (second smaller smaller))))) make-split) これに…

幸せになるよか幸せだと思った方が楽な件

なんか生き方とか考えるのって、自己反省というよりか、自分の今までの生き方を肯定するために役に立つよ。 ぼくはいつも幸せになりたい!!とか思っているんですけど、世の中たくさん選択肢があってどの道が幸せにつながるとかさっぱり分からないし、分かるは…

問題2-43 (2.2.4 Example: A Picture Language)

ようやく図形言語にはいったんですけど、また図は書けないので残念です。 そういうわけでこのプログラムも動かせない。 (define (up-split painter n) (if (= n 0) painter (let ((smaller (up-split painter (- n 1)))) (below painter (beside smaller sma…

お金は強い

昔はインタネットとかいうものがなかったので、ぼくみたく一日中ネットしてるようなダメ人間が出ずにスゲー健全ぽかかったみたいなんですけど、そのかわりクソ不便だったりした。 どのくらい不便だったかというと、ぼくが今こうやって、昔は不便だった!みた…

問題2-43 (2.2.3 Sequences as Conventional Interfaces)

Louis Reasonerがまたミスをして、昨日のn-queen問題のflatmap以下をこんな風にして書きやがったらしい。 (flatmap (lambda (new-row) (map (lambda (rest-of-queens) (adjoin-position new-row k rest-of-queens)) (queen-cols (- k 1)))) (enumerate-inter…

輪講でした

今日はぼくの輪講発表の日で、ノードが自己組織化しながら最適化問題を解いていくよーみたいなステキな論文をご紹介さしあげた。 タイトルはDistributed Optimal Self-Organization in Ad Hoc Wireless Sensor Networksって言って、なんかもうそのままのタイ…

Factory Methodパターン

なんでこれTemplate Methodパターンと分けてんの? スゲー一緒な気がしたよ。 ところでぼくは前の携帯電話としてD901iを持っていたんですけど、今はSH704iに換えた。 そういうところにインスピレーションを感じて、こんなのを作ってみたよ。 なんかFactory M…

問題2-42 (2.2.3 Sequences as Conventional Interfaces)

かの有名なn-queen問題をschemeで解くよ!! mNC[âè(N Queens Problem) 昔prologで8-queen問題解くプログラム書くのにクソ時間かかった気がするんですけど、今回も結構かかった。 SICPは優しいので、こんなスケルトンを用意してくれています。 (define (queens…

今日も宣教師がこられました

ぼくはいつも楽しく暮らしたいなーとか思っているんですけども、周りの人が喜んでると一応、ぼくでも楽しくなるわけです。 そういうわけで、我が家を訪ねてきたキリスト教の宣教師さんも喜んでくれるといいなと思って、今聖書についての教えを聞いたりしてい…

問題2-41 (2.2.3 Sequences as Conventional Interfaces)

今日は、足してsになるような3つ組をもとめる。 orderedでdistinctって指定なんで、3つ組(i, j, k)はk ; 昨日の (define (enumerate-interval low high) (if (> low high) () (cons low (enumerate-interval (+ low 1) high)))) ; 昨日の (define (unique-pa…

mixiのRSS設定が外せない

リファラがmixiのログがあるので、なんでかなーなんでかなーとmixiプロフィール欄みたら、設定を消したはずのrss指定欄に設定が残っております。 も一回消してみたんだけど、また復活してやがる。 たぶんだけど、「RSSのURL」を外しても、「日記・ブログのUR…

問題2-39 (2.2.3 Sequences as Conventional Interfaces)

[tex:1\leq j (define (square x) (* x x)) (define (smallest-divisor n) (find-divisor n 2)) (define (find-divisor n test-divisor) (cond ((> (square test-divisor) n) n) ((divides? test-divisor n) test-divisor) (else (find-divisor n (+ test-di…

机の周りがクソきれいになった

今日は研究室大掃除の日だったのでした。 ぼくは前日までそのことを忘れてて、「ちょww今日は輪講準備しようと思ってたんだけど」とか言ってみたんですけど、ここは現代日本、みんな自分のことに精一杯ですからして華麗にスルーされ、一生懸命掃除をするこ…

問題2-39

fold-left、fold-rightを使ってreverseを作るよ。 (define (fold-right op initial sequence) (if (null? sequence) initial (op (car sequence) (fold-right op initial (cdr sequence))))) (define (fold-left op initial sequence) (define (iter result …

やだなぁ1+1が3にも4にもなるわけないじゃないですか

なんか人間同士が協力し合えば1+1が3にも4にもなるとかいう言説をときどき聞きます。 本気でそう思っている人にはすごく残念なお知らせなんですけど、1+1は2ですよ。 これは小学生でもわかることなんだけど、なんで小学生でも答えられる問題を間違うのかなー…

問題2-38

今まで、accumulate大人気だったんですけど、強制的に改名されてしまった。 名前をfold-rightとかいう。 野口英世もそうですし、豊臣秀吉もそうで、accumulateも名前を変えてたぶんだけど出世するんです! ここで、モンキッキーとかハッピーハッピー。も名前…

macが我が家に届くまで

いろいろあったんですけど、スゲーがんばったなーとか思ったよ。 注文した (11/20) apple storeでMacBook注文した!! 僕という人は超ブルジョアですからして、MacBook proは選べなかったです。 しかもブルジョアな僕はクレジットカードの上限がかなり小さいの…

問題2-37 (2.2.3 Sequences as Conventional Interfaces)

schemeで行列計算する!!わくわくしてきた!! まずデータをどう表現するかが問題なんですけど、そこはSICPですから、ちゃんと教えてくれてます。偉い! はこう書くよ。 (list (list 1 2 3 4) (list 4 5 6 6) (list 6 7 8 9) したら、ベクトル同士の内積はこう書…

堂々と責任転嫁するよ

みんながちゃんとしてないから、ぼくは今日寝坊してしまったし、 ゴミ出すの忘れてた。みんなのせいだ。

Template Methodパターン

C++の抽象クラスとかは、ほぼこのTemplate Methodパターンに当てはまると思うんですが、 Perlだと「抽象クラス」を実現するための言語としての直接的な機能はない感じなので、ちょびっとちがう感じなのかもしれません。 要は抽象クラスでテンプレートだけ決…

問題2-36

なんかスゲー書きにくい問題。 リストのリストを引数として取って、そのリストのリストの添え字のおなじ各要素に対して演算した後、その結果をリストにして返すよ。 こうやったらできるよ! (define (accumulate-n op init seqs) (if (null? (car seqs)) () …

today's twitter

家は寒いですけど、明日のスポーツニュースを楽しみに生きていける 一生懸命帰りました 数値計算を perl でやるとどうかな。。。 寒すぎる。今無事に大学に着いたことを田舎の両親に感謝します。