_Graphics2011/ex06
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*グラフィックス基礎・演習 2011年度 第6回 [#e9701092]
#contents
//&color(#ff0000){工事中};
//**注意 [#b90cec8d]
**課題A 締切: 今回の演習終了時(3点) [#kadaiA]
この課題の解答は講義時に配布した用紙に記入し,課題Bのチェックを受ける際にTAさんに提出してください(今回中に課題Bのチェックを受けられそうにない場合は課題Aの用紙のみをTAさんに提出してください).採点は高橋が後日行う予定です.
***問A-1 [#f6b9624d]
教科書p.56の練習問題6.1の後半の問題を解き,ソースプログラムを書きなさい(Tri2).
実際にプログラムを作って動作確認すること.
***問A-2 [#w3d5d4b5]
&ref(Graphics:G06Pascal-tex.png,noframe);
行数をint型変数 n で指定するとこのような数表を出力するプログラムをつくろう.
ただし,
-以下のプログラムの7行目から15行目までに当てはまる部分を考えればよい(紙にはこの部分のみ記せばよい.また,行数は増減して構わない).
-if文を使わないで済ませること.
&ref(Graphics:G06Pascal.png);
上記のプログラムの空白部分を埋めて実行すると,次の出力が得られればよい.
nを1以上の整数としてある程度大きな数まで(例えば n = 10)問題なく動くようにすること.
#pre{{
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
}}
(おまけ)このプログラムの結果を使って &jsmath( (a+b)^{10} ); を展開しよう.
**課題B 締切: 今回の演習終了時(2点),次回演習開始直後(1点) [#kadaiB]
課題AのTri2を元にして,次のような図形を描くプログラムを作ろう(G06Tri).
ただし,次のようにすること.
-いくつの直角三角形を描くかをint型変数 n で指定するように作る.以下は,n = 12 と 6の例である.これはp.56の練習問題6.2とは異なるものであることに注意.
-以下の例のように,枠の大きさを小さめにする(マウスでウィンドウをドラッグして小さくするのは不可 (^^; ).ヒント: p.14
&ref(Graphics:G06Tri-n12.png);
&ref(Graphics:G06Tri-n06.png);
**課題C 締切: 次回演習開始直後(2点) [#kadaiC]
以下の2つのことをやりなさい.
*** T71 と HTurtle を作って動作確認 [#acd7169d]
詳しくは次回解説するが,以下に出てくる T71 クラス は HTurtle クラスを利用する.
また,HTurtle クラスは Turtle クラスを拡張したものとなっている.
これらのプログラムを作成するには次のような手順を踏むとよい.
+教科書 p.60-64 を読む.
+p.61 の HTurtle.java を作成.
+コンパイルしてみる.エラーが出たら修正.ただし,
$ java HTurtle
と実行してもエラーになる(HTurtle.javaにはmainがないため)だけなので注意.
+教科書 p.60 のHTurtleクラスのAPI仕様を参考にしながら,p.61の T71.java を作成.
+コンパイルしてみる.エラーが出たら修正.
+実行してみる.エラーが出たら修正.
$ java T71
+&color(Blue){T71では,HTurtle.java には書いていない up, lt, fd などのメソッドが使えている.これは一体どういうことだろう?};(教科書の説明を読んで理解しておこう)
*** T72 と Stepper を作って動作確認 [#z7cc20e5]
上記と同様に,教科書 p.67 の T72.java と Stepper.java を作成して動作確認しなさい.
StepperクラスのAPI仕様は p.66 に記されている.
ただし,古い刷の教科書には次の誤植があるので注意.
> p.66 本文下から4行目 誤:「HTurtleクラスを拡張」→ 正:「Turtleクラスを拡張」
> p.66 StepperクラスのAPI仕様 誤:「HTurtleクラスを拡張している」→ 正:「Turtleクラスを拡張している」
**課題S(おまけ) 締切: 次回演習開始直後(2点) [#kadaiS]
コマンドライン引数として2つの数を指定すると,下図のような図形を描くプログラムを作りなさい.
クラス名は G06Rainbow とすること.
これは,教科書p.56の練習問題6.2のP62を元に,次の機能を追加したものになっている.
+三角形毎に色を変える
+コマンドライン引数で三角形の数と斜辺の長さを指定する
1.については,Colorの配列を用いて実現すること(どんな色を何色使うかは自分で決めてね).
実行結果の図が示すように,色を順番に使って使い果たしたらまた最初の色から順に使うようにすること.
2.については,次のような動作を実現しよう.
#pre{{
$ java G06Rainbow 6 50 ← 引数を二つ指定すると図形を描く
$ java G06Rainbow ← 引数を指定しないと以下のメッセージを出して終了
使い方: java G06Rainbow r d
r: 三角形の数, d: 斜辺の長さ
$ java G06Rainbow 6 50 hoge ← 余分な引数を指定した場合も同様
使い方: java G06Rainbow r d
r: 三角形の数, d: 斜辺の長さ
$ java G06Rainbow 6 hoge ← 引数が正しい形式でない場合も同様
使い方: java G06Rainbow r d
r: 三角形の数, d: 斜辺の長さ
}}
引数が正しい形式でない場合のチェックを行うには,Integer.parseInt() メソッドの例外処理を行えばよい.
教科書 p.94-97 を参考にしよう.
&ref(Graphics:G06Rainbow-r06.png);
&ref(Graphics:G06Rainbow-r12.png);
終了行:
*グラフィックス基礎・演習 2011年度 第6回 [#e9701092]
#contents
//&color(#ff0000){工事中};
//**注意 [#b90cec8d]
**課題A 締切: 今回の演習終了時(3点) [#kadaiA]
この課題の解答は講義時に配布した用紙に記入し,課題Bのチェックを受ける際にTAさんに提出してください(今回中に課題Bのチェックを受けられそうにない場合は課題Aの用紙のみをTAさんに提出してください).採点は高橋が後日行う予定です.
***問A-1 [#f6b9624d]
教科書p.56の練習問題6.1の後半の問題を解き,ソースプログラムを書きなさい(Tri2).
実際にプログラムを作って動作確認すること.
***問A-2 [#w3d5d4b5]
&ref(Graphics:G06Pascal-tex.png,noframe);
行数をint型変数 n で指定するとこのような数表を出力するプログラムをつくろう.
ただし,
-以下のプログラムの7行目から15行目までに当てはまる部分を考えればよい(紙にはこの部分のみ記せばよい.また,行数は増減して構わない).
-if文を使わないで済ませること.
&ref(Graphics:G06Pascal.png);
上記のプログラムの空白部分を埋めて実行すると,次の出力が得られればよい.
nを1以上の整数としてある程度大きな数まで(例えば n = 10)問題なく動くようにすること.
#pre{{
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
}}
(おまけ)このプログラムの結果を使って &jsmath( (a+b)^{10} ); を展開しよう.
**課題B 締切: 今回の演習終了時(2点),次回演習開始直後(1点) [#kadaiB]
課題AのTri2を元にして,次のような図形を描くプログラムを作ろう(G06Tri).
ただし,次のようにすること.
-いくつの直角三角形を描くかをint型変数 n で指定するように作る.以下は,n = 12 と 6の例である.これはp.56の練習問題6.2とは異なるものであることに注意.
-以下の例のように,枠の大きさを小さめにする(マウスでウィンドウをドラッグして小さくするのは不可 (^^; ).ヒント: p.14
&ref(Graphics:G06Tri-n12.png);
&ref(Graphics:G06Tri-n06.png);
**課題C 締切: 次回演習開始直後(2点) [#kadaiC]
以下の2つのことをやりなさい.
*** T71 と HTurtle を作って動作確認 [#acd7169d]
詳しくは次回解説するが,以下に出てくる T71 クラス は HTurtle クラスを利用する.
また,HTurtle クラスは Turtle クラスを拡張したものとなっている.
これらのプログラムを作成するには次のような手順を踏むとよい.
+教科書 p.60-64 を読む.
+p.61 の HTurtle.java を作成.
+コンパイルしてみる.エラーが出たら修正.ただし,
$ java HTurtle
と実行してもエラーになる(HTurtle.javaにはmainがないため)だけなので注意.
+教科書 p.60 のHTurtleクラスのAPI仕様を参考にしながら,p.61の T71.java を作成.
+コンパイルしてみる.エラーが出たら修正.
+実行してみる.エラーが出たら修正.
$ java T71
+&color(Blue){T71では,HTurtle.java には書いていない up, lt, fd などのメソッドが使えている.これは一体どういうことだろう?};(教科書の説明を読んで理解しておこう)
*** T72 と Stepper を作って動作確認 [#z7cc20e5]
上記と同様に,教科書 p.67 の T72.java と Stepper.java を作成して動作確認しなさい.
StepperクラスのAPI仕様は p.66 に記されている.
ただし,古い刷の教科書には次の誤植があるので注意.
> p.66 本文下から4行目 誤:「HTurtleクラスを拡張」→ 正:「Turtleクラスを拡張」
> p.66 StepperクラスのAPI仕様 誤:「HTurtleクラスを拡張している」→ 正:「Turtleクラスを拡張している」
**課題S(おまけ) 締切: 次回演習開始直後(2点) [#kadaiS]
コマンドライン引数として2つの数を指定すると,下図のような図形を描くプログラムを作りなさい.
クラス名は G06Rainbow とすること.
これは,教科書p.56の練習問題6.2のP62を元に,次の機能を追加したものになっている.
+三角形毎に色を変える
+コマンドライン引数で三角形の数と斜辺の長さを指定する
1.については,Colorの配列を用いて実現すること(どんな色を何色使うかは自分で決めてね).
実行結果の図が示すように,色を順番に使って使い果たしたらまた最初の色から順に使うようにすること.
2.については,次のような動作を実現しよう.
#pre{{
$ java G06Rainbow 6 50 ← 引数を二つ指定すると図形を描く
$ java G06Rainbow ← 引数を指定しないと以下のメッセージを出して終了
使い方: java G06Rainbow r d
r: 三角形の数, d: 斜辺の長さ
$ java G06Rainbow 6 50 hoge ← 余分な引数を指定した場合も同様
使い方: java G06Rainbow r d
r: 三角形の数, d: 斜辺の長さ
$ java G06Rainbow 6 hoge ← 引数が正しい形式でない場合も同様
使い方: java G06Rainbow r d
r: 三角形の数, d: 斜辺の長さ
}}
引数が正しい形式でない場合のチェックを行うには,Integer.parseInt() メソッドの例外処理を行えばよい.
教科書 p.94-97 を参考にしよう.
&ref(Graphics:G06Rainbow-r06.png);
&ref(Graphics:G06Rainbow-r12.png);
ページ名: