2010/06/30 00:00:01 00:13:28 ! tatsu114 ("視野を広げたい") 00:17:09 ! aspha ("Leaving...") 00:18:13 + akiraani(~akiraani@EM119-72-120-59.pool.e-mobile.ne.jp) to #ぱそ 00:23:26 ! hohoho (EOF From client) 00:30:05 + mikeyama(~mikeyama@e6d25.Est6N1F1.vectant.ne.jp) to #ぱそ 00:41:09 <#ぱそ:Toyolina> 気になるアクティブスピーカーを聴く【東和電子:TW-S7】 -AV Watch http://av.watch.impress.co.jp/docs/topic/20100629_377416.html 00:41:18 <#ぱそ:Toyolina> これちょっとためしてみたいけどUSBだけってのがな、、、 00:41:25 <#ぱそ:Toyolina> .k TW-S7 00:41:25 <#ぱそ:Role> キーワード一覧の http://www.koubou.com/keywords/TW%2DS7 をどうぞ♪ 00:42:50 <#ぱそ:Toyolina> http://www.koubou.com/asin/B0039YOHJE 黒 00:43:02 <#ぱそ:Toyolina> http://www.koubou.com/asin/B0039YOHJ4 白 00:43:10 <#ぱそ:Toyolina> Olasonic USBスピーカー バスパワー 10W+10W TW-S7 00:44:30 + hohoho(~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp) to #ぱそ 00:54:03 + V-zEnMac(~v_zenmac@p438069.kngwnt01.ap.so-net.ne.jp) to #ぱそ 00:55:42 Yaduka -> Yad_Away 00:55:45 - Fish from #ぱそ (ごきげんよう) 00:55:46 Yad_Away -> Yad_Sleep 00:56:02 ! V-zEnMac (EOF From client) 00:57:23 ! shiracha (Connection reset by peer) 2010/06/30 01:00:00 01:24:10 + Hisasi(~hisasi@115.CH575a.cyberhome.ne.jp) to #ぱそ 01:44:11 ! Pikoyan ("次のピコやんはきっと上手くやってくれるでしょう") 01:45:00 + V-zEnMac(~v_zenmac@p438069.kngwnt01.ap.so-net.ne.jp) to #ぱそ 01:48:06 + SiIdeKei(~siidekei@EM114-51-35-33.pool.e-mobile.ne.jp) to #ぱそ 01:50:34 ! SiIdeKei_ (Ping timeout) 01:52:16 ! Stella ("See you...") 01:55:50 MOTOI -> MOTOsleep 01:57:39 ! akiraani ("祝!ソリッドファイター完全版") 2010/06/30 02:00:00 02:04:23 ! dain (Ping timeout) 02:05:47 ! Hisasi ("ただいま二次元") 02:18:44 <#ぱそ:Toyolina> なぜiPhone 4の入荷遅れが続いているのか? 原因はRetinaディスプレイにあった! : ギズモード・ジャパン http://www.gizmodo.jp/2010/06/iphone_4retina_2.html?utm_source=rss20&utm_medium=rss 02:19:16 <#ぱそ:Toyolina> シャープの液晶ならきっとなんとかしてくれる 02:20:46 <#ぱそ:V-zEnMac> シャープがIPS作ってたらなあ…… 02:21:54 <#ぱそ:Toyolina> パナソニックなら……してくれないか(´・ω・`) 02:22:17 <#ぱそ:Toyolina> これが本当なら白にこだわらずにおれ大勝利ってことになるわけですが 02:26:34 _MizarObs -> Mizar 02:28:59 ! V-zEnMac (EOF From client) 02:32:17 <#ぱそ:sf> 高解像度液晶の歩留まりが予想より悪かったってとこですか 02:55:43 <#ぱそ:bw> Foxconnといえば一時期従業員がダイブするのが流行りましたよね 2010/06/30 03:00:00 03:02:46 <#ぱそ:bw> あ、RetinaはLG Display製なのか 03:11:01 + dain(~dain@220x151x204x243.ap220.ftth.ucom.ne.jp) to #ぱそ 03:44:25 + HORIZON(~horizon@EM111-188-24-169.pool.e-mobile.ne.jp) to #ぱそ 03:47:59 ! HORIZON_ (Ping timeout) 2010/06/30 04:00:00 04:21:04 ! dain (Ping timeout) 04:49:36 ! HORIZON (Ping timeout) 04:55:48 + HORIZON(~horizon@EM111-188-24-169.pool.e-mobile.ne.jp) to #ぱそ 2010/06/30 05:00:00 05:00:07 [!] auto down 2010/06/30 05:00:40 05:00:43 [!] ./madoka.rc updated 05:00:43 [!] Start: madoka 4.2.8 with perl 5.8.8 05:00:44 [!] server: irc.trpg.net(6666) 05:00:44 plugin new: ./plugin/yuurii/ans_action.mpi 05:00:45 plugin new: ./plugin/yuurii/dice2.mpi 05:00:45 plugin new: ./plugin/yuurii/bot.mpi 05:00:45 plugin new: ./plugin/yuurii/convnick.mpi 05:00:45 plugin new: ./plugin/yuurii/autoans.mpi 05:00:45 plugin new: ./plugin/yuurii/.botrceuc 05:00:46 plugin new: ./plugin/yuurii/.botrcjis 05:00:46 plugin new: ./plugin/yuurii/dengon.mpi 05:00:57 [!] close server: irc.trpg.net(Too many user connections (local))/5 05:02:15 [!] server: irc.trpg.net(6667) 05:02:22 + dice2(~dice@sv1.trpg.net) to #ぱそ 05:02:32 Mode by cokage: #ぱそ +o dice2 05:52:55 ! utako ("TakIRC") 2010/06/30 06:00:00 06:01:28 + shiracha(~shiracha@pfa78be.iskwnt01.ap.so-net.ne.jp) to #ぱそ 06:20:00 fukanju -> fukaNeoki 06:25:17 ! HORIZON ("Leaving...") 06:45:57 <#ぱそ:shiracha> VisualStudio2010でmsbuildを使って継続的インテグレーション的なことをしたいなあと。ちょっといろいろいじってます。 06:46:14 + takasiAFK(~takasi_se@i121-117-127-1.s05.a012.ap.plala.or.jp) to #ぱそ 06:47:31 <#ぱそ:takasiAFK> もう一方のパソコンでavastの本体の更新を終えて、いざ再起動、という段になって、ウィンドウズの終了画面から先に進まない……。 06:48:07 <#ぱそ:takasiAFK> "Windowsをシャットダウンしています……"からね。 06:48:18 <#ぱそ:takasiAFK> これはどうするべきか。 06:48:29 <#ぱそ:asahiya> 更新の適用してるんぢゃ? 06:48:40 <#ぱそ:takasiAFK> いや、そうじゃない。 06:48:50 <#ぱそ:takasiAFK> それはもう終わった 06:49:12 <#ぱそ:takasiAFK> OSじゃなくてアンチウィルスソフトの更新ね 06:49:28 <#ぱそ:takasiAFK> それにしても長すぎるんだよ 06:49:45 <#ぱそ:takasiAFK> シャットダウンまでの時間が。まだ再起動かからない 06:50:03 <#ぱそ:takasiAFK> ……ちょっと電源落としてみる。 06:50:47 <#ぱそ:takasiAFK> そして再起動。 06:51:13 <#ぱそ:takasiAFK> お、起動した。 06:51:38 <#ぱそ:shiracha> たぶん 06:51:56 <#ぱそ:shiracha> 何かシグナル受けても死ぬまでにやたら時間のかかる(あるいは無限ループしてる)プロセスがあったんでしょうね。 06:52:11 <#ぱそ:takasiAFK> ふむむ 06:52:22 <#ぱそ:shiracha> Windowsのプロセス管理系がどういう風になっているのかよく把握してないのですが 06:52:30 <#ぱそ:shiracha> そういう感じなんだろうなあとは想像がつく。。。かな 06:53:01 <#ぱそ:shiracha> 修了時に保存処理とか、そういうことしない感じのプロセスだったなら、問題無いと想いますが。強制終了しちゃったのはちょっと怖いかも。 06:53:37 <#ぱそ:takasiAFK> もう一つ電源系ということは? 06:54:07 <#ぱそ:shiracha> シャットダウンがどのタイミングでフリーズしていたのかで大体わかるんじゃないかな。 06:54:31 <#ぱそ:takasiAFK> それちょっと古いパソコンなんだが 06:54:32 <#ぱそ:shiracha> まあ詳しくないことには何も本当はいえないので黙るかorz 06:54:34 <#ぱそ:takasiAFK> ふむ 06:56:17 <#ぱそ:shiracha> 電源のシャットダウンて基本的に止まる話はないですよね。BIOSに命令語を一つ投げるだけだったはず。 06:56:25 <#ぱそ:shiracha> そういう処理はOSのシステムコールレベルで実装されているはずなので 06:56:50 <#ぱそ:shiracha> そもそもその段取りまでたどり着いているなら、かなり慎重な実装が待っているはずで、あまり危険そうなことはなさそう。 06:57:11 <#ぱそ:shiracha> あと、プロセスの終了と、シャットダウンの間のレイヤーがあるとしたら 06:57:34 <#ぱそ:shiracha> プロセスが全部終了したことを検出するためのあたりでしょうかね。(^^; 06:58:16 <#ぱそ:takasiAFK> なるほど 2010/06/30 07:00:00 07:00:00 ! log ("auto down") 07:00:03 + log(~homepage@sv1.trpg.net) to #ぱそ 07:00:10 Mode by dice2: #ぱそ +o log 07:05:12 <#ぱそ:takasiAFK> ふむ 07:05:48 <#ぱそ:takasiAFK> AdobeReaderの更新でまた再起動がかかったが、今度はすんなりいった。 07:06:01 <#ぱそ:shiracha> なんだったんでしょうねー。 07:06:08 <#ぱそ:shiracha> たまに怖いですよね。ログとか残ってたら納得いくんだけど。。。 07:06:09 fukaNeoki -> fukaWork 07:06:22 <#ぱそ:takasiAFK> 多分Avast側に原因があったのだろうな 07:06:43 <#ぱそ:takasiAFK> あるいは他に何かあったのかもしれない 07:07:42 <#ぱそ:shiracha> 終了直前にタスクスケジュラが読めれば何かわかったかもですね。まあ、上手くいっているなら、万事OKかも 07:08:21 <#ぱそ:takasiAFK> まあ電源系ではないようなのでよかったよかった。 07:24:05 ! hohoho (EOF From client) 07:49:13 + SiIdeKei_(~siidekei@EM114-51-30-46.pool.e-mobile.ne.jp) to #ぱそ 07:51:39 ! SiIdeKei (Ping timeout) 2010/06/30 08:00:00 08:14:08 Yad_Sleep -> Yad_Away 08:14:08 ! shiracha (Connection reset by peer) 08:14:20 + HORIZON(~horizon@EM114-48-56-16.pool.e-mobile.ne.jp) to #ぱそ 08:15:50 + shiracha(~shiracha@pfa78be.iskwnt01.ap.so-net.ne.jp) to #ぱそ 08:32:43 ! bw ("Leaving...") 08:37:40 + dain(~dain@220x151x204x243.ap220.ftth.ucom.ne.jp) to #ぱそ 08:45:53 + yasaii(~yasaii@p2004-ipbf308sasajima.aichi.ocn.ne.jp) to #ぱそ 08:47:20 + Stella(~UserID@122x213x68x195.ap122.ftth.ucom.ne.jp) to #ぱそ 2010/06/30 09:00:00 09:19:43 ! shiracha ("Leaving...") 09:21:45 ! HORIZON ("Leaving...") 09:36:29 + shiracha_(~shiracha_@d193-093.jaist.ac.jp) to #ぱそ 09:58:48 ! KITE ("陽気な奴でも聴こうよ。") 2010/06/30 10:00:00 10:00:02 ! cokage ("お風呂お風呂〜♪") 10:00:04 + cokage(~licorice@sv.cokage.ne.jp) to #ぱそ 10:00:12 Mode by dice2: #ぱそ +o cokage 10:08:31 + KITE(~KITE@d61-11-197-096.cna.ne.jp) to #ぱそ 10:09:50 Mode by sf: #ぱそ +o KITE 10:22:25 ! KITE ("陽気な奴でも聴こうよ。") 10:27:20 + KITE(~KITE@d61-11-197-096.cna.ne.jp) to #ぱそ 10:29:00 Mode by sf: #ぱそ +o KITE 10:40:46 ! KITE ("陽気な奴でも聴こうよ。") 10:46:57 + KITE(~KITE@d61-11-197-096.cna.ne.jp) to #ぱそ 10:48:36 Mode by sf: #ぱそ +o KITE 10:54:31 ! showaway ("Leaving...") 10:57:36 + showaway(~showaway@3d7229a7.tcat.ne.jp) to #ぱそ 2010/06/30 11:00:00 11:00:01 ! cre_log ("auto down") 11:00:51 + cre_log(~log@ns.cre.ne.jp) to #ぱそ 11:00:59 Mode by cokage: #ぱそ +o cre_log 11:48:45 ! dain (Ping timeout) 2010/06/30 12:00:00 12:07:31 + tatsu114(~tatsu114@catv-114-192.tees.ne.jp) to #ぱそ 12:56:58 ! tatsu114 ("視野を広げたい") 2010/06/30 13:00:00 13:30:20 ! navy_mesi ("Leaving...") 13:41:16 ! KITE ("陽気な奴でも聴こうよ。") 13:48:11 + SiIdeKei(~siidekei@EM114-51-184-243.pool.e-mobile.ne.jp) to #ぱそ 13:50:34 ! SiIdeKei_ (Ping timeout) 13:50:50 + KITE(~KITE@d61-11-197-096.cna.ne.jp) to #ぱそ 13:52:33 Mode by sf: #ぱそ +o KITE 13:58:50 ! KITE ("陽気な奴でも聴こうよ。") 2010/06/30 14:00:00 14:03:28 + KITE(~KITE@d61-11-197-096.cna.ne.jp) to #ぱそ 14:04:31 ! ao ("Leaving...") 14:04:59 Mode by sf: #ぱそ +o KITE 14:07:58 ! KITE ("陽気な奴でも聴こうよ。") 14:11:40 + KITE(~KITE@d61-11-197-096.cna.ne.jp) to #ぱそ 14:12:59 Mode by sf: #ぱそ +o KITE 2010/06/30 15:00:00 15:35:10 <#ぱそ:sf> > * 雇用主に重宝されている(出勤時間が早い、夜遅くまで残業する、休日出勤もいとわない、仕事を家に持ち帰る、病欠以外は休まない、休暇を取ろうとしないなど) 15:35:10 <#ぱそ:sf> > * 単独で業務をこなしている 15:35:10 <#ぱそ:sf> > * 定期的な調査に抵抗感を示す 15:35:10 <#ぱそ:sf> > * 自分の仕事場に人を近付けたがらない 15:35:10 <#ぱそ:sf> > * 事業主に業務記録を見せたがらない 15:35:13 <#ぱそ:sf> > * 次から次へと仕事を引き受けようとする 15:35:16 <#ぱそ:sf> これは何でしょう。 15:35:27 <#ぱそ:sf> と思ったら不正の兆候というのが面白い。 15:35:35 <#ぱそ:sf> IT利用の不正対策マニュアル:不正行為をする人物を調べる方法 (1/2) - ITmedia エンタープライズ http://www.itmedia.co.jp/enterprise/articles/1006/29/news005.html 15:36:33 <#ぱそ:sf> .k 企業不正対策ハンドブック 15:36:33 <#ぱそ:Role> キーワード一覧の http://www.koubou.com/keywords/%E4%BC%81%E6%A5%AD%E4%B8%8D%E6%AD%A3%E5%AF%BE%E7%AD%96%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF をどうぞ♪ 15:37:21 <#ぱそ:sf> 企業不正対策ハンドブック―防止と発見 http://www.koubou.com/asin/4474024877 15:43:52 + ao_note(~ao_note@s184156.ppp.asahi-net.or.jp) to #ぱそ 15:45:18 ! lute (Connection reset by peer) 15:46:13 + lute(~lute@pl814.nas851.p-osaka.nttpc.ne.jp) to #ぱそ 15:53:19 ! kairi ("See you...") 2010/06/30 16:00:00 16:17:20 <#ぱそ:NM> http://www.itmedia.co.jp/news/articles/1006/30/news038.html 一年戦争なう 16:22:42 MorrisAFK -> Morris 16:30:33 ! yasaii ("Leaving...") 2010/06/30 17:00:00 17:09:33 Morris -> MorrisAFK 17:12:47 + tatsu114(~tatsu114@catv-114-192.tees.ne.jp) to #ぱそ 17:23:13 + aspha(~aspha@p1128-ipbf205otsu.shiga.ocn.ne.jp) to #ぱそ 17:58:08 + HORIZON(~horizon@EM114-48-206-206.pool.e-mobile.ne.jp) to #ぱそ 2010/06/30 18:00:00 18:11:48 fukaWork -> fukaFuton 18:26:00 ! southmobi (Ping timeout) 18:52:01 + Fish(~Fish@p3054-ipngn1203marunouchi.tokyo.ocn.ne.jp) to #ぱそ 2010/06/30 19:00:00 19:08:17 MorrisAFK -> Morris 19:09:05 ! shiracha_ ("Leaving...") 19:32:14 + shiracha(~shiracha@pfa78be.iskwnt01.ap.so-net.ne.jp) to #ぱそ 19:45:47 Morris -> MorrisEAT 19:45:57 ! shiracha (Connection reset by peer) 19:46:37 ! LizardMen (Connection reset by peer) 19:46:47 + shiracha(~shiracha@pfa78be.iskwnt01.ap.so-net.ne.jp) to #ぱそ 19:51:19 + LizardMen(~LZD@ntaich307199.aich.nt.ftth4.ppp.infoweb.ne.jp) to #ぱそ 19:51:19 ! shiracha (Connection reset by peer) 19:52:03 ! SiIdeKei (Ping timeout) 19:52:57 + shiracha(~shiracha@pfa78be.iskwnt01.ap.so-net.ne.jp) to #ぱそ 19:54:16 ! shiracha ("Leaving...") 19:55:17 + shiracha(~shiracha@p923cd8.iskwnt01.ap.so-net.ne.jp) to #ぱそ 19:55:32 + SiIdeKei(~siidekei@EM114-51-205-61.pool.e-mobile.ne.jp) to #ぱそ 19:57:04 + amped(~amped@sannin29202.nirai.ne.jp) to #ぱそ 2010/06/30 20:00:00 20:13:07 <#ぱそ:amped> 右に示すように、正の整数値を読み込んで、その桁数を出力するプログラムを作成せよ 4-9 20:13:23 <#ぱそ:amped> 例 整数値:1254 その値は4桁です 20:13:33 <#ぱそ:amped> これが分からない・・・、ここまでは進んだんだけどなぁ 20:14:24 MorrisEAT -> Morris 20:14:26 <#ぱそ:amped> http://uploadr.net/file/0ce6555db6 20:14:38 <#ぱそ:amped> ここまでは・・・!3つの整数の箱を作るとこまではわかった・・・! 20:14:50 <#ぱそ:amped> だけど最後のwhileの条件分岐に何を入れればいいのか分からん・・・ 20:15:18 <#ぱそ:amped> どうすればいいのぜよ・・・ 20:15:24 <#ぱそ:amped> 誰かヒントお願いします 20:15:39 <#ぱそ:Morris> 発想を逆にすべきかと。 20:16:14 <#ぱそ:Morris> ふむ 20:16:16 <#ぱそ:Morris> このままでもいいか 20:16:43 <#ぱそ:Morris> ヒント。 20:16:59 <#ぱそ:Morris> > a = x / y; 20:16:59 <#ぱそ:Morris> > y *= 10; 20:17:10 <#ぱそ:Morris> この間に 20:17:51 <#ぱそ:Morris> aの値を出力する命令を入れて 20:18:04 <#ぱそ:Morris> aがどう変化するか調べてみましょう。 20:18:41 <#ぱそ:Morris> 理論は合ってるんだよね 20:18:52 <#ぱそ:shiracha> zの方も値を見た方がいいでしょう 20:18:59 <#ぱそ:Morris> 例えば1254という数の桁数を調べるには 20:19:06 <#ぱそ:shiracha> と、横からついでにヒントに追加を出してみますw 20:19:10 <#ぱそ:Morris> 1000≦1254<10000 20:19:15 <#ぱそ:Morris> であることがわかればいい。 20:19:24 <#ぱそ:showaway> #入力するのが整数と決まっているなら、文字数を調べる関数でいいじゃんと思ってしまった私 20:19:45 <#ぱそ:shiracha> #それは言わないオヤクソク。 20:19:48 <#ぱそ:Morris> そうだね、ついでに全部の変数の値を見てみるか 20:19:53 <#ぱそ:Morris> z++; 20:19:58 <#ぱそ:Morris> の下にある空行に 20:20:13 <#ぱそ:Morris> 全変数をデバッグ出力する文を入れてみましょう。 20:20:21 <#ぱそ:Morris> そうすれば、whileが見えてくるはず。 20:20:36 <#ぱそ:amped> デバック出力とはなんだろう、調べてきます 20:20:46 <#ぱそ:shiracha> いやー。この場合は 20:20:56 <#ぱそ:Morris> 単に変数の値を画面に出力するだけ 20:20:58 <#ぱそ:shiracha> System.out.printlnを試しに書いてみるといいよ。ってこt 20:21:01 <#ぱそ:Morris> デバッグのために。 20:21:09 <#ぱそ:Morris> で、本番時には取り除く。 20:21:31 <#ぱそ:Morris> デバッグのためだけに出力するのでデバッグ出力。 20:21:37 <#ぱそ:Morris> de-bug、ね。 20:21:48 <#ぱそ:Morris> デバッ「ク」じゃないよ。 20:21:53 <#ぱそ:amped> あー、その手があったのか。 20:22:18 <#ぱそ:shiracha> #それを言い出すとデバグだろ、という主張も始まってしまう気がする 20:22:55 <#ぱそ:Morris> #デバッグかデバグかの議論は、コンピューターかコンピュータかの議論と一緒ですよw 20:23:00 <#ぱそ:shiracha> #ですかねー 20:23:03 + akiraani(~akiraani@EM119-72-120-127.pool.e-mobile.ne.jp) to #ぱそ 20:23:27 <#ぱそ:AP-TaiLMP> bug + de 系ですかねー 20:23:42 <#ぱそ:Morris> #少なくとも、Wikipediaでは「デバッグ」 20:24:46 <#ぱそ:shiracha> #注意:フレームの元 20:25:00 <#ぱそ:shiracha> ampedさん健闘を祈る−。 20:25:31 <#ぱそ:amped> なんかデバックしようとしたら出来た・・・ 20:25:42 <#ぱそ:Morris> ちなみにこー、今となっては余計なお世話かもしれないけど 20:25:49 <#ぱそ:Morris> > a = x / y; 20:26:07 <#ぱそ:Morris> 除算でなく、整数除算を使えばもっと簡単にわかったりする。 20:26:13 <#ぱそ:Morris> Cでは%だっけ? 20:26:20 <#ぱそ:Morris> BASICが\なんだっけ? 20:26:36 <#ぱそ:shiracha> 整数除算?・・・もしかしてmodのことですか? 20:26:42 <#ぱそ:Morris> modは余り 20:26:58 <#ぱそ:Morris> 割り算結果の小数点以下を切り捨てる奴ね 20:27:01 <#ぱそ:shiracha> Javaで、しかもint型なので元からオペレータの型は整数の除算ですよ 20:27:07 <#ぱそ:Morris> なるほど 20:27:16 <#ぱそ:shiracha> もちろん%が余算なのはわかってますがw 20:27:19 <#ぱそ:shiracha> %がw 20:27:26 <#ぱそ:shiracha> Cで%は余算(modulo)です。 20:27:41 <#ぱそ:amped> あ、出来た 20:27:44 <#ぱそ:amped> あたいったら天才ね 20:27:55 <#ぱそ:amped> マグれだけど。 20:27:58 <#ぱそ:shiracha> Cでもint型に対する除算は最初から整数除算です。ただしビットレベル整合なので負数の扱いに注意が必要になります。C99以降ではだいぶん増しになったらしいですが、最近C 20:28:10 <#ぱそ:shiracha> 触ってないのでその辺の詳しいことはわからねえです。 20:28:16 <#ぱそ:Morris> なるほどねー 20:28:21 <#ぱそ:amped> デバックしようとした⇒なんか適当な数字入れとけばいいかな⇒ 20:28:26 <#ぱそ:shiracha> できれば、仕組みを理解しよう。>ampedさん 20:28:31 <#ぱそ:Morris> 最近プログラムから離れてるから忘れてるわ 20:28:39 <#ぱそ:amped> そしてa > 1⇒出来た⇒どがいしてこうなった・・ 20:28:57 <#ぱそ:amped> aの数が減っていって1桁以下になって頭がおかしくなって死ぬんじゃないかな、この場合 20:28:59 <#ぱそ:Morris> だーかーだー 20:29:08 <#ぱそ:Morris> デバッグ出力すれば一発でわかるってばw 20:29:14 <#ぱそ:Morris> だーかーらー、だ 20:29:20 <#ぱそ:Morris> 日本語がおかしくなった(爆 20:29:40 <#ぱそ:shiracha> とりあえず、ampedさん。いくつか数学の質問ですー。 20:29:51 <#ぱそ:shiracha> 1つめ。 0 / 10  はなーんだ? 20:30:09 <#ぱそ:amped> 0ですよね、どう考えても。 20:30:12 <#ぱそ:shiracha> うん 20:30:40 <#ぱそ:shiracha> 2つめ。 1000 を 10 で 何回割ると 0 になる? 20:30:40 <#ぱそ:Morris> #ああ、変数aはデバッグのために一度小数点型にしてみることをお勧めする 20:31:02 <#ぱそ:amped> 3回かなぁ 20:31:32 <#ぱそ:amped> 1000 / 10 ⇒ 100 / 10 ⇒ 10/10 ⇒ 1/10 20:31:36 <#ぱそ:amped> あ、4回だ 20:31:41 <#ぱそ:Morris> こらこら 20:31:50 <#ぱそ:shiracha> ((((1000 / 10) / 10) / 10) / 10) = 0だね 20:32:03 <#ぱそ:Morris> その「1000」を小数点型で考えると絶対に0には鳴らないので 20:32:15 <#ぱそ:Morris> 「1000」はint型である、という前置きが必要ね 20:32:23 <#ぱそ:shiracha> 固定小数点数ならなりますよー。浮動小数点数では無いけどね。 20:32:33 <#ぱそ:shiracha> そして数学の話なので、なるんですけどね。 20:32:51 <#ぱそ:shiracha> 3つめ。 1000の桁数はなーんだ? 20:32:54 <#ぱそ:Morris> 変数の型はプログラミング上非常に重要です。バグの元だったりする 20:32:56 <#ぱそ:amped> 4ケタ 20:33:21 <#ぱそ:amped> あータンマ、少し考える時間ください 20:33:37 <#ぱそ:shiracha> はい。 20:33:52 <#ぱそ:shiracha> ちょうど、質問はここまでだったのでOKですよ 20:34:45 <#ぱそ:Morris> aを小数点型にして、ループ中にデバッグ出力すれば、すぐにわかると思うんですけどね……(指くわえ 20:34:48 <#ぱそ:amped> ああ、なるほど分かった。 20:34:54 <#ぱそ:amped> なんとなく理屈は分かった 20:35:25 <#ぱそ:shiracha> #本当、型大事ですよね。私、普段は研究室で言語設計学を扱っているので、そこ強く主張したいけど、初心者の方は論理をたどって、ゆったり慣れるのが、私はいいかなと想うのでした。 20:35:28 <#ぱそ:amped> 1000(ここではa)の数字が10で割られて、100になる⇒繰り返して1のケタになるまで。 20:35:58 <#ぱそ:amped> あれ、でもa > 1とかじゃあ、最初のループで100 20:36:04 <#ぱそ:amped> aが100になってますよね 20:36:08 <#ぱそ:Morris> もしもーし 20:36:14 <#ぱそ:Morris> aじゃなくxね 20:36:20 <#ぱそ:amped> ああ、そうだった。 20:36:31 <#ぱそ:showaway> #うち、院の時は、言語設計学でした 20:36:43 <#ぱそ:shiracha> #showawayさんなかーま! 20:36:59 <#ぱそ:showaway> #厳密に言うとちと違うけど(おひ) 20:37:06 <#ぱそ:Morris> 混乱してると思うので、注釈を 20:37:11 <#ぱそ:shiracha> #私はちょうど今、院生です。先輩−。 20:37:27 <#ぱそ:Morris> ampedさんのやり方は、割る方の数を10倍にしていくやり方 20:37:51 <#ぱそ:Morris> shirachaさんのやり方は、前回の割った結果をまた10で割るやり方 20:38:04 <#ぱそ:showaway> #まあ、昔々の話なので>院 20:38:13 <#ぱそ:Morris> 結果は一緒なんだけど、ちょっと方法が違ってるので、混乱しないようにねー 20:38:31 <#ぱそ:amped> あ、あああー!!! 20:38:38 <#ぱそ:shiracha> うん。だから、ampedさんのためには、数式を少し変形する必要があるよ。 20:38:55 <#ぱそ:showaway> #学士論文は、全く別のGAだった(おひ) 20:39:00 <#ぱそ:Morris> 数桁の整数だとメモリ問題とか起こらないので、どっちでもいいんだよね 20:39:04 <#ぱそ:shiracha> ヒント4. (1000) / 10 / 10 / 10 / 10 = 1000 / (10*10*10*10) 20:39:08 <#ぱそ:amped> whileの条件って、確かどういうのだっけか・・・ 20:39:21 <#ぱそ:amped> どうしても納得いかないんですよ、もしもa > 9ならですけど 20:39:30 <#ぱそ:amped> それなら最初のループで100と評価された時点で 20:39:36 <#ぱそ:amped> そこでループが終わるはずなんです 20:39:39 <#ぱそ:amped> なのになんで終わらないんですか? 20:39:43 <#ぱそ:Morris> あー 20:39:45 <#ぱそ:Morris> 逆ッスよー 20:40:00 <#ぱそ:Morris> whileは「その条件を満たす間、処理を続ける」 20:40:10 <#ぱそ:Morris> あー 20:40:12 <#ぱそ:shiracha> #学士論文は開発プロセスみたいなことやってました。 20:40:12 <#ぱそ:Morris> ごめん 20:40:21 <#ぱそ:Morris> 僕が間違ってました。撤回。 20:40:43 <#ぱそ:Morris> whileは結果がtrueになれば抜けるんだ。 20:41:01 <#ぱそ:shiracha> NOOOOOO 20:41:07 <#ぱそ:Morris> until(BASICにはある)が、trueの間続けるんだ。 20:41:15 <#ぱそ:shiracha> while( false ) { System.out.println("is run???"); } 20:41:18 <#ぱそ:amped> つまりどういうことだってばよぇ・・・ 20:41:20 <#ぱそ:shiracha> DO IT NOW!!! > Morrisさん 20:41:43 <#ぱそ:showaway> #デバッグは、まあ、デバッグ出力するのもいいけど、紙に書いてシミュレーションするのもええと思うんだな 20:42:01 <#ぱそ:Morris> まあデバッグ出力してみれば一発でわかると最初から言ってるんだけどなー(ぶつぶつ 20:42:01 <#ぱそ:amped> 紙に書いてシュミレーションして10を倍にしていくやり方を思いついたんです 20:42:10 <#ぱそ:amped> やってみましたよ? 20:42:17 <#ぱそ:shiracha> #うん。というか、紙と頭でしっかり考えることを覚えないと、出てきた物から、何も考えられないって面があって。 20:42:18 <#ぱそ:amped> でもどうしても最初の処理でaが100になってるんですよ 20:42:38 <#ぱそ:SiIdeKei> #昔々BASICで似たようなことをやった時には、『数値を文字列にして、その文字列長を返す関数(LENだっけか?)を使う』という変態なことをやっていた記憶がある。変態!変態! 20:42:53 <#ぱそ:Morris> ええと 20:43:07 <#ぱそ:Morris> 今の時点のプログラムをもう一度上げてもらっていいですか? 20:43:11 <#ぱそ:shiracha> そういうときはまず入力をしているところを見てみようか。>aが100になっている 20:43:26 <#ぱそ:amped> 了解しました。 20:43:27 <#ぱそ:Morris> >20:39 どうしても納得いかないんですよ、もしもa > 9ならですけど 20:43:37 <#ぱそ:Morris> なんか最初のプログラムと不等号の向きが逆なんですけど 20:44:08 <#ぱそ:shiracha> あー。てか二人でアドバイスしてたら混乱させるので、私が黙りますorz変な入り方してすいませんorz 20:44:19 <#ぱそ:showaway> #いや、大丈夫。変態じゃないよ>文字列長 20:44:20 <#ぱそ:amped> http://uploadr.net/file/f256872cc4 20:44:48 <#ぱそ:amped> あ、出力結果書くの忘れてた・・・ 20:45:24 <#ぱそ:amped> http://uploadr.net/file/5be1f49639 20:45:31 <#ぱそ:amped> 下に出力結果が書いています 20:45:33 <#ぱそ:Morris> #デバッグ出力するときは、出た数字が何を表してるのかわかるように、「a=」とか入れましょうねー。 20:45:39 <#ぱそ:showaway> #文字列長のほうが大分スマートだと思う 20:47:14 <#ぱそ:shiracha> #そんなことよりHaskellやろうぜ 20:48:32 <#ぱそ:amped> 返事を待ってた、すいません。 20:48:33 <#ぱそ:shiracha> これはね 20:48:36 <#ぱそ:shiracha> y = 1; 20:48:39 <#ぱそ:shiracha> z = 0; 20:48:40 <#ぱそ:Morris> 電話中 20:48:41 <#ぱそ:shiracha> から始めていることを 20:48:44 <#ぱそ:shiracha> 注目しよう 20:49:09 <#ぱそ:shiracha> doに入った瞬間。y = 1なんだね 20:49:12 <#ぱそ:shiracha> で、その直後に 20:49:16 <#ぱそ:shiracha> a = x / y;をしているんだね 20:49:19 <#ぱそ:shiracha> 何が起きるかな? 20:50:34 <#ぱそ:amped> そりゃまあ、1のケタ以外の数字は無くなりますよねぇー 20:50:45 <#ぱそ:Morris> ぶー 20:50:53 <#ぱそ:shiracha> x / yをもうちょっとよく考えようか 20:51:09 <#ぱそ:shiracha> このとき。y = 1だった。そして、x = 100だね? 20:51:18 <#ぱそ:shiracha> だから、x / yっていうのは・・・さて、数に直すとなーんだ? 20:51:38 <#ぱそ:amped> aにx をyで割った数が入りますよね。 20:51:45 <#ぱそ:shiracha> そうだよ。 20:51:50 <#ぱそ:shiracha> 100 / 1は、なーんだ? 20:51:55 <#ぱそ:amped> でもそれじゃあaは100になって、a > 9 になっちゃいます・・・ 20:52:06 <#ぱそ:shiracha> そうだね。 20:52:09 <#ぱそ:amped> そしたらtrue判定になるはずだったんですよ、ひょっとして。 20:52:19 <#ぱそ:shiracha> あ、そうそうMorrisさん間違えてるから。 20:52:34 <#ぱそ:amped> ひょっとしてだけど、whileは、trueだと抜けなくてfalseだと抜けるんですか? 20:52:39 <#ぱそ:shiracha> while( false ) { System.out.println("1度でも実行されるか見てみよう"); } 20:52:43 <#ぱそ:shiracha> こういう実験のコードを書いてみて。 20:52:59 <#ぱそ:Morris> 電話終了。 20:53:10 <#ぱそ:Morris> そうだよー 20:53:19 <#ぱそ:Morris> いつも間違えてるんだよー>whileの結果 20:53:41 <#ぱそ:amped> な、なんだってー! 20:53:46 <#ぱそ:amped> それなら納得できたというか理解できた 20:53:49 <#ぱそ:Morris> 「while(true)」は永久ループになる 20:53:52 <#ぱそ:Morris> 「while(true)」は永久ループになる 20:53:53 <#ぱそ:Morris> 「while(true)」は永久ループになる 20:53:55 <#ぱそ:amped> つまりwhileの認識を間違えてたって事だってばかよ・・・ 20:53:55 <#ぱそ:Morris> よし覚えた 20:53:57 <#ぱそ:Morris> ……かな? 20:54:25 <#ぱそ:amped> 覚えた。 20:54:38 <#ぱそ:Morris> 僕も覚えなきゃ。 20:54:53 <#ぱそ:shiracha> まあそういうときにこそ、実験をやってみるんだ。まだ仕様書を直に当たるのは混乱するだろうから、いい加減なコードを書く前に、別の簡単な環境で数行書いてみる。 20:54:55 <#ぱそ:Morris> http://dictionary.goo.ne.jp/leaf/ej3/94276/m0u/while/ 20:55:05 <#ぱそ:shiracha> デバグ出力と同じくらい、威力があることだから、覚えておくといいよ 20:55:13 <#ぱそ:Morris> >1 …するうちに;…の間ずっと, するかぎりは 20:55:43 <#ぱそ:Morris> http://dictionary.goo.ne.jp/leaf/ej3/90781/m0u/until/ 20:55:52 <#ぱそ:Morris> >1 ((継続・反復の終了時を示して))…まで(続けて) 20:56:19 <#ぱそ:amped> あれ、じゃあutilがtrueになるまで抜けないやつなんですか? 20:56:27 <#ぱそ:Morris> 合い言葉は『「while(true)」は永久ループになる』 20:56:52 <#ぱそ:Morris> プログラムの勉強の前に英語の勉強だね(苦笑) 20:57:00 <#ぱそ:Morris> まあ、untilは忘れて。 20:57:08 <#ぱそ:Morris> BASIC以外の言語では使わない。 20:57:16 <#ぱそ:Morris> というか今はBASIC(VB)でも使わない。 20:57:21 <#ぱそ:Morris> whileで統一。 20:57:24 <#ぱそ:shiracha> ちなみにMorrisさんの今の英語の話は 20:57:35 <#ぱそ:V-zEn_W_C> #ANSI Cで int true = 0; って書けば大丈夫だよ!(やらない 20:57:36 <#ぱそ:shiracha> true と falseのどっちの時に、繰り返すのかとは 20:57:47 V-zEn_W_C -> V-zEnWORK 20:57:48 <#ぱそ:shiracha> あまり関係のないことじゃないかな 20:57:57 <#ぱそ:shiracha> そうでない人はそうでないかもしれないけど 20:58:25 <#ぱそ:Morris> 人それぞれだね 20:58:29 <#ぱそ:aspha> #せめてdefineしてください > int true=... 20:58:36 <#ぱそ:Morris> さっきの通り、英和辞書引いてみれば 20:58:41 <#ぱそ:Morris> …の間ずっと 20:58:53 <#ぱそ:shiracha> #Cではよく TRUE = !FALSE になってたっけか・・・。 20:58:54 <#ぱそ:Morris> という意味があることがわかる。 20:59:21 <#ぱそ:Morris> さて本題に戻ろう 20:59:25 <#ぱそ:V-zEnWORK> #やだなあ。Cのdefineは大文字がなんとなく不文律じゃないかw 20:59:44 <#ぱそ:Morris> というわけで、命令。 20:59:50 <#ぱそ:Morris> aを小数点型にしてください。 2010/06/30 21:00:00 21:00:12 <#ぱそ:Morris> そして、1000のようなキリのいい数字でなく、1259のような適当な数字を入れること。 21:00:17 <#ぱそ:shiracha> 型にこだわるなら、浮動小数点型ね。 21:00:19 <#ぱそ:Morris> そうすれば見えるはず。 21:00:26 <#ぱそ:shiracha> 間違えた 21:00:26 <#ぱそ:Morris> 浮動小数点型ね。 21:00:29 <#ぱそ:shiracha> 浮動小数点数型 21:00:40 <#ぱそ:Morris> 型の名前なんか知らないやい(爆 21:00:51 <#ぱそ:amped> 小数点型ってdoubleとかですね。 21:00:54 <#ぱそ:Morris> float型かdouble型でいいんじゃー! 21:01:02 <#ぱそ:Morris> ……今でもfloat型ってあるのかな? 21:01:04 <#ぱそ:shiracha> そう。doubleとかfloatだよ 21:01:22 <#ぱそ:Morris> あとまあ、おまけで 21:01:22 <#ぱそ:shiracha> #floatはあるです。DirectXやらOpenGLがよく使ってます。DoubleのほうがCPUでは演算速度速くなったりしますが。。。 21:01:48 <#ぱそ:Morris> >20:45 #デバッグ出力するときは、出た数字が何を表してるのかわかるように、「a=」とか入れましょうねー。 21:01:55 <#ぱそ:Morris> これに加えて 21:01:57 <#ぱそ:amped> 別に、最初の数字に.0がついただけのように見えます>出力結果 21:02:14 <#ぱそ:Morris> ループの区切りを示すために、「----」とか入れとくといい。 21:02:18 <#ぱそ:Morris> もとい 21:02:26 <#ぱそ:Morris> ループの区切りを示すために、「----」とか出力するように入れとくといい。 21:02:34 <#ぱそ:Morris> あー 21:02:51 <#ぱそ:Morris> xもyもintだから結果もintになるのか…… 21:02:55 <#ぱそ:Morris> そんなことあったな…… 21:03:12 <#ぱそ:amped> yもzもdoubleにするんですか? 21:03:15 <#ぱそ:Morris> 「試しに」全部doubleとかfloatとかにして 21:03:29 <#ぱそ:Morris> zはまあどっちでもいいけど、xとyね 21:04:15 <#ぱそ:shiracha> #そういえばJavaのfloatってIEEE 754だっけか? 21:04:19 ! HORIZON (Ping timeout) 21:05:04 <#ぱそ:shiracha> #あってたらしい。 21:06:14 <#ぱそ:amped> とりあえずしたら、何か数字が左から右へと移っていってます 21:06:40 <#ぱそ:Morris> 出力結果うp 21:07:33 <#ぱそ:amped> うpりますー 21:08:16 <#ぱそ:amped> http://uploadr.net/file/8a7221a5a7 21:08:48 <#ぱそ:Morris> ここまではOK 21:08:52 <#ぱそ:Morris> じゃあ、次 21:09:10 <#ぱそ:Morris> 入力する数字を97659にして、再実行 21:09:27 <#ぱそ:Morris> 頭が9なら何でもいいよ 21:09:32 <#ぱそ:Morris> そして実行結果うp 21:10:32 <#ぱそ:aspha> ふむ 21:11:12 <#ぱそ:amped> 了解 21:11:49 <#ぱそ:Morris> #ちなみに、ここに実は「変数がdouble型」であることのトリックが隠れてたりします 21:12:06 <#ぱそ:Morris> #int型にするとまた違った結果になるんですが、それはまた後で。 21:12:07 <#ぱそ:amped> http://uploadr.net/file/d80a54d3b0 21:12:43 <#ぱそ:Morris> はい、予想通り。 21:12:50 <#ぱそ:Morris> さっきは成功して、今度は失敗してる。 21:12:52 <#ぱそ:Morris> なんでかな? 21:14:12 <#ぱそ:amped> 6桁・・・?あれ、本当に6桁になってる、1桁増えてる? 21:14:25 <#ぱそ:Morris> まあ、ここで一旦紙に戻って、理論を考え直すのもアリかもしれないね 21:15:04 <#ぱそ:amped> なんでかといわれれば、数字が6桁の状態で読み込んでしまってますね 21:15:08 <#ぱそ:Morris> 僕が寝なきゃならないので、ちょっとネタバレすると 21:15:24 <#ぱそ:Morris> >z=5.0 21:15:24 <#ぱそ:Morris> >a=9.7659 21:15:29 <#ぱそ:Morris> 2回目の結果のこれと 21:15:45 <#ぱそ:Morris> z=4.0 21:15:46 <#ぱそ:Morris> a=1.234 21:15:51 <#ぱそ:Morris> 1回目の結果のこれ 21:16:10 <#ぱそ:Morris> aは同じ一桁なのに、1回目はここで止まって、2回目はさらにもう1回行ってる 21:16:14 <#ぱそ:Morris> なんでかな? 21:17:47 <#ぱそ:amped> 9以上だから? 21:18:27 <#ぱそ:Morris> ということは? 21:18:35 <#ぱそ:Morris> プログラムを正しくするためには? 21:18:56 <#ぱそ:shiracha> #しかしこれ、話を a >= 10.0あたりにしても、あるいは乗算ででε-δみたいな状況を作っても、計算機イプシロンの話が出てきてややこしくなるような。。。 21:18:59 <#ぱそ:shiracha> おっと 21:19:13 <#ぱそ:Morris> #ちなみに、「9以上だから」じゃなくて、「9より大きいから」ね。 21:19:15 <#ぱそ:amped> a > 0にしなきゃいけない! 21:19:20 <#ぱそ:Morris> #イコールが入るかどうかは重要。 21:19:49 <#ぱそ:Morris> じゃあそれでとりあえず試してみようか 21:19:55 <#ぱそ:Morris> と言いたいけど 21:19:57 <#ぱそ:amped> あ、駄目でした 21:20:00 <#ぱそ:shiracha> ampedさん。落ち着こう。よく観察するんだ。 21:20:00 <#ぱそ:Morris> 結果を先に行っておく 21:20:08 <#ぱそ:Morris> double型だからダメなんだよw 21:20:22 <#ぱそ:Morris> int型なら成功するんだけどね。 21:20:53 <#ぱそ:amped> 成功しました。 21:21:01 <#ぱそ:amped> これで正確なプログラミング? 21:21:38 <#ぱそ:Morris> とりあえず、答えが正しいなら、それは正しいプログラムでしょうね 21:21:44 <#ぱそ:Morris> でも 21:21:59 <#ぱそ:Morris> なんでdoubleだとダメで、intだといいのか、考えてもらいたい 21:22:08 <#ぱそ:Morris> もうちょっと道は先に伸びてる。 21:22:56 <#ぱそ:shiracha> そう。マンハッタンな距離の世界まで伸びてる 21:23:21 <#ぱそ:Morris> #注意:楽天が逆転サヨナラホームランで負けて僕はちょっと不機嫌になってます 21:23:54 <#ぱそ:shiracha> #それは、残念感。。。 21:24:45 <#ぱそ:Morris> #8回まで1−1で、9回表に1点取って2−1。そこから9回裏にサヨナラ2ランなので怒り心頭 21:24:53 <#ぱそ:Morris> #まあそれはほっとこう 21:24:55 <#ぱそ:amped> あー、どうしよう。なぜ駄目なんだろうか・・・ 21:25:10 <#ぱそ:Morris> doubleとintの違いは何かな? 21:25:23 <#ぱそ:amped> 小数点があるのかないのかの違い。 21:25:29 <#ぱそ:Morris> そうだよね 21:25:38 <#ぱそ:amped> 小数点が存在するから駄目なのかな。 21:26:02 <#ぱそ:Morris> よく考えてみよう 21:26:02 <#ぱそ:Morris> a=0.1としとこう 21:26:07 <#ぱそ:Morris> で、aをint型とdouble型で考えてみる。 21:26:15 <#ぱそ:Morris> 判定は「a > 0」だ 21:26:26 <#ぱそ:amped> あ、0以上だから駄目なんだ・・・・ 21:26:27 <#ぱそ:Morris> int: 0 > 0 : false 21:26:37 <#ぱそ:Morris> double: 0.1 > 0 : true 21:26:41 <#ぱそ:amped> ずっと永遠ループを続けてしまう! 21:27:02 <#ぱそ:Morris> というわけで、もう一度理論を見直してみよう。 21:27:05 <#ぱそ:amped> yが10倍増えてそれがまた0.1を割ってまたyが10倍まで増えて。 21:28:11 <#ぱそ:Morris> 「> 0」だからダメ。これは正解。 21:28:13 <#ぱそ:amped> これじゃあ、小数を10で割っていくしかないじゃないですか? 21:28:19 <#ぱそ:Morris> でも、口酸っぱくして言うけど 21:28:35 <#ぱそ:Morris> 「0以上」じゃないからね!「0より大きい」だからね! 21:28:41 <#ぱそ:Morris> イコール入るかどうかは重要だからね! 21:29:58 <#ぱそ:showaway> つるぺたついんてーるつんでれ風らしい<勝手に決め付ける 21:29:59 <#ぱそ:amped> 0より大きい、よし、覚えた。 21:31:18 <#ぱそ:Morris> さて 21:31:35 <#ぱそ:Morris> ampedさんが紙に書いた理論を簡潔にまとめてあげてもらいたい 21:32:12 <#ぱそ:Morris> >20:41 紙に書いてシュミレーションして10を倍にしていくやり方を思いついたんです 21:32:18 <#ぱそ:Morris> シュミレーションでなくシミュレーション 21:32:22 <#ぱそ:Morris> というツッコミはさておき 21:32:34 <#ぱそ:Morris> 10を倍にしていって、どうなったら終わるんだっけ? 21:33:30 <#ぱそ:amped> えーと、少しまとめさせて。 21:35:11 <#ぱそ:amped> 割り切れなくなって終わり、なんですよ>10を倍にしていって。 21:35:34 <#ぱそ:Morris> 割り切れなくなって、という言い方は間違いですね 21:35:48 <#ぱそ:Morris> もっと正確に言うと? 21:36:54 <#ぱそ:Morris> #被除数が有理数で除数が10の累乗数なら、割り切れなくなることは数学的にはあり得ない 21:37:02 <#ぱそ:Morris> #もとい 21:37:08 <#ぱそ:Morris> #被除数が有限小数で除数が10の累乗数なら、割り切れなくなることは数学的にはあり得ない 21:38:02 <#ぱそ:Morris> #ここにint型とdouble型のトリックが隠れてるけど、とりあえず今は無視 21:38:12 <#ぱそ:amped> 被除数?有理数?有限小数? 21:38:31 <#ぱそ:Morris> 「#」ついた発言は無視しといてください 21:38:38 <#ぱそ:Morris> 本編とは関係ない流れなので 21:39:14 <#ぱそ:amped> 割る数字がないとか? 21:39:22 <#ぱそ:amped> あ、割っても小数になる? 21:39:29 <#ぱそ:Morris> 割る数字はどんどん10倍になっていきますよね? 21:39:43 <#ぱそ:Morris> キリのいい数字じゃないと割ると小数になりますよね? 21:39:49 <#ぱそ:Morris> というわけで、どちらも間違い。 21:40:40 <#ぱそ:amped> その割った数字が 21:40:46 <#ぱそ:shiracha> #まあつまり、マンハッタンまで距離が続いているのですね。 21:40:53 <#ぱそ:amped> 0より小さい場合に終わる。 21:41:30 <#ぱそ:Morris> 正の数を正の数で割って、0より小さい=マイナスの数になるかな?ならないよね? 21:41:42 <#ぱそ:Morris> というわけで間違いだけど、だいぶ近づいている 21:42:02 <#ぱそ:shiracha> #ぶっちゃけると何故この時点の初心者さんにdouble/floatの話題を出すのかがががが。まず整数で問題がとけてからにしたら良かったんじゃないかなあ。 21:42:06 <#ぱそ:Morris> ちなみに「割った数字」って「A÷B=C」のABCどれだよ 21:42:09 <#ぱそ:Morris> (w 21:42:51 <#ぱそ:Morris> #整数では一度問題解けてます。 21:43:11 <#ぱそ:Morris> >21:19 double型だからダメなんだよw 21:43:11 <#ぱそ:Morris> >21:20 int型なら成功するんだけどね。 21:43:16 <#ぱそ:Morris> #この時点で。 21:46:04 <#ぱそ:amped> 割った数字はCだと思います 21:46:16 <#ぱそ:amped> 割る数字/割られる数字=割った数字 21:46:39 <#ぱそ:amped> あー、待って・・・ 21:47:08 <#ぱそ:Morris> #いや人によってABCのどれを意味するか違うんだよw 21:47:43 <#ぱそ:Morris> #「Aを割った、からAが割った数字」「Bで割った、だからBが割った数字」「Cが割って出た答え、だからCが割った数字」 21:47:54 <#ぱそ:Morris> #ってこんな言葉遊びしてる場合じゃない。 21:47:57 <#ぱそ:amped> あ、分かった。 21:48:18 <#ぱそ:amped> aが0と等しくなれば、ですか?int型なら、での話ですが 21:48:24 + Pikoyan(~Pikoyan@p1239-ipbf1006funabasi.chiba.ocn.ne.jp) to #ぱそ 21:48:33 <#ぱそ:Morris> int型なら、正解です。 21:48:41 <#ぱそ:Morris> では、double型なら?数学的には? 21:48:52 <#ぱそ:Morris> 今日はそこまで考えてもらいたいです 21:49:36 <#ぱそ:Morris> そこでさっきの出力結果が実はヒントになってますよよよ 21:49:49 <#ぱそ:Morris> >21:11 http://uploadr.net/file/d80a54d3b0 21:50:32 <#ぱそ:Morris> あと、実はもう1個伏線があったりする 21:51:18 <#ぱそ:Morris> >20:48 y = 1; 21:51:18 <#ぱそ:Morris> >(中略) 21:51:18 <#ぱそ:Morris> >20:48 から始めていることを 21:51:18 <#ぱそ:Morris> >20:48 注目しよう 21:51:18 <#ぱそ:Morris> >20:49 doに入った瞬間。y = 1なんだね 21:51:42 <#ぱそ:amped> あー待てよ、まさかとは思うし、もし間違えてたならスルーしてほしいけど 21:51:58 <#ぱそ:amped> yの数字がxの数字を超えたら? 21:52:07 <#ぱそ:Morris> だいせいかい〜♪ 21:52:29 <#ぱそ:amped> そしたら0......になるじゃないですかー! 21:52:39 <#ぱそ:amped> ああそれってそういう。 21:52:43 <#ぱそ:Morris> y>xだったら、int型だと0になるよね 21:52:55 <#ぱそ:Morris> だから 0 > 0 でfalseになる。 21:52:58 ! LizardMen ("brinGmeBAckthereIaMaLivehereIwilLneverletYouforgetabOutme") 21:53:03 <#ぱそ:Morris> で、double型では? 21:53:05 <#ぱそ:amped> で、double型だと何がなんでも0以上になっちゃう 21:53:13 <#ぱそ:Morris> 0以上になっちゃうんだけど? 21:53:15 <#ぱそ:amped> そしたらtrueになって永遠ループ 21:53:22 <#ぱそ:amped> ああ違った 21:53:24 <#ぱそ:amped> 0より大きくなる 21:53:30 <#ぱそ:amped> ああなんかどうしても間違えてしまうなぁ・・・ 21:53:47 <#ぱそ:Morris> 0以上になっちゃうんだけど?それまでの計算結果との違いは? 21:54:13 <#ぱそ:amped> ずっと割り続けてるか割り続けてないかの差 21:54:15 <#ぱそ:amped> だと思います 21:54:18 <#ぱそ:Morris> ぶー 21:54:23 <#ぱそ:Morris> 時間ないので答え言っちゃう 21:54:32 <#ぱそ:Morris> 「整数部分が0になってる」。 21:54:42 <#ぱそ:Morris> だから、int型に入れると0になるんですよ。 21:54:47 <#ぱそ:amped> あ、あー! 21:54:50 <#ぱそ:amped> なるほど、だからか! 21:54:58 <#ぱそ:amped> int型が成功して、double型では失敗するのは 21:55:13 <#ぱそ:amped> int型には0と1の間の数字がないのか! 21:55:25 <#ぱそ:amped> だから0の時点で0と評価されて 21:55:33 <#ぱそ:Morris> というわけで、double型の時は、「a >= 1」か「a > 1」のどちらかが正解になる。 21:55:35 <#ぱそ:amped> そこでおしまいになるけど、double型だと? 21:55:51 <#ぱそ:Morris> どっちが正解かは、1000とかのキリのいい数字入れてみれば一発。 21:56:23 <#ぱそ:Morris> ここで、僕が口を酸っぱくして言ってた、「イコールが入るかどうかは重要」につながる。 21:57:05 <#ぱそ:amped> 解析結果を見ると。 21:57:22 <#ぱそ:shiracha> #まあ大事なんですけど、うーん。納得いかねえ。それって実際はどっちも間違いなんですもの。 21:57:26 <#ぱそ:amped> >a=1.0 21:57:44 <#ぱそ:Morris> #ん? 21:57:50 <#ぱそ:shiracha> #計算機イプシロンで検索なさって。 21:57:53 <#ぱそ:amped> つまり、>=は1と等しいかそれ以上かって話になるから 21:58:09 <#ぱそ:amped> そこでtrueになる 21:58:38 <#ぱそ:Morris> #計算誤差のことか 21:58:54 <#ぱそ:shiracha> #うーん・・・。 21:58:55 <#ぱそ:Morris> #それはまだこの段階では問題にならないよ 21:59:01 <#ぱそ:Morris> #この段階では、ね 21:59:43 <#ぱそ:shiracha> #もちろん小数点下の数の方を問題にしたかったのはわかるんですが、うーん。 21:59:48 <#ぱそ:Morris> でまあ、そろそろ寝なきゃいけないので勝手に話を進めるけど 2010/06/30 22:00:00 22:00:16 <#ぱそ:Morris> 単に「a >= 1」か「a > 1」かどちらかの正解を入れると 22:01:24 <#ぱそ:Morris> >20:49 doに入った瞬間。y = 1なんだね 22:01:55 <#ぱそ:Morris> 正解ルートを辿ると、zは常に桁数+1になるはずですよ。 22:02:16 <#ぱそ:Morris> なので、最終的にzを1減らすか 22:02:26 <#ぱそ:Morris> yの初期値を10にする。 22:02:33 <#ぱそ:Morris> このどっちかの処理が必要になりますね。 22:02:46 <#ぱそ:Morris> と言い残して僕は去ります。 22:03:08 <#ぱそ:Morris> 中途半端でごめんなさい。 22:03:43 ! ao_note ("帰") 22:04:08 <#ぱそ:shiracha> #まあ私の突っ込みは趣味の問題になってたかなあ。うーん。 22:04:10 <#ぱそ:Morris> 例だけ書いとく 22:04:27 <#ぱそ:Morris> 入力値:1235 y初期値:1 z初期値:0 22:04:33 <#ぱそ:shiracha> #Morrisさんお疲れ様でした。変な突っ込み入れてすいません。お休みなさい−。 22:04:53 <#ぱそ:Morris> 1回目:割った結果が1235 y10倍して10 z++して1 22:05:02 <#ぱそ:Morris> 2回目:割った結果が123.5 y10倍して100 z++して2 22:05:17 <#ぱそ:Morris> 3回目:割った結果が12.35 y10倍して1000 z++して3 22:05:28 <#ぱそ:Morris> 4回目:割った結果が1.235 y10倍して10000 z++して4 22:05:38 <#ぱそ:Morris> 5回目:割った結果が0.1235 y10倍して100000 z++して5 22:05:44 <#ぱそ:Morris> ここでループ終了 22:05:49 <#ぱそ:Morris> ね、zは1多いでしょ? 22:06:39 <#ぱそ:Morris> #もういっこ、whileをループの前に持ってくる、という解決法もあるけど、その言語で通用するかどうかは知らない 22:06:50 <#ぱそ:amped> まあしょっぱなからちゃんと1から割れって話なのかなぁ。 22:07:04 <#ぱそ:amped> あ、double型で.0があったらの話なんですけどね 22:08:01 <#ぱそ:Morris> #違う、変わらない>ループの前に持ってくる 22:08:25 <#ぱそ:Morris> #ウソつきましたごめんなさい 22:08:57 <#ぱそ:Morris> #割ってaに入れる式とyを10倍する式の順番を逆にする、が正解のひとつか 22:09:13 <#ぱそ:Morris> #まあそこらへんはいろいろ検証しといて〜 22:09:53 <#ぱそ:amped> ところで、ここまで考えた理由ってなんなんだろう・・・ 22:10:16 <#ぱそ:shiracha> たぶんMorrisさんの意図は、厳密に区別することを、覚えようってことかな。 22:10:24 <#ぱそ:shiracha> それは、大事だから私からも、おすすめするよ 22:11:39 <#ぱそ:Morris> 実はね 22:12:01 <#ぱそ:Morris> int型だと、「a > 0」と「a >= 1」は同じなんだよね 22:12:10 <#ぱそ:Morris> だから、どっち使っても正解になる 22:12:22 <#ぱそ:Morris> でも、double型や、数学の世界では、違うでしょ? 22:12:35 <#ぱそ:Morris> それを覚えておいて欲しかった。 22:13:21 <#ぱそ:Morris> 以前、理論を練るのがプログラミングで、打ち込むのがコーディングだという話をした覚えがあるよね 22:13:25 <#ぱそ:amped> doubleと整数は違う!(プログラミングの世界、数学の世界では)というのか。 22:13:47 <#ぱそ:amped> というのか、じゃない、という事か、だった! 22:14:08 <#ぱそ:Morris> コーディングでintを使ったからうまく行きました、ではこの先詰まる時が来る。 22:14:27 <#ぱそ:Morris> プログラミングの段階で、なぜそうなるのかの理論をきちんと固めておかなければならない。 22:14:56 <#ぱそ:Morris> #まあ社会に出ると「納期」のおかげでそういう小手先のテクニック使わなきゃならなくなる場合もあるけど(遠い目 22:15:21 <#ぱそ:amped> つまりプログラミングの段階でもうちっと考えろ、という事ですね。 22:17:24 <#ぱそ:amped> うーん、次から気をつけないと。 22:17:37 <#ぱそ:amped> int型とdouble型の概念の違いを理解できた、これは大きい。 22:21:24 <#ぱそ:amped> あ、あれ 22:21:30 <#ぱそ:amped> 何か自分不味いこと言っちゃった? 22:22:33 <#ぱそ:shiracha> ううん 22:22:37 <#ぱそ:shiracha> いいこといいこと 22:22:52 <#ぱそ:Morris> 反応がなくなったから戸惑ったのか。 22:23:04 <#ぱそ:Morris> 話題が終われば発言なくなるからね 22:23:29 <#ぱそ:Morris> そして僕は寝る準備で忙しくてパソコンの前にいなかった。 22:24:06 <#ぱそ:Morris> まあちなみに 22:24:15 <#ぱそ:Morris> 僕よりもっともっとプログラミング得意な人が 22:24:27 <#ぱそ:Morris> 時間差で後からツッコミ入れるかもしれません。 22:24:36 <#ぱそ:Morris> というか入れて欲しい。僕の成長のために。 22:25:26 <#ぱそ:aspha> うーん、初心者への教え方としては、Morrisさんの教え方でほぼパーフェクトな感じが(汗 22:25:57 <#ぱそ:aspha> あとはそこから先にレベルアップした際に思い出してくれたら、という程度のおまけぐらいしか思いつきませんね。 22:26:06 <#ぱそ:OTE> IRCという媒体だし。ばっちりだと思うよ。 22:26:28 <#ぱそ:OTE> skypeならまた別のやり方もあったかもしれんけど。 22:26:40 <#ぱそ:shiracha> うん。それは、あれはあれでいいと。 22:27:40 <#ぱそ:shiracha> 私はむしろ逆で、情報を追加して欲しかったんじゃなく、なんで待たないのかな、とか、そういうところがちょっと気になったんだと想う。ヒントの与え方とか。 22:27:49 <#ぱそ:shiracha> ただ、教えてない私が言うのはそもそもバカな話で 22:27:56 <#ぱそ:shiracha> Morrisさんに任せて黙るべきだったと想う 22:28:38 <#ぱそ:Morris> まあお互い経験積んでいきましょw 22:28:44 <#ぱそ:Morris> 単に経験の差、かな 22:28:48 <#ぱそ:shiracha> 考える、ということについても、途中で私が出した1000 / 10 / 10 / 10 のような話で、何故同じなのか、数を意識する方がいいんじゃないかなぁ、とか想って。 22:29:00 <#ぱそ:Morris> さて10時半は強制睡眠時間 22:29:06 <#ぱそ:shiracha> あれって、型がちがうから、では無いと想うんですよね。 22:29:11 <#ぱそ:Morris> 夜更かしは敵だ!(だから入院してた) 22:29:15 <#ぱそ:aspha> おやすみなさい。 22:29:21 <#ぱそ:shiracha> お休みなさい。 22:29:33 Morris -> MorrisZZZ 22:29:49 <#ぱそ:MorrisZZZ> あー補足いっこ 22:30:07 <#ぱそ:MorrisZZZ> shirachaさんは最近入ったので知らないでしょうけど 22:30:30 <#ぱそ:MorrisZZZ> 1ヶ月くらい前に、ここで「最終結果が合っていればどんなコード書いてもいいんだ!」という話があったのですよ 22:30:41 <#ぱそ:shiracha> ふむふむ 22:30:44 <#ぱそ:MorrisZZZ> やり方はほとんどの場合複数あるのね 22:30:49 <#ぱそ:shiracha> そうですね。 22:30:56 <#ぱそ:MorrisZZZ> で、状況によって、どれが最善か変わるのね。 22:31:04 <#ぱそ:shiracha> だから、何を考えるのかが大事 22:31:18 <#ぱそ:MorrisZZZ> 状況って言語種類だったりメモリ容量だったり計算速度だったり、他のいろいろ 22:32:15 <#ぱそ:MorrisZZZ> >20:37 ampedさんのやり方は、割る方の数を10倍にしていくやり方 22:32:15 <#ぱそ:MorrisZZZ> >20:37 shirachaさんのやり方は、前回の割った結果をまた10で割るやり方 22:32:15 <#ぱそ:MorrisZZZ> >20:38 結果は一緒なんだけど、ちょっと方法が違ってるので、混乱しないようにねー 22:32:27 <#ぱそ:MorrisZZZ> という補足。 22:32:30 <#ぱそ:MorrisZZZ> さておやすみ 22:32:32 <#ぱそ:shiracha> 私は、結果をまた10で割るやり方は教えませんでした 22:32:35 <#ぱそ:shiracha> あくまで 22:33:02 <#ぱそ:shiracha> 1000 / 10 / 10 / 10 = 1000 / (10 * 10 * 10 * 10)だよねー。ってことを示したんですよ 22:33:46 <#ぱそ:shiracha> それは、あの時点で何故そのコードでいいのか、きっと理解してなかっただろうと想って。 22:33:56 <#ぱそ:shiracha> 勝手な疑いなので、これも酷い話ではあるのですが。 22:34:58 MOTOsleep -> MOTOI 22:35:18 <#ぱそ:shiracha> うーん。まあ黙ろう。 22:37:00 <#ぱそ:MarkN> ・)そしてceil(log(x))が答えだったというオチ ってのはどうでしょう(何 22:38:26 <#ぱそ:shiracha> w 22:39:01 + dain(~dain@220x151x204x243.ap220.ftth.ucom.ne.jp) to #ぱそ 22:39:04 <#ぱそ:shiracha> Javaの対数関数ってデフォルトで底は10でしたっけ? 22:39:15 <#ぱそ:OTE> ですよ 22:39:22 <#ぱそ:shiracha> eじゃないんだ。なるほど 22:42:54 <#ぱそ:aspha> lnが自然対数になってくれるんじゃないかしらん 22:43:25 <#ぱそ:shiracha> 10が底の物はMath.log10だそうです 22:43:47 + PenEE(~penee@e3d150.BFL34.vectant.ne.jp) to #ぱそ 22:43:50 <#ぱそ:shiracha> 少し勉強になった。 22:43:56 <#ぱそ:OTE> ありり 22:44:02 <#ぱそ:OTE> 間違えて覚えてたか? 22:44:10 <#ぱそ:aspha> しかしlogは卑怯ですよw len(itoa(X))とかそんな感じの関数があれば、この方法でもいけそーだけど。 22:44:12 <#ぱそ:MarkN> ・)log10じゃないとダメでしたね 22:44:21 <#ぱそ:OTE> あたーー 22:44:25 <#ぱそ:OTE> orz 22:44:34 <#ぱそ:shiracha> つかむしろlog10が正攻法という話もあるw 22:44:54 <#ぱそ:shiracha> 10進数の桁って 22:45:23 <#ぱそ:shiracha> 100 = 1 * 10^2 + 0 * 10^1 + 0 * 10^0なわけだから 22:45:39 OTE -> OTE_Aw 22:45:53 <#ぱそ:shiracha> 桁っていうか、10進表現の値って、でした。 22:47:37 <#ぱそ:aspha> まあ、そりゃそーなんですけどw 22:47:51 <#ぱそ:aspha> でも私が最初に考えてしまったのもにたようなもんで 22:47:59 <#ぱそ:aspha> 最近、シーケンサーとかばっかり見てるので 22:48:34 <#ぱそ:aspha> バイナリ→BCDにしてから4ビットずつANDかけてチェックすれば……とかバカなこと考えてしまった 22:48:49 <#ぱそ:shiracha> BCDもなかなか強烈 22:49:09 <#ぱそ:shiracha> 否定主導語を見る限りでは、Morrisさんは私が a > 0 っていう比較をさせたがっていると想っていたのかなあ。 22:49:09 <#ぱそ:shiracha> ちなみに私は 22:49:10 <#ぱそ:shiracha> 別の変数に10をどんどん入れていって、割り算をせずに 22:49:24 <#ぱそ:shiracha> 単に、それよりも小さくなった瞬間を取り出そうね。みたいな話につなげるつもりだったりした 22:49:37 <#ぱそ:shiracha> x入れていって oかけていって 22:49:44 <#ぱそ:aspha> if (a > b)で b = 1 / 10 / 100 / 1000 .... 22:49:50 <#ぱそ:aspha> ということね 22:49:58 <#ぱそ:shiracha> しかしMorrisさんが説明しているのをぶった切ると想ったのでやめようとおもったが、なんか逆に迷って酷い事をしてしまって。悪かったです 22:50:31 <#ぱそ:shiracha> あとマンハッタンな距離の道がつながっているのさー。というのは 22:50:42 <#ぱそ:shiracha> マンハッタン距離という、位相の概念が 22:50:55 <#ぱそ:aspha> 外道だけどこの問題だけ解くなら、入力が標準入力文字列なので文字列で数えるのがw 22:50:57 <#ぱそ:shiracha> (たぶんこれこそ無駄知識なんで、ギャグとして言っただけですが) 22:51:06 <#ぱそ:shiracha> 浮動小数点数の不思議な挙動そのものなので 22:51:11 <#ぱそ:shiracha> ちょっと言葉に出してみただけというオチ 22:51:58 <#ぱそ:MarkN> ・)sprintfで指数形式で出力してsscanfで指数部を取り出すひどいアルゴリズムを考えた 22:52:10 <#ぱそ:shiracha> ぶっちゃけるとwhile / untilあたりの話が、逆転したりして出てきたのでちょっと、これは助太刀するべきだと想ったんですよね。 22:52:33 <#ぱそ:shiracha> それも強烈〜。>sprintf 22:53:07 <#ぱそ:aspha> sprintfとかで指数形式にするときにミスって浮動小数点になって、10 → 9.9E+0とかになってミスらんか怖いw 22:54:24 <#ぱそ:shiracha> しかし私の性格は悪いな。 22:54:27 <#ぱそ:aspha> 浮動小数点は何度も痛い目にあってるので、使わなくてよいなら使いたくないブツなのですー。 22:54:29 <#ぱそ:shiracha> これは直さないと。 22:54:49 <#ぱそ:shiracha> 昨日あたりも#コンピュータゲームで迷惑かけたばっかりだし 2010/06/30 23:00:00 23:01:50 ! tatsu114 ("視野を広げたい") 23:11:57 + kairi(~kairi@i125-202-185-189.s10.a030.ap.plala.or.jp) to #ぱそ 23:19:24 Yad_Away -> Yaduka 23:33:12 ! amped ("Leaving...") 23:52:18 Fish -> Fish_away 23:56:09 ! Pikoyan ("次のピコやんはきっと上手くやってくれるでしょう") 2010/07/01 00:00:22 end