_Graphics2009/ex07
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*グラフィックス基礎・演習 2009年度 第7回 [#e9701092]
#contents
//&color(#ff0000){工事中};
**注意 [#b90cec8d]
課題C,Dではかめさん使わないので,これらのプログラムは ~/Graphics2009 の下に作ろう.
**課題A 締切: 今回の演習終了時 [#ke4f5dad]
教科書p.64の練習問題7.1をやりなさい(MyTurtle, P71).
一気に完成させようとすると難しいかもしれないので,次のように段階的に作成してみるとよい.
***Step 1 [#k8e1c38b]
MyTurtle.javaとP71.javaを次の内容にしてみる.
P71は,MyTurtleインスタンス生成したらhouses呼ぶだけ.
housesメソッドの三つの引数を正しく受け渡しできているかどうか,出力を見て確認する.
当然であるが,まだ家は一軒しか描けない.
#pre{{
// HTurtle クラスを拡張した MyTurtle クラス
public class MyTurtle extends HTurtle {
// 1辺の長さが s の家を n 軒,間を w あけて描く
public void houses(「ここは自分で考えよう」){
System.out.println("n = " + n);
System.out.println("s = " + s);
System.out.println("w = " + w);
house(s); // HTurtleクラスのメソッド house を呼ぶ
}
}
}}
#pre{{
public class P71 {
public static void main(String[] args){
TurtleFrame f = new TurtleFrame();
「変数mを宣言して…」
f.add(m);
m.houses(3, 50, 10);
}
}
}}
***Step 2 [#n86203a0]
MyTurtle.javaを修正して,n軒の家を描けるようにする.
housesメソッドは,n軒の家を描き終わったら,家を描きはじめる前にいた場所に戻る(向きも)ようにしておこう.
***Step 3 [#l726c1c2]
P71.javaから次のようにhousesを呼んでみよう.
#pre{{
「MyTurtleクラスのインスタンス変数 m を宣言し,インスタンスを生成」
「フレームにadd」
m.rt(45);
m.houses(3, 50, 10);
m.lt(135); m.fd(200); m.rt(90);
m.houses(4, 80, 20);
}}
**課題B 締切: %%今回の演習終了時%%次回演習開始直後 [#h5ed8712]
教科書p.65の練習問題7.3をやりなさい(MyTurtle, G07exB).
新たに定義するhouseメソッド,housesメソッドを呼び出すプログラムは,G07exB.javaという名前にすること.
新たに定義する house メソッドは,次のような処理を行うものとしたらよい.houses も同様.
+moveTo(x, y, 0) (ペンの上げ下げを忘れずに)
+前からある house を呼ぶ
**課題C 締切: 次回演習開始直後 [#z5dcba2e]
[[HWsample.class>Graphics2009:HWsample.class]]
上記リンク先のクラスファイルを手元に保存して,このクラスを利用するプログラムを作りなさい.
ただし,次の指示に従うこと.
+ 作成するプログラムのクラス名は G07exC とする
+ HWsample クラスのインスタンスは少なくとも2つは生成する(2つのコンストラクタを使い分けよう)
+ 以下に示す HWsample クラスのAPI仕様に示された全てのメソッドを呼び出すようにする
***HWsampleクラスのAPI仕様 [#ka96e93f]
コンストラクタ
:HWsample() | HWsampleのインスタンスをデフォルトの値(名前は"ほげお",身長は170.0[cm],体重は65.0[kg])で生成する
:HWsample(String n, double h, double w) | 名前 n,身長 h [cm],体重 w [kg] のHWsampleインスタンスを生成する
メソッド
:void print() | 名前,身長,体重を表示する
:double calcBMI() | BMIを計算して返す.
BMIの計算式は次の通り(この式では身長の単位が[m]であることに注意):
&mimetex( (\mbox{BMI}) = \frac{(\mbox{weight[kg]})}{(\mbox{height[m]})^2} );
:static void printHimando(double bmi) | bmiの値に応じたメッセージを出力.
bmiが20未満なら「やせてるね」,20以上25未満なら「普通」,25以上なら「太ってるかも」.
**課題D(おまけ) 締切: 次回演習開始直後 [#f11640ae]
次の三つをやりなさい(DrawGraph).
mainメソッド(DrawGraph.javaに書いたらよい)は自分で適当なものを書くこと.
教科書p.75の練習問題7.10,7.11,7.12
終了行:
*グラフィックス基礎・演習 2009年度 第7回 [#e9701092]
#contents
//&color(#ff0000){工事中};
**注意 [#b90cec8d]
課題C,Dではかめさん使わないので,これらのプログラムは ~/Graphics2009 の下に作ろう.
**課題A 締切: 今回の演習終了時 [#ke4f5dad]
教科書p.64の練習問題7.1をやりなさい(MyTurtle, P71).
一気に完成させようとすると難しいかもしれないので,次のように段階的に作成してみるとよい.
***Step 1 [#k8e1c38b]
MyTurtle.javaとP71.javaを次の内容にしてみる.
P71は,MyTurtleインスタンス生成したらhouses呼ぶだけ.
housesメソッドの三つの引数を正しく受け渡しできているかどうか,出力を見て確認する.
当然であるが,まだ家は一軒しか描けない.
#pre{{
// HTurtle クラスを拡張した MyTurtle クラス
public class MyTurtle extends HTurtle {
// 1辺の長さが s の家を n 軒,間を w あけて描く
public void houses(「ここは自分で考えよう」){
System.out.println("n = " + n);
System.out.println("s = " + s);
System.out.println("w = " + w);
house(s); // HTurtleクラスのメソッド house を呼ぶ
}
}
}}
#pre{{
public class P71 {
public static void main(String[] args){
TurtleFrame f = new TurtleFrame();
「変数mを宣言して…」
f.add(m);
m.houses(3, 50, 10);
}
}
}}
***Step 2 [#n86203a0]
MyTurtle.javaを修正して,n軒の家を描けるようにする.
housesメソッドは,n軒の家を描き終わったら,家を描きはじめる前にいた場所に戻る(向きも)ようにしておこう.
***Step 3 [#l726c1c2]
P71.javaから次のようにhousesを呼んでみよう.
#pre{{
「MyTurtleクラスのインスタンス変数 m を宣言し,インスタンスを生成」
「フレームにadd」
m.rt(45);
m.houses(3, 50, 10);
m.lt(135); m.fd(200); m.rt(90);
m.houses(4, 80, 20);
}}
**課題B 締切: %%今回の演習終了時%%次回演習開始直後 [#h5ed8712]
教科書p.65の練習問題7.3をやりなさい(MyTurtle, G07exB).
新たに定義するhouseメソッド,housesメソッドを呼び出すプログラムは,G07exB.javaという名前にすること.
新たに定義する house メソッドは,次のような処理を行うものとしたらよい.houses も同様.
+moveTo(x, y, 0) (ペンの上げ下げを忘れずに)
+前からある house を呼ぶ
**課題C 締切: 次回演習開始直後 [#z5dcba2e]
[[HWsample.class>Graphics2009:HWsample.class]]
上記リンク先のクラスファイルを手元に保存して,このクラスを利用するプログラムを作りなさい.
ただし,次の指示に従うこと.
+ 作成するプログラムのクラス名は G07exC とする
+ HWsample クラスのインスタンスは少なくとも2つは生成する(2つのコンストラクタを使い分けよう)
+ 以下に示す HWsample クラスのAPI仕様に示された全てのメソッドを呼び出すようにする
***HWsampleクラスのAPI仕様 [#ka96e93f]
コンストラクタ
:HWsample() | HWsampleのインスタンスをデフォルトの値(名前は"ほげお",身長は170.0[cm],体重は65.0[kg])で生成する
:HWsample(String n, double h, double w) | 名前 n,身長 h [cm],体重 w [kg] のHWsampleインスタンスを生成する
メソッド
:void print() | 名前,身長,体重を表示する
:double calcBMI() | BMIを計算して返す.
BMIの計算式は次の通り(この式では身長の単位が[m]であることに注意):
&mimetex( (\mbox{BMI}) = \frac{(\mbox{weight[kg]})}{(\mbox{height[m]})^2} );
:static void printHimando(double bmi) | bmiの値に応じたメッセージを出力.
bmiが20未満なら「やせてるね」,20以上25未満なら「普通」,25以上なら「太ってるかも」.
**課題D(おまけ) 締切: 次回演習開始直後 [#f11640ae]
次の三つをやりなさい(DrawGraph).
mainメソッド(DrawGraph.javaに書いたらよい)は自分で適当なものを書くこと.
教科書p.75の練習問題7.10,7.11,7.12
ページ名: