探検
ねねっちと一緒にプログラムを勉強するスレ第2話 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/03/18(土) 13:03:05.05ID:KGlkA67c ぬるぽって何?
559デフォルトの名無しさん
2017/04/23(日) 23:58:34.16ID:d5pkzuTb >>558
お前ら糞虫全般に言えることだけど、いい加減先にググれ
それでも解決しなかったら、質問する前に、私はこうこう思いますけど、これってあってますか?どうなんでしょうか?
って聞く、書くようにしろ
なぜかって?回答する方もお前のその時の理解度がわかるから、無駄な作業が減る上に適切な回答ができるからだよ
staticおじさんの話もそうだ
お前が先んじて彼の評価を書けば無駄なレスなしでより深い議論ができるというものだ
お前ら糞虫全般に言えることだけど、いい加減先にググれ
それでも解決しなかったら、質問する前に、私はこうこう思いますけど、これってあってますか?どうなんでしょうか?
って聞く、書くようにしろ
なぜかって?回答する方もお前のその時の理解度がわかるから、無駄な作業が減る上に適切な回答ができるからだよ
staticおじさんの話もそうだ
お前が先んじて彼の評価を書けば無駄なレスなしでより深い議論ができるというものだ
560デフォルトの名無しさん
2017/04/24(月) 00:36:27.38ID:73H/OgY9 >>558
言い訳おじさんがまた言い訳してる
言い訳おじさんがまた言い訳してる
561デフォルトの名無しさん
2017/04/24(月) 00:52:28.36ID:JE5n6vCM 自作自演にしか見えない……。
562デフォルトの名無しさん
2017/04/24(月) 06:32:08.39ID:9IqpEK8F >>558
もちろんググれば分かるのに何でググらないの?
ここでの評価をググった結果に優先する理由は何?
ここでの評価を優先しようとするくせに
「34歳は頭が悪い」
っていう自分に対する簡単な評価は頑なに認めようとしないのはなんで?
もちろんググれば分かるのに何でググらないの?
ここでの評価をググった結果に優先する理由は何?
ここでの評価を優先しようとするくせに
「34歳は頭が悪い」
っていう自分に対する簡単な評価は頑なに認めようとしないのはなんで?
563デフォルトの名無しさん
2017/04/24(月) 10:08:03.78ID:9YTeQZy3 片山研究所の実験動物にゴチャゴチャ言うなよ
565デフォルトの名無しさん
2017/04/24(月) 20:33:17.11ID:9YTeQZy3 実験動物のくせにゴチャゴチャうるせぇな
566デフォルトの名無しさん
2017/04/24(月) 20:48:58.13ID:TSPMV/hI ネット環境得てからクズ度がどんどん上がったな
親も失敗だったね
親も失敗だったね
568デフォルトの名無しさん
2017/04/25(火) 18:05:19.79ID:TzUmZKvP 鏡見ろよ
569デフォルトの名無しさん
2017/04/25(火) 18:42:37.81ID:SWAzzsrw >>567
何でそんな頭悪い発言出来るの?
何でそんな頭悪い発言出来るの?
570デフォルトの名無しさん
2017/04/25(火) 21:41:23.98ID:apTIu6Ro もう諦めたら?
571片山博文MZ ◆T6xkBnTXz7B0
2017/04/25(火) 22:36:23.40ID:TBuA3Fu0 Eclipseインストールしてhello, world書いたよ。
572片山博文MZ ◆T6xkBnTXz7B0
2017/04/25(火) 22:53:08.99ID:TBuA3Fu0 Javaは久しぶりだな。何年前になるだろう? 昔、awtでなんか作ってたな。
573片山博文MZ ◆T6xkBnTXz7B0
2017/04/25(火) 22:55:33.57ID:TBuA3Fu0 スマホ開発ではawtは役に立たないから、Javaの基礎からやり直すことにするか。
java.lang.*を見ればいいのか?
java.lang.*を見ればいいのか?
574片山博文MZ ◆T6xkBnTXz7B0
2017/04/25(火) 22:59:57.52ID:TBuA3Fu0 エクリプス、フルインストールで1GB超えてる。まさに巨大なるIDEだ。
注意点としては、C:直下で展開しないと、ファイルパス名が長すぎて展開に失敗するようだ。
注意点としては、C:直下で展開しないと、ファイルパス名が長すぎて展開に失敗するようだ。
一部の攻撃的なレスをする馬鹿に構うとこっちまで悪く見られて損だな。
>>570
やだよ。
>>片山さん
ちょっと便利過ぎるんですよね。
予測変換機能とかあるから、文法を正確に覚えていなくても
書けてしまう場合もあるし。
>>570
やだよ。
>>片山さん
ちょっと便利過ぎるんですよね。
予測変換機能とかあるから、文法を正確に覚えていなくても
書けてしまう場合もあるし。
576デフォルトの名無しさん
2017/04/26(水) 00:14:04.67ID:C1JG3n6h 攻撃的なレスが増えているのは自分の振る舞いのせいなのに・・・
自分に非があるとは思わないんだな
自分に非があるとは思わないんだな
577デフォルトの名無しさん
2017/04/26(水) 00:23:15.56ID:1c8kYD+M 悪く見られてってギャグで言っているのか?
578片山博文MZ ◆T6xkBnTXz7B0
2017/04/26(水) 04:28:25.80ID:ZFKZUpWM579デフォルトの名無しさん
2017/04/26(水) 07:44:56.13ID:mKUyOhF8 インスタグラムのページでソースを表示して、
1枚目の投稿写真のurlを見つけることはできるのですが、
2枚投稿されている場合、2枚目のURLはソースに表示されていないんですかね?
探しても見つからないので。
1枚目の投稿写真のurlを見つけることはできるのですが、
2枚投稿されている場合、2枚目のURLはソースに表示されていないんですかね?
探しても見つからないので。
580デフォルトの名無しさん
2017/04/26(水) 10:13:55.64ID:VMQAT7m5 >>575
お前は悪くない、社会が悪い
お前は悪くない、社会が悪い
582デフォルトの名無しさん
2017/04/26(水) 17:41:55.11ID:VMQAT7m5 お前に良いところなんてないだろ、いい加減にしろ
583デフォルトの名無しさん
2017/04/26(水) 18:09:43.89ID:k4Ao8EcY584デフォルトの名無しさん
2017/04/26(水) 18:21:36.26ID:VMQAT7m5585デフォルトの名無しさん
2017/04/26(水) 18:50:37.59ID:lYhaqZk4586デフォルトの名無しさん
2017/04/26(水) 21:19:59.39ID:Wh7Oh9Mr >>585
しねクズ
しねクズ
587デフォルトの名無しさん
2017/04/26(水) 21:21:37.82ID:Wh7Oh9Mr >>583
黙れうんこ
黙れうんこ
588デフォルトの名無しさん
2017/04/26(水) 21:22:37.79ID:Wh7Oh9Mr さて、AIには真似できないすばらしい反応の手本を見せてもらうとしよう
どんな面白い返しがくるんだろ、わくわく
どんな面白い返しがくるんだろ、わくわく
589デフォルトの名無しさん
2017/04/26(水) 21:24:33.76ID:Wh7Oh9Mr 俺の言葉の深層まで読み取って返してくれんだろうなあ、楽しみだなあ
590デフォルトの名無しさん
2017/04/26(水) 21:26:23.77ID:lYhaqZk4 この度、>>586-587もようなレスをするに至ったことは、
主治医として、大変残念な事であり、
また、治療の効果がまだまだ現れていないことを証明しているため、
そろそろ最終的な決断を下す必要があるようです。
みなさんお聞きになったことがあるかもしれませんが、
必ずしも心の病は、特殊な病気ではなく、誰もがそうなる可能性があります。
しかし、だからといって、これ以上、Wh7Oh9Mr を放置することは、例えば何の関係もない人を傷つけたり、
逆にWh7Oh9Mr 自身の将来にとり、名から図示も良いことではありません。
そこで、私は、Wh7Oh9Mr の両親、臨床心理士などとも相談して、
Wh7Oh9Mr をしばらくの間、ネットの出来る環境から離して、
濃密な人間関係の中で治療をすることにしました。
Wh7Oh9Mr にとっては、納得がいかないことかもしれませんが、
私も、医師免許をかけて、Wh7Oh9Mr を徹底して直すことに致しました。
どうかみなさん!Wh7Oh9Mr が戻ってきましたら、このような人を悲しませる
スレではなく、みんなに感動を届ける以上の人間になっていると思いますので、
暖かく見守ってやってください。
主治医として、大変残念な事であり、
また、治療の効果がまだまだ現れていないことを証明しているため、
そろそろ最終的な決断を下す必要があるようです。
みなさんお聞きになったことがあるかもしれませんが、
必ずしも心の病は、特殊な病気ではなく、誰もがそうなる可能性があります。
しかし、だからといって、これ以上、Wh7Oh9Mr を放置することは、例えば何の関係もない人を傷つけたり、
逆にWh7Oh9Mr 自身の将来にとり、名から図示も良いことではありません。
そこで、私は、Wh7Oh9Mr の両親、臨床心理士などとも相談して、
Wh7Oh9Mr をしばらくの間、ネットの出来る環境から離して、
濃密な人間関係の中で治療をすることにしました。
Wh7Oh9Mr にとっては、納得がいかないことかもしれませんが、
私も、医師免許をかけて、Wh7Oh9Mr を徹底して直すことに致しました。
どうかみなさん!Wh7Oh9Mr が戻ってきましたら、このような人を悲しませる
スレではなく、みんなに感動を届ける以上の人間になっていると思いますので、
暖かく見守ってやってください。
591デフォルトの名無しさん
2017/04/26(水) 21:36:11.16ID:Wh7Oh9Mr スパムみたいな文章だけど一生懸命さは伝わってきた
努力賞ということで
努力賞ということで
592デフォルトの名無しさん
2017/04/26(水) 23:18:34.00ID:pa8V2Lji もはや幼稚園児だな
593デフォルトの名無しさん
2017/04/27(木) 00:38:39.73ID:krvEjk1K プログラムの勉強しないでなにやってんだ
何のスレだここ
何のスレだここ
荒れてるけど知ーらね。
>>583
それにしたって動物呼ばわりはないでしょ。
もうちょっとマシな言い方にして下さいよ。
>>片山さん
話の腰を折るみたいで申し訳ないですが、
試したらイデワンでも複数のクラスを書けるみたいですよ。
https://ideone.com/V0Jd9h
ある程度は、インスタンス化が必要なプログラムもイデワンで
対処できそうです。
>>583
それにしたって動物呼ばわりはないでしょ。
もうちょっとマシな言い方にして下さいよ。
>>片山さん
話の腰を折るみたいで申し訳ないですが、
試したらイデワンでも複数のクラスを書けるみたいですよ。
https://ideone.com/V0Jd9h
ある程度は、インスタンス化が必要なプログラムもイデワンで
対処できそうです。
595デフォルトの名無しさん
2017/04/27(木) 09:13:08.60ID:i5BzzK+e 最近はgitを使えない奴をカス呼ばわりする世の中なのに、
敢えて教えを拒否する奴がいるとは…
敢えて教えを拒否する奴がいるとは…
596デフォルトの名無しさん
2017/04/27(木) 10:18:38.91ID:t6wdZAgr 治療は必要ない、必要なのは保健所
597片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 14:00:42.94ID:Nwh2sTTf598片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 14:11:49.48ID:Nwh2sTTf 課題。lineメソッドの不具合を修正し、「バカ」を「天才」に変えなさい。
599片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 14:55:29.37ID:Nwh2sTTf この課題は、君の考える力を試している。
ヒント:方眼紙
ヒント:方眼紙
600579
2017/04/27(木) 15:18:57.42ID:a+BwFeTM 質問を取り消します
603デフォルトの名無しさん
2017/04/27(木) 17:50:55.68ID:ECqhjgGf どこまで応用力ないんだ34歳
604デフォルトの名無しさん
2017/04/27(木) 18:06:09.07ID:t6wdZAgr 正直な話、笑い事じゃないんだよなぁ
605片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 18:26:43.70ID:Nwh2sTTf 解説しよう。クラスVirtualScreenのコンストラクタは、メソッドresetを呼ぶ。resetメソッドは、文字列の配列を構築する。これが幅width、高さheightの仮想画面となる。
メソッドprintは構築されている仮想画面を出力する。
メソッドprintは構築されている仮想画面を出力する。
606片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 18:29:33.58ID:Nwh2sTTf setPixelメソッドは、画面のある位置の文字を置き換える。単純に文字列処理で文字を置き換えている。
位置が画面をはみ出すなら文字は置き換えない。
位置が画面をはみ出すなら文字は置き換えない。
607片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 18:32:36.42ID:Nwh2sTTf ならば、fillBoxメソッドはどんな処理を行うメソッドだろうか?
608片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 19:02:55.64ID:Nwh2sTTf 貴様、会社のPCで勤務中に仕事をサボって2ちゃんねるに書き込んでいただろう?!
通信記録を見れば丸わかりなんだよ。罰として給料を3分の1減給する。二度と勤務中に2ちゃんねるをしないこと!!
通信記録を見れば丸わかりなんだよ。罰として給料を3分の1減給する。二度と勤務中に2ちゃんねるをしないこと!!
609片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 19:10:13.51ID:Nwh2sTTf (陰口)
。。。ったく最近の新人さんって使えねーのなんの。授業料を請求したいぐらいだ。ぼそぼそ。
。。。ったく最近の新人さんって使えねーのなんの。授業料を請求したいぐらいだ。ぼそぼそ。
611デフォルトの名無しさん
2017/04/27(木) 19:30:00.14ID:t6wdZAgr >>608
3分の1減給はやり過ぎじゃね?
減給するならまず就業規則に明記した上で、
>労働基準法第91条で,「1回の額が平均賃金の1日分の半額を超え,
>総額が賃金支払期における賃金の総額10分の1を超えてはならない」
3分の1減給はやり過ぎじゃね?
減給するならまず就業規則に明記した上で、
>労働基準法第91条で,「1回の額が平均賃金の1日分の半額を超え,
>総額が賃金支払期における賃金の総額10分の1を超えてはならない」
612片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 19:35:23.20ID:Nwh2sTTf これは二重のforループだ。
英単語のtopとは、一番上のこと。bottomとは一番下のこと。leftは左。rightは右。
fillとは塗り潰すこと。boxとは箱のこと。
このメソッドは長方形を塗り潰す。
二重のループの場合は内側のループから解読する。
for (int x = left; x <= right; ++x) { setPixel(ch, x, y); }
ここでsetPixel(ch, x, y);は、文字位置(x, y)に文字chをセットする処理である。
xについて、leftからrightの範囲で繰り返すので、[left, right]という閉区間を塗り潰すことになる。
英単語のtopとは、一番上のこと。bottomとは一番下のこと。leftは左。rightは右。
fillとは塗り潰すこと。boxとは箱のこと。
このメソッドは長方形を塗り潰す。
二重のループの場合は内側のループから解読する。
for (int x = left; x <= right; ++x) { setPixel(ch, x, y); }
ここでsetPixel(ch, x, y);は、文字位置(x, y)に文字chをセットする処理である。
xについて、leftからrightの範囲で繰り返すので、[left, right]という閉区間を塗り潰すことになる。
613片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 19:39:29.53ID:Nwh2sTTf では、
for (int y = top; y <= bottom; ++y) {
...
}
というループが何をするか説明しなさい。
for (int y = top; y <= bottom; ++y) {
...
}
というループが何をするか説明しなさい。
>>613
yが一番上から一番下まで行くまでの処理ですか?
yが一番上から一番下まで行くまでの処理ですか?
615片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 19:47:21.26ID:Nwh2sTTf >>614
そのとおり。では、Mainクラスのmainメソッドで実際にfillBoxを呼んで動作を確認しなさい。
そのとおり。では、Mainクラスのmainメソッドで実際にfillBoxを呼んで動作を確認しなさい。
616片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 19:50:43.31ID:Nwh2sTTf このように、実際のコードが読めなくても、英単語の意味から動作を推定できることがある。つまりは、英語の勉強も必要だ。
>>片山さん
fillBoxメソッドの第一引数であるchはどんな役割を果たしているんですか?
fillBoxメソッドの第一引数であるchはどんな役割を果たしているんですか?
620片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 20:13:26.88ID:Nwh2sTTf chはsetPixelメソッドに渡されるsetPixelはchに指定された文字をセットする。
Stringクラスのsubstringメソッドは部分文字列を返す。setPixelは、行の部分文字列とchを連結して、新しい行に更新する。
Stringクラスのsubstringメソッドは部分文字列を返す。setPixelは、行の部分文字列とchを連結して、新しい行に更新する。
621片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 20:29:02.56ID:Nwh2sTTf 例えばstr.substring(3)は文字列strの四文字目以降の部分文字列を返す。str.substring(3, 2)はstrの四文字以降の2文字を返す。
622片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 20:33:49.25ID:Nwh2sTTf String str = lines[y];
これはlinesのy+1行目を文字列strに格納する。
lines[y] = str.substring(0, x) + ch + str.substring(x + 1);
これは、x+1文字目をchで置き換えたものをlines[y]に格納する。
これはlinesのy+1行目を文字列strに格納する。
lines[y] = str.substring(0, x) + ch + str.substring(x + 1);
これは、x+1文字目をchで置き換えたものをlines[y]に格納する。
623片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 20:36:26.35ID:Nwh2sTTf 大卒には難し過ぎたか。。。
626片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 20:57:13.48ID:Nwh2sTTf その上、画面をはみ出してるよ。
627片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 20:59:22.46ID:Nwh2sTTf VirtualScreen screen = new VirtualScreen(40, 10);
って書いてあるんだから、画面は(0, 0)〜(39, 9)の範囲だよ。
って書いてあるんだから、画面は(0, 0)〜(39, 9)の範囲だよ。
628片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 21:20:18.38ID:Nwh2sTTf 適性なし。
629デフォルトの名無しさん
2017/04/27(木) 21:27:22.31ID:i5BzzK+e ワロタ
631片山博文MZ ◆T6xkBnTXz7B0
2017/04/27(木) 21:32:15.08ID:Nwh2sTTf >>630
ふざけてんのか? 何でleft>rightなんだよ。わざと間違えてるだろ。
ふざけてんのか? 何でleft>rightなんだよ。わざと間違えてるだろ。
632デフォルトの名無しさん
2017/04/27(木) 21:33:31.27ID:i5BzzK+e ワロタ
お茶碗を持つ方がleftで、橋を持つ方がrightなんやで
お茶碗を持つ方がleftで、橋を持つ方がrightなんやで
633デフォルトの名無しさん
2017/04/28(金) 00:03:26.21ID:FtZLbekm 34歳は、答えの用意されている問題(学校のテストとか)を解くことは出来るが、
明確な答えがない、複数あってどれか選ばなくてはいけない系の問題が全然ダメなんじゃないの。
考える力が弱いというか、考えているふりをしてなにも考えていないというか。
想像力と思考力が致命的に足りない感じ。
前に同じような症状の新人を見たことあるけど、
SJIS対応文字列反転関数作らせたらとても楽しいことになった覚えがある。
片山先生、試しにお題を出してあげたらどうだい。
明確な答えがない、複数あってどれか選ばなくてはいけない系の問題が全然ダメなんじゃないの。
考える力が弱いというか、考えているふりをしてなにも考えていないというか。
想像力と思考力が致命的に足りない感じ。
前に同じような症状の新人を見たことあるけど、
SJIS対応文字列反転関数作らせたらとても楽しいことになった覚えがある。
片山先生、試しにお題を出してあげたらどうだい。
635片山博文MZ ◆T6xkBnTXz7B0
2017/04/28(金) 00:37:58.46ID:0yWv+0K/ 今日はこの辺で終わるとするか。次は、lineメソッドのバグ取りをやる。自分の頭が良いと思ってるなら、
だれが認める業績で天才であることを証明してくれ。
だれが認める業績で天才であることを証明してくれ。
>>片山さん
やはりグラフィック系の課題はまだちょっと…。
その代わりメソッドの演習が(戻り値なし、引数ありまで)終わったので、
(前言った範囲に追加して)課題を作ってもらえませんか?
やはりグラフィック系の課題はまだちょっと…。
その代わりメソッドの演習が(戻り値なし、引数ありまで)終わったので、
(前言った範囲に追加して)課題を作ってもらえませんか?
638デフォルトの名無しさん
2017/04/28(金) 07:30:26.79ID:/uuFMZz1 すげー
バカを相手にすると割りきって付き合ってやってた
片山霊長類研究所所長すらキレさせるチンパンジー34歳ちゃんw
バカを相手にすると割りきって付き合ってやってた
片山霊長類研究所所長すらキレさせるチンパンジー34歳ちゃんw
639デフォルトの名無しさん
2017/04/28(金) 08:05:44.46ID:ssoWe7Me グラフィック系の課題はまだちょっとって言うのは課題から何も学んで無いんじゃ
640デフォルトの名無しさん
2017/04/28(金) 08:57:28.08ID:1CH3bO8e どうでも良いが、なぜ自分で課題を考えないんだろう
作りたいものとか微塵もないんだろうか
作りたいものとか微塵もないんだろうか
641片山博文MZ ◆T6xkBnTXz7B0
2017/04/28(金) 09:20:50.10ID:0yWv+0K/ 高校を卒業したのなら、数学ですでに直線のグラフについて学習したはずだ。
線分は直線の一部だから、直線を描く範囲を限定すれば、線分が描ける。
復習しよう。例えば、直線y = 2x + 1のグラフはx軸と(0, 1)で交わり、傾きが2であった。
線分は直線の一部だから、直線を描く範囲を限定すれば、線分が描ける。
復習しよう。例えば、直線y = 2x + 1のグラフはx軸と(0, 1)で交わり、傾きが2であった。
642片山博文MZ ◆T6xkBnTXz7B0
2017/04/28(金) 09:25:36.20ID:0yWv+0K/ では、二点(x0, y0), (x1, y1)を通る線分のグラフは、数学的に考えるとどうなるか答えたまえ。ただし、x0≠x1と仮定する。
643デフォルトの名無しさん
2017/04/28(金) 11:09:57.91ID:xFdhdZjO >>633
答えが用意されてる問題も解けてないんだが
答えが用意されてる問題も解けてないんだが
644デフォルトの名無しさん
2017/04/28(金) 11:29:21.41ID:1CH3bO8e >>643
一度習ったことのある問題じゃないとダメなんだろ
一度習ったことのある問題じゃないとダメなんだろ
646片山博文MZ ◆T6xkBnTXz7B0
2017/04/28(金) 17:12:13.34ID:TxOrBLp1 >>645
そのとおり。正解だ。まあ、インターネットがあるから、「二点 交わる 直線」で検索すれば簡単に答えが見付かるがな。
もうちょっと整理された公式についてyについて整理すれば、
y = {(y1 - y0)/(x1 - x0)}(x - x0) + y0
となる。dx = x1 - x0かつdy = y1 - y0とおくと、
y = (dy/dx)(x - x0) + y0となる。これをxについて整理するとどんな式になる?
そのとおり。正解だ。まあ、インターネットがあるから、「二点 交わる 直線」で検索すれば簡単に答えが見付かるがな。
もうちょっと整理された公式についてyについて整理すれば、
y = {(y1 - y0)/(x1 - x0)}(x - x0) + y0
となる。dx = x1 - x0かつdy = y1 - y0とおくと、
y = (dy/dx)(x - x0) + y0となる。これをxについて整理するとどんな式になる?
650片山博文MZ ◆T6xkBnTXz7B0
2017/04/28(金) 17:30:37.34ID:TxOrBLp1 この線分において、xとyの範囲を不等式で表しなさい。ただし、端点は線分に含まれると仮定する(閉区間)。
651片山博文MZ ◆T6xkBnTXz7B0
2017/04/28(金) 17:35:25.82ID:TxOrBLp1 mainの中身を
VirtualScreen screen = new VirtualScreen(5, 3);
screen.line('#', 1, 1, 3, 1);
screen.print();
にして、実行してみよう。実行結果は、
01234
☆☆☆☆☆
☆★★☆☆
☆☆☆☆☆
のようになる(半角空白を「☆」、'#'を「★」で表している)。
しかしこれは(1,1)??(3,1)の長さ3の線分だから、
01234
☆☆☆☆☆
☆★★★☆
☆☆☆☆☆
のようにならないといけない。線分は、終点を含んでいる。よって、forループの終了条件がおかしい。
for (int x = x1; x < x0; ++x)
を
for (int x = x1; x <= x0; ++x)
に修正する。他のforループについても終了条件を同様に修正する。
VirtualScreen screen = new VirtualScreen(5, 3);
screen.line('#', 1, 1, 3, 1);
screen.print();
にして、実行してみよう。実行結果は、
01234
☆☆☆☆☆
☆★★☆☆
☆☆☆☆☆
のようになる(半角空白を「☆」、'#'を「★」で表している)。
しかしこれは(1,1)??(3,1)の長さ3の線分だから、
01234
☆☆☆☆☆
☆★★★☆
☆☆☆☆☆
のようにならないといけない。線分は、終点を含んでいる。よって、forループの終了条件がおかしい。
for (int x = x1; x < x0; ++x)
を
for (int x = x1; x <= x0; ++x)
に修正する。他のforループについても終了条件を同様に修正する。
652片山博文MZ ◆T6xkBnTXz7B0
2017/04/28(金) 17:38:03.30ID:TxOrBLp1 mainの中身を
VirtualScreen screen = new VirtualScreen(6, 3);
screen.line('#', 0, 0, 5, 2);
screen.print();
にして、実行してみよう。実行結果は、
★★★☆☆☆
☆☆☆★★☆
☆☆☆☆☆★
のようになるが、
★★☆☆☆☆
☆☆★★☆☆
☆☆☆☆★★
のようにすべきである。座標の計算に何かずれが発生している。なぜだろうか。実は割り算の誤差に問題がある。
VirtualScreen screen = new VirtualScreen(6, 3);
screen.line('#', 0, 0, 5, 2);
screen.print();
にして、実行してみよう。実行結果は、
★★★☆☆☆
☆☆☆★★☆
☆☆☆☆☆★
のようになるが、
★★☆☆☆☆
☆☆★★☆☆
☆☆☆☆★★
のようにすべきである。座標の計算に何かずれが発生している。なぜだろうか。実は割り算の誤差に問題がある。
653片山博文MZ ◆T6xkBnTXz7B0
2017/04/28(金) 17:40:21.61ID:TxOrBLp1 Javaにおいては整数同士の割り算の結果は、小数点以下が切り捨てられて整数になる。つまり、3 / 2 == 1。整数の割り算の結果は整数になる。
これ重要。テストに必ずでるからな。
切り捨てないようにするには、どちらかを浮動小数点数にしないといけない。例えば、3を(double)でキャストすると、(double)3 / 2 == 1.5となる。
割り算の誤差を少なくするために、VirtualScreenクラスに次のようなメソッドを用意する。
protected int rdiv(double a, double b) {
??????return round(a / b);
}
この関数に整数を渡せば、引数は自動的にdouble型になり、四捨五入された整数が返ってくる。
浮動小数点数へのキャストと四捨五入により、誤差を最小にすることができる。
この関数を使って、lineメソッドを書き直そう。
これ重要。テストに必ずでるからな。
切り捨てないようにするには、どちらかを浮動小数点数にしないといけない。例えば、3を(double)でキャストすると、(double)3 / 2 == 1.5となる。
割り算の誤差を少なくするために、VirtualScreenクラスに次のようなメソッドを用意する。
protected int rdiv(double a, double b) {
??????return round(a / b);
}
この関数に整数を渡せば、引数は自動的にdouble型になり、四捨五入された整数が返ってくる。
浮動小数点数へのキャストと四捨五入により、誤差を最小にすることができる。
この関数を使って、lineメソッドを書き直そう。
654片山博文MZ ◆T6xkBnTXz7B0
2017/04/28(金) 17:42:23.30ID:TxOrBLp1 int x = x1 + (y - y1) * dx / dy;
を
int x = x1 + rdiv((y - y1) * dx, dy);
に書き換える。他の割り算も同様。これで
★★☆☆☆☆
☆☆★★☆☆
☆☆☆☆★★
のようになる。
lineメソッドには、まだ不具合がある。実は、dx == 0とdy == 0の場合が漏れている。dx == 0とdy == 0の場合はどうすればいいか考えて、lineメソッドをさらに修正せよ。
を
int x = x1 + rdiv((y - y1) * dx, dy);
に書き換える。他の割り算も同様。これで
★★☆☆☆☆
☆☆★★☆☆
☆☆☆☆★★
のようになる。
lineメソッドには、まだ不具合がある。実は、dx == 0とdy == 0の場合が漏れている。dx == 0とdy == 0の場合はどうすればいいか考えて、lineメソッドをさらに修正せよ。
>>650
x1≧x0、y1≧y0の時、x0≦x≦x1、y0≦y≦y1です。
x1≧x0、y1≧y0の時、x0≦x≦x1、y0≦y≦y1です。
656片山博文MZ ◆T6xkBnTXz7B0
2017/04/28(金) 17:52:43.65ID:TxOrBLp1 >>655
その答えは不完全だが、おまけで正解にしておこう。dx, dyの符号に応じて場合分けしないといけない。課題を続けよ。
その答えは不完全だが、おまけで正解にしておこう。dx, dyの符号に応じて場合分けしないといけない。課題を続けよ。
657デフォルトの名無しさん
2017/04/28(金) 18:02:20.08ID:5N5Kiwxg ぬーぶ君というキャラクターは死んだの?なんでいつも発達障害という設定?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の渡航自粛要請1カ月 大阪の観光バス予約ゼロ、東北にも波及 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- 【神戸】エレベーター「かご」なく男性医師が転落死 大手「三菱電機ビルソリューションズ」の担当者、安全装置切り放置か [ぐれ★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- 不倫疑惑の永野芽郁さん、CM削除ドミノの違約金“やはり発生は免れない”可能性 約10億円になる見込み、本人は全額支払う覚悟 [牛丼★]
- 【群馬】横断歩道を渡っていたNHKアナウンサーが車にはねられ骨折などの重傷 前橋市 [ぐれ★]
- ガチニートのモーニングがお洒落すぎる件
- 趣味に年50万って多い?
- 【悲報】ドイツ人「なんで日本人って自炊するの?出来合の惣菜や冷食食った方が楽でコスパいいやん。そんなんだから低生産性なんだよ [786648259]
- 底辺テイカー気質Vtuberを破壊する遊びが闇深いと話題に [922647923]
- 【動画】まんさん、アラジンのジーニーみたいな男にボコボコにされる🧞‍♂ [632966346]
- 【時事】立憲民主党、30代の支持率が「ゼロ」😨 [369521721]
