#author("2019-05-27T13:50:11+09:00","default:takataka","takataka")

#author("2019-05-27T14:13:24+09:00","default:takataka","takataka")
*グラフィックス基礎及び実習 2019年度 第7回 [#e9701092]
 
#contents
 
&color(#ff0000){工事中}; 
//&color(#ff0000){工事中}; 


**課題A(self) 完成目標: 今回の実習終了まで [#kadaiA]

+ 右のリンク先のPDFファイルを閲覧し,手書きの部分を講義資料に書き写しなさい.[[資料(学内アクセス限定)>Graphicsgakunai:scan2018-07-p1.pdf]]
+ KoukaiStepper.java, Iyan.java を実際に作って動作確認しなさい.
+ 右のリンク先のPDFファイルを閲覧し,手書きの部分を講義資料に書き写しなさい.[[資料(学内アクセス限定)>Graphicsgakunai:scan2018-07-p2.pdf]]
+ ImpeiStepper.java, Iyan2.java を実際に作って動作確認しなさい.



**課題B(self) 完成目標: 今回の実習終了まで [#kadaiB]

+ 右のリンク先のPDFファイルを閲覧し,手書きの部分を講義資料に書き写しなさい.[[資料(学内アクセス限定)>Graphicsgakunai:scan2018-07-p34.pdf]]
+ Q1, Q2 をやりなさい.以下に白字で答えが書いてある.
-- Q1の答え:  &color(white){CStepper m = new CStepper(6, 200);};
-- Q2の答え:  &color(white){new CStepper(4, 100, 100, 200, 0);};
+ CStepper.java を作りなさい.
+ [[Graphics/2019/ex06#kadaiB]] で作った T52.java を書き換えて,CStepper を使うようにしなさい.


//&color(white,blue){check};



**課題C(TA) 締切: 次回の実習開始直後  [#kadaiC]

//&color(#ff0000){工事中}; 

以下のAPI仕様で定められる機能をもったクラス HW2 を作ろう.以前作った HW と似ているが,一部カプセル化を考慮したものとなっている.&color(red){HW を拡張するのではなく,独立したクラスとして作ろう.};

#hr
''★ HW2クラスのAPI仕様''

- ''コンストラクタ'' 
>
:HW2()| 名前 "ほげお",身長 170.0[cm],体重 62.0[kg]のインスタンスを生成.
:HW2(String n, double h, double w)| 名前 n,身長 h[cm],体重 w[kg]のインスタンスを生成.
<
- ''メソッド''  
>
:void print()| このインスタンスの名前,身長,体重を表示する.
:void setWeight(double w)| このインスタンスの体重を w にする.
:double getWeight()| このインスタンスの体重の値を返す.
:void pocha()| このインスタンスの体重を 1.1 倍にする.
:double calcBMI()| このインスタンスのBMIを計算して返す. &mathjax{ \textrm{BMI} = (\mbox{体重[kg]}) / (\mbox{身長[cm]}/100)^2};
:static void printHimando(double bmi)| bmi が Border1 未満,Border1 以上 Border2 未満,Border2 以上の三つの場合に分けてメッセージを出力.順に,「やせてんなぁ」,「ふつー」,「太ってる…かな?」.
<
- ''フィールド''  
>
:static double Border1| BMIの境界値のうち小さい方.初期値は 20.
:static double Border2| BMIの境界値のうち大きい方.初期値は 25.
<

#hr

&color(white,blue){check}; &color(red){''注意''};:
- API仕様のフィールドの欄には Border1, Border2 以外には変数は載っていない.ということは,これらの他に変数を宣言する必要があるなら,他のクラスに非公開としなければならない.
- カプセル化をちゃんと考えるなら,体重だけでなく名前や身長についても setter/getter (setWeight/getWeight のようなメソッド)を定義するのが適切だが,簡単のためこの問題では省略した.クラス変数もカプセル化してもよいが,こちらも省略.

動作確認には,以下の内容の G07Fugayo.java を作って用いること.


#ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course/Graphics/G07Fugayo-Q.png,nolink)


**課題S(omake)  [#kadaiS]

//&color(#ff0000){工事中}; 

[[Graphics/2019/ex06#kadaiS]] につづき,p.62 の練習問題 5.16, 5.17 をやりなさい

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS