Hatena::ブログ(Diary)

snow-bellの日記 このページをアンテナに追加 RSSフィード

2009-10-20

新型インフルエンザ

17:29 | 新型インフルエンザを含むブックマーク 新型インフルエンザのブックマークコメント

新型インフルエンザにかかってしまったようなので

診断された経緯などを書きます


日曜日正午くらい     なんか喉だけが痛い状態

月曜日午前0時くらい    足が筋肉痛みたいに痛くなる

月曜日午前4時30分くらい  目眩がするので熱を測ったら38度だった

月曜日午前5時くらい    専用受付に連絡 

             今緊急で病院に行って検査しても

             インフルエンザかどうか分からない

             仮に陽性だったとしても薬が1日分

             しか出ないと言われる

             →体力温存して朝病院に行くようにする

月曜日9時         病院に行かなければならないが

             どうしても体調が悪いため

             病院に行く時間を延ばす

月曜日11時        病院へ行く


病院に行ってすぐ先生から「インフルエンザだと思うよ」といわれました

咳の感じとか熱の出方鼻水などがもうそのまんまインフルエンザの

症状そのものらしいです

検査をしても発熱してからギリギリ8時間のため検査をしても

陽性が出ないかもしれないけれど検査

時間的なもの?で検査結果はインフルエンザA型B型ともに反応無し

新型インフルエンザの場合はちょっと従来のインフルエンザとは

違ってる事も多いようで

インフルエンザの症状そのものなのに何回検査しても出なくて

最終的に血液検査をして分かったりする事もあるそうです

先生はインフルエンザの検査キットを時間をおいて使う事も考えたそうですが

今現在インフルエンザの検査キットが不足しているため1人の患者に

数回検査キットを使うのが難しいとの事 また血液検査をしたところで

血液検査の結果が出るのは恐らく治癒した後だと思われる事

を告げられ再度の検査はしない方向に決めました

ただ先生の所見で明らかに新型インフルエンザとの事なので

タミフルを処方されて今現在服用しています

昨日は熱が38度のあたりで推移していましたが 

今は熱も下がって落ち着き始めています

だけどまだ倦怠感や咳や鼻水はまだまだ続いています

今は誰にも感染していない事を願うのみです

2009-10-15

今度は不正な値を入力した時にフィボナッチを止めるようにする

23:46 | 今度は不正な値を入力した時にフィボナッチを止めるようにするを含むブックマーク 今度は不正な値を入力した時にフィボナッチを止めるようにするのブックマークコメント

昨日schemeでフィボナッチを書いたので今度はhaskell!と思っていたら

また問題が出されました・・・

この条件だと(fib (- 1))とかfib(1.2)で止まらないコードになる

ということで不正な値を入力した時にアラートを返すコードを書こう!

という事になり書いてみました

(define (fib n) 
  (cond ((= n 0) 0)
        ((= n 1) 1)
        ((>= n 2)(+ (fib (- n 1)) (fib (- n 2))))
        (else (display "入力が不正です"))))

そして不正な値を入れて実行してみると

gosh> (fib "hoge")
*** ERROR: Number required, but got "hoge"
Stack Trace:
_______________________________________
gosh> (fib 7)
13

アラートが出て来ない!!!!

なんでアラートが出て来ないか分からなかったのでアドバイスを受けて

とりあえずR5RSの日本語のPDFをDownloadしてnumber?で検索して読みました

なんとなくしか分からなかったけど

もしアラートを出したいのなら書いたフィボナッチのコードを更に

true or falseに分岐させてfalseの場合にアラートを

出すようにしたらいいという事に気付きました

さてココまで分かったけど・・・ってあれれ?????

gosh> (define (fib n) 
  (cond ((= n 0) 0)
        ((= n 1) 1) 
        ((>= n 2)(+ (fib (- n 1)) (fib (- n 2))))
  (else (display "入力が不正です"))))
fib
gosh> (fib 0.2)
入力が不正です#<undef>
gosh> (fib "hoge")
*** ERROR: Number required, but got "hoge"
Stack Trace:
_______________________________________

私的には"hoge"とか文字列を入れても"入力が不正です"って

返ってくると思っていた

だけどNumber required, but got "hoge"のerrorをみると

["hoge"はあったけど数を入れて]と言っているので

"入力が不正です"って返って来なくてもいいのかな???

文字列じゃなくて不正な値を入れたら止まってはいると思うんだけど・・・

いろいろ自信がない。:゚(。ノω\。)゚・。

文字列と数字なのでオブジェクトの型は違うけど

不正な数字入力の場合も不正な文字列を入力の場合も同じように

アラートをを返してこなくちゃダメなのかな?

同じところをホントぐるぐるまわっていました・・・orz

suztomosuztomo 2009/10/15 23:57 型だッ!!1

snow-bellsnow-bell 2009/10/16 00:02 あのーそこはほら変なのか変じゃないかで言って〜><
3時間くらいは考えたんだから><

ikegamiikegami 2009/10/18 10:19 3時間でも、3日でも、3年間でも、じぶんでかんがえることがたいせつ

ikegamiikegami 2009/10/18 10:19 3時間でも、3日でも、3年間でも、じぶんでかんがえることがたいせつ

snow-bellsnow-bell 2009/10/20 17:32 コメント有り難うございます
どうして自分がちゃんとコードを書けなかったのかが分かりました
後日(出来たら今日明日)にはちゃんとまとめたいと思うので
宜しかったら是非見て頂きたいです

siroccosirocco 2010/01/30 06:30 受け取った引数が計算してもエラーにならないデータかどうかチェックして、NGのときはエラー表示、OKのときは計算するっていうのはどうですか?
独習 Scheme 三週間 Teach Yourself Scheme in Fixnum Days http://bit.ly/aTSIoK

2009-10-14

schemeでフィボナッチ

21:31 | schemeでフィボナッチを含むブックマーク schemeでフィボナッチのブックマークコメント

ある日友人と飲んでた際にプログラミング言語を勉強して

使えるようになったのならフィボナッチくらい書けて当たり前

フィボナッチは初歩の初歩の初歩!という事を言われたので

ちょっと心配になりました

なので今まで勉強してきた言語でフィボナッチを書こうと決めました

Haskellは途中だしSICPも1章までしか読んでないしPythonは現在進行中ですが

やると決めたので!!!!

フィボナッチは公式は覚えてたのですがちゃんと内容を覚えていなかったので

ココでもう一度概要を把握

慚化式 (Fn-1)+(Fn-2) ただしF(0)=0 F(1)=1

Fnの1つ前と2つ前の答えを足したものがFnになるのですね

私はこの辺普通に間違った事を言っていましたw

さてこれをschemeで書く訳ですが私はカウンター積などが

ちゃんと使えないのでcondを使いました

(define (fib n) 
  (cond ((= n 0) 0)
    ((= n 1) 1)
    (else (+ (fib (- n 1)) (fib (- n 2))))))

4行目のfibを最初書き忘れてましたがcond~hoge else~と書く

文法のほうではあまり時間がかからずにかけました

(emacsからのコピペミスをしてた分の時間かかったかもorz)

そしてcond文の書き方はあともう1種類cond(fuga1)...(hoge1)

のような書き方があるのでそちらもかけるはずと思って書いていましたが

なかなかかけなくてかなり迷走しました

define (fib n) 
 (cond ((= n 0) 0)
       ((= n 1) 1)
       ((< n 2) (+ (fib (- n 2))(fib(- n 1)))))

最初のほうでこんなコードを書いてて

本当はn≦2を表現したいのに上のコードだと全然だめですよね

n=2の時はどうなってしまうの?みたいな・・・

そこで次に書いたコード

(define (fib n) 
  (cond ((= n 0) 0)
        ((= n 1) 1)
        ((=< n 2)(+ (fib (- n 1)) (fib (- n 2))))))

またこれもerrorなんですけど(=< n 2)がおかしい

そこで今度は=<の符号を別々にして<と>の符号の向きが違ってたので

そこを直したら大丈夫だろうと考えました

(define (fib n) 
  (cond ((= n 0) 0)
        ((= n 1) 1)
        (= (> n 2) (+ (fib (- n 1)) (fib (- n 2))))))

ちゃんと答え返してくる!!

コレで安心して今朝方寝た訳なんですけどこのコードが不可解との

ご指摘があり考えてみました

このコードでちゃんと答えは返して来るんです

私的には(> n 2)であるならば (+ (fib (- n 1)) (fib (- n 2)))と=とみなして

答えを返してくると思ってたのですがこのコードを読み直してみると

        (= (> n 2) (+ (fib (- n 1)) (fib (- n 2)))

括弧の位置がおかしいかも?

私がやりたかったのは(n)の場合は(m)と返すというコードなのだから・・・

なので書き直すなら

        (= (> n 2)) (+ (fib (- n 1)) (fib (- n 2))

となってgoshでは#tが返って来た

これもまた指摘されたように=に対応するモノがないという事と

値がtrueであるならば=を返すって事かな??

この辺考えてるけどやっぱり分かってないと思う

そして以上の事を踏まえてかいたコードがこれ

(define (fib n) 
  (cond ((= n 0) 0)
        ((= n 1) 1)
        ((>= n 2)(+ (fib (- n 1)) (fib (- n 2))))))

>=だと大丈夫だけど=>ならerrorです

この辺は符号の優先順位の問題だと思うのでまぁいいか・・・

一番簡単に書けるはずのschemeのフィボナッチでこんなに躓いてて

HaskellとかPythonで書けるのか心配になって来た・・・orz

体調悪めなのでHaskellの分は明日中に書ければいいって事に決めました!

追記 ◯線形反復プロセス ×カウンター積 分かりにくくてゴメンナサイ

2009-10-07

気がついたら同じ質問を再度していたので忘れないようにメモ

| 00:38 | 気がついたら同じ質問を再度していたので忘れないようにメモを含むブックマーク 気がついたら同じ質問を再度していたので忘れないようにメモのブックマークコメント

最近ghcの調子が悪いんです

この前もcat.hsをemacsで書いてrunghcでターミナル上で

実行させようと思ったら実行しないしghcも終了しない

この状態をどうにかしたかったのでHaskellの師匠でもある

id:ujihisaさんに相談をしてなんとか解決したのですが

私のghcがおかしかった理由は

標準入力からのバッファリングがなにかおかしいとの事でした

解決策として一旦パイプを間に挟む事でバッファしないようにしたら大丈夫になりました

そして今回は2〜3行しかないコードだったのでghciを使ってたんですけど

絶対に通るはずのコードまで通らない!!

そこでまたujihisaさんにghciがおかしいという話をしたら

ghciは    main = do print $ ...
                    print $ ...
各行がこの...のとこに入るような感じで処理されると思えばOK
素のHaskellを書くのとは違うよー

との事だったのですが実はその後重要な事に気付いちゃいましたorz

実は・・・ほぼ同じ質問2回目!!!

私って学習能力ないわ・・・

私のノートによると

[ghci使う時はletを使う とにかく使う おまじない]

って書いてありました・・・

更にあの頃はvimを使っていてghcのほうを使ってて

作ったファイル+2個のコンパイルが違うファイルができちゃって

毎回困惑してたのを思い出しましたw

もう同じ質問しないように戒め的メモとして書きました☆

2009-09-28

怠けたい!

23:41 | 怠けたい!を含むブックマーク 怠けたい!のブックマークコメント

お出かけする時は大体本1冊とノートPCを持って行く事にしている

電車に乗ってる時や時間が空いた時やお勉強するのには必需品だから

という理由なんですが・・・別バックを持たないと入らないし

カワイイバックもなかなか使えない事があるのでこの事態を何とかしたい!

と思いiPhoneだけでお出かけ出来る方法を考えたりしてみました

PCで使っててiPhoneで使ってないのはシェルなのでiPhoneでせめて

インタプリタくらい使えないかなとか本は重いから電子書籍

またはPDF化したいなとか思って下調べなどしてました

シェルはiPhoneから使えるようになるのですがちょっと

入力が面倒なのでやっぱりPC持ち運びになりそうな予感

本についてはスキャナで取り込めばいいよね!とか考えてたんですが

スキャナで取り込むためには本をばらさなくちゃいけないということが

全くアタマに入って無くてあっさり断念・・・

本をばらすのは嫌なので無理です・・・

このままじゃどうやらお出かけする時の荷物の軽減は無理かな

けど楽したい!

最近実家に帰省した際に友人と遊んでいた際に言われたんですけど

私は大人になっても相変わらず変な子って言われちゃいましたorz

相変わらず大人になっても夢見る少女のような心を持ってるそうです・・・

今私が勉強してる事とか楽しいと思っている事をいろいろ話していたんですけど

どうやら普通?の感覚とは結構掛け離れてるそうです(゚∀゚lll)

普通っぽく見られるようにここは努力すべきなのかな(笑)

Connection: close