#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 をやりなさい